diff options
-rw-r--r-- | media-sound/mpd/Manifest | 1 | ||||
-rw-r--r-- | media-sound/mpd/mpd-0.21.2.ebuild | 298 |
2 files changed, 299 insertions, 0 deletions
diff --git a/media-sound/mpd/Manifest b/media-sound/mpd/Manifest index fd7be4b27a18..b84c463d156c 100644 --- a/media-sound/mpd/Manifest +++ b/media-sound/mpd/Manifest @@ -1,3 +1,4 @@ DIST mpd-0.20.10.tar.xz 778828 BLAKE2B c16b955ace770cf3d5da2ccad81fd3089cf2e60bf47774745d75babcff38fa344646b26dd32617fa2fe86ee0c785b9c8272ea6c90f77266b1a0cba2d48145236 SHA512 bac6a71e5b85600c590eae6b785474574cf0d7b03d9add537161b968a2997a975a597639a9fece119a01a7e27b5207523e4ae30b2f4f35791eff8c3ff26d107c DIST mpd-0.20.21.tar.xz 800476 BLAKE2B 0c807ae8d79abd9400aa417b516c709073b23390aeed2b385c716e20f8c4f93376a235b54fe5f5cfcd451b04c76e105b41acbd180d294281432d4d1b6a427a15 SHA512 d44fb326ea6213ecf46721ca81efdfffaec4faa5a66e627185fd5ab7c4f0c5a380f4d04aed5c2909746a37b33987cb61f62dc2d747365da06629fbb78bf7c7d6 DIST mpd-0.21.1.tar.xz 662308 BLAKE2B 59da1cf186d5a171d447bde8e17386b49e3b4e821b4afc429b5e70a7633fe23f9ef671debda4bdf46632a12f008dbfe68966c52e4d298aca0a063dda6ca615da SHA512 9af720f7bb7120a6c6006ad21cd80a61c0f1976ced7b2e6815d5e33d8b1e9caf4e8a0047754db3eb37875176754fbf03bfd77b26232ef4aec9da48667694ba92 +DIST mpd-0.21.2.tar.xz 664408 BLAKE2B da1cde9b5f87c3e52c90d9a743ec8bf7acbcf52f3bf28969414bcc0f3f29151fd47157dc153a094844c94f6eb50e5a3564baf66a2e87d840b7b34efc8d0f760b SHA512 a98ff2636a22f7f0e377f814d0312b03344624317a68fcd89a7c5f33a40629908cd19f8bfff5dde1eef96cebd93e92cef63153bf60b02791803532357a38e020 diff --git a/media-sound/mpd/mpd-0.21.2.ebuild b/media-sound/mpd/mpd-0.21.2.ebuild new file mode 100644 index 000000000000..1b27c1b94a14 --- /dev/null +++ b/media-sound/mpd/mpd-0.21.2.ebuild @@ -0,0 +1,298 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit flag-o-matic linux-info meson systemd user + +MESON_AUTO_DEPEND="no" + +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.47.1 + 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.20.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" +} |