2017-04-22 23:03:07 +02:00
|
|
|
# $NetBSD: Makefile,v 1.144 2017/04/22 21:03:24 adam Exp $
|
2004-04-30 12:48:21 +02:00
|
|
|
|
2017-03-12 21:22:50 +01:00
|
|
|
DISTNAME= mpd-0.20.6
|
2004-10-05 15:12:40 +02:00
|
|
|
PKGNAME= ${DISTNAME:S/mpd/musicpd/}
|
2017-04-22 23:03:07 +02:00
|
|
|
PKGREVISION= 1
|
2004-04-30 12:48:21 +02:00
|
|
|
CATEGORIES= audio
|
2017-01-16 12:53:08 +01:00
|
|
|
MASTER_SITES= http://www.musicpd.org/download/mpd/0.20/
|
Update to 0.17.4, provided by Takeshi Nakayama in PR 47844.
While here, add comments to patch-aa, patch-ad from cvs logs.
Changes:
ver 0.17.4 (2013/04/08)
* 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
ver 0.17.3 (2013/01/06)
* 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
ver 0.17.2 (2012/09/30)
* 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
* configure.ac:
- don't auto-detect the vorbis encoder when Tremor is enabled
ver 0.17.1 (2012/07/31)
* 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
ver 0.17 (2012/06/27)
* 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
- osx: allow user to specify other audio devices
- osx: implement 32 bit playback
- shout: add possibility to set url
- roar: new output plugin for RoarAudio
- winmm: fail if wrong device specified instead of using default device
* 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
* WIN32: fix renaming of stored playlists with non-ASCII names
ver 0.16.8 (2012/04/04)
* 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
ver 0.16.7 (2012/02/04)
* 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
- osx: remove sleep call from render callback
- osx: clear render buffer when there's not enough data
* fix moving after current song
2013-05-26 20:37:39 +02:00
|
|
|
#MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=musicpd/}
|
2014-04-18 14:46:57 +02:00
|
|
|
EXTRACT_SUFX= .tar.xz
|
2004-04-30 12:48:21 +02:00
|
|
|
|
2008-05-09 16:03:12 +02:00
|
|
|
MAINTAINER= pkgsrc-users@NetBSD.org
|
2004-04-30 12:48:21 +02:00
|
|
|
HOMEPAGE= http://musicpd.org/
|
|
|
|
COMMENT= Remote controllable audio player
|
2011-02-27 11:43:18 +01:00
|
|
|
LICENSE= gnu-gpl-v2
|
2004-04-30 12:48:21 +02:00
|
|
|
|
Update to 0.16, add libsidplay option.
ver 0.16 (2010/12/11)
* protocol:
- send song modification time to client
- added "update" idle event
- removed the deprecated "volume" command
- added the "findadd" command
- range support for "delete"
- "previous" really plays the previous song
- "addid" with negative position is deprecated
- "load" supports remote playlists (extm3u, pls, asx, xspf, lastfm://)
- allow changing replay gain mode on-the-fly
- omitting the range end is possible
- "update" checks if the path is malformed
* archive:
- iso: renamed plugin to "iso9660"
- zip: renamed plugin to "zzip"
* input:
- lastfm: obsolete plugin removed
- ffmpeg: new input plugin using libavformat's "avio" library
* tags:
- added tags "ArtistSort", "AlbumArtistSort"
- id3: revised "performer" tag support
- id3: support multiple values
- ape: MusicBrainz tags
- ape: support multiple values
* decoders:
- don't try a plugin twice (MIME type & suffix)
- don't fall back to "mad" unless no plugin matches
- ffmpeg: support multiple tags
- ffmpeg: convert metadata to generic format
- ffmpeg: implement the libavutil log callback
- sndfile: new decoder plugin based on libsndfile
- flac: moved CUE sheet support to a playlist plugin
- flac: support streams without STREAMINFO block
- mikmod: sample rate is configurable
- mpg123: new decoder plugin based on libmpg123
- sidplay: support sub-tunes
- sidplay: implemented songlength database
- sidplay: support seeking
- sidplay: play monaural SID tunes in mono
- sidplay: play mus, str, prg, x00 files
- wavpack: activate 32 bit support
- wavpack: allow more than 2 channels
- mp4ff: rename plugin "mp4" to "mp4ff"
* encoders:
- twolame: new encoder plugin based on libtwolame
- flac: new encoder plugin based on libFLAC
- wave: new encoder plugin for PCM WAV format
* output:
- recorder: new output plugin for recording radio streams
- alsa: don't recover on CANCEL
- alsa: fill period buffer with silence before draining
- openal: new output plugin
- pulse: announce "media.role=music"
- pulse: renamed context to "Music Player Daemon"
- pulse: connect to server on MPD startup, implement pause
- jack: require libjack 0.100
- jack: don't disconnect during pause
- jack: connect to server on MPD startup
- jack: added options "client_name", "server_name"
- jack: clear ring buffers before activating
- jack: renamed option "ports" to "destination_ports"
- jack: support more than two audio channels
- httpd: bind port when output is enabled
- httpd: added name/genre/website configuration
- httpd: implement "pause"
- httpd: bind_to_address support (including IPv6)
- oss: 24 bit support via OSS4
- win32: new output plugin for Windows Wave
- shout, httpd: more responsive to control commands
- wildcards allowed in audio_format configuration
- consistently lock audio output objects
* player:
- drain audio outputs at the end of the playlist
* mixers:
- removed support for legacy mixer configuration
- reimplemented software volume as mixer+filter plugin
- per-device software/hardware mixer setting
* commands:
- added new "status" line with more precise "elapsed time"
* update:
- automatically update the database with Linux inotify
- support .mpdignore files in the music directory
- sort songs by album name first, then disc/track number
- rescan after metadata_to_use change
* normalize: upgraded to AudioCompress 2.0
- automatically convert to 16 bit samples
* replay gain:
- reimplemented as a filter plugin
- fall back to track gain if album gain is unavailable
- optionally use hardware mixer to apply replay gain
- added mode "auto"
- parse replay gain from APE tags
* log unused/unknown block parameters
* removed the deprecated "error_file" option
* save state when stopped
* renamed option "--stdout" to "--stderr"
* removed options --create-db and --no-create-db
* state_file: save only if something has changed
* database: eliminated maximum line length
* log: redirect stdout/stderr to /dev/null if syslog is used
* set the close-on-exec flag on all file descriptors
* pcm_volume, pcm_mix: implemented 32 bit support
* support packed 24 bit samples
* CUE sheet support
* support for MixRamp tags
* obey $(sysconfdir) for default mpd.conf location
* build with large file support by default
* added test suite ("make check")
* require GLib 2.12
* added libwrap support
* make single mode 'sticky'
2011-02-27 11:42:13 +01:00
|
|
|
CONFLICTS= mpd-[0-9]*
|
|
|
|
|
2004-04-30 12:48:21 +02:00
|
|
|
GNU_CONFIGURE= yes
|
|
|
|
USE_LIBTOOL= yes
|
2009-01-20 23:52:17 +01:00
|
|
|
USE_TOOLS+= pkg-config
|
update to 0.15.1
This is a major update - from the announcement:
24/32 bit support, audio archive support (bz2/iso9660/zip), all config
entries are completely optional now, multiple and pulseaudio mixer
support, new audio playing modes (consume, etc..), sticker database,
improved tag parsing of all types and too many interesting highlights left
out of this list
pkgsrc notes:
Archive support isn't enabled yet (disabled per default upstream),
neither is pulseaudio support,
just kept the functionality of the previous version.
I didn't find out what libcue does for flac support -- album FLACs
work well for me without that, so I've left it out for now.
2009-07-27 22:08:38 +02:00
|
|
|
USE_LANGUAGES= c c++
|
2004-04-30 12:48:21 +02:00
|
|
|
|
2017-01-16 12:53:08 +01:00
|
|
|
# c++14
|
|
|
|
GCC_REQD+= 4.9
|
2014-05-16 02:33:47 +02:00
|
|
|
|
|
|
|
# MacOS X audio output is no longer enabled by default.
|
2016-02-25 11:15:45 +01:00
|
|
|
CONFIGURE_ARGS.Darwin+= --enable-osx
|
2014-05-16 02:33:47 +02:00
|
|
|
|
2012-01-11 20:51:26 +01:00
|
|
|
CPPFLAGS.SunOS+= -std=gnu99 -D_XOPEN_SOURCE=600 -D__EXTENSIONS__
|
|
|
|
|
2004-11-25 21:16:52 +01:00
|
|
|
.include "options.mk"
|
2004-04-30 12:48:21 +02:00
|
|
|
|
|
|
|
EGDIR= ${PREFIX}/share/examples/mpd
|
2014-07-02 16:02:38 +02:00
|
|
|
CONF_FILES= ${EGDIR}/mpd.conf ${PKG_SYSCONFDIR}/mpd.conf
|
2004-04-30 12:48:21 +02:00
|
|
|
RCD_SCRIPTS= mpd
|
|
|
|
|
2005-12-05 21:49:47 +01:00
|
|
|
FILES_SUBST+= DEVOSSAUDIO=${DEVOSSAUDIO:Q}
|
2016-08-20 12:17:09 +02:00
|
|
|
|
2016-08-20 12:20:03 +02:00
|
|
|
SUBST_CLASSES+= paths
|
2016-08-20 12:17:09 +02:00
|
|
|
SUBST_STAGE.paths= post-patch
|
|
|
|
SUBST_FILES.paths= mpd.conf
|
|
|
|
SUBST_SED.paths= -e 's,@DEVOSSAUDIO@,${DEVOSSAUDIO},'
|
|
|
|
|
2004-04-30 12:48:21 +02:00
|
|
|
LDFLAGS+= ${LIBOSSAUDIO}
|
|
|
|
|
2009-09-11 22:58:55 +02:00
|
|
|
INSTALLATION_DIRS= ${EGDIR}
|
|
|
|
|
2006-01-04 18:46:15 +01:00
|
|
|
post-extract:
|
2006-05-19 18:18:51 +02:00
|
|
|
${CP} ${FILESDIR}/mpd.conf ${WRKSRC}/mpd.conf
|
2004-04-30 12:48:21 +02:00
|
|
|
|
|
|
|
post-install:
|
2009-03-17 19:16:20 +01:00
|
|
|
${INSTALL_DATA} ${WRKSRC}/mpd.conf ${DESTDIR}${EGDIR}
|
2004-04-30 12:48:21 +02:00
|
|
|
|
Update to 0.19.7:
ver 0.19.7 (2014/12/17)
* 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
ver 0.19.6 (2014/12/08)
* decoder
- ffmpeg: support FFmpeg 2.5
* fix build failure with musl
* android
- update libFLAC to 1.3.1
- update FFmpeg to 2.5
ver 0.19.5 (2014/11/26)
* 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
ver 0.19.4 (2014/11/18)
* 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)
ver 0.19.3 (2014/11/11)
* 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
* fix build failure on Mac OS X with non-Apple compilers
ver 0.19.2 (2014/11/02)
* 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
ver 0.19.1 (2014/10/19)
* input
- mms: fix deadlock bug
* playlist
- extm3u: fix Extended M3U detection
- m3u, extm3u, cue: fix truncated lines
* fix build failure on Mac OS X
* add missing file systemd/mpd.socket to tarball
ver 0.19 (2014/10/10)
* 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"
- osx: fix hang after (un)plugging headphones
* 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
* Android port
2015-01-05 23:19:02 +01:00
|
|
|
.include "../../devel/boost-libs/buildlink3.mk"
|
|
|
|
.include "../../textproc/icu/buildlink3.mk"
|
2004-04-30 12:48:21 +02:00
|
|
|
.include "../../audio/libmad/buildlink3.mk"
|
|
|
|
|
2006-03-09 22:04:39 +01:00
|
|
|
.include "../../mk/oss.buildlink3.mk"
|
2004-04-30 12:48:21 +02:00
|
|
|
.include "../../mk/bsd.pkg.mk"
|