Commit graph

217 commits

Author SHA1 Message Date
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
Matthew Justin Bauer 29bc523733
Merge pull request #38865 from matthewbauer/darwin-security-fixes
[darwin] Security fixes
2018-04-12 14:27:00 -05:00
Matthew Bauer 59bcd129e5 libsecurity_apple_x509: add more symbols 2018-04-12 14:12:53 -05:00
Matthew Bauer aa21f9c578 dtrace: patch impurities 2018-04-12 14:12:43 -05:00
Matthew Bauer d227d1edf4 SmartCardServices: init 2018-04-12 14:12:36 -05:00
Matthew Justin Bauer 19a6f0e02b
Merge pull request #38715 from matthewbauer/shell_cmds-full
Build more commands from Apple's system_cmds
2018-04-11 11:13:50 -05:00
Matthew Bauer dd4fd74f91 system_cmds: build more commands
Now includes getconf
2018-04-10 21:15:28 -05:00
Matthew Bauer 77ac9c50dc security_systemkeychain: init
Fixes #37838
2018-04-09 18:35:36 -05:00
Matthew Bauer 71b53c0cfe libsecurity_codesigning: init 2018-04-09 18:35:36 -05:00
Matthew Bauer c468b30ede libsecurity_utilities: fixup 2018-04-09 18:35:36 -05:00
Matthew Bauer 4a515ed306 dtrace: add xcode drv
darwin.dtrace-xcode contains the dtrace bin
2018-04-09 18:35:35 -05:00
Matthew Bauer 65562e4cdd treewide: change install references for xcbuild
now build directory is "Products/Release/"
2018-04-09 18:35:35 -05:00
Matthew Bauer 9c6b76f6af darwin.libiconv: add setup hook 2018-03-22 16:50:12 -05:00
Matthew Bauer c7abef4c5d network_cmds: fix on darwin 2018-03-08 19:00:09 -06:00
Matthew Bauer 54e2c28b09 darwin: disable broken packages 2018-03-08 17:21:17 -06:00
Daiderd Jordan 69779a5f7e
Merge pull request #33374 from dtzWill/update/llvm-5-default
Update LLVM default 4 -> 5
2018-02-11 18:29:26 +01:00
Daiderd Jordan 79f43537e6
ICU: fix build with clang-5 2018-02-06 23:38:46 +01:00
Shea Levy 943592f698
Add setFunctionArgs lib function.
Among other things, this will allow *2nix tools to output plain data
while still being composable with the traditional
callPackage/.override interfaces.
2018-01-31 14:02:19 -05:00
Daiderd Jordan c8080388d8
libresolv: fix library version 2017-12-27 18:41:31 +01:00
Orivej Desh 99ed136809 darwin.Libsystem: fix build on 10.13.2 2017-12-04 18:54:39 +00:00
Daiderd Jordan a0948ffdb0
Csu: fix build with CoreFoundation 2017-11-21 23:15:00 +01:00
Orivej Desh b089c21506 Merge branch 'master' into staging
* master: (39 commits)
  python.pkgs.pybfd: move to python-modules
  documentation: python 2.6 is no more
  documentation: python3Packages is python36Packages
  wireguard: 0.0.20171101 -> 0.0.20171111
  php_excel: init at 1.0.2
  libxl: init at 3.8.1
  matrix-synapse: 0.24.1 -> 0.25.1
  grafana: 4.6.1 -> 4.6.2
  linux: 4.4.98 -> 4.4.99
  linux: 4.9.62 -> 4.9.63
  linux: 4.13.13 -> 4.13.14
  nixos/zsh: add the type for enableAutosuggestions option
  zsh-powerlevel9k: init at 2017-11-10
  fio: 3.1 -> 3.2
  filebench: rehash source
  nano: 2.8.7 -> 2.9.0
  bonnie: replace dead source link
  less: 520 -> 529
  strace: 4.19 -> 4.20
  iperf: 3.2 -> 3.3
  ...
2017-11-19 08:30:14 +00:00
Shea Levy a8dc88258f
Merge branch 'system_cmds' 2017-11-18 08:34:05 -05:00
John Ericson ccb93aee17
Merge pull request #31754 from obsidiansystems/simplify-darwin-binutils
cctools, darwin-bintuils: Don't always bring in headers
2017-11-17 15:31:45 -05:00
John Ericson 652c2beda9 cctools: Don't always bring in headers
- Give cctools a dev output for the headers

 - Update Libsystem to grab the headers from that dev output

 - Don't include the headers in Darwin binutils, just as GNU Binutils no
   longer does.
2017-11-16 17:45:41 -05:00
Dan Peebles 49a5791bc4 darwin.stdenv: fix up to allow sandboxing 2017-11-14 10:36:04 -05:00
Dan Peebles b2f8185695 configd: remove unsupported sandbox profile 2017-11-14 10:34:28 -05:00
Dan Peebles bb863378d3 adv_cmds: remove custom sandbox profile (not allowed in recent Nix) 2017-11-08 22:32:44 -05:00
Domen Kožar 2b995c544d osx_private_sdk: reduce output size and remove it from runtime closures 2017-11-07 11:06:10 +01:00
Domen Kožar ea6a4068cf
darwin: build apple stuff in parallel 2017-10-31 07:47:58 +00:00
Vladimír Čunát 6525c22ef1
Merge branch 'master' into staging
Hydra: ?compare=1401528
2017-10-14 10:36:13 +02:00
Dan Peebles e86991e1e8 darwin: fix assorted xcbuild builds
This includes adding a new xcbuild-based libutil build to test the waters a bit there.
We'll need to get xcbuild into the stdenv bootstrap before we can make the main build,
but it's nice to see that it can work.
2017-10-12 07:16:22 -04:00
Shea Levy 48595335f4
Add system_cmds apple project
Actually just build sysctl for now, as xcbuild segfaults.
2017-10-11 15:13:27 -04:00
Dan Peebles b426c85ce2 Get rid of most @rpath nonsense on Darwin
This requires some small changes in the stdenv, then working around the
weird choice LLVM made to hardcode @rpath in its install name, and then
lets us remove a ton of annoying workaround hacks in many of our Go
packages. With any luck this will mean less hackery going forward.
2017-10-08 16:13:46 -04:00
Frederik Rietdijk d7ef196c26 Merge remote-tracking branch 'upstream/master' into HEAD 2017-09-05 10:11:06 +02:00
Tuomas Tynkkynen e6a83ed89c apple-source-releases: Add some meta.platforms
Or Hydra tries to build them on Linux...
2017-09-04 19:04:05 +03:00
Daiderd Jordan adca58c2e7 Merge pull request #27598 from LnL7/darwin-cf-rpath
CoreFoundation: use rpath to fix issues when using frameworks
2017-08-29 22:16:56 +02:00
Daiderd Jordan 92652b4d79
darwin-CF: use @rpath for library id and add an rpath entry for CF based on NIX_COREFOUNDATION_RPATH 2017-08-28 23:24:58 +02:00
John Ericson 7a22c01b54 apple misc pkgs: buildInputs -> nativeBuildInputs 2017-08-28 15:21:55 -04:00
Dan Peebles 0419452113 Fix Darwin stdenv to work on 10.13
The main changes are in libSystem, which lost the coretls component in 10.13
and some hardening changes that quietly crash any program that uses %n in
a non-constant format string, so we've needed to patch a lot of programs that
use gnulib.
2017-07-11 21:56:38 -04:00
Domen Kožar e211504db6
Get rid of some usages of osx_private_sdk
For example this reduces haskell closure on
darwin for some packages for almost 500MB.
2017-07-09 22:48:04 +02:00
Daiderd Jordan 91caa85804
darwin-Libsystem: include libplatform headers 2017-05-27 23:19:50 +02:00
Daiderd Jordan 815f25f31b
darwin-CF: 855.17 -> 1153.18 2017-05-27 23:19:49 +02:00
Daiderd Jordan bf58495177
darwin-dispatch: 339.92.1 -> 442.1.4 2017-05-27 23:19:48 +02:00
Daiderd Jordan 857648dd31
darwin-libplatform: init at 125 2017-05-27 23:19:47 +02:00
Daiderd Jordan ff1253200b
darwin-ICU: init at 531.48 2017-05-27 23:19:42 +02:00
Dan Peebles d93f2c3865 darwin.libSystem: fix intermittent impurity bug
If you've seen issues with libsystem_symptoms.dylib,
this should fix that.
2017-04-09 09:39:30 -04:00
Dan Peebles 5561abd556 libauto: more obscene hackery to make it work on LLVM 4
This sort of thing is going to get revamped to be less hackish soon but
for now I want it to work. In this particular case, libc++ 4 (and maybe
earlier) gets very upset if we're imprecise about our const markers, and
I guess libauto was careless. This fixes it (PtrPtrMap) to be correct.
2017-03-21 22:24:12 -04:00
Daiderd Jordan 034d39b244
darwin: update shas, some sources where re-released with different metadata 2017-01-23 19:39:03 +01:00
Vladimír Čunát 86e4c9ed46
Merge branch 'master' into staging 2016-12-17 20:29:25 +01:00
Daiderd Jordan a01a5ed925
darwin.libunwind: fix source
Fixes #20977

since this was the same sha as the linux package nix just used that instead.
2016-12-15 21:11:04 +01:00
Daiderd Jordan 87b3918d0b Merge pull request #21133 from matthewbauer/shell_cmds
shell_cmds: init at 198
2016-12-15 17:53:09 +01:00