nixpkgs/pkgs/build-support
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
..
add-driver-runpath addDriverRunpath: init 2023-12-03 07:22:51 -08:00
add-opengl-runpath
agda agdaPackages.*: support literate Typst files 2023-10-24 20:34:05 +02:00
alternatives treewide: simplify exec format conditionals 2024-01-07 17:43:33 -08:00
appimage appimage-run: Add pipewire support 2024-02-18 22:34:27 +01:00
binary-cache pkgs/build-support: refactor drvs using __structuredAttrs = true 2023-10-04 18:37:00 +02:00
bintools-wrapper bintools: disable relro/bindnow hardening on windows 2024-01-12 22:11:17 +01:00
build-bazel-package
build-fhsenv-bubblewrap Merge pull request #277494 from trofi/buildFHSEnv-fix-eval 2024-02-22 21:00:19 +01:00
build-fhsenv-chroot build-fhs-user-env: add compatibility for pipewire alsa emulation 2024-02-02 22:38:49 -08:00
build-graalvm-native-image buildGraalvmNativeImage: fix UTF-8 encoding issue for JVM dependencies 2024-01-26 11:12:54 +00:00
buildenv build-support/buildenv: Hoist builder instantiation 2023-12-29 03:04:46 +13:00
cc-wrapper llvmPackages_{12,13,14,15,16,17,git}.{libcxx,libcxxabi}: merge libcxxabi into libcxx (#292043) 2024-03-11 03:53:37 -07:00
coq
dart dartHooks.dartInstallHook: Add trailing newline 2024-01-18 12:17:43 +11:00
deterministic-uname deterministic-uname: fix default output 2023-09-17 00:08:43 +03:00
dhall
docker Merge pull request #289840 from PigeonF/master 2024-02-29 13:03:07 +01:00
dotnet nuget-to-nix: fix error handling 2024-03-06 10:14:21 -04:00
emacs Merge branch 'master' into staging-next 2023-12-31 02:31:32 +01:00
expand-response-params expand-response-params: explain what a "response file" is 2023-10-22 08:57:24 +03:00
fake-nss
fetch9front
fetchbitbucket
fetchbower
fetchbzr treewide: refactor .attrs.sh detection 2023-10-04 18:36:57 +02:00
fetchcvs treewide: refactor .attrs.sh detection 2023-10-04 18:36:57 +02:00
fetchdarcs treewide: refactor .attrs.sh detection 2023-10-04 18:36:57 +02:00
fetchdebianpatch fetchDebianPatch: Require patch names with extensions 2023-09-14 18:55:30 +00:00
fetchdocker Merge staging-next into staging 2023-10-21 00:02:49 +00:00
fetchfirefoxaddon
fetchfossil fetchfossil: support SRI hashes 2023-11-22 09:47:57 +01:00
fetchgit Merge branch 'master' into staging-next 2023-11-12 19:45:20 +01:00
fetchgitea
fetchgithub fetchFromGitHub: fix compatibility issue with nix-prefetch 2024-01-30 12:21:13 +01:00
fetchgitiles
fetchgitlab Merge pull request #268304 from panicgh/fetchgitlab-sparse-forcegit 2023-12-17 03:34:52 +01:00
fetchgitlocal
fetchgx
fetchhg treewide: refactor .attrs.sh detection 2023-10-04 18:36:57 +02:00
fetchipfs treewide: refactor .attrs.sh detection 2023-10-04 18:36:57 +02:00
fetchmavenartifact
fetchmtn treewide: refactor .attrs.sh detection 2023-10-04 18:36:57 +02:00
fetchnextcloudapp fetchNextcloudApp: remove backwards compat for old interface 2023-08-20 13:41:43 +02:00
fetchpatch
fetchpijul build-support/fetchpijul: Enable strictDeps 2023-12-06 18:40:07 +01:00
fetchpypi
fetchpypilegacy fetchPypiLegacy: add test 2024-02-17 17:11:59 +13:00
fetchrepoorcz
fetchrepoproject
fetchs3
fetchsavannah
fetchsourcehut
fetchsvn treewide: refactor .attrs.sh detection 2023-10-04 18:36:57 +02:00
fetchsvnrevision
fetchsvnssh treewide: refactor .attrs.sh detection 2023-10-04 18:36:57 +02:00
fetchtorrent tests.fetchtorrent: add watched-cd license 2023-12-02 02:04:50 +01:00
fetchurl fetchurl/mirrors: add cdn.download.kde.org as default KDE mirror 2023-12-03 14:48:56 +03:00
fetchzip fetchzip: allow dropping unzip 2024-01-12 20:26:16 +01:00
flutter buildFlutterApplication: Change flutterHostPlatform to targetFlutterPlatform 2024-01-19 11:07:33 +11:00
go Merge pull request #276685 from katexochen/buildGoModule/buildid 2024-01-14 14:13:16 +01:00
icon-conv-tools
install-shell-files
java
kernel Merge pull request #283770 from r-ryantm/auto-update/makeInitrdNGTool 2024-02-10 22:19:21 -05:00
libredirect libredirect: don't test LFS64 functions on musl 2024-03-02 01:02:36 +01:00
make-darwin-bundle writeDarwinBundle: use binary wrapper 2023-08-21 13:29:12 +10:00
make-desktopitem
make-hardcode-gsettings-patch makeHardcodeGsettingsPatch: Support applying patches 2023-11-21 08:42:47 +01:00
make-pkgconfigitem
make-startupitem make-startupitem: fix typo in comment 2023-08-16 18:03:02 +02:00
mkshell doc: add explanatory code comment 2023-11-13 20:59:33 +01:00
mono-dll-fixer
nix-gitignore
node importNpmLock: init 2024-03-05 12:23:28 +13:00
nuke-references nuke-references: add meta.mainProgram 2024-01-05 15:04:14 -05:00
ocaml ocamlPackages.buildTopkgPackage: Added 2023-09-28 12:03:20 +02:00
oci-tools ociTools: Fix invalid cgroup mount option 2023-12-27 19:41:07 +01:00
php build-support/php: update composer validate steps 2024-03-05 22:50:46 +01:00
pkg-config-wrapper
portable-service
prefer-remote-fetch prefer-remote-fetch: add more fetchers which prefer local builds 2023-11-29 10:25:20 +01:00
references-by-popularity pkgs/build-support: refactor drvs using __structuredAttrs = true 2023-10-04 18:37:00 +02:00
release build-support/release: deprecate phases 2023-11-25 21:00:17 +01:00
remove-references-to
replace-secret replace-secret: add mainProgram 2023-11-26 16:27:42 +02:00
rust wrapRustc: wrap rustdoc 2024-03-02 13:09:07 +01:00
setup-hooks Merge pull request #255463 from emilylange/stdenv/patch-shebangs-trailing-newline 2024-02-16 18:33:27 +01:00
singularity-tools apptainer, singularity: drop obsolete LOCALSTATEDIR dirs 2023-08-23 18:20:25 +08:00
snap
src-only
substitute substitute: Deprecate replacements, introduce replacementsList 2024-02-29 00:35:27 +01:00
substitute-files
testers macOS support for NixOS tests (#282401) 2024-03-02 06:33:14 +01:00
trivial-builders applyPatches: Fix a bug (#283887) 2024-02-29 01:29:48 +01:00
vm vmTools: update debian versions 2023-11-24 20:59:42 +04:00
wrapper-common
writers Revert "writers: add support for wrapping" 2024-03-04 07:05:23 +01:00
build-maven.nix
checkpoint-build.nix doc: polish the docs of checkpointBuildTools 2024-01-09 01:34:21 +08:00
closure-info.nix closureInfo: handle empty path set explicitly 2023-11-04 09:54:41 +01:00
make-impure-test.nix
plugins.nix
replace-dependency.nix
setup-systemd-units.nix
source-from-head-fun.nix