[oe] Patch to fix libxml++ build failure in meta-oe

Lewis, Nick nick.lewis at usa.g4s.com
Wed Jan 8 09:12:34 UTC 2014


>From 172c9f6886a78d90f95560d61b92b7afa7098251 Mon Sep 17 00:00:00 2001
From: Nick Lewis <nick.lewis at usa.g4s.com>
Date: Wed, 8 Jan 2014 08:43:50 +0000
Subject: [PATCH] Use libxml++ version 2.37.1 and add ptest support


Signed-off-by: Nick Lewis <nick.lewis at usa.g4s.com>
---
 .../libxml/libxml++-2.37.1/libxml++_ptest.patch    |   73 ++++++++++++++++++++
 .../recipes-core/libxml/libxml++-2.37.1/run-ptest  |    3 +
 meta-oe/recipes-core/libxml/libxml++_2.37.1.bb     |   34 +++++++++
 3 files changed, 110 insertions(+)
 create mode 100644 meta-oe/recipes-core/libxml/libxml++-2.37.1/libxml++_ptest.patch
 create mode 100644 meta-oe/recipes-core/libxml/libxml++-2.37.1/run-ptest
 create mode 100644 meta-oe/recipes-core/libxml/libxml++_2.37.1.bb

diff --git a/meta-oe/recipes-core/libxml/libxml++-2.37.1/libxml++_ptest.patch b/meta-oe/recipes-core/libxml/libxml++-2.37.1/libxml++_ptest.patch
new file mode 100644
index 0000000..a18822f
--- /dev/null
+++ b/meta-oe/recipes-core/libxml/libxml++-2.37.1/libxml++_ptest.patch
@@ -0,0 +1,73 @@
+diff --git a/Makefile.am b/Makefile.am
+index d4aadb1..0e36756 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -253,5 +253,8 @@ post-html: docs/index.html
+       rsync $(rsync_args) -r docs/index.html $$USER,libxmlplusplus at web.sourceforge.net:$(web_path_project)
+       rsync $(rsync_args) -r examples $$USER,libxmlplusplus at web.sourceforge.net:$(web_path_project)
+
++install-ptest:
++      make -C examples install-ptest
++
+ # Optional: auto-generate the ChangeLog file from the git log on make dist
+ include $(top_srcdir)/macros/dist-changelog.am
+diff --git a/examples/Makefile.am b/examples/Makefile.am
+index d9541ca..c28b49c 100644
+--- a/examples/Makefile.am
++++ b/examples/Makefile.am
+@@ -36,6 +36,23 @@ check_PROGRAMS = \
+   schemavalidation/schemavalidation \
+   textreader/textreader
+
++check_DOTLIBS = \
++  dom_build/.libs/dom_build \
++  dom_parse_entities/.libs/dom_parse_entities \
++  dom_parser/.libs/dom_parser \
++  dom_parser_raw/.libs/dom_parser_raw \
++  dom_read_write/.libs/dom_read_write \
++  dom_xinclude/.libs/dom_xinclude \
++  dom_xpath/.libs/dom_xpath \
++  dtdvalidation/.libs/dtdvalidation \
++  import_node/.libs/import_node \
++  sax_exception/.libs/sax_exception \
++  sax_parser/.libs/sax_parser \
++  sax_parser_build_dom/.libs/sax_parser_build_dom \
++  sax_parser_entities/.libs/sax_parser_entities \
++  schemavalidation/.libs/schemavalidation \
++  textreader/.libs/textreader
++
+ # Shell scripts that call the example programs.
+ check_SCRIPTS = \
+   dom_build/make_check.sh \
+@@ -147,10 +164,10 @@ dist_noinst_DATA = \
+ # file are located in different directories.
+ dom_read_write/make_check.sh: Makefile
+       echo '# Generated and used by "make check"' >$@
+-      echo 'dom_read_write/dom_read_write "$(srcdir)/dom_read_write/example.xml" dom_read_write/example_output.xml >/dev/null' >>$@
++      echo 'dom_read_write/.libs/dom_read_write "$(srcdir)/dom_read_write/example.xml" dom_read_write/example_output.xml >/dev/null' >>$@
+       chmod +x $@
+
+-script_template = cd "$(srcdir)/<!progname!>" && "$(abs_builddir)/<!progname!>/<!progname!>" >/dev/null
++script_template = cd "$(srcdir)/<!progname!>" && ".libs/<!progname!>" >/dev/null
+ standard_scripts = $(filter-out dom_read_write/make_check.sh,$(check_SCRIPTS))
+
+ # All other script files are generated like so:
+@@ -162,3 +179,18 @@ $(standard_scripts): Makefile
+ CLEANFILES = \
+   dom_read_write/example_output.xml \
+   $(check_SCRIPTS)
++
++buildtest: all
++      $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(check_SCRIPTS)
++      $(MAKE) $(AM_MAKEFLAGS) buildtest-TESTS
++
++install-ptest:
++      $(MKDIR_P) $(DESTDIR)/examples
++      cp --parents $(check_DOTLIBS) $(DESTDIR)/examples
++      cp --parents $(check_SCRIPTS) $(DESTDIR)/examples
++      cp --parents $(dist_noinst_DATA) $(DESTDIR)/examples
++      cp Makefile $(DESTDIR)/examples
++      $(MKDIR_P) $(DESTDIR)/macros
++      cp ../macros/test-driver $(DESTDIR)/macros
++      sed -i -e 's|^Makefile:|_Makefile:|' $(DESTDIR)/examples/Makefile
++
diff --git a/meta-oe/recipes-core/libxml/libxml++-2.37.1/run-ptest b/meta-oe/recipes-core/libxml/libxml++-2.37.1/run-ptest
new file mode 100644
index 0000000..236f667
--- /dev/null
+++ b/meta-oe/recipes-core/libxml/libxml++-2.37.1/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+cd examples
+make -k check-TESTS
diff --git a/meta-oe/recipes-core/libxml/libxml++_2.37.1.bb b/meta-oe/recipes-core/libxml/libxml++_2.37.1.bb
new file mode 100644
index 0000000..604877d
--- /dev/null
+++ b/meta-oe/recipes-core/libxml/libxml++_2.37.1.bb
@@ -0,0 +1,34 @@
+SUMMARY = "C++ wrapper for libxml library"
+DESCRIPTION = "C++ wrapper for libxml library"
+HOMEPAGE = "http://libxmlplusplus.sourceforge.net"
+BUGTRACKER = "http://bugzilla.gnome.org/buglist.cgi?product=libxml%2B%2B"
+SECTION = "libs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 "
+
+PR = "r0"
+
+SHRT_VER = "${@d.getVar('PV',True).split('.')[0]}.${@d.getVar('PV',True).split('.')[1]}"
+SRC_URI = "${GNOME_MIRROR}/${BPN}/${SHRT_VER}/${BP}.tar.xz"
+
+SRC_URI[md5sum] = "2f9372a6eba6e40206c11f558a8fbc32"
+SRC_URI[sha256sum] = "f3b183600532a92af355719210223f858857092b8b1531c7907155c59a6db39f"
+
+DEPENDS = "libxml2 glibmm"
+
+inherit autotools pkgconfig
+
+FILES_${PN}-doc += "${datadir}/devhelp"
+FILES_${PN}-dev += "${libdir}/libxml++-2.6/include/libxml++config.h"
+
+SRC_URI += "file://libxml++_ptest.patch \
+            file://run-ptest"
+
+inherit ptest
+
+RDEPENDS_${PN}-ptest += "make"
+
+do_compile_ptest() {
+  oe_runmake -C examples buildtest
+}
+
--
1.7.9.5


The details of this company are as follows:
G4S Technology Limited, Registered Office: Challenge House, International Drive, Tewkesbury, Gloucestershire GL20 8UQ, Registered in England No. 2382338.

This communication may contain information which is confidential, personal and/or privileged.

It is for the exclusive use of the intended recipient(s).
If you are not the intended recipient(s), please note that any distribution, forwarding, copying or use of this communication or the information in it is strictly prohibited.

Any personal views expressed in this e-mail are those of the individual sender and the company does not endorse or accept responsibility for them.

Prior to taking any action based upon this e-mail message, you should seek appropriate confirmation of its authenticity.

This e-mail has been scanned for all viruses by MessageLabs.



More information about the Openembedded-devel mailing list