1 # Copyright 1999-2020 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
8 # wrap the config script
9 MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
11 DESCRIPTION="C client library for MariaDB/MySQL"
12 HOMEPAGE="https://dev.mysql.com/downloads/"
15 SRC_URI="https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-${PV}.tar.gz"
16 KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ~ppc64 s390 ~sh sparc x86"
19 IUSE="ldap libressl static-libs"
22 >=app-arch/lz4-0_p131:=
23 sys-libs/zlib:=[${MULTILIB_USEDEP}]
24 ldap? ( dev-libs/cyrus-sasl:=[${MULTILIB_USEDEP}] )
25 libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
26 !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
30 # Avoid file collisions, #692580
31 RDEPEND+=" !<dev-db/mysql-5.6.45-r1"
32 RDEPEND+=" !=dev-db/mysql-5.7.23*"
33 RDEPEND+=" !=dev-db/mysql-5.7.24*"
34 RDEPEND+=" !=dev-db/mysql-5.7.25*"
35 RDEPEND+=" !=dev-db/mysql-5.7.26-r0"
36 RDEPEND+=" !=dev-db/mysql-5.7.27-r0"
37 RDEPEND+=" !<dev-db/percona-server-5.7.26.29-r1"
41 S="${WORKDIR}/mysql-${PV}"
44 "${FILESDIR}"/${PN}-8.0.18-always-build-decompress-utilities.patch
45 "${FILESDIR}"/${PN}-8.0.17-use-relative-include-path-for-udf_registration_types-h.patch
46 "${FILESDIR}"/${PN}-8.0.19-do-not-install-comp_err.patch
47 "${FILESDIR}"/${PN}-8.0.19-libressl.patch
51 sed -i -e 's/CLIENT_LIBS/CONFIG_CLIENT_LIBS/' "${S}/scripts/CMakeLists.txt" || die
53 # All these are for the server only.
54 # Disable rpm call which would trigger sandbox, #692368
56 -e '/MYSQL_CHECK_LIBEVENT/d' \
57 -e '/MYSQL_CHECK_RAPIDJSON/d' \
58 -e '/MYSQL_CHECK_ICU/d' \
59 -e '/MYSQL_CHECK_EDITLINE/d' \
60 -e '/MYSQL_CHECK_CURL/d' \
61 -e '/ADD_SUBDIRECTORY(man)/d' \
62 -e '/ADD_SUBDIRECTORY(share)/d' \
63 -e '/INCLUDE(cmake\/boost/d' \
64 -e 's/MY_RPM rpm/MY_RPM rpmNOTEXISTENT/' \
67 # Skip building clients
68 echo > client/CMakeLists.txt || die
70 # Forcefully disable auth plugin
72 sed -i -e '/MYSQL_CHECK_SASL/d' CMakeLists.txt || die
73 echo > libmysql/authentication_ldap/CMakeLists.txt || die
76 cmake-utils_src_prepare
79 multilib_src_configure() {
82 -DINSTALL_LIBDIR=$(get_libdir)
83 -DWITH_DEFAULT_COMPILER_OPTIONS=OFF
84 -DWITH_DEFAULT_FEATURE_SET=OFF
85 -DENABLED_LOCAL_INFILE=ON
86 -DMYSQL_UNIX_ADDR="${EPREFIX}/run/mysqld/mysqld.sock"
90 -DLIBMYSQL_OS_OUTPUT_NAME=mysqlclient
91 -DSHARED_LIB_PATCH_VERSION="0"
92 -DCMAKE_POSITION_INDEPENDENT_CODE=ON
95 cmake-utils_src_configure
98 multilib_src_install() {
99 cmake-utils_src_install
102 multilib_src_install_all() {
104 man/my_print_defaults.1 \
106 man/zlib_decompress.1
108 if ! use static-libs ; then
109 find "${ED}" -name "*.a" -delete || die