Commit graph

271 commits

Author SHA1 Message Date
toonn 7fb011df89 Libsystem: Update headers.txt
Replacing `cpio -pdm` with `copyHierarchy` makes us end up with two
extra headers. I'm not sure why this happens, there's no reason why
`cpio` should miss those headers.
2022-05-05 11:53:52 -04:00
toonn 972c7e99ff Libsystem: Replace cpio with copyHierarchy
I noticed every time building Libsystem that there was a very slow phase
where the output consisted of many lines like `42 blocks`. This is
output from cpio and in brief testing it takes at least twice as long to
go through cpio for the simple copies we want to make. The interface is
very convenient but the performance penalty is very painful so I decided
to implement a function that emulates cpio's interface.

On my machine with a 7200 RPM HDD this speeds up the build from about
250 minutes to about 75 seconds, a factor of 200! I'm not certain the
results on modern hardware would be similarly positive so this could use
further testing.
2022-05-05 11:53:52 -04:00
Will Cohen 36b5da498c darwin.network_cmds: switch openssl to libressl 2022-04-26 13:42:04 -04:00
ajs124 49c51cdd51 openssl_1_0_2: drop 2022-04-04 15:37:05 +01:00
Jonathan Ringer e74ccf2d72
Merge pull request #154708 from NixOS/staging-next
Staging next 2022-01-12
2022-01-25 11:54:52 -08:00
Dmitry Kalinkin d3ec14f6cb
darwin.text_cmds: fix build 2022-01-23 08:18:46 -05:00
Devin Singh c74a7840e2
diskdev_cmds: fix build using arch's xnu source 2022-01-18 06:52:26 -06:00
Randy Eckenrode a42a04fadd
libresolv: fix build on aarch64-darwin
Use `configdHeaders` instead of `configd`.  This fixes #134292.
2022-01-03 21:32:52 -05:00
Randy Eckenrode 3791603924
configdHeaders: init at 453.19
`configd` is aliased to `apple-sdk.frameworks.SystemConfiguration` in
apple-sdk-11.0, which is the default on aarch64-darwin, but it does not
include all of the headers.  This package introduces the missing
headers, which are needed to build `libresolv`.

A subsequent commit will fix libresolv to build on aarch64-darwin.
2022-01-03 21:32:52 -05:00
toonn e33c11a557 Libc: Merge TARGET_OS_EMBEDDED patches
Both patches implement the same fix so they'll probably have to be
removed at the same time. This avoids one of them being left behind.
2021-11-24 15:17:13 -08:00
toonn 459dc34b2b Libc: Define target in stdio too 2021-11-24 15:17:13 -08:00
toonn 5aa4c46dcd Libc: Define target instead of including
Including `TargetConditionals.h` had knock-on effects, breaking the zlib
build because `TARGET_OS_MAC` gets defined, for instance.

Defining `TARGET_OS_EMBEDDED` to be `0` if it's not defined is simpler
and maintains the default behavior so it shouldn't break any dependents.
2021-11-24 15:17:13 -08:00
toonn 99bef31835 Libc: stdlib uses undefined TARGET_OS_EMBEDDED 2021-11-24 15:17:13 -08:00
toonn 84454c3233 darwin.Libsystem: Patch TargetConditionals.h
`TargetConditionals.h` was missing several definitions, like
`TARGET_OS_TV` that are part of SDK 10.12 at least. And one that doesn't
seem to occur in any SDK afaict, `TARGET_OS_EMBEDDED_OTHER`.

I added the definitions from SDK 10.12 verbatim and defined
`TARGET_OS_EMBEDDED_OTHER` to be equal to `0`.

I think none of this works if `darwin.Libsystem` is used to build for
linux or iOS though so maybe this needs a more thorough fix?

This reverts 336d82617f because it's no
longer necessary.
2021-11-24 15:17:13 -08:00
toonn e07eef85e8 xnu: Fix python3 patch
This reverts 7da313e10a because it's no
longer necessary.
2021-11-24 15:17:13 -08:00
Dmitry Kalinkin dda4394889
Merge pull request #127229 from veprbl/pr/libsystem_targetconditionals
darwin.Libsystem: add definitions TARGET_OS_{IOS,WATCH,BRIDGE,TV,SIMULATOR,NANO} to TargetConditionals.h
2021-08-06 02:14:09 -04:00
Sandro Jäckel dc48d23a0f
Convert phases that contain ":" to dont* = true 2021-07-17 23:39:16 +02:00
Dmitry Kalinkin 03137b50d2
darwin.Libsystem: add definitions TARGET_OS_{IOS,WATCH,BRIDGE,TV,SIMULATOR,NANO} to TargetConditionals.h
These are defined in the SDK for Apple compilers and some projects assume those are defined unconditionally.

https://reviews.llvm.org/D103598
2021-06-17 11:01:16 -04:00
Andrew Childs e592d342da darwin.ICU: avoid platform.darwinMinVersion references on non-darwin
This package isn't expected to work outside of darwin, but must still
evaluate cleanly.
2021-05-17 00:28:05 +09:00
Ivan Babrou d0eff87f68 darwin.file_cmds: add missing Libinfo dependency
Fixing:

```
/private/tmp/nix-build-file_cmds-264.1.1-osx-10.11.6.drv-0/file_cmds-264.1.1/ls/print.c:56:10: fatal error: 'membershipPriv.h' file not found
         ^~~~~~~~~~~~~~~~~~
1 error generated.
```
2021-05-17 00:27:03 +09:00
Ivan Babrou 577bcf38f8 darwin.shell_cmds: add missing dependency on launchd 2021-05-17 00:27:03 +09:00
Ivan Babrou da3ae0231a apple-source-releases: make it compile on aarch64 2021-05-17 00:27:03 +09:00
Ivan Babrou 2eb97f2ddd darwin.developer_cmds: wrap clang -E from clang-wrapped as clang-cpp 2021-05-17 00:27:03 +09:00
Andrew Childs cbe172fa67 darwin.ICU: cross compilation 2021-05-17 00:27:00 +09:00
Andrew Childs aa3361326b darwin.adv_cmds: fix cross compilation 2021-05-17 00:27:00 +09:00
John Ericson 7bba32a069 darwin packages: Get ready for cross
If things build fine with `stdenvNoCC`, let them use that. If tools
might be prefixed, prepare for that, either by directly splicing or just
using the env vars provided by the wrapper setup-hooks.

Co-authored-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
2021-05-11 16:07:01 -04:00
John Ericson 470640e7fe treewide: Do a number of no-op cleanups for cross and darwin
I am taking the non-invasive parts of #110914 to hopefully help out with #111988.

In particular:

 - Use `lib.makeScopeWithSplicing` to make the `darwin` package set have
   a proper `callPackage`.

 - Adjust Darwin `stdenv`'s overlays keeping things from the previous
   stage to not stick around too much.

 - Expose `binutilsNoLibc` / `darwin.binutilsNoLibc` to hopefully get us
   closer to a unified LLVM and GCC bootstrap.
2021-05-06 11:17:26 -04:00
Sandro Jäckel f9bcee4ed5
darwin.text_cmds: Fix editor check 2021-04-04 19:49:52 +02:00
Sandro Jäckel 3453b89f4b
lzma: deprecate alias 2021-04-04 19:49:52 +02:00
Sandro Jäckel 33a395f195
yacc: deprecate alias
and add a new line after the alphabetically sorting to please my inner monk
2021-04-04 03:18:58 +02:00
Andrew Childs e6be0f45ef darwin.bootstrap_cmds: use correct arch in "mig" 2021-03-03 11:01:24 +09:00
Dmitry Kalinkin f602c10ea7
Merge pull request #109368 from holymonson/check-headers
darwin: check apple headers
2021-02-01 12:12:03 -05:00
Dmitry Kalinkin 98cc48e3f7
Merge pull request #109052 from holymonson/bootstrap_cmds
darwin.bootstrap_cmds: update to 121
2021-01-31 19:07:51 -05:00
Monson Shao c12df57435
darwin.apple-source-releases: implement headers check 2021-01-30 21:37:46 +08:00
Monson Shao 4bc22226a2
darwin.hfs: add appleHeaders and set headersOnly=true by default 2021-01-30 21:37:46 +08:00
Monson Shao 0681f7f979
darwin.Libsystem: add appleHeaders 2021-01-30 21:37:46 +08:00
Monson Shao e2fb835ce2
darwin.xnu: add appleHeaders 2021-01-30 21:37:46 +08:00
Monson Shao 1eb3a0d5c9
darwin.Libc: add appleHeaders 2021-01-30 21:37:46 +08:00
Monson Shao 4da71ef5af
darwin.CommonCrypto: add appleHeaders 2021-01-30 21:37:46 +08:00
Monson Shao c08b0b360a
darwin.Libinfo: add appleHeaders 2021-01-30 21:37:46 +08:00
Monson Shao 24feb6adb2
darwin.architecture: add appleHeaders 2021-01-30 21:37:45 +08:00
Monson Shao c02807ece4
darwin.launchd: add appleHeaders 2021-01-30 21:37:45 +08:00
Monson Shao 69625af7d1
darwin.libclosure: add appleHeaders 2021-01-30 21:37:45 +08:00
Monson Shao f4b4000e8f
darwin.libdispatch: add appleHeaders 2021-01-30 21:37:45 +08:00
Monson Shao 4efe7aae90
darwin.libplatform: add appleHeaders 2021-01-30 21:37:45 +08:00
Monson Shao e70c149458
darwin.libpthread: add appleHeaders 2021-01-30 21:37:44 +08:00
Monson Shao e6b3f18ee5
darwin.libutil: add appleHeaders 2021-01-30 21:37:44 +08:00
Monson Shao 79c264411e
darwin.removefile: add appleHeaders 2021-01-30 21:37:44 +08:00
Monson Shao 145ed3fcbc
darwin.ICU: update to 66108 and restruct 2021-01-29 15:42:27 +08:00
Monson Shao 84410e29df
darwin.bootstrap_cmds: update to 121 2021-01-29 15:39:51 +08:00