summary refs log tree commit diff
path: root/pkgs/stdenv
diff options
context:
space:
mode:
authorK900 <me@0upti.me>2023-11-17 14:06:37 +0300
committerGitHub <noreply@github.com>2023-11-17 14:06:37 +0300
commitb40035f472667e9e56805338f2577db2e1f5ca9e (patch)
treef5d4deebc603cd4582b6b0498c1296ec8ce5c5a1 /pkgs/stdenv
parent2542afeb0d81db4d1e5bc8df8354cbdcc29c2f53 (diff)
parent985ff1cb889d5a438c6812ed827f375c1ee92b99 (diff)
downloadnixpkgs-b40035f472667e9e56805338f2577db2e1f5ca9e.tar
nixpkgs-b40035f472667e9e56805338f2577db2e1f5ca9e.tar.gz
nixpkgs-b40035f472667e9e56805338f2577db2e1f5ca9e.tar.bz2
nixpkgs-b40035f472667e9e56805338f2577db2e1f5ca9e.tar.lz
nixpkgs-b40035f472667e9e56805338f2577db2e1f5ca9e.tar.xz
nixpkgs-b40035f472667e9e56805338f2577db2e1f5ca9e.tar.zst
nixpkgs-b40035f472667e9e56805338f2577db2e1f5ca9e.zip
Merge pull request #267058 from toonn/bootstrap-tools-specify-llvm
freshBootstrapTools: Overlay the package set with the desired LLVM
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r--pkgs/stdenv/darwin/make-bootstrap-tools.nix22
1 files changed, 18 insertions, 4 deletions
diff --git a/pkgs/stdenv/darwin/make-bootstrap-tools.nix b/pkgs/stdenv/darwin/make-bootstrap-tools.nix
index deda9b052e5..1324c78c5fd 100644
--- a/pkgs/stdenv/darwin/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/darwin/make-bootstrap-tools.nix
@@ -1,5 +1,21 @@
 { pkgspath ? ../../.., test-pkgspath ? pkgspath
 , localSystem ? { system = builtins.currentSystem; }
+# Specify the desired LLVM version in an overlay to avoid the use of
+# mismatching versions.
+#
+# The llvmPackages that we take things (clang, libc++ and such) from
+# is specified explicitly to be llvmPackages_11 to keep the
+# bootstrap-tools stable.  However, tools like otool,
+# install_name_tool and strip are taken straight from stdenv.cc,
+# which, after the bump, is a different LLVM version altogether.
+#
+# The original intent was that bootstrap-tools specified LLVM 11
+# exhaustively but it didn't. That should be rectified with this
+# PR. As to why stick with 11? That's just to keep the
+# bootstrap-tools unchanged.
+#
+# https://github.com/NixOS/nixpkgs/pull/267058/files#r1390889848
+, overlays ? [(self: super: { llvmPackages = super.llvmPackages_11; })]
 , crossSystem ? null
 , bootstrapFiles ? null
 }:
@@ -13,11 +29,9 @@ let cross = if crossSystem != null
               in (import "${pkgspath}/pkgs/stdenv/darwin" args');
            }
       else {};
-in with import pkgspath ({ inherit localSystem; } // cross // custom-bootstrap);
+in with import pkgspath ({ inherit localSystem overlays; } // cross // custom-bootstrap);
 
-let
-  llvmPackages = llvmPackages_11;
-in rec {
+rec {
   coreutils_ = coreutils.override (args: {
     # We want coreutils without ACL support.
     aclSupport = false;