diff options
Diffstat (limited to 'community/pokerth/gcrypt16.patch')
-rw-r--r-- | community/pokerth/gcrypt16.patch | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/community/pokerth/gcrypt16.patch b/community/pokerth/gcrypt16.patch new file mode 100644 index 000000000..818feda09 --- /dev/null +++ b/community/pokerth/gcrypt16.patch @@ -0,0 +1,57 @@ +From aa22d39d7753acc56813171e654fa9fa1f0ca759 Mon Sep 17 00:00:00 2001 +From: lotodore <pokerth@lotharmay.de> +Date: Thu, 19 Dec 2013 12:28:35 +0100 +Subject: [PATCH] Fix for libgcrypt 1.6.0 compile error #247 (supported only on + Linux because libgcrypt does not yet support native Windows threads). + +--- + src/net/common/socket_startup.cpp | 13 +++++++++++-- + 1 file changed, 11 insertions(+), 2 deletions(-) + +diff --git a/src/net/common/socket_startup.cpp b/src/net/common/socket_startup.cpp +index 12e8604..59ffc4f 100644 +--- a/src/net/common/socket_startup.cpp ++++ b/src/net/common/socket_startup.cpp +@@ -37,6 +37,10 @@ + + #ifndef HAVE_OPENSSL + ++// With libgcrypt 1.6.0, it is no longer supported to provide thread callbacks. ++// Use the default thread implementation instead, and cross fingers that it works with boost thread... ++#if GCRYPT_VERSION_NUMBER < 0x010600 ++ + extern "C" { + + int gcry_bthread_init() +@@ -64,12 +68,15 @@ + return 0; + } + +- struct gcry_thread_cbs gcry_threads_boost = { ++ static struct gcry_thread_cbs gcry_threads_boost = { + GCRY_THREAD_OPTION_USER, gcry_bthread_init, gcry_bmutex_init, + gcry_bmutex_destroy, gcry_bmutex_lock, gcry_bmutex_unlock, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL + }; + } ++ ++#endif // GCRYPT_VERSION_NUMBER < 0x010600 ++ + #endif // not HAVE_OPENSSL + + bool +@@ -78,8 +85,10 @@ + #ifdef HAVE_OPENSSL + return SSL_library_init() == 1; + #else +- gcry_check_version(NULL); ++#if GCRYPT_VERSION_NUMBER < 0x010600 + gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_boost); ++#endif ++ gcry_check_version(NULL); + gcry_control(GCRYCTL_ENABLE_QUICK_RANDOM, 0); + gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0); + return true; +-- +1.8.5.1 + |