Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package mpd for openSUSE:Factory checked in 
at 2026-07-20 09:58:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mpd (Old)
 and      /work/SRC/openSUSE:Factory/.mpd.new.24530 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mpd"

Mon Jul 20 09:58:38 2026 rev:64 rq:1366552 version:0.24.13

Changes:
--------
--- /work/SRC/openSUSE:Factory/mpd/mpd.changes  2026-06-22 17:33:35.510474810 
+0200
+++ /work/SRC/openSUSE:Factory/.mpd.new.24530/mpd.changes       2026-07-20 
10:00:45.022977811 +0200
@@ -1,0 +2,18 @@
+Sat Jul 18 22:13:56 UTC 2026 - Илья Индиго <[email protected]>
+
+- Removed mpd.firewalld (upstreamed in firewalld 2.3.2).
+- Removed README.mpd (Outdated instructions for ALSA).
+- Updated to 0.24.13
+  * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.24.13/NEWS
+  * configuration
+    * add range checks to number parser
+    * copy replay_gain_mode when creating a new partition
+  * storage: curl: eliminate auth probe requests
+  * decoder: opus: do not add 5 dB to Opus header playback gain
+  * tags: id3: limit ID3 tags to 4 MB
+  * output
+    * pipewire: fix file descriptor leak bug after connect failure
+    * pipewire: support the "media.album" tag
+  * systemd: allow AF_NETLINK when UPnP is enabled
+
+-------------------------------------------------------------------
@@ -5 +23 @@
-  * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.24.10/NEWS
+  * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.24.12/NEWS

Old:
----
  README.mpd
  mpd-0.24.12.tar.xz
  mpd-0.24.12.tar.xz.sig
  mpd.firewalld

New:
----
  mpd-0.24.13.tar.xz
  mpd-0.24.13.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ mpd.spec ++++++
--- /var/tmp/diff_new_pack.8UmwNX/_old  2026-07-20 10:00:45.687000158 +0200
+++ /var/tmp/diff_new_pack.8UmwNX/_new  2026-07-20 10:00:45.687000158 +0200
@@ -18,18 +18,16 @@
 
 %define ver 0.24
 Name:           mpd
-Version:        %{ver}.12
+Version:        %{ver}.13
 Release:        0
 Summary:        Music Player Daemon
 License:        GPL-2.0-or-later
 URL:            https://musicpd.org
 Source0:        
https://musicpd.org/download/%{name}/%{ver}/%{name}-%{version}.tar.xz
 Source1:        
https://musicpd.org/download/%{name}/%{ver}/%{name}-%{version}.tar.xz.sig
-Source2:        README.%{name}
+Source2:        %{name}.keyring
 Source3:        %{name}-user.conf
-Source4:        %{name}.firewalld
-Source5:        %{name}.tmpfiles.d
-Source9:        %{name}.keyring
+Source4:        %{name}.tmpfiles.d
 Patch0:         %{name}-conf.patch
 Patch1:         %{name}-sndfile.patch
 BuildRequires:  gcc-c++
@@ -106,9 +104,7 @@
 about all available music, and this info can be easily searched and
 retrieved.  Player control, info retrieval, and playlist management
 can all be managed remotely. There a bunch of clients to control mpd:
-for Gnome, KDE, console and Apache (PHP).
-
-Please read README.mpd how to configure it.
+for GTK, Qt, and console.
 
 %package doc
 Summary:        Additional Package Documentation
@@ -134,9 +130,8 @@
 %meson_install
 mv %{buildroot}%{_datadir}/doc/%{name}/html .
 rm -r %{buildroot}%{_datadir}/doc/%{name}
-install -pm0644 %{SOURCE2} %{SOURCE3} .
-install -Dpm0644 %{SOURCE4} 
%{buildroot}%{_prefix}/lib/firewalld/services/%{name}.xml
-install -Dpm0644 %{SOURCE5} %{buildroot}%{_tmpfilesdir}/%{name}.conf
+install -pm0644 %{SOURCE3} .
+install -Dpm0644 %{SOURCE4} %{buildroot}%{_tmpfilesdir}/%{name}.conf
 install -Dpm0644 doc/mpdconf.example %{buildroot}%{_sysconfdir}/%{name}.conf
 # Remove duplicate for mpd.socket and replace it with a symlink.
 rm %{buildroot}%{_userunitdir}/%{name}.socket
@@ -160,7 +155,7 @@
 
 %files
 %license COPYING
-%doc AUTHORS NEWS README.md README.%{name} %{name}-user.conf 
doc/mpdconf.example
+%doc AUTHORS NEWS README.md %{name}-user.conf doc/mpdconf.example
 %config(noreplace) %{_sysconfdir}/%{name}.conf
 %{_bindir}/%{name}
 %attr(0755,mpd,audio) %{_localstatedir}/lib/%{name}
@@ -171,9 +166,6 @@
 %{_unitdir}/%{name}.socket
 %{_userunitdir}/%{name}.socket
 %{_userunitdir}/%{name}.service
-%dir %{_prefix}/lib/firewalld
-%dir %{_prefix}/lib/firewalld/services
-%{_prefix}/lib/firewalld/services/%{name}.xml
 %{_tmpfilesdir}/%{name}.conf
 %ghost %dir %attr(0755,%{name},audio) /run/%{name}
 

++++++ mpd-0.24.12.tar.xz -> mpd-0.24.13.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/.github/workflows/build.yml 
new/mpd-0.24.13/.github/workflows/build.yml
--- old/mpd-0.24.12/.github/workflows/build.yml 2026-05-15 07:46:52.000000000 
+0200
+++ new/mpd-0.24.13/.github/workflows/build.yml 2026-07-10 11:50:29.000000000 
+0200
@@ -72,7 +72,7 @@
 
     steps:
       - id: checkout
-        uses: actions/checkout@v5
+        uses: actions/checkout@v7
 
       - name: Install dependencies
         run: |
@@ -205,7 +205,7 @@
 
     steps:
       - id: checkout
-        uses: actions/checkout@v5
+        uses: actions/checkout@v7
 
       - name: Install dependencies
         run: |
@@ -272,7 +272,7 @@
     runs-on: windows-latest
     steps:
       - id: checkout
-        uses: actions/checkout@v5
+        uses: actions/checkout@v7
 
       - uses: msys2/setup-msys2@v2
         with:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/.github/workflows/build_android.yml 
new/mpd-0.24.13/.github/workflows/build_android.yml
--- old/mpd-0.24.12/.github/workflows/build_android.yml 2026-05-15 
07:46:52.000000000 +0200
+++ new/mpd-0.24.13/.github/workflows/build_android.yml 2026-07-10 
11:50:29.000000000 +0200
@@ -40,7 +40,7 @@
     runs-on: ubuntu-24.04
     steps:
       - id: checkout
-        uses: actions/checkout@v5
+        uses: actions/checkout@v7
 
       - name: Install dependencies
         run: |
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/.github/workflows/build_mingw.yml 
new/mpd-0.24.13/.github/workflows/build_mingw.yml
--- old/mpd-0.24.12/.github/workflows/build_mingw.yml   2026-05-15 
07:46:52.000000000 +0200
+++ new/mpd-0.24.13/.github/workflows/build_mingw.yml   2026-07-10 
11:50:29.000000000 +0200
@@ -52,10 +52,10 @@
 
     steps:
       - id: checkout
-        uses: actions/checkout@v5
+        uses: actions/checkout@v7
 
       - name: "Cache third-party libraries"
-        uses: actions/cache@v4
+        uses: actions/cache@v6
         with:
           key: 
${{runner.os}}-libs-${{matrix.cpu}}-${{hashFiles('win32/build.py', 
'python/**')}}
           path: |
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/NEWS new/mpd-0.24.13/NEWS
--- old/mpd-0.24.12/NEWS        2026-05-15 07:46:52.000000000 +0200
+++ new/mpd-0.24.13/NEWS        2026-07-10 11:50:29.000000000 +0200
@@ -1,3 +1,18 @@
+ver 0.24.13 (2026/07/10)
+* configuration
+  - add range checks to number parser
+  - copy replay_gain_mode when creating a new partition
+* storage
+  - curl: eliminate auth probe requests
+* decoder
+  - opus: do not add 5 dB to Opus header playback gain
+* tags:
+  - id3: limit ID3 tags to 4 MB
+* output
+  - pipewire: fix file descriptor leak bug after connect failure
+  - pipewire: support the "media.album" tag
+* systemd: allow AF_NETLINK when UPnP is enabled
+
 ver 0.24.12 (2026/05/15)
 * protocol
   - allow empty URI in "lsinfo", "add" etc. (0.24.11 regression)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/meson.build new/mpd-0.24.13/meson.build
--- old/mpd-0.24.12/meson.build 2026-05-15 07:46:52.000000000 +0200
+++ new/mpd-0.24.13/meson.build 2026-07-10 11:50:29.000000000 +0200
@@ -1,7 +1,7 @@
 project(
   'mpd',
   ['c', 'cpp'],
-  version: '0.24.12',
+  version: '0.24.13',
   meson_version: '>= 1.0',
   default_options: [
     'c_std=c11',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/python/build/libs.py 
new/mpd-0.24.13/python/build/libs.py
--- old/mpd-0.24.12/python/build/libs.py        2026-05-15 07:46:52.000000000 
+0200
+++ new/mpd-0.24.13/python/build/libs.py        2026-07-10 11:50:29.000000000 
+0200
@@ -40,8 +40,8 @@
 )
 
 libopenmpt = AutotoolsProject(
-    
'https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-0.8.6+release.autotools.tar.gz',
-    'caa2fa959e389f4374d9e2df3af5c633452c12dd80442cba2e89cb7ff2b93c5b',
+    
'https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-0.8.7+release.autotools.tar.gz',
+    '275c29ef47be9992f62a35fcc96f7ca05c06d2fd05c9298b8dee9f743f75b089',
     'lib/libopenmpt.a',
     [
         '--disable-shared', '--enable-static',
@@ -53,7 +53,7 @@
         '--without-portaudio', '--without-portaudiocpp', '--without-sndfile',
         '--without-flac',
     ],
-    base='libopenmpt-0.8.6+release.autotools',
+    base='libopenmpt-0.8.7+release.autotools',
 )
 
 wildmidi = CmakeProject(
@@ -83,8 +83,8 @@
 )
 
 ffmpeg = FfmpegProject(
-    'https://ffmpeg.org/releases/ffmpeg-8.1.1.tar.xz',
-    'b6863adde98898f42602017462871b5f6333e65aec803fdd7a6308639c52edf3',
+    'https://ffmpeg.org/releases/ffmpeg-8.1.2.tar.xz',
+    '464beb5e7bf0c311e68b45ae2f04e9cc2af88851abb4082231742a74d97b524c',
     'lib/libavcodec.a',
     [
         '--disable-shared', '--enable-static',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/Main.cxx new/mpd-0.24.13/src/Main.cxx
--- old/mpd-0.24.12/src/Main.cxx        2026-05-15 07:46:52.000000000 +0200
+++ new/mpd-0.24.13/src/Main.cxx        2026-07-10 11:50:29.000000000 +0200
@@ -406,8 +406,7 @@
                if (name == nullptr)
                        throw std::runtime_error("Missing 'name'");
 
-               instance.partitions.emplace_back(instance, name,
-                                                partition_config);
+               instance.partitions.emplace_back(name, 
instance.partitions.front());
        });
 
        client_manager_init(raw_config);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/Mapper.cxx 
new/mpd-0.24.13/src/Mapper.cxx
--- old/mpd-0.24.12/src/Mapper.cxx      2026-05-15 07:46:52.000000000 +0200
+++ new/mpd-0.24.13/src/Mapper.cxx      2026-07-10 11:50:29.000000000 +0200
@@ -17,8 +17,12 @@
 #include "Main.hxx"
 #endif
 
+#include <fmt/format.h>
+
 #include <cassert>
 
+using std::string_view_literals::operator""sv;
+
 /**
  * The absolute path of the playlist directory encoded in the
  * filesystem character set.
@@ -99,9 +103,7 @@
        if (playlist_dir_fs.IsNull())
                return nullptr;
 
-       std::string filename_utf8 = name;
-       filename_utf8.append(PLAYLIST_FILE_SUFFIX);
-
+       const auto filename_utf8 = fmt::format("{}" PLAYLIST_FILE_SUFFIX ""sv, 
name);
        const auto filename_fs =
                AllocatedPath::FromUTF8(filename_utf8);
        if (filename_fs.IsNull())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/Partition.cxx 
new/mpd-0.24.13/src/Partition.cxx
--- old/mpd-0.24.12/src/Partition.cxx   2026-05-15 07:46:52.000000000 +0200
+++ new/mpd-0.24.13/src/Partition.cxx   2026-07-10 11:50:29.000000000 +0200
@@ -34,6 +34,12 @@
        UpdateEffectiveReplayGainMode();
 }
 
+Partition::Partition(const char *_name, const Partition &src) noexcept
+       :Partition(src.instance, _name, src.config)
+{
+       SetReplayGainMode(src.replay_gain_mode);
+}
+
 Partition::~Partition() noexcept = default;
 
 void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/Partition.hxx 
new/mpd-0.24.13/src/Partition.hxx
--- old/mpd-0.24.12/src/Partition.hxx   2026-05-15 07:46:52.000000000 +0200
+++ new/mpd-0.24.13/src/Partition.hxx   2026-07-10 11:50:29.000000000 +0200
@@ -68,10 +68,18 @@
 
        ReplayGainMode replay_gain_mode = ReplayGainMode::OFF;
 
+       [[nodiscard]]
        Partition(Instance &_instance,
                  const char *_name,
                  const PartitionConfig &_config) noexcept;
 
+       /**
+        * Construct a new partition that inherits configuration from
+        * an existing partition.
+        */
+       [[nodiscard]]
+       Partition(const char *_name, const Partition &src) noexcept;
+
        ~Partition() noexcept;
 
        void BeginShutdown() noexcept;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/command/PartitionCommands.cxx 
new/mpd-0.24.13/src/command/PartitionCommands.cxx
--- old/mpd-0.24.12/src/command/PartitionCommands.cxx   2026-05-15 
07:46:52.000000000 +0200
+++ new/mpd-0.24.13/src/command/PartitionCommands.cxx   2026-07-10 
11:50:29.000000000 +0200
@@ -79,8 +79,8 @@
                return CommandResult::ERROR;
        }
 
-       instance.partitions.emplace_back(instance, name,
-                                        client.GetPartition().config);
+       instance.partitions.emplace_back(name,
+                                        client.GetPartition());
        auto &partition = instance.partitions.back();
        partition.UpdateEffectiveReplayGainMode();
 
@@ -161,7 +161,8 @@
        else
                /* copy the AudioOutputControl and add it to the output list */
                dest_partition.outputs.AddMoveFrom(std::move(*output),
-                                                  was_enabled);
+                                                  was_enabled,
+                                                  
dest_partition.replay_gain_mode);
 
        instance.EmitIdle(IDLE_OUTPUT);
        return CommandResult::OK;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/config/Parser.cxx 
new/mpd-0.24.13/src/config/Parser.cxx
--- old/mpd-0.24.12/src/config/Parser.cxx       2026-05-15 07:46:52.000000000 
+0200
+++ new/mpd-0.24.13/src/config/Parser.cxx       2026-07-10 11:50:29.000000000 
+0200
@@ -7,6 +7,7 @@
 #include "util/StringUtil.hxx"
 
 #include <cstdlib>
+#include <cerrno>
 
 bool
 ParseBool(const char *value)
@@ -27,10 +28,14 @@
 ParseLong(const char *s)
 {
        char *endptr;
+       errno = 0;
        long value = strtol(s, &endptr, 10);
        if (endptr == s || *endptr != 0)
                throw std::runtime_error("Failed to parse number");
 
+       if (errno == ERANGE)
+               throw std::runtime_error("Number out of range");
+
        return value;
 }
 
@@ -69,10 +74,14 @@
 ParseSize(const char *s, std::size_t default_factor)
 {
        char *endptr;
+       errno = 0;
        std::size_t value = strtoul(s, &endptr, 10);
        if (endptr == s)
                throw std::runtime_error("Failed to parse integer");
 
+       if (errno == ERANGE)
+               throw std::runtime_error("Integer out of range");
+
        static constexpr std::size_t KILO = 1024;
        static constexpr std::size_t MEGA = 1024 * KILO;
        static constexpr std::size_t GIGA = 1024 * MEGA;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mpd-0.24.12/src/db/plugins/upnp/UpnpDatabasePlugin.cxx 
new/mpd-0.24.13/src/db/plugins/upnp/UpnpDatabasePlugin.cxx
--- old/mpd-0.24.12/src/db/plugins/upnp/UpnpDatabasePlugin.cxx  2026-05-15 
07:46:52.000000000 +0200
+++ new/mpd-0.24.13/src/db/plugins/upnp/UpnpDatabasePlugin.cxx  2026-07-10 
11:50:29.000000000 +0200
@@ -24,7 +24,7 @@
 #include "util/StringSplit.hxx"
 #include "config/Block.hxx"
 
-#include <fmt/core.h>
+#include <fmt/format.h>
 
 #include <cassert>
 #include <string>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mpd-0.24.12/src/decoder/plugins/OpusDecoderPlugin.cxx 
new/mpd-0.24.13/src/decoder/plugins/OpusDecoderPlugin.cxx
--- old/mpd-0.24.12/src/decoder/plugins/OpusDecoderPlugin.cxx   2026-05-15 
07:46:52.000000000 +0200
+++ new/mpd-0.24.13/src/decoder/plugins/OpusDecoderPlugin.cxx   2026-07-10 
11:50:29.000000000 +0200
@@ -47,17 +47,6 @@
        return packet.bytes >= 8 && memcmp(packet.packet, "OpusTags", 8) == 0;
 }
 
-/**
- * Convert an EBU R128 value to ReplayGain.
- */
-static constexpr float
-EbuR128ToReplayGain(float ebu_r128) noexcept
-{
-       /* add 5dB to compensate for the different reference levels
-          between ReplayGain (89dB) and EBU R128 (-23 LUFS) */
-       return ebu_r128 + 5;
-}
-
 static bool
 mpd_opus_init([[maybe_unused]] const ConfigBlock &block)
 {
@@ -279,11 +268,12 @@
 
        if (rgi.IsDefined()) {
                /* submit all valid EBU R128 values with output_gain
-                  applied */
+                  applied. conversion from EBU R128 -> ReplayGain
+                  happened in ScanOpusTags already. */
                if (rgi.track.IsDefined())
-                       rgi.track.gain += EbuR128ToReplayGain(output_gain);
+                       rgi.track.gain += output_gain;
                if (rgi.album.IsDefined())
-                       rgi.album.gain += EbuR128ToReplayGain(output_gain);
+                       rgi.album.gain += output_gain;
                client.SubmitReplayGain(&rgi);
                submitted_replay_gain = true;
        }
@@ -309,7 +299,7 @@
                   gain" value */
                ReplayGainInfo rgi;
                rgi.Clear();
-               rgi.track.gain = EbuR128ToReplayGain(output_gain);
+               rgi.track.gain = output_gain;
                client.SubmitReplayGain(&rgi);
                submitted_replay_gain = true;
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/decoder/plugins/OpusTags.cxx 
new/mpd-0.24.13/src/decoder/plugins/OpusTags.cxx
--- old/mpd-0.24.12/src/decoder/plugins/OpusTags.cxx    2026-05-15 
07:46:52.000000000 +0200
+++ new/mpd-0.24.13/src/decoder/plugins/OpusTags.cxx    2026-07-10 
11:50:29.000000000 +0200
@@ -17,6 +17,17 @@
 
 using std::string_view_literals::operator""sv;
 
+/**
+ * Convert an EBU R128 value to ReplayGain.
+ */
+static constexpr float
+EbuR128ToReplayGain(float ebu_r128) noexcept
+{
+       /* add 5dB to compensate for the different reference levels
+          between ReplayGain (89dB) and EBU R128 (-23 LUFS) */
+       return ebu_r128 + 5;
+}
+
 [[gnu::pure]]
 static TagType
 ParseOpusTagName(std::string_view name) noexcept
@@ -47,14 +58,14 @@
                   dB */
 
                if (const auto i = ParseInteger<int_least32_t>(value))
-                       rgi->track.gain = float(*i) / 256.0f;
+                       rgi->track.gain = EbuR128ToReplayGain(float(*i) / 
256.0f);
        } else if (rgi != nullptr &&
                   StringIsEqualIgnoreCase(name, "R128_ALBUM_GAIN"sv)) {
                /* R128_ALBUM_GAIN is a Q7.8 fixed point number in
                   dB */
 
                if (const auto i = ParseInteger<int_least32_t>(value))
-                       rgi->album.gain = float(*i) / 256.0f;
+                       rgi->album.gain = EbuR128ToReplayGain(float(*i) / 
256.0f);
        }
 
        handler.OnPair(name, value);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/input/plugins/AlsaInputPlugin.cxx 
new/mpd-0.24.13/src/input/plugins/AlsaInputPlugin.cxx
--- old/mpd-0.24.12/src/input/plugins/AlsaInputPlugin.cxx       2026-05-15 
07:46:52.000000000 +0200
+++ new/mpd-0.24.13/src/input/plugins/AlsaInputPlugin.cxx       2026-07-10 
11:50:29.000000000 +0200
@@ -27,7 +27,7 @@
 
 #include <alsa/asoundlib.h>
 
-#include <fmt/core.h>
+#include <fmt/format.h>
 
 #include <cassert>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/input/plugins/QobuzClient.cxx 
new/mpd-0.24.13/src/input/plugins/QobuzClient.cxx
--- old/mpd-0.24.12/src/input/plugins/QobuzClient.cxx   2026-05-15 
07:46:52.000000000 +0200
+++ new/mpd-0.24.13/src/input/plugins/QobuzClient.cxx   2026-07-10 
11:50:29.000000000 +0200
@@ -5,7 +5,7 @@
 #include "lib/crypto/MD5.hxx"
 #include "thread/ScopeUnlock.hxx"
 
-#include <fmt/core.h>
+#include <fmt/format.h>
 
 #include <cassert>
 #include <stdexcept>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/input/plugins/QobuzLoginRequest.cxx 
new/mpd-0.24.13/src/input/plugins/QobuzLoginRequest.cxx
--- old/mpd-0.24.12/src/input/plugins/QobuzLoginRequest.cxx     2026-05-15 
07:46:52.000000000 +0200
+++ new/mpd-0.24.13/src/input/plugins/QobuzLoginRequest.cxx     2026-07-10 
11:50:29.000000000 +0200
@@ -6,7 +6,7 @@
 #include "QobuzSession.hxx"
 #include "lib/curl/Form.hxx"
 
-#include <fmt/core.h>
+#include <fmt/format.h>
 #include <nlohmann/json.hpp>
 
 #include <cassert>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/input/plugins/QobuzTrackRequest.cxx 
new/mpd-0.24.13/src/input/plugins/QobuzTrackRequest.cxx
--- old/mpd-0.24.12/src/input/plugins/QobuzTrackRequest.cxx     2026-05-15 
07:46:52.000000000 +0200
+++ new/mpd-0.24.13/src/input/plugins/QobuzTrackRequest.cxx     2026-07-10 
11:50:29.000000000 +0200
@@ -5,7 +5,7 @@
 #include "QobuzErrorParser.hxx"
 #include "QobuzClient.hxx"
 
-#include <fmt/core.h>
+#include <fmt/format.h>
 #include <nlohmann/json.hpp>
 
 using std::string_view_literals::operator""sv;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/lib/avahi/Publisher.cxx 
new/mpd-0.24.13/src/lib/avahi/Publisher.cxx
--- old/mpd-0.24.12/src/lib/avahi/Publisher.cxx 2026-05-15 07:46:52.000000000 
+0200
+++ new/mpd-0.24.13/src/lib/avahi/Publisher.cxx 2026-07-10 11:50:29.000000000 
+0200
@@ -13,7 +13,7 @@
 #include <avahi-common/malloc.h>
 #include <avahi-common/alternative.h>
 
-#include <fmt/core.h>
+#include <fmt/format.h>
 
 #include <cassert>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/lib/curl/Setup.cxx 
new/mpd-0.24.13/src/lib/curl/Setup.cxx
--- old/mpd-0.24.12/src/lib/curl/Setup.cxx      2026-05-15 07:46:52.000000000 
+0200
+++ new/mpd-0.24.13/src/lib/curl/Setup.cxx      2026-07-10 11:50:29.000000000 
+0200
@@ -17,7 +17,6 @@
        easy.SetNoProgress();
        easy.SetNoSignal();
        easy.SetConnectTimeout(std::chrono::seconds{10});
-       easy.SetOption(CURLOPT_HTTPAUTH, (long) CURLAUTH_ANY);
 }
 
 } // namespace Curl
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/lib/nfs/FileReader.cxx 
new/mpd-0.24.13/src/lib/nfs/FileReader.cxx
--- old/mpd-0.24.12/src/lib/nfs/FileReader.cxx  2026-05-15 07:46:52.000000000 
+0200
+++ new/mpd-0.24.13/src/lib/nfs/FileReader.cxx  2026-07-10 11:50:29.000000000 
+0200
@@ -10,7 +10,7 @@
 
 #include <nfsc/libnfs.h> // for struct nfs_stat_64
 
-#include <fmt/core.h>
+#include <fmt/format.h>
 
 #include <cassert>
 #include <cstring>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/net/ToString.cxx 
new/mpd-0.24.13/src/net/ToString.cxx
--- old/mpd-0.24.12/src/net/ToString.cxx        2026-05-15 07:46:52.000000000 
+0200
+++ new/mpd-0.24.13/src/net/ToString.cxx        2026-07-10 11:50:29.000000000 
+0200
@@ -6,7 +6,7 @@
 #include "SocketAddress.hxx"
 #include "IPv4Address.hxx"
 
-#include <fmt/core.h>
+#include <fmt/format.h>
 
 #include <algorithm>
 #include <cassert>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/output/MultipleOutputs.cxx 
new/mpd-0.24.13/src/output/MultipleOutputs.cxx
--- old/mpd-0.24.12/src/output/MultipleOutputs.cxx      2026-05-15 
07:46:52.000000000 +0200
+++ new/mpd-0.24.13/src/output/MultipleOutputs.cxx      2026-07-10 
11:50:29.000000000 +0200
@@ -114,13 +114,15 @@
 
 void
 MultipleOutputs::AddMoveFrom(AudioOutputControl &&src,
-                            bool enable) noexcept
+                            bool enable,
+                            ReplayGainMode replay_gain_mode) noexcept
 {
        // TODO: this operation needs to be protected with a mutex
        outputs.push_back(std::make_unique<AudioOutputControl>(std::move(src),
                                                               client));
 
        outputs.back()->LockSetEnabled(enable);
+       outputs.back()->SetReplayGainMode(replay_gain_mode);
 
        client.ApplyEnabled();
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/output/MultipleOutputs.hxx 
new/mpd-0.24.13/src/output/MultipleOutputs.hxx
--- old/mpd-0.24.12/src/output/MultipleOutputs.hxx      2026-05-15 
07:46:52.000000000 +0200
+++ new/mpd-0.24.13/src/output/MultipleOutputs.hxx      2026-07-10 
11:50:29.000000000 +0200
@@ -8,14 +8,15 @@
 #include "MusicChunkPtr.hxx"
 #include "player/Outputs.hxx"
 #include "pcm/AudioFormat.hxx"
-#include "ReplayGainMode.hxx"
 #include "Chrono.hxx"
 
 #include <algorithm>
 #include <cassert>
+#include <cstdint>
 #include <memory>
 #include <vector>
 
+enum class ReplayGainMode : uint8_t;
 class MusicPipe;
 class EventLoop;
 class MixerListener;
@@ -109,8 +110,8 @@
        }
 
        void AddMoveFrom(AudioOutputControl &&src,
-                        bool enable) noexcept;
-
+                        bool enable,
+                        ReplayGainMode replay_gain_mode) noexcept;
 
        void SetReplayGainMode(ReplayGainMode mode) noexcept;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mpd-0.24.12/src/output/plugins/PipeWireOutputPlugin.cxx 
new/mpd-0.24.13/src/output/plugins/PipeWireOutputPlugin.cxx
--- old/mpd-0.24.12/src/output/plugins/PipeWireOutputPlugin.cxx 2026-05-15 
07:46:52.000000000 +0200
+++ new/mpd-0.24.13/src/output/plugins/PipeWireOutputPlugin.cxx 2026-07-10 
11:50:29.000000000 +0200
@@ -593,8 +593,12 @@
                                                         
PW_STREAM_FLAG_MAP_BUFFERS |
                                                         
PW_STREAM_FLAG_RT_PROCESS),
                                  params, 1);
-       if (error < 0)
+       if (error < 0) {
+               ring_buffer = {};
+               pw_stream_destroy(stream);
+               stream = nullptr;
                throw PipeWire::MakeError(error, "Failed to connect stream");
+       }
 }
 
 void
@@ -924,6 +928,9 @@
                const char *pipewire;
        } tag_map[] = {
                { TAG_ARTIST, PW_KEY_MEDIA_ARTIST },
+#ifdef PW_KEY_MEDIA_ALBUM
+               { TAG_ALBUM, PW_KEY_MEDIA_ALBUM },
+#endif
                { TAG_TITLE, PW_KEY_MEDIA_TITLE },
                { TAG_DATE, PW_KEY_MEDIA_DATE },
                { TAG_COMMENT, PW_KEY_MEDIA_COMMENT },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/output/plugins/httpd/HttpdClient.cxx 
new/mpd-0.24.13/src/output/plugins/httpd/HttpdClient.cxx
--- old/mpd-0.24.12/src/output/plugins/httpd/HttpdClient.cxx    2026-05-15 
07:46:52.000000000 +0200
+++ new/mpd-0.24.13/src/output/plugins/httpd/HttpdClient.cxx    2026-07-10 
11:50:29.000000000 +0200
@@ -13,7 +13,7 @@
 #include "util/StringSplit.hxx"
 #include "Log.hxx"
 
-#include <fmt/core.h>
+#include <fmt/format.h>
 
 #include <cassert>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mpd-0.24.12/src/output/plugins/httpd/IcyMetaDataServer.cxx 
new/mpd-0.24.13/src/output/plugins/httpd/IcyMetaDataServer.cxx
--- old/mpd-0.24.12/src/output/plugins/httpd/IcyMetaDataServer.cxx      
2026-05-15 07:46:52.000000000 +0200
+++ new/mpd-0.24.13/src/output/plugins/httpd/IcyMetaDataServer.cxx      
2026-07-10 11:50:29.000000000 +0200
@@ -5,7 +5,7 @@
 #include "tag/Tag.hxx"
 #include "util/TruncateString.hxx"
 
-#include <fmt/core.h>
+#include <fmt/format.h>
 
 #include <iterator>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/song/AddedSinceSongFilter.cxx 
new/mpd-0.24.13/src/song/AddedSinceSongFilter.cxx
--- old/mpd-0.24.12/src/song/AddedSinceSongFilter.cxx   2026-05-15 
07:46:52.000000000 +0200
+++ new/mpd-0.24.13/src/song/AddedSinceSongFilter.cxx   2026-07-10 
11:50:29.000000000 +0200
@@ -6,7 +6,7 @@
 #include "time/ISO8601.hxx"
 #include "util/StringBuffer.hxx"
 
-#include <fmt/core.h>
+#include <fmt/format.h>
 
 using std::string_view_literals::operator""sv;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/song/AudioFormatSongFilter.cxx 
new/mpd-0.24.13/src/song/AudioFormatSongFilter.cxx
--- old/mpd-0.24.12/src/song/AudioFormatSongFilter.cxx  2026-05-15 
07:46:52.000000000 +0200
+++ new/mpd-0.24.13/src/song/AudioFormatSongFilter.cxx  2026-07-10 
11:50:29.000000000 +0200
@@ -5,7 +5,7 @@
 #include "LightSong.hxx"
 #include "util/StringBuffer.hxx"
 
-#include <fmt/core.h>
+#include <fmt/format.h>
 
 using std::string_view_literals::operator""sv;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/song/LightSong.cxx 
new/mpd-0.24.13/src/song/LightSong.cxx
--- old/mpd-0.24.12/src/song/LightSong.cxx      2026-05-15 07:46:52.000000000 
+0200
+++ new/mpd-0.24.13/src/song/LightSong.cxx      2026-07-10 11:50:29.000000000 
+0200
@@ -4,6 +4,18 @@
 #include "LightSong.hxx"
 #include "tag/Tag.hxx"
 
+#include <fmt/format.h>
+
+using std::string_view_literals::operator""sv;
+
+std::string LightSong::GetURI() const noexcept
+{
+       if (directory == nullptr)
+               return std::string(uri);
+
+       return fmt::format("{}/{}"sv, directory, uri);
+}
+
 SignedSongTime
 LightSong::GetDuration() const noexcept
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/song/LightSong.hxx 
new/mpd-0.24.13/src/song/LightSong.hxx
--- old/mpd-0.24.12/src/song/LightSong.hxx      2026-05-15 07:46:52.000000000 
+0200
+++ new/mpd-0.24.13/src/song/LightSong.hxx      2026-07-10 11:50:29.000000000 
+0200
@@ -96,15 +96,7 @@
                 audio_format(src.audio_format) {}
 
        [[gnu::pure]]
-       std::string GetURI() const noexcept {
-               if (directory == nullptr)
-                       return std::string(uri);
-
-               std::string result(directory);
-               result.push_back('/');
-               result.append(uri);
-               return result;
-       }
+       std::string GetURI() const noexcept;
 
        [[gnu::pure]]
        SignedSongTime GetDuration() const noexcept;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/song/ModifiedSinceSongFilter.cxx 
new/mpd-0.24.13/src/song/ModifiedSinceSongFilter.cxx
--- old/mpd-0.24.12/src/song/ModifiedSinceSongFilter.cxx        2026-05-15 
07:46:52.000000000 +0200
+++ new/mpd-0.24.13/src/song/ModifiedSinceSongFilter.cxx        2026-07-10 
11:50:29.000000000 +0200
@@ -6,7 +6,7 @@
 #include "time/ISO8601.hxx"
 #include "util/StringBuffer.hxx"
 
-#include <fmt/core.h>
+#include <fmt/format.h>
 
 using std::string_view_literals::operator""sv;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/song/TagSongFilter.cxx 
new/mpd-0.24.13/src/song/TagSongFilter.cxx
--- old/mpd-0.24.12/src/song/TagSongFilter.cxx  2026-05-15 07:46:52.000000000 
+0200
+++ new/mpd-0.24.13/src/song/TagSongFilter.cxx  2026-07-10 11:50:29.000000000 
+0200
@@ -8,6 +8,10 @@
 #include "tag/Tag.hxx"
 #include "tag/Fallback.hxx"
 
+#include <fmt/format.h>
+
+using std::string_view_literals::operator""sv;
+
 std::string
 TagSongFilter::ToExpression() const noexcept
 {
@@ -15,8 +19,9 @@
                ? "any"
                : tag_item_names[type];
 
-       return std::string("(") + name + " " + filter.GetOperator()
-               + " \"" + EscapeFilterString(filter.GetValue()) + "\")";
+       return fmt::format("({} {} \"{}\")"sv,
+                          name, filter.GetOperator(),
+                          EscapeFilterString(filter.GetValue()));
 }
 
 bool
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/song/UriSongFilter.cxx 
new/mpd-0.24.13/src/song/UriSongFilter.cxx
--- old/mpd-0.24.12/src/song/UriSongFilter.cxx  2026-05-15 07:46:52.000000000 
+0200
+++ new/mpd-0.24.13/src/song/UriSongFilter.cxx  2026-07-10 11:50:29.000000000 
+0200
@@ -5,11 +5,15 @@
 #include "Escape.hxx"
 #include "LightSong.hxx"
 
+#include <fmt/format.h>
+
+using std::string_view_literals::operator""sv;
+
 std::string
 UriSongFilter::ToExpression() const noexcept
 {
-       return std::string("(file ") + filter.GetOperator()
-               + " \"" + EscapeFilterString(filter.GetValue()) + "\")";
+       return fmt::format("(file {} \"{}\")"sv,
+                          filter.GetOperator(), 
EscapeFilterString(filter.GetValue()));
 }
 
 bool
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/song/meson.build 
new/mpd-0.24.13/src/song/meson.build
--- old/mpd-0.24.12/src/song/meson.build        2026-05-15 07:46:52.000000000 
+0200
+++ new/mpd-0.24.13/src/song/meson.build        2026-07-10 11:50:29.000000000 
+0200
@@ -16,6 +16,7 @@
   'LightSong.cxx',
   include_directories: inc,
   dependencies: [
+    pcm_basic_dep,
     pcre_dep,
     fmt_dep,
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/storage/plugins/NfsStorage.cxx 
new/mpd-0.24.13/src/storage/plugins/NfsStorage.cxx
--- old/mpd-0.24.12/src/storage/plugins/NfsStorage.cxx  2026-05-15 
07:46:52.000000000 +0200
+++ new/mpd-0.24.13/src/storage/plugins/NfsStorage.cxx  2026-07-10 
11:50:29.000000000 +0200
@@ -29,7 +29,7 @@
 #include <nfsc/libnfs-raw-nfs.h>
 }
 
-#include <fmt/core.h>
+#include <fmt/format.h>
 
 #include <cassert>
 #include <string>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/src/tag/Id3Load.cxx 
new/mpd-0.24.13/src/tag/Id3Load.cxx
--- old/mpd-0.24.12/src/tag/Id3Load.cxx 2026-05-15 07:46:52.000000000 +0200
+++ new/mpd-0.24.13/src/tag/Id3Load.cxx 2026-07-10 11:50:29.000000000 +0200
@@ -47,6 +47,9 @@
 
        const std::size_t tag_size = static_cast<std::size_t>(query);
 
+       if (tag_size > 4 * 1024 * 1024)
+               return nullptr;
+
        /* Found a tag.  Allocate a buffer and read it in. */
        if (tag_size <= sizeof(query_buffer))
                /* we have enough data already */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/subprojects/expat.wrap 
new/mpd-0.24.13/subprojects/expat.wrap
--- old/mpd-0.24.12/subprojects/expat.wrap      2026-05-15 07:46:52.000000000 
+0200
+++ new/mpd-0.24.13/subprojects/expat.wrap      2026-07-10 11:50:29.000000000 
+0200
@@ -1,14 +1,14 @@
 [wrap-file]
-directory = expat-2.7.5
-source_url = 
https://github.com/libexpat/libexpat/releases/download/R_2_7_5/expat-2.7.5.tar.xz
-source_filename = expat-2.7.5.tar.xz
-source_hash = 1032dfef4ff17f70464827daa28369b20f6584d108bc36f17ab1676e1edd2f91
-source_fallback_url = 
https://wrapdb.mesonbuild.com/v2/expat_2.7.5-1/get_source/expat-2.7.5.tar.xz
-patch_filename = expat_2.7.5-1_patch.zip
-patch_url = https://wrapdb.mesonbuild.com/v2/expat_2.7.5-1/get_patch
-patch_fallback_url = 
https://github.com/mesonbuild/wrapdb/releases/download/expat_2.7.5-1/expat_2.7.5-1_patch.zip
-patch_hash = f3de751df71265847b359914ac48ec2ced85a98cd6c3a35dd45890a331919f65
-wrapdb_version = 2.7.5-1
+directory = expat-2.8.2
+source_url = 
https://github.com/libexpat/libexpat/releases/download/R_2_8_2/expat-2.8.2.tar.xz
+source_filename = expat-2.8.2.tar.xz
+source_hash = 3ad89b8588e6644bd4e49981480d48b21289eebbcd4f0a1a4afb1c29f99b6ab4
+source_fallback_url = 
https://wrapdb.mesonbuild.com/v2/expat_2.8.2-1/get_source/expat-2.8.2.tar.xz
+patch_filename = expat_2.8.2-1_patch.zip
+patch_url = https://wrapdb.mesonbuild.com/v2/expat_2.8.2-1/get_patch
+patch_fallback_url = 
https://github.com/mesonbuild/wrapdb/releases/download/expat_2.8.2-1/expat_2.8.2-1_patch.zip
+patch_hash = 3d4ec67cce3ced0388f0c4b4c62b27d8059dcb520a7d49cf317cd8d4d5b44fb1
+wrapdb_version = 2.8.2-1
 
 [provide]
 dependency_names = expat
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/subprojects/libmpdclient.wrap 
new/mpd-0.24.13/subprojects/libmpdclient.wrap
--- old/mpd-0.24.12/subprojects/libmpdclient.wrap       2026-05-15 
07:46:52.000000000 +0200
+++ new/mpd-0.24.13/subprojects/libmpdclient.wrap       2026-07-10 
11:50:29.000000000 +0200
@@ -1,6 +1,6 @@
 [wrap-git]
 url = https://github.com/MusicPlayerDaemon/libmpdclient
-revision = v2.22
+revision = v2.26
 
 [provide]
 libmpdclient = libmpdclient_dep
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/subprojects/sqlite3.wrap 
new/mpd-0.24.13/subprojects/sqlite3.wrap
--- old/mpd-0.24.12/subprojects/sqlite3.wrap    2026-05-15 07:46:52.000000000 
+0200
+++ new/mpd-0.24.13/subprojects/sqlite3.wrap    2026-07-10 11:50:29.000000000 
+0200
@@ -1,14 +1,14 @@
 [wrap-file]
-directory = sqlite-amalgamation-3530100
-source_url = https://www.sqlite.org/2026/sqlite-amalgamation-3530100.zip
-source_filename = sqlite-amalgamation-3530100.zip
-source_hash = 36ad6e7f38540a3b21a2ac36340833f0a9e426bc1c752751c3ba669466827eae
-source_fallback_url = 
https://wrapdb.mesonbuild.com/v2/sqlite3_3.53.1-1/get_source/sqlite-amalgamation-3530100.zip
-patch_filename = sqlite3_3.53.1-1_patch.zip
-patch_url = https://wrapdb.mesonbuild.com/v2/sqlite3_3.53.1-1/get_patch
-patch_fallback_url = 
https://github.com/mesonbuild/wrapdb/releases/download/sqlite3_3.53.1-1/sqlite3_3.53.1-1_patch.zip
-patch_hash = d1a5758285f8a0659317f0f84e9c9c8c839fe7c1d19448ac62d95ecefd5ba3a5
-wrapdb_version = 3.53.1-1
+directory = sqlite-amalgamation-3530300
+source_url = https://www.sqlite.org/2026/sqlite-amalgamation-3530300.zip
+source_filename = sqlite-amalgamation-3530300.zip
+source_hash = 646421e12aac110282ef8cc68f1a62d4bb15fc7b8f09da0b53e29ee690500431
+source_fallback_url = 
https://wrapdb.mesonbuild.com/v2/sqlite3_3.53.3-1/get_source/sqlite-amalgamation-3530300.zip
+patch_filename = sqlite3_3.53.3-1_patch.zip
+patch_url = https://wrapdb.mesonbuild.com/v2/sqlite3_3.53.3-1/get_patch
+patch_fallback_url = 
https://github.com/mesonbuild/wrapdb/releases/download/sqlite3_3.53.3-1/sqlite3_3.53.3-1_patch.zip
+patch_hash = acd1a0cca89d7d4b50375002e61eaf67f5a432b6801721fa38cab05a9f1e0385
+wrapdb_version = 3.53.3-1
 
 [provide]
 dependency_names = sqlite3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mpd-0.24.12/systemd/meson.build 
new/mpd-0.24.13/systemd/meson.build
--- old/mpd-0.24.12/systemd/meson.build 2026-05-15 07:46:52.000000000 +0200
+++ new/mpd-0.24.13/systemd/meson.build 2026-07-10 11:50:29.000000000 +0200
@@ -2,7 +2,7 @@
 systemd_unit_conf.set('prefix', get_option('prefix'))
 
 address_families = ['AF_INET', 'AF_INET6', 'AF_UNIX']
-if get_option('smbclient').enabled()
+if get_option('smbclient').enabled() or upnp_dep.found()
   # AF_NETLINK is required by libsmbclient, or it will exit() .. *sigh*
   address_families += 'AF_NETLINK'
 endif

Reply via email to