File shairport-sync.spec of Package shairport-sync

# spec file for package shairport-sync
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# 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

Name:           shairport-sync
Version:        3.2.2
Release:        0
Summary:        An AirPlay audio player
License:        GPL-3.0-only
Group:          Productivity/Multimedia/Sound/Utilities
Source1:        airplay-server.xml
Source2:        README.SUSE
# PATCH-FIX-OPENSUSE drop-user-config.patch -- Move configuring user account to rpm spec.
# Move configuring user account to rpm spec.
Patch0:         drop-user-config.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

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

Shairport Sync runs on Linux, FreeBSD and OpenBSD. It does not support AirPlay
video or photo streaming.

%setup -q
%patch0 -p1
cp %{SOURCE2} .

autoreconf -i -f
%configure --with-systemd \
           --with-ssl=openssl \
           --with-pa \
           --with-pipe \
           --with-avahi \
           --with-soxr \
           --with-metadata \
           --with-configfiles \
make %{?_smp_mflags}

mkdir -p %{buildroot}%{_libexecdir}/firewalld/services
install -m 0644 %{SOURCE1} %{buildroot}%{_libexecdir}/firewalld/services/
rm %{buildroot}%{_sysconfdir}/shairport-sync.conf.sample
mkdir -p %{buildroot}%{_sbindir}
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}

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

%service_add_post %{name}.service

%service_del_preun %{name}.service

%service_del_postun %{name}.service

%license LICENSES
%config(noreplace) %{_sysconfdir}/shairport-sync.conf
%dir %{_libexecdir}/firewalld
%dir %{_libexecdir}/firewalld/services