summaryrefslogtreecommitdiff
path: root/media-radio/svxlink
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-08-07 12:37:21 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-08-07 12:37:21 +0100
commitb8c7370a682e4e29cda623222d17a790c01c3642 (patch)
treef6caa14689bd00a5760eadaa381ff41e50ef3c1b /media-radio/svxlink
parent8a4997a7e2d1e36c089d4d76935b5a902d98d3d0 (diff)
gentoo auto-resync : 07:08:2024 - 12:37:20
Diffstat (limited to 'media-radio/svxlink')
-rw-r--r--media-radio/svxlink/Manifest5
-rw-r--r--media-radio/svxlink/files/svxlink-24.02-musl.patch81
-rw-r--r--media-radio/svxlink/metadata.xml4
-rw-r--r--media-radio/svxlink/svxlink-24.02-r2.ebuild (renamed from media-radio/svxlink/svxlink-24.02.ebuild)44
4 files changed, 122 insertions, 12 deletions
diff --git a/media-radio/svxlink/Manifest b/media-radio/svxlink/Manifest
index 0861a72476c9..dd9834cd5664 100644
--- a/media-radio/svxlink/Manifest
+++ b/media-radio/svxlink/Manifest
@@ -1,11 +1,12 @@
AUX remotetrx.init 786 BLAKE2B ec1183abfa81ee2e309bf91476623f8030a997f9a17ce8ba37a523fb30fb424972759d8aa81bfd776d7d53222ce6594739231db827248b0cf27876c9267f28d4 SHA512 66222df5ee57a28b5f857ee1209efa3e9af270be3f38ef763ec757b55ef58bd831f18e4704f6dd5554435522a24982ce59c8e70e013e2098b16b997495fb2d05
AUX remotetrx.rc 578 BLAKE2B 1f80f1c09aa77fc11a004a40a0a878f2b0b2f2c7d0dc2a70510e58442d7557b9424807cc1168a806e5348c314d1fb5c5afc562f3ae9a82daf470d5b07b412c5e SHA512 759adaa668f5f0315dd9d710d3ed738b4a0e042a7d12541862c2a311073d25573195336416b3940aaa89443242ce34abf7994c902603cd2640d08291037f465f
AUX remotetrx.service 725 BLAKE2B ecc70328d89dc6ab1e96cea7160e532847263d9307ceedb53faa6548d4215dc0c34f3aceaffc04192f4b7f199ea584672345436b4719d8afecd24be910893ca3 SHA512 28ce7d82aebfa074fafdee3bd59b411acbdf469e12c0fd06d16f9738168539d1dd0d293e380ad47b0266b809a15dab8504688f52f03efaaa7fda1338603dd287
+AUX svxlink-24.02-musl.patch 2839 BLAKE2B 52a1209e0455992451e5ca98de6e6f405bdc1da3e3d3230e25ce88e15ade07c4fdf8704aaa7a95adc326d5573544a291ae64754b5cb8f6175896b6eb311af9e6 SHA512 ea9390206e449a866b006f2d3dae9d39cfa5200f21aef43d1be86c5cbcc3680478139c91af357582f63f86fe99137cafe63d69d5e458ff773890351797f34385
AUX svxlink.init 782 BLAKE2B 536435d70a3a5afbcf533ce39cc1b8bc0de5320ac57728a4ef7e7ed6aa3a702afb52c2b8e986c270c628b28b893a0a4058941addc6c29362c62bd6766ed69365 SHA512 ad3f8c2310a346bc34eeecf541cef87a5eb24649060695d8b510de3f08de1c0cdb4cccac229dc53ab1bf5bc6386aa7b191a6df3a1546a5ddcdfdc146b9f16b51
AUX svxlink.rc 568 BLAKE2B 7e0fa55b6d7d099778f2b20cf3b85b54a943460ade694bdf75159945f0be671eefefbffdfceaf28b092dcd4078970f88194d63311f3cea9cfb38922d83e9f1de SHA512 96e95116c031e3e5f21d1239362736c093c3e5c32adcb4eef1fa667c89a08d62cdb82640a246cf11b9fddc62544f98a660f626e91c67dd7a0d608904b8ddf6dd
AUX svxlink.service 690 BLAKE2B 7f62518556c7c0fd0a4e759031520181f5a9a61a4d5ebcf874e60e8cd400327feee0306011ab8c88b17b8a5b666cc0fda90244b7a9e5ad9734ec629e0bf3d2f3 SHA512 2879820eaa64bc574e1a2c57492ba429cb4b5748b56132fac8922727a8924197b719075c39a6ab0ffcb698b3cf4b5eb889f19c2aac0a9d143f0aef6de778b225
DIST svxlink-19.09.2.tar.gz 1730836 BLAKE2B 7fe8a1b018dba7837486dbed21242d8514a1f546b5eecbd2d2bfdf620d7e093cddbedab17f19d5f2cbd79c9a66825713c45a981335f0b526ba0946e764efc535 SHA512 f3c8b29953da3b2f61eba528a07152f40a2aca2efe511cb98637b1ef77fa676e506a3f4766edb81069f13333ddbae2d39f679874455b05286d3daf96a903e1c1
DIST svxlink-24.02.tar.gz 1974323 BLAKE2B ca743d8356bdcde85bc560015ffa51f97f8fa1bcbbe6972f1789b68dbda33210cc2194f950b0ead57272963de67244bb57a6cbb546e3091215d288cdb6a16c2a SHA512 7bd8d9bf272922ec5d4b134ca1d5ee9cb1f9713c5cb9985aed5f63e601425bb6b6a17de026095c9cbb83797cf58228bcf05284c5a87384b4d019f6c27ac3e848
EBUILD svxlink-19.09.2.ebuild 1784 BLAKE2B d638f02362366921150f97b6d7b2643eee8f2fff96d55fa17cf8d090b3245e4b1dc4b1c24fe6c3fc413ced2807453bd567d24798c03d5d76732f4c233f441862 SHA512 e178a15514d14448e8454d744efc2600292195937b140aab35c53b94f71fb8e45406d885052a7a68d8d6864a20b50651290c67a0c752e90ffbfc659954d24e6a
-EBUILD svxlink-24.02.ebuild 1836 BLAKE2B 1616673a246a9831ac8df28089f8779898c25b495e0f38f046cf52f15263a10172957967a1d2e0d2f219a2c40fcbac96f122f523bc82c2194d79e2215651679b SHA512 eef79af0f747c5873660019030a567aaf62f676fa60310006beb3eaaa516b47ed2c7b90813a18debabebc2e964741b7c2cbfc484be2614021ca85b1bd47443a3
-MISC metadata.xml 697 BLAKE2B 069f55a9c5052ba06c5caca06588e3c137a2eea1a81dfee5df102de20f6e7c69e027c8eabddb3458877a035a982f4516cfd898b15bdd6cdeebbb4978147c4c52 SHA512 bf9262e8f4fbd0256705237a7281b211b34588b668093e6288435ffced019a288433f0b9304f67f2b7623c4781c29bfeb563c0af60452e6a3f584a71063f348c
+EBUILD svxlink-24.02-r2.ebuild 2457 BLAKE2B e995113f2dcfd41a98ef8a6a3253e2be2a67742598d130a2d77fb5da193dbb3cba97d151034861fd55ae2d83e4d979e125fb6b100464317f7f8605e8f5ae5a33 SHA512 d6acb42fe7c33eeec04ef6d68a19cd00417a4444135bb04514400911bbff672d8212c2f7f584b80ca04aacffcb88629d572eb56c3c5edcb348516a3be0adacb6
+MISC metadata.xml 834 BLAKE2B ac97ce768df03134c0bc4ede7f4323cc6ce252552a8016ce061a710453b7c2f107d764c49842dbb174cc3e68e4c51362f4a52bc3d7f4b61c8612ecc704e27909 SHA512 0851b95cc047777999f0861a4c0cbbf0f347ad8b43cc70c1c02f5990eda8f99b90ae86136b39ba8b20612ea739ed31887811bc075306c9807af5b4d31e935dd0
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 <vector>
+
+-
+ /****************************************************************************
+ *
+ * Project Includes
+@@ -48,7 +47,7 @@ An example of how to use the Async::AudioContainer class
+ ****************************************************************************/
+
+ #include <AsyncAudioContainer.h>
+-
++#include <cstdint>
+
+ /****************************************************************************
+ *
+diff --git a/src/async/core/AsyncAtTimer.h b/src/async/core/AsyncAtTimer.h
+index 7aa593b..5404a47 100644
+# timeval is defined in <<F2>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 <time.h>
++#include <sys/time.h>
+ #include <sigc++/sigc++.h>
+
+
+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/metadata.xml b/media-radio/svxlink/metadata.xml
index 069d81756da7..3b0e34d555a2 100644
--- a/media-radio/svxlink/metadata.xml
+++ b/media-radio/svxlink/metadata.xml
@@ -15,4 +15,8 @@
<remote-id type="sourceforge">svxlink</remote-id>
<remote-id type="github">sm0svx/svxlink</remote-id>
</upstream>
+ <use>
+ <flag name="qt5">Build and install qtel application</flag>
+ <flag name="rtlsdr">Add support for rtlsdr hardware</flag>
+ </use>
</pkgmetadata>
diff --git a/media-radio/svxlink/svxlink-24.02.ebuild b/media-radio/svxlink/svxlink-24.02-r2.ebuild
index 6a9e245becf4..c179c98aeac6 100644
--- a/media-radio/svxlink/svxlink-24.02.ebuild
+++ b/media-radio/svxlink/svxlink-24.02-r2.ebuild
@@ -16,27 +16,49 @@ SRC_URI="https://github.com/sm0svx/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2 LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~x86"
+IUSE="ogg qt5 rtlsdr"
-DEPEND="dev-lang/tcl:0
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- dev-qt/qtwidgets:5
+DEPEND="dev-lang/tcl:=
+ dev-libs/jsoncpp:=
+ dev-libs/libgcrypt:=
+ =dev-libs/libgpiod-1*:=
+ dev-libs/libsigc++:2
+ dev-libs/popt
media-libs/alsa-lib
media-sound/gsm
- dev-libs/libgcrypt:0
media-libs/speex
media-libs/opus
- dev-libs/libsigc++:2
- dev-libs/popt"
+ net-misc/curl
+ ogg? ( media-libs/libogg )
+ rtlsdr? ( net-wireless/rtl-sdr )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtwidgets:5
+ )"
RDEPEND="${DEPEND}
acct-group/svxlink
acct-user/svxlink"
BDEPEND="
- dev-qt/linguist-tools:5
- virtual/pkgconfig"
+ virtual/pkgconfig
+ qt5? ( dev-qt/linguist-tools:5 )"
src_prepare() {
+ # fix build for MUSL (bug #936813)
+ if use elibc_musl ; then
+ eapply -p1 "${FILESDIR}/$P-musl.patch"
+ fi
+ if ! use ogg ; then
+ # drop automatic discovery of dependency
+ sed -i -e "s/find_package(OGG)/#/g" \
+ src/async/audio/CMakeLists.txt || die
+ fi
+ if ! use rtlsdr ; then
+ # drop automatic discovery of dependency
+ sed -i -e "s/find_package(RtlSdr)/#/g" \
+ src/svxlink/trx/CMakeLists.txt || die
+ fi
cmake_src_prepare
# drop deprecated desktop category (bug #475730)
sed -i -e "s:Categories=Application;:Categories=:g" src/qtel/qtel.desktop || die
@@ -47,8 +69,10 @@ src_configure() {
filter-lto
local mycmakeargs=(
+ -DUSE_QT="$(usex qt5)"
-DSYSCONF_INSTALL_DIR=/etc
-DLOCAL_STATE_DIR=/var
+ -DUSE_OSS=NO
)
cmake_src_configure
}