about summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
authorRandy Eckenrode <randy@largeandhighquality.com>2023-07-11 13:19:02 -0600
committerRandy Eckenrode <randy@largeandhighquality.com>2023-07-29 21:21:21 -0400
commit62ddedb4eab4d187a43e6fd72d9bc66a360fb23d (patch)
treedb44be35e2e31410e7246434c8db685b4aa0df72 /pkgs/tools
parent9ae5c2de7fc82170d65296041b2f4822e5ec8459 (diff)
downloadnixlib-62ddedb4eab4d187a43e6fd72d9bc66a360fb23d.tar
nixlib-62ddedb4eab4d187a43e6fd72d9bc66a360fb23d.tar.gz
nixlib-62ddedb4eab4d187a43e6fd72d9bc66a360fb23d.tar.bz2
nixlib-62ddedb4eab4d187a43e6fd72d9bc66a360fb23d.tar.lz
nixlib-62ddedb4eab4d187a43e6fd72d9bc66a360fb23d.tar.xz
nixlib-62ddedb4eab4d187a43e6fd72d9bc66a360fb23d.tar.zst
nixlib-62ddedb4eab4d187a43e6fd72d9bc66a360fb23d.zip
xmlstarlet: fix build with clang 16
Fixes an incompatible function pointer error when building with clang 16.
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/text/xml/xmlstarlet/default.nix5
-rw-r--r--pkgs/tools/text/xml/xmlstarlet/fix-incompatible-function-pointer.patch11
2 files changed, 16 insertions, 0 deletions
diff --git a/pkgs/tools/text/xml/xmlstarlet/default.nix b/pkgs/tools/text/xml/xmlstarlet/default.nix
index d76e9d144964..8f382d3bcd5d 100644
--- a/pkgs/tools/text/xml/xmlstarlet/default.nix
+++ b/pkgs/tools/text/xml/xmlstarlet/default.nix
@@ -12,6 +12,11 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ libxml2 libxslt ];
 
+  patches = [
+    # Fixes an incompatible function pointer error with clang 16.
+    ./fix-incompatible-function-pointer.patch
+  ];
+
   preConfigure =
     ''
       export LIBXSLT_PREFIX=${libxslt.dev}
diff --git a/pkgs/tools/text/xml/xmlstarlet/fix-incompatible-function-pointer.patch b/pkgs/tools/text/xml/xmlstarlet/fix-incompatible-function-pointer.patch
new file mode 100644
index 000000000000..a0818731c217
--- /dev/null
+++ b/pkgs/tools/text/xml/xmlstarlet/fix-incompatible-function-pointer.patch
@@ -0,0 +1,11 @@
+--- a/src/xml_elem.c	2012-08-12 09:18:59.000000000 -0600
++++ b/src/xml_elem.c	2023-07-11 13:17:14.220809280 -0600
+@@ -186,7 +186,7 @@
+  * put @name into @data->array[@data->offset]
+  */
+ static void
+-hash_key_put(void *payload, void *data, xmlChar *name)
++hash_key_put(void *payload, void *data, const xmlChar *name)
+ {
+     ArrayDest *dest = data;
+     dest->array[dest->offset++] = name;