From c18a35bdb2dfeae00701f180e85c704c51eee717 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 15 Oct 2025 16:44:09 +0100 Subject: [PATCH 1/2] doc/rl-2511: move Darwin libc++ release note further down This is less relevant to users than version support. --- doc/release-notes/rl-2511.section.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/release-notes/rl-2511.section.md b/doc/release-notes/rl-2511.section.md index acd5f951ec5a..8d2e36d9035c 100644 --- a/doc/release-notes/rl-2511.section.md +++ b/doc/release-notes/rl-2511.section.md @@ -12,15 +12,15 @@ - The default GHC version has been updated from 9.8 to 9.10. `haskellPackages` correspondingly uses Stackage LTS 24 (instead of LTS 23) as a baseline. -- Darwin has switched to using the system libc++. This was done for improved compatibility and to avoid ODR violations. - If a newer C++ library feature is not available on the default deployment target, you will need to increase the deployment target. - See the Darwin platform documentation for more details. - - **This release of Nixpkgs requires macOS Sonoma 14.0 or newer, as announced in the 25.05 release notes.** The default SDK is now 14.4, but the minimum version is 14.0. cc-wrapper will enforce that availability annotations are used or an appropriate deployment target is set. See the Darwin platform notes for details. +- Darwin has switched to using the system libc++. This was done for improved compatibility and to avoid ODR violations. + If a newer C++ library feature is not available on the default deployment target, you will need to increase the deployment target. + See the Darwin platform documentation for more details. + - LLVM has been updated from 19 to 21. ## Backward Incompatibilities {#sec-nixpkgs-release-25.11-incompatibilities} From a0e48fec74df3eaa791239fdc6cb513a00854c1b Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 10 Jun 2025 13:12:01 +0100 Subject: [PATCH 2/2] doc/rl-2511: announce projected `x86_64-darwin` deprecation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit macOS 27 is going to drop Intel support, so we’re pre‐announcing the inevitable so that people can prepare. We already announced that we’re aligning our OS support policy with Apple’s starting in 25.11, so it’s very unlikely that we could justify making an exception to devote resources to `x86_64-darwin` support in 28.11 and beyond, after Apple stop releasing security updates for the platform. However, the end of support in Nixpkgs may come sooner than that. Apple have announced that [Rosetta 2 will be pared down] by macOS 28 to not support emulation of arbitrary applications. We use `aarch64-darwin` builder machines exclusively and rely on Rosetta 2 to build packages for `x86_64-darwin`. As we try to keep the builders on the latest OS versions, that would mean that we’d lose the ability to build for `x86_64-darwin` around the release of 27.11, unless we held back on updating the OS on the builders for a year. [Rosetta 2 will be pared down]: https://developer.apple.com/documentation/apple-silicon/about-the-rosetta-translation-environment Additionally, `x86_64-darwin` is the slowest system to build due to our limited Mac builder resources and the emulation overhead. Dropping support will more than double our effective `aarch64-darwin` build capacity and benefit the whole project by reducing the bottleneck on world rebuilds during `staging-next` cycles. It’s hard to find good data on the relative market share, but the May 2025 [Steam Hardware Survey] shows over 80% of their macOS users already being on Apple Silicon. Therefore, I’d personally expect us to drop support by 26.11, given the trade‐off between the resources it will take to continue supporting `x86_64-darwin` and the number of users it is likely to benefit. (And I’m typing this on a Intel Mac myself…) [Steam Hardware Survey]: https://store.steampowered.com/hwsurvey/processormfg/ --- doc/release-notes/rl-2511.section.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/doc/release-notes/rl-2511.section.md b/doc/release-notes/rl-2511.section.md index 8d2e36d9035c..748011d46dcb 100644 --- a/doc/release-notes/rl-2511.section.md +++ b/doc/release-notes/rl-2511.section.md @@ -17,6 +17,13 @@ cc-wrapper will enforce that availability annotations are used or an appropriate deployment target is set. See the Darwin platform notes for details. +- **We expect to drop support for `x86_64-darwin` by Nixpkgs 26.11,** in light of Apple’s announcement that macOS 26 will be the final version to support Intel Macs. + When support is fully removed, we will no longer build packages for the platform or guarantee that it can build at all. + This may happen in stages, depending on our available build and maintenance resources and decisions made by projects we rely on. + + By the time of 26.11’s release, Homebrew will offer only limited [Tier 3](https://docs.brew.sh/Support-Tiers#tier-3) support for the platform, but MacPorts will likely continue to support it for a long time. + We also recommend users consider installing NixOS, which should continue to run on essentially all Intel Macs, especially after Apple stops security support for macOS 26 in 2028. + - Darwin has switched to using the system libc++. This was done for improved compatibility and to avoid ODR violations. If a newer C++ library feature is not available on the default deployment target, you will need to increase the deployment target. See the Darwin platform documentation for more details.