summary refs log tree commit diff
path: root/pkgs/development/tools/build-managers
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/build-managers')
-rw-r--r--pkgs/development/tools/build-managers/alire/default.nix1
-rw-r--r--pkgs/development/tools/build-managers/apache-maven/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_6/default.nix30
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_6/src-deps.json174
-rw-r--r--pkgs/development/tools/build-managers/bazel/buildtools/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/bazel/python-bin-path-test.nix1
-rw-r--r--pkgs/development/tools/build-managers/bloop/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/boot/builder.sh2
-rw-r--r--pkgs/development/tools/build-managers/buck2/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/buck2/hashes.json10
-rw-r--r--pkgs/development/tools/build-managers/cmake/001-search-path.diff95
-rw-r--r--pkgs/development/tools/build-managers/cmake/002-application-services.diff39
-rw-r--r--pkgs/development/tools/build-managers/cmake/003-libuv-application-services.diff55
-rw-r--r--pkgs/development/tools/build-managers/cmake/004-cygwin.diff274
-rw-r--r--pkgs/development/tools/build-managers/cmake/005-remove-systemconfiguration-dep.diff67
-rw-r--r--pkgs/development/tools/build-managers/cmake/006-darwin-always-set-runtime-c-flag.diff14
-rw-r--r--pkgs/development/tools/build-managers/cmake/check-pc-files-hook.sh18
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix173
-rwxr-xr-xpkgs/development/tools/build-managers/cmake/setup-hook.sh184
-rw-r--r--pkgs/development/tools/build-managers/corrosion/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/goredo/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix12
-rw-r--r--pkgs/development/tools/build-managers/meson/boost-Do-not-add-system-paths-on-nix.patch21
-rw-r--r--pkgs/development/tools/build-managers/meson/clear-old-rpath.patch20
-rw-r--r--pkgs/development/tools/build-managers/meson/default.nix173
-rw-r--r--pkgs/development/tools/build-managers/meson/disable-bitcode.patch24
-rw-r--r--pkgs/development/tools/build-managers/meson/emulator-hook.sh5
-rw-r--r--pkgs/development/tools/build-managers/meson/fix-rpath.patch24
-rw-r--r--pkgs/development/tools/build-managers/meson/gir-fallback-path.patch21
-rw-r--r--pkgs/development/tools/build-managers/meson/more-env-vars.patch12
-rw-r--r--pkgs/development/tools/build-managers/meson/setup-hook.sh42
-rw-r--r--pkgs/development/tools/build-managers/mill/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/moon/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/msbuild/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/muon/default.nix1
-rw-r--r--pkgs/development/tools/build-managers/rocm-cmake/default.nix35
-rw-r--r--pkgs/development/tools/build-managers/sbt-extras/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/sbt/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/scala-cli/sources.json10
-rw-r--r--pkgs/development/tools/build-managers/scons/3.1.2.nix38
-rw-r--r--pkgs/development/tools/build-managers/scons/4.1.0.nix50
-rw-r--r--pkgs/development/tools/build-managers/scons/4.5.2.nix54
-rw-r--r--pkgs/development/tools/build-managers/scons/common.nix62
-rw-r--r--pkgs/development/tools/build-managers/scons/default.nix20
-rw-r--r--pkgs/development/tools/build-managers/scons/setup-hook.sh22
-rw-r--r--pkgs/development/tools/build-managers/turtle-build/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/xmake/default.nix4
47 files changed, 326 insertions, 1519 deletions
diff --git a/pkgs/development/tools/build-managers/alire/default.nix b/pkgs/development/tools/build-managers/alire/default.nix
index 39124514d04..eaa87d573f8 100644
--- a/pkgs/development/tools/build-managers/alire/default.nix
+++ b/pkgs/development/tools/build-managers/alire/default.nix
@@ -46,5 +46,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = lib.licenses.gpl3Only;
     maintainers = with lib.maintainers; [ atalii ];
     platforms = lib.platforms.unix;
+    mainProgram = "alr";
   };
 })
diff --git a/pkgs/development/tools/build-managers/apache-maven/default.nix b/pkgs/development/tools/build-managers/apache-maven/default.nix
index 5ed41717f3d..7d38b8c754b 100644
--- a/pkgs/development/tools/build-managers/apache-maven/default.nix
+++ b/pkgs/development/tools/build-managers/apache-maven/default.nix
@@ -10,11 +10,11 @@ assert jdk != null;
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "apache-maven";
-  version = "3.9.4";
+  version = "3.9.5";
 
   src = fetchurl {
     url = "mirror://apache/maven/maven-3/${finalAttrs.version}/binaries/${finalAttrs.pname}-${finalAttrs.version}-bin.tar.gz";
-    hash = "sha256-/2a3DIMKONMx1E9sJaN7WCRx3vmhYck5ArrHvqMJgxk=";
+    hash = "sha256-X9JysQUEH+geLkL2OZdl4BX8STjvN1O6SvnwEZ2E73w=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_6/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_6/default.nix
index 545236b561c..35f1c9980b4 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_6/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/bazel_6/default.nix
@@ -22,15 +22,16 @@
 , file
 , substituteAll
 , writeTextFile
+, writeShellApplication
 }:
 
 let
-  version = "6.3.2";
+  version = "6.4.0";
   sourceRoot = ".";
 
   src = fetchurl {
     url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
-    hash = "sha256-jNf+rFgZO+K8ukUbpmiKRoJNN8pjWf9Y4NROuY8EKUg=";
+    hash = "sha256-vYj/YCyLuynugroqaxKtCS1R7GaMZXf5Yo8Y5I/05R4=";
   };
 
   # Update with
@@ -128,6 +129,17 @@ let
 
   defaultShellPath = lib.makeBinPath defaultShellUtils;
 
+  bashWithDefaultShellUtils = writeShellApplication {
+    name = "bash";
+    runtimeInputs = defaultShellUtils;
+    text = ''
+      if [[ "$PATH" == "/no-such-path" ]]; then
+        export PATH=${defaultShellPath}
+      fi
+      exec ${bash}/bin/bash "$@"
+    '';
+  };
+
   platforms = lib.platforms.linux ++ lib.platforms.darwin;
 
   system = if stdenv.hostPlatform.isDarwin then "darwin" else "linux";
@@ -330,6 +342,8 @@ stdenv.mkDerivation rec {
     installPhase = ''
       runHook preInstall
 
+      # prevent bazel version check failing in the updater
+      rm .bazelversion
       cp -r . "$out"
 
       runHook postInstall
@@ -418,8 +432,8 @@ stdenv.mkDerivation rec {
         # If you add more replacements here, you must change the grep above!
         # Only files containing /bin are taken into account.
         substituteInPlace "$path" \
-          --replace /bin/bash ${bash}/bin/bash \
-          --replace "/usr/bin/env bash" ${bash}/bin/bash \
+          --replace /bin/bash ${bashWithDefaultShellUtils}/bin/bash \
+          --replace "/usr/bin/env bash" ${bashWithDefaultShellUtils}/bin/bash \
           --replace "/usr/bin/env python" ${python3}/bin/python \
           --replace /usr/bin/env ${coreutils}/bin/env \
           --replace /bin/true ${coreutils}/bin/true
@@ -434,17 +448,17 @@ stdenv.mkDerivation rec {
 
       # bazel test runner include references to /bin/bash
       substituteInPlace tools/build_rules/test_rules.bzl \
-        --replace /bin/bash ${bash}/bin/bash
+        --replace /bin/bash ${bashWithDefaultShellUtils}/bin/bash
 
       for i in $(find tools/cpp/ -type f)
       do
         substituteInPlace $i \
-          --replace /bin/bash ${bash}/bin/bash
+          --replace /bin/bash ${bashWithDefaultShellUtils}/bin/bash
       done
 
       # Fixup scripts that generate scripts. Not fixed up by patchShebangs below.
       substituteInPlace scripts/bootstrap/compile.sh \
-          --replace /bin/bash ${bash}/bin/bash
+          --replace /bin/bash ${bashWithDefaultShellUtils}/bin/bash
 
       # add nix environment vars to .bazelrc
       cat >> .bazelrc <<EOF
@@ -521,7 +535,7 @@ stdenv.mkDerivation rec {
     in lib.optionalString stdenv.hostPlatform.isDarwin darwinPatches
      + genericPatches;
 
-  buildInputs = [buildJdk] ++ defaultShellUtils;
+  buildInputs = [buildJdk bashWithDefaultShellUtils] ++ defaultShellUtils;
 
   # when a command can’t be found in a bazel build, you might also
   # need to add it to `defaultShellPath`.
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_6/src-deps.json b/pkgs/development/tools/build-managers/bazel/bazel_6/src-deps.json
index e407902f794..c294c1f2241 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_6/src-deps.json
+++ b/pkgs/development/tools/build-managers/bazel/bazel_6/src-deps.json
@@ -7,6 +7,13 @@
             "https://github.com/bazelbuild/rules_sass/archive/1.25.0.zip"
         ]
     },
+    "1.3.3.zip": {
+        "name": "1.3.3.zip",
+        "sha256": "bb529ba133c0256df49139bd403c17835edbf60d2ecd6463549c6a5fe279364d",
+        "urls": [
+            "https://github.com/BLAKE3-team/BLAKE3/archive/refs/tags/1.3.3.zip"
+        ]
+    },
     "1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz": {
         "name": "1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz",
         "sha256": "5a725b777976b77aa122b707d1b6f0f39b6020f66cd427bb111a585599c857b1",
@@ -55,14 +62,6 @@
             "https://github.com/c-ares/c-ares/archive/6654436a307a5a686b008c1d4c93b0085da6e6d8.tar.gz"
         ]
     },
-    "7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip": {
-        "name": "7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip",
-        "sha256": "bc81f1ba47ef5cc68ad32225c3d0e70b8c6f6077663835438da8d5733f917598",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip",
-            "https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip"
-        ]
-    },
     "7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz": {
         "name": "7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz",
         "sha256": "8e7d59a5b12b233be5652e3d29f42fba01c7cbab09f6b3a8d0a57ed6d1e9a0da",
@@ -207,6 +206,25 @@
             "https://github.com/bazelbuild/continuous-integration/releases/download/rules-1.0.0/bazelci_rules-1.0.0.tar.gz"
         ]
     },
+    "blake3": {
+        "build_file": "//third_party:blake3/blake3.BUILD",
+        "generator_function": "dist_http_archive",
+        "generator_name": "blake3",
+        "name": "blake3",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "bb529ba133c0256df49139bd403c17835edbf60d2ecd6463549c6a5fe279364d",
+        "strip_prefix": "BLAKE3-1.3.3",
+        "urls": [
+            "https://github.com/BLAKE3-team/BLAKE3/archive/refs/tags/1.3.3.zip"
+        ]
+    },
     "boringssl": {
         "generator_function": "grpc_deps",
         "generator_name": "boringssl",
@@ -538,44 +556,44 @@
             "https://github.com/census-instrumentation/opencensus-cpp/archive/c9a4da319bc669a772928ffc55af4a61be1a1176.tar.gz"
         ]
     },
-    "java_tools-v12.6.zip": {
-        "name": "java_tools-v12.6.zip",
-        "sha256": "f58a358ca694a41416a9b6a92b852935ad301d8882e5d22f4f11134f035317d5",
+    "java_tools-v12.7.zip": {
+        "name": "java_tools-v12.7.zip",
+        "sha256": "aa11ecd5fc0af2769f0f2bdd25e2f4de7c1291ed24326fb23fa69bdd5dcae2b5",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools-v12.6.zip",
-            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools-v12.6.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.7/java_tools-v12.7.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.7/java_tools-v12.7.zip"
         ]
     },
-    "java_tools_darwin_arm64-v12.6.zip": {
-        "name": "java_tools_darwin_arm64-v12.6.zip",
-        "sha256": "c6ffcaf87965c436cc86fc0e9673dafc97c0761efae8225ad2691cf6cfe3d87a",
+    "java_tools_darwin_arm64-v12.7.zip": {
+        "name": "java_tools_darwin_arm64-v12.7.zip",
+        "sha256": "ecedf6305768dfd51751d0ad732898af092bd7710d497c6c6c3214af7e49395f",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_darwin_arm64-v12.6.zip",
-            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_darwin_arm64-v12.6.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.7/java_tools_darwin_arm64-v12.7.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.7/java_tools_darwin_arm64-v12.7.zip"
         ]
     },
-    "java_tools_darwin_x86_64-v12.6.zip": {
-        "name": "java_tools_darwin_x86_64-v12.6.zip",
-        "sha256": "c6545e82e543cb5775d3b8909d6270b5f481864b5ff083d20bfa5dcf77ac3ef7",
+    "java_tools_darwin_x86_64-v12.7.zip": {
+        "name": "java_tools_darwin_x86_64-v12.7.zip",
+        "sha256": "e116c649c0355ab57ffcc870ce1139e5e1528cabac458bd50263d2b84ea4ffb2",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_darwin_x86_64-v12.6.zip",
-            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_darwin_x86_64-v12.6.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.7/java_tools_darwin_x86_64-v12.7.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.7/java_tools_darwin_x86_64-v12.7.zip"
         ]
     },
-    "java_tools_linux-v12.6.zip": {
-        "name": "java_tools_linux-v12.6.zip",
-        "sha256": "64294e91fe940c77e6d35818b4c3a1f07d78e33add01e330188d907032687066",
+    "java_tools_linux-v12.7.zip": {
+        "name": "java_tools_linux-v12.7.zip",
+        "sha256": "a346b9a291b6db1bb06f7955f267e47522d99963fe14e337da1d75d125a8599f",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_linux-v12.6.zip",
-            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_linux-v12.6.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.7/java_tools_linux-v12.7.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.7/java_tools_linux-v12.7.zip"
         ]
     },
-    "java_tools_windows-v12.6.zip": {
-        "name": "java_tools_windows-v12.6.zip",
-        "sha256": "63f727d44011b8c504bb4e6d89c2cd982278efb34dae8629687e9483d8f7d62d",
+    "java_tools_windows-v12.7.zip": {
+        "name": "java_tools_windows-v12.7.zip",
+        "sha256": "bae6a03b5aeead5804ba7bcdcc8b14ec3ed05b37f3db5519f788ab060bc53b05",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_windows-v12.6.zip",
-            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_windows-v12.6.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.7/java_tools_windows-v12.7.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.7/java_tools_windows-v12.7.zip"
         ]
     },
     "microsoft-jdk-11.0.13.8.1-windows-aarch64.zip": {
@@ -1076,18 +1094,18 @@
         "generator_function": "dist_http_archive",
         "generator_name": "platforms",
         "name": "platforms",
-        "sha256": "379113459b0feaf6bfbb584a91874c065078aa673222846ac765f86661c27407",
+        "sha256": "3a561c99e7bdbe9173aa653fd579fe849f1d8d67395780ab4770b1f381431d51",
         "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/platforms/releases/download/0.0.5/platforms-0.0.5.tar.gz",
-            "https://github.com/bazelbuild/platforms/releases/download/0.0.5/platforms-0.0.5.tar.gz"
+            "https://mirror.bazel.build/github.com/bazelbuild/platforms/releases/download/0.0.7/platforms-0.0.7.tar.gz",
+            "https://github.com/bazelbuild/platforms/releases/download/0.0.7/platforms-0.0.7.tar.gz"
         ]
     },
-    "platforms-0.0.5.tar.gz": {
-        "name": "platforms-0.0.5.tar.gz",
-        "sha256": "379113459b0feaf6bfbb584a91874c065078aa673222846ac765f86661c27407",
+    "platforms-0.0.7.tar.gz": {
+        "name": "platforms-0.0.7.tar.gz",
+        "sha256": "3a561c99e7bdbe9173aa653fd579fe849f1d8d67395780ab4770b1f381431d51",
         "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/platforms/releases/download/0.0.5/platforms-0.0.5.tar.gz",
-            "https://github.com/bazelbuild/platforms/releases/download/0.0.5/platforms-0.0.5.tar.gz"
+            "https://mirror.bazel.build/github.com/bazelbuild/platforms/releases/download/0.0.7/platforms-0.0.7.tar.gz",
+            "https://github.com/bazelbuild/platforms/releases/download/0.0.7/platforms-0.0.7.tar.gz"
         ]
     },
     "python-3.7.0": {
@@ -1159,10 +1177,10 @@
         "patch_cmds_win": [
             "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
         ],
-        "sha256": "c6ffcaf87965c436cc86fc0e9673dafc97c0761efae8225ad2691cf6cfe3d87a",
+        "sha256": "ecedf6305768dfd51751d0ad732898af092bd7710d497c6c6c3214af7e49395f",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_darwin_arm64-v12.6.zip",
-            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_darwin_arm64-v12.6.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.7/java_tools_darwin_arm64-v12.7.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.7/java_tools_darwin_arm64-v12.7.zip"
         ]
     },
     "remote_java_tools_darwin_x86_64": {
@@ -1187,10 +1205,10 @@
         "patch_cmds_win": [
             "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
         ],
-        "sha256": "c6545e82e543cb5775d3b8909d6270b5f481864b5ff083d20bfa5dcf77ac3ef7",
+        "sha256": "e116c649c0355ab57ffcc870ce1139e5e1528cabac458bd50263d2b84ea4ffb2",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_darwin_x86_64-v12.6.zip",
-            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_darwin_x86_64-v12.6.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.7/java_tools_darwin_x86_64-v12.7.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.7/java_tools_darwin_x86_64-v12.7.zip"
         ]
     },
     "remote_java_tools_for_testing": {
@@ -1205,10 +1223,10 @@
         "patch_cmds_win": [
             "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
         ],
-        "sha256": "f58a358ca694a41416a9b6a92b852935ad301d8882e5d22f4f11134f035317d5",
+        "sha256": "aa11ecd5fc0af2769f0f2bdd25e2f4de7c1291ed24326fb23fa69bdd5dcae2b5",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools-v12.6.zip",
-            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools-v12.6.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.7/java_tools-v12.7.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.7/java_tools-v12.7.zip"
         ]
     },
     "remote_java_tools_linux": {
@@ -1233,10 +1251,10 @@
         "patch_cmds_win": [
             "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
         ],
-        "sha256": "64294e91fe940c77e6d35818b4c3a1f07d78e33add01e330188d907032687066",
+        "sha256": "a346b9a291b6db1bb06f7955f267e47522d99963fe14e337da1d75d125a8599f",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_linux-v12.6.zip",
-            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_linux-v12.6.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.7/java_tools_linux-v12.7.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.7/java_tools_linux-v12.7.zip"
         ]
     },
     "remote_java_tools_test": {
@@ -1251,10 +1269,10 @@
         "patch_cmds_win": [
             "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
         ],
-        "sha256": "f58a358ca694a41416a9b6a92b852935ad301d8882e5d22f4f11134f035317d5",
+        "sha256": "aa11ecd5fc0af2769f0f2bdd25e2f4de7c1291ed24326fb23fa69bdd5dcae2b5",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools-v12.6.zip",
-            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools-v12.6.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.7/java_tools-v12.7.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.7/java_tools-v12.7.zip"
         ]
     },
     "remote_java_tools_test_darwin_arm64": {
@@ -1269,10 +1287,10 @@
         "patch_cmds_win": [
             "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
         ],
-        "sha256": "c6ffcaf87965c436cc86fc0e9673dafc97c0761efae8225ad2691cf6cfe3d87a",
+        "sha256": "ecedf6305768dfd51751d0ad732898af092bd7710d497c6c6c3214af7e49395f",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_darwin_arm64-v12.6.zip",
-            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_darwin_arm64-v12.6.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.7/java_tools_darwin_arm64-v12.7.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.7/java_tools_darwin_arm64-v12.7.zip"
         ]
     },
     "remote_java_tools_test_darwin_x86_64": {
@@ -1287,10 +1305,10 @@
         "patch_cmds_win": [
             "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
         ],
-        "sha256": "c6545e82e543cb5775d3b8909d6270b5f481864b5ff083d20bfa5dcf77ac3ef7",
+        "sha256": "e116c649c0355ab57ffcc870ce1139e5e1528cabac458bd50263d2b84ea4ffb2",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_darwin_x86_64-v12.6.zip",
-            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_darwin_x86_64-v12.6.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.7/java_tools_darwin_x86_64-v12.7.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.7/java_tools_darwin_x86_64-v12.7.zip"
         ]
     },
     "remote_java_tools_test_linux": {
@@ -1305,10 +1323,10 @@
         "patch_cmds_win": [
             "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
         ],
-        "sha256": "64294e91fe940c77e6d35818b4c3a1f07d78e33add01e330188d907032687066",
+        "sha256": "a346b9a291b6db1bb06f7955f267e47522d99963fe14e337da1d75d125a8599f",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_linux-v12.6.zip",
-            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_linux-v12.6.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.7/java_tools_linux-v12.7.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.7/java_tools_linux-v12.7.zip"
         ]
     },
     "remote_java_tools_test_windows": {
@@ -1323,10 +1341,10 @@
         "patch_cmds_win": [
             "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
         ],
-        "sha256": "63f727d44011b8c504bb4e6d89c2cd982278efb34dae8629687e9483d8f7d62d",
+        "sha256": "bae6a03b5aeead5804ba7bcdcc8b14ec3ed05b37f3db5519f788ab060bc53b05",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_windows-v12.6.zip",
-            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_windows-v12.6.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.7/java_tools_windows-v12.7.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.7/java_tools_windows-v12.7.zip"
         ]
     },
     "remote_java_tools_windows": {
@@ -1351,10 +1369,10 @@
         "patch_cmds_win": [
             "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
         ],
-        "sha256": "63f727d44011b8c504bb4e6d89c2cd982278efb34dae8629687e9483d8f7d62d",
+        "sha256": "bae6a03b5aeead5804ba7bcdcc8b14ec3ed05b37f3db5519f788ab060bc53b05",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_windows-v12.6.zip",
-            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_windows-v12.6.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.7/java_tools_windows-v12.7.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.7/java_tools_windows-v12.7.zip"
         ]
     },
     "remotejdk11_linux": {
@@ -1991,11 +2009,17 @@
         "patch_cmds_win": [
             "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
         ],
-        "sha256": "bc81f1ba47ef5cc68ad32225c3d0e70b8c6f6077663835438da8d5733f917598",
-        "strip_prefix": "rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178",
+        "sha256": "73b88f34dc251bce7bc6c472eb386a6c2b312ed5b473c81fe46855c248f792e0",
+        "strip_prefix": "",
+        "urls": [
+            "https://github.com/bazelbuild/rules_java/releases/download/5.5.1/rules_java-5.5.1.tar.gz"
+        ]
+    },
+    "rules_java-5.5.1.tar.gz": {
+        "name": "rules_java-5.5.1.tar.gz",
+        "sha256": "73b88f34dc251bce7bc6c472eb386a6c2b312ed5b473c81fe46855c248f792e0",
         "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip",
-            "https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip"
+            "https://github.com/bazelbuild/rules_java/releases/download/5.5.1/rules_java-5.5.1.tar.gz"
         ]
     },
     "rules_jvm_external": {
diff --git a/pkgs/development/tools/build-managers/bazel/buildtools/default.nix b/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
index 8c46b2456ee..f22e7c3c22a 100644
--- a/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "bazel-buildtools";
-  version = "6.3.3";
+  version = "6.4.0";
 
   src = fetchFromGitHub {
     owner = "bazelbuild";
     repo = "buildtools";
     rev = "v${version}";
-    hash = "sha256-eGX1W3Nc26aw31dWm1hvcUzFh1efL4Vd86dK6Hs2BJc=";
+    hash = "sha256-k4qbveJ1BORnwjOIZcJLWIGVMRjCAqVhISggQ/VTzA4=";
   };
 
   vendorHash = "sha256-DigTREfI6I48wxRpGp/bfH1NbUZ4E1B5UTQXpI0LY1A=";
diff --git a/pkgs/development/tools/build-managers/bazel/python-bin-path-test.nix b/pkgs/development/tools/build-managers/bazel/python-bin-path-test.nix
index d560b0af848..1ab073a64c8 100644
--- a/pkgs/development/tools/build-managers/bazel/python-bin-path-test.nix
+++ b/pkgs/development/tools/build-managers/bazel/python-bin-path-test.nix
@@ -51,6 +51,7 @@ let
     py_binary(
       name = "bin",
       srcs = [ "bin.py" ],
+      imports = [ "." ],
       deps = [ ":lib" ],
     )
   '';
diff --git a/pkgs/development/tools/build-managers/bloop/default.nix b/pkgs/development/tools/build-managers/bloop/default.nix
index 62389d622ce..5aac94c8370 100644
--- a/pkgs/development/tools/build-managers/bloop/default.nix
+++ b/pkgs/development/tools/build-managers/bloop/default.nix
@@ -10,7 +10,7 @@
 
 stdenv.mkDerivation rec {
   pname = "bloop";
-  version = "1.5.8";
+  version = "1.5.11";
 
   platform =
     if stdenv.isLinux && stdenv.isx86_64 then "x86_64-pc-linux"
@@ -35,8 +35,8 @@ stdenv.mkDerivation rec {
   bloop-binary = fetchurl rec {
     url = "https://github.com/scalacenter/bloop/releases/download/v${version}/bloop-${platform}";
     sha256 =
-      if stdenv.isLinux && stdenv.isx86_64 then "sha256-KqfXNk89VHhRbTK0kBiO02q/sfp3bs674lU3gUpwAi0="
-      else if stdenv.isDarwin && stdenv.isx86_64 then "sha256-1MmX7icqUJgU5y9vYSE4nMzJfLH1SJvYJ24kw697HuY="
+      if stdenv.isLinux && stdenv.isx86_64 then "sha256-T07t0CTSkCPQfjhg/L0NhyZgMobXL7DCKZZefPxdBJk="
+      else if stdenv.isDarwin && stdenv.isx86_64 then "sha256-3GiMFRikru+8J+eDkba9bNNrpmtuAdH9qEjnH55beiQ="
       else throw "unsupported platform";
   };
 
diff --git a/pkgs/development/tools/build-managers/boot/builder.sh b/pkgs/development/tools/build-managers/boot/builder.sh
index e007cbac958..4506e3f0f86 100644
--- a/pkgs/development/tools/build-managers/boot/builder.sh
+++ b/pkgs/development/tools/build-managers/boot/builder.sh
@@ -1,4 +1,4 @@
-if [ -e .attrs.sh ]; then source .attrs.sh; fi
+if [ -e "$NIX_ATTRS_SH_FILE" ]; then . "$NIX_ATTRS_SH_FILE"; elif [ -f .attrs.sh ]; then . .attrs.sh; fi
 source $stdenv/setup
 
 boot_bin=$out/bin/boot
diff --git a/pkgs/development/tools/build-managers/buck2/default.nix b/pkgs/development/tools/build-managers/buck2/default.nix
index 24a7db6b224..5ae28b1512c 100644
--- a/pkgs/development/tools/build-managers/buck2/default.nix
+++ b/pkgs/development/tools/build-managers/buck2/default.nix
@@ -38,7 +38,7 @@ let
   buildHashes = builtins.fromJSON (builtins.readFile ./hashes.json);
 
   # our version of buck2; this should be a git tag
-  version = "2023-09-15";
+  version = "2023-10-15";
 
   # the platform-specific, statically linked binary — which is also
   # zstd-compressed
@@ -63,7 +63,7 @@ let
   # tooling
   prelude-src =
     let
-      prelude-hash = "1cdbe261a4e669d9bb25bac5617b17919b2bb05c";
+      prelude-hash = "880be565178cf1e08ce9badef52b215f91e48479";
       name = "buck2-prelude-${version}.tar.gz";
       hash = buildHashes."_prelude";
       url = "https://github.com/facebook/buck2-prelude/archive/${prelude-hash}.tar.gz";
diff --git a/pkgs/development/tools/build-managers/buck2/hashes.json b/pkgs/development/tools/build-managers/buck2/hashes.json
index 8fafcf99bc5..b444cfeeae0 100644
--- a/pkgs/development/tools/build-managers/buck2/hashes.json
+++ b/pkgs/development/tools/build-managers/buck2/hashes.json
@@ -1,7 +1,7 @@
 { "_comment": "@generated by pkgs/development/tools/build-managers/buck2/update.sh"
-, "_prelude": "sha256-M+QlMVemxkdajUEnsLzvkFyZ6rW59n2uFafftDze0tc="
-, "x86_64-linux": "sha256-cMHNeR6jdYiumJZgNQviCNtzv3DfvJISG6AbWdQYquo="
-, "x86_64-darwin": "sha256-03QD4rXmBgEY95b63Yzimhj7sRoeEomT3N5n0xYzweU="
-, "aarch64-linux": "sha256-nATdxVVNH7RVJ7ck3tDjcf4Ask0aZkH1sy/2eKtJpKM="
-, "aarch64-darwin": "sha256-+l0W5918KRYwBi/5pqSr10RaVH79QT5qx/cZRDaZ0EY="
+, "_prelude": "sha256-mm9jU74rsLpiMzuDmSih6tzY4+NOiR15j+W96BVe/OI="
+, "x86_64-linux": "sha256-qxymUjsSwCf6ev5TwlkWVGtMc9tj6Vt4yMIPaLHFAMM="
+, "x86_64-darwin": "sha256-DGfpByvL4gmP+CR7VLCZS8IGSJ3esHhuKxHUfXJb/6k="
+, "aarch64-linux": "sha256-zc9LEYmpVJttCTI6Qxm25KZRX8CJVJzVtSbouw0LB6g="
+, "aarch64-darwin": "sha256-HUzpKJQN/22IQYmHLhW0fVQs0f86rREMTlp+yOfK0+Y="
 }
diff --git a/pkgs/development/tools/build-managers/cmake/001-search-path.diff b/pkgs/development/tools/build-managers/cmake/001-search-path.diff
deleted file mode 100644
index 04ab0847a70..00000000000
--- a/pkgs/development/tools/build-managers/cmake/001-search-path.diff
+++ /dev/null
@@ -1,95 +0,0 @@
-diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake
-index b9381c3d7d..5e944640b5 100644
---- a/Modules/Platform/UnixPaths.cmake
-+++ b/Modules/Platform/UnixPaths.cmake
-@@ -26,9 +26,6 @@ get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
- # please make sure to keep Help/variable/CMAKE_SYSTEM_PREFIX_PATH.rst
- # synchronized
- list(APPEND CMAKE_SYSTEM_PREFIX_PATH
--  # Standard
--  /usr/local /usr /
--
-   # CMake install location
-   "${_CMAKE_INSTALL_DIR}"
-   )
-@@ -47,48 +44,49 @@ endif()
- 
- # Non "standard" but common install prefixes
- list(APPEND CMAKE_SYSTEM_PREFIX_PATH
--  /usr/X11R6
--  /usr/pkg
--  /opt
-   )
- 
- # List common include file locations not under the common prefixes.
-+if(DEFINED ENV{NIX_CC}
-+  AND IS_DIRECTORY "$ENV{NIX_CC}"
-+  AND EXISTS "$ENV{NIX_CC}/nix-support/orig-libc"
-+  AND EXISTS "$ENV{NIX_CC}/nix-support/orig-libc-dev")
-+  file(STRINGS "$ENV{NIX_CC}/nix-support/orig-libc" _nix_cmake_libc)
-+  file(STRINGS "$ENV{NIX_CC}/nix-support/orig-libc-dev" _nix_cmake_libc_dev)
-+else()
-+  set(_nix_cmake_libc @libc_lib@)
-+  set(_nix_cmake_libc_dev @libc_dev@)
-+endif()
-+
- list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
--  # X11
--  /usr/include/X11
-+  "${_nix_cmake_libc_dev}/include"
-   )
- 
- list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
--  # X11
--  /usr/lib/X11
-+  "${_nix_cmake_libc}/lib"
-   )
- 
- list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
--  /lib /lib32 /lib64 /usr/lib /usr/lib32 /usr/lib64
-+  "${_nix_cmake_libc}/lib"
-   )
- 
--if(CMAKE_SYSROOT_COMPILE)
--  set(_cmake_sysroot_compile "${CMAKE_SYSROOT_COMPILE}")
--else()
--  set(_cmake_sysroot_compile "${CMAKE_SYSROOT}")
--endif()
--
- # Default per-language values.  These may be later replaced after
- # parsing the implicit directory information from compiler output.
- set(_CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES_INIT
-   ${CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES}
--  "${_cmake_sysroot_compile}/usr/include"
-+  "${_nix_cmake_libc_dev}/include"
-   )
- set(_CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES_INIT
-   ${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES}
--  "${_cmake_sysroot_compile}/usr/include"
-+  "${_nix_cmake_libc_dev}/include"
-   )
- set(_CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES_INIT
-   ${CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES}
--  "${_cmake_sysroot_compile}/usr/include"
-+  "${_nix_cmake_libc_dev}/include"
-   )
- 
--unset(_cmake_sysroot_compile)
-+unset(_nix_cmake_libc)
-+unset(_nix_cmake_libc_dev)
- 
- # Reminder when adding new locations computed from environment variables
- # please make sure to keep Help/variable/CMAKE_SYSTEM_PREFIX_PATH.rst
-diff --git a/Modules/Platform/WindowsPaths.cmake b/Modules/Platform/WindowsPaths.cmake
-index b9e2f17979..ab517cd4a7 100644
---- a/Modules/Platform/WindowsPaths.cmake
-+++ b/Modules/Platform/WindowsPaths.cmake
-@@ -70,7 +70,7 @@ endif()
- 
- if(CMAKE_CROSSCOMPILING AND NOT CMAKE_HOST_SYSTEM_NAME MATCHES "Windows")
-   # MinGW (useful when cross compiling from linux with CMAKE_FIND_ROOT_PATH set)
--  list(APPEND CMAKE_SYSTEM_PREFIX_PATH /)
-+  # list(APPEND CMAKE_SYSTEM_PREFIX_PATH /)
- endif()
- 
- list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
diff --git a/pkgs/development/tools/build-managers/cmake/002-application-services.diff b/pkgs/development/tools/build-managers/cmake/002-application-services.diff
deleted file mode 100644
index 56f7cd266b7..00000000000
--- a/pkgs/development/tools/build-managers/cmake/002-application-services.diff
+++ /dev/null
@@ -1,39 +0,0 @@
-diff -Naur cmake-3.25.1-old/Source/CMakeLists.txt cmake-3.25.1-new/Source/CMakeLists.txt
---- cmake-3.25.1-old/Source/CMakeLists.txt	2022-11-30 10:57:03.000000000 -0300
-+++ cmake-3.25.1-new/Source/CMakeLists.txt	2022-12-19 01:00:08.412064304 -0300
-@@ -916,7 +916,6 @@
- # On Apple we need CoreFoundation and CoreServices
- if(APPLE)
-   target_link_libraries(CMakeLib PUBLIC "-framework CoreFoundation")
--  target_link_libraries(CMakeLib PUBLIC "-framework CoreServices")
- endif()
- 
- if(WIN32 AND NOT UNIX)
-diff -Naur cmake-3.25.1-old/Source/cmGlobalXCodeGenerator.cxx cmake-3.25.1-new/Source/cmGlobalXCodeGenerator.cxx
---- cmake-3.25.1-old/Source/cmGlobalXCodeGenerator.cxx	2022-11-30 10:57:03.000000000 -0300
-+++ cmake-3.25.1-new/Source/cmGlobalXCodeGenerator.cxx	2022-12-19 01:00:56.065135169 -0300
-@@ -56,10 +56,6 @@
- 
- #if !defined(CMAKE_BOOTSTRAP) && defined(__APPLE__)
- #  include <CoreFoundation/CoreFoundation.h>
--#  if !TARGET_OS_IPHONE
--#    define HAVE_APPLICATION_SERVICES
--#    include <ApplicationServices/ApplicationServices.h>
--#  endif
- #endif
- 
- #if !defined(CMAKE_BOOTSTRAP)
-diff -Naur cmake-3.25.1-old/Utilities/cmlibarchive/CMakeLists.txt cmake-3.25.1-new/Utilities/cmlibarchive/CMakeLists.txt
---- cmake-3.25.1-old/Utilities/cmlibarchive/CMakeLists.txt	2022-11-30 10:57:03.000000000 -0300
-+++ cmake-3.25.1-new/Utilities/cmlibarchive/CMakeLists.txt	2022-12-19 01:01:43.392205981 -0300
-@@ -2041,10 +2041,6 @@
-   ADD_CUSTOM_TARGET(run_all_tests)
- ENDIF(ENABLE_TEST)
- 
--# We need CoreServices on Mac OS.
--IF(APPLE)
--  LIST(APPEND ADDITIONAL_LIBS "-framework CoreServices")
--ENDIF(APPLE)
- 
- add_subdirectory(libarchive)
- IF(0) # CMake does not build libarchive's command-line tools.
diff --git a/pkgs/development/tools/build-managers/cmake/003-libuv-application-services.diff b/pkgs/development/tools/build-managers/cmake/003-libuv-application-services.diff
deleted file mode 100644
index 6607a9c6ed1..00000000000
--- a/pkgs/development/tools/build-managers/cmake/003-libuv-application-services.diff
+++ /dev/null
@@ -1,55 +0,0 @@
-diff --git a/Utilities/cmlibuv/CMakeLists.txt b/Utilities/cmlibuv/CMakeLists.txt
-index 7625cf65d9..167903e309 100644
---- a/Utilities/cmlibuv/CMakeLists.txt
-+++ b/Utilities/cmlibuv/CMakeLists.txt
-@@ -193,6 +193,22 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
-     src/unix/kqueue.c
-     src/unix/proctitle.c
-     )
-+
-+  include(CheckIncludeFile)
-+
-+  check_include_file("ApplicationServices/ApplicationServices.h" HAVE_ApplicationServices)
-+  if (HAVE_ApplicationServices)
-+    list(APPEND uv_defines
-+      HAVE_APPLICATIONSERVICES_APPLICATIONSERVICES_H=1
-+      )
-+  endif()
-+
-+  check_include_file("CoreServices/CoreServices.h" HAVE_CoreServices)
-+  if (HAVE_CoreServices)
-+    list(APPEND uv_defines
-+      HAVE_CORESERVICES_CORESERVICES_H=1
-+      )
-+  endif()
- endif()
- 
- if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
-diff --git a/Utilities/cmlibuv/src/unix/fsevents.c b/Utilities/cmlibuv/src/unix/fsevents.c
-index a51f29b3f6..3f6bf01968 100644
---- a/Utilities/cmlibuv/src/unix/fsevents.c
-+++ b/Utilities/cmlibuv/src/unix/fsevents.c
-@@ -21,7 +21,7 @@
- #include "uv.h"
- #include "internal.h"
- 
--#if TARGET_OS_IPHONE || MAC_OS_X_VERSION_MAX_ALLOWED < 1070
-+#if !HAVE_CORESERVICES_CORESERVICES_H || MAC_OS_X_VERSION_MAX_ALLOWED < 1070
- 
- /* iOS (currently) doesn't provide the FSEvents-API (nor CoreServices) */
- /* macOS prior to 10.7 doesn't provide the full FSEvents API so use kqueue */
-@@ -39,7 +39,7 @@ int uv__fsevents_close(uv_fs_event_t* handle) {
- void uv__fsevents_loop_delete(uv_loop_t* loop) {
- }
- 
--#else /* TARGET_OS_IPHONE */
-+#else /* !HAVE_CORESERVICES_CORESERVICES_H */
- 
- #include "darwin-stub.h"
- 
-@@ -920,4 +920,4 @@ int uv__fsevents_close(uv_fs_event_t* handle) {
-   return 0;
- }
- 
--#endif /* TARGET_OS_IPHONE */
-+#endif /* !HAVE_CORESERVICES_CORESERVICES_H */
diff --git a/pkgs/development/tools/build-managers/cmake/004-cygwin.diff b/pkgs/development/tools/build-managers/cmake/004-cygwin.diff
deleted file mode 100644
index 982aba17e87..00000000000
--- a/pkgs/development/tools/build-managers/cmake/004-cygwin.diff
+++ /dev/null
@@ -1,274 +0,0 @@
---- cmake-3.2.2/Source/cmFileCommand.cxx	2015-04-13 19:09:00.000000000 +0200
-+++ cmake-3.2.2/Source/ccmFileCommand.cxx	2015-06-10 11:02:27.345598700 +0200
-@@ -1179,7 +1179,7 @@
-   MatchProperties CollectMatchProperties(const char* file)
-     {
-     // Match rules are case-insensitive on some platforms.
--#if defined(_WIN32) || defined(__APPLE__) || defined(__CYGWIN__)
-+#if defined(_WIN32) || defined(__APPLE__)
-     std::string lower = cmSystemTools::LowerCase(file);
-     const char* file_to_match = lower.c_str();
- #else
---- cmake-3.2.2/Source/cmInstallCommand.cxx	2015-04-13 19:09:00.000000000 +0200
-+++ cmake-3.2.2/Source/cmInstallCommand.cxx	2015-06-10 11:04:19.257935200 +0200
-@@ -1138,7 +1138,7 @@
-       {
-       literal_args += " REGEX \"";
-     // Match rules are case-insensitive on some platforms.
--#if defined(_WIN32) || defined(__APPLE__) || defined(__CYGWIN__)
-+#if defined(_WIN32) || defined(__APPLE__)
-       std::string regex = cmSystemTools::LowerCase(args[i]);
- #else
-       std::string regex = args[i];
---- cmake-3.2.2/Source/kwsys/Glob.cxx	2015-04-13 19:09:00.000000000 +0200
-+++ cmake-3.2.2/Source/kwsys/Glob.cxx	2015-06-10 11:05:51.602674000 +0200
-@@ -37,7 +37,7 @@
- #include <string.h>
- namespace KWSYS_NAMESPACE
- {
--#if defined(_WIN32) || defined(__APPLE__) || defined(__CYGWIN__)
-+#if defined(_WIN32) || defined(__APPLE__)
- // On Windows and apple, no difference between lower and upper case
- # define KWSYS_GLOB_CASE_INDEPENDENT
- #endif
---- cmake-3.2.2/Source/kwsys/SystemInformation.cxx	2015-04-13 19:09:00.000000000 +0200
-+++ cmake-3.2.2/Source/kwsys/SystemInformation.cxx	2015-06-10 11:13:00.308303500 +0200
-@@ -911,7 +911,7 @@
- // Hide implementation details in an anonymous namespace.
- namespace {
- // *****************************************************************************
--#if defined(__linux) || defined(__APPLE__)
-+#if defined(__linux) || defined(__APPLE__) || defined(__CYGWIN__)
- int LoadLines(
-       FILE *file,
-       kwsys_stl::vector<kwsys_stl::string> &lines)
-@@ -947,7 +947,7 @@
-   return nRead;
- }
- 
--# if defined(__linux)
-+# if defined(__linux) || defined(__CYGWIN__)
- // *****************************************************************************
- int LoadLines(
-       const char *fileName,
-@@ -986,7 +986,7 @@
- }
- #endif
- 
--#if defined(__linux)
-+#if defined(__linux) || defined(__CYGWIN__)
- // ****************************************************************************
- template<typename T>
- int GetFieldsFromFile(
-@@ -3132,7 +3132,6 @@
-     pos = buffer.find("processor\t",pos+1);
-     }
- 
--#ifdef __linux
-   // Find the largest physical id.
-   int maxId = -1;
-   kwsys_stl::string idc =
-@@ -3165,14 +3164,6 @@
-             atoi(this->ExtractValueFromCpuInfoFile(buffer,"ncpus active").c_str());
-     }
- 
--#else // __CYGWIN__
--  // does not have "physical id" entries, neither "cpu cores"
--  // this has to be fixed for hyper-threading.
--  kwsys_stl::string cpucount =
--    this->ExtractValueFromCpuInfoFile(buffer,"cpu count");
--  this->NumberOfPhysicalCPU=
--    this->NumberOfLogicalCPU = atoi(cpucount.c_str());
--#endif
-   // gotta have one, and if this is 0 then we get a / by 0n
-   // better to have a bad answer than a crash
-   if(this->NumberOfPhysicalCPU <= 0)
-@@ -3370,7 +3361,7 @@
-   GlobalMemoryStatusEx(&statex);
-   return statex.ullTotalPhys/1024;
- # endif
--#elif defined(__linux)
-+#elif defined(__linux) || defined(__CYGWIN__)
-   SystemInformation::LongLong memTotal=0;
-   int ierr=GetFieldFromFile("/proc/meminfo","MemTotal:",memTotal);
-   if (ierr)
-@@ -3501,7 +3492,7 @@
-   GlobalMemoryStatusEx(&statex);
-   return (statex.ullTotalPhys - statex.ullAvailPhys)/1024;
- # endif
--#elif defined(__linux)
-+#elif defined(__linux) || defined(__CYGWIN__)
-   const char *names[3]={"MemTotal:","MemFree:",NULL};
-   SystemInformation::LongLong values[2]={SystemInformation::LongLong(0)};
-   int ierr=GetFieldsFromFile("/proc/meminfo",names,values);
-@@ -3560,7 +3551,7 @@
-     return -2;
-     }
-   return pmc.WorkingSetSize/1024;
--#elif defined(__linux)
-+#elif defined(__linux) || defined(__CYGWIN__)
-   SystemInformation::LongLong memUsed=0;
-   int ierr=GetFieldFromFile("/proc/self/status","VmRSS:",memUsed);
-   if (ierr)
-@@ -3612,7 +3603,7 @@
- {
- #if defined(_WIN32)
-   return GetCurrentProcessId();
--#elif defined(__linux) || defined(__APPLE__)
-+#elif defined(__linux) || defined(__APPLE__) || defined(__CYGWIN__)
-   return getpid();
- #else
-   return -1;
---- cmake-3.2.2/Source/kwsys/SystemTools.cxx	2015-04-13 19:09:00.000000000 +0200
-+++ cmake-3.2.2/Source/kwsys/SystemTools.cxx	2015-06-10 11:21:58.980443200 +0200
-@@ -93,19 +93,12 @@
- # if defined(_MSC_VER) && _MSC_VER >= 1800
- #  define KWSYS_WINDOWS_DEPRECATED_GetVersionEx
- # endif
--#elif defined (__CYGWIN__)
--# include <windows.h>
--# undef _WIN32
- #endif
- 
- #if !KWSYS_CXX_HAS_ENVIRON_IN_STDLIB_H
- extern char **environ;
- #endif
- 
--#ifdef __CYGWIN__
--# include <sys/cygwin.h>
--#endif
--
- // getpwnam doesn't exist on Windows and Cray Xt3/Catamount
- // same for TIOCGWINSZ
- #if defined(_WIN32) || defined (__LIBCATAMOUNT__)
-@@ -1148,15 +1141,7 @@
-     {
-     return false;
-     }
--#if defined(__CYGWIN__)
--  // Convert filename to native windows path if possible.
--  char winpath[MAX_PATH];
--  if(SystemTools::PathCygwinToWin32(filename.c_str(), winpath))
--    {
--    return (GetFileAttributesA(winpath) != INVALID_FILE_ATTRIBUTES);
--    }
--  return access(filename.c_str(), R_OK) == 0;
--#elif defined(_WIN32)
-+#if defined(_WIN32)
-   return (GetFileAttributesW(
-             SystemTools::ConvertToWindowsExtendedPath(filename).c_str())
-           != INVALID_FILE_ATTRIBUTES);
-@@ -1190,28 +1175,6 @@
- }
- 
- //----------------------------------------------------------------------------
--#ifdef __CYGWIN__
--bool SystemTools::PathCygwinToWin32(const char *path, char *win32_path)
--{
--  SystemToolsTranslationMap::iterator i =
--    SystemTools::Cyg2Win32Map->find(path);
--
--  if (i != SystemTools::Cyg2Win32Map->end())
--    {
--    strncpy(win32_path, i->second.c_str(), MAX_PATH);
--    }
--  else
--    {
--    if(cygwin_conv_path(CCP_POSIX_TO_WIN_A, path, win32_path, MAX_PATH) != 0)
--      {
--      win32_path[0] = 0;
--      }
--    SystemToolsTranslationMap::value_type entry(path, win32_path);
--    SystemTools::Cyg2Win32Map->insert(entry);
--    }
--  return win32_path[0] != 0;
--}
--#endif
- 
- bool SystemTools::Touch(const kwsys_stl::string& filename, bool create)
- {
-@@ -4307,7 +4270,7 @@
- 
- bool SystemTools::FileIsFullPath(const char* in_name, size_t len)
- {
--#if defined(_WIN32) || defined(__CYGWIN__)
-+#if defined(_WIN32)
-   // On Windows, the name must be at least two characters long.
-   if(len < 2)
-     {
-@@ -5078,9 +5041,6 @@
- static unsigned int SystemToolsManagerCount;
- SystemToolsTranslationMap *SystemTools::TranslationMap;
- SystemToolsTranslationMap *SystemTools::LongPathMap;
--#ifdef __CYGWIN__
--SystemToolsTranslationMap *SystemTools::Cyg2Win32Map;
--#endif
- 
- // SystemToolsManager manages the SystemTools singleton.
- // SystemToolsManager should be included in any translation unit
-@@ -5126,9 +5086,6 @@
-   // Allocate the translation map first.
-   SystemTools::TranslationMap = new SystemToolsTranslationMap;
-   SystemTools::LongPathMap = new SystemToolsTranslationMap;
--#ifdef __CYGWIN__
--  SystemTools::Cyg2Win32Map = new SystemToolsTranslationMap;
--#endif
- 
-   // Add some special translation paths for unix.  These are not added
-   // for windows because drive letters need to be maintained.  Also,
-@@ -5183,9 +5140,6 @@
- {
-   delete SystemTools::TranslationMap;
-   delete SystemTools::LongPathMap;
--#ifdef __CYGWIN__
--  delete SystemTools::Cyg2Win32Map;
--#endif
- }
- 
- 
---- cmake-3.2.2/Source/kwsys/SystemTools.hxx.in	2015-04-13 19:09:00.000000000 +0200
-+++ cmake-3.2.2/Source/kwsys/SystemTools.hxx.in	2015-06-10 11:24:24.271286600 +0200
-@@ -298,15 +298,6 @@
-   static bool FileExists(const kwsys_stl::string& filename);
- 
-   /**
--   * Converts Cygwin path to Win32 path. Uses dictionary container for
--   * caching and calls to cygwin_conv_to_win32_path from Cygwin dll
--   * for actual translation.  Returns true on success, else false.
--   */
--#ifdef __CYGWIN__
--  static bool PathCygwinToWin32(const char *path, char *win32_path);
--#endif
--
--  /**
-    * Return file length
-    */
-   static unsigned long FileLength(const kwsys_stl::string& filename);
-@@ -942,9 +933,6 @@
-    */
-   static SystemToolsTranslationMap *TranslationMap;
-   static SystemToolsTranslationMap *LongPathMap;
--#ifdef __CYGWIN__
--  static SystemToolsTranslationMap *Cyg2Win32Map;
--#endif
-   friend class SystemToolsManager;
- };
- 
---- cmake-3.2.2/Modules/FindCurses.cmake	2015-04-13 19:09:00.000000000 +0200
-+++ cmake-3.2.2/Modules/FindCurses.cmake	2015-06-10 12:10:19.682030300 +0200
-@@ -60,15 +60,6 @@
- if(CURSES_NCURSES_LIBRARY  AND ((NOT CURSES_CURSES_LIBRARY) OR CURSES_NEED_NCURSES))
-   set(CURSES_USE_NCURSES TRUE)
- endif()
--# http://cygwin.com/ml/cygwin-announce/2010-01/msg00002.html
--# cygwin ncurses stopped providing curses.h symlinks see above
--# message.  Cygwin is an ncurses package, so force ncurses on
--# cygwin if the curses.h is missing
--if(CYGWIN)
--  if(NOT EXISTS /usr/include/curses.h)
--    set(CURSES_USE_NCURSES TRUE)
--  endif()
--endif()
- 
- 
- # Not sure the logic is correct here.
diff --git a/pkgs/development/tools/build-managers/cmake/005-remove-systemconfiguration-dep.diff b/pkgs/development/tools/build-managers/cmake/005-remove-systemconfiguration-dep.diff
deleted file mode 100644
index 76aa91cff92..00000000000
--- a/pkgs/development/tools/build-managers/cmake/005-remove-systemconfiguration-dep.diff
+++ /dev/null
@@ -1,67 +0,0 @@
---- a/Utilities/cmcurl/CMakeLists.txt
-+++ b/Utilities/cmcurl/CMakeLists.txt
-@@ -391,13 +391,6 @@ if(ENABLE_IPV6 AND NOT WIN32)
- 
-   if(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND NOT ENABLE_ARES)
-     set(use_core_foundation ON)
--
--    find_library(SYSTEMCONFIGURATION_FRAMEWORK "SystemConfiguration")
--    if(NOT SYSTEMCONFIGURATION_FRAMEWORK)
--      message(FATAL_ERROR "SystemConfiguration framework not found")
--    endif()
--
--    list(APPEND CURL_LIBS "-framework SystemConfiguration")
-   endif()
- endif()
- 
---- a/Utilities/cmcurl/lib/curl_setup.h
-+++ b/Utilities/cmcurl/lib/curl_setup.h
-@@ -257,11 +257,7 @@
-  * performing this task will result in a synthesized IPv6 address.
-  */
- #if defined(__APPLE__) && !defined(USE_ARES)
--#include <TargetConditionals.h>
- #define USE_RESOLVE_ON_IPS 1
--#  if defined(TARGET_OS_OSX) && TARGET_OS_OSX
--#    define CURL_OSX_CALL_COPYPROXIES 1
--#  endif
- #endif
- 
- #ifdef USE_LWIPSOCK
---- a/Utilities/cmcurl/lib/hostip.c
-+++ b/Utilities/cmcurl/lib/hostip.c
-@@ -68,10 +68,6 @@
- #include "curl_memory.h"
- #include "memdebug.h"
- 
--#if defined(ENABLE_IPV6) && defined(CURL_OSX_CALL_COPYPROXIES)
--#include <SystemConfiguration/SCDynamicStoreCopySpecific.h>
--#endif
--
- #if defined(CURLRES_SYNCH) && \
-     defined(HAVE_ALARM) && defined(SIGALRM) && defined(HAVE_SIGSETJMP)
- /* alarm-based timeouts can only be used with all the dependencies satisfied */
-@@ -661,23 +657,6 @@ enum resolve_t Curl_resolv(struct Curl_easy *data,
-         return CURLRESOLV_ERROR;
-     }
- 
--#if defined(ENABLE_IPV6) && defined(CURL_OSX_CALL_COPYPROXIES)
--    {
--      /*
--       * The automagic conversion from IPv4 literals to IPv6 literals only
--       * works if the SCDynamicStoreCopyProxies system function gets called
--       * first. As Curl currently doesn't support system-wide HTTP proxies, we
--       * therefore don't use any value this function might return.
--       *
--       * This function is only available on a macOS and is not needed for
--       * IPv4-only builds, hence the conditions above.
--       */
--      CFDictionaryRef dict = SCDynamicStoreCopyProxies(NULL);
--      if(dict)
--        CFRelease(dict);
--    }
--#endif
--
- #ifndef USE_RESOLVE_ON_IPS
-     /* First check if this is an IPv4 address string */
-     if(Curl_inet_pton(AF_INET, hostname, &in) > 0)
diff --git a/pkgs/development/tools/build-managers/cmake/006-darwin-always-set-runtime-c-flag.diff b/pkgs/development/tools/build-managers/cmake/006-darwin-always-set-runtime-c-flag.diff
deleted file mode 100644
index dc10e6b3423..00000000000
--- a/pkgs/development/tools/build-managers/cmake/006-darwin-always-set-runtime-c-flag.diff
+++ /dev/null
@@ -1,14 +0,0 @@
-Revert of commit 1af23c4de2c7d58c06171d70b37794b5c860d5f4.
---- b/Modules/Platform/Darwin.cmake
-+++ a/Modules/Platform/Darwin.cmake
-@@ -47,9 +47,7 @@
- set(CMAKE_SHARED_MODULE_SUFFIX ".so")
- set(CMAKE_MODULE_EXISTS 1)
- set(CMAKE_DL_LIBS "")
-+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
--if(NOT "${_CURRENT_OSX_VERSION}" VERSION_LESS "10.5")
--  set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
--endif()
- 
- foreach(lang C CXX OBJC OBJCXX)
-   set(CMAKE_${lang}_OSX_COMPATIBILITY_VERSION_FLAG "-compatibility_version ")
diff --git a/pkgs/development/tools/build-managers/cmake/check-pc-files-hook.sh b/pkgs/development/tools/build-managers/cmake/check-pc-files-hook.sh
deleted file mode 100644
index 94d1b7b5355..00000000000
--- a/pkgs/development/tools/build-managers/cmake/check-pc-files-hook.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-cmakePcfileCheckPhase() {
-    while IFS= read -rd $'\0' file; do
-        grepout=$(grep --line-number '}//nix/store' "$file" || true)
-        if [ -n "$grepout" ]; then
-            {
-            echo "Broken paths found in a .pc file! $file"
-            echo "The following lines have issues (specifically '//' in paths)."
-            echo "$grepout"
-            echo "It is very likely that paths are being joined improperly."
-            echo 'ex: "${prefix}/@CMAKE_INSTALL_LIBDIR@" should be "@CMAKE_INSTALL_FULL_LIBDIR@"'
-            echo "Please see https://github.com/NixOS/nixpkgs/issues/144170 for more details."
-            exit 1
-            } 1>&2
-        fi
-    done < <(find "${!outputDev}" -iname "*.pc" -print0)
-}
-
-postFixupHooks+=(cmakePcfileCheckPhase)
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
deleted file mode 100644
index 00715130a00..00000000000
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ /dev/null
@@ -1,173 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, buildPackages
-, bzip2
-, curlMinimal
-, expat
-, libarchive
-, libuv
-, ncurses
-, openssl
-, pkg-config
-, ps
-, rhash
-, sphinx
-, texinfo
-, xz
-, zlib
-, isBootstrap ? false
-, useOpenSSL ? !isBootstrap
-, useSharedLibraries ? (!isBootstrap && !stdenv.isCygwin)
-, uiToolkits ? [] # can contain "ncurses" and/or "qt5"
-, buildDocs ? !(isBootstrap || (uiToolkits == []))
-, darwin
-, libsForQt5
-}:
-
-let
-  inherit (darwin.apple_sdk.frameworks) SystemConfiguration;
-  inherit (libsForQt5) qtbase wrapQtAppsHook;
-  cursesUI = lib.elem "ncurses" uiToolkits;
-  qt5UI = lib.elem "qt5" uiToolkits;
-in
-# Accepts only "ncurses" and "qt5" as possible uiToolkits
-assert lib.subtractLists [ "ncurses" "qt5" ] uiToolkits == [];
-# Minimal, bootstrap cmake does not have toolkits
-assert isBootstrap -> (uiToolkits == []);
-stdenv.mkDerivation (finalAttrs: {
-  pname = "cmake"
-    + lib.optionalString isBootstrap "-boot"
-    + lib.optionalString cursesUI "-cursesUI"
-    + lib.optionalString qt5UI "-qt5UI";
-  version = "3.26.4";
-
-  src = fetchurl {
-    url = "https://cmake.org/files/v${lib.versions.majorMinor finalAttrs.version}/cmake-${finalAttrs.version}.tar.gz";
-    hash = "sha256-MTtogMKRvU/jHAqlHW5iZZKCpSHmlfMNXMDSWrvVwgg=";
-  };
-
-  patches = [
-    # Don't search in non-Nix locations such as /usr, but do search in our libc.
-    ./001-search-path.diff
-    # Don't depend on frameworks.
-    ./002-application-services.diff
-    # Derived from https://github.com/libuv/libuv/commit/1a5d4f08238dd532c3718e210078de1186a5920d
-    ./003-libuv-application-services.diff
-  ]
-  ++ lib.optional stdenv.isCygwin ./004-cygwin.diff
-  # Derived from https://github.com/curl/curl/commit/31f631a142d855f069242f3e0c643beec25d1b51
-  ++ lib.optional (stdenv.isDarwin && isBootstrap) ./005-remove-systemconfiguration-dep.diff
-  # On Darwin, always set CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG.
-  ++ lib.optional stdenv.isDarwin ./006-darwin-always-set-runtime-c-flag.diff;
-
-  outputs = [ "out" ] ++ lib.optionals buildDocs [ "man" "info" ];
-  setOutputFlags = false;
-
-  setupHooks = [
-    ./setup-hook.sh
-    ./check-pc-files-hook.sh
-  ];
-
-  depsBuildBuild = [ buildPackages.stdenv.cc ];
-
-  nativeBuildInputs = finalAttrs.setupHooks ++ [
-    pkg-config
-  ]
-  ++ lib.optionals buildDocs [ texinfo ]
-  ++ lib.optionals qt5UI [ wrapQtAppsHook ];
-
-  buildInputs = lib.optionals useSharedLibraries [
-    bzip2
-    curlMinimal
-    expat
-    libarchive
-    xz
-    zlib
-    libuv
-    rhash
-  ]
-  ++ lib.optional useOpenSSL openssl
-  ++ lib.optional cursesUI ncurses
-  ++ lib.optional qt5UI qtbase
-  ++ lib.optional (stdenv.isDarwin && !isBootstrap) SystemConfiguration;
-
-  propagatedBuildInputs = lib.optional stdenv.isDarwin ps;
-
-  preConfigure = ''
-    fixCmakeFiles .
-    substituteInPlace Modules/Platform/UnixPaths.cmake \
-      --subst-var-by libc_bin ${lib.getBin stdenv.cc.libc} \
-      --subst-var-by libc_dev ${lib.getDev stdenv.cc.libc} \
-      --subst-var-by libc_lib ${lib.getLib stdenv.cc.libc}
-    # CC_FOR_BUILD and CXX_FOR_BUILD are used to bootstrap cmake
-    configureFlags="--parallel=''${NIX_BUILD_CORES:-1} CC=$CC_FOR_BUILD CXX=$CXX_FOR_BUILD $configureFlags"
-  '';
-
-  configureFlags = [
-    "CXXFLAGS=-Wno-elaborated-enum-base"
-    "--docdir=share/doc/${finalAttrs.pname}-${finalAttrs.version}"
-  ] ++ (if useSharedLibraries
-        then [ "--no-system-jsoncpp" "--system-libs" ]
-        else [ "--no-system-libs" ]) # FIXME: cleanup
-  ++ lib.optional qt5UI "--qt-gui"
-  ++ lib.optionals buildDocs [
-    "--sphinx-build=${sphinx}/bin/sphinx-build"
-    "--sphinx-info"
-    "--sphinx-man"
-  ]
-  # Workaround https://gitlab.kitware.com/cmake/cmake/-/issues/20568
-  ++ lib.optionals stdenv.hostPlatform.is32bit [
-    "CFLAGS=-D_FILE_OFFSET_BITS=64"
-    "CXXFLAGS=-D_FILE_OFFSET_BITS=64"
-  ]
-  ++ [
-    "--"
-    # We should set the proper `CMAKE_SYSTEM_NAME`.
-    # http://www.cmake.org/Wiki/CMake_Cross_Compiling
-    #
-    # Unfortunately cmake seems to expect absolute paths for ar, ranlib, and
-    # strip. Otherwise they are taken to be relative to the source root of the
-    # package being built.
-    "-DCMAKE_CXX_COMPILER=${stdenv.cc.targetPrefix}c++"
-    "-DCMAKE_C_COMPILER=${stdenv.cc.targetPrefix}cc"
-    "-DCMAKE_AR=${lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ar"
-    "-DCMAKE_RANLIB=${lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ranlib"
-    "-DCMAKE_STRIP=${lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}strip"
-
-    "-DCMAKE_USE_OPENSSL=${if useOpenSSL then "ON" else "OFF"}"
-    # Avoid depending on frameworks.
-    "-DBUILD_CursesDialog=${if cursesUI then "ON" else "OFF"}"
-  ];
-
-  # make install attempts to use the just-built cmake
-  preInstall = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
-    sed -i 's|bin/cmake|${buildPackages.cmakeMinimal}/bin/cmake|g' Makefile
-  '';
-
-  dontUseCmakeConfigure = true;
-  enableParallelBuilding = true;
-
-  # This isn't an autoconf configure script; triples are passed via
-  # CMAKE_SYSTEM_NAME, etc.
-  configurePlatforms = [ ];
-
-  doCheck = false; # fails
-
-  meta = {
-    homepage = "https://cmake.org/";
-    description = "Cross-platform, open-source build system generator";
-    longDescription = ''
-      CMake is an open-source, cross-platform family of tools designed to build,
-      test and package software. CMake is used to control the software
-      compilation process using simple platform and compiler independent
-      configuration files, and generate native makefiles and workspaces that can
-      be used in the compiler environment of your choice.
-    '';
-    changelog = "https://cmake.org/cmake/help/v${lib.versions.majorMinor finalAttrs.version}/release/${lib.versions.majorMinor finalAttrs.version}.html";
-    license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ ttuegel lnl7 AndersonTorres ];
-    platforms = lib.platforms.all;
-    broken = (qt5UI && stdenv.isDarwin);
-  };
-})
diff --git a/pkgs/development/tools/build-managers/cmake/setup-hook.sh b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
deleted file mode 100755
index b28ed42b689..00000000000
--- a/pkgs/development/tools/build-managers/cmake/setup-hook.sh
+++ /dev/null
@@ -1,184 +0,0 @@
-addCMakeParams() {
-    addToSearchPath CMAKE_PREFIX_PATH $1
-}
-
-fixCmakeFiles() {
-    # Replace occurences of /usr and /opt by /var/empty.
-    echo "fixing cmake files..."
-    find "$1" \( -type f -name "*.cmake" -o -name "*.cmake.in" -o -name CMakeLists.txt \) -print |
-        while read fn; do
-            sed -e 's^/usr\([ /]\|$\)^/var/empty\1^g' -e 's^/opt\([ /]\|$\)^/var/empty\1^g' < "$fn" > "$fn.tmp"
-            mv "$fn.tmp" "$fn"
-        done
-}
-
-cmakeConfigurePhase() {
-    runHook preConfigure
-
-    # default to CMake defaults if unset
-    : ${cmakeBuildDir:=build}
-
-    export CTEST_OUTPUT_ON_FAILURE=1
-    if [ -n "${enableParallelChecking-1}" ]; then
-        export CTEST_PARALLEL_LEVEL=$NIX_BUILD_CORES
-    fi
-
-    if [ -z "${dontFixCmake-}" ]; then
-        fixCmakeFiles .
-    fi
-
-    if [ -z "${dontUseCmakeBuildDir-}" ]; then
-        mkdir -p "$cmakeBuildDir"
-        cd "$cmakeBuildDir"
-        : ${cmakeDir:=..}
-    else
-        : ${cmakeDir:=.}
-    fi
-
-    if [ -z "${dontAddPrefix-}" ]; then
-        cmakeFlags="-DCMAKE_INSTALL_PREFIX=$prefix $cmakeFlags"
-    fi
-
-    # We should set the proper `CMAKE_SYSTEM_NAME`.
-    # http://www.cmake.org/Wiki/CMake_Cross_Compiling
-    #
-    # Unfortunately cmake seems to expect absolute paths for ar, ranlib, and
-    # strip. Otherwise they are taken to be relative to the source root of the
-    # package being built.
-    cmakeFlags="-DCMAKE_CXX_COMPILER=$CXX $cmakeFlags"
-    cmakeFlags="-DCMAKE_C_COMPILER=$CC $cmakeFlags"
-    cmakeFlags="-DCMAKE_AR=$(command -v $AR) $cmakeFlags"
-    cmakeFlags="-DCMAKE_RANLIB=$(command -v $RANLIB) $cmakeFlags"
-    cmakeFlags="-DCMAKE_STRIP=$(command -v $STRIP) $cmakeFlags"
-
-    # on macOS we want to prefer Unix-style headers to Frameworks
-    # because we usually do not package the framework
-    cmakeFlags="-DCMAKE_FIND_FRAMEWORK=LAST $cmakeFlags"
-
-    # we never want to use the global macOS SDK
-    cmakeFlags="-DCMAKE_OSX_SYSROOT= $cmakeFlags"
-
-    # correctly detect our clang compiler
-    cmakeFlags="-DCMAKE_POLICY_DEFAULT_CMP0025=NEW $cmakeFlags"
-
-    # This installs shared libraries with a fully-specified install
-    # name. By default, cmake installs shared libraries with just the
-    # basename as the install name, which means that, on Darwin, they
-    # can only be found by an executable at runtime if the shared
-    # libraries are in a system path or in the same directory as the
-    # executable. This flag makes the shared library accessible from its
-    # nix/store directory.
-    cmakeFlags="-DCMAKE_INSTALL_NAME_DIR=${!outputLib}/lib $cmakeFlags"
-
-    # The docdir flag needs to include PROJECT_NAME as per GNU guidelines,
-    # try to extract it from CMakeLists.txt.
-    if [[ -z "$shareDocName" ]]; then
-        local cmakeLists="${cmakeDir}/CMakeLists.txt"
-        if [[ -f "$cmakeLists" ]]; then
-            local shareDocName="$(grep --only-matching --perl-regexp --ignore-case '\bproject\s*\(\s*"?\K([^[:space:]")]+)' < "$cmakeLists" | head -n1)"
-        fi
-        # The argument sometimes contains garbage or variable interpolation.
-        # When that is the case, let’s fall back to the derivation name.
-        if [[ -z "$shareDocName" ]] || echo "$shareDocName" | grep -q '[^a-zA-Z0-9_+-]'; then
-            if [[ -n "${pname-}" ]]; then
-                shareDocName="$pname"
-            else
-                shareDocName="$(echo "$name" | sed 's/-[^a-zA-Z].*//')"
-            fi
-        fi
-    fi
-
-    # This ensures correct paths with multiple output derivations
-    # It requires the project to use variables from GNUInstallDirs module
-    # https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html
-    cmakeFlags="-DCMAKE_INSTALL_BINDIR=${!outputBin}/bin $cmakeFlags"
-    cmakeFlags="-DCMAKE_INSTALL_SBINDIR=${!outputBin}/sbin $cmakeFlags"
-    cmakeFlags="-DCMAKE_INSTALL_INCLUDEDIR=${!outputInclude}/include $cmakeFlags"
-    cmakeFlags="-DCMAKE_INSTALL_OLDINCLUDEDIR=${!outputInclude}/include $cmakeFlags"
-    cmakeFlags="-DCMAKE_INSTALL_MANDIR=${!outputMan}/share/man $cmakeFlags"
-    cmakeFlags="-DCMAKE_INSTALL_INFODIR=${!outputInfo}/share/info $cmakeFlags"
-    cmakeFlags="-DCMAKE_INSTALL_DOCDIR=${!outputDoc}/share/doc/${shareDocName} $cmakeFlags"
-    cmakeFlags="-DCMAKE_INSTALL_LIBDIR=${!outputLib}/lib $cmakeFlags"
-    cmakeFlags="-DCMAKE_INSTALL_LIBEXECDIR=${!outputLib}/libexec $cmakeFlags"
-    cmakeFlags="-DCMAKE_INSTALL_LOCALEDIR=${!outputLib}/share/locale $cmakeFlags"
-
-    # Don’t build tests when doCheck = false
-    if [ -z "${doCheck-}" ]; then
-        cmakeFlags="-DBUILD_TESTING=OFF $cmakeFlags"
-    fi
-
-    # Always build Release, to ensure optimisation flags
-    cmakeFlags="-DCMAKE_BUILD_TYPE=${cmakeBuildType:-Release} $cmakeFlags"
-
-    # Disable user package registry to avoid potential side effects
-    # and unecessary attempts to access non-existent home folder
-    # https://cmake.org/cmake/help/latest/manual/cmake-packages.7.html#disabling-the-package-registry
-    cmakeFlags="-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON $cmakeFlags"
-    cmakeFlags="-DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF $cmakeFlags"
-    cmakeFlags="-DCMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY=OFF $cmakeFlags"
-
-    if [ "${buildPhase-}" = ninjaBuildPhase ]; then
-        cmakeFlags="-GNinja $cmakeFlags"
-    fi
-
-    echo "cmake flags: $cmakeFlags ${cmakeFlagsArray[@]}"
-
-    cmake "$cmakeDir" $cmakeFlags "${cmakeFlagsArray[@]}"
-
-    if ! [[ -v enableParallelBuilding ]]; then
-        enableParallelBuilding=1
-        echo "cmake: enabled parallel building"
-    fi
-
-    if ! [[ -v enableParallelInstalling ]]; then
-        enableParallelInstalling=1
-        echo "cmake: enabled parallel installing"
-    fi
-
-    runHook postConfigure
-}
-
-if [ -z "${dontUseCmakeConfigure-}" -a -z "${configurePhase-}" ]; then
-    setOutputFlags=
-    configurePhase=cmakeConfigurePhase
-fi
-
-addEnvHooks "$targetOffset" addCMakeParams
-
-makeCmakeFindLibs(){
-  isystem_seen=
-  iframework_seen=
-  for flag in ${NIX_CFLAGS_COMPILE-} ${NIX_LDFLAGS-}; do
-    if test -n "$isystem_seen" && test -d "$flag"; then
-      isystem_seen=
-      export CMAKE_INCLUDE_PATH="${CMAKE_INCLUDE_PATH-}${CMAKE_INCLUDE_PATH:+:}${flag}"
-    elif test -n "$iframework_seen" && test -d "$flag"; then
-      iframework_seen=
-      export CMAKE_FRAMEWORK_PATH="${CMAKE_FRAMEWORK_PATH-}${CMAKE_FRAMEWORK_PATH:+:}${flag}"
-    else
-      isystem_seen=
-      iframework_seen=
-      case $flag in
-        -I*)
-          export CMAKE_INCLUDE_PATH="${CMAKE_INCLUDE_PATH-}${CMAKE_INCLUDE_PATH:+:}${flag:2}"
-          ;;
-        -L*)
-          export CMAKE_LIBRARY_PATH="${CMAKE_LIBRARY_PATH-}${CMAKE_LIBRARY_PATH:+:}${flag:2}"
-          ;;
-        -F*)
-          export CMAKE_FRAMEWORK_PATH="${CMAKE_FRAMEWORK_PATH-}${CMAKE_FRAMEWORK_PATH:+:}${flag:2}"
-          ;;
-        -isystem)
-          isystem_seen=1
-          ;;
-        -iframework)
-          iframework_seen=1
-          ;;
-      esac
-    fi
-  done
-}
-
-# not using setupHook, because it could be a setupHook adding additional
-# include flags to NIX_CFLAGS_COMPILE
-postHooks+=(makeCmakeFindLibs)
diff --git a/pkgs/development/tools/build-managers/corrosion/default.nix b/pkgs/development/tools/build-managers/corrosion/default.nix
index 97b967d4a2b..b6bce326a37 100644
--- a/pkgs/development/tools/build-managers/corrosion/default.nix
+++ b/pkgs/development/tools/build-managers/corrosion/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "corrosion";
-  version = "0.4.3";
+  version = "0.4.4";
 
   src = fetchFromGitHub {
     owner = "corrosion-rs";
     repo = "corrosion";
     rev = "v${version}";
-    hash = "sha256-Bvx4Jvd/l1EHB3eoBEizuT4Lou4Ev+CPA7D7iWIe+No=";
+    hash = "sha256-4psd9dHqYDqexUYkib057YUEwSQssBz6HF5vv2NV2Fo=";
   };
 
   cargoRoot = "generator";
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     inherit src;
     sourceRoot = "${src.name}/${cargoRoot}";
     name = "${pname}-${version}";
-    hash = "sha256-0n45edWVSaYQS+S0H4p55d+ZgD6liHn6iBd3qCtjAh8=";
+    hash = "sha256-dpLENGY6PFV7WheVcEjuWPLLCMy+voSSCMOs9P9Jjpw=";
   };
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
diff --git a/pkgs/development/tools/build-managers/goredo/default.nix b/pkgs/development/tools/build-managers/goredo/default.nix
index 9284aae220e..e1c2b402df6 100644
--- a/pkgs/development/tools/build-managers/goredo/default.nix
+++ b/pkgs/development/tools/build-managers/goredo/default.nix
@@ -9,11 +9,11 @@
 
 buildGoModule rec {
   pname = "goredo";
-  version = "1.30.0";
+  version = "1.31.0";
 
   src = fetchurl {
     url = "http://www.goredo.cypherpunks.ru/download/${pname}-${version}.tar.zst";
-    hash = "sha256-glsg2q8jFd4z6CuKzlZ3afJx/S7Aw6LCxFAS/uHLlUg=";
+    hash = "sha256-z7u71VFMoq4VwHohMnYx/ahBSkRZHoI8MZet9gO+XVw=";
   };
 
   patches = [ ./fix-tests.diff ];
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index b0b5e10729b..9da89e890ce 100644
--- a/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/pkgs/development/tools/build-managers/gradle/default.nix
@@ -128,16 +128,16 @@ rec {
   # https://docs.gradle.org/current/userguide/compatibility.html
 
   gradle_8 = gen {
-    version = "8.3";
-    nativeVersion = "0.22-milestone-24";
-    sha256 = "09cjyss4bcnig1wzhxpwyn4kznkawzaha7fy0jg5nqzw2ysma62r";
+    version = "8.4";
+    nativeVersion = "0.22-milestone-25";
+    sha256 = "1bkjxw7i0lm17pdyyvka4xpl6z0cdj0izagphync6839i2pg66iy";
     defaultJava = jdk17;
   };
 
   gradle_7 = gen {
-    version = "7.6.2";
-    nativeVersion = "0.22-milestone-24";
-    sha256 = "1b7riri2ysr1bvfskmmb8phfx8c2b719kqhf189fvrszw63na6x0";
+    version = "7.6.3";
+    nativeVersion = "0.22-milestone-25";
+    sha256 = "1b6gk0yiyvf86vigd05mz7ryqs8yrpswk9bmpwrnqcp45r3jw33l";
     defaultJava = jdk17;
   };
 
diff --git a/pkgs/development/tools/build-managers/meson/boost-Do-not-add-system-paths-on-nix.patch b/pkgs/development/tools/build-managers/meson/boost-Do-not-add-system-paths-on-nix.patch
deleted file mode 100644
index 0a2eda9de9a..00000000000
--- a/pkgs/development/tools/build-managers/meson/boost-Do-not-add-system-paths-on-nix.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -Naur meson-0.60.2-old/mesonbuild/dependencies/boost.py meson-0.60.2-new/mesonbuild/dependencies/boost.py
---- meson-0.60.2-old/mesonbuild/dependencies/boost.py	2021-11-02 16:58:07.000000000 -0300
-+++ meson-0.60.2-new/mesonbuild/dependencies/boost.py	2021-12-12 19:21:27.895705897 -0300
-@@ -682,16 +682,7 @@
-         else:
-             tmp = []  # type: T.List[Path]
- 
--            # Add some default system paths
--            tmp += [Path('/opt/local')]
--            tmp += [Path('/usr/local/opt/boost')]
--            tmp += [Path('/usr/local')]
--            tmp += [Path('/usr')]
--
--            # Cleanup paths
--            tmp = [x for x in tmp if x.is_dir()]
--            tmp = [x.resolve() for x in tmp]
--            roots += tmp
-+            # Remove such spurious, non-explicit "system" paths for Nix&Nixpkgs
- 
-         self.check_and_set_roots(roots, use_system=True)
- 
diff --git a/pkgs/development/tools/build-managers/meson/clear-old-rpath.patch b/pkgs/development/tools/build-managers/meson/clear-old-rpath.patch
deleted file mode 100644
index f1e3c76e8b5..00000000000
--- a/pkgs/development/tools/build-managers/meson/clear-old-rpath.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/mesonbuild/scripts/depfixer.py b/mesonbuild/scripts/depfixer.py
-index 4176b9a03..faaabf616 100644
---- a/mesonbuild/scripts/depfixer.py
-+++ b/mesonbuild/scripts/depfixer.py
-@@ -336,6 +336,15 @@ class Elf(DataSizes):
-         if not new_rpath:
-             self.remove_rpath_entry(entrynum)
-         else:
-+            # Clear old rpath to avoid stale references,
-+            # not heeding the warning above about de-duplication
-+            # since it does not seem to cause issues for us
-+            # and not doing so trips up Nix’s reference checker.
-+            # See https://github.com/NixOS/nixpkgs/pull/46020
-+            # and https://github.com/NixOS/nixpkgs/issues/95163
-+            self.bf.seek(rp_off)
-+            self.bf.write(b'\0'*len(old_rpath))
-+
-             self.bf.seek(rp_off)
-             self.bf.write(new_rpath)
-             self.bf.write(b'\0')
diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix
deleted file mode 100644
index 52220c4d0b9..00000000000
--- a/pkgs/development/tools/build-managers/meson/default.nix
+++ /dev/null
@@ -1,173 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, fetchpatch
-, installShellFiles
-, rust
-, ninja
-, pkg-config
-, python3
-, zlib
-, coreutils
-, substituteAll
-, Foundation
-, OpenGL
-, AppKit
-, Cocoa
-, libxcrypt
-}:
-
-python3.pkgs.buildPythonApplication rec {
-  pname = "meson";
-  version = "1.2.0";
-
-  src = fetchFromGitHub {
-    owner = "mesonbuild";
-    repo = "meson";
-    rev = "refs/tags/${version}";
-    hash = "sha256-bJAmkE+sL9DqKpcjZdBf4/z9lz+m/o0Z87hlAwbVbTY=";
-  };
-
-  patches = [
-    # Meson is currently inspecting fewer variables than autoconf does, which
-    # makes it harder for us to use setup hooks, etc.  Taken from
-    # https://github.com/mesonbuild/meson/pull/6827
-    ./more-env-vars.patch
-
-    # Unlike libtool, vanilla Meson does not pass any information
-    # about the path library will be installed to to g-ir-scanner,
-    # breaking the GIR when path other than ${!outputLib}/lib is used.
-    # We patch Meson to add a --fallback-library-path argument with
-    # library install_dir to g-ir-scanner.
-    ./gir-fallback-path.patch
-
-    # In common distributions, RPATH is only needed for internal libraries so
-    # meson removes everything else. With Nix, the locations of libraries
-    # are not as predictable, therefore we need to keep them in the RPATH.
-    # At the moment we are keeping the paths starting with /nix/store.
-    # https://github.com/NixOS/nixpkgs/issues/31222#issuecomment-365811634
-    (substituteAll {
-      src = ./fix-rpath.patch;
-      inherit (builtins) storeDir;
-    })
-
-    # When Meson removes build_rpath from DT_RUNPATH entry, it just writes
-    # the shorter NUL-terminated new rpath over the old one to reduce
-    # the risk of potentially breaking the ELF files.
-    # But this can cause much bigger problem for Nix as it can produce
-    # cut-in-half-by-\0 store path references.
-    # Let’s just clear the whole rpath and hope for the best.
-    ./clear-old-rpath.patch
-
-    # Patch out default boost search paths to avoid impure builds on
-    # unsandboxed non-NixOS builds, see:
-    # https://github.com/NixOS/nixpkgs/issues/86131#issuecomment-711051774
-    ./boost-Do-not-add-system-paths-on-nix.patch
-
-    # Nixpkgs cctools does not have bitcode support.
-    ./disable-bitcode.patch
-
-    # Fix passing multiple --define-variable arguments to pkg-config.
-    # https://github.com/mesonbuild/meson/pull/10670
-    (fetchpatch {
-      url = "https://github.com/mesonbuild/meson/commit/d5252c5d4cf1c1931fef0c1c98dd66c000891d21.patch";
-      sha256 = "GiUNVul1N5Fl8mfqM7vA/r1FdKqImiDYLXMVDt77gvw=";
-      excludes = [
-        "docs/yaml/objects/dep.yaml"
-      ];
-    })
-  ];
-
-  cpuFamily = with stdenv.targetPlatform;
-    /**/ if isAarch32 then "arm"
-    else if isx86_32  then "x86"
-    else uname.processor;
-
-  crossFile = if stdenv.hostPlatform == stdenv.targetPlatform then null else
-    builtins.toFile "cross-file.conf" ''
-      [properties]
-      needs_exe_wrapper = ${lib.boolToString (!stdenv.hostPlatform.canExecute stdenv.targetPlatform)}
-
-      [host_machine]
-      system = '${stdenv.targetPlatform.parsed.kernel.name}'
-      cpu_family = '${cpuFamily}'
-      cpu = '${stdenv.targetPlatform.parsed.cpu.name}'
-      endian = ${if stdenv.targetPlatform.isLittleEndian then "'little'" else "'big'"}
-
-      [binaries]
-      llvm-config = 'llvm-config-native'
-      rust = ['rustc', '--target=${rust.toRustTargetSpec stdenv.targetPlatform}']
-    '';
-
-  setupHook = substituteAll {
-    src = ./setup-hook.sh;
-    crossFlags = lib.optionalString (crossFile != null) "--cross-file=${crossFile}";
-  };
-
-  nativeCheckInputs = [ ninja pkg-config ];
-  checkInputs = [ zlib ]
-    ++ lib.optionals stdenv.isDarwin [ Foundation OpenGL AppKit Cocoa ];
-  checkPhase = ''
-    runHook preCheck
-
-    patchShebangs 'test cases'
-    substituteInPlace 'test cases/native/8 external program shebang parsing/script.int.in' \
-      --replace /usr/bin/env ${coreutils}/bin/env
-    # requires git, creating cyclic dependency
-    rm -r 'test cases/common/66 vcstag'
-    # requires glib, creating cyclic dependency
-    rm -r 'test cases/linuxlike/6 subdir include order'
-    rm -r 'test cases/linuxlike/9 compiler checks with dependencies'
-    # requires static zlib, see #66461
-    rm -r 'test cases/linuxlike/14 static dynamic linkage'
-    # Nixpkgs cctools does not have bitcode support.
-    rm -r 'test cases/osx/7 bitcode'
-    HOME="$TMPDIR" python ./run_project_tests.py
-
-    runHook postCheck
-  '';
-
-  postFixup = ''
-    pushd $out/bin
-    # undo shell wrapper as meson tools are called with python
-    for i in *; do
-      mv ".$i-wrapped" "$i"
-    done
-    popd
-
-    # Do not propagate Python
-    rm $out/nix-support/propagated-build-inputs
-
-    substituteInPlace "$out/share/bash-completion/completions/meson" \
-      --replace "python3 -c " "${python3.interpreter} -c "
-  '';
-
-  buildInputs = lib.optionals (python3.pythonOlder "3.9") [
-    libxcrypt
-  ];
-
-  nativeBuildInputs = [ installShellFiles ];
-
-  postInstall = ''
-    installShellCompletion --zsh data/shell-completions/zsh/_meson
-    installShellCompletion --bash data/shell-completions/bash/meson
-  '';
-
-  meta = with lib; {
-    homepage = "https://mesonbuild.com";
-    description = "An open source, fast and friendly build system made in Python";
-    longDescription = ''
-      Meson is an open source build system meant to be both extremely fast, and,
-      even more importantly, as user friendly as possible.
-
-      The main design point of Meson is that every moment a developer spends
-      writing or debugging build definitions is a second wasted. So is every
-      second spent waiting for the build system to actually start compiling
-      code.
-    '';
-    license = licenses.asl20;
-    maintainers = with maintainers; [ mbe AndersonTorres ];
-    inherit (python3.meta) platforms;
-  };
-}
-# TODO: a more Nixpkgs-tailoired test suite
diff --git a/pkgs/development/tools/build-managers/meson/disable-bitcode.patch b/pkgs/development/tools/build-managers/meson/disable-bitcode.patch
deleted file mode 100644
index a72997c1043..00000000000
--- a/pkgs/development/tools/build-managers/meson/disable-bitcode.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- a/mesonbuild/compilers/mixins/clang.py
-+++ b/mesonbuild/compilers/mixins/clang.py
-@@ -56,10 +56,6 @@ class ClangCompiler(GnuLikeCompiler):
-             {OptionKey('b_colorout'), OptionKey('b_lto_threads'), OptionKey('b_lto_mode'), OptionKey('b_thinlto_cache'),
-              OptionKey('b_thinlto_cache_dir')})
- 
--        # TODO: this really should be part of the linker base_options, but
--        # linkers don't have base_options.
--        if isinstance(self.linker, AppleDynamicLinker):
--            self.base_options.add(OptionKey('b_bitcode'))
-         # All Clang backends can also do LLVM IR
-         self.can_compile_suffixes.add('ll')
- 
---- a/mesonbuild/linkers/linkers.py
-+++ b/mesonbuild/linkers/linkers.py
-@@ -785,7 +785,7 @@ class AppleDynamicLinker(PosixDynamicLinkerMixin, DynamicLinker):
-         return self._apply_prefix('-headerpad_max_install_names')
- 
-     def bitcode_args(self) -> T.List[str]:
--        return self._apply_prefix('-bitcode_bundle')
-+        raise MesonException('Nixpkgs cctools does not support bitcode bundles')
- 
-     def fatal_warnings(self) -> T.List[str]:
-         return self._apply_prefix('-fatal_warnings')
diff --git a/pkgs/development/tools/build-managers/meson/emulator-hook.sh b/pkgs/development/tools/build-managers/meson/emulator-hook.sh
deleted file mode 100644
index 4f08087cf5f..00000000000
--- a/pkgs/development/tools/build-managers/meson/emulator-hook.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-add_meson_exe_wrapper_cross_flag() {
-  mesonFlagsArray+=(--cross-file=@crossFile@)
-}
-
-preConfigureHooks+=(add_meson_exe_wrapper_cross_flag)
diff --git a/pkgs/development/tools/build-managers/meson/fix-rpath.patch b/pkgs/development/tools/build-managers/meson/fix-rpath.patch
deleted file mode 100644
index 29bec7903ca..00000000000
--- a/pkgs/development/tools/build-managers/meson/fix-rpath.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- a/mesonbuild/backend/backends.py
-+++ b/mesonbuild/backend/backends.py
-@@ -723,6 +723,21 @@
-     @staticmethod
-     def get_rpath_dirs_from_link_args(args: T.List[str]) -> T.Set[str]:
-         dirs: T.Set[str] = set()
-+
-+        nix_ldflags = os.environ.get('NIX_LDFLAGS', '').split()
-+        next_is_path = False
-+        # Try to add rpaths set by user or ld-wrapper so that they are not removed.
-+        # Based on https://github.com/NixOS/nixpkgs/blob/69711a2f5ffe8cda208163be5258266172ff527f/pkgs/build-support/bintools-wrapper/ld-wrapper.sh#L148-L177
-+        for flag in nix_ldflags:
-+            if flag == '-rpath' or flag == '-L':
-+                next_is_path = True
-+            elif next_is_path or flag.startswith('-L/'):
-+                if flag.startswith('-L/'):
-+                    flag = flag[2:]
-+                if flag.startswith('@storeDir@'):
-+                    dirs.add(flag)
-+                next_is_path = False
-+
-         # Match rpath formats:
-         # -Wl,-rpath=
-         # -Wl,-rpath,
diff --git a/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch b/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch
deleted file mode 100644
index e6d74026527..00000000000
--- a/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
-index 1c6952df7..9466a0b7d 100644
---- a/mesonbuild/modules/gnome.py
-+++ b/mesonbuild/modules/gnome.py
-@@ -923,6 +923,16 @@ class GnomeModule(ExtensionModule):
-         if fatal_warnings:
-             scan_command.append('--warn-error')
-
-+        if len(set(girtarget.get_custom_install_dir()[0] for girtarget in girtargets if girtarget.get_custom_install_dir())) > 1:
-+            raise MesonException('generate_gir tries to build multiple libraries with different install_dir at once: {}'.format(','.join([str(girtarget) for girtarget in girtargets])))
-+
-+        if girtargets[0].get_custom_install_dir():
-+            fallback_libpath = girtargets[0].get_custom_install_dir()[0]
-+        else:
-+            fallback_libpath = None
-+        if fallback_libpath is not None and isinstance(fallback_libpath, str) and len(fallback_libpath) > 0 and fallback_libpath[0] == "/":
-+            scan_command += ['--fallback-library-path=' + fallback_libpath]
-+
-         generated_files = [f for f in libsources if isinstance(f, (GeneratedList, CustomTarget, CustomTargetIndex))]
- 
-         scan_target = self._make_gir_target(state, girfile, scan_command, generated_files, depends, kwargs)
diff --git a/pkgs/development/tools/build-managers/meson/more-env-vars.patch b/pkgs/development/tools/build-managers/meson/more-env-vars.patch
deleted file mode 100644
index e4ad4355042..00000000000
--- a/pkgs/development/tools/build-managers/meson/more-env-vars.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur meson-0.60.2-old/mesonbuild/environment.py meson-0.60.2-new/mesonbuild/environment.py
---- meson-0.60.2-old/mesonbuild/environment.py	2021-11-02 16:58:13.000000000 -0300
-+++ meson-0.60.2-new/mesonbuild/environment.py	2021-12-12 17:44:00.350499307 -0300
-@@ -68,7 +68,7 @@
-         # compiling we fall back on the unprefixed host version. This
-         # allows native builds to never need to worry about the 'BUILD_*'
-         # ones.
--        ([var_name + '_FOR_BUILD'] if is_cross else [var_name]),
-+        [var_name + '_FOR_BUILD'] + ([] if is_cross else [var_name]),
-         # Always just the unprefixed host versions
-         [var_name]
-     )[for_machine]
diff --git a/pkgs/development/tools/build-managers/meson/setup-hook.sh b/pkgs/development/tools/build-managers/meson/setup-hook.sh
deleted file mode 100644
index d1c07349b11..00000000000
--- a/pkgs/development/tools/build-managers/meson/setup-hook.sh
+++ /dev/null
@@ -1,42 +0,0 @@
-mesonConfigurePhase() {
-    runHook preConfigure
-
-    if [ -z "${dontAddPrefix-}" ]; then
-        mesonFlags="--prefix=$prefix $mesonFlags"
-    fi
-
-    # See multiple-outputs.sh and meson’s coredata.py
-    mesonFlags="@crossFlags@ \
-        --libdir=${!outputLib}/lib --libexecdir=${!outputLib}/libexec \
-        --bindir=${!outputBin}/bin --sbindir=${!outputBin}/sbin \
-        --includedir=${!outputInclude}/include \
-        --mandir=${!outputMan}/share/man --infodir=${!outputInfo}/share/info \
-        --localedir=${!outputLib}/share/locale \
-        -Dauto_features=${mesonAutoFeatures:-enabled} \
-        -Dwrap_mode=${mesonWrapMode:-nodownload} \
-        $mesonFlags"
-
-    mesonFlags="${crossMesonFlags+$crossMesonFlags }--buildtype=${mesonBuildType:-plain} $mesonFlags"
-
-    echo "meson flags: $mesonFlags ${mesonFlagsArray[@]}"
-
-    meson setup build $mesonFlags "${mesonFlagsArray[@]}"
-    cd build
-
-    if ! [[ -v enableParallelBuilding ]]; then
-        enableParallelBuilding=1
-        echo "meson: enabled parallel building"
-    fi
-
-    if ! [[ -v enableParallelInstalling ]]; then
-        enableParallelInstalling=1
-        echo "meson: enabled parallel installing"
-    fi
-
-    runHook postConfigure
-}
-
-if [ -z "${dontUseMesonConfigure-}" -a -z "${configurePhase-}" ]; then
-    setOutputFlags=
-    configurePhase=mesonConfigurePhase
-fi
diff --git a/pkgs/development/tools/build-managers/mill/default.nix b/pkgs/development/tools/build-managers/mill/default.nix
index 59ceeb8761a..e2477e8d310 100644
--- a/pkgs/development/tools/build-managers/mill/default.nix
+++ b/pkgs/development/tools/build-managers/mill/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mill";
-  version = "0.11.2";
+  version = "0.11.5";
 
   src = fetchurl {
     url = "https://github.com/com-lihaoyi/mill/releases/download/${version}/${version}-assembly";
-    hash = "sha256-7RYMj/vfyzBQhZUpWzEaZYN27ZhYCRyKhQUhlH8tE0U=";
+    hash = "sha256-sCJMCy4TLRQV3zI28Aydv5a8OV8OHOjLbwhfyIlxOeY=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/build-managers/moon/default.nix b/pkgs/development/tools/build-managers/moon/default.nix
index 181bd708a62..e45c5acd713 100644
--- a/pkgs/development/tools/build-managers/moon/default.nix
+++ b/pkgs/development/tools/build-managers/moon/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "moon";
-  version = "1.13.4";
+  version = "1.16.0";
 
   src = fetchFromGitHub {
     owner = "moonrepo";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-K7uCgdTg/RTd3X8ve7xTsxDn3H9p6WS93ijCRnJPsJs=";
+    hash = "sha256-FPhUGFumbO28rPWNDTrUNqMx0ppbotp9z6u8cCEHu/g=";
   };
 
-  cargoHash = "sha256-JPbqBifhLx+FK2J9+pZysuFIiumBma3YVW/Y8KdNq+M=";
+  cargoHash = "sha256-hak0xMV6MSqM88bNY+2C5B5YlRWlZ+dDYu50pYEDsmI=";
 
   env = {
     RUSTFLAGS = "-C strip=symbols";
diff --git a/pkgs/development/tools/build-managers/msbuild/default.nix b/pkgs/development/tools/build-managers/msbuild/default.nix
index 83cdcead353..1b561470af7 100644
--- a/pkgs/development/tools/build-managers/msbuild/default.nix
+++ b/pkgs/development/tools/build-managers/msbuild/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchpatch, makeWrapper, glibcLocales, mono, dotnetPackages, unzip, dotnetCorePackages, writeText, roslyn }:
+{ lib, stdenv, fetchurl, fetchpatch, makeWrapper, glibcLocales, mono, nuget, unzip, dotnetCorePackages, writeText, roslyn }:
 
 let
 
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    dotnetPackages.Nuget
+    nuget
     glibcLocales
   ];
 
diff --git a/pkgs/development/tools/build-managers/muon/default.nix b/pkgs/development/tools/build-managers/muon/default.nix
index c3be1a4bc53..92593bb60e5 100644
--- a/pkgs/development/tools/build-managers/muon/default.nix
+++ b/pkgs/development/tools/build-managers/muon/default.nix
@@ -130,6 +130,7 @@ stdenv.mkDerivation (finalAttrs: {
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
     broken = stdenv.isDarwin; # typical `ar failure`
+    mainProgram = "muon";
   };
 })
 # TODO LIST:
diff --git a/pkgs/development/tools/build-managers/rocm-cmake/default.nix b/pkgs/development/tools/build-managers/rocm-cmake/default.nix
deleted file mode 100644
index 206038c0b6e..00000000000
--- a/pkgs/development/tools/build-managers/rocm-cmake/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, rocmUpdateScript
-, cmake
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "rocm-cmake";
-  version = "5.4.4";
-
-  src = fetchFromGitHub {
-    owner = "RadeonOpenCompute";
-    repo = "rocm-cmake";
-    rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-JarQqiiZ36WV1d6vyQD546GN1EtoKLcdvcZsG3QWD2Y=";
-  };
-
-  nativeBuildInputs = [ cmake ];
-
-  passthru.updateScript = rocmUpdateScript {
-    name = finalAttrs.pname;
-    owner = finalAttrs.src.owner;
-    repo = finalAttrs.src.repo;
-  };
-
-  meta = with lib; {
-    description = "CMake modules for common build tasks for the ROCm stack";
-    homepage = "https://github.com/RadeonOpenCompute/rocm-cmake";
-    license = licenses.mit;
-    maintainers = teams.rocm.members;
-    platforms = platforms.unix;
-    broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
-  };
-})
diff --git a/pkgs/development/tools/build-managers/sbt-extras/default.nix b/pkgs/development/tools/build-managers/sbt-extras/default.nix
index 47772d955af..bd6b512f284 100644
--- a/pkgs/development/tools/build-managers/sbt-extras/default.nix
+++ b/pkgs/development/tools/build-managers/sbt-extras/default.nix
@@ -3,14 +3,14 @@
 
 stdenv.mkDerivation rec {
   pname = "sbt-extras";
-  rev = "99b0d2138b498b3d553c0b23d5d18cad3e40e028";
-  version = "2023-09-14";
+  rev = "85c92ae7ebeeeb04cce7e405ad6096ea5fd67b22";
+  version = "2023-10-24";
 
   src = fetchFromGitHub {
     owner = "paulp";
     repo = "sbt-extras";
     inherit rev;
-    sha256 = "hejhCclA/HSyEC4MgX3h61fB8jsfIErGAnxqUrqNBLU=";
+    sha256 = "7T0Fw1sfftxRF9cbQRC3sk87cFM/k1yqDHAkemYbIx8=";
   };
 
   dontBuild = true;
diff --git a/pkgs/development/tools/build-managers/sbt/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix
index 3e78f7a4768..1b833d6d1f0 100644
--- a/pkgs/development/tools/build-managers/sbt/default.nix
+++ b/pkgs/development/tools/build-managers/sbt/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "sbt";
-  version = "1.9.6";
+  version = "1.9.7";
 
   src = fetchurl {
     url = "https://github.com/sbt/sbt/releases/download/v${finalAttrs.version}/sbt-${finalAttrs.version}.tgz";
-    hash = "sha256-kj15F8y5mp/ZhfSr/YHKrK7UIoTmfT92lsxSOefFlcs=";
+    hash = "sha256-I1Q7xFl7VS6OLCfWlf5nLsI1q4pk92azeCj7aMbZ2RA=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/tools/build-managers/scala-cli/sources.json b/pkgs/development/tools/build-managers/scala-cli/sources.json
index f248e9c1123..8d1af88a841 100644
--- a/pkgs/development/tools/build-managers/scala-cli/sources.json
+++ b/pkgs/development/tools/build-managers/scala-cli/sources.json
@@ -1,21 +1,21 @@
 {
-  "version": "1.0.4",
+  "version": "1.0.5",
   "assets": {
     "aarch64-darwin": {
       "asset": "scala-cli-aarch64-apple-darwin.gz",
-      "sha256": "1gqnsm8pcwrk1v1v4xaj0j0w5xsmh3xv61h6sv72297illxxkbgq"
+      "sha256": "1p2ibii71digdz7qqqyahvdmmxyx19crwgn4bmas0hahl6mz553x"
     },
     "aarch64-linux": {
       "asset": "scala-cli-aarch64-pc-linux.gz",
-      "sha256": "124xqn18xyn35pg18p0rz40d8vjgijp6sc6wg4i81ih2mrxqxsbc"
+      "sha256": "1y9ghb829jz9yg4l7bgwnbl3cm7z7c20cyfc71v9iz8bq5ns9akr"
     },
     "x86_64-darwin": {
       "asset": "scala-cli-x86_64-apple-darwin.gz",
-      "sha256": "0r581a1zzlk7qbcsfbv79asj5y56zzx9249h099k29rbdjc3ya26"
+      "sha256": "12qjrm979pfbr0j7s59dyn7xkk585av7l0qxf77rz71009kvql0a"
     },
     "x86_64-linux": {
       "asset": "scala-cli-x86_64-pc-linux.gz",
-      "sha256": "018cmr71qhdqvmprrfb8clsj718gfkdvyw48dqkf2jsafq0kglk2"
+      "sha256": "17x4nv5f8g1kx8l4n8ncxf60zwhwpqg8fh5cl8qy9s5h9h81n0rz"
     }
   }
 }
diff --git a/pkgs/development/tools/build-managers/scons/3.1.2.nix b/pkgs/development/tools/build-managers/scons/3.1.2.nix
new file mode 100644
index 00000000000..097a8ffd519
--- /dev/null
+++ b/pkgs/development/tools/build-managers/scons/3.1.2.nix
@@ -0,0 +1,38 @@
+{ lib, fetchurl, python3 }:
+
+let
+  pname = "scons";
+  version = "3.1.2";
+  src = fetchurl {
+    url = "mirror://sourceforge/scons/scons-${version}.tar.gz";
+    hash = "sha256-eAHz9i9lRSjict94C+EMDpM36JdlC2Ldzunzn94T+Ps=";
+  };
+in
+python3.pkgs.buildPythonApplication {
+  inherit pname version src;
+
+  setupHook = ./setup-hook.sh;
+
+  doCheck = true;
+
+  passthru = {
+    # expose the used python version so tools using this (and extensing scos
+    # with other python modules) can use the exact same python version.
+    inherit python3;
+    python = python3;
+  };
+
+  meta = {
+    description = "An improved, cross-platform substitute for Make";
+    longDescription = ''
+      SCons is an Open Source software construction tool. Think of SCons as an
+      improved, cross-platform substitute for the classic Make utility with
+      integrated functionality similar to autoconf/automake and compiler caches
+      such as ccache. In short, SCons is an easier, more reliable and faster way
+      to build software.
+    '';
+    homepage = "https://scons.org/";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+  };
+}
diff --git a/pkgs/development/tools/build-managers/scons/4.1.0.nix b/pkgs/development/tools/build-managers/scons/4.1.0.nix
new file mode 100644
index 00000000000..65499280c2c
--- /dev/null
+++ b/pkgs/development/tools/build-managers/scons/4.1.0.nix
@@ -0,0 +1,50 @@
+{ lib, fetchurl, python3 }:
+
+let
+  pname = "scons";
+  version = "4.1.0";
+  src = fetchurl {
+    url = "mirror://sourceforge/scons/scons-${version}.tar.gz";
+    hash = "sha256-ctKNdi4hJnh/Fz49WeCJI5+LL06e8xFNV/ELEgaYXYU=";
+  };
+in
+python3.pkgs.buildPythonApplication {
+  inherit pname version src;
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "build/dist" "dist" \
+      --replace "build/doc/man/" ""
+  '';
+
+  postInstall = ''
+    mkdir -p "$out/share/man/man1"
+    mv "$out/"*.1 "$out/share/man/man1/"
+  '';
+
+  setupHook = ./setup-hook.sh;
+
+  # The release tarballs don't contain any tests (runtest.py and test/*):
+  doCheck = false;
+
+  passthru = {
+    # expose the used python version so tools using this (and extensing scos
+    # with other python modules) can use the exact same python version.
+    inherit python3;
+    python = python3;
+  };
+
+  meta = {
+    description = "An improved, cross-platform substitute for Make";
+    longDescription = ''
+      SCons is an Open Source software construction tool. Think of SCons as an
+      improved, cross-platform substitute for the classic Make utility with
+      integrated functionality similar to autoconf/automake and compiler caches
+      such as ccache. In short, SCons is an easier, more reliable and faster way
+      to build software.
+    '';
+    homepage = "https://scons.org/";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+  };
+}
diff --git a/pkgs/development/tools/build-managers/scons/4.5.2.nix b/pkgs/development/tools/build-managers/scons/4.5.2.nix
new file mode 100644
index 00000000000..61d1719642e
--- /dev/null
+++ b/pkgs/development/tools/build-managers/scons/4.5.2.nix
@@ -0,0 +1,54 @@
+{ lib, fetchurl, python3 }:
+
+let
+  pname = "scons";
+  version = "4.5.2";
+  src = fetchurl {
+    url = "mirror://sourceforge/project/scons/scons/${version}/SCons-${version}.tar.gz";
+    hash = "sha256-ziaqyV01CnmkGSGWsL6sPLJPTMq84BI+so0zcPV28HI=";
+  };
+in
+python3.pkgs.buildPythonApplication {
+  inherit pname version src;
+
+  patches = [
+    ./env.patch
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "build/dist" "dist" \
+      --replace "build/doc/man/" ""
+  '';
+
+  postInstall = ''
+    mkdir -p "$out/share/man/man1"
+    mv "$out/"*.1 "$out/share/man/man1/"
+  '';
+
+  setupHook = ./setup-hook.sh;
+
+  # The release tarballs don't contain any tests (runtest.py and test/*):
+  doCheck = false;
+
+  passthru = {
+    # expose the used python version so tools using this (and extensing scos
+    # with other python modules) can use the exact same python version.
+    inherit python3;
+    python = python3;
+  };
+
+  meta = {
+    description = "An improved, cross-platform substitute for Make";
+    longDescription = ''
+      SCons is an Open Source software construction tool. Think of SCons as an
+      improved, cross-platform substitute for the classic Make utility with
+      integrated functionality similar to autoconf/automake and compiler caches
+      such as ccache. In short, SCons is an easier, more reliable and faster way
+      to build software.
+    '';
+    homepage = "https://scons.org/";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+  };
+}
diff --git a/pkgs/development/tools/build-managers/scons/common.nix b/pkgs/development/tools/build-managers/scons/common.nix
deleted file mode 100644
index 5b0aff8072c..00000000000
--- a/pkgs/development/tools/build-managers/scons/common.nix
+++ /dev/null
@@ -1,62 +0,0 @@
-{ version, sha256 }:
-
-{ fetchurl, python, lib }:
-
-python.pkgs.buildPythonApplication rec {
-  pname = "scons";
-  inherit version;
-
-  src = fetchurl {
-    url =
-      if lib.versionAtLeast version "4.3.0" then
-        "mirror://sourceforge/project/scons/scons/${version}/SCons-${version}.tar.gz"
-      else
-        "mirror://sourceforge/scons/scons-${version}.tar.gz";
-    inherit sha256;
-  };
-
-  setupHook = ./setup-hook.sh;
-
-  patches = lib.optionals (lib.versionAtLeast version "4.3.0") [
-    ./env.patch
-  ];
-
-  postPatch = lib.optionalString (lib.versionAtLeast version "4.0.0") ''
-    substituteInPlace setup.cfg \
-      --replace "build/dist" "dist"
-  '' + lib.optionalString (lib.versionAtLeast version "4.1.0") ''
-    substituteInPlace setup.cfg \
-      --replace "build/doc/man/" ""
-  '';
-
-  # The release tarballs don't contain any tests (runtest.py and test/*):
-  doCheck = lib.versionOlder version "4.0.0";
-
-  postInstall = lib.optionalString (lib.versionAtLeast version "4.1.0") ''
-    mkdir -p "$out/share/man/man1"
-    mv "$out/"*.1 "$out/share/man/man1/"
-  '';
-
-  passthru = {
-    # expose the used python version so tools using this (and extensing scos with other python modules)
-    # can use the exact same python version.
-    inherit python;
-  };
-
-  meta = with lib; {
-    description = "An improved, cross-platform substitute for Make";
-    longDescription = ''
-      SCons is an Open Source software construction tool. Think of
-      SCons as an improved, cross-platform substitute for the classic
-      Make utility with integrated functionality similar to
-      autoconf/automake and compiler caches such as ccache. In short,
-      SCons is an easier, more reliable and faster way to build
-      software.
-    '';
-    homepage = "https://scons.org/";
-    changelog = "https://raw.githubusercontent.com/SConsProject/scons/rel_${version}/src/CHANGES.txt";
-    license = licenses.mit;
-    platforms = platforms.all;
-    maintainers = [ ];
-  };
-}
diff --git a/pkgs/development/tools/build-managers/scons/default.nix b/pkgs/development/tools/build-managers/scons/default.nix
deleted file mode 100644
index f338d346a70..00000000000
--- a/pkgs/development/tools/build-managers/scons/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ callPackage, python2, python3 }:
-
-let
-  mkScons = args: callPackage (import ./common.nix args) {
-    python = python3;
-  };
-in {
-  scons_3_1_2 = (mkScons {
-    version = "3.1.2";
-    sha256 = "1yzq2gg9zwz9rvfn42v5jzl3g4qf1khhny6zfbi2hib55zvg60bq";
-  });
-  scons_4_1_0 = mkScons {
-    version = "4.1.0";
-    sha256 = "11axk03142ziax6i3wwy9qpqp7r3i7h5jg9y2xzph9i15rv8vlkj";
-  };
-  scons_latest = mkScons {
-    version = "4.5.2";
-    sha256 = "sha256-ziaqyV01CnmkGSGWsL6sPLJPTMq84BI+so0zcPV28HI=";
-  };
-}
diff --git a/pkgs/development/tools/build-managers/scons/setup-hook.sh b/pkgs/development/tools/build-managers/scons/setup-hook.sh
index 67358ee843d..bfd8f3cc07b 100644
--- a/pkgs/development/tools/build-managers/scons/setup-hook.sh
+++ b/pkgs/development/tools/build-managers/scons/setup-hook.sh
@@ -1,3 +1,5 @@
+# shellcheck shell=bash disable=SC2206
+
 sconsBuildPhase() {
     runHook preBuild
 
@@ -15,7 +17,7 @@ sconsBuildPhase() {
       $buildFlags ${buildFlagsArray[@]}
     )
 
-    echoCmd 'build flags' "${flagsArray[@]}"
+    echoCmd 'scons build flags' "${flagsArray[@]}"
     scons "${flagsArray[@]}"
 
     runHook postBuild
@@ -39,7 +41,7 @@ sconsInstallPhase() {
         ${installTargets:-install}
     )
 
-    echoCmd 'install flags' "${flagsArray[@]}"
+    echoCmd 'scons install flags' "${flagsArray[@]}"
     scons "${flagsArray[@]}"
 
     runHook postInstall
@@ -50,9 +52,9 @@ sconsCheckPhase() {
 
     if [ -z "${checkTarget:-}" ]; then
         if scons -n check >/dev/null 2>&1; then
-            checkTarget=check
+            checkTarget="check"
         elif scons -n test >/dev/null 2>&1; then
-            checkTarget=test
+            checkTarget="test"
         fi
     fi
 
@@ -65,21 +67,21 @@ sconsCheckPhase() {
             ${checkFlagsArray[@]}
         )
 
-        echoCmd 'check flags' "${flagsArray[@]}"
+        echoCmd 'scons check flags' "${flagsArray[@]}"
         scons "${flagsArray[@]}"
     fi
 
     runHook postCheck
 }
 
-if [ -z "${buildPhase-}" ]; then
+if [ -z "${dontUseSconsBuild-}" ] && [ -z "${buildPhase-}" ]; then
     buildPhase=sconsBuildPhase
 fi
 
-if [ -z "${dontUseSconsInstall-}" -a -z "${installPhase-}" ]; then
-    installPhase=sconsInstallPhase
+if [ -z "${dontUseSconsCheck-}" ] && [ -z "${checkPhase-}" ]; then
+    checkPhase=sconsCheckPhase
 fi
 
-if [ -z "${checkPhase-}" ]; then
-    checkPhase=sconsCheckPhase
+if [ -z "${dontUseSconsInstall-}" ] && [ -z "${installPhase-}" ]; then
+    installPhase=sconsInstallPhase
 fi
diff --git a/pkgs/development/tools/build-managers/turtle-build/default.nix b/pkgs/development/tools/build-managers/turtle-build/default.nix
index 25a8266f85e..133a693919f 100644
--- a/pkgs/development/tools/build-managers/turtle-build/default.nix
+++ b/pkgs/development/tools/build-managers/turtle-build/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "turtle-build";
-  version = "0.4.6";
+  version = "0.4.7";
 
   src = fetchFromGitHub {
     owner = "raviqqe";
     repo = "turtle-build";
     rev = "v${version}";
-    hash = "sha256-7XorSt2LFWYNdvCot+I7Uh6S1mhRbD7PkWkvYdIbjKs=";
+    hash = "sha256-pyCswNJ4LuXViewQl+2o5g06uVjXVphxh2wXO9m5Mec=";
   };
 
-  cargoHash = "sha256-TebXKOgBdf/ZFITQu5OuusytDJKEkGzRD7fLhk1uh8Y=";
+  cargoHash = "sha256-ObPzzYh8Siu01DH/3pXk322H7NaD7sHYTYBUk0WvZUs=";
 
   meta = with lib; {
     description = "Ninja-compatible build system for high-level programming languages written in Rust";
diff --git a/pkgs/development/tools/build-managers/xmake/default.nix b/pkgs/development/tools/build-managers/xmake/default.nix
index fc092b52f58..01fc3b3aafb 100644
--- a/pkgs/development/tools/build-managers/xmake/default.nix
+++ b/pkgs/development/tools/build-managers/xmake/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xmake";
-  version = "2.8.2";
+  version = "2.8.5";
 
   src = fetchurl {
     url = "https://github.com/xmake-io/xmake/releases/download/v${version}/xmake-v${version}.tar.gz";
-    hash = "sha256-rA0wiL2kZs+rOSCLXAaX50epK9aL+We4FYgr2/TxRKo=";
+    hash = "sha256-GcZ747z8valsqHoY7/rDm/zMRD+7N1THu8AVEd7NJK8=";
   };
 
   nativeBuildInputs = [