diff options
author | Greg Hogan <code@greghogan.com> | 2025-07-17 17:17:59 +0000 |
---|---|---|
committer | Andreas Enge <andreas@enge.fr> | 2025-07-18 20:17:54 +0200 |
commit | 3ec3199fbb81c7115f3f70b03aff4350b8d5660a (patch) | |
tree | 6a68ee6aa6fcd1969333f9b2d2142dcbbecf2f32 /gnu/packages/patches/perl-xml-libxml-fix-function-prototypes.patch | |
parent | 0c8ef1e38f1acc1adb9a54d3e03ce66a25e6836e (diff) |
gnu: perl-xml-libxml: Fix build with clang 16+.
* gnu/packages/patches/perl-xml-libxml-fix-function-prototypes.patch:
New file.
* gnu/local.mk (dist_patch_DATA): Register patch.
* gnu/packages/xml.scm (perl-xml-libxml)[origin]: Apply patch.
Change-Id: Ib0be83bbf149af6c3f8a477c24159fbd975fc06b
Signed-off-by: Andreas Enge <andreas@enge.fr>
Diffstat (limited to 'gnu/packages/patches/perl-xml-libxml-fix-function-prototypes.patch')
-rw-r--r-- | gnu/packages/patches/perl-xml-libxml-fix-function-prototypes.patch | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/gnu/packages/patches/perl-xml-libxml-fix-function-prototypes.patch b/gnu/packages/patches/perl-xml-libxml-fix-function-prototypes.patch new file mode 100644 index 0000000000..5c52dbd648 --- /dev/null +++ b/gnu/packages/patches/perl-xml-libxml-fix-function-prototypes.patch @@ -0,0 +1,49 @@ +Patch from https://github.com/shlomif/perl-XML-LibXML/commit/87517859 + +From 8751785951fbde48ffa16a476da3e4adb2bbcde5 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> +--- + perl-libxml-mm.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/perl-libxml-mm.c b/perl-libxml-mm.c +index a3e78a2..ec2b5ea 100644 +--- 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; |