about summary refs log tree commit diff
path: root/pkgs/applications/networking/browsers/chromium
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2024-06-10 00:08:48 +0100
committerAlyssa Ross <hi@alyssa.is>2024-06-10 19:18:36 +0200
commita71762621bb17c2c19a31fa50926c78007907d76 (patch)
treec514e00b7498939be19d1a60d1796cb3d716193b /pkgs/applications/networking/browsers/chromium
parenta269b980e929a1b39fa2f26428cb78a3dc78090d (diff)
electron: fix build
Just like with Firefox, we need to make sure there's only a single
version of LLVM involved in building Chromium, or we get errors like
this:

	ld.lld: error: Invalid record (Producer: 'LLVM18.1.7' Reader: 'LLVM 17.0.6')

Fixes: 23d4f834536b ("cargo,clippy,rustc,rustfmt: 1.77.2 -> 1.78.0")
Diffstat (limited to 'pkgs/applications/networking/browsers/chromium')
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix9
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix8
2 files changed, 6 insertions, 11 deletions
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index cfec6dab281df..a7955b7e61f23 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -12,7 +12,6 @@
 , ninja, pkg-config
 , python3, perl
 , which
-, llvmPackages_attrName
 , libuuid
 , overrideCC
 # postPatch:
@@ -131,7 +130,7 @@ let
   # https://github.com/NixOS/nixpkgs/issues/142901
   buildPlatformLlvmStdenv =
     let
-      llvmPackages = pkgsBuildBuild.${llvmPackages_attrName};
+      llvmPackages = pkgsBuildBuild.rustc.llvmPackages;
     in
       overrideCC llvmPackages.stdenv
         (llvmPackages.stdenv.cc.override {
@@ -164,7 +163,7 @@ let
       ninja pkg-config
       python3WithPackages perl
       which
-      buildPackages.${llvmPackages_attrName}.bintools
+      buildPackages.rustc.llvmPackages.bintools
       bison gperf
     ];
 
@@ -381,8 +380,8 @@ let
     llvmCcAndBintools = symlinkJoin {
       name = "llvmCcAndBintools";
       paths = [
-        buildPackages.${llvmPackages_attrName}.llvm
-        buildPackages.${llvmPackages_attrName}.stdenv.cc
+        buildPackages.rustc.llvmPackages.llvm
+        buildPackages.rustc.llvmPackages.stdenv.cc
       ];
     };
 
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index afd25b972d785..317cb7de1011b 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -24,11 +24,7 @@
 }:
 
 let
-  # Sometimes we access `llvmPackages` via `pkgs`, and other times
-  # via `pkgsFooBar`, so a string (attrname) is the only way to have
-  # a single point of control over the LLVM version used.
-  llvmPackages_attrName = "llvmPackages_17";
-  stdenv = pkgs.${llvmPackages_attrName}.stdenv;
+  stdenv = pkgs.rustc.llvmPackages.stdenv;
 
   # Helper functions for changes that depend on specific versions:
   warnObsoleteVersionConditional = min-version: result:
@@ -48,7 +44,7 @@ let
   callPackage = newScope chromium;
 
   chromium = rec {
-    inherit stdenv llvmPackages_attrName upstream-info;
+    inherit stdenv upstream-info;
 
     mkChromiumDerivation = callPackage ./common.nix ({
       inherit channel chromiumVersionAtLeast versionRange;