Commit graph

30 commits

Author SHA1 Message Date
Ivan Babrou bac1418031 xcbuild: allow building arm64 binaries
File paths are copied from XCode 12.
2021-05-17 00:27:03 +09:00
Andrew Childs 44f09ccabf darwin: move deployment target and sdk version to platform config 2021-03-26 15:10:22 +09:00
Dave Nicponski c3c3f68020 xcbuild: add compatibility support for exporting sdk info
"Real" xcodebuild allows using `xcodebuild -version -sdk` without
an sdk version argument, which will dump sdk info for all the
installed sdks.

Bazel"s "xcode cc toolchain setup on mac" process uses this
to determine which SDK version is actually installed.  This
change allows using a nix-supplied pinned compiler and build
system under bazel.
2020-04-28 22:49:53 -04:00
volth f3282c8d1e treewide: remove unused variables (#63177)
* treewide: remove unused variables

* making ofborg happy
2019-06-16 19:59:05 +00:00
Matthew Bauer f64d21da21
Merge pull request #56834 from matthewbauer/v8-update
v8: 5.4.232 -> 7.4.255
2019-06-03 13:34:04 -04:00
Matthew Bauer ecffd43b46 xcbuild: use llvm6-based xcbuild 2019-04-26 21:55:04 -04:00
Matthew Bauer e7f57503e0 v8: 5.4.232 -> 7.4.255 2019-04-11 00:25:12 -04:00
Jörg Thalheim dadc7eb329
treewide: use runtimeShell instead of stdenv.shell whenever possible
Whenever we create scripts that are installed to $out, we must use runtimeShell
in order to get the shell that can be executed on the machine we create the
package for. This is relevant for cross-compiling. The only use case for
stdenv.shell are scripts that are executed as part of the build system.
Usages in checkPhase are borderline however to decrease the likelyhood
of people copying the wrong examples, I decided to use runtimeShell as well.
2019-02-26 14:10:49 +00: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 b300dddae1 xcbuild: only override version with 1 arg
sometimes we want the "SDK" version from xcbuild so we do something
like:

$ xcbuild -version -sdk MacOSX10.10
SDKSettings.plist - MacOSX10.10 (MacOSX10.10)
SDKVersion: 10.10
Path: /nix/store/6k7crm1n4drf09ga0dwvbmb59x4zl2i2-SDKs/MacOSX10.10.sdk
PlatformPath: /nix/store/vhfwb1znfy65s2xs27j8xribk6mp6lbw-Platforms/MacOSX.platform
ProductName: Mac OS X
ProductVersion: 10.10

This was previously overriden by the current xcode version so you
would get:

Xcode 9.4.1
Build version 17E189

This should fix the other usage of -version in nodejs 6.x.
2018-08-20 13:16:37 -05:00
Matthew Bauer c391bd3dd3 xcbuild: cleanup
fix shell shebang
2018-08-11 22:54:48 -05:00
Matthew Bauer b5d529d52f xcbuild: cleanup 2018-08-11 22:54:48 -05:00
Matthew Bauer 0edb441a0e firefox: build on darwin
Fixes #30285
2018-08-11 22:54:48 -05:00
Jörg Thalheim 218298b30f
Merge branch 'master' into unused5 2018-07-21 15:41:22 +01:00
volth 52f53c69ce pkgs/*: remove unreferenced function arguments 2018-07-21 02:48:04 +00:00
volth 6d2857a311 [bot] treewide: remove unused 'inherit' in let blocks 2018-07-20 19:38:19 +00:00
Matthew Bauer 35b2c0edf2 xcbuild: refactor
This reworks some of xcbuild logic to make it more compatible with
Apple’s SDK.

- Add a fake version of xcrun & xcode-select
- Cleanup platform generation. Clang does not like having 20 char
  hashes in sysroot so it is much easier to just build the parent
  directory for each runCommand. This is a little awkward but I have
  renamed everything with an added ‘s’ to make the distinction more clear.
- Cleaned up wrapper.nix in some different ways
- Reuse some versioning logic so that we don’t end up with two
  different versions of Xcode or SDK reported.
2018-07-09 17:10:20 -04:00
Matthew Bauer c672e37f4a xcbuild: rework to use lib.PLIST
This is a good way to test that plist works.

Sorry for the large diff. There are a bunch of cleanups in here that
needed to be done. Should make it possible to use in cross
compilation.
2018-06-27 15:36:00 -04:00
Matthew Bauer d5dc446b38 xcbuild: fix wrapper
need $wrapper/usr/bin to exist for some SDK stuff
2018-04-12 14:12:29 -05:00
Daiderd Jordan 6377391d68
xcbuild: include version in wrapper 2018-01-20 20:50:23 +01:00
Dan Peebles f92e097cd4 xcbuild: add SDKROOT by default to the wrappers
This fixes #30269 and lets us do things like `xcrun -find cc`, for
example.
2017-10-10 16:41:44 -04:00
Daniel Peebles 9e95fb05c5 Fix typo
I should learn to type properly 🙃
2017-03-22 12:33:37 -04:00
Dan Peebles 3263d02626 xcbuild: assorted fixes and cleanups
This is in preparation for the LLVM 4 upgrade (which gets more strict
about e.g., return false in xcbuild itself) and also for using xcbuild
more extensively in the Darwin stdenv bootstrap process, which is why I
killed the unnecessary gcc dependency in the toolchain. llvm-cov pretends
to be gcov anyway, so we're fine.
2017-03-21 23:22:15 -04:00
Matthew Justin Bauer 10cfe945fe xcbuild: 0ab861ab -> 0.1.1 (#21895)
* xcbuild: add xcode-select wrapper
* xcbuild: update to 0.1.1
2017-01-19 22:21:00 +01:00
Daiderd Jordan 6e26fe3d57
xcbuild: add meta 2016-12-15 18:07:54 +01:00
Matthew Bauer fc1f6f55ea
xcbuild: Get rid of developer.nix, move to wrapper
also:

- add custom outputs "specs" for xcbuild
- get rid of unneeded tools
- update xcbuild
- add more comments
- fixup xcbuild derivations

Affected xcbuild derivations include:

- adv_cmds
- network_cmds
- basic_cmds
2016-11-15 19:13:23 -06:00
Matthew Bauer 437bdc5e4b
xcbuild: fix toolchain on Linux 2016-11-15 19:13:22 -06:00
Matthew Bauer ebf963ac6c
xcbuild: Update toolchain
- Rework spec files.
- Add more tool specs.
- Add ctags.
2016-11-15 18:58:09 -06:00
Matthew Bauer 44ad052c43
xcbuild: Make "xcbuild.raw" for original unwrapped 2016-11-15 18:58:08 -06:00
Matthew Bauer de87138b9a
xcbuild: add wrapper
Also updates xcbuild version.

This changes the raw string expressions into nix expressions that are
then converted into json by builtins.toJSON. Then, converted to Plist
XML by Apple's plutil. Sadly, xcbuild does not support using raw JSON
but Apple's plutil does so we just convert the file from JSON to XML
using Apple's plutil. The result is not ideal but it looks like all OS X
systems have working plutil's.

- set mac version to 10.10
- add setup hook.
2016-11-15 18:57:20 -06:00