commit:     3557ebb38948bbfbf7eea27348b2d5d601e56a9e
Author:     Brian Evans <grknight <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 18 19:35:20 2015 +0000
Commit:     Brian Evans <grknight <AT> gentoo <DOT> org>
CommitDate: Wed Mar 18 19:35:20 2015 +0000
URL:        https://gitweb.gentoo.org/proj/mysql.git/commit/?id=3557ebb3

[mariadb-connector-c] Add a Gentoo layout patch

 .../mariadb-connector-c/files/gentoo-layout.patch  | 60 ++++++++++++++++++++++
 .../mariadb-connector-c-2.1.0.ebuild               |  7 ++-
 .../mariadb-connector-c-9999.ebuild                | 51 +++++++++---------
 3 files changed, 90 insertions(+), 28 deletions(-)

diff --git a/dev-db/mariadb-connector-c/files/gentoo-layout.patch 
b/dev-db/mariadb-connector-c/files/gentoo-layout.patch
new file mode 100644
index 0000000..5663a37
--- /dev/null
+++ b/dev-db/mariadb-connector-c/files/gentoo-layout.patch
@@ -0,0 +1,60 @@
+diff -uarN a/cmake/install.cmake b/cmake/install.cmake
+--- a/cmake/install.cmake      2015-01-29 13:21:48.000000000 -0500
++++ b/cmake/install.cmake      2015-03-18 14:43:14.682768210 -0400
+@@ -39,12 +39,14 @@
+ ENDIF()
+ 
+ SET(INSTALL_LAYOUT ${INSTALL_LAYOUT} CACHE
+-  STRING "Installation layout. Currently supported options are DEFAULT 
(tar.gz and zip) and RPM")
++  STRING "Installation layout. Currently supported options are DEFAULT 
(tar.gz and zip), GENTOO, and RPM")
+ 
+ # On Windows we only provide zip and .msi. Latter one uses a different 
packager. 
+ IF(UNIX)
+   IF(INSTALL_LAYOUT MATCHES "RPM")
+     SET(libmariadb_prefix "/usr")
++  ELSEIF(INSTALL_LAYOUT MATCHES "GENTOO")
++    SET(libmariadb_prefix ${CMAKE_INSTALL_PREFIX})
+   ELSEIF(INSTALL_LAYOUT MATCHES "DEFAULT")
+     SET(libmariadb_prefix ${CMAKE_INSTALL_PREFIX})
+   ENDIF()
+@@ -55,7 +57,7 @@
+ ENDIF()
+ 
+ # check if the specified installation layout is valid
+-SET(VALID_INSTALL_LAYOUTS "DEFAULT" "RPM")
++SET(VALID_INSTALL_LAYOUTS "DEFAULT" "RPM" "GENTOO")
+ LIST(FIND VALID_INSTALL_LAYOUTS "${INSTALL_LAYOUT}" layout_no)
+ IF(layout_no EQUAL -1)
+   MESSAGE(FATAL_ERROR "Invalid installation layout. Please specify one of the 
following layouts: ${VALID_INSTALL_LAYOUTS}")
+diff -uarN a/cmake/install.cmake b/cmake/install.cmake
+--- a/cmake/install.cmake      2015-01-29 13:21:48.000000000 -0500
++++ b/cmake/install.cmake      2015-03-18 14:39:35.240617655 -0400
+@@ -79,6 +79,16 @@
+ SET(PLUGIN_INSTALL_DIR_DEFAULT "lib/plugin")
+ 
+ #
++# Gentoo layout
++#
++SET(SUFFIX_INSTALL_DIR_GENTOO "")
++SET(BIN_INSTALL_DIR_GENTOO "bin")
++SET(LIB_INSTALL_DIR_GENTOO "lib")
++SET(INCLUDE_INSTALL_DIR_GENTOO "include/mariadb")
++SET(DOCS_INSTALL_DIR_GENTOO "share/docs")
++SET(PLUGIN_INSTALL_DIR_GENTOO "lib/mariadb/plugin")
++
++#
+ # RPM layout
+ #
+ SET(SUFFIX_INSTALL_DIR_RPM "mariadb")
+diff -uarN a/cmake/install.cmake b/cmake/install.cmake
+--- a/cmake/install.cmake      2015-01-29 13:21:48.000000000 -0500
++++ b/cmake/install.cmake      2015-03-18 14:31:56.156920869 -0400
+@@ -118,8 +118,5 @@
+   SET(PREFIX_INSTALL_DIR_${INSTALL_LAYOUT} ${libmariadb_prefix})
+ ENDIF()
+ 
+-IF(NOT SUFFIX_INSTALL_DIR)
+-  SET(SUFFIX_INSTALL_DIR_${INSTALL_LAYOUT} "mariadb")
+-ENDIF()
+ 
+ FOREACH(dir "BIN" "LIB" "INCLUDE" "DOCS" "PREFIX" "SUFFIX" "PLUGIN")

diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-2.1.0.ebuild 
b/dev-db/mariadb-connector-c/mariadb-connector-c-2.1.0.ebuild
index 4f9dda0..1ba3e08 100644
--- a/dev-db/mariadb-connector-c/mariadb-connector-c-2.1.0.ebuild
+++ b/dev-db/mariadb-connector-c/mariadb-connector-c-2.1.0.ebuild
@@ -37,7 +37,7 @@ IUSE="mysqlcompat +ssl static-libs"
 
 DEPEND="sys-libs/zlib:=[${MULTILIB_USEDEP}]
        virtual/libiconv:=[${MULTILIB_USEDEP}]
-       ssl? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] )
+       ssl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
        "
 # Block server packages due to /usr/bin/mariadb_config symlink there
 # TODO: make server package block only when mysqlcompat is enabled
@@ -51,7 +51,9 @@ RDEPEND="${DEPEND}
        "
 
 src_prepare() {
-       epatch  "${FILESDIR}/fix-mariadb_config-2.1.0.patch"
+       epatch \
+               "${FILESDIR}/fix-mariadb_config-2.1.0.patch" \
+               "${FILESDIR}/gentoo-layout.patch"
        epatch_user
 }
 
@@ -63,6 +65,7 @@ multilib_src_configure() {
                $(cmake-utils_use_with mysqlcompat MYSQLCOMPAT)
                -DLIB_INSTALL_DIR=$(get_libdir)
                -DPLUGIN_INSTALL_DIR=$(get_libdir)/mariadb/plugin
+               -DINSTALL_LAYOUT=GENTOO
        )
        cmake-utils_src_configure
 }

diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild 
b/dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild
index 89bd64f..717a923 100644
--- a/dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild
+++ b/dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Header: $
 
@@ -7,21 +7,23 @@ EAPI=5
 VCS_INHERIT=""
 if [[ "${PV}" == 9999 ]] ; then
        VCS_INHERIT="git-r3"
-       EGIT_REPO_URI="https://github.com/MariaDB/connector-c.git";
+       EGIT_REPO_URI="https://github.com/MariaDB/mariadb-connector-c.git";
        KEYWORDS=""
 else
-       MY_PN="mariadb_client"
+       MY_PN=${PN#mariadb-}
        SRC_URI="
-       
http://ftp.osuosl.org/pub/mariadb/client-native-${PV}/src/${MY_PN}-${PV}-src.tar.gz
-       
http://mirrors.fe.up.pt/pub/mariadb/client-native${PV}/src/${MY_PN}-${PV}-src.tar.gz
-       
http://ftp-stud.hs-esslingen.de/pub/Mirrors/mariadb/client-native-${PV}/src/${MY_PN}-${PV}-src.tar.gz
+       
http://ftp.osuosl.org/pub/mariadb/${MY_PN}-${PV}/source-tgz/${P}-src.tar.gz
+       
http://mirrors.fe.up.pt/pub/mariadb/${MY_PN}-${PV}/source-tgz/${P}-src.tar.gz
+       
http://ftp-stud.hs-esslingen.de/pub/Mirrors/mariadb/${MY_PN}-${PV}/source-tgz/${P}-src.tar.gz
        "
-       S="${WORKDIR}/${MY_PN}-${PV}-src"
+       S="${WORKDIR}/${P}-src"
        KEYWORDS="~amd64 ~x86"
 fi
 
 inherit cmake-multilib eutils "${VCS_INHERIT}"
 
+MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config )
+
 MULTILIB_WRAPPED_HEADERS+=(
        /usr/include/mariadb/my_config.h
 )
@@ -31,50 +33,47 @@ HOMEPAGE="http://mariadb.org/";
 LICENSE="LGPL-2.1"
 
 SLOT="0/2"
-IUSE="doc +mysqlcompat +ssl static-libs"
+IUSE="mysqlcompat +ssl static-libs"
 
-CDEPEND="sys-libs/zlib:=[${MULTILIB_USEDEP}]
+DEPEND="sys-libs/zlib:=[${MULTILIB_USEDEP}]
        virtual/libiconv:=[${MULTILIB_USEDEP}]
-       ssl? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] )
+       ssl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
        "
 # Block server packages due to /usr/bin/mariadb_config symlink there
 # TODO: make server package block only when mysqlcompat is enabled
-RDEPEND="${CDEPEND}
+RDEPEND="${DEPEND}
        !dev-db/mysql
        !dev-db/mysql-cluster
-       !dev-db/mysql-connector-c
        !dev-db/mariadb
        !dev-db/mariadb-galera
        !dev-db/percona-server
+       mysqlcompat? ( !dev-db/mysql-connector-c )
        "
-DEPEND="${CDEPEND}
-       doc? ( app-text/xmlto )"
 
 src_prepare() {
-       epatch  "${FILESDIR}/fix-libdir.patch"
-       sed -i "s/INCLUDE(CPack)//" CMakeLists.txt || die "sed failed"
+       epatch \
+               "${FILESDIR}/fix-mariadb_config-2.1.0.patch" \
+               "${FILESDIR}/gentoo-layout.patch"
+       epatch_user
 }
 
-src_configure() {
+multilib_src_configure() {
        mycmakeargs+=(
                -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
                -DWITH_EXTERNAL_ZLIB=ON
                $(cmake-utils_use_with ssl OPENSSL)
                $(cmake-utils_use_with mysqlcompat MYSQLCOMPAT)
-               $(cmake-utils_use_build doc DOCS)
+               -DLIB_INSTALL_DIR=$(get_libdir)
+               -DPLUGIN_INSTALL_DIR=$(get_libdir)/mariadb/plugin
+               -DINSTALL_LAYOUT=GENTOO
        )
-       cmake-multilib_src_configure
+       cmake-utils_src_configure
 }
 
-multilib_src_install() {
-       cmake-utils_src_install
+multilib_src_install_all() {
        if ! use static-libs ; then
-               rm "${ED}/usr/$(get_libdir)/libmariadbclient.a" || die
-               use mysqlcompat && rm 
"${ED}/usr/$(get_libdir)/libmysqlclient.a" || die
+               find "${D}" -name "*.a" -delete || die
        fi
-}
-
-multilib_src_install_all() {
        if use mysqlcompat ; then
                dosym mariadb_config /usr/bin/mysql_config
                dosym mariadb /usr/include/mysql

Reply via email to