From 3a6141ac961e42df4ac2c20cf92ebc25dee0b651 Mon Sep 17 00:00:00 2001 From: Audrey Dutcher Date: Thu, 30 May 2024 10:44:04 -0700 Subject: [PATCH] freebsdPackages.libcxx: switch back to libcxxrt on FreeBSD also enable new delete definitions under libxxrt --- .../compilers/llvm/common/libcxx/default.nix | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/development/compilers/llvm/common/libcxx/default.nix b/pkgs/development/compilers/llvm/common/libcxx/default.nix index b2c23f35f0a18..38813766897e4 100644 --- a/pkgs/development/compilers/llvm/common/libcxx/default.nix +++ b/pkgs/development/compilers/llvm/common/libcxx/default.nix @@ -13,16 +13,12 @@ , python3 , fixDarwinDylibNames , version -, cxxabi ? null -, libcxxrt +, freebsd +, cxxabi ? if stdenv.hostPlatform.isFreeBSD then freebsd.libcxxrt else null , libunwind , enableShared ? !stdenv.hostPlatform.isStatic }: -# note: our setup using libcxxabi instead of libcxxrt on FreeBSD diverges from -# normal FreeBSD. This may cause issues with binary patching down the line. -# If this becomes an issue, try adding as symlink libcxxrt.so -> libc++abi.so - # external cxxabi is not supported on Darwin as the build will not link libcxx # properly and not re-export the cxxabi symbols into libcxx # https://github.com/NixOS/nixpkgs/issues/166205 @@ -93,6 +89,8 @@ let "-DLIBCXX_ENABLE_EXCEPTIONS=OFF" ] ++ lib.optionals (!enableShared) [ "-DLIBCXX_ENABLE_SHARED=OFF" + ] ++ lib.optionals (cxxabi != null && cxxabi.libName == "cxxrt") [ + "-DLIBCXX_ENABLE_NEW_DELETE_DEFINITIONS=ON" ]; cmakeFlags = [