summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-01-13 19:22:44 +0000
committerAlyssa Ross <hi@alyssa.is>2023-01-24 21:18:39 +0000
commitc672de30802d685811fd2ea4eaf95d7dceda2f05 (patch)
treeae5d33222dbefa8924437c59eca0d02727f4da53
parentee036ed5a49547acefe6f70365f9df64068c7d8c (diff)
libcxxrt: init at unstable-2022-08-08
-rw-r--r--pkgs/development/libraries/libcxxrt/default.nix33
-rw-r--r--pkgs/top-level/all-packages.nix6
2 files changed, 39 insertions, 0 deletions
diff --git a/pkgs/development/libraries/libcxxrt/default.nix b/pkgs/development/libraries/libcxxrt/default.nix
new file mode 100644
index 0000000000000..3d5228ad12aaa
--- /dev/null
+++ b/pkgs/development/libraries/libcxxrt/default.nix
@@ -0,0 +1,33 @@
+{ lib, stdenv, fetchFromGitHub, cmake, unstableGitUpdater }:
+
+stdenv.mkDerivation {
+  pname = "libcxxrt";
+  version = "unstable-2022-08-08";
+
+  src = fetchFromGitHub {
+    owner = "libcxxrt";
+    repo = "libcxxrt";
+    rev = "a0f7f5c139a7daf71de0de201b6c405d852b1dc1";
+    sha256 = "6ErOhlD6pOudbTkFTlI2hjBuYT3QuzEiL33/mLnw1aI=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  installPhase = ''
+    mkdir -p $out/include $out/lib
+    cp ../src/cxxabi.h $out/include
+    cp lib/libcxxrt${stdenv.hostPlatform.extensions.library} $out/lib
+  '';
+
+  passthru = {
+    updateScript = unstableGitUpdater { };
+  };
+
+  meta = with lib; {
+    homepage = "https://github.com/libcxxrt/libcxxrt";
+    description = "Implementation of the Code Sourcery C++ ABI";
+    maintainers = with maintainers; [ qyliss ];
+    platforms = platforms.all;
+    license = licenses.bsd2;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 436e812b4f0a1..78d351f346e23 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -20662,6 +20662,12 @@ with pkgs;
 
   libcutl = callPackage ../development/libraries/libcutl { };
 
+  libcxxrt = callPackage ../development/libraries/libcxxrt {
+    stdenv = if stdenv.hostPlatform.useLLVM or false
+             then overrideCC stdenv buildPackages.llvmPackages.tools.clangNoLibcxx
+             else stdenv;
+  };
+
   libdaemon = callPackage ../development/libraries/libdaemon { };
 
   libdatovka = callPackage ../development/libraries/libdatovka { };