public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: media-libs/roc-toolkit/, media-libs/roc-toolkit/files/
@ 2023-09-07 19:37 Sam James
  0 siblings, 0 replies; only message in thread
From: Sam James @ 2023-09-07 19:37 UTC (permalink / raw
  To: gentoo-commits

commit:     deb0b86c4f12ad94009cb137b79c20a37e07d0c8
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Sep  7 19:27:52 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Sep  7 19:37:07 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=deb0b86c

media-libs/roc-toolkit: new package, add 0.2.5

Bug: https://bugs.gentoo.org/907497
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-libs/roc-toolkit/Manifest                    |  1 +
 .../files/roc-toolkit-0.2.5-dont-force-O3.patch    | 22 ++++++
 media-libs/roc-toolkit/metadata.xml                | 14 ++++
 media-libs/roc-toolkit/roc-toolkit-0.2.5.ebuild    | 82 ++++++++++++++++++++++
 4 files changed, 119 insertions(+)

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
+}


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2023-09-07 19:37 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-07 19:37 [gentoo-commits] repo/gentoo:master commit in: media-libs/roc-toolkit/, media-libs/roc-toolkit/files/ Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox