about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/rustc-demangle
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/rustc-demangle')
-rw-r--r--nixpkgs/pkgs/development/libraries/rustc-demangle/Cargo.lock67
-rw-r--r--nixpkgs/pkgs/development/libraries/rustc-demangle/default.nix39
2 files changed, 106 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/rustc-demangle/Cargo.lock b/nixpkgs/pkgs/development/libraries/rustc-demangle/Cargo.lock
new file mode 100644
index 000000000000..0268b3bdd463
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/rustc-demangle/Cargo.lock
@@ -0,0 +1,67 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "arbitrary"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "237430fd6ed3740afe94eefcc278ae21e050285be882804e0d6e8695f0c94691"
+
+[[package]]
+name = "cc"
+version = "1.0.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2"
+
+[[package]]
+name = "compiler_builtins"
+version = "0.1.49"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "20b1438ef42c655665a8ab2c1c6d605a305f031d38d9be689ddfef41a20f3aa2"
+
+[[package]]
+name = "libfuzzer-sys"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "36a9a84a6e8b55dfefb04235e55edb2b9a2a18488fcae777a6bdaa6f06f1deb3"
+dependencies = [
+ "arbitrary",
+ "cc",
+ "once_cell",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56"
+
+[[package]]
+name = "rustc-demangle"
+version = "0.1.20"
+dependencies = [
+ "compiler_builtins",
+ "rustc-std-workspace-core",
+]
+
+[[package]]
+name = "rustc-demangle-capi"
+version = "0.1.0"
+dependencies = [
+ "rustc-demangle",
+]
+
+[[package]]
+name = "rustc-demangle-fuzz"
+version = "0.0.0"
+dependencies = [
+ "libfuzzer-sys",
+ "rustc-demangle",
+]
+
+[[package]]
+name = "rustc-std-workspace-core"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1956f5517128a2b6f23ab2dadf1a976f4f5b27962e7724c2bf3d45e539ec098c"
diff --git a/nixpkgs/pkgs/development/libraries/rustc-demangle/default.nix b/nixpkgs/pkgs/development/libraries/rustc-demangle/default.nix
new file mode 100644
index 000000000000..4e142c584529
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/rustc-demangle/default.nix
@@ -0,0 +1,39 @@
+{ rustPlatform, fetchFromGitHub, lib, stdenv }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "rustc-demangle";
+  version = "0.1.20";
+
+  src = fetchFromGitHub {
+    owner = "alexcrichton";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-elxclyuLmr3N66s+pR4/6OU98k1oXI2wKVJtzWPY8FI=";
+  };
+
+  cargoLock = {
+    # generated using `cargo generate-lockfile` since repo is missing lockfile
+    lockFile = ./Cargo.lock;
+  };
+
+  cargoBuildFlags = [ "-p" "rustc-demangle-capi" ];
+
+  postPatch = ''
+    ln -s ${./Cargo.lock} Cargo.lock
+  '';
+
+  postInstall = ''
+    mkdir -p $out/lib
+    cp target/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/librustc_demangle.so $out/lib
+    cp -R crates/capi/include $out
+  '';
+
+  meta = with lib; {
+    description = "Rust symbol demangling";
+    homepage = "https://github.com/alexcrichton/rustc-demangle";
+    license = with licenses; [ asl20 mit ];
+    # upstream supports other platforms, but maintainer can only test on linux
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ _1000teslas ];
+  };
+}