commit:     eeeb64cb2ebbeb770518badb51fccf44c4526565
Author:     Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 22 17:22:58 2019 +0000
Commit:     Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Tue Jan 22 17:30:07 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eeeb64cb

media-sound/mpd: revbump to improve init script

Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11

 media-sound/mpd/files/mpd-0.21.4.init |  32 ++++
 media-sound/mpd/mpd-0.21.4-r1.ebuild  | 298 ++++++++++++++++++++++++++++++++++
 2 files changed, 330 insertions(+)

diff --git a/media-sound/mpd/files/mpd-0.21.4.init 
b/media-sound/mpd/files/mpd-0.21.4.init
new file mode 100644
index 00000000000..7f0950c6293
--- /dev/null
+++ b/media-sound/mpd/files/mpd-0.21.4.init
@@ -0,0 +1,32 @@
+#!/sbin/openrc-run
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+: CFGFILE=${CFGFILE:=/etc/mpd.conf}
+
+depend() {
+       need localmount
+       use net netmount nfsmount alsasound esound pulseaudio
+       config ${CFGFILE}
+}
+
+get_config() {
+       x=$1
+       test -e ${CFGFILE} || return 1
+       sed -n \
+         -e '/^[ \t]*'${x}'/{s:^[ \t]*'${x}'[ \t]\+"\?\([^#"]\+\)[^"]*"\?$:\1: 
; p }' \
+         ${CFGFILE}
+}
+
+extra_started_commands='reload'
+command=/usr/bin/mpd
+command_args=${CFGFILE}
+required_files=${CFGFILE}
+pidfile=$(get_config pid_file)
+description="Music Player Daemon"
+
+reload() {
+      ebegin "Reloading ${RC_SVCNAME}"
+      start-stop-daemon --pidfile ${pidfile} --signal HUP
+      eend $?
+  }

diff --git a/media-sound/mpd/mpd-0.21.4-r1.ebuild 
b/media-sound/mpd/mpd-0.21.4-r1.ebuild
new file mode 100644
index 00000000000..5a07765cd9d
--- /dev/null
+++ b/media-sound/mpd/mpd-0.21.4-r1.ebuild
@@ -0,0 +1,298 @@
+# 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
+
+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}"/${P}.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"
+}

Reply via email to