Gentoo Archives: gentoo-commits

From: Brian Evans <grknight@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-db/mariadb-connector-c/, dev-db/mariadb-connector-c/files/
Date: Wed, 28 Feb 2018 16:24:42
Message-Id: 1519835045.9e503d7f68fa3162b62ba151efafb2f3ca314e9c.grknight@gentoo
1 commit: 9e503d7f68fa3162b62ba151efafb2f3ca314e9c
2 Author: Brian Evans <grknight <AT> gentoo <DOT> org>
3 AuthorDate: Wed Feb 28 15:48:13 2018 +0000
4 Commit: Brian Evans <grknight <AT> gentoo <DOT> org>
5 CommitDate: Wed Feb 28 16:24:05 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9e503d7f
7
8 dev-db/mariadb-connector-c: New package to provide libmariadb.so
9
10 Package-Manager: Portage-2.3.24, Repoman-2.3.6
11
12 dev-db/mariadb-connector-c/Manifest | 1 +
13 .../files/gentoo-layout-3.0.patch | 9 ++
14 .../mariadb-connector-c-3.0.3.ebuild | 105 +++++++++++++++++++++
15 dev-db/mariadb-connector-c/metadata.xml | 11 +++
16 4 files changed, 126 insertions(+)
17
18 diff --git a/dev-db/mariadb-connector-c/Manifest b/dev-db/mariadb-connector-c/Manifest
19 new file mode 100644
20 index 00000000000..961da533ce5
21 --- /dev/null
22 +++ b/dev-db/mariadb-connector-c/Manifest
23 @@ -0,0 +1 @@
24 +DIST mariadb-connector-c-3.0.3-src.tar.gz 666928 BLAKE2B 83181949f1867909fd96696ac5cc9d11433a0c772ecb97d862983916b235d380fd84462d547faf42756d6698dd9dbe7dcd4d6b1d0f6336e147f5a597108ea025 SHA512 6da66a32165cb74b106bf94e13a35d4bb38f05e5d2b3ff3740862dfc0892a7705977c1394b4f84b8e1f1e50a59a3fadbc62e7733b1feb532c6368a9fc262db04
25
26 diff --git a/dev-db/mariadb-connector-c/files/gentoo-layout-3.0.patch b/dev-db/mariadb-connector-c/files/gentoo-layout-3.0.patch
27 new file mode 100644
28 index 00000000000..b57b7abc03b
29 --- /dev/null
30 +++ b/dev-db/mariadb-connector-c/files/gentoo-layout-3.0.patch
31 @@ -0,0 +1,9 @@
32 +--- a/mariadb_config/CMakeLists.txt 2016-02-12 21:21:06.981021227 -0500
33 ++++ b/mariadb_config/CMakeLists.txt 2016-02-12 22:06:02.397130410 -0500
34 +@@ -40,5 +44,5 @@
35 + # Installation
36 + #
37 + INSTALL(TARGETS mariadb_config
38 +- DESTINATION "bin"
39 ++ DESTINATION ${INSTALL_BINDIR}
40 + COMPONENT Development)
41
42 diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-3.0.3.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-3.0.3.ebuild
43 new file mode 100644
44 index 00000000000..1f264a5fc62
45 --- /dev/null
46 +++ b/dev-db/mariadb-connector-c/mariadb-connector-c-3.0.3.ebuild
47 @@ -0,0 +1,105 @@
48 +# Copyright 1999-2018 Gentoo Foundation
49 +# Distributed under the terms of the GNU General Public License v2
50 +
51 +EAPI=6
52 +
53 +VCS_INHERIT=""
54 +if [[ "${PV}" == 9999 ]] ; then
55 + VCS_INHERIT="git-r3"
56 + EGIT_REPO_URI="https://github.com/MariaDB/connector-c.git"
57 + KEYWORDS=""
58 +else
59 + MY_PN=${PN#mariadb-}
60 + MY_PV=${PV/_b/-b}
61 + SRC_URI="https://downloads.mariadb.org/f/${MY_PN}-${PV%_beta}/${PN}-${MY_PV}-src.tar.gz?serve -> ${P}-src.tar.gz"
62 + S="${WORKDIR}/${PN}-${MY_PV}-src"
63 + KEYWORDS="~amd64 ~x86"
64 +fi
65 +
66 +inherit cmake-utils multilib-minimal ${VCS_INHERIT}
67 +
68 +MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config )
69 +
70 +MULTILIB_WRAPPED_HEADERS+=(
71 + /usr/include/mariadb/mariadb_version.h
72 +)
73 +
74 +DESCRIPTION="C client library for MariaDB/MySQL"
75 +HOMEPAGE="http://mariadb.org/"
76 +LICENSE="LGPL-2.1"
77 +
78 +SLOT="0/3"
79 +IUSE="+curl gnutls kerberos libressl mysqlcompat +ssl static-libs"
80 +
81 +DEPEND="sys-libs/zlib:=[${MULTILIB_USEDEP}]
82 + virtual/libiconv:=[${MULTILIB_USEDEP}]
83 + curl? ( net-misc/curl:0=[${MULTILIB_USEDEP}] )
84 + kerberos? ( || ( app-crypt/mit-krb5[${MULTILIB_USEDEP}]
85 + app-crypt/heimdal[${MULTILIB_USEDEP}] ) )
86 + ssl? (
87 + gnutls? ( >=net-libs/gnutls-3.3.24:0=[${MULTILIB_USEDEP}] )
88 + !gnutls? (
89 + libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
90 + !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
91 + )
92 + )
93 + "
94 +RDEPEND="${DEPEND}
95 + mysqlcompat? (
96 + !dev-db/mysql[client-libs(+)]
97 + !dev-db/mysql-cluster[client-libs(+)]
98 + !dev-db/mariadb[client-libs(+)]
99 + !dev-db/mariadb-galera[client-libs(+)]
100 + !dev-db/percona-server[client-libs(+)]
101 + !dev-db/mysql-connector-c )
102 + !>=dev-db/mariadb-10.2.0[client-libs(+)]
103 + "
104 +PATCHES=(
105 + "${FILESDIR}/gentoo-layout-3.0.patch" )
106 +
107 +src_prepare() {
108 + local gpluginconf="${T}/gentoo-plugins.cmake"
109 + touch "${gpluginconf}" || die
110 + # Plugins cannot be disabled by a build switch, redefine them in our own file to be included
111 + if ! use kerberos ; then
112 + echo 'REGISTER_PLUGIN("AUTH_GSSAPI" "" "auth_gssapi_plugin" "OFF" "auth_gssapi_client" 1)' \
113 + >> "${gpluginconf}" || die
114 + fi
115 + if ! use curl ; then
116 + echo 'REGISTER_PLUGIN("REMOTEIO" "" "remote_io_plugin" "OFF" "remote_io" 1)' \
117 + >> "${gpluginconf}" || die
118 + fi
119 + cmake-utils_src_prepare
120 +}
121 +
122 +multilib_src_configure() {
123 + local mycmakeargs=(
124 + -DWITH_EXTERNAL_ZLIB=ON
125 + -DWITH_SSL:STRING=$(usex ssl $(usex gnutls GNUTLS OPENSSL) OFF)
126 + -DWITH_CURL=$(usex curl ON OFF)
127 + -DAUTH_GSSAPI_PLUGIN_TYPE:STRING=$(usex kerberos ON OFF)
128 + -DINSTALL_LIBDIR="$(get_libdir)"
129 + -DINSTALL_PLUGINDIR="$(get_libdir)/mariadb/plugin"
130 + -DINSTALL_BINDIR=bin
131 + -DPLUGIN_CONF_FILE:STRING="${T}/gentoo-plugins.cmake"
132 + )
133 + cmake-utils_src_configure
134 +}
135 +
136 +multilib_src_install() {
137 + cmake-utils_src_install
138 + if use mysqlcompat ; then
139 + dosym libmariadb.so.3 /usr/$(get_libdir)/libmysqlclient.so.19
140 + dosym libmariadb.so.3 /usr/$(get_libdir)/libmysqlclient.so
141 + fi
142 +}
143 +
144 +multilib_src_install_all() {
145 + if ! use static-libs ; then
146 + find "${D}" -name "*.a" -delete || die
147 + fi
148 + if use mysqlcompat ; then
149 + dosym mariadb_config /usr/bin/mysql_config
150 + dosym mariadb /usr/include/mysql
151 + fi
152 +}
153
154 diff --git a/dev-db/mariadb-connector-c/metadata.xml b/dev-db/mariadb-connector-c/metadata.xml
155 new file mode 100644
156 index 00000000000..9c4d844e879
157 --- /dev/null
158 +++ b/dev-db/mariadb-connector-c/metadata.xml
159 @@ -0,0 +1,11 @@
160 +<?xml version="1.0" encoding="UTF-8"?>
161 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
162 +<pkgmetadata>
163 +<maintainer type="project">
164 +<email>mysql-bugs@g.o</email>
165 +<name>MySQL</name>
166 +</maintainer>
167 +<use>
168 +<flag name="mysqlcompat">Enable mysqlclient library symbolic links</flag>
169 +</use>
170 +</pkgmetadata>