Accepting request 647671 from home:alois:branches:multimedia:apps

- 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

OBS-URL: https://build.opensuse.org/request/show/647671
OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/mpd?expand=0&rev=19
This commit is contained in:
Olaf Hering 2018-11-11 11:49:47 +00:00 committed by Git OBS Bridge
parent c0bd9c394e
commit bb938ee9ac
8 changed files with 264 additions and 138 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:78f4c4e2b5b5b4c542037f970c9253486b24e4a52e122d5859cd615b3b9a7cdd
size 807084

3
mpd-0.21.1.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5674e791a6f3687a312431fd7e14d9d27fc62e21b869ff6b522bf6ba1bb5c069
size 662308

View File

@ -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"

30
mpd-docs.patch Normal file
View File

@ -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')

20
mpd-sndfile.patch Normal file
View File

@ -0,0 +1,20 @@
From: Luigi Baldoni <aloisio@gmx.com>
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 <exception>
-#include <sndfile.h>
+#include "/usr/include/sndfile.h"
static constexpr Domain sndfile_domain("sndfile");

20
mpd-zlib.patch Normal file
View File

@ -0,0 +1,20 @@
From ad597a8ff0b6595dc47ab87732cfe037f1b2e5fc Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@musicpd.org>
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

View File

@ -1,3 +1,90 @@
-------------------------------------------------------------------
Fri Nov 9 14:53:54 UTC 2018 - Luigi Baldoni <aloisio@gmx.com>
- 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

227
mpd.spec
View File

@ -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