forked from pool/shairport-sync
35a1060f6a
- Removed: drop-user-config.patch This is now configurable in the build system. - Update version to 4.3.4 * https://github.com/mikebrady/shairport-sync/releases/tag/4.3.4 * ALSA: better support for HDMI ports * Enabled termination of a disconnected session in AirPlay 2 operation after a timeout -- it had been disabled by default. * Fixed a bug that prevented Shairport Sync from terminating cleanly when a fatal error occurred while directly accessing the alsa output device. * Fixed a bug that prevented Shairport Sync from recovering cleanly if a player disconnected without warning. * Avoided using TCP_KEEPINTVL and TCP_KEEPCNT if they are not defined. * Fixed a race condition with the metadata queues. - Update version to 4.3.3 * https://github.com/mikebrady/shairport-sync/releases/tag/4.3.3 * The man entry for Shairport Sync has moved from Section 7 (Miscellaneous information) to where it should be: Section 1 (General commands (tools and utilities)). * Bug fix: Use pthread_rwlock_wrlock instead of pthread_rdlock_wrlock when tearing down a connection. * Add support for the mbedtls3 library. * If a network interface is specified in the configuration file, limit addresses used for PTP to that network interface only. * Make Shairport Sync terminate if the configuration file exists but can not be opened. * Look for DACP-ID and Active-Remote in the GET /info request, where it sometimes appears in an AirPlay 2 session originating from an Intel Mac. * Do not print the password in debug logs. - Add missing runtime dependency: avahi (boo#1213521) OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/shairport-sync?expand=0&rev=41
133 lines
4.2 KiB
RPMSpec
133 lines
4.2 KiB
RPMSpec
#
|
||
# spec file for package shairport-sync
|
||
#
|
||
# Copyright (c) 2024 SUSE LLC
|
||
#
|
||
# All modifications and additions to the file contributed by third parties
|
||
# remain the property of their copyright owners, unless otherwise agreed
|
||
# upon. The license for this file, and modifications and additions to the
|
||
# file, is the same license as for the pristine package itself (unless the
|
||
# license for the pristine package is not an Open Source License, in which
|
||
# case the license is the MIT License). An "Open Source License" is a
|
||
# license that conforms to the Open Source Definition (Version 1.9)
|
||
# published by the Open Source Initiative.
|
||
|
||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||
#
|
||
|
||
|
||
Name: shairport-sync
|
||
Version: 4.3.4
|
||
Release: 0
|
||
Summary: An AirPlay audio player
|
||
License: GPL-3.0-only
|
||
Group: Productivity/Multimedia/Sound/Utilities
|
||
URL: https://github.com/mikebrady/shairport-sync
|
||
Source0: https://github.com/mikebrady/shairport-sync/archive/%{version}/%{name}-%{version}.tar.gz
|
||
Source1: airplay-server.xml
|
||
Source2: README.SUSE
|
||
Patch1: harden_shairport-sync.service.patch
|
||
BuildRequires: fdupes
|
||
BuildRequires: firewall-macros
|
||
BuildRequires: gcc-c++
|
||
BuildRequires: gnome-common
|
||
BuildRequires: pkgconfig
|
||
BuildRequires: systemd-rpm-macros
|
||
BuildRequires: xxd
|
||
BuildRequires: pkgconfig(alsa)
|
||
BuildRequires: pkgconfig(avahi-client)
|
||
BuildRequires: pkgconfig(libavutil)
|
||
BuildRequires: pkgconfig(libconfig)
|
||
BuildRequires: pkgconfig(libdaemon)
|
||
BuildRequires: pkgconfig(libgcrypt)
|
||
BuildRequires: pkgconfig(libpipewire-0.3)
|
||
BuildRequires: pkgconfig(libplist-2.0)
|
||
BuildRequires: pkgconfig(libpulse)
|
||
BuildRequires: pkgconfig(libsodium)
|
||
BuildRequires: pkgconfig(openssl)
|
||
BuildRequires: pkgconfig(popt)
|
||
BuildRequires: pkgconfig(sndfile)
|
||
BuildRequires: pkgconfig(soxr)
|
||
BuildRequires: pkgconfig(systemd)
|
||
BuildRequires: pkgconfig(uuid)
|
||
Requires: avahi
|
||
Requires: firewalld
|
||
Requires: nqptp
|
||
Requires(pre): shadow
|
||
%{?systemd_ordering}
|
||
|
||
%description
|
||
Shairport Sync is an AirPlay audio player – it plays audio streamed from iTunes,
|
||
iOS, Apple TV and macOS devices and AirPlay sources such as Quicktime Player and
|
||
ForkedDaapd, among others.
|
||
|
||
Audio played by a Shairport Sync-powered device stays synchronised with the
|
||
source and hence with similar devices playing the same source. In this way,
|
||
synchronised multi-room audio is possible for players that support it, such as
|
||
iTunes.
|
||
|
||
Shairport Sync runs on Linux, FreeBSD and OpenBSD. It does not support AirPlay
|
||
video or photo streaming.
|
||
|
||
%prep
|
||
%autosetup -p1
|
||
|
||
cp %{SOURCE2} .
|
||
|
||
%build
|
||
autoreconf -i -f
|
||
%configure --with-systemd \
|
||
--with-ssl=openssl \
|
||
--with-alsa \
|
||
--with-pa \
|
||
--with-pw \
|
||
--with-pipe \
|
||
--with-avahi \
|
||
--with-soxr \
|
||
--with-metadata \
|
||
--with-configfiles \
|
||
--with-convolution \
|
||
--with-airplay-2 \
|
||
--without-create-user-group
|
||
%make_build
|
||
|
||
%install
|
||
%make_install
|
||
mkdir -p %{buildroot}%{_prefix}/lib/firewalld/services
|
||
install -m 0644 %{SOURCE1} %{buildroot}%{_prefix}/lib/firewalld/services/
|
||
rm %{buildroot}%{_sysconfdir}/shairport-sync.conf.sample
|
||
mkdir -p %{buildroot}%{_sbindir}
|
||
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}
|
||
|
||
%pre
|
||
getent group audio >/dev/null || %{_sbindir}/groupadd --system audio
|
||
getent group %{name} >/dev/null || %{_sbindir}/groupadd --system %{name}
|
||
getent passwd %{name} >/dev/null || %{_sbindir}/useradd --system -c "%{name} User" \
|
||
-d %{_localstatedir}/%{name} -m -g %{name} -s %{_sbindir}/nologin \
|
||
-G audio %{name}
|
||
%service_add_pre %{name}.service
|
||
|
||
%post
|
||
%service_add_post %{name}.service
|
||
%firewalld_reload
|
||
|
||
%preun
|
||
%service_del_preun %{name}.service
|
||
|
||
%postun
|
||
%service_del_postun %{name}.service
|
||
|
||
%files
|
||
%doc README.md RELEASENOTES.md TROUBLESHOOTING.md README.SUSE
|
||
%license LICENSES
|
||
%config(noreplace) %{_sysconfdir}/shairport-sync.conf
|
||
%{_bindir}/%{name}
|
||
%dir %{_prefix}/lib/firewalld
|
||
%dir %{_prefix}/lib/firewalld/services
|
||
%{_prefix}/lib/firewalld/services/airplay-server.xml
|
||
%{_mandir}/man1/shairport-sync.1%{?ext_man}
|
||
%{_unitdir}/%{name}.service
|
||
%{_sbindir}/rc%{name}
|
||
|
||
%changelog
|