summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-libs/libupnp/files/libupnp-1.12.0-cxx-compat.patch33
-rw-r--r--net-libs/libupnp/libupnp-1.12.0-r1.ebuild (renamed from net-libs/libupnp/libupnp-1.12.0.ebuild)1
2 files changed, 34 insertions, 0 deletions
diff --git a/net-libs/libupnp/files/libupnp-1.12.0-cxx-compat.patch b/net-libs/libupnp/files/libupnp-1.12.0-cxx-compat.patch
new file mode 100644
index 000000000000..cbb844952be6
--- /dev/null
+++ b/net-libs/libupnp/files/libupnp-1.12.0-cxx-compat.patch
@@ -0,0 +1,33 @@
+From 5a8e93f1a57cce5cead5c8c566a75f7c7c294c97 Mon Sep 17 00:00:00 2001
+From: Ian Whyman <v00d00@v00d00.net>
+Date: Mon, 27 Jan 2020 21:46:47 +0000
+Subject: [PATCH] List: Add extern C for C++ users
+
+---
+ upnp/inc/list.h | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/upnp/inc/list.h b/upnp/inc/list.h
+index 214a53e5..0fbe7efc 100644
+--- a/upnp/inc/list.h
++++ b/upnp/inc/list.h
+@@ -40,6 +40,10 @@
+
+ #include "UpnpGlobal.h"
+
++#ifdef __cplusplus
++extern "C" {
++#endif /* __cplusplus */
++
+ /** List anchor structure. This should be the *first* entry in list
+ * member objects, except if you want to do member offset arithmetic
+ * instead of simple casts (look up "containerof"). The list code itself
+@@ -71,4 +75,8 @@ EXPORT_SPEC UpnpListIter UpnpListInsert(UpnpListHead *list, UpnpListIter pos,
+ /** Erase element at pos, return next one, or end()*/
+ EXPORT_SPEC UpnpListIter UpnpListErase(UpnpListHead *list, UpnpListIter pos);
+
++#ifdef __cplusplus
++}
++#endif /* __cplusplus */
++
+ #endif /* _UPNPLISTH_ */
diff --git a/net-libs/libupnp/libupnp-1.12.0.ebuild b/net-libs/libupnp/libupnp-1.12.0-r1.ebuild
index 14fc805526fb..70a82fc72df3 100644
--- a/net-libs/libupnp/libupnp-1.12.0.ebuild
+++ b/net-libs/libupnp/libupnp-1.12.0-r1.ebuild
@@ -18,6 +18,7 @@ DOCS="ChangeLog"
PATCHES=(
"${FILESDIR}"/${PN}-1.6.21-cflags.patch
+ "${FILESDIR}"/${P}-cxx-compat.patch
)
src_prepare() {