From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id BC175159C9B for ; Tue, 30 Jul 2024 18:39:40 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id EDAA42BC02A; Tue, 30 Jul 2024 18:39:39 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 8EAF22BC02A for ; Tue, 30 Jul 2024 18:39:39 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id A417433DF47 for ; Tue, 30 Jul 2024 18:39:38 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 3FA9911B6 for ; Tue, 30 Jul 2024 18:39:37 +0000 (UTC) From: "Thomas Beierlein" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Thomas Beierlein" Message-ID: <1722364735.0cee8c7c5aa3d1f90cde14d40fb927966a3c31e7.tomjbe@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: media-radio/svxlink/files/, media-radio/svxlink/ X-VCS-Repository: repo/gentoo X-VCS-Files: media-radio/svxlink/files/svxlink-24.02-musl.patch media-radio/svxlink/svxlink-24.02-r1.ebuild media-radio/svxlink/svxlink-24.02-r2.ebuild X-VCS-Directories: media-radio/svxlink/ media-radio/svxlink/files/ X-VCS-Committer: tomjbe X-VCS-Committer-Name: Thomas Beierlein X-VCS-Revision: 0cee8c7c5aa3d1f90cde14d40fb927966a3c31e7 X-VCS-Branch: master Date: Tue, 30 Jul 2024 18:39:37 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: e52454b0-fc5f-4d82-8d11-66b415be7ae9 X-Archives-Hash: 0f3329bf84fd9fddf67ea889b77c18ca commit: 0cee8c7c5aa3d1f90cde14d40fb927966a3c31e7 Author: Thomas Beierlein gentoo org> AuthorDate: Tue Jul 30 16:03:43 2024 +0000 Commit: Thomas Beierlein gentoo org> CommitDate: Tue Jul 30 18:38:55 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0cee8c7c media-radio/svxlink: Fix MUSL related bugs - MUSL does not provide the res_nxxx() functions like Glibc. The original res_xxx() functions are implement stateless in MUSL and must be used instead. - Fix some missing includes Closes: https://bugs.gentoo.org/936813 Signed-off-by: Thomas Beierlein gentoo.org> media-radio/svxlink/files/svxlink-24.02-musl.patch | 81 ++++++++++++++++++++++ ...ink-24.02-r1.ebuild => svxlink-24.02-r2.ebuild} | 4 ++ 2 files changed, 85 insertions(+) diff --git a/media-radio/svxlink/files/svxlink-24.02-musl.patch b/media-radio/svxlink/files/svxlink-24.02-musl.patch new file mode 100644 index 000000000000..20eb97f85716 --- /dev/null +++ b/media-radio/svxlink/files/svxlink-24.02-musl.patch @@ -0,0 +1,81 @@ +diff --git a/src/async/audio/AsyncAudioContainerPcm.h b/src/async/audio/AsyncAudioContainerPcm.h +index 5ce66dd..a38bd9f 100644 +# add forgotten include +--- a/src/async/audio/AsyncAudioContainerPcm.h ++++ b/src/async/audio/AsyncAudioContainerPcm.h +@@ -40,7 +40,6 @@ An example of how to use the Async::AudioContainer class + + #include + +- + /**************************************************************************** + * + * Project Includes +@@ -48,7 +47,7 @@ An example of how to use the Async::AudioContainer class + ****************************************************************************/ + + #include +- ++#include + + /**************************************************************************** + * +diff --git a/src/async/core/AsyncAtTimer.h b/src/async/core/AsyncAtTimer.h +index 7aa593b..5404a47 100644 +# timeval is defined in <sys/tims.h> +--- a/src/async/core/AsyncAtTimer.h ++++ b/src/async/core/AsyncAtTimer.h +@@ -43,7 +43,7 @@ An example of how to use the AsyncAtTimer class + * + ****************************************************************************/ + +-#include ++#include + #include + + +diff --git a/src/async/cpp/AsyncCppDnsLookupWorker.cpp b/src/async/cpp/AsyncCppDnsLookupWorker.cpp +index f2e39b0..df73eb9 100644 +# res_xx functions are stateless in MUSL, so no res_nxxx is needed +# furthermore no res_close exists +--- a/src/async/cpp/AsyncCppDnsLookupWorker.cpp ++++ b/src/async/cpp/AsyncCppDnsLookupWorker.cpp +@@ -306,12 +306,12 @@ void CppDnsLookupWorker::workerFunc(CppDnsLookupWorker::ThreadContext& ctx) + if (qtype != 0) + { + struct __res_state state; +- int ret = res_ninit(&state); ++ int ret = res_init(); + if (ret != -1) + { + state.options = RES_DEFAULT; + const char *dname = ctx.label.c_str(); +- ctx.anslen = res_nsearch(&state, dname, ns_c_in, qtype, ++ ctx.anslen = res_search(dname, ns_c_in, qtype, + ctx.answer, sizeof(ctx.answer)); + if (ctx.anslen == -1) + { +@@ -324,7 +324,7 @@ void CppDnsLookupWorker::workerFunc(CppDnsLookupWorker::ThreadContext& ctx) + // does not grow with every failed lookup. But even so, it seems + // that res_close is not cleaning up properly. + // Glibc 2.33-18 on Fedora 34. +- res_nclose(&state); ++ + } + else + { +@@ -538,12 +538,10 @@ void CppDnsLookupWorker::printErrno(const std::string& msg) + { + char errbuf[1024]; + char* errmsg = errbuf; +-#if (_POSIX_C_SOURCE >= 200112L) && ! _GNU_SOURCE ++ + int ret = strerror_r(errno, errbuf, sizeof(errbuf)); + assert(ret == 0); +-#else +- errmsg = strerror_r(errno, errbuf, sizeof(errbuf)); +-#endif ++ + std::cerr << "*** " << msg << ": " << errmsg << std::endl; + } /* CppDnsLookupWorker::printErrno */ + diff --git a/media-radio/svxlink/svxlink-24.02-r1.ebuild b/media-radio/svxlink/svxlink-24.02-r2.ebuild similarity index 94% rename from media-radio/svxlink/svxlink-24.02-r1.ebuild rename to media-radio/svxlink/svxlink-24.02-r2.ebuild index b14c2baaa36a..2d5062de0b33 100644 --- a/media-radio/svxlink/svxlink-24.02-r1.ebuild +++ b/media-radio/svxlink/svxlink-24.02-r2.ebuild @@ -39,6 +39,10 @@ BDEPEND=" virtual/pkgconfig" src_prepare() { + # fix build for MUSL (bug #936813) + if use elibc_musl ; then + eapply -p1 "${FILESDIR}/$P-musl.patch" + fi cmake_src_prepare # drop deprecated desktop category (bug #475730) sed -i -e "s:Categories=Application;:Categories=:g" src/qtel/qtel.desktop || die