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/mysql-connector-c/files/, dev-db/mysql-connector-c/
Date: Tue, 21 Nov 2017 19:34:36
Message-Id: 1511292854.e8c5b876c36e2dd221aa26edd577c296fbef39f8.grknight@gentoo
1 commit: e8c5b876c36e2dd221aa26edd577c296fbef39f8
2 Author: Brian Evans <grknight <AT> gentoo <DOT> org>
3 AuthorDate: Tue Nov 21 18:48:25 2017 +0000
4 Commit: Brian Evans <grknight <AT> gentoo <DOT> org>
5 CommitDate: Tue Nov 21 19:34:14 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e8c5b876
7
8 dev-db/mysql-connector-c: Version bump and fix gcc 7 build
9
10 Closes: https://bugs.gentoo.org/638360
11 Package-Manager: Portage-2.3.15, Repoman-2.3.6
12
13 dev-db/mysql-connector-c/Manifest | 1 +
14 .../files/20028_all_mysql-5.6-gcc7.patch | 13 ++++
15 .../mysql-connector-c-6.1.11.ebuild | 82 ++++++++++++++++++++++
16 3 files changed, 96 insertions(+)
17
18 diff --git a/dev-db/mysql-connector-c/Manifest b/dev-db/mysql-connector-c/Manifest
19 index 08b0e7b13d5..6a895e6d895 100644
20 --- a/dev-db/mysql-connector-c/Manifest
21 +++ b/dev-db/mysql-connector-c/Manifest
22 @@ -1,3 +1,4 @@
23 +DIST mysql-connector-c-6.1.11-src.tar.gz 3489345 BLAKE2B 813512520ef660521221565a4466e81d902629d0ee731f746b68eed2b9129ea8361fcabe184537ec8ba91aed5a4b02dfb3450b36524c2e98f81fba148eee0cf1 SHA512 271395c888a93b833e0bbe1840b9987ecdb37d0f1cf89904207cc9aa99ed32e538aee8c9529ff39b6533947159776a8f5aa079da86ed51b1d26b086f4ffdd7c6
24 DIST mysql-connector-c-6.1.5-src.tar.gz 3455028 SHA256 278f2b40f3980079bc7ad247cb2bf08967ce56ef79da468ae26ff2e2a560be66 SHA512 be47ed70865744ff9ecb9376972208504327514f03635e54c05e81d324bcf9ba777300a12738d8ca32b95c9c31d734dc9f6ebb7bb24fd11821560a6b0f09bb56 WHIRLPOOL bfdd17908cae63ef5b5006bdf28432bb12738044fe99960fdddab6da527ab41211a48396270a778ce500c5758c2f5d50c1fd850a92c684996612ab7c38637c61
25 DIST mysql-connector-c-6.1.6-src.tar.gz 3475044 SHA256 2222433012c415871958b61bc4f3683e1ebe77e3389f698b267058c12533ea78 SHA512 2a3db4aec5b8e5357fa407d6e2b52534f7aa9c0b78c4ebe9a61e2e25dc5f7dc1f1962f6e6fd847107ce53ca369e0babe7118b947a87189495212596348cfd760 WHIRLPOOL 6a0a55a47a88606c12511f9fd155bafcf5d73b1ffa2c4877b838bca018f4a8a8f4427ac6af6e4c567eced7e1108dba4a613255f813ab481e8ea948b3a6cdff33
26 DIST mysql-connector-c-6.1.9-src.tar.gz 3494748 SHA256 4e808704443365ad5b649673d03eca8fbebc0a4da9f1f96616c6bd1b1901ab2b SHA512 3127d08428e820044e25ab5ebb741a128325be6ca0fca0300cab33891693e11e57d4ded5a25918a67d23cceb8a2c6ee99879ffb50c31bc4c2e225a9dba9674dc WHIRLPOOL 7f0cb1fa7bb0f77447f4884b567e7881d8d9c1dda2e27250838fe8a51ac4ddcb8f7aa683fe11a3f7f9545f90918b15fe9e033da138c86e5bd4f360164ebaeb2e
27
28 diff --git a/dev-db/mysql-connector-c/files/20028_all_mysql-5.6-gcc7.patch b/dev-db/mysql-connector-c/files/20028_all_mysql-5.6-gcc7.patch
29 new file mode 100644
30 index 00000000000..cf8caedb7f1
31 --- /dev/null
32 +++ b/dev-db/mysql-connector-c/files/20028_all_mysql-5.6-gcc7.patch
33 @@ -0,0 +1,13 @@
34 +diff --git a/sql-common/client_authentication.cc b/sql-common/client_authentication.cc
35 +index eaeb2d4..035ecd2 100644
36 +--- a/sql-common/client_authentication.cc
37 ++++ b/sql-common/client_authentication.cc
38 +@@ -84,7 +84,7 @@ RSA *rsa_init(MYSQL *mysql)
39 +
40 + if (mysql->options.extension != NULL &&
41 + mysql->options.extension->server_public_key_path != NULL &&
42 +- mysql->options.extension->server_public_key_path != '\0')
43 ++ mysql->options.extension->server_public_key_path[0] != '\0')
44 + {
45 + pub_key_file= fopen(mysql->options.extension->server_public_key_path,
46 + "r");
47
48 diff --git a/dev-db/mysql-connector-c/mysql-connector-c-6.1.11.ebuild b/dev-db/mysql-connector-c/mysql-connector-c-6.1.11.ebuild
49 new file mode 100644
50 index 00000000000..c4494ba6484
51 --- /dev/null
52 +++ b/dev-db/mysql-connector-c/mysql-connector-c-6.1.11.ebuild
53 @@ -0,0 +1,82 @@
54 +# Copyright 1999-2017 Gentoo Foundation
55 +# Distributed under the terms of the GNU General Public License v2
56 +
57 +EAPI=6
58 +
59 +inherit cmake-multilib
60 +
61 +MULTILIB_WRAPPED_HEADERS+=(
62 + /usr/include/mysql/my_config.h
63 +)
64 +
65 +# wrap the config script
66 +MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
67 +
68 +DESCRIPTION="C client library for MariaDB/MySQL"
69 +HOMEPAGE="https://dev.mysql.com/downloads/connector/c/"
70 +LICENSE="GPL-2"
71 +
72 +SRC_URI="https://dev.mysql.com/get/Downloads/Connector-C/${P}-src.tar.gz"
73 +S="${WORKDIR}/${P}-src"
74 +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc64 ~x86"
75 +
76 +SUBSLOT="18"
77 +SLOT="0/${SUBSLOT}"
78 +IUSE="+ssl static-libs"
79 +
80 +CDEPEND="
81 + sys-libs/zlib:=[${MULTILIB_USEDEP}]
82 + ssl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
83 + "
84 +RDEPEND="${CDEPEND}
85 + !dev-db/mysql[client-libs(+)]
86 + !dev-db/mysql-cluster[client-libs(+)]
87 + !dev-db/mariadb[client-libs(+)]
88 + !dev-db/mariadb-connector-c[mysqlcompat]
89 + !dev-db/mariadb-galera[client-libs(+)]
90 + !dev-db/percona-server[client-libs(+)]
91 + "
92 +DEPEND="${CDEPEND}"
93 +
94 +DOCS=( README )
95 +PATCHES=(
96 + "${FILESDIR}/mysql_com.patch"
97 + "${FILESDIR}/20028_all_mysql-5.6-gcc7.patch"
98 +)
99 +
100 +src_prepare() {
101 + sed -i -e 's/CLIENT_LIBS/CONFIG_CLIENT_LIBS/' "${S}/scripts/CMakeLists.txt" || die
102 + cmake-utils_src_prepare
103 +}
104 +
105 +multilib_src_configure() {
106 + mycmakeargs+=(
107 + -DINSTALL_LAYOUT=RPM
108 + -DINSTALL_LIBDIR=$(get_libdir)
109 + -DWITH_DEFAULT_COMPILER_OPTIONS=OFF
110 + -DWITH_DEFAULT_FEATURE_SET=OFF
111 + -DENABLED_LOCAL_INFILE=ON
112 + -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
113 + -DWITH_ZLIB=system
114 + -DENABLE_DTRACE=OFF
115 + -DWITH_SSL=$(usex ssl system bundled)
116 + -DLIBMYSQL_OS_OUTPUT_NAME=mysqlclient
117 + -DSHARED_LIB_PATCH_VERSION="0"
118 + )
119 + cmake-utils_src_configure
120 +}
121 +
122 +multilib_src_install_all() {
123 + if ! use static-libs ; then
124 + find "${ED}" -name "*.a" -delete || die
125 + fi
126 +}
127 +
128 +pkg_preinst() {
129 + if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then
130 + elog "Due to ABI changes when switching between different client libraries,"
131 + elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
132 + elog "Please run: revdep-rebuild --library libmysqlclient.so.${SUBSLOT}"
133 + ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
134 + fi
135 +}