summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-12-18 02:28:09 +0000
committerSam James <sam@gentoo.org>2022-12-18 02:32:52 +0000
commitf8242bade2bbe771e44880615f3c10cde7f27284 (patch)
tree77aaee776571c725ba33a29015c5266973b34d85 /media-sound/mpd
parentdev-libs/openssl: keyword 3.0.7-r2 for ~s390 (diff)
downloadgentoo-f8242bade2bbe771e44880615f3c10cde7f27284.tar.gz
gentoo-f8242bade2bbe771e44880615f3c10cde7f27284.tar.bz2
gentoo-f8242bade2bbe771e44880615f3c10cde7f27284.zip
media-sound/mpd: add 0.23.11
Closes: https://bugs.gentoo.org/886521 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-sound/mpd')
-rw-r--r--media-sound/mpd/Manifest1
-rw-r--r--media-sound/mpd/files/mpd-0.23.11-boost-1.81.patch30
-rw-r--r--media-sound/mpd/mpd-0.23.11.ebuild293
3 files changed, 324 insertions, 0 deletions
diff --git a/media-sound/mpd/Manifest b/media-sound/mpd/Manifest
index cf7a2e728d60..b2850379477d 100644
--- a/media-sound/mpd/Manifest
+++ b/media-sound/mpd/Manifest
@@ -1,3 +1,4 @@
DIST mpd-0.22.11.tar.xz 737184 BLAKE2B b47dcbd1e01812b66c81f33a53fc0838ddb8b7a145763744d1cf1aacc7ca38e763b723498f3ab7360f49637bc80c0ada5a69c7d619f3cf167071a7bec2440d20 SHA512 c53d386d42c2360502aad5e7574ae5ff76a20df037696989f9e1700f9cffb88afdd329cce758067356c59308d0cbcf3ba3ccf6f013e2fcec54ddf08bd0212b43
DIST mpd-0.23.10.tar.xz 774196 BLAKE2B 6b648971412a5f83fe9ff2694c030b451393c415de9c34cbea9894555ac7ea87c5a991edfdd41c7cd76511ae0680ecab35eb36ceae5e372900518c9cf5e9c55c SHA512 15e51a1fab2e187529141ebb25f0bb6cc9c2ad5127c1a9f4c40d1a944ed5bc4e7e76b26eb71f659ddd8a5ce448089e6d3dcf0c302ced8a4d08951ef1b1f09c49
+DIST mpd-0.23.11.tar.xz 774592 BLAKE2B 70cc22abe78f6457bcec20a8e668647f9a2f38417956133ba5fde286179acaa710337461461d73b907a069fc0cfe6cb3787bc0db6bf61d82ad9fb082cbd2776d SHA512 971ae6b8ee5bf963a0f2408194fa01089713b606b3a2423081621b80a25e1b480f0e80a6d155ac8c2083960d99681c90f4bf00bf0baffa1f977259f1687c4ceb
DIST mpd-0.23.9.tar.xz 774156 BLAKE2B 2c045c86ecbe2267d032ebfd4a18835e9b1323860eb348b047d0900a284f5457ca4f18fdd50ea2f678e07a63817b4e4e3245cf0d3948e1f14cf3539d47b314d2 SHA512 67db093e35693f79267f955463ecaa284773b5e47a38f1548a0d16c9ba82aecc3434fd805e224b78782c5978c07e16d26f7632823e536f5304f557985f028d6e
diff --git a/media-sound/mpd/files/mpd-0.23.11-boost-1.81.patch b/media-sound/mpd/files/mpd-0.23.11-boost-1.81.patch
new file mode 100644
index 000000000000..cb40b14926e2
--- /dev/null
+++ b/media-sound/mpd/files/mpd-0.23.11-boost-1.81.patch
@@ -0,0 +1,30 @@
+https://bugs.gentoo.org/886521
+https://github.com/MusicPlayerDaemon/MPD/issues/1693
+https://github.com/MusicPlayerDaemon/MPD/commit/e4b055eb6d08c5c8f8d85828ce4005d410e462cb
+
+From e4b055eb6d08c5c8f8d85828ce4005d410e462cb Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
+ <congdanhqx@gmail.com>
+Date: Thu, 1 Dec 2022 08:29:23 +0700
+Subject: [PATCH] v0.23.x: RemoteTagCache: add missing include
+
+Fix build with Boost 1.81.0. `<array>` was included by one of those boost headers,
+however, it's no longer included as of Boost 1.81.0.
+
+`master` doesn't use `std::array` in this file.
+
+While we're at it, add all necessary inclusion files.
+--- a/src/RemoteTagCache.hxx
++++ b/src/RemoteTagCache.hxx
+@@ -28,7 +28,11 @@
+ #include <boost/intrusive/list.hpp>
+ #include <boost/intrusive/unordered_set.hpp>
+
++#include <array>
++#include <functional>
++#include <memory>
+ #include <string>
++#include <utility>
+
+ class RemoteTagCacheHandler;
+
diff --git a/media-sound/mpd/mpd-0.23.11.ebuild b/media-sound/mpd/mpd-0.23.11.ebuild
new file mode 100644
index 000000000000..d209e7dbdf1f
--- /dev/null
+++ b/media-sound/mpd/mpd-0.23.11.ebuild
@@ -0,0 +1,293 @@
+# Copyright 1999-2022 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-sound/pulseaudio )
+ 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"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-boost-1.81.patch
+)
+
+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
+
+ elog "If you will be starting mpd via ${EROOT}/etc/init.d/mpd, please make sure that MPD's pid_file is _set_."
+}
+
+src_prepare() {
+ sed -i \
+ -e 's:^#filesystem_charset.*$:filesystem_charset "UTF-8":' \
+ -e 's:^#user.*$:user "mpd":' \
+ -e 's:^#bind_to_address.*any.*$:bind_to_address "localhost":' \
+ -e 's:^#bind_to_address.*$:bind_to_address "/var/lib/mpd/socket":' \
+ -e 's:^#music_directory.*$:music_directory "/var/lib/mpd/music":' \
+ -e 's:^#playlist_directory.*$:playlist_directory "/var/lib/mpd/playlists":' \
+ -e 's:^#db_file.*$:db_file "/var/lib/mpd/database":' \
+ -e 's:^#log_file.*$:log_file "/var/lib/mpd/log":' \
+ -e 's:^#pid_file.*$:pid_file "/var/lib/mpd/pid":' \
+ -e 's:^#state_file.*$:state_file "/var/lib/mpd/state":' \
+ doc/mpdconf.example || die
+ default
+}
+
+src_configure() {
+ local emesonargs=(
+ $(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 icu)
+ $(meson_feature id3tag)
+ $(meson_use inotify)
+ -Dipv6=enabled
+ $(meson_feature cdio iso9660)
+ $(meson_feature libmpdclient)
+ $(meson_feature libsamplerate)
+ $(meson_feature mms)
+ $(meson_feature nfs)
+ $(meson_use signalfd)
+ $(meson_feature samba smbclient)
+ $(meson_feature libsoxr soxr)
+ $(meson_feature sqlite)
+ $(meson_feature systemd)
+ $(meson_use test)
+ $(meson_feature udisks)
+ -Dupnp=$(usex upnp pupnp disabled)
+ $(meson_feature webdav)
+ -Dzeroconf=$(usex zeroconf avahi disabled)
+ $(meson_feature zlib)
+ $(meson_feature zip zzip)
+ )
+
+ emesonargs+=(
+ $(meson_feature alsa)
+ $(meson_feature ao)
+ $(meson_use fifo)
+ $(meson_feature jack)
+ $(meson_feature openal)
+ $(meson_feature oss)
+ $(meson_use pipe)
+ $(meson_feature pipewire)
+ $(meson_feature pulseaudio pulse)
+ $(meson_use recorder)
+ $(meson_use snapcast)
+ $(meson_feature sndio)
+ )
+
+ 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
+
+ emesonargs+=(
+ # media-libs/adplug is not packaged anymore
+ -Dadplug=disabled
+ $(meson_feature audiofile)
+ $(meson_feature faad)
+ $(meson_feature ffmpeg)
+ $(meson_feature flac)
+ $(meson_feature fluidsynth)
+ $(meson_feature gme)
+ $(meson_feature mad)
+ $(meson_feature mikmod)
+ $(meson_feature modplug)
+ $(meson_feature musepack mpcdec)
+ $(meson_feature mpg123)
+ $(meson_feature openmpt)
+ $(meson_feature opus)
+ $(meson_feature sid sidplay)
+ $(meson_feature sndfile)
+ $(meson_feature vorbis)
+ $(meson_feature wavpack)
+ $(meson_feature wildmidi)
+ $(meson_feature qobuz)
+ $(meson_feature soundcloud)
+
+ --libdir="/usr/$(get_libdir)"
+ $(meson_feature doc documentation)
+ -Dsolaris_output=disabled
+
+ -Ddatabase=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)
+ )
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ insinto /etc
+ newins doc/mpdconf.example mpd.conf
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}-0.21.1.logrotate ${PN}
+
+ newinitd "${FILESDIR}"/${PN}-0.21.4.init ${PN}
+
+ sed -i -e 's:^#filesystem_charset.*$:filesystem_charset "UTF-8":' "${ED}"/etc/mpd.conf || die "sed failed"
+
+ keepdir /var/lib/mpd
+ keepdir /var/lib/mpd/music
+ keepdir /var/lib/mpd/playlists
+
+ rm -r "${ED}"/usr/share/doc/mpd || die
+
+ fowners mpd:audio -R /var/lib/mpd
+}