Skip to contentSkip to conversation

Pull request for branch for-2012.08/new-packages

GIT PULL New Thomas Petazzoni 7 participants 39 messages Jun 2, 2012 – Mar 3, 2014 1 message not in the archive

lore
Share & tools
lore
#0 lore raw

Hello,

Here is a set of new packages that I needed for various projects in the past year.

This time, I did test them against uClibc, with minimal configurations, so I'm pretty confident that they are correct with regard to the dependencies on largefile/C++ and other things.

Regards,

Thomas

The following changes since commit 54f88ee8eed9d3ae7ab670d14ba77a97a44caaca:

nfs-utils: needs pkg-config (2012-05-31 13:16:10 +0200)

are available in the git repository at:

git://git.free-electrons.com/users/thomas-petazzoni/buildroot.git for-2012.08/new-packages

for you to fetch changes up to 655f8a8354c421c2c1147e56e4ed91ae6c12de81:

libqwt: new package (2012-06-02 15:42:56 +0200)

----------------------------------------------------------------
Laurent GONZALEZ (1):
libqwt: new package

Thomas Petazzoni (9):
monit: new package
libcurl: fix up prefix in curl-config
libxmlrpc: new package
llrp-toolkit: new package
qextserialport: new package
pciutils: install headers and libraries in STAGING_DIR
dmidecode: new package
flashrom: new package
qt: make $(HOST_DIR)/usr/mkspecs a symlink to $(STAGING_DIR)/usr/mkspecs

 package/Config.in                                  |    9 +
 package/dmidecode/Config.in                        |    9 +
 .../dmidecode/dmidecode-build-system-fixes.patch   |   35 ++++
 package/dmidecode/dmidecode.mk                     |   18 ++
 package/flashrom/Config.in                         |   11 ++
 package/flashrom/flashrom.mk                       |   20 +++
 package/libcurl/libcurl.mk                         |    6 +
 package/libqwt/Config.in                           |   23 +++
 package/libqwt/libqwt-remove-installed-check.patch |   32 ++++
 package/libqwt/libqwt.mk                           |   51 ++++++
 package/libxmlrpc/Config.in                        |   10 ++
 .../libxmlrpc/libxmlrpc-fix-gennmtab-build.patch   |   25 +++
 .../libxmlrpc-fix-non-cplusplus-build.patch        |   27 +++
 .../libxmlrpc/libxmlrpc-fix-non-wchar-build.patch  |   24 +++
 .../libxmlrpc-remove-curl-types-h-include.patch    |   43 +++++
 .../libxmlrpc-use-correct-curl-config.patch        |   22 +++
 package/libxmlrpc/libxmlrpc.mk                     |   44 +++++
 package/llrp-toolkit/Config.in                     |   11 ++
 .../llrp-toolkit-01-ltkcpp-fix-headers.patch       |   74 +++++++++
 ...toolkit-02-ltkcpp-generate-shared-library.patch |   43 +++++
 ...-toolkit-03-ltkcpp-normalize-build-system.patch |  174 ++++++++++++++++++++
 .../llrp-toolkit-04-ltkcpp-disable-warning.patch   |   43 +++++
 .../llrp-toolkit-05-ltkc-shared-library.patch      |   26 +++
 ...rp-toolkit-06-ltkc-normalize-build-system.patch |  163 ++++++++++++++++++
 package/llrp-toolkit/llrp-toolkit.mk               |   77 +++++++++
 package/monit/Config.in                            |   10 ++
 package/monit/monit.mk                             |   30 ++++
 package/pciutils/pciutils.mk                       |    8 +
 package/qextserialport/Config.in                   |    9 +
 .../qextserialport-main-include.patch              |   15 ++
 .../qextserialport-no-examples.patch               |   17 ++
 .../qextserialport/qextserialport-pkgconfig.patch  |   19 +++
 package/qextserialport/qextserialport.mk           |   35 ++++
 package/qt/qt.mk                                   |    3 +-
 34 files changed, 1164 insertions(+), 2 deletions(-)
 create mode 100644 package/dmidecode/Config.in
 create mode 100644 package/dmidecode/dmidecode-build-system-fixes.patch
 create mode 100644 package/dmidecode/dmidecode.mk
 create mode 100644 package/flashrom/Config.in
 create mode 100644 package/flashrom/flashrom.mk
 create mode 100644 package/libqwt/Config.in
 create mode 100644 package/libqwt/libqwt-remove-installed-check.patch
 create mode 100644 package/libqwt/libqwt.mk
 create mode 100644 package/libxmlrpc/Config.in
 create mode 100644 package/libxmlrpc/libxmlrpc-fix-gennmtab-build.patch
 create mode 100644 package/libxmlrpc/libxmlrpc-fix-non-cplusplus-build.patch
 create mode 100644 package/libxmlrpc/libxmlrpc-fix-non-wchar-build.patch
 create mode 100644 package/libxmlrpc/libxmlrpc-remove-curl-types-h-include.patch
 create mode 100644 package/libxmlrpc/libxmlrpc-use-correct-curl-config.patch
 create mode 100644 package/libxmlrpc/libxmlrpc.mk
 create mode 100644 package/llrp-toolkit/Config.in
 create mode 100644 package/llrp-toolkit/llrp-toolkit-01-ltkcpp-fix-headers.patch
 create mode 100644 package/llrp-toolkit/llrp-toolkit-02-ltkcpp-generate-shared-library.patch
 create mode 100644 package/llrp-toolkit/llrp-toolkit-03-ltkcpp-normalize-build-system.patch
 create mode 100644 package/llrp-toolkit/llrp-toolkit-04-ltkcpp-disable-warning.patch
 create mode 100644 package/llrp-toolkit/llrp-toolkit-05-ltkc-shared-library.patch
 create mode 100644 package/llrp-toolkit/llrp-toolkit-06-ltkc-normalize-build-system.patch
 create mode 100644 package/llrp-toolkit/llrp-toolkit.mk
 create mode 100644 package/monit/Config.in
 create mode 100644 package/monit/monit.mk
 create mode 100644 package/qextserialport/Config.in
 create mode 100644 package/qextserialport/qextserialport-main-include.patch
 create mode 100644 package/qextserialport/qextserialport-no-examples.patch
 create mode 100644 package/qextserialport/qextserialport-pkgconfig.patch
 create mode 100644 package/qextserialport/qextserialport.mk

Thanks,

Signature · 1 line
Thomas Petazzoni
#1 lore raw

PATCH 1/10 monit: new package

---
 package/Config.in       |    3 +++
 package/monit/Config.in |   10 ++++++++++
 package/monit/monit.mk  |   30 ++++++++++++++++++++++++++++++
 3 files changed, 43 insertions(+)
 create mode 100644 package/monit/Config.in
 create mode 100644 package/monit/monit.mk
package/Config.in +3 -0
index ca8fc96..61f3fec 100644
@@ -644,6 +644,9 @@ source "package/htop/Config.in"
 source "package/kmod/Config.in"
 if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
 source "package/module-init-tools/Config.in"
+endif
+source "package/monit/Config.in"
+if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
 source "package/procps/Config.in"
 source "package/psmisc/Config.in"
 source "package/rsyslog/Config.in"
package/monit/Config.in new file +10 -0
new file mode 100644
index 0000000..6933aaf
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_MONIT
+	bool "monit"
+	help
+	  Monit is a free open source utility for managing and
+	  monitoring, processes, programs, files, directories and
+	  filesystems on a UNIX system. Monit conducts automatic
+	  maintenance and repair and can execute meaningful causal
+	  actions in error situations.
+
+	  http://mmonit.com/monit/
package/monit/monit.mk new file +30 -0
new file mode 100644
index 0000000..958618d
@@ -0,0 +1,30 @@
+#############################################################
+#
+# monit
+#
+#############################################################
+
+MONIT_VERSION = 5.4
+MONIT_SITE = http://mmonit.com/monit/dist/
+
+MONIT_CONF_ENV = \
+	libmonit_cv_setjmp_available=yes \
+	libmonit_cv_vsnprintf_c99_conformant=yes
+
+MONIT_CONF_OPT += \
+	--without-pam
+
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+MONIT_CONF_OPT += --with-ssl
+MONIT_DEPENDENCIES += openssl
+else
+MONIT_CONF_OPT += --without-ssl
+endif
+
+ifeq ($(BR2_LARGEFILE),y)
+MONIT_CONF_OPT += --with-largefiles
+else
+MONIT_CONF_OPT += --without-largefiles
+endif
+
+$(eval $(call AUTOTARGETS))
Signature · 1 line
1.7.9.5
#2 lore raw

PATCH 1/10 monit: new package

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Thomas> Signed-off-by: Thomas Petazzoni <[email protected]>

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#3 lore raw

PATCH 2/10 libcurl: fix up prefix in curl-config

In reply to Thomas Petazzoni

While most packages that rely on libcurl use pkg-config, a few packages (such as libxmlrpc) still use curl-config. So we need to fix up the prefix locations in the curl-config script installed in STAGING_DIR.

---
 package/libcurl/libcurl.mk |    6 ++++++
 1 file changed, 6 insertions(+)
package/libcurl/libcurl.mk +6 -0
index e8f13bb..e43ff0f 100644
@@ -30,6 +30,12 @@ endef
 
 LIBCURL_POST_INSTALL_TARGET_HOOKS += LIBCURL_TARGET_CLEANUP
 
+define LIBCURL_STAGING_FIXUP_CURL_CONFIG
+	$(SED) "s,prefix=,prefix=$(STAGING_DIR)," $(STAGING_DIR)/usr/bin/curl-config
+endef
+
+LIBCURL_POST_INSTALL_STAGING_HOOKS += LIBCURL_STAGING_FIXUP_CURL_CONFIG
+
 $(eval $(call AUTOTARGETS))
 
 curl: libcurl
Signature · 1 line
1.7.9.5
#4 lore raw

PATCH 2/10 libcurl: fix up prefix in curl-config

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Thomas> While most packages that rely on libcurl use pkg-config, a few Thomas> packages (such as libxmlrpc) still use curl-config. So we need to fix Thomas> up the prefix locations in the curl-config script installed in Thomas> STAGING_DIR.

Thomas> Signed-off-by: Thomas Petazzoni <[email protected]> Thomas> ---

 Thomas>  package/libcurl/libcurl.mk |    6 ++++++

Thomas> 1 file changed, 6 insertions(+)

Thomas> diff --git a/package/libcurl/libcurl.mk b/package/libcurl/libcurl.mk Thomas> index e8f13bb..e43ff0f 100644
Thomas> --- a/package/libcurl/libcurl.mk
Thomas> +++ b/package/libcurl/libcurl.mk
Thomas> @@ -30,6 +30,12 @@ endef

Thomas> LIBCURL_POST_INSTALL_TARGET_HOOKS += LIBCURL_TARGET_CLEANUP

Thomas> +define LIBCURL_STAGING_FIXUP_CURL_CONFIG
Thomas> + $(SED) "s,prefix=,prefix=$(STAGING_DIR)," $(STAGING_DIR)/usr/bin/curl-config

For the other -config scripts we only replace if we match prefix=/usr to ensure things don't get screwed up if this step is ever ran more than once, so I fixed that - Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#5 lore raw

PATCH 3/10 libxmlrpc: new package

In reply to Thomas Petazzoni
---
 package/Config.in                                  |    1 +
 package/libxmlrpc/Config.in                        |   10 +++++
 .../libxmlrpc/libxmlrpc-fix-gennmtab-build.patch   |   25 +++++++++++
 .../libxmlrpc-fix-non-cplusplus-build.patch        |   27 ++++++++++++
 .../libxmlrpc/libxmlrpc-fix-non-wchar-build.patch  |   24 +++++++++++
 .../libxmlrpc-remove-curl-types-h-include.patch    |   43 +++++++++++++++++++
 .../libxmlrpc-use-correct-curl-config.patch        |   22 ++++++++++
 package/libxmlrpc/libxmlrpc.mk                     |   44 ++++++++++++++++++++
 8 files changed, 196 insertions(+)
 create mode 100644 package/libxmlrpc/Config.in
 create mode 100644 package/libxmlrpc/libxmlrpc-fix-gennmtab-build.patch
 create mode 100644 package/libxmlrpc/libxmlrpc-fix-non-cplusplus-build.patch
 create mode 100644 package/libxmlrpc/libxmlrpc-fix-non-wchar-build.patch
 create mode 100644 package/libxmlrpc/libxmlrpc-remove-curl-types-h-include.patch
 create mode 100644 package/libxmlrpc/libxmlrpc-use-correct-curl-config.patch
 create mode 100644 package/libxmlrpc/libxmlrpc.mk
package/Config.in +1 -0
index 61f3fec..044b59b 100644
@@ -468,6 +468,7 @@ source "package/json-c/Config.in"
 source "package/libroxml/Config.in"
 source "package/libxml-parser-perl/Config.in"
 source "package/libxml2/Config.in"
+source "package/libxmlrpc/Config.in"
 source "package/libxslt/Config.in"
 source "package/libyaml/Config.in"
 source "package/mxml/Config.in"
package/libxmlrpc/Config.in new file +10 -0
new file mode 100644
index 0000000..26e4a52
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_LIBXMLRPC
+	bool "libxmlrpc"
+	select BR2_PACKAGE_LIBCURL
+	help
+	  XML-RPC is a quick-and-easy way to make procedure calls over
+	  the Internet. It converts the procedure call into an XML
+	  document, sends it to a remote server using HTTP, and gets
+	  back the response as XML.
+
+	  http://xmlrpc-c.sourceforge.net/
package/libxmlrpc/libxmlrpc-fix-gennmtab-build.patch new file +25 -0
new file mode 100644
index 0000000..8cdd932
@@ -0,0 +1,25 @@
+Fix build of host tool
+
+genmtab is a tool that needs to be built for the host as it is used
+during the compilation process of libxmlrpc. Its Makefile needs a bit
+of tuning to use the conventional CC_FOR_BUILD, CFLAGS_FOR_BUILD and
+LDFLAGS_FOR_BUILD variables.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: b/lib/expat/gennmtab/Makefile
+===================================================================
+--- a/lib/expat/gennmtab/Makefile
++++ b/lib/expat/gennmtab/Makefile
+@@ -40,9 +40,9 @@
+ dep: dep-common
+ 
+ gennmtab.o:%.o:%.c
+-	$(BUILDTOOL_CC) -c $< -o $@ $(CFLAGS_ALL) $(INCLUDES)
++	$(CC_FOR_BUILD) -c $< -o $@ $(CFLAGS_FOR_BUILD) $(INCLUDES)
+ 
+ gennmtab:%:%.o
+-	$(BUILDTOOL_CCLD) -o $@ $(LDFLAGS) $^
++	$(CC_FOR_BUILD) -o $@ $(LDFLAGS_FOR_BUILD) $^
+ 
+ include depend.mk
package/libxmlrpc/libxmlrpc-fix-non-cplusplus-build.patch new file +27 -0
new file mode 100644
index 0000000..ed47ff7
@@ -0,0 +1,27 @@
+Handle builds without C++
+
+libxmlrpc nicely handles the fact of being built without C++ support,
+except for one location, fixed by this patch.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: b/lib/util/Makefile
+===================================================================
+--- a/lib/util/Makefile
++++ b/lib/util/Makefile
+@@ -36,11 +36,14 @@
+ LIBOBJS = \
+   casprintf.o \
+   cmdline_parser.o \
+-  cmdline_parser_cpp.o \
+   getoptx.o \
+   string_parser.o \
+   stripcaseeq.o \
+ 
++ifeq ($(ENABLE_CPLUSPLUS),yes)
++LIBOBJS += cmdline_parser_cpp.o
++endif
++
+ .PHONY: all
+ all: $(LIBOBJS)
+ 
package/libxmlrpc/libxmlrpc-fix-non-wchar-build.patch new file +24 -0
new file mode 100644
index 0000000..7df1fc8
@@ -0,0 +1,24 @@
+Disable wide-char specific code
+
+The vast majority of the libxmlrpc code nicely handles the absence of
+wide char support, except at one location, which is fixed by this
+patch.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: b/src/xmlrpc_decompose.c
+===================================================================
+--- a/src/xmlrpc_decompose.c
++++ b/src/xmlrpc_decompose.c
+@@ -221,7 +221,11 @@
+         xmlrpc_strfree(*decompRootP->store.Tstring.valueP);
+         break;
+     case 'w':
++#if HAVE_UNICODE_WCHAR
+         free((void*)*decompRootP->store.TwideString.valueP);
++#else
++	XMLRPC_ASSERT(false);
++#endif
+         break;
+     case '6':
+         free((void*)*decompRootP->store.TbitString.valueP);
package/libxmlrpc/libxmlrpc-remove-curl-types-h-include.patch new file +43 -0

43 lines not on this page · raw message

package/libxmlrpc/libxmlrpc-use-correct-curl-config.patch new file +22 -0
new file mode 100644
index 0000000..55b72a1
@@ -0,0 +1,22 @@
+Use correct curl-config program
+
+Instead of calling again curl-config in src/Makefile (which ends up
+calling the wrong curl-config: the one in the PATH instead of the one
+pointed at by the environment variables at configure time), let's use
+the CURL_LDADD variable which was computed at configure time.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: b/src/Makefile
+===================================================================
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -56,7 +56,7 @@
+   TRANSPORT_MODS += $(BLDDIR)/lib/curl_transport/curltransaction
+   TRANSPORT_MODS += $(BLDDIR)/lib/curl_transport/curlmulti
+   TRANSPORT_MODS += $(BLDDIR)/lib/curl_transport/lock_pthread
+-  TRANSPORT_LIBDEP += $(shell curl-config --libs)
++  TRANSPORT_LIBDEP += $(CURL_LDADD)
+ endif
+ ifeq ($(MUST_BUILD_LIBWWW_CLIENT),yes)
+   TRANSPORT_MODS += $(BLDDIR)/lib/libwww_transport/xmlrpc_libwww_transport
package/libxmlrpc/libxmlrpc.mk new file +44 -0

44 lines not on this page · raw message

Signature · 1 line
1.7.9.5
#6 lore raw

PATCH 3/10 libxmlrpc: new package

package/libxmlrpc/libxmlrpc.mk

Quoted 3 lines · Thomas Petazzoni
package/libxmlrpc/libxmlrpc.mk new file +3 -0
+LIBXMLRPC_VERSION = 1.18.05
+LIBXMLRPC_SOURCE = xmlrpc-c-$(LIBXMLRPC_VERSION).tgz
+LIBXMLRPC_SITE ="http://xmlrpc-c.svn.sourceforge.net/viewvc/xmlrpc-c/advanced/?view=tar&pathrev=1716"

It's a bit strange to use a three-year-old unstable version...
From the website:

Latest Tarballs
Series Number
Development unnumbered
Advanced 1.30.06
Stable 1.25.16
Super Stable 1.16.41

[snip]

package/libxmlrpc/libxmlrpc.mk line 44

Quoted 8 lines
package/libxmlrpc/libxmlrpc.mk new file +8 -0
+# Override the download step since we don't have the normal
+# site/source split (where site is the URL of the directory and source
+# is the name of the tarball file).
+$(LIBXMLRPC_DIR)/.stamp_downloaded:
+    $(Q)$(call MESSAGE,"Downloading")
+    $(call DOWNLOAD,$(LIBXMLRPC_SITE),$(LIBXMLRPC_SOURCE))
+    $(Q)mkdir -p $(@D)
+    $(Q)touch $@

A simpler solution would be to just use the svn download method, from
https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/stable/

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#7 lore raw

PATCH 1/1 libxmlrpc: new package

From: Alvaro G. M. <[email protected]>

---

I recovered an old patch from Thomas (http://lists.busybox.net/pipermail/buildroot/2012-June/054467.html)
and upgraded it to the stable version of xml-rpc-c.
Some of the original patches are not needed on this version, so I've mostly just deleted a patch files, upgraded download address and version and modified patch offsets so they apply without any warning.

 package/Config.in                                  |  1 +
 package/libxmlrpc/Config.in                        | 10 +++++++
 .../libxmlrpc/libxmlrpc-fix-gennmtab-build.patch   | 25 ++++++++++++++++
 .../libxmlrpc-fix-non-cplusplus-build.patch        | 27 +++++++++++++++++
 .../libxmlrpc/libxmlrpc-fix-non-wchar-build.patch  | 24 +++++++++++++++
 .../libxmlrpc-use-correct-curl-config.patch        | 22 ++++++++++++++
 package/libxmlrpc/libxmlrpc.mk                     | 34 ++++++++++++++++++++++
 7 files changed, 143 insertions(+)
 create mode 100644 package/libxmlrpc/Config.in
 create mode 100644 package/libxmlrpc/libxmlrpc-fix-gennmtab-build.patch
 create mode 100644 package/libxmlrpc/libxmlrpc-fix-non-cplusplus-build.patch
 create mode 100644 package/libxmlrpc/libxmlrpc-fix-non-wchar-build.patch
 create mode 100644 package/libxmlrpc/libxmlrpc-use-correct-curl-config.patch
 create mode 100644 package/libxmlrpc/libxmlrpc.mk
package/Config.in +1 -0
index 9aa9d81..3c44f67 100644
@@ -727,6 +727,7 @@ source "package/libjson/Config.in"
 source "package/libroxml/Config.in"
 source "package/libxml-parser-perl/Config.in"
 source "package/libxml2/Config.in"
+source "package/libxmlrpc/Config.in"
 source "package/libxmlpp/Config.in"
 source "package/libxslt/Config.in"
 source "package/libyaml/Config.in"
package/libxmlrpc/Config.in new file +10 -0
new file mode 100644
index 0000000..26e4a52
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_LIBXMLRPC
+	bool "libxmlrpc"
+	select BR2_PACKAGE_LIBCURL
+	help
+	  XML-RPC is a quick-and-easy way to make procedure calls over
+	  the Internet. It converts the procedure call into an XML
+	  document, sends it to a remote server using HTTP, and gets
+	  back the response as XML.
+
+	  http://xmlrpc-c.sourceforge.net/
package/libxmlrpc/libxmlrpc-fix-gennmtab-build.patch new file +25 -0
new file mode 100644
index 0000000..8cdd932
@@ -0,0 +1,25 @@
+Fix build of host tool
+
+genmtab is a tool that needs to be built for the host as it is used
+during the compilation process of libxmlrpc. Its Makefile needs a bit
+of tuning to use the conventional CC_FOR_BUILD, CFLAGS_FOR_BUILD and
+LDFLAGS_FOR_BUILD variables.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: b/lib/expat/gennmtab/Makefile
+===================================================================
+--- a/lib/expat/gennmtab/Makefile
++++ b/lib/expat/gennmtab/Makefile
+@@ -40,9 +40,9 @@
+ dep: dep-common
+ 
+ gennmtab.o:%.o:%.c
+-	$(BUILDTOOL_CC) -c $< -o $@ $(CFLAGS_ALL) $(INCLUDES)
++	$(CC_FOR_BUILD) -c $< -o $@ $(CFLAGS_FOR_BUILD) $(INCLUDES)
+ 
+ gennmtab:%:%.o
+-	$(BUILDTOOL_CCLD) -o $@ $(LDFLAGS) $^
++	$(CC_FOR_BUILD) -o $@ $(LDFLAGS_FOR_BUILD) $^
+ 
+ include depend.mk
package/libxmlrpc/libxmlrpc-fix-non-cplusplus-build.patch new file +27 -0
new file mode 100644
index 0000000..efeb9cc
@@ -0,0 +1,27 @@
+Handle builds without C++
+
+libxmlrpc nicely handles the fact of being built without C++ support,
+except for one location, fixed by this patch.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: b/lib/util/Makefile
+===================================================================
+--- a/lib/util/Makefile
++++ b/lib/util/Makefile
+@@ -41,11 +41,14 @@
+ LIBOBJS = \
+   casprintf.o \
+   cmdline_parser.o \
+-  cmdline_parser_cpp.o \
+   getoptx.o \
+   string_parser.o \
+   stripcaseeq.o \
+ 
++ifeq ($(ENABLE_CPLUSPLUS),yes)
++LIBOBJS += cmdline_parser_cpp.o
++endif
++
+ .PHONY: all
+ all: $(LIBOBJS)
+ 
package/libxmlrpc/libxmlrpc-fix-non-wchar-build.patch new file +24 -0
new file mode 100644
index 0000000..1f04353
@@ -0,0 +1,24 @@
+Disable wide-char specific code
+
+The vast majority of the libxmlrpc code nicely handles the absence of
+wide char support, except at one location, which is fixed by this
+patch.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: b/src/xmlrpc_decompose.c
+===================================================================
+--- a/src/xmlrpc_decompose.c
++++ b/src/xmlrpc_decompose.c
+@@ -217,7 +217,11 @@
+         xmlrpc_strfree(*decompRootP->store.Tstring.valueP);
+         break;
+     case 'w':
++#if HAVE_UNICODE_WCHAR
+         free((void*)*decompRootP->store.TwideString.valueP);
++#else
++	XMLRPC_ASSERT(false);
++#endif
+         break;
+     case '6':
+         free((void*)*decompRootP->store.TbitString.valueP);
package/libxmlrpc/libxmlrpc-use-correct-curl-config.patch new file +22 -0
new file mode 100644
index 0000000..ada0bd2
@@ -0,0 +1,22 @@
+Use correct curl-config program
+
+Instead of calling again curl-config in src/Makefile (which ends up
+calling the wrong curl-config: the one in the PATH instead of the one
+pointed at by the environment variables at configure time), let's use
+the CURL_LDADD variable which was computed at configure time.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: b/src/Makefile
+===================================================================
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -56,7 +56,7 @@
+   TRANSPORT_MODS += blddir/lib/curl_transport/curltransaction
+   TRANSPORT_MODS += blddir/lib/curl_transport/curlmulti
+   TRANSPORT_MODS += blddir/lib/curl_transport/lock_pthread
+-  TRANSPORT_LIBDEP += $(shell curl-config --libs)
++  TRANSPORT_LIBDEP += $(CURL_LDADD)
+ endif
+ ifeq ($(MUST_BUILD_LIBWWW_CLIENT),yes)
+   TRANSPORT_MODS += blddir/lib/libwww_transport/xmlrpc_libwww_transport
package/libxmlrpc/libxmlrpc.mk new file +34 -0
new file mode 100644
index 0000000..ef41041
@@ -0,0 +1,34 @@
+#############################################################
+#
+# libxmlrpc
+#
+#############################################################
+LIBXMLRPC_VERSION = 1.25.26
+LIBXMLRPC_SOURCE = xmlrpc-c-$(LIBXMLRPC_VERSION).tgz
+LIBXMLRPC_SITE = "http://downloads.sourceforge.net/project/xmlrpc-c/Xmlrpc-c%20Super%20Stable/1.25.26"
+LIBXMLRPC_INSTALL_STAGING = YES
+LIBXMLRPC_DEPENDENCIES = libcurl
+
+LIBXMLRPC_CONF_OPT = \
+	$(if $(BR2_USE_WCHAR),,ac_cv_header_wchar_h=no) \
+	$(if $(BR2_INSTALL_LIBSTDCPP),,--disable-cplusplus) \
+	have_curl_config=$(STAGING_DIR)/usr/bin/curl-config \
+	CURL_CONFIG=$(STAGING_DIR)/usr/bin/curl-config
+
+# Our package uses autoconf, but not automake, so we need to pass
+# those variables at compile time as well.
+LIBXMLRPC_MAKE_ENV = \
+	CC_FOR_BUILD="$(HOSTCC)" \
+	LD_FOR_BUILD="$(HOSTLD)" \
+	CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \
+	LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)"
+
+define LIBXMLRPC_REMOVE_DEVFILE
+	$(RM) $(TARGET_DIR)/usr/bin/xmlrpc-c-config
+endef
+
+ifeq ($(BR2_HAVE_DEVFILES),)
+LIBXMLRPC_POST_INSTALL_TARGET_HOOKS += LIBXMLRPC_REMOVE_DEVFILE
+endif
+
+$(eval $(autotools-package))
Signature · 1 line
1.8.4.rc3
#8 lore raw

PATCH 1/1 libxmlrpc: new package

Dear Alvaro G. M,

Quoted 12 lines · Alvaro G. M

From: Alvaro G. M. <[email protected]>

---

I recovered an old patch from Thomas (http://lists.busybox.net/pipermail/buildroot/2012-June/054467.html)
and upgraded it to the stable version of xml-rpc-c.
Some of the original patches are not needed on this version, so I've mostly just deleted a patch files, upgraded download address and version and modified patch offsets so they apply without any warning.

Quoted 6 lines
 package/Config.in                                  |  1 +
 package/libxmlrpc/Config.in                        | 10 +++++++
 .../libxmlrpc/libxmlrpc-fix-gennmtab-build.patch   | 25 ++++++++++++++++
 .../libxmlrpc-fix-non-cplusplus-build.patch        | 27 +++++++++++++++++
 .../libxmlrpc/libxmlrpc-fix-non-wchar-build.patch  | 24 +++++++++++++++
 .../libxmlrpc-use-correct-curl-config.patch        | 22 ++++++++++++++

It would be good to use a number in the patch file names, such as:

libxmlrpc-01-<something>.patch
libxmlrpc-02-<somethingelse>.patch

package/libxmlrpc/libxmlrpc.mk line 1

Quoted 6 lines

new file mode 100644
index 0000000..ef41041

package/libxmlrpc/libxmlrpc.mk new file +1 -0
@@ -0,0 +1,34 @@
+#############################################################

Those lines should have 80 #

package/libxmlrpc/libxmlrpc.mk line 5

Quoted 4 lines
package/libxmlrpc/libxmlrpc.mk new file +4 -0
+#
+# libxmlrpc
+#
+#############################################################

One empty line between the header and the first variable.

package/libxmlrpc/libxmlrpc.mk line 10

Quoted 5 lines
package/libxmlrpc/libxmlrpc.mk new file +5 -0
+LIBXMLRPC_VERSION = 1.25.26
+LIBXMLRPC_SOURCE = xmlrpc-c-$(LIBXMLRPC_VERSION).tgz
+LIBXMLRPC_SITE = "http://downloads.sourceforge.net/project/xmlrpc-c/Xmlrpc-c%20Super%20Stable/1.25.26"
+LIBXMLRPC_INSTALL_STAGING = YES
+LIBXMLRPC_DEPENDENCIES = libcurl

Can you add LIBXMLRPC_LICENSE and LIBXMLRPC_LICENSE_FILES ?

Quoted 7 lines
package/libxmlrpc/libxmlrpc.mk new file +7 -0
+LIBXMLRPC_CONF_OPT = \
+	$(if $(BR2_USE_WCHAR),,ac_cv_header_wchar_h=no) \
+	$(if $(BR2_INSTALL_LIBSTDCPP),,--disable-cplusplus) \
+	have_curl_config=$(STAGING_DIR)/usr/bin/curl-config \
+	CURL_CONFIG=$(STAGING_DIR)/usr/bin/curl-config
+
+# Our package uses autoconf, but not automake, so we need to pass

package/libxmlrpc/libxmlrpc.mk line 28

Quoted 10 lines
package/libxmlrpc/libxmlrpc.mk new file +10 -0
+# those variables at compile time as well.
+LIBXMLRPC_MAKE_ENV = \
+	CC_FOR_BUILD="$(HOSTCC)" \
+	LD_FOR_BUILD="$(HOSTLD)" \
+	CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \
+	LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)"
+
+define LIBXMLRPC_REMOVE_DEVFILE
+	$(RM) $(TARGET_DIR)/usr/bin/xmlrpc-c-config
+endef

Hum, maybe this should use the <pkg>_CONFIG_SCRIPTS mechanism instead (if xmlrpc-c-config is a shell script).

package/libxmlrpc/libxmlrpc.mk line 34

Quoted 6 lines
package/libxmlrpc/libxmlrpc.mk new file +6 -0
+
+ifeq ($(BR2_HAVE_DEVFILES),)
+LIBXMLRPC_POST_INSTALL_TARGET_HOOKS += LIBXMLRPC_REMOVE_DEVFILE
+endif
+
+$(eval $(autotools-package))

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#9 lore raw

PATCH 1/1 libxmlrpc: new package

Hi!

2013/10/9 Thomas Petazzoni <[email protected]>

Quoted 5 lines

It would be good to use a number in the patch file names, such as:

libxmlrpc-01-<something>.patch
libxmlrpc-02-<somethingelse>.patch

In this case, the order doesn't matter, but will do anyway

Quoted 1 line

+#############################################################

Those lines should have 80 #

Quoted 1 line

Done.

Quoted 2 lines

One empty line between the header and the first variable.

And done.

Quoted 2 lines

Can you add LIBXMLRPC_LICENSE and LIBXMLRPC_LICENSE_FILES ?

Done, although it's not perfect, there are three different licenses, two of them bsd like... it's a bit confusing.

Quoted 7 lines

package/libxmlrpc/libxmlrpc.mk line 28

Quoted 3 lines
package/libxmlrpc/libxmlrpc.mk new file +3 -0
+define LIBXMLRPC_REMOVE_DEVFILE
+     $(RM) $(TARGET_DIR)/usr/bin/xmlrpc-c-config
+endef

Hum, maybe this should use the <pkg>_CONFIG_SCRIPTS mechanism instead (if xmlrpc-c-config is a shell script).

Yes, it is much cleaner now.

I'm sending the new patch right now

Signature · 4 lines
?lvaro G?mez Machado
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20131009/0ecef81e/attachment-0001.html>
#10 lore raw

PATCH 1/1 libxmlrpc: new package

---
 package/Config.in                                  |  1 +
 package/libxmlrpc/Config.in                        | 10 ++++++++
 .../libxmlrpc-01-fix-gennmtab-build.patch          | 25 ++++++++++++++++++
 .../libxmlrpc-02-fix-non-cplusplus-build.patch     | 27 +++++++++++++++++++
 .../libxmlrpc/libxmlrpc-03-non-wchar-build.patch   | 24 +++++++++++++++++
 .../libxmlrpc-04-use-correct-curl-config.patch     | 22 ++++++++++++++++
 package/libxmlrpc/libxmlrpc.mk                     | 30 ++++++++++++++++++++++
 7 files changed, 139 insertions(+)
 create mode 100644 package/libxmlrpc/Config.in
 create mode 100644 package/libxmlrpc/libxmlrpc-01-fix-gennmtab-build.patch
 create mode 100644 package/libxmlrpc/libxmlrpc-02-fix-non-cplusplus-build.patch
 create mode 100644 package/libxmlrpc/libxmlrpc-03-non-wchar-build.patch
 create mode 100644 package/libxmlrpc/libxmlrpc-04-use-correct-curl-config.patch
 create mode 100644 package/libxmlrpc/libxmlrpc.mk
package/Config.in +1 -0
index 9aa9d81..3c44f67 100644
@@ -727,6 +727,7 @@ source "package/libjson/Config.in"
 source "package/libroxml/Config.in"
 source "package/libxml-parser-perl/Config.in"
 source "package/libxml2/Config.in"
+source "package/libxmlrpc/Config.in"
 source "package/libxmlpp/Config.in"
 source "package/libxslt/Config.in"
 source "package/libyaml/Config.in"
package/libxmlrpc/Config.in new file +10 -0
new file mode 100644
index 0000000..26e4a52
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_LIBXMLRPC
+	bool "libxmlrpc"
+	select BR2_PACKAGE_LIBCURL
+	help
+	  XML-RPC is a quick-and-easy way to make procedure calls over
+	  the Internet. It converts the procedure call into an XML
+	  document, sends it to a remote server using HTTP, and gets
+	  back the response as XML.
+
+	  http://xmlrpc-c.sourceforge.net/
package/libxmlrpc/libxmlrpc-01-fix-gennmtab-build.patch new file +25 -0
new file mode 100644
index 0000000..8cdd932
@@ -0,0 +1,25 @@
+Fix build of host tool
+
+genmtab is a tool that needs to be built for the host as it is used
+during the compilation process of libxmlrpc. Its Makefile needs a bit
+of tuning to use the conventional CC_FOR_BUILD, CFLAGS_FOR_BUILD and
+LDFLAGS_FOR_BUILD variables.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: b/lib/expat/gennmtab/Makefile
+===================================================================
+--- a/lib/expat/gennmtab/Makefile
++++ b/lib/expat/gennmtab/Makefile
+@@ -40,9 +40,9 @@
+ dep: dep-common
+ 
+ gennmtab.o:%.o:%.c
+-	$(BUILDTOOL_CC) -c $< -o $@ $(CFLAGS_ALL) $(INCLUDES)
++	$(CC_FOR_BUILD) -c $< -o $@ $(CFLAGS_FOR_BUILD) $(INCLUDES)
+ 
+ gennmtab:%:%.o
+-	$(BUILDTOOL_CCLD) -o $@ $(LDFLAGS) $^
++	$(CC_FOR_BUILD) -o $@ $(LDFLAGS_FOR_BUILD) $^
+ 
+ include depend.mk
package/libxmlrpc/libxmlrpc-02-fix-non-cplusplus-build.patch new file +27 -0
new file mode 100644
index 0000000..efeb9cc
@@ -0,0 +1,27 @@
+Handle builds without C++
+
+libxmlrpc nicely handles the fact of being built without C++ support,
+except for one location, fixed by this patch.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: b/lib/util/Makefile
+===================================================================
+--- a/lib/util/Makefile
++++ b/lib/util/Makefile
+@@ -41,11 +41,14 @@
+ LIBOBJS = \
+   casprintf.o \
+   cmdline_parser.o \
+-  cmdline_parser_cpp.o \
+   getoptx.o \
+   string_parser.o \
+   stripcaseeq.o \
+ 
++ifeq ($(ENABLE_CPLUSPLUS),yes)
++LIBOBJS += cmdline_parser_cpp.o
++endif
++
+ .PHONY: all
+ all: $(LIBOBJS)
+ 
package/libxmlrpc/libxmlrpc-03-non-wchar-build.patch new file +24 -0
new file mode 100644
index 0000000..1f04353
@@ -0,0 +1,24 @@
+Disable wide-char specific code
+
+The vast majority of the libxmlrpc code nicely handles the absence of
+wide char support, except at one location, which is fixed by this
+patch.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: b/src/xmlrpc_decompose.c
+===================================================================
+--- a/src/xmlrpc_decompose.c
++++ b/src/xmlrpc_decompose.c
+@@ -217,7 +217,11 @@
+         xmlrpc_strfree(*decompRootP->store.Tstring.valueP);
+         break;
+     case 'w':
++#if HAVE_UNICODE_WCHAR
+         free((void*)*decompRootP->store.TwideString.valueP);
++#else
++	XMLRPC_ASSERT(false);
++#endif
+         break;
+     case '6':
+         free((void*)*decompRootP->store.TbitString.valueP);
package/libxmlrpc/libxmlrpc-04-use-correct-curl-config.patch new file +22 -0
new file mode 100644
index 0000000..ada0bd2
@@ -0,0 +1,22 @@
+Use correct curl-config program
+
+Instead of calling again curl-config in src/Makefile (which ends up
+calling the wrong curl-config: the one in the PATH instead of the one
+pointed at by the environment variables at configure time), let's use
+the CURL_LDADD variable which was computed at configure time.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: b/src/Makefile
+===================================================================
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -56,7 +56,7 @@
+   TRANSPORT_MODS += blddir/lib/curl_transport/curltransaction
+   TRANSPORT_MODS += blddir/lib/curl_transport/curlmulti
+   TRANSPORT_MODS += blddir/lib/curl_transport/lock_pthread
+-  TRANSPORT_LIBDEP += $(shell curl-config --libs)
++  TRANSPORT_LIBDEP += $(CURL_LDADD)
+ endif
+ ifeq ($(MUST_BUILD_LIBWWW_CLIENT),yes)
+   TRANSPORT_MODS += blddir/lib/libwww_transport/xmlrpc_libwww_transport
package/libxmlrpc/libxmlrpc.mk new file +30 -0
new file mode 100644
index 0000000..956dae9
@@ -0,0 +1,30 @@
+################################################################################
+#
+# libxmlrpc
+#
+################################################################################
+
+LIBXMLRPC_VERSION = 1.25.26
+LIBXMLRPC_SOURCE = xmlrpc-c-$(LIBXMLRPC_VERSION).tgz
+LIBXMLRPC_SITE = "http://downloads.sourceforge.net/project/xmlrpc-c/Xmlrpc-c%20Super%20Stable/1.25.26"
+LIBXMLRPC_LICENSE = BSD-like, Expat, Python 1.5.2 License
+LIBXMLRPC_LICENSE_FILES = doc/COPYING
+LIBXMLRPC_INSTALL_STAGING = YES
+LIBXMLRPC_DEPENDENCIES = libcurl
+LIBXMLRPC_CONFIG_SCRIPTS = xmlrpc-c-config
+
+LIBXMLRPC_CONF_OPT = \
+	$(if $(BR2_USE_WCHAR),,ac_cv_header_wchar_h=no) \
+	$(if $(BR2_INSTALL_LIBSTDCPP),,--disable-cplusplus) \
+	have_curl_config=$(STAGING_DIR)/usr/bin/curl-config \
+	CURL_CONFIG=$(STAGING_DIR)/usr/bin/curl-config
+
+# Our package uses autoconf, but not automake, so we need to pass
+# those variables at compile time as well.
+LIBXMLRPC_MAKE_ENV = \
+	CC_FOR_BUILD="$(HOSTCC)" \
+	LD_FOR_BUILD="$(HOSTLD)" \
+	CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \
+	LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)"
+
+$(eval $(autotools-package))
Signature · 1 line
1.8.4.rc3
#11 lore raw

PATCH 1/1 libxmlrpc: new package

Hi Alvaro,

Quoted 17 lines · Alvaro G. M
---
 package/Config.in                                  |  1 +
 package/libxmlrpc/Config.in                        | 10 ++++++++
 .../libxmlrpc-01-fix-gennmtab-build.patch          | 25 ++++++++++++++++++
 .../libxmlrpc-02-fix-non-cplusplus-build.patch     | 27 +++++++++++++++++++
 .../libxmlrpc/libxmlrpc-03-non-wchar-build.patch   | 24 +++++++++++++++++
 .../libxmlrpc-04-use-correct-curl-config.patch     | 22 ++++++++++++++++
 package/libxmlrpc/libxmlrpc.mk                     | 30 ++++++++++++++++++++++
 7 files changed, 139 insertions(+)
 create mode 100644 package/libxmlrpc/Config.in
 create mode 100644 package/libxmlrpc/libxmlrpc-01-fix-gennmtab-build.patch
 create mode 100644 package/libxmlrpc/libxmlrpc-02-fix-non-cplusplus-build.patch
 create mode 100644 package/libxmlrpc/libxmlrpc-03-non-wchar-build.patch
 create mode 100644 package/libxmlrpc/libxmlrpc-04-use-correct-curl-config.patch
 create mode 100644 package/libxmlrpc/libxmlrpc.mk

We have had a long discussion on two buildroot developer days about the format of the number in patch names. I thought we had decided to use a four-digit format to correspond to the patches generated with git. So this should be 0001, 0002, etc.
However, this may be mis-remembered by me, so I'm including some of the people involved in that discussion to this mail...

package/Config.in source "package/libjson/Config.in" · line 731

Quoted 11 lines
package/Config.in +1 -0
index 9aa9d81..3c44f67 100644
@@ -727,6 +727,7 @@ source "package/libjson/Config.in"
 source "package/libroxml/Config.in"
 source "package/libxml-parser-perl/Config.in"
 source "package/libxml2/Config.in"
+source "package/libxmlrpc/Config.in"
 source "package/libxmlpp/Config.in"

This alphabetical order is not correct, libxmlrpc should come after libxmlpp.

Quoted 146 lines
package/Config.in +0 -0
 source "package/libxslt/Config.in"
 source "package/libyaml/Config.in"
package/libxmlrpc/Config.in new file +10 -0
new file mode 100644
index 0000000..26e4a52
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_LIBXMLRPC
+       bool "libxmlrpc"
+       select BR2_PACKAGE_LIBCURL
+       help
+         XML-RPC is a quick-and-easy way to make procedure calls over
+         the Internet. It converts the procedure call into an XML
+         document, sends it to a remote server using HTTP, and gets
+         back the response as XML.
+
+         http://xmlrpc-c.sourceforge.net/
package/libxmlrpc/libxmlrpc-01-fix-gennmtab-build.patch new file +25 -0
new file mode 100644
index 0000000..8cdd932
@@ -0,0 +1,25 @@
+Fix build of host tool
+
+genmtab is a tool that needs to be built for the host as it is used
+during the compilation process of libxmlrpc. Its Makefile needs a bit
+of tuning to use the conventional CC_FOR_BUILD, CFLAGS_FOR_BUILD and
+LDFLAGS_FOR_BUILD variables.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: b/lib/expat/gennmtab/Makefile
+===================================================================
+--- a/lib/expat/gennmtab/Makefile
++++ b/lib/expat/gennmtab/Makefile
+@@ -40,9 +40,9 @@
+ dep: dep-common
+
+ gennmtab.o:%.o:%.c
+-      $(BUILDTOOL_CC) -c $< -o $@ $(CFLAGS_ALL) $(INCLUDES)
++      $(CC_FOR_BUILD) -c $< -o $@ $(CFLAGS_FOR_BUILD) $(INCLUDES)
+
+ gennmtab:%:%.o
+-      $(BUILDTOOL_CCLD) -o $@ $(LDFLAGS) $^
++      $(CC_FOR_BUILD) -o $@ $(LDFLAGS_FOR_BUILD) $^
+
+ include depend.mk
package/libxmlrpc/libxmlrpc-02-fix-non-cplusplus-build.patch new file +27 -0
new file mode 100644
index 0000000..efeb9cc
@@ -0,0 +1,27 @@
+Handle builds without C++
+
+libxmlrpc nicely handles the fact of being built without C++ support,
+except for one location, fixed by this patch.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: b/lib/util/Makefile
+===================================================================
+--- a/lib/util/Makefile
++++ b/lib/util/Makefile
+@@ -41,11 +41,14 @@
+ LIBOBJS = \
+   casprintf.o \
+   cmdline_parser.o \
+-  cmdline_parser_cpp.o \
+   getoptx.o \
+   string_parser.o \
+   stripcaseeq.o \
+
++ifeq ($(ENABLE_CPLUSPLUS),yes)
++LIBOBJS += cmdline_parser_cpp.o
++endif
++
+ .PHONY: all
+ all: $(LIBOBJS)
+
package/libxmlrpc/libxmlrpc-03-non-wchar-build.patch new file +24 -0
new file mode 100644
index 0000000..1f04353
@@ -0,0 +1,24 @@
+Disable wide-char specific code
+
+The vast majority of the libxmlrpc code nicely handles the absence of
+wide char support, except at one location, which is fixed by this
+patch.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: b/src/xmlrpc_decompose.c
+===================================================================
+--- a/src/xmlrpc_decompose.c
++++ b/src/xmlrpc_decompose.c
+@@ -217,7 +217,11 @@
+         xmlrpc_strfree(*decompRootP->store.Tstring.valueP);
+         break;
+     case 'w':
++#if HAVE_UNICODE_WCHAR
+         free((void*)*decompRootP->store.TwideString.valueP);
++#else
++      XMLRPC_ASSERT(false);
++#endif
+         break;
+     case '6':
+         free((void*)*decompRootP->store.TbitString.valueP);
package/libxmlrpc/libxmlrpc-04-use-correct-curl-config.patch new file +22 -0
new file mode 100644
index 0000000..ada0bd2
@@ -0,0 +1,22 @@
+Use correct curl-config program
+
+Instead of calling again curl-config in src/Makefile (which ends up
+calling the wrong curl-config: the one in the PATH instead of the one
+pointed at by the environment variables at configure time), let's use
+the CURL_LDADD variable which was computed at configure time.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: b/src/Makefile
+===================================================================
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -56,7 +56,7 @@
+   TRANSPORT_MODS += blddir/lib/curl_transport/curltransaction
+   TRANSPORT_MODS += blddir/lib/curl_transport/curlmulti
+   TRANSPORT_MODS += blddir/lib/curl_transport/lock_pthread
+-  TRANSPORT_LIBDEP += $(shell curl-config --libs)
++  TRANSPORT_LIBDEP += $(CURL_LDADD)
+ endif
+ ifeq ($(MUST_BUILD_LIBWWW_CLIENT),yes)
+   TRANSPORT_MODS += blddir/lib/libwww_transport/xmlrpc_libwww_transport
package/libxmlrpc/libxmlrpc.mk new file +0 -0
new file mode 100644
index 0000000..956dae9

package/libxmlrpc/libxmlrpc.mk line 9

Quoted 9 lines
package/libxmlrpc/libxmlrpc.mk new file +9 -0
@@ -0,0 +1,30 @@
+################################################################################
+#
+# libxmlrpc
+#
+################################################################################
+
+LIBXMLRPC_VERSION = 1.25.26
+LIBXMLRPC_SOURCE = xmlrpc-c-$(LIBXMLRPC_VERSION).tgz
+LIBXMLRPC_SITE = "http://downloads.sourceforge.net/project/xmlrpc-c/Xmlrpc-c%20Super%20Stable/1.25.26"

Why are there quotes around the URL?

package/libxmlrpc/libxmlrpc.mk line 11

Quoted 2 lines
package/libxmlrpc/libxmlrpc.mk new file +2 -0
+LIBXMLRPC_LICENSE = BSD-like, Expat, Python 1.5.2 License
+LIBXMLRPC_LICENSE_FILES = doc/COPYING

Are these three licenses used on identifyable parts of libxmlrpc, such that you could be more specific, like
BSD-like (partA), Expat (partB) etc.?

Also, what exactly do you mean with BSD-like? Is it possible to map onto one of the standard strings specified in
http://buildroot.uclibc.org/downloads/manual/manual.html#legal-info-list-licenses
?

And finally, if there are three licenses, I'd expect three license files, unless the file doc/COPYING accumulates the license texts of all three licenses. Can you confirm?

Quoted 10 lines
package/libxmlrpc/libxmlrpc.mk new file +10 -0
+LIBXMLRPC_INSTALL_STAGING = YES
+LIBXMLRPC_DEPENDENCIES = libcurl
+LIBXMLRPC_CONFIG_SCRIPTS = xmlrpc-c-config
+
+LIBXMLRPC_CONF_OPT = \
+       $(if $(BR2_USE_WCHAR),,ac_cv_header_wchar_h=no) \
+       $(if $(BR2_INSTALL_LIBSTDCPP),,--disable-cplusplus) \
+       have_curl_config=$(STAGING_DIR)/usr/bin/curl-config \
+       CURL_CONFIG=$(STAGING_DIR)/usr/bin/curl-config
+

package/libxmlrpc/libxmlrpc.mk

Quoted 10 lines
package/libxmlrpc/libxmlrpc.mk new file +9 -1
+# Our package uses autoconf, but not automake, so we need to pass
+# those variables at compile time as well.
+LIBXMLRPC_MAKE_ENV = \
+       CC_FOR_BUILD="$(HOSTCC)" \
+       LD_FOR_BUILD="$(HOSTLD)" \
+       CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \
+       LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)"
+
+$(eval $(autotools-package))
--

Best regards,
Thomas

#12 lore raw

PATCH 1/1 libxmlrpc: new package

Hi Thomas,

2013/10/9 Thomas De Schampheleire <[email protected]>

Quoted 7 lines

We have had a long discussion on two buildroot developer days about the format of the number in patch names. I thought we had decided to use a four-digit format to correspond to the patches generated with git. So this should be 0001, 0002, etc.
However, this may be mis-remembered by me, so I'm including some of the people involved in that discussion to this mail...

Sorry, I didn't read that. Whatever has been decided is fine.

Quoted 15 lines

package/Config.in source "package/libjson/Config.in" · line 731

Quoted 11 lines
package/Config.in +1 -0
index 9aa9d81..3c44f67 100644
@@ -727,6 +727,7 @@ source "package/libjson/Config.in"
 source "package/libroxml/Config.in"
 source "package/libxml-parser-perl/Config.in"
 source "package/libxml2/Config.in"
+source "package/libxmlrpc/Config.in"
 source "package/libxmlpp/Config.in"

This alphabetical order is not correct, libxmlrpc should come after libxmlpp.

Oops.

Quoted 7 lines

package/Config.in source "package/libjson/Config.in" · line 732

Quoted 2 lines
package/Config.in +1 -0
+LIBXMLRPC_SITE = "

http://downloads.sourceforge.net/project/xmlrpc-c/Xmlrpc-c%20Super%20Stable/1.25.26
"

Why are there quotes around the URL?

To be honest, I don't know. I guess I copied that from somewhere and the quotes where already there.

Quoted 10 lines

package/Config.in source "package/libjson/Config.in"

Quoted 2 lines
package/Config.in +2 -0
+LIBXMLRPC_LICENSE = BSD-like, Expat, Python 1.5.2 License
+LIBXMLRPC_LICENSE_FILES = doc/COPYING

Are these three licenses used on identifyable parts of libxmlrpc, such that you could be more specific, like
BSD-like (partA), Expat (partB) etc.?

Also, what exactly do you mean with BSD-like? Is it possible to map onto one of the standard strings specified in

Quoted 7 lines

http://buildroot.uclibc.org/downloads/manual/manual.html#legal-info-list-licenses
?

And finally, if there are three licenses, I'd expect three license files, unless the file doc/COPYING accumulates the license texts of all three licenses. Can you confirm?

Yes, the file doc/COPYING contains the three license texts. It explains which license applies to what:

You can read it here

http://sourceforge.net/p/xmlrpc-c/code/HEAD/tree/trunk/doc/COPYING

and I'll comment a little on everything:

Quoted 3 lines

All the code written specifically for Xmlrpc-c, which is most of the code, and the aggregation, is licensed under the XML-RPC FOR C/C++ license shown below.

This license is, as I understand it, is basically just BSD-3c, I guess.

Quoted 1 line

The Expat Licence applies to the contents of the directory lib/expat,

This is kind of a BSD license where "everything" is allowed with only one requisite
"The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software."

Quoted 2 lines

the ABYSS Web Server License applies to the contents of the directory lib/abyss and parts of the file src/xmlrpc_abyss.c.

This is again BSD-3c license, I think

Quoted 2 lines

The Python 1.5.2 license applies to parts of the file src/xmlrpc_base64.c.

I guess I could just type all that as

BSD-3c (xml-rpc main code, lib/expat and abyss web server), Python 1.5.2 license (xmlrpc_base64.c)

What do you think?

Regards

Signature · 4 lines
?lvaro G?mez Machado
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20131009/e8a95457/attachment.html>
#13 lore raw

PATCH 1/1 libxmlrpc: new package

Hi Alvaro,

Quoted 54 lines · Alvaro Gamez
Quoted 11 lines

package/libxmlrpc/libxmlrpc.mk line 11

Quoted 3 lines
package/libxmlrpc/libxmlrpc.mk new file +2 -0
+LIBXMLRPC_LICENSE = BSD-like, Expat, Python 1.5.2 License
+LIBXMLRPC_LICENSE_FILES = doc/COPYING

Are these three licenses used on identifyable parts of libxmlrpc, such that you could be more specific, like
BSD-like (partA), Expat (partB) etc.?

Also, what exactly do you mean with BSD-like? Is it possible to map onto one of the standard strings specified in

Quoted 6 lines

http://buildroot.uclibc.org/downloads/manual/manual.html#legal-info-list-licenses
?

And finally, if there are three licenses, I'd expect three license files, unless the file doc/COPYING accumulates the license texts of all three licenses. Can you confirm?

Yes, the file doc/COPYING contains the three license texts. It explains which license applies to what:

You can read it here

http://sourceforge.net/p/xmlrpc-c/code/HEAD/tree/trunk/doc/COPYING

and I'll comment a little on everything:

Quoted 3 lines

All the code written specifically for Xmlrpc-c, which is most of the code, and the aggregation, is licensed under the XML-RPC FOR C/C++ license shown below.

This license is, as I understand it, is basically just BSD-3c, I guess.

Quoted 1 line

The Expat Licence applies to the contents of the directory lib/expat,

This is kind of a BSD license where "everything" is allowed with only one requisite
"The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software."

Quoted 2 lines

the ABYSS Web Server License applies to the contents of the directory lib/abyss and parts of the file src/xmlrpc_abyss.c.

This is again BSD-3c license, I think

Quoted 2 lines

The Python 1.5.2 license applies to parts of the file src/xmlrpc_base64.c.

Quoted 6 lines

I guess I could just type all that as

BSD-3c (xml-rpc main code, lib/expat and abyss web server), Python 1.5.2 license (xmlrpc_base64.c)

What do you think?

I think this is clearer, yes.
Note that doc/COPYING says 'parts of src/xmlrpc_base64.c' so I would reproduce that text as-is.

Thanks,
Thomas

#14 lore raw

PATCH 1/1 libxmlrpc: new package

All right, I'm sending the whole patch again.

I've removed those quotes, preserved the alphabetical order, renumbered the patches with four digits and rewritten the license text. Since expat is bsd-like but with only one clause I've left it like this:

LIBXMLRPC_LICENSE = BSD-3c (xml-rpc main code and abyss web server), BSD like (lib/expat), Python 1.5.2 license (parts of xmlrpc_base64.c)

2013/10/9 Thomas De Schampheleire <[email protected]>

Quoted 73 lines

Hi Alvaro,

Quoted 8 lines · Alvaro Gamez
Quoted 8 lines

package/libxmlrpc/libxmlrpc.mk line 11

Quoted 3 lines
package/libxmlrpc/libxmlrpc.mk new file +2 -0
+LIBXMLRPC_LICENSE = BSD-like, Expat, Python 1.5.2 License
+LIBXMLRPC_LICENSE_FILES = doc/COPYING

Are these three licenses used on identifyable parts of libxmlrpc, such that you could be more specific, like
BSD-like (partA), Expat (partB) etc.?

Quoted 4 lines
Quoted 4 lines

Also, what exactly do you mean with BSD-like? Is it possible to map onto one of the standard strings specified in

http://buildroot.uclibc.org/downloads/manual/manual.html#legal-info-list-licenses

Quoted 42 lines
Quoted 5 lines

?

And finally, if there are three licenses, I'd expect three license files, unless the file doc/COPYING accumulates the license texts of all three licenses. Can you confirm?

Yes, the file doc/COPYING contains the three license texts. It explains which license applies to what:

You can read it here

http://sourceforge.net/p/xmlrpc-c/code/HEAD/tree/trunk/doc/COPYING

and I'll comment a little on everything:

Quoted 3 lines

All the code written specifically for Xmlrpc-c, which is most of the code, and the aggregation, is licensed under the XML-RPC FOR C/C++ license shown below.

This license is, as I understand it, is basically just BSD-3c, I guess.

Quoted 1 line

The Expat Licence applies to the contents of the directory lib/expat,

This is kind of a BSD license where "everything" is allowed with only one requisite
"The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software."

Quoted 2 lines

the ABYSS Web Server License applies to the contents of the directory lib/abyss and parts of the file src/xmlrpc_abyss.c.

This is again BSD-3c license, I think

Quoted 2 lines

The Python 1.5.2 license applies to parts of the file src/xmlrpc_base64.c.

Quoted 6 lines

I guess I could just type all that as

BSD-3c (xml-rpc main code, lib/expat and abyss web server), Python 1.5.2 license (xmlrpc_base64.c)

What do you think?

I think this is clearer, yes.
Note that doc/COPYING says 'parts of src/xmlrpc_base64.c' so I would reproduce that text as-is.

Thanks,
Thomas

Signature · 4 lines
?lvaro G?mez Machado
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20131009/50b02fe9/attachment.html>
#15 lore raw

PATCH 1/1 libxmlrpc: new package

---
 package/Config.in                                  |  1 +
 package/libxmlrpc/Config.in                        | 10 ++++++++
 .../libxmlrpc-0001-fix-gennmtab-build.patch        | 25 ++++++++++++++++++
 .../libxmlrpc-0002-fix-non-cplusplus-build.patch   | 27 +++++++++++++++++++
 .../libxmlrpc/libxmlrpc-0003-non-wchar-build.patch | 24 +++++++++++++++++
 .../libxmlrpc-0004-use-correct-curl-config.patch   | 22 ++++++++++++++++
 package/libxmlrpc/libxmlrpc.mk                     | 30 ++++++++++++++++++++++
 7 files changed, 139 insertions(+)
 create mode 100644 package/libxmlrpc/Config.in
 create mode 100644 package/libxmlrpc/libxmlrpc-0001-fix-gennmtab-build.patch
 create mode 100644 package/libxmlrpc/libxmlrpc-0002-fix-non-cplusplus-build.patch
 create mode 100644 package/libxmlrpc/libxmlrpc-0003-non-wchar-build.patch
 create mode 100644 package/libxmlrpc/libxmlrpc-0004-use-correct-curl-config.patch
 create mode 100644 package/libxmlrpc/libxmlrpc.mk
package/Config.in +1 -0
index 9aa9d81..7947e8e 100644
@@ -728,6 +728,7 @@ source "package/libroxml/Config.in"
 source "package/libxml-parser-perl/Config.in"
 source "package/libxml2/Config.in"
 source "package/libxmlpp/Config.in"
+source "package/libxmlrpc/Config.in"
 source "package/libxslt/Config.in"
 source "package/libyaml/Config.in"
 source "package/mxml/Config.in"
package/libxmlrpc/Config.in new file +10 -0
new file mode 100644
index 0000000..26e4a52
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_LIBXMLRPC
+	bool "libxmlrpc"
+	select BR2_PACKAGE_LIBCURL
+	help
+	  XML-RPC is a quick-and-easy way to make procedure calls over
+	  the Internet. It converts the procedure call into an XML
+	  document, sends it to a remote server using HTTP, and gets
+	  back the response as XML.
+
+	  http://xmlrpc-c.sourceforge.net/
package/libxmlrpc/libxmlrpc-0001-fix-gennmtab-build.patch new file +25 -0
new file mode 100644
index 0000000..8cdd932
@@ -0,0 +1,25 @@
+Fix build of host tool
+
+genmtab is a tool that needs to be built for the host as it is used
+during the compilation process of libxmlrpc. Its Makefile needs a bit
+of tuning to use the conventional CC_FOR_BUILD, CFLAGS_FOR_BUILD and
+LDFLAGS_FOR_BUILD variables.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: b/lib/expat/gennmtab/Makefile
+===================================================================
+--- a/lib/expat/gennmtab/Makefile
++++ b/lib/expat/gennmtab/Makefile
+@@ -40,9 +40,9 @@
+ dep: dep-common
+ 
+ gennmtab.o:%.o:%.c
+-	$(BUILDTOOL_CC) -c $< -o $@ $(CFLAGS_ALL) $(INCLUDES)
++	$(CC_FOR_BUILD) -c $< -o $@ $(CFLAGS_FOR_BUILD) $(INCLUDES)
+ 
+ gennmtab:%:%.o
+-	$(BUILDTOOL_CCLD) -o $@ $(LDFLAGS) $^
++	$(CC_FOR_BUILD) -o $@ $(LDFLAGS_FOR_BUILD) $^
+ 
+ include depend.mk
package/libxmlrpc/libxmlrpc-0002-fix-non-cplusplus-build.patch new file +27 -0
new file mode 100644
index 0000000..efeb9cc
@@ -0,0 +1,27 @@
+Handle builds without C++
+
+libxmlrpc nicely handles the fact of being built without C++ support,
+except for one location, fixed by this patch.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: b/lib/util/Makefile
+===================================================================
+--- a/lib/util/Makefile
++++ b/lib/util/Makefile
+@@ -41,11 +41,14 @@
+ LIBOBJS = \
+   casprintf.o \
+   cmdline_parser.o \
+-  cmdline_parser_cpp.o \
+   getoptx.o \
+   string_parser.o \
+   stripcaseeq.o \
+ 
++ifeq ($(ENABLE_CPLUSPLUS),yes)
++LIBOBJS += cmdline_parser_cpp.o
++endif
++
+ .PHONY: all
+ all: $(LIBOBJS)
+ 
package/libxmlrpc/libxmlrpc-0003-non-wchar-build.patch new file +24 -0
new file mode 100644
index 0000000..1f04353
@@ -0,0 +1,24 @@
+Disable wide-char specific code
+
+The vast majority of the libxmlrpc code nicely handles the absence of
+wide char support, except at one location, which is fixed by this
+patch.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: b/src/xmlrpc_decompose.c
+===================================================================
+--- a/src/xmlrpc_decompose.c
++++ b/src/xmlrpc_decompose.c
+@@ -217,7 +217,11 @@
+         xmlrpc_strfree(*decompRootP->store.Tstring.valueP);
+         break;
+     case 'w':
++#if HAVE_UNICODE_WCHAR
+         free((void*)*decompRootP->store.TwideString.valueP);
++#else
++	XMLRPC_ASSERT(false);
++#endif
+         break;
+     case '6':
+         free((void*)*decompRootP->store.TbitString.valueP);
package/libxmlrpc/libxmlrpc-0004-use-correct-curl-config.patch new file +22 -0
new file mode 100644
index 0000000..ada0bd2
@@ -0,0 +1,22 @@
+Use correct curl-config program
+
+Instead of calling again curl-config in src/Makefile (which ends up
+calling the wrong curl-config: the one in the PATH instead of the one
+pointed at by the environment variables at configure time), let's use
+the CURL_LDADD variable which was computed at configure time.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: b/src/Makefile
+===================================================================
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -56,7 +56,7 @@
+   TRANSPORT_MODS += blddir/lib/curl_transport/curltransaction
+   TRANSPORT_MODS += blddir/lib/curl_transport/curlmulti
+   TRANSPORT_MODS += blddir/lib/curl_transport/lock_pthread
+-  TRANSPORT_LIBDEP += $(shell curl-config --libs)
++  TRANSPORT_LIBDEP += $(CURL_LDADD)
+ endif
+ ifeq ($(MUST_BUILD_LIBWWW_CLIENT),yes)
+   TRANSPORT_MODS += blddir/lib/libwww_transport/xmlrpc_libwww_transport
package/libxmlrpc/libxmlrpc.mk new file +30 -0
new file mode 100644
index 0000000..78ba161
@@ -0,0 +1,30 @@
+################################################################################
+#
+# libxmlrpc
+#
+################################################################################
+
+LIBXMLRPC_VERSION = 1.25.26
+LIBXMLRPC_SOURCE = xmlrpc-c-$(LIBXMLRPC_VERSION).tgz
+LIBXMLRPC_SITE = http://downloads.sourceforge.net/project/xmlrpc-c/Xmlrpc-c%20Super%20Stable/1.25.26
+LIBXMLRPC_LICENSE = BSD-3c (xml-rpc main code and abyss web server), BSD like (lib/expat), Python 1.5.2 license (parts of xmlrpc_base64.c)
+LIBXMLRPC_LICENSE_FILES = doc/COPYING
+LIBXMLRPC_INSTALL_STAGING = YES
+LIBXMLRPC_DEPENDENCIES = libcurl
+LIBXMLRPC_CONFIG_SCRIPTS = xmlrpc-c-config
+
+LIBXMLRPC_CONF_OPT = \
+	$(if $(BR2_USE_WCHAR),,ac_cv_header_wchar_h=no) \
+	$(if $(BR2_INSTALL_LIBSTDCPP),,--disable-cplusplus) \
+	have_curl_config=$(STAGING_DIR)/usr/bin/curl-config \
+	CURL_CONFIG=$(STAGING_DIR)/usr/bin/curl-config
+
+# Our package uses autoconf, but not automake, so we need to pass
+# those variables at compile time as well.
+LIBXMLRPC_MAKE_ENV = \
+	CC_FOR_BUILD="$(HOSTCC)" \
+	LD_FOR_BUILD="$(HOSTLD)" \
+	CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \
+	LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)"
+
+$(eval $(autotools-package))
Signature · 1 line
1.8.4.rc3
#16 lore raw

PATCH 1/1 libxmlrpc: new package

Hi Alvaro,

Quoted 1 line · Alvaro G. M

You forgot your own sign off.

[...]

Quoted 6 lines
package/libxmlrpc/libxmlrpc.mk new file +0 -0
new file mode 100644
index 0000000..78ba161

package/libxmlrpc/libxmlrpc.mk line 9

Quoted 9 lines
package/libxmlrpc/libxmlrpc.mk new file +9 -0
@@ -0,0 +1,30 @@
+################################################################################
+#
+# libxmlrpc
+#
+################################################################################
+
+LIBXMLRPC_VERSION = 1.25.26
+LIBXMLRPC_SOURCE = xmlrpc-c-$(LIBXMLRPC_VERSION).tgz
+LIBXMLRPC_SITE = http://downloads.sourceforge.net/project/xmlrpc-c/Xmlrpc-c%20Super%20Stable/1.25.26

Why not reuse $(LIBXMLRPC_VERSION) for the directory part of the URL?

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
#17 lore raw

PATCH 1/1 libxmlrpc: new package

---
Solved sign off and reuse LIBXMLRPC_VERSION (thanks Baruch).

 package/Config.in                                  |  1 +
 package/libxmlrpc/Config.in                        | 10 ++++++++
 .../libxmlrpc-0001-fix-gennmtab-build.patch        | 25 ++++++++++++++++++
 .../libxmlrpc-0002-fix-non-cplusplus-build.patch   | 27 +++++++++++++++++++
 .../libxmlrpc/libxmlrpc-0003-non-wchar-build.patch | 24 +++++++++++++++++
 .../libxmlrpc-0004-use-correct-curl-config.patch   | 22 ++++++++++++++++
 package/libxmlrpc/libxmlrpc.mk                     | 30 ++++++++++++++++++++++
 7 files changed, 139 insertions(+)
 create mode 100644 package/libxmlrpc/Config.in
 create mode 100644 package/libxmlrpc/libxmlrpc-0001-fix-gennmtab-build.patch
 create mode 100644 package/libxmlrpc/libxmlrpc-0002-fix-non-cplusplus-build.patch
 create mode 100644 package/libxmlrpc/libxmlrpc-0003-non-wchar-build.patch
 create mode 100644 package/libxmlrpc/libxmlrpc-0004-use-correct-curl-config.patch
 create mode 100644 package/libxmlrpc/libxmlrpc.mk
package/Config.in +1 -0
index 9aa9d81..7947e8e 100644
@@ -728,6 +728,7 @@ source "package/libroxml/Config.in"
 source "package/libxml-parser-perl/Config.in"
 source "package/libxml2/Config.in"
 source "package/libxmlpp/Config.in"
+source "package/libxmlrpc/Config.in"
 source "package/libxslt/Config.in"
 source "package/libyaml/Config.in"
 source "package/mxml/Config.in"
package/libxmlrpc/Config.in new file +10 -0
new file mode 100644
index 0000000..26e4a52
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_LIBXMLRPC
+	bool "libxmlrpc"
+	select BR2_PACKAGE_LIBCURL
+	help
+	  XML-RPC is a quick-and-easy way to make procedure calls over
+	  the Internet. It converts the procedure call into an XML
+	  document, sends it to a remote server using HTTP, and gets
+	  back the response as XML.
+
+	  http://xmlrpc-c.sourceforge.net/
package/libxmlrpc/libxmlrpc-0001-fix-gennmtab-build.patch new file +25 -0
new file mode 100644
index 0000000..8cdd932
@@ -0,0 +1,25 @@
+Fix build of host tool
+
+genmtab is a tool that needs to be built for the host as it is used
+during the compilation process of libxmlrpc. Its Makefile needs a bit
+of tuning to use the conventional CC_FOR_BUILD, CFLAGS_FOR_BUILD and
+LDFLAGS_FOR_BUILD variables.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: b/lib/expat/gennmtab/Makefile
+===================================================================
+--- a/lib/expat/gennmtab/Makefile
++++ b/lib/expat/gennmtab/Makefile
+@@ -40,9 +40,9 @@
+ dep: dep-common
+ 
+ gennmtab.o:%.o:%.c
+-	$(BUILDTOOL_CC) -c $< -o $@ $(CFLAGS_ALL) $(INCLUDES)
++	$(CC_FOR_BUILD) -c $< -o $@ $(CFLAGS_FOR_BUILD) $(INCLUDES)
+ 
+ gennmtab:%:%.o
+-	$(BUILDTOOL_CCLD) -o $@ $(LDFLAGS) $^
++	$(CC_FOR_BUILD) -o $@ $(LDFLAGS_FOR_BUILD) $^
+ 
+ include depend.mk
package/libxmlrpc/libxmlrpc-0002-fix-non-cplusplus-build.patch new file +27 -0
new file mode 100644
index 0000000..efeb9cc
@@ -0,0 +1,27 @@
+Handle builds without C++
+
+libxmlrpc nicely handles the fact of being built without C++ support,
+except for one location, fixed by this patch.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: b/lib/util/Makefile
+===================================================================
+--- a/lib/util/Makefile
++++ b/lib/util/Makefile
+@@ -41,11 +41,14 @@
+ LIBOBJS = \
+   casprintf.o \
+   cmdline_parser.o \
+-  cmdline_parser_cpp.o \
+   getoptx.o \
+   string_parser.o \
+   stripcaseeq.o \
+ 
++ifeq ($(ENABLE_CPLUSPLUS),yes)
++LIBOBJS += cmdline_parser_cpp.o
++endif
++
+ .PHONY: all
+ all: $(LIBOBJS)
+ 
package/libxmlrpc/libxmlrpc-0003-non-wchar-build.patch new file +24 -0
new file mode 100644
index 0000000..1f04353
@@ -0,0 +1,24 @@
+Disable wide-char specific code
+
+The vast majority of the libxmlrpc code nicely handles the absence of
+wide char support, except at one location, which is fixed by this
+patch.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: b/src/xmlrpc_decompose.c
+===================================================================
+--- a/src/xmlrpc_decompose.c
++++ b/src/xmlrpc_decompose.c
+@@ -217,7 +217,11 @@
+         xmlrpc_strfree(*decompRootP->store.Tstring.valueP);
+         break;
+     case 'w':
++#if HAVE_UNICODE_WCHAR
+         free((void*)*decompRootP->store.TwideString.valueP);
++#else
++	XMLRPC_ASSERT(false);
++#endif
+         break;
+     case '6':
+         free((void*)*decompRootP->store.TbitString.valueP);
package/libxmlrpc/libxmlrpc-0004-use-correct-curl-config.patch new file +22 -0
new file mode 100644
index 0000000..ada0bd2
@@ -0,0 +1,22 @@
+Use correct curl-config program
+
+Instead of calling again curl-config in src/Makefile (which ends up
+calling the wrong curl-config: the one in the PATH instead of the one
+pointed at by the environment variables at configure time), let's use
+the CURL_LDADD variable which was computed at configure time.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: b/src/Makefile
+===================================================================
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -56,7 +56,7 @@
+   TRANSPORT_MODS += blddir/lib/curl_transport/curltransaction
+   TRANSPORT_MODS += blddir/lib/curl_transport/curlmulti
+   TRANSPORT_MODS += blddir/lib/curl_transport/lock_pthread
+-  TRANSPORT_LIBDEP += $(shell curl-config --libs)
++  TRANSPORT_LIBDEP += $(CURL_LDADD)
+ endif
+ ifeq ($(MUST_BUILD_LIBWWW_CLIENT),yes)
+   TRANSPORT_MODS += blddir/lib/libwww_transport/xmlrpc_libwww_transport
package/libxmlrpc/libxmlrpc.mk new file +30 -0
new file mode 100644
index 0000000..3d1af7e
@@ -0,0 +1,30 @@
+################################################################################
+#
+# libxmlrpc
+#
+################################################################################
+
+LIBXMLRPC_VERSION = 1.25.26
+LIBXMLRPC_SOURCE = xmlrpc-c-$(LIBXMLRPC_VERSION).tgz
+LIBXMLRPC_SITE = http://downloads.sourceforge.net/project/xmlrpc-c/Xmlrpc-c%20Super%20Stable/$(LIBXMLRPC_VERSION)
+LIBXMLRPC_LICENSE = BSD-3c (xml-rpc main code and abyss web server), BSD like (lib/expat), Python 1.5.2 license (parts of xmlrpc_base64.c)
+LIBXMLRPC_LICENSE_FILES = doc/COPYING
+LIBXMLRPC_INSTALL_STAGING = YES
+LIBXMLRPC_DEPENDENCIES = libcurl
+LIBXMLRPC_CONFIG_SCRIPTS = xmlrpc-c-config
+
+LIBXMLRPC_CONF_OPT = \
+	$(if $(BR2_USE_WCHAR),,ac_cv_header_wchar_h=no) \
+	$(if $(BR2_INSTALL_LIBSTDCPP),,--disable-cplusplus) \
+	have_curl_config=$(STAGING_DIR)/usr/bin/curl-config \
+	CURL_CONFIG=$(STAGING_DIR)/usr/bin/curl-config
+
+# Our package uses autoconf, but not automake, so we need to pass
+# those variables at compile time as well.
+LIBXMLRPC_MAKE_ENV = \
+	CC_FOR_BUILD="$(HOSTCC)" \
+	LD_FOR_BUILD="$(HOSTLD)" \
+	CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \
+	LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)"
+
+$(eval $(autotools-package))
Signature · 1 line
1.8.4.rc3
#19 lore raw

PATCH 1/1 libxmlrpc: new package

In reply to Thomas De Schampheleire
Quoted 20 lines · Thomas De Schampheleire

Hi Alvaro,

Quoted 9 lines · Alvaro G. M
Quoted 9 lines
---
 package/Config.in                                  |  1 +
 package/libxmlrpc/Config.in                        | 10 ++++++++
 .../libxmlrpc-01-fix-gennmtab-build.patch          | 25 ++++++++++++++++++
 .../libxmlrpc-02-fix-non-cplusplus-build.patch     | 27 +++++++++++++++++++
 .../libxmlrpc/libxmlrpc-03-non-wchar-build.patch   | 24 +++++++++++++++++
 .../libxmlrpc-04-use-correct-curl-config.patch     | 22 ++++++++++++++++
Quoted 8 lines
Quoted 8 lines
 package/libxmlrpc/libxmlrpc.mk                     | 30 ++++++++++++++++++++++
 7 files changed, 139 insertions(+)
 create mode 100644 package/libxmlrpc/Config.in
 create mode 100644 package/libxmlrpc/libxmlrpc-01-fix-gennmtab-build.patch
 create mode 100644 package/libxmlrpc/libxmlrpc-02-fix-non-cplusplus-build.patch
 create mode 100644 package/libxmlrpc/libxmlrpc-03-non-wchar-build.patch
 create mode 100644 package/libxmlrpc/libxmlrpc-04-use-correct-curl-config.patch
 create mode 100644 package/libxmlrpc/libxmlrpc.mk
Quoted 6 lines

We have had a long discussion on two buildroot developer days about the format of the number in patch names. I thought we had decided to use a four-digit format to correspond to the patches generated with git. So this should be 0001, 0002, etc.
However, this may be mis-remembered by me, so I'm including some of the people involved in that discussion to this mail...

AFAICR we concluded that it wasn't necessary to enforce four digits,
since very few of the patches are generated from git anyway.

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#20 lore raw

PATCH 1/1 libxmlrpc: new package

Well, that's true (as is the case in this particular patch), but it's also true that it doesn't make any bad. It's just a minor inconvenience and it gives some consistency to the files name, I think I mostly like it.

Regards

2013/10/10 Arnout Vandecappelle <[email protected]>

Quoted 58 lines · Thomas De Schampheleire
Quoted 32 lines

Hi Alvaro,

Quoted 26 lines · Alvaro G. M
Quoted 7 lines
---
 package/Config.in                                  |  1 +
 package/libxmlrpc/Config.in                        | 10 ++++++++
 .../libxmlrpc-01-fix-gennmtab-**build.patch          | 25

++++++++++++++++++

Quoted 1 line
 .../libxmlrpc-02-fix-non-**cplusplus-build.patch     | 27

+++++++++++++++++++

Quoted 1 line
 .../libxmlrpc/libxmlrpc-03-**non-wchar-build.patch   | 24

+++++++++++++++++

Quoted 1 line
 .../libxmlrpc-04-use-correct-**curl-config.patch     | 22

++++++++++++++++

Quoted 1 line
 package/libxmlrpc/libxmlrpc.mk                     | 30

++++++++++++++++++++++

Quoted 3 lines
 7 files changed, 139 insertions(+)
 create mode 100644 package/libxmlrpc/Config.in
 create mode 100644 package/libxmlrpc/libxmlrpc-**

01-fix-gennmtab-build.patch

Quoted 1 line
 create mode 100644 package/libxmlrpc/libxmlrpc-**

02-fix-non-cplusplus-build.**patch

Quoted 1 line
 create mode 100644 package/libxmlrpc/libxmlrpc-**

03-non-wchar-build.patch

Quoted 1 line
 create mode 100644 package/libxmlrpc/libxmlrpc-**

04-use-correct-curl-config.**patch

Quoted 9 lines
Quoted 2 lines
Quoted 1 line
 create mode 100644 package/libxmlrpc/libxmlrpc.mk

We have had a long discussion on two buildroot developer days about the format of the number in patch names. I thought we had decided to use a four-digit format to correspond to the patches generated with git. So this should be 0001, 0002, etc.
However, this may be mis-remembered by me, so I'm including some of the people involved in that discussion to this mail...

AFAICR we concluded that it wasn't necessary to enforce four digits,
since very few of the patches are generated from git anyway.

Regards,
Arnout

--

Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/**arnoutvandecappelle<http://www.linkedin.com/in/arnoutvandecappelle>
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
Signature · 4 lines
?lvaro G?mez Machado
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20131010/8cc1d135/attachment.html>

A message that is not in the archive (sent off-list or not yet received): [email protected]

#22 lore raw

PATCH 3/10 libxmlrpc: new package

Hello,

Le Tue, 05 Jun 2012 01:57:33 +0200,
Arnout Vandecappelle <[email protected]> a ?crit :

Quoted 8 lines · Thomas Petazzoni

package/libxmlrpc/libxmlrpc.mk

Quoted 3 lines
package/libxmlrpc/libxmlrpc.mk new file +3 -0
+LIBXMLRPC_VERSION = 1.18.05
+LIBXMLRPC_SOURCE = xmlrpc-c-$(LIBXMLRPC_VERSION).tgz
+LIBXMLRPC_SITE ="http://xmlrpc-c.svn.sourceforge.net/viewvc/xmlrpc-c/advanced/?view=tar&pathrev=1716"

It's a bit strange to use a three-year-old unstable version...
From the website:

Quoted 6 lines

Latest Tarballs
Series Number
Development unnumbered
Advanced 1.30.06
Stable 1.25.16
Super Stable 1.16.41

This package comes from a customer project, and the customer had its software running with this version, so that's the version I tested. Of course, packaging more recent versions would be better, but I thought that having the package would be better than nothing.

Quoted 2 lines

A simpler solution would be to just use the svn download method, from
https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/stable/

Sure, I'll look into that.

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#23 lore raw

PATCH 3/10 libxmlrpc: new package

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Hi Thomas,

Old mail ..

Thomas> Hello,
Thomas> Le Tue, 05 Jun 2012 01:57:33 +0200, Thomas> Arnout Vandecappelle <[email protected]> a ?crit :

Quoted 8 lines
Quoted 8 lines · Thomas Petazzoni

package/libxmlrpc/libxmlrpc.mk

Quoted 3 lines
package/libxmlrpc/libxmlrpc.mk new file +3 -0
+LIBXMLRPC_VERSION = 1.18.05
+LIBXMLRPC_SOURCE = xmlrpc-c-$(LIBXMLRPC_VERSION).tgz
+LIBXMLRPC_SITE ="http://xmlrpc-c.svn.sourceforge.net/viewvc/xmlrpc-c/advanced/?view=tar&pathrev=1716"

It's a bit strange to use a three-year-old unstable version... From the website:

Quoted 6 lines
Quoted 6 lines

Latest Tarballs
Series Number
Development unnumbered
Advanced 1.30.06
Stable 1.25.16
Super Stable 1.16.41

Thomas> This package comes from a customer project, and the customer had its Thomas> software running with this version, so that's the version I tested. Of Thomas> course, packaging more recent versions would be better, but I thought Thomas> that having the package would be better than nothing.

Quoted 2 lines
Quoted 2 lines

A simpler solution would be to just use the svn download method, from
https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/stable/

Thomas> Sure, I'll look into that.

Any news on this?

Signature · 1 line
Bye, Peter Korsgaard
#24 lore raw

PATCH 3/10 libxmlrpc: new package

Dear Peter Korsgaard,

Quoted 6 lines · Peter Korsgaard
Quoted 2 lines
Quoted 2 lines

A simpler solution would be to just use the svn download method, from
https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/stable/

Thomas> Sure, I'll look into that.

Any news on this?

At this point, I am no longer that much interested by xmlrpc. It was for a project on which I'm no longer working, and I don't expect many people to use this stuff, so I don't want to spend too much time packaging this.

I'd say you can discard the patch in patchwork, and be done with it :)

Thanks!

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#25 lore raw

PATCH 3/10 libxmlrpc: new package

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Thomas> Dear Peter Korsgaard,

Quoted 3 lines · Peter Korsgaard
Quoted 3 lines
Quoted 2 lines
Quoted 2 lines

A simpler solution would be to just use the svn download method, from
https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/stable/

Thomas> Sure, I'll look into that.

Quoted 2 lines
Quoted 2 lines

Any news on this?

Thomas> At this point, I am no longer that much interested by xmlrpc. It was Thomas> for a project on which I'm no longer working, and I don't expect many Thomas> people to use this stuff, so I don't want to spend too much time Thomas> packaging this.

Thomas> I'd say you can discard the patch in patchwork, and be done with it :)

Ok, will do.

Signature · 1 line
Bye, Peter Korsgaard
#26 lore raw

PATCH 4/10 llrp-toolkit: new package

In reply to Thomas Petazzoni
---
 package/Config.in                                  |    1 +
 package/llrp-toolkit/Config.in                     |   11 ++
 .../llrp-toolkit-01-ltkcpp-fix-headers.patch       |   74 +++++++++
 ...toolkit-02-ltkcpp-generate-shared-library.patch |   43 +++++
 ...-toolkit-03-ltkcpp-normalize-build-system.patch |  174 ++++++++++++++++++++
 .../llrp-toolkit-04-ltkcpp-disable-warning.patch   |   43 +++++
 .../llrp-toolkit-05-ltkc-shared-library.patch      |   26 +++
 ...rp-toolkit-06-ltkc-normalize-build-system.patch |  163 ++++++++++++++++++
 package/llrp-toolkit/llrp-toolkit.mk               |   77 +++++++++
 9 files changed, 612 insertions(+)
 create mode 100644 package/llrp-toolkit/Config.in
 create mode 100644 package/llrp-toolkit/llrp-toolkit-01-ltkcpp-fix-headers.patch
 create mode 100644 package/llrp-toolkit/llrp-toolkit-02-ltkcpp-generate-shared-library.patch
 create mode 100644 package/llrp-toolkit/llrp-toolkit-03-ltkcpp-normalize-build-system.patch
 create mode 100644 package/llrp-toolkit/llrp-toolkit-04-ltkcpp-disable-warning.patch
 create mode 100644 package/llrp-toolkit/llrp-toolkit-05-ltkc-shared-library.patch
 create mode 100644 package/llrp-toolkit/llrp-toolkit-06-ltkc-normalize-build-system.patch
 create mode 100644 package/llrp-toolkit/llrp-toolkit.mk
package/Config.in +1 -0
index 044b59b..4af638f 100644
@@ -368,6 +368,7 @@ source "package/libnfc/Config.in"
 source "package/libusb/Config.in"
 source "package/libusb-compat/Config.in"
 source "package/libv4l/Config.in"
+source "package/llrp-toolkit/Config.in"
 endmenu
 
 menu "Javascript"
package/llrp-toolkit/Config.in new file +11 -0
new file mode 100644
index 0000000..c0cac32
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_LLRP_TOOLKIT
+	bool "llrp-toolkit"
+	select BR2_PACKAGE_LIBXML2
+	help
+	  A software toolkit for using the EPCglobal Low Level Reader
+	  Protocol (LLRP) to communicate with conforming RFID readers.
+
+	  This package installs the C and C++ libraries of LLRP
+	  Toolkit, respectively called ltkc and ltkcpp.
+
+	  http://sourceforge.net/projects/llrp-toolkit/
package/llrp-toolkit/llrp-toolkit-01-ltkcpp-fix-headers.patch new file +74 -0

74 lines not on this page · raw message

package/llrp-toolkit/llrp-toolkit-02-ltkcpp-generate-shared-library.patch new file +43 -0

43 lines not on this page · raw message

package/llrp-toolkit/llrp-toolkit-03-ltkcpp-normalize-build-system.patch new file +174 -0

174 lines not on this page · raw message

package/llrp-toolkit/llrp-toolkit-04-ltkcpp-disable-warning.patch new file +43 -0

43 lines not on this page · raw message

package/llrp-toolkit/llrp-toolkit-05-ltkc-shared-library.patch new file +26 -0
new file mode 100644
index 0000000..e562d5c
@@ -0,0 +1,26 @@
+ltkc: generate shared library instead of static one
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: b/LTKC/Library/Makefile
+===================================================================
+--- a/LTKC/Library/Makefile
++++ b/LTKC/Library/Makefile
+@@ -35,7 +35,7 @@
+ 	ltkc_xmltext.h		\
+ 	out_ltkc.h
+ 
+-LTKC_LIB = libltkc.a
++LTKC_LIB = libltkc.so
+ LTKC_OBJS = \
+ 	ltkc_array.o		\
+ 	ltkc_connection.o	\
+@@ -59,7 +59,7 @@
+ 	make all
+ 
+ $(LTKC_LIB) : $(LTKC_OBJS)
+-	$(AR) crv $(LTKC_LIB) $(LTKC_OBJS)
++	$(CC) $(CFLAGS) -shared -o $@ $^
+ 
+ $(LTKC_OBJS) : $(LTKC_HDRS)
+ 
package/llrp-toolkit/llrp-toolkit-06-ltkc-normalize-build-system.patch new file +163 -0

163 lines not on this page · raw message

package/llrp-toolkit/llrp-toolkit.mk new file +77 -0

77 lines not on this page · raw message

Signature · 1 line
1.7.9.5
#27 lore raw

PATCH 5/10 qextserialport: new package

In reply to Thomas Petazzoni
---
 package/Config.in                                  |    1 +
 package/qextserialport/Config.in                   |    9 +++++
 .../qextserialport-main-include.patch              |   15 +++++++++
 .../qextserialport-no-examples.patch               |   17 ++++++++++
 .../qextserialport/qextserialport-pkgconfig.patch  |   19 +++++++++++
 package/qextserialport/qextserialport.mk           |   35 ++++++++++++++++++++
 6 files changed, 96 insertions(+)
 create mode 100644 package/qextserialport/Config.in
 create mode 100644 package/qextserialport/qextserialport-main-include.patch
 create mode 100644 package/qextserialport/qextserialport-no-examples.patch
 create mode 100644 package/qextserialport/qextserialport-pkgconfig.patch
 create mode 100644 package/qextserialport/qextserialport.mk
package/Config.in +1 -0
index 4af638f..53d6bba 100644
@@ -369,6 +369,7 @@ source "package/libusb/Config.in"
 source "package/libusb-compat/Config.in"
 source "package/libv4l/Config.in"
 source "package/llrp-toolkit/Config.in"
+source "package/qextserialport/Config.in"
 endmenu
 
 menu "Javascript"
package/qextserialport/Config.in new file +9 -0
new file mode 100644
index 0000000..4e92ecf
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_QEXTSERIALPORT
+	bool "qextserialport"
+	# Qt is a big library, we don't want to select it
+	# automatically without the user knowing
+	depends on BR2_PACKAGE_QT
+	help
+	  A Qt library to manage serial ports
+
+	  http://code.google.com/p/qextserialport/
package/qextserialport/qextserialport-main-include.patch new file +15 -0
new file mode 100644
index 0000000..858f335
@@ -0,0 +1,15 @@
+Create a main include file QExtSerialPort
+
+This main include file will be installed in
+<QExtSerialPort/QExtSerialPort> so that Qt applications can use this
+library by including header files in a Qt-like style.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: qextserialport-ef4af2a2ee3f/src/QExtSerialPort
+===================================================================
+--- /dev/null
++++ qextserialport-ef4af2a2ee3f/src/QExtSerialPort
+@@ -0,0 +1,2 @@
++#include "qextserialport.h"
++#include "qextserialenumerator.h"
package/qextserialport/qextserialport-no-examples.patch new file +17 -0
new file mode 100644
index 0000000..c7d2d41
@@ -0,0 +1,17 @@
+Disable compilation of examples
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: qextserialport-ef4af2a2ee3f/qextserialport.pro
+===================================================================
+--- qextserialport-ef4af2a2ee3f.orig/qextserialport.pro
++++ qextserialport-ef4af2a2ee3f/qextserialport.pro
+@@ -1,7 +1,4 @@
+ #
+ TEMPLATE = subdirs
+ CONFIG   += ordered
+-SUBDIRS  = src \
+-           examples/enumerator \
+-           examples/event
+-
++SUBDIRS  = src
package/qextserialport/qextserialport-pkgconfig.patch new file +19 -0
new file mode 100644
index 0000000..d67f3fc
@@ -0,0 +1,19 @@
+Add a pkgconfig file to ease usage with applications
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: qextserialport-ef4af2a2ee3f/qextserialport.pc
+===================================================================
+--- /dev/null
++++ qextserialport-ef4af2a2ee3f/qextserialport.pc
+@@ -0,0 +1,10 @@
++prefix=/usr
++exec_prefix=${prefix}
++libdir=${prefix}/lib
++includedir=${prefix}/include/QExtSerialPort
++
++Name: QtExtSerialPort
++Description: QtExtSerialPort library
++Version: 1.2.0
++Libs: -L${libdir} -lqextserialport
++Cflags: -I${includedir}
package/qextserialport/qextserialport.mk new file +35 -0
new file mode 100644
index 0000000..c632667
@@ -0,0 +1,35 @@
+#############################################################
+#
+# qextserialport
+#
+#############################################################
+
+QEXTSERIALPORT_VERSION     = ef4af2a2ee3f
+QEXTSERIALPORT_SITE        = https://qextserialport.googlecode.com/hg/
+QEXTSERIALPORT_SITE_METHOD = hg
+
+QEXTSERIALPORT_DEPENDENCIES = qt
+
+QEXTSERIALPORT_INSTALL_STAGING = YES
+
+define QEXTSERIALPORT_CONFIGURE_CMDS
+	(cd $(@D); $(QT_QMAKE))
+endef
+
+define QEXTSERIALPORT_BUILD_CMDS
+	$(MAKE) -C $(@D)
+endef
+
+define QEXTSERIALPORT_INSTALL_STAGING_CMDS
+	mkdir -p $(STAGING_DIR)/usr/include/QExtSerialPort
+	cp $(@D)/src/*.h $(STAGING_DIR)/usr/include/QExtSerialPort/
+	cp $(@D)/src/QExtSerialPort $(STAGING_DIR)/usr/include/QExtSerialPort/
+	cp -a $(@D)/src/build/*.so* $(STAGING_DIR)/usr/lib/
+	cp $(@D)/qextserialport.pc $(STAGING_DIR)/usr/lib/pkgconfig/
+endef
+
+define QEXTSERIALPORT_INSTALL_TARGET_CMDS
+	cp -a $(@D)/src/build/*.so.* $(TARGET_DIR)/usr/lib
+endef
+
+$(eval $(call GENTARGETS))
Signature · 1 line
1.7.9.5
#28 lore raw

PATCH 5/10 qextserialport: new package

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Thomas> ---

 Thomas>  package/Config.in                                  |    1 +
 Thomas>  package/qextserialport/Config.in                   |    9 +++++
 Thomas>  .../qextserialport-main-include.patch              |   15 +++++++++
 Thomas>  .../qextserialport-no-examples.patch               |   17 ++++++++++
 Thomas>  .../qextserialport/qextserialport-pkgconfig.patch  |   19 +++++++++++
 Thomas>  package/qextserialport/qextserialport.mk           |   35

Committed with minor fixups to match current buildroot, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#29 lore raw

PATCH 6/10 pciutils: install headers and libraries in STAGING_DIR

In reply to Thomas Petazzoni

There are some tools, like flashrom, that build against libraries of pciutils.

---
 package/pciutils/pciutils.mk |    8 ++++++++
 1 file changed, 8 insertions(+)
package/pciutils/pciutils.mk +8 -0
index 37a17c4..7de5fd7 100644
@@ -6,6 +6,7 @@
 
 PCIUTILS_VERSION = 3.1.9
 PCIUTILS_SITE = ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci
+PCIUTILS_INSTALL_STAGING = YES
 ifeq ($(BR2_PACKAGE_ZLIB),y)
 	PCIUTILS_ZLIB=yes
 	PCIUTILS_DEPENDENCIES += zlib
@@ -50,4 +51,11 @@ define PCIUTILS_INSTALL_TARGET_CMDS
 		SHARED=$(PCIUTILS_SHARED) install-lib
 endef
 
+define PCIUTILS_INSTALL_STAGING_CMDS
+	$(MAKE) BUILDDIR=$(@D) -C $(@D) PREFIX=$(STAGING_DIR)/usr \
+		SHARED=$(PCIUTILS_SHARED) install
+	$(MAKE) BUILDDIR=$(@D) -C $(@D) PREFIX=$(STAGING_DIR)/usr \
+		SHARED=$(PCIUTILS_SHARED) install-lib
+endef
+
 $(eval $(call GENTARGETS))
Signature · 1 line
1.7.9.5
#30 lore raw

PATCH 6/10 pciutils: install headers and libraries in STAGING_DIR

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Thomas> There are some tools, like flashrom, that build against libraries of Thomas> pciutils.

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#31 lore raw

PATCH 7/10 dmidecode: new package

In reply to Thomas Petazzoni
---
 package/Config.in                                  |    1 +
 package/dmidecode/Config.in                        |    9 +++++
 .../dmidecode/dmidecode-build-system-fixes.patch   |   35 ++++++++++++++++++++
 package/dmidecode/dmidecode.mk                     |   18 ++++++++++
 4 files changed, 63 insertions(+)
 create mode 100644 package/dmidecode/Config.in
 create mode 100644 package/dmidecode/dmidecode-build-system-fixes.patch
 create mode 100644 package/dmidecode/dmidecode.mk
package/Config.in +1 -0
index 53d6bba..09ca9dd 100644
@@ -173,6 +173,7 @@ source "package/dbus-python/Config.in"
 if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
 source "package/devmem2/Config.in"
 endif
+source "package/dmidecode/Config.in"
 source "package/dmraid/Config.in"
 source "package/dosfstools/Config.in"
 source "package/e2fsprogs/Config.in"
package/dmidecode/Config.in new file +9 -0
new file mode 100644
index 0000000..22272ed
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_DMIDECODE
+	bool "dmidecode"
+	depends on BR2_i386 || BR2_x86_64
+	help
+	  Dmidecode reports information about your system's hardware
+	  as described in your system BIOS according to the SMBIOS/DMI
+	  standard.
+
+	  http://www.nongnu.org/dmidecode/
package/dmidecode/dmidecode-build-system-fixes.patch new file +35 -0
new file mode 100644
index 0000000..275f9df
@@ -0,0 +1,35 @@
+Minor build system fixes
+
+Usual build system fixes to allow CC/CFLAGS/LDFLAGS to be overriden
+from the command line, and completed by additional flags from the
+Makefile.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: b/Makefile
+===================================================================
+--- a/Makefile
++++ b/Makefile
+@@ -12,9 +12,10 @@
+ #   (at your option) any later version.
+ #
+ 
+-CC      = gcc
+-CFLAGS  = -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual \
+-          -Wcast-align -Wwrite-strings -Wmissing-prototypes -Winline -Wundef
++CC      ?= gcc
++override CFLAGS  += \
++	-W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual \
++        -Wcast-align -Wwrite-strings -Wmissing-prototypes -Winline -Wundef
+ #CFLAGS += -DBIGENDIAN
+ #CFLAGS += -DALIGNMENT_WORKAROUND
+ 
+@@ -23,7 +24,7 @@
+ #CFLAGS += -g
+ 
+ # Pass linker flags here
+-LDFLAGS =
++override LDFLAGS +=
+ 
+ DESTDIR =
+ prefix  = /usr/local
package/dmidecode/dmidecode.mk new file +18 -0
new file mode 100644
index 0000000..a036a7a
@@ -0,0 +1,18 @@
+#############################################################
+#
+# dmidecode
+#
+#############################################################
+
+DMIDECODE_VERSION = 2.11
+DMIDECODE_SITE    = http://download.savannah.gnu.org/releases/dmidecode/
+
+define DMIDECODE_BUILD_CMDS
+	$(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS)
+endef
+
+define DMIDECODE_INSTALL_TARGET_CMDS
+	$(MAKE) -C $(@D) prefix=/usr DESTDIR=$(TARGET_DIR) install
+endef
+
+$(eval $(call GENTARGETS))
Signature · 1 line
1.7.9.5
#32 lore raw

PATCH 7/10 dmidecode: new package

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Thomas> Signed-off-by: Thomas Petazzoni <[email protected]>

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#33 lore raw

PATCH 8/10 flashrom: new package

In reply to Thomas Petazzoni
---
 package/Config.in            |    1 +
 package/flashrom/Config.in   |   11 +++++++++++
 package/flashrom/flashrom.mk |   20 ++++++++++++++++++++
 3 files changed, 32 insertions(+)
 create mode 100644 package/flashrom/Config.in
 create mode 100644 package/flashrom/flashrom.mk
package/Config.in +1 -0
index 09ca9dd..36a2cd0 100644
@@ -178,6 +178,7 @@ source "package/dmraid/Config.in"
 source "package/dosfstools/Config.in"
 source "package/e2fsprogs/Config.in"
 source "package/eeprog/Config.in"
+source "package/flashrom/Config.in"
 source "package/fconfig/Config.in"
 source "package/fis/Config.in"
 source "package/fmtools/Config.in"
package/flashrom/Config.in new file +11 -0
new file mode 100644
index 0000000..956500f
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_FLASHROM
+	bool "flashrom"
+	select BR2_PACKAGE_PCIUTILS
+	# dmidecode is only a runtime dependency
+	select BR2_PACKAGE_DMIDECODE
+	depends on BR2_i386 || BR2_x86_64
+	help
+	  BIOS-updating utility.
+	  Requires PCIUtils libraries.
+
+	  http://flashrom.org/
package/flashrom/flashrom.mk new file +20 -0
new file mode 100644
index 0000000..323469a
@@ -0,0 +1,20 @@
+#############################################################
+#
+# flashrom
+#
+#############################################################
+FLASHROM_VERSION = 0.9.3
+FLASHROM_SOURCE  = flashrom-$(FLASHROM_VERSION).tar.bz2
+FLASHROM_SITE    = http://download.flashrom.org/releases
+
+FLASHROM_DEPENDENCIES = pciutils
+
+define FLASHROM_BUILD_CMDS
+	$(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)
+endef
+
+define FLASHROM_INSTALL_TARGET_CMDS
+	$(INSTALL) -m 0755 -D $(@D)/flashrom $(TARGET_DIR)/usr/bin/flashrom
+endef
+
+$(eval $(call GENTARGETS))
Signature · 1 line
1.7.9.5
#34 lore raw

PATCH 8/10 flashrom: new package

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Thomas> Signed-off-by: Thomas Petazzoni <[email protected]> Thomas> ---

Thomas> +############################################################# Thomas> +#
Thomas> +# flashrom
Thomas> +#
Thomas> +############################################################# Thomas> +FLASHROM_VERSION = 0.9.3
Thomas> +FLASHROM_SOURCE = flashrom-$(FLASHROM_VERSION).tar.bz2
Thomas> +FLASHROM_SITE = http://download.flashrom.org/releases
Thomas> +
Thomas> +FLASHROM_DEPENDENCIES = pciutils
Thomas> +
Thomas> +define FLASHROM_BUILD_CMDS
Thomas> + $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)
Thomas> +endef
Thomas> +
Thomas> +define FLASHROM_INSTALL_TARGET_CMDS
Thomas> + $(INSTALL) -m 0755 -D $(@D)/flashrom $(TARGET_DIR)/usr/bin/flashrom

I would have expected something like this doing hw access should go into /usr/sbin, and that's also where Debian places it so I've changed that and committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#35 lore raw

PATCH 9/10 qt: make $(HOST_DIR)/usr/mkspecs a symlink to $(STAGING_DIR)/usr/mkspecs

In reply to Thomas Petazzoni

In fact, not only qt can install stuff in $(STAGING_DIR)/usr/mkspecs, but also libraries that which to integrate with qmake, such as qwt. However, qmake and al. will look inside $(HOST_DIR)/usr/mkspecs, so the easiest solution is to have a symbolic between the two directories, instead of copying things around.

---
 package/qt/qt.mk |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
package/qt/qt.mk +1 -2
index 7e6c5dd..b751696 100644
@@ -583,8 +583,7 @@ define QT_INSTALL_STAGING_CMDS
 	$(MAKE) -C $(@D) install
 	mkdir -p $(HOST_DIR)/usr/bin
 	mv $(addprefix $(STAGING_DIR)/usr/bin/,$(QT_HOST_PROGRAMS)) $(HOST_DIR)/usr/bin
-	rm -rf $(HOST_DIR)/usr/mkspecs
-	mv $(STAGING_DIR)/usr/mkspecs $(HOST_DIR)/usr
+	ln -sf $(STAGING_DIR)/usr/mkspecs $(HOST_DIR)/usr/mkspecs
 	$(QT_INSTALL_QT_CONF)
 endef
 
Signature · 1 line
1.7.9.5
#36 lore raw

PATCH 9/10 qt: make $(HOST_DIR)/usr/mkspecs a symlink to $(STAGING_DIR)/usr/mkspecs

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Thomas> In fact, not only qt can install stuff in $(STAGING_DIR)/usr/mkspecs, Thomas> but also libraries that which to integrate with qmake, such as

s/which/wish/

Thomas> qwt. However, qmake and al. will look inside $(HOST_DIR)/usr/mkspecs, Thomas> so the easiest solution is to have a symbolic between the two

s/symbolic/symbolic link/

Committed with these fixes, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#37 lore raw

PATCH 10/10 libqwt: new package

In reply to Thomas Petazzoni

From: Laurent GONZALEZ <[email protected]>

Patch initially written by Thomas Petazzoni, then reworked and updated by Laurent Gonzalez, and finally cleaned up by Thomas again.

---
 package/Config.in                                  |    1 +
 package/libqwt/Config.in                           |   23 +++++++++
 package/libqwt/libqwt-remove-installed-check.patch |   32 ++++++++++++
 package/libqwt/libqwt.mk                           |   51 ++++++++++++++++++++
 4 files changed, 107 insertions(+)
 create mode 100644 package/libqwt/Config.in
 create mode 100644 package/libqwt/libqwt-remove-installed-check.patch
 create mode 100644 package/libqwt/libqwt.mk
package/Config.in +1 -0
index 36a2cd0..d3a1444 100644
@@ -348,6 +348,7 @@ source "package/libglade/Config.in"
 source "package/gdk-pixbuf/Config.in"
 source "package/libgtk2/Config.in"
 source "package/libpng/Config.in"
+source "package/libqwt/Config.in"
 source "package/libraw/Config.in"
 source "package/librsvg/Config.in"
 source "package/libsvgtiny/Config.in"
package/libqwt/Config.in new file +23 -0
new file mode 100644
index 0000000..48b27ca
@@ -0,0 +1,23 @@
+config BR2_PACKAGE_LIBQWT
+	bool "libqwt"
+	depends on BR2_PACKAGE_QT
+	select BR2_PACKAGE_QT_GUI_MODULE
+	help
+	  Qwt is a graphics extension to the Qt GUI application
+	  framework. It provides a 2D plotting widget and more.
+
+	  http://http://sourceforge.net/projects/qwt
+
+if BR2_PACKAGE_LIBQWT
+
+config BR2_PACKAGE_LIBQWT_SVG
+	bool "SVG support"
+	select BR2_PACKAGE_QT_SVG
+
+config BR2_PACKAGE_LIBQWT_MATHML
+	bool "MathML support"
+
+endif
+
+comment "libqwt requires qt"
+	depends on !BR2_PACKAGE_QT
package/libqwt/libqwt-remove-installed-check.patch new file +32 -0
new file mode 100644
index 0000000..7490a7b
@@ -0,0 +1,32 @@
+Remove useless check at build time
+
+At build time, Qwt looks whether the Qwt libraries are already
+installed in the destination directory, to avoid confusion between
+libraries installed system-wide and locally-built shared
+libraries. However, this behaviour conflicts with how Buildroot builds
+and installs libraries, so get rid of it.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: qwt-6.0.0/qwtbuild.pri
+===================================================================
+--- qwt-6.0.0.orig/qwtbuild.pri	2011-09-12 19:37:35.663275952 +0200
++++ qwt-6.0.0/qwtbuild.pri	2011-09-12 19:37:41.913275949 +0200
+@@ -53,17 +53,3 @@
+ !debug_and_release {
+     OBJECTS_DIR       = obj
+ }
+-
+-unix {
+-
+-    exists( $${QMAKE_LIBDIR_QT}/libqwt.* ) {
+-
+-        # On some Linux distributions the Qwt libraries are installed 
+-        # in the same directory as the Qt libraries. Unfortunately
+-        # qmake always adds QMAKE_LIBDIR_QT at the beginning of the 
+-        # linker path, so that the installed libraries will be
+-        # used instead of the local ones.
+-
+-        error( "local build will conflict with $${QMAKE_LIBDIR_QT}/libqwt.*" )
+-    }
+-}
package/libqwt/libqwt.mk new file +51 -0

51 lines not on this page · raw message

Signature · 1 line
1.7.9.5
#38 lore raw

PATCH 10/10 libqwt: new package

Quoted 155 lines · Thomas Petazzoni

From: Laurent GONZALEZ <[email protected]>

Patch initially written by Thomas Petazzoni, then reworked and updated by Laurent Gonzalez, and finally cleaned up by Thomas again.

---
 package/Config.in                                  |    1 +
 package/libqwt/Config.in                           |   23 +++++++++
 package/libqwt/libqwt-remove-installed-check.patch |   32 ++++++++++++
 package/libqwt/libqwt.mk                           |   51 ++++++++++++++++++++
 4 files changed, 107 insertions(+)
 create mode 100644 package/libqwt/Config.in
 create mode 100644 package/libqwt/libqwt-remove-installed-check.patch
 create mode 100644 package/libqwt/libqwt.mk
package/Config.in +1 -0
index 36a2cd0..d3a1444 100644
@@ -348,6 +348,7 @@ source "package/libglade/Config.in"
 source "package/gdk-pixbuf/Config.in"
 source "package/libgtk2/Config.in"
 source "package/libpng/Config.in"
+source "package/libqwt/Config.in"
 source "package/libraw/Config.in"
 source "package/librsvg/Config.in"
 source "package/libsvgtiny/Config.in"
package/libqwt/Config.in new file +23 -0
new file mode 100644
index 0000000..48b27ca
@@ -0,0 +1,23 @@
+config BR2_PACKAGE_LIBQWT
+       bool "libqwt"
+       depends on BR2_PACKAGE_QT
+       select BR2_PACKAGE_QT_GUI_MODULE
+       help
+         Qwt is a graphics extension to the Qt GUI application
+         framework. It provides a 2D plotting widget and more.
+
+         http://http://sourceforge.net/projects/qwt
+
+if BR2_PACKAGE_LIBQWT
+
+config BR2_PACKAGE_LIBQWT_SVG
+       bool "SVG support"
+       select BR2_PACKAGE_QT_SVG
+
+config BR2_PACKAGE_LIBQWT_MATHML
+       bool "MathML support"
+
+endif
+
+comment "libqwt requires qt"
+       depends on !BR2_PACKAGE_QT
package/libqwt/libqwt-remove-installed-check.patch new file +32 -0
new file mode 100644
index 0000000..7490a7b
@@ -0,0 +1,32 @@
+Remove useless check at build time
+
+At build time, Qwt looks whether the Qwt libraries are already
+installed in the destination directory, to avoid confusion between
+libraries installed system-wide and locally-built shared
+libraries. However, this behaviour conflicts with how Buildroot builds
+and installs libraries, so get rid of it.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: qwt-6.0.0/qwtbuild.pri
+===================================================================
+--- qwt-6.0.0.orig/qwtbuild.pri        2011-09-12 19:37:35.663275952 +0200
++++ qwt-6.0.0/qwtbuild.pri     2011-09-12 19:37:41.913275949 +0200
+@@ -53,17 +53,3 @@
+ !debug_and_release {
+     OBJECTS_DIR       = obj
+ }
+-
+-unix {
+-
+-    exists( $${QMAKE_LIBDIR_QT}/libqwt.* ) {
+-
+-        # On some Linux distributions the Qwt libraries are installed
+-        # in the same directory as the Qt libraries. Unfortunately
+-        # qmake always adds QMAKE_LIBDIR_QT at the beginning of the
+-        # linker path, so that the installed libraries will be
+-        # used instead of the local ones.
+-
+-        error( "local build will conflict with $${QMAKE_LIBDIR_QT}/libqwt.*" )
+-    }
+-}
package/libqwt/libqwt.mk new file +51 -1
new file mode 100644
index 0000000..44d7eda
@@ -0,0 +1,51 @@
+#############################################################
+#
+# libqwt
+#
+#############################################################
+LIBQWT_VERSION = 6.0.1
+LIBQWT_SOURCE = qwt-$(LIBQWT_VERSION).tar.bz2
+LIBQWT_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/qwt/qwt/$(LIBQWT_VERSION)/
+LIBQWT_INSTALL_STAGING = YES
+LIBQWT_DEPENDENCIES = qt
+
+LIBQWT_CONFIG  =    's%QWT_INSTALL_PREFIX.*/usr/local/.*%QWT_INSTALL_PREFIX = /usr%'
+LIBQWT_CONFIG += -e 's/^.*QWT_CONFIG.*QwtDesigner.*$$/\# QWT_CONFIG += QwtDesigner/'
+LIBQWT_CONFIG += -e 's%/features%/mkspecs/features%'
+
+ifeq ($(BR2_PACKAGE_LIBQWT_SVG),y)
+       LIBQWT_CONFIG += -e 's/^.*QWT_CONFIG.*QwtSvg.*$$/QWT_CONFIG += QwtSvg/'
+else
+       LIBQWT_CONFIG += -e 's/^.*QWT_CONFIG.*QwtSvg.*$$/\# QWT_CONFIG += QwtSvg/'
+endif
+
+ifeq ($(BR2_PACKAGE_LIBQWT_MATHML),y)
+       LIBQWT_CONFIG += -e 's/^.*QWT_CONFIG.*QwtMathML.*$$/QWT_CONFIG += QwtMathML/'
+else
+       LIBQWT_CONFIG += -e 's/^.*QWT_CONFIG.*QwtMathML.*$$/\# QWT_CONFIG += QwtMathML/'
+endif
+
+define LIBQWT_CONFIGURE_CMDS
+       $(SED) $(LIBQWT_CONFIG) $(@D)/qwtconfig.pri
+       (cd $(@D); $(QT_QMAKE))
+endef
+
+define LIBQWT_BUILD_CMDS
+       $(MAKE) -C $(@D)
+endef
+
+# After installation, we fixup the INSTALL_PREFIX in qwtconfig.pri so
+# that when building with qmake, -L$(STAGING_DIR)/usr/lib is used and
+# not -L/usr/lib.
+define LIBQWT_INSTALL_STAGING_CMDS
+       $(MAKE) -C $(@D) install INSTALL_ROOT=$(STAGING_DIR)
+       $(SED) "s%QWT_INSTALL_PREFIX = .*%QWT_INSTALL_PREFIX = $(STAGING_DIR)/usr%" \
+               $(STAGING_DIR)/usr/mkspecs/features/qwtconfig.pri
+endef
+
+define LIBQWT_INSTALL_TARGET_CMDS
+       $(MAKE) -C $(@D) install INSTALL_ROOT=$(TARGET_DIR)
+       rm -Rf $(TARGET_DIR)/usr/mkspecs
+endef
+
+$(eval $(call GENTARGETS))
--

1.7.9.5

Quoted 4 lines

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

ping?

#39 lore raw

PATCH 10/10 libqwt: new package

In reply to Thomas Petazzoni
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Thomas> From: Laurent GONZALEZ <[email protected]>
Thomas> Patch initially written by Thomas Petazzoni, then reworked and updated Thomas> by Laurent Gonzalez, and finally cleaned up by Thomas again.

Committed with minor fixes to match BR changes, thanks.

Thomas> diff --git a/package/libqwt/Config.in b/package/libqwt/Config.in Thomas> new file mode 100644
Thomas> index 0000000..48b27ca
Thomas> --- /dev/null
Thomas> +++ b/package/libqwt/Config.in
Thomas> @@ -0,0 +1,23 @@
Thomas> +config BR2_PACKAGE_LIBQWT

I've dropped 'lib' and just called it BR2_PACKAGE_QWT. I've also moved it up under qt and changed the QT_GUI_MODULE to a depends on similar to qtuio.

Signature · 1 line
Bye, Peter Korsgaard