nixpkgs/pkgs/os-specific/darwin/apple-source-releases
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
..
adv_cmds darwin.adv_cmds: fix build with clang 16 2023-07-14 17:27:16 -06:00
architecture
basic_cmds
bootstrap_cmds
bsdmake
CarbonHeaders
CommonCrypto
configd Revert "configd: fix build with clang 16" 2023-11-12 10:45:22 -05:00
copyfile
Csu darwin.Csu: disable parallel installing 2023-03-26 10:28:26 +02:00
developer_cmds treewide: move NIX_CFLAGS_COMPILE to the env attrset 2023-02-22 21:23:04 +02:00
diskdev_cmds darwin.diskdev_cmds: fix build with clang 16 2023-10-27 08:40:47 -04:00
dtrace darwin.dtrace: get rid of darling 2023-04-25 22:30:55 +03:00
dyld
eap8021x
file_cmds treewide: move NIX_CFLAGS_COMPILE to the env attrset 2023-02-22 21:23:04 +02:00
hfs
ICU
IOKit darwin.apple_sdk.frameworks.IOKit: fix on x86_64-darwin 2023-02-12 19:30:40 -05:00
launchd
libauto
Libc darwin.Libc: stop vendoring headers from other packages 2023-06-12 17:11:54 -04:00
libclosure
libdispatch
libiconv darwin.libiconv: set mainProgram 2023-11-18 16:57:39 +01:00
Libinfo
Libm darwin.Libm: add missing function declarations 2023-10-21 12:05:09 -04:00
libmalloc darwin.libmalloc: add at 116.50.8 2023-06-12 09:06:21 -04:00
Libnotify
libplatform
libpthread
libresolv
Librpcsvc
Libsystem darwin.Libsystem: get pthread headers from darwin.libpthread 2023-06-12 09:15:29 -04:00
libunwind
libutil
mDNSResponder darwin.mDNSResponder: patch header to match SDK 2023-11-12 10:45:22 -05:00
network_cmds network_cmds: unconditionally exclude Unbound 2023-04-02 20:59:49 -04:00
objc4
PowerManagement
ppp
removefile
Security treewide: move NIX_CFLAGS_COMPILE to the env attrset 2023-02-22 21:23:04 +02:00
shell_cmds
system_cmds darwin.system_cmds: fix build with clang 16 2023-06-10 17:15:08 -04:00
text_cmds darwin.text_cmds: fix build with clang 16 2023-11-07 09:17:04 -05:00
top treewide: move NIX_CFLAGS_COMPILE to the env attrset 2023-02-22 21:23:04 +02:00
xnu llvmPackages_{12,13,14,15,16,17,git}.{libcxx,libcxxabi}: merge libcxxabi into libcxx (#292043) 2024-03-11 03:53:37 -07:00
default.nix darwin.Libc: stop vendoring headers from other packages 2023-06-12 17:11:54 -04:00
developer-tools-11.3.1.nix treewide: update darwin sdk hashes 2023-02-01 12:36:48 +01:00
generate-sdk-packages.sh darwin: add usage to generate-sdk-packages.sh 2023-01-09 13:08:37 +01:00
macos-11.0.1.nix darwin.libmalloc: add at 317.40.8 for the 11.0 SDK 2023-06-12 09:06:21 -04:00