commit: dcae41198838982fd27ad3e8496f5906495e73c1 Author: Brian Evans <grknight <AT> gentoo <DOT> org> AuthorDate: Thu Sep 17 02:36:55 2015 +0000 Commit: Brian Evans <grknight <AT> gentoo <DOT> org> CommitDate: Thu Sep 17 02:36:55 2015 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dcae4119
dev-db/mysql-connector-c: Revbump to add an ABI rebuild message for the user This message should be displayed when swapping libmysqlclient providers as the ABI may change, but the API should be the same Package-Manager: portage-2.2.20.1 .../mysql-connector-c-6.1.6-r2.ebuild | 80 ++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/dev-db/mysql-connector-c/mysql-connector-c-6.1.6-r2.ebuild b/dev-db/mysql-connector-c/mysql-connector-c-6.1.6-r2.ebuild new file mode 100644 index 0000000..f77fcf5 --- /dev/null +++ b/dev-db/mysql-connector-c/mysql-connector-c-6.1.6-r2.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +CMAKE_MIN_VERSION="2.8.12" + +inherit cmake-multilib eutils 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="mirror://mysql/Downloads/Connector-C/${P}-src.tar.gz" +S="${WORKDIR}/${P}-src" +KEYWORDS="~amd64 ~ia64 ~ppc64 ~x86" + +SUBSLOT="18" +SLOT="0/${SUBSLOT}" +IUSE="+ssl static-libs" + +CDEPEND=" + sys-libs/zlib:=[${MULTILIB_USEDEP}] + ssl? ( 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 Docs/ChangeLog ) + +src_prepare() { + epatch "${FILESDIR}/openssl-cmake-detection.patch" \ + "${FILESDIR}/conn-c-includes.patch" \ + "${FILESDIR}/mysql_com.patch" + epatch_user +} + +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) + ) + 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 +}
