Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-db/mysql-connector-c/
Date: Mon, 31 Oct 2022 01:43:20
Message-Id: 1667180546.f446290f4d6099cea6adf92ba85886098fbc584d.sam@gentoo
1 commit: f446290f4d6099cea6adf92ba85886098fbc584d
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Mon Oct 31 01:42:08 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Mon Oct 31 01:42:26 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f446290f
7
8 dev-db/mysql-connector-c: add 8.0.31
9
10 Signed-off-by: Sam James <sam <AT> gentoo.org>
11
12 dev-db/mysql-connector-c/Manifest | 1 +
13 .../mysql-connector-c-8.0.31.ebuild | 121 +++++++++++++++++++++
14 2 files changed, 122 insertions(+)
15
16 diff --git a/dev-db/mysql-connector-c/Manifest b/dev-db/mysql-connector-c/Manifest
17 index c567c6cfb162..13dd09c3ab5a 100644
18 --- a/dev-db/mysql-connector-c/Manifest
19 +++ b/dev-db/mysql-connector-c/Manifest
20 @@ -1 +1,2 @@
21 DIST mysql-boost-8.0.27.tar.gz 292184025 BLAKE2B 177209f3c62b0326ca9d021c751a701dec84c1b15c946ab0a68b1b4cf0620468eb3a1df77a918284007a0fde1aaa6a9767d0baed57936612813ef583df51c35e SHA512 6ef2426c0bee46bdf8e2fa5cb159d5ae19f0bed4f7c9bea9b33e0dd922b568c3c68ca063dcbcd7ea6904aaea31877c10064ea10b4bc63fb40d9f31778e3a7891
22 +DIST mysql-boost-8.0.31.tar.gz 334504577 BLAKE2B 0506472c732351a1055be9bbd81212e95280ae464af95cb5b579777dd8fad4634b099fa2830c3095066daf8c586f1d8cd2316e7268fb0d2577dd706c595c9102 SHA512 87b1678de8c2fd640fd6f3ae58266ea63fe240578330e3296d0e5fc209bbe9b0c22996214b6ca4cce8c0d9cc2f9897f4e6723d835b33fc4342983c82929c3d96
23
24 diff --git a/dev-db/mysql-connector-c/mysql-connector-c-8.0.31.ebuild b/dev-db/mysql-connector-c/mysql-connector-c-8.0.31.ebuild
25 new file mode 100644
26 index 000000000000..fd1796f00878
27 --- /dev/null
28 +++ b/dev-db/mysql-connector-c/mysql-connector-c-8.0.31.ebuild
29 @@ -0,0 +1,121 @@
30 +# Copyright 1999-2022 Gentoo Authors
31 +# Distributed under the terms of the GNU General Public License v2
32 +
33 +EAPI=7
34 +
35 +inherit cmake-multilib flag-o-matic
36 +
37 +# wrap the config script
38 +MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
39 +
40 +DESCRIPTION="C client library for MariaDB/MySQL"
41 +HOMEPAGE="https://dev.mysql.com/downloads/"
42 +
43 +if [[ ${PV} == "9999" ]]; then
44 + EGIT_REPO_URI="https://github.com/mysql/mysql-server.git"
45 +
46 + inherit git-r3
47 +else
48 + SRC_URI="https://dev.mysql.com/get/Downloads/MySQL-$(ver_cut 1-2)/mysql-boost-${PV}.tar.gz"
49 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
50 +
51 + S="${WORKDIR}/mysql-${PV}"
52 +fi
53 +
54 +LICENSE="GPL-2"
55 +SLOT="0/21"
56 +IUSE="ldap static-libs"
57 +
58 +RDEPEND="
59 + >=app-arch/lz4-0_p131:=[${MULTILIB_USEDEP}]
60 + app-arch/zstd:=[${MULTILIB_USEDEP}]
61 + sys-libs/zlib:=[${MULTILIB_USEDEP}]
62 + ldap? ( dev-libs/cyrus-sasl:=[${MULTILIB_USEDEP}] )
63 + dev-libs/openssl:0=[${MULTILIB_USEDEP}]
64 +"
65 +DEPEND="${RDEPEND}"
66 +
67 +# Avoid file collisions, #692580
68 +RDEPEND+=" !<dev-db/mysql-5.6.45-r1"
69 +RDEPEND+=" !=dev-db/mysql-5.7.23*"
70 +RDEPEND+=" !=dev-db/mysql-5.7.24*"
71 +RDEPEND+=" !=dev-db/mysql-5.7.25*"
72 +RDEPEND+=" !=dev-db/mysql-5.7.26-r0"
73 +RDEPEND+=" !=dev-db/mysql-5.7.27-r0"
74 +RDEPEND+=" !<dev-db/percona-server-5.7.26.29-r1"
75 +
76 +DOCS=( README )
77 +
78 +PATCHES=(
79 + "${FILESDIR}"/${PN}-8.0.22-always-build-decompress-utilities.patch
80 + "${FILESDIR}"/${PN}-8.0.19-do-not-install-comp_err.patch
81 + "${FILESDIR}"/${PN}-8.0.27-res_n.patch
82 +)
83 +
84 +src_prepare() {
85 + sed -i -e 's/CLIENT_LIBS/CONFIG_CLIENT_LIBS/' "scripts/CMakeLists.txt" || die
86 +
87 + # All these are for the server only.
88 + # Disable rpm call which would trigger sandbox, #692368
89 + sed -i \
90 + -e '/MYSQL_CHECK_LIBEVENT/d' \
91 + -e '/MYSQL_CHECK_RAPIDJSON/d' \
92 + -e '/MYSQL_CHECK_ICU/d' \
93 + -e '/MYSQL_CHECK_EDITLINE/d' \
94 + -e '/MYSQL_CHECK_CURL/d' \
95 + -e '/ADD_SUBDIRECTORY(man)/d' \
96 + -e '/ADD_SUBDIRECTORY(share)/d' \
97 + -e '/INCLUDE(cmake\/boost/d' \
98 + -e 's/MY_RPM rpm/MY_RPM rpmNOTEXISTENT/' \
99 + CMakeLists.txt || die
100 +
101 + # Skip building clients
102 + echo > client/CMakeLists.txt || die
103 +
104 + # Forcefully disable auth plugin
105 + if ! use ldap ; then
106 + sed -i -e '/MYSQL_CHECK_SASL/d' CMakeLists.txt || die
107 + echo > libmysql/authentication_ldap/CMakeLists.txt || die
108 + fi
109 +
110 + cmake_src_prepare
111 +}
112 +
113 +multilib_src_configure() {
114 + CMAKE_BUILD_TYPE="RelWithDebInfo"
115 +
116 + # Code is now requiring C++17 due to https://github.com/mysql/mysql-server/commit/236ab55bedd8c9eacd80766d85edde2a8afacd08
117 + append-cxxflags -std=c++17
118 +
119 + local mycmakeargs=(
120 + -DCMAKE_C_FLAGS_RELWITHDEBINFO=-DNDEBUG
121 + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=-DNDEBUG
122 + -DINSTALL_LAYOUT=RPM
123 + -DINSTALL_LIBDIR=$(get_libdir)
124 + -DWITH_DEFAULT_COMPILER_OPTIONS=OFF
125 + -DENABLED_LOCAL_INFILE=ON
126 + -DMYSQL_UNIX_ADDR="${EPREFIX}/run/mysqld/mysqld.sock"
127 + -DWITH_LZ4=system
128 + -DWITH_NUMA=OFF
129 + -DWITH_SSL=system
130 + -DWITH_ZLIB=system
131 + -DWITH_ZSTD=system
132 + -DLIBMYSQL_OS_OUTPUT_NAME=mysqlclient
133 + -DSHARED_LIB_PATCH_VERSION="0"
134 + -DCMAKE_POSITION_INDEPENDENT_CODE=ON
135 + -DWITHOUT_SERVER=ON
136 + )
137 +
138 + cmake_src_configure
139 +}
140 +
141 +multilib_src_install_all() {
142 + doman \
143 + man/my_print_defaults.1 \
144 + man/perror.1 \
145 + man/zlib_decompress.1
146 +
147 + if ! use static-libs ; then
148 + find "${ED}" -name "*.a" -delete || die
149 + fi
150 +}