Commit Graph
692216 Commits
Author SHA1 Message Date
Randy Eckenrode ac79109639 darwin.configd: remove and replace with stubs (including configdHeaders) 2024-10-10 16:23:10 -04:00
Randy Eckenrode fd2ae224d5 darwin.architecture: remove and replace with stubs 2024-10-10 16:23:10 -04:00
Randy Eckenrode 07272a045f darwin.Security: remove and replace with stubs 2024-10-10 16:23:10 -04:00
Randy Eckenrode db40aca353 darwin.Libsystem: remove and replace with stubs 2024-10-10 16:23:10 -04:00
Randy Eckenrode fe9623e292 darwin.Librpcsvc: remove and replace with stubs 2024-10-10 16:23:10 -04:00
Randy Eckenrode b47afcc7bd darwin.Libnotify: remove and replace with stubs 2024-10-10 16:23:10 -04:00
Randy Eckenrode 67271abd3c darwin.Libm: remove and replace with stubs 2024-10-10 16:23:10 -04:00
Randy Eckenrode 0d765426e3 darwin.Libinfo: remove and replace with stubs 2024-10-10 16:23:09 -04:00
Randy Eckenrode 2e1f901cd8 darwin.Libc: remove and replace with stubs 2024-10-10 16:23:09 -04:00
Randy Eckenrode 65650be7d7 darwin.IOKit: remove and replace with stubs 2024-10-10 16:23:09 -04:00
Randy Eckenrode 390e8e79f3 darwin.CoreSymbolication: remove and replace with stubs 2024-10-10 16:23:09 -04:00
Randy Eckenrode 4fbe41403d darwin.CommonCrypto: remove and replace with stubs 2024-10-10 16:23:09 -04:00
Randy Eckenrode 2ed29e21b6 darwin.CarbonHeaders: remove and replace with stubs 2024-10-10 16:23:09 -04:00
Randy Eckenrode 7a8e3bf86e darwin.CF: remove and replace with stubs 2024-10-10 16:23:09 -04:00
Randy Eckenrode 092b50a92c 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.
2024-10-10 16:23:09 -04:00
Randy Eckenrode 3e5316cb96 python3: drop configd
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.
2024-10-10 16:23:08 -04:00
Randy Eckenrode b62e262366 python27: drop configd
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.
2024-10-10 16:23:08 -04:00
Randy Eckenrode 0e61488c5b 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.
2024-10-10 16:23:08 -04:00
Randy Eckenrode 1c26a2fabc makeStaticDarwin: handle when env.NIX_CFLAGS_LINK is set 2024-10-10 16:23:08 -04:00
Randy Eckenrode 66fcbb94e7 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.
2024-10-10 16:23:08 -04:00
Randy Eckenrode 8a0d884405 libxo: init at 1.7.5 2024-10-10 16:23:08 -04:00
Randy Eckenrode 6986cab64b 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.
2024-10-10 16:23:08 -04:00
Randy Eckenrode 84f8fcfc3e 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.
2024-10-10 16:23:07 -04:00
Randy Eckenrode f90d4d5e5b 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.
2024-10-10 16:23:07 -04:00
Randy Eckenrode 1c1774806d 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.
2024-10-10 16:23:07 -04:00
Randy Eckenrode 2bf9c22eb1 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.
2024-10-10 16:23:07 -04:00
Randy Eckenrode 39041627fe 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.
2024-10-10 16:23:07 -04:00
Randy Eckenrode 9d376e2c53 cctools: drop darwin.objc4 from build inputs
It’s not necessary with the new SDK.
2024-10-10 16:23:07 -04:00
Randy Eckenrode 29a87d6751 darwin.top: convert to Meson and use mkAppleDerivation 2024-10-10 16:23:07 -04:00
Randy Eckenrode 97da1bdf09 darwin.text_cmds: convert to Meson and use mkAppleDerivation 2024-10-10 16:23:07 -04:00
Randy Eckenrode 9ea9221a1e darwin.system_cmds: use mkAppleDerivation 2024-10-10 16:23:06 -04:00
Randy Eckenrode a19b0a7345 darwin.shell_cmds: convert to Meson and use mkAppleDerivation 2024-10-10 16:23:06 -04:00
Randy Eckenrode 149eb5aef4 darwin.removefile: convert to Meson and use mkAppleDerivation 2024-10-10 16:23:06 -04:00
Randy Eckenrode 6fca3b4a70 darwin.PowerManagement: convert to Meson and use mkAppleDerivation 2024-10-10 16:23:06 -04:00
Randy Eckenrode 822a865209 darwin.network_cmds: convert to Meson and use mkAppleDerivation 2024-10-10 16:23:06 -04:00
Randy Eckenrode 4b4270cca3 darwin.libutil: convert to Meson and use mkAppleDerivation 2024-10-10 16:23:06 -04:00
Randy Eckenrode b8be4c4e6d darwin.libtapi: add to darwin-aliases.nix 2024-10-10 16:23:06 -04:00
Randy Eckenrode dac3f1f224 macfuse-stubs: use top-level libtapi 2024-10-10 16:23:06 -04:00
Randy Eckenrode 375057b9f5 darwin.libresolv: convert to Meson and use mkAppleDerivation 2024-10-10 16:23:06 -04:00
Randy Eckenrode 9af3511fb2 darwin.libiconv: use EOF instead of -header for the herdoc 2024-10-10 16:23:05 -04:00
Randy Eckenrode b0884d52f2 darwin.libiconv: use finalPackage when referencing doInstallCheck 2024-10-10 16:23:05 -04:00
Randy Eckenrode ca4dd24306 darwin.libiconv: move back to darwin attrset and use mkAppleDerivation 2024-10-10 16:23:05 -04:00
Randy Eckenrode 0335ce09c0 darwin.ICU: convert to upstream build system and use mkAppleDerivation 2024-10-10 16:23:05 -04:00
Randy Eckenrode eed715ac43 darwin.file_cmds: convert to Meson and use mkAppleDerivation 2024-10-10 16:23:05 -04:00
Randy Eckenrode 97454b46d5 darwin.diskdev_cmds: convert to Meson and use mkAppleDerivation 2024-10-10 16:23:05 -04:00
Randy Eckenrode 83807dc4e9 darwin.developer_cmds: convert to Meson and use mkAppleDerivation 2024-10-10 16:23:05 -04:00
Randy Eckenrode b8dbc16f1b darwin.Csu: use mkAppleDerivation 2024-10-10 16:23:05 -04:00
Randy Eckenrode 8574626dbb darwin.copyfile: convert to Meson and use mkAppleDerivation 2024-10-10 16:23:05 -04:00
Randy Eckenrode b878c44404 darwin.bsdmake: add to darwin-aliases.nix
Use portable bmake instead of Apple’s port of BSD Make.
2024-10-10 16:23:04 -04:00
Randy Eckenrode c5c276b6cb darwin.bootstrap_cmds: convert to Meson and use mkAppleDerivation 2024-10-10 16:23:04 -04:00