kumquat-buildroot/package/mpd/0002-libupnp-1-6-24-compat.patch
Jörg Krause 13eab44e15 mpd: add upstream patch to fix build with libupnp 1.6.24
Add an upstream patch to fix build with libupnp 1.6.24.

libupnp 1.6.24 added some compat helpers for programs making use of
libupnp to support 1.6.x and 1.8.x easier [1].

MPD added its own wrappers in version 0.20.12 [2] which are clashing with the
newly added compat helpers in libupnp 1.6.24.

The patch disables the MPD wrappers for libupnp version 1.6.24+.

Fixes:
http://autobuild.buildroot.net/results/949bf9d42c82de34f3328a31bb122c81243e5418/
http://autobuild.buildroot.net/results/b12ca93cb3ad52e601cc99f54a867e21a28fd1c9/
http://autobuild.buildroot.net/results/7af8e96fdf823bbc427caa562d6d0a130a4875f0/
.. and many more.

Backported from: 78728138a04c2493c6bfadee98060043eca204bf

[1] 8177a4195a/
[2] 714011c81e

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-12-13 08:20:27 +01:00

49 lines
1.3 KiB
Diff

From 78728138a04c2493c6bfadee98060043eca204bf Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@musicpd.org>
Date: Sat, 2 Dec 2017 14:47:27 +0100
Subject: [PATCH] lib/upnp/Compat: disable the 1.8 API emulation with libupnp
1.6.24
libupnp 1.6.24 added a few badly designed macros which break the MPD
build:
https://sourceforge.net/p/pupnp/code/ci/8177a4195a4d4a5d6cb095eaf4ca5b65ac446381/
To work around this, we disable our emulation functions (from
714011c81ed6053f7a35812071499356f337dd70) on this libupnp version.
Closes #163
Backported from: 78728138a04c2493c6bfadee98060043eca204bf
Signed-off-by: Max Kellermann <max@musicpd.org>
[Jörg Krause: Drop patching News file]
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
---
src/lib/upnp/Compat.hxx | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/lib/upnp/Compat.hxx b/src/lib/upnp/Compat.hxx
index 2e2d2f1de..c9f1cc47f 100644
--- a/src/lib/upnp/Compat.hxx
+++ b/src/lib/upnp/Compat.hxx
@@ -23,12 +23,15 @@
#include <upnp/upnp.h>
#if UPNP_VERSION < 10800
-#include "Compiler.h"
-
/* emulate the libupnp 1.8 API with older versions */
using UpnpDiscovery = Upnp_Discovery;
+#endif
+
+#if UPNP_VERSION < 10624
+#include "Compiler.h"
+
gcc_pure
static inline int
UpnpDiscovery_get_Expires(const UpnpDiscovery *disco) noexcept