[packages/roc-toolkit] - new, patched for scons4 compatibility

qboosh qboosh at pld-linux.org
Thu Apr 21 21:43:31 CEST 2022


commit 954e993400129f69328a729e7d7c44779abced77
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Thu Apr 21 21:43:32 2022 +0200

    - new, patched for scons4 compatibility

 roc-toolkit-scons4.patch |  10 ++++
 roc-toolkit.spec         | 145 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 155 insertions(+)
---
diff --git a/roc-toolkit.spec b/roc-toolkit.spec
new file mode 100644
index 0000000..e2a14ec
--- /dev/null
+++ b/roc-toolkit.spec
@@ -0,0 +1,145 @@
+# TODO: pulseaudio modules (require internal headers, may require update for pulseaudio>5)
+#
+# Conditional build:
+%bcond_without	apidocs		# API documentation
+#
+Summary:	ROC: real-time audio streaming over the network
+Summary(pl.UTF-8):	ROC: strumienie audio po sieci w czasie rzeczywistym
+Name:		roc-toolkit
+Version:	0.1.5
+Release:	1
+License:	MPL v2.0
+Group:		Libraries
+#Source0Download: https://github.com/roc-streaming/roc-toolkit/releases
+Source0:	https://github.com/roc-streaming/roc-toolkit/archive/v%{version}/%{name}-%{version}.tar.gz
+# Source0-md5:	6ce4875947fc8ca0598c9ccd4f6b05bb
+Patch0:		%{name}-scons4.patch
+URL:		https://github.com/roc-streaming/roc-toolkit
+BuildRequires:	alsa-lib-devel
+BuildRequires:	doxygen
+BuildRequires:	gengetopt
+BuildRequires:	libunwind-devel
+BuildRequires:	libuv-devel
+BuildRequires:	openfec-devel
+BuildRequires:	pkgconfig
+BuildRequires:	pulseaudio-devel
+BuildRequires:	python3-breathe
+BuildRequires:	ragel
+BuildRequires:	rpm-build >= 4.6
+BuildRequires:	rpmbuild(macros) >= 1.385
+BuildRequires:	scons
+BuildRequires:	sox-devel >= 14.4.0
+BuildRequires:	sphinx-pdg
+Requires:	sox >= 14.4.0
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+The ROC toolkit consists of:
+- a C library;
+- a set of command-line tools;
+- a set of PulseAudio modules.
+
+Key features:
+- real-time streaming with guaranteed latency;
+- restoring lost packets using Forward Erasure Correction codes;
+- converting between the sender and receiver clock domains;
+- CD-quality audio;
+- multiple profiles for different CPU and latency requirements;
+- portability;
+- relying on open, standard protocols.
+
+%description -l pl.UTF-8
+Narzędzia ROC składają się z:
+- biblioteki C
+- zestawu narzędzi linii poleceń
+- zestawu modułów PulseAudio
+
+Główne możliwości:
+- strumienie w czasie rzeczywistym z gwarantowanym opóźnieniem
+- odtwarzanie zgubionych pakietów przy użyciu kodów korekcyjnych
+- konwersja między czasem u nadawcy i odbierającego
+- jakość dźwięku CD
+- wiele profili dla różnych wymagań CPU i opóźnień
+- przenośność
+- wykorzystywanie otwartych, standardowych protokołów
+
+%package devel
+Summary:	Header files for ROC library
+Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki ROC
+Group:		Development/Libraries
+Requires:	%{name} = %{version}-%{release}
+
+%description devel
+Header files for ROC library.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki ROC.
+
+%package apidocs
+Summary:	API documentation for ROC library
+Summary(pl.UTF-8):	Dokumentacja API biblioteki ROC
+Group:		Documentation
+BuildArch:	noarch
+
+%description apidocs
+API documentation for ROC library.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja API biblioteki ROC.
+
+%prep
+%setup -q
+%patch0 -p1
+
+%build
+# docs build seems racy, use -j1
+%scons -j1 \
+	STRIP=: \
+	%{!?with_apidocs:--disable-doc} \
+	--disable-tests \
+	--with-openfec-includes=/usr/include/openfec
+
+# TODO: --enable-pulseaudio-modules
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%scons -j1 \
+	STRIP=: \
+	%{!?with_apidocs:--disable-doc} \
+	--disable-tests \
+	--with-openfec-includes=/usr/include/openfec \
+	--prefix=$RPM_BUILD_ROOT%{_prefix} \
+	--libdir=$RPM_BUILD_ROOT%{_libdir} \
+	install
+
+# useless symlink, soname is libroc.so.0.1
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libroc.so.0
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post	-p /sbin/ldconfig
+%postun	-p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%doc README.md
+%attr(755,root,root) %{_bindir}/roc-conv
+%attr(755,root,root) %{_bindir}/roc-recv
+%attr(755,root,root) %{_bindir}/roc-send
+%attr(755,root,root) %{_libdir}/libroc.so.0.1
+%{_mandir}/man1/roc-conv.1*
+%{_mandir}/man1/roc-recv.1*
+%{_mandir}/man1/roc-send.1*
+
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libroc.so
+%{_includedir}/roc
+
+%if %{with apidocs}
+%files apidocs
+%defattr(644,root,root,755)
+%doc html/docs/{_images,_static,about_project,api,internals,manuals,portability,running,*.html,*.js}
+%endif
diff --git a/roc-toolkit-scons4.patch b/roc-toolkit-scons4.patch
new file mode 100644
index 0000000..44bafbe
--- /dev/null
+++ b/roc-toolkit-scons4.patch
@@ -0,0 +1,10 @@
+--- roc-toolkit-0.1.5/SConstruct.orig	2020-04-05 21:19:54.000000000 +0200
++++ roc-toolkit-0.1.5/SConstruct	2022-04-21 06:24:52.698305026 +0200
+@@ -49,7 +49,6 @@ env = Environment(ENV=os.environ, tools=
+ # performance tuning
+ env.Decider('MD5-timestamp')
+ env.SetOption('implicit_cache', 1)
+-env.SourceCode('.', None)
+ 
+ # provide absolute path to force single sconsign file
+ # per-directory sconsign files seems to be buggy with generated sources
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/roc-toolkit.git/commitdiff/954e993400129f69328a729e7d7c44779abced77



More information about the pld-cvs-commit mailing list