File shairport-sync.spec of Package shairport-sync

# spec file for package shairport-sync
#
# Copyright (c) 2017 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 http://bugs.opensuse.org/
#

%define  rcversion  RC10
%define  _version   3.2

Name:           shairport-sync
Version:        3.1.99.10
Release:        0
Summary:        Shairport Sync is an AirPlay audio player
License:        GPL-3.0
URL:            https://github.com/mikebrady/shairport-sync
Source0:        https://github.com/mikebrady/shairport-sync/archive/%{_version}%{rcversion}/%{name}-%{_version}%{rcversion}.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
Group:          Productivity/Multimedia/Sound/Utilities
BuildRequires:  pkgconfig(libpulse)
BuildRequires:  pkgconfig(openssl)
BuildRequires:  pkgconfig(libdaemon)
BuildRequires:  pkgconfig(libconfig)
BuildRequires:  pkgconfig(popt)
BuildRequires:  pkgconfig(alsa)
BuildRequires:  pkgconfig(soxr)
BuildRequires:  pkgconfig(sndfile)
BuildRequires:  pkgconfig(avahi-client)
BuildRequires:  gnome-common
BuildRequires:  systemd
BuildRequires:  gcc-c++
BuildRequires:  fdupes
BuildRequires:  firewall-macros
Requires(pre):  shadow
Requires:       firewalld
%{?systemd_requires}
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%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 -n %{name}-%{_version}%{rcversion}
%patch0 -p1
cp %{SOURCE2} .

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

%install
%make_install
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}

%pre
getent group %{name} &>/dev/null || /usr/sbin/groupadd --system %{name} >/dev/null
getent passwd %{name} &> /dev/null || /usr/sbin/useradd --system -c "%{name} User" \
        -d %{_localstatedir}/%{name} -m -g %{name} -s /usr/sbin/nologin \
        -G audio %{name} >/dev/null
%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
%defattr(-,root,root,-)
%doc README.md RELEASENOTES.md TROUBLESHOOTING.md README.SUSE
%license LICENSES
%config(noreplace) %{_sysconfdir}/shairport-sync.conf
%{_bindir}/%{name}
%dir %{_libexecdir}/firewalld
%dir %{_libexecdir}/firewalld/services
%{_libexecdir}/firewalld/services/airplay-server.xml
%{_mandir}/man7/shairport-sync.7.gz
%{_unitdir}/%{name}.service
%{_sbindir}/rc%{name}

%changelog
openSUSE Build Service is sponsored by