diff --git a/alsa-plugins.spec b/alsa-plugins.spec index baf10fc..8230da3 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,21 +1,26 @@ %if 0%{?rhel} -%define with_jack 0 +%bcond_with avtp +%bcond_with jack +%bcond_with ffmpeg %else -%define with_jack 1 +%bcond_without avtp +%bcond_without jack +%bcond_without ffmpeg %endif Name: alsa-plugins -Version: 1.2.1 -Release: 1%{?dist} +Version: 1.2.12 +Release: 6%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins -# All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ -# pph plugin is BSD-like licensed -License: GPLv2+ and LGPLv2+ and BSD +# All packages are LGPL-2.1-or-later with the exception of samplerate +# which is GPL-2.0-or-later, pph plugin is BSD-3-Clause licensed +License: GPL-2.0-or-later and LGPL-2.1-or-later and BSD-3-Clause URL: http://www.alsa-project.org/ Source0: ftp://ftp.alsa-project.org/pub/plugins/%{name}-%{version}.tar.bz2 Patch0: alsa-git.patch BuildRequires: autoconf automake libtool +BuildRequires: make BuildRequires: alsa-lib-devel %description @@ -24,13 +29,13 @@ functionality to the Linux operating system. This package includes plugins for ALSA. -%if 0%{?with_jack} +%if %{with jack} %package jack -Requires: alsa-utils -Requires: jack-audio-connection-kit +Recommends: jack-audio-connection-kit BuildRequires: jack-audio-connection-kit-devel Summary: Jack PCM output plugin for ALSA -License: LGPLv2+ +License: LGPL-2.1-or-later + %description jack This plugin converts the ALSA API over JACK (Jack Audio Connection Kit, http://jackit.sf.net) API. ALSA native applications can work @@ -39,10 +44,9 @@ This plugin provides the PCM type "jack" %endif %package oss -Requires: alsa-utils -BuildRequires: alsa-lib-devel Summary: Oss PCM output plugin for ALSA -License: LGPLv2+ +License: LGPL-2.1-or-later + %description oss This plugin converts the ALSA API over OSS API. With this plugin, ALSA native apps can run on OSS drivers. @@ -50,11 +54,11 @@ ALSA native apps can run on OSS drivers. This plugin provides the PCM type "oss". %package pulseaudio -Requires: alsa-utils -Requires: pulseaudio +Recommends: pulseaudio-daemon BuildRequires: pulseaudio-libs-devel Summary: Alsa to PulseAudio backend -License: LGPLv2+ +License: LGPL-2.1-or-later + %description pulseaudio This plugin allows any program that uses the ALSA API to access a PulseAudio sound daemon. In other words, native ALSA applications can play and record @@ -62,29 +66,29 @@ sound across a network. There are two plugins in the suite, one for PCM and one for mixer control. %package samplerate -Requires: alsa-utils BuildRequires: libsamplerate-devel Summary: External rate converter plugin for ALSA -License: GPLv2+ +License: GPL-2.0-or-later + %description samplerate This plugin is an external rate converter using libsamplerate by Erik de Castro Lopo. %package upmix -Requires: alsa-utils BuildRequires: libsamplerate-devel Summary: Upmixer channel expander plugin for ALSA -License: LGPLv2+ +License: LGPL-2.1-or-later + %description upmix The upmix plugin is an easy-to-use plugin for upmixing to 4 or 6-channel stream. The number of channels to be expanded is determined by the slave PCM or explicitly via channel option. %package vdownmix -Requires: alsa-utils BuildRequires: libsamplerate-devel Summary: Downmixer to stereo plugin for ALSA -License: LGPLv2+ +License: LGPL-2.1-or-later + %description vdownmix The vdownmix plugin is a downmixer from 4-6 channels to 2-channel stereo headphone output. This plugin processes the input signals with @@ -93,14 +97,16 @@ surround". %package usbstream Summary: USB stream plugin for ALSA -License: LGPLv2+ +License: LGPL-2.1-or-later + %description usbstream The usbstream plugin is for snd-usb-us122l driver. It converts PCM stream to USB specific stream. %package arcamav Summary: Arcam AV amplifier plugin for ALSA -License: LGPLv2+ +License: LGPL-2.1-or-later + %description arcamav This plugin exposes the controls for an Arcam AV amplifier (see: http://www.arcam.co.uk/) as an ALSA mixer device. @@ -109,7 +115,8 @@ This plugin exposes the controls for an Arcam AV amplifier Requires: speex speexdsp BuildRequires: speex-devel speexdsp-devel Summary: Rate Converter Plugin Using Speex Resampler -License: LGPLv2+ +License: LGPL-2.1-or-later + %description speex The rate plugin is an external rate converter using the Speex resampler (aka Public Parrot Hack) by Jean-Marc Valin. The pcm plugin provides @@ -118,14 +125,47 @@ pre-processing of a mono stream like denoise using libspeex DSP API. %package maemo BuildRequires: dbus-devel Summary: Maemo plugin for ALSA -License: LGPLv2+ +License: LGPL-2.1-or-later + %description maemo This plugin converts the ALSA API over PCM task nodes protocol. In this way, ALSA native applications can run over DSP Gateway and use DSP PCM task nodes. +%if %{with avtp} +%package avtp +BuildRequires: libavtp-devel +Summary: Audio Video Transport Protocol (AVTP) plugin for ALSA +License: LGPL-2.1-or-later + +%description avtp +This plugin supports Audio Video Transport Protocol (AVTP) as specified in +IEEE 1722-2016 spec. AVTP is part of the Audio/Video Broadcast using TSN. +%endif + +%if %{with ffmpeg} +%package a52 +BuildRequires: ffmpeg-free-devel +Obsoletes: alsa-plugins-freeworld-a52 <= %{version}-%{release} +Summary: A52 output plugin for ALSA using libavcodec +License: LGPL-2.1-or-later + +%description a52 +This plugin converts S16 linear format to A52 compressed stream and +send to an SPDIF output. It requires libavcodec for encoding the +audio stream. + +%package lavrate +BuildRequires: ffmpeg-free-devel +Obsoletes: alsa-plugins-freeworld-lavrate <= %{version}-%{release} +Summary: Rate converter plugin for ALSA using libavcodec +License: LGPL-2.1-or-later + +%description lavrate +The plugin uses ffmpeg audio resample library to convert audio rates. +%endif + %prep -%setup -q -n %{name}-%{version}%{?prever} -%patch0 -p1 -b .alsa-git +%autosetup -n %{name}-%{version}%{?prever} -p1 %build autoreconf -vif @@ -133,24 +173,22 @@ autoreconf -vif --with-speex=lib \ --enable-maemo-plugin \ --enable-maemo-resource-manager -make %{?_smp_mflags} +%make_build %install -make install DESTDIR=%{buildroot} +%make_install mv %{buildroot}%{_sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf.example \ %{buildroot}%{_sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf -find %{buildroot} -name "*.la" -exec rm {} \; +find %{buildroot} -name "*.la" -delete -%post -p /sbin/ldconfig - -%postun -p /sbin/ldconfig - -%if 0%{?with_jack} +%if %{with jack} %files jack -%doc COPYING COPYING.GPL doc/README-jack +%license COPYING COPYING.GPL +%doc doc/README-jack +%dir %{_sysconfdir}/alsa %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/50-jack.conf %dir %{_datadir}/alsa/alsa.conf.d @@ -160,7 +198,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %endif %files oss -%doc COPYING COPYING.GPL doc/README-pcm-oss +%license COPYING COPYING.GPL +%doc doc/README-pcm-oss +%dir %{_sysconfdir}/alsa %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/50-oss.conf %dir %{_datadir}/alsa/alsa.conf.d @@ -170,11 +210,13 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_libdir}/alsa-lib/libasound_module_pcm_oss.so %files pulseaudio -%doc COPYING COPYING.GPL doc/README-pulse +%license COPYING COPYING.GPL +%doc doc/README-pulse %dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_pcm_pulse.so %{_libdir}/alsa-lib/libasound_module_ctl_pulse.so %{_libdir}/alsa-lib/libasound_module_conf_pulse.so +%dir %{_sysconfdir}/alsa %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/50-pulseaudio.conf %config(noreplace) %{_sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf @@ -182,7 +224,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_datadir}/alsa/alsa.conf.d/50-pulseaudio.conf %files samplerate -%doc COPYING COPYING.GPL doc/samplerate.txt +%license COPYING COPYING.GPL +%doc doc/samplerate.txt +%dir %{_sysconfdir}/alsa %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/10-samplerate.conf %dir %{_datadir}/alsa/alsa.conf.d @@ -195,7 +239,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_libdir}/alsa-lib/libasound_module_rate_samplerate_order.so %files upmix -%doc COPYING COPYING.GPL doc/upmix.txt +%license COPYING COPYING.GPL +%doc doc/upmix.txt +%dir %{_sysconfdir}/alsa %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/60-upmix.conf %dir %{_datadir}/alsa/alsa.conf.d @@ -204,7 +250,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_libdir}/alsa-lib/libasound_module_pcm_upmix.so %files vdownmix -%doc COPYING COPYING.GPL doc/vdownmix.txt +%license COPYING COPYING.GPL +%doc doc/vdownmix.txt +%dir %{_sysconfdir}/alsa %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/60-vdownmix.conf %dir %{_datadir}/alsa/alsa.conf.d @@ -213,7 +261,8 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_libdir}/alsa-lib/libasound_module_pcm_vdownmix.so %files usbstream -%doc COPYING COPYING.GPL +%license COPYING COPYING.GPL +%dir %{_sysconfdir}/alsa %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/98-usb-stream.conf %dir %{_datadir}/alsa/alsa.conf.d @@ -222,7 +271,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_libdir}/alsa-lib/libasound_module_pcm_usb_stream.so %files arcamav -%doc COPYING COPYING.GPL doc/README-arcam-av +%license COPYING COPYING.GPL +%doc doc/README-arcam-av +%dir %{_sysconfdir}/alsa %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/50-arcam-av-ctl.conf %dir %{_datadir}/alsa/alsa.conf.d @@ -231,7 +282,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_libdir}/alsa-lib/libasound_module_ctl_arcam_av.so %files speex -%doc COPYING COPYING.GPL doc/speexdsp.txt doc/speexrate.txt +%license COPYING COPYING.GPL +%doc doc/speexdsp.txt doc/speexrate.txt +%dir %{_sysconfdir}/alsa %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/10-speexrate.conf %config(noreplace) %{_sysconfdir}/alsa/conf.d/60-speex.conf @@ -245,7 +298,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_libdir}/alsa-lib/libasound_module_rate_speexrate_medium.so %files maemo -%doc COPYING COPYING.GPL doc/README-maemo +%license COPYING COPYING.GPL +%doc doc/README-maemo +%dir %{_sysconfdir}/alsa %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/98-maemo.conf %dir %{_datadir}/alsa/alsa.conf.d @@ -254,13 +309,129 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_libdir}/alsa-lib/libasound_module_ctl_dsp_ctl.so %{_libdir}/alsa-lib/libasound_module_pcm_alsa_dsp.so +%if %{with avtp} +%files avtp +%license COPYING COPYING.GPL +%{_libdir}/alsa-lib/libasound_module_pcm_aaf.so +%endif + +%if %{with ffmpeg} +%files a52 +%license COPYING COPYING.GPL +%doc doc/a52.txt +%dir %{_sysconfdir}/alsa +%dir %{_sysconfdir}/alsa/conf.d +%config(noreplace) %{_sysconfdir}/alsa/conf.d/60-a52-encoder.conf +%dir %{_datadir}/alsa/alsa.conf.d +%{_datadir}/alsa/alsa.conf.d/60-a52-encoder.conf +%dir %{_libdir}/alsa-lib +%{_libdir}/alsa-lib/libasound_module_pcm_a52.so + +%files lavrate +%license COPYING COPYING.GPL +%doc doc/lavrate.txt +%dir %{_sysconfdir}/alsa +%dir %{_sysconfdir}/alsa/conf.d +%config(noreplace) %{_sysconfdir}/alsa/conf.d/10-rate-lav.conf +%dir %{_datadir}/alsa/alsa.conf.d +%{_datadir}/alsa/alsa.conf.d/10-rate-lav.conf +%dir %{_libdir}/alsa-lib +%{_libdir}/alsa-lib/libasound_module_rate_lavrate.so +%{_libdir}/alsa-lib/libasound_module_rate_lavrate_fast.so +%{_libdir}/alsa-lib/libasound_module_rate_lavrate_faster.so +%{_libdir}/alsa-lib/libasound_module_rate_lavrate_high.so +%{_libdir}/alsa-lib/libasound_module_rate_lavrate_higher.so +%endif %changelog +* Wed Oct 01 2025 Dominik Mierzejewski - 1.2.12-6 +- Rebuilt for FFmpeg 8 + +* Wed Jul 23 2025 Fedora Release Engineering - 1.2.12-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Thu Jan 16 2025 Fedora Release Engineering - 1.2.12-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Mon Sep 23 2024 Fabio Valentini - 1.2.12-3 +- Rebuild for ffmpeg 7 + +* Wed Jul 17 2024 Fedora Release Engineering - 1.2.12-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Jun 11 2024 Jaroslav Kysela - 1.2.12-1 +- Updated to 1.2.12 + +* Mon Jan 22 2024 Fedora Release Engineering - 1.2.7.1-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 1.2.7.1-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Aug 25 2023 Yaakov Selkowitz - 1.2.7.1-8 +- Disable avtp plugin in RHEL builds + +* Wed Jul 19 2023 Fedora Release Engineering - 1.2.7.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jun 6 2023 Jaroslav Kysela - 1.2.7.1-6 +- change to SPDX licenses + +* Sun Mar 12 2023 Neal Gompa - 1.2.7.1-5 +- Rebuild for ffmpeg 6.0 + +* Mon Mar 6 2023 Jaroslav Kysela - 1.2.7.1-4 +- Enable avtp plugin - Peter Robinson +- Enable a52 and lavrate plugins - Yaakov Selkowitz +- Remove or soften excess dependendencies - Yaakov Selkowitz +- CI test & RHEL cleanups + +* Wed Jan 18 2023 Fedora Release Engineering - 1.2.7.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jul 20 2022 Fedora Release Engineering - 1.2.7.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Fri Jun 17 2022 Jaroslav Kysela - 1.2.7.1-1 +- Updated to 1.2.7.1 + +* Wed Jan 19 2022 Fedora Release Engineering - 1.2.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Dec 6 2021 Jaroslav Kysela - 1.2.6-1 +- Updated to 1.2.6 + +* Wed Jul 21 2021 Fedora Release Engineering - 1.2.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Sun May 30 2021 Jaroslav Kysela - 1.2.5-1 +- Updated to 1.2.5 +- Modernize the spec file (Neal Gompa) + +* Tue Jan 26 2021 Fedora Release Engineering - 1.2.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Jan 04 2021 Rex Dieter - 1.2.2-4 +- -pulseaudio: Requires: pulseaudio-daemon + +* Fri Jul 31 2020 Fedora Release Engineering - 1.2.2-3 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 1.2.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Feb 19 2020 Jaroslav Kysela - 1.2.2-1 +- Updated to 1.2.2 + +* Tue Jan 28 2020 Fedora Release Engineering - 1.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Wed Nov 13 2019 Jaroslav Kysela - 1.2.1-1 - Updated to 1.2.1 * Tue Aug 20 2019 Gwyn Ciesla - 1.1.9-3 -- macroize %{_sysconfdir}. +- macroize %%{_sysconfdir}. * Wed Jul 24 2019 Fedora Release Engineering - 1.1.9-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild diff --git a/sources b/sources index 0be1a1c..53faed0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (alsa-plugins-1.2.1.tar.bz2) = a49ef9290b66855112e301a5fd5a0932f13a50254e164f3340f2b342a36469532ee783beabfe5e95870dbf4cd81ca1e8d0415d94c8c7ee963133fb3c343721de +SHA512 (alsa-plugins-1.2.12.tar.bz2) = b2064eb32662662f422f6e7c71f503d82c68d7a7059c8197bdd61ee08735b3ee104c6a5f9e3451e81124634514b91fc89d05d33041d9c2bb0f55b3c2ac3271b1 diff --git a/tests/run_tests.sh b/tests/run_tests.sh new file mode 100755 index 0000000..8148361 --- /dev/null +++ b/tests/run_tests.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +set -ex + +# install speaker-test +dnf install -y alsa-utils + +# create patest user +adduser patest + +# run pulseaudio daemon +su - patest -c "pulseaudio --start --log-target=stderr" + +# run pulseaudio test (null sink) +su - patest -c "speaker-test -D pulse -l 1" diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..d18fdf5 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,11 @@ +- hosts: localhost + roles: + - role: standard-test-basic + tags: + - classic + required_packages: + - pulseaudio + tests: + - simple: + dir: . + run: ./run_tests.sh