summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--textproc/p5-XML-LibXSLT/Makefile1
-rw-r--r--textproc/p5-XML-LibXSLT/files/patch-LibXSLT.xs33
2 files changed, 34 insertions, 0 deletions
diff --git a/textproc/p5-XML-LibXSLT/Makefile b/textproc/p5-XML-LibXSLT/Makefile
index f7651059c985..a841aba8cdb7 100644
--- a/textproc/p5-XML-LibXSLT/Makefile
+++ b/textproc/p5-XML-LibXSLT/Makefile
@@ -7,6 +7,7 @@
PORTNAME= XML-LibXSLT
PORTVERSION= 1.57
+PORTREVISION= 1
CATEGORIES= textproc perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN}
MASTER_SITE_SUBDIR= XML
diff --git a/textproc/p5-XML-LibXSLT/files/patch-LibXSLT.xs b/textproc/p5-XML-LibXSLT/files/patch-LibXSLT.xs
new file mode 100644
index 000000000000..f94d65703e5c
--- /dev/null
+++ b/textproc/p5-XML-LibXSLT/files/patch-LibXSLT.xs
@@ -0,0 +1,33 @@
+--- LibXSLT.xs.orig Mon Mar 1 18:42:43 2004
++++ LibXSLT.xs Mon Apr 11 08:07:33 2005
+@@ -772,6 +772,7 @@
+ xmlDocPtr real_dom;
+ xmlDocPtr doc;
+ STRLEN len;
++ xsltTransformContextPtr ctxt;
+ CODE:
+ if (sv_doc == NULL) {
+ XSRETURN_UNDEF;
+@@ -806,10 +807,21 @@
+ (xmlInputOpenCallback) LibXSLT_input_open,
+ (xmlInputReadCallback) LibXSLT_input_read,
+ (xmlInputCloseCallback) LibXSLT_input_close);
+- real_dom = xsltApplyStylesheet(self, doc, xslt_params);
++
++ ctxt = xsltNewTransformContext(self, doc);
++ if (ctxt == NULL)
++ return;
++
++ xsltSetCtxtParseOptions(ctxt, 0);
++
++ if (xsltGetXIncludeDefault())
++ ctxt->xinclude = 1;
++
++ real_dom = xsltApplyStylesheetUser(self, doc, xslt_params, NULL, NULL, ctxt);
+
+ xmlCleanupInputCallbacks();
+ xmlRegisterDefaultInputCallbacks();
++ xsltFreeTransformContext(ctxt);
+
+ if (real_dom == NULL) {
+ if (SvTRUE(ERRSV)) {