mpd/mpd.spec
Илья Индиго 4c1b3267f5 Accepting request 779782 from home:13ilya:branches:multimedia:apps
- Update to 0.21.20
  * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.21.20/NEWS
  * decoder
    * audiofile, ffmpeg, sndfile: handle MIME type "audio/wav"
    * ffmpeg: fix playback of AIFF and TTA
    * vorbis, opus: fix seeking in small files
  * fix backwards seeking on ARM (and other non-x86 CPUs)
- Update to 0.21.19
  * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.21.19/NEWS
  * configuration
    * allow overriding top-level settings in includes
  * output
    * pulse: obey Pulse's maximum sample rate (fixes DSD128 playback)
  * fix build failure with clang 10
  * fix build failure with Android NDK r20
- Update to 0.21.18
  * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.21.18/NEWS
  * protocol
    * work around Mac OS X bug in the ISO 8601 parser
  * output
    * alsa: fix hang bug with ALSA "null" outputs
  * storage
    * curl: fix crash bug
  * drop support for CURL versions older than 7.32.0
  * reduce unnecessary CPU wakeups
- Update to 0.21.17
  * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.21.17/NEWS
  * protocol
    * relax the ISO 8601 parser: allow omitting field separators,
      the time of day and the "Z" suffix
  * archive
    * zzip: improve error reporting
  * outputs
    * jack: mark ports as terminal
    * shout: declare metadata as UTF-8
  * fix build failure with -Ddatabase=false
- Update to 0.21.16
  * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.21.16/NEWS
  * fix build with iconv() instead of ICU
  * queue
    * fix relative destination offset when moving a range
  * storage
    * curl: request the "resourcetype" property to fix database update
    * curl: URL-encode more paths
    * curl: follow redirects for collections without trailing slash
  * update
    * fix crash when music_directory is not a directory
- Refresh spec-file via spec-cleaner and manual optimizations
  * specified the correct license GPL-2.0-or-later
  * remove openSUSE Leap 42.3 support
  * remove obsolete version limitation in BuildRequire macros
  * renumber Source and Patch
- Update to 0.21.15
  * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.21.15/NEWS
  * fix crash bug (0.21.9 regression)
  * decoder
    * opus: fix duplicate tags
    * wildmidi: log error if library initialization fails
    * mad: update bit rate after seeking
    * mad: fix several bugs preventing the plugin from decoding the last frame
    * opus: ignore case in replay gain tag names
    * opus, vorbis: decode the "end of stream" packet
    * mad: fix crackling sound (0.21.12 regression)
    * sidplay: show track durations in database
    * sidplay: convert tag values from Windows-1252 charset
    * sidplay: strip text from "Date" tag
    * dsdiff, dsf: fix displayed bit rate
    * mpcdec: fix bogus ReplayGain values
  * input
    * tidal: deprecated because Tidal has changed the protocol
    * cdio_paranoia: require libcdio-paranoia 10.2+0.93+1
  * output
    * httpd: reject some well-known URIs
    * alsa: fix busy loop while draining
    * alsa: fix missing drain call
    * alsa: improve xrun-avoiding silence generator
    * alsa: log when generating silence due to slow decoder
    * alsa, osx: fix distortions with DSD_U32 and DoP on 32 bit CPUs
    * jack: fix mono-to-stereo conversion
    * jack: improved Windows compatibility
  * player
    * don't restart unseekable song after failed seek attempt
    * fix crash after song change
    * fix seek position after restarting the decoder
  * protocol
    * fix "list" with multiple "group" levels
    * include command name in error responses 
- Remove patch GCC9-buildfix.patch (upsteamed)
- Update to version 0.21.9
  * input
    - buffer: fix deadlock bug
    - smbclient: download to buffer instead of throttling transfer
    - qobuz/tidal: scan tags when loading a playlist
    - cdio_paranoia: fix build failure due to missing #include
    - buffer: fix crash bug when playing remote WAV file
  * output
    - httpd: add missing mutex lock
    - httpd: fix use-after-free bug
    - pulse: work around error with unusual channel count
    - osx: fix build failure
    - shout: add support for TLS
    - httpd: declare protocol "HTTP/1.1" instead of "ICY"
    - alsa: fix crash bug
    - alsa: fix stuttering at start of playback
    - alsa: fix discarded samples at end of song
    - alsa: clear error after reopening device
  * playlist
    - soundcloud: fix "Unsupported URI scheme" (0.21.6 regression)
    - flac: fix use-after-free bug
  * protocol
    - allow loading playlists specified as absolute filesystem paths
    - fix negated filter expressions with multiple tag values
    - fix "list" with filter expression
    - omit empty playlist names in "listplaylists"
    - fix deadlock in "albumart" command
    - fix "tagtypes disable" command
  * decoder
    - opus: fix replay gain when there are no other tags
    - opus: fix seeking to beginning of song
    - vorbis: fix Tremor conflict resulting in crash
  * database
    - simple: fix assertion failure
    - fix assertion failures with mount points
    - inotify: fix crash bug "terminate called after throwing ..."
    - upnp: implement "list ... group"
  * storage
    - udisks: fix "AlreadyMounted" error
    - udisks: use relative path from mount URI
    - fix memory leak
  * tags
    - ape: map "Album Artist"
  * mixer
    - pulse: add "scale_volume" setting
  * fix spurious "single" mode bug
  * fix Bonjour bug
  * fix build failure with GCC 9
  * fix build failure with -Ddatabase=false
  * systemd: add user socket unit
  * doc: "list file" is deprecated
  * require Meson 0.49.0 for native libgcrypt-config support
  * fix build failure with -Dlocal_socket=false
  * support abstract sockets on Linux
  * remove libwrap support
  * log: default to journal if MPD was started as systemd service
- drop GCC9-buildfix.patch
- Add GCC9-buildfix.patch
- bsc#1129905: uncomment audio_output field
  * Update mpd-mpdconf_suse.patch
- Update to version 0.21.2
  * protocol
    - operator "=~" matches a regular expression
    - operator "contains" matches substrings
  * decoder
    - ffmpeg: require FFmpeg 3.1 or later
    - ffmpeg: fix broken sound with certain codecs
  * output
    - alsa: fix high CPU usage with dmix
    - httpd: fix three crash bugs
  * mixer
    - alsa: fix more rounding errors
  * fix zlib support
- Remove mpd-zlib.patch which was already merged upstream.
- Add systemd pre(un)/post(un) macros for mpd.socket
- buildrequire libgcrypt-devel to fix build
- 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
- Make iso9660 support optional (gh#173)
- Update to version 0.20.22
  * protocol
    + add tag fallbacks for AlbumArtistSort, ArtistSort
    + fix empty string filter on fallback tags
    + "count group ..." can print an empty group
    + fix broken command "list ... group"
  * storage
    + curl: URL-encode paths
  * decoder
    + fluidsynth: adapt to API change in version 2.0
  * Android
    + now runs as a service
    + add button to start/stop MPD
    + add option to auto-start on boot
  * work around clang bug leading to crash
  * install the SVG icon
  
- Dropped mpd-fluidsynth.patch (no longer necessary)
- Update to ver 0.20.21 (2018/08/17)
  * database
    - proxy: add "password" setting
    - proxy: support tags "ArtistSort", "AlbumArtistSort", "AlbumSort"
    - simple: allow .mpdignore comments only at start of line
    - proxy: fix "search already in progress" errors
    - proxy: implement "list ... group"
  * decoder
    - dsdiff, dsf: support more MIME types
    - dsdiff, dsf: allow 4 MB ID3 tags
    - opus: support R128_ALBUM_GAIN tag
    - ffmpeg: fix av_register_all() deprecation warning (FFmpeg 4.0)
  * input
    - mms: fix lockup bug and a crash bug
  * output
    - httpd: remove broken DLNA support code
    - pulse: cork stream when paused due to "single" mode
  * playlist
    - cue: support file type declaration "FLAC" (non-standard)
  * player
    - fix spurious "Not seekable" error when switching radio streams
  * protocol
    - fix "modified-since" filter regression
    - validate absolute seek time, reject negative values
  * URI schemes are case insensitive
- deal with API change in fluidsynth with mpd-fluidsynth.patch
- use autosetup
- Update to version 0.20.18:
  * input
    - curl: allow authentication methods other than "Basic"
  * decoder
    - flac: improve seeking precision
  * fix gapless CUE song transitions
- Update to version 0.20.17:
  * output
    - alsa: fix crash bug with 8 channels
  * mixer
    - alsa: fix rounding error at volume 0
- Update to version 0.20.16:
  * output
    - pulse: fix crash during auto-detection
  * database
    - simple: fix search within mount points
    - upnp: enable IPv6
  * archive
    - iso9660: libcdio 2.0 compatibility
- Update to version 0.20.15:
  * queue: fix crash after seek failure
  * resampler
    - soxr: clear internal state after manual song change
  * state file
    - make mount point restore errors non-fatal
    - fix crash when restoring mounts with incompatible database
      plugin
- Run spec-cleaner
- Adjust usage of gccN for Leap42 and SLE12
- Update to version 0.20.14 (2018/01/01)
  * database
  - simple: fix file corruption in the presence of mount points
  * archive
    - bz2: fix deadlock
    - reduce lock contention, fixing lots of xrun problems
  ver 0.20.13 (2017/12/18)
  * mixer
    - alsa: fix rounding errors
  * database
    - simple: don't purge mount points on update/rescan
    - simple: fix "mount" bug caused by bad compiler optimization
    - simple: fix "lsinfo" into mount points
    - upnp: work around libupnp 1.6.24 API breakage
  * queue: fix spuriously misplaced prioritized songs
  * save and restore mountpoints within the state file
  
  ver 0.20.12 (2017/11/25)
  * database
    - upnp: adapt to libupnp 1.8 API changes
  * input
    - cdio_paranoia, ffmpeg, file, smbclient: reduce lock
      contention, fixing lots of xrun problems
    - curl: fix seeking
  * decoder
    - ffmpeg: fix GCC 8 warning
    - vorbis: fix Tremor support
  * player
    - log message when decoder is too slow
  * encoder
    - vorbis: default to quality 3
  * output
    - fix hanging playback with soxr resampler
    - httpd: flush encoder after tag; fixes corrupt Vorbis stream
  
  ver 0.20.11 (2017/10/18)
  * storage
    - curl: support Content-Type application/xml
  * decoder
    - ffmpeg: more reliable song duration
    - gme: fix track numbering
  * improve random song order when switching songs manually
  * fix case insensitive search without libicu
  * fix endless loop when accessing malformed file names in ZIP files
  
  ver 0.20.10 (2017/08/24)
  * decoder
    - ffmpeg: support MusicBrainz ID3v2 tags
  * tags
    - aiff: fix FORM chunk size endianess (is big-endian)
  * fix crash when resuming playback before decoder is ready
- Build unconditional with libmpdclient again
- [from packman] Disable sidplay, use qmmp or QMPlay2 instead
- Make also libmpdclient conditional: it is not present in TW
- Update copyright notice and bugzilla link for openSUSE
- Follow guideline on
  https://en.opensuse.org/openSUSE:Packaging_guidelines#Users_and_Groups
  for the creation of the user "mpd"
- Updated mpd-mdpconf_suse.patch to make pulse default instead of
  alsa
- Do not use compiler test but condition it
- Update README.mpd for systemd and pulse and remove German section
- Update to ver 0.20.9 (2017/06/04)
  * decoder
  - ffmpeg: support *.adx
  * playlist
  - m3u: support MIME type `audio/mpegurl`
  * database
  - simple: fix false positive directory loop detection with NFS
  * enforce a reasonable minimum audio_buffer_size setting
  * cap buffer_before_play at 80%% to prevent deadlock
- Update to ver 0.20.6 (2017/03/10)
  * input
  - curl: fix headers after HTTP redirect to Shoutcast server
  * decoder
  - ffmpeg: re-enable as fallback
  - mpcdec: fix crash (division by zero) after seeking
  - sidplay: make compatible with libsidplayfp < 1.8
  * fix stream tags after automatic song change
  * workaround for GCC 4.9.4 / libstdc++ bug (build failure)
- Update to ver 0.20.5 (2017/02/20)
  * tags
  - id3: fix memory leak on corrupt ID3 tags
  * decoder
  - sidplay: don't require libsidutils when building with libsidplayfp
  * output
  - httpd: fix two buffer overflows in IcyMetaData length calculation
  * mixer
  - alsa: fix crash bug
- enable shine, sidplay, opus, upnp, nfs, smbclient, soxr
- use built-in systemd files
- drop sysv init
- Update to ver 0.20.4 (2017/02/01)
  * input
  - nfs: fix freeze after reconnect
  * output
  - sndio: work around a libroar C++ incompatibility
  * workaround for GCC 4.9 "constexpr" bug
  ver 0.20.3 (2017/01/25)
  * protocol
  - "playlistadd" creates new playlist if it does not exist, as documented
  * database
  - proxy: fix error "terminate called after throwing ..."
  - proxy: make connect errors during startup non-fatal
  * neighbor
  - upnp: fix premature expiry
  * replay gain: don't reset ReplayGain levels when unpausing playback
  * silence surround channels when converting from stereo
  * use shortcuts such as "dsd64" in log messages
  ver 0.20.2 (2017/01/15)
  * input
  - alsa: fix crash bug
  - alsa: fix buffer overruns
  * decoder
  - flac: add options "probesize" and "analyzeduration"
  * resampler
  - libsamplerate: reset state after seeking
  * output
  - fix static noise after changing to a different audio format
  - alsa: fix the DSD_U32 sample rate
  - alsa: fix the DSD_U32 byte order
  - alsa: support DSD_U16
  - recorder: fix error "Failed to create : No such file or directory"
  * playlist
  - cue: fix skipping songs
  ver 0.20.1 (2017/01/09)
  * input
  - curl: fix crash bug
  - curl: fix freeze bug
  * decoder
  - wavpack: fix crash bug
  * storage
  - curl: new storage plugin for WebDAV (work in progress)
  * mixer
  - alsa: normalize displayed volume according to human perception
  * fix crash with volume_normalization enabled
  ver 0.20 (2017/01/04)
  * protocol
  - "commands" returns playlist commands only if playlist_directory configured
  - "search"/"find" have a "window" parameter
  - report song duration with milliseconds precision
  - "sticker find" can match sticker values
  - drop the "file:///" prefix for absolute file paths
  - add range parameter to command "plchanges" and "plchangesposid"
  - send verbose error message to client
  * input
  - curl: fix memory leak
  * tags
  - ape, ogg: drop support for non-standard tag "album artist"
    affected filetypes: vorbis, flac, opus & all files with ape2 tags
    (most importantly some mp3s)
  - id3: remove the "id3v1_encoding" setting; by definition, all ID3v1 tags
    are ISO-Latin-1
  - ape: support APE replay gain on remote files
  - read ID3 tags from NFS/SMB
  * decoder
  - improved error logging
  - report I/O errors to clients
  - ffmpeg: support ReplayGain and MixRamp
  - ffmpeg: support stream tags
  - gme: add option "accuracy"
  - gme: provide the TRACK tag
  - gme: faster scanning
  - mad: reduce memory usage while scanning tags
  - mpcdec: read the bit rate
  - pcm: support audio/L16 (RFC 2586) and audio/x-mpd-float
  - sidplay: faster scanning
  - wavpack: large file support
  - wavpack: support DSD (WavPack 5)
  - wavpack: archive support
  * playlist
  - cue: don't skip pregap
  - embcue: fix last track
  - flac: new plugin which reads the "CUESHEET" metadata block
  * output
  - alsa: fix multi-channel order
  - alsa: remove option "use_mmap"
  - alsa: support DSD_U32
  - alsa: disable DoP if it fails
  - jack: reduce CPU usage
  - pulse: set channel map to WAVE-EX
  - recorder: record tags
  - recorder: allow dynamic file names
  - sndio: new output plugin
  * mixer
  - null: new plugin
  * resampler
  - new block "resampler" in configuration file
    replacing the old "samplerate_converter" setting
  - soxr: allow multi-threaded resampling
  * player
  - reset song priority on playback
  - reduce xruns
  * write database and state file atomically
  * always write UTF-8 to the log file.
  * remove dependency on GLib
  * support libsystemd (instead of the older libsystemd-daemon)
  * database
  - proxy: add TCP keepalive option
  * update
  - apply .mpdignore matches to subdirectories
  * switch the code base to C++14
  - GCC 4.9 or clang 3.4 (or newer) recommended
  ver 0.19.21 (2016/12/13)
  * decoder
  - ffmpeg: fix crash bug
  * fix unit test failure after recent "setprio" change
  * systemd: add user unit
  ver 0.19.20 (2016/12/09)
  * protocol
  - "setprio" re-enqueues old song if priority has been raised
  * decoder
  - ffmpeg: ignore empty packets
  - pcm: fix corruption bug with partial frames (after short read)
  - sidplay: fix playback speed with libsidplayfp
  * output
  - winmm: fix 8 bit playback
  * fix gcc 7.0 -Wimplicit-fallthrough
  * systemd: paranoid security settings
  ver 0.19.19 (2016/08/23)
  * decoder
  - ffmpeg: bug fix for FFmpeg 3.1 support
  - wildmidi: support libWildMidi 0.4
  * output
  - pulse: support 32 bit, 24 bit and floating point playback
  * fix clang 3.9 warnings
  ver 0.19.18 (2016/08/05)
  * decoder
  - ffmpeg: fix crash with older FFmpeg versions (< 3.0)
  - ffmpeg: log detailed error message
  - ffmpeg: support FFmpeg 3.1
  - sidplay: detect libsidplay2 with pkg-config
  - sidplay: log detailed error message
  - sidplay: read the "date" tag
  - sidplay: allow building with libsidplayfp instead of libsidplay2
  * output
  - shout: recognize setting "encoder" instead of "encoding"
  * fix memory leak after stream failure
  * fix build failure with Boost 1.61
  * require gcc 4.7 or newer
- Update to ver 0.19.17 (2016/07/09)
  * decoder
  - flac: fix assertion failure while seeking
  - flac: fix stream duration indicator
  - fix seek problems in several plugins
  * fix spurious seek error "Failed to allocate silence buffer"
  * replay gain: fix "replay_gain_handler mixer" setting
  * DSD: use 0x69 as silence pattern
  * fix use-after-free bug on "close" and "kill"
  ver 0.19.16 (2016/06/13)
  * faster seeking
  * fix system include path order
  * add missing DocBook file to tarball
  ver 0.19.15 (2016/04/30)
  * decoder
  - ffmpeg: support FFmpeg 3.0
  - ffmpeg: use as fallback instead of "mad" if no plugin matches
  - opus: support bigger OpusTags packets
  * fix more build failures on non-glibc builds due to constexpr Mutex
  * fix build failure due to missing include
  * fix unit test on Alpha
  ver 0.19.14 (2016/03/18)
  * decoder
  - dsdiff: fix off-by-one buffer overflow
  - opus: limit tag size to 64 kB
  * archive
  - iso9660: fix buffer overflow
  * fix quadratic runtime bug in the tag pool
  * fix build failures on non-glibc builds due to constexpr Mutex
  ver 0.19.13 (2016/02/23)
  * tags
  - aiff, riff: fix ID3 chunk padding
  * decoder
  - ffmpeg: support the TAK codec
  * fix disappearing duration of remote songs during playback
  * initialize supplementary groups with glibc 2.19+
  ver 0.19.12 (2015/12/15)
  * fix assertion failure on malformed UTF-8 tag
  * fix build failure on non-Linux systems
  * fix LimitRTTIME in systemd unit file
  ver 0.19.11 (2015/10/27)
  * tags
  - ape: fix buffer overflow
  * decoder
  - ffmpeg: fix crash due to wrong avio_alloc_context() call
  - gme: don't loop forever, fall back to GME's default play length
  * encoder
  - flac: fix crash with 32 bit playback
  * mixer
  - fix mixer lag after enabling/disabling output
- Use pkgconfig for ffmpeg BuildRequires
- Update to ver 0.19.10 (2015/06/21)
  * input
  - curl: fix deadlock on small responses
  - smbclient: fix DFF playback
  * decoder
  - ffmpeg: improve seeking accuracy
  - fix stuck stream tags
  * encoder
  - opus: fix bogus granulepos
  * output
  - fix failure to open device right after booting
  * neighbor
  - nfs: fix deadlock when connecting
  * fix "single" mode breakage due to queue edits
-Update to version 0.19.9:
  + Decoder:
  * dsdiff, dsf: raise ID3 tag limit to 1 MB.
  + Playlist:
  * Fix loading duplicate tag types from state file.
  + Despotify:
  * Remove defunct plugin.
  + Fix clock integer overflow on OS X.
  + Fix gcc 5.0 warnings.
  + Fix build failure with uClibc.
  + Fix build failure on non-POSIX operating systems.
  + Fix dependency issue on parallel Android build.
  + Fix database/state file saving on Windows.
- Changes from version 0.19.8:
  + Input:
  * curl: Fix bug after rewinding from end-of-file.
  * mms: Reduce delay at the beginning of playback.
  + Decoder:
  * dsdiff, dsf: Allow ID3 tags larger than 4 kB.
  * ffmpeg: Support interleaved floating point.
  + Fix clang 3.6 warnings.
  + Fix build failure on NetBSD.
- Changes from version 0.19.7:
  + Input:
  * nfs: Fix crash while canceling a failing file open operation.
  * nfs: Fix memory leak on connection failure.
  * nfs: Fix reconnect after mount failure.
  * nfs: Implement mount timeout (60 seconds).
  + Storage:
  * nfs: Implement I/O timeout (60 seconds).
  + Playlist:
  * embcue: Fix filename suffix detection.
  * Don't skip non-existent songs in "listplaylist".
  + Decoder:
  * ffmpeg: Fix time stamp underflow.
  + Fix memory allocator bug on Windows.
- Changes from version 0.19.6:
  + Decoder:
  * ffmpeg: Support FFmpeg 2.5.
  + Fix build failure with musl.
  + Android:
  * Update libFLAC to 1.3.1.
  * Update FFmpeg to 2.5.
- Changes from version 0.19.5:
  + Input:
  * nfs: Fix crash on connection failure.
  + Archive:
  * zzip: Fix crash after seeking.
  + Decoder:
  * dsdiff, dsf, opus: Fix deadlock while seeking.
  * mp4v2: Remove because of incompatible license.
- Update spec file to add lame support.
-Update to version 0.19.4:
  + Protocol:
  * Workaround for buggy clients that send "add /".
  + Decoder:
  * Ffmpeg: support opus.
  * Opus: add MIME types audio/ogg and application/ogg.
  * Fix crash on failed filename charset conversion.
  * Fix local socket detection from uid=0 (root).
- Changes from version 0.19.3:
  + Protocol:
  * Fix "(null)" result string to "list" when AlbumArtist is
    disabled.
  + Database:
  * Upnp: fix breakage due to malformed URIs.
  + Input:
  * Curl: another fix for redirected streams.
  + Decoder
  * Audiofile: fix crash while playing streams.
  * Audiofile: fix bit rate calculation.
  * Ffmpeg: support opus.
  * Opus: fix bogus duration on streams.
  * Opus: support chained streams.
  * Opus: improved error logging.
  + Fix distorted audio with soxr resampler.
- Changes from version 0.19.2:
  + Input:
  * Curl: fix redirected streams.
  + Playlist:
  * Don't allow empty playlist name.
  * M3u: don't ignore unterminated last line.
  * M3u: recognize the file suffix ".m3u8".
  + Decoder:
  * Ignore URI query string for plugin detection.
  * Faad: remove workaround for ancient libfaad2 ABI bug.
  * Ffmpeg: recognize MIME type audio/aacp.
  * Mad: fix negative replay gain values.
  + Output:
  * Fix memory leak after filter initialization error.
  * Fall back to PCM if given DSD sample rate is not supported.
  + Fix assertion failure on unsupported PCM conversion.
  + Auto-disable plugins that require GLib when --disable-glib is
    used.
- Changes from version 0.19.1:
  + Input:
  * Mms: fix deadlock bug.
  + Playlist:
  * Extm3u: fix Extended M3U detection.
  * M3u, extm3u, cue: fix truncated lines.
  + Add missing file systemd/mpd.socket to tarball.
- Changes from version 0.19:
  + Protocol:
  * new commands "addtagid", "cleartagid", "listfiles",
    "listmounts", "listneighbors", "mount", "rangeid", "unmount".
  * "lsinfo" and "readcomments" allowed for remote files.
  * "listneighbors" lists file servers on the local network.
  * "playlistadd" supports file:///.
  * "idle" with unrecognized event name fails.
  * "list" on album artist falls back to the artist tag.
  * "list" and "count" allow grouping.
  * New "search"/"find" filter "modified-since".
  * "seek*" allows fractional position.
  * Close connection after syntax error.
  + Database:
  * Proxy: forward "idle" events.
  * Proxy: forward the "update" command.
  * Proxy: copy "Last-Modified" from remote directories.
  * Simple: compress the database file using gzip.
  * Upnp: new plugin.
  * Cancel the update on shutdown.
  + Storage:
  * music_directory can point to a remote file server.
  * Nfs: new plugin.
  * Smbclient: new plugin.
  + Playlist:
  * Cue: fix bogus duration of the last track.
  * Cue: restore CUE tracks from state file.
  * Soundcloud: use https instead of http.
  * Soundcloud: add default API key.
  + Archive:
  * Read tags from songs in an archive.
  + Input:
  * Alsa: new input plugin.
  * Curl: options "verify_peer" and "verify_host".
  * Ffmpeg: update offset after seeking.
  * Ffmpeg: improved error messages.
  * Mms: non-blocking I/O.
  * Nfs: new input plugin.
  * Smbclient: new input plugin.
  + Filter
  * Volume: improved software volume dithering.
  + Decoder:
  * Vorbis, flac, opus: honor DESCRIPTION= tag in Xiph-based
    files as a comment to the song.
  * Audiofile: support scanning remote files.
  * Audiofile: log libaudiofile errors.
  * Dsdiff, dsf: report bit rate.
  * Dsdiff, dsf: implement seeking.
  * Dsf: support DSD512.
  * Dsf: support multi-channel files.
  * Dsf: fix big-endian bugs.
  * Dsf: fix noise at end of malformed file.
  * Mpg123: support ID3v2, ReplayGain and MixRamp.
  * Sndfile: support scanning remote files.
  * Sndfile: support tags "comment", "album", "track", "genre".
  * Sndfile: native floating point playback.
  * Sndfile: optimized 16 bit playback.
  * Mp4v2: support playback of MP4 files.
  + Encoder:
  * Shine: new encoder plugin.
  + Output:
  * Alsa: support native DSD playback.
  * Alsa: rename "DSD over USB" to "DoP".
  + Threads:
  * The update thread runs at "idle" priority.
  * The output thread runs at "real-time" priority.
  * Increase kernel timer slack on Linux.
  * Name each thread (for debugging).
  + Configuration:
  * Allow playlist directory without music directory.
  * Use XDG to auto-detect "music_directory" and "db_file".
  + Add tags "AlbumSort", "MUSICBRAINZ_RELEASETRACKID".
  + Disable global Latin-1 fallback for tag values.
  + New resampler option using libsoxr.
  + ARM NEON optimizations.
  + Install systemd unit for socket activation.
- Rebase mpd-sndfile-vorbis.patch and mpd-mpdconf_suse.patch.
- Drop mpd-wavpack.patch and mpd-0.17.4-ffmpeg2.patch as now code
  has been re-written.
- Drop configure options for soup, lastfm and mvp and respective
  build requirements.
- Enable boost and libmpdclient option at configure time and add
  respective build requirements.
- Add libicu-devel to build requirements.
- Disable libwrap configure option as build fails.
- Disable other unused plugins and encoders.
- Clean up spec file for systemd.
- add Type=forking to mpd.service.
- Update to 0.17.5:
  * protocol:
  - fix "playlistadd" with URI
  - fix "move" relative to current when there is no current song
  * decoder:
  - ffmpeg: support "application/flv"
  - mikmod: adapt to libmikmod 3.2
  * configure.ac:
  - detect system "ar"
- use gentoo's patch for compiling with ffmpeg 2.x
- add own service file (PM-79)
- Update to 0.17.4:
  * protocol:
  - allow to omit END in ranges (START:END)
  - don't emit IDLE_PLAYER before audio format is known
  * decoder:
  - ffmpeg: support float planar audio (ffmpeg 1.1)
  - ffmpeg: fix AVFrame allocation
  * player:
  - implement missing "idle" events on output errors
  * clock: fix build failure
- Update to 0.17.3:
  * output:
  - osx: fix pops during playback
  - recorder: fix I/O error check
  - shout: fix memory leak in error handler
  - recorder, shout: support Ogg packets that span more than one page
  * decoder:
  - ffmpeg: ignore negative time stamps
  - ffmpeg: support planar audio
  * playlist:
  - cue: fix memory leak
  - cue: fix CUE files with only one track
- Drop mpd-systemd_require_network_first.patch: fixed upstream.
- Add explicit pkgconfig(bzip2) BuildRequires for 12.3 and newer.
- fix systemd unit script to require network to be started prior to
  mpd, thanks to Jean Delvare for the patch
- update to 0.17.2:
  * protocol:
  - fix crash in local file check
  * decoder:
  - fluidsynth: remove throttle (requires libfluidsynth 1.1)
  - fluidsynth: stop playback at end of file
  - fluidsynth: check MIDI file format while scanning
  - fluidsynth: add sample rate setting
  - wavpack: support all APEv2 tags
  * output:
  - httpd: use monotonic clock, avoid hiccups after system clock adjustment
  - httpd: fix throttling bug after resuming playback
  * playlist:
  - cue: map "PERFORMER" to "artist" or "album artist"
  * mapper: fix non-UTF8 music directory name
  * mapper: fix potential crash in file permission check
  * playlist: fix use-after-free bug
  * playlist: fix memory leak
  * state_file: save song priorities
  * player: disable cross-fading in "single" mode
  * update: fix unsafe readlink() usage
- changes from 0.17.1:
  * protocol:
  - require appropriate permissions for searchadd{,pl}
  * tags:
  - aiff: support the AIFC format
  - ape: check for ID3 if no usable APE tag was found
  * playlist:
  - cue: support file types "MP3", "AIFF"
  * output:
  - fix noisy playback with conversion and software volume
- update to 0.17:
  * protocol:
  - support client-to-client communication
  - "update" and "rescan" need only "CONTROL" permission
  - new command "seekcur" for simpler seeking within current song
  - new command "config" dumps location of music directory
  - add range parameter to command "load"
  - print extra "playlist" object for embedded CUE sheets
  - new commands "searchadd", "searchaddpl"
  * input:
  - cdio_paranoia: new input plugin to play audio CDs
  - curl: enable CURLOPT_NETRC
  - curl: non-blocking I/O
  - soup: new input plugin based on libsoup
  * tags:
  - RVA2: support separate album/track replay gain
  * decoder:
  - mpg123: implement seeking
  - ffmpeg: drop support for pre-0.5 ffmpeg
  - ffmpeg: support WebM
  - oggflac: delete this obsolete plugin
  - dsdiff: new decoder plugin
  * output:
  - alsa: support DSD-over-USB (dCS suggested standard)
  - httpd: support for streaming to a DLNA client
  - openal: improve buffer cancellation
  - shout: add possibility to set url
  - roar: new output plugin for RoarAudio
  * mixer:
  - alsa: listen for external volume changes
  * playlist:
  - allow references to songs outside the music directory
  - new CUE parser, without libcue
  - soundcloud: new plugin for accessing soundcloud.com
  * state_file: add option "restore_paused"
  * cue: show CUE track numbers
  * allow port specification in "bind_to_address" settings
  * support floating point samples
  * systemd socket activation
  * improve --version output
- Update to 0.16:8:
  * fix for libsamplerate assertion failure
  * decoder:
  - vorbis (and others): fix seeking at startup
  - ffmpeg: read the "year" tag
  * encoder:
  - vorbis: generate end-of-stream packet before tag
  - vorbis: generate end-of-stream packet when playback ends
  * output:
  - jack: check for connection failure before starting playback
  - jack: workaround for libjack1 crash bug
  - osx: fix stuttering due to buffering bug
  * fix endless loop in text file reader
  * update: skip symlinks in path that is to be updated
- spec-cleaner'ed spec file
- update to 0.16.7:
  * input:
  - ffmpeg: support libavformat 0.7
  * decoder:
  - ffmpeg: support libavformat 0.8, libavcodec 0.9
  - ffmpeg: support all MPD tags
  * output:
  - httpd: fix excessive buffering
  - openal: force 16 bit playback, as 8 bit doesn't work
  * fix moving after current song
- add mpd-user.conf to doc files, copy to ~/.mpd/mpd.conf for user centric
  setup
- add tcpd and mkisofs support
- new upstream version <0.16.6>
- new upstream version <0.16.5>
- new upstream version <0.16.4>
- new upstream version <0.16.3>
- new upstream version <0.16.2>
- new upstream version <0.16.1>
- new upstream version <0.16>
- new upstream version <0.15.15>
- new upstream version <0.15.13>
  * output_thread: fix race condition after CANCEL command
  * output:
  - httpd: fix random data in stream title
  - httpd: MIME type audio/ogg for Ogg Vorbis
  * input:
  - rewind: update MIME not only once
  - rewind: enable for MMS
- new upstream version <0.15.12>
  * input:
  - curl: remove assertion after curl_multi_fdset()
  * tags:
  - rva2: set "gain", not "peak"
  * decoders:
  - wildmidi: support version 0.2.3
- new upstream version <0.15.11>
  * tags:
  - ape: support album artist
  * decoders:
  - mp4ff: support tags "album artist", "albumartist", "band"
  - mikmod: fix memory leak
  - vorbis: handle uri==NULL
  - ffmpeg: fix memory leak
  - ffmpeg: free AVFormatContext on error
  - ffmpeg: read more metadata
  - ffmpeg: fix libavformat 0.6 by using av_open_input_stream()
  * playlist: emit IDLE_OPTIONS when resetting single mode
  * listen: make get_remote_uid() work on BSD
- new upstream version <0.15.10>
  * input:
  - mms: fix memory leak in error handler
  - mms: initialize the "eof" attribute
  * decoders:
  - mad: properly calculate ID3 size without libid3tag
- new upstream version <0.15.9>
  * decoders:
  - mad: fix crash when seeking at end of song
  - mpcdec: fix negative shift on fixed-point samples
  - mpcdec: fix replay gain formula with v8
  * playlist: fix single+repeat in random mode
  * player: postpone song tags during cross-fade
- new upstream version <0.15.8>
  * input:
  - curl: allow rewinding with Icy-Metadata
  * decoders:
  - ffmpeg, flac, vorbis: added more flac/vorbis MIME types
  - ffmpeg: enabled libavformat's file name extension detection
  * dbUtils: return empty tag value only if no value was found
  * decoder_thread: fix CUE track playback
  * queue: don't repeat current song in consume mode
- fix init script
- new upstream version <0.15.7>
  * archive:
  - close archive when stream is closed
  - iso, zip: fixed memory leak in destructor
  * input:
  - file: don't fall back to parent directory
  - archive: fixed memory leak in error handler
  * tags:
  - id3: fix ID3v1 charset conversion
  * decoders:
  - eliminate jitter after seek failure
  - ffmpeg: don't try to force stereo
  - wavpack: allow fine-grained seeking
  * mixer: explicitly close all mixers on shutdown
  * mapper: fix memory leak when playlist_directory is not set
  * mapper: apply filesystem_charset to playlists
  * command: verify playlist name in the "rm" command
  * database: return multiple tag values per song
- new upstream version <0.15.6>
  * input:
  - lastfm: fixed variable name in GLib<2.16 code path
  - input/mms: require libmms 0.4
  * archive:
  - zzip: require libzzip 0.13
  * tags:
  - id3: allow 4 MB RIFF/AIFF tags
  * decoders:
  - ffmpeg: convert metadata
  - ffmpeg: align the output buffer
  - oggflac: rewind stream after FLAC detection
  - flac: fixed CUE seeking range check
  - flac: fixed NULL pointer dereference in CUE code
  * output_thread: check again if output is open on PAUSE
  * update: delete ignored symlinks from database
  * database: increased maximum line length to 32 kB
- new upstream version <0.15.5>
  * input:
  - curl: don't abort if a packet has only metadata
  - curl: fixed endless loop during buffering
  * tags:
  - riff, aiff: fixed "limited range" gcc warning
  * decoders:
  - flac: fixed two memory leaks in the CUE tag loader
  * decoder_thread: change the fallback decoder name to "mad"
  * output_thread: check again if output is open on CANCEL
  * update: fixed memory leak during container scan
- new upstream version <0.15.3>
  * Document nextsong and nextsongid
  * update: don't re-read unchanged container files
  * output_init: initialize the "pause" flag
  * decoder/vorbis: faster tag scanning with ov_test_callback()
- new upstream version <0.15.2>
  * tags:
  - ape: check the tag size (fixes integer underflow)
  - ape: added protection against large memory allocations
  * decoders:
  - mad: skip ID3 frames when libid3tag is disabled
  - flac: parse all replaygain tags
  - flac: don't allocate cuesheet twice (memleak)
  * output:
  - shout: fixed stuck pause bug
  - shout: minimize the unpause latency
  * update: free empty path string (memleak)
  * update: free temporary string in container scan (memleak)
  * directory: free empty directories after removing them (memleak)
- new upstream version <0.15.1>
- new upstream version <0.14.2>
  * Modify version string to post-release version 0.14.2~git
  * mpd version 0.14.2
  * ffmeg: added support for the tags comment, genre, year
  * mikmod: call MikMod_Exit() only in the finish() method
  * jack: register ports before activating clients
  * jack: allocate ring buffers before connecting
  * jack: clear "shutdown" flag on reconnect
  * jack: reduced sleep time to 1ms
  * mapper: remove trailing slashes from music_directory
  * mapper: ignore duplicate slashes in playlists
  * wavpack: pass NULL if the .wvc file fails to open
  * player_thread: set player error when output device fails
  * shout_mp3: free the lame_data struct on exit
  * shout_mp3: call lame_close() in clear_encoder() method
  * ffmpeg: print codec name
  * ffmpeg: don't warn of empty packet output
  * ffmpeg: check if the time stamp is valid
  * ffmpeg: fixed seek integer overflow
  * shout: removed shout_data.shout_error
  * shout: removed shout_data.tag_to_send
  * shout: switch to blocking mode
  * shout: use libshout's synchronization
  * shout: don't postpone metadata
  * shout: clear buffer before calling the encoder
  * configure.ac: define HAVE_FFMPEG after all checks
  * ffmpeg: added TTA support
  * aac: fix stream metadata
  * update: recursively purge deleted directories
  * update: free deleted subdirectories
  * ffmpeg: enable WAV streaming
- new upstream version <0.14.1>
  * decoders:
  - mp4: support the writer/composer tag
  - id3: strip leading and trailing whitespace from ID3 tags
  - oggvorbis: fix tremor support
  - oggvorbis: disable seeking on remote files
  * audio outputs:
  - jack: allocate default port names (fixes a crash)
  * update:
  - refresh stats after update
  - save the database even if it is empty
  * input_curl:
  - use select() to eliminate busy loop during connect
  - honour http_proxy_* config directives
  - fix assertion failure on "connection refused"
  - fix assertion failure with empty HTTP responses
  * corrected the sample calculation in the fallback resampler
  * log: automatically append newline
  * fix setenv() conflict on Solaris
  * configure.ac: check for pkg-config before using it
  * fix minor memory leak in decoder_tag()
  * fix cross-fading bug: it used to play some chunks of the new song twice
  * playlist
  - fix assertion failure during playlist load
  - implement Fisher-Yates shuffle properly
  - safely search the playlist for deleted song
  * use custom PRNG for volume dithering (speedup)
  * detect libid3tag without pkg-config
- new upstream version <0.14>
- new upstream version <0.13.2>
- new upstream version <0.13.1>
- add BuildRequires: libmikmod
- add BuildRequires: libmikmod-devel for > 1020
- new upstream version <0.13.0>
- new upstream version
- no resmgr for 10.2, use group audio
- new upstream version
- new upstream version
- new upstream version
- new upstream version
- new upstream version
- new upstream version
- new SVN-Snapshot
- finally force mpd to work with resmgr
- modified for x64 build
- modified for SUSE/Packman. Init script courtesy of  Davide Lucchesi <odiobill@despammed.com>, 2003
- Rebuild for official release
- Version 0.10.1
- Version 0.10.0
- Add audiofile-devel builddep (for wav support)
- Add AUTHORS to docs
- Rebuild with mach
- Version 0.9.4
- Version 0.9.3
- Version 0.9.2
- Version 0.9.1
- Add BuildRequires on alsa-lib-devel
- Add versioned Requires on libao and libao-devel (from the debian
  control file)
- Version 0.8.7
- Version 0.8.5
- Initial build

OBS-URL: https://build.opensuse.org/request/show/779782
OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/mpd?expand=0&rev=42
2020-02-27 07:05:17 +00:00

256 lines
7.1 KiB
RPMSpec

#
# spec file for package mpd
#
# Copyright (c) 2020 SUSE LLC
#
# 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 https://bugs.opensuse.org/
#
%define mver 0.21
%bcond_with faad
%bcond_without mpd_iso9660
Name: mpd
Version: 0.21.20
Release: 0
Summary: Music Player Daemon
License: GPL-2.0-or-later
URL: https://www.musicpd.org
Source0: https://www.musicpd.org/download/mpd/%{mver}/mpd-%{version}.tar.xz
Source1: README.%{name}
Source2: mpd-user.conf
# PATCH-FEATURE-OPENSUSE mpd-mpdconf_suse.patch --
Patch0: %{name}-mpdconf_suse.patch
# PATCH-FEATURE-OPENSUSE mpd-docs.patch
Patch1: mpd-docs.patch
# PATCH-FIX-OPENSUSE mpd-sndfile.patch
Patch2: mpd-sndfile.patch
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: group(audio)
#
BuildRequires: hicolor-icon-theme
BuildRequires: libboost_headers-devel
BuildRequires: libcue-devel
# MPD_ENABLE_AUTO_LIB
BuildRequires: libgcrypt-devel
BuildRequires: libmikmod-devel
BuildRequires: libmp3lame-devel
BuildRequires: meson >= 0.47.2
BuildRequires: pkgconfig
# MPD_ENABLE_AUTO_PKG
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(ao)
BuildRequires: pkgconfig(audiofile)
BuildRequires: pkgconfig(avahi-client)
BuildRequires: pkgconfig(bzip2)
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(flac)
BuildRequires: pkgconfig(fluidsynth)
BuildRequires: pkgconfig(icu-i18n)
BuildRequires: pkgconfig(id3tag)
BuildRequires: pkgconfig(jack)
BuildRequires: pkgconfig(libavcodec)
BuildRequires: pkgconfig(libavformat)
BuildRequires: pkgconfig(libavutil)
BuildRequires: pkgconfig(libcdio) >= 2.0.0
BuildRequires: pkgconfig(libcdio_paranoia)
BuildRequires: pkgconfig(libchromaprint)
BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(libgme)
BuildRequires: pkgconfig(libmms)
BuildRequires: pkgconfig(libmodplug)
BuildRequires: pkgconfig(libmpdclient)
BuildRequires: pkgconfig(libmpg123)
BuildRequires: pkgconfig(libnfs)
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(libupnp)
BuildRequires: pkgconfig(mad)
BuildRequires: pkgconfig(ogg)
BuildRequires: pkgconfig(openal)
BuildRequires: pkgconfig(opus)
BuildRequires: pkgconfig(samplerate)
BuildRequires: pkgconfig(shine)
BuildRequires: pkgconfig(shout)
BuildRequires: pkgconfig(smbclient)
BuildRequires: pkgconfig(sndfile)
BuildRequires: pkgconfig(soxr)
BuildRequires: pkgconfig(sqlite3)
BuildRequires: pkgconfig(twolame)
BuildRequires: pkgconfig(vorbis)
BuildRequires: pkgconfig(vorbisenc)
BuildRequires: pkgconfig(wavpack)
BuildRequires: pkgconfig(yajl)
BuildRequires: pkgconfig(zlib)
BuildRequires: pkgconfig(zziplib)
Requires(pre): %fillup_prereq
Requires(pre): group(audio)
Requires(pre): shadow
%{?systemd_requires}
%if %{with faad}
BuildRequires: faad2-devel
%endif
%if %{with mpd_iso9660}
BuildRequires: pkgconfig(libiso9660)
%endif
%description
A daemon for playing music (mp3, ogg vorbis, flac, and wav). Music is
played through the server's audio device. The daemon stores info
about all available music, and this info can be easily searched and
retrieved. Player control, info retrieval, and playlist management
can all be managed remotely. There a bunch of clients to control mpd:
for Gnome, KDE, console and Apache (PHP).
Please read README.mpd how to configure it.
%prep
%autosetup -p1
%build
export CC=gcc
export CXX=g++
test -x "$(type -p gcc-7)" && export CC=gcc-7
test -x "$(type -p g++-7)" && export CXX=g++-7
%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}
-Diso9660=enabled \
%endif
-Dzlib=enabled \
-Dbzip2=enabled \
-Dupnp=enabled \
-Dzzip=enabled \
-Dadplug=disabled \
-Daudiofile=enabled \
%if %{with faad}
-Dfaad=enabled \
%endif
-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 \
-Dtremor=disabled \
-Dsystemd_system_unit_dir=%{_unitdir} \
-Dsystemd_user_unit_dir=%{_userunitdir}
%meson_build
%install
%meson_install
# missing dirs
install -d \
%{buildroot}%{_localstatedir}/lib/%{name}/playlists \
%{buildroot}%{_sbindir}
# additional docs
install -m 0644 %{SOURCE1} README.mpd
cp -a "%{SOURCE2}" "%{buildroot}%{_docdir}/%{name}/"
ln -s service %{buildroot}%{_sbindir}/rcmpd
rm %{buildroot}%{_libexecdir}/systemd/user/mpd.socket
ln -s ../system/mpd.socket %{buildroot}%{_libexecdir}/systemd/user/mpd.socket
%pre
# add mpd user only when installing first time
getent passwd mpd >/dev/null || useradd -r -g audio -d %{_localstatedir}/lib/mpd -s /sbin/nologin -c "user for mpd" mpd
%service_add_pre mpd.service mpd.socket
%post
%service_add_post mpd.service mpd.socket
%preun
%service_del_preun mpd.service mpd.socket
%postun
%service_del_postun mpd.service mpd.socket
%files
%license COPYING
%doc README.mpd
%config(noreplace) %{_sysconfdir}/%{name}.conf
%{_bindir}/%{name}
%{_sbindir}/rcmpd
%attr(0755,mpd,audio) %{_localstatedir}/lib/%{name}
%{_mandir}/man1/%{name}.1%{?ext_man}
%{_mandir}/man5/%{name}.conf.5%{?ext_man}
%dir %{_docdir}/%{name}
%doc %{_docdir}/%{name}
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
%{_unitdir}/mpd.service
%{_unitdir}/mpd.socket
%{_libexecdir}/systemd/user/mpd.socket
%{_userunitdir}/mpd.service
%changelog