summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Popov <pinkbyte@gentoo.org>2015-11-25 15:50:29 +0300
committerSergey Popov <pinkbyte@gentoo.org>2015-11-25 15:51:38 +0300
commitb440a90eeeecca2d53d4a7c4f115d9a59117cd7e (patch)
tree7d654e028d5000396573d6c2d47c8bbe0aa563fb
parentapp-eselect/eselect-python: Replace python{,2,3} symlinks with files (diff)
downloadgentoo-b440a90eeeecca2d53d4a7c4f115d9a59117cd7e.tar.gz
gentoo-b440a90eeeecca2d53d4a7c4f115d9a59117cd7e.tar.bz2
gentoo-b440a90eeeecca2d53d4a7c4f115d9a59117cd7e.zip
dev-cpp/commoncpp2: fix building with libgcrypt 1.6 and higher
Reported-by: 3PO <r2d2@freakmail.de> Gentoo-Bug: 512670 Package-Manager: portage-2.2.23
-rw-r--r--dev-cpp/commoncpp2/commoncpp2-1.8.1-r1.ebuild4
-rw-r--r--dev-cpp/commoncpp2/files/1.8.1-libgcrypt.patch48
2 files changed, 51 insertions, 1 deletions
diff --git a/dev-cpp/commoncpp2/commoncpp2-1.8.1-r1.ebuild b/dev-cpp/commoncpp2/commoncpp2-1.8.1-r1.ebuild
index 1baba03cdd88..1fdd61571867 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 000000000000..d83ff9117aaf
--- /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();
+ }