diff options
-rw-r--r-- | media-sound/mpd/Manifest | 1 | ||||
-rw-r--r-- | media-sound/mpd/mpd-0.21.8.ebuild | 296 |
2 files changed, 297 insertions, 0 deletions
diff --git a/media-sound/mpd/Manifest b/media-sound/mpd/Manifest index c76b3209bf9a..f9b5e3550406 100644 --- a/media-sound/mpd/Manifest +++ b/media-sound/mpd/Manifest @@ -2,3 +2,4 @@ DIST mpd-0.21.4.tar.xz 663648 BLAKE2B c9226d2b02b1035091d3af535c269aec3fead779bf DIST mpd-0.21.5.tar.xz 667624 BLAKE2B d4de4c55306a42caf4f79ee469db2037c0217563d50d7a4ed349d0c2c61cab1c6e519da96f552f38692bedf18ffbdb2032ae0a3314a05b2f2461c2da526f85e5 SHA512 b3a938f43cd554e0e761890ca7ea910e21b8f98f54f5bfceb0efcbef4df46db0d110d1bbc24a233021b463e3424d6246c1013f5a6ebdfc85a418008d49ced7a4 DIST mpd-0.21.6.tar.xz 669272 BLAKE2B ffd50c35e431791503e5d0137abdb93beb42cf48f7638ac0f394d8c4198ce96f915220c92d078ce99cfe7c9866f8e35e58106b801a6d83cdf0a121442f12976a SHA512 20e752a8db2f8ae0b2419b35018557c37a64c6baff25666ba35fce89cfd354e4df5064c25685791f3fcca7ba9e6e6acef0e4653c0c0ffafde2847085dc51b3fa DIST mpd-0.21.7.tar.xz 670268 BLAKE2B 1dc6b923e6c6f66ec1f0769b6c4d785761a798659c192184801cee5cd6df361fba0107275650da3e5982ebad5370fb6fe1fe4f7bb9da8986e9c359e4ec2a7815 SHA512 a6e8848c851ca464cfd26284d6479d561f127bc102128e8a41274bc1d62d87a3720843ff1922b5b64b33280217a6036b512f7aa0ce7d7f6b90cbed9fe787c5ca +DIST mpd-0.21.8.tar.xz 670508 BLAKE2B 04df23007e5cedd00259b1d5f7d301c36b52993ce8352bf784c794150340e4bf2d0a606eb02de3abedcbb9a76f01aca9dc9191d95efd49d0868a32af385821d2 SHA512 034f1cfe431ce163ed808660bee90c2a63926fcc95ab22f55fd566f24c126878fe0fd6521f3008612ea5dca7b448cc5e5d895e0b0156c768bf632674ea982901 diff --git a/media-sound/mpd/mpd-0.21.8.ebuild b/media-sound/mpd/mpd-0.21.8.ebuild new file mode 100644 index 000000000000..969b82d84813 --- /dev/null +++ b/media-sound/mpd/mpd-0.21.8.ebuild @@ -0,0 +1,296 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit flag-o-matic linux-info meson systemd user + +DESCRIPTION="The Music Player Daemon (mpd)" +HOMEPAGE="https://www.musicpd.org https://github.com/MusicPlayerDaemon/MPD" +SRC_URI="https://www.musicpd.org/download/${PN}/${PV%.*}/${P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~sh ~x86 ~x86-fbsd ~x64-macos" +IUSE="adplug +alsa ao audiofile bzip2 cdio chromaprint +cue +curl +dbus debug + +eventfd expat faad +ffmpeg +fifo flac fluidsynth gme +icu +id3tag +inotify + +ipv6 jack lame libav libmpdclient libsamplerate libsoxr +mad mikmod mms + modplug mpg123 musepack +network nfs openal opus oss pipe pulseaudio qobuz + recorder samba selinux sid signalfd sndfile soundcloud sqlite systemd tcpd + test tidal twolame udisks unicode vorbis wavpack webdav wildmidi upnp + zeroconf zip zlib" + +OUTPUT_PLUGINS="alsa ao fifo jack network openal oss pipe pulseaudio recorder" +DECODER_PLUGINS="adplug audiofile faad ffmpeg flac fluidsynth mad mikmod + modplug mpg123 musepack flac sid vorbis wavpack wildmidi" +ENCODER_PLUGINS="audiofile flac lame twolame vorbis" + +REQUIRED_USE=" + || ( ${OUTPUT_PLUGINS} ) + || ( ${DECODER_PLUGINS} ) + network? ( || ( ${ENCODER_PLUGINS} ) ) + recorder? ( || ( ${ENCODER_PLUGINS} ) ) + upnp? ( expat ) + webdav? ( curl expat ) + " + +RESTRICT="!test? ( test )" + +RDEPEND=" + adplug? ( media-libs/adplug:= ) + alsa? ( + media-libs/alsa-lib + media-sound/alsa-utils + ) + + ao? ( media-libs/libao[alsa?,pulseaudio?] ) + audiofile? ( media-libs/audiofile:= ) + + cdio? ( + dev-libs/libcdio:= + dev-libs/libcdio-paranoia + ) + + chromaprint? ( media-libs/chromaprint ) + curl? ( net-misc/curl ) + dbus? ( sys-apps/dbus ) + expat? ( dev-libs/expat ) + faad? ( media-libs/faad2 ) + + ffmpeg? ( + libav? ( media-video/libav:0= ) + !libav? ( media-video/ffmpeg:0= ) + ) + + flac? ( media-libs/flac ) + fluidsynth? ( media-sound/fluidsynth ) + gme? ( >=media-libs/game-music-emu-0.6.0_pre20120802 ) + icu? ( dev-libs/icu:= ) + id3tag? ( media-libs/libid3tag ) + jack? ( virtual/jack ) + lame? ( network? ( media-sound/lame ) ) + libmpdclient? ( media-libs/libmpdclient ) + libsamplerate? ( media-libs/libsamplerate ) + libsoxr? ( media-libs/soxr ) + mad? ( media-libs/libmad ) + mikmod? ( media-libs/libmikmod ) + mms? ( media-libs/libmms ) + modplug? ( media-libs/libmodplug ) + mpg123? ( media-sound/mpg123 ) + musepack? ( media-sound/musepack-tools ) + network? ( media-libs/libshout ) + nfs? ( net-fs/libnfs ) + openal? ( media-libs/openal ) + opus? ( media-libs/opus ) + pulseaudio? ( media-sound/pulseaudio ) + qobuz? ( dev-libs/libgcrypt:0 ) + samba? ( net-fs/samba ) + selinux? ( sec-policy/selinux-mpd ) + sid? ( || ( + media-libs/libsidplay:2 + media-libs/libsidplayfp + ) ) + sndfile? ( media-libs/libsndfile ) + soundcloud? ( >=dev-libs/yajl-2:= ) + sqlite? ( dev-db/sqlite:3 ) + systemd? ( sys-apps/systemd ) + tcpd? ( sys-apps/tcp-wrappers ) + twolame? ( media-sound/twolame ) + udisks? ( sys-fs/udisks:2 ) + upnp? ( net-libs/libupnp:0 ) + vorbis? ( media-libs/libvorbis ) + wavpack? ( media-sound/wavpack ) + wildmidi? ( media-sound/wildmidi ) + zeroconf? ( net-dns/avahi[dbus] ) + zip? ( dev-libs/zziplib ) + zlib? ( sys-libs/zlib:= )" + +DEPEND="${RDEPEND} + >=dev-libs/boost-1.58:= + test? ( dev-cpp/gtest )" + +BDEPEND=">=dev-util/meson-0.49.2 + virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-0.18.conf.patch +) + +pkg_setup() { + enewuser mpd "" "" "/var/lib/mpd" audio + + if use eventfd; then + CONFIG_CHECK+=" ~EVENTFD" + ERROR_EVENTFD="${P} requires eventfd in-kernel support." + fi + + if use signalfd; then + CONFIG_CHECK+=" ~SIGNALFD" + ERROR_SIGNALFD="${P} requires signalfd in-kernel support." + fi + + if use inotify; then + CONFIG_CHECK+=" ~INOTIFY_USER" + ERROR_INOTIFY_USER="${P} requires inotify in-kernel support." + fi + + if use eventfd || use signalfd || use inotify; then + linux-info_pkg_setup + fi + + elog "If you will be starting mpd via /etc/init.d/mpd, please make + sure that MPD's pid_file is _set_." +} + +src_prepare() { + cp -f doc/mpdconf.example doc/mpdconf.dist || die "cp failed" + default +} + +src_configure() { + local emesonargs=( + -Dbzip2=$(usex bzip2 enabled disabled) + -Dcdio_paranoia=$(usex cdio enabled disabled) + -Dchromaprint=$(usex chromaprint enabled disabled) + -Dcue=$(usex cue true false) + -Dcurl=$(usex curl enabled disabled) + -Ddbus=$(usex dbus enabled disabled) + -Ddebug=$(usex debug true false) + -Deventfd=$(usex eventfd true false) + -Dexpat=$(usex expat enabled disabled) + -Dicu=$(usex icu enabled disabled) + -Did3tag=$(usex id3tag enabled disabled) + -Dinotify=$(usex inotify true false) + -Dipv6=$(usex ipv6 enabled disabled) + -Diso9660=$(usex cdio enabled disabled) + -Dlibmpdclient=$(usex libmpdclient enabled disabled) + -Dlibsamplerate=$(usex libsamplerate enabled disabled) + -Dlibwrap=$(usex tcpd enabled disabled) + -Dmms=$(usex mms enabled disabled) + -Dnfs=$(usex nfs enabled disabled) + -Dsignalfd=$(usex signalfd true false) + -Dsmbclient=$(usex samba enabled disabled) + -Dsoxr=$(usex libsoxr enabled disabled) + -Dsqlite=$(usex sqlite enabled disabled) + -Dsystemd=$(usex systemd enabled disabled) + -Dtest=$(usex test true false) + -Dudisks=$(usex udisks enabled disabled) + -Dupnp=$(usex upnp enabled disabled) + -Dwebdav=$(usex webdav enabled disabled) + -Dzeroconf=$(usex zeroconf avahi disabled) + -Dzlib=$(usex zlib enabled disabled) + -Dzzip=$(usex zip enabled disabled) + ) + + emesonargs+=( + -Dalsa=$(usex alsa enabled disabled) + -Dao=$(usex ao enabled disabled) + -Dfifo=$(usex fifo true false) + -Djack=$(usex jack enabled disabled) + -Dopenal=$(usex openal enabled disabled) + -Doss=$(usex oss enabled disabled) + -Dpipe=$(usex pipe true false) + -Dpulse=$(usex pulseaudio enabled disabled) + -Drecorder=$(usex recorder true false) + ) + + if use samba || use upnp; then + emesonargs+=( -Dneighbor=true ) + fi + + append-lfs-flags + append-ldflags "-L/usr/$(get_libdir)/sidplay/builders" + + if use network; then + + emesonargs+=( + -Dshine=disabled + -Dshout=enabled + -Dvorbisenc=$(usex vorbis enabled disabled) + -Dhttpd=true + -Dlame=$(usex lame enabled disabled) + -Dtwolame=$(usex twolame enabled disabled) + -Dwave_encoder=$(usex audiofile true false) + ) + fi + + emesonargs+=( + -Dadplug=$(usex adplug enabled disabled) + -Daudiofile=$(usex audiofile enabled disabled) + -Dfaad=$(usex faad enabled disabled) + -Dffmpeg=$(usex ffmpeg enabled disabled) + -Dflac=$(usex flac enabled disabled) + -Dfluidsynth=$(usex fluidsynth enabled disabled) + -Dgme=$(usex gme enabled disabled) + -Dmad=$(usex mad enabled disabled) + -Dmikmod=$(usex mikmod enabled disabled) + -Dmodplug=$(usex modplug enabled disabled) + -Dmpcdec=$(usex musepack enabled disabled) + -Dmpg123=$(usex mpg123 enabled disabled) + -Dopus=$(usex opus enabled disabled) + -Dsidplay=$(usex sid enabled disabled) + -Dsndfile=$(usex sndfile enabled disabled) + -Dvorbis=$(usex vorbis enabled disabled) + -Dwavpack=$(usex wavpack enabled disabled) + -Dwildmidi=$(usex wildmidi enabled disabled) + + ) + + emesonargs+=( + -Dqobuz=$(usex qobuz enabled disabled) + -Dsoundcloud=$(usex soundcloud enabled disabled) + -Dtidal=$(usex tidal enabled disabled) + ) + + emesonargs+=( + --libdir="/usr/$(get_libdir)" + -Ddocumentation=false + -Dsndio=disabled #not yet in the tree + -Dsolaris_output=disabled + + -Ddatabase=true + -Ddsd=true + -Dtcp=true + + -Dsystemd_system_unit_dir="$(systemd_get_systemunitdir)" + -Dsystemd_user_unit_dir="$(systemd_get_userunitdir)" + ) + + if use icu; then + emesonargs+=( -Diconv=enabled ) + else + emesonargs+=( -Diconv=disabled ) + fi + + meson_src_configure +} + +src_install() { + meson_src_install + + insinto /etc + newins doc/mpdconf.dist mpd.conf + + insinto /etc/logrotate.d + newins "${FILESDIR}"/${PN}-0.21.1.logrotate ${PN} + + newinitd "${FILESDIR}"/${PN}-0.21.4.init ${PN} + + if use unicode; then + sed -i -e 's:^#filesystem_charset.*$:filesystem_charset "UTF-8":' \ + "${ED}"/etc/mpd.conf || die "sed failed" + fi + + doman doc/mpd.1 + doman doc/mpd.conf.5 + + keepdir /var/lib/mpd + keepdir /var/lib/mpd/music + keepdir /var/lib/mpd/playlists + +} + +pkg_postinst() { + # also change the homedir if the user has existed before + usermod -d "/var/lib/mpd" mpd || die "usermod failed" +} |