head	1.7;
access;
symbols
	pkgsrc-2026Q1:1.6.0.4
	pkgsrc-2026Q1-base:1.6
	pkgsrc-2025Q4:1.6.0.2
	pkgsrc-2025Q4-base:1.6
	pkgsrc-2025Q3:1.5.0.4
	pkgsrc-2025Q3-base:1.5
	pkgsrc-2025Q2:1.5.0.2
	pkgsrc-2025Q2-base:1.5
	pkgsrc-2025Q1:1.4.0.2
	pkgsrc-2025Q1-base:1.4
	pkgsrc-2024Q4:1.3.0.2
	pkgsrc-2024Q4-base:1.3
	pkgsrc-2024Q3:1.2.0.2
	pkgsrc-2024Q3-base:1.2;
locks; strict;
comment	@# @;


1.7
date	2026.06.09.16.32.02;	author nia;	state Exp;
branches;
next	1.6;
commitid	nkrucM4w0vczU8JG;

1.6
date	2025.10.27.20.53.45;	author nia;	state Exp;
branches;
next	1.5;
commitid	xUJSWsKQAxLKAfgG;

1.5
date	2025.06.06.20.15.49;	author nia;	state Exp;
branches;
next	1.4;
commitid	DVoaqShiRkfzYRXF;

1.4
date	2025.02.16.23.28.13;	author nia;	state Exp;
branches;
next	1.3;
commitid	mtctoY6lVPyNzKJF;

1.3
date	2024.12.11.10.32.04;	author nia;	state Exp;
branches;
next	1.2;
commitid	prQ2a366122br4BF;

1.2
date	2024.08.25.06.18.30;	author wiz;	state Exp;
branches;
next	1.1;
commitid	BcrSL94SO85mvanF;

1.1
date	2024.08.21.21.08.33;	author nia;	state Exp;
branches;
next	;
commitid	lrFoRXflimyIyJmF;


desc
@@


1.7
log
@mariadb114: Update to 11.4.12

This update fixes various stability and security issues.

Verified to build on NetBSD, FreeBSD, macOS, Linux.
@
text
@# $NetBSD: Makefile.common,v 1.3 2024/12/11 10:32:04 nia Exp $
#
# used by databases/mariadb114-client/Makefile
# used by databases/mariadb114-server/Makefile

DISTNAME=	mariadb-11.4.12
CATEGORIES=	databases
MASTER_SITES=	https://archive.mariadb.org/${DISTNAME}/source/

MAINTAINER?=	pkgsrc-users@@NetBSD.org
HOMEPAGE=	https://mariadb.org/
LICENSE=	gnu-gpl-v2

DISTINFO_FILE?=	${.CURDIR}/../../databases/mariadb114-client/distinfo
PATCHDIR?=	${.CURDIR}/../../databases/mariadb114-client/patches

USE_CMAKE=	yes
USE_CURSES=	wide
USE_LANGUAGES=	c c++
USE_TOOLS+=	perl:run pkg-config bison

PLIST_SRC=	${PLIST_SRC_DFLT}

USE_CXX_FEATURES=	c++11

.include "../../mk/bsd.prefs.mk"

#
# Use MySQL defaults if set.
#
MARIADB_DATADIR?=	${MYSQL_DATADIR:U${VARBASE}/db/mariadb}
MARIADB_CHARSET?=	${MYSQL_CHARSET:Uutf8mb4}
MARIADB_COLLATION?=	${MYSQL_COLLATION:Uutf8mb4_unicode_ci}
MARIADB_EXTRA_CHARSET?=	${MYSQL_EXTRA_CHARSET:Uall}

BUILD_DEFS+=		VARBASE

CMAKE_CONFIGURE_ARGS+=		-DCOMPILATION_COMMENT="pkgsrc"
CMAKE_CONFIGURE_ARGS+=		-DMANUFACTURER="pkgsrc"

CMAKE_CONFIGURE_ARGS+=		-DCMAKE_BUILD_TYPE="Release"

CMAKE_CONFIGURE_ARGS+=		-DINSTALL_BINDIR="bin"
CMAKE_CONFIGURE_ARGS+=		-DINSTALL_DOCDIR="share/doc/mysql"
CMAKE_CONFIGURE_ARGS+=		-DINSTALL_DOCREADMEDIR="share/doc/mysql"
CMAKE_CONFIGURE_ARGS+=		-DINSTALL_INCLUDEDIR="include/mysql"
CMAKE_CONFIGURE_ARGS+=		-DINSTALL_INFODIR="${PKGINFODIR}"
CMAKE_CONFIGURE_ARGS+=		-DINSTALL_LIBDIR="lib"
CMAKE_CONFIGURE_ARGS+=		-DINSTALL_MANDIR="${PKGMANDIR}"
CMAKE_CONFIGURE_ARGS+=		-DINSTALL_MYSQLSHAREDIR="share/mysql"
CMAKE_CONFIGURE_ARGS+=		-DINSTALL_MYSQLTESTDIR=""
CMAKE_CONFIGURE_ARGS+=		-DINSTALL_PAMDIR="lib/security"
CMAKE_CONFIGURE_ARGS+=		-DINSTALL_PAMDATADIR="share/examples/mariadb_auth_pam"
CMAKE_CONFIGURE_ARGS+=		-DINSTALL_PLUGINDIR="lib/mysql/plugin"
CMAKE_CONFIGURE_ARGS+=		-DINSTALL_SBINDIR="sbin"
CMAKE_CONFIGURE_ARGS+=		-DINSTALL_SCRIPTDIR="bin"
CMAKE_CONFIGURE_ARGS+=		-DINSTALL_SQLBENCHDIR="share/mysql/sql-bench"
CMAKE_CONFIGURE_ARGS+=		-DINSTALL_SUPPORTFILESDIR="share/mysql"
CMAKE_CONFIGURE_ARGS+=		-DINSTALL_SYSCONFDIR="${PKG_SYSCONFDIR}"
CMAKE_CONFIGURE_ARGS+=		-DMYSQL_DATADIR=${MARIADB_DATADIR}

CMAKE_CONFIGURE_ARGS+=		-DKRB5_CONFIG=${KRB5_CONFIG}
CMAKE_CONFIGURE_ARGS+=		-DWITH_UNIT_TESTS=OFF
CMAKE_CONFIGURE_ARGS+=		-DWITH_LIBWRAP=ON
CMAKE_CONFIGURE_ARGS+=		-DWITH_PCRE="system"
CMAKE_CONFIGURE_ARGS+=		-DWITH_ZLIB="system"
CMAKE_CONFIGURE_ARGS+=		-DDEFAULT_CHARSET=${MARIADB_CHARSET}
CMAKE_CONFIGURE_ARGS+=		-DDEFAULT_COLLATION=${MARIADB_COLLATION:Q}
CMAKE_CONFIGURE_ARGS+=		-DWITH_EXTRA_CHARSETS=${MARIADB_EXTRA_CHARSET:Q}

CMAKE_CONFIGURE_ARGS+=		-DPLUGIN_EXAMPLE=NO
CMAKE_CONFIGURE_ARGS+=		-DPLUGIN_FEEDBACK=NO

# Requires Java
CMAKE_CONFIGURE_ARGS+=		-DCONNECT_WITH_JDBC=OFF

CMAKE_CONFIGURE_ARGS+=		-DCONNECT_WITH_LIBXML2=OFF

# Options which affect generation of includes
CMAKE_CONFIGURE_ARGS+=		-DWITH_ARIA_STORAGE_ENGINE=ON
CMAKE_CONFIGURE_ARGS+=		-DWITH_PARTITION_STORAGE_ENGINE=ON
CMAKE_CONFIGURE_ARGS+=		-DWITH_PERFSCHEMA_STORAGE_ENGINE=ON
CMAKE_CONFIGURE_ARGS+=		-DCMAKE_DISABLE_FIND_PACKAGE_Snappy=ON
CMAKE_CONFIGURE_ARGS+=		-DCMAKE_DISABLE_FIND_PACKAGE_LZO=ON
CMAKE_CONFIGURE_ARGS+=		-DCMAKE_DISABLE_FIND_PACKAGE_LZ4=ON
CMAKE_CONFIGURE_ARGS+=		-DWITHOUT_MROONGA_STORAGE_ENGINE=ON

# Let mk/ determine the security hardening flags to use.
CMAKE_CONFIGURE_ARGS+=		-DSECURITY_HARDENED=OFF

CMAKE_CONFIGURE_ARGS+=		-DENABLE_DTRACE=OFF

# Ensure the correct DTrace ABI is used.
.if !empty(ABI)
CMAKE_CONFIGURE_ARGS+=		-DDTRACE_FLAGS="-${ABI}"
.endif

# We don't clone MariaDB from git, so avoid peeking into
# the parent repository.
CMAKE_CONFIGURE_ARGS+=		-DCMAKE_DISABLE_FIND_PACKAGE_Git=ON

# https://github.com/MariaDB/server/pull/2326
# https://github.com/MariaDB/server/pull/2321
CFLAGS.SunOS+=		-fPIC -DHAVE_ALLOCA_H=1
CFLAGS.NetBSD+=		-DIOAPI_NO_64

REPLACE_PERL+=		scripts/mytop.sh
REPLACE_PERL+=		sql-bench/*.sh

SUBST_CLASSES+=		perl
SUBST_STAGE.perl=	pre-configure
SUBST_FILES.perl=	scripts/CMakeLists.txt
SUBST_SED.perl=		-e "s,/usr/bin/perl,${TOOLS_PATH.perl},g"
SUBST_SED.perl+=	-e "s,/usr/local/bin/perl,${TOOLS_PATH.perl},g"

CHECK_INTERPRETER_SKIP+=	share/mysql/test/*
CHECK_PORTABILITY_SKIP+=	storage/columnstore/columnstore/oam/cloud/*.sh.in
CHECK_PORTABILITY_SKIP+=	storage/columnstore/columnstore/oam/install_scripts/*.sh.in
CHECK_PORTABILITY_SKIP+=	storage/columnstore/columnstore/oam/install_scripts/*.in
CHECK_PORTABILITY_SKIP+=	BUILD/compile-pentium-gcov

PKGCONFIG_OVERRIDE+=	support-files/mariadb.pc.in
PKGCONFIG_OVERRIDE+=	libmariadb/mariadb_config/libmariadb.pc.in

.include "../../mk/curses.buildlink3.mk"

# cmake probes for curses.h but then never passes on HAVE_CURSES_H if it is
# found, which breaks the logic in client/mysql.cc
.if ${CURSES_TYPE} == "ncurses"
CPPFLAGS+=	-DHAVE_CURSES_H
.endif

.include "../../archivers/bzip2/buildlink3.mk"
.include "../../archivers/xz/buildlink3.mk"
.include "../../archivers/zstd/buildlink3.mk"
.include "../../devel/pcre2/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../textproc/fmtlib/buildlink3.mk"
.include "../../www/curl/buildlink3.mk"
.include "../../mk/atomic64.mk"
.include "../../mk/dlopen.buildlink3.mk"
BUILDLINK_TRANSFORM+=	opt:-ldl:${BUILDLINK_LDADD.dl:Q}
.include "../../mk/krb5.buildlink3.mk"
.include "../../mk/pam.buildlink3.mk"
.include "../../mk/readline.buildlink3.mk"
@


1.6
log
@mariadb114: Update to 11.4.8

The usual bundle of reliability fixes.
@
text
@d6 1
a6 1
DISTNAME=	mariadb-11.4.8
@


1.5
log
@mariadb114: Update to 11.4.7

Fixes for the following security issues:

- CVE-2025-30722
- CVE-2025-30693
- CVE-2023-52970
- CVE-2023-52969
- CVE-2023-52971

Fixes the build on OpenBSD, detected by drecklypkg ci.
@
text
@d1 1
a1 1
# $NetBSD: Makefile.common,v 1.4 2025/02/16 23:28:13 nia Exp $
d6 1
a6 1
DISTNAME=	mariadb-11.4.7
@


1.4
log
@mariadb: Update packages to latest minor version of LTS releases.

While here, delint (mainly fixing whitespace issues in options.mk).

Builds on: FreeBSD NetBSD OmniOS macOS
@
text
@d1 1
a1 1
# $NetBSD: Makefile.common,v 1.3 2024/12/11 10:32:04 nia Exp $
d6 1
a6 1
DISTNAME=	mariadb-11.4.5
d88 3
@


1.3
log
@mariadb114: Update to 11.4.4

                          MariaDB 11.4.4 Release Notes

Notable Items

  Storage Engines

    InnoDB

     * Fix attempt to read outside the bounds of the file: ./ibdata1
       (MDEV-34453)
     * Fix MariaDB crash with SIGILL because the OS does not support AVX512
       (MDEV-34565)
     * Fix deadlock caused by lock_rec_unlock_unmodified() (MDEV-34690)
     * Fix duplicate key error in table 'mysql.innodb_table_stats'
       (MDEV-34207)
     * Fix possible adaptive hash index corruption with ALTER TABLE...IMPORT
       TABLESPACE and FULLTEXT SEARCH (MDEV-35059)
     * XA prepare now correctly releases unmodified records in non-blocking
       mode (MDEV-34466)
     * Fix contention between secondary index UPDATE and purge due to large
       innodb_purge_batch_size (MDEV-34515)
          * New default of 127 for innodb_purge_batch_size (previously 1000).
     * Fix redundant page lookups that hurt performance (MDEV-34791)

    Spider

     * Fix server crash when calling spider UDF after aria_encrypt_tables is
       enabled (MDEV-34682)
     * SELECT MIN on Spider table no longer returns more rows than expected
       (MDEV-26345)
     * Fix Spider group by handler wrong result on order by aggregate
       (MDEV-29546)

    S3

     * Fix Storage Engine S3 that caused 500 error when using Huawai Cloud S3
       and possibly other S3 providers (MDEV-34867)
          * A new option s3-provider has been added. s3-provider=Huawai needs
            to be set for Huawai Cloud S3
          * New option s3_ssl_no_verify, if true, SSL certificate
            verification for the S3 endpoint is disabled

  Optimizer

     * Fix crash caused by query containing constant having clause
       (MDEV-23983)
     * Fix assertion with optimizer_join_limit_pref_ratio and 1-table select
       (MDEV-35072)

  Data Definition - Alter Table

     * Modification of the column now correctly checks foreign key constraint
       (MDEV-34392)
     * Fix incorrect NULL value handling for instantly dropped BLOB columns
       (MDEV-35122)

  Galera

     * Galera updated to 26.4.20
     * Fix server crash when setting wsrep_cluster_address after adding
       invalid value to wsrep_allowlist table (MDEV-31173)
     * TOI (ALTER) no longer hangs on a parent table if SR transaction is in
       progress on a child table (MDEV-34836)
     * Fix INSERT...SELECT' on MyISAM table suddenly replicated by alera
       (MDEV-34647)
     * Fix case where with wsrep_mode=REPLICATE_ARIA, only part of the
       mixed-engine transactions was replicated (MDEV-30653)
     * Fix galera_ssl_reload failure with warning message (MDEV-32778)
     * When InnoDB gets an assertion failure, WSREP layer is now handled
       gracefully (MDEV-32363)

  Backup

     * Recovery now correctly notes some log corruption (MDEV-34802)
     * InnoDB now correctly merges the change buffer to ROW_FORMAT=COMPRESSED
       tables (MDEV-34879)
     * Can now selectively restore sequences using innodb tables from backup
       (MDEV-32350)

  JSON

     * JSON_TABLE now properly unquotes strings (MDEV-27412)
     * JSON_TABLE default values now allows non-string literals (MDEV-25822)

  General

     * mariadbd no longer hangs on startup when --init-file target does not
       exist (MDEV-34814)
     * LOAD DATA INFILE with geometry data no longer fails (MDEV-34883)
     * Fix heap-use-after-free in group_concat with compressed or GIS columns
       (MDEV-16699)
     * Fix assertion `!is_cond()' failed in Item_bool_func::val_int /
       do_select (MDEV-35135)
     * Trigger now works correctly with bulk update (MDEV-34718)
     * Fix assertion failure in find_producing_item upon a query from a view
       (MDEV-35276)
     * Add new setting, --quick-max-column-width to the mariadb client for
       use in --quick mode (MDEV-34704)
@
text
@d1 1
a1 1
# $NetBSD: Makefile.common,v 1.2 2024/08/25 06:18:30 wiz Exp $
d6 1
a6 1
DISTNAME=	mariadb-11.4.4
@


1.2
log
@*: replace CMAKE_ARGS with CMAKE_CONFIGURE_ARGS
@
text
@d1 1
a1 1
# $NetBSD: Makefile.common,v 1.1 2024/08/21 21:08:33 nia Exp $
d6 1
a6 1
DISTNAME=	mariadb-11.4.3
@


1.1
log
@databases: Import MariaDB 11.4, the most recent LTS release.

MariaDB Server is one of the most popular open source relational databases.
It's made by the original developers of MySQL.

MariaDB turns data into structured information in a wide array of applications,
ranging from banking to websites. It is an enhanced, drop-in replacement
for MySQL. MariaDB is used because it is fast, scalable and robust, with a
rich ecosystem of storage engines, plugins and many other tools make it very
versatile for a wide variety of use cases.

MariaDB is developed as open source software and as a relational database
it provides an SQL interface for accessing data. The latest versions of
MariaDB also include GIS and JSON features.
@
text
@d1 1
a1 1
# $NetBSD: Makefile.common,v 1.14 2024/08/17 00:19:21 nia Exp $
d38 2
a39 2
CMAKE_ARGS+=		-DCOMPILATION_COMMENT="pkgsrc"
CMAKE_ARGS+=		-DMANUFACTURER="pkgsrc"
d41 1
a41 1
CMAKE_ARGS+=		-DCMAKE_BUILD_TYPE="Release"
d43 27
a69 27
CMAKE_ARGS+=		-DINSTALL_BINDIR="bin"
CMAKE_ARGS+=		-DINSTALL_DOCDIR="share/doc/mysql"
CMAKE_ARGS+=		-DINSTALL_DOCREADMEDIR="share/doc/mysql"
CMAKE_ARGS+=		-DINSTALL_INCLUDEDIR="include/mysql"
CMAKE_ARGS+=		-DINSTALL_INFODIR="${PKGINFODIR}"
CMAKE_ARGS+=		-DINSTALL_LIBDIR="lib"
CMAKE_ARGS+=		-DINSTALL_MANDIR="${PKGMANDIR}"
CMAKE_ARGS+=		-DINSTALL_MYSQLSHAREDIR="share/mysql"
CMAKE_ARGS+=		-DINSTALL_MYSQLTESTDIR=""
CMAKE_ARGS+=		-DINSTALL_PAMDIR="lib/security"
CMAKE_ARGS+=		-DINSTALL_PAMDATADIR="share/examples/mariadb_auth_pam"
CMAKE_ARGS+=		-DINSTALL_PLUGINDIR="lib/mysql/plugin"
CMAKE_ARGS+=		-DINSTALL_SBINDIR="sbin"
CMAKE_ARGS+=		-DINSTALL_SCRIPTDIR="bin"
CMAKE_ARGS+=		-DINSTALL_SQLBENCHDIR="share/mysql/sql-bench"
CMAKE_ARGS+=		-DINSTALL_SUPPORTFILESDIR="share/mysql"
CMAKE_ARGS+=		-DINSTALL_SYSCONFDIR="${PKG_SYSCONFDIR}"
CMAKE_ARGS+=		-DMYSQL_DATADIR=${MARIADB_DATADIR}

CMAKE_ARGS+=		-DKRB5_CONFIG=${KRB5_CONFIG}
CMAKE_ARGS+=		-DWITH_UNIT_TESTS=OFF
CMAKE_ARGS+=		-DWITH_LIBWRAP=ON
CMAKE_ARGS+=		-DWITH_PCRE="system"
CMAKE_ARGS+=		-DWITH_ZLIB="system"
CMAKE_ARGS+=		-DDEFAULT_CHARSET=${MARIADB_CHARSET}
CMAKE_ARGS+=		-DDEFAULT_COLLATION=${MARIADB_COLLATION:Q}
CMAKE_ARGS+=		-DWITH_EXTRA_CHARSETS=${MARIADB_EXTRA_CHARSET:Q}
d71 2
a72 2
CMAKE_ARGS+=		-DPLUGIN_EXAMPLE=NO
CMAKE_ARGS+=		-DPLUGIN_FEEDBACK=NO
d75 1
a75 1
CMAKE_ARGS+=		-DCONNECT_WITH_JDBC=OFF
d77 1
a77 1
CMAKE_ARGS+=		-DCONNECT_WITH_LIBXML2=OFF
d80 7
a86 7
CMAKE_ARGS+=		-DWITH_ARIA_STORAGE_ENGINE=ON
CMAKE_ARGS+=		-DWITH_PARTITION_STORAGE_ENGINE=ON
CMAKE_ARGS+=		-DWITH_PERFSCHEMA_STORAGE_ENGINE=ON
CMAKE_ARGS+=		-DCMAKE_DISABLE_FIND_PACKAGE_Snappy=ON
CMAKE_ARGS+=		-DCMAKE_DISABLE_FIND_PACKAGE_LZO=ON
CMAKE_ARGS+=		-DCMAKE_DISABLE_FIND_PACKAGE_LZ4=ON
CMAKE_ARGS+=		-DWITHOUT_MROONGA_STORAGE_ENGINE=ON
d88 1
a88 1
CMAKE_ARGS+=		-DENABLE_DTRACE=OFF
d92 1
a92 1
CMAKE_ARGS+=		-DDTRACE_FLAGS="-${ABI}"
d97 1
a97 1
CMAKE_ARGS+=		-DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
@

