1 |
commit: 2a0e2f90800f187b1d183c4a209e2669df171b87 |
2 |
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Apr 30 20:42:37 2020 +0000 |
4 |
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Apr 30 20:44:57 2020 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2a0e2f90 |
7 |
|
8 |
dev-db/mysql-connector-c++: bump to v8.0.20 |
9 |
|
10 |
Package-Manager: Portage-2.3.99, Repoman-2.3.22 |
11 |
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org> |
12 |
|
13 |
dev-db/mysql-connector-c++/Manifest | 1 + |
14 |
...connector-c++-8.0.20-fix-libressl-support.patch | 88 ++++++++++++++++++++++ |
15 |
.../mysql-connector-c++-8.0.20.ebuild | 44 +++++++++++ |
16 |
3 files changed, 133 insertions(+) |
17 |
|
18 |
diff --git a/dev-db/mysql-connector-c++/Manifest b/dev-db/mysql-connector-c++/Manifest |
19 |
index 33a459b80f0..24ff072f74d 100644 |
20 |
--- a/dev-db/mysql-connector-c++/Manifest |
21 |
+++ b/dev-db/mysql-connector-c++/Manifest |
22 |
@@ -1,2 +1,3 @@ |
23 |
DIST mysql-connector-c++-1.1.12.tar.gz 518615 BLAKE2B 386a4753ca3f03999a49a89507da1b1172b3db89797c38403fee4eea86e7108a5e4f91f24a17de86d585c2a3d9e5742a117fa84d9b14aad649f938a597f3dae9 SHA512 d7e132dbc2efda4a77f8ae00c24006a1ade1d0a50f22d89ece453505e6d206427ee7988df29c0d6ef8b396ad6b8d326b6d263a1d4fa08ef5db0966fb4f1479f4 |
24 |
DIST mysql-connector-c++-8.0.19-src.tar.gz 3137484 BLAKE2B 82a2900b0daa00bcfd72d562818ada25fe15901991a896a46ecdd9304e03066c4e7a3804287540559df1c74dbd1b3983b450ab783ee8cb7f0d7ec152f3cdc6b0 SHA512 5987ae31cda3a5db18ceded201ccbe66263b8ab7665ceacf70af6bb6b99130377b40514b96644b0768fd809b36ee02580520923c11c1edecccc75da15d7bb0bd |
25 |
+DIST mysql-connector-c++-8.0.20-src.tar.gz 3774428 BLAKE2B a06114432ab21c36fd0b3b91df2382198b2a48871e8e0bfd8c7a94729ed0e29f33599c078c97670fe9d744b13042db52fb89de2294c75eae670a77112d11d251 SHA512 3edb7c3d4ccf218a3f76afcf83a6d233b7accd236c05105ab3f7a6610cfd8809a78c78142c82fb60fb0931d2ae0f0f8fdc3ce9caf5f0cde7ef54067a7e20270b |
26 |
|
27 |
diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.20-fix-libressl-support.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.20-fix-libressl-support.patch |
28 |
new file mode 100644 |
29 |
index 00000000000..f2ae0d02ed7 |
30 |
--- /dev/null |
31 |
+++ b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.20-fix-libressl-support.patch |
32 |
@@ -0,0 +1,88 @@ |
33 |
+--- a/cdk/cmake/DepFindSSL.cmake |
34 |
++++ b/cdk/cmake/DepFindSSL.cmake |
35 |
+@@ -88,7 +88,7 @@ function(main) |
36 |
+ |
37 |
+ set(OPENSSL_LIB_DIR "${OPENSSL_LIB_DIR}" CACHE INTERNAL "") |
38 |
+ |
39 |
+- if(NOT OPENSSL_VERSION_MAJOR EQUAL 1) |
40 |
++ if(NOT OPENSSL_VERSION_MAJOR VERSION_GREATER_EQUAL 1) |
41 |
+ message(SEND_ERROR "OpenSSL version 1.x is required but version ${OPENSSL_VERSION} was found") |
42 |
+ else() |
43 |
+ message(STATUS "Using OpenSSL version: ${OPENSSL_VERSION}") |
44 |
+@@ -184,41 +184,35 @@ function(find_openssl) |
45 |
+ |
46 |
+ |
47 |
+ # Verify version number. Version information looks like: |
48 |
+- # #define OPENSSL_VERSION_TEXT "OpenSSL 1.1.1a 20 Nov 2018" |
49 |
++ # #define OPENSSL_VERSION_NUMBER 0x1000103fL |
50 |
++ # Encoded as MNNFFPPS: major minor fix patch status |
51 |
+ |
52 |
+ FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h" |
53 |
+ OPENSSL_VERSION_NUMBER |
54 |
+- REGEX "#[ ]*define[\t ]+OPENSSL_VERSION_TEXT" |
55 |
++ REGEX "^#[ ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*" |
56 |
+ ) |
57 |
+ |
58 |
+- #message("== OPENSSL_VERSION_NUMBER: ${OPENSSL_VERSION_NUMBER}") |
59 |
+- # define OPENSSL_VERSION_TEXT "OpenSSL 1.1.1d-freebsd 10 Sep 2019" |
60 |
+ STRING(REGEX REPLACE |
61 |
+- "^.*OPENSSL_VERSION_TEXT[\t ]+\"OpenSSL[\t ]([0-9]+)\\.([0-9]+)\\.([0-9]+)([a-z]|)[\t \\-].*$" |
62 |
+- "\\1;\\2;\\3;\\4" |
63 |
+- version_list "${OPENSSL_VERSION_NUMBER}" |
64 |
++ "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9]).*$" "\\1" |
65 |
++ OPENSSL_VERSION_MAJOR "${OPENSSL_VERSION_NUMBER}" |
66 |
++ ) |
67 |
++ STRING(REGEX REPLACE |
68 |
++ "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9]([0-9][0-9]).*$" "\\1" |
69 |
++ OPENSSL_VERSION_MINOR "${OPENSSL_VERSION_NUMBER}" |
70 |
++ ) |
71 |
++ STRING(REGEX REPLACE |
72 |
++ "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9][0-9][0-9]([0-9][0-9]).*$" "\\1" |
73 |
++ OPENSSL_VERSION_FIX "${OPENSSL_VERSION_NUMBER}" |
74 |
+ ) |
75 |
+- #message("-- OPENSSL_VERSION: ${version_list}") |
76 |
+- |
77 |
+- list(GET version_list 0 OPENSSL_VERSION_MAJOR) |
78 |
+- math(EXPR OPENSSL_VERSION_MAJOR ${OPENSSL_VERSION_MAJOR}) |
79 |
+- |
80 |
+- list(GET version_list 1 OPENSSL_VERSION_MINOR) |
81 |
+- math(EXPR OPENSSL_VERSION_MINOR ${OPENSSL_VERSION_MINOR}) |
82 |
+- |
83 |
+- list(GET version_list 2 OPENSSL_VERSION_FIX) |
84 |
+- math(EXPR OPENSSL_VERSION_FIX ${OPENSSL_VERSION_FIX}) |
85 |
+- |
86 |
+- list(GET version_list 3 OPENSSL_VERSION_PATCH) |
87 |
+- |
88 |
+ |
89 |
+ |
90 |
+ set(OPENSSL_VERSION |
91 |
+- "${OPENSSL_VERSION_MAJOR}.${OPENSSL_VERSION_MINOR}.${OPENSSL_VERSION_FIX}${OPENSSL_VERSION_PATCH}" |
92 |
++ "${OPENSSL_VERSION_MAJOR}.${OPENSSL_VERSION_MINOR}.${OPENSSL_VERSION_FIX}" |
93 |
+ PARENT_SCOPE |
94 |
+ ) |
95 |
+ set(OPENSSL_VERSION_MAJOR ${OPENSSL_VERSION_MAJOR} PARENT_SCOPE) |
96 |
+ |
97 |
++ CHECK_SYMBOL_EXISTS(TLS1_3_VERSION "openssl/tls1.h" HAVE_TLS1_3_VERSION) |
98 |
+ |
99 |
+ find_library(OPENSSL_LIBRARY |
100 |
+ NAMES ssl ssleay32 ssleay32MD libssl |
101 |
+--- a/cdk/foundation/connection_openssl.cc |
102 |
++++ b/cdk/foundation/connection_openssl.cc |
103 |
+@@ -211,7 +211,7 @@ static void throw_ssl_error(SSL* tls, int err) |
104 |
+ case SSL_ERROR_WANT_CONNECT: |
105 |
+ case SSL_ERROR_WANT_ACCEPT: |
106 |
+ case SSL_ERROR_WANT_X509_LOOKUP: |
107 |
+-# if OPENSSL_VERSION_NUMBER >= 0x10100000L |
108 |
++# if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) |
109 |
+ case SSL_ERROR_WANT_ASYNC: |
110 |
+ case SSL_ERROR_WANT_ASYNC_JOB: |
111 |
+ # endif |
112 |
+@@ -387,7 +387,7 @@ void TLS_helper::setup(SSL_CTX *ctx) |
113 |
+ |
114 |
+ SSL_CTX_set_cipher_list(ctx, m_cipher_list.c_str()); |
115 |
+ |
116 |
+-#if OPENSSL_VERSION_NUMBER>=0x1010100fL |
117 |
++#if HAVE_TLS1_3_VERSION |
118 |
+ |
119 |
+ /* |
120 |
+ Note: If TLSv1.3 is not enabled, there is no need to restrict |
121 |
|
122 |
diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.20.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.20.ebuild |
123 |
new file mode 100644 |
124 |
index 00000000000..fcacc48a054 |
125 |
--- /dev/null |
126 |
+++ b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.20.ebuild |
127 |
@@ -0,0 +1,44 @@ |
128 |
+# Copyright 1999-2020 Gentoo Authors |
129 |
+# Distributed under the terms of the GNU General Public License v2 |
130 |
+ |
131 |
+EAPI="7" |
132 |
+ |
133 |
+CMAKE_MAKEFILE_GENERATOR=emake |
134 |
+inherit cmake-utils |
135 |
+ |
136 |
+DESCRIPTION="MySQL database connector for C++ (mimics JDBC 4.0 API)" |
137 |
+HOMEPAGE="https://dev.mysql.com/downloads/connector/cpp/" |
138 |
+URI_DIR="Connector-C++" |
139 |
+SRC_URI="https://dev.mysql.com/get/Downloads/${URI_DIR}/${P}-src.tar.gz" |
140 |
+ |
141 |
+LICENSE="Artistic GPL-2" |
142 |
+SLOT="0" |
143 |
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86" |
144 |
+IUSE="+legacy libressl" |
145 |
+ |
146 |
+RDEPEND=" |
147 |
+ dev-libs/protobuf:= |
148 |
+ legacy? ( |
149 |
+ dev-libs/boost:= |
150 |
+ >=dev-db/mysql-connector-c-6.1.8:= |
151 |
+ ) |
152 |
+ !libressl? ( dev-libs/openssl:0= ) |
153 |
+ libressl? ( dev-libs/libressl:0= )" |
154 |
+DEPEND="${RDEPEND}" |
155 |
+S="${WORKDIR}/${P}-src" |
156 |
+ |
157 |
+PATCHES=( |
158 |
+ "${FILESDIR}"/${PN}-8.0.19-fix-build.patch |
159 |
+ "${FILESDIR}"/${PN}-8.0.20-fix-libressl-support.patch |
160 |
+) |
161 |
+ |
162 |
+src_configure() { |
163 |
+ local mycmakeargs=( |
164 |
+ -DWITH_SSL=system |
165 |
+ -DWITH_JDBC=$(usex legacy ON OFF) |
166 |
+ $(usex legacy '-DMYSQLCLIENT_STATIC_BINDING=0' '') |
167 |
+ $(usex legacy '-DMYSQLCLIENT_STATIC_LINKING=0' '') |
168 |
+ ) |
169 |
+ |
170 |
+ cmake-utils_src_configure |
171 |
+} |