Skip to contentSkip to conversation

libupnp: add initial recipe, libupnp v1.6.19

PATCH In review Andre McCurdy 2 participants 3 messages Jun 9, 2015 – Jun 10, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 libupnp: add initial recipe, libupnp v1.6.19

http://pupnp.sourceforge.net/

---
 .../avoid-redefining-strnlen-and-strndup.patch     | 47 +++++++++++++++++
 .../libupnp/libupnp/sepbuildfix.patch              | 60 ++++++++++++++++++++++
 .../recipes-connectivity/libupnp/libupnp_1.6.19.bb | 19 +++++++
 3 files changed, 126 insertions(+)
 create mode 100644 meta-multimedia/recipes-connectivity/libupnp/libupnp/avoid-redefining-strnlen-and-strndup.patch
 create mode 100644 meta-multimedia/recipes-connectivity/libupnp/libupnp/sepbuildfix.patch
 create mode 100644 meta-multimedia/recipes-connectivity/libupnp/libupnp_1.6.19.bb
meta-multimedia/recipes-connectivity/libupnp/libupnp/avoid-redefining-strnlen-and-strndup.patch new file +47 -0
new file mode 100644
index 0000000..3c3f230
@@ -0,0 +1,47 @@
+From 22fba4f2765f92cd592a58e1fe5c450b187e30e1 Mon Sep 17 00:00:00 2001
+From: Andre McCurdy <[email protected]>
+Date: Wed, 3 Jun 2015 21:39:03 -0700
+Subject: [PATCH] avoid redefining strnlen() and strndup()
+
+Rely on string.h definitions instead. Workaround for compiler errors such as:
+
+  | i686-rdk-linux-libtool: compile:  i686-rdk-linux-gcc -m32 -march=atom -mtune=atom -fschedule-insns -fsched-pressure -msse3 -mfpmath=sse --sysroot=/home/andre/build/tmp/sysroots/7401 -DHAVE_CONFIG_H -I. -I/home/andre/build/tmp/work/core2-32-rdk-linux/libupnp/1.6.19-r0/libupnp-1.6.19/upnp -I.. -I../upnp/inc -I/home/andre/build/tmp/work/core2-32-rdk-linux/libupnp/1.6.19-r0/libupnp-1.6.19/upnp/inc -I/home/andre/build/tmp/work/core2-32-rdk-linux/libupnp/1.6.19-r0/libupnp-1.6.19/threadutil/inc -I/home/andre/build/tmp/work/core2-32-rdk-linux/libupnp/1.6.19-r0/libupnp-1.6.19/ixml/inc -I/home/andre/build/tmp/work/core2-32-rdk-linux/libupnp/1.6.19-r0/libupnp-1.6.19/upnp/src/inc -pthread -O2 -pipe -g -feliminate-unused-debug-types -Os -Wall -c /home/andre/build/tmp/work/core2-32-rdk-linux/libupnp/1.6.19-r0/libupnp-1.6.19/upnp/src/gena/gena_callback2.c -o src/gena/libupnp_la-gena_callback2.o >/dev/null 2>&1
+  | In file included from /home/andre/build/tmp/sysroots/7401/usr/include/string.h:634:0,
+  |                  from /home/andre/build/tmp/work/core2-32-rdk-linux/libupnp/1.6.19-r0/libupnp-1.6.19/upnp/src/api/UpnpString.c:23:
+  | /home/andre/build/tmp/work/core2-32-rdk-linux/libupnp/1.6.19-r0/libupnp-1.6.19/upnp/src/api/UpnpString.c:47:15: error: expected identifier or '(' before '__extension__'
+  |   extern char *strndup(__const char *__string, size_t __n);
+  |                ^
+  | make[3]: *** [src/api/libupnp_la-UpnpString.lo] Error 1
+
+Upstream-Status: Pending
+
+Signed-off-by: Andre McCurdy <[email protected]>
+---
+ upnp/src/api/UpnpString.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/upnp/src/api/UpnpString.c b/upnp/src/api/UpnpString.c
+index 41c9898..2fa09d7 100644
+--- a/upnp/src/api/UpnpString.c
++++ b/upnp/src/api/UpnpString.c
+@@ -32,7 +32,7 @@
+ 	/* VC has strnlen which is already included but with (potentially) different linkage */
+ 	/* strnlen() is a GNU extension. */
+ 	#if HAVE_STRNLEN
+-		extern size_t strnlen(const char *s, size_t maxlen);
++//		extern size_t strnlen(const char *s, size_t maxlen);
+ 	#else /* HAVE_STRNLEN */
+ 		static size_t strnlen(const char *s, size_t n)
+ 		{
+@@ -44,7 +44,7 @@
+ 
+ /* strndup() is a GNU extension. */
+ #if HAVE_STRNDUP && !defined(WIN32)
+-	extern char *strndup(__const char *__string, size_t __n);
++//	extern char *strndup(__const char *__string, size_t __n);
+ #else /* HAVE_STRNDUP && !defined(WIN32) */
+ 	static char *strndup(const char *__string, size_t __n)
+ 	{
+-- 
+1.9.1
+
meta-multimedia/recipes-connectivity/libupnp/libupnp/sepbuildfix.patch new file +60 -0

60 lines not on this page · raw message

meta-multimedia/recipes-connectivity/libupnp/libupnp_1.6.19.bb new file +19 -0
new file mode 100644
index 0000000..133a8eb
@@ -0,0 +1,19 @@
+SUMMARY = "Portable SDK for UPnP* Devices"
+DESCRIPTION = "The Portable SDK for UPnP Devices is an SDK for development of \
+UPnP device and control point applications. It consists of the core UPnP \
+protocols along with a UPnP-specific eXtensible Markup Language (XML) parser \
+supporting the Document Object Model (DOM) Level 2 API and an optional, \
+integrated mini web server for serving UPnP related documents."
+HOMEPAGE = "http://pupnp.sourceforge.net/"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b3190d5244e08e78e4c8ee78544f4863"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/pupnp/${BP}.tar.bz2 \
+           file://avoid-redefining-strnlen-and-strndup.patch \
+           file://sepbuildfix.patch \
+"
+
+SRC_URI[md5sum] = "ee16e5d33a3ea7506f38d71facc057dd"
+SRC_URI[sha256sum] = "b3142b39601243b50532eec90f4a27dba85eb86f58d4b849ac94edeb29d9b22a"
+
+inherit autotools
Signature · 1 line
1.9.1
#1 lore raw
Quoted 7 lines · Andre McCurdy
+-echo "configure: copying \"autoconfig.h\"          to \"build/inc/autoconfig.h\""
+-cp autoconfig.h build/inc/autoconfig.h
+-echo "configure: copying \"upnp/inc/upnpconfig.h\" to \"build/inc/upnpconfig.h\""
+-cp upnp/inc/upnpconfig.h build/inc/upnpconfig.h
++echo "configure: copying \"autoconfig.h\"          to \"\$srcdir/build/inc/autoconfig.h\""

++cp autoconfig.h $srcdir/build/inc/autoconfig.h
++echo "configure: copying \"upnp/inc/upnpconfig.h\" to \"\$srcdir/build/inc/upnpconfig.h\""

shouldnt this be relative to builddir or top_builddir ?

#2 lore raw
Quoted 11 lines · Khem Raj
Quoted 7 lines · Andre McCurdy
+-echo "configure: copying \"autoconfig.h\"          to \"build/inc/autoconfig.h\""
+-cp autoconfig.h build/inc/autoconfig.h
+-echo "configure: copying \"upnp/inc/upnpconfig.h\" to \"build/inc/upnpconfig.h\""
+-cp upnp/inc/upnpconfig.h build/inc/upnpconfig.h
++echo "configure: copying \"autoconfig.h\"          to \"\$srcdir/build/inc/autoconfig.h\""

++cp autoconfig.h $srcdir/build/inc/autoconfig.h
++echo "configure: copying \"upnp/inc/upnpconfig.h\" to \"\$srcdir/build/inc/upnpconfig.h\""

shouldnt this be relative to builddir or top_builddir ? --

These are copies of the config headers which are only used by the MSVC projects in $srcdir/build. I don't think the MSVC build would find them if they were put anywhere else.

Quoted 3 lines

Openembedded-devel mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-devel