diff options
author | Wolfgang Müller <wolf@oriole.systems> | 2024-09-29 13:15:26 +0200 |
---|---|---|
committer | Eli Schwartz <eschwartz@gentoo.org> | 2024-10-06 23:23:56 -0400 |
commit | 548578455900b398c0c0832506f0d8ec0f218dee (patch) | |
tree | d1240958025eb0f0665045e93b66f3ab1fff86df /net-voip | |
parent | app-office/drawio-desktop-bin: add 24.7.17 (diff) | |
download | gentoo-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.patch | 54 | ||||
-rw-r--r-- | net-voip/murmur/murmur-1.5.634.ebuild | 5 |
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 |