summaryrefslogtreecommitdiff
path: root/media-sound/mpd
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-09-23 01:25:12 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-09-23 01:25:12 +0100
commitde59eb4554f5fe0d506a66bb96630a35f99c09f7 (patch)
tree93910196831fcf1967ee9af465900caa7d70fa5b /media-sound/mpd
parent1802160f23e91c618b3c7379fd99127682cfce19 (diff)
gentoo auto-resync : 23:09:2024 - 01:25:12
Diffstat (limited to 'media-sound/mpd')
-rw-r--r--media-sound/mpd/Manifest13
-rw-r--r--media-sound/mpd/files/mpd-0.21.1.logrotate9
-rw-r--r--media-sound/mpd/files/mpd-0.21.4.init34
-rw-r--r--media-sound/mpd/files/mpd-0.23.12-libfmt10-906074.patch102
-rw-r--r--media-sound/mpd/files/mpd-0.23.12-stringview.patch235
-rw-r--r--media-sound/mpd/files/mpd-0.23.13-ffmpeg-6.1.patch14
-rw-r--r--media-sound/mpd/files/mpd-0.23.15.init-r161
-rw-r--r--media-sound/mpd/metadata.xml2
-rw-r--r--media-sound/mpd/mpd-0.23.12-r3.ebuild295
-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
}