1
0
shairport-sync/shairport-sync.spec

124 lines
3.9 KiB
RPMSpec
Raw Normal View History

#
# spec file for package shairport-sync
#
Accepting request 1046315 from home:dirkmueller:Factory - update to 4.1.1: * This release consists of enhancements and bug fixes to Version 4.1. For information on the new features of 4.1, including AirPlay 2 support, please refer to the 4.1 Release Note. Enhancements * Use the TCP keepalive facility to close a play session if the client connection drops for a minute. Metadata Enhancements * Add FramePosition (phbt), FirstFramePosition (phb0), OutputRate (ofps), OutputFormat (ofmt), StreamType (styp), ServiceName (svna), ClientName (snam) properties to the D-Bus interface and to the metadata stream (codes in brackets). * FramePosition/FirstFramePosition metadata is generated only if the progress_interval in the metadata section of the configuration file is non-zero. The progress interval can also be set by a new SetFramePositionUpdateInterval method in the D-Bus interface. * FramePosition/FirstFramePosition metadata is of the form <RTP Frame number>/<Local Time> where the local time, in nanoseconds (a 64-bit number), is the precise time that frame should be played. The metadata is generated when the frame is placed in the output buffer, and is thus generated audio_backend_buffer_desired_length_in_seconds (usually 0.2 seconds) before the time in question. * Add xesam:albumArtist and xesam:composer metadata (if available) to the metadata bundle presented in the D-Bus interface. * Add a new metadata item: sps:songdatakind, derived from the asdk metadata token, to the metadata bundle presented in the D-Bus interface. If 0 it seems to indicate an item of a specific duration such as an audio track; if 1 it seems to mean the stream is of unknown duration, for example an internet radio stream. Bug Fixes OBS-URL: https://build.opensuse.org/request/show/1046315 OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/shairport-sync?expand=0&rev=27
2023-01-03 08:18:31 +01:00
# Copyright (c) 2023 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
Accepting request 1046315 from home:dirkmueller:Factory - update to 4.1.1: * This release consists of enhancements and bug fixes to Version 4.1. For information on the new features of 4.1, including AirPlay 2 support, please refer to the 4.1 Release Note. Enhancements * Use the TCP keepalive facility to close a play session if the client connection drops for a minute. Metadata Enhancements * Add FramePosition (phbt), FirstFramePosition (phb0), OutputRate (ofps), OutputFormat (ofmt), StreamType (styp), ServiceName (svna), ClientName (snam) properties to the D-Bus interface and to the metadata stream (codes in brackets). * FramePosition/FirstFramePosition metadata is generated only if the progress_interval in the metadata section of the configuration file is non-zero. The progress interval can also be set by a new SetFramePositionUpdateInterval method in the D-Bus interface. * FramePosition/FirstFramePosition metadata is of the form <RTP Frame number>/<Local Time> where the local time, in nanoseconds (a 64-bit number), is the precise time that frame should be played. The metadata is generated when the frame is placed in the output buffer, and is thus generated audio_backend_buffer_desired_length_in_seconds (usually 0.2 seconds) before the time in question. * Add xesam:albumArtist and xesam:composer metadata (if available) to the metadata bundle presented in the D-Bus interface. * Add a new metadata item: sps:songdatakind, derived from the asdk metadata token, to the metadata bundle presented in the D-Bus interface. If 0 it seems to indicate an item of a specific duration such as an audio track; if 1 it seems to mean the stream is of unknown duration, for example an internet radio stream. Bug Fixes OBS-URL: https://build.opensuse.org/request/show/1046315 OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/shairport-sync?expand=0&rev=27
2023-01-03 08:18:31 +01:00
Version: 4.1.1
Release: 0
Summary: An AirPlay audio player
License: GPL-3.0-only
Group: Productivity/Multimedia/Sound/Utilities
URL: https://github.com/mikebrady/shairport-sync
Accepting request 711702 from home:hillwood:branches:multimedia:apps - Update version to 3.3.1 * Fix a bug in the MQTT documentation and add sanity checking for the port chosen -- thanks to David Crook. * Fix a bug that caused manual format and rate settings to be ignored -- thanks to Jörg Krause. * Add missing support for format settings S24_LE, S24_BE, S32_LE and S32_BE. * Fix a bug that caused dither to be too loud. * Fix error message for invalid * Automatic Format and Speed Selection for alsa devices. Using the alsa back end, when you specify the output device, Shairport Sync will now, by default, select the best output format and speed. For instance, if your output device is capable of 32-bit operation, it will be selected. In some situations, this will give a noticeable improvement in sound quality – see the discussion of audio improvements below. The greatest bit depth will always be selected, and the lowest speed that is a multiple of 44,100. * Audio Transient Reduction: A Disable Standby feature to eliminate certain faint-but-annoying audible pops and clicks has been added for alsa devices. The setting prevents an output device entering standby mode and thus minimises standby/busy transitions, which can sometimes be heard. It is pretty impressive, especially combined with fixes to the dithering code described below. If you can enable 24- or 32-bit audio output to your output device, you can get even better results. This feature is available in the ALSA back end (standard in Linux) when it is driving output devices that can provide precision delay information, i.e. most hardware output devices and possibly some virtual devices. * New active/inactive program hooks. Basically, these are "deglitched" replacements for play start/play end program hooks. When a play session starts, the system goes active. When the play session ends, the system remains active for a period determined by the active_state_timeout setting, 10 seconds by default. If another play session starts before the period OBS-URL: https://build.opensuse.org/request/show/711702 OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/shairport-sync?expand=0&rev=11
2019-06-24 16:30:57 +02:00
Source0: https://github.com/mikebrady/shairport-sync/archive/%{version}/%{name}-%{version}.tar.gz
Source1: airplay-server.xml
Source2: README.SUSE
# PATCH-FIX-OPENSUSE drop-user-config.patch hillwood@opensuse.org -- Move configuring user account to rpm spec.
# Move configuring user account to rpm spec.
Patch0: drop-user-config.patch
Patch1: harden_shairport-sync.service.patch
BuildRequires: fdupes
BuildRequires: firewall-macros
BuildRequires: gcc-c++
BuildRequires: gnome-common
BuildRequires: pkgconfig
BuildRequires: systemd-rpm-macros
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(avahi-client)
BuildRequires: pkgconfig(libconfig)
BuildRequires: pkgconfig(libdaemon)
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(popt)
BuildRequires: pkgconfig(sndfile)
BuildRequires: pkgconfig(soxr)
BuildRequires: pkgconfig(systemd)
Requires: firewalld
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
%setup -q
%patch0 -p1
cp %{SOURCE2} .
%patch1 -p1
%build
autoreconf -i -f
%configure --with-systemd \
--with-ssl=openssl \
--with-alsa \
--with-pa \
--with-pipe \
--with-avahi \
--with-soxr \
--with-metadata \
--with-configfiles \
--with-convolution
%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 %{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}/man7/shairport-sync.7%{?ext_man}
%{_unitdir}/%{name}.service
%{_sbindir}/rc%{name}
%changelog