summaryrefslogtreecommitdiff
path: root/media-sound/mpd
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-02-05 17:43:10 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-02-05 17:43:10 +0000
commitc31f575f39c1e387f18f630fb01d3a89c2339fdf (patch)
treed6db6ce35cd0849abe99eccd07d0f86a1aa82025 /media-sound/mpd
parent34d05d15811bd789a5348824d4f4151a49f924c9 (diff)
gentoo auto-resync : 05:02:2024 - 17:43:10
Diffstat (limited to 'media-sound/mpd')
-rw-r--r--media-sound/mpd/Manifest4
-rw-r--r--media-sound/mpd/files/mpd-0.23.15.init61
-rw-r--r--media-sound/mpd/files/mpd-0.23.15.logrotate9
-rw-r--r--media-sound/mpd/mpd-0.23.15.ebuild284
4 files changed, 358 insertions, 0 deletions
diff --git a/media-sound/mpd/Manifest b/media-sound/mpd/Manifest
index 73b948b87b30..74af8a77c728 100644
--- a/media-sound/mpd/Manifest
+++ b/media-sound/mpd/Manifest
@@ -3,8 +3,12 @@ AUX mpd-0.21.4.init 767 BLAKE2B 74879e5f52365f987ac53a8ee154f29b4d7f5287cb2a965b
AUX mpd-0.23.12-libfmt10-906074.patch 2967 BLAKE2B 367bf72202236b16a07111cb523d21ee2742331fbe4b6608b34d9f55358127a5c8ec0167fb64bf4c455215f6b4c291d6dbafcca7bb769853179a56b6bf99618f SHA512 6c3d6217f10fc38284f9555ccfb54fb7a088b8a163607b663a32133b72ec56e5c2e2466bca91dda27ddcf1dabb1524718b690a71982eb3dc05416567aaf49f51
AUX mpd-0.23.12-stringview.patch 7379 BLAKE2B 5b23239d6e2343b00cf230eed405c020912f33db443ab02fb4cb656813622a1dd7a2292536ad85b9a99e657b270725452f11122fd1d2ada35da64097bf4d5abe SHA512 faf5fc16605f535efc53ee56782bf291578cfbeed95e09c8b92b6480451386ec651d8d99c4aa928fe238047ce29773b081979580e10721609c8122772b012328
AUX mpd-0.23.13-ffmpeg-6.1.patch 350 BLAKE2B f973daa18bda1ac806d97352a7ad8627847464436e1778bd0a20e28c70a77969a5c96d78d06db3060f065912fdeafe0eba3a6c9df3d1d2fcc7b6f562d886cc72 SHA512 e0919bbd7da694a57da37e67e5bb8e735d5d9e9e8cd67d5af8e938dd26033ab998a0281087889b7cfc1b5a173105b143179969ef90cd7deb9f4ffa987459e83b
+AUX mpd-0.23.15.init 1409 BLAKE2B 205e43622b1ab25e38ca2b13faa901bfc6ecbc55152de412f4db622b5bd3447f10cbb36e17597f16a5739da3b40f2c8e7db71a6d1e8fda612bd525a6fd99457e SHA512 fa10080e327295fe59f0c1628298a1efdca92bdeca3830677d5a575d8d1b56d6218b268ea25411bc82c8946183b42d8efc9ee364a25b092738d9a000b61dd7c0
+AUX mpd-0.23.15.logrotate 124 BLAKE2B 4c2200d4a2fba4735037757f74a27cfbc71dcd9ec1d18e3f3d94efbeccbe99164adc7582fc1c153e50b019280b9d51bb92d08c5498d048cd7e6c2313e762b29a SHA512 2990b6facd1f8f99e85c67e16c248cb36444d933ff47a479612b0305296bb15d8eb570bea2e43a6752a687186d53728ba272869e84942b4d36f108b35fe475ac
DIST mpd-0.23.12.tar.xz 774708 BLAKE2B b218d9f477e92842638e3fba44c84957a3f656adaaf1ece998847db8d64883b8c997703206f74b37043888757f5f628799a3a35b25ea991f9ad00df1c4ad5e71 SHA512 54495b839d86b47ae6e2f6cf4e1baebd0e8eb924742e9db42cc7462ffc4b6f650b83f3eaea291fe905ff5f1975cf875537ffd23a111724013ce58e6df26ce36e
DIST mpd-0.23.13.tar.xz 776668 BLAKE2B 02907f08cc504d0fbf703179b333b301c7ad8fc8535d85305faa7962dd7faa164f4492286902cb48eaf3db2a1445b541b1261c18a89ca8a73e80016af9581e26 SHA512 1ef2b3a2089aa6078a455e43a2fb9097dc0d5b27b170e6d64e416d5e82349a794eb0acf8db72a975ad024083e872e4a1bd0e0fd51302d327d373b61f01bb819d
+DIST mpd-0.23.15.tar.xz 778384 BLAKE2B 78036078b850afab900b5d50e44ce83cbbf900369f5028d4177fdbfc4128dd3c35c59a773528a1fcfcc0179d0e579566b827fe87ef780a88082dc3b7f70cd5e7 SHA512 12329dbd0c1994c1bd95b88ce2a62a4c1d691b655e9e4fac7e9ef7066d0be3422b26fad3ea6ca144ba9b21add0a7c492c4f74fd2b68a1539bff2e0d2714db709
EBUILD mpd-0.23.12-r2.ebuild 7987 BLAKE2B 9c9d232508166834d1807c5312f897a435b5a5392077a9aa349b98323b3e0cc19fe6334cad254b1d18dc578c138510f6db672ac714324424db80baa4fd7a0e90 SHA512 01570cd6f965889fc9c8b872cab7a86013c51efb5d84009720bc09c564db56f37b540e9e7148f5a461a7a339ecd27e131ac74c3b3868e09f6da0ce50c2e7508f
EBUILD mpd-0.23.13.ebuild 7904 BLAKE2B c7c2f67fe6339b83a70bf765d494f875450aea608dade28716d7d86f1be56e32181a09facfe904fff807b08897bce682904503d31324442f8466572248aa8255 SHA512 4123c4b9b9cf645b8293c392565508bca5d0467f39b6b9eade7c164fbcbb8a39b92ab6be789e6c8ee4528558ac44bb61304765f49ccc9786f94d152f44d28c65
+EBUILD mpd-0.23.15.ebuild 7437 BLAKE2B 0a8b883df2dda0651b34685b87a1c6b05f04ea248b9955a3582a3431a8b9dda4f894526698d03495e5e2384892cd72e2f69fa28e9c213f96ca36c75b057de13f SHA512 43815ea1752db29b4df39cd824c711e68940c3589c2401e5f3c2fee4754f0272ca9deaa2b107b40ba77d2c92b6b179f09badc93432df6a42fd74f698b733d9cf
MISC metadata.xml 2733 BLAKE2B 7464a3dba24567363af1a92afed4a5a43e8b598adf10be65542d6844b474a6bbbc7a0fa4e33291d1cf84e35d29b317e43f1e52271d96ec74ce81577eb4bd7f8b SHA512 7f7d4e382575df62cabef13b5a8f9eff35bcecd55f04baf125fa7341f25403e6b3386635b5da3a1dacb5a351ff1b29362e5a83a86e670e54bfe0d5a6ef464f76
diff --git a/media-sound/mpd/files/mpd-0.23.15.init b/media-sound/mpd/files/mpd-0.23.15.init
new file mode 100644
index 000000000000..2cd176302e1f
--- /dev/null
+++ b/media-sound/mpd/files/mpd-0.23.15.init
@@ -0,0 +1,61 @@
+#!/sbin/openrc-run
+# Copyright 1999-2024 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'
+# Required by io_uring
+rc_ulimit="-l 65535"
+command=/usr/bin/mpd
+command_args=${CFGFILE}
+mpd_user="$(get_config user)"
+mpd_group="$(get_config group)"
+required_files=${CFGFILE}
+pidfile=$(get_config pid_file)
+description="Music Player Daemon"
+
+check_config() {
+ if [ -z "$(get_config pid_file)" ]; then
+ die "pid_file must be set in ${CFGFILE}!"
+ fi
+ if [ -z "$(get_config user)" ]; then
+ die "user must be set in ${CFGFILE}!"
+ fi
+ if [ -z "$(get_config group)" ]; then
+ die "group must be set in ${CFGFILE}!"
+ fi
+}
+
+start_pre() {
+ check_config
+
+ local pid_dir="$(dirname "${pidfile}")"
+ checkpath -d -m 700 -o "${mpd_user}:${mpd_group}" "${pid_dir}"
+
+ local log_file="$(get_config log_file)"
+ if [ -n "${log_file}" ]; then
+ local log_dir="$(dirname "${log_file}")"
+ checkpath -d -m 755 -o "${mpd_user}:${mpd_group}" "${log_dir}"
+ fi
+}
+
+reload() {
+ ebegin "Reloading ${RC_SVCNAME}"
+ start-stop-daemon --pidfile ${pidfile} --signal HUP
+ eend $?
+}
diff --git a/media-sound/mpd/files/mpd-0.23.15.logrotate b/media-sound/mpd/files/mpd-0.23.15.logrotate
new file mode 100644
index 000000000000..e1e57aef724f
--- /dev/null
+++ b/media-sound/mpd/files/mpd-0.23.15.logrotate
@@ -0,0 +1,9 @@
+/var/log/mpd/mpd.log {
+ missingok
+ weekly
+ delaycompress
+ compress
+ postrotate
+ /etc/init.d/mpd --quiet reload
+ endscript
+}
diff --git a/media-sound/mpd/mpd-0.23.15.ebuild b/media-sound/mpd/mpd-0.23.15.ebuild
new file mode 100644
index 000000000000..70c1356216a0
--- /dev/null
+++ b/media-sound/mpd/mpd-0.23.15.ebuild
@@ -0,0 +1,284 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic linux-info meson systemd xdg
+
+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="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="+alsa ao +audiofile bzip2 cdio chromaprint +cue +curl doc +dbus
+ +eventfd expat faad +ffmpeg +fifo flac fluidsynth gme +icu +id3tag +inotify
+ jack lame libmpdclient libsamplerate libsoxr +mad mikmod mms
+ modplug mpg123 musepack +network nfs openal openmpt opus oss pipe pipewire pulseaudio qobuz
+ recorder samba selinux sid signalfd snapcast sndfile sndio soundcloud sqlite systemd
+ test twolame udisks vorbis wavpack webdav wildmidi upnp
+ zeroconf zip zlib"
+
+OUTPUT_PLUGINS="alsa ao fifo jack network openal oss pipe pipewire pulseaudio snapcast sndio recorder"
+DECODER_PLUGINS="audiofile faad ffmpeg flac fluidsynth mad mikmod
+ modplug mpg123 musepack opus openmpt flac sid vorbis wavpack wildmidi"
+ENCODER_PLUGINS="audiofile flac lame twolame vorbis"
+
+REQUIRED_USE="
+ || ( ${OUTPUT_PLUGINS} )
+ || ( ${DECODER_PLUGINS} )
+ network? ( || ( ${ENCODER_PLUGINS} ) )
+ recorder? ( || ( ${ENCODER_PLUGINS} ) )
+ qobuz? ( curl soundcloud )
+ soundcloud? ( curl qobuz )
+ udisks? ( dbus )
+ upnp? ( curl expat )
+ webdav? ( curl expat )
+"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ acct-user/mpd
+ dev-libs/libfmt:=
+ dev-libs/libpcre2
+ media-libs/libogg
+ sys-libs/liburing:=
+ alsa? (
+ media-libs/alsa-lib
+ media-sound/alsa-utils
+ )
+ ao? ( media-libs/libao:=[alsa?,pulseaudio?] )
+ audiofile? ( media-libs/audiofile:= )
+ bzip2? ( app-arch/bzip2 )
+ cdio? (
+ dev-libs/libcdio:=
+ dev-libs/libcdio-paranoia
+ )
+ chromaprint? ( media-libs/chromaprint )
+ curl? ( net-misc/curl )
+ dbus? ( sys-apps/dbus )
+ doc? ( dev-python/sphinx )
+ expat? ( dev-libs/expat )
+ faad? ( media-libs/faad2 )
+ ffmpeg? ( media-video/ffmpeg:= )
+ flac? ( media-libs/flac:= )
+ fluidsynth? ( media-sound/fluidsynth )
+ gme? ( >=media-libs/game-music-emu-0.6.0_pre20120802 )
+ icu? (
+ dev-libs/icu:=
+ virtual/libiconv
+ )
+ 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-2.4.0 )
+ nfs? ( net-fs/libnfs )
+ openal? ( media-libs/openal )
+ openmpt? ( media-libs/libopenmpt )
+ opus? ( media-libs/opus )
+ pulseaudio? ( media-libs/libpulse )
+ pipewire? ( media-video/pipewire:= )
+ qobuz? ( dev-libs/libgcrypt:0 )
+ samba? ( net-fs/samba )
+ selinux? ( sec-policy/selinux-mpd )
+ sid? ( || (
+ media-libs/libsidplay:2
+ media-libs/libsidplayfp
+ ) )
+ snapcast? ( media-sound/snapcast )
+ sndfile? ( media-libs/libsndfile )
+ sndio? ( media-sound/sndio )
+ soundcloud? ( >=dev-libs/yajl-2:= )
+ sqlite? ( dev-db/sqlite:3 )
+ systemd? ( sys-apps/systemd:= )
+ 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:=
+ test? ( dev-cpp/gtest )
+"
+
+BDEPEND="virtual/pkgconfig"
+
+pkg_setup() {
+ 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
+}
+
+src_configure() {
+ local emesonargs=(
+ # media-libs/adplug is not packaged anymore
+ -Dadplug=disabled
+ $(meson_feature alsa)
+ $(meson_feature ao)
+ $(meson_feature audiofile)
+ $(meson_feature bzip2)
+ $(meson_feature cdio cdio_paranoia)
+ $(meson_feature chromaprint)
+ $(meson_use cue)
+ $(meson_feature curl)
+ $(meson_feature dbus)
+ $(meson_use eventfd)
+ $(meson_feature expat)
+ $(meson_feature faad)
+ $(meson_feature ffmpeg)
+ $(meson_use fifo)
+ $(meson_feature flac)
+ $(meson_feature fluidsynth)
+ $(meson_feature gme)
+ $(meson_feature icu)
+ $(meson_feature id3tag)
+ $(meson_use inotify)
+ -Dipv6=enabled
+ $(meson_feature cdio iso9660)
+ $(meson_feature jack)
+ $(meson_feature libmpdclient)
+ $(meson_feature libsamplerate)
+ $(meson_feature mad)
+ $(meson_feature mikmod)
+ $(meson_feature mms)
+ $(meson_feature modplug)
+ $(meson_feature musepack mpcdec)
+ $(meson_feature mpg123)
+ $(meson_feature nfs)
+ $(meson_feature openal)
+ $(meson_feature openmpt)
+ $(meson_feature opus)
+ $(meson_feature oss)
+ $(meson_use pipe)
+ $(meson_feature pipewire)
+ $(meson_feature pulseaudio pulse)
+ $(meson_feature qobuz)
+ $(meson_use recorder)
+ $(meson_use signalfd)
+ $(meson_feature samba smbclient)
+ $(meson_use snapcast)
+ $(meson_feature sid sidplay)
+ $(meson_feature sndfile)
+ $(meson_feature sndio)
+ $(meson_feature soundcloud)
+ $(meson_feature libsoxr soxr)
+ $(meson_feature sqlite)
+ $(meson_feature systemd)
+ $(meson_use test)
+ $(meson_feature udisks)
+ -Dupnp=$(usex upnp pupnp disabled)
+ $(meson_feature vorbis)
+ $(meson_feature wavpack)
+ $(meson_feature wildmidi)
+ $(meson_feature webdav)
+ -Dzeroconf=$(usex zeroconf avahi disabled)
+ $(meson_feature zlib)
+ $(meson_feature zip zzip)
+
+ --libdir="/usr/$(get_libdir)"
+ $(meson_feature doc documentation)
+ -Dsolaris_output=disabled
+
+ -Ddatabase=true
+ -Ddaemon=true
+ -Ddsd=true
+ -Dio_uring=enabled
+ -Dtcp=true
+
+ -Dsystemd_system_unit_dir="$(systemd_get_systemunitdir)"
+ -Dsystemd_user_unit_dir="$(systemd_get_userunitdir)"
+
+ $(meson_feature icu iconv)
+ )
+
+ if use samba || use upnp; then
+ emesonargs+=( -Dneighbor=true )
+ fi
+
+ append-lfs-flags
+ append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)/sidplay/builders"
+
+ if use network; then
+ emesonargs+=(
+ -Dshine=disabled
+ -Dshout=enabled
+ $(meson_feature vorbis vorbisenc)
+ -Dhttpd=true
+ $(meson_feature lame)
+ $(meson_feature twolame)
+ $(meson_use audiofile wave_encoder)
+ )
+ fi
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ insinto /etc
+ newins doc/mpdconf.example mpd.conf
+
+ # When running MPD as system service, better switch to the user we provide
+ sed -i \
+ -e 's:^#user.*$:user "mpd":' \
+ -e 's:^#group.*$:group "audio":' \
+ "${ED}/etc/mpd.conf" || die
+
+ if ! use systemd; then
+ # Extra options for running MPD under OpenRC
+ # (options that should not be set when using systemd)
+ sed -i \
+ -e 's:^#log_file.*$:log_file "/var/log/mpd/mpd.log":' \
+ -e 's:^#pid_file.*$:pid_file "/run/mpd/mpd.pid":' \
+ "${ED}/etc/mpd.conf" || die
+ fi
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${P}.logrotate" "${PN}"
+
+ newinitd "${FILESDIR}/${P}.init" "${PN}"
+
+ keepdir /var/lib/mpd
+ keepdir /var/lib/mpd/music
+ keepdir /var/lib/mpd/playlists
+ keepdir /var/log/mpd
+
+ rm -r "${ED}"/usr/share/doc/mpd || die
+
+ fowners mpd:audio -R /var/lib/mpd
+ fowners mpd:audio -R /var/log/mpd
+}