From 87ba4275e925dc1e23b5f0ce638ead337196ef8a Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 13 Oct 2025 07:07:05 +0000 Subject: [PATCH] dev-libs/libxml2: Sync with Gentoo It's from Gentoo commit 7962b562f51e1ae9983ca9b8ce904483a10d6dad. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-libs/libxml2/Manifest | 1 + ...1-meson-Fix-install-dir-of-man-pages.patch | 29 +++ ...bute-normalization-and-standalone-ch.patch | 38 ++++ ...n-error-on-GCC-versions-prior-to-4.5.patch | 43 +++++ ...precate-xmlValidGetPotentialChildren.patch | 42 +++++ ...bals-Don-t-export-DllMain-on-Windows.patch | 37 ++++ ...bals-Don-t-export-DllMain-on-Windows.patch | 46 +++++ ...-Undeprecate-xmlOutputBuffer-members.patch | 50 ++++++ ...e-Undeprecate-several-struct-members.patch | 112 ++++++++++++ .../dev-libs/libxml2/libxml2-2.14.6.ebuild | 2 +- .../dev-libs/libxml2/libxml2-2.15.0-r1.ebuild | 166 ++++++++++++++++++ .../dev-libs/libxml2/libxml2-9999.ebuild | 48 ++--- 12 files changed, 580 insertions(+), 34 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0001-meson-Fix-install-dir-of-man-pages.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0002-parser-Fix-attribute-normalization-and-standalone-ch.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0003-Fixed-compilation-error-on-GCC-versions-prior-to-4.5.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0004-valid-Undeprecate-xmlValidGetPotentialChildren.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0005-globals-Don-t-export-DllMain-on-Windows.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0006-Revert-globals-Don-t-export-DllMain-on-Windows.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0007-io-Undeprecate-xmlOutputBuffer-members.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0008-tree-Undeprecate-several-struct-members.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.15.0-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/Manifest index 9ac5bab41f..24082c5677 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/Manifest @@ -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 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0001-meson-Fix-install-dir-of-man-pages.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0001-meson-Fix-install-dir-of-man-pages.patch new file mode 100644 index 0000000000..d787bfc041 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0001-meson-Fix-install-dir-of-man-pages.patch @@ -0,0 +1,29 @@ +From 17b056cb8ecff88326340ef9e70cd59d78d781a0 Mon Sep 17 00:00:00 2001 +Message-ID: <17b056cb8ecff88326340ef9e70cd59d78d781a0.1760256737.git.sam@gentoo.org> +From: Nick Wellnhofer +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 + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0002-parser-Fix-attribute-normalization-and-standalone-ch.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0002-parser-Fix-attribute-normalization-and-standalone-ch.patch new file mode 100644 index 0000000000..371e014c5f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0002-parser-Fix-attribute-normalization-and-standalone-ch.patch @@ -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 +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 + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0003-Fixed-compilation-error-on-GCC-versions-prior-to-4.5.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0003-Fixed-compilation-error-on-GCC-versions-prior-to-4.5.patch new file mode 100644 index 0000000000..a7c1e8816a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0003-Fixed-compilation-error-on-GCC-versions-prior-to-4.5.patch @@ -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 +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 +--- + 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 + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0004-valid-Undeprecate-xmlValidGetPotentialChildren.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0004-valid-Undeprecate-xmlValidGetPotentialChildren.patch new file mode 100644 index 0000000000..b274516522 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0004-valid-Undeprecate-xmlValidGetPotentialChildren.patch @@ -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 +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 + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0005-globals-Don-t-export-DllMain-on-Windows.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0005-globals-Don-t-export-DllMain-on-Windows.patch new file mode 100644 index 0000000000..a42e38a2c1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0005-globals-Don-t-export-DllMain-on-Windows.patch @@ -0,0 +1,37 @@ +From baead423c9b7f1880f460390657e92798b8fe2b9 Mon Sep 17 00:00:00 2001 +Message-ID: +In-Reply-To: <17b056cb8ecff88326340ef9e70cd59d78d781a0.1760256737.git.sam@gentoo.org> +References: <17b056cb8ecff88326340ef9e70cd59d78d781a0.1760256737.git.sam@gentoo.org> +From: Nick Wellnhofer +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 + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0006-Revert-globals-Don-t-export-DllMain-on-Windows.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0006-Revert-globals-Don-t-export-DllMain-on-Windows.patch new file mode 100644 index 0000000000..8da07c5655 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0006-Revert-globals-Don-t-export-DllMain-on-Windows.patch @@ -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 +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 + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0007-io-Undeprecate-xmlOutputBuffer-members.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0007-io-Undeprecate-xmlOutputBuffer-members.patch new file mode 100644 index 0000000000..3fadb15109 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0007-io-Undeprecate-xmlOutputBuffer-members.patch @@ -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 +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 + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0008-tree-Undeprecate-several-struct-members.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0008-tree-Undeprecate-several-struct-members.patch new file mode 100644 index 0000000000..5fd13b8ec3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/2.15.0/0008-tree-Undeprecate-several-struct-members.patch @@ -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 +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 + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.14.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.14.6.ebuild index 738064b3f7..94f73024bf 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.14.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.14.6.ebuild @@ -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+=" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.15.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.15.0-r1.ebuild new file mode 100644 index 0000000000..0537b14115 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.15.0-r1.ebuild @@ -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 + # + 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 +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-9999.ebuild index 1d1ab606ab..82b37ff451 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-9999.ebuild @@ -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.