forked from OSSystems/meta-oe
-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This module is an interface to libxml2, providing XML and HTML parsers \ with DOM, SAX and XMLReader interfaces, a large subset of DOM Layer 3 \ interface and a XML::XPath-like interface to XPath API of libxml2. \ The module is split into several packages which are not described in this \ section; unless stated otherwise, you only need to use XML::LibXML; in \ your programs. Signed-off-by: Roy Li <[email protected]> Acked-by: Hongxu Jia <[email protected]> Signed-off-by: Martin Jansa <[email protected]>
- Loading branch information
1 parent
764c5c0
commit 743751e
Showing
4 changed files
with
248 additions
and
0 deletions.
There are no files selected for viewing
79 changes: 79 additions & 0 deletions
79
meta-perl/recipes-perl/libxml/libxml-libxml-perl/disable-libxml2-check.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
Do not use the _libxml_check_lib() on cross-compile | ||
|
||
Upstream-Status: Inappropriate [configuration] | ||
|
||
xml2 have been added into package's DEPENDS, so not need to use the | ||
_libxml_check_lib() to check it again, and _libxml_check_lib() always | ||
return false on cross-compile environment | ||
|
||
Signed-off-by: Roy Li <[email protected]> | ||
--- | ||
Makefile.PL | 52 ++++++++++++++++++++++++++-------------------------- | ||
1 file changed, 26 insertions(+), 26 deletions(-) | ||
|
||
diff --git a/Makefile.PL b/Makefile.PL | ||
index c0485f1..09c676b 100644 | ||
--- a/Makefile.PL | ||
+++ b/Makefile.PL | ||
@@ -411,32 +411,32 @@ sub _libxml_check_lib { | ||
} | ||
} | ||
|
||
-print "Checking for ability to link against xml2..."; | ||
-if ( _libxml_check_lib('xml2') ) { | ||
- print "yes\n"; | ||
-} | ||
-else { | ||
- print "no\n"; | ||
- print "Checking for ability to link against libxml2..."; | ||
- if ( _libxml_check_lib('libxml2')) { | ||
- print "yes\n"; | ||
- } | ||
- else { | ||
- print STDERR <<"DEATH"; | ||
-libxml2, zlib, and/or the Math library (-lm) have not been found. | ||
-Try setting LIBS and INC values on the command line | ||
-Or get libxml2 from | ||
- http://xmlsoft.org/ | ||
-If you install via RPMs, make sure you also install the -devel | ||
-RPMs, as this is where the headers (.h files) are. | ||
- | ||
-Also, you may try to run perl Makefile.PL with the DEBUG=1 parameter | ||
-to see the exact reason why the detection of libxml2 installation | ||
-failed or why Makefile.PL was not able to compile a test program. | ||
-DEATH | ||
- exit 0; # 0 recommended by http://cpantest.grango.org (Notes for CPAN Authors) | ||
- } | ||
-} | ||
+#print "Checking for ability to link against xml2..."; | ||
+#if ( _libxml_check_lib('xml2') ) { | ||
+# print "yes\n"; | ||
+#} | ||
+#else { | ||
+# print "no\n"; | ||
+# print "Checking for ability to link against libxml2..."; | ||
+# if ( _libxml_check_lib('libxml2')) { | ||
+# print "yes\n"; | ||
+# } | ||
+# else { | ||
+# print STDERR <<"DEATH"; | ||
+#libxml2, zlib, and/or the Math library (-lm) have not been found. | ||
+#Try setting LIBS and INC values on the command line | ||
+#Or get libxml2 from | ||
+# http://xmlsoft.org/ | ||
+#If you install via RPMs, make sure you also install the -devel | ||
+#RPMs, as this is where the headers (.h files) are. | ||
+# | ||
+#Also, you may try to run perl Makefile.PL with the DEBUG=1 parameter | ||
+#to see the exact reason why the detection of libxml2 installation | ||
+#failed or why Makefile.PL was not able to compile a test program. | ||
+#DEATH | ||
+# exit 0; # 0 recommended by http://cpantest.grango.org (Notes for CPAN Authors) | ||
+# } | ||
+#} | ||
|
||
# -------------------------------------------------------------------------- # | ||
# _NOW_ write the Makefile | ||
-- | ||
1.7.10.4 | ||
|
31 changes: 31 additions & 0 deletions
31
meta-perl/recipes-perl/libxml/libxml-libxml-perl/fix-CATALOG-conditional-compile.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
[PATCH] Fix a compile error | ||
|
||
Upstream-Status: Pending | ||
|
||
Fix a compile error by conditional using 'catal' since catal | ||
is only defined when LIBXML_CATALOG_ENABLED is enabled. | ||
|
||
Signed-off-by: Roy Li <[email protected]> | ||
--- | ||
LibXML.xs | 2 ++ | ||
1 file changed, 2 insertions(+) | ||
|
||
diff --git a/LibXML.xs b/LibXML.xs | ||
index 66da04b..45da681 100644 | ||
--- a/LibXML.xs | ||
+++ b/LibXML.xs | ||
@@ -2777,9 +2777,11 @@ _default_catalog( self, catalog ) | ||
xmlCatalogPtr catal = INT2PTR(xmlCatalogPtr,SvIV(SvRV(catalog))); | ||
#endif | ||
INIT: | ||
+#ifdef LIBXML_CATALOG_ENABLED | ||
if ( catal == NULL ) { | ||
croak( "empty catalog\n" ); | ||
} | ||
+#endif | ||
CODE: | ||
warn( "this feature is not implemented" ); | ||
RETVAL = 0; | ||
-- | ||
1.7.10.4 | ||
|
91 changes: 91 additions & 0 deletions
91
meta-perl/recipes-perl/libxml/libxml-libxml-perl/using-DOCB-conditional.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
[PATCH] Fix a compile error | ||
|
||
Upstream-Status: Pending | ||
|
||
by conditional using 'XML_DOCB_DOCUMENT_NODE' since it is only | ||
defined when LIBXML_DOCB_ENABLED is enabled in xmlversion.h. | ||
|
||
Signed-off-by: Roy Li <[email protected]> | ||
--- | ||
LibXML.xs | 9 +- | ||
dom.c | 2 + | ||
perl-libxml-mm.c | 4 + | ||
4 files changed, 678 insertions(+), 658 deletions(-) | ||
|
||
diff --git a/LibXML.xs b/LibXML.xs | ||
index b299ba4..66da04b 100644 | ||
--- a/LibXML.xs | ||
+++ b/LibXML.xs | ||
@@ -5026,7 +5026,9 @@ addChild( self, nNode ) | ||
XSRETURN_UNDEF; | ||
case XML_DOCUMENT_NODE : | ||
case XML_HTML_DOCUMENT_NODE : | ||
+#ifdef LIBXML_DOCB_ENABLED | ||
case XML_DOCB_DOCUMENT_NODE : | ||
+#endif | ||
croak("addChild: HIERARCHY_REQUEST_ERR\n"); | ||
XSRETURN_UNDEF; | ||
case XML_NOTATION_NODE : | ||
@@ -5286,7 +5288,9 @@ _toStringC14N(self, comments=0, xpath=&PL_sv_undef, exclusive=0, inc_prefix_list | ||
if ( nodepath == NULL | ||
&& self->type != XML_DOCUMENT_NODE | ||
&& self->type != XML_HTML_DOCUMENT_NODE | ||
+#ifdef LIBXML_DOCB_ENABLED | ||
&& self->type != XML_DOCB_DOCUMENT_NODE | ||
+#endif | ||
) { | ||
if (comments) | ||
nodepath = xmlStrdup( (const xmlChar *) "(. | .//node() | .//@* | .//namespace::*)" ); | ||
@@ -5297,7 +5301,10 @@ _toStringC14N(self, comments=0, xpath=&PL_sv_undef, exclusive=0, inc_prefix_list | ||
if ( nodepath != NULL ) { | ||
if ( self->type == XML_DOCUMENT_NODE | ||
|| self->type == XML_HTML_DOCUMENT_NODE | ||
- || self->type == XML_DOCB_DOCUMENT_NODE ) { | ||
+#ifdef LIBXML_DOCB_ENABLED | ||
+ || self->type == XML_DOCB_DOCUMENT_NODE | ||
+#endif | ||
+ ) { | ||
refNode = xmlDocGetRootElement( self->doc ); | ||
} | ||
if (SvOK(xpath_context)) { | ||
diff --git a/dom.c b/dom.c | ||
index 87eb61d..cbd391b 100644 | ||
--- a/dom.c | ||
+++ b/dom.c | ||
@@ -654,7 +654,9 @@ domName(xmlNodePtr node) { | ||
|
||
case XML_DOCUMENT_NODE : | ||
case XML_HTML_DOCUMENT_NODE : | ||
+#ifdef LIBXML_DOCB_ENABLED | ||
case XML_DOCB_DOCUMENT_NODE : | ||
+#endif | ||
name = (const xmlChar *) "#document"; | ||
break; | ||
|
||
diff --git a/perl-libxml-mm.c b/perl-libxml-mm.c | ||
index d162b06..7ac5436 100644 | ||
--- a/perl-libxml-mm.c | ||
+++ b/perl-libxml-mm.c | ||
@@ -331,7 +331,9 @@ PmmNewNode(xmlNodePtr node) | ||
switch ( node->type ) { | ||
case XML_DOCUMENT_NODE: | ||
case XML_HTML_DOCUMENT_NODE: | ||
+#ifdef LIBXML_DOCB_ENABLED | ||
case XML_DOCB_DOCUMENT_NODE: | ||
+#endif | ||
proxy = (ProxyNodePtr)xmlMalloc(sizeof(struct _DocProxyNode)); | ||
if (proxy != NULL) { | ||
((DocProxyNodePtr)proxy)->psvi_status = Pmm_NO_PSVI; | ||
@@ -550,7 +552,9 @@ PmmNodeToSv( xmlNodePtr node, ProxyNodePtr owner ) | ||
switch ( node->type ) { | ||
case XML_DOCUMENT_NODE: | ||
case XML_HTML_DOCUMENT_NODE: | ||
+#ifdef LIBXML_DOCB_ENABLED | ||
case XML_DOCB_DOCUMENT_NODE: | ||
+#endif | ||
if ( ((xmlDocPtr)node)->encoding != NULL ) { | ||
SetPmmENCODING(dfProxy, (int)xmlParseCharEncoding( (const char*)((xmlDocPtr)node)->encoding )); | ||
} | ||
-- | ||
1.7.10.4 | ||
|
47 changes: 47 additions & 0 deletions
47
meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0116.bb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
SUMMARY = "Perl interface to the libxml2 library" | ||
DESCRIPTION = "This module is an interface to libxml2, providing XML and HTML parsers \ | ||
with DOM, SAX and XMLReader interfaces, a large subset of DOM Layer 3 \ | ||
interface and a XML::XPath-like interface to XPath API of libxml2. \ | ||
The module is split into several packages which are not described in this \ | ||
section; unless stated otherwise, you only need to use XML::LibXML; in \ | ||
your programs." | ||
|
||
HOMEPAGE = "http://search.cpan.org/dist/XML-LibXML-1.99/" | ||
SECTION = "libs" | ||
LICENSE = "Artistic-1.0|GPLv1+" | ||
DEPENDS += "libxml2 \ | ||
libxml-sax-perl-native \ | ||
zlib \ | ||
" | ||
RDEPENDS_${PN} += "libxml2 \ | ||
libxml-sax-perl \ | ||
libxml-sax-base-perl \ | ||
zlib \ | ||
" | ||
|
||
SRC_URI = "http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/XML-LibXML-${PV}.tar.gz;name=libxml \ | ||
file://disable-libxml2-check.patch \ | ||
file://fix-CATALOG-conditional-compile.patch \ | ||
file://using-DOCB-conditional.patch \ | ||
" | ||
LIC_FILES_CHKSUM = "file://debian/copyright;md5=75e021e35a906347f46c9ff163653e2a \ | ||
file://LICENSE;md5=97871bde150daeb5e61ad95137ff2446" | ||
SRC_URI[libxml.md5sum] = "a53a743bf053a0cb4afb41513fb8a684" | ||
SRC_URI[libxml.sha256sum] = "b154f2dad3033b30d22ac81b8985b69ad35450b0c552db394cd03bb36845812a" | ||
|
||
S = "${WORKDIR}/XML-LibXML-${PV}" | ||
|
||
inherit cpan | ||
|
||
EXTRA_CPANFLAGS = "INC=-I${STAGING_INCDIR}/libxml2 LIBS=-L${STAGING_LIBDIR}" | ||
|
||
BBCLASSEXTEND = "native" | ||
|
||
CFLAGS += " -D_GNU_SOURCE " | ||
BUILD_CFLAGS += " -D_GNU_SOURCE " | ||
|
||
do_configure_prepend() { | ||
rm -rf ${S}/.pc/* | ||
} | ||
|
||
FILES_${PN}-dbg =+ "${libdir}/perl/vendor_perl/*/auto/XML/LibXML/.debug/" |