]> git.pld-linux.org Git - packages/mpd.git/blobdiff - mpd.spec
- up to 0.19.1
[packages/mpd.git] / mpd.spec
index 6db4f3c655f5734875a230902dd36c9f1f1a77ab..12b1db6b36ac14d430eaaa749ed7b3fc2814f8f2 100644 (file)
--- a/mpd.spec
+++ b/mpd.spec
@@ -1,38 +1,89 @@
 # TODO:
 # TODO:
-# - add dir to store playlists and songs DB
 # - add logrotate
 # - add logrotate
-%define beta beta3
+#
+# Conditional build:
+%bcond_without mod             # enable MOD support
+%bcond_without pulseaudio      # disable PulseAudio support
+%bcond_without audiofile       # Audiofile support (WAV and others)
+
 Summary:       Music Player Daemon
 Summary(hu.UTF-8):     Music Player Daemon
 Summary(pl.UTF-8):     Music Player Daemon - demon odtwarzający muzykę
 Name:          mpd
 Summary:       Music Player Daemon
 Summary(hu.UTF-8):     Music Player Daemon
 Summary(pl.UTF-8):     Music Player Daemon - demon odtwarzający muzykę
 Name:          mpd
-Version:       0.14
-Release:       0.%{beta}.1
+Version:       0.19.1
+Release:       1
 License:       GPL v2+
 Group:         Applications/Multimedia
 License:       GPL v2+
 Group:         Applications/Multimedia
-Source0:       http://downloads.sourceforge.net/musicpd/mpd-0.14_beta3.tar.bz2
-# Source0-md5: 02320f13de6a84b53343f3f451c53ed1
+Source0:       http://www.musicpd.org/download/mpd/0.19/%{name}-%{version}.tar.xz
+# Source0-md5: d235f6e53e5442b6926c49946a303f8d
 Source1:       %{name}.conf
 Source2:       %{name}.init
 Source1:       %{name}.conf
 Source2:       %{name}.init
+Source3:       %{name}.sysconfig
+Source4:       %{name}.tmpfiles
+Patch0:                %{name}-mpcsv8.patch
 URL:           http://www.musicpd.org/
 URL:           http://www.musicpd.org/
+BuildRequires: OpenAL-devel
+BuildRequires: adplug-devel
 BuildRequires: alsa-lib-devel >= 0.9.0
 BuildRequires: alsa-lib-devel >= 0.9.0
-BuildRequires: audiofile-devel >= 0.1.7
+%{?with_audiofile:BuildRequires:       audiofile-devel >= 0.3}
+BuildRequires: autoconf >= 2.60
+BuildRequires: automake >= 1:1.11
 BuildRequires: avahi-devel
 BuildRequires: avahi-devel
-BuildRequires: faad2-devel >= 2.6.1
-BuildRequires: flac-devel >= 1.1.0
-BuildRequires: jack-audio-connection-kit-devel >= 0.4
+BuildRequires: boost-devel >= 1.54
+BuildRequires: bzip2-devel
+BuildRequires: curl-devel >= 7.18
+BuildRequires: dbus-devel
+BuildRequires: doxygen
+BuildRequires: expat-devel
+BuildRequires: faad2-devel >= 2.6.1-5
+BuildRequires: ffmpeg-devel
+BuildRequires: flac-devel >= 1.2.0
+BuildRequires: fluidsynth-devel >= 1.1
+BuildRequires: game-music-emu-devel
+BuildRequires: glib2-devel >= 1:2.28.0
+BuildRequires: harfbuzz-icu-devel
+BuildRequires: jack-audio-connection-kit-devel >= 0.100
+BuildRequires: lame-libs-devel
 BuildRequires: libao-devel >= 0.8.3
 BuildRequires: libao-devel >= 0.8.3
+BuildRequires: libcdio-devel
+BuildRequires: libcdio-paranoia-devel
+BuildRequires: libcue-devel
 BuildRequires: libid3tag-devel
 BuildRequires: libmad-devel
 BuildRequires: libid3tag-devel
 BuildRequires: libmad-devel
-BuildRequires: libmikmod-devel >= 3.1.7
-BuildRequires: libmpcdec-devel
+%{?with_mod:BuildRequires:     libmikmod-devel >= 3.1.7}
+BuildRequires: libmms-devel >= 0.4
+BuildRequires: libmodplug-devel
+BuildRequires: libmpdclient-devel >= 2.2
+BuildRequires: libnfs-devel
 BuildRequires: libogg-devel
 BuildRequires: libogg-devel
-BuildRequires: libsamplerate-devel >= 0.0.15
+BuildRequires: libsamplerate-devel >= 0.1.3
 BuildRequires: libshout-devel
 BuildRequires: libshout-devel
+BuildRequires: libsidplay2-devel >= 2.1.1-5
+BuildRequires: libsmbclient-devel >= 0.2
+BuildRequires: libsndfile-devel
+BuildRequires: libstdc++-devel >= 0.2
+BuildRequires: libupnp-devel
+BuildRequires: libwrap-devel
 BuildRequires: libvorbis-devel
 BuildRequires: libvorbis-devel
+BuildRequires: mp4v2-devel
+BuildRequires: musepack-devel
+BuildRequires: opus-devel
 BuildRequires: pkgconfig >= 1:0.9.0
 BuildRequires: pkgconfig >= 1:0.9.0
-BuildRequires: pulseaudio-devel
+%{?with_pulseaudio:BuildRequires:      pulseaudio-devel >= 0.9.16}
+BuildRequires: rpmbuild(macros) >= 1.629-2
+BuildRequires: shine-devel >= 3.1
+BuildRequires: soxr-devel
+BuildRequires: sqlite3-devel
+BuildRequires: systemd-devel
+BuildRequires: twolame-devel
+BuildRequires: wavpack-devel
+BuildRequires: wildmidi-devel
+BuildRequires: xmlto
+BuildRequires: yajl-devel >= 2.0
 BuildRequires: zlib-devel
 BuildRequires: zlib-devel
+BuildRequires: zziplib-devel >= 0.13
+Requires(post,preun,postun):   systemd-units >= 38
+Requires:      systemd-units >= 38
 Provides:      group(mpd)
 Provides:      user(mpd)
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 Provides:      group(mpd)
 Provides:      user(mpd)
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -62,55 +113,198 @@ w sieci lokalnej. Służy także za dobry odtwarzacz muzyki dla
 komputerów biurkowych, zwłaszcza dla miłośników konsoli, różnych opcji
 frontendów albo często restartujących X.
 
 komputerów biurkowych, zwłaszcza dla miłośników konsoli, różnych opcji
 frontendów albo często restartujących X.
 
+%package apidocs
+Summary:       MPD API documentation
+Summary(pl.UTF-8):     Dokumentacja API biblioteki API
+Group:         Documentation
+
+%description apidocs
+API and internal documentation for MPD library.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja API biblioteki MPD.
+
+%package doc
+Summary:       Documentation for Music Player Daemon (MPD)
+Summary(fr.UTF-8):     Documentation pour Music Player Daemon (MPD)
+Summary(it.UTF-8):     Documentazione di Music Player Daemon (MPD)
+Summary(pl.UTF-8):     Podręcznik dla Music Player Daemon (MPD)
+Group:         Documentation
+
+%description doc
+Documentation for Music Player Daemon (MPD).
+
+%description doc -l fr.UTF-8
+Documentation pour Music Player Daemon (MPD).
+
+%description doc -l it.UTF-8
+Documentazione di Music Player Daemon (MPD).
+
+%description doc -l pl.UTF-8
+Dokumentacja do Music Player Daemon (MPD).
+
 %prep
 %prep
-%setup -q -n %{name}-%{version}~%{beta}
+%setup -q
+%patch0 -p1
 
 %build
 
 %build
+%{__aclocal} -I m4
+%{__autoconf}
+%{__autoheader}
+%{__automake}
 # ac_cv_* hacks to avoid unwanted linking
 # ac_cv_* hacks to avoid unwanted linking
+GME_CFLAGS="-I/usr/include/gme" GME_LIBS="-lgme" \
 %configure \
        ac_cv_lib_iconv_main=no \
        ac_cv_lib_nsl_gethostbyname=no \
 %configure \
        ac_cv_lib_iconv_main=no \
        ac_cv_lib_nsl_gethostbyname=no \
-       --enable-ao
+       %{!?with_pulseaudio:--disable-pulse} \
+       %{?with_mod:--enable-mikmod} \
+       --enable-adplug \
+       --enable-alsa \
+       --enable-ao \
+       %{?with_audiofile:--enable-audiofile} \
+       --enable-bzip2 \
+       --enable-cdio-paranoia \
+       --enable-curl \
+       --enable-database \
+       --enable-documentation \
+       --enable-dsd \
+       --enable-expat \
+       --enable-ffmpeg \
+       --enable-fifo \
+       --enable-flac \
+       --enable-fluidsynth \
+       --enable-gme \
+       --enable-httpd-output \
+       --enable-icu \
+       --enable-id3 \
+       --enable-inotify \
+       --enable-ipv6 \
+       --enable-iso9660 \
+       --enable-jack \
+       --enable-lame-encoder \
+       --enable-libmpdclient \
+       --enable-libwrap \
+       --enable-lsr \
+       --enable-mad \
+       --enable-mikmod \
+       --enable-mms \
+       --enable-modplug \
+       --enable-mp4v2 \
+       --enable-mpc \
+       --enable-nfs \
+       --enable-openal \
+       --enable-opus \
+       --enable-oss \
+       --enable-pipe-output \
+       --enable-recorder-output \
+       --enable-sidplay \
+       --enable-shine \
+       --enable-shout \
+       --enable-smbclient \
+       --enable-sndfile \
+       --enable-soundcloud \
+       --enable-soxr \
+       --enable-sqlite \
+       --enable-systemd-daemon \
+       --enable-tcp \
+       --enable-twolame-encoder \
+       --enable-upnp \
+       --enable-un \
+       --enable-vorbis \
+       --enable-vorbis-encoder \
+       --enable-wave-encoder \
+       --enable-wavpack \
+       --enable-wildmidi \
+       --enable-zeroconf \
+       --enable-zlib \
+       --enable-zzip \
+       --with-zeroconf=avahi \
+       --without-tremor \
+       --with-systemdsystemunitdir=%{systemdunitdir}
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{rc.d/init.d,sysconfig}} \
+       $RPM_BUILD_ROOT{/var/lib/mpd/playlists,/var/log/mpd,/var/run/mpd} \
+       $RPM_BUILD_ROOT%{systemdtmpfilesdir}
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
-install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/rc.d/init.d}
-install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/mpd
+cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}
+install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/mpd
+cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/mpd
+install %{SOURCE4} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
+
+touch $RPM_BUILD_ROOT/var/lib/mpd/mpd.db
+touch $RPM_BUILD_ROOT/var/lib/mpd/mpdstate
+touch $RPM_BUILD_ROOT/var/lib/mpd/sticker.sql
+touch $RPM_BUILD_ROOT/var/log/mpd/mpd.log
+
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/mpd
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %pre
 %groupadd -g 204 mpd
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %pre
 %groupadd -g 204 mpd
-%useradd -u 204 -r -d /home/services/mpd -s /bin/false -c "Music Player Daemon (MPD) user" -g audio -G mpd mpd
+%useradd -u 204 -r -d /var/lib/mpd -s /bin/false -c "Music Player Daemon (MPD) user" -G audio -g mpd mpd
 
 %post
 
 %post
+for f in mpd.log; do
+       if [ ! -f /var/log/%{name}/$f ]; then
+               touch /var/log/%{name}/$f
+               chown mpd:mpd /var/log/%{name}/$f
+               chmod 644 /var/log/%{name}/$f
+       fi
+done
 /sbin/chkconfig --add mpd
 /sbin/chkconfig --add mpd
+%systemd_post %{name}.service %{name}.socket
 
 %preun
 if [ "$1" = "0" ]; then
        %service mpd stop
 
 %preun
 if [ "$1" = "0" ]; then
        %service mpd stop
-       /sbin/chkconfig --del httpd
+       /sbin/chkconfig --del mpd
 fi
 fi
+%systemd_preun %{name}.service %{name}.socket
 
 %postun
 if [ "$1" = "0" ]; then
        %userremove mpd
        %groupremove mpd
 fi
 
 %postun
 if [ "$1" = "0" ]; then
        %userremove mpd
        %groupremove mpd
 fi
+%systemd_reload
 
 
+%triggerpostun -- %{name} < 0.16.6-1
+%systemd_trigger %{name}.service
 
 %files
 %defattr(644,root,root,755)
 
 %files
 %defattr(644,root,root,755)
-%doc AUTHORS NEWS README TODO doc/mpdconf.example UPGRADING doc/protocol.html
+%doc AUTHORS INSTALL NEWS README doc/mpdconf.example
 %attr(755,root,root) %{_bindir}/*
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mpd.conf
 %attr(754,root,root) /etc/rc.d/init.d/mpd
 %attr(755,root,root) %{_bindir}/*
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mpd.conf
 %attr(754,root,root) /etc/rc.d/init.d/mpd
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mpd
+%{systemdtmpfilesdir}/%{name}.conf
+%{systemdunitdir}/mpd.service
+%{systemdunitdir}/mpd.socket
+%dir %attr(770,root,mpd) /var/lib/%{name}
+%dir %attr(770,root,mpd) /var/lib/%{name}/playlists
+%dir %attr(751,root,root) /var/log/%{name}
+%dir %attr(770,root,mpd) /var/run/%{name}
+%attr(644,mpd,mpd) %ghost /var/lib/%{name}/mpd.db
+%attr(644,mpd,mpd) %ghost /var/lib/%{name}/mpdstate
+%attr(644,mpd,mpd) %ghost /var/lib/%{name}/sticker.sql
+%attr(644,mpd,mpd) %ghost /var/log/%{name}/mpd.log
 %{_mandir}/man1/mpd.1*
 %{_mandir}/man5/mpd.conf.5*
 %{_mandir}/man1/mpd.1*
 %{_mandir}/man5/mpd.conf.5*
+
+%files doc
+%defattr(644,root,root,755)
+%doc doc/user/*
+
+%files apidocs
+%defattr(644,root,root,755)
+%doc doc/api doc/developer doc/protocol
This page took 0.079038 seconds and 4 git commands to generate.