diff --git a/mpd-0.20.22.tar.xz b/mpd-0.20.22.tar.xz deleted file mode 100644 index 678e341..0000000 --- a/mpd-0.20.22.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:78f4c4e2b5b5b4c542037f970c9253486b24e4a52e122d5859cd615b3b9a7cdd -size 807084 diff --git a/mpd-0.21.1.tar.xz b/mpd-0.21.1.tar.xz new file mode 100644 index 0000000..96f1fa7 --- /dev/null +++ b/mpd-0.21.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5674e791a6f3687a312431fd7e14d9d27fc62e21b869ff6b522bf6ba1bb5c069 +size 662308 diff --git a/mpd-configh.patch b/mpd-configh.patch deleted file mode 100644 index 1ad12da..0000000 --- a/mpd-configh.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/src/decoder/plugins/FfmpegDecoderPlugin.cxx -+++ b/src/decoder/plugins/FfmpegDecoderPlugin.cxx -@@ -20,8 +20,8 @@ - /* necessary because libavutil/common.h uses UINT64_C */ - #define __STDC_CONSTANT_MACROS - --#include "lib/ffmpeg/Time.hxx" - #include "config.h" -+#include "lib/ffmpeg/Time.hxx" - #include "FfmpegDecoderPlugin.hxx" - #include "lib/ffmpeg/Domain.hxx" - #include "lib/ffmpeg/Error.hxx" diff --git a/mpd-docs.patch b/mpd-docs.patch new file mode 100644 index 0000000..e821b5d --- /dev/null +++ b/mpd-docs.patch @@ -0,0 +1,30 @@ +Index: mpd-0.21.1/meson.build +=================================================================== +--- mpd-0.21.1.orig/meson.build ++++ mpd-0.21.1/meson.build +@@ -458,8 +458,23 @@ install_data( + ) + + install_data( +- 'AUTHORS', 'COPYING', 'NEWS', 'README.md', +- install_dir: join_paths(get_option('datadir'), 'doc', meson.project_name()), ++ 'AUTHORS', 'NEWS', 'README.md', 'doc/mpdconf.example', ++ install_dir: join_paths(get_option('datadir'), 'doc', 'packages', meson.project_name()), ++) ++ ++install_data( ++ 'doc/mpdconf.example', rename : 'mpd.conf', ++ install_dir: get_option('sysconfdir'), ++) ++ ++install_data( ++ 'doc/mpd.1', ++ install_dir: join_paths(get_option('mandir'), 'man1'), ++) ++ ++install_data( ++ 'doc/mpd.conf.5', ++ install_dir: join_paths(get_option('mandir'), 'man5'), + ) + + if get_option('documentation') diff --git a/mpd-sndfile.patch b/mpd-sndfile.patch new file mode 100644 index 0000000..b5a00fc --- /dev/null +++ b/mpd-sndfile.patch @@ -0,0 +1,20 @@ +From: Luigi Baldoni +Date: 2018-11-09 21:10:34 +0100 +Subject: avoid clash wrt sndfile.h + +sndfile.h is present both in /usr/include and /usr/include/libmodplug +This hack hardcodes the path of the first one. + +Index: mpd-0.21.1/src/decoder/plugins/SndfileDecoderPlugin.cxx +=================================================================== +--- mpd-0.21.1.orig/src/decoder/plugins/SndfileDecoderPlugin.cxx ++++ mpd-0.21.1/src/decoder/plugins/SndfileDecoderPlugin.cxx +@@ -29,7 +29,7 @@ + + #include + +-#include ++#include "/usr/include/sndfile.h" + + static constexpr Domain sndfile_domain("sndfile"); + diff --git a/mpd-zlib.patch b/mpd-zlib.patch new file mode 100644 index 0000000..03473cb --- /dev/null +++ b/mpd-zlib.patch @@ -0,0 +1,20 @@ +From ad597a8ff0b6595dc47ab87732cfe037f1b2e5fc Mon Sep 17 00:00:00 2001 +From: Max Kellermann +Date: Wed, 7 Nov 2018 23:24:58 +0100 +Subject: [PATCH] lib/zlib/meson.build: define ENABLE_ZLIB + +Fixes #414 +--- + src/lib/zlib/meson.build | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/lib/zlib/meson.build b/src/lib/zlib/meson.build +index c697e5228..d690b563d 100644 +--- a/src/lib/zlib/meson.build ++++ b/src/lib/zlib/meson.build +@@ -1,4 +1,5 @@ + zlib_dep = dependency('zlib', required: get_option('zlib')) ++conf.set('ENABLE_ZLIB', zlib_dep.found()) + if not zlib_dep.found() + subdir_done() + endif diff --git a/mpd.changes b/mpd.changes index 3fb9ab0..cb63c01 100644 --- a/mpd.changes +++ b/mpd.changes @@ -1,3 +1,90 @@ +------------------------------------------------------------------- +Fri Nov 9 14:53:54 UTC 2018 - Luigi Baldoni + +- Update to version 0.21.1, fixes (boo#1114607) + * protocol + + allow escaping quotes in filter expressions + + operator "==" never searches substrings in filter + expressions + * decoder + + ffmpeg: fix build failure with non-standard FFmpeg + installation path + + flac: fix linker failure when building without FLAC support + * encoder + + vorbis: fix linker failure when building without Vorbis + decoder + * fix build failure on Linux-PowerPC + * add warning about buggy Boost version 1.67 + * require Meson 0.47.2 because a Meson 0.47.1 bug breaks our + build + version 0.21 + * configuration + + add "include" directive, allows including config files + + incremental "metadata_to_use" setting + * protocol + + "tagtypes" can be used to hide tags + + "find" and "search" can sort + + "outputs" prints the plugin name + + "outputset" sets runtime attributes + + close connection when client sends HTTP request + + new filter syntax for "find"/"search" etc. with negation + * database + + simple: scan audio formats + + proxy: require libmpdclient 2.9 + + proxy: forward `sort` and `window` to server + * player + + hard-code "buffer_before_play" to 1 second, independent of + audio format + + "one-shot" single mode + * input + + curl: download to buffer instead of throttling transfer + + qobuz: new plugin to play Qobuz streams + + tidal: new plugin to play Tidal streams + * tags + + new tags "OriginalDate", "MUSICBRAINZ_WORKID" + * decoder + + ffmpeg: require at least version 11.12 + + gme: try loading m3u sidecar files + + hybrid_dsd: new decoder plugin + + mad: move "gapless_mp3_playback" setting to "decoder" block + + mikmod: require at least version 3.2 + + pcm: support audio/L24 (RFC 3190) + + sidplay: support basic and kernal rom (libsidplayfp) + * resampler + + soxr: flush resampler at end of song + * output + + alsa: non-blocking mode + + alsa: change "dop" and "allowed_formats" settings at + runtime + + ao: fix crash bug due to partial frames + + shout: support the Shine encoder plugin + + sndio: remove support for the broken RoarAudio sndio + emulation + + roar: removed + + httpd_output: support for unix sockets + * mixer + + sndio: new mixer plugin + * encoder + + opus: support for sending metadata using ogg stream + chaining + * listen on $XDG_RUNTIME_DIR/mpd/socket by default + * append hostname to Zeroconf service name + * systemd watchdog support + * require GCC 6 + * build with Meson instead of autotools + * use GTest instead of cppunit + version 0.20.23 + * protocol + + emit "player" idle event when restarting the current song + * fix broken float to s32 conversion + * new clang crash bug workaround + +- Dropped mpd-configh.patch (no longer necessary) + +- Added mpd-zlib.patch, mpd-docs.patch and mpd-sndfile.patch + +- Switched build to meson + ------------------------------------------------------------------- Fri Nov 9 10:25:48 UTC 2018 - olaf@aepfle.de diff --git a/mpd.spec b/mpd.spec index 5e51a77..c18a24a 100644 --- a/mpd.spec +++ b/mpd.spec @@ -23,40 +23,38 @@ %if !%{defined _userunitdir} %define _userunitdir %{_prefix}/lib/systemd/user %endif +%define mver 0.21 Name: mpd -Version: 0.20.22 +Version: 0.21.1 Release: 0 Summary: Music Player Daemon License: GPL-3.0-or-later Group: Productivity/Multimedia/Sound/Players URL: https://www.musicpd.org/ -Source: https://www.musicpd.org/download/mpd/0.20/mpd-%{version}.tar.xz +Source: https://www.musicpd.org/download/mpd/%{mver}/mpd-%{version}.tar.xz Source2: README.%{name} Source3: mpd-user.conf # PATCH-FEATURE-OPENSUSE mpd-mpdconf_suse.patch -- Patch0: %{name}-mpdconf_suse.patch -Patch1: mpd-configh.patch -BuildRequires: autoconf -BuildRequires: automake -%if 0%{?suse_version} > 1315 -BuildRequires: libboost_headers-devel +# PATCH-FIX-UPSTREAM mpd-zlib.patch +Patch2: mpd-zlib.patch +# PATCH-FEATURE-OPENSUSE mpd-docs.patch +Patch3: mpd-docs.patch +# PATCH-FIX-OPENSUSE mpd-sndfile.patch +Patch4: mpd-sndfile.patch +%if 0%{?suse_version} >= 1500 +BuildRequires: libboost_headers-devel >= 1.58 %else -BuildRequires: boost-devel +BuildRequires: boost-devel >= 1.58 %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} >= 1500 BuildRequires: gcc BuildRequires: gcc-c++ %else -%if 0%{?sle_version} == 120200 -# Leap 42.2 -BuildRequires: gcc6 -BuildRequires: gcc6-c++ -%else # Leap 42.3+ / SLE12SP3Backports BuildRequires: gcc7 BuildRequires: gcc7-c++ %endif -%endif #uildRequires: cdrkit-cdrtools-compat %if %{with faad} BuildRequires: faad2-devel @@ -64,8 +62,9 @@ BuildRequires: faad2-devel # BuildRequires: hicolor-icon-theme BuildRequires: libcue-devel -BuildRequires: libmikmod-devel +BuildRequires: libmikmod-devel >= 3.2 BuildRequires: libmp3lame-devel +BuildRequires: meson >= 0.47.2 BuildRequires: pkgconfig # MPD_ENABLE_AUTO_PKG BuildRequires: pkgconfig(alsa) >= 0.9.0 @@ -78,12 +77,13 @@ BuildRequires: pkgconfig(dbus-1) BuildRequires: pkgconfig(expat) BuildRequires: pkgconfig(flac) >= 1.2 BuildRequires: pkgconfig(fluidsynth) >= 1.1 -BuildRequires: pkgconfig(icu-i18n) +BuildRequires: pkgconfig(icu-i18n) >= 50 BuildRequires: pkgconfig(id3tag) BuildRequires: pkgconfig(jack) >= 0.100 -BuildRequires: pkgconfig(libavcodec) >= 53.25 -BuildRequires: pkgconfig(libavformat) >= 53.17 -BuildRequires: pkgconfig(libavutil) >= 51.17 +BuildRequires: pkgconfig(libavcodec) >= 56.1 +BuildRequires: pkgconfig(libavformat) >= 56.1 +BuildRequires: pkgconfig(libavutil) >= 54.3 +BuildRequires: pkgconfig(libcdio) >= 2.0.0 BuildRequires: pkgconfig(libcdio_paranoia) BuildRequires: pkgconfig(libcurl) >= 7.18 BuildRequires: pkgconfig(libgme) @@ -92,9 +92,9 @@ BuildRequires: pkgconfig(libiso9660) %endif BuildRequires: pkgconfig(libmms) >= 0.4 BuildRequires: pkgconfig(libmodplug) -BuildRequires: pkgconfig(libmpdclient) >= 2.2 +BuildRequires: pkgconfig(libmpdclient) >= 2.9 BuildRequires: pkgconfig(libmpg123) -BuildRequires: pkgconfig(libnfs) +BuildRequires: pkgconfig(libnfs) >= 1.11 BuildRequires: pkgconfig(libpulse) >= 0.9.16 BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(libupnp) @@ -120,7 +120,7 @@ BuildRequires: pkgconfig(zziplib) >= 0.13 Requires(pre): %fillup_prereq Requires(pre): pwdutils Requires(pre): shadow -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} >= 1500 BuildRequires: group(audio) Requires(pre): group(audio) %endif @@ -142,119 +142,100 @@ Please read README.mpd how to configure it. %build export CC=gcc export CXX=g++ -test -x "$(type -p gcc-5)" && export CC=gcc-5 -test -x "$(type -p g++-5)" && export CXX=g++-5 -test -x "$(type -p gcc-6)" && export CC=gcc-6 -test -x "$(type -p g++-6)" && export CXX=g++-6 test -x "$(type -p gcc-7)" && export CC=gcc-7 test -x "$(type -p g++-7)" && export CXX=g++-7 -NOCONFIGURE=1 ./autogen.sh -%configure \ - --disable-sidplay \ - --disable-aac \ - --disable-iso9660 \ - \ - --enable-syslog \ - --enable-eventfd \ - --enable-signalfd \ - --enable-poll \ - --enable-epoll \ - --enable-database \ - --enable-daemon \ - --enable-debug \ - --disable-documentation \ - --enable-dsd \ - --enable-fifo \ - --enable-httpd-output \ - --enable-inotify \ - --enable-ipv6 \ - --enable-largefile \ - --disable-soundcloud \ - --disable-libwrap \ - --enable-mikmod \ - --enable-openal \ - --disable-oss \ - --disable-osx \ - --enable-pipe-output \ - --enable-recorder-output \ - --enable-shout \ - --enable-solaris-output \ - --enable-tcp \ - --disable-test \ - --enable-un \ - --enable-vorbis \ - --enable-wave-encoder \ - --disable-werror \ - --enable-icu \ - --enable-iconv \ - --enable-systemd-daemon \ - --enable-libmpdclient \ - --enable-expat \ - --enable-id3 \ - --enable-sqlite \ - --enable-lsr \ - --enable-soxr \ - --enable-curl \ - --enable-smbclient \ - --enable-nfs \ - --enable-cdio-paranoia \ - --enable-mms \ - --enable-webdav \ - --enable-cue \ - --enable-neighbor-plugins \ +%meson \ + -Dsidplay=disabled \ + -Dfaad=disabled \ + -Diso9660=disabled \ + -Dsyslog=enabled \ + -Deventfd=true \ + -Dsignalfd=true \ + -Depoll=true \ + -Ddatabase=true \ + -Ddaemon=true \ + -Ddocumentation=false \ + -Ddsd=true \ + -Dfifo=true \ + -Dhttpd=true \ + -Dinotify=true \ + -Dipv6=enabled \ + -Dsoundcloud=disabled \ + -Dlibwrap=disabled \ + -Dmikmod=enabled \ + -Dopenal=enabled \ + -Doss=disabled \ + -Dpipe=true \ + -Drecorder=true \ + -Dshout=enabled \ + -Dsolaris_output=enabled \ + -Dtcp=true \ + -Dtest=false \ + -Dlocal_socket=true \ + -Dvorbis=enabled \ + -Dwave_encoder=true \ + -Dicu=enabled \ + -Diconv=enabled \ + -Dsystemd=enabled \ + -Dlibmpdclient=enabled \ + -Dexpat=enabled \ + -Did3tag=enabled \ + -Dsqlite=enabled \ + -Dlibsamplerate=enabled \ + -Dsoxr=enabled \ + -Dcurl=enabled \ + -Dsmbclient=enabled \ + -Dnfs=enabled \ + -Dcdio_paranoia=enabled \ + -Dmms=enabled \ + -Dwebdav=enabled \ + -Dcue=true \ + -Dneighbor=true \ %if %{with mpd_iso9660} - --enable-iso9660 \ + -Diso9660=enabled \ %endif - --enable-zlib \ - --enable-bzip2 \ - --enable-upnp \ - --enable-zzip \ - --disable-adplug \ - --enable-audiofile \ + -Dzlib=enabled \ + -Dbzip2=enabled \ + -Dupnp=enabled \ + -Dzzip=enabled \ + -Dadplug=disabled \ + -Daudiofile=enabled \ %if %{with faad} - --enable-aac \ + -Dfaad=enabled \ %endif - --enable-ffmpeg \ - --enable-flac \ - --enable-fluidsynth \ - --enable-gme \ - --enable-mad \ - --enable-mpg123 \ - --enable-modplug \ - --enable-opus \ - --enable-sndfile \ - --disable-mpc \ - --enable-wavpack \ - --disable-wildmidi \ - --enable-shine-encoder \ - --enable-vorbis-encoder \ - --enable-lame-encoder \ - --enable-twolame-encoder \ - --enable-alsa \ - --disable-roar \ - --disable-sndio \ - --disable-haiku \ - --enable-jack \ - --enable-ao \ - --enable-pulse \ - \ - --with-boost=yes \ - --enable-systemd-daemon \ - --with-systemdsystemunitdir=%{_unitdir} \ - --with-systemduserunitdir=%{_userunitdir} -make %{?_smp_mflags} + -Dffmpeg=enabled \ + -Dflac=enabled \ + -Dfluidsynth=enabled \ + -Dgme=enabled \ + -Dmad=enabled \ + -Dmpg123=enabled \ + -Dmodplug=enabled \ + -Dopus=enabled \ + -Dsndfile=enabled \ + -Dmpcdec=disabled \ + -Dwavpack=enabled \ + -Dwildmidi=disabled \ + -Dshine=enabled \ + -Dvorbisenc=enabled \ + -Dlame=enabled \ + -Dtwolame=enabled \ + -Dalsa=enabled \ + -Dsndio=disabled \ + -Djack=enabled \ + -Dao=enabled \ + -Dpulse=enabled \ + -Dsystemd_system_unit_dir=%{_unitdir} \ + -Dsystemd_user_unit_dir=%{_userunitdir} +%meson_build %install -%make_install docdir=%{_docdir}/%{name} -find %{buildroot} -ls +%meson_install # missing dirs install -d \ %{buildroot}%{_localstatedir}/lib/%{name}/playlists \ %{buildroot}%{_sbindir} # additional docs install -m 0644 %{SOURCE2} README.mpd -# copy example mpd.conf -install -Dm0644 %{buildroot}%{_docdir}/%{name}/mpdconf.example %{buildroot}%{_sysconfdir}/mpd.conf cp -a "%{SOURCE3}" "%{buildroot}%{_docdir}/%{name}/" ln -s service %{buildroot}%{_sbindir}/rcmpd @@ -274,7 +255,7 @@ getent passwd mpd >/dev/null || useradd -r -g audio -d %{_localstatedir}/lib/mpd %files %license COPYING -%doc AUTHORS NEWS README.md README.mpd +%doc README.mpd %config(noreplace) %{_sysconfdir}/%{name}.conf %{_bindir}/%{name} %{_sbindir}/rcmpd