From f1ff5c99dd0bcfa9442268372284cafabf9753bb Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Tue, 12 Nov 2024 15:10:56 +1000 Subject: [PATCH] nix: switch to darwinMinVersionHook (cherry picked from commit dd0e17573be7d8da13b168045f3b60fa2b4b580d) --- pkgs/tools/package-management/nix/common.nix | 10 +++++++ pkgs/tools/package-management/nix/default.nix | 27 +++---------------- 2 files changed, 14 insertions(+), 23 deletions(-) diff --git a/pkgs/tools/package-management/nix/common.nix b/pkgs/tools/package-management/nix/common.nix index 5c913f681275..62b8e2dbcf3a 100644 --- a/pkgs/tools/package-management/nix/common.nix +++ b/pkgs/tools/package-management/nix/common.nix @@ -44,6 +44,7 @@ in , coreutils , curl , darwin +, darwinMinVersionHook , docbook_xsl_ns , docbook5 , editline @@ -162,6 +163,15 @@ self = stdenv.mkDerivation { aws-sdk-cpp ] ++ lib.optional (atLeast218 && stdenv.hostPlatform.isDarwin) [ darwin.apple_sdk.libs.sandbox + ] ++ lib.optional (atLeast224 && stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ + # Fix the following error with the default x86_64-darwin SDK: + # + # error: aligned allocation function of type 'void *(std::size_t, std::align_val_t)' is only available on macOS 10.13 or newer + # + # Despite the use of the 10.13 deployment target here, the aligned + # allocation function Clang uses with this setting actually works + # all the way back to 10.6. + (darwinMinVersionHook "10.13") ]; diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 1a3ac948c0b5..22cb06f0a03d 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -9,7 +9,6 @@ , fetchpatch , fetchpatch2 , runCommand -, overrideSDK , buildPackages , Security @@ -210,22 +209,13 @@ in lib.makeExtensible (self: ({ self_attribute_name = "nix_2_23"; }; - nix_2_24 = (common { + nix_2_24 = common { version = "2.24.10"; hash = "sha256-XdeVy1/d6DEIYb3nOA6JIYF4fwMKNxtwJMgT3pHi+ko="; self_attribute_name = "nix_2_24"; - }).override (lib.optionalAttrs (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) { - # Fix the following error with the default x86_64-darwin SDK: - # - # error: aligned allocation function of type 'void *(std::size_t, std::align_val_t)' is only available on macOS 10.13 or newer - # - # Despite the use of the 10.13 deployment target here, the aligned - # allocation function Clang uses with this setting actually works - # all the way back to 10.6. - stdenv = overrideSDK stdenv { darwinMinVersion = "10.13"; }; - }); + }; - git = (common rec { + git = common rec { version = "2.25.0"; suffix = "pre20241101_${lib.substring 0 8 src.rev}"; src = fetchFromGitHub { @@ -235,16 +225,7 @@ in lib.makeExtensible (self: ({ hash = "sha256-E1Sp0JHtbD1CaGO3UbBH6QajCtOGqcrVfPSKL0n63yo="; }; self_attribute_name = "git"; - }).override (lib.optionalAttrs (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) { - # Fix the following error with the default x86_64-darwin SDK: - # - # error: aligned allocation function of type 'void *(std::size_t, std::align_val_t)' is only available on macOS 10.13 or newer - # - # Despite the use of the 10.13 deployment target here, the aligned - # allocation function Clang uses with this setting actually works - # all the way back to 10.6. - stdenv = overrideSDK stdenv { darwinMinVersion = "10.13"; }; - }); + }; latest = self.nix_2_24;