package/transmission: add optional support for libminiupnpc/libnatpmp
authorBernd Kuhls <bernd.kuhls@t-online.de>
Sat, 2 Jul 2016 22:18:13 +0000 (00:18 +0200)
committerPeter Korsgaard <peter@korsgaard.com>
Sun, 3 Jul 2016 17:53:53 +0000 (19:53 +0200)
Transmission bundles copies of both libraries and uses them if they are
not provided by the system. This patch allows transmission to use the
system libraries of libminiupnpc/libnatpmp.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/transmission/0003-miniupnpc-cross.patch [new file with mode: 0644]
package/transmission/transmission.mk

diff --git a/package/transmission/0003-miniupnpc-cross.patch b/package/transmission/0003-miniupnpc-cross.patch
new file mode 100644 (file)
index 0000000..5037c2e
--- /dev/null
@@ -0,0 +1,31 @@
+Fix libminiupnpc version detection
+
+Problem is known upstream: https://trac.transmissionbt.com/ticket/6140
+
+For buildroot we know the libminiupnpc version so we hard-code 2.0.
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+
+diff -uNr transmission-2.92.org/configure.ac transmission-2.92/configure.ac
+--- transmission-2.92.org/configure.ac 2016-03-06 21:23:45.336198393 +0100
++++ transmission-2.92/configure.ac     2016-07-02 21:48:13.452385686 +0200
+@@ -386,18 +386,7 @@
+ dnl MINIUPNPC_API_VERSION and we won't have to figure
+ dnl it out on our own
+ if test "x$upnp_version" = "xunknown" ; then
+-  AC_RUN_IFELSE(
+-    [AC_LANG_PROGRAM(
+-      [#include <stdlib.h>
+-       #include <miniupnpc/miniupnpc.h>],
+-      [#ifdef MINIUPNPC_API_VERSION
+-       return EXIT_SUCCESS;
+-       #else
+-       return EXIT_FAILURE;
+-       #endif]
+-    )],
+-    [upnp_version=">= 1.7"]
+-  )
++  upnp_version="2.0"
+ fi
+ dnl Or maybe it's miniupnp 1.6
index c8d377327d130710e45113816cc575d978d2d15a..e0cfc2d33a0073d6f21ccedf23ffbeb57c5de051 100644 (file)
@@ -21,6 +21,17 @@ TRANSMISSION_CONF_OPTS = \
 TRANSMISSION_LICENSE = GPLv2 or GPLv3 with OpenSSL exception
 TRANSMISSION_LICENSE_FILES = COPYING
 
+ifeq ($(BR2_PACKAGE_LIBMINIUPNPC),y)
+TRANSMISSION_DEPENDENCIES += libminiupnpc
+endif
+
+ifeq ($(BR2_PACKAGE_LIBNATPMP),y)
+TRANSMISSION_DEPENDENCIES += libnatpmp
+TRANSMISSION_CONF_OPTS += --enable-external-natpmp
+else
+TRANSMISSION_CONF_OPTS += --disable-external-natpmp
+endif
+
 ifeq ($(BR2_PACKAGE_TRANSMISSION_UTP),y)
 TRANSMISSION_CONF_OPTS += --enable-utp
 else