From 6567823996e216e8bdfd4fbdb4ad3ed92572dbe7 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Mon, 13 Jan 2020 17:56:02 +0100 Subject: stdenv: introduce appleSdkVersion and macosVersionMin --- pkgs/os-specific/darwin/apple-sdk/default.nix | 7 ++++++- pkgs/stdenv/darwin/default.nix | 16 +++++++++------- 2 files changed, 15 insertions(+), 8 deletions(-) (limited to 'pkgs') diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix index 9890d385259c..89c13d0b92d7 100644 --- a/pkgs/os-specific/darwin/apple-sdk/default.nix +++ b/pkgs/os-specific/darwin/apple-sdk/default.nix @@ -1,10 +1,15 @@ { stdenv, fetchurl, xar, cpio, pkgs, python3, pbzx, lib }: +let version = "10.12"; in + +# Ensure appleSdkVersion is up to date. +assert stdenv.isDarwin -> stdenv.appleSdkVersion == version; + let # sadly needs to be exported because security_tool needs it sdk = stdenv.mkDerivation rec { - version = "10.12"; pname = "MacOS_SDK"; + inherit version; # This URL comes from https://swscan.apple.com/content/catalogs/others/index-10.12.merged-1.sucatalog, which we found by: # 1. Google: site:swscan.apple.com and look for a name that seems appropriate for your version diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix index 207502285b2e..7a9c20fd6a7b 100644 --- a/pkgs/stdenv/darwin/default.nix +++ b/pkgs/stdenv/darwin/default.nix @@ -1,6 +1,9 @@ { lib , localSystem, crossSystem, config, overlays, crossOverlays ? [] - +# The version of darwin.apple_sdk used for sources provided by apple. +, appleSdkVersion ? "10.12" +# Minimum required macOS version, used both for compatibility as well as reproducability. +, macosVersionMin ? "10.12" # Allow passing in bootstrap files directly so we can test the stdenv bootstrap process when changing the bootstrap tools , bootstrapFiles ? let fetch = { file, sha256, executable ? true }: import { @@ -35,8 +38,8 @@ in rec { export SDKROOT= # Ensure consistent LC_VERSION_MIN_MACOSX and remove LC_UUID. - export MACOSX_DEPLOYMENT_TARGET=10.12 - export NIX_LDFLAGS+=" -macosx_version_min 10.12 -sdk_version 10.12 -no_uuid" + export MACOSX_DEPLOYMENT_TARGET=${macosVersionMin} + export NIX_LDFLAGS+=" -macosx_version_min ${macosVersionMin} -sdk_version ${appleSdkVersion} -no_uuid" # Workaround for https://openradar.appspot.com/22671534 on 10.11. export gl_cv_func_getcwd_abort_bug=no @@ -135,8 +138,7 @@ in rec { __extraImpureHostDeps = commonImpureHostDeps; extraAttrs = { - inherit platform; - parent = last; + inherit macosVersionMin appleSdkVersion platform; }; overrides = self: super: (overrides self super) // { fetchurl = thisStdenv.fetchurlBoot; }; }; @@ -405,9 +407,9 @@ in rec { extraBuildInputs = [ pkgs.darwin.CF ]; extraAttrs = { - inherit platform bootstrapTools; - libc = pkgs.darwin.Libsystem; + libc = pkgs.darwin.Libsystem; shellPackage = pkgs.bash; + inherit macosVersionMin appleSdkVersion platform bootstrapTools; }; allowedRequisites = (with pkgs; [ -- cgit 1.4.1