diff options
Diffstat (limited to 'dev-db')
51 files changed, 16162 insertions, 24 deletions
diff --git a/dev-db/cdb/cdb-0.75-r4.ebuild b/dev-db/cdb/cdb-0.75-r4.ebuild index b5fcfd2a2600..26f1efba1908 100644 --- a/dev-db/cdb/cdb-0.75-r4.ebuild +++ b/dev-db/cdb/cdb-0.75-r4.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://cr.yp.to/${PN}/${P}.tar.gz" LICENSE="public-domain" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" IUSE="" RDEPEND="!dev-db/tinycdb" diff --git a/dev-db/cdb/cdb-0.75-r5.ebuild b/dev-db/cdb/cdb-0.75-r5.ebuild index ff98fddfdfa5..7833bed7e611 100644 --- a/dev-db/cdb/cdb-0.75-r5.ebuild +++ b/dev-db/cdb/cdb-0.75-r5.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://cr.yp.to/${PN}/${P}.tar.gz" LICENSE="public-domain" SLOT="0" -KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" IUSE="" RDEPEND="!dev-db/tinycdb" diff --git a/dev-db/freetds/freetds-1.5.6.ebuild b/dev-db/freetds/freetds-1.5.6.ebuild index ff8d48c02ca1..35c237283b31 100644 --- a/dev-db/freetds/freetds-1.5.6.ebuild +++ b/dev-db/freetds/freetds-1.5.6.ebuild @@ -12,7 +12,7 @@ SRC_URI=" LICENSE="GPL-2+ LGPL-2+" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-macos" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="debug gnutls iconv kerberos mssql iodbc odbc ssl static-libs" # iODBC and unixODBC are mutually-exclusive choices for # the ODBC driver manager. Future versions of FreeTDS diff --git a/dev-db/freetds/freetds-1.5.ebuild b/dev-db/freetds/freetds-1.5.ebuild index 25a356ce593c..8017ba95cfc7 100644 --- a/dev-db/freetds/freetds-1.5.ebuild +++ b/dev-db/freetds/freetds-1.5.ebuild @@ -12,7 +12,7 @@ SRC_URI=" LICENSE="GPL-2+ LGPL-2+" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~ppc-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="debug gnutls iconv kerberos mssql iodbc odbc ssl static-libs" # iODBC and unixODBC are mutually-exclusive choices for # the ODBC driver manager. Future versions of FreeTDS diff --git a/dev-db/hsqldb/hsqldb-2.7.4.ebuild b/dev-db/hsqldb/hsqldb-2.7.4.ebuild index 7af11c355afb..10e1d58ef0eb 100644 --- a/dev-db/hsqldb/hsqldb-2.7.4.ebuild +++ b/dev-db/hsqldb/hsqldb-2.7.4.ebuild @@ -18,7 +18,7 @@ S="${WORKDIR}/${P}/${PN}" LICENSE="BSD GPL-2" SLOT="0" -KEYWORDS="amd64 arm64 ppc64 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="amd64 arm64 ppc64 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" BDEPEND=" app-arch/unzip diff --git a/dev-db/kyotocabinet/kyotocabinet-1.2.80.ebuild b/dev-db/kyotocabinet/kyotocabinet-1.2.80.ebuild index d80f7d658cf7..5214469644ef 100644 --- a/dev-db/kyotocabinet/kyotocabinet-1.2.80.ebuild +++ b/dev-db/kyotocabinet/kyotocabinet-1.2.80.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://dbmx.net/kyotocabinet/pkg/${P}.tar.gz" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" IUSE="debug doc examples +lzma +lzo static-libs" DEPEND="virtual/zlib:=[static-libs?] diff --git a/dev-db/libiodbc/libiodbc-3.52.15-r1.ebuild b/dev-db/libiodbc/libiodbc-3.52.15-r1.ebuild index 483c24223ef3..c5c382d7604c 100644 --- a/dev-db/libiodbc/libiodbc-3.52.15-r1.ebuild +++ b/dev-db/libiodbc/libiodbc-3.52.15-r1.ebuild @@ -14,7 +14,7 @@ S="${WORKDIR}/${MY_PN}-${PV}" LICENSE="|| ( LGPL-2 BSD )" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" IUSE="gtk" RDEPEND="gtk? ( x11-libs/gtk+:2 )" diff --git a/dev-db/lmdb/lmdb-0.9.33.ebuild b/dev-db/lmdb/lmdb-0.9.33.ebuild index bf5fc3bef77f..3822b4f9d392 100644 --- a/dev-db/lmdb/lmdb-0.9.33.ebuild +++ b/dev-db/lmdb/lmdb-0.9.33.ebuild @@ -13,7 +13,7 @@ S="${WORKDIR}/openldap-${MY_P}/libraries/liblmdb" LICENSE="OPENLDAP" SLOT="0/${PV}" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos ~x64-solaris" IUSE="static-libs" src_prepare() { diff --git a/dev-db/mariadb/files/mariadb-wsrep-gcc-15.patch b/dev-db/mariadb/files/mariadb-wsrep-gcc-15.patch new file mode 100644 index 000000000000..574c6c96d5da --- /dev/null +++ b/dev-db/mariadb/files/mariadb-wsrep-gcc-15.patch @@ -0,0 +1,46 @@ +https://github.com/mariadb-corporation/wsrep-lib/pull/257 + +From cac2ae3d9ea218637b6ef3b05bd5dfe5f32457bf Mon Sep 17 00:00:00 2001 +From: "Z. Liu" <zhixu.liu@gmail.com> +Date: Sun, 7 Dec 2025 23:18:13 +0800 +Subject: [PATCH] Fix compilation for gcc 15 with musl libc + +when building on Gentoo with the musl profile, gcc 15 reports the +following errors: + +> In file included from /var/tmp/portage/dev-db/mariadb-11.8.3-r2/work/mysql/wsrep-lib/src/provider_options.cpp:20: +> /var/tmp/portage/dev-db/mariadb-11.8.3-r2/work/mysql/wsrep-lib/include/wsrep/provider_options.hpp:114:30: error: unknown type name 'int64_t' +> 114 | option_value_int(int64_t value) +> | ^ +> /var/tmp/portage/dev-db/mariadb-11.8.3-r2/work/mysql/wsrep-lib/include/wsrep/provider_options.hpp:127:13: error: unknown type name 'int64_t' +> 127 | int64_t value_; +> | ^ +> /var/tmp/portage/dev-db/mariadb-11.8.3-r2/work/mysql/wsrep-lib/include/wsrep/provider_options.hpp:127:21: warning: private field 'value_' is not used [-Wunused-private-field] +> 127 | int64_t value_; +> | ^ +> 1 warning and 2 errors generated. + +The root cause is that including <memory> pulls in bits/align.h, and GCC +15 has removed the implicit inclusion of <stdint.h> from bits/align.h. +As a result, int64_t is no longer defined unless <cstdint> is explicitly +included. + +This patch adds the missing <cstdint> include to fix the build. + +Signed-off-by: Z. Liu <zhixu.liu@gmail.com> + +diff --git a/wsrep-lib/include/wsrep/provider_options.hpp b/wsrep-lib/include/wsrep/provider_options.hpp +index 022e159..7009a20 100644 +--- a/wsrep-lib/include/wsrep/provider_options.hpp ++++ b/wsrep-lib/include/wsrep/provider_options.hpp +@@ -31,6 +31,7 @@ + #include <map> + #include <memory> + #include <string> ++#include <cstdint> + + namespace wsrep + { +-- +2.49.1 + diff --git a/dev-db/mariadb/mariadb-10.11.13-r1.ebuild b/dev-db/mariadb/mariadb-10.11.13-r1.ebuild new file mode 100644 index 000000000000..c997cb1e65f5 --- /dev/null +++ b/dev-db/mariadb/mariadb-10.11.13-r1.ebuild @@ -0,0 +1,1336 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +SUBSLOT="18" +JAVA_PKG_OPT_USE="jdbc" + +inherit systemd flag-o-matic prefix toolchain-funcs \ + multiprocessing java-pkg-opt-2 cmake pam + +DESCRIPTION="An enhanced, drop-in replacement for MySQL" +HOMEPAGE="https://mariadb.org/" +SRC_URI=" + mirror://mariadb/${P}/source/${P}.tar.gz + https://dev.gentoo.org/~arkamar/distfiles/${PN}-10.11.10-patches-01.tar.xz + https://dev.gentoo.org/~arkamar/distfiles/${PN}-10.6-columnstore-with-boost-1.85.patch.xz +" +# Shorten the path because the socket path length must be shorter than 107 chars +# and we will run a mysql server during test phase +S="${WORKDIR}/mysql" + +LICENSE="GPL-2 LGPL-2.1+" +SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86" +IUSE="+backup bindist columnstore cracklib debug extraengine galera innodb-lz4 + innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga + numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx + sst-rsync sst-mariabackup static systemd systemtap s3 tcmalloc + test xml yassl" + +RESTRICT="!bindist? ( bindist ) !test? ( test )" + +REQUIRED_USE="jdbc? ( extraengine server !static ) + ?? ( tcmalloc jemalloc ) + static? ( yassl !pam ) + test? ( extraengine )" + +# Be warned, *DEPEND are version-dependant +# These are used for both runtime and compiletime +COMMON_DEPEND=" + dev-libs/libfmt:= + >=dev-libs/libpcre2-10.34:= + >=sys-apps/texinfo-4.7-r1 + sys-libs/ncurses:0= + >=virtual/zlib-1.2.3:= + virtual/libcrypt:= + !bindist? ( + sys-libs/binutils-libs:0= + >=sys-libs/readline-4.1:0= + ) + jemalloc? ( dev-libs/jemalloc:0= ) + kerberos? ( virtual/krb5 ) + kernel_linux? ( + dev-libs/libaio:0= + sys-libs/liburing:= + sys-process/procps:0= + ) + server? ( + app-arch/bzip2 + app-arch/xz-utils + backup? ( app-arch/libarchive:0= ) + columnstore? ( + app-arch/snappy:= + dev-libs/boost:= + dev-libs/libxml2:2= + ) + cracklib? ( sys-libs/cracklib:0= ) + extraengine? ( + odbc? ( dev-db/unixODBC:0= ) + xml? ( dev-libs/libxml2:2= ) + ) + innodb-lz4? ( app-arch/lz4 ) + innodb-lzo? ( dev-libs/lzo ) + innodb-snappy? ( app-arch/snappy:= ) + mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) + numa? ( sys-process/numactl ) + oqgraph? ( + dev-libs/boost:= + dev-libs/judy:0= + ) + pam? ( sys-libs/pam:0= ) + s3? ( net-misc/curl ) + systemd? ( sys-apps/systemd:= ) + ) + systemtap? ( >=dev-debug/systemtap-1.3:0= ) + tcmalloc? ( dev-util/google-perftools:0= ) + yassl? ( net-libs/gnutls:0= ) + !yassl? ( + >=dev-libs/openssl-1.0.0:0= + ) +" +BDEPEND="app-alternatives/yacc" +DEPEND="${COMMON_DEPEND} + server? ( + extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) ) + test? ( acct-group/mysql acct-user/mysql ) + ) + static? ( sys-libs/ncurses[static-libs] ) +" +RDEPEND="${COMMON_DEPEND} + !dev-db/mysql !dev-db/percona-server + !dev-db/mariadb:10.3 + !dev-db/mariadb:10.4 + !dev-db/mariadb:10.5 + !dev-db/mariadb:10.6 + !dev-db/mariadb:10.7 + !dev-db/mariadb:10.8 + !dev-db/mariadb:10.9 + !dev-db/mariadb:10.10 + !dev-db/mariadb:11.0 + !dev-db/mariadb:11.1 + !dev-db/mariadb:11.2 + !dev-db/mariadb:11.3 + !dev-db/mariadb:11.4 + selinux? ( sec-policy/selinux-mysql ) + server? ( + columnstore? ( + dev-db/mariadb-connector-c + !dev-libs/thrift + ) + extraengine? ( jdbc? ( >=virtual/jre-1.8 ) ) + galera? ( + sys-apps/iproute2 + =sys-cluster/galera-26* + sst-rsync? ( sys-process/lsof ) + sst-mariabackup? ( net-misc/socat[ssl] ) + ) + !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql ) + ) +" +# For other stuff to bring us in +# dev-perl/DBD-MariaDB is needed by some scripts installed by MySQL +PDEPEND="perl? ( dev-perl/DBD-MariaDB )" + +mysql_init_vars() { + MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"} + MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} + MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} + MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"} + + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="" + if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then + MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1) + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ + | sed -e 's/.*=\s*//' \ + | tail -n1) + fi + fi + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="${MY_LOCALSTATEDIR}" + einfo "Using default MY_DATADIR" + fi + elog "MySQL MY_DATADIR is ${MY_DATADIR}" + + if [[ -z "${PREVIOUS_DATADIR}" ]] ; then + if [[ -e "${MY_DATADIR}" ]] ; then + # If you get this and you're wondering about it, see bug #207636 + elog "MySQL datadir found in ${MY_DATADIR}" + elog "A new one will not be created." + PREVIOUS_DATADIR="yes" + else + PREVIOUS_DATADIR="no" + fi + export PREVIOUS_DATADIR + fi + else + if [[ ${EBUILD_PHASE} == "config" ]]; then + local new_MY_DATADIR + new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1) + + if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then + ewarn "MySQL MY_DATADIR has changed" + ewarn "from ${MY_DATADIR}" + ewarn "to ${new_MY_DATADIR}" + MY_DATADIR="${new_MY_DATADIR}" + fi + fi + fi + + export MY_SHAREDSTATEDIR MY_SYSCONFDIR + export MY_LOCALSTATEDIR MY_LOGDIR + export MY_DATADIR +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if has test ${FEATURES} ; then + # Bug #213475 - MySQL _will_ object strenuously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if ! has userpriv ${FEATURES} ; then + die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + fi + fi + + java-pkg-opt-2_pkg_setup +} + +src_unpack() { + unpack ${A} + + mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die +} + +src_prepare() { + eapply "${WORKDIR}"/mariadb-patches + eapply "${FILESDIR}"/${PN}-10.6.11-gssapi.patch + eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch + eapply "${WORKDIR}"/${PN}-10.6-columnstore-with-boost-1.85.patch + eapply "${FILESDIR}"/${PN}-wsrep-gcc-15.patch + + eapply_user + + _disable_plugin() { + echo > "${S}/plugin/${1}/CMakeLists.txt" || die + } + _disable_engine() { + echo > "${S}/storage/${1}/CMakeLists.txt" || die + } + + if use jemalloc; then + echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt" + elif use tcmalloc; then + echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt" + fi + + local plugin + local server_plugins=( handler_socket auth_socket feedback metadata_lock_info + locale_info qc_info server_audit sql_errlog auth_ed25519 ) + local test_plugins=( audit_null auth_examples daemon_example fulltext + debug_key_management example_key_management versioning ) + if ! use server; then # These plugins are for the server + for plugin in "${server_plugins[@]}" ; do + _disable_plugin "${plugin}" + done + fi + + if ! use test; then # These plugins are only used during testing + for plugin in "${test_plugins[@]}" ; do + _disable_plugin "${plugin}" + done + _disable_engine test_sql_discovery + echo > "${S}/plugin/auth_pam/testing/CMakeLists.txt" || die + fi + + _disable_engine example + + if ! use oqgraph ; then # avoids extra library checks + _disable_engine oqgraph + fi + + if use mroonga ; then + # Remove the bundled groonga + # There is no CMake flag, it simply checks for existance + rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga" + else + _disable_engine mroonga + fi + + # Fix static bindings in galera replication + sed -i -e 's~add_library(wsrep_api_v26$~add_library(wsrep_api_v26 STATIC~' \ + "${S}"/wsrep-lib/wsrep-API/CMakeLists.txt || die + sed -i -e 's~add_library(wsrep-lib$~add_library(wsrep-lib STATIC~' \ + "${S}"/wsrep-lib/src/CMakeLists.txt || die + + # Fix galera_recovery.sh script + sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \ + scripts/galera_recovery.sh || die + + sed -i -e 's~ \$basedir/lib/\*/mariadb19/plugin~~' \ + "${S}"/scripts/mysql_install_db.sh || die + + cmake_src_prepare + java-pkg-opt-2_src_prepare +} + +src_configure() { + # bug #855233 (MDEV-11914, MDEV-25633) at least + filter-lto + # bug 508724 mariadb cannot use ld.gold + tc-ld-is-gold && tc-ld-force-bfd + # Bug #114895, bug #110149 + filter-flags "-O" "-O[01]" + + use elibc_musl && append-flags -D_LARGEFILE64_SOURCE + + # It fails on alpha without this + use alpha && append-ldflags "-Wl,--no-relax" + + # bug #945352 + append-cflags -std=gnu17 + + append-cxxflags -felide-constructors + + # bug #283926, with GCC4.4, this is required to get correct behavior. + append-flags -fno-strict-aliasing + + # Workaround for bug #959423 (https://jira.mariadb.org/browse/MDEV-37148) + append-flags -fno-tree-vectorize + + # debug hack wrt #497532 + local mycmakeargs=( + -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql" + -DSYSCONFDIR="${EPREFIX}/etc/mysql" + -DINSTALL_BINDIR=bin + -DINSTALL_DOCDIR=share/doc/${PF} + -DINSTALL_DOCREADMEDIR=share/doc/${PF} + -DINSTALL_INCLUDEDIR=include/mysql + -DINSTALL_INFODIR=share/info + -DINSTALL_LIBDIR=$(get_libdir) + -DINSTALL_PAMDIR="$(getpam_mod_dir)" + -DINSTALL_PAMDATADIR="${EPREFIX}/etc/security" + -DINSTALL_MANDIR=share/man + -DINSTALL_MYSQLSHAREDIR=share/mariadb + -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin + -DINSTALL_SCRIPTDIR=bin + -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" + -DINSTALL_SBINDIR=sbin + -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb" + -DWITH_COMMENT="Gentoo Linux ${PF}" + -DWITH_UNIT_TESTS=$(usex test ON OFF) + -DWITH_LIBEDIT=0 + -DWITH_LIBFMT=system + -DWITH_ZLIB=system + -DWITHOUT_LIBWRAP=1 + -DENABLED_LOCAL_INFILE=1 + -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DWITH_DEFAULT_COMPILER_OPTIONS=0 + -DWITH_DEFAULT_FEATURE_SET=0 + -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)" + # The build forces this to be defined when cross-compiling. We pass it + # all the time for simplicity and to make sure it is actually correct. + -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) + -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)" + -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) + -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF) + -DCONC_WITH_EXTERNAL_ZLIB=YES + -DWITH_EXTERNAL_ZLIB=YES + -DSUFFIX_INSTALL_DIR="" + -DWITH_UNITTEST=OFF + -DWITHOUT_CLIENTLIBS=YES + -DCLIENT_PLUGIN_DIALOG=OFF + -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF + -DCLIENT_PLUGIN_CLIENT_ED25519=OFF + -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC + -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF + ) + if use test ; then + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test ) + else + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) + fi + + if ! use yassl ; then + mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC ) + else + mycmakeargs+=( -DWITH_SSL=bundled ) + fi + + if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then + mycmakeargs+=( + -DDTRACE="${BROOT}"/usr/bin/stap-dtrace + ) + fi + + # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION + mycmakeargs+=( + -DWITH_READLINE=$(usex bindist 1 0) + -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1) + -DENABLE_DTRACE=$(usex systemtap) + ) + + if use server ; then + # Connect and Federated{,X} must be treated special + # otherwise they will not be built as plugins + if ! use extraengine ; then + mycmakeargs+=( + -DPLUGIN_CONNECT=NO + -DPLUGIN_FEDERATED=NO + -DPLUGIN_FEDERATEDX=NO + ) + fi + + mycmakeargs+=( + -DWITH_PCRE=system + -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO) + -DPLUGIN_SPHINX=$(usex sphinx YES NO) + -DPLUGIN_AUTH_PAM=$(usex pam YES NO) + -DPLUGIN_AWS_KEY_MANAGEMENT=NO + -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO) + -DPLUGIN_SEQUENCE=$(usex extraengine YES NO) + -DPLUGIN_SPIDER=$(usex extraengine YES NO) + -DPLUGIN_S3=$(usex s3 YES NO) + -DPLUGIN_COLUMNSTORE=$(usex columnstore YES NO) + -DCONNECT_WITH_MYSQL=1 + -DCONNECT_WITH_LIBXML2=$(usex xml) + -DCONNECT_WITH_ODBC=$(usex odbc) + -DCONNECT_WITH_JDBC=$(usex jdbc) + # Build failure and autodep wrt bug 639144 + -DCONNECT_WITH_MONGO=OFF + -DWITH_WSREP=$(usex galera) + -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF) + -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF) + -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF) + -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO) + -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) + -DWITH_MARIABACKUP=$(usex backup ON OFF) + -DWITH_LIBARCHIVE=$(usex backup ON OFF) + -DINSTALL_SQLBENCHDIR="" + -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO) + # systemd is only linked to for server notification + -DWITH_SYSTEMD=$(usex systemd yes no) + -DWITH_NUMA=$(usex numa ON OFF) + ) + + if use test ; then + # This is needed for the new client lib which tests a real, open server + mycmakeargs+=( -DSKIP_TESTS=ON ) + fi + + if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then + ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" + ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." + ewarn "You MUST file bugs without these variables set." + + mycmakeargs+=( + -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} + -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} + ) + + elif ! use latin1 ; then + mycmakeargs+=( + -DDEFAULT_CHARSET=utf8mb4 + -DDEFAULT_COLLATION=utf8mb4_unicode_520_ci + ) + else + mycmakeargs+=( + -DDEFAULT_CHARSET=latin1 + -DDEFAULT_COLLATION=latin1_swedish_ci + ) + fi + mycmakeargs+=( + -DEXTRA_CHARSETS=all + -DMYSQL_USER=mysql + -DDISABLE_SHARED=$(usex static YES NO) + -DWITH_DEBUG=$(usex debug) + -DWITH_EMBEDDED_SERVER=OFF + -DWITH_PROFILING=$(usex |
