dev-libs/libxml2: Sync with Gentoo

It's from Gentoo commit 7962b562f51e1ae9983ca9b8ce904483a10d6dad.

Signed-off-by: Flatcar Buildbot <buildbot@flatcar-linux.org>
This commit is contained in:
Flatcar Buildbot 2025-10-13 07:07:05 +00:00 committed by Krzesimir Nowak
parent 7e36bd1151
commit 87ba4275e9
12 changed files with 580 additions and 34 deletions

View File

@ -1,5 +1,6 @@
DIST libxml2-2.13.9.tar.xz 2426164 BLAKE2B b14cb6953983ee83b5de39b8d80f623edae6198541e996fbda3c88ea7c3f5b354f8e064b378231bd60e88e0ea143f44be860252007eaafd7290f6f781fc6e8aa SHA512 62d4813860124c969f204aaf33b497105dbc32a6c5655f5a86168743660e10987d687d7e5e7ee49fdfdeb8f6ad9fa4503f81fcce2e4d459094895f02436d1b13
DIST libxml2-2.14.6.tar.xz 2327580 BLAKE2B ad5d7cb64f8081559a671e9d79b3ebcd7313dada39d7f0c2854994153a9dff2ef85bc81336437f5881abe637bae51b62e9104b3a099113f4ee2252b604325291 SHA512 9a62230487255af7cdaf135cc8a0978dc82ff2ee8826f6b21cc8b39c8e0a6b9efeea1c12e6cb7ae3f869730fb4ed628158e2848dd512558fc5bf177c56862774
DIST libxml2-2.15.0.tar.xz 2004476 BLAKE2B 07a570cd38528eb253d67f1eb88d375c5b3e32dfb23e97662c6243b8af2c4087f2cc931015cc183ff9bc231be88b6099fda42104d77d6fb0126f7804f277a088 SHA512 26fdf2c4c7bba90f0ad9cb74debc94e2ba7db2d8461d2bb40764d479f1735d78e85e6835f0c7ae292d827d387ac74ba889915456d5f3f646de5e0b96a070fddb
DIST xmlts20130923.tar.gz 641522 BLAKE2B 63a47bc69278ef510cd0b3779aed729e1b309e30efa0015d28ed051cc03f9dfddb447ab57b07b3393e8f47393d15473b0e199c34cb1f5f746b15ddfaa55670be SHA512 d5c4d26b324ed21f4e0641cd7f8b76dbf9de80df8b519982e44d41c960df29fd03618e02e9693b2d11ad06d19c4a965274c95a048ec3b9653eacb919a7f8b733
DIST xsts-2002-01-16.tar.gz 6894439 BLAKE2B 1e9ec63d2c104655e64249e07440a04d862fcbcd4d4e19745d81b34994319b510a531c9d6df1491fae1e90b5d0764f0f1a827251ca8df5d613178b0eab01ef25 SHA512 43300af6d39c1e2221b0ed7318fe14c7464eeb6eb030ed1e22eb29b4ab17f014e2a4c8887c3a46ae5d243e3072da27f00f4e285498ae6f1288177d38d1108288
DIST xsts-2004-01-14.tar.gz 2761085 BLAKE2B 41545995fb3a65d053257c376c07d45ffd1041a433bfbdb46d4dd87a5afb60c18c8629a3d988323f9e7a1d709775b5a7e5930276a7121c0725a22705c0976e36 SHA512 32854388d7e720ad67156baf50bf2bae7bd878ca3e35fd7e44e57cad3f434f69d56bbbedd61509f8a1faf01c9eae74a078df8fe130780b182c05c05cb1c39ebe

View File

@ -0,0 +1,29 @@
From 17b056cb8ecff88326340ef9e70cd59d78d781a0 Mon Sep 17 00:00:00 2001
Message-ID: <17b056cb8ecff88326340ef9e70cd59d78d781a0.1760256737.git.sam@gentoo.org>
From: Nick Wellnhofer <wellnhofer@aevum.de>
Date: Wed, 17 Sep 2025 11:10:51 +0200
Subject: [PATCH 1/8] meson: Fix install dir of man pages
Regressed when reworking documentation in 2.15.
Fixes #985.
---
doc/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/doc/meson.build b/doc/meson.build
index 018b7d03..8cde254a 100644
--- a/doc/meson.build
+++ b/doc/meson.build
@@ -31,7 +31,7 @@ if want_docs
xsltproc = find_program('xsltproc')
types = [
- [ 'manpages', '.1', dir_man ],
+ [ 'manpages', '.1', dir_man / 'man1' ],
[ 'html', '.html', dir_doc ],
]
programs = [ 'xmllint' ]
--
2.51.0

View File

@ -0,0 +1,38 @@
From 368a0b146a7ce92fcb9ef485eb37f81e135c4c8d Mon Sep 17 00:00:00 2001
Message-ID: <368a0b146a7ce92fcb9ef485eb37f81e135c4c8d.1760256737.git.sam@gentoo.org>
In-Reply-To: <17b056cb8ecff88326340ef9e70cd59d78d781a0.1760256737.git.sam@gentoo.org>
References: <17b056cb8ecff88326340ef9e70cd59d78d781a0.1760256737.git.sam@gentoo.org>
From: Nick Wellnhofer <wellnhofer@aevum.de>
Date: Fri, 19 Sep 2025 13:39:41 +0200
Subject: [PATCH 2/8] parser: Fix attribute normalization and standalone check
Regressed with e4cbc295.
---
parser.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/parser.c b/parser.c
index 2c3d9048..c7f46a31 100644
--- a/parser.c
+++ b/parser.c
@@ -4025,7 +4025,7 @@ xmlParseAttValueInternal(xmlParserCtxtPtr ctxt, int *attlen, int *outFlags,
int c, l, quote, entFlags, chunkSize;
int inSpace = 1;
int replaceEntities;
- int normalize = (special & XML_SPECIAL_TYPE_MASK) != 0;
+ int normalize = (special & XML_SPECIAL_TYPE_MASK) > XML_ATTRIBUTE_CDATA;
int attvalFlags = 0;
/* Always expand namespace URIs */
@@ -8578,7 +8578,7 @@ xmlParseAttribute2(xmlParserCtxtPtr ctxt,
#ifdef LIBXML_VALID_ENABLED
if ((ctxt->validate) &&
- (ctxt->standalone) &&
+ (ctxt->standalone == 1) &&
(special & XML_SPECIAL_EXTERNAL) &&
(flags & XML_ATTVAL_NORM_CHANGE)) {
xmlValidityError(ctxt, XML_DTD_NOT_STANDALONE,
--
2.51.0

View File

@ -0,0 +1,43 @@
From 7d7ac6215ffa45b13c4e16c0b1478acb73de784e Mon Sep 17 00:00:00 2001
Message-ID: <7d7ac6215ffa45b13c4e16c0b1478acb73de784e.1760256737.git.sam@gentoo.org>
In-Reply-To: <17b056cb8ecff88326340ef9e70cd59d78d781a0.1760256737.git.sam@gentoo.org>
References: <17b056cb8ecff88326340ef9e70cd59d78d781a0.1760256737.git.sam@gentoo.org>
From: Lars Erik Wik <lars.erik.wik@northern.tech>
Date: Thu, 25 Sep 2025 11:29:05 +0200
Subject: [PATCH 3/8] Fixed compilation error on GCC versions prior to 4.5
The deprecated attribute started accepting an optional string argument
in GCC version 4.5. Compiling libxml2 with GCC versions prior to that
would cause compilation errors such as:
```
./include/libxml/xmlmemory.h:134: error: wrong number of arguments specified for 'deprecated' attribute
```
Now the string argument is omitted for older versions of GCC.
Signed-off-by: Lars Erik Wik <lars.erik.wik@northern.tech>
---
include/libxml/xmlexports.h | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/include/libxml/xmlexports.h b/include/libxml/xmlexports.h
index 3149c731..3a23c548 100644
--- a/include/libxml/xmlexports.h
+++ b/include/libxml/xmlexports.h
@@ -55,8 +55,12 @@
#ifndef XML_DEPRECATED
#if defined(IN_LIBXML)
#define XML_DEPRECATED
- #elif __GNUC__ * 100 + __GNUC_MINOR__ >= 301
+ #elif __GNUC__ * 100 + __GNUC_MINOR__ >= 405
+ /* GCC 4.5+ supports deprecated with message */
#define XML_DEPRECATED __attribute__((deprecated("See https://gnome.pages.gitlab.gnome.org/libxml2/html/deprecated.html")))
+ #elif __GNUC__ * 100 + __GNUC_MINOR__ >= 301
+ /* GCC 3.1+ supports deprecated without message */
+ #define XML_DEPRECATED __attribute__((deprecated))
#elif defined(_MSC_VER) && _MSC_VER >= 1400
/* Available since Visual Studio 2005 */
#define XML_DEPRECATED __declspec(deprecated("See https://gnome.pages.gitlab.gnome.org/libxml2/html/deprecated.html"))
--
2.51.0

View File

@ -0,0 +1,42 @@
From 49cf8724f542767fd38ac2a94b64c949b4dddb92 Mon Sep 17 00:00:00 2001
Message-ID: <49cf8724f542767fd38ac2a94b64c949b4dddb92.1760256737.git.sam@gentoo.org>
In-Reply-To: <17b056cb8ecff88326340ef9e70cd59d78d781a0.1760256737.git.sam@gentoo.org>
References: <17b056cb8ecff88326340ef9e70cd59d78d781a0.1760256737.git.sam@gentoo.org>
From: Nick Wellnhofer <wellnhofer@aevum.de>
Date: Fri, 26 Sep 2025 16:29:10 +0200
Subject: [PATCH 4/8] valid: Undeprecate xmlValidGetPotentialChildren
Fixes #988.
---
include/libxml/valid.h | 1 -
valid.c | 2 --
2 files changed, 3 deletions(-)
diff --git a/include/libxml/valid.h b/include/libxml/valid.h
index 2b8b8fb1..c5638031 100644
--- a/include/libxml/valid.h
+++ b/include/libxml/valid.h
@@ -395,7 +395,6 @@ XMLPUBFUN xmlElement *
#ifdef LIBXML_VALID_ENABLED
-XML_DEPRECATED
XMLPUBFUN int
xmlValidGetPotentialChildren(xmlElementContent *ctree,
const xmlChar **names,
diff --git a/valid.c b/valid.c
index 5c4ecfb5..9dbace65 100644
--- a/valid.c
+++ b/valid.c
@@ -6383,8 +6383,6 @@ xmlCtxtValidateDocument(xmlParserCtxt *ctxt, xmlDoc *doc) {
/**
* Build/extend a list of potential children allowed by the content tree
*
- * @deprecated Internal function, don't use.
- *
* @param ctree an element content tree
* @param names an array to store the list of child names
* @param len a pointer to the number of element in the list
--
2.51.0

View File

@ -0,0 +1,37 @@
From baead423c9b7f1880f460390657e92798b8fe2b9 Mon Sep 17 00:00:00 2001
Message-ID: <baead423c9b7f1880f460390657e92798b8fe2b9.1760256737.git.sam@gentoo.org>
In-Reply-To: <17b056cb8ecff88326340ef9e70cd59d78d781a0.1760256737.git.sam@gentoo.org>
References: <17b056cb8ecff88326340ef9e70cd59d78d781a0.1760256737.git.sam@gentoo.org>
From: Nick Wellnhofer <wellnhofer@aevum.de>
Date: Sat, 27 Sep 2025 19:07:38 +0200
Subject: [PATCH 5/8] globals: Don't export DllMain on Windows
This shouldn't be done and lld 21 warns about it:
https://github.com/msys2/MINGW-packages/issues/17820
https://github.com/msys2/MINGW-packages/issues/25716
Regressed with f05af837.
---
globals.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/globals.c b/globals.c
index 38db2954..de131552 100644
--- a/globals.c
+++ b/globals.c
@@ -782,9 +782,9 @@ xmlDllMain(ATTRIBUTE_UNUSED void *hinstDLL, unsigned long fdwReason,
/* declare to avoid "no previous prototype for 'DllMain'" warning */
/* Note that we do NOT want to include this function declaration in
a public header because it's meant to be called by Windows itself,
- not a program that uses this library. This also has to be exported. */
+ not a program that uses this library. */
-XMLPUBFUN BOOL WINAPI
+BOOL WINAPI
DllMain (HINSTANCE hinstDLL,
DWORD fdwReason,
LPVOID lpvReserved);
--
2.51.0

View File

@ -0,0 +1,46 @@
From 03e822bc3cf029ef01da81cdade78fa14d38d3f4 Mon Sep 17 00:00:00 2001
Message-ID: <03e822bc3cf029ef01da81cdade78fa14d38d3f4.1760256737.git.sam@gentoo.org>
In-Reply-To: <17b056cb8ecff88326340ef9e70cd59d78d781a0.1760256737.git.sam@gentoo.org>
References: <17b056cb8ecff88326340ef9e70cd59d78d781a0.1760256737.git.sam@gentoo.org>
From: Nick Wellnhofer <wellnhofer@aevum.de>
Date: Mon, 29 Sep 2025 10:46:47 +0200
Subject: [PATCH 6/8] Revert "globals: Don't export DllMain on Windows"
This reverts commit bd2072f8d025e7a37d527b23b84698460c5798bf.
Apparently, this change would require to recompile downstream code.
---
globals.c | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/globals.c b/globals.c
index de131552..8306f94e 100644
--- a/globals.c
+++ b/globals.c
@@ -779,12 +779,18 @@ int
xmlDllMain(ATTRIBUTE_UNUSED void *hinstDLL, unsigned long fdwReason,
ATTRIBUTE_UNUSED void *lpvReserved)
#else
-/* declare to avoid "no previous prototype for 'DllMain'" warning */
-/* Note that we do NOT want to include this function declaration in
- a public header because it's meant to be called by Windows itself,
- not a program that uses this library. */
-BOOL WINAPI
+/*
+ * Declare to avoid "no previous prototype for 'DllMain'" warning.
+ *
+ * Note that we do NOT want to include this function declaration in
+ * a public header because it's meant to be called by Windows itself,
+ * not a program that uses this library.
+ *
+ * It is a mistake to export this function, but changing that seems
+ * to break the ABI.
+ */
+XMLPUBFUN BOOL WINAPI
DllMain (HINSTANCE hinstDLL,
DWORD fdwReason,
LPVOID lpvReserved);
--
2.51.0

View File

@ -0,0 +1,50 @@
From 2ec85657e33e81a96314bdd36af42ac39f0ae354 Mon Sep 17 00:00:00 2001
Message-ID: <2ec85657e33e81a96314bdd36af42ac39f0ae354.1760256737.git.sam@gentoo.org>
In-Reply-To: <17b056cb8ecff88326340ef9e70cd59d78d781a0.1760256737.git.sam@gentoo.org>
References: <17b056cb8ecff88326340ef9e70cd59d78d781a0.1760256737.git.sam@gentoo.org>
From: Nick Wellnhofer <wellnhofer@aevum.de>
Date: Mon, 29 Sep 2025 11:04:03 +0200
Subject: [PATCH 7/8] io: Undeprecate xmlOutputBuffer members
The public API is too buggy, so direct access to struct members is
required by projects like libxslt.
---
include/libxml/xmlIO.h | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/include/libxml/xmlIO.h b/include/libxml/xmlIO.h
index 3090215b..575b7eb5 100644
--- a/include/libxml/xmlIO.h
+++ b/include/libxml/xmlIO.h
@@ -148,20 +148,20 @@ struct _xmlParserInputBuffer {
* Output buffer
*/
struct _xmlOutputBuffer {
- void* context XML_DEPRECATED_MEMBER;
- xmlOutputWriteCallback writecallback XML_DEPRECATED_MEMBER;
- xmlOutputCloseCallback closecallback XML_DEPRECATED_MEMBER;
+ void* context;
+ xmlOutputWriteCallback writecallback;
+ xmlOutputCloseCallback closecallback;
/* I18N conversions to UTF-8 */
- xmlCharEncodingHandler *encoder XML_DEPRECATED_MEMBER;
+ xmlCharEncodingHandler *encoder;
/* Local buffer encoded in UTF-8 or ISOLatin */
- xmlBuf *buffer XML_DEPRECATED_MEMBER;
+ xmlBuf *buffer;
/* if encoder != NULL buffer for output */
- xmlBuf *conv XML_DEPRECATED_MEMBER;
+ xmlBuf *conv;
/* total number of byte written */
- int written XML_DEPRECATED_MEMBER;
- int error XML_DEPRECATED_MEMBER;
+ int written;
+ int error;
};
#endif /* LIBXML_OUTPUT_ENABLED */
--
2.51.0

View File

@ -0,0 +1,112 @@
From 196bfd340ac3c79e2c31b3103fcaf6d39d5b2e2c Mon Sep 17 00:00:00 2001
Message-ID: <196bfd340ac3c79e2c31b3103fcaf6d39d5b2e2c.1760256737.git.sam@gentoo.org>
In-Reply-To: <17b056cb8ecff88326340ef9e70cd59d78d781a0.1760256737.git.sam@gentoo.org>
References: <17b056cb8ecff88326340ef9e70cd59d78d781a0.1760256737.git.sam@gentoo.org>
From: Nick Wellnhofer <wellnhofer@aevum.de>
Date: Tue, 7 Oct 2025 01:05:03 +0200
Subject: [PATCH 8/8] tree: Undeprecate several struct members
---
include/libxml/tree.h | 38 +++++++++++++++++++-------------------
1 file changed, 19 insertions(+), 19 deletions(-)
diff --git a/include/libxml/tree.h b/include/libxml/tree.h
index 32cea2fb..277110ae 100644
--- a/include/libxml/tree.h
+++ b/include/libxml/tree.h
@@ -296,11 +296,11 @@ typedef xmlNotation *xmlNotationPtr;
*/
struct _xmlNotation {
/** Notation name */
- const xmlChar *name XML_DEPRECATED_MEMBER;
+ const xmlChar *name;
/** Public identifier, if any */
- const xmlChar *PublicID XML_DEPRECATED_MEMBER;
+ const xmlChar *PublicID;
/** System identifier, if any */
- const xmlChar *SystemID XML_DEPRECATED_MEMBER;
+ const xmlChar *SystemID;
};
/**
@@ -375,11 +375,11 @@ struct _xmlAttribute {
struct _xmlDoc *doc;
/** next in hash table */
- struct _xmlAttribute *nexth XML_DEPRECATED_MEMBER;
+ struct _xmlAttribute *nexth;
/** attribute type */
- xmlAttributeType atype XML_DEPRECATED_MEMBER;
+ xmlAttributeType atype;
/** attribute default */
- xmlAttributeDefault def XML_DEPRECATED_MEMBER;
+ xmlAttributeDefault def;
/** default value */
xmlChar *defaultValue;
/** enumeration tree if any */
@@ -387,7 +387,7 @@ struct _xmlAttribute {
/** namespace prefix if any */
const xmlChar *prefix;
/** element name */
- const xmlChar *elem XML_DEPRECATED_MEMBER;
+ const xmlChar *elem;
};
/**
@@ -478,13 +478,13 @@ struct _xmlElement {
struct _xmlDoc *doc;
/** element type */
- xmlElementTypeVal etype XML_DEPRECATED_MEMBER;
+ xmlElementTypeVal etype;
/** allowed element content */
- xmlElementContent *content XML_DEPRECATED_MEMBER;
+ xmlElementContent *content;
/** list of declared attributes */
- xmlAttribute *attributes XML_DEPRECATED_MEMBER;
+ xmlAttribute *attributes;
/** namespace prefix if any */
- const xmlChar *prefix XML_DEPRECATED_MEMBER;
+ const xmlChar *prefix;
#ifdef LIBXML_REGEXP_ENABLED
/** validating regexp */
xmlRegexp *contModel XML_DEPRECATED_MEMBER;
@@ -564,19 +564,19 @@ struct _xmlDtd {
/* End of common part */
/** hash table for notations if any */
- void *notations XML_DEPRECATED_MEMBER;
+ void *notations;
/** hash table for elements if any */
- void *elements XML_DEPRECATED_MEMBER;
+ void *elements;
/** hash table for attributes if any */
- void *attributes XML_DEPRECATED_MEMBER;
+ void *attributes;
/** hash table for entities if any */
- void *entities XML_DEPRECATED_MEMBER;
+ void *entities;
/** public identifier */
- xmlChar *ExternalID XML_DEPRECATED_MEMBER;
+ xmlChar *ExternalID;
/** system identifier */
- xmlChar *SystemID XML_DEPRECATED_MEMBER;
+ xmlChar *SystemID;
/** hash table for parameter entities if any */
- void *pentities XML_DEPRECATED_MEMBER;
+ void *pentities;
};
/** Attribute of an element */
@@ -823,7 +823,7 @@ struct _xmlDoc {
/** external subset */
struct _xmlDtd *extSubset;
/** used to hold the XML namespace if needed */
- struct _xmlNs *oldNs XML_DEPRECATED_MEMBER;
+ struct _xmlNs *oldNs;
/** version string from XML declaration */
xmlChar *version;
/** actual encoding if any */
--
2.51.0

View File

@ -23,7 +23,7 @@ if [[ ${PV} == 9999 ]] ; then
inherit git-r3
else
inherit gnome.org
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
SRC_URI+="

View File

@ -0,0 +1,166 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# Note: Please bump in sync with dev-libs/libxslt
PYTHON_COMPAT=( python3_{11..14} )
PYTHON_REQ_USE="xml(+)"
inherit python-r1 meson-multilib
DESCRIPTION="XML C parser and toolkit"
HOMEPAGE="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home"
if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxml2"
inherit git-r3
else
inherit gnome.org
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
S="${WORKDIR}/${PN}-${PV%_rc*}"
LICENSE="MIT"
# see so_version = v_maj + v_min_compat for subslot
SLOT="2/16"
IUSE="doc icu python readline static-libs test"
RESTRICT="!test? ( test )"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
RDEPEND="
virtual/libiconv
>=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]
icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
python? ( ${PYTHON_DEPS} )
readline? ( sys-libs/readline:= )
"
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
doc? (
app-text/docbook-xsl-stylesheets
app-text/doxygen
dev-libs/libxslt
)
python? ( app-text/doxygen )
"
MULTILIB_CHOST_TOOLS=(
/usr/bin/xml2-config
)
PATCHES=(
"${FILESDIR}"/libxml2-2.14.2-no-git.patch
"${FILESDIR}"/2.15.0/
)
src_unpack() {
if [[ ${PV} == 9999 ]] ; then
git-r3_src_unpack
else
default
fi
cd "${S}" || die
}
src_prepare() {
default
sed -e "/^dir_doc/ s/meson.project_name()$/\'${PF}\'/" -i meson.build || die
}
python_configure() {
local emesonargs=(
$(meson_feature icu)
$(meson_native_use_feature readline)
$(meson_native_use_feature readline history)
-Ddocs=disabled
-Dpython=enabled
-Dschematron=enabled
)
mkdir "${BUILD_DIR}" || die
pushd "${BUILD_DIR}" >/dev/null || die
meson_src_configure
popd >/dev/null || die
}
multilib_src_configure() {
local emesonargs=(
-Ddefault_library=$(multilib_native_usex static-libs both shared)
$(meson_feature icu)
$(meson_native_use_feature doc docs)
$(meson_native_use_feature readline)
$(meson_native_use_feature readline history)
-Dpython=disabled
-Dschematron=enabled
# There has been a clean break with a soname bump.
# It's time to deal with the breakage.
# bug #935452
-Dlegacy=disabled
)
meson_src_configure
if multilib_is_native_abi && use python ; then
python_foreach_impl python_configure
fi
}
python_compile() {
pushd "${BUILD_DIR}" >/dev/null || die
meson_src_compile
popd >/dev/null || die
}
multilib_src_compile() {
meson_src_compile
if multilib_is_native_abi && use python ; then
python_foreach_impl python_compile
fi
}
multilib_src_test() {
meson_src_test
if multilib_is_native_abi && use python ; then
python_foreach_impl meson_src_test
fi
}
python_install() {
pushd "${BUILD_DIR}" >/dev/null || die
meson_src_install
python_optimize
popd >/dev/null || die
}
multilib_src_install() {
if multilib_is_native_abi && use python ; then
python_foreach_impl python_install
fi
meson_src_install
}
pkg_postinst() {
# We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
# be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
if [[ -n "${ROOT}" ]]; then
elog "Skipping XML catalog creation for stage building (bug #208887)."
else
# Need an XML catalog, so no-one writes to a non-existent one
CATALOG="${EROOT}/etc/xml/catalog"
# We don't want to clobber an existing catalog though,
# only ensure that one is there
# <obz@gentoo.org>
if [[ ! -e "${CATALOG}" ]]; then
[[ -d "${EROOT}/etc/xml" ]] || mkdir -p "${EROOT}/etc/xml"
"${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}"
einfo "Created XML catalog in ${CATALOG}"
fi
fi
}

View File

@ -9,13 +9,6 @@ PYTHON_COMPAT=( python3_{11..14} )
PYTHON_REQ_USE="xml(+)"
inherit python-r1 meson-multilib
XSTS_HOME="https://www.w3.org/XML/2004/xml-schema-test-suite"
XSTS_NAME_1="xmlschema2002-01-16"
XSTS_NAME_2="xmlschema2004-01-14"
XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
XMLCONF_TARBALL="xmlts20130923.tar.gz"
DESCRIPTION="XML C parser and toolkit"
HOMEPAGE="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home"
if [[ ${PV} == 9999 ]] ; then
@ -26,19 +19,12 @@ else
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
SRC_URI+="
test? (
${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
https://www.w3.org/XML/Test/${XMLCONF_TARBALL}
)
"
S="${WORKDIR}/${PN}-${PV%_rc*}"
LICENSE="MIT"
# see so_version = v_maj + v_min_compat for subslot
SLOT="2/16"
IUSE="icu +python readline static-libs test"
IUSE="doc icu python readline static-libs test"
RESTRICT="!test? ( test )"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
@ -50,7 +36,15 @@ RDEPEND="
readline? ( sys-libs/readline:= )
"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
BDEPEND="
virtual/pkgconfig
doc? (
app-text/docbook-xsl-stylesheets
app-text/doxygen
dev-libs/libxslt
)
python? ( app-text/doxygen )
"
MULTILIB_CHOST_TOOLS=(
/usr/bin/xml2-config
@ -60,26 +54,10 @@ src_unpack() {
if [[ ${PV} == 9999 ]] ; then
git-r3_src_unpack
else
local tarname=${P/_rc/-rc}.tar.xz
# ${A} isn't used to avoid unpacking of test tarballs into ${WORKDIR},
# as they are needed as tarballs in ${S}/xstc instead and not unpacked
unpack ${tarname}
if [[ -n ${PATCHSET_VERSION} ]] ; then
unpack ${PN}-${PATCHSET_VERSION}.tar.xz
fi
default
fi
cd "${S}" || die
if use test ; then
cp "${DISTDIR}/${XSTS_TARBALL_1}" \
"${DISTDIR}/${XSTS_TARBALL_2}" \
"${S}"/xstc/ \
|| die "Failed to install test tarballs"
unpack ${XMLCONF_TARBALL}
fi
}
src_prepare() {
@ -93,7 +71,9 @@ python_configure() {
$(meson_feature icu)
$(meson_native_use_feature readline)
$(meson_native_use_feature readline history)
-Ddocs=disabled
-Dpython=enabled
-Dschematron=enabled
)
mkdir "${BUILD_DIR}" || die
pushd "${BUILD_DIR}" >/dev/null || die
@ -105,9 +85,11 @@ multilib_src_configure() {
local emesonargs=(
-Ddefault_library=$(multilib_native_usex static-libs both shared)
$(meson_feature icu)
$(meson_native_use_feature doc docs)
$(meson_native_use_feature readline)
$(meson_native_use_feature readline history)
-Dpython=disabled
-Dschematron=enabled
# There has been a clean break with a soname bump.
# It's time to deal with the breakage.