From 837c437e73367564193e138539572f6e19f1890b Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 9 Aug 2025 21:26:19 +0100 Subject: [PATCH 01/26] bloaty: unpin LLVM --- pkgs/by-name/bl/bloaty/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/bl/bloaty/package.nix b/pkgs/by-name/bl/bloaty/package.nix index fab4550cbdb0..a4e1e7f81294 100644 --- a/pkgs/by-name/bl/bloaty/package.nix +++ b/pkgs/by-name/bl/bloaty/package.nix @@ -11,7 +11,7 @@ gtest, pkg-config, lit, - llvmPackages_16, + llvmPackages, }: let # Old vendored package which has no other use than here, so not packaged in nixpkgs. @@ -35,8 +35,8 @@ stdenv.mkDerivation { cmakeFlags = [ "-DLIT_EXECUTABLE=${lit}/bin/lit" - "-DFILECHECK_EXECUTABLE=${llvmPackages_16.libllvm}/bin/FileCheck" - "-DYAML2OBJ_EXECUTABLE=${llvmPackages_16.libllvm}/bin/yaml2obj" + "-DFILECHECK_EXECUTABLE=${llvmPackages.libllvm}/bin/FileCheck" + "-DYAML2OBJ_EXECUTABLE=${llvmPackages.libllvm}/bin/yaml2obj" ]; postPatch = '' @@ -66,7 +66,7 @@ stdenv.mkDerivation { capstone gtest lit - llvmPackages_16.libllvm + llvmPackages.libllvm ]; doCheck = true; From 3879ede2ddf2a44346cd59648b2506b98ecf97c2 Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 9 Aug 2025 21:26:57 +0100 Subject: [PATCH 02/26] build2: unpin LLVM --- pkgs/development/tools/build-managers/build2/bootstrap.nix | 2 +- pkgs/development/tools/build-managers/build2/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/build-managers/build2/bootstrap.nix b/pkgs/development/tools/build-managers/build2/bootstrap.nix index d853adc83ebf..6ef211423641 100644 --- a/pkgs/development/tools/build-managers/build2/bootstrap.nix +++ b/pkgs/development/tools/build-managers/build2/bootstrap.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { # Build2 needs to use lld on Darwin because it creates thin archives when it detects `llvm-ar`, # which ld64 does not support. - (lib.getBin buildPackages.llvmPackages_16.lld) + (lib.getBin buildPackages.llvmPackages.lld) ]; doCheck = true; diff --git a/pkgs/development/tools/build-managers/build2/default.nix b/pkgs/development/tools/build-managers/build2/default.nix index 853a4491d8d7..0c73acf952b4 100644 --- a/pkgs/development/tools/build-managers/build2/default.nix +++ b/pkgs/development/tools/build-managers/build2/default.nix @@ -71,7 +71,7 @@ stdenv.mkDerivation rec { # Build2 needs to use lld on Darwin because it creates thin archives when it detects `llvm-ar`, # which ld64 does not support. - (lib.getBin buildPackages.llvmPackages_16.lld) + (lib.getBin buildPackages.llvmPackages.lld) ]; postPatch = '' From 0306ae73d30586ab53d55b74a373ad5b3d7fe245 Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 9 Aug 2025 21:43:46 +0100 Subject: [PATCH 03/26] mathematica: unpin LLVM MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This was already bumped from LLVM 12 in with 13 seemingly being an arbitrary choice, so… optimistically let’s just unpin it entirely? --- pkgs/applications/science/math/mathematica/generic.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/math/mathematica/generic.nix b/pkgs/applications/science/math/mathematica/generic.nix index d12763cae73e..9f335c07e569 100644 --- a/pkgs/applications/science/math/mathematica/generic.nix +++ b/pkgs/applications/science/math/mathematica/generic.nix @@ -32,7 +32,7 @@ libuuid, libxkbcommon, libxml2, - llvmPackages_13, + llvmPackages, matio, mpfr, ncurses, @@ -102,7 +102,7 @@ stdenv.mkDerivation { libuuid libxkbcommon libxml2 - llvmPackages_13.libllvm.lib + llvmPackages.libllvm.lib matio mpfr ncurses From 8153126f4992c7c2a2ccffd428044584c3df7e56 Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 9 Aug 2025 23:45:43 +0100 Subject: [PATCH 04/26] chez: unpin LLVM The bugs no longer reproduce as of the latest release. --- pkgs/by-name/ch/chez/package.nix | 8 -------- 1 file changed, 8 deletions(-) diff --git a/pkgs/by-name/ch/chez/package.nix b/pkgs/by-name/ch/chez/package.nix index f67861648dd5..7cfb7e682c43 100644 --- a/pkgs/by-name/ch/chez/package.nix +++ b/pkgs/by-name/ch/chez/package.nix @@ -1,7 +1,6 @@ { lib, stdenv, - llvmPackages_17, fetchurl, coreutils, cctools, @@ -13,13 +12,6 @@ testers, }@args: -let - # x64 darwin fails with invalid memory reference with clang-18 & 19. - # https://github.com/cisco/ChezScheme/issues/896 - # aarch64 darwin fails to execute `system` calls with clang-18 & 19. - # https://github.com/cisco/ChezScheme/issues/928 - stdenv = if args.stdenv.hostPlatform.isDarwin then llvmPackages_17.stdenv else args.stdenv; -in stdenv.mkDerivation (finalAttrs: { pname = "chez-scheme"; version = "10.2.0"; From d1230bc68e14baeab7febd96c73c7fe6cb4a5bab Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 9 Aug 2025 23:59:46 +0100 Subject: [PATCH 05/26] contour: unpin LLVM Fails to build on Darwin, but because of `sigtool` limitations at install time, not because of LLVM. --- pkgs/by-name/co/contour/package.nix | 7 +++---- pkgs/top-level/all-packages.nix | 5 ----- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/co/contour/package.nix b/pkgs/by-name/co/contour/package.nix index 67282ea8a1aa..61307ebbdf4d 100644 --- a/pkgs/by-name/co/contour/package.nix +++ b/pkgs/by-name/co/contour/package.nix @@ -20,8 +20,7 @@ yaml-cpp, ncurses, file, - libutil, - sigtool, + darwin, nixosTests, installShellFiles, reflection-cpp, @@ -53,7 +52,7 @@ stdenv.mkDerivation (finalAttrs: { qt6.wrapQtAppsHook installShellFiles ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ sigtool ]; + ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.sigtool ]; buildInputs = [ boxed-cpp @@ -74,7 +73,7 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optionals stdenv.hostPlatform.isLinux [ libutempter ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - libutil + darwin.libutil ]; cmakeFlags = [ "-DCONTOUR_QT_VERSION=6" ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 10eb1c12d1ae..b3ebbd1f71d7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1472,11 +1472,6 @@ with pkgs; ### APPLICATIONS/TERMINAL-EMULATORS - contour = callPackage ../by-name/co/contour/package.nix { - inherit (darwin) libutil sigtool; - stdenv = if stdenv.hostPlatform.isDarwin then llvmPackages_17.stdenv else stdenv; - }; - cool-retro-term = libsForQt5.callPackage ../applications/terminal-emulators/cool-retro-term { }; kitty = callPackage ../by-name/ki/kitty/package.nix { From df39a84a04ac3a620fd62cf642cf5324859dc880 Mon Sep 17 00:00:00 2001 From: Emily Date: Sun, 10 Aug 2025 00:27:03 +0100 Subject: [PATCH 06/26] inko: fix tests on Darwin --- pkgs/by-name/in/inko/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/in/inko/package.nix b/pkgs/by-name/in/inko/package.nix index 06b9dac40e68..3ecf9658131f 100644 --- a/pkgs/by-name/in/inko/package.nix +++ b/pkgs/by-name/in/inko/package.nix @@ -62,6 +62,8 @@ rustPlatform.buildRustPackage (finalAttrs: { }; }; + __darwinAllowLocalNetworking = true; + meta = { description = "Language for building concurrent software with confidence"; homepage = "https://inko-lang.org/"; From 5fdbb6938e7ae33a052fd4acbdef5ed27ff9ad3e Mon Sep 17 00:00:00 2001 From: Emily Date: Sun, 10 Aug 2025 00:27:03 +0100 Subject: [PATCH 07/26] inko: unpin LLVM Upstream is already using LLVM 18 and it builds fine with the default. --- pkgs/by-name/in/inko/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/in/inko/package.nix b/pkgs/by-name/in/inko/package.nix index 3ecf9658131f..9b7b070497a2 100644 --- a/pkgs/by-name/in/inko/package.nix +++ b/pkgs/by-name/in/inko/package.nix @@ -2,7 +2,7 @@ lib, rustPlatform, fetchFromGitHub, - llvm_17, + llvm, libffi, libz, libxml2, @@ -35,7 +35,7 @@ rustPlatform.buildRustPackage (finalAttrs: { ]; nativeBuildInputs = [ - llvm_17 + llvm makeWrapper ]; From 99701f37e480cd8a7b8ca8cf77151886f3cc148d Mon Sep 17 00:00:00 2001 From: Emily Date: Sun, 10 Aug 2025 07:04:25 +0100 Subject: [PATCH 08/26] ivm: unpin LLVM --- pkgs/by-name/iv/ivm/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/iv/ivm/package.nix b/pkgs/by-name/iv/ivm/package.nix index 0a42661f2838..d27d928130dd 100644 --- a/pkgs/by-name/iv/ivm/package.nix +++ b/pkgs/by-name/iv/ivm/package.nix @@ -4,7 +4,7 @@ fetchFromGitHub, makeWrapper, cargo, - llvm_16, + llvm, stdenv, libffi, libz, @@ -39,7 +39,7 @@ rustPlatform.buildRustPackage (finalAttr: { --prefix PATH : ${ lib.makeBinPath [ cargo - llvm_16.dev + llvm.dev stdenv.cc ] } \ From 82c7972f9214f573720e71952afe1704da587e3d Mon Sep 17 00:00:00 2001 From: Emily Date: Sun, 10 Aug 2025 01:05:13 +0100 Subject: [PATCH 09/26] libunicode: unpin LLVM --- pkgs/top-level/all-packages.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b3ebbd1f71d7..dfe9b6a03e13 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8627,10 +8627,6 @@ with pkgs; libusb-compat-0_1 = callPackage ../development/libraries/libusb-compat/0.1.nix { }; - libunicode = callPackage ../by-name/li/libunicode/package.nix { - stdenv = if stdenv.hostPlatform.isDarwin then llvmPackages_17.stdenv else stdenv; - }; - libunwind = # Use the system unwinder in the SDK but provide a compatibility package to: # 1. avoid evaluation errors with setting `unwind` to `null`; and From 9b5a04e6d36d21e147150c33947d8642f6003b07 Mon Sep 17 00:00:00 2001 From: Emily Date: Sun, 10 Aug 2025 01:05:48 +0100 Subject: [PATCH 10/26] termbench-pro: unpin LLVM --- pkgs/top-level/all-packages.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dfe9b6a03e13..0079a97b32ea 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9382,7 +9382,6 @@ with pkgs; tclap_1_4 = callPackage ../development/libraries/tclap/1.4.nix { }; termbench-pro = callPackage ../by-name/te/termbench-pro/package.nix { - stdenv = if stdenv.hostPlatform.isDarwin then llvmPackages_17.stdenv else stdenv; fmt = fmt_11; }; From 0f147d22bb9726c47ca504d639e53a0cad23643b Mon Sep 17 00:00:00 2001 From: Emily Date: Sun, 10 Aug 2025 01:38:25 +0100 Subject: [PATCH 11/26] ocaml-ng.ocamlPackages_4_14.bap: unpin LLVM --- pkgs/top-level/ocaml-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 3a4418c417b9..0a13833c7941 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -89,7 +89,7 @@ let backoff = callPackage ../development/ocaml-modules/backoff { }; bap = callPackage ../development/ocaml-modules/bap { - inherit (pkgs.llvmPackages_14) llvm; + inherit (pkgs.llvmPackages) llvm; }; base64 = callPackage ../development/ocaml-modules/base64 { }; From cd168a871e00b865ac8d19f78cca4a20ac0d7a9d Mon Sep 17 00:00:00 2001 From: Emily Date: Sun, 10 Aug 2025 07:01:15 +0100 Subject: [PATCH 12/26] python313Packages.wasmer-compiler-llvm: unpin LLVM MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The package is broken (even on 3.11), so I can’t test this but also don’t really care. It should probably just be dropped at this point. --- pkgs/development/python-modules/wasmer/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/wasmer/default.nix b/pkgs/development/python-modules/wasmer/default.nix index 148003ffafab..09e87046685d 100644 --- a/pkgs/development/python-modules/wasmer/default.nix +++ b/pkgs/development/python-modules/wasmer/default.nix @@ -9,7 +9,7 @@ libiconv, libffi, libxml2, - llvm_14, + llvm, ncurses, zlib, }: @@ -99,7 +99,7 @@ in pname = "wasmer-compiler-llvm"; buildAndTestSubdir = "packages/compiler-llvm"; cargoHash = "sha256-oHyjzEqv88e2CHhWhKjUh6K0UflT9Y1JD//3oiE/UBQ="; - extraNativeBuildInputs = [ llvm_14 ]; + extraNativeBuildInputs = [ llvm ]; extraBuildInputs = [ libffi libxml2.out From 8fb6d06f7a7c1757f3ea93d000cc81057917e943 Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 9 Aug 2025 23:42:23 +0100 Subject: [PATCH 13/26] haskellPackages.llvm-codegen: unpin LLVM MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It’s broken anyway. --- pkgs/development/haskell-modules/configuration-nix.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index affc6b8b7dc1..feb7aa2ef940 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -184,7 +184,7 @@ builtins.intersectAttrs super { # Doesn't declare LLVM dependency, needs llvm-config llvm-codegen = addBuildTools [ - pkgs.llvmPackages_17.llvm.dev # for native llvm-config + pkgs.llvmPackages.llvm.dev # for native llvm-config ] super.llvm-codegen; # hledger* overrides From 0b084fbd7058bca827cf75931d4095681259ee02 Mon Sep 17 00:00:00 2001 From: Emily Date: Sun, 10 Aug 2025 07:07:03 +0100 Subject: [PATCH 14/26] postgresql16Packages.pgvecto-rs: unpin LLVM MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sorry, but we can’t keep around LLVM 16 just for this. Upstreams are unlikely to support Nixpkgs packaging anyway. It does build with the default version. --- .../sql/postgresql/ext/pgvecto-rs/package.nix | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/pkgs/servers/sql/postgresql/ext/pgvecto-rs/package.nix b/pkgs/servers/sql/postgresql/ext/pgvecto-rs/package.nix index 5c0ff921387a..323674e11833 100644 --- a/pkgs/servers/sql/postgresql/ext/pgvecto-rs/package.nix +++ b/pkgs/servers/sql/postgresql/ext/pgvecto-rs/package.nix @@ -1,7 +1,7 @@ { buildPgrxExtension, cargo-pgrx_0_12_0_alpha_1, - clang_16, + clang, fetchFromGitHub, lib, nix-update-script, @@ -10,20 +10,9 @@ postgresql, postgresqlTestExtension, replaceVars, - rustPlatform, }: -let - # Upstream only works with clang 16, so we're pinning it here to - # avoid future incompatibility. - # See https://docs.vectorchord.ai/developers/development.html#set-up-development-environment, step 2 - clang = clang_16; - rustPlatform' = rustPlatform // { - bindgenHook = rustPlatform.bindgenHook.override { inherit clang; }; - }; - -in -(buildPgrxExtension.override { rustPlatform = rustPlatform'; }) (finalAttrs: { +buildPgrxExtension (finalAttrs: { inherit postgresql; cargo-pgrx = cargo-pgrx_0_12_0_alpha_1; From e82363bc92247659eabd2ee831038a8cbaa97820 Mon Sep 17 00:00:00 2001 From: Emily Date: Sun, 10 Aug 2025 07:16:50 +0100 Subject: [PATCH 15/26] tetragon: unpin LLVM --- pkgs/by-name/te/tetragon/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/te/tetragon/package.nix b/pkgs/by-name/te/tetragon/package.nix index f4e3b6e7f626..e2e3434cefa5 100644 --- a/pkgs/by-name/te/tetragon/package.nix +++ b/pkgs/by-name/te/tetragon/package.nix @@ -4,8 +4,8 @@ fetchFromGitHub, pkg-config, go, - llvm_16, - clang_16, + llvm, + clang, bash, writableTmpDirAsHomeHook, gitMinimal, @@ -28,9 +28,9 @@ stdenv.mkDerivation (finalAttrs: { ]; buildInputs = [ - clang_16 + clang go - llvm_16 + llvm pkg-config ]; From 0eebff6cbf2815797aaf9cec0a91e7b8818b419a Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 12 Aug 2025 17:29:14 +0100 Subject: [PATCH 16/26] tracee: unpin LLVM --- pkgs/by-name/tr/tracee/package.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/tr/tracee/package.nix b/pkgs/by-name/tr/tracee/package.nix index 96157a06f1e7..078ea2874ace 100644 --- a/pkgs/by-name/tr/tracee/package.nix +++ b/pkgs/by-name/tr/tracee/package.nix @@ -3,7 +3,7 @@ buildGoModule, fetchFromGitHub, - clang_14, + clang, pkg-config, elfutils, @@ -37,10 +37,13 @@ buildGoModule rec { enableParallelBuilding = true; # needed to build bpf libs - hardeningDisable = [ "stackprotector" ]; + hardeningDisable = [ + "stackprotector" + "zerocallusedregs" + ]; nativeBuildInputs = [ - clang_14 + clang pkg-config ]; buildInputs = [ From 6774d062fe8418d00385b284a0b9c50ffd58330f Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 18 Aug 2025 01:45:45 +0100 Subject: [PATCH 17/26] =?UTF-8?q?libsForQt5.qtwebengine:=20backport=20upst?= =?UTF-8?q?ream=20patch=20for=20gperf=20=E2=89=A5=203.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../qt-5/modules/qtwebengine-gperf-3.2.patch | 25 +++++++++++++++++++ .../libraries/qt-5/modules/qtwebengine.nix | 3 +++ 2 files changed, 28 insertions(+) create mode 100644 pkgs/development/libraries/qt-5/modules/qtwebengine-gperf-3.2.patch diff --git a/pkgs/development/libraries/qt-5/modules/qtwebengine-gperf-3.2.patch b/pkgs/development/libraries/qt-5/modules/qtwebengine-gperf-3.2.patch new file mode 100644 index 000000000000..f80c831361ab --- /dev/null +++ b/pkgs/development/libraries/qt-5/modules/qtwebengine-gperf-3.2.patch @@ -0,0 +1,25 @@ +Backported from: +Original author: Daniel Richard G + +diff --git a/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/gperf.py b/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/gperf.py +index 5ee4905..6c500a0 100644 +--- a/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/gperf.py ++++ b/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/gperf.py +@@ -36,10 +36,13 @@ def generate_gperf(gperf_path, gperf_input, gperf_args): + # https://savannah.gnu.org/bugs/index.php?53028 + gperf_output = re.sub(r'\bregister ', '', gperf_output) + # -Wimplicit-fallthrough needs an explicit fallthrough statement, +- # so replace gperf's /*FALLTHROUGH*/ comment with the statement. +- # https://savannah.gnu.org/bugs/index.php?53029 +- gperf_output = gperf_output.replace('/*FALLTHROUGH*/', +- ' FALLTHROUGH;') ++ # so replace gperf 3.1's /*FALLTHROUGH*/ comment with the statement. ++ # https://savannah.gnu.org/bugs/index.php?53029 (fixed in 3.2) ++ if re.search( ++ r'/\* C\+\+ code produced by gperf version 3\.[01](\.\d+)? \*/', ++ gperf_output): ++ gperf_output = gperf_output.replace('/*FALLTHROUGH*/', ++ ' [[fallthrough]];') + # -Wpointer-to-int-cast warns about casting pointers to smaller ints + # Replace {(int)(long)&(foo), bar} with + # {static_cast(reinterpret_cast(&(foo)), bar} diff --git a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix index 93fd45a65d14..75c8eb7d19b9 100644 --- a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix +++ b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix @@ -219,6 +219,9 @@ qtModule ( hash = "sha256-DcAYOV9b30ogPCiedvQimEmiZpUJquk5j6WLjJxR54U="; extraPrefix = ""; }) + + # Fix the build with gperf ≥ 3.2 and Clang 19. + ./qtwebengine-gperf-3.2.patch ]; postPatch = '' From fb89ed36816388e7e2b05e9c20eb1175f25e8391 Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 11 Aug 2025 14:22:08 +0100 Subject: [PATCH 18/26] libsForQt5.qtwebengine: bump LLVM to 19 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Nobody is going to fix the warnings because it’s unmaintained and silencing them won’t make them go away. This will be marked `knownVulnerabilities` soon enough, too. We don’t need `overrideLibcxx` because LLVM 19 is currently the default and we’ll switch to the system C++ library on Darwin when bumping it. --- pkgs/development/libraries/qt-5/5.15/default.nix | 16 ++++------------ pkgs/top-level/all-packages.nix | 3 +-- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/pkgs/development/libraries/qt-5/5.15/default.nix b/pkgs/development/libraries/qt-5/5.15/default.nix index 47aa2b0e4172..38ecd3c90947 100644 --- a/pkgs/development/libraries/qt-5/5.15/default.nix +++ b/pkgs/development/libraries/qt-5/5.15/default.nix @@ -26,8 +26,7 @@ gst-plugins-base, gtk3, dconf, - llvmPackages_15, - overrideLibcxx, + llvmPackages_19, darwin, # options @@ -328,16 +327,9 @@ let qtwayland = callPackage ../modules/qtwayland.nix { }; qtwebchannel = callPackage ../modules/qtwebchannel.nix { }; qtwebengine = callPackage ../modules/qtwebengine.nix { - # The version of Chromium used by Qt WebEngine 5.15.x does not build with clang 16 due - # to the following errors: - # * -Wenum-constexpr-conversion: This is a downgradable error in clang 16, but it is planned - # to be made into a hard error in a future version of clang. Patches are not available for - # the version of v8 used by Chromium in Qt WebEngine, and fixing the code is non-trivial. - # * -Wincompatible-function-pointer-types: This is also a downgradable error generated - # starting with clang 16. Patches are available upstream that can be backported. - # Because the first error is non-trivial to fix and suppressing it risks future breakage, - # clang is pinned to clang 15. That also makes fixing the second set of errors unnecessary. - stdenv = if stdenv.cc.isClang then overrideLibcxx llvmPackages_15.stdenv else stdenv; + # Won’t build with Clang 20, as `-Wenum-constexpr-conversion` + # was made a hard error. + stdenv = if stdenv.cc.isClang then llvmPackages_19.stdenv else stdenv; inherit (srcs.qtwebengine) version; inherit (darwin) bootstrap_cmds; python = python3; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0079a97b32ea..88ffbcde7b7e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9099,8 +9099,7 @@ with pkgs; perl gtk3 python3 - llvmPackages_15 - overrideLibcxx + llvmPackages_19 darwin ; inherit (__splicedPackages.gst_all_1) gstreamer gst-plugins-base; From 257866d92b7fd7a1da0f1d98fddad3f8d1669792 Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 11 Aug 2025 13:33:22 +0100 Subject: [PATCH 19/26] flutterPackages-source.stable.engine: unpin LLVM Unclear why this reference and no other was pinned. It builds. --- pkgs/development/compilers/flutter/engine/package.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/development/compilers/flutter/engine/package.nix b/pkgs/development/compilers/flutter/engine/package.nix index 343a9957ea61..685aca5c3257 100644 --- a/pkgs/development/compilers/flutter/engine/package.nix +++ b/pkgs/development/compilers/flutter/engine/package.nix @@ -18,7 +18,6 @@ fetchgit, runCommand, llvmPackages, - llvmPackages_15, patchelf, openbox, xorg, @@ -217,7 +216,7 @@ stdenv.mkDerivation (finalAttrs: { cp -pr --reflink=auto $swiftshader src/flutter/third_party/swiftshader chmod -R u+w -- src/flutter/third_party/swiftshader - ln -s ${llvmPackages_15.llvm.monorepoSrc} src/flutter/third_party/swiftshader/third_party/llvm-project + ln -s ${llvmPackages.llvm.monorepoSrc} src/flutter/third_party/swiftshader/third_party/llvm-project mkdir -p src/flutter/buildtools/${constants.alt-platform} ln -s ${llvm} src/flutter/buildtools/${constants.alt-platform}/clang From 5af7cbec0b5c4ab1cc4b814b05f73e184c86f2d6 Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 11 Aug 2025 13:31:39 +0100 Subject: [PATCH 20/26] ghdl-llvm: unpin LLVM Per their [`configure` script] (but not their documentation!), they support up to LLVM 20. [`configure` script]: --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 88ffbcde7b7e..5ea4742a1764 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5314,7 +5314,7 @@ with pkgs; ghdl-llvm = callPackage ../by-name/gh/ghdl/package.nix { backend = "llvm"; - inherit (llvmPackages_15) llvm; + inherit (llvmPackages) llvm; }; gcc-arm-embedded = gcc-arm-embedded-14; From 86e39d17dba7ba049f8509e2d374288386cc94ec Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 11 Aug 2025 13:30:04 +0100 Subject: [PATCH 21/26] python313Packages.shiboken2: unpin LLVM --- pkgs/development/python-modules/shiboken2/default.nix | 6 +++--- pkgs/top-level/python-packages.nix | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/shiboken2/default.nix b/pkgs/development/python-modules/shiboken2/default.nix index bfe0d2f8d4e2..46850f4f80c0 100644 --- a/pkgs/development/python-modules/shiboken2/default.nix +++ b/pkgs/development/python-modules/shiboken2/default.nix @@ -6,7 +6,7 @@ cmake, qt5, libxcrypt, - llvmPackages_15, + llvmPackages, }: stdenv.mkDerivation { @@ -18,7 +18,7 @@ stdenv.mkDerivation { cd sources/shiboken2 ''; - CLANG_INSTALL_DIR = llvmPackages_15.libclang.out; + CLANG_INSTALL_DIR = llvmPackages.libclang.out; nativeBuildInputs = [ cmake @@ -32,7 +32,7 @@ stdenv.mkDerivation { ]; buildInputs = [ - llvmPackages_15.libclang + llvmPackages.libclang python.pkgs.setuptools qt5.qtbase qt5.qtxmlpatterns diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 897ed22dd676..03e6c8bdc103 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -16496,7 +16496,7 @@ self: super: with self; { shellingham = callPackage ../development/python-modules/shellingham { }; shiboken2 = toPythonModule ( - callPackage ../development/python-modules/shiboken2 { inherit (pkgs) cmake llvmPackages_15 qt5; } + callPackage ../development/python-modules/shiboken2 { inherit (pkgs) cmake llvmPackages qt5; } ); shiboken6 = toPythonModule ( From 529489ffd31fe33c98d7acd46921d99991189d16 Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 11 Aug 2025 11:50:54 +0100 Subject: [PATCH 22/26] androidenv.androidPkgs.emulator: drop unused LLVM library None of the libraries reference this. --- pkgs/development/mobile/androidenv/emulator.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pkgs/development/mobile/androidenv/emulator.nix b/pkgs/development/mobile/androidenv/emulator.nix index afb7634e36f5..6fc9ae8c759a 100644 --- a/pkgs/development/mobile/androidenv/emulator.nix +++ b/pkgs/development/mobile/androidenv/emulator.nix @@ -36,7 +36,6 @@ deployAndroidPackage { nss nspr alsa-lib - llvmPackages_15.libllvm.lib waylandpp.lib ] ) @@ -70,10 +69,6 @@ deployAndroidPackage { patchelf --replace-needed libtiff.so.5 libtiff.so "$file" || true done - for file in $out/libexec/android-sdk/emulator/lib64/vulkan/libvulkan_lvp.so; do - patchelf --replace-needed libLLVM-15.so.1 libLLVM-15.so "$file" || true - done - autoPatchelf $out # Wrap emulator so that it can load required libraries at runtime From 01e8f570c67955ab92be0ef352066f16b63940f2 Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 9 Aug 2025 21:56:22 +0100 Subject: [PATCH 23/26] nixos/malloc: unpin LLVM for Scudo This was using `llvmPackages_latest` before that became an alias. --- nixos/modules/config/malloc.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/config/malloc.nix b/nixos/modules/config/malloc.nix index dfcc6c8159e5..bc02fa5010d3 100644 --- a/nixos/modules/config/malloc.nix +++ b/nixos/modules/config/malloc.nix @@ -52,7 +52,7 @@ let or (throw "scudo not supported on ${pkgs.stdenv.hostPlatform.system}"); in { - libPath = "${pkgs.llvmPackages_14.compiler-rt}/lib/linux/libclang_rt.scudo-${systemPlatform}.so"; + libPath = "${pkgs.llvmPackages.compiler-rt}/lib/linux/libclang_rt.scudo-${systemPlatform}.so"; description = '' A user-mode allocator based on LLVM Sanitizer’s CombinedAllocator, which aims at providing additional mitigations against heap based From 21e1bb1152bd76a17ae3156305b7222c0b6ccda8 Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 9 Aug 2025 23:45:43 +0100 Subject: [PATCH 24/26] wasmedge: bump LLVM to 19 See: --- pkgs/development/tools/wasmedge/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/wasmedge/default.nix b/pkgs/development/tools/wasmedge/default.nix index 583afa178748..771d33daa3b6 100644 --- a/pkgs/development/tools/wasmedge/default.nix +++ b/pkgs/development/tools/wasmedge/default.nix @@ -2,7 +2,7 @@ lib, stdenv, fetchFromGitHub, - llvmPackages_17, + llvmPackages_19, boost, cmake, spdlog, @@ -20,7 +20,7 @@ let # ``` # # > Where `.#` is the flake path were the repo `wasmedge` was cloned at the expected version. - llvmPackages = llvmPackages_17; + llvmPackages = llvmPackages_19; in llvmPackages.stdenv.mkDerivation (finalAttrs: { pname = "wasmedge"; From 95926c7e8c2caf8fed8e5d9a99c4c6d37f89f837 Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 9 Aug 2025 21:46:59 +0100 Subject: [PATCH 25/26] c2ffi: llvm-16.0.0-0-unstable-2023-11-18 -> llvm-18.1.0-0-unstable-2024-04-20 --- pkgs/by-name/c2/c2ffi/package.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/c2/c2ffi/package.nix b/pkgs/by-name/c2/c2ffi/package.nix index eaeebe044e4f..3f45fb6567ec 100644 --- a/pkgs/by-name/c2/c2ffi/package.nix +++ b/pkgs/by-name/c2/c2ffi/package.nix @@ -2,24 +2,24 @@ lib, fetchFromGitHub, cmake, - llvmPackages_16, + llvmPackages_18, unstableGitUpdater, }: let - c2ffiBranch = "llvm-16.0.0"; - llvmPackages = llvmPackages_16; + c2ffiBranch = "llvm-18.1.0"; + llvmPackages = llvmPackages_18; in llvmPackages.stdenv.mkDerivation { pname = "c2ffi-${c2ffiBranch}"; - version = "0-unstable-2023-11-18"; + version = "0-unstable-2024-04-20"; src = fetchFromGitHub { owner = "rpav"; repo = "c2ffi"; - rev = "097cbe61ca02dc79ea60859aa056975131a9d985"; - hash = "sha256-pflolW5OoEkVDozy4cjCdUIVxgE/SfVKIhQyNBDhENc="; + rev = "0de81efb64acc82c08c5eee4a7108ddcb1b00d86"; + hash = "sha256-q81Vxq/6h/5jgQ1Leq15klN/8L+UiavlxkARGo2SrJ0="; }; passthru.updateScript = unstableGitUpdater { From dd781e6aad59851eac92df199504ccc4ea552c48 Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 9 Aug 2025 22:18:31 +0100 Subject: [PATCH 26/26] terra: 1.1.0 -> 1.2.0 --- pkgs/by-name/te/terra/package.nix | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/pkgs/by-name/te/terra/package.nix b/pkgs/by-name/te/terra/package.nix index a34a0ea1421c..ec78ab0a881a 100644 --- a/pkgs/by-name/te/terra/package.nix +++ b/pkgs/by-name/te/terra/package.nix @@ -2,7 +2,7 @@ lib, stdenv, fetchFromGitHub, - llvmPackages_16, + llvmPackages_18, ncurses, cmake, libxml2, @@ -14,17 +14,17 @@ }: let - luajitRev = "50936d784474747b4569d988767f1b5bab8bb6d0"; + luajitRev = "83954100dba9fc0cf5eeaf122f007df35ec9a604"; luajitBase = "LuaJIT-${luajitRev}"; luajitArchive = "${luajitBase}.tar.gz"; luajitSrc = fetchFromGitHub { owner = "LuaJIT"; repo = "LuaJIT"; rev = luajitRev; - sha256 = "1g87pl014b5v6z2nnhiwn3wf405skawszfr5wdzyfbx00j3kgxd0"; + hash = "sha256-L9T6lc32dDLAp9hPI5mKOzT0c4juW9JHA3FJCpm7HNQ="; }; - llvmPackages = llvmPackages_16; + llvmPackages = llvmPackages_18; llvmMerged = symlinkJoin { name = "llvmClangMerged"; paths = with llvmPackages; [ @@ -37,20 +37,20 @@ let ]; }; - cuda = cudaPackages.cudatoolkit_11; + cuda = cudaPackages.cudatoolkit; clangVersion = llvmPackages.clang-unwrapped.version; in stdenv.mkDerivation rec { pname = "terra"; - version = "1.1.0"; + version = "1.2.0"; src = fetchFromGitHub { owner = "terralang"; repo = "terra"; rev = "release-${version}"; - sha256 = "0v9vpxcp9ybwnfljskqn41vjq7c0srdfv7qs890a6480pnk4kavd"; + hash = "sha256-CukNCvTHZUhjdHyvDUSH0YCVNkThUFPaeyLepyEKodA="; }; nativeBuildInputs = [ cmake ]; @@ -65,9 +65,7 @@ stdenv.mkDerivation rec { cmakeFlags = let - resourceDir = - "${llvmMerged}/lib/clang/" - + (if lib.versionOlder clangVersion "16" then clangVersion else lib.versions.major clangVersion); + resourceDir = "${llvmMerged}/lib/clang/${lib.versions.major clangVersion}"; in [ "-DHAS_TERRA_VERSION=0"