From ae7f349673c9e013e85bbc65e873d3363467a293 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 18 May 2023 16:12:56 +0100 Subject: gentoo auto-resync : 18:05:2023 - 16:12:55 --- media-sound/Manifest.gz | Bin 56904 -> 56896 bytes media-sound/mpd/Manifest | 8 +- media-sound/mpd/files/mpd-0.23.11-boost-1.81.patch | 30 --- .../mpd/files/mpd-0.23.12-libfmt10-906074.patch | 102 +++++++ media-sound/mpd/files/mpd-0.23.12-stringview.patch | 235 ++++++++++++++++ media-sound/mpd/mpd-0.23.11.ebuild | 293 -------------------- media-sound/mpd/mpd-0.23.12-r1.ebuild | 295 +++++++++++++++++++++ media-sound/mpd/mpd-0.23.12.ebuild | 3 + media-sound/rhythmbox/Manifest | 4 +- media-sound/rhythmbox/rhythmbox-3.4.6-r2.ebuild | 8 +- media-sound/rhythmbox/rhythmbox-3.4.7-r1.ebuild | 8 +- 11 files changed, 649 insertions(+), 337 deletions(-) delete mode 100644 media-sound/mpd/files/mpd-0.23.11-boost-1.81.patch create mode 100644 media-sound/mpd/files/mpd-0.23.12-libfmt10-906074.patch create mode 100644 media-sound/mpd/files/mpd-0.23.12-stringview.patch delete mode 100644 media-sound/mpd/mpd-0.23.11.ebuild create mode 100644 media-sound/mpd/mpd-0.23.12-r1.ebuild (limited to 'media-sound') diff --git a/media-sound/Manifest.gz b/media-sound/Manifest.gz index e94a1721a73b..ba724dc3d772 100644 Binary files a/media-sound/Manifest.gz and b/media-sound/Manifest.gz differ diff --git a/media-sound/mpd/Manifest b/media-sound/mpd/Manifest index 731762952d6e..f9d89206bee3 100644 --- a/media-sound/mpd/Manifest +++ b/media-sound/mpd/Manifest @@ -1,8 +1,8 @@ AUX mpd-0.21.1.logrotate 120 BLAKE2B 2111ba897a77a766adf0827c4da7132d5315c7c13ba8e29d582f1030a902492945b0bad6781bbf551e83afd38b957e953215674c669aa2745c1dfa004b20d4b6 SHA512 4a610d4805c32989673d6295fdf4290dc29b11e5b5f3baa2aa957ef9334566f13fa1937e70dc6fe414277e6a026442e4c7e4b406aaf424b96b392da0200ec732 AUX mpd-0.21.4.init 767 BLAKE2B 74879e5f52365f987ac53a8ee154f29b4d7f5287cb2a965b180b3ed4a17dcdc68acea5dbe0b3adc99869270fb93a3f68e6728fad0776b9ce500efb6206f4db3c SHA512 36f3246835d6476e8f4f26795f8148f46b04015141894cdf849bfdd04b1cf5aa7a3d5960587f00e2c7d0f71568ca20fee619b95415df4cd0e4978ce95ca5f897 -AUX mpd-0.23.11-boost-1.81.patch 971 BLAKE2B 56c0963fb2169a8588f0b3dd3ada14859a1de969f455d537f4ac620269a95df77b7029a665824ae81179b7a7ccdbe1943fc451c90faa8171ce9982f72c52e377 SHA512 d8fe43ebe78cff16e7d773e5687960cd5f5ca65d2094d2d9f09c3bd22614ef3e6ad0982db5f8d0427724a12663afed48f20ab41236d2da58a007749955a6b9aa -DIST mpd-0.23.11.tar.xz 774592 BLAKE2B 70cc22abe78f6457bcec20a8e668647f9a2f38417956133ba5fde286179acaa710337461461d73b907a069fc0cfe6cb3787bc0db6bf61d82ad9fb082cbd2776d SHA512 971ae6b8ee5bf963a0f2408194fa01089713b606b3a2423081621b80a25e1b480f0e80a6d155ac8c2083960d99681c90f4bf00bf0baffa1f977259f1687c4ceb +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 DIST mpd-0.23.12.tar.xz 774708 BLAKE2B b218d9f477e92842638e3fba44c84957a3f656adaaf1ece998847db8d64883b8c997703206f74b37043888757f5f628799a3a35b25ea991f9ad00df1c4ad5e71 SHA512 54495b839d86b47ae6e2f6cf4e1baebd0e8eb924742e9db42cc7462ffc4b6f650b83f3eaea291fe905ff5f1975cf875537ffd23a111724013ce58e6df26ce36e -EBUILD mpd-0.23.11.ebuild 7882 BLAKE2B 999f14b3b679391525d5d0074cf8b28582db49de0ec39eb4d45f9f8b5035f60fedff4690bfa462fa06df98e68ec279cf3e0656aad7c701ffbbfcc56efb5e05a1 SHA512 b403662a3ff501ffb678fc31fb0f5b282e8555eb337b88863540515aac1484c8a2cfd1bc15560a864f78e8aed5d2a495e5d0502821846ed680033ec967ca353d -EBUILD mpd-0.23.12.ebuild 7832 BLAKE2B c7fa762ca2d70b100177a2a6e231dbe19172b77d09cbeb0d8436e8d2cbc93cc1845cdb897aac32b6a5f5819826cc910f7862f25f72a09c94e85849216ff6b3e7 SHA512 d0a25723cbbb0a4d1df224a676e211533b076ee0bd3e1fda99428573ce45978cfe5f55776e77876fd7c7fc36b77f4ecacaf36285f2c1c883c727a85b6697e247 +EBUILD mpd-0.23.12-r1.ebuild 7994 BLAKE2B ef80d910231bec04d9c9763ef7c3d0cac24b7b9b4e59bdab9d1e6bf1c110c7b6270c7fb2f34cb4f4924255c0512d05b00db374b3d0f9845b17f5843f44a4de38 SHA512 589b77f1b3574ede2180e3a4fe3e65f745e80fb6334af04ce2a480773e3b9a49069957d5635aecb81cb5ff148aeb12910e63333336b5aecd238029d879eaf6bc +EBUILD mpd-0.23.12.ebuild 7952 BLAKE2B 713e700803cb123f4e1c3c5cadae1b1ca0e5beb0506f202c65d7a2a21a0e72e46468258bbc1110d65bcd5fa9352447b92f2708a5be9ac8b7f8f9dc4866bdc35e SHA512 435fea8f5b42864f41161e48bd890582b704a99c1377da6e662dc9ff820812cba875d7579689726ebe246cc79565839b84b42e0c3fa2002dd9636bd687d6eee6 MISC metadata.xml 2805 BLAKE2B afe65d7428c79de96b99855e74d8a474df33dbd71fe9f9f65f64270126dea5ca9138a533c9f4f8d422722352574ccbfec2ec64f5e492869e9c97fbc84dd2c1a1 SHA512 74c249f71a819f5747739c6c720d48edf52b62012f9d1fd30bb6027bd3c5794161f7a70b7c87d78a60fa46e37fc94aa449e0b8825bb8d3eea32143bf240e1d92 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 deleted file mode 100644 index cb40b14926e2..000000000000 --- a/media-sound/mpd/files/mpd-0.23.11-boost-1.81.patch +++ /dev/null @@ -1,30 +0,0 @@ -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?= - -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. `` 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 - #include - -+#include -+#include -+#include - #include -+#include - - class RemoteTagCacheHandler; - diff --git a/media-sound/mpd/files/mpd-0.23.12-libfmt10-906074.patch b/media-sound/mpd/files/mpd-0.23.12-libfmt10-906074.patch new file mode 100644 index 000000000000..7fc5187a54f3 --- /dev/null +++ b/media-sound/mpd/files/mpd-0.23.12-libfmt10-906074.patch @@ -0,0 +1,102 @@ +libfmt 10 changed the API, requiring a few adjustments to the codebase. +This backports the upstream fixes for building against libfmt 10. + +Bug: https://bugs.gentoo.org/906074 + +--- a/src/SongPrint.cxx ++++ b/src/SongPrint.cxx +@@ -24,6 +24,7 @@ + #include "TagPrint.hxx" + #include "client/Response.hxx" + #include "fs/Traits.hxx" ++#include "lib/fmt/AudioFormatFormatter.hxx" + #include "time/ChronoUtil.hxx" + #include "util/StringBuffer.hxx" + #include "util/UriUtil.hxx" +@@ -93,7 +94,7 @@ song_print_info(Response &r, const LightSong &song, bool base) noexcept + time_print(r, "Last-Modified", song.mtime); + + if (song.audio_format.IsDefined()) +- r.Fmt(FMT_STRING("Format: {}\n"), ToString(song.audio_format)); ++ r.Fmt(FMT_STRING("Format: {}\n"), song.audio_format); + + tag_print_values(r, song.tag); + +@@ -116,7 +117,7 @@ song_print_info(Response &r, const DetachedSong &song, bool base) noexcept + time_print(r, "Last-Modified", song.GetLastModified()); + + if (const auto &f = song.GetAudioFormat(); f.IsDefined()) +- r.Fmt(FMT_STRING("Format: {}\n"), ToString(f)); ++ r.Fmt(FMT_STRING("Format: {}\n"), f); + + tag_print_values(r, song.GetTag()); + +--- a/src/TagPrint.cxx ++++ b/src/TagPrint.cxx +@@ -21,7 +21,6 @@ + #include "tag/Tag.hxx" + #include "tag/Settings.hxx" + #include "client/Response.hxx" +-#include "util/StringView.hxx" + + #include + +@@ -35,7 +34,7 @@ tag_print_types(Response &r) noexcept + } + + void +-tag_print(Response &r, TagType type, StringView value) noexcept ++tag_print(Response &r, TagType type, std::string_view value) noexcept + { + r.Fmt(FMT_STRING("{}: {}\n"), tag_item_names[type], value); + } +--- a/src/TagPrint.hxx ++++ b/src/TagPrint.hxx +@@ -21,6 +21,7 @@ + #define MPD_TAG_PRINT_HXX + + #include ++#include + + enum TagType : uint8_t; + +@@ -32,7 +33,7 @@ void + tag_print_types(Response &response) noexcept; + + void +-tag_print(Response &response, TagType type, StringView value) noexcept; ++tag_print(Response &response, TagType type, std::string_view value) noexcept; + + void + tag_print(Response &response, TagType type, const char *value) noexcept; +--- a/src/TimePrint.cxx ++++ b/src/TimePrint.cxx +@@ -36,5 +36,5 @@ time_print(Response &r, const char *name, + return; + } + +- r.Fmt(FMT_STRING("{}: {}\n"), name, s); ++ r.Fmt(FMT_STRING("{}: {}\n"), name, s.c_str()); + } +--- a/src/command/PlayerCommands.cxx ++++ b/src/command/PlayerCommands.cxx +@@ -28,6 +28,7 @@ + #include "Partition.hxx" + #include "Instance.hxx" + #include "IdleFlags.hxx" ++#include "lib/fmt/AudioFormatFormatter.hxx" + #include "util/StringBuffer.hxx" + #include "util/ScopeExit.hxx" + #include "util/Exception.hxx" +@@ -185,7 +186,7 @@ handle_status(Client &client, [[maybe_unused]] Request args, Response &r) + + if (player_status.audio_format.IsDefined()) + r.Fmt(FMT_STRING(COMMAND_STATUS_AUDIO ": {}\n"), +- ToString(player_status.audio_format)); ++ player_status.audio_format); + } + + #ifdef ENABLE_DATABASE +-- +2.39.2 + diff --git a/media-sound/mpd/files/mpd-0.23.12-stringview.patch b/media-sound/mpd/files/mpd-0.23.12-stringview.patch new file mode 100644 index 000000000000..fa0f77f2a712 --- /dev/null +++ b/media-sound/mpd/files/mpd-0.23.12-stringview.patch @@ -0,0 +1,235 @@ +Backport of upstream commit ec66ee3bfb, which is a prerequisite to +backport the fix for dev-libs/libfmt-10. + +--- a/src/command/FileCommands.cxx ++++ b/src/command/FileCommands.cxx +@@ -106,7 +106,7 @@ handle_listfiles_local(Response &r, Path path_fs) + + gcc_pure + static bool +-IsValidName(const StringView s) noexcept ++IsValidName(const std::string_view s) noexcept + { + if (s.empty() || !IsAlphaASCII(s.front())) + return false; +@@ -118,7 +118,7 @@ IsValidName(const StringView s) noexcept + + gcc_pure + static bool +-IsValidValue(const StringView s) noexcept ++IsValidValue(const std::string_view s) noexcept + { + return std::none_of(s.begin(), s.end(), [](const auto &ch) { return (unsigned char)ch < 0x20; }); + } +@@ -130,7 +130,7 @@ public: + explicit PrintCommentHandler(Response &_response) noexcept + :NullTagHandler(WANT_PAIR), response(_response) {} + +- void OnPair(StringView key, StringView value) noexcept override { ++ void OnPair(std::string_view key, std::string_view value) noexcept override { + if (IsValidName(key) && IsValidValue(value)) + response.Fmt(FMT_STRING("{}: {}\n"), key, value); + } +--- a/src/command/OtherCommands.cxx ++++ b/src/command/OtherCommands.cxx +@@ -147,7 +147,7 @@ public: + explicit PrintTagHandler(Response &_response) noexcept + :NullTagHandler(WANT_TAG), response(_response) {} + +- void OnTag(TagType type, StringView value) noexcept override { ++ void OnTag(TagType type, std::string_view value) noexcept override { + if (response.GetClient().tag_mask.Test(type)) + tag_print(response, type, value); + } +--- a/src/decoder/plugins/AdPlugDecoderPlugin.cxx ++++ b/src/decoder/plugins/AdPlugDecoderPlugin.cxx +@@ -81,11 +81,11 @@ adplug_file_decode(DecoderClient &client, Path path_fs) + } + + static void +-adplug_scan_tag(TagType type, const std::string &value, ++adplug_scan_tag(TagType type, const std::string_view value, + TagHandler &handler) noexcept + { + if (!value.empty()) +- handler.OnTag(type, {value.data(), value.size()}); ++ handler.OnTag(type, value); + } + + static bool +--- a/src/playlist/plugins/EmbeddedCuePlaylistPlugin.cxx ++++ b/src/playlist/plugins/EmbeddedCuePlaylistPlugin.cxx +@@ -39,6 +39,8 @@ + + #include + ++using std::string_view_literals::operator""sv; ++ + class EmbeddedCuePlaylist final : public SongEnumerator { + public: + /** +@@ -69,14 +71,15 @@ public: + + ExtractCuesheetTagHandler() noexcept:NullTagHandler(WANT_PAIR) {} + +- void OnPair(StringView key, StringView value) noexcept override; ++ void OnPair(std::string_view key, std::string_view value) noexcept override; + }; + + void +-ExtractCuesheetTagHandler::OnPair(StringView name, StringView value) noexcept ++ExtractCuesheetTagHandler::OnPair(std::string_view name, std::string_view value) noexcept + { +- if (cuesheet.empty() && name.EqualsIgnoreCase("cuesheet")) +- cuesheet = {value.data, value.size}; ++ if (cuesheet.empty() && ++ StringView{name}.EqualsIgnoreCase("cuesheet"sv)) ++ cuesheet = value; + } + + static std::unique_ptr +--- a/src/tag/Handler.cxx ++++ b/src/tag/Handler.cxx +@@ -25,13 +25,15 @@ + + #include + ++using std::string_view_literals::operator""sv; ++ + void +-NullTagHandler::OnTag(TagType, StringView) noexcept ++NullTagHandler::OnTag(TagType, std::string_view) noexcept + { + } + + void +-NullTagHandler::OnPair(StringView, StringView) noexcept ++NullTagHandler::OnPair(std::string_view, std::string_view) noexcept + { + } + +@@ -54,18 +56,18 @@ AddTagHandler::OnDuration(SongTime duration) noexcept + /** + * Skip leading zeroes and a non-decimal suffix. + */ +-static StringView +-NormalizeDecimal(StringView s) ++static std::string_view ++NormalizeDecimal(std::string_view s) + { + auto start = std::find_if(s.begin(), s.end(), + [](char ch){ return ch != '0'; }); + auto end = std::find_if(start, s.end(), + [](char ch){ return !IsDigitASCII(ch); }); +- return {start, end}; ++ return StringView{start, end}; + } + + void +-AddTagHandler::OnTag(TagType type, StringView value) noexcept ++AddTagHandler::OnTag(TagType type, std::string_view value) noexcept + { + if (type == TAG_TRACK || type == TAG_DISC) { + /* filter out this extra data and leading zeroes */ +@@ -77,9 +79,9 @@ AddTagHandler::OnTag(TagType type, StringView value) noexcept + } + + void +-FullTagHandler::OnPair(StringView name, StringView) noexcept ++FullTagHandler::OnPair(std::string_view name, std::string_view) noexcept + { +- if (name.EqualsIgnoreCase("cuesheet")) ++ if (StringView{name}.EqualsIgnoreCase("cuesheet"sv)) + tag.SetHasPlaylist(true); + } + +--- a/src/tag/Handler.hxx ++++ b/src/tag/Handler.hxx +@@ -24,8 +24,11 @@ + #include "Chrono.hxx" + #include "util/Compiler.h" + ++#include ++#include ++#include ++ + template struct ConstBuffer; +-struct StringView; + struct AudioFormat; + class TagBuilder; + +@@ -81,13 +84,14 @@ public: + * @param the value of the tag; the pointer will become + * invalid after returning + */ +- virtual void OnTag(TagType type, StringView value) noexcept = 0; ++ virtual void OnTag(TagType type, std::string_view value) noexcept = 0; + + /** + * A name-value pair has been read. It is the codec specific + * representation of tags. + */ +- virtual void OnPair(StringView key, StringView value) noexcept = 0; ++ virtual void OnPair(std::string_view key, ++ std::string_view value) noexcept = 0; + + /** + * Declare the audio format of a song. +@@ -125,8 +129,9 @@ public: + :TagHandler(_want_mask) {} + + void OnDuration([[maybe_unused]] SongTime duration) noexcept override {} +- void OnTag(TagType type, StringView value) noexcept override; +- void OnPair(StringView key, StringView value) noexcept override; ++ void OnTag(TagType type, std::string_view value) noexcept override; ++ void OnPair(std::string_view key, ++ std::string_view value) noexcept override; + void OnAudioFormat(AudioFormat af) noexcept override; + void OnPicture(const char *mime_type, + ConstBuffer buffer) noexcept override; +@@ -149,7 +154,7 @@ public: + :AddTagHandler(0, _builder) {} + + void OnDuration(SongTime duration) noexcept override; +- void OnTag(TagType type, StringView value) noexcept override; ++ void OnTag(TagType type, std::string_view value) noexcept override; + }; + + /** +@@ -173,7 +178,8 @@ public: + AudioFormat *_audio_format=nullptr) noexcept + :FullTagHandler(0, _builder, _audio_format) {} + +- void OnPair(StringView key, StringView value) noexcept override; ++ void OnPair(std::string_view key, ++ std::string_view value) noexcept override; + void OnAudioFormat(AudioFormat af) noexcept override; + }; + +--- a/test/read_tags.cxx ++++ b/test/read_tags.cxx +@@ -60,16 +60,16 @@ public: + printf("duration=%f\n", duration.ToDoubleS()); + } + +- void OnTag(TagType type, StringView value) noexcept override { ++ void OnTag(TagType type, std::string_view value) noexcept override { + printf("[%s]=%.*s\n", tag_item_names[type], +- int(value.size), value.data); ++ int(value.size()), value.data()); + empty = false; + } + +- void OnPair(StringView key, StringView value) noexcept override { ++ void OnPair(std::string_view key, std::string_view value) noexcept override { + printf("\"%.*s\"=%.*s\n", +- int(key.size), key.data, +- int(value.size), value.data); ++ int(key.size()), key.data(), ++ int(value.size()), value.data()); + } + + void OnAudioFormat(AudioFormat af) noexcept override { +-- +2.39.2 + diff --git a/media-sound/mpd/mpd-0.23.11.ebuild b/media-sound/mpd/mpd-0.23.11.ebuild deleted file mode 100644 index 3c94bc93825b..000000000000 --- a/media-sound/mpd/mpd-0.23.11.ebuild +++ /dev/null @@ -1,293 +0,0 @@ -# Copyright 1999-2023 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 -} diff --git a/media-sound/mpd/mpd-0.23.12-r1.ebuild b/media-sound/mpd/mpd-0.23.12-r1.ebuild new file mode 100644 index 000000000000..3b9aeb9c020a --- /dev/null +++ b/media-sound/mpd/mpd-0.23.12-r1.ebuild @@ -0,0 +1,295 @@ +# Copyright 1999-2023 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=( + # Backported fixes for dev-libs/libfmt-10. Remove after 0.23.12. + "${FILESDIR}/${P}-stringview.patch" + "${FILESDIR}/${P}-libfmt10-906074.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 +} diff --git a/media-sound/mpd/mpd-0.23.12.ebuild b/media-sound/mpd/mpd-0.23.12.ebuild index ec25e7a6d213..85c1e4146ec1 100644 --- a/media-sound/mpd/mpd-0.23.12.ebuild +++ b/media-sound/mpd/mpd-0.23.12.ebuild @@ -39,9 +39,12 @@ REQUIRED_USE=" RESTRICT="!test? ( test )" +# Note: This version is incompatible with dev-libs/libfmt-10 +# Bug: https://bugs.gentoo.org/906074 RDEPEND=" acct-user/mpd dev-libs/libfmt:= + =net-libs/libdmapsharing-2.9.19:3.0 >=media-plugins/gst-plugins-soup-1.4:1.0 ) - gnome-keyring? ( >=app-crypt/libsecret-0.18 ) + keyring? ( >=app-crypt/libsecret-0.18 ) libnotify? ( >=x11-libs/libnotify-0.7.0 ) lirc? ( app-misc/lirc ) python? ( @@ -78,7 +78,7 @@ RDEPEND="${DEPEND} x11-libs/pango[introspection] dbus? ( sys-apps/dbus ) - gnome-keyring? ( >=app-crypt/libsecret-0.18[introspection] ) + keyring? ( >=app-crypt/libsecret-0.18[introspection] ) ) upnp-av? ( =net-libs/libdmapsharing-3.9.11:4.0= >=media-plugins/gst-plugins-soup-1.4:1.0 ) - gnome-keyring? ( >=app-crypt/libsecret-0.18 ) + keyring? ( >=app-crypt/libsecret-0.18 ) libnotify? ( >=x11-libs/libnotify-0.7.0 ) lirc? ( app-misc/lirc ) python? ( @@ -78,7 +78,7 @@ RDEPEND="${DEPEND} x11-libs/pango[introspection] dbus? ( sys-apps/dbus ) - gnome-keyring? ( >=app-crypt/libsecret-0.18[introspection] ) + keyring? ( >=app-crypt/libsecret-0.18[introspection] ) ) upnp-av? ( >=media-libs/grilo-0.3.15-r1:0.3 @@ -105,7 +105,7 @@ src_configure() { $(meson_feature udev gudev) $(meson_feature ipod) $(meson_feature libnotify) - $(meson_feature gnome-keyring libsecret) + $(meson_feature keyring libsecret) $(meson_feature lirc) $(meson_feature mtp) $(meson_feature python plugins_python) -- cgit v1.2.3