perlPackages.XMLLibXML: fix darwin build
This commit is contained in:
parent
677e25fcd2
commit
aa6ed10765
47
pkgs/development/perl-modules/XML-LibXML-clang16.patch
Normal file
47
pkgs/development/perl-modules/XML-LibXML-clang16.patch
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
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;
|
@ -28473,6 +28473,9 @@ with self; {
|
|||||||
SKIP_SAX_INSTALL = 1;
|
SKIP_SAX_INSTALL = 1;
|
||||||
buildInputs = [ AlienBuild AlienLibxml2 ]
|
buildInputs = [ AlienBuild AlienLibxml2 ]
|
||||||
++ lib.optionals stdenv.isDarwin (with pkgs; [ libiconv zlib ]);
|
++ lib.optionals stdenv.isDarwin (with pkgs; [ libiconv zlib ]);
|
||||||
|
patches = [
|
||||||
|
../development/perl-modules/XML-LibXML-clang16.patch
|
||||||
|
];
|
||||||
# Remove test that fails after LibXML 2.11 upgrade
|
# Remove test that fails after LibXML 2.11 upgrade
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
rm t/35huge_mode.t
|
rm t/35huge_mode.t
|
||||||
|
Loading…
Reference in New Issue
Block a user