From 5c20434b8d28d4e6d5ee492272d16bb173cb93b2 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Wed, 17 Nov 2021 19:41:30 +0100 Subject: [PATCH] dev-libs/libxslt: Sync with gentoo It's from gentoo commit 229a5092cf8a418e4a2edae8afcbf2f3e45bde83. It drops the python dependency. --- .../portage-stable/dev-libs/libxslt/Manifest | 3 +- .../files/1.1.30-unbreak-xslt-config.patch | 37 --- ...ibxslt-1.1.28-disable-static-modules.patch | 33 --- .../files/libxslt-1.1.30-glibc226.patch | 32 --- .../libxslt-1.1.30-simplify-python.patch | 250 ------------------ .../files/libxslt-1.1.34-CVE-2021-30560.patch | 194 ++++++++++++++ .../files/libxslt-1.1.34-libxml2-2.9.12.patch | 120 +++++++++ .../files/libxslt.m4-libxslt-1.1.26.patch | 38 --- .../dev-libs/libxslt/libxslt-1.1.30-r2.ebuild | 136 ---------- .../dev-libs/libxslt/libxslt-1.1.34-r1.ebuild | 67 +++++ .../dev-libs/libxslt/libxslt-1.1.34-r2.ebuild | 72 +++++ .../dev-libs/libxslt/metadata.xml | 15 +- 12 files changed, 466 insertions(+), 531 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/1.1.30-unbreak-xslt-config.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.28-disable-static-modules.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.30-glibc226.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.30-simplify-python.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.34-CVE-2021-30560.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.34-libxml2-2.9.12.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt.m4-libxslt-1.1.26.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.30-r2.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.34-r1.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.34-r2.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest index 12817c52ce..69d0fad3bc 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest @@ -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 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/1.1.30-unbreak-xslt-config.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/1.1.30-unbreak-xslt-config.patch deleted file mode 100644 index 6e367f9769..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/1.1.30-unbreak-xslt-config.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 9608d20739b36087f0e6865cc924769d3b286188 Mon Sep 17 00:00:00 2001 -From: Gilles Dartiguelongue -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 - diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.28-disable-static-modules.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.28-disable-static-modules.patch deleted file mode 100644 index b30a08406d..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.28-disable-static-modules.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 06c9dba42097b06a18c81bb54a8da8b2bfaf991d Mon Sep 17 00:00:00 2001 -From: Gilles Dartiguelongue -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 - diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.30-glibc226.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.30-glibc226.patch deleted file mode 100644 index e1e97229d6..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.30-glibc226.patch +++ /dev/null @@ -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 -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 -+#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ < 26 - #include -+#endif - - #ifdef __GLIBC__ - /*locale_t is defined only if _GNU_SOURCE is defined*/ diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.30-simplify-python.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.30-simplify-python.patch deleted file mode 100644 index dac84fa663..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.30-simplify-python.patch +++ /dev/null @@ -1,250 +0,0 @@ -From aa0f7a8d59a9bbd646203d3f14e39e217961f725 Mon Sep 17 00:00:00 2001 -From: Gilles Dartiguelongue -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 - diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.34-CVE-2021-30560.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.34-CVE-2021-30560.patch new file mode 100644 index 0000000000..dcda176c51 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.34-CVE-2021-30560.patch @@ -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 +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 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.34-libxml2-2.9.12.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.34-libxml2-2.9.12.patch new file mode 100644 index 0000000000..635fb576d3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.34-libxml2-2.9.12.patch @@ -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 +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 +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 +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); diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt.m4-libxslt-1.1.26.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt.m4-libxslt-1.1.26.patch deleted file mode 100644 index d6aaae4e9d..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt.m4-libxslt-1.1.26.patch +++ /dev/null @@ -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 -@@ -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 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.30-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.30-r2.ebuild deleted file mode 100644 index 7b2ee91de7..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.30-r2.ebuild +++ /dev/null @@ -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}" "$@" -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.34-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.34-r1.ebuild new file mode 100644 index 0000000000..36b22c24d8 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.34-r1.ebuild @@ -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 +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.34-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.34-r2.ebuild new file mode 100644 index 0000000000..50d9a39363 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.34-r2.ebuild @@ -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 +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/metadata.xml index 4cbddcaa19..521f294b89 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/metadata.xml @@ -1,8 +1,15 @@ - + - - gnome@gentoo.org - Gentoo GNOME Desktop + + sam@gentoo.org + Sam James + + base-system@gentoo.org + Gentoo Base System + + + cpe:/a:xmlsoft:libxslt +