diff --git a/pkgs/os-specific/darwin/apple-source-releases/AvailabilityVersions/default.nix b/pkgs/os-specific/darwin/apple-source-releases/AvailabilityVersions/package.nix similarity index 77% rename from pkgs/os-specific/darwin/apple-source-releases/AvailabilityVersions/default.nix rename to pkgs/os-specific/darwin/apple-source-releases/AvailabilityVersions/package.nix index c80dd6235e41..d5737ddd19fd 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/AvailabilityVersions/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/AvailabilityVersions/package.nix @@ -1,16 +1,26 @@ { lib, - stdenvNoCC, - appleDerivation', - gnused, - python3, + apple-sdk, + buildPackages, + mkAppleDerivation, unifdef, }: -appleDerivation' stdenvNoCC { - nativeBuildInputs = [ unifdef ]; +let + inherit (buildPackages) gnused python3; +in +mkAppleDerivation (finalAttrs: { + releaseName = "AvailabilityVersions"; - patches = [ ./0001-Support-setting-an-upper-bound-on-versions.patch ]; + patches = [ + # Add support for setting an upper bound, which is needed by the `gen-headers` script. + # It avoids having pre-process the DSL to remove unwanted versions. + ./patches/0001-Support-setting-an-upper-bound-on-versions.patch + ]; + + noCC = true; + + nativeBuildInputs = [ unifdef ]; buildPhase = '' runHook preBuild @@ -33,7 +43,7 @@ appleDerivation' stdenvNoCC { cp -r availability.dsl templates "$out/share/availability/" substitute availability "$out/libexec/availability" \ - --replace-fail '/usr/bin/env python3' '${lib.getBin python3}/bin/python3' \ + --replace-fail '/usr/bin/env python3' '${lib.getExe python3}' \ --replace-fail 'f"{os.path.abspath(os.path.dirname(sys.argv[0]))}/' "\"$out/share/availability/" chmod a+x "$out/libexec/availability" @@ -61,7 +71,7 @@ appleDerivation' stdenvNoCC { --preprocess "$out/share/availability/templates/\$header_src" "\$dest/include/\$header" done - # `__ENVIRONMENT_OS_VERSION_MIN_REQUIRED__` is only defined by clang 17+, so define it for older versions. + # __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ is only defined by clang 17+, so define it for older versions. ${lib.getExe gnused} -E '/#ifndef __MAC_OS_X_VERSION_MIN_REQUIRED/{ i#ifndef __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ i#define __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ @@ -95,5 +105,9 @@ appleDerivation' stdenvNoCC { runHook postInstall ''; - meta.mainProgram = "gen-headers"; -} + meta = { + description = "Generates Darwin Availability headers"; + mainProgram = "gen-headers"; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/os-specific/darwin/apple-source-releases/AvailabilityVersions/0001-Support-setting-an-upper-bound-on-versions.patch b/pkgs/os-specific/darwin/apple-source-releases/AvailabilityVersions/patches/0001-Support-setting-an-upper-bound-on-versions.patch similarity index 100% rename from pkgs/os-specific/darwin/apple-source-releases/AvailabilityVersions/0001-Support-setting-an-upper-bound-on-versions.patch rename to pkgs/os-specific/darwin/apple-source-releases/AvailabilityVersions/patches/0001-Support-setting-an-upper-bound-on-versions.patch diff --git a/pkgs/os-specific/darwin/apple-source-releases/default.nix b/pkgs/os-specific/darwin/apple-source-releases/default.nix index ab0313cfb0c3..47e170e0a142 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/default.nix @@ -260,7 +260,7 @@ developerToolsPackages_11_3_1 // macosPackages_11_0_1 // { inherit (self.adv_cmds) ps locale; architecture = applePackage "architecture" "osx-10.11.6" "sha256-cUKeMx6mOAxBSRHIdfzsrR65Qv86m7+20XvpKqVfwVI=" {}; - AvailabilityVersions = applePackage "AvailabilityVersions" "macos-14.4" "sha256-O9/EOsbK5ZXxh6iDSTwGWWrY5GX/viUwdfG3tdvZwcQ=" {}; + AvailabilityVersions = callPackage ./AvailabilityVersions/package.nix { }; bsdmake = applePackage "bsdmake" "dev-tools-3.2.6" "sha256-CW8zP5QZMhWTGp+rhrm8oHE/vSLsRlv1VRAGe1OUDmI=" {}; CarbonHeaders = applePackage "CarbonHeaders" "osx-10.6.2" "sha256-UNaHvxzYzEBnYYuoMLqWUVprZa6Wqn/3XleoSCco050=" {}; CommonCrypto = applePackage "CommonCrypto" "osx-10.12.6" "sha256-FLgODBrfv+XsGaAjddncYAm/BIJJYw6LcwX/z7ncKFM=" {}; diff --git a/pkgs/os-specific/darwin/apple-source-releases/versions.json b/pkgs/os-specific/darwin/apple-source-releases/versions.json index 1b5d02c09599..1f50c6ad5dd9 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/versions.json +++ b/pkgs/os-specific/darwin/apple-source-releases/versions.json @@ -1,4 +1,8 @@ { + "AvailabilityVersions": { + "hash": "sha256-O9/EOsbK5ZXxh6iDSTwGWWrY5GX/viUwdfG3tdvZwcQ=", + "version": "140.1" + }, "adv_cmds": { "hash": "sha256-Ztp8ALWcviEpthoiY8ttWzGI8OcsLzsULjlqe8GIzw8=", "version": "163"