commit: b440a90eeeecca2d53d4a7c4f115d9a59117cd7e
Author: Sergey Popov <pinkbyte <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 25 12:50:29 2015 +0000
Commit: Sergey Popov <pinkbyte <AT> gentoo <DOT> org>
CommitDate: Wed Nov 25 12:51:38 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b440a90e
dev-cpp/commoncpp2: fix building with libgcrypt 1.6 and higher
Reported-by: 3PO <r2d2 <AT> freakmail.de>
Gentoo-Bug: 512670
Package-Manager: portage-2.2.23
dev-cpp/commoncpp2/commoncpp2-1.8.1-r1.ebuild | 4 ++-
dev-cpp/commoncpp2/files/1.8.1-libgcrypt.patch | 48 ++++++++++++++++++++++++++
2 files changed, 51 insertions(+), 1 deletion(-)
diff --git a/dev-cpp/commoncpp2/commoncpp2-1.8.1-r1.ebuild
b/dev-cpp/commoncpp2/commoncpp2-1.8.1-r1.ebuild
index 1baba03..1fdd615 100644
--- a/dev-cpp/commoncpp2/commoncpp2-1.8.1-r1.ebuild
+++ b/dev-cpp/commoncpp2/commoncpp2-1.8.1-r1.ebuild
@@ -28,7 +28,9 @@ src_prepare() {
"${FILESDIR}/1.8.0-glibc212.patch" \
"${FILESDIR}/1.8.1-autoconf-update.patch" \
"${FILESDIR}/1.8.1-fix-buffer-overflow.patch" \
- "${FILESDIR}/1.8.1-parallel-build.patch"
+ "${FILESDIR}/1.8.1-parallel-build.patch" \
+ "${FILESDIR}/1.8.1-libgcrypt.patch"
+ epatch_user
eautoreconf
}
diff --git a/dev-cpp/commoncpp2/files/1.8.1-libgcrypt.patch
b/dev-cpp/commoncpp2/files/1.8.1-libgcrypt.patch
new file mode 100644
index 0000000..d83ff91
--- /dev/null
+++ b/dev-cpp/commoncpp2/files/1.8.1-libgcrypt.patch
@@ -0,0 +1,48 @@
+--- src/ssl.cpp.orig 2010-11-01 03:42:51.000000000 +0300
++++ src/ssl.cpp 2015-11-25 15:32:23.923057317 +0300
+@@ -99,35 +99,7 @@
+ return 0;
+ }
+
+-extern "C" {
+- static int _wrap_mutex_init(void **priv)
+- {
+- return _gcry_mutex_init((Mutex **)(priv));
+- }
+-
+- static int _wrap_mutex_destroy(void **priv)
+- {
+- return _gcry_mutex_destroy((Mutex **)(priv));
+- }
+-
+- static int _wrap_mutex_lock(void **priv)
+- {
+- return _gcry_mutex_lock((Mutex **)(priv));
+- }
+-
+- static int _wrap_mutex_unlock(void **priv)
+- {
+- return _gcry_mutex_unlock((Mutex **)(priv));
+- }
+-
+- static struct gcry_thread_cbs _gcry_threads =
+- {
+- GCRY_THREAD_OPTION_PTHREAD, NULL,
+- _wrap_mutex_init, _wrap_mutex_destroy,
+- _wrap_mutex_lock, _wrap_mutex_unlock
+- };
+-
+-};
++GCRY_THREAD_OPTION_PTHREAD_IMPL;
+
+ #endif
+
+@@ -135,7 +107,7 @@
+ public:
+ _ssl_global() {
+ #ifndef WIN32
+- gcry_control(GCRYCTL_SET_THREAD_CBS, &_gcry_threads);
++ gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
+ #endif
+ gnutls_global_init();
+ }