summaryrefslogtreecommitdiff
path: root/dev-perl
diff options
context:
space:
mode:
Diffstat (limited to 'dev-perl')
-rw-r--r--dev-perl/Manifest.gzbin282889 -> 282894 bytes
-rw-r--r--dev-perl/XML-LibXML/Manifest2
-rw-r--r--dev-perl/XML-LibXML/XML-LibXML-2.20.800-r1.ebuild82
-rw-r--r--dev-perl/XML-LibXML/files/XML-LibXML-2.20.800-modern-c.patch45
4 files changed, 129 insertions, 0 deletions
diff --git a/dev-perl/Manifest.gz b/dev-perl/Manifest.gz
index bf10ce7bbd20..0a0d9129ac4d 100644
--- a/dev-perl/Manifest.gz
+++ b/dev-perl/Manifest.gz
Binary files differ
diff --git a/dev-perl/XML-LibXML/Manifest b/dev-perl/XML-LibXML/Manifest
index 9e89d23a30ac..ebb860180646 100644
--- a/dev-perl/XML-LibXML/Manifest
+++ b/dev-perl/XML-LibXML/Manifest
@@ -1,5 +1,7 @@
+AUX XML-LibXML-2.20.800-modern-c.patch 1873 BLAKE2B 3ecebf6822094014001865b1a8ecb174d724f0bc97d59ad3b1432c5d84dac22fa7b425800e14996ae30befd359313672504a1fcf0bbca014f541c0570c51b040 SHA512 60e059d74928fe766a8ecf91270eaf28d7204520b32cbbab0676b334018bbfd94196ef83ce54a8eadec7238a9640d208cc64262c222eccf51b3ef5636999fb02
DIST XML-LibXML-2.0207.tar.gz 462595 BLAKE2B 9ebb4786dcd45f552ef31ba0854693e876b6f8098b577401429651e5eb55792bb623185db371d2578432c00031ce2cfb66603e08290d7cf8f74dee5fe45c143d SHA512 86bf4200c800e1295161c3217892398dbc65e107ad1a3df8ea7f237350ba67d88ad7b18ab7123e647053a8721bc13a8959ddb101fdc6de18dcaef02c0f0f5b58
DIST XML-LibXML-2.0208.tar.gz 465763 BLAKE2B df3e1c917c4b6aec49650668dca8a9db3f83e9060ab7795495ef4b505f8970d11294c687df9805b55db4f81a5b81121b463ee6258bbe6106f63d20b6a901b5b2 SHA512 b8407359b9111b43247cc57b6e9e54c4e99402c9b7e939e49beb752be8fd1ce0e31a98e07dd5d1f7eaa7e37aae25571c38a14792f9e5a64c1533a0387c71423d
EBUILD XML-LibXML-2.20.700-r2.ebuild 1916 BLAKE2B fbf5d024fd4b4d2559d86812c370f1a9d19190196ba9fa5a81203a42167eaf30ca412b323d0c3e1c662f4ad59c73c8dd6bfe7613be05aea6f952d2b0be170b73 SHA512 1d5a5b1b72f8f1bf3602d9543db5b8b4dbaa1a74e5e4ce00057e30ec6472999af940d56de157b5d6c484fb650520a3efcdd4daa07a5a8d9440ba458f8be6b932
+EBUILD XML-LibXML-2.20.800-r1.ebuild 1981 BLAKE2B a4f0bd4aaa45dccbf0c6dc3625551c7264cc918644436ebb11174dcdbaa8221efcf2ec9b3db8cefec42ac915c516bcdd8edff8cfd6a37aea0d817c8496e1cdb9 SHA512 5b62e10afe366cb31cd9496982d7ccd5f44c78c85a3fe3126b6778035e91714aa066b3e291d77d395effee6a39f45f1af2736796e737d0846c5a9f25aaeffea1
EBUILD XML-LibXML-2.20.800.ebuild 1924 BLAKE2B 41a7864754cdcd189b81c25a307f348677164a295b2718dc5be47549b094f9d8f9c0c954bec826c2f3a0450803639078055419b523ffec766e6f6ee8865af889 SHA512 303c0f4003bb845c94b4dcdcf2826fcd5180882861e0b8435dc6771715f6c2dcbf90d023f5c1d0aa0069271f3e5e6d2bd2154c43e0bd4e39f8b2a60bbe7ff000
MISC metadata.xml 2848 BLAKE2B ab04e542e1e6bf7d2d56f131b33b0ff0a568e76c205358f7de0e631d0e1cf16804103f8ac6da9867662023d887d97e6d4b25941056af8ad1a60eb1f1e9074987 SHA512 70f9e3c83938f8d73cdb1a87b2a663d636d5a51ca5a2a969b473171a303acf00f214f96ab342b6a607e8e5024074b5602598df50dbf7f7604212c2331927932b
diff --git a/dev-perl/XML-LibXML/XML-LibXML-2.20.800-r1.ebuild b/dev-perl/XML-LibXML/XML-LibXML-2.20.800-r1.ebuild
new file mode 100644
index 000000000000..bd3938b77c2c
--- /dev/null
+++ b/dev-perl/XML-LibXML/XML-LibXML-2.20.800-r1.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DIST_AUTHOR=SHLOMIF
+DIST_VERSION=2.0208
+DIST_EXAMPLES=("example/*")
+inherit perl-module
+
+DESCRIPTION="Perl binding for libxml2"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="minimal"
+
+# >= on XML-Sax needed to avoid "miscompilation" (essentially empty install), as newer XML-Sax
+# has the ROOT check fixed. Didn't happen with XML-SAX-Expat, but best to be careful.
+# bug #840053
+RDEPEND="
+ virtual/perl-Carp
+ virtual/perl-Encode
+ >=virtual/perl-Exporter-5.570.0
+ virtual/perl-IO
+ virtual/perl-Scalar-List-Utils
+ >=dev-perl/XML-NamespaceSupport-1.70.0
+ >=dev-perl/XML-SAX-1.20.0-r1
+ dev-perl/XML-SAX-Base
+ >=dev-libs/libxml2-2.6.21:2=
+ virtual/perl-parent
+"
+BDEPEND="${RDEPEND}
+ virtual/perl-ExtUtils-MakeMaker
+ dev-perl/Alien-Build
+ >=dev-perl/Alien-Libxml2-0.140.0
+ test? (
+ !minimal? (
+ dev-perl/Test-LeakTrace
+ )
+ )
+"
+DEPEND=">=dev-libs/libxml2-2.6.21:2="
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.20.800-modern-c.patch
+)
+
+PERL_RM_FILES=(
+ "t/cpan-changes.t" "t/pod-files-presence.t" "t/pod.t"
+ "t/release-kwalitee.t" "t/style-trailing-space.t"
+ "t/11memory.t"
+)
+
+src_compile() {
+ export SKIP_SAX_INSTALL=1
+ perl-module_src_compile
+}
+
+pkg_postinst() {
+ pkg_update_parser add XML::LibXML::SAX::Parser
+ pkg_update_parser add XML::LibXML::SAX
+}
+
+pkg_postrm() {
+ pkg_update_parser remove XML::LibXML::SAX::Parser
+ pkg_update_parser remove XML::LibXML::SAX
+}
+
+pkg_update_parser() {
+ # pkg_update_parser [add|remove] $parser_module
+ local action=$1
+ local parser_module=$2
+
+ if [[ -z "${ROOT}" ]] ; then
+ einfo "Update Parser: $1 $2"
+ perl -MXML::SAX -e "XML::SAX->${action}_parser(q(${parser_module}))->save_parsers()" \
+ || ewarn "Update Parser: $1 $2 failed"
+ else
+ elog "To $1 $2 run:"
+ elog "perl -MXML::SAX -e 'XML::SAX->${action}_parser(q(${parser_module}))->save_parsers()'"
+ fi
+}
diff --git a/dev-perl/XML-LibXML/files/XML-LibXML-2.20.800-modern-c.patch b/dev-perl/XML-LibXML/files/XML-LibXML-2.20.800-modern-c.patch
new file mode 100644
index 000000000000..609db4ac7123
--- /dev/null
+++ b/dev-perl/XML-LibXML/files/XML-LibXML-2.20.800-modern-c.patch
@@ -0,0 +1,45 @@
+https://bugs.gentoo.org/883711
+https://github.com/shlomif/perl-XML-LibXML/pull/75
+
+From 25451c0a56ef8d3b32fd23847bef516486bd8ed4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 16 Jan 2023 18:50:10 -0800
+Subject: [PATCH] libxml-mm: Fix function prototypes in function pointers
+
+This is now detected with latest clang16+
+
+Fixes
+error: incompatible function pointer types passing 'void (void *, void *, xmlChar *)' (aka 'void (void *, void *, unsigned char *)') to parameter of type 'xmlHashScanner' (aka 'void (*)(void *, void *, const unsigned char *)') [-Wincompatible-function-pointer-types]
+ xmlHashScan(r, PmmRegistryDumpHashScanner, NULL);
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/perl-libxml-mm.c
++++ b/perl-libxml-mm.c
+@@ -121,7 +121,7 @@ PmmFreeHashTable(xmlHashTablePtr table)
+ extern SV* PROXY_NODE_REGISTRY_MUTEX;
+
+ /* Utility method used by PmmDumpRegistry */
+-void PmmRegistryDumpHashScanner(void * payload, void * data, xmlChar * name)
++void PmmRegistryDumpHashScanner(void * payload, void * data, const xmlChar * name)
+ {
+ LocalProxyNodePtr lp = (LocalProxyNodePtr) payload;
+ ProxyNodePtr node = (ProxyNodePtr) lp->proxy;
+@@ -215,7 +215,7 @@ PmmRegisterProxyNode(ProxyNodePtr proxy)
+ /* PP: originally this was static inline void, but on AIX the compiler
+ did not chew it, so I'm removing the inline */
+ static void
+-PmmRegistryHashDeallocator(void *payload, xmlChar *name)
++PmmRegistryHashDeallocator(void *payload, const xmlChar *name)
+ {
+ Safefree((LocalProxyNodePtr) payload);
+ }
+@@ -279,7 +279,7 @@ PmmRegistryREFCNT_dec(ProxyNodePtr proxy)
+ * internal, used by PmmCloneProxyNodes
+ */
+ void *
+-PmmRegistryHashCopier(void *payload, xmlChar *name)
++PmmRegistryHashCopier(void *payload, const xmlChar *name)
+ {
+ ProxyNodePtr proxy = ((LocalProxyNodePtr) payload)->proxy;
+ LocalProxyNodePtr lp;
+