diff options
author | Brian Evans <grknight@gentoo.org> | 2018-03-09 11:37:34 -0500 |
---|---|---|
committer | Brian Evans <grknight@gentoo.org> | 2018-03-09 11:37:34 -0500 |
commit | 608396f9309f779d0bd10ce6e9b90ea9913b864e (patch) | |
tree | 70e75debfd1440cace75ad9faffda55452f08bce /dev-db | |
parent | dev-db/slony1: Cleanup old (diff) | |
download | gentoo-608396f9309f779d0bd10ce6e9b90ea9913b864e.tar.gz gentoo-608396f9309f779d0bd10ce6e9b90ea9913b864e.tar.bz2 gentoo-608396f9309f779d0bd10ce6e9b90ea9913b864e.zip |
dev-db/mysql-connector-c: Add libressl support
This requires a sed as the cmake checks for Version 1
while libressl has Version 2
Closes: https://bugs.gentoo.org/649602
Package-Manager: Portage-2.3.24, Repoman-2.3.6
Diffstat (limited to 'dev-db')
-rw-r--r-- | dev-db/mysql-connector-c/mysql-connector-c-6.1.11-r1.ebuild | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/dev-db/mysql-connector-c/mysql-connector-c-6.1.11-r1.ebuild b/dev-db/mysql-connector-c/mysql-connector-c-6.1.11-r1.ebuild new file mode 100644 index 000000000000..b7d7716b132e --- /dev/null +++ b/dev-db/mysql-connector-c/mysql-connector-c-6.1.11-r1.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit cmake-multilib + +MULTILIB_WRAPPED_HEADERS+=( + /usr/include/mysql/my_config.h +) + +# wrap the config script +MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config ) + +DESCRIPTION="C client library for MariaDB/MySQL" +HOMEPAGE="https://dev.mysql.com/downloads/connector/c/" +LICENSE="GPL-2" + +SRC_URI="https://dev.mysql.com/get/Downloads/Connector-C/${P}-src.tar.gz" +S="${WORKDIR}/${P}-src" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc64 ~sparc ~x86" + +SUBSLOT="18" +SLOT="0/${SUBSLOT}" +IUSE="libressl +ssl static-libs" + +CDEPEND=" + sys-libs/zlib:=[${MULTILIB_USEDEP}] + ssl? ( + libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] ) + !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] ) + ) + " +RDEPEND="${CDEPEND} + !dev-db/mysql[client-libs(+)] + !dev-db/mysql-cluster[client-libs(+)] + !dev-db/mariadb[client-libs(+)] + !dev-db/mariadb-connector-c[mysqlcompat] + !dev-db/mariadb-galera[client-libs(+)] + !dev-db/percona-server[client-libs(+)] + " +DEPEND="${CDEPEND}" + +DOCS=( README ) +PATCHES=( + "${FILESDIR}/mysql_com.patch" + "${FILESDIR}/20028_all_mysql-5.6-gcc7.patch" +) + +src_prepare() { + sed -i -e 's/CLIENT_LIBS/CONFIG_CLIENT_LIBS/' "${S}/scripts/CMakeLists.txt" || die + if use libressl ; then + sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \ + "${S}/cmake/ssl.cmake" || die + fi + cmake-utils_src_prepare +} + +multilib_src_configure() { + mycmakeargs+=( + -DINSTALL_LAYOUT=RPM + -DINSTALL_LIBDIR=$(get_libdir) + -DWITH_DEFAULT_COMPILER_OPTIONS=OFF + -DWITH_DEFAULT_FEATURE_SET=OFF + -DENABLED_LOCAL_INFILE=ON + -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DWITH_ZLIB=system + -DENABLE_DTRACE=OFF + -DWITH_SSL=$(usex ssl system bundled) + -DLIBMYSQL_OS_OUTPUT_NAME=mysqlclient + -DSHARED_LIB_PATCH_VERSION="0" + ) + cmake-utils_src_configure +} + +multilib_src_install_all() { + if ! use static-libs ; then + find "${ED}" -name "*.a" -delete || die + fi +} + +pkg_preinst() { + if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then + elog "Due to ABI changes when switching between different client libraries," + elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient." + elog "Please run: revdep-rebuild --library libmysqlclient.so.${SUBSLOT}" + ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries" + fi +} |