Commit Graph

66 Commits

Author SHA1 Message Date
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
Michael Reilly
84cf00f980
treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
John Ericson
b7f4bda282 treewide: *Phase(s)? variables are optional
If these aren't defined, the stdenv defaults are used in the `*Phase`
case, or no extra phases are done, in the `*Phases` case.
2019-11-01 14:44:44 -04:00
volth
08f68313a4 treewide: remove redundant rec 2019-08-28 11:07:32 +00:00
volth
46420bbaa3 treewide: name -> pname (easy cases) (#66585)
treewide replacement of

stdenv.mkDerivation rec {
  name = "*-${version}";
  version = "*";

to pname
2019-08-15 13:41:18 +01:00
Matthew Bauer
514af58478 Merge remote-tracking branch 'marsam/fix-xcbuild-build' 2019-08-07 17:29:50 -04:00
Jason Felice
80112a6f2a xcbuild: fix darwin build
Bumping the MacOS target version to 10.12 signalled xcbuild that
libcompression is available on Darwin, but libcompression is not
OSS (even though an LZFSE reference implementation is), and it is not
part of a framework for us to make impure, so this patch disables it.
2019-08-07 11:22:18 -04:00
Mario Rodas
2444738dae
xcbuild: fix build on darwin 2019-08-05 22:48:29 -05: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
d69cc779b5 Revert "Revert "darwin 10.12 commits""
This reverts commit 8505e710e7.
2019-04-20 23:17: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
Dmitry Kalinkin
7a6d18cac5
xcbuild: provide migcom in toolchain
This is needed to facilitate build of qt5.qtwebengine on darwin
2019-01-12 09:28:43 -05: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
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
73d537672d xcbuild: set -Wno-error
gcc doesn’t know all of the specific flags here. It is easier to just
set -Wno-error.
2018-11-29 20:12:31 -06:00
Markus Kowalewski
361f3cb2fa
xcbuild: add license 2018-11-08 21:00:50 +01: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
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
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
394c3fe0ab xcbuild: add missing bins
A few from cctools were missing. Ideally they would not be needed but
xcode provides them & we pretty much need to as well for a lot of
xcode projects.
2018-06-28 19:40:40 -04:00
Matthew Bauer
337b58950b generators: refactor toPlist
Address PR comments

Refactors

- Rename toPLIST -> toPlist
2018-06-28 15:24:12 -04:00
Matthew Bauer
d361371d23 generators: refactor toPLIST 2018-06-28 11:11:19 -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
Matthew Bauer
7c1e39746d xcbuild: set SYMROOT and OBJROOT 2018-04-09 18:35:35 -05:00
Matthew Bauer
a77de95529 xcbuild: add framework product 2018-04-09 18:35:34 -05:00
Daiderd Jordan
6377391d68
xcbuild: include version in wrapper 2018-01-20 20:50:23 +01:00
Daiderd Jordan
6fba728a6d
xcbuild: include version in sdk
Without this xcbuild can detect an incorrect version for store paths
that have a sequence of digits in their hash.

ld: malformed 32-bit x.y.z version number: 85294

/nix/store/yz966rdvw1blblvzs15pxpcd85294isw-MacOSX.platform/Developer/SDKs/MacOSX.sdk
2018-01-20 20:42:29 +01: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
Dan Peebles
5de4d19392 xcbuild: 0.1.1 -> 0.1.2-pre
Also, add some static library stuff to the platform spec
2017-10-11 01:18:13 -04: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
Matthew Bauer
f8f3384638
xcbuild: fix sdk dir name issue
Previously, this error was coming up in xcbuild:

ld: malformed 32-bit x.y.z version number: 1068638

It’s an interesting error because it only happens with certain hashes for the
nixpkgs sdk. For instance, on latest nixpkgs unstable channel, the hash for the
xcbuild sdk is:

/nix/store/w6mwbdaz9calyii0fyxspl51f1068638-nix.nixpkgs.sdk

that is an issue we pass -isysroot ${sdk} to clang where it will interpret that
hanging "1068638". It would probably go away as soon as the hash changes but
this hacky fix will solve the problem.
2017-09-01 15:11:12 -05:00
Lukas Werling
f0a1ab78b4 meson/ninja: add setup hooks (#28444)
* Add setupHook for meson/ninja build

* libhttpseverywhere: Use meson/ninja setupHooks

* jamomacore: Remove superfluous ninja buildInput

* Remove obsolete ninja buildPhases

These are all handled by ninja's setup hook.

* lean2, xcbuild: fix build with ninja setup hook

Ninja is a runtime dependency here. However, cmake can generate Ninja
build files as well to satisfy the setup hook.

* qtwebengine: fix build with ninja setup hook
2017-08-27 19:42:21 +02:00
Matthew Bauer
3d1d805245
Revert "xcbuild: try to fix sdk not found"
This reverts commit 87e6b2c50f.
2017-04-12 05:20:33 -05:00
Matthew Bauer
d697e5c8ee
ibtool: rename xib2nib 2017-04-12 03:23:28 -05:00
Matthew Bauer
f6860a6685
xcbuild: remove unnecessary flags 2017-04-12 03:21:58 -05:00
Matthew Bauer
87e6b2c50f
xcbuild: try to fix sdk not found
This is an attempt to get rid of the issues with sdk not found in
xcbuild when building pinentry_mac.
2017-04-09 04:27:56 -05:00
Matthew Bauer
34422f428d
ibtool: add to toolchain
- init package
- add into xcbuild/toolchain.nix
2017-04-09 04:27:21 -05:00
Matthew Bauer
5eb75ce205
xcbuild: add app bundle specs 2017-04-09 04:22:08 -05:00
Daniel Peebles
9e95fb05c5 Fix typo
I should learn to type properly 🙃
2017-03-22 12:33:37 -04:00