diff options
author | Sam James <sam@gentoo.org> | 2022-12-18 02:28:09 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-12-18 02:32:52 +0000 |
commit | f8242bade2bbe771e44880615f3c10cde7f27284 (patch) | |
tree | 77aaee776571c725ba33a29015c5266973b34d85 /media-sound/mpd | |
parent | dev-libs/openssl: keyword 3.0.7-r2 for ~s390 (diff) | |
download | gentoo-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/Manifest | 1 | ||||
-rw-r--r-- | media-sound/mpd/files/mpd-0.23.11-boost-1.81.patch | 30 | ||||
-rw-r--r-- | media-sound/mpd/mpd-0.23.11.ebuild | 293 |
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 +} |