diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-02-05 17:43:10 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-02-05 17:43:10 +0000 |
commit | c31f575f39c1e387f18f630fb01d3a89c2339fdf (patch) | |
tree | d6db6ce35cd0849abe99eccd07d0f86a1aa82025 /media-sound/mpd | |
parent | 34d05d15811bd789a5348824d4f4151a49f924c9 (diff) |
gentoo auto-resync : 05:02:2024 - 17:43:10
Diffstat (limited to 'media-sound/mpd')
-rw-r--r-- | media-sound/mpd/Manifest | 4 | ||||
-rw-r--r-- | media-sound/mpd/files/mpd-0.23.15.init | 61 | ||||
-rw-r--r-- | media-sound/mpd/files/mpd-0.23.15.logrotate | 9 | ||||
-rw-r--r-- | media-sound/mpd/mpd-0.23.15.ebuild | 284 |
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 +} |