Commit graph

44 commits

Author SHA1 Message Date
John Ericson
37194a325d treewide: Try to make a few bootstrapping things more consistent
- Introduce `preLibcCrossHeaders` to bootstrap libgcc and compiler-rt
  the same way.

- Organize LLVM bintools as `bintools{-unwrapped,,NoLibc}` for
  consistency with GNU Binutils and Apple's cctools.

- Do Android changes for all `llvmPackages` for consistency.

- Improve the way the default GCC and LLVM versions are selected.
2021-05-12 00:14:56 +00: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
Ivan Babrou
a730703e6f
darwin.binutils: use clang for as on aarch64-darwin (#115167)
Without this change `as` on `aarch64-darwin` is defunct:

```
$ /nix/store/g11xba8ch20zndaf32hfnap46z47b5k3-cctools-port-949.0.1/bin/as -v
/nix/store/g11xba8ch20zndaf32hfnap46z47b5k3-cctools-port-949.0.1/bin/as: assembler (/nix/store/g11xba8ch20zndaf32hfnap46z47b5k3-cctools-port-949.0.1/libexec/as/arm64/as or /nix/store/g11xba8ch20zndaf32hfnap46z47b5k3-cctools-port-949.0.1/libexec/as/arm64/as) for architecture arm64 not installed
Installed assemblers are:
/nix/store/g11xba8ch20zndaf32hfnap46z47b5k3-cctools-port-949.0.1/libexec/as/ppc64/as for architecture ppc64
/nix/store/g11xba8ch20zndaf32hfnap46z47b5k3-cctools-port-949.0.1/libexec/as/x86_64/as for architecture x86_64
/nix/store/g11xba8ch20zndaf32hfnap46z47b5k3-cctools-port-949.0.1/libexec/as/ppc/as for architecture ppc
/nix/store/g11xba8ch20zndaf32hfnap46z47b5k3-cctools-port-949.0.1/libexec/as/i386/as for architecture i386
/nix/store/g11xba8ch20zndaf32hfnap46z47b5k3-cctools-port-949.0.1/libexec/as/arm/as for architecture arm
```

Apple defaults to Clang in all cases from what I see, but nixpkgs prefers `cctools`: #51881.
2021-03-17 00:27:34 -04:00
Monson Shao
5f1d105505
darwin: add impure-cmds
On darwin, there are some commands neither opensource nor able to build in nixpkgs.
We have no choice but to use those system-shipped impure ones.
2021-01-17 23:44:40 +08:00
Andrew Childs
3456ef6f30 darwin/apple-sdk: use darwin stubs 2020-11-12 00:23:09 +09:00
Andrew Childs
fd33052999 darwin/print-reexports: nixpkgs-specific utility to inspect .tbd files
Used during bootstrap to check that re-exported libraries are not
dangling.
2020-11-12 00:23:09 +09:00
Andrew Childs
8946ff8d71 darwin/darwin-stubs: init 2020-11-12 00:23:09 +09:00
bb2020
026269906f discrete-scroll: init at 0.1.1 2020-08-27 13:47:08 +03:00
Matthew Bauer
10aa776340 ios-deploy: move out of nodePackages
This doesn’t need nodePackages to work, so we can move it to
pkgs/os-specific/darwin. Note that it still requires xcodebuild to
work.
2020-07-21 10:24:53 -05:00
John Ericson
28c37155d7 xcode: Add more hashes, and fix some old ones 2020-01-03 15:19:08 -05:00
Daiderd Jordan
73d9cac377
darwin-frameworks: replace cf-private and move it's setup-hook
The only remaining use-case for cf-private are symbols that are not
available in the opensource build.  This generally solved the problem
because of it's setup-hook.
2019-07-03 22:20:09 +02:00
Daiderd Jordan
c2b76fa13c
darwin-frameworks: remove CF
CoreFoundation is included by the stdenv, moving the decision of what
version should be used there makes it possible to override it entirely
rather then prepending flags like cf-private does which can be
unreliable.
2019-07-03 22:20:04 +02:00
Matthew Bauer
dc483505d4 cf-private: don’t use private sdk
no private sdk is available for 10.12.
2019-04-26 21:54:51 -04:00
Matthew Bauer
f76c7b8fab libtapi: init
(cherry picked from commit 69347697d3336d4b6add8276d9f75daf6f0cacf3)
2019-04-26 21:54:46 -04:00
Matthew Bauer
ae1e940cc0 darwin: move to llvm7 2019-04-20 23:17:04 -04:00
Matthew Bauer
d69cc779b5 Revert "Revert "darwin 10.12 commits""
This reverts commit 8505e710e7.
2019-04-20 23:17:04 -04:00
Matthew Bauer
8505e710e7 Revert "darwin 10.12 commits"
Reverts commits bumping to macOS stuff to 10.12:

commit ec1f78d1cb.
commit d0dc91d24f.
commit a1d297374d.
commit 425112151d.
commit e6f7f2928f.
2019-01-03 15:20:26 -06:00
Matthew Bauer
59ec6b559d
Merge pull request #52256 from matthewbauer/52148-fix
Provide real dsymutil to darwin stdenv
2018-12-18 10:00:24 -06:00
Matthew Bauer
e6f7f2928f darwin: 10.11 → 10.12
Lots of stuff has gotten moved around. Many security libraries have been merged
into the Security monorepo. I’ve cleared them out for now, we will
need to modify Security to build them!

This also moves some things around to more clearly separate
bootstrapping the stdenv from everything else. We want the “normal”
mode to be the non-bootstrapped version. When you ask for “Security”,
you want the actual built software, not a crippled one.

- Add TARGET_OS_OSX to darwin.libSystem. Looks like something
  introduced in 10.12. TARGET_OS_MAC is only set when building for
  desktop (iOS will have TARGET_OS_MAC set)
- Bump darwin.dtrace
- Bump darwin.libpthread
- Remove SmartCardServices, libsecurity*, etc.
- Install some more headers for darling.
2018-12-17 00:07:09 -06:00
Matthew Bauer
0a996c8ef3 darwin: use llvm’s dsymutil instead of dummy version
We were previously using a dummy wrapper for dsymutil. This meant that
debug symbols were not getting generated when dsymutil was otherwise
available. This should fix that issue & provide a real dsymutil from
llvm.

Fixes #52148.
2018-12-15 12:26:11 -06:00
Daiderd Jordan
ee1c6f62f8
darwin.trash: add cf-private
Undefined symbols for architecture x86_64:
      "_OBJC_CLASS_$_NSMutableArray", referenced from:
          objc-class-ref in trash-571f39.o
      "_OBJC_CLASS_$_NSURL", referenced from:
          objc-class-ref in trash-571f39.o
      "_OBJC_CLASS_$_NSUserDefaults", referenced from:
          objc-class-ref in trash-571f39.o
          objc-class-ref in HGCLIUtils-31f3b3.o
    ld: symbol(s) not found for architecture x86_64
2018-11-07 19:15:43 +01:00
Daiderd Jordan
0fcd2ca7b2
darwin.cf-private: include headers from osx_private_sdk
This includes things like CFURLGetFSRef which are not part of the
swift-corelibs CoreFoundation.
2018-10-24 12:04:05 +02:00
Dan Peebles
4efd4053ed stdenv/darwin: integrate a new CoreFoundation
This also updates the bootstrap tool builder to LLVM 5, but not the ones
we actually use for bootstrap. I'll make that change in a subsequent commit
so as to provide traceable provenance of the bootstrap tools.
2018-09-15 16:05:46 -04:00
John Ericson
0828e2d8c3 treewide: Remove usage of remaining redundant platform compatability stuff
Want to get this out of here for 18.09, so it can be deprecated
thereafter.
2018-08-30 17:20:32 -04:00
Matthew Bauer
0bfffbc5e1 xcode: add xcodePlatform to system
This give us a little bit more control over what target we are using.
Eventually we can target other things like WatchOS or MacOS.
2018-06-25 22:18:23 -04:00
Matthew Bauer
9b0b31d981 xcode: add xcodeVer to system
This version number controls which xcode version to use when building
cross to iOS.
2018-06-25 21:57:24 -04:00
Matthew Bauer
3da395fd96 xcode: add 9.4 sdk
This is the newest sdk. I have skipped 9.3 for now but someone can
certainly add it if they need it for some reason.

Also I added a generic "xcode" that will always point to the newest
xcode that is available in Nixpkgs.
2018-06-21 13:24:52 -04:00
Florian Klink
857ab32cca darwin.iproute2mac: init at 1.2.1 2018-06-09 22:47:21 +02:00
Alexandre Esteves
3ab9caa3fa
Use requireFile for impure Xcode dependency 2018-05-23 20:32:15 +01:00
John Ericson
266adab32d cctools: Remove a bunch of stuff no longer needed for Linux 2018-05-23 09:22:19 -04:00
Ken Micklas
ef3db7d14c ios-sdk-pkgs: Init from iOS SDK from XCode 2018-04-19 16:09:30 -04:00
Matthew Bauer
0b83326172 darling: init 2018-04-09 18:35:35 -05:00
Matthew Bauer
d625fece18 CoreSymbolication: init 2018-04-09 18:35:35 -05:00
Matthew Bauer
72f8df9465 swift-corelibs: init
moves swift-corelibs-corefoundation to own dir

also adds libdispatch
2018-04-09 18:35:35 -05:00
Varun Patro
db4e825619
Update darwin-packages.nix 2018-02-06 00:41:35 +08:00
Pascal Wittmann
459e6ba9fb
Merge pull request #25713 from jbaum98/darwin-trash
darwin: trash 0.9.0
2018-01-12 09:34:03 +01:00
John Ericson
a0b1ebeee9 Merge remote-tracking branch 'upstream/staging' into binutils-wrapper 2017-12-13 16:14:47 -05:00
John Ericson
2bba929062 bintools-wrapper: Import separately from cc-wrapper 2017-12-13 16:08:18 -05:00
Shea Levy
6d7ceedaf9
Add insert_dylib darwin package. 2017-12-09 14:37:24 -05:00
Jake Waksbaum
232ff39115 darwin: trash 0.9.0 2017-11-16 07:47:47 -05:00
Eelco Dolstra
ec8d41f08c
Revert "Merge pull request #28557 from obsidiansystems/binutils-wrapper"
This reverts commit 0a944b345e, reversing
changes made to 61733ed6cc.

I dislike these massive stdenv changes with unclear motivation,
especially when they involve gratuitous mass renames like NIX_CC ->
NIX_BINUTILS. The previous such rename (NIX_GCC -> NIX_CC) caused
months of pain, so let's not do that again.
2017-09-07 12:51:21 +02:00
John Ericson
dbf6d20d64 binutils-wrapper: Import separately from cc-wrapper 2017-09-01 11:44:56 -04:00
Daiderd Jordan
3979f48f7f
darwin: add callPackage 2017-08-30 23:45:56 +02:00
Daiderd Jordan
c4f18901b4
darwin: move definition to separate file 2017-08-30 23:45:49 +02:00