summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-09-07 20:27:52 +0100
committerSam James <sam@gentoo.org>2023-09-07 20:37:07 +0100
commitdeb0b86c4f12ad94009cb137b79c20a37e07d0c8 (patch)
treec162fb209f095eab1d0c640dd8540965604581fc /media-libs/roc-toolkit
parentmedia-libs/openfec: new package, add 1.4.2.9 (diff)
downloadgentoo-deb0b86c4f12ad94009cb137b79c20a37e07d0c8.tar.gz
gentoo-deb0b86c4f12ad94009cb137b79c20a37e07d0c8.tar.bz2
gentoo-deb0b86c4f12ad94009cb137b79c20a37e07d0c8.zip
media-libs/roc-toolkit: new package, add 0.2.5
Bug: https://bugs.gentoo.org/907497 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-libs/roc-toolkit')
-rw-r--r--media-libs/roc-toolkit/Manifest1
-rw-r--r--media-libs/roc-toolkit/files/roc-toolkit-0.2.5-dont-force-O3.patch22
-rw-r--r--media-libs/roc-toolkit/metadata.xml14
-rw-r--r--media-libs/roc-toolkit/roc-toolkit-0.2.5.ebuild82
4 files changed, 119 insertions, 0 deletions
diff --git a/media-libs/roc-toolkit/Manifest b/media-libs/roc-toolkit/Manifest
new file mode 100644
index 000000000000..d79596d5c51a
--- /dev/null
+++ b/media-libs/roc-toolkit/Manifest
@@ -0,0 +1 @@
+DIST roc-toolkit-0.2.5.tar.gz 1559917 BLAKE2B b75a2f101bd9bfecee28abc1dee0102c55a06f6432d66ed0b982b774e330209cdb9c22db442b9a49ec6e5623193de0c55fdb118a5285fb7de199b85eb6daea48 SHA512 45a524d7c29f2011eaa9f3e6d256ccf714e1abe2921c8ed276d97501cd2f7641bc14288f2f29c892a1c6740cf64049e3d143eb6b15dd2fb14e25a38a4ad23971
diff --git a/media-libs/roc-toolkit/files/roc-toolkit-0.2.5-dont-force-O3.patch b/media-libs/roc-toolkit/files/roc-toolkit-0.2.5-dont-force-O3.patch
new file mode 100644
index 000000000000..ac943f3fa82e
--- /dev/null
+++ b/media-libs/roc-toolkit/files/roc-toolkit-0.2.5-dont-force-O3.patch
@@ -0,0 +1,22 @@
+--- a/SConstruct
++++ b/SConstruct
+@@ -930,7 +930,6 @@ if meta.compiler in ['gcc', 'clang']:
+ for var in ['CXXFLAGS', 'CFLAGS']:
+ env.Append(**{var: [
+ '-fvisibility=hidden',
+- '-O3',
+ ]})
+
+ if meta.compiler == 'gcc' and meta.compiler_ver[:2] < (4, 6):
+@@ -948,10 +947,7 @@ if meta.compiler in ['cc']:
+ '-g',
+ ]})
+ else:
+- for var in ['CXXFLAGS', 'CFLAGS']:
+- env.Append(**{var: [
+- '-O3',
+- ]})
++ pass
+
+ if meta.fpic_support:
+ for var in ['CXXFLAGS', 'CFLAGS']:
diff --git a/media-libs/roc-toolkit/metadata.xml b/media-libs/roc-toolkit/metadata.xml
new file mode 100644
index 000000000000..3f336a9ed386
--- /dev/null
+++ b/media-libs/roc-toolkit/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">roc-streaming/openfec</remote-id>
+ </upstream>
+ <use>
+ <flag name="tools">Install helper tools like roc-conv, roc-recv, roc-send</flag>
+ </use>
+</pkgmetadata>
diff --git a/media-libs/roc-toolkit/roc-toolkit-0.2.5.ebuild b/media-libs/roc-toolkit/roc-toolkit-0.2.5.ebuild
new file mode 100644
index 000000000000..66c59f8ecbbf
--- /dev/null
+++ b/media-libs/roc-toolkit/roc-toolkit-0.2.5.ebuild
@@ -0,0 +1,82 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+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"
+KEYWORDS="~amd64"
+IUSE="alsa llvm-libunwind pulseaudio sox ssl tools test unwind"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dev-libs/libuv:=
+ media-libs/openfec
+ media-libs/speexdsp
+ alsa? ( media-libs/alsa-lib )
+ pulseaudio? ( media-libs/libpulse )
+ sox? ( media-sound/sox )
+ ssl? ( dev-libs/openssl:= )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind:= )
+ !llvm-libunwind? ( sys-libs/libunwind:= )
+ )
+"
+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 !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
+}