commit:     6f9a591dde37c105bb8d2bc8ecbaaf21295a2fcc
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 23 00:14:37 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jun 23 00:27:08 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6f9a591d

media-libs/roc-toolkit: add 0.4.0

Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-libs/roc-toolkit/Manifest                 |  1 +
 media-libs/roc-toolkit/roc-toolkit-0.4.0.ebuild | 84 +++++++++++++++++++++++++
 2 files changed, 85 insertions(+)

diff --git a/media-libs/roc-toolkit/Manifest b/media-libs/roc-toolkit/Manifest
index 32b18e75ae38..37d1c4152a5e 100644
--- a/media-libs/roc-toolkit/Manifest
+++ b/media-libs/roc-toolkit/Manifest
@@ -1 +1,2 @@
 DIST roc-toolkit-0.3.0.tar.gz 1679439 BLAKE2B 
31775d330bdfb3c42278d1ecbbbb5e14f695ca82f22929e435b6c9bf10c2e25c3367d11cf2913a81e6469876c255193be11eb78b775fad3b17f57c5be9c4bb39
 SHA512 
447532862dc1714054ebd03ce7fd101525c213a87bc7198a55c8e6068c28db318d59389bafd83681a4e6b34a61e68ac305c66b84e417a3f791b02340a821e6ec
+DIST roc-toolkit-0.4.0.tar.gz 1895030 BLAKE2B 
2ffcf6b1ca50fcae09c7aaa27939e23428feb21f330d578d731e494c62aa088c7e00de3b1a1b488d1bb13ffcc979fede1fc2726e2293a383a87174a4480e8aec
 SHA512 
51763287ee825b6617273ededd9e77560f4223b8ba4a577855c3225908e848895a4f925163862cf6d19a8215245ec26f33d07d6cb80c51768d37eaa06ac02063

diff --git a/media-libs/roc-toolkit/roc-toolkit-0.4.0.ebuild 
b/media-libs/roc-toolkit/roc-toolkit-0.4.0.ebuild
new file mode 100644
index 000000000000..491eb7526b31
--- /dev/null
+++ b/media-libs/roc-toolkit/roc-toolkit-0.4.0.ebuild
@@ -0,0 +1,84 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit python-any-r1 scons-utils toolchain-funcs
+
+DESCRIPTION="Real-time audio streaming over the network"
+HOMEPAGE="https://roc-streaming.org/toolkit/docs/ 
https://github.com/roc-streaming/roc-toolkit/";
+SRC_URI="https://github.com/roc-streaming/roc-toolkit/archive/refs/tags/v${PV}.tar.gz
 -> ${P}.tar.gz"
+
+LICENSE="MPL-2.0"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+IUSE="alsa llvm-libunwind pulseaudio sox sndfile ssl tools test unwind"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+       >=dev-libs/libuv-1.35.0:=
+       >=media-libs/openfec-1.4.2.9
+       >=media-libs/speexdsp-1.2.0
+       alsa? ( >=media-libs/alsa-lib-1.1.9 )
+       pulseaudio? ( >=media-libs/libpulse-12.2 )
+       sox? ( >=media-sound/sox-14.4.2 )
+       sndfile? ( >=media-libs/libsndfile-1.0.28 )
+       ssl? ( >=dev-libs/openssl-3.0.8:= )
+       unwind? (
+               llvm-libunwind? ( sys-libs/llvm-libunwind:= )
+               !llvm-libunwind? ( >=sys-libs/libunwind-1.2.1:= )
+       )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+       dev-util/ragel
+       virtual/pkgconfig
+       test? ( dev-util/cpputest )
+       tools? ( dev-util/gengetopt )
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.2.5-dont-force-O3.patch
+)
+
+src_prepare() {
+       default
+
+       # These tests need network
+       rm -r \
+               src/tests/roc_netio \
+               src/tests/public_api/test_receiver.cpp \
+               || die
+}
+
+src_compile() {
+       tc-export AR CXX CC LD RANLIB OBJCOPY PKG_CONFIG
+
+       # Can revisit these on request, but:
+       #
+       # * openfec is unconditionally enabled as upstream docs recommend it,
+       # see 
https://roc-streaming.org/toolkit/docs/building/user_cookbook.html.
+       #
+       # * speexdsp is unconditionally enabled as it's tiny.
+       scons_opts=(
+               $(usev !alsa '--disable-alsa')
+               $(usev !sox '--disable-sox')
+               $(usev !pulseaudio '--disable-pulseaudio')
+               $(usev !tools '--disable-tools')
+               $(usev test '--enable-tests')
+               $(usev !sndfile '--disable-sndfile')
+               $(usev !ssl '--disable-openssl')
+               $(usev !unwind '--disable-libunwind')
+       )
+
+       STRIP=true escons "${scons_opts[@]}"
+}
+
+src_test() {
+       STRIP=true escons "${scons_opts[@]}" test
+}
+
+src_install() {
+       STRIP=true escons DESTDIR="${D}" "${scons_opts[@]}" install
+}

Reply via email to