-
-
Notifications
You must be signed in to change notification settings - Fork 14k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
darwin: change the SDK pattern, update the SDKs, and update source releases #346043
Commits on Oct 10, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 22369ef - Browse repository at this point
Copy the full SHA 22369efView commit details -
Packages propagated by the SDK need to use a stdenv that does not propagate anything. Otherwise, an infinite recursion will result when building those packages. For consistency, all source releases should use the bootstrapStdenv.
Configuration menu - View commit details
-
Copy full SHA for 08ad882 - Browse repository at this point
Copy the full SHA 08ad882View commit details -
darwin: add darwinMinVersionHook
Adding the hook allows the deployment target to be changed without having to mess with the stdenv. The can also be propagated, which is useful for libraries that have a minimum deployment target higher than the default in nixpkgs. In that case, they can propagate the hook to ensure library users are not targeting an unsupported version.
Configuration menu - View commit details
-
Copy full SHA for 40d415f - Browse repository at this point
Copy the full SHA 40d415fView commit details -
The new Darwin SDK pattern relies on an effectively empty, stub libc implementation. The actual libSystem to be linked is located dynamically based on the active SDK for the target. Independent build, host, and target SDKs are all supported by Darwin. The stub libSystem contains empty `include` and `lib` folders to avoid warnings from wrappers that add those paths unconditionally, which can turn into errors when a package is building with warnings-as-errors. While it would be nice if a fallback libc could be provided, SDK headers are not compatible between framework versions. Providing a fallback risks mixing headers from different frameworks, which can result in hard to diagnose errors involving semicolons or other punctuation.
Configuration menu - View commit details
-
Copy full SHA for 5721c4f - Browse repository at this point
Copy the full SHA 5721c4fView commit details -
darwin: add xcodeProjectCheckHook
This hook is used by source releases that build with Meson to assert that the Xcode project has not changed since the previous release. This is meant to be a check to force those updating source release packages to make sure they have incorporated any changes that were made to the Xcode project into the Meson build.
Configuration menu - View commit details
-
Copy full SHA for 1211498 - Browse repository at this point
Copy the full SHA 1211498View commit details -
darwin.apple-source-releases: add mkAppleDerivation
This is a replacement for the family of `appleDerivation` functions currently used. It is patterned after the `mkDerivation` used in the BSD package sets. It also provides additional support for using Meson to build source releases.
Configuration menu - View commit details
-
Copy full SHA for 8f8e240 - Browse repository at this point
Copy the full SHA 8f8e240View commit details -
darwin.apple-source-releases: add update-source-releases.sh
Add a new update script that locks the source releases to the indicated macOS version per the version pins in following repo: https://github.com/apple-oss-distributions/distribution-macOS
Configuration menu - View commit details
-
Copy full SHA for 6a54c7f - Browse repository at this point
Copy the full SHA 6a54c7fView commit details -
libsbuf is required by some of the source release updates that will be done. Unfortunately, it is only available on macOS 14 and newer, and there is no source release available currently. This is a port of libsbuf from FreeBSD, which appears to be the origin of the header provided in the 14.x SDK. It provides the same ABI as the system dylib and same API as the the SDK header while being available on all supported deployment targets in nixpkgs. Note: This package is not based on libsbuf from the FreeBSD package set in nixpkgs because: it doesn’t build on Darwin, and using it would pull many FreeBSD packages into the Darwin bootstrap, which is undesirable.
Configuration menu - View commit details
-
Copy full SHA for 639108e - Browse repository at this point
Copy the full SHA 639108eView commit details -
apple-sdk: init at 10.12.2 and 11.3
This is a new packaging of the Darwin SDK. Instead of splitting libraries and frameworks into separate packages, it provides a single package for the whole SDK. # Features - Vendored files are removed from the SDK. There are 50+ different packages that are vendored by upstream (depending on the version); - Components that are built in nixpkgs (either from upstream or from the source releases) are also removed. If they need to be included by default, they are propagated; - A single SDK pattern is used to package all SDKs, and scripts are provided to aid updating the SDK version and its source release versions. This makes adding new SDKs much easier; - SDK overrides are handled by adding the SDK version you require. If multiple SDKs are present, only the newest is used. It is possible to have different SDKs for each of build, host, and target platforms; - Private headers are no longer provided by default unless you use the SDK’s `privateFrameworksHook` to add them. It does the right thing when multiple SDKs are in your inputs; - Source releases for the SDK version are available via a passthru `sourceRelease` function. This is mostly useful for getting private headers for building source releases in the darwin attrset; and - The same versions of propagated components are used on both platforms (e.g., the same libresult, libiconv, etc). See `pkgs/by-name/ap/apple-sdk/README.md` for details on how the SDK derivation is structured and how to update it.
Configuration menu - View commit details
-
Copy full SHA for 5567902 - Browse repository at this point
Copy the full SHA 5567902View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3fb982d - Browse repository at this point
Copy the full SHA 3fb982dView commit details -
Configuration menu - View commit details
-
Copy full SHA for a447cba - Browse repository at this point
Copy the full SHA a447cbaView commit details -
Configuration menu - View commit details
-
Copy full SHA for d10c85b - Browse repository at this point
Copy the full SHA d10c85bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 689e898 - Browse repository at this point
Copy the full SHA 689e898View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4283b8f - Browse repository at this point
Copy the full SHA 4283b8fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8fae285 - Browse repository at this point
Copy the full SHA 8fae285View commit details -
Configuration menu - View commit details
-
Copy full SHA for d1c2539 - Browse repository at this point
Copy the full SHA d1c2539View commit details -
Configuration menu - View commit details
-
Copy full SHA for 17aeace - Browse repository at this point
Copy the full SHA 17aeaceView commit details -
Configuration menu - View commit details
-
Copy full SHA for fcd9dc8 - Browse repository at this point
Copy the full SHA fcd9dc8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4802277 - Browse repository at this point
Copy the full SHA 4802277View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0a3c487 - Browse repository at this point
Copy the full SHA 0a3c487View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9ecb69c - Browse repository at this point
Copy the full SHA 9ecb69cView commit details -
Configuration menu - View commit details
-
Copy full SHA for c218ce1 - Browse repository at this point
Copy the full SHA c218ce1View commit details -
{bintools,cc}-wrapper: set up Darwin SDK paths
Some compilers may know to check these paths when `SDKROOT` is set, but it’s not assumed they do. `SDKROOT` is instead derived from the `DEVELOPER_DIR`, and `NIX_CFLAGS_COMPILE` is set up with the sysroot and necessary framework and include search paths.
Configuration menu - View commit details
-
Copy full SHA for 97d75cb - Browse repository at this point
Copy the full SHA 97d75cbView commit details -
{bintools,cc}-wrapper: use a fallback SDK when
DEVELOPER_DIR
is not…… set It is unusual to invoke a wrapped compiler without setting `DEVELOPER_DIR`, but it can happen when a user adds a compiler to their installed packages or when a package intentionally invokes the compiler without an environment (such as the GHC binary packages).
Configuration menu - View commit details
-
Copy full SHA for 51755b0 - Browse repository at this point
Copy the full SHA 51755b0View commit details -
{bintools,cc}-wrapper: fix static builds on Darwin
Without this change, all Darwin platforms mangle to the same suffix salt. That is normally not an issue because build = host should mean a non-cross build, but it causes issues on Darwin with static builds because `DEVELOPER_DIR_FOR_BUILD` and `DEVELOPER_DIR` will refer to different SDKs but mangle to the same `DEVELOPER_DIR` with suffix salt. The fix is to mangle static builds differently from non-static ones on Darwin, which allows building for a static Darwin target on a same-architecture Darwin host. This fix is applied only to Dariwn because the issue does not appear to affect other platforms.
Configuration menu - View commit details
-
Copy full SHA for 826edbf - Browse repository at this point
Copy the full SHA 826edbfView commit details -
Configuration menu - View commit details
-
Copy full SHA for a556a81 - Browse repository at this point
Copy the full SHA a556a81View commit details -
cmake: undo
/var/empty
workaround for Darwin SDK pathsWith this workaround enabled, CMake looks for SDK headers and libraries in `${SDKROOT}/var/empty`, which ensures it will not find them. Disabling the workaround in just this case allows CMake’s SDK support to work with the SDKs in nixpkgs while still not including other, impure paths in its search paths.
Configuration menu - View commit details
-
Copy full SHA for 54d591b - Browse repository at this point
Copy the full SHA 54d591bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 472d10b - Browse repository at this point
Copy the full SHA 472d10bView commit details -
gnutar: make sure libiconv is linked
gnutar’s `configure` detects libiconv but fails to link it on Darwin.
Configuration menu - View commit details
-
Copy full SHA for a79ed0d - Browse repository at this point
Copy the full SHA a79ed0dView commit details -
libpng: build with the bootstrap stdenv on Darwin
Using the bootstrap stdenv avoids an infinite recursion from xcbuild depending on libpng depending on xcrun from xcbuild, which is propagated by the non-bootstrap stdenv.
Configuration menu - View commit details
-
Copy full SHA for f1480a2 - Browse repository at this point
Copy the full SHA f1480a2View commit details -
libuv: Use darwin.libutil on Darwin
The Darwin SDK used to provide `libutil.tbd`, but it has been replaced by `libutil.dylib` in the darwin.libutil package.
Configuration menu - View commit details
-
Copy full SHA for 1ebcfd5 - Browse repository at this point
Copy the full SHA 1ebcfd5View commit details -
libxml2: build with the bootstrap stdenv on Darwin
Using the bootstrap stdenv avoids an infinite recursion from xcbuild depending on libxml2 depending on xcrun from xcbuild, which is propagated by the non-bootstrap stdenv.
Configuration menu - View commit details
-
Copy full SHA for 5a60ff8 - Browse repository at this point
Copy the full SHA 5a60ff8View commit details -
llvmPackages.clang: backport __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
Newer SDKs use this on Darwin. Without it, using the 14.4 and 15.0 SDKs won’t work with clang 16.
Configuration menu - View commit details
-
Copy full SHA for 25c6fe1 - Browse repository at this point
Copy the full SHA 25c6fe1View commit details -
llvmPackages.clang: use the system libunwind on Darwin
While the Darwin stdenv bootstrap sets up its own clang wrappers and doesn’t provide these wrappers in the final stdenv, it does use them indirectly via the LLVM bootstrap to build LLVM and its libraries. Note on using the system libunwind: It is possible to build and use the LLVM libunwind on Darwin, but using the system by default one ensures everything is using the same unwinder.
Configuration menu - View commit details
-
Copy full SHA for 4dc3227 - Browse repository at this point
Copy the full SHA 4dc3227View commit details -
llvmPackages.compiler-rt: align Darwin bootstrap with other platforms
Instead of using overrides in the stdenv bootstrap, Darwin will be relying on the LLVM bootstrap to build compiler-rt. The only special handling it needs is to use a stdenv with a bootstrap SDK instead of the default one (to avoid infinite recursions).
Configuration menu - View commit details
-
Copy full SHA for d3114e0 - Browse repository at this point
Copy the full SHA d3114e0View commit details -
llvmPackages.compiler-rt: always build sanitizers on Darwin
Also enable TSAN since the SDK has xpc. There’s no reason to disable it.
Configuration menu - View commit details
-
Copy full SHA for 654e19f - Browse repository at this point
Copy the full SHA 654e19fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7647c68 - Browse repository at this point
Copy the full SHA 7647c68View commit details -
llvmPackages.compiler-rt: drop use of xcbuild
compiler-rt supports specifying the SDK path and version, so do that to avoid needing to include `xcrun` as a native build input, which simplifies the bootstrap.
Configuration menu - View commit details
-
Copy full SHA for 2fd9a1a - Browse repository at this point
Copy the full SHA 2fd9a1aView commit details -
llvmPackages.compiler-rt: fix compiler-rt bootstrap on Darwin
The first build of compiler-rt in the LLVM bootstrap is build without libc++ being available, which causes support for the `-g` flag to be detected incorrectly on Darwin. Overriding the check by specifying that it’s usable allows the first build of compiler-rt to succeed.
Configuration menu - View commit details
-
Copy full SHA for e6a4c83 - Browse repository at this point
Copy the full SHA e6a4c83View commit details -
llvmPackages.compiler-rt: fix cross-compilation on Darwin
When compiler-rt targets Darwin, it is built with `-target`, which causes clang to try to invoke `ld` without a target prefix (e.g., it will try to exec `ld` instead of `x86_64-apple-darwin-ld` on a cross-build to x86_64-darwin). Specifying `--ld-path` overrides that behavior, allowing it to find the appropriate cross-linker.
Configuration menu - View commit details
-
Copy full SHA for 3e5acda - Browse repository at this point
Copy the full SHA 3e5acdaView commit details -
llvmPackages.libcxx: use a bootstrap stdenv on Darwin
Using a bootstrap stdenv is needed to avoid infinite recursions that occur due to inputs propagated by SDK that depend on libc++.
Configuration menu - View commit details
-
Copy full SHA for 18211ad - Browse repository at this point
Copy the full SHA 18211adView commit details -
llvmPackages.libllvm: disable tests when built in the Darwin bootstrap
When using the LLVM bootstrap to build LLVM and its libraries, overriding just LLVM to disable tests during the first build doesn’t seem to work. This stage name should remain stable, so check for it and disable tests when building in it.
Configuration menu - View commit details
-
Copy full SHA for 34ce30c - Browse repository at this point
Copy the full SHA 34ce30cView commit details -
ncurses: build with the bootstrap stdenv on Darwin
Using the bootstrap stdenv avoids an infinite recursion from xcbuild depending on ncurses depending on xcrun from xcbuild, which is propagated by the non-bootstrap stdenv.
Configuration menu - View commit details
-
Copy full SHA for bf45402 - Browse repository at this point
Copy the full SHA bf45402View commit details -
xarMinimal allows e2fsprogs to build fuse2fs again on Darwin. See NixOS#339412.
Configuration menu - View commit details
-
Copy full SHA for aef4614 - Browse repository at this point
Copy the full SHA aef4614View commit details -
Configuration menu - View commit details
-
Copy full SHA for 45e65c1 - Browse repository at this point
Copy the full SHA 45e65c1View commit details -
Configuration menu - View commit details
-
Copy full SHA for f51c62a - Browse repository at this point
Copy the full SHA f51c62aView commit details -
xcbuild: refactor to support the new SDKs
Take advantage of the new Darwin SDKs to dynamically determine SDK information such as path, version, and binaries (via `xcrun --find`). This is accomplished by relying on the existance of `DEVELOPER_DIR`, which the SDK will set up in nixpkgs.
Configuration menu - View commit details
-
Copy full SHA for 15ac657 - Browse repository at this point
Copy the full SHA 15ac657View commit details -
xcbuild: warn when someone tries to override
sdkVer
xcbuild determines the SDK dynamically, so overriding the `sdkVer` no longer works. If packages want to change the SDK, they need to add one of the SDK packages to their inputs.
Configuration menu - View commit details
-
Copy full SHA for 118a214 - Browse repository at this point
Copy the full SHA 118a214View commit details -
xcbuild: suppress warning for now
Enabling this by default requires additional clean that will be done after the Darwin refactor has been merged.
Configuration menu - View commit details
-
Copy full SHA for 49834c3 - Browse repository at this point
Copy the full SHA 49834c3View commit details -
Configuration menu - View commit details
-
Copy full SHA for fee84be - Browse repository at this point
Copy the full SHA fee84beView commit details -
xcbuild: avoid
xcrun
invoking itself via/usr/bin
stubsmacOS ships with several stubs in `/usr/bin` that invoke `xcrun` to run the tools from the active SDK. When `/usr/bin` is in `PATH`, this will cause `xcrun` from xcbuild to invoke itself over and over. Filtering `/usr/bin` from `xcrun`’s search path prevents this from happening.
Configuration menu - View commit details
-
Copy full SHA for dd569d8 - Browse repository at this point
Copy the full SHA dd569d8View commit details -
xcbuild: 0.1.2-pre -> 0.1.1-unstable-2019-11-20
xcbuild is archived and will never be updated, so bump it to the last commit in the repo.
Configuration menu - View commit details
-
Copy full SHA for 75bc428 - Browse repository at this point
Copy the full SHA 75bc428View commit details -
zlib: build with the bootstrap stdenv on Darwin
Using the bootstrap stdenv avoids an infinite recursion from xcbuild depending on zlib depending on xcrun from xcbuild, which is propagated by the non-bootstrap stdenv.
Configuration menu - View commit details
-
Copy full SHA for 1fd1796 - Browse repository at this point
Copy the full SHA 1fd1796View commit details -
darwin.stdenv: rework for the new SDK
While it would be nice if this could be split, there are too many changes as part of the cleanup and improvements, including: - Refactoring all propagated packages into functions that can be used to ensure that packages are propagated only at the expected stages; - Using a sanity-checking merge function to ensure that packages are only propagated by one of the above functions; - Reducing the number of Python builds during the bootstrap to one; - Removing the extra sysctl stage; - Using the LLVM bootstrap to build LLVM, clang, libc++, etc; - Propagating llvmPackages_<version> in the final stdenv, so that packages needing that version specifically don’t have to rebuild it; - Bootstrapping with the new Darwin SDK; and - Reducing the overall number of paths build during a bootstrap by ~33%.
Configuration menu - View commit details
-
Copy full SHA for 76a5ef6 - Browse repository at this point
Copy the full SHA 76a5ef6View commit details -
Using xarMinimal avoids pulling e2fsprogs and (eventually) macfuse-stubs into the Darwin stdenv bootstrap.
Configuration menu - View commit details
-
Copy full SHA for 9c004ef - Browse repository at this point
Copy the full SHA 9c004efView commit details -
darwin.stdenv: provide an SDK when cross-compiling
Static can rely on the standard cross-SDK because it will be a static SDK when building for static targets.
Configuration menu - View commit details
-
Copy full SHA for b7442b9 - Browse repository at this point
Copy the full SHA b7442b9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4624bd7 - Browse repository at this point
Copy the full SHA 4624bd7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 78076b3 - Browse repository at this point
Copy the full SHA 78076b3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 129a959 - Browse repository at this point
Copy the full SHA 129a959View commit details -
darwin.AvailabilityVersions: remove workaround
The patch adding support for `__ENVIRONMENT_OS_VERSION_MIN_REQUIRED__` to clang has been backported to all versions of clang in nixpkgs (except for clang 12), allowing this workaround to be dropped.
Configuration menu - View commit details
-
Copy full SHA for 8e7056c - Browse repository at this point
Copy the full SHA 8e7056cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 94b1474 - Browse repository at this point
Copy the full SHA 94b1474View commit details -
Configuration menu - View commit details
-
Copy full SHA for c5c276b - Browse repository at this point
Copy the full SHA c5c276bView commit details -
darwin.bsdmake: add to darwin-aliases.nix
Use portable bmake instead of Apple’s port of BSD Make.
Configuration menu - View commit details
-
Copy full SHA for b878c44 - Browse repository at this point
Copy the full SHA b878c44View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8574626 - Browse repository at this point
Copy the full SHA 8574626View commit details -
Configuration menu - View commit details
-
Copy full SHA for b8dbc16 - Browse repository at this point
Copy the full SHA b8dbc16View commit details -
Configuration menu - View commit details
-
Copy full SHA for 83807dc - Browse repository at this point
Copy the full SHA 83807dcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 97454b4 - Browse repository at this point
Copy the full SHA 97454b4View commit details -
Configuration menu - View commit details
-
Copy full SHA for eed715a - Browse repository at this point
Copy the full SHA eed715aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0335ce0 - Browse repository at this point
Copy the full SHA 0335ce0View commit details -
Configuration menu - View commit details
-
Copy full SHA for ca4dd24 - Browse repository at this point
Copy the full SHA ca4dd24View commit details -
Configuration menu - View commit details
-
Copy full SHA for b0884d5 - Browse repository at this point
Copy the full SHA b0884d5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9af3511 - Browse repository at this point
Copy the full SHA 9af3511View commit details -
Configuration menu - View commit details
-
Copy full SHA for 375057b - Browse repository at this point
Copy the full SHA 375057bView commit details -
Configuration menu - View commit details
-
Copy full SHA for dac3f1f - Browse repository at this point
Copy the full SHA dac3f1fView commit details -
Configuration menu - View commit details
-
Copy full SHA for b8be4c4 - Browse repository at this point
Copy the full SHA b8be4c4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4b4270c - Browse repository at this point
Copy the full SHA 4b4270cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 822a865 - Browse repository at this point
Copy the full SHA 822a865View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6fca3b4 - Browse repository at this point
Copy the full SHA 6fca3b4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 149eb5a - Browse repository at this point
Copy the full SHA 149eb5aView commit details -
Configuration menu - View commit details
-
Copy full SHA for a19b0a7 - Browse repository at this point
Copy the full SHA a19b0a7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9ea9221 - Browse repository at this point
Copy the full SHA 9ea9221View commit details -
Configuration menu - View commit details
-
Copy full SHA for 97da1bd - Browse repository at this point
Copy the full SHA 97da1bdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 29a87d6 - Browse repository at this point
Copy the full SHA 29a87d6View commit details -
cctools: drop darwin.objc4 from build inputs
It’s not necessary with the new SDK.
Configuration menu - View commit details
-
Copy full SHA for 9d376e2 - Browse repository at this point
Copy the full SHA 9d376e2View commit details -
cctools: move libtool to its own output
Many packages need only libtool from cctools, which is different from GNU libtool (commonly used with other autotools), so it can’t be provided by default with the Darwin bintools. Providing it as a separate output allows packages to use cctools’s libtool without pulling other tools they may not want.
Configuration menu - View commit details
-
Copy full SHA for 3904162 - Browse repository at this point
Copy the full SHA 3904162View commit details -
ld64: ensure ld64 checks pass with the new SDK
The SDK library path is normally add by the ld wrapper, but ld64 is being used unwrapped in this check phase. Ensure it can find the requires SDK stubs by passing them via the clang wrapper.
Configuration menu - View commit details
-
Copy full SHA for 2bf9c22 - Browse repository at this point
Copy the full SHA 2bf9c22View commit details -
ld64: drop libunwind as a dependency
libunwind is included in the SDK, so it’s no longer necessary to include it as an explicit dependency.
Configuration menu - View commit details
-
Copy full SHA for 1c17748 - Browse repository at this point
Copy the full SHA 1c17748View commit details -
ld64: adopt source release private headers pattern
Most Darwin source releases vendor private headers in a separate derivation and add them to `NIX_CFLAGS_COMPILE` (to avoid propagating them in static builds). Adopt this pattern for consistency with the other source releases.
Configuration menu - View commit details
-
Copy full SHA for f90d4d5 - Browse repository at this point
Copy the full SHA f90d4d5View commit details -
libcCross: use darwin.libSystem unconditionally
Darwin’s libc is a stub that does nothing but avoid unwanted compiler and linker warnings. The actual libc is located dynamically based on the SDK. To support cross-compilation, the SDK is located based on platform: - `DEVELOPER_DIR_FOR_BUILD` - build platform; - `DEVELOPER_DIR` - host platform; and - `DEVELOPER_DIR_FOR_TARGET` - target platform.
Configuration menu - View commit details
-
Copy full SHA for 84f8fcf - Browse repository at this point
Copy the full SHA 84f8fcfView commit details -
libunwind: add a comment explaining the package situation
libunwind is unnecessary on Darwin because it is included in the SDK, but setting libunwind to `null` would cause evaluation errors. Additionally, some packages expect to locate libunwind via pkg-config. Set the top-level libunwind to the Darwin compatibility package, so those packages can find it and use it.
Configuration menu - View commit details
-
Copy full SHA for 6986cab - Browse repository at this point
Copy the full SHA 6986cabView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8a0d884 - Browse repository at this point
Copy the full SHA 8a0d884View commit details -
makeStaticDarwin: drop darwin-portable-libSystem-hook
`${stdenv.cc.libc}/lib/libSystem.B.dylib` does not exist and not existed for as long as I have used nixpkgs. Since `/usr/lib/libSystem.B.dylib` is already linked via text-based stubs, continue relying on those.
Configuration menu - View commit details
-
Copy full SHA for 66fcbb9 - Browse repository at this point
Copy the full SHA 66fcbb9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1c26a2f - Browse repository at this point
Copy the full SHA 1c26a2fView commit details -
overrideSDK: update for the new SDK
Change the adapter to add the requested SDK to the target’s build inputs. Note that only the “11.0” (i.e., 11.3) and 12.3 SDKs are supported. This adapter is retained for compatibility. The preferred way to override the SDK is to add it to the appropriate inputs directly.
Configuration menu - View commit details
-
Copy full SHA for 0e61488 - Browse repository at this point
Copy the full SHA 0e61488View commit details -
configd is an alias for the SystemConfiguration framework, which is now always part of the SDK. Removing this parameter because it effectively does nothing now, which could be misleading to users.
Configuration menu - View commit details
-
Copy full SHA for b62e262 - Browse repository at this point
Copy the full SHA b62e262View commit details -
configd is an alias for the SystemConfiguration framework, which is now always part of the SDK. Removing this parameter because it effectively does nothing now, which could be misleading to users.
Configuration menu - View commit details
-
Copy full SHA for 3e5316c - Browse repository at this point
Copy the full SHA 3e5316cView commit details -
python3: fix stdenv bootstrap on x86_64-darwin
The bootstrap tools linker sometimes crashes when trying to link the sqlite3 tests, which causes the bootstrap Python not to have the sqlite3 module. This causes the freezegun module to fail to build later in the bootstrap. Using the 11.0 SDK fixes the problem. Upstream Python supports building with a newer SDK and back-deploying, so this change should not negatively affect users on pre-11.0 releases.
Configuration menu - View commit details
-
Copy full SHA for 092b50a - Browse repository at this point
Copy the full SHA 092b50aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7a8e3bf - Browse repository at this point
Copy the full SHA 7a8e3bfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2ed29e2 - Browse repository at this point
Copy the full SHA 2ed29e2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4fbe414 - Browse repository at this point
Copy the full SHA 4fbe414View commit details -
Configuration menu - View commit details
-
Copy full SHA for 390e8e7 - Browse repository at this point
Copy the full SHA 390e8e7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 65650be - Browse repository at this point
Copy the full SHA 65650beView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2e1f901 - Browse repository at this point
Copy the full SHA 2e1f901View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0d76542 - Browse repository at this point
Copy the full SHA 0d76542View commit details -
Configuration menu - View commit details
-
Copy full SHA for 67271ab - Browse repository at this point
Copy the full SHA 67271abView commit details -
Configuration menu - View commit details
-
Copy full SHA for b47afcc - Browse repository at this point
Copy the full SHA b47afccView commit details -
Configuration menu - View commit details
-
Copy full SHA for fe9623e - Browse repository at this point
Copy the full SHA fe9623eView commit details -
Configuration menu - View commit details
-
Copy full SHA for db40aca - Browse repository at this point
Copy the full SHA db40acaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 07272a0 - Browse repository at this point
Copy the full SHA 07272a0View commit details -
Configuration menu - View commit details
-
Copy full SHA for fd2ae22 - Browse repository at this point
Copy the full SHA fd2ae22View commit details -
Configuration menu - View commit details
-
Copy full SHA for ac79109 - Browse repository at this point
Copy the full SHA ac79109View commit details -
darwin.darwin-stubs: remove and replace with stubs
These are a different kind of stubs that do nothing except tell you to check the documentation on how to use the new Darwin SDK instead.
Configuration menu - View commit details
-
Copy full SHA for d78b641 - Browse repository at this point
Copy the full SHA d78b641View commit details -
Configuration menu - View commit details
-
Copy full SHA for ae78385 - Browse repository at this point
Copy the full SHA ae78385View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8a59383 - Browse repository at this point
Copy the full SHA 8a59383View commit details -
Configuration menu - View commit details
-
Copy full SHA for cce88cf - Browse repository at this point
Copy the full SHA cce88cfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2ade0ae - Browse repository at this point
Copy the full SHA 2ade0aeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1c2dde0 - Browse repository at this point
Copy the full SHA 1c2dde0View commit details -
Configuration menu - View commit details
-
Copy full SHA for eb7c5f8 - Browse repository at this point
Copy the full SHA eb7c5f8View commit details -
Configuration menu - View commit details
-
Copy full SHA for b9005e1 - Browse repository at this point
Copy the full SHA b9005e1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1afb8b5 - Browse repository at this point
Copy the full SHA 1afb8b5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 29f65b3 - Browse repository at this point
Copy the full SHA 29f65b3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7b23be1 - Browse repository at this point
Copy the full SHA 7b23be1View commit details -
darwin.libunwind: improve compatibility with libunwind
Darwin uses the system unwinder, which is based on the LLVM unwinder. While it’s mostly API-compatible with libunwind, some packages expect to find it using `pkg-config`. This package provides a compatible file to allow those packages to use the system unwinder on Darwin.
Configuration menu - View commit details
-
Copy full SHA for ec40b04 - Browse repository at this point
Copy the full SHA ec40b04View commit details -
Configuration menu - View commit details
-
Copy full SHA for 259c350 - Browse repository at this point
Copy the full SHA 259c350View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4c77578 - Browse repository at this point
Copy the full SHA 4c77578View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7be27dc - Browse repository at this point
Copy the full SHA 7be27dcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 03e585a - Browse repository at this point
Copy the full SHA 03e585aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6b6277e - Browse repository at this point
Copy the full SHA 6b6277eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6c6b7b0 - Browse repository at this point
Copy the full SHA 6c6b7b0View commit details -
Configuration menu - View commit details
-
Copy full SHA for bdf3046 - Browse repository at this point
Copy the full SHA bdf3046View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4854f28 - Browse repository at this point
Copy the full SHA 4854f28View commit details -
Configuration menu - View commit details
-
Copy full SHA for ab006b0 - Browse repository at this point
Copy the full SHA ab006b0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4d328d0 - Browse repository at this point
Copy the full SHA 4d328d0View commit details -
Configuration menu - View commit details
-
Copy full SHA for d5f4ae4 - Browse repository at this point
Copy the full SHA d5f4ae4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 82a2469 - Browse repository at this point
Copy the full SHA 82a2469View commit details -
Configuration menu - View commit details
-
Copy full SHA for e0cf96b - Browse repository at this point
Copy the full SHA e0cf96bView commit details -
Configuration menu - View commit details
-
Copy full SHA for c640ed8 - Browse repository at this point
Copy the full SHA c640ed8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 32f5feb - Browse repository at this point
Copy the full SHA 32f5febView commit details -
Configuration menu - View commit details
-
Copy full SHA for 47df058 - Browse repository at this point
Copy the full SHA 47df058View commit details -
Configuration menu - View commit details
-
Copy full SHA for d3ca461 - Browse repository at this point
Copy the full SHA d3ca461View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1d8c6e7 - Browse repository at this point
Copy the full SHA 1d8c6e7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9c31a3e - Browse repository at this point
Copy the full SHA 9c31a3eView commit details -
Configuration menu - View commit details
-
Copy full SHA for fc97344 - Browse repository at this point
Copy the full SHA fc97344View commit details -
Configuration menu - View commit details
-
Copy full SHA for edb2497 - Browse repository at this point
Copy the full SHA edb2497View commit details -
Configuration menu - View commit details
-
Copy full SHA for 44f1fa4 - Browse repository at this point
Copy the full SHA 44f1fa4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 42daeac - Browse repository at this point
Copy the full SHA 42daeacView commit details -
Configuration menu - View commit details
-
Copy full SHA for d293dd1 - Browse repository at this point
Copy the full SHA d293dd1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 01d1005 - Browse repository at this point
Copy the full SHA 01d1005View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6d0bc8c - Browse repository at this point
Copy the full SHA 6d0bc8cView commit details -
Configuration menu - View commit details
-
Copy full SHA for f493fb8 - Browse repository at this point
Copy the full SHA f493fb8View commit details -
Configuration menu - View commit details
-
Copy full SHA for a32fcaa - Browse repository at this point
Copy the full SHA a32fcaaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7b84d89 - Browse repository at this point
Copy the full SHA 7b84d89View commit details -
Configuration menu - View commit details
-
Copy full SHA for 72f19ad - Browse repository at this point
Copy the full SHA 72f19adView commit details -
Configuration menu - View commit details
-
Copy full SHA for 63bfe3c - Browse repository at this point
Copy the full SHA 63bfe3cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7e4956a - Browse repository at this point
Copy the full SHA 7e4956aView commit details -
darwin.xattr: replace with xattr from file_cmds
file_cmds 352.40.6 added a C-based implementation of xattr, which is the version of xattr used on recent releases of macOS. Align nixpkgs with what macOS is shipping, which has also the benefit of allowing xattr to be cross-compiled (previously precluded due to Python limitations).
Configuration menu - View commit details
-
Copy full SHA for bafc6ff - Browse repository at this point
Copy the full SHA bafc6ffView commit details -
Configuration menu - View commit details
-
Copy full SHA for e3f2829 - Browse repository at this point
Copy the full SHA e3f2829View commit details