diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-09-23 01:25:12 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-09-23 01:25:12 +0100 |
commit | de59eb4554f5fe0d506a66bb96630a35f99c09f7 (patch) | |
tree | 93910196831fcf1967ee9af465900caa7d70fa5b /media-sound/mpd | |
parent | 1802160f23e91c618b3c7379fd99127682cfce19 (diff) |
gentoo auto-resync : 23:09:2024 - 01:25:12
Diffstat (limited to 'media-sound/mpd')
-rw-r--r-- | media-sound/mpd/Manifest | 13 | ||||
-rw-r--r-- | media-sound/mpd/files/mpd-0.21.1.logrotate | 9 | ||||
-rw-r--r-- | media-sound/mpd/files/mpd-0.21.4.init | 34 | ||||
-rw-r--r-- | media-sound/mpd/files/mpd-0.23.12-libfmt10-906074.patch | 102 | ||||
-rw-r--r-- | media-sound/mpd/files/mpd-0.23.12-stringview.patch | 235 | ||||
-rw-r--r-- | media-sound/mpd/files/mpd-0.23.13-ffmpeg-6.1.patch | 14 | ||||
-rw-r--r-- | media-sound/mpd/files/mpd-0.23.15.init-r1 | 61 | ||||
-rw-r--r-- | media-sound/mpd/metadata.xml | 2 | ||||
-rw-r--r-- | media-sound/mpd/mpd-0.23.12-r3.ebuild | 295 | ||||
-rw-r--r-- | media-sound/mpd/mpd-0.23.15-r2.ebuild (renamed from media-sound/mpd/mpd-0.23.13-r1.ebuild) | 177 |
10 files changed, 153 insertions, 789 deletions
diff --git a/media-sound/mpd/Manifest b/media-sound/mpd/Manifest index 50aaac759c6b..700ffeafa771 100644 --- a/media-sound/mpd/Manifest +++ b/media-sound/mpd/Manifest @@ -1,14 +1,7 @@ -AUX mpd-0.21.1.logrotate 120 BLAKE2B 2111ba897a77a766adf0827c4da7132d5315c7c13ba8e29d582f1030a902492945b0bad6781bbf551e83afd38b957e953215674c669aa2745c1dfa004b20d4b6 SHA512 4a610d4805c32989673d6295fdf4290dc29b11e5b5f3baa2aa957ef9334566f13fa1937e70dc6fe414277e6a026442e4c7e4b406aaf424b96b392da0200ec732 -AUX mpd-0.21.4.init 758 BLAKE2B 9d0c7f463e0b42481648c0bf559a05066685bd937068bdcbf1571b62c0113eb17b89f477df5d53b1e7d0f0d87e6ff6f02678cbdc340785b1339267fe2db026f9 SHA512 b13a41cc70f512723e57294c13651daa5a13dcf376d6355e7704795633de347a24961a61f43f28e0cf32c1d2ce4346236323153594086f0b57ec0ccee9cc0179 -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 1400 BLAKE2B 6b9defd7f8a8cbfeaf6196d1ad4e928a9c0edf9b6d109a375a711aa81ab06128be8eace7bd278af8077cc841bb6ece5240a315902f55d42bb874ddddb0f73f09 SHA512 a19df8d17bc2b53200318bb2b1b4fb2a8e2f3a2968bf0769694b55e0cc5dc2db52bd261f933de2180c19f9c6125f01e62f67d4e09d5e3796abf0bdb71034fcce +AUX mpd-0.23.15.init-r1 1433 BLAKE2B 30de4d260374d01bca9c24419207320d2253f974134da10ca946af88b8c3804555459e9f4e86575f2421810d1c894d6215ba1404b3c70467c23586208ff6859d SHA512 266b7a53e76cfb987794eb1741b46bcb10a33708cf6704fd92899a4315c78d3ea03d3ab2880197bad23d79c8c60c67c19c122d634f1d5caf78da27abe1285295 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-r3.ebuild 7987 BLAKE2B e4e3c47e10f1cbb7642c307ad9e0435e5ccab9d879eb71a899cbebab8d4d059cd557f439fdcf5dcb8d48da5db9cf7e5536e0ee5d4b5d23ce8a72fdd41e9d6c51 SHA512 561078f5a6c9246353bda05562d93b63da90cce5241b582592efbbe6fd94c33c77d6308a3f7cbb5e0b5919c0f2b4d4dc00c47ebd54cdde703b39c96f076f6e2e -EBUILD mpd-0.23.13-r1.ebuild 7904 BLAKE2B c7c2f67fe6339b83a70bf765d494f875450aea608dade28716d7d86f1be56e32181a09facfe904fff807b08897bce682904503d31324442f8466572248aa8255 SHA512 4123c4b9b9cf645b8293c392565508bca5d0467f39b6b9eade7c164fbcbb8a39b92ab6be789e6c8ee4528558ac44bb61304765f49ccc9786f94d152f44d28c65 EBUILD mpd-0.23.15-r1.ebuild 7433 BLAKE2B ba186f2a91f763bd5deaf1976fe806ea1a2473408ba7f72834b07a854b5d457d8c2cf5f0e1fbeea4ac9bc794a6e976b41cbe876b6cd0000836f3f5a733781afa SHA512 58fd272f2b257e62c3a1fa8aabfad54a2a1e956435dc54d34d44e1c2533fad2b54716e4eb6e8a21f0b8f94187969ef2aacc3b4ae73e1c4d2440e3562cb307c49 -MISC metadata.xml 2733 BLAKE2B 7464a3dba24567363af1a92afed4a5a43e8b598adf10be65542d6844b474a6bbbc7a0fa4e33291d1cf84e35d29b317e43f1e52271d96ec74ce81577eb4bd7f8b SHA512 7f7d4e382575df62cabef13b5a8f9eff35bcecd55f04baf125fa7341f25403e6b3386635b5da3a1dacb5a351ff1b29362e5a83a86e670e54bfe0d5a6ef464f76 +EBUILD mpd-0.23.15-r2.ebuild 7662 BLAKE2B 96fa02e3439580f3466b4a8ce4bcd05a117a18b6b568d5f1f52afc9dab8130a3b95bbceb92d724075957227aab55c5500efdf6a7b79bfc9e85534bc28c590104 SHA512 fa9e6e6a6450db0ebf40f6a76b3f0a0fdfb08d6ed53f2d9e6dadfe58d318804a50ec7da49c4186bef80eb74d531042ec87f0d7e761c5f1b5071a97e8dc868995 +MISC metadata.xml 2872 BLAKE2B ed17ec716b96258c61606839340da197d7276fb2ba77665368c1526d7b2c1e40e0459e30a07ef7f7a1a218c070635df664aaae9c69d3926faa111ee926b84c9d SHA512 f383565a0cd2eed69586291872c47fe2a89ff4015762e79248537306b9bb8729278e81a5d463df6cf31e007acfab15d00665e46b1f1949378cd9b8a8826680c5 diff --git a/media-sound/mpd/files/mpd-0.21.1.logrotate b/media-sound/mpd/files/mpd-0.21.1.logrotate deleted file mode 100644 index 597c4fb2306d..000000000000 --- a/media-sound/mpd/files/mpd-0.21.1.logrotate +++ /dev/null @@ -1,9 +0,0 @@ -/var/lib/mpd/log { - missingok - weekly - delaycompress - compress - postrotate - /etc/init.d/mpd --quiet reload - endscript -} diff --git a/media-sound/mpd/files/mpd-0.21.4.init b/media-sound/mpd/files/mpd-0.21.4.init deleted file mode 100644 index 31336a5b1254..000000000000 --- a/media-sound/mpd/files/mpd-0.21.4.init +++ /dev/null @@ -1,34 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -: CFGFILE=${CFGFILE:=/etc/mpd.conf} - -depend() { - need localmount - use net netmount 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} -required_files=${CFGFILE} -pidfile=$(get_config pid_file) -description="Music Player Daemon" - -reload() { - ebegin "Reloading ${RC_SVCNAME}" - start-stop-daemon --pidfile ${pidfile} --signal HUP - eend $? - } 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 deleted file mode 100644 index 7fc5187a54f3..000000000000 --- a/media-sound/mpd/files/mpd-0.23.12-libfmt10-906074.patch +++ /dev/null @@ -1,102 +0,0 @@ -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 <fmt/format.h> - -@@ -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 <cstdint> -+#include <string_view> - - 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 deleted file mode 100644 index fa0f77f2a712..000000000000 --- a/media-sound/mpd/files/mpd-0.23.12-stringview.patch +++ /dev/null @@ -1,235 +0,0 @@ -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 <string.h> - -+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<SongEnumerator> ---- a/src/tag/Handler.cxx -+++ b/src/tag/Handler.cxx -@@ -25,13 +25,15 @@ - - #include <algorithm> - -+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 <cstddef> -+#include <span> -+#include <string_view> -+ - template<typename T> 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<void> 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/files/mpd-0.23.13-ffmpeg-6.1.patch b/media-sound/mpd/files/mpd-0.23.13-ffmpeg-6.1.patch deleted file mode 100644 index e9515c632c7c..000000000000 --- a/media-sound/mpd/files/mpd-0.23.13-ffmpeg-6.1.patch +++ /dev/null @@ -1,14 +0,0 @@ -https://bugs.gentoo.org/918421 -https://github.com/MusicPlayerDaemon/MPD/issues/1898 ---- a/src/decoder/plugins/FfmpegIo.cxx -+++ b/src/decoder/plugins/FfmpegIo.cxx -@@ -26,6 +26,9 @@ - - extern "C" { - #include <libavutil/mem.h> -+#if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(58, 29, 100) -+#include <libavutil/error.h> -+#endif - } - - AvioStream::~AvioStream() diff --git a/media-sound/mpd/files/mpd-0.23.15.init-r1 b/media-sound/mpd/files/mpd-0.23.15.init-r1 new file mode 100644 index 000000000000..bca178f9d589 --- /dev/null +++ b/media-sound/mpd/files/mpd-0.23.15.init-r1 @@ -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 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}" ] && [ "${log_file}" != "syslog" ]; 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/metadata.xml b/media-sound/mpd/metadata.xml index e745e158e220..2ce73a20850c 100644 --- a/media-sound/mpd/metadata.xml +++ b/media-sound/mpd/metadata.xml @@ -20,6 +20,7 @@ <flag name="fluidsynth">Enables Fluidsynth MIDI software synthesis (discouraged)</flag> <flag name="gme">Enables support for <pkg>media-libs/game-music-emu</pkg> for playing various video game music formats.</flag> <flag name="id3tag">Support for ID3 tags</flag> + <flag name="io-uring">Enable support for io_uring</flag> <flag name="inotify">Use the Linux kernel inotify subsystem to notice changes to mpd music library</flag> <flag name="lame">Support for MP3 streaming via Icecast2</flag> <flag name="libmpdclient">Enable support for remote mpd databases</flag> @@ -40,6 +41,7 @@ <flag name="twolame">Support twolame MPEG-2 encoding</flag> <flag name="webdav">Enable using music from a WebDAV share</flag> <flag name="wildmidi">Enable MIDI support via wildmidi</flag> + <flag name="yajl">Enable JSON parsing via <pkg>dev-libs/yajl</pkg></flag> </use> <upstream> <remote-id type="github">MusicPlayerDaemon/MPD</remote-id> diff --git a/media-sound/mpd/mpd-0.23.12-r3.ebuild b/media-sound/mpd/mpd-0.23.12-r3.ebuild deleted file mode 100644 index abec625c27fa..000000000000 --- a/media-sound/mpd/mpd-0.23.12-r3.ebuild +++ /dev/null @@ -1,295 +0,0 @@ -# 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" - -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.13-r1.ebuild b/media-sound/mpd/mpd-0.23.15-r2.ebuild index 3dcf11ed6998..09444f0af0c9 100644 --- a/media-sound/mpd/mpd-0.23.13-r1.ebuild +++ b/media-sound/mpd/mpd-0.23.15-r2.ebuild @@ -11,14 +11,14 @@ 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" +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 + +eventfd expat faad +ffmpeg +fifo flac fluidsynth gme +icu +id3tag +inotify +io-uring 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" + yajl 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 @@ -31,7 +31,8 @@ REQUIRED_USE=" network? ( || ( ${ENCODER_PLUGINS} ) ) recorder? ( || ( ${ENCODER_PLUGINS} ) ) qobuz? ( curl soundcloud ) - soundcloud? ( curl qobuz ) + snapcast? ( yajl ) + soundcloud? ( curl qobuz yajl ) udisks? ( dbus ) upnp? ( curl expat ) webdav? ( curl expat ) @@ -44,7 +45,6 @@ RDEPEND=" dev-libs/libfmt:= dev-libs/libpcre2 media-libs/libogg - sys-libs/liburing:= alsa? ( media-libs/alsa-lib media-sound/alsa-utils @@ -71,6 +71,7 @@ RDEPEND=" virtual/libiconv ) id3tag? ( media-libs/libid3tag:= ) + io-uring? ( sys-libs/liburing:= ) jack? ( virtual/jack ) lame? ( network? ( media-sound/lame ) ) libmpdclient? ( media-libs/libmpdclient ) @@ -99,7 +100,6 @@ RDEPEND=" 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 ) @@ -108,20 +108,20 @@ RDEPEND=" vorbis? ( media-libs/libvorbis ) wavpack? ( media-sound/wavpack ) wildmidi? ( media-sound/wildmidi ) + yajl? ( >=dev-libs/yajl-2:= ) zeroconf? ( net-dns/avahi[dbus] ) zip? ( dev-libs/zziplib:= ) - zlib? ( sys-libs/zlib:= )" + zlib? ( sys-libs/zlib:= ) +" -DEPEND="${RDEPEND} +DEPEND=" + ${RDEPEND} dev-libs/boost:= - test? ( dev-cpp/gtest )" + test? ( dev-cpp/gtest ) +" BDEPEND="virtual/pkgconfig" -PATCHES=( - "${FILESDIR}"/${PN}-0.23.13-ffmpeg-6.1.patch -) - pkg_setup() { if use eventfd; then CONFIG_CHECK+=" ~EVENTFD" @@ -138,31 +138,23 @@ pkg_setup() { ERROR_INOTIFY_USER="${P} requires inotify in-kernel support." fi - if use eventfd || use signalfd || use inotify; then - linux-info_pkg_setup + if use io-uring; then + CONFIG_CHECK+=" ~IO_URING" + ERROR_IO_URING="${P} requires io-uring in-kernel support." 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 + if use eventfd || use signalfd || use inotify || use io-uring; 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) @@ -171,42 +163,72 @@ src_configure() { $(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 io-uring io_uring) + $(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) + $(meson_feature yajl) -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) + --libdir="/usr/$(get_libdir)" + $(meson_feature doc documentation) + -Dsolaris_output=disabled + + -Ddatabase=true + -Ddaemon=true + -Ddsd=true + -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 @@ -228,46 +250,6 @@ src_configure() { ) 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 - -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) - ) - meson_src_configure } @@ -277,18 +259,33 @@ src_install() { insinto /etc newins doc/mpdconf.example mpd.conf - insinto /etc/logrotate.d - newins "${FILESDIR}"/${PN}-0.21.1.logrotate ${PN} + # 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 - newinitd "${FILESDIR}"/${PN}-0.21.4.init ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}/${P}.logrotate" "${PN}" - sed -i -e 's:^#filesystem_charset.*$:filesystem_charset "UTF-8":' "${ED}"/etc/mpd.conf || die "sed failed" + newinitd "${FILESDIR}/${P}.init-r1" "${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 } |