summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWolfgang Müller <wolf@oriole.systems>2024-09-29 13:15:26 +0200
committerEli Schwartz <eschwartz@gentoo.org>2024-10-06 23:23:56 -0400
commit548578455900b398c0c0832506f0d8ec0f218dee (patch)
treed1240958025eb0f0665045e93b66f3ab1fff86df /net-voip
parentapp-office/drawio-desktop-bin: add 24.7.17 (diff)
downloadgentoo-548578455900b398c0c0832506f0d8ec0f218dee.tar.gz
gentoo-548578455900b398c0c0832506f0d8ec0f218dee.tar.bz2
gentoo-548578455900b398c0c0832506f0d8ec0f218dee.zip
net-voip/murmur: fix build on musl
Closes: https://bugs.gentoo.org/888960 Signed-off-by: Wolfgang Müller <wolf@oriole.systems> Closes: https://github.com/gentoo/gentoo/pull/38812 Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
Diffstat (limited to 'net-voip')
-rw-r--r--net-voip/murmur/files/murmur-1.5.634-remove-redundant-OpenSSL-locking-c.patch54
-rw-r--r--net-voip/murmur/murmur-1.5.634.ebuild5
2 files changed, 59 insertions, 0 deletions
diff --git a/net-voip/murmur/files/murmur-1.5.634-remove-redundant-OpenSSL-locking-c.patch b/net-voip/murmur/files/murmur-1.5.634-remove-redundant-OpenSSL-locking-c.patch
new file mode 100644
index 000000000000..1e8806bda2fe
--- /dev/null
+++ b/net-voip/murmur/files/murmur-1.5.634-remove-redundant-OpenSSL-locking-c.patch
@@ -0,0 +1,54 @@
+From 2be534747d2bd111e64fb163120caa6c78d04abe Mon Sep 17 00:00:00 2001
+From: Alyssa Ross <hi@alyssa.is>
+Date: Mon, 16 Sep 2024 18:16:49 +0200
+Subject: [PATCH] FIX(client, server): Remove redundant OpenSSL locking
+ callback check
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+CRYPTO_get_locking_callback() has been defined to NULL since OpenSSL
+1.1.0. This check therefore doesn't do anything in any supported
+version of OpenSSL:
+
+https://github.com/openssl/openssl/blob/abd30777cc72029e8a44e4b67201cae8ed3d19c1/include/openssl/crypto.h#L220
+
+This fixes the following compiler error that I saw with GCC 14:
+
+/build/source/src/SSL.cpp: In static member function ‘static void MumbleSSL::initialize()’:
+/build/source/src/SSL.cpp:36:14: error: converting to ‘bool’ from ‘std::nullptr_t’ requires direct-initialization [-fpermissive]
+ 36 | if (!CRYPTO_get_locking_callback()) {
+ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+(cherry picked from commit 56945a9dfb62d29dccfe561572ebf64500deaed1)
+---
+ src/SSL.cpp | 13 +------------
+ 1 file changed, 1 insertion(+), 12 deletions(-)
+
+diff --git a/src/SSL.cpp b/src/SSL.cpp
+index bb30f7e9f..72161009c 100644
+--- a/src/SSL.cpp
++++ b/src/SSL.cpp
+@@ -24,18 +24,7 @@ void MumbleSSL::initialize() {
+ SSL_library_init(); // Safe to discard return value, per OpenSSL man pages.
+ SSL_load_error_strings();
+
+- // Determine if a locking callback has not been set.
+- // This should be the case if there are multiple copies
+- // of OpensSSL in the address space. This is mostly due
+- // to Qt dynamically loading OpenSSL when it is not
+- // configured with -openssl-linked.
+- //
+- // If we detect that no locking callback is configured, we
+- // have to set it up ourselves to allow multi-threaded use
+- // of OpenSSL.
+- if (!CRYPTO_get_locking_callback()) {
+- SSLLocks::initialize();
+- }
++ SSLLocks::initialize();
+ }
+
+ void MumbleSSL::destroy() {
+--
+2.46.2
+
diff --git a/net-voip/murmur/murmur-1.5.634.ebuild b/net-voip/murmur/murmur-1.5.634.ebuild
index 2162f57c5ffd..64472a63810f 100644
--- a/net-voip/murmur/murmur-1.5.634.ebuild
+++ b/net-voip/murmur/murmur-1.5.634.ebuild
@@ -72,6 +72,11 @@ BDEPEND="
virtual/pkgconfig
"
+PATCHES=(
+ # fix build on musl, bug #888960
+ "${FILESDIR}"/murmur-1.5.634-remove-redundant-OpenSSL-locking-c.patch
+)
+
DISABLE_AUTOFORMATTING="yes"
DOC_CONTENTS="
The default 'SuperUser' password will be written into the log file