head	1.3;
access;
symbols
	pkgsrc-2026Q2:1.3.0.2
	pkgsrc-2026Q2-base:1.3
	pkgsrc-2026Q1:1.2.0.4
	pkgsrc-2026Q1-base:1.2
	pkgsrc-2025Q4:1.2.0.2
	pkgsrc-2025Q4-base:1.2
	pkgsrc-2025Q3:1.1.0.4
	pkgsrc-2025Q3-base:1.1
	pkgsrc-2025Q2:1.1.0.2
	pkgsrc-2025Q2-base:1.1;
locks; strict;
comment	@# @;


1.3
date	2026.06.09.16.28.09;	author nia;	state Exp;
branches;
next	1.2;
commitid	aJDykxsZ6hkgT8JG;

1.2
date	2025.10.27.20.56.37;	author nia;	state Exp;
branches;
next	1.1;
commitid	qUADGNDwnZ8NBfgG;

1.1
date	2025.06.07.08.58.42;	author nia;	state Exp;
branches;
next	;
commitid	vXq1mbQoioDU9WXF;


desc
@@


1.3
log
@mariadb118: Update to 11.8.8

This update fixes various stability and security issues.
@
text
@# $NetBSD: Makefile.common,v 1.3 2024/12/11 10:32:04 nia Exp $
#
# used by databases/mariadb118-client/Makefile
# used by databases/mariadb118-server/Makefile

DISTNAME=	mariadb-11.8.8
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/mariadb118-client/distinfo
PATCHDIR?=	${.CURDIR}/../../databases/mariadb118-client/patches

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

PLIST_SRC=	${PLIST_SRC_DFLT}

USE_CXX_FEATURES=	c++17

CMAKE_BUILD_DIR=	.

.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_PARSEC=OFF
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 "../../devel/cmake/build.mk"
.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.2
log
@mariadb118-client: Update to 11.8.3

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


1.1
log
@mariadb118: Initial import

MariaDB 11.8 is a long-term release series, maintained until Jun 2028.

Notable features since 11.4, the last LTS branch:

- aarch64 SIMD instructions now supported in Vectors
- Optimizer improvements
- Configure limits on sizes of temporary files
- Y2038 support for TIMESTAMP values on 64-bit platforms
- Added the --dir option to mariadb-import, allowing one to restore all
  tables from a backup directory created using mariadb-dump --dir
- The mariadb-dump --no-autocommit option is now set by default to allow
  faster data loading by InnoDB, writing only one undo log for the whole
  operation
- mariadb-import has a new option, --innodb-optimize-keys to delay
  creation of secondary indexes
- New USERS table in the Information Schema for storing information
  about users
- More columns in Information Schema for greater observability
- SESSION_USER(), which used to be an alias for USER() now shows the value
  of CURRENT_USER() when the session was created

pkgsrc-specific notes:

- This has been verified to build successfully on NetBSD, FreeBSD,
   OpenBSD, macOS (arm & x86), Linux. SunOS tests should happen.
- This now requires a C++17 compiler instead of a C++11 compiler.
- Care should be taken before switching the default MariaDB version
  for the above reasons.
- The new PARSEC plugin is disabled by default to avoid PLIST troubles -
  it depends on specific features added in a specific version of OpenSSL.
@
text
@d6 1
a6 1
DISTNAME=	mariadb-11.8.2
@

