diff options
author | Janne Heß <dasJ@users.noreply.github.com> | 2023-11-02 16:40:04 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-02 16:40:04 +0100 |
commit | fefc2e26bb2317bf4c00364deb3cf714d083a844 (patch) | |
tree | da0de7a5277a00ee3b5fa96f0b16a161352610dd | |
parent | 677e25fcd22349b0e66f0bceee9080c0ac129bea (diff) | |
parent | aa6ed10765676a190e90420bdd07195e6fde73a0 (diff) | |
download | nixpkgs-fefc2e26bb2317bf4c00364deb3cf714d083a844.tar nixpkgs-fefc2e26bb2317bf4c00364deb3cf714d083a844.tar.gz nixpkgs-fefc2e26bb2317bf4c00364deb3cf714d083a844.tar.bz2 nixpkgs-fefc2e26bb2317bf4c00364deb3cf714d083a844.tar.lz nixpkgs-fefc2e26bb2317bf4c00364deb3cf714d083a844.tar.xz nixpkgs-fefc2e26bb2317bf4c00364deb3cf714d083a844.tar.zst nixpkgs-fefc2e26bb2317bf4c00364deb3cf714d083a844.zip |
Merge pull request #265003 from stigtsp/perl/fix-xml-libxml-darwin
[staging-next] perlPackages.XMLLibXML: fix darwin build
-rw-r--r-- | pkgs/development/perl-modules/XML-LibXML-clang16.patch | 47 | ||||
-rw-r--r-- | pkgs/top-level/perl-packages.nix | 3 |
2 files changed, 50 insertions, 0 deletions
diff --git a/pkgs/development/perl-modules/XML-LibXML-clang16.patch b/pkgs/development/perl-modules/XML-LibXML-clang16.patch new file mode 100644 index 00000000000..9a19e32bc40 --- /dev/null +++ b/pkgs/development/perl-modules/XML-LibXML-clang16.patch @@ -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; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index e5a54018ed8..1a70e04d56f 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -28473,6 +28473,9 @@ with self; { SKIP_SAX_INSTALL = 1; buildInputs = [ AlienBuild AlienLibxml2 ] ++ 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 postPatch = '' rm t/35huge_mode.t |