From eb3d1f2783175d484db9bc39e38505f94643220d Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Mon, 19 Jan 2026 19:38:26 -0500 Subject: [PATCH 01/44] darwin.sourceRelease: update to 15.6 CommonCrypto: 600028.100.1 -> 600035 IOAudioFamily: 540.3 -> 600.2 IOBDStorageFamily: 22 -> 24 IOCDStorageFamily: 61 -> 62 IODVDStorageFamily: 45 -> 46 IOFireWireAVC: 431 -> 434 IOFireWireFamily: 487 -> 490 IOFireWireSBP2: 445 -> 452 IOFireWireSerialBusProtocolTransport: 260 -> 261 IOGraphics: 598 -> 599 IOHIDFamily: 2031.100.16 -> 2115.140.4 IOKitUser: 100076.101.1 -> 100150.120.2 IONetworkingFamily: 177 -> 185 IOStorageFamily: 315 -> 323 Libc: 1592.100.35 -> 1698.140.3 Libinfo: 583.0.1 -> 597 Libnotify: 317.100.2 -> 342 Libsystem: 1345.100.2 -> 1351 Security: 61123.100.169 -> 61439.140.12 configd: 1300.100.9 -> 1351.140.5 dtrace: 401.100.3 -> 411 eap8021x: 354.100.3 -> 365.120.2 hfs: 650.0.2 -> 683.120.3 libclosure: 90 -> 96 libdispatch: 1477.100.9 -> 1521.140.2 libmalloc: 521.100.59 -> 715.140.5 libplatform: 316.100.10 -> 349.140.6 libpthread: 519.101.1 -> 536 mDNSResponder: 2200.100.94.0.2 -> 2600.140.3 objc4: 912.3 -> 940.4 xnu: 10063.101.15 -> 11417.140.69 --- .../darwin/sourceRelease/versions.json | 116 +++++++++--------- 1 file changed, 58 insertions(+), 58 deletions(-) diff --git a/pkgs/os-specific/darwin/sourceRelease/versions.json b/pkgs/os-specific/darwin/sourceRelease/versions.json index cc0231d6ccbc..249f5db7b357 100644 --- a/pkgs/os-specific/darwin/sourceRelease/versions.json +++ b/pkgs/os-specific/darwin/sourceRelease/versions.json @@ -8,8 +8,8 @@ "version": "18.1" }, "CommonCrypto": { - "hash": "sha256-/VoOR9wJuKnmGE1CWGGXxX8SpmALHnEooNTa3QM+ITc=", - "version": "600028.100.1" + "hash": "sha256-+qAwL6+s7di9cX/qXtapLkjCFoDuZaSYltRJEG4qekM=", + "version": "600035" }, "Csu": { "hash": "sha256-l8RI8aiin7ovZuoDh54thDmd/b502w+dtjN5ZoISZBg=", @@ -21,95 +21,95 @@ }, "IOAudioFamily": { "hash": "sha256-VSk3jvsITJugtL67Qt0m4qJ879i7Fj6B/NGBFVCwpiU=", - "version": "540.3" + "version": "600.2" }, "IOBDStorageFamily": { - "hash": "sha256-UgLMsQBe1QLzlbScmPmASBN7VH4YBmNOUX2CEDezjmE=", - "version": "22" + "hash": "sha256-s8hTwX0jq2iPULfBLUwpzqtszWuvJrrLGbmrKa/fY4U=", + "version": "24" }, "IOCDStorageFamily": { "hash": "sha256-p/2qM5zjXFDRb/DISpEHxQEdvmuLlRGt/Ygc71Yu2rI=", - "version": "61" + "version": "62" }, "IODVDStorageFamily": { "hash": "sha256-1Sa8aZBGNtqJBNHva+YXxET6Wcdm2PgVrTzYT/8qrN4=", - "version": "45" + "version": "46" }, "IOFWDVComponents": { "hash": "sha256-WkfkWnzRupEh20U7vjsTta89clhus6GTkOpXQWXw/bM=", "version": "208" }, "IOFireWireAVC": { - "hash": "sha256-IUytBKhhCgg0vtI+7q8d5kxpOUgO3tQD7TMy++jrorc=", - "version": "431" + "hash": "sha256-qR9lSTa7PN5Z9Nis4tfuXlcZGMIU48dete/NPD0UBbE=", + "version": "434" }, "IOFireWireFamily": { - "hash": "sha256-W0KOF4hkA7kFOnL1ThAeFU/YlhFVqoqk9uzGjcBppX8=", - "version": "487" + "hash": "sha256-hmErAXjLWIelqJaCrB8J4IiIxyB7S6EHFY+AY9YhmKQ=", + "version": "490" }, "IOFireWireSBP2": { - "hash": "sha256-bItnRQIaGUxMyiU0q+4N8e5+jYiDEOUPmsrKhBFXvok=", - "version": "445" + "hash": "sha256-Xk+PDnUaO9q46nQwHwTKf/QXtGclfs0wTWiUbcV7e4s=", + "version": "452" }, "IOFireWireSerialBusProtocolTransport": { "hash": "sha256-P7egeaD9SSa+YyrIRzM44gILKbIL7vezXK3M6q3MBOI=", - "version": "260" + "version": "261" }, "IOGraphics": { - "hash": "sha256-Ag37fd3tZJLXLVq1yzHOCWGOYYfwwTkC8hnvNaTEaWg=", - "version": "598" + "hash": "sha256-iysZE42mOKZbFxSZBNspaBTCRKEKK38DFGBxZWQxZxI=", + "version": "599" }, "IOHIDFamily": { - "hash": "sha256-fmYTJsquAOBwzsgRmqPyjSJJi1hGcfnMmqLIcTe8W1s=", - "version": "2031.100.16" + "hash": "sha256-iYAkv98mZZZ4pDERwyJiCoevxcStBKCGVCYjC2aFVKg=", + "version": "2115.140.4" }, "IOKitTools": { "hash": "sha256-Oknsvzn4nv77WU7f0WPS446iwR2BM2q4iw46r/qctAE=", "version": "125" }, "IOKitUser": { - "hash": "sha256-1bqRiLvyr2GQfbWwhXHXXIOtIka9YDw5GbKV6bd2k4k=", - "version": "100076.101.1" + "hash": "sha256-p32U+jHfwA/tqnjF4p1BmojghEXK8KxiflW3IHs2iIY=", + "version": "100150.120.2" }, "IONetworkingFamily": { - "hash": "sha256-J3cLeWKrQ8ypIaqgwRH9eU5JbjEDBVoezj3a2Lvwu5k=", - "version": "177" + "hash": "sha256-gZ7Dkk4Iu7AV9K2ioqSeJ1W7bTNxv77bmT18iv3ljLg=", + "version": "185" }, "IOSerialFamily": { "hash": "sha256-wVS4QTx6MBOS0VrwyCZ3s5Usezwaf8rWzmNnfdDTXTU=", "version": "93" }, "IOStorageFamily": { - "hash": "sha256-cllpJX11c3CX8zEYdOT2TC63sx7NUAHh33yRHhrG2Ro=", - "version": "315" + "hash": "sha256-/0H0tqWUWkgYigYypucbc7lOCFYDuukwF9fvLEOhwOk=", + "version": "323" }, "IOUSBFamily": { "hash": "sha256-Z0E3TfKP49toYo1Fo9kElRap8CZ+mVDHy5RIexgJTpA=", "version": "630.4.5" }, "Libc": { - "hash": "sha256-fxBM4KbPwQNVEJl7PCKP+1nUk9Oce/O2+0lVBxyngew=", - "version": "1592.100.35" + "hash": "sha256-HR2MBfj8HTRanfiByKgW8sLTNn4R1xKeiXx0WwFaNP4=", + "version": "1698.140.3" }, "Libinfo": { - "hash": "sha256-zZr6Mmou8Q+G6/wS+k0k7R+XirB94TNCUGS5dhi96ZE=", - "version": "583.0.1" + "hash": "sha256-UI5mGvzZ6BPafGYD6CrNAJAKjeJLB6urAS2lpB6X/Ec=", + "version": "597" }, "Libm": { "hash": "sha256-p4BndAag9d0XSMYWQ+c4myGv5qXbKx5E1VghudSbpTk=", "version": "2026" }, "Libnotify": { - "hash": "sha256-7X+6S3C7ZOTXJUeDXOOg5EmoZyLZvtE06x3Is0TGgSU=", - "version": "317.100.2" + "hash": "sha256-GDYMVi1034f9empq0YOuumQp/BDJ7phTb0Zl4KTY9xg=", + "version": "342" }, "Librpcsvc": { "hash": "sha256-UWYdCQ9QsBqwM01bWr+igINAHSdSluB/FrOclC5AjTI=", "version": "31" }, "Libsystem": { - "hash": "sha256-HsItciWrwyXujQ2hwqzv0JKOkkuynXYIqejLAEPJbMc=", - "version": "1345.100.2" + "hash": "sha256-nawWJiu2IJ34ek5iOX6CrlqMzev7TuJpUkvDp30ZQ/U=", + "version": "1351" }, "OpenDirectory": { "hash": "sha256-6fSl8PasCZSBfe0ftaePcBuSEO3syb6kK+mfDI6iR7A=", @@ -120,8 +120,8 @@ "version": "1754.140.4" }, "Security": { - "hash": "sha256-NgTGbaw5JkpboDQpt1fSgUr9NYGS+bIOrEMQX7mLAME=", - "version": "61123.100.169" + "hash": "sha256-kksuR1unee5vbpJjjOfouHpw/Y3C7fUth8OF7bb/Zfs=", + "version": "61439.140.12" }, "adv_cmds": { "hash": "sha256-O+SB8sj3yqPv7GEBQQgvq+Y7kQRZI/i/UVa17J/OhZM=", @@ -140,16 +140,16 @@ "version": "138" }, "configd": { - "hash": "sha256-+3xesYxqfsNjWCW3T87OA7+Z1hBqmGEh/I8kP8Ajbso=", - "version": "1300.100.9" + "hash": "sha256-MwBrr3GiOMOe0+ETEM8qehp4Puj1SHXcvziFz84deNI=", + "version": "1351.140.5" }, "copyfile": { "hash": "sha256-hIHlY0prIFY0j8z0Hvlv2psrwLj41jYfKBM0KutLxew=", "version": "224" }, "developer_cmds": { - "hash": "sha256-jgQUjN9zmqi0/7XpqzbRsJjZIYeMrxXT1Zf3qi7+o+8=", - "version": "83" + "hash": "sha256-4DDyWuRbxpwDLkbfJIwYp6DKcEDByDiGUmsdOmwq5fI=", + "version": "87" }, "diskdev_cmds": { "hash": "sha256-TD/sJkzIquTgq1zP/B7eBArxeTcp1Lqa8e8cJ1jnkHU=", @@ -168,28 +168,28 @@ "version": "1286.10" }, "eap8021x": { - "hash": "sha256-Ky6KSlJhyX1NRufGhVBcp+ZFmqYrAxwC/5QvJhC2PhU=", - "version": "354.100.3" + "hash": "sha256-Kx/wwnt108hDm0qQPyTNbZ8KoHkD5m7L4yb5qjSuQjI=", + "version": "365.120.2" }, "file_cmds": { "hash": "sha256-Rf/XA6uEaj7Wps2s8Oc/OhQVBjz8XiqJlj+cxjiQfQU=", "version": "457.140.3" }, "hfs": { - "hash": "sha256-+YUVOttZU7C8I14CC6t3ZH2KxAjjTA2nB0y5bPgLxZM=", - "version": "650.0.2" + "hash": "sha256-5/3Ycp3cKqlgAl1kjBmbF5tFlfJYQS5rbrbk4SS66b8=", + "version": "683.120.3" }, "launchd": { "hash": "sha256-8mW9bnuHmRXCx9py8Wy28C5b2QPICW0rlAps5njYa00=", "version": "842.1.4" }, "libclosure": { - "hash": "sha256-M/jnIHzKYvdFCO0tJ1JXiD/UcZtJhLIoulaCQQUbn30=", - "version": "90" + "hash": "sha256-pvwfcbeEJmTEPdt6/lgVswiabLRG+sMN6VT5FwG7C4Q=", + "version": "96" }, "libdispatch": { - "hash": "sha256-igqIA5DMVHjG30WMHZZpYY7LRM9hZyMWItD+UxeTehY=", - "version": "1477.100.9" + "hash": "sha256-q7ptU8549dFYk7lRF4c7IxhhIPrxPRIlgl4V0vMPAvA=", + "version": "1521.140.2" }, "libffi": { "hash": "sha256-xHefZVsZg9kUXV0t/HLdjPkkD/hn/4bvdRVJ4PsQLeM=", @@ -200,20 +200,20 @@ "version": "109.100.2" }, "libmalloc": { - "hash": "sha256-Sh4/z7lGWRMldOPURkP5vLOAb5Ou6AUsVJEWz9wk9hI=", - "version": "521.100.59" + "hash": "sha256-ofS9CGjWmRBfcN6hyNocxhQsq1vewD9TC4JZbYUM33A=", + "version": "715.140.5" }, "libpcap": { "hash": "sha256-DqINoombdui5N6lNHcZ07c7LrVum4f8fFK89ymdCd0c=", "version": "140" }, "libplatform": { - "hash": "sha256-gojt3sWOr7XO2yYI/B1CmNLTPFieSfoNtlOgQahOCok=", - "version": "316.100.10" + "hash": "sha256-jSOWf/7IOI1riDjZjGEo3bQCXzYFpE/ARLpgRxK9qRw=", + "version": "349.140.6" }, "libpthread": { - "hash": "sha256-phjfN8+IU8ibPsflR6LktnSi3giy89ghI+cFyrhiQNo=", - "version": "519.101.1" + "hash": "sha256-N+MMXdbthsxauTTfZ5ElUs39dVH+Chn1yyU6pObZpkU=", + "version": "536" }, "libresolv": { "hash": "sha256-GtPVlL1mD58um5hOFd3HQKQ7pqutBe9jZKgQw8pOkPE=", @@ -224,8 +224,8 @@ "version": "72" }, "mDNSResponder": { - "hash": "sha256-0ECbWeMnIRTsi03BeBEe5boyR/84JJPbxzPQze8hHSA=", - "version": "2200.100.94.0.2" + "hash": "sha256-tzA+3hfcB6ojOxZ1VCAySZgVqYLJf1J9PuSHmhdCT1k=", + "version": "2600.140.3" }, "mail_cmds": { "hash": "sha256-ET1nga9nwgBtN7fuvsPs1yqe5OhQ62PVl7LxqbsAPqU=", @@ -240,8 +240,8 @@ "version": "705.100.5" }, "objc4": { - "hash": "sha256-eUVSpbyTEOMEdHoxSv6lZIZwB+cW/YWIaTZTcHgGOjo=", - "version": "912.3" + "hash": "sha256-DMxa25gXjKCkiDnVJ/8SyJUjaBlmBGABg8EfCHcmTj0=", + "version": "940.4" }, "patch_cmds": { "hash": "sha256-fDY2NOT3DnU5pm06cHSs+JJcA/EFP8Lxjg7sErUerJ0=", @@ -276,7 +276,7 @@ "version": "139.40.2" }, "xnu": { - "hash": "sha256-j5Ep1RX5DTJqTGszrF4d/JtzUqZ6nA6XoExqcIQ0RVQ=", - "version": "10063.101.15" + "hash": "sha256-jrzGS1nXxCMDGCz3U6KHOi+/6+1Ie+JBYQ9hQVBZQdA=", + "version": "11417.140.69" } } From f57948a7e1be000875b4dae96780af63950a30ac Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Fri, 10 Apr 2026 00:21:37 -0400 Subject: [PATCH 02/44] darwin.AvailabilityVersions: remove source release bootstrap workaround --- .../by-name/av/AvailabilityVersions/package.nix | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/pkgs/os-specific/darwin/by-name/av/AvailabilityVersions/package.nix b/pkgs/os-specific/darwin/by-name/av/AvailabilityVersions/package.nix index dc23cff7e934..a1f97f025523 100644 --- a/pkgs/os-specific/darwin/by-name/av/AvailabilityVersions/package.nix +++ b/pkgs/os-specific/darwin/by-name/av/AvailabilityVersions/package.nix @@ -3,25 +3,13 @@ bashNonInteractive, buildPackages, mkAppleDerivation, - pkgs, + sourceRelease, unifdef, }: let inherit (buildPackages) gnused python3; - f = - pkgs: prev: - if - !pkgs.stdenv.hostPlatform.isDarwin - || pkgs.stdenv.name == "bootstrap-stage0-stdenv-darwin" - || !(pkgs.stdenv ? __bootPackages) - then - prev.darwin.sourceRelease - else - f pkgs.stdenv.__bootPackages pkgs; - bootstrapSourceRelease = f pkgs pkgs; - # TODO(reckenrode): Use `sourceRelease` after migration has been merged and all releases updated to the same version. - xnu = bootstrapSourceRelease "xnu"; + xnu = sourceRelease "xnu"; in mkAppleDerivation (finalAttrs: { releaseName = "AvailabilityVersions"; From 209b0e39ab944be4fa3d73184be0f9af27a71d8b Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Fri, 10 Apr 2026 00:21:37 -0400 Subject: [PATCH 03/44] darwin.bootstrap_cmds: remove source release bootstrap workaround --- .../by-name/bo/bootstrap_cmds/package.nix | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/pkgs/os-specific/darwin/by-name/bo/bootstrap_cmds/package.nix b/pkgs/os-specific/darwin/by-name/bo/bootstrap_cmds/package.nix index 17b4b9f62118..ea9c4ec12273 100644 --- a/pkgs/os-specific/darwin/by-name/bo/bootstrap_cmds/package.nix +++ b/pkgs/os-specific/darwin/by-name/bo/bootstrap_cmds/package.nix @@ -5,27 +5,15 @@ flex, meson, mkAppleDerivation, - pkgs, + sourceRelease, replaceVars, stdenv, stdenvNoCC, }: let - f = - pkgs: prev: - if - !pkgs.stdenv.hostPlatform.isDarwin - || pkgs.stdenv.name == "bootstrap-stage0-stdenv-darwin" - || !(pkgs.stdenv ? __bootPackages) - then - prev.darwin.sourceRelease - else - f pkgs.stdenv.__bootPackages pkgs; - bootstrapSourceRelease = f pkgs pkgs; - # TODO(reckenrode): Use `sourceRelease` after migration has been merged and all releases updated to the same version. - Libc = bootstrapSourceRelease "Libc"; - xnu = bootstrapSourceRelease "xnu"; + Libc = sourceRelease "Libc"; + xnu = sourceRelease "xnu"; privateHeaders = stdenvNoCC.mkDerivation { name = "adv_cmds-deps-private-headers"; From 2586fb25a2bc85e28565c5c33ee46a24c8e2bfd1 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Fri, 10 Apr 2026 00:21:37 -0400 Subject: [PATCH 04/44] darwin.diskdev_cmds: remove source release bootstrap workaround --- .../darwin/by-name/di/diskdev_cmds/package.nix | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/pkgs/os-specific/darwin/by-name/di/diskdev_cmds/package.nix b/pkgs/os-specific/darwin/by-name/di/diskdev_cmds/package.nix index 462bfcce9706..08c7bfc85598 100644 --- a/pkgs/os-specific/darwin/by-name/di/diskdev_cmds/package.nix +++ b/pkgs/os-specific/darwin/by-name/di/diskdev_cmds/package.nix @@ -3,25 +3,13 @@ libutil, mkAppleDerivation, removefile, - pkgs, + sourceRelease, stdenvNoCC, }: let - f = - pkgs: prev: - if - !pkgs.stdenv.hostPlatform.isDarwin - || pkgs.stdenv.name == "bootstrap-stage0-stdenv-darwin" - || !(pkgs.stdenv ? __bootPackages) - then - prev.darwin.sourceRelease - else - f pkgs.stdenv.__bootPackages pkgs; - bootstrapSourceRelease = f pkgs pkgs; - # TODO(reckenrode): Use `sourceRelease` after migration has been merged and all releases updated to the same version. - Libc = bootstrapSourceRelease "Libc"; - xnu = bootstrapSourceRelease "xnu"; + Libc = sourceRelease "Libc"; + xnu = sourceRelease "xnu"; privateHeaders = stdenvNoCC.mkDerivation { name = "diskdev_cmds-deps-private-headers"; From 61896b19c397d6e3ce659a584a3eb80bd8a61c0c Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Mon, 19 Jan 2026 19:38:26 -0500 Subject: [PATCH 05/44] darwin.diskdev_cmds: fix build with updated source release headers --- pkgs/os-specific/darwin/by-name/di/diskdev_cmds/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/os-specific/darwin/by-name/di/diskdev_cmds/package.nix b/pkgs/os-specific/darwin/by-name/di/diskdev_cmds/package.nix index 08c7bfc85598..f015d54e8ded 100644 --- a/pkgs/os-specific/darwin/by-name/di/diskdev_cmds/package.nix +++ b/pkgs/os-specific/darwin/by-name/di/diskdev_cmds/package.nix @@ -15,6 +15,8 @@ let name = "diskdev_cmds-deps-private-headers"; buildCommand = '' + install -D -t "$out/include" \ + '${Libc}/include/_bounds.h' for dir in arm i386 machine sys; do install -D -t "$out/include/$dir" '${xnu}'"/bsd/$dir/disklabel.h" done From c31a9b491256bbb5c608965ea5fd97fe01808f2a Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Fri, 10 Apr 2026 00:21:37 -0400 Subject: [PATCH 06/44] darwin.doc_cmds: remove source release bootstrap workaround --- .../darwin/by-name/do/doc_cmds/package.nix | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/pkgs/os-specific/darwin/by-name/do/doc_cmds/package.nix b/pkgs/os-specific/darwin/by-name/do/doc_cmds/package.nix index 614f670b10f9..48cc8aca13cf 100644 --- a/pkgs/os-specific/darwin/by-name/do/doc_cmds/package.nix +++ b/pkgs/os-specific/darwin/by-name/do/doc_cmds/package.nix @@ -3,25 +3,13 @@ mkAppleDerivation, pkg-config, shell_cmds, - pkgs, + sourceRelease, stdenvNoCC, zlib, }: let - f = - pkgs: prev: - if - !pkgs.stdenv.hostPlatform.isDarwin - || pkgs.stdenv.name == "bootstrap-stage0-stdenv-darwin" - || !(pkgs.stdenv ? __bootPackages) - then - prev.darwin.sourceRelease - else - f pkgs.stdenv.__bootPackages pkgs; - # TODO(reckenrode): Use `sourceRelease` after migration has been merged and all releases updated to the same version. - bootstrapSourceRelease = f pkgs pkgs; - xnu = bootstrapSourceRelease "xnu"; + xnu = sourceRelease "xnu"; privateHeaders = stdenvNoCC.mkDerivation { name = "doc_cmds-deps-private-headers"; From 8e87b5c47fc995a81b1f4d7f27c07742899fe409 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Fri, 10 Apr 2026 00:21:37 -0400 Subject: [PATCH 07/44] darwin.dyld: remove source release bootstrap workaround --- .../darwin/by-name/dy/dyld/package.nix | 24 +++++-------------- 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/pkgs/os-specific/darwin/by-name/dy/dyld/package.nix b/pkgs/os-specific/darwin/by-name/dy/dyld/package.nix index eda8c5d8df5a..5e6217ddef7d 100644 --- a/pkgs/os-specific/darwin/by-name/dy/dyld/package.nix +++ b/pkgs/os-specific/darwin/by-name/dy/dyld/package.nix @@ -8,7 +8,7 @@ openssl, pkg-config, pkgsBuildHost, - pkgs, + sourceRelease, stdenvNoCC, }: @@ -20,23 +20,11 @@ let hash = "sha256-0ybVcwHuGEdThv0PPjYQc3SW0YVOyrM3/L9zG/l1Vtk="; }; - f = - pkgs: prev: - if - !pkgs.stdenv.hostPlatform.isDarwin - || pkgs.stdenv.name == "bootstrap-stage0-stdenv-darwin" - || !(pkgs.stdenv ? __bootPackages) - then - prev.darwin.sourceRelease - else - f pkgs.stdenv.__bootPackages pkgs; - bootstrapSourceRelease = f pkgs pkgs; - # TODO(reckenrode): Use `sourceRelease` after migration has been merged and all releases updated to the same version. - launchd = bootstrapSourceRelease "launchd"; - Libc = bootstrapSourceRelease "Libc"; - libplatform = bootstrapSourceRelease "libplatform"; - libpthread = bootstrapSourceRelease "libpthread"; - xnu = bootstrapSourceRelease "xnu"; + launchd = sourceRelease "launchd"; + Libc = sourceRelease "Libc"; + libplatform = sourceRelease "libplatform"; + libpthread = sourceRelease "libpthread"; + xnu = sourceRelease "xnu"; privateHeaders = stdenvNoCC.mkDerivation { name = "dyld-deps-private-headers"; From 4303a89e8ee89fe7d1c8137f90fe8164b489b462 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Mon, 19 Jan 2026 19:38:26 -0500 Subject: [PATCH 08/44] darwin.dyld: fix build with updated source release headers --- pkgs/os-specific/darwin/by-name/dy/dyld/package.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/darwin/by-name/dy/dyld/package.nix b/pkgs/os-specific/darwin/by-name/dy/dyld/package.nix index 5e6217ddef7d..2b36d104d7a2 100644 --- a/pkgs/os-specific/darwin/by-name/dy/dyld/package.nix +++ b/pkgs/os-specific/darwin/by-name/dy/dyld/package.nix @@ -30,6 +30,9 @@ let name = "dyld-deps-private-headers"; buildCommand = '' + install -D -t "$out/include" \ + '${Libc}/include/_bounds.h' + mkdir -p "$out/include/System" for dir in arm i386 machine; do mkdir -p "$out/include/$dir" @@ -45,9 +48,8 @@ let '${Libc}/stdlib/FreeBSD/atexit.h' install -D -m644 -t "$out/include/System/sys" \ - '${xnu}/bsd/sys/csr.h' - substitute '${xnu}/bsd/sys/fsgetpath.h' "$out/include/System/sys/fsgetpath.h" \ - --replace-fail '#ifdef __APPLE_API_PRIVATE' '#if 1' + '${xnu}/bsd/sys/csr.h' \ + '${xnu}/bsd/sys/fsgetpath.h' install -D -m644 -t "$out/include" \ '${libplatform}/private/_simple.h' \ From d8c22782d2008dbdbca39c9d2337bdf5e9a60f59 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Mon, 19 Jan 2026 19:38:26 -0500 Subject: [PATCH 09/44] darwin.dyld: fix install name of dsc_extractor.bundle --- pkgs/os-specific/darwin/by-name/dy/dyld/package.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/os-specific/darwin/by-name/dy/dyld/package.nix b/pkgs/os-specific/darwin/by-name/dy/dyld/package.nix index 2b36d104d7a2..dc20987a78fc 100644 --- a/pkgs/os-specific/darwin/by-name/dy/dyld/package.nix +++ b/pkgs/os-specific/darwin/by-name/dy/dyld/package.nix @@ -175,5 +175,10 @@ mkAppleDerivation { dontUseCmakeConfigure = true; + postInstall = '' + install_name_tool "''${!outputBin}/bin/dsc_extractor" \ + -change @rpath/dsc_extractor.bundle "''${!outputLib}/lib/dsc_extractor.bundle" + ''; + meta.description = "Dyld-related commands for Darwin"; } From 170f6443e4be3e0162145951cf5c911575d2cdf9 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Fri, 10 Apr 2026 00:21:37 -0400 Subject: [PATCH 10/44] darwin.file_cmds: remove source release bootstrap workaround --- .../darwin/by-name/fi/file_cmds/package.nix | 24 +++++-------------- 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/pkgs/os-specific/darwin/by-name/fi/file_cmds/package.nix b/pkgs/os-specific/darwin/by-name/fi/file_cmds/package.nix index 08498f2786a0..ee65018d6c6f 100644 --- a/pkgs/os-specific/darwin/by-name/fi/file_cmds/package.nix +++ b/pkgs/os-specific/darwin/by-name/fi/file_cmds/package.nix @@ -10,30 +10,18 @@ pkg-config, removefile, shell_cmds, - pkgs, + sourceRelease, stdenvNoCC, xz, zlib, }: let - f = - pkgs: prev: - if - !pkgs.stdenv.hostPlatform.isDarwin - || pkgs.stdenv.name == "bootstrap-stage0-stdenv-darwin" - || !(pkgs.stdenv ? __bootPackages) - then - prev.darwin.sourceRelease - else - f pkgs.stdenv.__bootPackages pkgs; - bootstrapSourceRelease = f pkgs pkgs; - # TODO(reckenrode): Use `sourceRelease` after migration has been merged and all releases updated to the same version. - Libc = bootstrapSourceRelease "Libc"; - Libinfo = bootstrapSourceRelease "Libinfo"; - CommonCrypto = bootstrapSourceRelease "CommonCrypto"; - libplatform = bootstrapSourceRelease "libplatform"; - xnu = bootstrapSourceRelease "xnu"; + Libc = sourceRelease "Libc"; + Libinfo = sourceRelease "Libinfo"; + CommonCrypto = sourceRelease "CommonCrypto"; + libplatform = sourceRelease "libplatform"; + xnu = sourceRelease "xnu"; privateHeaders = stdenvNoCC.mkDerivation { name = "file_cmds-deps-private-headers"; From 2a0b077d49f46996a2e0ce56a4bd91fc80fb0efb Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Fri, 10 Apr 2026 00:21:37 -0400 Subject: [PATCH 11/44] darwin.IOKitTools: remove source release bootstrap workaround --- .../darwin/by-name/io/IOKitTools/package.nix | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/pkgs/os-specific/darwin/by-name/io/IOKitTools/package.nix b/pkgs/os-specific/darwin/by-name/io/IOKitTools/package.nix index e13835513ed4..20e43ae39d22 100644 --- a/pkgs/os-specific/darwin/by-name/io/IOKitTools/package.nix +++ b/pkgs/os-specific/darwin/by-name/io/IOKitTools/package.nix @@ -3,25 +3,13 @@ mkAppleDerivation, ncurses, pkg-config, - pkgs, + sourceRelease, stdenvNoCC, }: let - f = - pkgs: prev: - if - !pkgs.stdenv.hostPlatform.isDarwin - || pkgs.stdenv.name == "bootstrap-stage0-stdenv-darwin" - || !(pkgs.stdenv ? __bootPackages) - then - prev.darwin.sourceRelease - else - f pkgs.stdenv.__bootPackages pkgs; - bootstrapSourceRelease = f pkgs pkgs; - # TODO(reckenrode): Use `sourceRelease` after migration has been merged and all releases updated to the same version. - iokitUser = bootstrapSourceRelease "IOKitUser"; - xnu = bootstrapSourceRelease "xnu"; + iokitUser = sourceRelease "IOKitUser"; + xnu = sourceRelease "xnu"; privateHeaders = stdenvNoCC.mkDerivation { name = "IOKitTools-deps-private-headers"; From fcafb8b98c7f4a25c7bdf484004dbf44e8b7faaf Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Mon, 19 Jan 2026 19:38:26 -0500 Subject: [PATCH 12/44] darwin.libpcap: use XNU source release headers --- pkgs/os-specific/darwin/by-name/li/libpcap/package.nix | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/pkgs/os-specific/darwin/by-name/li/libpcap/package.nix b/pkgs/os-specific/darwin/by-name/li/libpcap/package.nix index 54e10ca22739..a97f166faa7b 100644 --- a/pkgs/os-specific/darwin/by-name/li/libpcap/package.nix +++ b/pkgs/os-specific/darwin/by-name/li/libpcap/package.nix @@ -2,9 +2,9 @@ lib, bison, bluez, - fetchFromGitHub, flex, mkAppleDerivation, + sourceRelease, stdenv, stdenvNoCC, unifdef, @@ -14,13 +14,7 @@ }: let - # TODO(reckenrode): Use `sourceRelease` after migration has been merged and all releases updated to the same version. - xnu = fetchFromGitHub { - owner = "apple-oss-distributions"; - repo = "xnu"; - rev = "xnu-11417.121.6"; - hash = "sha256-o4tCuCAIgAYg/Li3wTs12mVWr5C/4vbwu1zi+kJ9d6w="; - }; + xnu = sourceRelease "xnu"; privateHeaders = stdenvNoCC.mkDerivation { name = "libpcap-deps-private-headers"; From 2cf34d4d1b58a3dccffc41f824d0db7c5b2969a6 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Mon, 19 Jan 2026 19:38:26 -0500 Subject: [PATCH 13/44] darwin.libresolv: fix build with updated source release headers --- .../darwin/by-name/li/libresolv/meson.build.in | 1 + pkgs/os-specific/darwin/by-name/li/libresolv/package.nix | 8 +------- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/pkgs/os-specific/darwin/by-name/li/libresolv/meson.build.in b/pkgs/os-specific/darwin/by-name/li/libresolv/meson.build.in index 0c1adce503a5..1a940f314558 100644 --- a/pkgs/os-specific/darwin/by-name/li/libresolv/meson.build.in +++ b/pkgs/os-specific/darwin/by-name/li/libresolv/meson.build.in @@ -7,6 +7,7 @@ add_project_arguments( '-DCOMMON_DIGEST_FOR_RFC_1321', # To enable legacy `MD5` APIs in CommonCrypto. # This is not defined automatically by Clang. Not having them defined causes compilation failures. '-DTARGET_OS_BRIDGE=0', + '-DTARGET_OS_EXCLAVEKIT=0', language : 'c', ) diff --git a/pkgs/os-specific/darwin/by-name/li/libresolv/package.nix b/pkgs/os-specific/darwin/by-name/li/libresolv/package.nix index 1ff3f3b70474..484c2c966580 100644 --- a/pkgs/os-specific/darwin/by-name/li/libresolv/package.nix +++ b/pkgs/os-specific/darwin/by-name/li/libresolv/package.nix @@ -8,13 +8,7 @@ let configd = sourceRelease "configd"; - # TODO(reckenrode): Use `sourceRelease` after migration has been merged and all releases updated to the same version. - dyld = fetchFromGitHub { - owner = "apple-oss-distributions"; - repo = "dyld"; - rev = "dyld-1160.6"; - hash = "sha256-6P/Da6xP19vmaCROoYv9pl7DaW3/U+qZBJT8PD33bn0="; - }; + dyld = sourceRelease "dyld"; Libinfo = sourceRelease "Libinfo"; Libnotify = sourceRelease "Libnotify"; From d62cc6db8828c94d21dae7ff806c6fd06c492a28 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Mon, 19 Jan 2026 19:38:26 -0500 Subject: [PATCH 14/44] darwin.network_cmds: use XNU source release headers --- .../darwin/by-name/ne/network_cmds/package.nix | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/pkgs/os-specific/darwin/by-name/ne/network_cmds/package.nix b/pkgs/os-specific/darwin/by-name/ne/network_cmds/package.nix index fcc585842573..0c0f908b5af0 100644 --- a/pkgs/os-specific/darwin/by-name/ne/network_cmds/package.nix +++ b/pkgs/os-specific/darwin/by-name/ne/network_cmds/package.nix @@ -1,23 +1,17 @@ { - fetchFromGitHub, libpcap, libresolv, libutil, mkAppleDerivation, openssl, pkg-config, + sourceRelease, stdenvNoCC, unifdef, }: let - # TODO(reckenrode): Use `sourceRelease` after migration has been merged and all releases updated to the same version. - xnu = fetchFromGitHub { - owner = "apple-oss-distributions"; - repo = "xnu"; - rev = "xnu-11417.121.6"; - hash = "sha256-o4tCuCAIgAYg/Li3wTs12mVWr5C/4vbwu1zi+kJ9d6w="; - }; + xnu = sourceRelease "xnu"; privateHeaders = stdenvNoCC.mkDerivation { name = "network_cmds-deps-private-headers"; From 68653ffc3b6e6b0bc449fa6a04ca13d4876d59af Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Fri, 10 Apr 2026 00:21:37 -0400 Subject: [PATCH 15/44] darwin.PowerManagement: remove source release bootstrap workaround --- .../by-name/po/PowerManagement/package.nix | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/pkgs/os-specific/darwin/by-name/po/PowerManagement/package.nix b/pkgs/os-specific/darwin/by-name/po/PowerManagement/package.nix index 9c285b013760..16e9c572e629 100644 --- a/pkgs/os-specific/darwin/by-name/po/PowerManagement/package.nix +++ b/pkgs/os-specific/darwin/by-name/po/PowerManagement/package.nix @@ -1,23 +1,11 @@ { mkAppleDerivation, - pkgs, + sourceRelease, stdenvNoCC, }: let - f = - pkgs: prev: - if - !pkgs.stdenv.hostPlatform.isDarwin - || pkgs.stdenv.name == "bootstrap-stage0-stdenv-darwin" - || !(pkgs.stdenv ? __bootPackages) - then - prev.darwin.sourceRelease - else - f pkgs.stdenv.__bootPackages pkgs; - bootstrapSourceRelease = f pkgs pkgs; - # TODO(reckenrode): Use `sourceRelease` after migration has been merged and all releases updated to the same version. - iokitUser = bootstrapSourceRelease "IOKitUser"; + iokitUser = sourceRelease "IOKitUser"; privateHeaders = stdenvNoCC.mkDerivation { name = "file_cmds-deps-private-headers"; From 6c1dd21a49c791eb59f6a87ad4415d9f98d582ff Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Fri, 10 Apr 2026 00:21:37 -0400 Subject: [PATCH 16/44] darwin.shell_cmds: remove source release bootstrap workaround --- .../darwin/by-name/sh/shell_cmds/package.nix | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/pkgs/os-specific/darwin/by-name/sh/shell_cmds/package.nix b/pkgs/os-specific/darwin/by-name/sh/shell_cmds/package.nix index 4fc44ef8dcfc..88f7885ce814 100644 --- a/pkgs/os-specific/darwin/by-name/sh/shell_cmds/package.nix +++ b/pkgs/os-specific/darwin/by-name/sh/shell_cmds/package.nix @@ -9,24 +9,12 @@ libxo, mkAppleDerivation, pkg-config, - pkgs, + sourceRelease, }: let - f = - pkgs: prev: - if - !pkgs.stdenv.hostPlatform.isDarwin - || pkgs.stdenv.name == "bootstrap-stage0-stdenv-darwin" - || !(pkgs.stdenv ? __bootPackages) - then - prev.darwin.sourceRelease - else - f pkgs.stdenv.__bootPackages pkgs; - bootstrapSourceRelease = f pkgs pkgs; - # TODO(reckenrode): Use `sourceRelease` after migration has been merged and all releases updated to the same version. # nohup requires vproc_priv.h from launchd - launchd = bootstrapSourceRelease "launchd"; + launchd = sourceRelease "launchd"; in mkAppleDerivation { releaseName = "shell_cmds"; From df0da6402217ca6c5c812785b3747312e86f7247 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Mon, 19 Jan 2026 19:38:26 -0500 Subject: [PATCH 17/44] darwin.system_cmds: use XNU source release headers --- .../darwin/by-name/sy/system_cmds/package.nix | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/pkgs/os-specific/darwin/by-name/sy/system_cmds/package.nix b/pkgs/os-specific/darwin/by-name/sy/system_cmds/package.nix index 28ca1c48c8c3..783b2159ffb9 100644 --- a/pkgs/os-specific/darwin/by-name/sy/system_cmds/package.nix +++ b/pkgs/os-specific/darwin/by-name/sy/system_cmds/package.nix @@ -2,14 +2,12 @@ lib, AvailabilityVersions, apple-sdk, - fetchFromGitHub, libutil, mkAppleDerivation, ncurses, openpam, pkg-config, sourceRelease, - stdenv, stdenvNoCC, }: @@ -24,14 +22,7 @@ let libplatform = sourceRelease "libplatform"; - # Needed for `posix_spawn_secflag_options` - # TODO(reckenrode): Use `sourceRelease` after migration has been merged and all releases updated to the same version. - xnu = fetchFromGitHub { - owner = "apple-oss-distributions"; - repo = "xnu"; - rev = "xnu-11417.121.6"; - hash = "sha256-o4tCuCAIgAYg/Li3wTs12mVWr5C/4vbwu1zi+kJ9d6w="; - }; + xnu = sourceRelease "xnu"; privateHeaders = stdenvNoCC.mkDerivation { name = "system_cmds-deps-private-headers"; From 8c87fae2a71228bc4c1fc561df876dd3d157d9d4 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Mon, 19 Jan 2026 19:38:26 -0500 Subject: [PATCH 18/44] darwin.system_cmds: use public libdispatch headers memory_pressure requires a handful of constants from libdispatch that are actually available in the public headers, so just use those. --- .../darwin/by-name/sy/system_cmds/package.nix | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/pkgs/os-specific/darwin/by-name/sy/system_cmds/package.nix b/pkgs/os-specific/darwin/by-name/sy/system_cmds/package.nix index 783b2159ffb9..c58fbcc65d90 100644 --- a/pkgs/os-specific/darwin/by-name/sy/system_cmds/package.nix +++ b/pkgs/os-specific/darwin/by-name/sy/system_cmds/package.nix @@ -12,10 +12,6 @@ }: let - # TODO(reckenrode): Remove on after the `sourceRelease` migration has been merged. - # system_cmds does not actually require private libdispatch APIs. - libdispatch = sourceRelease "libdispatch"; # Has to match the version of the SDK - Libc = sourceRelease "Libc"; libmalloc = sourceRelease "libmalloc"; OpenDirectory = sourceRelease "OpenDirectory"; @@ -54,11 +50,6 @@ let '${xnu}/libsyscall/wrappers/spawn/spawn_private.h' touch "$out/include/btm.h" - cp -r '${libdispatch}/private' "$out/include/dispatch" - # Work around availability headers compatibility issue when building with an unprocessed SDK. - chmod -R u+w "$out/include/dispatch" - find "$out/include/dispatch" -name '*.h' -exec sed -i {} -e 's/, bridgeos([^)]*)//g' \; - install -D -t "$out/include/System/i386" \ '${xnu}/osfmk/i386/cpu_capabilities.h' @@ -130,6 +121,10 @@ mkAppleDerivation { substituteInPlace $src \ --replace-fail 'printw(tbuf)' 'printw("%s", tbuf);' done + + # The libdispatch APIs it uses aren’t actually private. They’re available in the public headers. + substituteInPlace memory_pressure/memory_pressure.c \ + --replace-fail '' '' ''; preConfigure = '' From 576a1b9c858c6769e28a624c1b65a452c32c8d32 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Fri, 10 Apr 2026 00:21:37 -0400 Subject: [PATCH 19/44] darwin.text_cmds: remove source release bootstrap workaround --- .../darwin/by-name/te/text_cmds/package.nix | 22 +++++-------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/pkgs/os-specific/darwin/by-name/te/text_cmds/package.nix b/pkgs/os-specific/darwin/by-name/te/text_cmds/package.nix index 7a911463152d..8a757030dd9b 100644 --- a/pkgs/os-specific/darwin/by-name/te/text_cmds/package.nix +++ b/pkgs/os-specific/darwin/by-name/te/text_cmds/package.nix @@ -9,30 +9,18 @@ ncurses, pkg-config, shell_cmds, - pkgs, + sourceRelease, stdenvNoCC, xz, zlib, }: let - f = - pkgs: prev: - if - !pkgs.stdenv.hostPlatform.isDarwin - || pkgs.stdenv.name == "bootstrap-stage0-stdenv-darwin" - || !(pkgs.stdenv ? __bootPackages) - then - prev.darwin.sourceRelease - else - f pkgs.stdenv.__bootPackages pkgs; - bootstrapSourceRelease = f pkgs pkgs; - # TODO(reckenrode): Use `sourceRelease` after migration has been merged and all releases updated to the same version. - Libc = bootstrapSourceRelease "Libc"; + Libc = sourceRelease "Libc"; - CommonCrypto = bootstrapSourceRelease "CommonCrypto"; - libplatform = bootstrapSourceRelease "libplatform"; - xnu = bootstrapSourceRelease "xnu"; + CommonCrypto = sourceRelease "CommonCrypto"; + libplatform = sourceRelease "libplatform"; + xnu = sourceRelease "xnu"; privateHeaders = stdenvNoCC.mkDerivation { name = "text_cmds-deps-private-headers"; From 7e44c27671e0447855b4f9b6413a8645dc9aaa92 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Fri, 10 Apr 2026 00:21:37 -0400 Subject: [PATCH 20/44] darwin.top: remove source release bootstrap workaround --- .../darwin/by-name/to/top/package.nix | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/pkgs/os-specific/darwin/by-name/to/top/package.nix b/pkgs/os-specific/darwin/by-name/to/top/package.nix index 69418a6d9b6c..5133692d1e8b 100644 --- a/pkgs/os-specific/darwin/by-name/to/top/package.nix +++ b/pkgs/os-specific/darwin/by-name/to/top/package.nix @@ -3,23 +3,11 @@ mkAppleDerivation, ncurses, pkg-config, - pkgs, + sourceRelease, }: let - f = - pkgs: prev: - if - !pkgs.stdenv.hostPlatform.isDarwin - || pkgs.stdenv.name == "bootstrap-stage0-stdenv-darwin" - || !(pkgs.stdenv ? __bootPackages) - then - prev.darwin.sourceRelease - else - f pkgs.stdenv.__bootPackages pkgs; - bootstrapSourceRelease = f pkgs pkgs; - # TODO(reckenrode): Use `sourceRelease` after migration has been merged and all releases updated to the same version. - xnu = bootstrapSourceRelease "xnu"; + xnu = sourceRelease "xnu"; in mkAppleDerivation { releaseName = "top"; From 7deae6f79d7e422a1d458dcace3bd254b247f5b5 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Mon, 19 Jan 2026 19:38:26 -0500 Subject: [PATCH 21/44] darwin.developer_cmds: 401.100.3 -> 411 --- pkgs/os-specific/darwin/by-name/de/developer_cmds/package.nix | 2 +- pkgs/os-specific/darwin/sourceRelease/versions.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/darwin/by-name/de/developer_cmds/package.nix b/pkgs/os-specific/darwin/by-name/de/developer_cmds/package.nix index 4de6fb9938e6..fd30aa3436b4 100644 --- a/pkgs/os-specific/darwin/by-name/de/developer_cmds/package.nix +++ b/pkgs/os-specific/darwin/by-name/de/developer_cmds/package.nix @@ -14,7 +14,7 @@ mkAppleDerivation { "man" ]; - xcodeHash = "sha256-NurkF9AnPuaQ7Ev36PCknuTNV6z622yFi2bXZsow+xA="; + xcodeHash = "sha256-25SDn9+SzEZJPQQJaDxsxWKeUetNHhzliLfzD9BtyyI="; postPatch = '' substituteInPlace rpcgen/rpc_main.c \ diff --git a/pkgs/os-specific/darwin/sourceRelease/versions.json b/pkgs/os-specific/darwin/sourceRelease/versions.json index 249f5db7b357..8e99ced22975 100644 --- a/pkgs/os-specific/darwin/sourceRelease/versions.json +++ b/pkgs/os-specific/darwin/sourceRelease/versions.json @@ -160,8 +160,8 @@ "version": "69" }, "dtrace": { - "hash": "sha256-04Q35rCKnM5Csv5poFJKpK0VplWq4hvy251/Cb2Kl80=", - "version": "401.100.3" + "hash": "sha256-iNEZyxK3DmEwO3gzrfvCaVZSEuuOMQm5IG/6FodPNdI=", + "version": "411" }, "dyld": { "hash": "sha256-pbpSD5OeSMOcMJFAd7kyLINPROjqsafsCSphVGyIPyg=", From 1b74a2fd7c93c32d151dab4b49b6ec3876f17720 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Fri, 10 Apr 2026 00:21:37 -0400 Subject: [PATCH 22/44] lsyncd: remove source release bootstrap workaround --- .../networking/sync/lsyncd/default.nix | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/pkgs/applications/networking/sync/lsyncd/default.nix b/pkgs/applications/networking/sync/lsyncd/default.nix index f5cce8daac55..a18048f3fdcd 100644 --- a/pkgs/applications/networking/sync/lsyncd/default.nix +++ b/pkgs/applications/networking/sync/lsyncd/default.nix @@ -11,23 +11,11 @@ docbook_xml_dtd_45, docbook_xsl, libxslt, - pkgs, + darwin, }: let - f = - pkgs: prev: - if - !pkgs.stdenv.hostPlatform.isDarwin - || pkgs.stdenv.name == "bootstrap-stage0-stdenv-darwin" - || !(pkgs.stdenv ? __bootPackages) - then - prev.darwin.sourceRelease - else - f pkgs.stdenv.__bootPackages pkgs; - bootstrapSourceRelease = f pkgs pkgs; - # TODO(reckenrode): Use `sourceRelease` after migration has been merged and all releases updated to the same version. - xnu = bootstrapSourceRelease "xnu"; + xnu = darwin.sourceRelease "xnu"; in stdenv.mkDerivation rec { pname = "lsyncd"; From fb89d29df6fe83f060d94a742825cf8c6de9dd24 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Thu, 9 Apr 2026 20:27:02 -0400 Subject: [PATCH 23/44] darwin.sourceRelease: 15.6 -> 26.3 IOAudioFamily: 600.2 -> 700.2 IOBDStorageFamily: 24 -> 26 IOFireWireAVC: 434 -> 436 IOFireWireFamily: 490 -> 492 IOFireWireSBP2: 452 -> 454 IOFireWireSerialBusProtocolTransport: 261 -> 262 IOHIDFamily: 2115.140.4 -> 2222.80.22 IOKitUser: 100150.120.2 -> 100222.80.4 IONetworkingFamily: 185 -> 186 Libc: 1698.140.3 -> 1725.40.4 Libinfo: 597 -> 600 Libnotify: 342 -> 344.0.1 Libsystem: 1351 -> 1356 Security: 61439.140.12 -> 61901.80.25 configd: 1351.140.5 -> 1385.80.4 dtrace: 411 -> 413 eap8021x: 365.120.2 -> 368.60.2 hfs: 683.120.3 -> 704.60.4 libdispatch: 1521.140.2 -> 1542.0.4 libmalloc: 715.140.5 -> 792.80.2 libplatform: 349.140.6 -> 359.80.2 libpthread: 536 -> 539.80.3 mDNSResponder: 2600.140.3 -> 2881.80.4.0.1 objc4: 940.4 -> 951.1 ppp: 1016 -> 1023 xnu: 11417.140.69 -> 12377.81.4 --- .../darwin/sourceRelease/versions.json | 102 +++++++++--------- 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/pkgs/os-specific/darwin/sourceRelease/versions.json b/pkgs/os-specific/darwin/sourceRelease/versions.json index 8e99ced22975..5096d4285ecc 100644 --- a/pkgs/os-specific/darwin/sourceRelease/versions.json +++ b/pkgs/os-specific/darwin/sourceRelease/versions.json @@ -20,12 +20,12 @@ "version": "76104.4" }, "IOAudioFamily": { - "hash": "sha256-VSk3jvsITJugtL67Qt0m4qJ879i7Fj6B/NGBFVCwpiU=", - "version": "600.2" + "hash": "sha256-A3iiAjjP29VdjMj40tLS5Q/ni4qeh9bBpnmNzeG2pIY=", + "version": "700.2" }, "IOBDStorageFamily": { - "hash": "sha256-s8hTwX0jq2iPULfBLUwpzqtszWuvJrrLGbmrKa/fY4U=", - "version": "24" + "hash": "sha256-OcQUJ3nEfrpvWX/npnedJ4PECIGWFSLiM0PKoiH911w=", + "version": "26" }, "IOCDStorageFamily": { "hash": "sha256-p/2qM5zjXFDRb/DISpEHxQEdvmuLlRGt/Ygc71Yu2rI=", @@ -41,75 +41,75 @@ }, "IOFireWireAVC": { "hash": "sha256-qR9lSTa7PN5Z9Nis4tfuXlcZGMIU48dete/NPD0UBbE=", - "version": "434" + "version": "436" }, "IOFireWireFamily": { "hash": "sha256-hmErAXjLWIelqJaCrB8J4IiIxyB7S6EHFY+AY9YhmKQ=", - "version": "490" + "version": "492" }, "IOFireWireSBP2": { "hash": "sha256-Xk+PDnUaO9q46nQwHwTKf/QXtGclfs0wTWiUbcV7e4s=", - "version": "452" + "version": "454" }, "IOFireWireSerialBusProtocolTransport": { - "hash": "sha256-P7egeaD9SSa+YyrIRzM44gILKbIL7vezXK3M6q3MBOI=", - "version": "261" + "hash": "sha256-cM/VFhVWNVwdJYk+mme0UYttQd7eJwd7Hlo7KNRyHY0=", + "version": "262" }, "IOGraphics": { "hash": "sha256-iysZE42mOKZbFxSZBNspaBTCRKEKK38DFGBxZWQxZxI=", "version": "599" }, "IOHIDFamily": { - "hash": "sha256-iYAkv98mZZZ4pDERwyJiCoevxcStBKCGVCYjC2aFVKg=", - "version": "2115.140.4" + "hash": "sha256-EJg5lL5uuFCzeOjKDeNZCRYlinwt4WDci0Lr8rJ4Q9k=", + "version": "2222.80.22" }, "IOKitTools": { "hash": "sha256-Oknsvzn4nv77WU7f0WPS446iwR2BM2q4iw46r/qctAE=", "version": "125" }, "IOKitUser": { - "hash": "sha256-p32U+jHfwA/tqnjF4p1BmojghEXK8KxiflW3IHs2iIY=", - "version": "100150.120.2" + "hash": "sha256-bT6CIKd4/Ea17jWd74FWvz5dsmdyDRGU+D5/VydAjrA=", + "version": "100222.80.4" }, "IONetworkingFamily": { - "hash": "sha256-gZ7Dkk4Iu7AV9K2ioqSeJ1W7bTNxv77bmT18iv3ljLg=", - "version": "185" + "hash": "sha256-ZF5ML41Y1l1liQn32qTkcl4mMvx9Xdizb9VgvTzVTL4=", + "version": "186" }, "IOSerialFamily": { "hash": "sha256-wVS4QTx6MBOS0VrwyCZ3s5Usezwaf8rWzmNnfdDTXTU=", "version": "93" }, "IOStorageFamily": { - "hash": "sha256-/0H0tqWUWkgYigYypucbc7lOCFYDuukwF9fvLEOhwOk=", - "version": "323" + "hash": "sha256-5oUSyzMxniNHG7rPkuxb31v4QcOmXNCriI3Jku2VOTY=", + "version": "333.40.1" }, "IOUSBFamily": { "hash": "sha256-Z0E3TfKP49toYo1Fo9kElRap8CZ+mVDHy5RIexgJTpA=", "version": "630.4.5" }, "Libc": { - "hash": "sha256-HR2MBfj8HTRanfiByKgW8sLTNn4R1xKeiXx0WwFaNP4=", - "version": "1698.140.3" + "hash": "sha256-3r3IFwONIg+4Oe99IRJ4jvyevZRmIuFmjVL+JMrfw/M=", + "version": "1725.40.4" }, "Libinfo": { - "hash": "sha256-UI5mGvzZ6BPafGYD6CrNAJAKjeJLB6urAS2lpB6X/Ec=", - "version": "597" + "hash": "sha256-4InBEPi0n2EMo/8mIBib1Im4iTKRcRJ4IlAcLCigVGk=", + "version": "600" }, "Libm": { "hash": "sha256-p4BndAag9d0XSMYWQ+c4myGv5qXbKx5E1VghudSbpTk=", "version": "2026" }, "Libnotify": { - "hash": "sha256-GDYMVi1034f9empq0YOuumQp/BDJ7phTb0Zl4KTY9xg=", - "version": "342" + "hash": "sha256-p8cJZlBYOFmI1NDHXGYjgcv8z9Ldc1amZuYlxxJfeVY=", + "version": "344.0.1" }, "Librpcsvc": { "hash": "sha256-UWYdCQ9QsBqwM01bWr+igINAHSdSluB/FrOclC5AjTI=", "version": "31" }, "Libsystem": { - "hash": "sha256-nawWJiu2IJ34ek5iOX6CrlqMzev7TuJpUkvDp30ZQ/U=", - "version": "1351" + "hash": "sha256-/NlSwPaoTVx+bl9hYsfz3C5MuLdqGv4vdAh0KDbDKmY=", + "version": "1356" }, "OpenDirectory": { "hash": "sha256-6fSl8PasCZSBfe0ftaePcBuSEO3syb6kK+mfDI6iR7A=", @@ -120,8 +120,8 @@ "version": "1754.140.4" }, "Security": { - "hash": "sha256-kksuR1unee5vbpJjjOfouHpw/Y3C7fUth8OF7bb/Zfs=", - "version": "61439.140.12" + "hash": "sha256-+Rt3+bwj7++u8Pm5V6QgIQUpugwcY2gjqkCWZ2xqGqw=", + "version": "61901.80.25" }, "adv_cmds": { "hash": "sha256-O+SB8sj3yqPv7GEBQQgvq+Y7kQRZI/i/UVa17J/OhZM=", @@ -140,8 +140,8 @@ "version": "138" }, "configd": { - "hash": "sha256-MwBrr3GiOMOe0+ETEM8qehp4Puj1SHXcvziFz84deNI=", - "version": "1351.140.5" + "hash": "sha256-OJhJocVQvIaulSK65z2URATB+NTnFdOXyunjcBGr08k=", + "version": "1385.80.4" }, "copyfile": { "hash": "sha256-hIHlY0prIFY0j8z0Hvlv2psrwLj41jYfKBM0KutLxew=", @@ -160,24 +160,24 @@ "version": "69" }, "dtrace": { - "hash": "sha256-iNEZyxK3DmEwO3gzrfvCaVZSEuuOMQm5IG/6FodPNdI=", - "version": "411" + "hash": "sha256-5HpH6Cg8vWWzOX5ADD//izKDvqGnzV05Giju8lmGeyA=", + "version": "413" }, "dyld": { "hash": "sha256-pbpSD5OeSMOcMJFAd7kyLINPROjqsafsCSphVGyIPyg=", "version": "1286.10" }, "eap8021x": { - "hash": "sha256-Kx/wwnt108hDm0qQPyTNbZ8KoHkD5m7L4yb5qjSuQjI=", - "version": "365.120.2" + "hash": "sha256-To9CIsN0oXRmtUjPojXYfUmaoOOdrNbq3AYwghxzoQs=", + "version": "368.60.2" }, "file_cmds": { "hash": "sha256-Rf/XA6uEaj7Wps2s8Oc/OhQVBjz8XiqJlj+cxjiQfQU=", "version": "457.140.3" }, "hfs": { - "hash": "sha256-5/3Ycp3cKqlgAl1kjBmbF5tFlfJYQS5rbrbk4SS66b8=", - "version": "683.120.3" + "hash": "sha256-WqXzEVvveaOvTbVN/HzKdDxeHYmxEfLhV3WjO/S+u1E=", + "version": "704.60.4" }, "launchd": { "hash": "sha256-8mW9bnuHmRXCx9py8Wy28C5b2QPICW0rlAps5njYa00=", @@ -188,8 +188,8 @@ "version": "96" }, "libdispatch": { - "hash": "sha256-q7ptU8549dFYk7lRF4c7IxhhIPrxPRIlgl4V0vMPAvA=", - "version": "1521.140.2" + "hash": "sha256-L0+Ho9dAlMXVpqFEGIcIMsJc0gULckRulUImNEZe5MU=", + "version": "1542.0.4" }, "libffi": { "hash": "sha256-xHefZVsZg9kUXV0t/HLdjPkkD/hn/4bvdRVJ4PsQLeM=", @@ -200,20 +200,20 @@ "version": "109.100.2" }, "libmalloc": { - "hash": "sha256-ofS9CGjWmRBfcN6hyNocxhQsq1vewD9TC4JZbYUM33A=", - "version": "715.140.5" + "hash": "sha256-FYWPf6UwDfmWtde2xW1EuBfygv43bvzGncKEMUHY3Qc=", + "version": "792.80.2" }, "libpcap": { "hash": "sha256-DqINoombdui5N6lNHcZ07c7LrVum4f8fFK89ymdCd0c=", "version": "140" }, "libplatform": { - "hash": "sha256-jSOWf/7IOI1riDjZjGEo3bQCXzYFpE/ARLpgRxK9qRw=", - "version": "349.140.6" + "hash": "sha256-m1g1suIbEA4g7vWEKYR9x+g0aaXSjvR0IRy4jCU+y0w=", + "version": "359.80.2" }, "libpthread": { - "hash": "sha256-N+MMXdbthsxauTTfZ5ElUs39dVH+Chn1yyU6pObZpkU=", - "version": "536" + "hash": "sha256-3Xoe0gYZ6RbMZqzsAG8ynnFb3cqypFYImPNYA5H6P9s=", + "version": "539.80.3" }, "libresolv": { "hash": "sha256-GtPVlL1mD58um5hOFd3HQKQ7pqutBe9jZKgQw8pOkPE=", @@ -224,8 +224,8 @@ "version": "72" }, "mDNSResponder": { - "hash": "sha256-tzA+3hfcB6ojOxZ1VCAySZgVqYLJf1J9PuSHmhdCT1k=", - "version": "2600.140.3" + "hash": "sha256-Wa6IM6qz/gjO1GwER7KkPEiknEJbkntA2Q92Bc/YMoY=", + "version": "2881.80.4.0.1" }, "mail_cmds": { "hash": "sha256-ET1nga9nwgBtN7fuvsPs1yqe5OhQ62PVl7LxqbsAPqU=", @@ -240,16 +240,16 @@ "version": "705.100.5" }, "objc4": { - "hash": "sha256-DMxa25gXjKCkiDnVJ/8SyJUjaBlmBGABg8EfCHcmTj0=", - "version": "940.4" + "hash": "sha256-imgOe9mr5HnvTAupIEj1UwS7tbmk3coqNf5BQgI32lE=", + "version": "951.1" }, "patch_cmds": { "hash": "sha256-fDY2NOT3DnU5pm06cHSs+JJcA/EFP8Lxjg7sErUerJ0=", "version": "72" }, "ppp": { - "hash": "sha256-8+QUA79sHf85yvGSPE9qCmGsrZDT3NZnbgZVroJw/Hg=", - "version": "1016" + "hash": "sha256-N8e3BvyxTvb+mAhNHuCWVGqEyEE89G2zNQDL/mro+X0=", + "version": "1023" }, "remote_cmds": { "hash": "sha256-8c/NgQZ+K6jJ3aoYK78/BsEkM1gmRS+9z0437+SvcCw=", @@ -276,7 +276,7 @@ "version": "139.40.2" }, "xnu": { - "hash": "sha256-jrzGS1nXxCMDGCz3U6KHOi+/6+1Ie+JBYQ9hQVBZQdA=", - "version": "11417.140.69" + "hash": "sha256-ci4Rsa1nRpS9qYBUxnaQokrtBzApGF/kQXugGusb9ok=", + "version": "12377.81.4" } } From 25b86489c924b7e3be4ff7e0f19ca7f6dd1a14ce Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Thu, 9 Apr 2026 20:27:02 -0400 Subject: [PATCH 24/44] darwin.xnuHeaders: init at 12377.81.4 This package only XNU private headers, which can require considerable preprocessing otherwise before they can be used. --- .../darwin/by-name/xn/xnuHeaders/package.nix | 132 ++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 pkgs/os-specific/darwin/by-name/xn/xnuHeaders/package.nix diff --git a/pkgs/os-specific/darwin/by-name/xn/xnuHeaders/package.nix b/pkgs/os-specific/darwin/by-name/xn/xnuHeaders/package.nix new file mode 100644 index 000000000000..c0f0a5394831 --- /dev/null +++ b/pkgs/os-specific/darwin/by-name/xn/xnuHeaders/package.nix @@ -0,0 +1,132 @@ +{ + lib, + AvailabilityVersions, + apple-sdk, + bison, + bootstrap_cmds, + buildPackages, + flex, + gnum4, + mkAppleDerivation, + perl, + python3, + stdenv, + unifdef, +}: + +mkAppleDerivation { + pname = "xnuHeaders"; + releaseName = "xnu"; + + postPatch = '' + rm bsd/sys/make_symbol_aliasing.sh + substitute ${buildPackages.darwin.AvailabilityVersions}/libexec/make_symbol_aliasing.sh bsd/sys/make_symbol_aliasing.sh \ + --replace-fail '--threshold $SDKROOT' "" + chmod a+x bsd/sys/make_symbol_aliasing.sh + + substituteInPlace Makefile \ + --replace-fail "/bin/" "" \ + --replace-fail "MAKEJOBS := " '# MAKEJOBS := ' + + substituteInPlace makedefs/MakeInc.cmd \ + --replace-fail "/usr/bin/" "" \ + --replace-fail "/bin/" "" + + substituteInPlace makedefs/MakeInc.def \ + --replace-fail "-c -S -m" "-c -m" \ + --replace-fail '-mno-implicit-sme' "" + + substituteInPlace makedefs/MakeInc.top \ + --replace-fail "MEMORY_SIZE := " 'MEMORY_SIZE := 1073741824 # ' + + # iig is closed-sourced, we don't have it + # create an empty file to the header instead + # this line becomes: echo "" > $@; echo --header ... + substituteInPlace iokit/DriverKit/Makefile \ + --replace-fail '--def $<' '> $@; echo' + + patchShebangs . + ''; + + nativeBuildInputs = [ + AvailabilityVersions + bootstrap_cmds + bison + flex + gnum4 + unifdef + perl + python3 + ]; + + env = { + ARCHS = stdenv.hostPlatform.darwinArch; + ARCH_CONFIGS = stdenv.hostPlatform.darwinArch; + PLATFORM = "MacOSX"; + RC_DARWIN_KERNEL_VERSION = "25.3.0"; + + DSTROOT = placeholder "out"; + + SDKROOT_RESOLVED = apple-sdk.sdkroot; + SDKVERSION = stdenv.hostPlatform.darwinMinVersion; + + CTFCONVERT = "echo"; + CTFINSERT = "echo"; + CTFMERGE = "echo"; + DSYMUTIL = "dsymutil"; + IIG = "echo"; + LIBTOOL = "echo"; + LIPO = "echo"; + MIG = "mig"; + MIGCOM = "${lib.getBin buildPackages.darwin.bootstrap_cmds}/libexec/migcom"; + NMEDIT = "echo"; + UNIFDEF = "unifdef"; + + HOST_SDKROOT_RESOLVED = buildPackages.apple-sdk.sdkroot; + HOST_OS_VERSION = buildPackages.stdenv.hostPlatform.darwinMinVersion; + + HOST_BISON = "bison"; + HOST_CC = lib.getExe' buildPackages.clangStdenv.cc "${buildPackages.clangStdenv.cc.targetPrefix}clang"; + HOST_CODESIGN = "echo"; + HOST_CODESIGN_ALLOCATE = "echo"; + HOST_FLEX = "flex"; + HOST_GM4 = "m4"; + }; + + buildFlags = [ "exporthdrs" ]; + installTargets = [ "installhdrs" ]; + + # Remove public headers. `xnuHeaders` is meant to provide private headers needed to build packages. + # If you need public headers, use the correct SDK for the version you need. + postInstall = '' + mv "$out/System/Library" "$out" + rm -rf "$out/System" "$out/usr" + + for framework in "$out/Library/Frameworks"/*; do + rm -rf "$framework/Versions/$ver/Headers" "$framework/Headers" + + if [ ! -L "$framework/Versions/Current" ]; then + ver=$(ls -r "$framework/Versions" | head -n 1) + ln -s "$framework/Versions/$ver" "$framework/Versions/Current" + fi + + ln -s "$framework/Versions/Current/PrivateHeaders" "$framework/PrivateHeaders" + done + + # Set up the default `include` folder to include the private system headers plus availability headers. + mkdir -p "$out/include/sys" + gen-headers ${lib.getVersion apple-sdk} "$out" + + for x in "$out/Library/Frameworks/System.framework/PrivateHeaders"/*; do + name=$(basename "$x") + if [ "$name" = "os" ] || [ "$name" = "sys" ]; then + for y in "$x"/*; do + dest="$out/include/$name/$(basename "$y")" + if [ ! -e "$dest" ]; then ln -s "$y" "$out/include/$name/$(basename "$y")"; fi + done + else + ln -s "$x" "$out/include/$(basename "$x")" + fi + done + ''; +} From 6426bafdc87c03f8143f230e4279f1819a4fa8c4 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Thu, 9 Apr 2026 20:27:02 -0400 Subject: [PATCH 25/44] darwin.adv_cmds: 235 -> 237 https://github.com/apple-oss-distributions/adv_cmds/compare/adv_cmds-235...adv_cmds-237 --- pkgs/os-specific/darwin/by-name/ad/adv_cmds/package.nix | 2 +- pkgs/os-specific/darwin/sourceRelease/versions.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/darwin/by-name/ad/adv_cmds/package.nix b/pkgs/os-specific/darwin/by-name/ad/adv_cmds/package.nix index 5783a47e0433..08ba03f237b2 100644 --- a/pkgs/os-specific/darwin/by-name/ad/adv_cmds/package.nix +++ b/pkgs/os-specific/darwin/by-name/ad/adv_cmds/package.nix @@ -38,7 +38,7 @@ mkAppleDerivation { "man" ]; - xcodeHash = "sha256-QhkylTnnCy4qG8fpUMlKqDGKz58jysL0YF4lFGJzPzE="; + xcodeHash = "sha256-L27TYv2zdKx0WKTBgHSv9Q0FCwrW4o83EmtDyqFM1fs="; postPatch = '' # Meson generators require using @BASENAME@ in the output. diff --git a/pkgs/os-specific/darwin/sourceRelease/versions.json b/pkgs/os-specific/darwin/sourceRelease/versions.json index 5096d4285ecc..01d7ca859311 100644 --- a/pkgs/os-specific/darwin/sourceRelease/versions.json +++ b/pkgs/os-specific/darwin/sourceRelease/versions.json @@ -124,8 +124,8 @@ "version": "61901.80.25" }, "adv_cmds": { - "hash": "sha256-O+SB8sj3yqPv7GEBQQgvq+Y7kQRZI/i/UVa17J/OhZM=", - "version": "235" + "hash": "sha256-QSqEchXCBSUo6kpGb1FyCcrZx1RFfUP/9hoNbQK2lF8=", + "version": "237" }, "architecture": { "hash": "sha256-PRNUrhzSOrwmxSPkKmV0LV7yEIik65sdkfKdBqcwFhU=", From 999ae132ea995cb0881c479b0f77aa8a15a06d14 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Thu, 9 Apr 2026 20:27:02 -0400 Subject: [PATCH 26/44] darwin.adv_cmds: restore mklocale and colldef These are needed to build the old locale data we have. --- .../darwin/by-name/ad/adv_cmds/package.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkgs/os-specific/darwin/by-name/ad/adv_cmds/package.nix b/pkgs/os-specific/darwin/by-name/ad/adv_cmds/package.nix index 08ba03f237b2..3ded625c156b 100644 --- a/pkgs/os-specific/darwin/by-name/ad/adv_cmds/package.nix +++ b/pkgs/os-specific/darwin/by-name/ad/adv_cmds/package.nix @@ -1,6 +1,7 @@ { lib, bison, + fetchpatch2, flex, libxo, mkAppleDerivation, @@ -38,6 +39,19 @@ mkAppleDerivation { "man" ]; + patches = [ + # We need `colldef` and `mklocale` due to building old locale data. Revert their removal. + (fetchpatch2 { + url = "https://github.com/apple-oss-distributions/adv_cmds/commit/6bed8737a34dbb54782a18f47dccf933a9967a12.patch?full_index=1"; + includes = [ + "colldef/*" + "mklocale/*" + ]; + revert = true; + hash = "sha256-zDXYuYRak9t9ZnAacl3h5i36g7Law/fLdTKf+YDeRUk="; + }) + ]; + xcodeHash = "sha256-L27TYv2zdKx0WKTBgHSv9Q0FCwrW4o83EmtDyqFM1fs="; postPatch = '' From 7a629f7c27c9a16af5f611b8638d92b628c10d0a Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Thu, 9 Apr 2026 20:27:02 -0400 Subject: [PATCH 27/44] darwin.AvailabilityVersions: 151 -> 155 https://github.com/apple-oss-distributions/AvailabilityVersions/compare/AvailabilityVersions-151...AvailabilityVersions-155 --- .../av/AvailabilityVersions/package.nix | 13 --- ...t-setting-an-upper-bound-on-versions.patch | 87 +++++++++++-------- .../darwin/sourceRelease/versions.json | 4 +- 3 files changed, 53 insertions(+), 51 deletions(-) diff --git a/pkgs/os-specific/darwin/by-name/av/AvailabilityVersions/package.nix b/pkgs/os-specific/darwin/by-name/av/AvailabilityVersions/package.nix index a1f97f025523..aa2b46e3ecd1 100644 --- a/pkgs/os-specific/darwin/by-name/av/AvailabilityVersions/package.nix +++ b/pkgs/os-specific/darwin/by-name/av/AvailabilityVersions/package.nix @@ -23,18 +23,6 @@ mkAppleDerivation (finalAttrs: { buildInputs = [ bashNonInteractive ]; nativeBuildInputs = [ unifdef ]; - buildPhase = '' - runHook preBuild - - declare -a unifdef_sources=( - os_availability.modulemap - os_availability_private.modulemap - ) - unifdef -x2 -UBUILD_FOR_DRIVERKIT -m $(for x in "''${unifdef_sources[@]}"; do echo templates/$x; done) - - runHook postBuild - ''; - installPhase = '' runHook preInstall @@ -101,7 +89,6 @@ mkAppleDerivation (finalAttrs: { done fi - cp "$out/share/availability/templates/os_availability.modulemap" "\$dest/include/" SCRIPT chmod a+x "$out/bin/gen-headers" diff --git a/pkgs/os-specific/darwin/by-name/av/AvailabilityVersions/patches/0001-Support-setting-an-upper-bound-on-versions.patch b/pkgs/os-specific/darwin/by-name/av/AvailabilityVersions/patches/0001-Support-setting-an-upper-bound-on-versions.patch index d1d4673e2d72..30250b39e136 100644 --- a/pkgs/os-specific/darwin/by-name/av/AvailabilityVersions/patches/0001-Support-setting-an-upper-bound-on-versions.patch +++ b/pkgs/os-specific/darwin/by-name/av/AvailabilityVersions/patches/0001-Support-setting-an-upper-bound-on-versions.patch @@ -1,19 +1,19 @@ -From dd3a2378cca465ec783fd792158b2fc11f83722c Mon Sep 17 00:00:00 2001 +From 27627399e0792608bf5249d79c6490e8c77864e1 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode -Date: Tue, 2 Jul 2024 20:04:56 -0400 -Subject: [PATCH] Support setting an upper bound on versions +Date: Thu, 9 Apr 2026 21:12:36 -0400 +Subject: [PATCH] Support-setting-an-upper-bound-on-versions --- - availability | 94 ++++++++++++++++++++++++++++++++++------------------ - 1 file changed, 61 insertions(+), 33 deletions(-) + availability | 103 ++++++++++++++++++++++++++++++++------------------- + 1 file changed, 65 insertions(+), 38 deletions(-) diff --git a/availability b/availability -index 8ebd250..5bb9edb 100755 +index 1abd711..bbe9a77 100755 --- a/availability +++ b/availability -@@ -17,12 +17,34 @@ MIN_PYTHON = (3, 7) #Required for ordered dictionaries as default - if sys.version_info < MIN_PYTHON: - sys.exit("Python %s.%s or later is required.\n" % MIN_PYTHON) +@@ -20,12 +20,34 @@ if sys.version_info < MIN_PYTHON: + + avVersion = "Local" + +def parse_version(ver): @@ -47,12 +47,16 @@ index 8ebd250..5bb9edb 100755 def sets(self): return self.parsedDSL.version_sets def platforms(self): return self.parsedDSL.platforms -@@ -104,12 +126,15 @@ class VersionSetDSL: +@@ -111,16 +133,18 @@ class VersionSetDSL: self.availability_deprecation_define_name = optionals["availability_deprecation_define_name"] if "version_define_name" in optionals: self.availability_define_prefix = f"__{optionals['version_define_name']}_" -- def add_version(self, version): return self.versions.append(version); +- def add_version(self, version): + def add_version(self, version, threshold): + if (len(self.versions) > 0) and (self.versions[-1] > version): + print(f"Out of order version {version} for platform {self.name}") + exit(-1) +- self.versions.append(version) + if version_older_or_equal(version, threshold): + self.versions.append(version) def add_variant(self, variant): return self.variants.append(variant); @@ -65,25 +69,35 @@ index 8ebd250..5bb9edb 100755 for line in data.splitlines(): line = line.strip().split('#',1)[0] if not line: -@@ -129,7 +154,7 @@ class VersionSetDSL: +@@ -140,7 +164,7 @@ class VersionSetDSL: def set(self, name, version, uversion): platforms = {} for (platformName, platform) in self.platforms.items(): - if platform.versioned: + if platform.versioned and platform.versions: - platforms[platformName] = platform.versions[-1] - version_set = {} - version_set["name"] = name -@@ -138,7 +163,7 @@ class VersionSetDSL: - self.version_sets.append(version_set) - # TODO add error checking for version decrease - def version(self, platform, version): -- if platform in self.platforms: self.platforms[platform].add_version(VersionSetDSL.Version(version)) -+ if platform in self.platforms: self.platforms[platform].add_version(VersionSetDSL.Version(version), self.threshold) + if platform.midVersionAlias: + platforms[platformName] = platform.versions[-2] + else: +@@ -159,13 +183,13 @@ class VersionSetDSL: + self.platforms[platform].midVersionAlias = True + aliasVersion = VersionSetDSL.Version(optionals["alias_version"]) + if aliasVersion > version: +- self.platforms[platform].add_version(version) +- self.platforms[platform].add_version(aliasVersion) ++ self.platforms[platform].add_version(version, self.threshold) ++ self.platforms[platform].add_version(aliasVersion, self.threshold) + else: +- self.platforms[platform].add_version(aliasVersion) +- self.platforms[platform].add_version(version) ++ self.platforms[platform].add_version(aliasVersion, self.threshold) ++ self.platforms[platform].add_version(version, self.threshold) + else: +- self.platforms[platform].add_version(version) ++ self.platforms[platform].add_version(version, self.threshold) else: print(f"Unknown platform \"{platform}\"") exit(-1) -@@ -165,9 +190,8 @@ if not dslContent: +@@ -192,9 +216,8 @@ if not dslContent: parts = line.split() if uversion and parts and parts[0] == "set" and parts[3] == uversion: break @@ -94,7 +108,7 @@ index 8ebd250..5bb9edb 100755 print("---") for set in versions.sets(): print(f'{set["name"]}:') -@@ -178,7 +202,8 @@ def print_versions(platform): +@@ -205,7 +228,8 @@ def print_versions(platform): print(" ".join([version.string() for version in versions.platforms()[platform].versions])) class Preprocessor: @@ -104,7 +118,7 @@ index 8ebd250..5bb9edb 100755 bufferedOutput = "" with tempfile.NamedTemporaryFile('w') as tmp: with open(inputFile, 'r') as input: -@@ -207,10 +232,10 @@ class Preprocessor: +@@ -234,10 +258,10 @@ class Preprocessor: output.write("\"\"\"\n") def VERSION_MAP(self, output): sets = [] @@ -117,7 +131,7 @@ index 8ebd250..5bb9edb 100755 output.write(""" #include #include -@@ -229,16 +254,16 @@ static const std::array sVersionMap = {{{{ +@@ -256,16 +280,16 @@ static const std::array sVersionMap = {{{{ }}; """.format(platform_string, len(sets), ",\n".join(sets))) def DYLD_HEADER_VERSIONS(self, output): @@ -137,7 +151,7 @@ index 8ebd250..5bb9edb 100755 for version in platform.versions: output.write("#define dyld_platform_version_{}_{}".format(platform.stylized_name, version.symbol()).ljust(56, ' ')) output.write("({{ (dyld_build_version_t){{{}, {}{}}}; }})\n".format(platform.platform_define, platform.dyld_version_define_name, version.symbol())) -@@ -247,14 +272,14 @@ static const std::array sVersionMap = {{{{ +@@ -274,14 +298,14 @@ static const std::array sVersionMap = {{{{ def ALIAS_VERSION_MACROS(self, output, platformString, newName, oldName, **optionals): minVersion = literal_eval(optionals.get("minVersion", "0x00000000")) maxVersion = literal_eval(optionals.get("maxVersion", "0xFFFFFFFF")) @@ -155,7 +169,7 @@ index 8ebd250..5bb9edb 100755 if platform.bleached: output.write(f"#ifndef __APPLE_BLEACH_SDK__\n") output.write(f"#ifndef __API_TO_BE_DEPRECATED_{platform.availability_deprecation_define_name}\n") -@@ -268,16 +293,16 @@ static const std::array sVersionMap = {{{{ +@@ -295,16 +319,16 @@ static const std::array sVersionMap = {{{{ output.write(f"#endif /* __APPLE_BLEACH_SDK__ */\n") output.write(f"\n"); def AVAILABILITY_VERSION_DEFINES(self, output): @@ -178,7 +192,7 @@ index 8ebd250..5bb9edb 100755 continue if platform.bleached: output.write(f"#ifndef __APPLE_BLEACH_SDK__\n") -@@ -310,8 +335,8 @@ static const std::array sVersionMap = {{{{ +@@ -340,8 +364,8 @@ static const std::array sVersionMap = {{{{ output.write(f" #define __API_UNAVAILABLE_PLATFORM_{displayName} {realName},unavailable\n") output.write(f"#if defined(__has_feature) && defined(__has_attribute)\n") output.write(f" #if __has_attribute(availability)\n") @@ -189,7 +203,7 @@ index 8ebd250..5bb9edb 100755 if platform.bleached: output.write(f"#ifndef __APPLE_BLEACH_SDK__\n") writeDefines(platformString, platformString, platform.versioned) -@@ -327,9 +352,9 @@ static const std::array sVersionMap = {{{{ +@@ -357,9 +381,9 @@ static const std::array sVersionMap = {{{{ output.write(f"#endif /* defined(__has_feature) && defined(__has_attribute) */\n") def AVAILABILITY_MACRO_IMPL(self, output, prefix, dispatcher, **optionals): av_version_hash = zlib.adler32(avVersion.encode()) # This does not need to cryptographically secure as it is meant to detect accidental failures @@ -202,7 +216,7 @@ index 8ebd250..5bb9edb 100755 count = count + len(platform.variants) platformList = [] argList = [] -@@ -344,9 +369,9 @@ static const std::array sVersionMap = {{{{ +@@ -376,9 +400,9 @@ static const std::array sVersionMap = {{{{ scoped_availablity = False if "scoped_availablity" in optionals and optionals["scoped_availablity"] == "TRUE": scoped_availablity=True @@ -215,8 +229,8 @@ index 8ebd250..5bb9edb 100755 count = count + len(platform.variants) argList = ','.join([f'{macroName}{x}' for x in reversed(range(0, count))]) if "argCount" in optionals: -@@ -358,8 +383,9 @@ static const std::array sVersionMap = {{{{ - output.write(f" #define {name}(...) {macroName}_GET_MACRO(__VA_ARGS__,{argList},0)(__VA_ARGS__)\n") +@@ -400,8 +424,9 @@ static const std::array sVersionMap = {{{{ + output.write(f"#endif /* __AVAILABILITY_VERSIONS_VERSION_HASH */\n") parser = argparse.ArgumentParser() +parser.add_argument("--threshold", default=False, help='Specifies the maximum version (inclusive) included in pre-processed headers') @@ -226,9 +240,9 @@ index 8ebd250..5bb9edb 100755 group.add_argument("--{}".format(name), default=False, action='store_true', help="Prints all SDK versions defined for {}".format(name)) for alias in platform.cmd_aliases: group.add_argument("--{}".format(alias), dest=name, default=False, action='store_true', help="Alias for --{}".format(name)) -@@ -367,8 +393,10 @@ group.add_argument("--sets", default=False, actio - group.add_argument("--preprocess", nargs=2, help=argparse.SUPPRESS) - args = parser.parse_args() +@@ -414,8 +439,10 @@ if args.av_version: + avVersion = args.av_version + -if args.sets: print_sets(); -elif args.preprocess: Preprocessor(args.preprocess[0], args.preprocess[1]); @@ -240,4 +254,5 @@ index 8ebd250..5bb9edb 100755 for platform in versions.platforms().keys(): if getattr(args, platform, None): -- -2.45.2 +2.51.2 + diff --git a/pkgs/os-specific/darwin/sourceRelease/versions.json b/pkgs/os-specific/darwin/sourceRelease/versions.json index 01d7ca859311..af10bb9c0f49 100644 --- a/pkgs/os-specific/darwin/sourceRelease/versions.json +++ b/pkgs/os-specific/darwin/sourceRelease/versions.json @@ -1,7 +1,7 @@ { "AvailabilityVersions": { - "hash": "sha256-eQ46qHk4AuHA+hRZq1IG2UtvZr/X2vtlOvi6hnG+FyA=", - "version": "151" + "hash": "sha256-WcRJx/dt4DdEZ+lQBGgLwRYv1zlSwyNeKUTtuKH1fzE=", + "version": "155" }, "CarbonHeaders": { "hash": "sha256-nIPXnLr21yVnpBhx9K5q3l/nPARA6JL/dED08MeyhP8=", From 5f9970769325fb61e3699c77bed422afe0fd8608 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Thu, 9 Apr 2026 20:27:02 -0400 Subject: [PATCH 28/44] darwin.copyfile: 224 -> 230.0.1.0.1 https://github.com/apple-oss-distributions/copyfile/compare/copyfile-224...copyfile-230.0.1.0.1 --- pkgs/os-specific/darwin/sourceRelease/versions.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/darwin/sourceRelease/versions.json b/pkgs/os-specific/darwin/sourceRelease/versions.json index af10bb9c0f49..1d4929d07955 100644 --- a/pkgs/os-specific/darwin/sourceRelease/versions.json +++ b/pkgs/os-specific/darwin/sourceRelease/versions.json @@ -144,8 +144,8 @@ "version": "1385.80.4" }, "copyfile": { - "hash": "sha256-hIHlY0prIFY0j8z0Hvlv2psrwLj41jYfKBM0KutLxew=", - "version": "224" + "hash": "sha256-I9uDi5BDQKa7mO3XpHxv0d6PiROW2ueZ3vGfrsG0OJo=", + "version": "230.0.1.0.1" }, "developer_cmds": { "hash": "sha256-4DDyWuRbxpwDLkbfJIwYp6DKcEDByDiGUmsdOmwq5fI=", From cd56e1b409dc45a23152d8b30d19723438c046b5 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Thu, 9 Apr 2026 20:27:02 -0400 Subject: [PATCH 29/44] darwin.diskdev_cmds: 737.140.4 -> 751.80.2 https://github.com/apple-oss-distributions/diskdev_cmds/compare/diskdev_cmds-737.140.4...diskdev_cmds-751.80.2 --- pkgs/os-specific/darwin/by-name/di/diskdev_cmds/package.nix | 2 +- pkgs/os-specific/darwin/sourceRelease/versions.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/darwin/by-name/di/diskdev_cmds/package.nix b/pkgs/os-specific/darwin/by-name/di/diskdev_cmds/package.nix index f015d54e8ded..a9e5571a8954 100644 --- a/pkgs/os-specific/darwin/by-name/di/diskdev_cmds/package.nix +++ b/pkgs/os-specific/darwin/by-name/di/diskdev_cmds/package.nix @@ -48,7 +48,7 @@ mkAppleDerivation { "man" ]; - xcodeHash = "sha256-P2dg3B5pU2ayasMHIM5nI0iG+YDdYQNcEpnJzZxm1kw="; + xcodeHash = "sha256-qyQM+48PKKWUmdoBprpDf4DXIVAtd3EKCU+ZD/EhNXQ="; postPatch = # Fix incompatible pointer to integer conversion. The last parameter is size_t not a pointer. diff --git a/pkgs/os-specific/darwin/sourceRelease/versions.json b/pkgs/os-specific/darwin/sourceRelease/versions.json index 1d4929d07955..29275842811b 100644 --- a/pkgs/os-specific/darwin/sourceRelease/versions.json +++ b/pkgs/os-specific/darwin/sourceRelease/versions.json @@ -152,8 +152,8 @@ "version": "87" }, "diskdev_cmds": { - "hash": "sha256-TD/sJkzIquTgq1zP/B7eBArxeTcp1Lqa8e8cJ1jnkHU=", - "version": "737.140.4" + "hash": "sha256-WDedl0pv/AReA96Gh+v2MwoX+QGrekK7YXEGw3aWB5Q=", + "version": "751.80.2" }, "doc_cmds": { "hash": "sha256-nnwKXKKjgJXcLCArD38Dme2L1WyR1U0rwn7zI+NCftw=", From 79d1a1dbd58731701ed8518ebf176939cd75e278 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Thu, 9 Apr 2026 20:27:02 -0400 Subject: [PATCH 30/44] darwin.dyld: 1335 -> 1340 https://github.com/apple-oss-distributions/dyld/compare/dyld-1335...dyld-1340 --- .../darwin/by-name/dy/dyld/meson.build.in | 8 +- .../darwin/by-name/dy/dyld/package.nix | 17 ++- .../patches/0001-Disable-kdebug-trace.patch | 18 ++- ...g_h.patch => 0002-Add-weaklinking_h.patch} | 17 ++- ...0003-Fix-llvm-op-info-callback-args.patch} | 18 ++- ...L-based-CoreCrypto-digest-functions.patch} | 130 +++++++----------- ...h => 0005-Add-dsc_extractor_bin_cpp.patch} | 15 +- ...=> 0006-Fix-missing-writeChainEntry.patch} | 20 ++- .../darwin/sourceRelease/versions.json | 4 +- 9 files changed, 137 insertions(+), 110 deletions(-) rename pkgs/os-specific/darwin/by-name/dy/dyld/patches/{0003-Add-weaklinking_h.patch => 0002-Add-weaklinking_h.patch} (79%) rename pkgs/os-specific/darwin/by-name/dy/dyld/patches/{0004-Fix-llvm-op-info-callback-args.patch => 0003-Fix-llvm-op-info-callback-args.patch} (52%) rename pkgs/os-specific/darwin/by-name/dy/dyld/patches/{0005-Add-OpenSSL-based-CoreCrypto-digest-functions.patch => 0004-Add-OpenSSL-based-CoreCrypto-digest-functions.patch} (77%) rename pkgs/os-specific/darwin/by-name/dy/dyld/patches/{0006-Add-dsc_extractor_bin_cpp.patch => 0005-Add-dsc_extractor_bin_cpp.patch} (76%) rename pkgs/os-specific/darwin/by-name/dy/dyld/patches/{0007-Fix-missing-writeChainEntry.patch => 0006-Fix-missing-writeChainEntry.patch} (62%) diff --git a/pkgs/os-specific/darwin/by-name/dy/dyld/meson.build.in b/pkgs/os-specific/darwin/by-name/dy/dyld/meson.build.in index b3c095cc5499..5bbef54de647 100644 --- a/pkgs/os-specific/darwin/by-name/dy/dyld/meson.build.in +++ b/pkgs/os-specific/darwin/by-name/dy/dyld/meson.build.in @@ -71,7 +71,6 @@ lsl = static_library( ], include_directories : [ common_inc, - 'cache-builder', 'cache_builder', 'libdyld', 'lsl', @@ -174,7 +173,6 @@ libminidyld = static_library( dependencies : [ corecrypto_dep, lsl_dep ], include_directories : [ common_inc, - 'cache-builder', 'cache_builder', 'libdyld', 'libdyld_introspection', @@ -197,8 +195,8 @@ libdsc_extractor = shared_library( ], include_directories : [ common_inc, - 'cache-builder', 'cache_builder', + 'other-tools', ], install : true, link_args : [ '-Wl,-exported_symbol,_dyld_shared_cache_extract_dylibs_progress' ], @@ -239,14 +237,13 @@ executable( ], include_directories : [ common_inc, - 'cache-builder', 'cache_builder', + 'other-tools', ], install : true, link_args : [ '-Wl,-weak-lLTO' ], link_with : [ libminidyld ], sources : [ - 'cache-builder/FileUtils.cpp', 'common/Diagnostics.cpp', 'common/DyldSharedCache.cpp', 'common/MachOAnalyzer.cpp', @@ -255,6 +252,7 @@ executable( 'common/SwiftVisitor.cpp', 'common/TargetPolicy.cpp', 'other-tools/dyld_info.cpp', + 'other-tools/FileUtils.cpp', 'other-tools/MiscFileUtils.cpp', 'other-tools/SymbolicatedImage.cpp', ], diff --git a/pkgs/os-specific/darwin/by-name/dy/dyld/package.nix b/pkgs/os-specific/darwin/by-name/dy/dyld/package.nix index dc20987a78fc..a92bdb13e3ad 100644 --- a/pkgs/os-specific/darwin/by-name/dy/dyld/package.nix +++ b/pkgs/os-specific/darwin/by-name/dy/dyld/package.nix @@ -52,6 +52,7 @@ let '${xnu}/bsd/sys/fsgetpath.h' install -D -m644 -t "$out/include" \ + '${Libc}/include/_bounds.h' \ '${libplatform}/private/_simple.h' \ '${Libc}/darwin/libc_private.h' \ '${Libc}/darwin/subsystem.h' \ @@ -78,6 +79,10 @@ let substituteInPlace "$out/include/os/lock_private.h" \ --replace-fail ', bridgeos(4.0)' "" + install -D -m644 -t "$out/include/sys" \ + '${xnu}/bsd/sys/kern_memorystatus.h' \ + '${xnu}/bsd/sys/reason.h' + # This file is part of ld-prime, which is unhelpfully not included in the dyld source release. # Fortunately, nothing in it is actually needed to build `dyld_info` and `dsc_extractor`. touch "$out/include/File.h" @@ -95,24 +100,24 @@ mkAppleDerivation { propagatedBuildOutputs = [ ]; - xcodeHash = "sha256-4yOJouk9AjEt7W3+0cQRMUDDqBhU+J9c16ZQSzUF5go="; + xcodeHash = "sha256-F/V1XzBP1qEDpUDTz+jyp5dbcfqdQp8s9NW2OBoU5x0="; patches = [ # Disable use of private kdebug API ./patches/0001-Disable-kdebug-trace.patch # dyld_info tries to weakly link against libLTO using this macro. - ./patches/0003-Add-weaklinking_h.patch + ./patches/0002-Add-weaklinking_h.patch # The LLVMOpInfoCallback args comment out one of the args. Fix that for compatibility with nixpkgs LLVM. - ./patches/0004-Fix-llvm-op-info-callback-args.patch + ./patches/0003-Fix-llvm-op-info-callback-args.patch # Some private headers depend on corecrypto, which we can’t use. # Use the headers from the ld64 port, which delegates to OpenSSL. - ./patches/0005-Add-OpenSSL-based-CoreCrypto-digest-functions.patch + ./patches/0004-Add-OpenSSL-based-CoreCrypto-digest-functions.patch # `dsc_extractor` builds a dylib, but it includes a program that can perform cache extraction. # This extracts just the driver into a file to make building the actual program easier. - ./patches/0006-Add-dsc_extractor_bin_cpp.patch + ./patches/0005-Add-dsc_extractor_bin_cpp.patch # Fix missing symbol for `mach_o::ChainedFixups::PointerFormat::writeChainEntry`, # which isn’t actually needed by `dyld_info` or `dsc_extractor`. - ./patches/0007-Fix-missing-writeChainEntry.patch + ./patches/0006-Fix-missing-writeChainEntry.patch ]; postPatch = '' diff --git a/pkgs/os-specific/darwin/by-name/dy/dyld/patches/0001-Disable-kdebug-trace.patch b/pkgs/os-specific/darwin/by-name/dy/dyld/patches/0001-Disable-kdebug-trace.patch index ea142ef7f619..8894d221c328 100644 --- a/pkgs/os-specific/darwin/by-name/dy/dyld/patches/0001-Disable-kdebug-trace.patch +++ b/pkgs/os-specific/darwin/by-name/dy/dyld/patches/0001-Disable-kdebug-trace.patch @@ -1,5 +1,14 @@ +From b37141e26eb2f3c5c383d7c29e8a7a7362f822ae Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Fri, 10 Apr 2026 19:45:22 -0400 +Subject: [PATCH] Disable-kdebug-trace + +--- + dyld/Tracing.h | 79 ++++++++++++-------------------------------------- + 1 file changed, 19 insertions(+), 60 deletions(-) + diff --git a/dyld/Tracing.h b/dyld/Tracing.h -index 1e6e3027d9..bac62cf72d 100644 +index 9536f0b..aa8d373 100644 --- a/dyld/Tracing.h +++ b/dyld/Tracing.h @@ -31,29 +31,25 @@ @@ -51,7 +60,7 @@ index 1e6e3027d9..bac62cf72d 100644 #include "Defines.h" -@@ -111,24 +107,10 @@ +@@ -118,24 +114,10 @@ struct VIS_HIDDEN kt_arg { uint64_t value() const { return _value; } private: void prepare(uint32_t code) { @@ -76,7 +85,7 @@ index 1e6e3027d9..bac62cf72d 100644 uint64_t _value; const char* _str; }; -@@ -168,29 +150,6 @@ +@@ -175,29 +157,6 @@ private: uint64_t current_trace_id = 0; }; @@ -106,3 +115,6 @@ index 1e6e3027d9..bac62cf72d 100644 VIS_HIDDEN void syntheticBacktrace(const char *reason, bool enableExternally=false); +-- +2.51.2 + diff --git a/pkgs/os-specific/darwin/by-name/dy/dyld/patches/0003-Add-weaklinking_h.patch b/pkgs/os-specific/darwin/by-name/dy/dyld/patches/0002-Add-weaklinking_h.patch similarity index 79% rename from pkgs/os-specific/darwin/by-name/dy/dyld/patches/0003-Add-weaklinking_h.patch rename to pkgs/os-specific/darwin/by-name/dy/dyld/patches/0002-Add-weaklinking_h.patch index c2f2f1431180..6eac5953e62b 100644 --- a/pkgs/os-specific/darwin/by-name/dy/dyld/patches/0003-Add-weaklinking_h.patch +++ b/pkgs/os-specific/darwin/by-name/dy/dyld/patches/0002-Add-weaklinking_h.patch @@ -1,9 +1,19 @@ +From aa4ca805f1f13619056c4caf14eb863e0a37a51f Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Fri, 10 Apr 2026 19:45:22 -0400 +Subject: [PATCH] Add-weaklinking_h + +--- + include/SoftLinking/WeakLinking.h | 28 ++++++++++++++++++++++++++++ + 1 file changed, 28 insertions(+) + create mode 100644 include/SoftLinking/WeakLinking.h + diff --git a/include/SoftLinking/WeakLinking.h b/include/SoftLinking/WeakLinking.h new file mode 100644 -index 0000000000..82755e2a43 +index 0000000..99ef8c8 --- /dev/null +++ b/include/SoftLinking/WeakLinking.h -@@ -1,0 +1,28 @@ +@@ -0,0 +1,28 @@ +/* + * Copyright (C) 2017 Apple Inc. All rights reserved. + * @@ -32,3 +42,6 @@ index 0000000000..82755e2a43 +#pragma once + +#define WEAK_LINK_FORCE_IMPORT(sym) extern __attribute__((weak_import)) __typeof__(sym) sym +-- +2.51.2 + diff --git a/pkgs/os-specific/darwin/by-name/dy/dyld/patches/0004-Fix-llvm-op-info-callback-args.patch b/pkgs/os-specific/darwin/by-name/dy/dyld/patches/0003-Fix-llvm-op-info-callback-args.patch similarity index 52% rename from pkgs/os-specific/darwin/by-name/dy/dyld/patches/0004-Fix-llvm-op-info-callback-args.patch rename to pkgs/os-specific/darwin/by-name/dy/dyld/patches/0003-Fix-llvm-op-info-callback-args.patch index ea18669b09f1..fa61eabf8df2 100644 --- a/pkgs/os-specific/darwin/by-name/dy/dyld/patches/0004-Fix-llvm-op-info-callback-args.patch +++ b/pkgs/os-specific/darwin/by-name/dy/dyld/patches/0003-Fix-llvm-op-info-callback-args.patch @@ -1,8 +1,17 @@ -diff --git a/other-tools/dyld_info.cpp b/other-tools/dyld_info.cpp -index 2de4978ba5..2ce27257d9 100644 +From 9a7a6f039550539033e0f32929f4fb76f11f5afe Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Fri, 10 Apr 2026 19:45:22 -0400 +Subject: [PATCH] Fix-llvm-op-info-callback-args + +--- + other-tools/SymbolicatedImage.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/other-tools/SymbolicatedImage.cpp b/other-tools/SymbolicatedImage.cpp +index 47f1bdb..efacc94 100644 --- a/other-tools/SymbolicatedImage.cpp +++ b/other-tools/SymbolicatedImage.cpp -@@ -991,7 +991,7 @@ +@@ -968,7 +968,7 @@ static const char* printDumpSymbolCallback(void* di, uint64_t referenceValue, ui return ((SymbolicatedImage*)di)->lookupSymbol(referencePC, referenceValue, *referenceType, *referenceName); } @@ -11,3 +20,6 @@ index 2de4978ba5..2ce27257d9 100644 int tagType, void* tagBuf) { return ((SymbolicatedImage*)di)->opInfo(pc, offset, opSize, tagType, tagBuf); +-- +2.51.2 + diff --git a/pkgs/os-specific/darwin/by-name/dy/dyld/patches/0005-Add-OpenSSL-based-CoreCrypto-digest-functions.patch b/pkgs/os-specific/darwin/by-name/dy/dyld/patches/0004-Add-OpenSSL-based-CoreCrypto-digest-functions.patch similarity index 77% rename from pkgs/os-specific/darwin/by-name/dy/dyld/patches/0005-Add-OpenSSL-based-CoreCrypto-digest-functions.patch rename to pkgs/os-specific/darwin/by-name/dy/dyld/patches/0004-Add-OpenSSL-based-CoreCrypto-digest-functions.patch index ad22de58b425..54a706a34257 100644 --- a/pkgs/os-specific/darwin/by-name/dy/dyld/patches/0005-Add-OpenSSL-based-CoreCrypto-digest-functions.patch +++ b/pkgs/os-specific/darwin/by-name/dy/dyld/patches/0004-Add-OpenSSL-based-CoreCrypto-digest-functions.patch @@ -1,21 +1,21 @@ -From 36767c7345161baf0ab125f95c8557f8e24f25db Mon Sep 17 00:00:00 2001 +From ee93858987e98c984e293cc2455adc698aeb600f Mon Sep 17 00:00:00 2001 From: Randy Eckenrode -Date: Tue, 9 Apr 2024 19:28:17 -0400 -Subject: [PATCH 7/8] Add OpenSSL-based CoreCrypto digest functions +Date: Fri, 10 Apr 2026 19:45:22 -0400 +Subject: [PATCH] Add-OpenSSL-based-CoreCrypto-digest-functions --- - compat/CommonCrypto/CommonDigest.h | 6 +++ - compat/CommonCrypto/CommonDigestSPI.c | 21 +++++++++++ - compat/CommonCrypto/CommonDigestSPI.h | 14 +++++++ + compat/CommonCrypto/CommonDigest.h | 5 +++ + compat/CommonCrypto/CommonDigestSPI.c | 21 ++++++++++ + compat/CommonCrypto/CommonDigestSPI.h | 16 ++++++++ compat/corecrypto/api_defines.h | 10 +++++ - compat/corecrypto/ccdigest.c | 53 +++++++++++++++++++++++++++ - compat/corecrypto/ccdigest.h | 27 ++++++++++++++ - compat/corecrypto/ccdigest_private.h | 19 ++++++++++ - compat/corecrypto/ccsha1.c | 22 +++++++++++ - compat/corecrypto/ccsha1.h | 9 +++++ - compat/corecrypto/ccsha2.c | 22 +++++++++++ - compat/corecrypto/ccsha2.h | 9 +++++ - 11 files changed, 212 insertions(+) + compat/corecrypto/ccdigest.c | 59 +++++++++++++++++++++++++++ + compat/corecrypto/ccdigest.h | 28 +++++++++++++ + compat/corecrypto/ccdigest_private.h | 19 +++++++++ + compat/corecrypto/ccsha1.c | 22 ++++++++++ + compat/corecrypto/ccsha1.h | 9 ++++ + compat/corecrypto/ccsha2.c | 31 ++++++++++++++ + compat/corecrypto/ccsha2.h | 13 ++++++ + 11 files changed, 233 insertions(+) create mode 100644 compat/CommonCrypto/CommonDigest.h create mode 100644 compat/CommonCrypto/CommonDigestSPI.c create mode 100644 compat/CommonCrypto/CommonDigestSPI.h @@ -30,7 +30,7 @@ Subject: [PATCH 7/8] Add OpenSSL-based CoreCrypto digest functions diff --git a/compat/CommonCrypto/CommonDigest.h b/compat/CommonCrypto/CommonDigest.h new file mode 100644 -index 0000000..a60eba7 +index 0000000..531bb05 --- /dev/null +++ b/compat/CommonCrypto/CommonDigest.h @@ -0,0 +1,5 @@ @@ -68,7 +68,7 @@ index 0000000..41269fc +} diff --git a/compat/CommonCrypto/CommonDigestSPI.h b/compat/CommonCrypto/CommonDigestSPI.h new file mode 100644 -index 0000000..172742a +index 0000000..d6cca93 --- /dev/null +++ b/compat/CommonCrypto/CommonDigestSPI.h @@ -0,0 +1,16 @@ @@ -106,10 +106,10 @@ index 0000000..13d1e7a +#endif diff --git a/compat/corecrypto/ccdigest.c b/compat/corecrypto/ccdigest.c new file mode 100644 -index 0000000..e29dcb8 +index 0000000..81fb8a5 --- /dev/null +++ b/compat/corecrypto/ccdigest.c -@@ -0,0 +1,53 @@ +@@ -0,0 +1,59 @@ +// SPDX-License-Identifier: APSL-2.0 +// CoreCrypto compatibility shims written by Randy Eckenrode © 2024 + @@ -135,6 +135,12 @@ index 0000000..e29dcb8 + return di; +} + ++void ccdigest_di_clear(const struct ccdigest_info* di, struct ccdigest_context* ctx) ++{ ++ EVP_MD_CTX_free(ctx->context); ++ ctx->context = EVP_MD_CTX_new(); ++} ++ +void ccdigest_init(const struct ccdigest_info* di, struct ccdigest_context* ctx) +{ + if (!EVP_DigestInit_ex2(ctx->context, di->provider, NULL)) { @@ -165,10 +171,10 @@ index 0000000..e29dcb8 +} diff --git a/compat/corecrypto/ccdigest.h b/compat/corecrypto/ccdigest.h new file mode 100644 -index 0000000..9af2394 +index 0000000..b204cd0 --- /dev/null +++ b/compat/corecrypto/ccdigest.h -@@ -0,0 +1,27 @@ +@@ -0,0 +1,28 @@ +// SPDX-License-Identifier: APSL-2.0 +// CoreCrypto compatibility shims written by Randy Eckenrode © 2024 + @@ -188,6 +194,7 @@ index 0000000..9af2394 +#define ccdigest_di_decl(_di, ctxvar) \ + struct ccdigest_context* (ctxvar) = _ccdigest_context_new() + ++EXTERN_C void ccdigest_di_clear(const struct ccdigest_info* _di, struct ccdigest_context* ctx); +EXTERN_C void ccdigest_init(const struct ccdigest_info* di, struct ccdigest_context* ctx); +EXTERN_C void ccdigest_update( + const struct ccdigest_info* _di, @@ -266,10 +273,10 @@ index 0000000..8e3f85f +EXTERN_C const struct ccdigest_info* ccsha1_di(void); diff --git a/compat/corecrypto/ccsha2.c b/compat/corecrypto/ccsha2.c new file mode 100644 -index 0000000..6504503 +index 0000000..ed4de54 --- /dev/null +++ b/compat/corecrypto/ccsha2.c -@@ -0,0 +1,22 @@ +@@ -0,0 +1,31 @@ +// SPDX-License-Identifier: APSL-2.0 +// CoreCrypto compatibility shims written by Randy Eckenrode © 2024 + @@ -292,59 +299,6 @@ index 0000000..6504503 + } + return di; +} -diff --git a/compat/corecrypto/ccsha2.h b/compat/corecrypto/ccsha2.h -new file mode 100644 -index 0000000..9f30e03 ---- /dev/null -+++ b/compat/corecrypto/ccsha2.h -@@ -0,0 +1,10 @@ -+// SPDX-License-Identifier: APSL-2.0 -+// CoreCrypto compatibility shims written by Randy Eckenrode © 2024 -+ -+#pragma once -+ -+#include -+ -+#define CCSHA256_OUTPUT_SIZE 32 -+ -+EXTERN_C const struct ccdigest_info* ccsha256_di(void); --diff --git a/compat/corecrypto/ccdigest.c b/compat/corecrypto/ccdigest.c -index e29dcb8..3949861 100644 ---- a/compat/corecrypto/ccdigest.c -+++ b/compat/corecrypto/ccdigest.c -@@ -23,6 +23,12 @@ struct ccdigest_info* _ccdigest_newprovider(const char* name) - return di; - } - -+void ccdigest_di_clear(const struct ccdigest_info* di, struct ccdigest_context* ctx) -+{ -+ EVP_MD_CTX_free(ctx->context); -+ ctx->context = EVP_MD_CTX_new(); -+} -+ - void ccdigest_init(const struct ccdigest_info* di, struct ccdigest_context* ctx) - { - if (!EVP_DigestInit_ex2(ctx->context, di->provider, NULL)) { -diff --git a/compat/corecrypto/ccdigest.h b/compat/corecrypto/ccdigest.h -index 9af2394..d693fb7 100644 ---- a/compat/corecrypto/ccdigest.h -+++ b/compat/corecrypto/ccdigest.h -@@ -17,6 +17,7 @@ EXTERN_C struct ccdigest_context* _ccdigest_context_new(void); - #define ccdigest_di_decl(_di, ctxvar) \ - struct ccdigest_context* (ctxvar) = _ccdigest_context_new() - -+EXTERN_C void ccdigest_di_clear(const struct ccdigest_info* _di, struct ccdigest_context* ctx); - EXTERN_C void ccdigest_init(const struct ccdigest_info* di, struct ccdigest_context* ctx); - EXTERN_C void ccdigest_update( - const struct ccdigest_info* _di, -diff --git a/compat/corecrypto/ccsha2.c b/compat/corecrypto/ccsha2.c -index 6504503..ed4de54 100644 ---- a/compat/corecrypto/ccsha2.c -+++ b/compat/corecrypto/ccsha2.c -@@ -20,3 +20,12 @@ const struct ccdigest_info* ccsha256_di(void) - } - return di; - } + +const struct ccdigest_info* ccsha384_di(void) +{ @@ -355,16 +309,24 @@ index 6504503..ed4de54 100644 + return di; +} diff --git a/compat/corecrypto/ccsha2.h b/compat/corecrypto/ccsha2.h -index 9f30e03..bee18e8 100644 ---- a/compat/corecrypto/ccsha2.h +new file mode 100644 +index 0000000..7c0c8de +--- /dev/null +++ b/compat/corecrypto/ccsha2.h -@@ -5,6 +5,9 @@ - - #include - - #define CCSHA256_OUTPUT_SIZE 32 +@@ -0,0 +1,13 @@ ++// SPDX-License-Identifier: APSL-2.0 ++// CoreCrypto compatibility shims written by Randy Eckenrode © 2024 ++ ++#pragma once ++ ++#include ++ ++#define CCSHA256_OUTPUT_SIZE 32 +#define CCSHA384_OUTPUT_SIZE 48 +#define CS_SHA384_LEN CCSHA384_OUTPUT_SIZE - - EXTERN_C const struct ccdigest_info* ccsha256_di(void); ++ ++EXTERN_C const struct ccdigest_info* ccsha256_di(void); +EXTERN_C const struct ccdigest_info* ccsha384_di(void); +-- +2.51.2 + diff --git a/pkgs/os-specific/darwin/by-name/dy/dyld/patches/0006-Add-dsc_extractor_bin_cpp.patch b/pkgs/os-specific/darwin/by-name/dy/dyld/patches/0005-Add-dsc_extractor_bin_cpp.patch similarity index 76% rename from pkgs/os-specific/darwin/by-name/dy/dyld/patches/0006-Add-dsc_extractor_bin_cpp.patch rename to pkgs/os-specific/darwin/by-name/dy/dyld/patches/0005-Add-dsc_extractor_bin_cpp.patch index 2d234e65a37a..7787b126b727 100644 --- a/pkgs/os-specific/darwin/by-name/dy/dyld/patches/0006-Add-dsc_extractor_bin_cpp.patch +++ b/pkgs/os-specific/darwin/by-name/dy/dyld/patches/0005-Add-dsc_extractor_bin_cpp.patch @@ -1,6 +1,16 @@ +From 720926afdec1b026d22b7525ea5a40b35a2c6475 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Fri, 10 Apr 2026 19:45:23 -0400 +Subject: [PATCH] Add-dsc_extractor_bin_cpp + +--- + other-tools/dsc_extractor_bin.cpp | 33 +++++++++++++++++++++++++++++++ + 1 file changed, 33 insertions(+) + create mode 100644 other-tools/dsc_extractor_bin.cpp + diff --git a/other-tools/dsc_extractor_bin.cpp b/other-tools/dsc_extractor_bin.cpp new file mode 100644 -index 0000000000..2f26fbe4db +index 0000000..5a8f3f8 --- /dev/null +++ b/other-tools/dsc_extractor_bin.cpp @@ -0,0 +1,33 @@ @@ -37,3 +47,6 @@ index 0000000000..2f26fbe4db + fprintf(stderr, "dyld_shared_cache_extract_dylibs_progress() => %d\n", result); + return 0; +} +-- +2.51.2 + diff --git a/pkgs/os-specific/darwin/by-name/dy/dyld/patches/0007-Fix-missing-writeChainEntry.patch b/pkgs/os-specific/darwin/by-name/dy/dyld/patches/0006-Fix-missing-writeChainEntry.patch similarity index 62% rename from pkgs/os-specific/darwin/by-name/dy/dyld/patches/0007-Fix-missing-writeChainEntry.patch rename to pkgs/os-specific/darwin/by-name/dy/dyld/patches/0006-Fix-missing-writeChainEntry.patch index 5590f8f5861a..8b8caaad7c5e 100644 --- a/pkgs/os-specific/darwin/by-name/dy/dyld/patches/0007-Fix-missing-writeChainEntry.patch +++ b/pkgs/os-specific/darwin/by-name/dy/dyld/patches/0006-Fix-missing-writeChainEntry.patch @@ -1,13 +1,25 @@ +From e56398bce025241fc8512ea594665a94dc81d539 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Fri, 10 Apr 2026 19:55:35 -0400 +Subject: [PATCH] Fix-missing-writeChainEntry + +--- + mach_o/ChainedFixups.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + diff --git a/mach_o/ChainedFixups.h b/mach_o/ChainedFixups.h -index 10ff8847e0..336f80dd81 100644 +index 2400420..1316d90 100644 --- a/mach_o/ChainedFixups.h +++ b/mach_o/ChainedFixups.h -@@ -78,7 +78,7 @@ +@@ -78,7 +78,7 @@ public: std::span segOffsetTable, uint32_t pageIndex, uint32_t pageSize, void (^callback)(const Fixup& f, bool& stop)) const; virtual Fixup parseChainEntry(const void* loc, const MappedSegment* seg, uint64_t preferedLoadAddress=0, std::span segOffsetTable={}) const = 0; -- virtual void writeChainEntry(const Fixup& fixup, const void* nextLoc, uint64_t preferedLoadAddress, std::span) const; -+ virtual void writeChainEntry(const Fixup& fixup, const void* nextLoc, uint64_t preferedLoadAddress, std::span) const = 0; +- virtual Error writeChainEntry(const Fixup& fixup, const void* nextLoc, uint64_t preferedLoadAddress, std::span) const; ++ virtual Error writeChainEntry(const Fixup& fixup, const void* nextLoc, uint64_t preferedLoadAddress, std::span) const = 0; protected: constexpr PointerFormat() { } +-- +2.51.2 + diff --git a/pkgs/os-specific/darwin/sourceRelease/versions.json b/pkgs/os-specific/darwin/sourceRelease/versions.json index 29275842811b..0621444404ba 100644 --- a/pkgs/os-specific/darwin/sourceRelease/versions.json +++ b/pkgs/os-specific/darwin/sourceRelease/versions.json @@ -164,8 +164,8 @@ "version": "413" }, "dyld": { - "hash": "sha256-pbpSD5OeSMOcMJFAd7kyLINPROjqsafsCSphVGyIPyg=", - "version": "1286.10" + "hash": "sha256-rvWFiQVLJKqL0hOL2nRqwRkyPc/OvGnL0GEBymq7Fio=", + "version": "1340" }, "eap8021x": { "hash": "sha256-To9CIsN0oXRmtUjPojXYfUmaoOOdrNbq3AYwghxzoQs=", From c9d502a8cb46162643e6276d9dbb9afbf02dab94 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Thu, 9 Apr 2026 20:27:02 -0400 Subject: [PATCH 31/44] darwin.file_cmds: 457.140.3 -> 475 https://github.com/apple-oss-distributions/file_cmds/compare/file_cmds-457.140.3...file_cmds-475 --- .../by-name/fi/file_cmds/meson.build.in | 4 ++- .../darwin/by-name/fi/file_cmds/package.nix | 13 +++++--- ...missing-extern-unix2003_compat-to-ls.patch | 26 --------------- ...nditionalize-O_RESOLVE_BENEATH-usage.patch | 28 ++++++++++++++++ ...-missing-ifdef-for-private-APFS-APIs.patch | 33 ------------------- .../darwin/sourceRelease/versions.json | 4 +-- 6 files changed, 41 insertions(+), 67 deletions(-) delete mode 100644 pkgs/os-specific/darwin/by-name/fi/file_cmds/patches/0001-Add-missing-extern-unix2003_compat-to-ls.patch create mode 100644 pkgs/os-specific/darwin/by-name/fi/file_cmds/patches/0001-Conditionalize-O_RESOLVE_BENEATH-usage.patch delete mode 100644 pkgs/os-specific/darwin/by-name/fi/file_cmds/patches/0002-Add-missing-ifdef-for-private-APFS-APIs.patch diff --git a/pkgs/os-specific/darwin/by-name/fi/file_cmds/meson.build.in b/pkgs/os-specific/darwin/by-name/fi/file_cmds/meson.build.in index 9919a3d90b3a..a990f4ca903f 100644 --- a/pkgs/os-specific/darwin/by-name/fi/file_cmds/meson.build.in +++ b/pkgs/os-specific/darwin/by-name/fi/file_cmds/meson.build.in @@ -20,6 +20,7 @@ bzip2 = dependency('bzip2') xz = dependency('liblzma') libmd = dependency('libmd') libxo = dependency('libxo') +ncurses = dependency('ncurses') zlib = dependency('zlib') copyfile = cc.find_library('copyfile') @@ -218,10 +219,11 @@ install_man(f'ln/symlink.7') executable( 'ls', c_args : [ + '-DCOLORLS', # https://github.com/apple-oss-distributions/xnu/blob/94d3b452840153a99b38a3a9659680b2a006908e/bsd/sys/stat.h#L520 '-DSF_DATALESS=0x40000000', ], - dependencies : [ libutil ], + dependencies : [ libutil, ncurses ], install : true, sources: [ 'ls/cmp.c', diff --git a/pkgs/os-specific/darwin/by-name/fi/file_cmds/package.nix b/pkgs/os-specific/darwin/by-name/fi/file_cmds/package.nix index ee65018d6c6f..ba754ddee3ee 100644 --- a/pkgs/os-specific/darwin/by-name/fi/file_cmds/package.nix +++ b/pkgs/os-specific/darwin/by-name/fi/file_cmds/package.nix @@ -1,5 +1,6 @@ { lib, + apple-sdk_26, bzip2, copyfile, less, @@ -7,6 +8,7 @@ libutil, libxo, mkAppleDerivation, + ncurses, pkg-config, removefile, shell_cmds, @@ -91,13 +93,12 @@ mkAppleDerivation { "xattr" ]; - xcodeHash = "sha256-KEZYuaDxLdprF+wGiszUdTXPQBfLNj0xP9Y0uarNjSs="; + xcodeHash = "sha256-O1eJGFrSVIZbZvBSonKkG4MeYZQ8W6izpYEcHIE+/DM="; patches = [ - # Fixes build of ls - ./patches/0001-Add-missing-extern-unix2003_compat-to-ls.patch - # Add missing conditional to avoid using private APFS APIs that we lack headers for using. - ./patches/0002-Add-missing-ifdef-for-private-APFS-APIs.patch + # `O_RESOLVE_BENEATH` was added in macOS 26, but our default deployment target is older than that. + # Make its usage conditional. + ./patches/0001-Conditionalize-O_RESOLVE_BENEATH-usage.patch ]; nativeBuildInputs = [ pkg-config ]; @@ -105,11 +106,13 @@ mkAppleDerivation { env.NIX_CFLAGS_COMPILE = "-I${privateHeaders}/include"; buildInputs = [ + apple-sdk_26 # For `O_RESOLVE_BENEATH` and `AT_RESOLVE_BENEATH` bzip2 copyfile libmd libutil libxo + ncurses removefile xz zlib diff --git a/pkgs/os-specific/darwin/by-name/fi/file_cmds/patches/0001-Add-missing-extern-unix2003_compat-to-ls.patch b/pkgs/os-specific/darwin/by-name/fi/file_cmds/patches/0001-Add-missing-extern-unix2003_compat-to-ls.patch deleted file mode 100644 index 45da78e34f9e..000000000000 --- a/pkgs/os-specific/darwin/by-name/fi/file_cmds/patches/0001-Add-missing-extern-unix2003_compat-to-ls.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 9e2185bde1320273b6465d272e1a36bff29fb9d6 Mon Sep 17 00:00:00 2001 -From: Randy Eckenrode -Date: Sat, 7 Sep 2024 09:37:31 -0400 -Subject: [PATCH 1/3] Add missing extern unix2003_compat to ls - ---- - ls/ls.h | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/ls/ls.h b/ls/ls.h -index 2a41c8b..ff9c3a9 100644 ---- a/ls/ls.h -+++ b/ls/ls.h -@@ -114,4 +114,9 @@ typedef struct { - char data[1]; - } NAMES; - -+#ifdef __APPLE__ -+#include -+extern bool unix2003_compat; -+#endif -+ - #endif /* _LS_H_ */ --- -2.46.0 - diff --git a/pkgs/os-specific/darwin/by-name/fi/file_cmds/patches/0001-Conditionalize-O_RESOLVE_BENEATH-usage.patch b/pkgs/os-specific/darwin/by-name/fi/file_cmds/patches/0001-Conditionalize-O_RESOLVE_BENEATH-usage.patch new file mode 100644 index 000000000000..4121e10a19ee --- /dev/null +++ b/pkgs/os-specific/darwin/by-name/fi/file_cmds/patches/0001-Conditionalize-O_RESOLVE_BENEATH-usage.patch @@ -0,0 +1,28 @@ +From dc8df286a20aedd8295b69798346b0d893e30773 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Fri, 10 Apr 2026 20:08:11 -0400 +Subject: [PATCH] Conditionalize-O_RESOLVE_BENEATH-usage + +--- + cp/cp.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/cp/cp.c b/cp/cp.c +index b1cac37..8ed535a 100644 +--- a/cp/cp.c ++++ b/cp/cp.c +@@ -331,6 +331,11 @@ copy(char *argv[], enum op type, int fts_options, struct stat *root_stat) + mode_t mask, mode; + bool beneath = Rflag && type != FILE_TO_FILE; + ++ /* `O_RESOLVE_BENEATH` is only supported on macOS 26 or newer */ ++ if (!__builtin_available(macOS 26.0, *)) { ++ beneath = false; ++ } ++ + /* + * Keep an inverted copy of the umask, for use in correcting + * permissions on created directories when not using -p. +-- +2.51.2 + diff --git a/pkgs/os-specific/darwin/by-name/fi/file_cmds/patches/0002-Add-missing-ifdef-for-private-APFS-APIs.patch b/pkgs/os-specific/darwin/by-name/fi/file_cmds/patches/0002-Add-missing-ifdef-for-private-APFS-APIs.patch deleted file mode 100644 index d353afbe5636..000000000000 --- a/pkgs/os-specific/darwin/by-name/fi/file_cmds/patches/0002-Add-missing-ifdef-for-private-APFS-APIs.patch +++ /dev/null @@ -1,33 +0,0 @@ -From c40768a7a0cd4bcc75a408880e79135ad33292b5 Mon Sep 17 00:00:00 2001 -From: Randy Eckenrode -Date: Sat, 7 Sep 2024 09:44:20 -0400 -Subject: [PATCH 2/3] Add missing #ifdef for private APFS APIs - ---- - mtree/commoncrypto.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/mtree/commoncrypto.c b/mtree/commoncrypto.c -index 75790dd..e04d1c6 100644 ---- a/mtree/commoncrypto.c -+++ b/mtree/commoncrypto.c -@@ -254,6 +254,7 @@ get_xdstream_privateid(char *path, char *buf) { - nextName += strlen(name) + 1; - } - -+#ifdef APFSIOC_XDSTREAM_OBJ_ID - for (int i = 0; i < xattrIndex; i++) { - char *name = xattrs[i]; - // System volume has stream based xattrs only in form of resource forks -@@ -275,7 +276,7 @@ get_xdstream_privateid(char *path, char *buf) { - } - } - } -- -+#endif - ai->xdstream_priv_id = xd_obj_id; - // insert a dummy value as digest is not used in presence of mflag - ai->digest = "authapfs"; --- -2.46.0 - diff --git a/pkgs/os-specific/darwin/sourceRelease/versions.json b/pkgs/os-specific/darwin/sourceRelease/versions.json index 0621444404ba..d5193de49a34 100644 --- a/pkgs/os-specific/darwin/sourceRelease/versions.json +++ b/pkgs/os-specific/darwin/sourceRelease/versions.json @@ -172,8 +172,8 @@ "version": "368.60.2" }, "file_cmds": { - "hash": "sha256-Rf/XA6uEaj7Wps2s8Oc/OhQVBjz8XiqJlj+cxjiQfQU=", - "version": "457.140.3" + "hash": "sha256-1hdTjg1Nf31gAhwjQEhRZQhaqayC8x7PGHAwZ1aEIm8=", + "version": "475" }, "hfs": { "hash": "sha256-WqXzEVvveaOvTbVN/HzKdDxeHYmxEfLhV3WjO/S+u1E=", From d92e10712536f0c7cf653c65056da2c2c13a1d4f Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Thu, 9 Apr 2026 20:27:02 -0400 Subject: [PATCH 32/44] darwin.ICU: 76104.4 -> 76142.3.1.1 https://github.com/apple-oss-distributions/ICU/compare/ICU-76104.4...ICU-76142.3.1.1 --- pkgs/os-specific/darwin/sourceRelease/versions.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/darwin/sourceRelease/versions.json b/pkgs/os-specific/darwin/sourceRelease/versions.json index d5193de49a34..f6da22c54d6f 100644 --- a/pkgs/os-specific/darwin/sourceRelease/versions.json +++ b/pkgs/os-specific/darwin/sourceRelease/versions.json @@ -16,8 +16,8 @@ "version": "88" }, "ICU": { - "hash": "sha256-dIgrTjHcQm8dy2Ku5wNIHuPjHfoV+48TM0PNDDn6ZPk=", - "version": "76104.4" + "hash": "sha256-qtv+IUEjdY5I87wDEIO9cWFAh1WmnIDVIzIyyL9NTd8=", + "version": "76142.3.1.1" }, "IOAudioFamily": { "hash": "sha256-A3iiAjjP29VdjMj40tLS5Q/ni4qeh9bBpnmNzeG2pIY=", From 23bc365e6114e32f59fbcdc13d09e864655870ba Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Thu, 9 Apr 2026 20:27:02 -0400 Subject: [PATCH 33/44] darwin.libiconv: 109.100.2 -> 113 https://github.com/apple-oss-distributions/libiconv/compare/libiconv-109.100.2...libiconv-113 --- pkgs/os-specific/darwin/by-name/li/libiconv/package.nix | 2 +- pkgs/os-specific/darwin/sourceRelease/versions.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/darwin/by-name/li/libiconv/package.nix b/pkgs/os-specific/darwin/by-name/li/libiconv/package.nix index be9b1e32d6d3..2a7a43b65662 100644 --- a/pkgs/os-specific/darwin/by-name/li/libiconv/package.nix +++ b/pkgs/os-specific/darwin/by-name/li/libiconv/package.nix @@ -18,7 +18,7 @@ mkAppleDerivation (finalAttrs: { "dev" ]; - xcodeHash = "sha256-IiTqhEJIZ8JYjlpBS7ITwYlp8ndU6cehus9TIr+5LYM="; + xcodeHash = "sha256-fg5N+TcpyRnAf2ZKFEL0iJRy+QGs++Jmt6M3SV3oyfU="; patches = [ # Use gperf to implement module loading statically by looking up the module functions in the static binary. diff --git a/pkgs/os-specific/darwin/sourceRelease/versions.json b/pkgs/os-specific/darwin/sourceRelease/versions.json index f6da22c54d6f..44d9d9ccd4ca 100644 --- a/pkgs/os-specific/darwin/sourceRelease/versions.json +++ b/pkgs/os-specific/darwin/sourceRelease/versions.json @@ -196,8 +196,8 @@ "version": "40" }, "libiconv": { - "hash": "sha256-50DC6LePtvdAh9FLa/esiwCUmYDxKofN6hCiv9+dmgQ=", - "version": "109.100.2" + "hash": "sha256-MboAwJvpO0ix7XsAuKUUxipv8ecxD2OjDgD5bQbygr8=", + "version": "113" }, "libmalloc": { "hash": "sha256-FYWPf6UwDfmWtde2xW1EuBfygv43bvzGncKEMUHY3Qc=", From b0afb22046eea3fa591f331017ad17a5627b0fd9 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Thu, 9 Apr 2026 20:27:02 -0400 Subject: [PATCH 34/44] darwin.libpcap: 140 -> 144 https://github.com/apple-oss-distributions/libpcap/compare/libpcap-140...libpcap-144 --- pkgs/os-specific/darwin/by-name/li/libpcap/package.nix | 4 +++- pkgs/os-specific/darwin/sourceRelease/versions.json | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/darwin/by-name/li/libpcap/package.nix b/pkgs/os-specific/darwin/by-name/li/libpcap/package.nix index a97f166faa7b..a3709b0809ac 100644 --- a/pkgs/os-specific/darwin/by-name/li/libpcap/package.nix +++ b/pkgs/os-specific/darwin/by-name/li/libpcap/package.nix @@ -26,7 +26,9 @@ let unifdef -x 1 -DPRIVATE -o "$out/include/net/droptap.h" '${xnu}/bsd/net/droptap.h' unifdef -x 1 -DPRIVATE -o "$out/include/net/iptap.h" '${xnu}/bsd/net/iptap.h' unifdef -x 1 -DPRIVATE -o "$out/include/net/pktap.h" '${xnu}/bsd/net/pktap.h' - unifdef -x 1 -DPRIVATE -o "$out/include/net/bpf.h" '${xnu}/bsd/net/bpf.h' + unifdef -x 1 -DPRIVATE -UMODULES_SUPPORTED -o "$out/include/net/bpf.h" '${xnu}/bsd/net/bpf.h' + install -D -t "$out/include/net" \ + '${xnu}/bsd/net/bpf_private.h' cat < "$out/include/net/if.h" #pragma once diff --git a/pkgs/os-specific/darwin/sourceRelease/versions.json b/pkgs/os-specific/darwin/sourceRelease/versions.json index 44d9d9ccd4ca..3b021e6e965d 100644 --- a/pkgs/os-specific/darwin/sourceRelease/versions.json +++ b/pkgs/os-specific/darwin/sourceRelease/versions.json @@ -204,8 +204,8 @@ "version": "792.80.2" }, "libpcap": { - "hash": "sha256-DqINoombdui5N6lNHcZ07c7LrVum4f8fFK89ymdCd0c=", - "version": "140" + "hash": "sha256-G7CL3pCCmxOoZ+ouA+xfOeDgvLcT9AN9zyrx+cL2Ge4=", + "version": "144" }, "libplatform": { "hash": "sha256-m1g1suIbEA4g7vWEKYR9x+g0aaXSjvR0IRy4jCU+y0w=", From dccdc3df2d55a4d07baeac87ad41f4df5be0cb95 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Thu, 9 Apr 2026 20:27:02 -0400 Subject: [PATCH 35/44] darwin.libresolv: 91 -> 93 https://github.com/apple-oss-distributions/libresolv/compare/libresolv-91...libresolv-93 --- pkgs/os-specific/darwin/by-name/li/libresolv/meson.build.in | 2 ++ pkgs/os-specific/darwin/by-name/li/libresolv/package.nix | 2 +- pkgs/os-specific/darwin/sourceRelease/versions.json | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/darwin/by-name/li/libresolv/meson.build.in b/pkgs/os-specific/darwin/by-name/li/libresolv/meson.build.in index 1a940f314558..6eaf1b7b976b 100644 --- a/pkgs/os-specific/darwin/by-name/li/libresolv/meson.build.in +++ b/pkgs/os-specific/darwin/by-name/li/libresolv/meson.build.in @@ -14,12 +14,14 @@ add_project_arguments( # Dependencies cc = meson.get_compiler('c') +thread_dep = dependency('threads') # Libraries libresolv = library( 'resolv', darwin_versions : '1', + dependencies : [ thread_dep ], install : true, sources : [ 'base64.c', diff --git a/pkgs/os-specific/darwin/by-name/li/libresolv/package.nix b/pkgs/os-specific/darwin/by-name/li/libresolv/package.nix index 484c2c966580..6e8cf1f8e394 100644 --- a/pkgs/os-specific/darwin/by-name/li/libresolv/package.nix +++ b/pkgs/os-specific/darwin/by-name/li/libresolv/package.nix @@ -45,7 +45,7 @@ mkAppleDerivation { --replace-fail '' '' ''; - xcodeHash = "sha256-Q5jHee9rxge6HJtf9/sFK15FsS02GQmx7L0BBDiyGIs="; + xcodeHash = "sha256-pQ1eFMPnSy8M3pfvv+sPyale9xDlVCMif0EWO8PO7zg="; env.NIX_CFLAGS_COMPILE = "-I${privateHeaders}/include -I${configd}/dnsinfo -I${Libinfo}/lookup.subproj -I${Libnotify}"; diff --git a/pkgs/os-specific/darwin/sourceRelease/versions.json b/pkgs/os-specific/darwin/sourceRelease/versions.json index 3b021e6e965d..a18c1e83eb90 100644 --- a/pkgs/os-specific/darwin/sourceRelease/versions.json +++ b/pkgs/os-specific/darwin/sourceRelease/versions.json @@ -216,8 +216,8 @@ "version": "539.80.3" }, "libresolv": { - "hash": "sha256-GtPVlL1mD58um5hOFd3HQKQ7pqutBe9jZKgQw8pOkPE=", - "version": "91" + "hash": "sha256-SDdF7foz8DFUXmXEznwusNMkXFHrPkdLWQM8xfxb0gc=", + "version": "93" }, "libutil": { "hash": "sha256-tUsl22Z0HUVSkSoohFXkhicNFCW+RARvpTS0q6yaQFk=", From b1e1d4fff6c7244cc80c4a7f370ecfea22e26ac4 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Thu, 9 Apr 2026 20:27:02 -0400 Subject: [PATCH 36/44] darwin.libutil: 72 -> 73 https://github.com/apple-oss-distributions/libutil/compare/libutil-72...libutil-73 --- pkgs/os-specific/darwin/sourceRelease/versions.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/darwin/sourceRelease/versions.json b/pkgs/os-specific/darwin/sourceRelease/versions.json index a18c1e83eb90..775a12177452 100644 --- a/pkgs/os-specific/darwin/sourceRelease/versions.json +++ b/pkgs/os-specific/darwin/sourceRelease/versions.json @@ -220,8 +220,8 @@ "version": "93" }, "libutil": { - "hash": "sha256-tUsl22Z0HUVSkSoohFXkhicNFCW+RARvpTS0q6yaQFk=", - "version": "72" + "hash": "sha256-64+1CIRpYBon7skJRKdaXcxucPh9GrhAbUERhL2PLXA=", + "version": "73" }, "mDNSResponder": { "hash": "sha256-Wa6IM6qz/gjO1GwER7KkPEiknEJbkntA2Q92Bc/YMoY=", From debcaca475a0ad9bf2ab148546138c41518b993e Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Thu, 9 Apr 2026 20:27:02 -0400 Subject: [PATCH 37/44] darwin.mail_cmds: 38.0.1 -> 41 https://github.com/apple-oss-distributions/mail_cmds/compare/mail_cmds-38.0.1...mail_cmds-41 --- pkgs/os-specific/darwin/sourceRelease/versions.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/darwin/sourceRelease/versions.json b/pkgs/os-specific/darwin/sourceRelease/versions.json index 775a12177452..49cca7794899 100644 --- a/pkgs/os-specific/darwin/sourceRelease/versions.json +++ b/pkgs/os-specific/darwin/sourceRelease/versions.json @@ -228,8 +228,8 @@ "version": "2881.80.4.0.1" }, "mail_cmds": { - "hash": "sha256-ET1nga9nwgBtN7fuvsPs1yqe5OhQ62PVl7LxqbsAPqU=", - "version": "38.0.1" + "hash": "sha256-peoaHopJaYDqyE4TGfLx7W1K2KsFZmHLWr8Er/HpA90=", + "version": "41" }, "misc_cmds": { "hash": "sha256-04uBS16nNrg73Fqh4Obev7nQDjTTlY4f5+pEv3i0FIU=", From b6a4b2a1fbbbc5082c1ab235452d83e0c02c995d Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Thu, 9 Apr 2026 20:27:02 -0400 Subject: [PATCH 38/44] darwin.network_cmds: switch to using xnuHeaders --- .../by-name/ne/network_cmds/package.nix | 413 ++++-------------- 1 file changed, 86 insertions(+), 327 deletions(-) diff --git a/pkgs/os-specific/darwin/by-name/ne/network_cmds/package.nix b/pkgs/os-specific/darwin/by-name/ne/network_cmds/package.nix index 0c0f908b5af0..3421a7a3e901 100644 --- a/pkgs/os-specific/darwin/by-name/ne/network_cmds/package.nix +++ b/pkgs/os-specific/darwin/by-name/ne/network_cmds/package.nix @@ -8,6 +8,7 @@ sourceRelease, stdenvNoCC, unifdef, + xnuHeaders, }: let @@ -27,355 +28,127 @@ let # the required headers can conflict with system-related headers and require many, many more headers be copied. install -D -t "$out/include" \ - '${xnu}/osfmk/kern/cs_blobs.h' + '${xnuHeaders}/include/kern/cs_blobs.h' install -D -t "$out/include/firehose" \ '${xnu}/libkern/firehose/firehose_types_private.h' \ '${xnu}/libkern/firehose/tracepoint_private.h' - for dir in arm i386 machine; do + for dir in arm i386 kern machine; do mkdir -p "$out/include/$dir" - for file in '${xnu}/osfmk/'$dir/*; do + for file in '${xnuHeaders}/include/'$dir/*; do name=$(basename "$file") # Skip copying `endian.h` because it conflicts with the SDK, breaking the build on x86_64-darwin. test "$name" != endian.h && cp -r "$file" "$out/include/$dir/$name" done done + unifdef -x 1 -DKERNEL_PRIVATE -o "$out/include/arm/locks.h" '${xnu}/osfmk/arm/locks.h' + unifdef -x 1 -DKERNEL_PRIVATE -o "$out/include/i386/locks.h" '${xnu}/osfmk/i386/locks.h' + install -D -t "$out/include/net" \ - '${xnu}/bsd/net/droptap.h' \ - '${xnu}/bsd/net/if_bond_internal.h' \ - '${xnu}/bsd/net/if_bond_var.h' \ - '${xnu}/bsd/net/if_fake_var.h' \ - '${xnu}/bsd/net/if_mib_private.h' \ - '${xnu}/bsd/net/if_var_private.h' \ - '${xnu}/bsd/net/if_vlan_var.h' \ - '${xnu}/bsd/net/lacp.h' \ - '${xnu}/bsd/net/net_perf.h' - mkdir -p "$out/include/net/classq" "$out/include/net/pktsched" + '${xnuHeaders}/include/net/bpf.h' \ + '${xnuHeaders}/include/net/bpf_private.h' \ + '${xnuHeaders}/include/net/content_filter.h' \ + '${xnuHeaders}/include/net/droptap.h' \ + '${xnuHeaders}/include/net/if.h' \ + '${xnuHeaders}/include/net/if_bond_internal.h' \ + '${xnuHeaders}/include/net/if_bond_var.h' \ + '${xnuHeaders}/include/net/if_bridgevar.h' \ + '${xnuHeaders}/include/net/if_fake_var.h' \ + '${xnuHeaders}/include/net/if_llreach.h' \ + '${xnuHeaders}/include/net/if_mib.h' \ + '${xnuHeaders}/include/net/if_mib_private.h' \ + '${xnuHeaders}/include/net/if_ports_used.h' \ + '${xnuHeaders}/include/net/if_private.h' \ + '${xnuHeaders}/include/net/if_var_private.h' \ + '${xnuHeaders}/include/net/if_vlan_var.h' \ + '${xnuHeaders}/include/net/lacp.h' \ + '${xnuHeaders}/include/net/net_api_stats.h' \ + '${xnuHeaders}/include/net/net_perf.h' \ + '${xnuHeaders}/include/net/network_agent.h' \ + '${xnuHeaders}/include/net/ntstat.h' \ + '${xnuHeaders}/include/net/packet_mangler.h' \ + '${xnuHeaders}/include/net/pktap.h' \ + '${xnuHeaders}/include/net/radix.h' \ + '${xnuHeaders}/include/net/route.h' \ + '${xnuHeaders}/include/net/route_private.h' - cat < "$out/include/net/bpf.h" - #pragma once - #include_next - #include - $(sed -n \ - -e '/^#define BPF_D_/p' \ - -e '/^struct xbpf_d\s*{/,/^};/p' \ - '${xnu}/bsd/net/bpf.h') - EOF + install -D -t "$out/include/net/classq" \ + '${xnuHeaders}/include/net/classq/classq.h' \ + '${xnuHeaders}/include/net/classq/if_classq.h' - # IFNET constants are defined as enums, so they have to be pre-processed and grepped from the file. - cat < "$out/include/net/if.h" - #pragma once - #include - $(sed \ - -e 's/^\s*\(IFNET_[^=]*\)=\s*\([^,]*\),*/#define \1\2/' \ - '${xnu}/bsd/net/if_private.h' | grep '^#define IFNET_') - #include_next - #include - typedef void* ifnet_t; - #define ifreq ifreq_private - $(sed -n \ - -e '/^#define IFEF_TXSTART/p' \ - -e '/^#define IFLPRF/p' \ - -e '/^#define IFNAMSIZ\s/p' \ - -e '/^#define IFRLOGF/p' \ - -e '/^#define IFRTYPE/p' \ - -e '/^#define IF_DESCSIZE\s/p' \ - -e '/^#define IF_NAMESIZE\s/p' \ - -e '/^#define NAT64_MAX_NUM_PREFIXES\s/p' \ - -e '/^#define ifr_fastlane_capable\s/p' \ - -e '/^#define ifr_fastlane_enabled\s/p' \ - -e '/^#define ifr_qosmarking_enabled\s/p' \ - -e '/^#define ifr_qosmarking_mode\s/p' \ - -e '/^struct if_agentidsreq\s*{/,/^};/p' \ - -e '/^struct if_clat46req\s*{/,/^};/p' \ - -e '/^struct if_descreq\s*{/,/^};/p' \ - -e '/^struct if_ipv6_address\s*{/,/^};/p' \ - -e '/^struct if_linkparamsreq\s*{/,/^};/p' \ - -e '/^struct if_qstatsreq\s*{/,/^};/p' \ - -e '/^struct if_nat64req\s*{/,/^};/p' \ - -e '/^struct if_nexusreq\s*{/,/^};/p' \ - -e '/^struct if_throttlereq\s*{/,/^};/p' \ - -e '/^struct ipv6_prefix\s*{/,/^};/p' \ - -e '/^struct ifreq\s*{/,/^};/p' \ - '${xnu}/bsd/net/if_private.h') - #undef ifreq - EOF - - cat < "$out/include/net/content_filter.h" - #pragma once - #include - #include - EOF + install -D -t "$out/include/net/pktsched" \ + '${xnuHeaders}/include/net/pktsched/pktsched.h' \ + '${xnuHeaders}/include/net/pktsched/pktsched_fq_codel.h' cat < "$out/include/net/if_var.h" #pragma once #include + /* These aren’t defined in the headers in the XNU source */ #define IF_NETEM_MODEL_IOD 2 #define IF_NETEM_MODEL_FPD 3 - #include_next + #include <${xnuHeaders}/include/net/if_var.h> EOF - cat < "$out/include/net/route.h" - #pragma once - #include_next - $(sed -n \ - -e '/^#define RTM_/p' \ - -e '/^struct rt_msghdr_ext\s*{/,/^};/p' \ - -e '/^struct rt_reach_info\s*{/,/^};/p' \ - -e '/^struct rtstat_64\s*{/,/^};/p' \ - '${xnu}/bsd/net/route_private.h') - EOF - ln -s "$out/include/net/route.h" "$out/include/net/route_private.h" - install -D -t "$out/include/netinet" \ - '${xnu}/bsd/netinet/icmp6.h' \ - '${xnu}/bsd/netinet/ip_flowid.h' - - cat < "$out/include/netinet/in.h" - #pragma once - #include_next - $(sed -n \ - -e '/^#define _DSCP/p' \ - -e '/^#define IP_NO/p' \ - -e '/^union sockaddr_in_4_6\s*{/,/^};/p' \ - '${xnu}/bsd/netinet/in_private.h') - #include - EOF - - cat < "$out/include/netinet/tcp.h" - #pragma once - $(sed -n \ - -e '/^struct tcp_info\s*{/,/^};/p' \ - -e '/^struct tcp_conn_status\s*{/,/^};/p' \ - -e '/^typedef struct conninfo_tcp\s*{/,/} conninfo_tcp_t;/p' \ - '${xnu}/bsd/netinet/tcp_private.h') - #include_next - EOF + '${xnuHeaders}/include/netinet/icmp6.h' \ + '${xnuHeaders}/include/netinet/igmp_var.h' \ + '${xnuHeaders}/include/netinet/in.h' \ + '${xnuHeaders}/include/netinet/in_pcb.h' \ + '${xnuHeaders}/include/netinet/in_private.h' \ + '${xnuHeaders}/include/netinet/in_stat.h' \ + '${xnuHeaders}/include/netinet/ip_dummynet.h' \ + '${xnuHeaders}/include/netinet/ip_flowid.h' \ + '${xnuHeaders}/include/netinet/mptcp_var.h' \ + '${xnuHeaders}/include/netinet/tcp.h' \ + '${xnuHeaders}/include/netinet/tcp_private.h' \ + '${xnuHeaders}/include/netinet/tcp_var.h' \ + '${xnuHeaders}/include/netinet/udp_var.h' install -D -t "$out/include/netinet6" \ - '${xnu}/bsd/netinet6/in6_pcb.h' \ - '${xnu}/bsd/netinet6/ip6_var.h' - - cat < "$out/include/netinet6/in6.h" - #pragma once - $(sed -n \ - -e '/^#define IPV6_/p' \ - '${xnu}/bsd/netinet6/in6_private.h') - #include_next - EOF - - cat < "$out/include/netinet6/in6_var.h" - #pragma once - $(sed -n \ - -e '/^#define IN6_CGA/p' \ - -e '/^#define SIOCSETROUTERMODE_IN6\s/p' \ - -e '/^struct in6_cga_modifier\s*{/,/^};/p' \ - -e '/^struct in6_cga_nodecfg\s*{/,/^};/p' \ - -e '/^struct in6_cga_prepare\s*{/,/^};/p' \ - '${xnu}/bsd/netinet6/in6_var.h') - #include_next - EOF + '${xnuHeaders}/include/netinet6/in6.h' \ + '${xnuHeaders}/include/netinet6/in6_private.h' \ + '${xnuHeaders}/include/netinet6/in6_var.h' \ + '${xnuHeaders}/include/netinet6/in6_pcb.h' \ + '${xnuHeaders}/include/netinet6/ip6_var.h' \ + '${xnuHeaders}/include/netinet6/mld6_var.h' mkdir -p "$out/include/netinet6" cat < "$out/include/netinet6/nd6.h" #pragma once - $(sed -n \ - -e '/^#define ND6_IFF/p' \ - '${xnu}/bsd/netinet6/nd6.h') - #include_next + #include /* The private nd6.h depends on sockaddr_dl but fails to include if_dl.h. */ + #include <${xnuHeaders}/include/netinet6/nd6.h> EOF install -D -t "$out/include/os" \ - '${xnu}/libkern/os/atomic_private.h' \ - '${xnu}/libkern/os/atomic_private_arch.h' \ - '${xnu}/libkern/os/atomic_private_impl.h' \ + '${xnuHeaders}/Library/Frameworks/Kernel.framework/PrivateHeaders/os/atomic_private.h' \ + '${xnuHeaders}/Library/Frameworks/Kernel.framework/PrivateHeaders/os/atomic_private_arch.h' \ + '${xnuHeaders}/Library/Frameworks/Kernel.framework/PrivateHeaders/os/atomic_private_impl.h' \ '${xnu}/libkern/os/log_private.h' - declare -a privateHeaders=( - net/classq/classq.h - net/classq/if_classq.h - net/if_bridgevar.h - net/if_llreach.h - net/if_mib.h - net/if_ports_used.h - net/net_api_stats.h - net/network_agent.h - net/ntstat.h - net/packet_mangler.h - net/pktap.h - net/pktsched/pktsched.h - net/pktsched/pktsched_fq_codel.h - net/radix.h - netinet/igmp_var.h - netinet/in_pcb.h - netinet/in_stat.h - netinet/ip_dummynet.h - netinet/mptcp_var.h - netinet/tcp_var.h - netinet6/mld6_var.h - sys/mbuf.h - ) + install -D -t "$out/include/skywalk" \ + '${xnuHeaders}/include/skywalk/os_channel.h' \ + '${xnuHeaders}/include/skywalk/os_channel_event.h' \ + '${xnuHeaders}/include/skywalk/os_nexus.h' \ + '${xnuHeaders}/include/skywalk/os_packet.h' - mkdir -p "$out/include/sys" - - for header in "''${privateHeaders[@]}"; do - unifdef -x 1 -DPRIVATE -o "$out/include/$header" '${xnu}/bsd/'$header - done - unifdef -x 1 -DPRIVATE -o "$out/include/net/content_filter_impl.h" '${xnu}/bsd/net/content_filter.h' - - cat < "$out/include/sys/kern_control.h" - #pragma once - $(sed -n \ - -e '/^#define MAX_KCTL_NAME\s/p' \ - -e '/^struct kctlstat\s*{/,/^};/p' \ - -e '/^struct xkctl_reg\s*{/,/^};/p' \ - -e '/^struct xkctlpcb\s*{/,/^};/p' \ - '${xnu}/bsd/sys/kern_control.h') - #include_next - EOF - - cat < "$out/include/sys/kern_event.h" - #pragma once - $(sed -n \ - -e '/^struct kevtstat\s*{/,/^};/p' \ - -e '/^struct xkevtpcb\s*{/,/^};/p' \ - '${xnu}/bsd/sys/kern_event.h') - #include_next - EOF - - cat < "$out/include/sys/socket.h" - #pragma once - #include - #include - $(sed -n \ - -e '/^typedef.*sae_associd_t/p' \ - -e '/^typedef.*sae_connid_t/p' \ - '${xnu}/bsd/sys/socket.h') - $(sed -n \ - -e '/^#define AF_MULTIPATH\s/p' \ - -e '/^#define CIAUX_TCP\s/p' \ - -e '/^#define NET_RT_/p' \ - -e '/^#define SO_RECV/p' \ - -e '/^#define SO_TRAFFIC_CLASS\s/,/^#define SO_TC_MAX/p' \ - -e '/^struct so_aidreq\s*{/,/^};/p' \ - -e '/^struct so_cidreq\s*{/,/^};/p' \ - -e '/^struct so_cinforeq\s*{/,/^};/p' \ - -e '/^struct so_cordreq\s*{/,/^};/p' \ - '${xnu}/bsd/sys/socket_private.h') - #include_next - EOF - - cat < "$out/include/sys/socketvar.h" - #pragma once - $(sed -n \ - -e '/^#define SO_STATS_/p' \ - -e '/^#define SO_TC_STATS_MAX\s/p' \ - -e '/^#define XSO_/p' \ - -e '/^struct data_stats\s*{/,/^};/p' \ - -e '/^struct soextbkidlestat\s*{/,/^};/p' \ - -e '/^struct xsocket_n\s*{/,/^};/p' \ - -e '/^struct xsockbuf_n\s*{/,/^};/p' \ - -e '/^struct xsockstat_n\s*{/,/^};/p' \ - -e '/^typedef.*so_gen_t;/p' \ - '${xnu}/bsd/sys/socketvar.h') - #include_next - EOF - - cat < "$out/include/sys/sockio.h" - #pragma once - #define ifreq ifreq_private - $(sed -n \ - -e '/^#define SIOCGASSOCIDS\s/p' \ - -e '/^#define SIOCGCONNIDS\s/p' \ - -e '/^#define SIOCGCONNINFO\s/p' \ - -e '/^#define SIOCGIFAGENTDATA\s/p' \ - -e '/^#define SIOCGIFAGENTIDS\s/p' \ - -e '/^#define SIOCGIFCLAT46ADDR\s/p' \ - -e '/^#define SIOCGIFCONSTRAINED\s/p' \ - -e '/^#define SIOCGIFDELEGATE\s/p' \ - -e '/^#define SIOCGIFDESC\s/p' \ - -e '/^#define SIOCGIFEFLAGS\s/p' \ - -e '/^#define SIOCGIFGENERATIONID\s/p' \ - -e '/^#define SIOCGIFGETRTREFCNT\s/p' \ - -e '/^#define SIOCGIFINTERFACESTATE\s/p' \ - -e '/^#define SIOCGIFLINKPARAMS\s/p' \ - -e '/^#define SIOCGIFLINKQUALITYMETRIC\s/p' \ - -e '/^#define SIOCGIFLOG\s/p' \ - -e '/^#define SIOCGIFLOWPOWER\s/p' \ - -e '/^#define SIOCGIFMPKLOG\s/p' \ - -e '/^#define SIOCGIFNAT64PREFIX\s/p' \ - -e '/^#define SIOCGIFNEXUS\s/p' \ - -e '/^#define SIOCGIFQUEUESTATS\s/p' \ - -e '/^#define SIOCGIFTHROTTLE\s/p' \ - -e '/^#define SIOCGIFTIMESTAMPENABLED\s/p' \ - -e '/^#define SIOCGIFTYPE\s/p' \ - -e '/^#define SIOCGIFXFLAGS\s/p' \ - -e '/^#define SIOCGQOSMARKINGENABLED\s/p' \ - -e '/^#define SIOCGQOSMARKINGMODE\s/p' \ - -e '/^#define SIOCGSTARTDELAY\s/p' \ - -e '/^#define SIOCSECNMODE\s/p' \ - -e '/^#define SIOCSETROUTERMODE\s/p' \ - -e '/^#define SIOCSFASTLANECAPABLE\s/p' \ - -e '/^#define SIOCSFASTLEENABLED\s/p' \ - -e '/^#define SIOCSIF2KCL\s/p' \ - -e '/^#define SIOCSIFCONSTRAINED\s/p' \ - -e '/^#define SIOCSIFDESC\s/p' \ - -e '/^#define SIOCSIFDISABLEINPUT\s/p' \ - -e '/^#define SIOCSIFDISABLEOUTPUT\s/p' \ - -e '/^#define SIOCSIFEXPENSIVE\s/p' \ - -e '/^#define SIOCSIFINTERFACESTATE\s/p' \ - -e '/^#define SIOCSIFLINKPARAMS\s/p' \ - -e '/^#define SIOCSIFLOG\s/p' \ - -e '/^#define SIOCSIFLOWPOWER\s/p' \ - -e '/^#define SIOCSIFMARKWAKEPKT\s/p' \ - -e '/^#define SIOCSIFMPKLOG\s/p' \ - -e '/^#define SIOCSIFNOACKPRIO\s/p' \ - -e '/^#define SIOCSIFNOTRAFFICSHAPING\s/p' \ - -e '/^#define SIOCSIFPROBECONNECTIVITY\s/p' \ - -e '/^#define SIOCSIFSUBFAMILY\s/p' \ - -e '/^#define SIOCSIFTHROTTLE\s/p' \ - -e '/^#define SIOCSIFTIMESTAMPDISABLE\s/p' \ - -e '/^#define SIOCSIFTIMESTAMPENABLE\s/p' \ - -e '/^#define SIOCSQOSMARKINGENABLED\s/p' \ - -e '/^#define SIOCSQOSMARKINGMODE\s/p' \ - '${xnu}/bsd/sys/sockio_private.h') - #undef ifreq - #include_next - EOF - ln -s "$out/include/sys/sockio.h" "$out/include/sys/sockio_private.h" - - cat < "$out/include/sys/sys_domain.h" - #pragma once - $(sed -n \ - -e '/^#define AF_SYS/p' \ - -e '/^#define SYSPROTO/p' \ - -e '/^struct xsystmgen\s*{/,/^};/p' \ - '${xnu}/bsd/sys/sys_domain.h') - #include_next - EOF - - cat < "$out/include/sys/syslimits.h" - #pragma once - $(grep '^#define LINE_MAX\s' '${xnu}/bsd/sys/syslimits.h') - #include_next - EOF - - cat < "$out/include/sys/unpcb.h" - #pragma once - #include_next - #define KERNEL - #ifdef KERNEL - $(sed -n \ - -e '/^struct unpcb_compat\s*{/,/^};/p' \ - '${xnu}/bsd/sys/unpcb.h') - #undef KERNEL - $(sed -n \ - -e '/^#define xu_addr/p' \ - -e '/^struct *xunpcb\(64\|_n\)_list_entry\s*{/,/^};/p' \ - -e '/^struct *xunpcb\(64\|_n\)\s*{/,/^};/p' \ - '${xnu}/bsd/sys/unpcb.h') + install -D -t "$out/include/sys" \ + '${xnuHeaders}/include/sys/kern_control.h' \ + '${xnuHeaders}/include/sys/kern_control_private.h' \ + '${xnuHeaders}/include/sys/kern_event.h' \ + '${xnuHeaders}/include/sys/kern_event_private.h' \ + '${xnuHeaders}/include/sys/mbuf.h' \ + '${xnuHeaders}/include/sys/socket.h' \ + '${xnuHeaders}/include/sys/socket_private.h' \ + '${xnuHeaders}/include/sys/socketvar.h' \ + '${xnuHeaders}/include/sys/sockio.h' \ + '${xnuHeaders}/include/sys/sockio_private.h' \ + '${xnuHeaders}/include/sys/sys_domain.h' \ + '${xnuHeaders}/include/sys/sys_domain_private.h' \ + '${xnuHeaders}/include/sys/syslimits.h' \ + '${xnuHeaders}/include/sys/unpcb.h' \ + '${xnuHeaders}/include/sys/vsock_private.h' ''; }; in @@ -398,20 +171,6 @@ mkAppleDerivation { postPatch = '' # Fix invalid pointer conversion error from trying to pass `NULL` to a `size_t`. substituteInPlace ndp.tproj/ndp.c --replace-fail 'NULL, NULL);' 'NULL, 0);' - - # Use private struct ifreq instead of the one defined in the system header. - substituteInPlace ifconfig.tproj/ifconfig.c \ - --replace-fail $'struct\tifreq' 'struct ifreq' \ - --replace-fail 'struct ifreq' 'struct ifreq_private' - - substituteInPlace ifconfig.tproj/ifvlan.c \ - --replace-fail 'struct ifreq' 'struct ifreq_private' - - substituteInPlace ifconfig.tproj/ifconfig.h \ - --replace-fail 'struct ifreq' 'struct ifreq_private' - - substituteInPlace netstat.tproj/if.c \ - --replace-fail 'struct ifreq' 'struct ifreq_private' ''; env.NIX_CFLAGS_COMPILE = "-I${privateHeaders}/include"; From 380938484b4bb6781e10982641965bb34f7ac400 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Thu, 9 Apr 2026 20:27:02 -0400 Subject: [PATCH 39/44] darwin.network_cmds: 705.100.5 -> 730.80.3 https://github.com/apple-oss-distributions/network_cmds/compare/network_cmds-705.100.5...network_cmds-730.80.3 --- .../by-name/ne/network_cmds/meson.build.in | 113 +----------------- .../by-name/ne/network_cmds/package.nix | 21 ++-- ...L-based-CoreCrypto-digest-functions.patch} | 16 +-- .../0002-Add-missing-sys-types_h.patch | 25 ++++ .../darwin/sourceRelease/versions.json | 4 +- 5 files changed, 50 insertions(+), 129 deletions(-) rename pkgs/os-specific/darwin/by-name/ne/network_cmds/patches/{0007-Add-OpenSSL-based-CoreCrypto-digest-functions.patch => 0001-Add-OpenSSL-based-CoreCrypto-digest-functions.patch} (96%) create mode 100644 pkgs/os-specific/darwin/by-name/ne/network_cmds/patches/0002-Add-missing-sys-types_h.patch diff --git a/pkgs/os-specific/darwin/by-name/ne/network_cmds/meson.build.in b/pkgs/os-specific/darwin/by-name/ne/network_cmds/meson.build.in index 926175715775..07420798eb3f 100644 --- a/pkgs/os-specific/darwin/by-name/ne/network_cmds/meson.build.in +++ b/pkgs/os-specific/darwin/by-name/ne/network_cmds/meson.build.in @@ -74,17 +74,6 @@ install_man( 'arp.tproj/arp4.4', ) -executable( - 'cfilutil', - dependencies : [ corecrypto ], - install : true, - sources : [ - 'cfilutil/cfilstat.c', - 'cfilutil/cfilutil.c', - ], -) -install_man('cfilutil/cfilutil.1') - executable( 'dnctl', install : true, @@ -92,30 +81,6 @@ executable( ) install_man('dnctl/dnctl.8') -executable( - 'ecnprobe', - dependencies : [ libnetwork_cmds, libpcap ], - install : true, - sources : [ - 'ecnprobe/capture.c', - 'ecnprobe/ecn.c', - 'ecnprobe/ecn_probe.c', - 'ecnprobe/gmt2local.c', - 'ecnprobe/history.c', - 'ecnprobe/inet.c', - 'ecnprobe/session.c', - 'ecnprobe/support.c', - ], -) -install_man('ecnprobe/ecnprobe.1') - -executable( - 'frame_delay', - install : true, - sources : [ 'frame_delay/frame_delay.c' ], -) -install_man('frame_delay/frame_delay.8') - executable( 'ifconfig', c_args : [ @@ -139,13 +104,6 @@ executable( ) install_man('ifconfig.tproj/ifconfig.8') -executable( - 'ip6addrctl', - install : true, - sources : [ 'ip6addrctl.tproj/ip6addrctl.c' ], -) -install_man('ip6addrctl.tproj/ip6addrctl.8') - executable( 'kdumpd', dependencies : [ libnetwork_cmds ], @@ -157,34 +115,6 @@ executable( ) install_man('kdumpd.tproj/kdumpd.8') -executable( - 'mnc', - install : true, - sources : [ - 'mnc.tproj/mnc_main.c', - 'mnc.tproj/mnc_multicast.c', - 'mnc.tproj/mnc_opts.c', - ], -) -install_man('mnc.tproj/mnc.1') - -executable( - 'mptcp_client', - install : true, - sources : [ - 'mptcp_client/conn_lib.c', - 'mptcp_client/mptcp_client.c', - ], -) -install_man('mptcp_client/mptcp_client.1') - -executable( - 'mtest', - install : true, - sources : [ 'mtest.tproj/mtest.c' ], -) -install_man('mtest.tproj/mtest.8') - executable( 'ndp', c_args : [ @@ -231,7 +161,7 @@ executable( dependencies : [ libnetwork_cmds ], install : true, sources : [ - 'ecnprobe/gmt2local.c', + 'network_cmds_lib/gmt2local.c', 'ping.tproj/ping.c' ], ) @@ -242,26 +172,13 @@ executable( dependencies : [ libnetwork_cmds, libresolv ], install : true, sources : [ - 'ecnprobe/gmt2local.c', + 'network_cmds_lib/gmt2local.c', 'ping6.tproj/md5.c', 'ping6.tproj/ping6.c', ], ) install_man('ping6.tproj/ping6.8') -executable( - 'pktapctl', - install : true, - sources : [ 'pktapctl/pktapctl.c' ], -) -install_man('pktapctl/pktapctl.8') - -executable( - 'pktmnglr', - install : true, - sources : [ 'pktmnglr/packet_mangler.c' ], -) - executable( 'rarpd', c_args : [ '-DTFTP_DIR="tftpboot"' ], @@ -282,32 +199,6 @@ executable( ) install_man('route.tproj/route.8') -executable( - 'rtadvd', - c_args : [ - '-DINET6', - '-DHAVE_GETIFADDRS', - # Required for `_COMM_PAGE_CPU_CAPABILITIES` in - '-DPRIVATE', - ], - dependencies : libutil, - install : true, - sources : [ - 'rtadvd.tproj/advcap.c', - 'rtadvd.tproj/config.c', - 'rtadvd.tproj/dump.c', - 'rtadvd.tproj/if.c', - 'rtadvd.tproj/rrenum.c', - 'rtadvd.tproj/rtadvd.c', - 'rtadvd.tproj/rtadvd_logging.c', - 'rtadvd.tproj/timer.c', - ], -) -install_man( - 'rtadvd.tproj/rtadvd.8', - 'rtadvd.tproj/rtadvd.conf.5', -) - executable( 'rtsol', c_args : [ diff --git a/pkgs/os-specific/darwin/by-name/ne/network_cmds/package.nix b/pkgs/os-specific/darwin/by-name/ne/network_cmds/package.nix index 3421a7a3e901..1504ebf59590 100644 --- a/pkgs/os-specific/darwin/by-name/ne/network_cmds/package.nix +++ b/pkgs/os-specific/darwin/by-name/ne/network_cmds/package.nix @@ -5,6 +5,7 @@ mkAppleDerivation, openssl, pkg-config, + file_cmds, sourceRelease, stdenvNoCC, unifdef, @@ -21,11 +22,8 @@ let buildCommand = '' # Different strategies are needed to make private headers available to network_cmds: - # - If the headers can be used as-is, copy them; - # - If the required symbols are hidden behind a 'PRIVATE' define, `unifdef` is used to expose only those symbols - # for that header. Processing the header avoids exposing unwanted private symbols and requiring more headers; - # - If the symbol is hidden behind a kernel-related define, grep them out of the header. Otherwise, - # the required headers can conflict with system-related headers and require many, many more headers be copied. + # - If the headers are available in xnuHeaders, copy them; or + # - If the headers are not included in the private headers build, copy them from the source. install -D -t "$out/include" \ '${xnuHeaders}/include/kern/cs_blobs.h' @@ -160,17 +158,24 @@ mkAppleDerivation { "man" ]; - xcodeHash = "sha256-1RJ/s9vnfCGY2Vc2XH8dg8rB+0lwK2IBC7zIx4PuXWQ="; + xcodeHash = "sha256-OIYpa71CvCOL8Ln7s8wUqWj9yD9lEeRifkj5gPvD78Y="; patches = [ # Some private headers depend on corecrypto, which we can’t use. # Use the headers from the ld64 port, which delegates to OpenSSL. - ./patches/0007-Add-OpenSSL-based-CoreCrypto-digest-functions.patch + ./patches/0001-Add-OpenSSL-based-CoreCrypto-digest-functions.patch + # Fix unknown type name 'pid_t' error + ./patches/0002-Add-missing-sys-types_h.patch ]; postPatch = '' # Fix invalid pointer conversion error from trying to pass `NULL` to a `size_t`. - substituteInPlace ndp.tproj/ndp.c --replace-fail 'NULL, NULL);' 'NULL, 0);' + substituteInPlace ndp.tproj/ndp.c \ + --replace-fail 'NULL, NULL);' 'NULL, 0);' + + # Fix invalid pointer conversion error. These parameters seem to be in the wrong order … + substituteInPlace netstat.tproj/main.c \ + --replace-fail 'tp->pr_name, tp->pr_protocol' 'tp->pr_protocol, tp->pr_name' ''; env.NIX_CFLAGS_COMPILE = "-I${privateHeaders}/include"; diff --git a/pkgs/os-specific/darwin/by-name/ne/network_cmds/patches/0007-Add-OpenSSL-based-CoreCrypto-digest-functions.patch b/pkgs/os-specific/darwin/by-name/ne/network_cmds/patches/0001-Add-OpenSSL-based-CoreCrypto-digest-functions.patch similarity index 96% rename from pkgs/os-specific/darwin/by-name/ne/network_cmds/patches/0007-Add-OpenSSL-based-CoreCrypto-digest-functions.patch rename to pkgs/os-specific/darwin/by-name/ne/network_cmds/patches/0001-Add-OpenSSL-based-CoreCrypto-digest-functions.patch index 011d0f816ff0..baae5d4e72aa 100644 --- a/pkgs/os-specific/darwin/by-name/ne/network_cmds/patches/0007-Add-OpenSSL-based-CoreCrypto-digest-functions.patch +++ b/pkgs/os-specific/darwin/by-name/ne/network_cmds/patches/0001-Add-OpenSSL-based-CoreCrypto-digest-functions.patch @@ -1,10 +1,10 @@ -From 36767c7345161baf0ab125f95c8557f8e24f25db Mon Sep 17 00:00:00 2001 +From dc917b5729184398268cdfdc4ac180fb0306c1cc Mon Sep 17 00:00:00 2001 From: Randy Eckenrode -Date: Tue, 9 Apr 2024 19:28:17 -0400 -Subject: [PATCH 7/8] Add OpenSSL-based CoreCrypto digest functions +Date: Fri, 10 Apr 2026 23:08:32 -0400 +Subject: [PATCH] Add-OpenSSL-based-CoreCrypto-digest-functions --- - compat/CommonCrypto/CommonDigest.h | 6 +++ + compat/CommonCrypto/CommonDigest.h | 5 +++ compat/CommonCrypto/CommonDigestSPI.c | 21 +++++++++++ compat/CommonCrypto/CommonDigestSPI.h | 14 +++++++ compat/corecrypto/api_defines.h | 10 +++++ @@ -14,7 +14,7 @@ Subject: [PATCH 7/8] Add OpenSSL-based CoreCrypto digest functions compat/corecrypto/ccsha1.c | 22 +++++++++++ compat/corecrypto/ccsha1.h | 9 +++++ compat/corecrypto/ccsha2.c | 22 +++++++++++ - compat/corecrypto/ccsha2.h | 9 +++++ + compat/corecrypto/ccsha2.h | 10 +++++ 11 files changed, 212 insertions(+) create mode 100644 compat/CommonCrypto/CommonDigest.h create mode 100644 compat/CommonCrypto/CommonDigestSPI.c @@ -30,7 +30,7 @@ Subject: [PATCH 7/8] Add OpenSSL-based CoreCrypto digest functions diff --git a/compat/CommonCrypto/CommonDigest.h b/compat/CommonCrypto/CommonDigest.h new file mode 100644 -index 0000000..a60eba7 +index 0000000..531bb05 --- /dev/null +++ b/compat/CommonCrypto/CommonDigest.h @@ -0,0 +1,5 @@ @@ -292,7 +292,7 @@ index 0000000..6504503 +} diff --git a/compat/corecrypto/ccsha2.h b/compat/corecrypto/ccsha2.h new file mode 100644 -index 0000000..9f30e03 +index 0000000..7e889b7 --- /dev/null +++ b/compat/corecrypto/ccsha2.h @@ -0,0 +1,10 @@ @@ -307,5 +307,5 @@ index 0000000..9f30e03 + +EXTERN_C const struct ccdigest_info* ccsha256_di(void); -- -2.44.1 +2.51.2 diff --git a/pkgs/os-specific/darwin/by-name/ne/network_cmds/patches/0002-Add-missing-sys-types_h.patch b/pkgs/os-specific/darwin/by-name/ne/network_cmds/patches/0002-Add-missing-sys-types_h.patch new file mode 100644 index 000000000000..dd72df4ddbea --- /dev/null +++ b/pkgs/os-specific/darwin/by-name/ne/network_cmds/patches/0002-Add-missing-sys-types_h.patch @@ -0,0 +1,25 @@ +From 0135015e24a2f52e225be84f47c2c910b51774b7 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Fri, 10 Apr 2026 23:07:35 -0400 +Subject: [PATCH] Add-missing-sys-types_h + +--- + network_cmds_lib/network_cmds_lib.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/network_cmds_lib/network_cmds_lib.h b/network_cmds_lib/network_cmds_lib.h +index d04e8fd..aee4c64 100644 +--- a/network_cmds_lib/network_cmds_lib.h ++++ b/network_cmds_lib/network_cmds_lib.h +@@ -29,6 +29,8 @@ + #ifndef network_cmds_lib_h + #define network_cmds_lib_h + ++#include ++ + /* + * @function clean_non_printable + * @discussion Modifies a string to replace the non-printable ASCII characters +-- +2.51.2 + diff --git a/pkgs/os-specific/darwin/sourceRelease/versions.json b/pkgs/os-specific/darwin/sourceRelease/versions.json index 49cca7794899..aabc1867e6fc 100644 --- a/pkgs/os-specific/darwin/sourceRelease/versions.json +++ b/pkgs/os-specific/darwin/sourceRelease/versions.json @@ -236,8 +236,8 @@ "version": "45" }, "network_cmds": { - "hash": "sha256-sfZX6aA8mspfRKARIYFXX+bmlLHDoi485HQOvbRNP1Y=", - "version": "705.100.5" + "hash": "sha256-WlO668xfWOJk9QkTDJBqBVfXK52yg2Ofdjcdk6pQvIo=", + "version": "730.80.3" }, "objc4": { "hash": "sha256-imgOe9mr5HnvTAupIEj1UwS7tbmk3coqNf5BQgI32lE=", From 0c52d1c9c7ff0a5aacf1e0f343c41f7b64ffa7eb Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Thu, 9 Apr 2026 20:27:02 -0400 Subject: [PATCH 40/44] darwin.PowerManagement: 1754.140.4 -> 1846.81.1 https://github.com/apple-oss-distributions/PowerManagement/compare/PowerManagement-1754.140.4...PowerManagement-1846.81.1 --- pkgs/os-specific/darwin/sourceRelease/versions.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/darwin/sourceRelease/versions.json b/pkgs/os-specific/darwin/sourceRelease/versions.json index aabc1867e6fc..790a915f033b 100644 --- a/pkgs/os-specific/darwin/sourceRelease/versions.json +++ b/pkgs/os-specific/darwin/sourceRelease/versions.json @@ -116,8 +116,8 @@ "version": "146" }, "PowerManagement": { - "hash": "sha256-ssg655SPT7gWnJWDaxambMKCopr+vLPYERW0IMKT0T8=", - "version": "1754.140.4" + "hash": "sha256-KqpAUjwqENbx3qPxhkK6OFARjBGSMEpaGz5ozo9vtSY=", + "version": "1846.81.1" }, "Security": { "hash": "sha256-+Rt3+bwj7++u8Pm5V6QgIQUpugwcY2gjqkCWZ2xqGqw=", From d055bafaafaf5af18d7ceab68ea600e886848961 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Thu, 9 Apr 2026 20:27:02 -0400 Subject: [PATCH 41/44] darwin.removefile: 81 -> 84 https://github.com/apple-oss-distributions/removefile/compare/removefile-81...removefile-84 --- pkgs/os-specific/darwin/sourceRelease/versions.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/os-specific/darwin/sourceRelease/versions.json b/pkgs/os-specific/darwin/sourceRelease/versions.json index 790a915f033b..f1ddc4f78246 100644 --- a/pkgs/os-specific/darwin/sourceRelease/versions.json +++ b/pkgs/os-specific/darwin/sourceRelease/versions.json @@ -257,7 +257,7 @@ }, "removefile": { "hash": "sha256-Z5UD0mk/s80CQB0PZWDzSl2JWXmnVmwUvlNb28+hR3k=", - "version": "81" + "version": "84" }, "shell_cmds": { "hash": "sha256-hoMssbZCrmzyJTgEAzOS4L7DhY9z/yXIcvHRhL6W5qc=", From 3622869ad13a1660c898b4f3707d1c6fdaa37eb0 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Thu, 9 Apr 2026 20:27:02 -0400 Subject: [PATCH 42/44] darwin.system_cmds: 1026.140.2 -> 1039 https://github.com/apple-oss-distributions/system_cmds/compare/system_cmds-1026.140.2...system_cmds-1039 --- pkgs/os-specific/darwin/by-name/sy/system_cmds/meson.build.in | 3 --- pkgs/os-specific/darwin/by-name/sy/system_cmds/package.nix | 2 +- pkgs/os-specific/darwin/sourceRelease/versions.json | 4 ++-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/pkgs/os-specific/darwin/by-name/sy/system_cmds/meson.build.in b/pkgs/os-specific/darwin/by-name/sy/system_cmds/meson.build.in index 3263cdb2837c..c36450b916df 100644 --- a/pkgs/os-specific/darwin/by-name/sy/system_cmds/meson.build.in +++ b/pkgs/os-specific/darwin/by-name/sy/system_cmds/meson.build.in @@ -186,10 +186,7 @@ executable( build_by_default : false, install : false, sources : [ - 'gcore/convert.c', 'gcore/corefile.c', - 'gcore/dyld.c', - 'gcore/dyld_shared_cache.c', 'gcore/gcore_framework.m', 'gcore/main.c', 'gcore/notes.c', diff --git a/pkgs/os-specific/darwin/by-name/sy/system_cmds/package.nix b/pkgs/os-specific/darwin/by-name/sy/system_cmds/package.nix index c58fbcc65d90..1fdb00d9a735 100644 --- a/pkgs/os-specific/darwin/by-name/sy/system_cmds/package.nix +++ b/pkgs/os-specific/darwin/by-name/sy/system_cmds/package.nix @@ -101,7 +101,7 @@ in mkAppleDerivation { releaseName = "system_cmds"; - xcodeHash = "sha256-gdtn3zNIneZKy6+X0mQ51CFVLNM6JQYLbd/lotG5/Tw="; + xcodeHash = "sha256-/JFbwYJA2sx3F+ihyxemZX/LK3y5HLZSbQFDdvctzmQ="; patches = [ # `posix_spawnattr_set_use_sec_transition_shims_np` is only available on macOS 15.2 or newer. diff --git a/pkgs/os-specific/darwin/sourceRelease/versions.json b/pkgs/os-specific/darwin/sourceRelease/versions.json index f1ddc4f78246..25ff4f6c47bb 100644 --- a/pkgs/os-specific/darwin/sourceRelease/versions.json +++ b/pkgs/os-specific/darwin/sourceRelease/versions.json @@ -264,8 +264,8 @@ "version": "326" }, "system_cmds": { - "hash": "sha256-mEo+v0m+aP42XHHwibGKPkT55JFYLTOD5YT5IYQ8Hr0=", - "version": "1026.140.2" + "hash": "sha256-OYLCu2pPe10apZEK5kgINcEvxRFFPYquPzcRNkvtJKI=", + "version": "1039" }, "text_cmds": { "hash": "sha256-5BBH/v1mJpExz65VDX6oh3dFCz49E+JMqJxkO96Y/xo=", From a53b49a266e5c302cb7488eeb8a8b914f96226ee Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Thu, 9 Apr 2026 20:27:02 -0400 Subject: [PATCH 43/44] darwin.text_cmds: 195 -> 197 https://github.com/apple-oss-distributions/text_cmds/compare/text_cmds-195...text_cmds-197 --- pkgs/os-specific/darwin/sourceRelease/versions.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/darwin/sourceRelease/versions.json b/pkgs/os-specific/darwin/sourceRelease/versions.json index 25ff4f6c47bb..432a2e4b3686 100644 --- a/pkgs/os-specific/darwin/sourceRelease/versions.json +++ b/pkgs/os-specific/darwin/sourceRelease/versions.json @@ -268,8 +268,8 @@ "version": "1039" }, "text_cmds": { - "hash": "sha256-5BBH/v1mJpExz65VDX6oh3dFCz49E+JMqJxkO96Y/xo=", - "version": "195" + "hash": "sha256-SDH74Pwy/kPiApisuUFBrDVQ7swCsinMK7zkpm82rnw=", + "version": "197" }, "top": { "hash": "sha256-e+k/jE49BMZZ24ge9JCa2ct5f1og6ewWb6U5ZMWdIEc=", From 844f0b84b245a4a9a4883540e590ee57b12cf64c Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Thu, 9 Apr 2026 20:27:02 -0400 Subject: [PATCH 44/44] darwin.top: 139.40.2 -> 144 https://github.com/apple-oss-distributions/top/compare/top-139.40.2...top-144 --- pkgs/os-specific/darwin/sourceRelease/versions.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/darwin/sourceRelease/versions.json b/pkgs/os-specific/darwin/sourceRelease/versions.json index 432a2e4b3686..352df185452c 100644 --- a/pkgs/os-specific/darwin/sourceRelease/versions.json +++ b/pkgs/os-specific/darwin/sourceRelease/versions.json @@ -272,8 +272,8 @@ "version": "197" }, "top": { - "hash": "sha256-e+k/jE49BMZZ24ge9JCa2ct5f1og6ewWb6U5ZMWdIEc=", - "version": "139.40.2" + "hash": "sha256-F+P7yRQw4qa73JmQrMVgy3lVQRDBrFDy9kkOUJ135ys=", + "version": "144" }, "xnu": { "hash": "sha256-ci4Rsa1nRpS9qYBUxnaQokrtBzApGF/kQXugGusb9ok=",