From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (unknown [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id DCDE41381FA for ; Wed, 14 May 2014 13:37:06 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 73F42E09EF; Wed, 14 May 2014 13:37:06 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id EEA37E09EF for ; Wed, 14 May 2014 13:37:05 +0000 (UTC) Received: from spoonbill.gentoo.org (unknown [81.93.255.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id C0DC133FF8D for ; Wed, 14 May 2014 13:37:04 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by spoonbill.gentoo.org (Postfix) with ESMTP id 61091180A9 for ; Wed, 14 May 2014 13:37:03 +0000 (UTC) From: "Brian Evans" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Brian Evans" Message-ID: <1400074602.f4b7a8e89e418911e6af95b06c1139afb10cb0b4.grknight.pub@gentoo> Subject: [gentoo-commits] proj/mysql:master commit in: eclass/ X-VCS-Repository: proj/mysql X-VCS-Files: eclass/mysql-cmake.eclass eclass/mysql-multilib.eclass X-VCS-Directories: eclass/ X-VCS-Committer: grknight.pub X-VCS-Committer-Name: Brian Evans X-VCS-Revision: f4b7a8e89e418911e6af95b06c1139afb10cb0b4 X-VCS-Branch: master Date: Wed, 14 May 2014 13:37:03 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 74652890-4ab0-4699-a639-83b9e6f38037 X-Archives-Hash: dbfad04c730529a1afd5c9cd7abe751c commit: f4b7a8e89e418911e6af95b06c1139afb10cb0b4 Author: Brian Evans gentoo org> AuthorDate: Wed May 14 13:36:25 2014 +0000 Commit: Brian Evans lavabit com> CommitDate: Wed May 14 13:36:42 2014 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/mysql.git;a=commit;h=f4b7a8e8 [eclass] Rework multilib eclass to use multilib-minimal as a base --- eclass/mysql-cmake.eclass | 2 +- eclass/mysql-multilib.eclass | 232 +++++++++++++++++++------------------------ 2 files changed, 101 insertions(+), 133 deletions(-) diff --git a/eclass/mysql-cmake.eclass b/eclass/mysql-cmake.eclass index 4109732..a9c743d 100644 --- a/eclass/mysql-cmake.eclass +++ b/eclass/mysql-cmake.eclass @@ -415,7 +415,7 @@ mysql-cmake_src_install() { esac einfo "Building default my.cnf (${mysql_mycnf_version})" insinto "${MY_SYSCONFDIR#${EPREFIX}}" - doins scripts/mysqlaccess.conf + doins "${S}"/scripts/mysqlaccess.conf mycnf_src="my.cnf-${mysql_mycnf_version}" sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ "${FILESDIR}/${mycnf_src}" \ diff --git a/eclass/mysql-multilib.eclass b/eclass/mysql-multilib.eclass index 2bc09b1..b548e40 100644 --- a/eclass/mysql-multilib.eclass +++ b/eclass/mysql-multilib.eclass @@ -27,7 +27,7 @@ MYSQL_EXTRAS="" [[ ${MY_EXTRAS_VER} == "live" ]] && MYSQL_EXTRAS="git-2" inherit eutils flag-o-matic ${MYSQL_EXTRAS} mysql-cmake mysql_fx versionator \ - toolchain-funcs user cmake-utils multilib-build + toolchain-funcs user cmake-utils multilib-minimal # # Supported EAPI versions and export functions @@ -157,7 +157,7 @@ if [[ ${MY_EXTRAS_VER} != "live" && ${MY_EXTRAS_VER} != "none" ]]; then http://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" fi -DESCRIPTION="A fast, multi-threaded, multi-user SQL database server." +DESCRIPTION="A fast, multi-threaded, multi-user SQL database server" HOMEPAGE="http://www.mysql.com/" if [[ ${PN} == "mariadb" ]]; then HOMEPAGE="http://mariadb.org/" @@ -174,7 +174,7 @@ fi LICENSE="GPL-2" SLOT="0" -IUSE="+community cluster debug embedded extraengine jemalloc latin1 max-idx-128 minimal +IUSE="+community cluster debug embedded extraengine jemalloc latin1 max-idx-128 minimal +perl profiling selinux ssl systemtap static static-libs tcmalloc test" if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]]; then @@ -224,7 +224,7 @@ fi if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then # Bug 441700 MariaDB >=5.3 include custom mytop - DEPEND="${DEPEND} + DEPEND="${DEPEND} oqgraph? ( >=dev-libs/boost-1.40.0:0= ) sphinx? ( app-misc/sphinx:0= ) !minimal? ( pam? ( virtual/pam:0= ) ) @@ -273,7 +273,7 @@ if [[ ${PN} == "mariadb-galera" ]] ; then # The wsrep API version must match between the ebuild and sys-cluster/galera. # This will be indicated by WSREP_REVISION in the ebuild and the first number # in the version of sys-cluster/galera - RDEPEND="${RDEPEND} + RDEPEND="${RDEPEND} =sys-cluster/galera-${WSREP_REVISION}* " fi @@ -381,157 +381,125 @@ mysql-multilib_src_prepare() { # @DESCRIPTION: # Configure mysql to build the code for Gentoo respecting the use flags. mysql-multilib_src_configure() { + multilib-minimal_src_configure +} + +multilib_src_configure() { + debug-print-function ${FUNCNAME} "$@" - _mysql-multilib_src_configure() { - - debug-print-function ${FUNCNAME} "$@" - - CMAKE_BUILD_TYPE="RelWithDebInfo" - - # debug hack wrt #497532 - mycmakeargs=( - -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug "" "-DNDEBUG")" - -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug "" "-DNDEBUG")" - -DCMAKE_INSTALL_PREFIX=${EPREFIX}/usr - -DMYSQL_DATADIR=${EPREFIX}/var/lib/mysql - -DSYSCONFDIR=${EPREFIX}/etc/mysql - -DINSTALL_BINDIR=bin - -DINSTALL_DOCDIR=share/doc/${P} - -DINSTALL_DOCREADMEDIR=share/doc/${P} - -DINSTALL_INCLUDEDIR=include/mysql - -DINSTALL_INFODIR=share/info - -DINSTALL_LIBDIR=$(get_libdir) - -DINSTALL_ELIBDIR=$(get_libdir)/mysql - -DINSTALL_MANDIR=share/man - -DINSTALL_MYSQLDATADIR=${EPREFIX}/var/lib/mysql - -DINSTALL_MYSQLSHAREDIR=share/mysql - -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test - -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin - -DINSTALL_SBINDIR=sbin - -DINSTALL_SCRIPTDIR=share/mysql/scripts - -DINSTALL_SQLBENCHDIR=share/mysql - -DINSTALL_SUPPORTFILESDIR=${EPREFIX}/usr/share/mysql - -DWITH_COMMENT="Gentoo Linux ${PF}" - $(cmake-utils_use_with test UNIT_TESTS) - -DWITH_READLINE=0 - -DWITH_LIBEDIT=0 - -DWITH_ZLIB=system - -DWITHOUT_LIBWRAP=1 - -DENABLED_LOCAL_INFILE=1 - -DMYSQL_UNIX_ADDR=${EPREFIX}/var/run/mysqld/mysqld.sock - ) + CMAKE_BUILD_TYPE="RelWithDebInfo" + + # debug hack wrt #497532 + mycmakeargs=( + -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug "" "-DNDEBUG")" + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug "" "-DNDEBUG")" + -DCMAKE_INSTALL_PREFIX=${EPREFIX}/usr + -DMYSQL_DATADIR=${EPREFIX}/var/lib/mysql + -DSYSCONFDIR=${EPREFIX}/etc/mysql + -DINSTALL_BINDIR=bin + -DINSTALL_DOCDIR=share/doc/${P} + -DINSTALL_DOCREADMEDIR=share/doc/${P} + -DINSTALL_INCLUDEDIR=include/mysql + -DINSTALL_INFODIR=share/info + -DINSTALL_LIBDIR=$(get_libdir) + -DINSTALL_ELIBDIR=$(get_libdir)/mysql + -DINSTALL_MANDIR=share/man + -DINSTALL_MYSQLDATADIR=${EPREFIX}/var/lib/mysql + -DINSTALL_MYSQLSHAREDIR=share/mysql + -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test + -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin + -DINSTALL_SBINDIR=sbin + -DINSTALL_SCRIPTDIR=share/mysql/scripts + -DINSTALL_SQLBENCHDIR=share/mysql + -DINSTALL_SUPPORTFILESDIR=${EPREFIX}/usr/share/mysql + -DWITH_COMMENT="Gentoo Linux ${PF}" + $(cmake-utils_use_with test UNIT_TESTS) + -DWITH_READLINE=0 + -DWITH_LIBEDIT=0 + -DWITH_ZLIB=system + -DWITHOUT_LIBWRAP=1 + -DENABLED_LOCAL_INFILE=1 + -DMYSQL_UNIX_ADDR=${EPREFIX}/var/run/mysqld/mysqld.sock + -DWITH_SSL=$(usex ssl system bundled) + ) - if [[ ${PN} == "mysql" || ${PN} == "percona-server" ]] && mysql_version_is_at_least "5.6.12" ; then - mycmakeargs+=( -DWITH_EDITLINE=system ) - fi + if [[ ${PN} == "mysql" || ${PN} == "percona-server" ]] && mysql_version_is_at_least "5.6.12" ; then + mycmakeargs+=( -DWITH_EDITLINE=system ) + fi - if use ssl; then - mycmakeargs+=( -DWITH_SSL=system ) - else - mycmakeargs+=( -DWITH_SSL=bundled ) - fi - # Bug 412851 - # MariaDB requires this flag to compile with GPLv3 readline linked - # Adds a warning about redistribution to configure - if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then - mycmakeargs+=( -DNOT_FOR_DISTRIBUTION=1 ) - - if use jemalloc ; then - mycmakeargs+=( -DWITH_JEMALLOC="system" ) - else - mycmakeargs+=( -DWITH_JEMALLOC=no ) - fi - # TODO: uncomment this when libpcre 8.35 is released to remove bundled library -# mysql_version_is_at_least "10.0.9" mycmakeargs+=( -DWITH_PCRE=system ) - fi - - configure_cmake_locale - - if multilib_is_native_abi ; then - if use minimal ; then - configure_cmake_minimal - else - configure_cmake_standard - fi - else - configure_cmake_minimal - fi + # Bug 412851 + # MariaDB requires this flag to compile with GPLv3 readline linked + # Adds a warning about redistribution to configure + if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then + mycmakeargs+=( + -DNOT_FOR_DISTRIBUTION=1 + -DWITH_JEMALLOC=$(usex jemalloc system) + ) - # Bug #114895, bug #110149 - filter-flags "-O" "-O[01]" + mysql_version_is_at_least "10.0.9" && mycmakeargs+=( -DWITH_PCRE=system ) + fi - CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing" - CXXFLAGS="${CXXFLAGS} -felide-constructors -fno-rtti" - # Causes linkage failures. Upstream bug #59607 removes it - if ! mysql_version_is_at_least "5.6" ; then - CXXFLAGS="${CXXFLAGS} -fno-implicit-templates" - fi - # As of 5.7, exceptions are used! - if ! mysql_version_is_at_least "5.7" ; then - CXXFLAGS="${CXXFLAGS} -fno-exceptions" - fi - export CXXFLAGS + configure_cmake_locale - # bug #283926, with GCC4.4, this is required to get correct behavior. - append-flags -fno-strict-aliasing + if multilib_is_native_abi && ! use minimal ; then + configure_cmake_standard + else + configure_cmake_minimal + fi - cmake-utils_src_configure - } + # Bug #114895, bug #110149 + filter-flags "-O" "-O[01]" - multilib_parallel_foreach_abi _mysql-multilib_src_configure "${@}" + CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing" + CXXFLAGS="${CXXFLAGS} -felide-constructors -fno-rtti" + # Causes linkage failures. Upstream bug #59607 removes it + if ! mysql_version_is_at_least "5.6" ; then + CXXFLAGS="${CXXFLAGS} -fno-implicit-templates" + fi + # As of 5.7, exceptions are used! + if ! mysql_version_is_at_least "5.7" ; then + CXXFLAGS="${CXXFLAGS} -fno-exceptions" + fi + export CXXFLAGS + + # bug #283926, with GCC4.4, this is required to get correct behavior. + append-flags -fno-strict-aliasing + + cmake-utils_src_configure } -# @FUNCTION: mysql-multilib_src_compile -# @DESCRIPTION: -# Compile the mysql code. mysql-multilib_src_compile() { - #_mysql-multilib_src_compile() { - # - # if ! multilib_is_native_abi ; then - # BUILD_DIR="${BUILD_DIR}/libmysql" cmake-utils_src_compile - # else - # cmake-utils_src_compile - # fi - #} + local _cmake_args=( "${@}" ) - debug-print-function ${FUNCNAME} "$@" + multilib-minimal_src_compile +} -# multilib_foreach_abi _mysql-multilib_src_compile "${@}" - multilib_foreach_abi cmake-utils_src_compile "${@}" +multilib_src_compile() { + cmake-utils_src_compile "${_cmake_args[@]}" } + # @FUNCTION: mysql-multilib_src_install # @DESCRIPTION: # Install mysql. mysql-multilib_src_install() { - _mysql-multilib_src_install() { - debug-print-function ${FUNCNAME} "$@" - - if multilib_is_native_abi; then - mysql-cmake_src_install - else - # BUILD_DIR="${BUILD_DIR}/libmysql" cmake-utils_src_install - cmake-utils_src_install - if ! use minimal && [[ "${PN}" == "mariadb" || "${PN}" == "mariadb-galera" ]] ; then - insinto /usr/include/mysql/private - doins sql/*.h - fi - - fi - # Do multilib magic only when >1 ABI is used. - if [[ ${#MULTIBUILD_VARIANTS[@]} -gt 1 ]]; then - multilib_prepare_wrappers - # Make sure all headers are the same for each ABI. - multilib_check_headers - fi - } + multilib-minimal_src_install +} +multilib_src_install() { debug-print-function ${FUNCNAME} "$@" - multilib_foreach_abi _mysql-multilib_src_install "${@}" - multilib_install_wrappers + if multilib_is_native_abi; then + mysql-cmake_src_install + else + cmake-utils_src_install + if ! use minimal && [[ "${PN}" == "mariadb" || "${PN}" == "mariadb-galera" ]] ; then + insinto /usr/include/mysql/private + doins "${S}"/sql/*.h + fi + fi } # @FUNCTION: mysql-multilib_pkg_preinst