about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/compilers
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/compilers')
-rw-r--r--nixpkgs/pkgs/development/compilers/algol68g/0001-plotutils-png-support.diff27
-rw-r--r--nixpkgs/pkgs/development/compilers/algol68g/default.nix56
-rw-r--r--nixpkgs/pkgs/development/compilers/aspectj/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/bfc/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/dmd/default.nix7
-rw-r--r--nixpkgs/pkgs/development/compilers/dmd/generic.nix69
-rw-r--r--nixpkgs/pkgs/development/compilers/fleng/default.nix25
-rw-r--r--nixpkgs/pkgs/development/compilers/flutter/default.nix20
-rw-r--r--nixpkgs/pkgs/development/compilers/flutter/engine-artifacts/hashes.nix113
-rw-r--r--nixpkgs/pkgs/development/compilers/flutter/flutter.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/flutter/wrapper.nix54
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc/common/pre-configure.nix11
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc/default.nix16
-rw-r--r--nixpkgs/pkgs/development/compilers/go/1.21.nix38
-rw-r--r--nixpkgs/pkgs/development/compilers/heptagon/default.nix28
-rw-r--r--nixpkgs/pkgs/development/compilers/ldc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/ldc/generic.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/lesscpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/10/llvm/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/11/llvm/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/12/llvm/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/llvm/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/14/llvm/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/15/llvm/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/16/default.nix8
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/16/llvm/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/llvm/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/6/llvm/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/7/llvm/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/8/llvm/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/llvm/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/git/llvm/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/lunarml/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/ocaml/5.1.nix7
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/12.nix11
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/13.nix13
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/14.nix13
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/15.nix14
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/16.nix14
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/17.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/18.nix9
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/19.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/20.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/ponyc/default.nix14
-rw-r--r--nixpkgs/pkgs/development/compilers/ponyc/fix-darwin-build.patch22
-rw-r--r--nixpkgs/pkgs/development/compilers/ponyc/pony-corral.nix18
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/1_72.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/scala/2.x.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/scala/bare.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/solc/default.nix10
-rw-r--r--nixpkgs/pkgs/development/compilers/solc/tests.patch14
-rw-r--r--nixpkgs/pkgs/development/compilers/spirv-llvm-translator/default.nix18
-rw-r--r--nixpkgs/pkgs/development/compilers/unison/default.nix6
53 files changed, 358 insertions, 390 deletions
diff --git a/nixpkgs/pkgs/development/compilers/algol68g/0001-plotutils-png-support.diff b/nixpkgs/pkgs/development/compilers/algol68g/0001-plotutils-png-support.diff
deleted file mode 100644
index 14e7ccd56244..000000000000
--- a/nixpkgs/pkgs/development/compilers/algol68g/0001-plotutils-png-support.diff
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -Naur algol68g-2.8.4-old/source/plotutils.c algol68g-2.8.4-new/source/plotutils.c
---- algol68g-2.8.4-old/source/plotutils.c	2016-10-11 18:14:48.000000000 -0300
-+++ algol68g-2.8.4-new/source/plotutils.c	2021-07-30 02:42:29.762627511 -0300
-@@ -1026,10 +1026,10 @@
-     X_COORD (&DEVICE (f)) = 0;
-     Y_COORD (&DEVICE (f)) = 0;
-     return (PLOTTER (&DEVICE (f)));
--  } else if (!strcmp (device_type, "gif")) {
--/*------------------------------------+
--| Supported plotter type - pseudo GIF |
--+------------------------------------*/
-+  } else if (!strcmp (device_type, "gif") || !strcmp (device_type, "png")) {
-+/*-------------------------------------------+
-+| Supported plotter type - pseudo GIF or PNG |
-++-------------------------------------------*/
-     char *z = DEREF (char, &A68_PAGE_SIZE (&DEVICE (f))), size[BUFFER_SIZE];
- /* Establish page size */
-     if (!scan_int (&z, &(WINDOW_X_SIZE (&DEVICE (f))))) {
-@@ -1067,7 +1067,7 @@
-     (void) pl_setplparam (PLOTTER_PARAMS (&DEVICE (f)), "BITMAPSIZE", size);
-     (void) pl_setplparam (PLOTTER_PARAMS (&DEVICE (f)), "BG_COLOR", (void *) "black");
-     (void) pl_setplparam (PLOTTER_PARAMS (&DEVICE (f)), "GIF_ANIMATION", (void *) "no");
--    PLOTTER (&DEVICE (f)) = pl_newpl_r ("gif", NULL, STREAM (&DEVICE (f)), stderr, PLOTTER_PARAMS (&DEVICE (f)));
-+    PLOTTER (&DEVICE (f)) = pl_newpl_r (device_type, NULL, STREAM (&DEVICE (f)), stderr, PLOTTER_PARAMS (&DEVICE (f)));
-     if (PLOTTER (&DEVICE (f)) == NULL) {
-       diagnostic_node (A68_RUNTIME_ERROR, p, ERROR_DEVICE_CANNOT_OPEN);
-       exit_genie (p, A68_RUNTIME_ERROR);
diff --git a/nixpkgs/pkgs/development/compilers/algol68g/default.nix b/nixpkgs/pkgs/development/compilers/algol68g/default.nix
deleted file mode 100644
index 6bbd51717a59..000000000000
--- a/nixpkgs/pkgs/development/compilers/algol68g/default.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, gsl
-, plotutils
-, postgresql
-}:
-
-stdenv.mkDerivation rec {
-  pname = "algol68g";
-  version = "2.8.4";
-
-  src = fetchurl {
-    url = "https://jmvdveer.home.xs4all.nl/${pname}-${version}.tar.gz";
-    hash = "sha256-WCPM0MGP4Qo2ihF8w5JHSMSl0P6N/w2dgY/3PDQlZfA=";
-  };
-
-  patches = [
-    # add PNG support
-    ./0001-plotutils-png-support.diff
-  ];
-
-  buildInputs = [
-    gsl
-    plotutils
-    postgresql
-  ];
-
-  postInstall = let
-    pdfdoc = fetchurl {
-      url = "https://jmvdveer.home.xs4all.nl/learning-algol-68-genie.pdf";
-      hash = "sha256-QCwn1e/lVfTYTeolCFErvfMhvwCgsBnASqq2K+NYmlU=";
-    };
-  in
-    ''
-      install -m644 ${pdfdoc} $out/share/doc/${pname}/learning-algol-68-genie.pdf
-    '';
-
-  meta = with lib; {
-    homepage = "https://jmvdveer.home.xs4all.nl/en.algol-68-genie.html";
-    description = "Algol 68 Genie compiler-interpreter";
-    longDescription = ''
-      Algol 68 Genie (a68g) is a recent checkout hybrid compiler-interpreter,
-      written from scratch by Marcel van der Veer. It ranks among the most
-      complete Algol 68 implementations. It implements for example arbitrary
-      precision arithmetic, complex numbers, parallel processing, partial
-      parametrisation and formatted transput, as well as support for curses,
-      regular expressions and sounds. It can be linked to GNU plotutils, the GNU
-      scientific library and PostgreSQL.
-    '';
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ AndersonTorres ];
-    mainProgram = "a68g";
-    platforms = platforms.unix;
-  };
-}
diff --git a/nixpkgs/pkgs/development/compilers/aspectj/default.nix b/nixpkgs/pkgs/development/compilers/aspectj/default.nix
index 46e76e02fca6..507c0c9e1454 100644
--- a/nixpkgs/pkgs/development/compilers/aspectj/default.nix
+++ b/nixpkgs/pkgs/development/compilers/aspectj/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "aspectj";
-  version = "1.9.20";
+  version = "1.9.20.1";
   builder = ./builder.sh;
 
   src = let
     versionSnakeCase = builtins.replaceStrings ["."] ["_"] version;
   in fetchurl {
     url = "https://github.com/eclipse/org.aspectj/releases/download/V${versionSnakeCase}/aspectj-${version}.jar";
-    sha256 = "sha256-zrU7JlEyUwoYxQ+sTaJM4YGVW5NucDXDiEao4glJAk0=";
+    sha256 = "sha256-nzeDi1WdnIZ5DFxpZFSB/4c6FgV7wRQyO1uxRlaTZBY=";
   };
 
   inherit jre;
diff --git a/nixpkgs/pkgs/development/compilers/bfc/default.nix b/nixpkgs/pkgs/development/compilers/bfc/default.nix
index 2dbc5e97a557..f84026d443f2 100644
--- a/nixpkgs/pkgs/development/compilers/bfc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/bfc/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "bfc";
-  version = "1.11.0";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = "Wilfred";
     repo = "bfc";
     rev = version;
-    hash = "sha256-uRQP3LS7cpG85BilkSaI+2WbEp/6zZcFrryMNO+n6EA=";
+    hash = "sha256-5pcvwCtXWEexvV3TS62dZ6Opg8ANP2L8B0Z8u/OQENU=";
   };
 
-  cargoHash = "sha256-aQLUZzHBy5CBbp5SpsS5dFQYpD7Bc+4zTfLjA/nmMnE=";
+  cargoHash = "sha256-1w/jPBO1TZpa0ju+O/NxQ/oMyzIvYVoXpj+ZLcIpQoU=";
 
   buildInputs = [
     libxml2
diff --git a/nixpkgs/pkgs/development/compilers/dmd/default.nix b/nixpkgs/pkgs/development/compilers/dmd/default.nix
index 35cb0759c5e1..f73804874cc6 100644
--- a/nixpkgs/pkgs/development/compilers/dmd/default.nix
+++ b/nixpkgs/pkgs/development/compilers/dmd/default.nix
@@ -1,6 +1,5 @@
 import ./generic.nix {
-  version = "2.100.2";
-  dmdSha256 = "sha256-o4+G3ARXIGObYHtHooYZKr+Al6kHpiwpMIog3i4BlDM=";
-  druntimeSha256 = "sha256-qXvY1ECN4mPwOGgOE1FWwvxoRvlSww3tGLWgBdhzAKo=";
-  phobosSha256 = "sha256-kTHRaAKG7cAGb4IE/NGHWaZ8t7ZceKj03l6E8wLzJzs=";
+  version = "2.105.2";
+  dmdSha256 = "sha256-IjzIQZttB1711VayKDWcpYvf1MAan+GWGTdpdDTgo1k=";
+  phobosSha256 = "sha256-2hAq48sBC1qvS1XBWZhGIPUlsA4pGcn4pHNok6lC8R0=";
 }
diff --git a/nixpkgs/pkgs/development/compilers/dmd/generic.nix b/nixpkgs/pkgs/development/compilers/dmd/generic.nix
index 3f8871df4f96..d2679c184da7 100644
--- a/nixpkgs/pkgs/development/compilers/dmd/generic.nix
+++ b/nixpkgs/pkgs/development/compilers/dmd/generic.nix
@@ -1,6 +1,5 @@
 { version
 , dmdSha256
-, druntimeSha256
 , phobosSha256
 }:
 
@@ -21,7 +20,7 @@
 , installShellFiles
 , git
 , unzip
-, HOST_DMD ? "${callPackage ./bootstrap.nix { }}/bin/dmd"
+, dmd_bin ? "${callPackage ./bootstrap.nix { }}/bin"
 }:
 
 let
@@ -60,13 +59,6 @@ stdenv.mkDerivation rec {
     })
     (fetchFromGitHub {
       owner = "dlang";
-      repo = "druntime";
-      rev = "v${version}";
-      sha256 = druntimeSha256;
-      name = "druntime";
-    })
-    (fetchFromGitHub {
-      owner = "dlang";
       repo = "phobos";
       rev = "v${version}";
       sha256 = phobosSha256;
@@ -88,53 +80,36 @@ stdenv.mkDerivation rec {
       extraPrefix = "dmd/";
       sha256 = "sha256-N21mAPfaTo+zGCip4njejasraV5IsWVqlGR5eOdFZZE=";
     })
-  ] ++ lib.optionals (lib.versionOlder version "2.092.2") [
-    # Fixes C++ tests that compiled on older C++ but not on the current one
-    (fetchpatch {
-      url = "https://github.com/dlang/druntime/commit/438990def7e377ca1f87b6d28246673bb38022ab.patch";
-      stripLen = 1;
-      extraPrefix = "druntime/";
-      sha256 = "sha256-/pPKK7ZK9E/mBrxm2MZyBNhYExE8p9jz8JqBdZSE6uY=";
-    })
   ];
 
   postPatch = ''
-    patchShebangs dmd/test/{runnable,fail_compilation,compilable,tools}{,/extra-files}/*.sh
-
-    rm dmd/test/runnable/gdb1.d
-    rm dmd/test/runnable/gdb10311.d
-    rm dmd/test/runnable/gdb14225.d
-    rm dmd/test/runnable/gdb14276.d
-    rm dmd/test/runnable/gdb14313.d
-    rm dmd/test/runnable/gdb14330.d
-    rm dmd/test/runnable/gdb15729.sh
-    rm dmd/test/runnable/gdb4149.d
-    rm dmd/test/runnable/gdb4181.d
+    patchShebangs dmd/compiler/test/{runnable,fail_compilation,compilable,tools}{,/extra-files}/*.sh
+
+    rm dmd/compiler/test/runnable/gdb1.d
+    rm dmd/compiler/test/runnable/gdb10311.d
+    rm dmd/compiler/test/runnable/gdb14225.d
+    rm dmd/compiler/test/runnable/gdb14276.d
+    rm dmd/compiler/test/runnable/gdb14313.d
+    rm dmd/compiler/test/runnable/gdb14330.d
+    rm dmd/compiler/test/runnable/gdb15729.sh
+    rm dmd/compiler/test/runnable/gdb4149.d
+    rm dmd/compiler/test/runnable/gdb4181.d
 
     # Disable tests that rely on objdump whitespace until fixed upstream:
     #   https://issues.dlang.org/show_bug.cgi?id=23317
-    rm dmd/test/runnable/cdvecfill.sh
-    rm dmd/test/compilable/cdcmp.d
-
-    # Grep'd string changed with gdb 12
-    #   https://issues.dlang.org/show_bug.cgi?id=23198
-    substituteInPlace druntime/test/exceptions/Makefile \
-      --replace 'in D main (' 'in _Dmain ('
-
-    # We're using gnused on all platforms
-    substituteInPlace druntime/test/coverage/Makefile \
-      --replace 'freebsd osx' 'none'
+    rm dmd/compiler/test/runnable/cdvecfill.sh
+    rm dmd/compiler/test/compilable/cdcmp.d
   ''
 
   + lib.optionalString (lib.versionOlder version "2.091.0") ''
     # This one has tested against a hardcoded year, then against a current year on
     # and off again. It just isn't worth it to patch all the historical versions
     # of it, so just remove it until the most recent change.
-    rm dmd/test/compilable/ddocYear.d
+    rm dmd/compiler/test/compilable/ddocYear.d
   '' + lib.optionalString (lib.versionAtLeast version "2.089.0" && lib.versionOlder version "2.092.2") ''
-    rm dmd/test/dshell/test6952.d
+    rm dmd/compiler/test/dshell/test6952.d
   '' + lib.optionalString (lib.versionAtLeast version "2.092.2") ''
-    substituteInPlace dmd/test/dshell/test6952.d --replace "/usr/bin/env bash" "${bash}/bin/bash"
+    substituteInPlace dmd/compiler/test/dshell/test6952.d --replace "/usr/bin/env bash" "${bash}/bin/bash"
   ''
 
   + lib.optionalString stdenv.isLinux ''
@@ -179,8 +154,7 @@ stdenv.mkDerivation rec {
       buildJobs=1
     fi
 
-    make -C dmd -f posix.mak $buildFlags -j$buildJobs HOST_DMD=${HOST_DMD}
-    make -C druntime -f posix.mak $buildFlags -j$buildJobs DMD=${pathToDmd}
+    ${dmd_bin}/rdmd dmd/compiler/src/build.d -j$buildJobs HOST_DMD=${dmd_bin}/dmd $buildFlags
     echo ${tzdata}/share/zoneinfo/ > TZDatabaseDirFile
     echo ${lib.getLib curl}/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary} > LibcurlPathFile
     make -C phobos -f posix.mak $buildFlags -j$buildJobs DMD=${pathToDmd} DFLAGS="-version=TZDatabaseDir -version=LibcurlPath -J$PWD"
@@ -205,10 +179,7 @@ stdenv.mkDerivation rec {
     fi
 
     NIX_ENFORCE_PURITY= \
-      make -C dmd/test $checkFlags CC=$CXX SHELL=$SHELL -j$checkJobs N=$checkJobs
-
-    NIX_ENFORCE_PURITY= \
-      make -C druntime -f posix.mak unittest $checkFlags -j$checkJobs
+      make -C dmd/compiler/test $checkFlags CC=$CXX SHELL=$SHELL -j$checkJobs N=$checkJobs
 
     NIX_ENFORCE_PURITY= \
       make -C phobos -f posix.mak unittest $checkFlags -j$checkJobs DFLAGS="-version=TZDatabaseDir -version=LibcurlPath -J$PWD"
@@ -244,7 +215,7 @@ stdenv.mkDerivation rec {
     # Everything is now Boost licensed, even the backend.
     # https://github.com/dlang/dmd/pull/6680
     license = licenses.boost;
-    maintainers = with maintainers; [ ThomasMader lionello dukc ];
+    maintainers = with maintainers; [ ThomasMader lionello dukc jtbx ];
     platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/fleng/default.nix b/nixpkgs/pkgs/development/compilers/fleng/default.nix
deleted file mode 100644
index d1ab95959808..000000000000
--- a/nixpkgs/pkgs/development/compilers/fleng/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "fleng";
-  version = "14";
-
-  src = fetchurl {
-    url = "http://www.call-with-current-continuation.org/fleng/fleng-${finalAttrs.version}.tgz";
-    hash = "sha256-Js9bllX/399t9oeiRrqJNUFyYJwJVb/xSzwrcMrdi08=";
-  };
-
-  doCheck = true;
-
-  meta = {
-    homepage = "http://www.call-with-current-continuation.org/fleng/fleng.html";
-    description = "A low level concurrent logic programming language descended from Prolog";
-    license = lib.licenses.publicDomain;
-    maintainers = with lib.maintainers; [ AndersonTorres ];
-    platforms = lib.platforms.unix;
-  };
-})
-# TODO: bootstrap
diff --git a/nixpkgs/pkgs/development/compilers/flutter/default.nix b/nixpkgs/pkgs/development/compilers/flutter/default.nix
index 0a748647a1f5..e3c1791de6f7 100644
--- a/nixpkgs/pkgs/development/compilers/flutter/default.nix
+++ b/nixpkgs/pkgs/development/compilers/flutter/default.nix
@@ -74,20 +74,20 @@ in
 {
   inherit wrapFlutter;
   stable = mkFlutter {
-    version = "3.13.0";
-    engineVersion = "1ac611c64eadbd93c5f5aba5494b8fc3b35ee952";
-    dartVersion = "3.1.0";
+    version = "3.13.4";
+    engineVersion = "9064459a8b0dcd32877107f6002cc429a71659d1";
+    dartVersion = "3.1.2";
     dartHash = {
-      x86_64-linux = "sha256-sGpRyuUTkZ0cpG/O21NCHaOsQRjNklsl9G6Ia1tZxAw=";
-      aarch64-linux = "sha256-wcDtL/Lh0NFC01QlnKwx8ovTHZ5ww+rb1sELn92R1uU=";
-      x86_64-darwin = "sha256-h+e7ABlLWCxc6wrbjiy5lgp6O/DnNKdXFNJtgnXBZNA=";
-      aarch64-darwin = "sha256-sAWnd09mbcRLP0WjSjjWF7+WQ7LP3tWsq5Kqw8e4APg=";
+      x86_64-linux = "sha256-kriMqIvS/ZPhCR+hDTZReW4MMBYCVzSO9xTuPrJ1cPg=";
+      aarch64-linux = "sha256-Fvg9Rr9Z7LYz8MjyzVCZwCzDiWPLDvH8vgD0oDZTksw=";
+      x86_64-darwin = "sha256-WL42AYjT2iriVP05Pm7288um+oFwS8o8gU5tCwSOvUM=";
+      aarch64-darwin = "sha256-BMbjSNJuh3RC+ObbJf2l6dacv2Hsn2/uygKDrP5EiuU=";
     };
     flutterHash = rec {
-      x86_64-linux = "sha256-gXNQ9RuHVC/3puHNygWPRdezx8iiKmiOnxQmoX6XUFo=";
+      x86_64-linux = "sha256-BPEmO4c3H2bOa+sBAVDz5/qvajobK3YMnBfQWhJUydw=";
       aarch64-linux = x86_64-linux;
-      x86_64-darwin = "sha256-vI8TsXIfTg4PYf5dzxDaJt+PIdmVFBmd2slKK7c1By0=";
-      aarch64-darwin = "sha256-VhGJlp+HG8QLZx8u0xK+cgbneoDM7zhNvm3Oco4nBms=";
+      x86_64-darwin = "sha256-BpxeCE9vTnmlIp6OS7BTPkOFptidjXbf2qVOVUAqstY=";
+      aarch64-darwin = "sha256-rccuxrE9nzC86uKGL96Etxxs4qMbVXJ1jCn/wjp9WlQ=";
     };
     patches = flutter3Patches;
   };
diff --git a/nixpkgs/pkgs/development/compilers/flutter/engine-artifacts/hashes.nix b/nixpkgs/pkgs/development/compilers/flutter/engine-artifacts/hashes.nix
index e3dc78646620..b027a2a8ce92 100644
--- a/nixpkgs/pkgs/development/compilers/flutter/engine-artifacts/hashes.nix
+++ b/nixpkgs/pkgs/development/compilers/flutter/engine-artifacts/hashes.nix
@@ -1,118 +1,119 @@
 {
-  "1ac611c64eadbd93c5f5aba5494b8fc3b35ee952" = {
+  "9064459a8b0dcd32877107f6002cc429a71659d1" = {
     skyNotice = "sha256-bJMktK26wC9fVzdhLNcTHqOg5sHRZ535LB5u5dgwjlY=";
     flutterNotice = "sha256-pZjblLYpD/vhC17PkRBXtqlDNRxyf92p5fKJHWhwCiA=";
     android-arm = {
-      "artifacts.zip" = "sha256-rAWcm/vjJ7P9q69z0bZNhBv/NO+sGhFJe+r/BHPR1To=";
+      "artifacts.zip" = "sha256-AABHJH/EOOQzEcD0O/XftA1AAV8tNFX3dj0OsJJ3/9A=";
     };
     android-arm-profile = {
-      "artifacts.zip" = "sha256-08+LDA7qNcMFH4xk+WfAXYqIDueCSHNmD/i/XaDeTrA=";
-      "linux-x64.zip" = "sha256-LWdrWdSGDAfX0gGtqQ2mSschBW3EAgaBldL/Cw99ft8=";
-      "darwin-x64.zip" = "sha256-FeBLBp3U2BPun/iPpTmHvaj3ZO8l7DQhwArqKN+D1m0=";
+      "artifacts.zip" = "sha256-MLlQFtjrGDQc3mH2T7CUlR/wDOPS7HRfgUuoLXjtd+E=";
+      "linux-x64.zip" = "sha256-S2/5ZFhNkDxUqsUZCFrwTERTUZIZpOiFijhcLZnozLI=";
+      "darwin-x64.zip" = "sha256-IwtYSpcg+5JmnkHuj6LGVp7GWiuUzETOPgKYRQczWzc=";
     };
     android-arm-release = {
-      "artifacts.zip" = "sha256-VCWSWfL74PJ6F6N18mOHjOkN8oTkL8coDfemV0Pc/Fw=";
-      "linux-x64.zip" = "sha256-xtQJ9merALKe20LZai+5ApJNOXR3uweIYQFWSyjmBEE=";
-      "darwin-x64.zip" = "sha256-YuEY7ZQAqpo0wbvI/iK3YYUSguZGi/wSl/DLPzmlNj8=";
+      "artifacts.zip" = "sha256-NLvwaB4UkYBRzg4cxzNZkileDFQk6GT/8nRugHU98Is=";
+      "linux-x64.zip" = "sha256-dua4xvVqsJY1d/eyA8j6NPnpAbotigPIs8SRj28F87w=";
+      "darwin-x64.zip" = "sha256-2B1+s6sngbN0+sPP1qKVpeMF6RIZZToF88baiqcNQT4=";
     };
     android-arm64 = {
-      "artifacts.zip" = "sha256-z4gvkNofQaFv8tFAXcLepsge9CV1T7cBe3EZRdBT7Ms=";
+      "artifacts.zip" = "sha256-Hf+S8XuAzD9HCU4FVmjN0jvTTxPtzEm+k++8IgaXOyM=";
     };
     android-arm64-profile = {
-      "artifacts.zip" = "sha256-7DHKcgwdaG6+MH7uVqSk2UGxLM4VsHVk5vUtYMn11kQ=";
-      "linux-x64.zip" = "sha256-3ZahRPzDVBff2pGUjjoIABH1lmwyrx05GnaJNyF4OiY=";
-      "darwin-x64.zip" = "sha256-Pmil9S314EoWJhfo0nrtBh1VLUeiavKvp/LIPZJoy6U=";
+      "artifacts.zip" = "sha256-k4miTzdDL+gg9LxzjBVRtAuwhKELBiVDsvQ+aVeWTeI=";
+      "linux-x64.zip" = "sha256-2ErIxNdX1NfHrjiqZzNwISKybeS9SGOlqFh7G8KCAcE=";
+      "darwin-x64.zip" = "sha256-1FdvI6llPjAeSc7+e97rvG7SvvFHqZH+4MREuRyF1DA=";
     };
     android-arm64-release = {
-      "artifacts.zip" = "sha256-GI+ADau8sbD9+ctXrciraeXNPGMto2+bBDyJcKt9YTE=";
-      "linux-x64.zip" = "sha256-riHs2bbOFNH7VqD3snEu5RuKrMqbsuFnDBZ9Apxq/+g=";
-      "darwin-x64.zip" = "sha256-DwTskXkcNqNsU3I+t9UMvKjxG4O2mN4cUGLB4dSWBHM=";
+      "artifacts.zip" = "sha256-y64Xhi5QFirZadU+fW8MOpkEarq/KPoEmmo0XRYf3/E=";
+      "linux-x64.zip" = "sha256-8dKrP9wQ9hDHNNrz1ZiYLV6zeGB60ikyrRFS6xdu+4Q=";
+      "darwin-x64.zip" = "sha256-2/eyFFAAUnuDtDoVh6L5emRXaQ03kwNRf6yIceWX3eU=";
     };
     android-x64 = {
-      "artifacts.zip" = "sha256-0dkDhr/TJi4ROcN1BV1OsUwWSnZuEHzgM0DKSeUIrnA=";
+      "artifacts.zip" = "sha256-b3AtOxad05vaXQzeCBtSf3G8ZiM0tOG0JRu4vbNtfgI=";
     };
     android-x64-profile = {
-      "artifacts.zip" = "sha256-2g+GaZHO17/rLa6Y1DHfDEq0Q05NRxQ5ese2Eo5rvNA=";
-      "linux-x64.zip" = "sha256-O3bHS/UHz8ymXq8ZEutLIj7K8wVTdt7vTo3OLGAkkh8=";
-      "darwin-x64.zip" = "sha256-vEzg6vxm1CbvVBSAoWwZhAS/bsuDlesmo30zWwK2a7g=";
+      "artifacts.zip" = "sha256-TVOtSjKc8WkvYsY+aK7OH9eTA/q7tmtnSdQArPWS2vM=";
+      "linux-x64.zip" = "sha256-IHv3TGI1Yvhoq1ehVyVUn3JtPTCFyEtxdysvr/SWFxY=";
+      "darwin-x64.zip" = "sha256-B4XooSrLRJh3XADfIAv/YBDCT/Mpg2di0oE4SZlU8I8=";
     };
     android-x64-release = {
-      "artifacts.zip" = "sha256-nlYI2ffULiDrehOSFEZkZoav/RJ0VykwREQkUwNX2/I=";
-      "linux-x64.zip" = "sha256-iUy8tjpkFd3V/RIVRPbNNEsa/GAXhtLsNAkEOvdKhks=";
-      "darwin-x64.zip" = "sha256-xZf2f4L/hSJEN63hQqtP0rbXkB2iw/Co4vLXYe/oeI4=";
+      "artifacts.zip" = "sha256-EaImhQlUnG/zYHDROkdgQdGHD9AfDJULowS785aVoCM=";
+      "linux-x64.zip" = "sha256-ZBvtCVUNf0D1P1lz4vmIrhsn9hZmJZ5Tn65v9Wot6bk=";
+      "darwin-x64.zip" = "sha256-IbMANAKyz7uFG5oqOKMj0KTVhaCBryBKdobvgS9bOgI=";
     };
     android-x86 = {
-      "artifacts.zip" = "sha256-OIB7VnhCasOflVtGFOe1DgCLP4Os82R6H7ucp0Wrez0=";
+      "artifacts.zip" = "sha256-ElFkaxlyLVbexdocyQ1AIKgfr93ol1EDyf+aFDt4I10=";
     };
     android-x86-jit-release = {
-      "artifacts.zip" = "sha256-dyjGkQJu73sOaxKvmIlbS5j0zO78RXHZrJQVi7qpBAU=";
+      "artifacts.zip" = "sha256-ptrhyXrx8xGuRQYs8nBryzyDuCiIMsgMmqxi3kHXQ4s=";
     };
     darwin-arm64 = {
-      "artifacts.zip" = "sha256-Ro+N5e5RhXgfqVDSEvqCKPdXRK1QnYCvIqmtlEW4s8c=";
-      "font-subset.zip" = "sha256-yCboANBEarWZDtoTwDFbtnlsPW2kPwZ5Jp31V2hbga4=";
+      "artifacts.zip" = "sha256-nG23DmYeKoMJnuTPMnvouPHzK3XNKBrEIZ5zijiCoAg=";
+      "font-subset.zip" = "sha256-Kx3G5FmN2bVgIvYiQP9og8kgl28ZCXThpcmByAv+f6U=";
     };
     darwin-arm64-profile = {
-      "artifacts.zip" = "sha256-Lf3LLkRhtGNA9cWZwv4Q9MncXzOoVCgmp+6osWRUCE0=";
+      "artifacts.zip" = "sha256-Uzg5F2NPlVN/cui4ixJ3JxBttn0KQMEyKEVLmecssuU=";
     };
     darwin-arm64-release = {
-      "artifacts.zip" = "sha256-6BSQ2zodrQmZKkHeaGVVT4D7jNekhwNOul5C6qwLbO8=";
+      "artifacts.zip" = "sha256-qZ1jYvvkBcaIHqZszFTOcuCDWnEmm/vsJt2aSZvgO+s=";
     };
     darwin-x64 = {
-      "FlutterEmbedder.framework.zip" = "sha256-4jYk+aYjOS/CZajS1oVBexg2+C9fy0OmfaI6i3rrhXo=";
-      "FlutterMacOS.framework.zip" = "sha256-Im7DTFf1zXrG6n1OtM4Jixd992mS2r47GRnAa7/urNc=";
-      "artifacts.zip" = "sha256-SdnPPnx4NOfOlJU1234977/cVRCa/5KTI/1kqCtTxG0=";
-      "font-subset.zip" = "sha256-F7qt7X0FNXODb3rvTkXacK3wG/aEVn+ny8DHFL3gEkI=";
-      "gen_snapshot.zip" = "sha256-czdCi1cPdD/nu0LJIsgUj42O6D5x5xTKfM8l/UiKZqw=";
+      "FlutterEmbedder.framework.zip" = "sha256-6ApkTiLh++bwgfYOGRoqnXglboqCWxc0VpNcYitjLLk=";
+      "FlutterMacOS.framework.zip" = "sha256-PP2E+PY1HB2OkX8a8/E/HpUBPRoDJyo/2BNUKd1Xd2s=";
+      "artifacts.zip" = "sha256-aZf99m1KlIpEuwwMMWAksp9d/SQQXt8jOTs/6GJUhcw=";
+      "font-subset.zip" = "sha256-ZfdDnRPDOqNsj3dCHStLWXWCMOzodmR4ojQrMQt6hQY=";
+      "gen_snapshot.zip" = "sha256-1xi4EJsiOIJSaBSIhl7p4L0aWtLYR1vGz4yYzNdVuQw=";
     };
     darwin-x64-profile = {
-      "FlutterMacOS.framework.zip" = "sha256-gdfoq6jdHFDb2JXCf45qJ2ekTildUptLb/k0XuHYuh8=";
-      "artifacts.zip" = "sha256-aEoenQh0Q8xuLU6OeFND3GBbOvhMNsovbbFQwQfudm0=";
-      "gen_snapshot.zip" = "sha256-tY3qmpdF7MP4iEfqgouzLehr901H3QTLxeV28RoLPDY=";
+      "FlutterMacOS.framework.zip" = "sha256-zDTey1dN4TYfi2/tDlxHPZhW3szZuGTMSaObNNH4zZo=";
+      "artifacts.zip" = "sha256-kZ6io/+ohx5jKhu1i/l0UZbTB1gk6BSn1VryZJxPcjU=";
+      "gen_snapshot.zip" = "sha256-5AUul5CQ6A8YGb6/PAfbPH7G/c+9rElDftmL3WIi4ZQ=";
     };
     darwin-x64-release = {
-      "FlutterMacOS.dSYM.zip" = "sha256-dNlx9PsXeJeV6FMPOliRyuc5p58DeEmXus2zP1dOqPs=";
-      "FlutterMacOS.framework.zip" = "sha256-ibmcuVjd3kswmUvXzZi8vl5uNEbnWvMAwzWYxs8i1zw=";
-      "artifacts.zip" = "sha256-KCXwR/ZZK1jyLQaIAsb+wAz4awVU1QozydIQt10M30A=";
-      "gen_snapshot.zip" = "sha256-hZT+IMHbvSTjk2WcNvfPl+vdXZ2vbB/MjiYP1Q+cKD8=";
+      "FlutterMacOS.dSYM.zip" = "sha256-DN5R/U+pcCgFyR6wLcp11Bjvov4sS0J3crMWOx0dNBI=";
+      "FlutterMacOS.framework.zip" = "sha256-9rEkGe0iz51aVXtCXK+KolJqjNUOEMwjeRHdF6kBjPs=";
+      "artifacts.zip" = "sha256-Lpz0WLAdspPybLhTnS2fsReTAZ0qkJmMvY+u8iCe53s=";
+      "gen_snapshot.zip" = "sha256-RLO5V6B/xzI5ljbIY7Yj4m1aFYYJ0PeO6nAyAN/ufnM=";
     };
-    "flutter_patched_sdk.zip" = "sha256-vm9Zt+obBuYHQchQlqlinGYg9mwmoo41HwqYzy8QXP0=";
-    "flutter_patched_sdk_product.zip" = "sha256-JjMQ2zEGXKIcyYqYfCxDYlRbwglVMQ8H1zs5h6To1es="
+    "flutter_patched_sdk.zip" = "sha256-d1KBJex2XgFbM0GgtcMFGDG2MN00zPd5HyAP54vBIaw=";
+    "flutter_patched_sdk_product.zip" = "sha256-TG0OfcYQHy7Um1nl7xHXGl0oGGkna1tKSWhtnLTo2Ic="
     ;
     ios = {
-      "artifacts.zip" = "sha256-9/GWCsOvwEXVWYMYn48sZTe44GhB2JBJtPDRFUqgTek=";
+      "artifacts.zip" = "sha256-bTtAJ4mrJZmT9IcDppfvm1ih3lNqJqywgatN3k48hoI=";
     };
     ios-profile = {
-      "artifacts.zip" = "sha256-XZ4AFdG60gUx2xv3qZdk8Hh/0ZuIeJXeBxBoWlmhP4I=";
+      "artifacts.zip" = "sha256-4bqMbZ0ASURIRp6Zfs25Nww+5FasRqdXcppX2KSWK0g=";
     };
     ios-release = {
-      "Flutter.dSYM.zip" = "sha256-QWCVU518mUHDXDdUm58XfS1TWYNkXI8LnfOIZ0PYLjs=";
-      "artifacts.zip" = "sha256-tFmIpEogaqCcx4ftVRah3Bw3CeB0dTku0xUMvUVfR00=";
+      "Flutter.dSYM.zip" = "sha256-LsYX9BTj9FXaW4f+7q6S/raZNx97FmGdJvegYrFiCAc=";
+      "artifacts.zip" = "sha256-KZBpNSeXCqfRydOdFzcaYdde3OCw7oI7x9/1l/4WlSk=";
     };
     linux-arm64 = {
-      "artifacts.zip" = "sha256-MFsYOUIYLRINLNOjsDLFX4WPwcW3FTQ7P55/i8xQqcI=";
-      "font-subset.zip" = "sha256-nIWE1Mep1R1EMS3vS31qdTybhFOCyr7/agPEjlAodOQ=";
+      "artifacts.zip" = "sha256-YBXe02wlxxpWT2pDUSILK/GXpKGx2vQo55E8zDOd4IQ=";
+      "font-subset.zip" = "sha256-02PHMUCPn6VBaQazfjEqVCGDPeGRXVTMXW8eAOuQRhY=";
     };
     linux-arm64-debug = {
-      "linux-arm64-flutter-gtk.zip" = "sha256-2zYHns8gycYy7VNjXfJdf/yl71VJSDFSIMb6lQ0JuKI=";
+      "linux-arm64-flutter-gtk.zip" = "sha256-ZTWenA3msfvFjoPA5ByX1/kXTDtd6H0H6i8AP2K9Zt8=";
     };
     linux-arm64-profile = {
-      "linux-arm64-flutter-gtk.zip" = "sha256-doGUIbTinn5kfw20NZRyph96ZkSa77Vm+y1Z/jBUi/E=";
+      "linux-arm64-flutter-gtk.zip" = "sha256-CDXfWkg/WHT9A8EAzo78KiUI3uN1rZyvrPSDH5fyiQU=";
     };
     linux-arm64-release = {
-      "linux-arm64-flutter-gtk.zip" = "sha256-3zeRvhTZ3nFhOuiacJLTTlPBkyP1u3lh00j3e4jJpXU=";
+      "linux-arm64-flutter-gtk.zip" = "sha256-62dlbrqCj5mbIQXxMPzXTXHSJdJH4nao1a1c1WOSB1Y=";
     };
     linux-x64 = {
-      "artifacts.zip" = "sha256-L8DrlHTLYneYo5yMdgXVZw3YikF0qBKijGVLJZJLTEA=";
-      "font-subset.zip" = "sha256-KC733fwlRIK6DhjAJopnKdzjaC1JhvJ8nK74x+5DtIE=";
+      "artifacts.zip" = "sha256-YVKajJeP6hFkLJk0HPIrEg/ig0tzkGj34z3ZA3VB8fE=";
+      "font-subset.zip" = "sha256-OFWcMnVi6AQoXKYcyMU8JN4/XM3OgSes0hzz8odTc8w=";
     };
     linux-x64-debug = {
-      "linux-x64-flutter-gtk.zip" = "sha256-5hu5uRB4gOnZyH4zWBj/b2Flz6+5DUK2ytTHWGVfp4A=";
+      "linux-x64-flutter-gtk.zip" = "sha256-Z8xCDor+sBwXg63r0o7RudzoWj5AsAUkc53F6dvEsLY=";
     };
     linux-x64-profile = {
-      "linux-x64-flutter-gtk.zip" = "sha256-gYGBrExyYlIl+nYnCvlGBq13bP0E5bzzM089THEqHBM=";
+      "linux-x64-flutter-gtk.zip" = "sha256-x7n84R4y7/jH/rUbe86Gm0oLM5aLSTB2UjjeIpRJ1zQ=";
     };
     linux-x64-release = {
-      "linux-x64-flutter-gtk.zip" = "sha256-Hw/hAMohLko1AMu3sr4Dq5OwvmrBP2PPJcJRVMgy6B4=";
+      "linux-x64-flutter-gtk.zip" = "sha256-B/Rtkln/rLS9M1gciXRnKvhPwR6bJrjGhrE9o1waamI=";
     };
   };
 }
+
diff --git a/nixpkgs/pkgs/development/compilers/flutter/flutter.nix b/nixpkgs/pkgs/development/compilers/flutter/flutter.nix
index 49dcb4c3658d..da45fee420d0 100644
--- a/nixpkgs/pkgs/development/compilers/flutter/flutter.nix
+++ b/nixpkgs/pkgs/development/compilers/flutter/flutter.nix
@@ -117,7 +117,7 @@ let
         homepage = "https://flutter.dev";
         license = licenses.bsd3;
         platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
-        maintainers = with maintainers; [ babariviere ericdallo FlafyDev gilice hacker1024 ];
+        maintainers = with maintainers; [ babariviere ericdallo FlafyDev hacker1024 ];
       };
     };
 in
diff --git a/nixpkgs/pkgs/development/compilers/flutter/wrapper.nix b/nixpkgs/pkgs/development/compilers/flutter/wrapper.nix
index a650b1853fd4..47b64fe47401 100644
--- a/nixpkgs/pkgs/development/compilers/flutter/wrapper.nix
+++ b/nixpkgs/pkgs/development/compilers/flutter/wrapper.nix
@@ -33,6 +33,7 @@
 , makeWrapper
 , runCommandLocal
 , writeShellScript
+, wrapGAppsHook
 , git
 , which
 , pkg-config
@@ -166,30 +167,43 @@ let
   includeFlags = map (pkg: "-isystem ${lib.getOutput "dev" pkg}/include") (appStaticBuildDeps ++ extraIncludes);
   linkerFlags = (map (pkg: "-rpath,${lib.getOutput "lib" pkg}/lib") appRuntimeDeps) ++ extraLinkerFlags;
 in
-(callPackage ./sdk-symlink.nix { }) (runCommandLocal "flutter-wrapped"
+(callPackage ./sdk-symlink.nix { }) (stdenv.mkDerivation
 {
-  nativeBuildInputs = [
-    makeWrapper
-  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.DarwinTools ];
+  pname = "flutter-wrapped";
+  inherit (flutter) version;
+
+  nativeBuildInputs = [ makeWrapper ]
+    ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.DarwinTools ]
+    ++ lib.optionals supportsLinuxDesktop [ glib wrapGAppsHook ];
 
   passthru = flutter.passthru // {
-    inherit (flutter) version;
     unwrapped = flutter;
+    inherit engineArtifacts;
   };
 
+  dontUnpack = true;
+  dontWrapGApps = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    for path in ${builtins.concatStringsSep " " (builtins.foldl' (paths: pkg: paths ++ (map (directory: "'${pkg}/${directory}/pkgconfig'") ["lib" "share"])) [ ] pkgConfigPackages)}; do
+      addToSearchPath FLUTTER_PKG_CONFIG_PATH "$path"
+    done
+
+    mkdir -p $out/bin
+    makeWrapper '${immutableFlutter}' $out/bin/flutter \
+      --set-default ANDROID_EMULATOR_USE_SYSTEM_LIBS 1 \
+      --suffix PATH : '${lib.makeBinPath (tools ++ buildTools)}' \
+      --suffix PKG_CONFIG_PATH : "$FLUTTER_PKG_CONFIG_PATH" \
+      --suffix LIBRARY_PATH : '${lib.makeLibraryPath appStaticBuildDeps}' \
+      --prefix CXXFLAGS "''\t" '${builtins.concatStringsSep " " (includeFlags ++ extraCxxFlags)}' \
+      --prefix CFLAGS "''\t" '${builtins.concatStringsSep " " (includeFlags ++ extraCFlags)}' \
+      --prefix LDFLAGS "''\t" '${builtins.concatStringsSep " " (map (flag: "-Wl,${flag}") linkerFlags)}' \
+      ''${gappsWrapperArgs[@]}
+
+    runHook postInstall
+  '';
+
   inherit (flutter) meta;
-} ''
-  for path in ${builtins.concatStringsSep " " (builtins.foldl' (paths: pkg: paths ++ (map (directory: "'${pkg}/${directory}/pkgconfig'") ["lib" "share"])) [ ] pkgConfigPackages)}; do
-    addToSearchPath FLUTTER_PKG_CONFIG_PATH "$path"
-  done
-
-  mkdir -p $out/bin
-  makeWrapper '${immutableFlutter}' $out/bin/flutter \
-    --set-default ANDROID_EMULATOR_USE_SYSTEM_LIBS 1 \
-    --suffix PATH : '${lib.makeBinPath (tools ++ buildTools)}' \
-    --suffix PKG_CONFIG_PATH : "$FLUTTER_PKG_CONFIG_PATH" \
-    --suffix LIBRARY_PATH : '${lib.makeLibraryPath appStaticBuildDeps}' \
-    --prefix CXXFLAGS "''\t" '${builtins.concatStringsSep " " (includeFlags ++ extraCxxFlags)}' \
-    --prefix CFLAGS "''\t" '${builtins.concatStringsSep " " (includeFlags ++ extraCFlags)}' \
-    --prefix LDFLAGS "''\t" '${builtins.concatStringsSep " " (map (flag: "-Wl,${flag}") linkerFlags)}'
-'')
+})
diff --git a/nixpkgs/pkgs/development/compilers/gcc/common/pre-configure.nix b/nixpkgs/pkgs/development/compilers/gcc/common/pre-configure.nix
index 5cb2f186fd1d..32e203ee4912 100644
--- a/nixpkgs/pkgs/development/compilers/gcc/common/pre-configure.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc/common/pre-configure.nix
@@ -3,12 +3,14 @@
 , version, buildPlatform, hostPlatform, targetPlatform
 , gnat-bootstrap ? null
 , langAda ? false
+, langFortran
 , langJava ? false
 , langJit ? false
 , langGo
 , withoutTargetLibc
 , enableShared
 , enableMultilib
+, pkgsBuildTarget
 }:
 
 assert langJava -> lib.versionOlder version "7";
@@ -27,6 +29,15 @@ in lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
   export PATH=${gnat-bootstrap}/bin:$PATH
 ''
 
+# For a cross-built native compiler, i.e. build!=(host==target), the
+# bundled libgfortran needs a gfortran which can run on the
+# buildPlatform and emit code for the targetPlatform.  The compiler
+# which is built alongside gfortran in this configuration doesn't
+# meet that need: it runs on the hostPlatform.
++ lib.optionalString (langFortran && (with stdenv; buildPlatform != hostPlatform && hostPlatform == targetPlatform)) ''
+  export GFORTRAN_FOR_TARGET=${pkgsBuildTarget.gfortran}/bin/${stdenv.targetPlatform.config}-gfortran
+''
+
 # On x86_64-darwin, the gnat-bootstrap bootstrap compiler that we need to build a
 # native GCC with Ada support emits assembly that is accepted by the Clang
 # integrated assembler, but not by the GNU assembler in cctools-port that Nix
diff --git a/nixpkgs/pkgs/development/compilers/gcc/default.nix b/nixpkgs/pkgs/development/compilers/gcc/default.nix
index fdc79b575515..4544f3862fea 100644
--- a/nixpkgs/pkgs/development/compilers/gcc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc/default.nix
@@ -27,6 +27,7 @@
 , gnused ? null
 , cloog # unused; just for compat with gcc4, as we override the parameter on some places
 , buildPackages
+, pkgsBuildTarget
 , libxcrypt
 , disableGdbPlugin ? !enablePlugin
 , nukeReferences
@@ -176,6 +177,7 @@ let inherit version;
         nukeReferences
         patchelf
         perl
+        pkgsBuildTarget
         profiledCompiler
         reproducibleBuild
         staticCompiler
@@ -309,17 +311,15 @@ lib.pipe ((callFile ./common/builder.nix {}) ({
         libc = if libcCross != null then libcCross else stdenv.cc.libc;
       in
         (
-        '' echo "fixing the \`GLIBC_DYNAMIC_LINKER'${lib.optionalString atLeast6 ", \\`UCLIBC_DYNAMIC_LINKER',"} and \`${if atLeast6 then "MUSL" else "UCLIBC"}_DYNAMIC_LINKER' macros..."
+        '' echo "fixing the {GLIBC,UCLIBC,MUSL}_DYNAMIC_LINKER macros..."
            for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h
            do
              grep -q ${lib.optionalString (!atLeast6) "LIBC"}_DYNAMIC_LINKER "$header" || continue
-             echo "  fixing \`$header'..."
+             echo "  fixing $header..."
              sed -i "$header" \
-                 -e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc.out}\3"|g'${lib.optionalString atLeast6 " \\"}
-        '' + lib.optionalString atLeast6 ''
-${""}                -e 's|define[[:blank:]]*MUSL_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define MUSL_DYNAMIC_LINKER\1 "${libc.out}\2"|g'
-        '' + ''
-${""}          done
+                 -e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc.out}\3"|g' \
+                 -e 's|define[[:blank:]]*MUSL_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define MUSL_DYNAMIC_LINKER\1 "${libc.out}\2"|g'
+             done
         '' + lib.optionalString (atLeast6 && targetPlatform.libc == "musl") ''
            sed -i gcc/config/linux.h -e '1i#undef LOCAL_INCLUDE_DIR'
         ''
@@ -327,9 +327,7 @@ ${""}          done
     ))
       + lib.optionalString (atLeast7 && targetPlatform.isAvr) (''
             makeFlagsArray+=(
-          '' + (lib.optionalString atLeast10 ''
                '-s' # workaround for hitting hydra log limit
-          '') + ''
                'LIMITS_H_TEST=false'
             )
           '');
diff --git a/nixpkgs/pkgs/development/compilers/go/1.21.nix b/nixpkgs/pkgs/development/compilers/go/1.21.nix
index 6fca091f24d2..e0562ad32b98 100644
--- a/nixpkgs/pkgs/development/compilers/go/1.21.nix
+++ b/nixpkgs/pkgs/development/compilers/go/1.21.nix
@@ -64,6 +64,10 @@ stdenv.mkDerivation (finalAttrs: {
 
   depsTargetTarget = lib.optional stdenv.targetPlatform.isWindows threadsCross.package;
 
+  postPatch = ''
+    patchShebangs .
+  '';
+
   patches = [
     (substituteAll {
       src = ./iana-etc-1.17.patch;
@@ -88,6 +92,8 @@ stdenv.mkDerivation (finalAttrs: {
   GOOS = stdenv.targetPlatform.parsed.kernel.name;
   GOARCH = goarch stdenv.targetPlatform;
   # GOHOSTOS/GOHOSTARCH must match the building system, not the host system.
+  # Go will nevertheless build a for host system that we will copy over in
+  # the install phase.
   GOHOSTOS = stdenv.buildPlatform.parsed.kernel.name;
   GOHOSTARCH = goarch stdenv.buildPlatform;
 
@@ -110,16 +116,14 @@ stdenv.mkDerivation (finalAttrs: {
 
   GOROOT_BOOTSTRAP = if useGccGoBootstrap then goBootstrap else "${goBootstrap}/share/go";
 
-  # Note that we use distpack to avoid moving around cross-compiled binaries.
-  # The paths are slightly different when buildPlatform != hostPlatform and
-  # distpack handles assembling outputs in the right place, same as the official
-  # Go binary releases. See also https://pkg.go.dev/cmd/distpack
   buildPhase = ''
     runHook preBuild
     export GOCACHE=$TMPDIR/go-cache
     # this is compiled into the binary
     export GOROOT_FINAL=$out/share/go
 
+    export PATH=$(pwd)/bin:$PATH
+
     ${lib.optionalString isCross ''
     # Independent from host/target, CC should produce code for the building system.
     # We only set it when cross-compiling.
@@ -128,16 +132,34 @@ stdenv.mkDerivation (finalAttrs: {
     ulimit -a
 
     pushd src
-    bash make.bash -no-banner -distpack
+    ./make.bash
     popd
     runHook postBuild
   '';
 
+  preInstall = ''
+    # Contains the wrong perl shebang when cross compiling,
+    # since it is not used for anything we can deleted as well.
+    rm src/regexp/syntax/make_perl_groups.pl
+  '' + (if (stdenv.buildPlatform.system != stdenv.hostPlatform.system) then ''
+    mv bin/*_*/* bin
+    rmdir bin/*_*
+    ${lib.optionalString (!(finalAttrs.GOHOSTARCH == finalAttrs.GOARCH && finalAttrs.GOOS == finalAttrs.GOHOSTOS)) ''
+      rm -rf pkg/${finalAttrs.GOHOSTOS}_${finalAttrs.GOHOSTARCH} pkg/tool/${finalAttrs.GOHOSTOS}_${finalAttrs.GOHOSTARCH}
+    ''}
+  '' else lib.optionalString (stdenv.hostPlatform.system != stdenv.targetPlatform.system) ''
+    rm -rf bin/*_*
+    ${lib.optionalString (!(finalAttrs.GOHOSTARCH == finalAttrs.GOARCH && finalAttrs.GOOS == finalAttrs.GOHOSTOS)) ''
+      rm -rf pkg/${finalAttrs.GOOS}_${finalAttrs.GOARCH} pkg/tool/${finalAttrs.GOOS}_${finalAttrs.GOARCH}
+    ''}
+  '');
+
   installPhase = ''
     runHook preInstall
-    mkdir -p $out/{share,bin}
-    tar -C $out/share -x -z -f "pkg/distpack/go${finalAttrs.version}.$GOOS-$GOARCH.tar.gz"
-    ln -s $out/share/go/bin/* $out/bin
+    mkdir -p $GOROOT_FINAL
+    cp -a bin pkg src lib misc api doc go.env $GOROOT_FINAL
+    mkdir -p $out/bin
+    ln -s $GOROOT_FINAL/bin/* $out/bin
     runHook postInstall
   '';
 
diff --git a/nixpkgs/pkgs/development/compilers/heptagon/default.nix b/nixpkgs/pkgs/development/compilers/heptagon/default.nix
index e7a9360a6467..7f9c1c849f4a 100644
--- a/nixpkgs/pkgs/development/compilers/heptagon/default.nix
+++ b/nixpkgs/pkgs/development/compilers/heptagon/default.nix
@@ -5,31 +5,34 @@
 , ocamlPackages
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "heptagon";
   version = "1.05.00";
 
   src = fetchFromGitLab {
     domain = "gitlab.inria.fr";
     owner = "synchrone";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-b4O48MQT3Neh8a1Z5wRgS701w6XrwpsbSMprlqTT+CE=";
+    repo = "heptagon";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-b4O48MQT3Neh8a1Z5wRgS701w6XrwpsbSMprlqTT+CE=";
   };
 
-  nativeBuildInputs = [
+  strictDeps = true;
+
+  nativeBuildInputs = with ocamlPackages; [
+    camlp4
+    findlib
     makeWrapper
+    menhir
+    ocaml
+    ocamlbuild
   ];
 
   buildInputs = with ocamlPackages; [
-    ocaml
-    findlib
-    menhir
-    menhirLib
-    ocamlgraph
     camlp4
-    ocamlbuild
     lablgtk
+    menhirLib
+    ocamlgraph
   ];
 
   # the heptagon library in lib/heptagon is not executable
@@ -48,5 +51,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ wegank ];
     mainProgram = "heptc";
+    platforms = platforms.unix;
   };
-}
+})
diff --git a/nixpkgs/pkgs/development/compilers/ldc/default.nix b/nixpkgs/pkgs/development/compilers/ldc/default.nix
index 8b295f60e1c2..2e34ac852bde 100644
--- a/nixpkgs/pkgs/development/compilers/ldc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/ldc/default.nix
@@ -1,4 +1,4 @@
 import ./generic.nix {
-  version = "1.31.0";
-  sha256 = "sha256-8cjs6eHjWAbDRBvyT75mbN3Y7vN1WSwZzY/uRwHNVFg=";
+  version = "1.34.0";
+  sha256 = "sha256-MAXG6ceSWFOMg5eXZnZ6WePXTzy5CsLLDc5ddXO+txk=";
 }
diff --git a/nixpkgs/pkgs/development/compilers/ldc/generic.nix b/nixpkgs/pkgs/development/compilers/ldc/generic.nix
index f88f4484cfd1..b68500f4ee59 100644
--- a/nixpkgs/pkgs/development/compilers/ldc/generic.nix
+++ b/nixpkgs/pkgs/development/compilers/ldc/generic.nix
@@ -68,7 +68,6 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DD_FLAGS=-d-version=TZDatabaseDir;-d-version=LibcurlPath;-J${pathConfig}"
-    "-DCMAKE_BUILD_TYPE=Release"
   ];
 
   postConfigure = ''
@@ -131,7 +130,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/ldc-developers/ldc";
     # from https://github.com/ldc-developers/ldc/blob/master/LICENSE
     license = with licenses; [ bsd3 boost mit ncsa gpl2Plus ];
-    maintainers = with maintainers; [ ThomasMader lionello ];
+    maintainers = with maintainers; [ ThomasMader lionello jtbx ];
     platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/lesscpy/default.nix b/nixpkgs/pkgs/development/compilers/lesscpy/default.nix
index f30b392b7459..d85b36da8918 100644
--- a/nixpkgs/pkgs/development/compilers/lesscpy/default.nix
+++ b/nixpkgs/pkgs/development/compilers/lesscpy/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname   = "lesscpy";
-  version = "0.13.0";
+  version = "0.15.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1bbjag13kawnjdn7q4flfrkd0a21rgn9ycfqsgfdmg658jsx1ipk";
+    sha256 = "sha256-EEXRepj2iGRsp1jf8lTm6cA3RWSOBRoIGwOVw7d8gkw=";
   };
 
   checkInputs = with python3Packages; [ pytestCheckHook ];
diff --git a/nixpkgs/pkgs/development/compilers/llvm/10/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/10/llvm/default.nix
index 6f8ef0b57512..c4e6f2827e82 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/10/llvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/10/llvm/default.nix
@@ -204,6 +204,8 @@ in stdenv.mkDerivation (rec {
     ln -sv $PWD/lib $out
   '';
 
+  cmakeBuildType = if debugVersion then "Debug" else "Release";
+
   cmakeFlags = with stdenv; let
     # These flags influence llvm-config's BuildVariables.inc in addition to the
     # general build. We need to make sure these are also passed via
@@ -219,7 +221,6 @@ in stdenv.mkDerivation (rec {
       "-DLLVM_LINK_LLVM_DYLIB=ON"
     ];
   in flagsForLlvmConfig ++ [
-    "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
     "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
     "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
     "-DLLVM_ENABLE_FFI=ON"
diff --git a/nixpkgs/pkgs/development/compilers/llvm/11/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/11/llvm/default.nix
index a5078ef3b76d..01e6483ad640 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/11/llvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/11/llvm/default.nix
@@ -212,6 +212,8 @@ in stdenv.mkDerivation (rec {
   # E.g. mesa.drivers use the build-id as a cache key (see #93946):
   LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1";
 
+  cmakeBuildType = if debugVersion then "Debug" else "Release";
+
   cmakeFlags = with stdenv; let
     # These flags influence llvm-config's BuildVariables.inc in addition to the
     # general build. We need to make sure these are also passed via
@@ -227,7 +229,6 @@ in stdenv.mkDerivation (rec {
       "-DLLVM_LINK_LLVM_DYLIB=ON"
     ];
   in flagsForLlvmConfig ++ [
-    "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
     "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
     "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
     "-DLLVM_ENABLE_FFI=ON"
diff --git a/nixpkgs/pkgs/development/compilers/llvm/12/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/12/llvm/default.nix
index 3c724e07bd16..97d8f27672e3 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/12/llvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/12/llvm/default.nix
@@ -202,6 +202,8 @@ in stdenv.mkDerivation (rec {
   # E.g. mesa.drivers use the build-id as a cache key (see #93946):
   LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1";
 
+  cmakeBuildType = if debugVersion then "Debug" else "Release";
+
   cmakeFlags = with stdenv; let
     # These flags influence llvm-config's BuildVariables.inc in addition to the
     # general build. We need to make sure these are also passed via
@@ -217,7 +219,6 @@ in stdenv.mkDerivation (rec {
       "-DLLVM_LINK_LLVM_DYLIB=ON"
     ];
   in flagsForLlvmConfig ++ [
-    "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
     "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
     "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
     "-DLLVM_ENABLE_FFI=ON"
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/13/llvm/default.nix
index 827e528581cf..2a7c1c1867cb 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/13/llvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/llvm/default.nix
@@ -164,6 +164,8 @@ in stdenv.mkDerivation (rec {
   # E.g. mesa.drivers use the build-id as a cache key (see #93946):
   LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1";
 
+  cmakeBuildType = if debugVersion then "Debug" else "Release";
+
   cmakeFlags = with stdenv; let
     # These flags influence llvm-config's BuildVariables.inc in addition to the
     # general build. We need to make sure these are also passed via
@@ -179,7 +181,6 @@ in stdenv.mkDerivation (rec {
       "-DLLVM_LINK_LLVM_DYLIB=ON"
     ];
   in flagsForLlvmConfig ++ [
-    "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
     "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
     "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
     "-DLLVM_ENABLE_FFI=ON"
diff --git a/nixpkgs/pkgs/development/compilers/llvm/14/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/14/llvm/default.nix
index 06b549983527..081c84c04e06 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/14/llvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/14/llvm/default.nix
@@ -162,6 +162,8 @@ in stdenv.mkDerivation (rec {
   # E.g. mesa.drivers use the build-id as a cache key (see #93946):
   LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1";
 
+  cmakeBuildType = if debugVersion then "Debug" else "Release";
+
   cmakeFlags = with stdenv; let
     # These flags influence llvm-config's BuildVariables.inc in addition to the
     # general build. We need to make sure these are also passed via
@@ -177,7 +179,6 @@ in stdenv.mkDerivation (rec {
       "-DLLVM_LINK_LLVM_DYLIB=ON"
     ];
   in flagsForLlvmConfig ++ [
-    "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
     "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
     "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
     "-DLLVM_ENABLE_FFI=ON"
diff --git a/nixpkgs/pkgs/development/compilers/llvm/15/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/15/llvm/default.nix
index 7742fc0a186c..e6f339ff6d6d 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/15/llvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/15/llvm/default.nix
@@ -298,6 +298,8 @@ in stdenv.mkDerivation (rec {
   # E.g. mesa.drivers use the build-id as a cache key (see #93946):
   LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1";
 
+  cmakeBuildType = if debugVersion then "Debug" else "Release";
+
   cmakeFlags = with stdenv; let
     # These flags influence llvm-config's BuildVariables.inc in addition to the
     # general build. We need to make sure these are also passed via
@@ -313,7 +315,6 @@ in stdenv.mkDerivation (rec {
       "-DLLVM_LINK_LLVM_DYLIB=ON"
     ];
   in flagsForLlvmConfig ++ [
-    "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
     "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
     "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
     "-DLLVM_ENABLE_FFI=ON"
diff --git a/nixpkgs/pkgs/development/compilers/llvm/16/default.nix b/nixpkgs/pkgs/development/compilers/llvm/16/default.nix
index 9dbe65ed68da..24dd31ea9fef 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/16/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/16/default.nix
@@ -255,14 +255,6 @@ in let
         [ "-rtlib=compiler-rt"
           "-Wno-unused-command-line-argument"
           "-B${targetLlvmLibraries.compiler-rt}/lib"
-
-          # Combat "__cxxabi_config.h not found". Maybe this could be fixed by
-          # copying these headers into libcxx? Note that building libcxx
-          # outside of monorepo isn't supported anymore, might be related to
-          # https://github.com/llvm/llvm-project/issues/55632
-          # ("16.0.3 libcxx, libcxxabi: circular build dependencies")
-          # Looks like the machinery changed in https://reviews.llvm.org/D120727.
-          "-I${lib.getDev targetLlvmLibraries.libcxx.cxxabi}/include/c++/v1"
         ]
         ++ lib.optional (!stdenv.targetPlatform.isWasm) "--unwindlib=libunwind"
         ++ lib.optional
diff --git a/nixpkgs/pkgs/development/compilers/llvm/16/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/16/llvm/default.nix
index 8e676f5ad46d..c70f9d37a562 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/16/llvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/16/llvm/default.nix
@@ -286,6 +286,8 @@ in
   # E.g. mesa.drivers use the build-id as a cache key (see #93946):
   LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1";
 
+  cmakeBuildType = if debugVersion then "Debug" else "Release";
+
   cmakeFlags = with stdenv; let
     # These flags influence llvm-config's BuildVariables.inc in addition to the
     # general build. We need to make sure these are also passed via
@@ -301,7 +303,6 @@ in
       "-DLLVM_LINK_LLVM_DYLIB=ON"
     ];
   in flagsForLlvmConfig ++ [
-    "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
     "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
     "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
     "-DLLVM_ENABLE_FFI=ON"
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/5/llvm/default.nix
index 219ae190e955..74523490244f 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/5/llvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/5/llvm/default.nix
@@ -141,6 +141,8 @@ stdenv.mkDerivation (rec {
     ln -sv $PWD/lib $out
   '';
 
+  cmakeBuildType = if debugVersion then "Debug" else "Release";
+
   cmakeFlags = with stdenv; let
     # These flags influence llvm-config's BuildVariables.inc in addition to the
     # general build. We need to make sure these are also passed via
@@ -156,7 +158,6 @@ stdenv.mkDerivation (rec {
       "-DLLVM_LINK_LLVM_DYLIB=ON"
     ];
   in flagsForLlvmConfig ++ [
-    "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
     "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
     "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
     "-DLLVM_ENABLE_FFI=ON"
diff --git a/nixpkgs/pkgs/development/compilers/llvm/6/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/6/llvm/default.nix
index 1c75660c20f5..72e43ba8d1fa 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/6/llvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/6/llvm/default.nix
@@ -161,6 +161,8 @@ stdenv.mkDerivation (rec {
     ln -sv $PWD/lib $out
   '';
 
+  cmakeBuildType = if debugVersion then "Debug" else "Release";
+
   cmakeFlags = with stdenv; let
     # These flags influence llvm-config's BuildVariables.inc in addition to the
     # general build. We need to make sure these are also passed via
@@ -176,7 +178,6 @@ stdenv.mkDerivation (rec {
       "-DLLVM_LINK_LLVM_DYLIB=ON"
     ];
   in flagsForLlvmConfig ++ [
-    "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
     "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
     "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
     "-DLLVM_ENABLE_FFI=ON"
diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/7/llvm/default.nix
index 7bfaef7d00b0..97ac428a7f55 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/7/llvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/7/llvm/default.nix
@@ -179,6 +179,8 @@ in stdenv.mkDerivation (rec {
     ln -sv $PWD/lib $out
   '';
 
+  cmakeBuildType = if debugVersion then "Debug" else "Release";
+
   cmakeFlags = with stdenv; let
     # These flags influence llvm-config's BuildVariables.inc in addition to the
     # general build. We need to make sure these are also passed via
@@ -194,7 +196,6 @@ in stdenv.mkDerivation (rec {
       "-DLLVM_LINK_LLVM_DYLIB=ON"
     ];
   in flagsForLlvmConfig ++ [
-    "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
     "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
     "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
     "-DLLVM_ENABLE_FFI=ON"
diff --git a/nixpkgs/pkgs/development/compilers/llvm/8/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/8/llvm/default.nix
index f95cefb9addd..8a0fea85e260 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/8/llvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/8/llvm/default.nix
@@ -178,6 +178,8 @@ in stdenv.mkDerivation (rec {
     ln -sv $PWD/lib $out
   '';
 
+  cmakeBuildType = if debugVersion then "Debug" else "Release";
+
   cmakeFlags = with stdenv; let
     # These flags influence llvm-config's BuildVariables.inc in addition to the
     # general build. We need to make sure these are also passed via
@@ -193,7 +195,6 @@ in stdenv.mkDerivation (rec {
       "-DLLVM_LINK_LLVM_DYLIB=ON"
     ];
   in flagsForLlvmConfig ++ [
-    "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
     "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
     "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
     "-DLLVM_ENABLE_FFI=ON"
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/9/llvm/default.nix
index b7259ac19150..526030d6b34d 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/9/llvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/llvm/default.nix
@@ -193,6 +193,8 @@ in stdenv.mkDerivation (rec {
     ln -sv $PWD/lib $out
   '';
 
+  cmakeBuildType = if debugVersion then "Debug" else "Release";
+
   cmakeFlags = with stdenv; let
     # These flags influence llvm-config's BuildVariables.inc in addition to the
     # general build. We need to make sure these are also passed via
@@ -208,7 +210,6 @@ in stdenv.mkDerivation (rec {
       "-DLLVM_LINK_LLVM_DYLIB=ON"
     ];
   in flagsForLlvmConfig ++ [
-    "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
     "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
     "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
     "-DLLVM_ENABLE_FFI=ON"
diff --git a/nixpkgs/pkgs/development/compilers/llvm/git/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/git/llvm/default.nix
index 634cd7829533..66b0a7438cef 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/git/llvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/git/llvm/default.nix
@@ -283,6 +283,8 @@ in stdenv.mkDerivation (rec {
   # E.g. mesa.drivers use the build-id as a cache key (see #93946):
   LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1";
 
+  cmakeBuildType = if debugVersion then "Debug" else "Release";
+
   cmakeFlags = with stdenv; let
     # These flags influence llvm-config's BuildVariables.inc in addition to the
     # general build. We need to make sure these are also passed via
@@ -298,7 +300,6 @@ in stdenv.mkDerivation (rec {
       "-DLLVM_LINK_LLVM_DYLIB=ON"
     ];
   in flagsForLlvmConfig ++ [
-    "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
     "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
     "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
     "-DLLVM_ENABLE_FFI=ON"
diff --git a/nixpkgs/pkgs/development/compilers/lunarml/default.nix b/nixpkgs/pkgs/development/compilers/lunarml/default.nix
index 5d0b952aa36d..104b7ce688bc 100644
--- a/nixpkgs/pkgs/development/compilers/lunarml/default.nix
+++ b/nixpkgs/pkgs/development/compilers/lunarml/default.nix
@@ -8,13 +8,13 @@
 stdenvNoCC.mkDerivation {
   pname = "lunarml";
 
-  version = "unstable-2023-08-25";
+  version = "unstable-2023-09-21";
 
   src = fetchFromGitHub {
     owner = "minoki";
     repo = "LunarML";
-    rev = "69d09b47601f4041ca7e8a513c75f3e4835af9dd";
-    sha256 = "sha256-GXUcWI4/akOKIvCHrsOfceZEdyNZdIdalTc6wX+svS4=";
+    rev = "c6e23ae68149bda550ddb75c0df9f422aa379b3a";
+    sha256 = "DY4gOCXfGV1OVdGXd6GGvbHlQdWWxMg5TZzkceeOu9o=";
   };
 
   outputs = [ "out" "doc" ];
diff --git a/nixpkgs/pkgs/development/compilers/ocaml/5.1.nix b/nixpkgs/pkgs/development/compilers/ocaml/5.1.nix
index e11887809d4e..9947eadb4963 100644
--- a/nixpkgs/pkgs/development/compilers/ocaml/5.1.nix
+++ b/nixpkgs/pkgs/development/compilers/ocaml/5.1.nix
@@ -1,9 +1,6 @@
 import ./generic.nix {
   major_version = "5";
   minor_version = "1";
-  patch_version = "0-rc3";
-  src = fetchTarball {
-    url = "https://caml.inria.fr/pub/distrib/ocaml-5.1/ocaml-5.1.0~rc3.tar.xz";
-    sha256 = "sha256:0cbvdcsq1qh70mm116dcgk6y7d4g4nrypzq20k7i6ww7am1563d3";
-  };
+  patch_version = "0";
+  sha256 = "sha256-bOjbOTqvwmTlr3McaPvrIJIKtq6E1b+TURllt0IzUas=";
 }
diff --git a/nixpkgs/pkgs/development/compilers/openjdk/12.nix b/nixpkgs/pkgs/development/compilers/openjdk/12.nix
index e717a910f703..ab0696e172c0 100644
--- a/nixpkgs/pkgs/development/compilers/openjdk/12.nix
+++ b/nixpkgs/pkgs/development/compilers/openjdk/12.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, bash, pkg-config, autoconf, cpio, file, which, unzip
-, zip, perl, cups, freetype, harfbuzz, alsa-lib, libjpeg, giflib, libpng, zlib, lcms2
+, zip, perl, cups, freetype, alsa-lib, libjpeg, giflib, libpng, zlib, lcms2
 , libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama
 , libXcursor, libXrandr, fontconfig, openjdk11-bootstrap, fetchpatch
 , setJavaClassPath
@@ -27,7 +27,7 @@ let
 
     nativeBuildInputs = [ pkg-config autoconf unzip ];
     buildInputs = [
-      cpio file which zip perl zlib cups freetype harfbuzz alsa-lib libjpeg giflib
+      cpio file which zip perl zlib cups freetype alsa-lib libjpeg giflib
       libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst
       libXi libXinerama libXcursor libXrandr fontconfig openjdk-bootstrap
     ] ++ lib.optionals (!headless && enableGnome2) [
@@ -67,7 +67,6 @@ let
       "--enable-unlimited-crypto"
       "--with-native-debug-symbols=internal"
       "--with-freetype=system"
-      "--with-harfbuzz=system"
       "--with-libjpeg=system"
       "--with-giflib=system"
       "--with-libpng=system"
@@ -96,6 +95,12 @@ let
 
     buildFlags = [ "all" ];
 
+    postBuild = ''
+      cd build/linux*
+      make images
+      cd -
+    '';
+
     installPhase = ''
       mkdir -p $out/lib
 
diff --git a/nixpkgs/pkgs/development/compilers/openjdk/13.nix b/nixpkgs/pkgs/development/compilers/openjdk/13.nix
index b012459ba046..5d5d9f774771 100644
--- a/nixpkgs/pkgs/development/compilers/openjdk/13.nix
+++ b/nixpkgs/pkgs/development/compilers/openjdk/13.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, bash, pkg-config, autoconf, cpio, file, which, unzip
-, zip, perl, cups, freetype, harfbuzz, alsa-lib, libjpeg, giflib, libpng, zlib, lcms2
+, zip, perl, cups, freetype, alsa-lib, libjpeg, giflib, libpng, zlib, lcms2
 , libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama
 , libXcursor, libXrandr, fontconfig, openjdk13-bootstrap, fetchpatch
 , setJavaClassPath
@@ -27,7 +27,7 @@ let
 
     nativeBuildInputs = [ pkg-config autoconf unzip ];
     buildInputs = [
-      cpio file which zip perl zlib cups freetype harfbuzz alsa-lib libjpeg giflib
+      cpio file which zip perl zlib cups freetype alsa-lib libjpeg giflib
       libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst
       libXi libXinerama libXcursor libXrandr fontconfig openjdk-bootstrap
     ] ++ lib.optionals (!headless && enableGnome2) [
@@ -72,7 +72,6 @@ let
       "--enable-unlimited-crypto"
       "--with-native-debug-symbols=internal"
       "--with-freetype=system"
-      "--with-harfbuzz=system"
       "--with-libjpeg=system"
       "--with-giflib=system"
       "--with-libpng=system"
@@ -101,6 +100,12 @@ let
 
     buildFlags = [ "all" ];
 
+    postBuild = ''
+      cd build/linux*
+      make images
+      cd -
+    '';
+
     installPhase = ''
       mkdir -p $out/lib
 
@@ -161,7 +166,7 @@ let
 
     disallowedReferences = [ openjdk-bootstrap ];
 
-    meta = import ./meta.nix lib version;
+    meta = (import ./meta.nix lib version) // { broken = true; };
 
     passthru = {
       architecture = "";
diff --git a/nixpkgs/pkgs/development/compilers/openjdk/14.nix b/nixpkgs/pkgs/development/compilers/openjdk/14.nix
index 0f4f17d078e5..348fd3996c9f 100644
--- a/nixpkgs/pkgs/development/compilers/openjdk/14.nix
+++ b/nixpkgs/pkgs/development/compilers/openjdk/14.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, bash, pkg-config, autoconf, cpio, file, which, unzip
-, zip, perl, cups, freetype, harfbuzz, alsa-lib, libjpeg, giflib, libpng, zlib, lcms2
+, zip, perl, cups, freetype, alsa-lib, libjpeg, giflib, libpng, zlib, lcms2
 , libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama
 , libXcursor, libXrandr, fontconfig, openjdk14-bootstrap
 , setJavaClassPath
@@ -27,7 +27,7 @@ let
 
     nativeBuildInputs = [ pkg-config autoconf unzip ];
     buildInputs = [
-      cpio file which zip perl zlib cups freetype harfbuzz alsa-lib libjpeg giflib
+      cpio file which zip perl zlib cups freetype alsa-lib libjpeg giflib
       libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst
       libXi libXinerama libXcursor libXrandr fontconfig openjdk-bootstrap
     ] ++ lib.optionals (!headless && enableGnome2) [
@@ -67,7 +67,6 @@ let
       "--enable-unlimited-crypto"
       "--with-native-debug-symbols=internal"
       "--with-freetype=system"
-      "--with-harfbuzz=system"
       "--with-libjpeg=system"
       "--with-giflib=system"
       "--with-libpng=system"
@@ -96,6 +95,12 @@ let
 
     buildFlags = [ "all" ];
 
+    postBuild = ''
+      cd build/linux*
+      make images
+      cd -
+    '';
+
     installPhase = ''
       mkdir -p $out/lib
 
@@ -157,7 +162,7 @@ let
 
     disallowedReferences = [ openjdk-bootstrap ];
 
-    meta = import ./meta.nix lib version;
+    meta = (import ./meta.nix lib version) // { broken = true; };
 
     passthru = {
       architecture = "";
diff --git a/nixpkgs/pkgs/development/compilers/openjdk/15.nix b/nixpkgs/pkgs/development/compilers/openjdk/15.nix
index 54bce680a188..2447b0783ca4 100644
--- a/nixpkgs/pkgs/development/compilers/openjdk/15.nix
+++ b/nixpkgs/pkgs/development/compilers/openjdk/15.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, bash, pkg-config, autoconf, cpio, file, which, unzip
-, zip, perl, cups, freetype, harfbuzz, alsa-lib, libjpeg, giflib, libpng, zlib, lcms2
+, zip, perl, cups, freetype, alsa-lib, libjpeg, giflib, libpng, zlib, lcms2
 , libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama
 , libXcursor, libXrandr, fontconfig, openjdk15-bootstrap
 , setJavaClassPath
@@ -30,7 +30,7 @@ let
 
     nativeBuildInputs = [ pkg-config autoconf unzip zip file which ];
     buildInputs = [
-      cpio perl zlib cups freetype harfbuzz alsa-lib libjpeg giflib
+      cpio perl zlib cups freetype alsa-lib libjpeg giflib
       libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst
       libXi libXinerama libXcursor libXrandr fontconfig openjdk-bootstrap
     ] ++ lib.optionals (!headless && enableGnome2) [
@@ -70,15 +70,13 @@ let
       "--enable-unlimited-crypto"
       "--with-native-debug-symbols=internal"
       "--with-freetype=system"
-      "--with-harfbuzz=system"
       "--with-libjpeg=system"
       "--with-giflib=system"
       "--with-libpng=system"
       "--with-zlib=system"
       "--with-lcms=system"
       "--with-stdc++lib=dynamic"
-    ] ++ lib.optional stdenv.isx86_64 "--with-jvm-features=zgc"
-      ++ lib.optional headless "--enable-headless-only"
+    ] ++ lib.optional headless "--enable-headless-only"
       ++ lib.optional (!headless && enableJavaFX) "--with-import-modules=${openjfx}";
 
     separateDebugInfo = true;
@@ -99,6 +97,12 @@ let
 
     buildFlags = [ "all" ];
 
+    postBuild = ''
+      cd build/linux*
+      make images
+      cd -
+    '';
+
     installPhase = ''
       mkdir -p $out/lib
 
diff --git a/nixpkgs/pkgs/development/compilers/openjdk/16.nix b/nixpkgs/pkgs/development/compilers/openjdk/16.nix
index 802449e4027f..4b0874a03a41 100644
--- a/nixpkgs/pkgs/development/compilers/openjdk/16.nix
+++ b/nixpkgs/pkgs/development/compilers/openjdk/16.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, fetchFromGitHub, bash, pkg-config, autoconf, cpio
-, file, which, unzip, zip, perl, cups, freetype, harfbuzz, alsa-lib, libjpeg, giflib
+, file, which, unzip, zip, perl, cups, freetype, alsa-lib, libjpeg, giflib
 , libpng, zlib, lcms2, libX11, libICE, libXrender, libXext, libXt, libXtst
 , libXi, libXinerama, libXcursor, libXrandr, fontconfig, openjdk16-bootstrap
 , setJavaClassPath
@@ -31,7 +31,7 @@ let
 
     nativeBuildInputs = [ pkg-config autoconf unzip ];
     buildInputs = [
-      cpio file which zip perl zlib cups freetype harfbuzz alsa-lib libjpeg giflib
+      cpio file which zip perl zlib cups freetype alsa-lib libjpeg giflib
       libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst
       libXi libXinerama libXcursor libXrandr fontconfig openjdk-bootstrap
     ] ++ lib.optionals (!headless && enableGnome2) [
@@ -74,15 +74,13 @@ let
       "--enable-unlimited-crypto"
       "--with-native-debug-symbols=internal"
       "--with-freetype=system"
-      "--with-harfbuzz=system"
       "--with-libjpeg=system"
       "--with-giflib=system"
       "--with-libpng=system"
       "--with-zlib=system"
       "--with-lcms=system"
       "--with-stdc++lib=dynamic"
-    ] ++ lib.optional stdenv.isx86_64 "--with-jvm-features=zgc"
-      ++ lib.optional headless "--enable-headless-only"
+    ] ++ lib.optional headless "--enable-headless-only"
       ++ lib.optional (!headless && enableJavaFX) "--with-import-modules=${openjfx}";
 
     separateDebugInfo = true;
@@ -103,6 +101,12 @@ let
 
     buildFlags = [ "all" ];
 
+    postBuild = ''
+      cd build/linux*
+      make images
+      cd -
+    '';
+
     installPhase = ''
       mkdir -p $out/lib
 
diff --git a/nixpkgs/pkgs/development/compilers/openjdk/17.nix b/nixpkgs/pkgs/development/compilers/openjdk/17.nix
index 9aa952156d29..d2c71683c9bf 100644
--- a/nixpkgs/pkgs/development/compilers/openjdk/17.nix
+++ b/nixpkgs/pkgs/development/compilers/openjdk/17.nix
@@ -98,8 +98,7 @@ let
       "--with-zlib=system"
       "--with-lcms=system"
       "--with-stdc++lib=dynamic"
-    ] ++ lib.optional stdenv.isx86_64 "--with-jvm-features=zgc"
-      ++ lib.optional headless "--enable-headless-only"
+    ] ++ lib.optional headless "--enable-headless-only"
       ++ lib.optional (!headless && enableJavaFX) "--with-import-modules=${openjfx}";
 
     separateDebugInfo = true;
diff --git a/nixpkgs/pkgs/development/compilers/openjdk/18.nix b/nixpkgs/pkgs/development/compilers/openjdk/18.nix
index 48d68f7b071f..2c496721be07 100644
--- a/nixpkgs/pkgs/development/compilers/openjdk/18.nix
+++ b/nixpkgs/pkgs/development/compilers/openjdk/18.nix
@@ -88,8 +88,7 @@ let
       "--with-zlib=system"
       "--with-lcms=system"
       "--with-stdc++lib=dynamic"
-    ] ++ lib.optional stdenv.isx86_64 "--with-jvm-features=zgc"
-      ++ lib.optional headless "--enable-headless-only"
+    ] ++ lib.optional headless "--enable-headless-only"
       ++ lib.optional (!headless && enableJavaFX) "--with-import-modules=${openjfx}";
 
     separateDebugInfo = true;
@@ -110,6 +109,12 @@ let
 
     buildFlags = [ "images" ];
 
+    postBuild = ''
+      cd build/linux*
+      make images
+      cd -
+    '';
+
     installPhase = ''
       mkdir -p $out/lib
 
diff --git a/nixpkgs/pkgs/development/compilers/openjdk/19.nix b/nixpkgs/pkgs/development/compilers/openjdk/19.nix
index 214831a3d569..51fd0d8eb533 100644
--- a/nixpkgs/pkgs/development/compilers/openjdk/19.nix
+++ b/nixpkgs/pkgs/development/compilers/openjdk/19.nix
@@ -98,8 +98,7 @@ let
       "--with-zlib=system"
       "--with-lcms=system"
       "--with-stdc++lib=dynamic"
-    ] ++ lib.optional stdenv.isx86_64 "--with-jvm-features=zgc"
-      ++ lib.optional headless "--enable-headless-only"
+    ] ++ lib.optional headless "--enable-headless-only"
       ++ lib.optional (!headless && enableJavaFX) "--with-import-modules=${openjfx}";
 
     separateDebugInfo = true;
diff --git a/nixpkgs/pkgs/development/compilers/openjdk/20.nix b/nixpkgs/pkgs/development/compilers/openjdk/20.nix
index 105a1cc7b35d..2be834a27b58 100644
--- a/nixpkgs/pkgs/development/compilers/openjdk/20.nix
+++ b/nixpkgs/pkgs/development/compilers/openjdk/20.nix
@@ -98,8 +98,7 @@ let
       "--with-zlib=system"
       "--with-lcms=system"
       "--with-stdc++lib=dynamic"
-    ] ++ lib.optional stdenv.isx86_64 "--with-jvm-features=zgc"
-      ++ lib.optional headless "--enable-headless-only"
+    ] ++ lib.optional headless "--enable-headless-only"
       ++ lib.optional (!headless && enableJavaFX) "--with-import-modules=${openjfx}";
 
     separateDebugInfo = true;
diff --git a/nixpkgs/pkgs/development/compilers/ponyc/default.nix b/nixpkgs/pkgs/development/compilers/ponyc/default.nix
index f22fb6fece1a..c7008ec22a8a 100644
--- a/nixpkgs/pkgs/development/compilers/ponyc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/ponyc/default.nix
@@ -13,6 +13,7 @@
 , substituteAll
 , which
 , z3
+, darwin
 }:
 
 stdenv.mkDerivation (rec {
@@ -34,7 +35,8 @@ stdenv.mkDerivation (rec {
     hash = "sha256-pUW9YVaujs/y00/SiPqDgK4wvVsaM7QUp/65k0t7Yr0=";
   };
 
-  nativeBuildInputs = [ cmake makeWrapper which python3 ];
+  nativeBuildInputs = [ cmake makeWrapper which python3 ]
+    ++ lib.optionals (stdenv.isDarwin) [ darwin.cctools ];
   buildInputs = [ libxml2 z3 ];
 
   # Sandbox disallows network access, so disabling problematic networking tests
@@ -50,6 +52,11 @@ stdenv.mkDerivation (rec {
         hash = "sha256-/FWBSxZESwj/QvdNK5BI2EfonT64DP1eGBZR4O8uJww=";
       };
     })
+  ] ++ lib.optionals stdenv.isDarwin [
+    (substituteAll {
+      src = ./fix-darwin-build.patch;
+      libSystem = darwin.Libsystem;
+    })
   ];
 
   postUnpack = ''
@@ -81,7 +88,8 @@ stdenv.mkDerivation (rec {
 
   env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error=redundant-move" "-Wno-error=implicit-fallthrough" ];
 
-  doCheck = true;
+  # make: *** [Makefile:222: test-full-programs-release] Killed: 9
+  doCheck = !stdenv.isDarwin;
 
   installPhase = "make config=release prefix=$out "
     + lib.optionalString stdenv.isDarwin ("bits=64 " + (lib.optionalString (!lto) "lto=no "))
@@ -102,6 +110,6 @@ stdenv.mkDerivation (rec {
     homepage = "https://www.ponylang.org";
     license = licenses.bsd2;
     maintainers = with maintainers; [ kamilchm patternspandemic redvers ];
-    platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
   };
 })
diff --git a/nixpkgs/pkgs/development/compilers/ponyc/fix-darwin-build.patch b/nixpkgs/pkgs/development/compilers/ponyc/fix-darwin-build.patch
new file mode 100644
index 000000000000..2570145da8de
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/ponyc/fix-darwin-build.patch
@@ -0,0 +1,22 @@
+diff --git a/src/libponyc/codegen/genexe.c b/src/libponyc/codegen/genexe.c
+index 42a68251..b37958ab 100644
+--- a/src/libponyc/codegen/genexe.c
++++ b/src/libponyc/codegen/genexe.c
+@@ -296,13 +296,13 @@ static bool link_exe(compile_t* c, ast_t* program,
+ 
+   snprintf(ld_cmd, ld_len,
+ #if defined(PLATFORM_IS_ARM)
+-    "%s -execute -arch %.*s "
++    "%s -execute "
+ #else
+-    "%s -execute -no_pie -arch %.*s "
++    "%s -execute -no_pie "
+ #endif
+     "-o %s %s %s %s "
+-    "-L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -lSystem %s",
+-           linker, (int)arch_len, c->opt->triple, file_exe, file_o,
++    "-L@libSystem@/lib -lSystem %s",
++           linker, file_exe, file_o,
+            lib_args, ponyrt, sanitizer_arg
+     );
+ 
diff --git a/nixpkgs/pkgs/development/compilers/ponyc/pony-corral.nix b/nixpkgs/pkgs/development/compilers/ponyc/pony-corral.nix
index ce785e5d140d..81bf2b0aebc5 100644
--- a/nixpkgs/pkgs/development/compilers/ponyc/pony-corral.nix
+++ b/nixpkgs/pkgs/development/compilers/ponyc/pony-corral.nix
@@ -5,18 +5,20 @@
 , nix-update-script
 }:
 
-stdenv.mkDerivation ( rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "corral";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "ponylang";
-    repo = pname;
-    rev = "f31353a9ec9cd7eab6ee89079ae6a782192fd4b5";
-    hash = "sha256-jTx/7iFvmwOdjGVf/6NUy+FTkv6Mkv8DeotJ67pvmtc=";
+    repo = "corral";
+    rev = finalAttrs.version;
+    hash = "sha256-+pHg5BFHlScC1suad0/3RqKAnxoEVZNUNj1EDLvbsfA=";
   };
 
-  buildInputs = [ ponyc ];
+  strictDeps = true;
+
+  nativeBuildInputs = [ ponyc ];
 
   installFlags = [ "prefix=${placeholder "out"}" "install" ];
 
@@ -25,9 +27,9 @@ stdenv.mkDerivation ( rec {
   meta = with lib; {
     description = "Corral is a dependency management tool for ponylang (ponyc)";
     homepage = "https://www.ponylang.io";
-    changelog = "https://github.com/ponylang/corral/blob/${version}/CHANGELOG.md";
+    changelog = "https://github.com/ponylang/corral/blob/${finalAttrs.version}/CHANGELOG.md";
     license = licenses.bsd2;
     maintainers = with maintainers; [ redvers ];
-    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+    inherit (ponyc.meta) platforms;
   };
 })
diff --git a/nixpkgs/pkgs/development/compilers/rust/1_72.nix b/nixpkgs/pkgs/development/compilers/rust/1_72.nix
index 05e55d24a75a..60eef6d44ec8 100644
--- a/nixpkgs/pkgs/development/compilers/rust/1_72.nix
+++ b/nixpkgs/pkgs/development/compilers/rust/1_72.nix
@@ -19,8 +19,8 @@
 } @ args:
 
 import ./default.nix {
-  rustcVersion = "1.72.0";
-  rustcSha256 = "sha256-6p1hu7UddrbqaBFW9p8OBZa1lyLwRBSwHG4QC0tb46E=";
+  rustcVersion = "1.72.1";
+  rustcSha256 = "sha256-f0iEX2pSzbtdY/sFKP1fUg60QydbVfmOMoFZ+GVo+JU=";
 
   llvmSharedForBuild = pkgsBuildBuild.llvmPackages_16.libllvm.override { enableSharedLibraries = true; };
   llvmSharedForHost = pkgsBuildHost.llvmPackages_16.libllvm.override { enableSharedLibraries = true; };
diff --git a/nixpkgs/pkgs/development/compilers/scala/2.x.nix b/nixpkgs/pkgs/development/compilers/scala/2.x.nix
index e9680553e017..6268fea658dd 100644
--- a/nixpkgs/pkgs/development/compilers/scala/2.x.nix
+++ b/nixpkgs/pkgs/development/compilers/scala/2.x.nix
@@ -24,8 +24,8 @@ let
     };
 
     "2.13" = {
-      version = "2.13.11";
-      sha256 = "YYLdgdICPM5SczPteFsaojqY6H3IVauji6SJLcaq8eM=";
+      version = "2.13.12";
+      sha256 = "r+fm+1njyIRX6Z9wGHMOUvuifI0V49cVT3KWggbKhxk=";
       pname = "scala_2_13";
     };
   };
@@ -114,6 +114,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsd3;
     platforms = platforms.all;
     branch = versions.majorMinor version;
-    maintainers = [ maintainers.nequissimus ];
+    maintainers = with maintainers; [ nequissimus kashw2 ];
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/scala/bare.nix b/nixpkgs/pkgs/development/compilers/scala/bare.nix
index 33095a49b829..09180e54a5a5 100644
--- a/nixpkgs/pkgs/development/compilers/scala/bare.nix
+++ b/nixpkgs/pkgs/development/compilers/scala/bare.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, makeWrapper, jre, ncurses }:
 
 stdenv.mkDerivation rec {
-  version = "3.3.0";
+  version = "3.3.1";
   pname = "scala-bare";
 
   src = fetchurl {
     url = "https://github.com/lampepfl/dotty/releases/download/${version}/scala3-${version}.tar.gz";
-    hash = "sha256-Bk7lCKjjucaYQxAsg2qomJQUgCK/N688JqlGTfoQFHU=";
+    hash = "sha256-EcDqD3HEOvD7GzVd3kFL/vAaYMFyk2deI6RNAlJpzRU=";
   };
 
   propagatedBuildInputs = [ jre ncurses.dev ] ;
@@ -37,6 +37,6 @@ stdenv.mkDerivation rec {
     homepage = "http://dotty.epfl.ch/";
     license = licenses.bsd3;
     platforms = platforms.all;
-    maintainers = [maintainers.karolchmist maintainers.virusdave];
+    maintainers = with maintainers; [ karolchmist virusdave kashw2 ];
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/solc/default.nix b/nixpkgs/pkgs/development/compilers/solc/default.nix
index cd75f3d6c394..986f6f169e8b 100644
--- a/nixpkgs/pkgs/development/compilers/solc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/solc/default.nix
@@ -45,7 +45,7 @@ let
   };
 
   pname = "solc";
-  version = "0.8.19";
+  version = "0.8.21";
   meta = with lib; {
     description = "Compiler for Ethereum smart contract language Solidity";
     homepage = "https://github.com/ethereum/solidity";
@@ -59,13 +59,9 @@ let
     # upstream suggests avoid using archive generated by github
     src = fetchzip {
       url = "https://github.com/ethereum/solidity/releases/download/v${version}/solidity_${version}.tar.gz";
-      sha256 = "sha256-xh/QPYNEWxPtDaVmBeIE/Ch98g0ox9gJ/lR6ziOu+bg=";
+      sha256 = "sha256-6EeRmxAmb1nCQ2FTNtWfQ7HCH0g9nJXC3jnhV0KEOwk=";
     };
 
-    patches = [
-      ./tests.patch
-    ];
-
     postPatch = ''
       substituteInPlace cmake/jsoncpp.cmake \
         --replace "${jsoncppUrl}" ${jsoncpp}
@@ -120,7 +116,7 @@ let
 
     src = pkgs.fetchurl {
       url = "https://github.com/ethereum/solidity/releases/download/v${version}/solc-macos";
-      sha256 = "sha256-OMhSOrZ+Cz4hxIGJ1r+5mtaHm5zgLg2ALsi+WYuyYi0=";
+      sha256 = "sha256-GdBldJ+wjL/097RShKxVhTBjhl9q6GIeTe+l2Ti5pQI=";
     };
     dontUnpack = true;
 
diff --git a/nixpkgs/pkgs/development/compilers/solc/tests.patch b/nixpkgs/pkgs/development/compilers/solc/tests.patch
deleted file mode 100644
index 45e3c7581474..000000000000
--- a/nixpkgs/pkgs/development/compilers/solc/tests.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/test/lsp.py b/test/lsp.py
-index 669951ca4..11007ae82 100755
---- a/test/lsp.py
-+++ b/test/lsp.py
-@@ -28,7 +28,8 @@ else:
-     import tty
-     # Turn off user input buffering so we get the input immediately,
-     # not only after a line break
--    tty.setcbreak(sys.stdin.fileno())
-+    if os.isatty(sys.stdin.fileno()):
-+        tty.setcbreak(sys.stdin.fileno())
- 
- 
- # Type for the pure test name without .sol suffix or sub directory
diff --git a/nixpkgs/pkgs/development/compilers/spirv-llvm-translator/default.nix b/nixpkgs/pkgs/development/compilers/spirv-llvm-translator/default.nix
index 19fa928a4d0e..c5e8ee5a6214 100644
--- a/nixpkgs/pkgs/development/compilers/spirv-llvm-translator/default.nix
+++ b/nixpkgs/pkgs/development/compilers/spirv-llvm-translator/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
+, fetchpatch
 , cmake
 , pkg-config
 , lit
@@ -14,7 +15,11 @@ let
 
   # ROCm will always be at the latest version
   branch =
-    if llvmMajor == "15" || isROCm then rec {
+    if llvmMajor == "16" then rec {
+      version = "16.0.0";
+      rev = "v${version}";
+      hash = "sha256-EUabcYqSjXshbPmcs1DRLvCSL1nd9rEdpqELBrItCW8=";
+    } else if llvmMajor == "15" || isROCm then rec {
       version = "15.0.0";
       rev = "v${version}";
       hash = "sha256-OsDohXRxovtEXaWiRGp8gJ0dXmoALyO+ZimeSO8aPVI=";
@@ -38,6 +43,14 @@ stdenv.mkDerivation {
     inherit (branch) rev hash;
   };
 
+  patches = lib.optionals (llvmMajor == "16")[
+    # Fixes builds that link against external LLVM dynamic library
+    (fetchpatch {
+      url = "https://github.com/KhronosGroup/SPIRV-LLVM-Translator/commit/f3b9b604d7eda18d0d1029d94a6eebd33aa3a3fe.patch";
+      hash = "sha256-opDjyZcy7O4wcSfm/A51NCIiDyIvbcmbv9ns1njdJbc=";
+    })
+  ];
+
   nativeBuildInputs = [ pkg-config cmake spirv-tools ]
     ++ (if isROCm then [ llvm ] else [ llvm.dev ]);
 
@@ -62,6 +75,9 @@ stdenv.mkDerivation {
 
   postInstall = ''
     install -D tools/llvm-spirv/llvm-spirv $out/bin/llvm-spirv
+  '' + lib.optionalString stdenv.isDarwin ''
+    install_name_tool $out/bin/llvm-spirv \
+      -change @rpath/libLLVMSPIRVLib.dylib $out/lib/libLLVMSPIRVLib.dylib
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/compilers/unison/default.nix b/nixpkgs/pkgs/development/compilers/unison/default.nix
index bcb259c60cf9..fbbfba7ae1a5 100644
--- a/nixpkgs/pkgs/development/compilers/unison/default.nix
+++ b/nixpkgs/pkgs/development/compilers/unison/default.nix
@@ -11,17 +11,17 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "unison-code-manager";
-  version = "M5e";
+  version = "M5g";
 
   src = if stdenv.isDarwin then
     fetchurl {
       url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-macos.tar.gz";
-      hash = "sha256-jg8/DmIJru2OKZu5WfA7fatKcburPiXnoALifxL26kc=";
+      hash = "sha256-4E/8CfWmD+IVeXBqcTE74k2HZtk9dt/4G9GqBjVhtWo=";
     }
   else
     fetchurl {
       url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-linux.tar.gz";
-      hash = "sha256-+2dIxqf9b8DfoTUakxA6Qrpb7cAQKCventxDS1sFxjM=";
+      hash = "sha256-Gl447CSuLgEPPHzgxPTIC8QXGgk/1moNqFU+Phv6e/U=";
     };
 
   # The tarball is just the prebuilt binary, in the archive root.