From 088c4adc0a13161783e524c6891eb68da02d3b3d Mon Sep 17 00:00:00 2001 From: Sam <30577766+Samasaur1@users.noreply.github.com> Date: Fri, 17 Oct 2025 10:26:09 -0500 Subject: [PATCH 1/5] apple-sdk_26-test: init This should compile with the Xcode 26 toolchain, and should run on all versions of macOS. On 26+, it should print "/private/tmp", while on earlier versions it should print ":(". It should fail to build in nixpkgs --- pkgs/by-name/ap/apple-sdk_26-test/package.nix | 19 +++++++++++++++++ .../apple-sdk_26-test/src/apple-sdk_26-test.m | 21 +++++++++++++++++++ .../ap/apple-sdk_26-test/src/meson.build | 2 ++ 3 files changed, 42 insertions(+) create mode 100644 pkgs/by-name/ap/apple-sdk_26-test/package.nix create mode 100644 pkgs/by-name/ap/apple-sdk_26-test/src/apple-sdk_26-test.m create mode 100644 pkgs/by-name/ap/apple-sdk_26-test/src/meson.build diff --git a/pkgs/by-name/ap/apple-sdk_26-test/package.nix b/pkgs/by-name/ap/apple-sdk_26-test/package.nix new file mode 100644 index 0000000000000..dfb5aa59c7b87 --- /dev/null +++ b/pkgs/by-name/ap/apple-sdk_26-test/package.nix @@ -0,0 +1,19 @@ +{ + lib, + stdenv, + meson, + ninja, +}: + +stdenv.mkDerivation { + name = "apple-sdk_26-test"; + + src = ./src; + + nativeBuildInputs = [ + meson + ninja + ]; + + meta.mainProgram = "apple-sdk_26-test"; +} diff --git a/pkgs/by-name/ap/apple-sdk_26-test/src/apple-sdk_26-test.m b/pkgs/by-name/ap/apple-sdk_26-test/src/apple-sdk_26-test.m new file mode 100644 index 0000000000000..21fc3af5253ad --- /dev/null +++ b/pkgs/by-name/ap/apple-sdk_26-test/src/apple-sdk_26-test.m @@ -0,0 +1,21 @@ +#include +#include + +int main(int argc, char** argv, char** env) { + if (@available(macOS 26, *)) { + int ret; + pid_t pid; + posix_spawn_file_actions_t actions; + if ((ret = posix_spawn_file_actions_init(&actions))) { + printf("cannot create file_actions\n"); + } + if ((ret = posix_spawn_file_actions_addchdir(&actions, "/tmp"))) { + printf("cannot add_chdir\n"); + } + if ((ret = posix_spawnp(&pid, "pwd", &actions, NULL, argv, env))) { + printf("cannot spawn\n"); + } + } else { + printf(":(\n"); + } +} diff --git a/pkgs/by-name/ap/apple-sdk_26-test/src/meson.build b/pkgs/by-name/ap/apple-sdk_26-test/src/meson.build new file mode 100644 index 0000000000000..ef3a4c6179aac --- /dev/null +++ b/pkgs/by-name/ap/apple-sdk_26-test/src/meson.build @@ -0,0 +1,2 @@ +project('apple-sdk_26-test', 'objc') +executable('apple-sdk_26-test', 'apple-sdk_26-test.m', install : true) From 23c079624b7cfe8f5e2de96be272d6dba8b94f41 Mon Sep 17 00:00:00 2001 From: Sam <30577766+Samasaur1@users.noreply.github.com> Date: Fri, 17 Oct 2025 10:49:16 -0500 Subject: [PATCH 2/5] apple-sdk_26: init --- .../metadata/apple-oss-lockfile.json | 178 ++++++++++++++++++ .../ap/apple-sdk/metadata/versions.json | 8 + pkgs/top-level/all-packages.nix | 1 + 3 files changed, 187 insertions(+) diff --git a/pkgs/by-name/ap/apple-sdk/metadata/apple-oss-lockfile.json b/pkgs/by-name/ap/apple-sdk/metadata/apple-oss-lockfile.json index 2dc99f12620d5..63890c9d93696 100644 --- a/pkgs/by-name/ap/apple-sdk/metadata/apple-oss-lockfile.json +++ b/pkgs/by-name/ap/apple-sdk/metadata/apple-oss-lockfile.json @@ -888,5 +888,183 @@ "hash": "sha256-o4tCuCAIgAYg/Li3wTs12mVWr5C/4vbwu1zi+kJ9d6w=", "version": "11417.121.6" } + }, + "26.0": { + "CarbonHeaders": { + "hash": "sha256-nIPXnLr21yVnpBhx9K5q3l/nPARA6JL/dED08MeyhP8=", + "version": "18.1" + }, + "CommonCrypto": { + "hash": "sha256-+qAwL6+s7di9cX/qXtapLkjCFoDuZaSYltRJEG4qekM=", + "version": "600035" + }, + "IOAudioFamily": { + "hash": "sha256-A3iiAjjP29VdjMj40tLS5Q/ni4qeh9bBpnmNzeG2pIY=", + "version": "700.2" + }, + "IOBDStorageFamily": { + "hash": "sha256-OcQUJ3nEfrpvWX/npnedJ4PECIGWFSLiM0PKoiH911w=", + "version": "26" + }, + "IOCDStorageFamily": { + "hash": "sha256-p/2qM5zjXFDRb/DISpEHxQEdvmuLlRGt/Ygc71Yu2rI=", + "version": "62" + }, + "IODVDStorageFamily": { + "hash": "sha256-1Sa8aZBGNtqJBNHva+YXxET6Wcdm2PgVrTzYT/8qrN4=", + "version": "46" + }, + "IOFWDVComponents": { + "hash": "sha256-WkfkWnzRupEh20U7vjsTta89clhus6GTkOpXQWXw/bM=", + "version": "208" + }, + "IOFireWireAVC": { + "hash": "sha256-qR9lSTa7PN5Z9Nis4tfuXlcZGMIU48dete/NPD0UBbE=", + "version": "436" + }, + "IOFireWireFamily": { + "hash": "sha256-hmErAXjLWIelqJaCrB8J4IiIxyB7S6EHFY+AY9YhmKQ=", + "version": "492" + }, + "IOFireWireSBP2": { + "hash": "sha256-Xk+PDnUaO9q46nQwHwTKf/QXtGclfs0wTWiUbcV7e4s=", + "version": "454" + }, + "IOFireWireSerialBusProtocolTransport": { + "hash": "sha256-cM/VFhVWNVwdJYk+mme0UYttQd7eJwd7Hlo7KNRyHY0=", + "version": "262" + }, + "IOGraphics": { + "hash": "sha256-iysZE42mOKZbFxSZBNspaBTCRKEKK38DFGBxZWQxZxI=", + "version": "599" + }, + "IOHIDFamily": { + "hash": "sha256-YLnabX90g4Q8LxjwVuJF6KODCDxychWV+VJaNG9d8fI=", + "version": "2222.0.24" + }, + "IOKitUser": { + "hash": "sha256-ngwi8YMUqE0q8j7Lr5cqJwi2V+IDu3ie3bduotHIUJU=", + "version": "100222.0.4" + }, + "IONetworkingFamily": { + "hash": "sha256-ZF5ML41Y1l1liQn32qTkcl4mMvx9Xdizb9VgvTzVTL4=", + "version": "186" + }, + "IOSerialFamily": { + "hash": "sha256-wVS4QTx6MBOS0VrwyCZ3s5Usezwaf8rWzmNnfdDTXTU=", + "version": "93" + }, + "IOStorageFamily": { + "hash": "sha256-1FKSF622qeXPGngA3UmQ2M/IU1pdlMoYBPbXytUFDaQ=", + "version": "331" + }, + "IOUSBFamily": { + "hash": "sha256-Z0E3TfKP49toYo1Fo9kElRap8CZ+mVDHy5RIexgJTpA=", + "version": "630.4.5" + }, + "Libc": { + "hash": "sha256-k+HQ+qgye0ORFm0hU8WzE4ysbbEoFZ7wcbVl5giDH/E=", + "version": "1725.0.11" + }, + "Libinfo": { + "hash": "sha256-4InBEPi0n2EMo/8mIBib1Im4iTKRcRJ4IlAcLCigVGk=", + "version": "600" + }, + "Libm": { + "hash": "sha256-p4BndAag9d0XSMYWQ+c4myGv5qXbKx5E1VghudSbpTk=", + "version": "2026" + }, + "Libnotify": { + "hash": "sha256-p8cJZlBYOFmI1NDHXGYjgcv8z9Ldc1amZuYlxxJfeVY=", + "version": "344.0.1" + }, + "Librpcsvc": { + "hash": "sha256-UWYdCQ9QsBqwM01bWr+igINAHSdSluB/FrOclC5AjTI=", + "version": "31" + }, + "Libsystem": { + "hash": "sha256-/NlSwPaoTVx+bl9hYsfz3C5MuLdqGv4vdAh0KDbDKmY=", + "version": "1356" + }, + "OpenDirectory": { + "hash": "sha256-6fSl8PasCZSBfe0ftaePcBuSEO3syb6kK+mfDI6iR7A=", + "version": "146" + }, + "Security": { + "hash": "sha256-oxOvZsDoNYZNiWf+MASHrR4Q2o5oaqvK2We51hH7CO8=", + "version": "61901.0.87.0.1" + }, + "architecture": { + "hash": "sha256-PRNUrhzSOrwmxSPkKmV0LV7yEIik65sdkfKdBqcwFhU=", + "version": "282" + }, + "configd": { + "hash": "sha256-58or+OQP788UgQKO7Y8k8pY/enaSqH971ks7xCPu8fA=", + "version": "1385.0.7" + }, + "copyfile": { + "hash": "sha256-I9uDi5BDQKa7mO3XpHxv0d6PiROW2ueZ3vGfrsG0OJo=", + "version": "230.0.1.0.1" + }, + "dtrace": { + "hash": "sha256-5HpH6Cg8vWWzOX5ADD//izKDvqGnzV05Giju8lmGeyA=", + "version": "413" + }, + "dyld": { + "hash": "sha256-jzoFLwbms0rUwzyjYif/r6Rmr4kyn+as/bhc4paEPeY=", + "version": "1323.3" + }, + "eap8021x": { + "hash": "sha256-17bseWT4OWMA8hF+YSDDjxhVyJpbpP2xwv8dGti1YoM=", + "version": "368.0.3" + }, + "hfs": { + "hash": "sha256-OkgqZ03gwn2hTuHxZrPDmQOrY4Dwu7MrX+BfG+PTgvE=", + "version": "704.0.3.0.2" + }, + "launchd": { + "hash": "sha256-8mW9bnuHmRXCx9py8Wy28C5b2QPICW0rlAps5njYa00=", + "version": "842.1.4" + }, + "libclosure": { + "hash": "sha256-pvwfcbeEJmTEPdt6/lgVswiabLRG+sMN6VT5FwG7C4Q=", + "version": "96" + }, + "libdispatch": { + "hash": "sha256-L0+Ho9dAlMXVpqFEGIcIMsJc0gULckRulUImNEZe5MU=", + "version": "1542.0.4" + }, + "libmalloc": { + "hash": "sha256-482hgm1ESr3LWC/JhuQNGNu9smsa2Eap49/eH+YNAio=", + "version": "792.1.1" + }, + "libplatform": { + "hash": "sha256-wGZ2Im81mRXx6epgj/tbOJpg89CEbAr0Z8oFEpkyNMU=", + "version": "359.1.2" + }, + "libpthread": { + "hash": "sha256-VuMpQjxuMsdHsFq0q6QIWSWi88gVF2jNzIfti20Gkbw=", + "version": "539" + }, + "mDNSResponder": { + "hash": "sha256-iRqCpPAQDRjgRbRz3s6q2oyzq6xo+w4FTBai79104Zo=", + "version": "2881.0.25" + }, + "objc4": { + "hash": "sha256-Nlgr36yLvGkUJIEFQ5w8FAB0r2syEsRTw0KuUShNT8E=", + "version": "950" + }, + "ppp": { + "hash": "sha256-FzHZ05o7JxwgTqz0e3D68b/DiLu2x2ErzGMh0U78fLo=", + "version": "1020.1.1" + }, + "removefile": { + "hash": "sha256-Z5UD0mk/s80CQB0PZWDzSl2JWXmnVmwUvlNb28+hR3k=", + "version": "84" + }, + "xnu": { + "hash": "sha256-Cuf7kPtsn4CPXqyZmxVsJlA5i+Ikryp8ezJyGrvT63c=", + "version": "12377.1.9" + } } } diff --git a/pkgs/by-name/ap/apple-sdk/metadata/versions.json b/pkgs/by-name/ap/apple-sdk/metadata/versions.json index 6c0b1ecabf462..303f456f96149 100644 --- a/pkgs/by-name/ap/apple-sdk/metadata/versions.json +++ b/pkgs/by-name/ap/apple-sdk/metadata/versions.json @@ -38,5 +38,13 @@ ], "version": "15.5", "hash": "sha256-HBiSJuw1XBUK5R/8Sj65c3rftSEvQl/O9ZZVp/g1Amo=" + }, + "26": { + "urls": [ + "https://swcdn.apple.com/content/downloads/27/62/093-35114-A_AAH24ZZQB5/yn87ru9qe9225m8hwq2ic3hjy5yc5vw7h9/CLTools_macOSNMOS_SDK.pkg", + "https://web.archive.org/web/20250915230423/https://swcdn.apple.com/content/downloads/27/62/093-35114-A_AAH24ZZQB5/yn87ru9qe9225m8hwq2ic3hjy5yc5vw7h9/CLTools_macOSNMOS_SDK.pkg" + ], + "version": "26.0", + "hash": "sha256-54UtisDXHCxs7vO4fZSWOYwxLbdouLxWwGisez+tlAc=" } } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5634a13c27340..578a124855032 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8897,6 +8897,7 @@ with pkgs; apple-sdk_13 = callPackage ../by-name/ap/apple-sdk/package.nix { darwinSdkMajorVersion = "13"; }; apple-sdk_14 = callPackage ../by-name/ap/apple-sdk/package.nix { darwinSdkMajorVersion = "14"; }; apple-sdk_15 = callPackage ../by-name/ap/apple-sdk/package.nix { darwinSdkMajorVersion = "15"; }; + apple-sdk_26 = callPackage ../by-name/ap/apple-sdk/package.nix { darwinSdkMajorVersion = "26"; }; darwinMinVersionHook = deploymentTarget: From e2734c5d78e0a1b7efc0d4615cf312db29fe7623 Mon Sep 17 00:00:00 2001 From: Sam <30577766+Samasaur1@users.noreply.github.com> Date: Fri, 17 Oct 2025 10:49:16 -0500 Subject: [PATCH 3/5] apple-sdk_26-test: fix by using apple-sdk_26 This should now build in nixpkgs, with the same behavior as when using the Xcode toolchain. --- pkgs/by-name/ap/apple-sdk_26-test/package.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/by-name/ap/apple-sdk_26-test/package.nix b/pkgs/by-name/ap/apple-sdk_26-test/package.nix index dfb5aa59c7b87..8ab0f959eceda 100644 --- a/pkgs/by-name/ap/apple-sdk_26-test/package.nix +++ b/pkgs/by-name/ap/apple-sdk_26-test/package.nix @@ -3,6 +3,7 @@ stdenv, meson, ninja, + apple-sdk_26, }: stdenv.mkDerivation { @@ -15,5 +16,9 @@ stdenv.mkDerivation { ninja ]; + buildInputs = [ + apple-sdk_26 + ]; + meta.mainProgram = "apple-sdk_26-test"; } From fbc33babd6daeab7b227ce2c6215600d2e08e0a3 Mon Sep 17 00:00:00 2001 From: Sam <30577766+Samasaur1@users.noreply.github.com> Date: Fri, 17 Oct 2025 12:22:55 -0500 Subject: [PATCH 4/5] apple-sdk_26-test: set min version to macOS 26 This should continue to behave the same on macOS 26+, but on earlier versions it should simply crash with missing symbol errors --- pkgs/by-name/ap/apple-sdk_26-test/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/ap/apple-sdk_26-test/package.nix b/pkgs/by-name/ap/apple-sdk_26-test/package.nix index 8ab0f959eceda..e177316c8dcd3 100644 --- a/pkgs/by-name/ap/apple-sdk_26-test/package.nix +++ b/pkgs/by-name/ap/apple-sdk_26-test/package.nix @@ -4,6 +4,7 @@ meson, ninja, apple-sdk_26, + darwinMinVersionHook }: stdenv.mkDerivation { @@ -18,6 +19,7 @@ stdenv.mkDerivation { buildInputs = [ apple-sdk_26 + (darwinMinVersionHook "26.0") ]; meta.mainProgram = "apple-sdk_26-test"; From e7e541877fcce8e2cfedeec174d99525e657c81f Mon Sep 17 00:00:00 2001 From: Sam <30577766+Samasaur1@users.noreply.github.com> Date: Fri, 17 Oct 2025 13:13:19 -0500 Subject: [PATCH 5/5] apple-sdk_26-test: drop --- pkgs/by-name/ap/apple-sdk_26-test/package.nix | 26 ------------------- .../apple-sdk_26-test/src/apple-sdk_26-test.m | 21 --------------- .../ap/apple-sdk_26-test/src/meson.build | 2 -- 3 files changed, 49 deletions(-) delete mode 100644 pkgs/by-name/ap/apple-sdk_26-test/package.nix delete mode 100644 pkgs/by-name/ap/apple-sdk_26-test/src/apple-sdk_26-test.m delete mode 100644 pkgs/by-name/ap/apple-sdk_26-test/src/meson.build diff --git a/pkgs/by-name/ap/apple-sdk_26-test/package.nix b/pkgs/by-name/ap/apple-sdk_26-test/package.nix deleted file mode 100644 index e177316c8dcd3..0000000000000 --- a/pkgs/by-name/ap/apple-sdk_26-test/package.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ - lib, - stdenv, - meson, - ninja, - apple-sdk_26, - darwinMinVersionHook -}: - -stdenv.mkDerivation { - name = "apple-sdk_26-test"; - - src = ./src; - - nativeBuildInputs = [ - meson - ninja - ]; - - buildInputs = [ - apple-sdk_26 - (darwinMinVersionHook "26.0") - ]; - - meta.mainProgram = "apple-sdk_26-test"; -} diff --git a/pkgs/by-name/ap/apple-sdk_26-test/src/apple-sdk_26-test.m b/pkgs/by-name/ap/apple-sdk_26-test/src/apple-sdk_26-test.m deleted file mode 100644 index 21fc3af5253ad..0000000000000 --- a/pkgs/by-name/ap/apple-sdk_26-test/src/apple-sdk_26-test.m +++ /dev/null @@ -1,21 +0,0 @@ -#include -#include - -int main(int argc, char** argv, char** env) { - if (@available(macOS 26, *)) { - int ret; - pid_t pid; - posix_spawn_file_actions_t actions; - if ((ret = posix_spawn_file_actions_init(&actions))) { - printf("cannot create file_actions\n"); - } - if ((ret = posix_spawn_file_actions_addchdir(&actions, "/tmp"))) { - printf("cannot add_chdir\n"); - } - if ((ret = posix_spawnp(&pid, "pwd", &actions, NULL, argv, env))) { - printf("cannot spawn\n"); - } - } else { - printf(":(\n"); - } -} diff --git a/pkgs/by-name/ap/apple-sdk_26-test/src/meson.build b/pkgs/by-name/ap/apple-sdk_26-test/src/meson.build deleted file mode 100644 index ef3a4c6179aac..0000000000000 --- a/pkgs/by-name/ap/apple-sdk_26-test/src/meson.build +++ /dev/null @@ -1,2 +0,0 @@ -project('apple-sdk_26-test', 'objc') -executable('apple-sdk_26-test', 'apple-sdk_26-test.m', install : true)