Commit Graph

19 Commits

Author SHA1 Message Date
Martin Weinelt
3321e63b12
Merge remote-tracking branch 'origin/master' into staging-next
Conflicts:
- pkgs/development/python-modules/sphinx-autobuild/default.nix
2024-03-19 04:00:32 +01:00
stuebinm
ff1a94e523 treewide: add meta.mainProgram to packages with a single binary
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
2024-03-19 03:14:51 +01:00
a-n-n-a-l-e-e
ce789e7e35
llvmPackages_{12,13,14,15,16,17,git}.{libcxx,libcxxabi}: merge libcxxabi into libcxx (#292043)
- merge libcxxabi into libcxx for LLVM 12, 13, 14, 15, 16, 17, and git.
- remove the link time workaround `-lc++ -lc++abi` from 58 packages as it is no longer required.
- fixes https://github.com/NixOS/nixpkgs/issues/166205
- provides alternative fixes for. https://github.com/NixOS/nixpkgs/issues/269548 https://github.com/NixOS/nix/issues/9640
- pkgsCross.x86_64-freebsd builds work again

This change can be represented in 3 stages
1. merge libcxxabi into libcxx -- files: pkgs/development/compilers/llvm/[12, git]/{libcxx, libcxxabi}
2. update stdenv to account for merge -- files: stdenv.{adapters, cc.wrapper, darwin}
3. remove all references to libcxxabi outside of llvm (about 58 packages modified)

### merging libcxxabi into libcxx
- take the union of the libcxxabi and libcxx cmake flags
- eliminate the libcxx-headers-only package - it was only needed to break libcxx <-> libcxxabi circular dependency
- libcxx.cxxabi is removed. external cxxabi (freebsd) will symlink headers / libs into libcxx.
- darwin will re-export the libcxxabi symbols into libcxx so linking `-lc++` is sufficient.
- linux/freebsd `libc++.so` is a linker script `LINK(libc++.so.1, -lc++abi)` making `-lc++` sufficient.
- libcxx/default.nix [12, 17] are identical except for patches and `LIBCXX_ADDITIONAL_LIBRARIES` (only used in 16+)
- git/libcxx/defaul.nix  does not link with -nostdlib when useLLVM is true so flag is removed. this is not much different than before as libcxxabi used -nostdlib where libcxx did not, so libc was linked in anyway.

### stdenv changes
- darwin bootstrap, remove references to libcxxabi and cxxabi
- cc-wrapper: remove c++ link workaround when libcxx.cxxabi doesn't exist (still exists for LLVM pre 12)
- adapter: update overrideLibcxx to account for a pkgs.stdenv that only has libcxx

### 58 package updates
- remove `NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}` as no longer needed
- swift, nodejs_v8 remove libcxxabi references in the clang override

https://github.com/NixOS/nixpkgs/pull/292043
2024-03-11 03:53:37 -07:00
Jan Malakhovski
a0a909fa9e treewide: noop: replace every newly introduced stdenv.mkDerivation rec with a fixpoint over finalAttrs 2023-08-03 16:34:45 +00:00
Jan Malakhovski
5852f26bdc treewide: noop: refer to src.name or similar in sourceRoot where appropriate, part 1: trivial cases 2023-08-03 16:32:03 +00:00
iliana etaoin
9fe79a86b4 libtapi: correct license metadata
664b8414f8/LICENSE.APPLE-LIBTAPI.txt
https://github.com/apple-oss-distributions/tapi/blob/main/LICENSE.TXT
2023-06-28 03:26:38 +00:00
Artturin
7e49471316 treewide: optional -> optionals where the argument is a list
the argument to optional should not be list
2022-10-10 15:40:21 +03:00
Noah Fontes
b4dc06bc9e
libtapi: update for cross-compilation
In b060076e21 ("cc-wrapper: broaden explicit libc++abi linking for
LLVM stdenv"), all packages started to be linked with -lc++abi. When
cross compiling, the libcxxabi path seemingly needs to be passed to the
the libtapi derivation; it won't pick it up on its own (perhaps because
of the bootstrapping?).
2022-09-07 22:17:29 -07:00
Andrew Childs
eb8f8afac7 libtapi: cross compilation 2021-05-17 00:27:01 +09:00
midchildan
10e8c6d323
libtapi: 1000.10.8 -> 1100.0.11
closes #106348
2020-12-21 00:55:58 +09:00
Jonathan Ringer
16357a697f libtapi: add homepage and description, use pname 2020-10-29 14:05:46 -07:00
Matthew Bauer
86d8c55470
Merge branch 'staging' into ios-13 2020-09-10 23:24:26 -05:00
Andrew Childs
630f5d30df stdenv/darwin: enable tapi support in cctools 2020-08-21 01:09:42 +09:00
Andrew Childs
b418d4c6a4 libtapi: fix build, install phase and install name
installTarget looks like a typo for installTargets. This causes a lot
of llvm and clang to be built and installed.

Clang is not intended to be an external dependency. The source bundle
includes llvm and clang. Adding include paths and building clangBasic
first is sufficient to use the internal clang components.
2020-07-28 19:16:24 +09:00
Matthew Bauer
39c536c8db darwin.libtapi: update, fix installTargets 2020-07-21 10:30:19 -05:00
Daiderd Jordan
da6bc4b4cb
darwin.libtapi: python2 -> python3 2020-01-13 11:41:23 +01:00
Merijn Broeren
133103d709
treewide: replace make/build/configure/patchFlags with nix lists 2019-12-30 12:58:11 +01:00
Matthew Bauer
f0f4f90847 libtapi: bump to 1000.10.8 2019-11-25 21:57:39 -05:00
Matthew Bauer
f76c7b8fab libtapi: init
(cherry picked from commit 69347697d3336d4b6add8276d9f75daf6f0cacf3)
2019-04-26 21:54:46 -04:00