Commit Graph

79 Commits

Author SHA1 Message Date
Randy Eckenrode
df7487ff17
cctools-llvm: init at 11.1.0-973.0.1
cctools-llvm is a replacement for cctools that replaces as much of cctools with equivalents from LLVM that it can reasonably do. This was motivated by wanting to reduce dependencies on cctools, which are updated infrequently by upstream.

To provide a motivating example, the version of `strip` included in cctools cannot properly strip the archives in compiler-rt in LLVM 15. Paths are left to bootstrap tools, resulting in failed requisites checks in the final stdenv build. Since `strip` needs replaced, the opportunity was taken to replace other provided they are functional replacements.

Note: This has to be done in cctools (or some equivalent) because some derivations (noteably LLVM) use the bintools of the stdenv directly instead of going through the wrapper.

The following tools from LLVM are not used in this derivation:

* LLD - not fully compatible with ld64 yet and potentially too big of a change;
* libtool - not a drop-in replacement yet because it does not support linker passthrough, which is needed by xcbuild;
* lipo - crashes when running the LLVM test suite;
* install_name_tool - fails when trying to build swift-corefoundation; and.
* randlib - not completely a drop-in replacement, so leaving it out for now.

If other incompatabilities are found, the tools can be reverted or made conditional. For example, cctools `strip` is preferred on older versions of LLVM (which lack the compiler-rt issue) or when cctools itself is a new enough version because `llvm-strip` on LLVM 11 produces files that older verions of `codesign_allocate` cannot process correctly.

One final caveat/note: Some tools are not duplicated or linked from cctools-port. The names of the tools and which ones were linked was determined based on what is provided upstream in Xcode and is installed on macOS system.
2023-06-06 19:05:22 -04:00
Connor Baker
b2eb5c816f apple_sdk: remove cf-private alias 2023-05-01 21:59:03 -04:00
Weijia Wang
12b91012e5 darwin.darling: drop 2023-04-25 22:45:59 +03:00
github-actions[bot]
c4fe2133de
Merge staging-next into staging 2023-02-15 06:01:44 +00:00
Felix Buehler
bc3d5934d7 treewide: use lib.optionals 2023-02-14 19:11:59 +01:00
github-actions[bot]
29cdca7736
Merge staging-next into staging 2023-02-13 06:02:02 +00:00
Sandro
3e7bf1e547
Merge pull request #204493 from reckenrode/xcodes-update 2023-02-13 00:38:33 +01:00
Artturin
4e3dcf364e treewide: makeSetupHook deps -> propagatedBuildInputs 2023-02-07 21:02:00 +02:00
zowoq
eceae845cd darwin.openwith: init at unstable-2022-10-28 2023-02-07 06:22:06 +10:00
Randy Eckenrode
2e2bd8b4f5
xcode: add missing versions 2023-01-28 17:51:18 -05:00
github-actions[bot]
feb2240b37
Merge master into staging-next 2023-01-22 18:01:03 +00:00
Domen Kožar
9d57399b8e
Merge pull request #157628 from veprbl/pr/darwin_cctools_apple
darwin.cctools-apple: init at 973.0.1-609
2023-01-22 17:21:33 +00:00
Alyssa Ross
0ae87d514f treewide: add names to all setup hooks 2023-01-19 15:00:36 +00:00
Vladimír Čunát
befc83905c
Merge #209423: gnat12: add for x86_64-darwin 2023-01-13 18:32:21 +01:00
Boey Maun Suang
82b88d2db6 bintoolsDualAs: Add package
For reasons explained in the commit contents, in order to build the
native gnat package for x86_64-darwin, the native gnatboot package for
x86_64-darwin must have access to both the Clang integrated assembler
and the cctools GNU assembler for that platform.  This commit creates a
package with both of those assemblers that x86_64-darwin gnatboot can
then be wrapped with.
2023-01-07 18:32:12 +11:00
Artturin
58fa78077c treewide: use splicing convenience functions 2022-12-25 14:05:03 +02:00
Gabriella Gonzalez
13bd3271d8
Link to documentation
… as suggested by @domenkozar

Co-authored-by: Domen Kožar <domen@enlambda.com>
2022-12-20 10:03:48 -08:00
Gabriella Gonzalez
edd1cbf5d4 darwin.builder: init
Fixes https://github.com/NixOS/nixpkgs/issues/108984

This originates from:

https://github.com/Gabriella439/macos-builder

… which in turn originates from:

https://github.com/YorikSar/nixos-vm-on-macos
2022-12-19 17:03:45 -08:00
Vladimír Čunát
9cfb24af2d
Merge #180327: qtbase: Fix build for aarch64-darwin
...into staging
2022-07-29 19:35:36 +02:00
Randy Eckenrode
9d2b95eef3
moltenvk: refactor to build without Xcode
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>

- Use the 11.0 SDK instead of the 10.12 one on x86_64-darwin;
- Use `NIX_CFLAGS_COMPILE` and `NIX_LDFLAGS` to pass flags to the
  compiler instead of patching the Xcode project files; and
- Use xcbuild to build the project.
2022-07-21 17:03:53 -04:00
Zaripov Kamil
940b020fe7 qtbase: Fix build for aarch64-darwin 2022-07-20 22:44:46 +03:00
Randy Eckenrode
d8f71776ff
apple_sdk_11_0: fix build on x86_64-darwin and expose as attribute 2022-07-06 19:41:17 -04:00
Randy Eckenrode
f138abff3d
moltenvk: init at 1.1.7 2022-02-16 17:17:06 -05:00
Dmitry Kalinkin
64b7c29da1
darwin.cctools-apple: init at 973.0.1-609 2022-01-31 20:37:48 -05:00
Dmitry Kalinkin
831e799e47
darwin.usr-include: remove
Originally introduced in 8610a344 ('gcc: use special native system
headers for darwin') as a hack, not used anymore.
2022-01-15 04:16:21 -05:00
sternenseemann
283d622397 darwin.xattr: init at 61.60.1 2021-08-14 17:06:29 +02:00
Andrew Childs
48519562e3 darwin-packages: avoid exporting attributes that don't exist 2021-05-17 00:28:05 +09:00
Andrew Childs
d2c9670339 darwin: add CoreFoundation to the build when explicitly required 2021-05-17 00:27:02 +09:00
Andrew Childs
7eb1e3695d darwin.signingUtils: init
Helper scripts for code signing on darwin.
2021-05-17 00:27:02 +09:00
Andrew Childs
bfd9a7784e darwin.postLinkSignHook: init 2021-05-17 00:27:02 +09:00
Andrew Childs
4c890ce9aa darwin.sigtool: init 2021-05-17 00:27:02 +09:00
Andrew Childs
9fb8924389 darwin: integrate macOS 11 sdk 2021-05-17 00:27:01 +09:00
Andrew Childs
b7abec31d4 rewrite-tbd: init 2021-05-17 00:27:01 +09:00
Andrew Childs
257cb1c8e8 print-reexports: rehome, tbd4 support, cross compilation 2021-05-17 00:27:01 +09:00
Andrew Childs
bd4a45f5d4 cctools: drop suspicious dependency 2021-05-17 00:27:00 +09:00
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