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