All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 0/6] package/upmpdcli: fix build issues
@ 2016-09-15  6:39 Jörg Krause
  2016-09-15  6:39 ` [Buildroot] [PATCH v2 1/6] package/libupnpp: add patch to get pkg-config file Jörg Krause
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: Jörg Krause @ 2016-09-15  6:39 UTC (permalink / raw
  To: buildroot

This patch set fixes several issues with upmpdcli.

Changes v1 -> v2:
  - replace patch #5 to not only solve the unsafe header include, but to fix
    static linking, too. This way we can drop the need to pass the custom
    LIBS value. This drops the need for patch #7. (suggested by Thomas)

J?rg Krause (6):
  package/libupnpp: add patch to get pkg-config file
  package/upmpdcli: requires GCC 4.7
  package/upmpdcli: fix missing dependencies
  package/upmpdcli: add patch to fix jsoncpp detection
  package/upmpdcli: add patch to use pkg-config for libupnpp
  package/upmpdcli: add patch to fix include path of log

 package/libupnpp/0002-Add-pkg-config-file.patch    |  63 ++++++++++++
 package/libupnpp/libupnpp.mk                       |   4 +-
 package/upmpdcli/0001-fix-jsoncpp-detection.patch  |  90 +++++++++++++++++
 .../0002-use-pkg-config-for-libupnpp.patch         |  66 +++++++++++++
 ...including-header-file-log.h-from-libupnpp.patch | 110 +++++++++++++++++++++
 package/upmpdcli/Config.in                         |   8 +-
 package/upmpdcli/upmpdcli.mk                       |  18 +---
 7 files changed, 342 insertions(+), 17 deletions(-)
 create mode 100644 package/libupnpp/0002-Add-pkg-config-file.patch
 create mode 100644 package/upmpdcli/0001-fix-jsoncpp-detection.patch
 create mode 100644 package/upmpdcli/0002-use-pkg-config-for-libupnpp.patch
 create mode 100644 package/upmpdcli/0003-Fix-including-header-file-log.h-from-libupnpp.patch

-- 
2.9.3

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v2 1/6] package/libupnpp: add patch to get pkg-config file
  2016-09-15  6:39 [Buildroot] [PATCH v2 0/6] package/upmpdcli: fix build issues Jörg Krause
@ 2016-09-15  6:39 ` Jörg Krause
  2016-09-17 12:05   ` Thomas Petazzoni
  2016-09-15  6:39 ` [Buildroot] [PATCH v2 2/6] package/upmpdcli: requires GCC 4.7 Jörg Krause
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 8+ messages in thread
From: Jörg Krause @ 2016-09-15  6:39 UTC (permalink / raw
  To: buildroot

Apply a patch from upstream to install a pkg-config file for libupnpp.

Fetch from:
https://github.com/medoc92/libupnpp/commit/9f03bb0e7b47e2843edea6f25ed9eabbfb6412df

Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
---
 package/libupnpp/0002-Add-pkg-config-file.patch | 63 +++++++++++++++++++++++++
 package/libupnpp/libupnpp.mk                    |  4 +-
 2 files changed, 66 insertions(+), 1 deletion(-)
 create mode 100644 package/libupnpp/0002-Add-pkg-config-file.patch

diff --git a/package/libupnpp/0002-Add-pkg-config-file.patch b/package/libupnpp/0002-Add-pkg-config-file.patch
new file mode 100644
index 0000000..377b5e0
--- /dev/null
+++ b/package/libupnpp/0002-Add-pkg-config-file.patch
@@ -0,0 +1,63 @@
+From 22ec8e3a2b54a4e1fd1340a592f49829d6cde735 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
+Date: Sun, 11 Sep 2016 22:26:33 +0200
+Subject: [PATCH] Add pkg-config file
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Add a pkg-config file.
+
+Fetched from:
+https://github.com/medoc92/libupnpp/commit/9f03bb0e7b47e2843edea6f25ed9eabbfb6412df
+
+Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
+---
+ Makefile.am    |  3 +++
+ configure.ac   |  1 +
+ libupnpp.pc.in | 12 ++++++++++++
+ 3 files changed, 16 insertions(+)
+ create mode 100644 libupnpp.pc.in
+
+diff --git a/Makefile.am b/Makefile.am
+index 2d20b9b..39559e9 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -112,3 +112,6 @@ nobase_include_HEADERS = \
+ libupnpp_la_LDFLAGS = -version-info $(VERSION_INFO)
+ 
+ libupnpp_la_LIBADD = $(LIBUPNPP_LIBS)
++
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = libupnpp.pc
+diff --git a/configure.ac b/configure.ac
+index 9ff2058..89525b3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -90,4 +90,5 @@ AC_SUBST(LIBUPNPP_LIBS)
+ AC_SUBST(VERSION_INFO)
+ 
+ AC_CONFIG_FILES([Makefile])
++AC_CONFIG_FILES([libupnpp.pc])
+ AC_OUTPUT
+diff --git a/libupnpp.pc.in b/libupnpp.pc.in
+new file mode 100644
+index 0000000..90f4b2b
+--- /dev/null
++++ b/libupnpp.pc.in
+@@ -0,0 +1,12 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: @PACKAGE_NAME@
++Description: C++ wrapper for libupnp
++Version: @PACKAGE_VERSION@
++Requires: libcurl libupnp
++Libs: -L${libdir} -lupnpp
++Libs.private: -lexpat -lpthread -lrt
++Cflags: -I${includedir}
+-- 
+2.9.3
+
diff --git a/package/libupnpp/libupnpp.mk b/package/libupnpp/libupnpp.mk
index ab1ce8b..d712c21 100644
--- a/package/libupnpp/libupnpp.mk
+++ b/package/libupnpp/libupnpp.mk
@@ -10,7 +10,9 @@ LIBUPNPP_LICENSE = GPLv2+
 LIBUPNPP_LICENSE_FILES = COPYING
 LIBUPNPP_INSTALL_STAGING = YES
 LIBUPNPP_DEPENDENCIES = expat libcurl libupnp
-# touching configure.ac in 0001-Check-for-std-future.patch
+# touching configure.ac in:
+#   0001-Check-for-std-future.patch
+#   0002-Add-pkg-config-file.patch
 LIBUPNPP_AUTORECONF = YES
 
 # configure script fails to link against the dependencies of libupnp
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v2 2/6] package/upmpdcli: requires GCC 4.7
  2016-09-15  6:39 [Buildroot] [PATCH v2 0/6] package/upmpdcli: fix build issues Jörg Krause
  2016-09-15  6:39 ` [Buildroot] [PATCH v2 1/6] package/libupnpp: add patch to get pkg-config file Jörg Krause
@ 2016-09-15  6:39 ` Jörg Krause
  2016-09-15  6:39 ` [Buildroot] [PATCH v2 3/6] package/upmpdcli: fix missing dependencies Jörg Krause
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Jörg Krause @ 2016-09-15  6:39 UTC (permalink / raw
  To: buildroot

upmpdcli now uses C++11 features, meaning the minimum usable GCC version
is 4.7.

Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
---
 package/upmpdcli/Config.in | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/package/upmpdcli/Config.in b/package/upmpdcli/Config.in
index e17330c..b075d7a 100644
--- a/package/upmpdcli/Config.in
+++ b/package/upmpdcli/Config.in
@@ -3,7 +3,7 @@ config BR2_PACKAGE_UPMPDCLI
 	depends on BR2_USE_MMU # fork()
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libupnpp -> libupnp
-	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11
 	select BR2_PACKAGE_LIBMPDCLIENT
 	select BR2_PACKAGE_LIBUPNPP
 	help
@@ -13,6 +13,6 @@ config BR2_PACKAGE_UPMPDCLI
 
 	  http://www.lesbonscomptes.com/upmpdcli/
 
-comment "upmpdcli needs a toolchain w/ C++, threads, gcc >= 4.6"
+comment "upmpdcli needs a toolchain w/ C++, threads, gcc >= 4.7"
 	depends on BR2_USE_MMU
-	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v2 3/6] package/upmpdcli: fix missing dependencies
  2016-09-15  6:39 [Buildroot] [PATCH v2 0/6] package/upmpdcli: fix build issues Jörg Krause
  2016-09-15  6:39 ` [Buildroot] [PATCH v2 1/6] package/libupnpp: add patch to get pkg-config file Jörg Krause
  2016-09-15  6:39 ` [Buildroot] [PATCH v2 2/6] package/upmpdcli: requires GCC 4.7 Jörg Krause
@ 2016-09-15  6:39 ` Jörg Krause
  2016-09-15  6:39 ` [Buildroot] [PATCH v2 4/6] package/upmpdcli: add patch to fix jsoncpp detection Jörg Krause
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Jörg Krause @ 2016-09-15  6:39 UTC (permalink / raw
  To: buildroot

Starting with version 1.2 upmpdcli depends on libmicrohttpd and jsoncpp.

Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
---
 package/upmpdcli/Config.in   | 2 ++
 package/upmpdcli/upmpdcli.mk | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/package/upmpdcli/Config.in b/package/upmpdcli/Config.in
index b075d7a..9fb6285 100644
--- a/package/upmpdcli/Config.in
+++ b/package/upmpdcli/Config.in
@@ -6,6 +6,8 @@ config BR2_PACKAGE_UPMPDCLI
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11
 	select BR2_PACKAGE_LIBMPDCLIENT
 	select BR2_PACKAGE_LIBUPNPP
+	select BR2_PACKAGE_LIBMICROHTTPD
+	select BR2_PACKAGE_JSONCPP
 	help
 	  upmpdcli is a UPnP Media Renderer front-end for MPD, the Music
 	  Player Daemon. It supports UPnP gapless track transitions and
diff --git a/package/upmpdcli/upmpdcli.mk b/package/upmpdcli/upmpdcli.mk
index a7b98c9..85b78fe 100644
--- a/package/upmpdcli/upmpdcli.mk
+++ b/package/upmpdcli/upmpdcli.mk
@@ -8,7 +8,7 @@ UPMPDCLI_VERSION = 1.2.2
 UPMPDCLI_SITE = http://www.lesbonscomptes.com/upmpdcli/downloads
 UPMPDCLI_LICENSE = GPLv2+
 UPMPDCLI_LICENSE_FILES = COPYING
-UPMPDCLI_DEPENDENCIES = libmpdclient libupnpp
+UPMPDCLI_DEPENDENCIES = libmpdclient libupnpp libmicrohttpd jsoncpp
 
 ifeq ($(BR2_STATIC_LIBS),y)
 # Upmpdcli forgets to take the dependencies of libupnpp into
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v2 4/6] package/upmpdcli: add patch to fix jsoncpp detection
  2016-09-15  6:39 [Buildroot] [PATCH v2 0/6] package/upmpdcli: fix build issues Jörg Krause
                   ` (2 preceding siblings ...)
  2016-09-15  6:39 ` [Buildroot] [PATCH v2 3/6] package/upmpdcli: fix missing dependencies Jörg Krause
@ 2016-09-15  6:39 ` Jörg Krause
  2016-09-15  6:40 ` [Buildroot] [PATCH v2 5/6] package/upmpdcli: add patch to use pkg-config for libupnpp Jörg Krause
  2016-09-15  6:40 ` [Buildroot] [PATCH v2 6/6] package/upmpdcli: add patch to fix include path of log Jörg Krause
  5 siblings, 0 replies; 8+ messages in thread
From: Jörg Krause @ 2016-09-15  6:39 UTC (permalink / raw
  To: buildroot

Although jsoncpp is present, the build system of upmpdcli does not detect it.

The default installation path for the header files of jsoncpp is
{prefix}/json, but some systems (Debian) prefers to install the headers
in {prefix}/jsoncpp/json.

The build system only checks for the header files in
{prefix}/jsoncpp/json, so jsoncpp is not found.

This patch from upstream handles both cases now when checking for the jsoncpp
library.

The patch is squashed of two commits from upstream:
1/ aba96db0cfe8a2e5c825f4448c0ad184e21b50e1
2/ ce144f19a8c2e8c1e0ec3fe53699e874e5eb43fe

Fixes:
http://autobuild.buildroot.net/results/5bc6c558fccea0e1e1936894ce372f2b7b8ecac2
http://autobuild.buildroot.net/results/9c2d3892f17c240c44f7255d821d66acbed361f0
http://autobuild.buildroot.net/results/4d22729535ca4e6acbb48a25145611bb49c10149
http://autobuild.buildroot.net/results/fda321774c3eb225f966dd9f83def5329b703a03
http://autobuild.buildroot.net/results/f5eb306b0032e830f7f72ce80e318aa11774a5d1

.. and many more!

Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
---
 package/upmpdcli/0001-fix-jsoncpp-detection.patch | 90 +++++++++++++++++++++++
 package/upmpdcli/upmpdcli.mk                      |  3 +
 2 files changed, 93 insertions(+)
 create mode 100644 package/upmpdcli/0001-fix-jsoncpp-detection.patch

diff --git a/package/upmpdcli/0001-fix-jsoncpp-detection.patch b/package/upmpdcli/0001-fix-jsoncpp-detection.patch
new file mode 100644
index 0000000..69a9a0e
--- /dev/null
+++ b/package/upmpdcli/0001-fix-jsoncpp-detection.patch
@@ -0,0 +1,90 @@
+From 25762953c019ca0c5a047a5fa28f1fe6c78c731a Mon Sep 17 00:00:00 2001
+From: Jean-Francois Dockes <jf@dockes.org>
+Date: Sun, 11 Sep 2016 13:43:28 +0200
+Subject: [PATCH] fix jsoncpp detection
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The default installation path for the header files is {prefix}/json, but some
+system prefers to install the headers in {prefix}/jsoncpp/json.
+
+This patch from upstream handles both cases now when checking for the jsoncpp
+library.
+
+The patch is squashed of two commits from upstream:
+1/ aba96db0cfe8a2e5c825f4448c0ad184e21b50e1
+2/ ce144f19a8c2e8c1e0ec3fe53699e874e5eb43fe
+
+Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
+---
+ configure.ac                               | 8 +++++++-
+ src/config.h.in                            | 6 ++++++
+ src/mediaserver/cdplugins/plgwithslave.cxx | 5 +++++
+ 3 files changed, 18 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index f191ad7..108dcce 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -43,9 +43,15 @@ SCCTL_LIBS=$LIBS
+ AC_CHECK_LIB([microhttpd], [MHD_queue_response], [], [])
+ 
+ AC_LANG_PUSH([C++])
++
++AC_CHECK_HEADERS(json/json.h jsoncpp/json/json.h)
+ LIBS="$LIBS -ljsoncpp"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM(
+-    [#include <jsoncpp/json/json.h>], [Json::Features dummy])],
++    [[#ifdef HAVE_JSONCPP_JSON_JSON_H
++    #include <jsoncpp/json/json.h>
++    #else
++    #include <json/json.h>
++    #endif]], [Json::Features dummy])],
+     [HAVE_JSONCPP=1],
+     [AC_MSG_ERROR([libjsoncpp not found.])])
+ AC_LANG_POP
+diff --git a/src/config.h.in b/src/config.h.in
+index 1350308..0a33e15 100644
+--- a/src/config.h.in
++++ b/src/config.h.in
+@@ -3,6 +3,12 @@
+ /* Define to 1 if you have the <inttypes.h> header file. */
+ #undef HAVE_INTTYPES_H
+ 
++/* Define to 1 if you have the <jsoncpp/json/json.h> header file. */
++#undef HAVE_JSONCPP_JSON_JSON_H
++
++/* Define to 1 if you have the <json/json.h> header file. */
++#undef HAVE_JSON_JSON_H
++
+ /* Define to 1 if you have the `microhttpd' library (-lmicrohttpd). */
+ #undef HAVE_LIBMICROHTTPD
+ 
+diff --git a/src/mediaserver/cdplugins/plgwithslave.cxx b/src/mediaserver/cdplugins/plgwithslave.cxx
+index 04f0544..545805c 100644
+--- a/src/mediaserver/cdplugins/plgwithslave.cxx
++++ b/src/mediaserver/cdplugins/plgwithslave.cxx
+@@ -14,6 +14,7 @@
+  *   Free Software Foundation, Inc.,
+  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+  */
++#include "config.h"
+ 
+ #include "plgwithslave.hxx"
+ 
+@@ -25,7 +26,11 @@
+ #include <string.h>
+ #include <upnp/upnp.h>
+ #include <microhttpd.h>
++#ifdef HAVE_JSONCPP_JSON_JSON_H
+ #include <jsoncpp/json/json.h>
++#else
++#include <json/json.h>
++#endif
+ 
+ #include "cmdtalk.h"
+ #include "pathut.h"
+-- 
+2.9.3
+
diff --git a/package/upmpdcli/upmpdcli.mk b/package/upmpdcli/upmpdcli.mk
index 85b78fe..b70f413 100644
--- a/package/upmpdcli/upmpdcli.mk
+++ b/package/upmpdcli/upmpdcli.mk
@@ -9,6 +9,9 @@ UPMPDCLI_SITE = http://www.lesbonscomptes.com/upmpdcli/downloads
 UPMPDCLI_LICENSE = GPLv2+
 UPMPDCLI_LICENSE_FILES = COPYING
 UPMPDCLI_DEPENDENCIES = libmpdclient libupnpp libmicrohttpd jsoncpp
+# touching configure.ac in
+#   0001-fix-jsoncpp-detection.patch
+UPMPDCLI_AUTORECONF = YES
 
 ifeq ($(BR2_STATIC_LIBS),y)
 # Upmpdcli forgets to take the dependencies of libupnpp into
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v2 5/6] package/upmpdcli: add patch to use pkg-config for libupnpp
  2016-09-15  6:39 [Buildroot] [PATCH v2 0/6] package/upmpdcli: fix build issues Jörg Krause
                   ` (3 preceding siblings ...)
  2016-09-15  6:39 ` [Buildroot] [PATCH v2 4/6] package/upmpdcli: add patch to fix jsoncpp detection Jörg Krause
@ 2016-09-15  6:40 ` Jörg Krause
  2016-09-15  6:40 ` [Buildroot] [PATCH v2 6/6] package/upmpdcli: add patch to fix include path of log Jörg Krause
  5 siblings, 0 replies; 8+ messages in thread
From: Jörg Krause @ 2016-09-15  6:40 UTC (permalink / raw
  To: buildroot

Building upmpdcli aborts because of an unsafe header inclusion of
`/usr/include/libupnpp`. Using `{prefix}` to get the header path is
wrong for cross-compilation.

Instead of hard-coding the flags for libupnpp use pkg-config to get the
correct ones.

Note that this patch adds the host-pkgconfig dependency unconditionally and
removes the necessity to pass the libupnpp manually to LIBS for a static
build.

Upstream-status: https://github.com/medoc92/upmpdcli/pull/49

Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
---
 .../0002-use-pkg-config-for-libupnpp.patch         | 66 ++++++++++++++++++++++
 package/upmpdcli/upmpdcli.mk                       | 17 +-----
 2 files changed, 69 insertions(+), 14 deletions(-)
 create mode 100644 package/upmpdcli/0002-use-pkg-config-for-libupnpp.patch

diff --git a/package/upmpdcli/0002-use-pkg-config-for-libupnpp.patch b/package/upmpdcli/0002-use-pkg-config-for-libupnpp.patch
new file mode 100644
index 0000000..daef415
--- /dev/null
+++ b/package/upmpdcli/0002-use-pkg-config-for-libupnpp.patch
@@ -0,0 +1,66 @@
+From 16bcaaee1c28b972e0cc6a542f511af44306ce6c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
+Date: Wed, 14 Sep 2016 11:43:21 +0200
+Subject: [PATCH] Use pkg-config for libupnpp
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Use pkg-config for libupnpp to fix build issues when cross-compiling and
+building upmpdcli statically.
+
+Building upmpdcli aborts because of an unsafe header inclusion of
+`/usr/include/libupnpp`. Using `{prefix}` to get the header path is wrong for
+cross-compilation. Instead of hard-coding the flags for libupnpp use pkg-config
+to get the correct ones.
+
+Upstream-status: https://github.com/medoc92/upmpdcli/pull/49
+
+Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
+---
+ Makefile.am  | 2 +-
+ configure.ac | 8 ++++----
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index d0c10a4..5c83aa1 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,5 +1,5 @@
+ AM_CPPFLAGS = -DDEBUG -g -Wall \
+-            -I${prefix}/include/libupnpp \
++            $(upnpp_CFLAGS) \
+             -I$(top_srcdir)/src \
+             -DDATADIR=\"${pkgdatadir}\" -DCONFIGDIR=\"${sysconfdir}\"
+ 
+diff --git a/configure.ac b/configure.ac
+index 108dcce..a165b5d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -35,10 +35,10 @@ dnl AC_CHECK_LIB([upnp], [UpnpInit], [], AC_MSG_ERROR([libupnp not found]))
+ dnl AC_CHECK_LIB([curl], [curl_easy_init], [],AC_MSG_ERROR([libcurl not found]))
+ dnl AC_CHECK_LIB([expat], [XML_ParserCreate], [],AC_MSG_ERROR([libexpat not found]))
+ 
+-AC_CHECK_LIB([upnpp], [getsyshwaddr], [], [AC_MSG_ERROR([libupnpp])])
++PKG_CHECK_MODULES([upnpp], [libupnpp], [], [AC_MSG_ERROR([libupnpp])])
+ AC_CHECK_LIB([mpdclient], [mpd_connection_new], [],
+                           AC_MSG_ERROR([libmpdclient not found]))
+-SCCTL_LIBS=$LIBS
++SCCTL_LIBS="$LIBS $upnpp_LIBS"
+ 
+ AC_CHECK_LIB([microhttpd], [MHD_queue_response], [], [])
+ 
+@@ -56,8 +56,8 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM(
+     [AC_MSG_ERROR([libjsoncpp not found.])])
+ AC_LANG_POP
+ 
+-UPMPDCLI_LIBS=$LIBS
+-echo "UPMPDCLI_LIBS=$LIBS"
++UPMPDCLI_LIBS="$LIBS $upnpp_LIBS"
++echo "UPMPDCLI_LIBS=$UPMPDCLI_LIBS"
+ 
+ LIBS=""
+ 
+-- 
+2.9.3
+
diff --git a/package/upmpdcli/upmpdcli.mk b/package/upmpdcli/upmpdcli.mk
index b70f413..3beda1b 100644
--- a/package/upmpdcli/upmpdcli.mk
+++ b/package/upmpdcli/upmpdcli.mk
@@ -8,23 +8,12 @@ UPMPDCLI_VERSION = 1.2.2
 UPMPDCLI_SITE = http://www.lesbonscomptes.com/upmpdcli/downloads
 UPMPDCLI_LICENSE = GPLv2+
 UPMPDCLI_LICENSE_FILES = COPYING
-UPMPDCLI_DEPENDENCIES = libmpdclient libupnpp libmicrohttpd jsoncpp
-# touching configure.ac in
+UPMPDCLI_DEPENDENCIES = host-pkgconf libmpdclient libupnpp libmicrohttpd jsoncpp
+# touching configure.ac and Makefile.am in
 #   0001-fix-jsoncpp-detection.patch
+#   0002-use-pkg-config-for-libupnpp.patch
 UPMPDCLI_AUTORECONF = YES
 
-ifeq ($(BR2_STATIC_LIBS),y)
-# Upmpdcli forgets to take the dependencies of libupnpp into
-# consideration, breaking static linking, so help it.
-# Libupnpp unfortunately doesn't provide a .pc file, so manually
-# handle the dependencies here.
-# The build system doesn't expand LIBS from the configure step, so
-# manually pass it to make.
-UPMPDCLI_DEPENDENCIES += host-pkgconf
-UPMPDCLI_MAKE_OPTS = \
-	LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs expat libcurl libupnp`"
-endif
-
 # Upmpdcli only runs if user upmpdcli exists
 define UPMPDCLI_USERS
 	upmpdcli -1 upmpdcli -1 * - - - Upmpdcli MPD UPnP Renderer Front-End
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v2 6/6] package/upmpdcli: add patch to fix include path of log
  2016-09-15  6:39 [Buildroot] [PATCH v2 0/6] package/upmpdcli: fix build issues Jörg Krause
                   ` (4 preceding siblings ...)
  2016-09-15  6:40 ` [Buildroot] [PATCH v2 5/6] package/upmpdcli: add patch to use pkg-config for libupnpp Jörg Krause
@ 2016-09-15  6:40 ` Jörg Krause
  5 siblings, 0 replies; 8+ messages in thread
From: Jörg Krause @ 2016-09-15  6:40 UTC (permalink / raw
  To: buildroot

The "log.{h,hxx}" header files are included from libupnpp.

As we are using the pkg-config file of libupnpp to get the header
include path,
instead of the hardcoded `{prefix}/include/libupnpp` these files are not
found.

Upstream-status: https://github.com/medoc92/upmpdcli/issues/46

Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
---
 ...including-header-file-log.h-from-libupnpp.patch | 110 +++++++++++++++++++++
 1 file changed, 110 insertions(+)
 create mode 100644 package/upmpdcli/0003-Fix-including-header-file-log.h-from-libupnpp.patch

diff --git a/package/upmpdcli/0003-Fix-including-header-file-log.h-from-libupnpp.patch b/package/upmpdcli/0003-Fix-including-header-file-log.h-from-libupnpp.patch
new file mode 100644
index 0000000..29e6492
--- /dev/null
+++ b/package/upmpdcli/0003-Fix-including-header-file-log.h-from-libupnpp.patch
@@ -0,0 +1,110 @@
+From 366e726821abce305ef2887effea443a24043511 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
+Date: Wed, 14 Sep 2016 11:46:22 +0200
+Subject: [PATCH] Fix including header file log.h from libupnpp
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The "log.{h,hxx}" header files are included from libupnpp.
+
+As we are using the pkg-config file of libupnpp to get the header include path,
+instead of the hardcoded `{prefix}/include/libupnpp` these files are not found.
+
+Upstream-status: https://github.com/medoc92/upmpdcli/issues/46
+
+Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
+---
+ src/conftree.cpp                           | 2 +-
+ src/execmd.cpp                             | 4 ++--
+ src/mediaserver/cdplugins/cmdtalk.cpp      | 2 +-
+ src/mediaserver/cdplugins/plgwithslave.cxx | 2 +-
+ src/netcon.cpp                             | 4 ++--
+ 5 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/src/conftree.cpp b/src/conftree.cpp
+index 12eb4b5..8a79812 100644
+--- a/src/conftree.cpp
++++ b/src/conftree.cpp
+@@ -42,7 +42,7 @@
+ 
+ #include "pathut.h"
+ #include "smallut.h"
+-#include "log.h"
++#include "libupnpp/log.h"
+ 
+ using namespace std;
+ 
+diff --git a/src/execmd.cpp b/src/execmd.cpp
+index 0db9032..9bf2971 100644
+--- a/src/execmd.cpp
++++ b/src/execmd.cpp
+@@ -53,7 +53,7 @@
+ #include "netcon.h"
+ #include "closefrom.h"
+ #include "smallut.h"
+-#include "log.h"
++#include "libupnpp/log.h"
+ 
+ using namespace std;
+ 
+@@ -1135,7 +1135,7 @@ void ReExec::reexec()
+ #include <sstream>
+ #include <vector>
+ 
+-#include "log.h"
++#include "libupnpp/log.h"
+ 
+ #include "execmd.h"
+ #ifdef BUILDING_RECOLL
+diff --git a/src/mediaserver/cdplugins/cmdtalk.cpp b/src/mediaserver/cdplugins/cmdtalk.cpp
+index eddd68f..e19f7ea 100644
+--- a/src/mediaserver/cdplugins/cmdtalk.cpp
++++ b/src/mediaserver/cdplugins/cmdtalk.cpp
+@@ -24,7 +24,7 @@
+ 
+ #include "smallut.h"
+ #include "execmd.h"
+-#include "log.h"
++#include "libupnpp/log.h"
+ 
+ using namespace std;
+ 
+diff --git a/src/mediaserver/cdplugins/plgwithslave.cxx b/src/mediaserver/cdplugins/plgwithslave.cxx
+index 545805c..1ad44ef 100644
+--- a/src/mediaserver/cdplugins/plgwithslave.cxx
++++ b/src/mediaserver/cdplugins/plgwithslave.cxx
+@@ -35,7 +35,7 @@
+ #include "cmdtalk.h"
+ #include "pathut.h"
+ #include "smallut.h"
+-#include "log.hxx"
++#include "libupnpp/log.hxx"
+ #include "main.hxx"
+ #include "conftree.h"
+ 
+diff --git a/src/netcon.cpp b/src/netcon.cpp
+index 5674cf3..193d1cd 100644
+--- a/src/netcon.cpp
++++ b/src/netcon.cpp
+@@ -47,7 +47,7 @@
+ 
+ #include <map>
+ 
+-#include "log.h"
++#include "libupnpp/log.h"
+ 
+ using namespace std;
+ 
+@@ -1031,7 +1031,7 @@ NetconServLis::checkperms(void *cl, int)
+ #include <signal.h>
+ #include <string.h>
+ 
+-#include "log.h"
++#include "libupnpp/log.h"
+ 
+ #include "netcon.h"
+ 
+-- 
+2.9.3
+
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v2 1/6] package/libupnpp: add patch to get pkg-config file
  2016-09-15  6:39 ` [Buildroot] [PATCH v2 1/6] package/libupnpp: add patch to get pkg-config file Jörg Krause
@ 2016-09-17 12:05   ` Thomas Petazzoni
  0 siblings, 0 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2016-09-17 12:05 UTC (permalink / raw
  To: buildroot

Hello,

On Thu, 15 Sep 2016 08:39:56 +0200, J?rg Krause wrote:
> Apply a patch from upstream to install a pkg-config file for libupnpp.
> 
> Fetch from:
> https://github.com/medoc92/libupnpp/commit/9f03bb0e7b47e2843edea6f25ed9eabbfb6412df
> 
> Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
> ---
>  package/libupnpp/0002-Add-pkg-config-file.patch | 63 +++++++++++++++++++++++++
>  package/libupnpp/libupnpp.mk                    |  4 +-
>  2 files changed, 66 insertions(+), 1 deletion(-)
>  create mode 100644 package/libupnpp/0002-Add-pkg-config-file.patch

Entire patch series applied, thanks!

Hopefully all those patches are going to end up in their respective
upstream projects, so that we can at some point remove them from
Buildroot.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-09-17 12:05 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-15  6:39 [Buildroot] [PATCH v2 0/6] package/upmpdcli: fix build issues Jörg Krause
2016-09-15  6:39 ` [Buildroot] [PATCH v2 1/6] package/libupnpp: add patch to get pkg-config file Jörg Krause
2016-09-17 12:05   ` Thomas Petazzoni
2016-09-15  6:39 ` [Buildroot] [PATCH v2 2/6] package/upmpdcli: requires GCC 4.7 Jörg Krause
2016-09-15  6:39 ` [Buildroot] [PATCH v2 3/6] package/upmpdcli: fix missing dependencies Jörg Krause
2016-09-15  6:39 ` [Buildroot] [PATCH v2 4/6] package/upmpdcli: add patch to fix jsoncpp detection Jörg Krause
2016-09-15  6:40 ` [Buildroot] [PATCH v2 5/6] package/upmpdcli: add patch to use pkg-config for libupnpp Jörg Krause
2016-09-15  6:40 ` [Buildroot] [PATCH v2 6/6] package/upmpdcli: add patch to fix include path of log Jörg Krause

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.