Commit Graph

168 Commits

Author SHA1 Message Date
Matthew Bauer
d1dfc92187
Merge pull request #47678 from matthewbauer/landmarks
Update macOS frameworks to 10.12
2018-12-18 09:59:44 -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
5e06294276 darwin/libiconv: fix static/shared logic
The conditional was incorrect - postInstall script should only hsppen
when enableShared = true.
2018-12-04 21:13:24 -06:00
Dan Peebles
110c252870 cctools: support LTO on Darwin
LTO is disabled during bootstrap to keep the bootstrap tools small and
avoid unnecessary LLVM rebuilds, but is enabled in the final stdenv
stage and should be usable by normal packages.
2018-09-16 02:12:11 -04: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
Shea Levy
18337f3ece
Merge branch 'no-toPath' 2018-09-06 08:09:53 -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
Daiderd Jordan
ea1542e9ee
Merge pull request #43140 from LnL7/macos-10.14
darwin: fix Libsystem compatibility for macOS 10.14
2018-08-14 23:02:04 +02:00
Daiderd Jordan
54f901d346
Libsystem: remove version symbols
These no longer exist on 10.14

Fixes #42719
2018-08-12 00:32:18 +02:00
Matthew Bauer
52681db9a3 darwin.objc4: install Object.h header 2018-07-29 12:02:04 -04:00
volth
52f53c69ce pkgs/*: remove unreferenced function arguments 2018-07-21 02:48:04 +00:00
Vladimír Čunát
0f01215203
Merge branch 'master' into staging-next
Hydra: ?compare=1468896
2018-07-14 18:15:30 +02:00
Matthew Bauer
0534ceac81 xcbuild: move setup hook to xcbuildHook
Not every package that needs xcbuild will want to use its build phase.
I have moved the xcbuild setup hook to the new attribute xcbuildHook.
This means that dontUseXcbuild is no longer needed. If you just need
to call xcbuild on its own you can just refer to xcbuild.
2018-07-09 17:13:58 -04:00
Daiderd Jordan
52b8b68e82
Libsystem: remove libsystem_network.dylib from reexport list
Fixes #42719
2018-07-07 11:42:50 +02:00
Matthew Bauer
f7138342cb libiconv: use enableFeature for static/shared
This makes things more predictable w.r.t. what is actually being built.
2018-07-03 16:51:30 -04:00
Matthew Bauer
d568d5016a libsecurity: set NDEBUG
This prevents debugging stuff from coming into play. This avoids some
headers from accidentally winding up in the .dylib file.
2018-07-02 17:51:38 -04:00
Matthew Bauer
907d7518d8 darwin.libsecurity: switch to multiple outputs 2018-07-02 17:51:38 -04:00
Matthew Bauer
526103a82d darwin: fix syntax in makeFlagsArray
the double ’ should only be needed when using the braces. Otherwise
this will mess up some syntax highlighting, unfortunately, including nix-mode.
2018-07-02 17:51:38 -04:00
Matthew Justin Bauer
fe9f4abec2
libsecurity_generic: fix apple_sdk lookup
apple_sdk is now multiple output.
2018-06-26 13:25:06 -04:00
Matthew Bauer
73e2f60837 libiconv: add "enableShared" option
When false, shared libraries will be disabled.

also adds patch to *really* disable shared libiconv.
2018-06-25 17:10:11 -04:00
Matthew Bauer
06fa867498 apple_sdk: use multiple outputs 2018-06-09 00:05:38 -04:00
Matthew Justin Bauer
3ebcac8d85
darwin.libiconv: use static library
This is necessary to get stuff into the Apple App Store for iOS. Apple does not really like using dynamic libraries in iOS. Also the libcharset thing is apparently a "private" symbol.

See https://github.com/reflex-frp/reflex-platform/pull/307 for more details.

See 3dee596ed1 (diff-261d74054a31954b7c6175e2e7e28356) for discussion
2018-06-07 10:53:02 -04:00
Matthew Bauer
050557ef8a PowerManagement: init at 572.50.1 2018-05-31 12:36:23 -04:00
Matthew Bauer
279fd72b33 darwin.ICU: fix cctools 2018-05-31 12:34:15 -04:00
Matthew Justin Bauer
89e196d971
libiconv: fix setup hook
Fixes issue from PR #40139.
2018-05-23 13:09:45 -05:00
Shea Levy
6da6accd30
treewide: Remove uses of builtins.toPath.
toPath has confusing semantics and is never necessary; it can always
either just be omitted or replaced by pre-concatenating `/.`. It has
been marked as "!!! obsolete?" for more than 10 years in a C++
comment, hopefully removing it will let us properly deprecate and,
eventually, remove it.
2018-05-22 16:42:02 -04:00
John Ericson
ddbe9191ef Merge remote-tracking branch 'upstream/master' into staging
Keep the dontCheck because the test suite fails, get rid of the LDFLAGS
hack because we don't need it!
2018-05-16 15:16:08 -04:00
John Ericson
4956767f53 Make libiconv build for iOS with prefixed tools 2018-05-16 14:25:54 -04:00
Daiderd Jordan
f14841f3ce
Revert "darwin.libSystem: multiple outputs"
Broke the stdenv.

This reverts commit 69d1b7ab79.
2018-05-13 10:01:52 +02:00
Matthew Bauer
326d0bf2aa darwin.libSystem: cleanup
We don’t want to rely on a certain output so just use ‘getDev’ so Nix
will choose the right output for us.
2018-05-12 10:03:48 -05:00
Matthew Bauer
d000198ab7 darwin.architecture: correctly install headers
I’m not going to fix all of them but this is the best way to do this
in Apple things. Just add ‘EXPORT_DSTDIR’ to the installFlags & set
‘DSTDIR’ to $(out). Please do this instead of the patching!
2018-05-12 10:02:30 -05:00
Matthew Justin Bauer
73833ee446
darwin.architecture: add postPatch back in
I didn't think it was even being called before, but now getting this error:

https://hydra.nixos.org/build/73955984/nixlog/1
2018-05-11 08:14:21 -05:00
Matthew Justin Bauer
1c87d77efe
ppp: add dontBuild = true
Hopefully this is the last one.
2018-05-07 12:47:07 -05:00
Matthew Bauer
9811bf2258 treewide: cleanup phases from last commit
The last commit broken Darwin stdenv. We still need to skip some
phases when Apple provides a Makefile that shouldn’t be used.
2018-05-06 16:07:55 -05:00
Matthew Justin Bauer
295815bec7 treewide: Remove phases 2018-05-06 07:20:03 +00:00
Matthew Justin Bauer
d88a61e439
libsystem: fix phases 2018-05-03 15:11:00 -05:00
Matthew Bauer
69d1b7ab79 darwin.libSystem: multiple outputs
adds 2 outputs for libSystem:

- out
- dev

should shrink closure sizes
2018-05-03 13:38:46 -05:00
Matthew Bauer
c0ebcab789 darwin.ICU: delete old /usr files
This is a huge directory & not referenced anywhere.
2018-05-03 13:38:46 -05:00
Matthew Justin Bauer
eeb016e8f0
Merge branch 'staging' into fix-ncurses-darwin-extensions 2018-05-02 15:40:38 -05:00
Matthew Justin Bauer
3513034208 darwin.libiconv: fix setup hook 2018-05-02 15:35:46 -05:00
Matthew Bauer
8322b43e8e Revert "darwin.libiconv: fix setup hook"
This reverts commit ee08469d6c.

This one should go in staging first.
2018-05-02 15:35:12 -05:00
Matthew Justin Bauer
ee08469d6c
darwin.libiconv: fix setup hook 2018-05-02 15:31:37 -05:00
John Ericson
62fd669ab7 darwin.libiconv: Start to fix for cross
I think I need postPatch for `autoreconfHook`, it's better anyways, and
I'm pairing this with another mass-rebuild so its essentially free.
2018-05-01 22:56:49 -04:00
John Ericson
ba52ae5048 treewide: isArm -> isAarch32
Following legacy packing conventions, `isArm` was defined just for
32-bit ARM instruction set. This is confusing to non packagers though,
because Aarch64 is an ARM instruction set.

The official ARM overview for ARMv8[1] is surprisingly not confusing,
given the overall state of affairs for ARM naming conventions, and
offers us a solution. It divides the nomenclature into three levels:

```
ISA:             ARMv8   {-A, -R, -M}
                 /    \
Mode:     Aarch32     Aarch64
             |         /   \
Encoding:   A64      A32   T32
```

At the top is the overall v8 instruction set archicture. Second are the
two modes, defined by bitwidth but differing in other semantics too, and
buttom are the encodings, (hopefully?) isomorphic if they encode the
same mode.

The 32 bit encodings are mostly backwards compatible with previous
non-Thumb and Thumb encodings, and if so we can pun the mode names to
instead mean "sets of compatable or isomorphic encodings", and then
voilà we have nice names for 32-bit and 64-bit arm instruction sets
which do not use the word ARM so as to not confused either laymen or
experienced ARM packages.

[1]: https://developer.arm.com/products/architecture/a-profile
2018-04-25 15:28:55 -04:00
Matthew Bauer
2a499ab411 adv_cmds: fix xcbuild invocation
Need to set SYMROOT and OBJROOT
2018-04-15 23:23:17 -05:00
Matthew Bauer
348215569a text_cmds: init at 99 2018-04-15 22:54:19 -05:00
Matthew Bauer
23467e207f top: add meta 2018-04-12 18:42:21 -05:00
Matthew Bauer
5211410e69 top: init at 108 2018-04-12 18:27:11 -05:00
Matthew Bauer
5c491ab529 diskdev_cmds: init at 593 2018-04-12 17:16:49 -05:00
Matthew Bauer
ddbaa2dd33 libutil-new: fix with newest xcbuild stuff 2018-04-12 17:09:58 -05:00