about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorRandy Eckenrode <randy@largeandhighquality.com>2023-09-05 23:40:34 -0400
committerRandy Eckenrode <randy@largeandhighquality.com>2023-09-06 18:30:41 -0400
commit42f749145d296d6106634e0104c857a05426f20a (patch)
tree2589b7b4dccbb6f6410e37f2d20b10048d8fb600 /pkgs
parentdba6d77ad232e3a5ffc5e281ebbada4fe0e23981 (diff)
perlPackages.Tk: fix build with clang 16
The jpeg `configure` script fails to detect clang as a functioning C
compiler because it uses a test with a `main` that returns an implicit
`int`, which results in an error with clang 16.
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/perl-modules/tk-configure-implicit-int-fix.patch11
-rw-r--r--pkgs/top-level/perl-packages.nix5
2 files changed, 16 insertions, 0 deletions
diff --git a/pkgs/development/perl-modules/tk-configure-implicit-int-fix.patch b/pkgs/development/perl-modules/tk-configure-implicit-int-fix.patch
new file mode 100644
index 0000000000000..215bf864cfe49
--- /dev/null
+++ b/pkgs/development/perl-modules/tk-configure-implicit-int-fix.patch
@@ -0,0 +1,11 @@
+--- a/JPEG/jpeg/configure	2013-11-15 18:50:03.000000000 -0500
++++ b/JPEG/jpeg/configure	2023-09-05 23:36:12.675151164 -0400
+@@ -623,7 +623,7 @@
+ cat > conftest.$ac_ext <<EOF
+ #line 625 "configure"
+ #include "confdefs.h"
+-main(){return(0);}
++int main(){return(0);}
+ EOF
+ if { (eval echo configure:629: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+   ac_cv_prog_cc_works=yes
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index e720a70fafc35..35fff6aa5969c 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -26585,6 +26585,11 @@ with self; {
       url = "mirror://cpan/authors/id/S/SR/SREZIC/Tk-804.036.tar.gz";
       hash = "sha256-Mqpycaa9/twzMBGbOCXa3dCqS1yTb4StdOq7kyogCl4=";
     };
+    patches = [
+      # Fix failing configure test due to implicit int return value of main, which results
+      # in an error with clang 16.
+      ../development/perl-modules/tk-configure-implicit-int-fix.patch
+    ];
     makeMakerFlags = [ "X11INC=${pkgs.xorg.libX11.dev}/include" "X11LIB=${pkgs.xorg.libX11.out}/lib" ];
     buildInputs = [ pkgs.xorg.libX11 pkgs.libpng ];
     doCheck = false;            # Expects working X11.