mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-15 17:06:58 +02:00
dev-libs/libxslt: Sync with gentoo
It's from gentoo commit 229a5092cf8a418e4a2edae8afcbf2f3e45bde83. It drops the python dependency.
This commit is contained in:
parent
a195eddde8
commit
5c20434b8d
@ -1 +1,2 @@
|
||||
DIST libxslt-1.1.30.tar.gz 3444029 BLAKE2B 668371393a11c0c16d1549fe771fef7dea96a7208f359578b773c9e7d4c6c4accbe43500e960d58e8f2275682a839582f1f40c1bd984745b8e3944a1d9a97582 SHA512 d24e37398503b6bc29245a993738df51bf3948c4a8f052eedd7eac0a9fcff2d5b54220f37070c46f763e073c34bdb3153c9f129aa0df60c3d7cf7eadbbf15986
|
||||
DIST libxslt-1.1.34.tar.gz 3552258 BLAKE2B f043a0357e0705ab68041adf4031a6b3e0b5c3d396691c988a34963a0ee0ebe3bede2d1d7a0c5f0c42c046183653c94f4b51e10e35980a039c8cad446e84ad86 SHA512 1516a11ad608b04740674060d2c5d733b88889de5e413b9a4e8bf8d1a90d712149df6d2b1345b615f529d7c7d3fa6dae12e544da828b39c7d415e54c0ee0776b
|
||||
DIST libxslt-1.1.34.tar.gz.asc 488 BLAKE2B fff407ab2c2bbafa804e5a1f84ca447c706d75fd7489c99ac6040b625d0417a0e6c189be3457e6cc6ecd6b7860829875ea95a132fef24f8a532156361f8a5308 SHA512 9b155d4571daede99cdbf2813a85fb04812737b5e23d3f7c9840225b38f3dbf171623a21645daaee190e7ff9ba38bde932922e96a2a2312c203ffa9917c3baea
|
||||
|
@ -1,37 +0,0 @@
|
||||
From 9608d20739b36087f0e6865cc924769d3b286188 Mon Sep 17 00:00:00 2001
|
||||
From: Gilles Dartiguelongue <eva@gentoo.org>
|
||||
Date: Tue, 12 Sep 2017 23:44:35 +0200
|
||||
Subject: [PATCH] Move XML_CONFIG assignment to unbreak xslt-config
|
||||
|
||||
Bug: https://bugs.gentoo.org/630784
|
||||
---
|
||||
configure.in | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/configure.in b/configure.in
|
||||
index e6f649cd..49e6b6cf 100644
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -518,9 +518,6 @@ else
|
||||
LIBXML_MANUAL_SEARCH=yes
|
||||
fi
|
||||
|
||||
-if test "x$LIBXML_MANUAL_SEARCH" != "xno"
|
||||
-then
|
||||
-
|
||||
dnl
|
||||
dnl where is xml2-config
|
||||
dnl
|
||||
@@ -534,6 +531,9 @@ else
|
||||
AC_PATH_TOOL([XML_CONFIG], [xml2-config], [false])
|
||||
fi
|
||||
|
||||
+if test "x$LIBXML_MANUAL_SEARCH" != "xno"
|
||||
+then
|
||||
+
|
||||
dnl
|
||||
dnl imported from libxml2, c.f. #77827
|
||||
dnl
|
||||
--
|
||||
2.14.1
|
||||
|
@ -1,33 +0,0 @@
|
||||
From 06c9dba42097b06a18c81bb54a8da8b2bfaf991d Mon Sep 17 00:00:00 2001
|
||||
From: Gilles Dartiguelongue <eva@gentoo.org>
|
||||
Date: Wed, 11 Nov 2015 20:01:14 +0100
|
||||
Subject: [PATCH 3/3] Disable static module for python module
|
||||
|
||||
---
|
||||
python/Makefile.am | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/python/Makefile.am b/python/Makefile.am
|
||||
index cc13c62..62afd1b 100644
|
||||
--- a/python/Makefile.am
|
||||
+++ b/python/Makefile.am
|
||||
@@ -27,6 +27,7 @@ python_PYTHON = libxslt.py
|
||||
pyexec_LTLIBRARIES = libxsltmod.la
|
||||
|
||||
libxsltmod_la_CPPFLAGS = \
|
||||
+ -shared \
|
||||
-I$(top_srcdir)/libxslt \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_srcdir)/libexslt \
|
||||
@@ -34,7 +35,7 @@ libxsltmod_la_CPPFLAGS = \
|
||||
libxsltmod_la_SOURCES = libxslt.c types.c
|
||||
nodist_libxsltmod_la_SOURCES = libxslt-py.c
|
||||
libxsltmod_la_LIBADD = $(mylibs) $(PYTHON_LIBS)
|
||||
-libxsltmod_la_LDFLAGS = $(WIN32_EXTRA_LDFLAGS) $(PYTHON_LDFLAGS) -module -avoid-version
|
||||
+libxsltmod_la_LDFLAGS = $(WIN32_EXTRA_LDFLAGS) $(PYTHON_LDFLAGS) -module -avoid-version -shared
|
||||
|
||||
libxslt.py: $(srcdir)/libxsl.py libxsltclass.py
|
||||
cat $(srcdir)/libxsl.py libxsltclass.py > $@
|
||||
--
|
||||
2.6.3
|
||||
|
@ -1,32 +0,0 @@
|
||||
diff --git a/configure.in b/configure.in
|
||||
index d6aa366..20aafb8 100644
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -165,11 +165,11 @@ XSLT_LOCALE_XLOCALE=0
|
||||
XSLT_LOCALE_WINAPI=0
|
||||
|
||||
AC_CHECK_HEADERS([locale.h xlocale.h])
|
||||
-if test $ac_cv_header_xlocale_h = yes; then
|
||||
+if test $ac_cv_header_locale_h = yes; then
|
||||
dnl
|
||||
dnl Check for generic locale_t declaration
|
||||
dnl
|
||||
-AC_MSG_CHECKING([if xlocale program link])
|
||||
+AC_MSG_CHECKING([if locale program link])
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
|
||||
#ifdef HAVE_LOCALE_H
|
||||
#include <locale.h>
|
||||
diff --git a/libxslt/xsltlocale.h b/libxslt/xsltlocale.h
|
||||
index 8a9ca15..2f64424 100644
|
||||
--- a/libxslt/xsltlocale.h
|
||||
+++ b/libxslt/xsltlocale.h
|
||||
@@ -17,7 +17,9 @@
|
||||
#ifdef XSLT_LOCALE_XLOCALE
|
||||
|
||||
#include <locale.h>
|
||||
+#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ < 26
|
||||
#include <xlocale.h>
|
||||
+#endif
|
||||
|
||||
#ifdef __GLIBC__
|
||||
/*locale_t is defined only if _GNU_SOURCE is defined*/
|
@ -1,250 +0,0 @@
|
||||
From aa0f7a8d59a9bbd646203d3f14e39e217961f725 Mon Sep 17 00:00:00 2001
|
||||
From: Gilles Dartiguelongue <eva@gentoo.org>
|
||||
Date: Wed, 11 Nov 2015 17:49:07 +0100
|
||||
Subject: [PATCH] Simplify python setup in autoconf
|
||||
|
||||
AM_PATH_PYTHON does most of the job without using pkg-config as expected
|
||||
from the rest of the autoconf script.
|
||||
---
|
||||
Makefile.am | 14 +++++--
|
||||
configure.in | 119 ++++++++++++++---------------------------------------
|
||||
python/Makefile.am | 28 ++++---------
|
||||
3 files changed, 49 insertions(+), 112 deletions(-)
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index ff10f574..65decb3c 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -2,9 +2,13 @@ SUBDIRS = \
|
||||
libxslt \
|
||||
libexslt \
|
||||
xsltproc \
|
||||
- doc \
|
||||
- $(PYTHON_SUBDIR) \
|
||||
- tests
|
||||
+ doc
|
||||
+
|
||||
+if WITH_PYTHON
|
||||
+SUBDIRS += python
|
||||
+endif
|
||||
+
|
||||
+SUBDIRS += tests
|
||||
|
||||
DIST_SUBDIRS = libxslt libexslt xsltproc python doc tests
|
||||
|
||||
@@ -51,7 +55,9 @@ tests: dummy
|
||||
@echo '## Running the regression test suite'
|
||||
@(cd tests ; $(MAKE) -s tests)
|
||||
@(cd xsltproc ; $(MAKE) -s tests)
|
||||
- @(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; $(MAKE) -s tests ; fi)
|
||||
+if WITH_PYTHON
|
||||
+ @(cd python ; $(MAKE) -s tests)
|
||||
+endif
|
||||
|
||||
valgrind:
|
||||
@echo '## Running the regression tests under Valgrind'
|
||||
diff --git a/configure.in b/configure.in
|
||||
index d6aa3664..0a538944 100644
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -293,90 +293,37 @@ dnl
|
||||
dnl check for python
|
||||
dnl
|
||||
|
||||
-PYTHON_VERSION=
|
||||
-PYTHON_INCLUDES=
|
||||
-PYTHON_SITE_PACKAGES=
|
||||
-pythondir=
|
||||
-AC_ARG_WITH(python, [ --with-python[=DIR] Build Python bindings if found])
|
||||
-if test "$with_python" != "no" ; then
|
||||
- if test -x "$with_python/bin/python"
|
||||
- then
|
||||
- echo Found python in $with_python/bin/python
|
||||
- PYTHON="$with_python/bin/python"
|
||||
- else
|
||||
- if test -x "$with_python"
|
||||
- then
|
||||
- echo Found python in $with_python
|
||||
- PYTHON="$with_python"
|
||||
- else
|
||||
- if test -x "$PYTHON"
|
||||
- then
|
||||
- echo Found python in environment PYTHON=$PYTHON
|
||||
- with_python=`$PYTHON -c "import sys; print sys.exec_prefix"`
|
||||
- else
|
||||
- AC_PATH_PROG(PYTHON, python python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5)
|
||||
- fi
|
||||
- fi
|
||||
- fi
|
||||
- if test "$PYTHON" != ""
|
||||
- then
|
||||
- echo "PYTHON is pointing at $PYTHON"
|
||||
- PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[[0:3]]"`
|
||||
- echo Found Python version $PYTHON_VERSION
|
||||
- LIBXML2_PYTHON=`$PYTHON -c "try : import libxml2 ; print 1
|
||||
-except: print 0"`
|
||||
- if test "$LIBXML2_PYTHON" = "1"
|
||||
- then
|
||||
- echo Found libxml2-python module
|
||||
- else
|
||||
- echo Warning: Missing libxml2-python
|
||||
- fi
|
||||
- fi
|
||||
- if test "$PYTHON_VERSION" != ""
|
||||
- then
|
||||
- if test -r $with_python/include/python$PYTHON_VERSION/Python.h -a \
|
||||
- -d $with_python/lib/python$PYTHON_VERSION/site-packages
|
||||
- then
|
||||
- PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION
|
||||
- PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
|
||||
- else
|
||||
- if test -r $prefix/include/python$PYTHON_VERSION/Python.h
|
||||
- then
|
||||
- PYTHON_INCLUDES=$prefix/include/python$PYTHON_VERSION
|
||||
- PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
|
||||
- else
|
||||
- if test -r /usr/include/python$PYTHON_VERSION/Python.h
|
||||
- then
|
||||
- PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION
|
||||
- PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
|
||||
- else
|
||||
- echo could not find python$PYTHON_VERSION/Python.h
|
||||
- fi
|
||||
- fi
|
||||
- if test ! -d "$PYTHON_SITE_PACKAGES"
|
||||
- then
|
||||
- PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib()"`
|
||||
- fi
|
||||
- fi
|
||||
- PYTHON_LIBS=`python$PYTHON_VERSION-config --libs`
|
||||
- fi
|
||||
- if test "$with_python" != ""
|
||||
- then
|
||||
- pythondir='$(PYTHON_SITE_PACKAGES)'
|
||||
- else
|
||||
- pythondir='$(libdir)/python$(PYTHON_VERSION)/site-packages'
|
||||
- fi
|
||||
-fi
|
||||
-AM_CONDITIONAL(WITH_PYTHON, test "$PYTHON_INCLUDES" != "")
|
||||
-if test "$PYTHON_INCLUDES" != ""
|
||||
-then
|
||||
- PYTHON_SUBDIR=python
|
||||
-else
|
||||
- PYTHON_SUBDIR=
|
||||
-fi
|
||||
-AC_SUBST(pythondir)
|
||||
-AC_SUBST(PYTHON_SUBDIR)
|
||||
-AC_SUBST(PYTHON_LIBS)
|
||||
+AC_ARG_WITH([python],
|
||||
+ AS_HELP_STRING([--with-python], [Build Python bindings if found])
|
||||
+)
|
||||
+
|
||||
+AS_IF([test "$with_python" = "yes"],
|
||||
+ [AM_PATH_PYTHON
|
||||
+ AC_PATH_TOOL([PYTHON_CONFIG], [python$PYTHON_VERSION-config], [no])
|
||||
+ AS_IF([test "$PYTHON_CONFIG" = "no"],
|
||||
+ [AC_PATH_TOOL([PYTHON_CONFIG], [python-config], [no])])
|
||||
+ AS_IF([test "$PYTHON_CONFIG" != "no"],
|
||||
+ [PYTHON_CFLAGS=`$PYTHON_CONFIG --cflags`
|
||||
+ PYTHON_LDFLAGS=`$PYTHON_CONFIG --ldflags`
|
||||
+ PYTHON_LIBS=`$PYTHON_CONFIG --libs`],
|
||||
+ [AC_MSG_ERROR([Missing python development files.])])
|
||||
+ AC_MSG_CHECKING([libxml2 module in $PYTHON])
|
||||
+ LIBXML2_PYTHON=`$PYTHON -c "import sys;
|
||||
+try:
|
||||
+ import libxml2
|
||||
+ sys.stdout.write('1')
|
||||
+except:
|
||||
+ sys.stdout.write('0')"`
|
||||
+ AS_IF([test "$LIBXML2_PYTHON" = "1"],
|
||||
+ [AC_MSG_RESULT([yes])],
|
||||
+ [AC_MSG_RESULT([no])
|
||||
+ AC_MSG_WARN([libxml2 python module not found, expect runtime errors])])
|
||||
+ ])
|
||||
+
|
||||
+AM_CONDITIONAL([WITH_PYTHON], [test "$with_python" = "yes"])
|
||||
+AC_SUBST([PYTHON_CFLAGS])
|
||||
+AC_SUBST([PYTHON_LDFLAGS])
|
||||
+AC_SUBST([PYTHON_LIBS])
|
||||
|
||||
AC_ARG_WITH(crypto, [ --with-crypto Add crypto support to exslt (on)])
|
||||
WITH_CRYPTO=0
|
||||
@@ -678,10 +625,6 @@ AC_SUBST(PYTHONSODV)
|
||||
AC_SUBST(XML_CONFIG)
|
||||
AC_SUBST(LIBXML_LIBS)
|
||||
AC_SUBST(LIBXML_CFLAGS)
|
||||
-AC_SUBST(PYTHON)
|
||||
-AC_SUBST(PYTHON_VERSION)
|
||||
-AC_SUBST(PYTHON_INCLUDES)
|
||||
-AC_SUBST(PYTHON_SITE_PACKAGES)
|
||||
|
||||
XSLT_LIBDIR='-L${libdir}'
|
||||
XSLT_INCLUDEDIR='-I${includedir}'
|
||||
diff --git a/python/Makefile.am b/python/Makefile.am
|
||||
index fa58b78f..3a5ecd6a 100644
|
||||
--- a/python/Makefile.am
|
||||
+++ b/python/Makefile.am
|
||||
@@ -5,9 +5,9 @@ SUBDIRS= . tests
|
||||
|
||||
AM_CFLAGS = $(LIBXML_CFLAGS)
|
||||
|
||||
-DOCS_DIR = $(datadir)/doc/libxslt-python-$(LIBXSLT_VERSION)
|
||||
+docsdir = $(datadir)/doc/libxslt-python-$(LIBXSLT_VERSION)
|
||||
# libxsltclass.txt is generated
|
||||
-DOCS = TODO
|
||||
+dist_docs_DATA = TODO
|
||||
|
||||
EXTRA_DIST = \
|
||||
libxslt.c \
|
||||
@@ -16,10 +16,7 @@ EXTRA_DIST = \
|
||||
libxml_wrap.h \
|
||||
libxslt_wrap.h \
|
||||
libxsl.py \
|
||||
- libxslt-python-api.xml \
|
||||
- $(DOCS)
|
||||
-
|
||||
-libxsltmod_la_LDFLAGS = $(WIN32_EXTRA_LDFLAGS) -module -avoid-version
|
||||
+ libxslt-python-api.xml
|
||||
|
||||
if WITH_PYTHON
|
||||
mylibs = \
|
||||
@@ -28,31 +25,22 @@ mylibs = \
|
||||
|
||||
all-local: libxslt.py
|
||||
|
||||
-python_LTLIBRARIES = libxsltmod.la
|
||||
+python_PYTHON = libxslt.py
|
||||
+pyexec_LTLIBRARIES = libxsltmod.la
|
||||
|
||||
libxsltmod_la_CPPFLAGS = \
|
||||
- -I$(PYTHON_INCLUDES) \
|
||||
-I$(top_srcdir)/libxslt \
|
||||
-I$(top_srcdir) \
|
||||
- -I../libexslt
|
||||
+ -I$(top_srcdir)/libexslt \
|
||||
+ $(PYTHON_CFLAGS)
|
||||
libxsltmod_la_SOURCES = libxslt.c types.c
|
||||
nodist_libxsltmod_la_SOURCES = libxslt-py.c
|
||||
libxsltmod_la_LIBADD = $(mylibs) $(PYTHON_LIBS)
|
||||
+libxsltmod_la_LDFLAGS = $(WIN32_EXTRA_LDFLAGS) $(PYTHON_LDFLAGS) -module -avoid-version
|
||||
|
||||
libxslt.py: $(srcdir)/libxsl.py libxsltclass.py
|
||||
cat $(srcdir)/libxsl.py libxsltclass.py > $@
|
||||
|
||||
-install-data-local:
|
||||
- $(MKDIR_P) $(DESTDIR)$(pythondir)
|
||||
- $(INSTALL) -m 0644 libxslt.py $(DESTDIR)$(pythondir)
|
||||
- $(MKDIR_P) $(DESTDIR)$(DOCS_DIR)
|
||||
- @(for doc in $(DOCS) ; \
|
||||
- do $(INSTALL) -m 0644 $(srcdir)/$$doc $(DESTDIR)$(DOCS_DIR) ; done)
|
||||
-
|
||||
-uninstall-local:
|
||||
- rm -f $(DESTDIR)$(pythondir)/libxslt.py
|
||||
- rm -rf $(DESTDIR)$(DOCS_DIR)
|
||||
-
|
||||
GENERATE = generator.py
|
||||
API_DESC = $(top_srcdir)/doc/libxslt-api.xml $(srcdir)/libxslt-python-api.xml
|
||||
GENERATED= libxsltclass.py \
|
||||
--
|
||||
2.14.1
|
||||
|
@ -0,0 +1,194 @@
|
||||
https://gitlab.gnome.org/GNOME/libxslt/-/issues/56
|
||||
https://gitlab.gnome.org/GNOME/libxslt/-/commit/50f9c9cd3b7dfe9b3c8c795247752d1fdcadcac8
|
||||
https://gitlab.gnome.org/GNOME/libxslt/-/issues/51
|
||||
https://bugs.gentoo.org/790218
|
||||
|
||||
From: Nick Wellnhofer <wellnhofer@aevum.de>
|
||||
Date: Sat, 12 Jun 2021 20:02:53 +0200
|
||||
Subject: [PATCH] Fix use-after-free in xsltApplyTemplates
|
||||
|
||||
xsltApplyTemplates without a select expression could delete nodes in
|
||||
the source document.
|
||||
|
||||
1. Text nodes with strippable whitespace
|
||||
|
||||
Whitespace from input documents is already stripped, so there's no
|
||||
need to strip it again. Under certain circumstances, xsltApplyTemplates
|
||||
could be fooled into deleting text nodes that are still referenced,
|
||||
resulting in a use-after-free.
|
||||
|
||||
2. The DTD
|
||||
|
||||
The DTD was only unlinked, but there's no good reason to do this just
|
||||
now. Maybe it was meant as a micro-optimization.
|
||||
|
||||
3. Unknown nodes
|
||||
|
||||
Useless and dangerous as well, especially with XInclude nodes.
|
||||
See https://gitlab.gnome.org/GNOME/libxml2/-/issues/268
|
||||
|
||||
Simply stop trying to uselessly delete nodes when applying a template.
|
||||
This part of the code is probably a leftover from a time where
|
||||
xsltApplyStripSpaces wasn't implemented yet. Also note that
|
||||
xsltApplyTemplates with a select expression never tried to delete
|
||||
nodes.
|
||||
|
||||
Also stop xsltDefaultProcessOneNode from deleting nodes for the same
|
||||
reasons.
|
||||
|
||||
This fixes CVE-2021-30560.
|
||||
--- a/libxslt/transform.c
|
||||
+++ b/libxslt/transform.c
|
||||
@@ -1895,7 +1895,7 @@ static void
|
||||
xsltDefaultProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node,
|
||||
xsltStackElemPtr params) {
|
||||
xmlNodePtr copy;
|
||||
- xmlNodePtr delete = NULL, cur;
|
||||
+ xmlNodePtr cur;
|
||||
int nbchild = 0, oldSize;
|
||||
int childno = 0, oldPos;
|
||||
xsltTemplatePtr template;
|
||||
@@ -1968,54 +1968,13 @@ xsltDefaultProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node,
|
||||
return;
|
||||
}
|
||||
/*
|
||||
- * Handling of Elements: first pass, cleanup and counting
|
||||
+ * Handling of Elements: first pass, counting
|
||||
*/
|
||||
cur = node->children;
|
||||
while (cur != NULL) {
|
||||
- switch (cur->type) {
|
||||
- case XML_TEXT_NODE:
|
||||
- case XML_CDATA_SECTION_NODE:
|
||||
- case XML_DOCUMENT_NODE:
|
||||
- case XML_HTML_DOCUMENT_NODE:
|
||||
- case XML_ELEMENT_NODE:
|
||||
- case XML_PI_NODE:
|
||||
- case XML_COMMENT_NODE:
|
||||
- nbchild++;
|
||||
- break;
|
||||
- case XML_DTD_NODE:
|
||||
- /* Unlink the DTD, it's still reachable using doc->intSubset */
|
||||
- if (cur->next != NULL)
|
||||
- cur->next->prev = cur->prev;
|
||||
- if (cur->prev != NULL)
|
||||
- cur->prev->next = cur->next;
|
||||
- break;
|
||||
- default:
|
||||
-#ifdef WITH_XSLT_DEBUG_PROCESS
|
||||
- XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
|
||||
- "xsltDefaultProcessOneNode: skipping node type %d\n",
|
||||
- cur->type));
|
||||
-#endif
|
||||
- delete = cur;
|
||||
- }
|
||||
+ if (IS_XSLT_REAL_NODE(cur))
|
||||
+ nbchild++;
|
||||
cur = cur->next;
|
||||
- if (delete != NULL) {
|
||||
-#ifdef WITH_XSLT_DEBUG_PROCESS
|
||||
- XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
|
||||
- "xsltDefaultProcessOneNode: removing ignorable blank node\n"));
|
||||
-#endif
|
||||
- xmlUnlinkNode(delete);
|
||||
- xmlFreeNode(delete);
|
||||
- delete = NULL;
|
||||
- }
|
||||
- }
|
||||
- if (delete != NULL) {
|
||||
-#ifdef WITH_XSLT_DEBUG_PROCESS
|
||||
- XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
|
||||
- "xsltDefaultProcessOneNode: removing ignorable blank node\n"));
|
||||
-#endif
|
||||
- xmlUnlinkNode(delete);
|
||||
- xmlFreeNode(delete);
|
||||
- delete = NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -4864,7 +4823,7 @@ xsltApplyTemplates(xsltTransformContextPtr ctxt, xmlNodePtr node,
|
||||
xsltStylePreCompPtr comp = (xsltStylePreCompPtr) castedComp;
|
||||
#endif
|
||||
int i;
|
||||
- xmlNodePtr cur, delNode = NULL, oldContextNode;
|
||||
+ xmlNodePtr cur, oldContextNode;
|
||||
xmlNodeSetPtr list = NULL, oldList;
|
||||
xsltStackElemPtr withParams = NULL;
|
||||
int oldXPProximityPosition, oldXPContextSize;
|
||||
@@ -4998,73 +4957,9 @@ xsltApplyTemplates(xsltTransformContextPtr ctxt, xmlNodePtr node,
|
||||
else
|
||||
cur = NULL;
|
||||
while (cur != NULL) {
|
||||
- switch (cur->type) {
|
||||
- case XML_TEXT_NODE:
|
||||
- if ((IS_BLANK_NODE(cur)) &&
|
||||
- (cur->parent != NULL) &&
|
||||
- (cur->parent->type == XML_ELEMENT_NODE) &&
|
||||
- (ctxt->style->stripSpaces != NULL)) {
|
||||
- const xmlChar *val;
|
||||
-
|
||||
- if (cur->parent->ns != NULL) {
|
||||
- val = (const xmlChar *)
|
||||
- xmlHashLookup2(ctxt->style->stripSpaces,
|
||||
- cur->parent->name,
|
||||
- cur->parent->ns->href);
|
||||
- if (val == NULL) {
|
||||
- val = (const xmlChar *)
|
||||
- xmlHashLookup2(ctxt->style->stripSpaces,
|
||||
- BAD_CAST "*",
|
||||
- cur->parent->ns->href);
|
||||
- }
|
||||
- } else {
|
||||
- val = (const xmlChar *)
|
||||
- xmlHashLookup2(ctxt->style->stripSpaces,
|
||||
- cur->parent->name, NULL);
|
||||
- }
|
||||
- if ((val != NULL) &&
|
||||
- (xmlStrEqual(val, (xmlChar *) "strip"))) {
|
||||
- delNode = cur;
|
||||
- break;
|
||||
- }
|
||||
- }
|
||||
- /* Intentional fall-through */
|
||||
- case XML_ELEMENT_NODE:
|
||||
- case XML_DOCUMENT_NODE:
|
||||
- case XML_HTML_DOCUMENT_NODE:
|
||||
- case XML_CDATA_SECTION_NODE:
|
||||
- case XML_PI_NODE:
|
||||
- case XML_COMMENT_NODE:
|
||||
- xmlXPathNodeSetAddUnique(list, cur);
|
||||
- break;
|
||||
- case XML_DTD_NODE:
|
||||
- /* Unlink the DTD, it's still reachable
|
||||
- * using doc->intSubset */
|
||||
- if (cur->next != NULL)
|
||||
- cur->next->prev = cur->prev;
|
||||
- if (cur->prev != NULL)
|
||||
- cur->prev->next = cur->next;
|
||||
- break;
|
||||
- case XML_NAMESPACE_DECL:
|
||||
- break;
|
||||
- default:
|
||||
-#ifdef WITH_XSLT_DEBUG_PROCESS
|
||||
- XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATES,xsltGenericDebug(xsltGenericDebugContext,
|
||||
- "xsltApplyTemplates: skipping cur type %d\n",
|
||||
- cur->type));
|
||||
-#endif
|
||||
- delNode = cur;
|
||||
- }
|
||||
+ if (IS_XSLT_REAL_NODE(cur))
|
||||
+ xmlXPathNodeSetAddUnique(list, cur);
|
||||
cur = cur->next;
|
||||
- if (delNode != NULL) {
|
||||
-#ifdef WITH_XSLT_DEBUG_PROCESS
|
||||
- XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATES,xsltGenericDebug(xsltGenericDebugContext,
|
||||
- "xsltApplyTemplates: removing ignorable blank cur\n"));
|
||||
-#endif
|
||||
- xmlUnlinkNode(delNode);
|
||||
- xmlFreeNode(delNode);
|
||||
- delNode = NULL;
|
||||
- }
|
||||
}
|
||||
}
|
||||
|
||||
GitLab
|
@ -0,0 +1,120 @@
|
||||
https://gitlab.gnome.org/GNOME/libxslt/-/commit/9ae2f94df1721e002941b40665efb762aefcea1a
|
||||
https://gitlab.gnome.org/GNOME/libxslt/-/commit/824657768aea2cce9c23e72ba8085cb5e44350c7
|
||||
https://gitlab.gnome.org/GNOME/libxslt/-/commit/77c26bad0433541f486b1e7ced44ca9979376908
|
||||
|
||||
From: Nick Wellnhofer <wellnhofer@aevum.de>
|
||||
Date: Mon, 17 Aug 2020 03:42:11 +0200
|
||||
Subject: [PATCH] Stop using maxParserDepth XPath limit
|
||||
|
||||
This will be removed again from libxml2.
|
||||
--- a/tests/fuzz/fuzz.c
|
||||
+++ b/tests/fuzz/fuzz.c
|
||||
@@ -183,8 +183,7 @@ xsltFuzzXPathInit(int *argc_p ATTRIBUTE_UNUSED, char ***argv_p,
|
||||
xpctxt = tctxt->xpathCtxt;
|
||||
|
||||
/* Resource limits to avoid timeouts and call stack overflows */
|
||||
- xpctxt->maxParserDepth = 15;
|
||||
- xpctxt->maxDepth = 100;
|
||||
+ xpctxt->maxDepth = 500;
|
||||
xpctxt->opLimit = 500000;
|
||||
|
||||
/* Test namespaces used in xpath.xml */
|
||||
@@ -317,8 +316,7 @@ xsltFuzzXsltInit(int *argc_p ATTRIBUTE_UNUSED, char ***argv_p,
|
||||
|
||||
static void
|
||||
xsltSetXPathResourceLimits(xmlXPathContextPtr ctxt) {
|
||||
- ctxt->maxParserDepth = 15;
|
||||
- ctxt->maxDepth = 100;
|
||||
+ ctxt->maxDepth = 200;
|
||||
ctxt->opLimit = 100000;
|
||||
}
|
||||
|
||||
From: Nick Wellnhofer <wellnhofer@aevum.de>
|
||||
Date: Mon, 17 Aug 2020 04:27:13 +0200
|
||||
Subject: [PATCH] Transfer XPath limits to XPtr context
|
||||
|
||||
Expressions like document('doc.xml#xpointer(evil_expr)') ignored the
|
||||
XPath limits.
|
||||
--- a/libxslt/functions.c
|
||||
+++ b/libxslt/functions.c
|
||||
@@ -178,10 +178,22 @@ xsltDocumentFunctionLoadDocument(xmlXPathParserContextPtr ctxt, xmlChar* URI)
|
||||
goto out_fragment;
|
||||
}
|
||||
|
||||
+#if LIBXML_VERSION >= 20911 || \
|
||||
+ defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)
|
||||
+ xptrctxt->opLimit = ctxt->context->opLimit;
|
||||
+ xptrctxt->opCount = ctxt->context->opCount;
|
||||
+ xptrctxt->maxDepth = ctxt->context->maxDepth - ctxt->context->depth;
|
||||
+
|
||||
+ resObj = xmlXPtrEval(fragment, xptrctxt);
|
||||
+
|
||||
+ ctxt->context->opCount = xptrctxt->opCount;
|
||||
+#else
|
||||
resObj = xmlXPtrEval(fragment, xptrctxt);
|
||||
- xmlXPathFreeContext(xptrctxt);
|
||||
#endif
|
||||
|
||||
+ xmlXPathFreeContext(xptrctxt);
|
||||
+#endif /* LIBXML_XPTR_ENABLED */
|
||||
+
|
||||
if (resObj == NULL)
|
||||
goto out_fragment;
|
||||
|
||||
From: Nick Wellnhofer <wellnhofer@aevum.de>
|
||||
Date: Wed, 26 Aug 2020 00:34:38 +0200
|
||||
Subject: [PATCH] Don't set maxDepth in XPath contexts
|
||||
|
||||
The maximum recursion depth is hardcoded in libxml2 now.
|
||||
--- a/libxslt/functions.c
|
||||
+++ b/libxslt/functions.c
|
||||
@@ -182,7 +182,7 @@ xsltDocumentFunctionLoadDocument(xmlXPathParserContextPtr ctxt, xmlChar* URI)
|
||||
defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)
|
||||
xptrctxt->opLimit = ctxt->context->opLimit;
|
||||
xptrctxt->opCount = ctxt->context->opCount;
|
||||
- xptrctxt->maxDepth = ctxt->context->maxDepth - ctxt->context->depth;
|
||||
+ xptrctxt->depth = ctxt->context->depth;
|
||||
|
||||
resObj = xmlXPtrEval(fragment, xptrctxt);
|
||||
|
||||
--- a/tests/fuzz/fuzz.c
|
||||
+++ b/tests/fuzz/fuzz.c
|
||||
@@ -183,7 +183,6 @@ xsltFuzzXPathInit(int *argc_p ATTRIBUTE_UNUSED, char ***argv_p,
|
||||
xpctxt = tctxt->xpathCtxt;
|
||||
|
||||
/* Resource limits to avoid timeouts and call stack overflows */
|
||||
- xpctxt->maxDepth = 500;
|
||||
xpctxt->opLimit = 500000;
|
||||
|
||||
/* Test namespaces used in xpath.xml */
|
||||
@@ -314,12 +313,6 @@ xsltFuzzXsltInit(int *argc_p ATTRIBUTE_UNUSED, char ***argv_p,
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static void
|
||||
-xsltSetXPathResourceLimits(xmlXPathContextPtr ctxt) {
|
||||
- ctxt->maxDepth = 200;
|
||||
- ctxt->opLimit = 100000;
|
||||
-}
|
||||
-
|
||||
xmlChar *
|
||||
xsltFuzzXslt(const char *data, size_t size) {
|
||||
xmlDocPtr xsltDoc;
|
||||
@@ -349,7 +342,7 @@ xsltFuzzXslt(const char *data, size_t size) {
|
||||
xmlFreeDoc(xsltDoc);
|
||||
return NULL;
|
||||
}
|
||||
- xsltSetXPathResourceLimits(sheet->xpathCtxt);
|
||||
+ sheet->xpathCtxt->opLimit = 100000;
|
||||
sheet->xpathCtxt->opCount = 0;
|
||||
if (xsltParseStylesheetUser(sheet, xsltDoc) != 0) {
|
||||
xsltFreeStylesheet(sheet);
|
||||
@@ -361,7 +354,7 @@ xsltFuzzXslt(const char *data, size_t size) {
|
||||
xsltSetCtxtSecurityPrefs(sec, ctxt);
|
||||
ctxt->maxTemplateDepth = 100;
|
||||
ctxt->opLimit = 20000;
|
||||
- xsltSetXPathResourceLimits(ctxt->xpathCtxt);
|
||||
+ ctxt->xpathCtxt->opLimit = 100000;
|
||||
ctxt->xpathCtxt->opCount = sheet->xpathCtxt->opCount;
|
||||
|
||||
result = xsltApplyStylesheetUser(sheet, doc, NULL, NULL, NULL, ctxt);
|
@ -1,38 +0,0 @@
|
||||
diff -ur libxslt-1.1.26.orig/libxslt.m4 libxslt-1.1.26/libxslt.m4
|
||||
--- libxslt-1.1.26.orig/libxslt.m4 2009-05-12 09:29:34.000000000 +0300
|
||||
+++ libxslt-1.1.26/libxslt.m4 2009-10-07 17:03:04.000000000 +0300
|
||||
@@ -52,8 +52,10 @@
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
|
||||
if test "x$enable_xslttest" = "xyes" ; then
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
+ ac_save_CXXFLAGS="$CXXFLAGS"
|
||||
ac_save_LIBS="$LIBS"
|
||||
CFLAGS="$CFLAGS $XSLT_CFLAGS"
|
||||
+ CXXFLAGS="$CXXFLAGS $XSLT_CFLAGS"
|
||||
LIBS="$XSLT_LIBS $LIBS"
|
||||
dnl
|
||||
dnl Now check if the installed libxslt is sufficiently new.
|
||||
@@ -138,6 +140,7 @@
|
||||
}
|
||||
],, no_xslt=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
+ CXXFLAGS="$ac_save_CXXFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi
|
||||
fi
|
||||
@@ -158,6 +161,7 @@
|
||||
else
|
||||
echo "*** Could not run libxslt test program, checking why..."
|
||||
CFLAGS="$CFLAGS $XSLT_CFLAGS"
|
||||
+ CXXFLAGS="$CXXFLAGS $XSLT_CFLAGS"
|
||||
LIBS="$LIBS $XSLT_LIBS"
|
||||
AC_TRY_LINK([
|
||||
#include <libxslt/xslt.h>
|
||||
@@ -177,6 +181,7 @@
|
||||
echo "*** or that you have moved LIBXSLT since it was installed. In the latter case, you"
|
||||
echo "*** may want to edit the xslt-config script: $XSLT_CONFIG" ])
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
+ CXXFLAGS="$ac_save_CXXFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi
|
||||
fi
|
@ -1,136 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
PYTHON_REQ_USE="xml"
|
||||
|
||||
inherit autotools ltprune python-r1 toolchain-funcs multilib-minimal
|
||||
|
||||
DESCRIPTION="XSLT libraries and tools"
|
||||
HOMEPAGE="http://www.xmlsoft.org/"
|
||||
SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
|
||||
IUSE="crypt debug examples python static-libs elibc_Darwin"
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/libxml2-2.9.1-r5:2[${MULTILIB_USEDEP}]
|
||||
crypt? ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
|
||||
python? (
|
||||
${PYTHON_DEPS}
|
||||
dev-libs/libxml2:2[python,${PYTHON_USEDEP}] )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/xslt-config
|
||||
)
|
||||
|
||||
MULTILIB_WRAPPED_HEADERS=(
|
||||
/usr/include/libxslt/xsltconfig.h
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
DOCS=( AUTHORS ChangeLog FEATURES NEWS README TODO )
|
||||
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=684621
|
||||
eapply "${FILESDIR}"/${PN}.m4-${PN}-1.1.26.patch
|
||||
|
||||
# Simplify python setup
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=758095
|
||||
eapply "${FILESDIR}"/${PN}-1.1.30-simplify-python.patch
|
||||
eapply "${FILESDIR}"/${PN}-1.1.28-disable-static-modules.patch
|
||||
|
||||
# Fix xslt-config
|
||||
# https://bugs.gentoo.org/630784
|
||||
eapply "${FILESDIR}"/1.1.30-unbreak-xslt-config.patch
|
||||
|
||||
# Fix build and headers with glibc-2.26, bug 632214, breaks Darwin
|
||||
use elibc_Darwin || eapply "${FILESDIR}"/${PN}-1.1.30-glibc226.patch
|
||||
|
||||
mv configure.{in,ac} || die
|
||||
|
||||
eautoreconf
|
||||
# If eautoreconf'd with new autoconf, then epunt_cxx is not necessary
|
||||
# and it is propably otherwise too if upstream generated with new
|
||||
# autoconf
|
||||
# epunt_cxx
|
||||
# But Prefix always needs elibtoolize if not eautoreconf'd.
|
||||
# elibtoolize
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
libxslt_configure() {
|
||||
ECONF_SOURCE="${S}" econf \
|
||||
--with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
|
||||
--with-html-subdir=html \
|
||||
$(use_with crypt crypto) \
|
||||
$(use_with debug) \
|
||||
$(use_with debug mem-debug) \
|
||||
$(use_enable static-libs static) \
|
||||
"$@"
|
||||
}
|
||||
|
||||
libxslt_py_configure() {
|
||||
mkdir -p "${BUILD_DIR}" || die # ensure python build dirs exist
|
||||
run_in_build_dir libxslt_configure --with-python
|
||||
}
|
||||
|
||||
libxslt_configure --without-python # build python bindings separately
|
||||
|
||||
if multilib_is_native_abi && use python; then
|
||||
python_foreach_impl libxslt_py_configure
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
default
|
||||
multilib_is_native_abi && use python && libxslt_foreach_py_emake all
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
default
|
||||
multilib_is_native_abi && use python && libxslt_foreach_py_emake test
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
# "default" does not work here - docs are installed by multilib_src_install_all
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
if multilib_is_native_abi && use python; then
|
||||
libxslt_foreach_py_emake \
|
||||
DESTDIR="${D}" \
|
||||
docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \
|
||||
EXAMPLE_DIR="${EPREFIX}"/usr/share/doc/${PF}/python/examples \
|
||||
install
|
||||
python_foreach_impl python_optimize
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
|
||||
if ! use examples; then
|
||||
rm -rf "${ED}"/usr/share/doc/${PF}/examples
|
||||
rm -rf "${ED}"/usr/share/doc/${PF}/python/examples
|
||||
fi
|
||||
|
||||
prune_libtool_files --modules
|
||||
}
|
||||
|
||||
libxslt_foreach_py_emake() {
|
||||
libxslt_py_emake() {
|
||||
pushd "${BUILD_DIR}/python" > /dev/null || die
|
||||
emake "$@"
|
||||
popd > /dev/null
|
||||
}
|
||||
local native_builddir=${BUILD_DIR}
|
||||
python_foreach_impl libxslt_py_emake top_builddir="${native_builddir}" "$@"
|
||||
}
|
67
sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.34-r1.ebuild
vendored
Normal file
67
sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.34-r1.ebuild
vendored
Normal file
@ -0,0 +1,67 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/danielveillard.asc
|
||||
inherit libtool multilib-minimal verify-sig
|
||||
|
||||
# Note: Please bump this in sync with dev-libs/libxml2.
|
||||
DESCRIPTION="XSLT libraries and tools"
|
||||
HOMEPAGE="http://www.xmlsoft.org/ https://gitlab.gnome.org/GNOME/libxslt"
|
||||
SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz"
|
||||
SRC_URI+=" verify-sig? ( ftp://xmlsoft.org/${PN}/${P}.tar.gz.asc )"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="crypt debug examples static-libs elibc_Darwin"
|
||||
|
||||
BDEPEND=">=virtual/pkgconfig-1
|
||||
verify-sig? ( app-crypt/openpgp-keys-danielveillard )"
|
||||
RDEPEND="
|
||||
>=dev-libs/libxml2-2.9.10:2[${MULTILIB_USEDEP}]
|
||||
crypt? ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/xslt-config
|
||||
)
|
||||
|
||||
MULTILIB_WRAPPED_HEADERS=(
|
||||
/usr/include/libxslt/xsltconfig.h
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
DOCS=( AUTHORS ChangeLog FEATURES NEWS README TODO )
|
||||
|
||||
# Prefix always needs elibtoolize if not eautoreconf'd.
|
||||
elibtoolize
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# Python bindings were dropped as they were Python 2 only at the time
|
||||
ECONF_SOURCE="${S}" econf \
|
||||
--with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
|
||||
--with-html-subdir=html \
|
||||
--without-python \
|
||||
$(use_with crypt crypto) \
|
||||
$(use_with debug) \
|
||||
$(use_with debug mem-debug) \
|
||||
$(use_enable static-libs static) \
|
||||
"$@"
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
# "default" does not work here - docs are installed by multilib_src_install_all
|
||||
emake DESTDIR="${D}" install
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
|
||||
find "${ED}" -type f -name "*.la" -delete || die
|
||||
}
|
72
sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.34-r2.ebuild
vendored
Normal file
72
sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.34-r2.ebuild
vendored
Normal file
@ -0,0 +1,72 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/danielveillard.asc
|
||||
inherit libtool multilib-minimal verify-sig
|
||||
|
||||
# Note: Please bump this in sync with dev-libs/libxml2.
|
||||
DESCRIPTION="XSLT libraries and tools"
|
||||
HOMEPAGE="http://www.xmlsoft.org/ https://gitlab.gnome.org/GNOME/libxslt"
|
||||
SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz"
|
||||
SRC_URI+=" verify-sig? ( ftp://xmlsoft.org/${PN}/${P}.tar.gz.asc )"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="crypt debug examples static-libs elibc_Darwin"
|
||||
|
||||
BDEPEND=">=virtual/pkgconfig-1
|
||||
verify-sig? ( app-crypt/openpgp-keys-danielveillard )"
|
||||
RDEPEND="
|
||||
>=dev-libs/libxml2-2.9.11:2[${MULTILIB_USEDEP}]
|
||||
crypt? ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/xslt-config
|
||||
)
|
||||
|
||||
MULTILIB_WRAPPED_HEADERS=(
|
||||
/usr/include/libxslt/xsltconfig.h
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-libxml2-2.9.12.patch
|
||||
"${FILESDIR}"/${P}-CVE-2021-30560.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
DOCS=( AUTHORS ChangeLog FEATURES NEWS README TODO )
|
||||
|
||||
# Prefix always needs elibtoolize if not eautoreconf'd.
|
||||
elibtoolize
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# Python bindings were dropped as they were Python 2 only at the time
|
||||
ECONF_SOURCE="${S}" econf \
|
||||
--with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
|
||||
--with-html-subdir=html \
|
||||
--without-python \
|
||||
$(use_with crypt crypto) \
|
||||
$(use_with debug) \
|
||||
$(use_with debug mem-debug) \
|
||||
$(use_enable static-libs static) \
|
||||
"$@"
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
# "default" does not work here - docs are installed by multilib_src_install_all
|
||||
emake DESTDIR="${D}" install
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
|
||||
find "${ED}" -type f -name "*.la" -delete || die
|
||||
}
|
@ -1,8 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>gnome@gentoo.org</email>
|
||||
<name>Gentoo GNOME Desktop</name>
|
||||
<maintainer type="person">
|
||||
<email>sam@gentoo.org</email>
|
||||
<name>Sam James</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>base-system@gentoo.org</email>
|
||||
<name>Gentoo Base System</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="cpe">cpe:/a:xmlsoft:libxslt</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
Loading…
Reference in New Issue
Block a user