about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/rustc-demangle
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2021-09-08 17:57:14 +0000
committerAlyssa Ross <hi@alyssa.is>2021-09-13 11:31:47 +0000
commitee7984efa14902a2ddd820c937457667a4f40c6a (patch)
treec9c1d046733cefe5e21fdd8a52104175d47b2443 /nixpkgs/pkgs/development/libraries/rustc-demangle
parentffc9d4ba381da62fd08b361bacd1e71e2a3d934d (diff)
parentb3c692172e5b5241b028a98e1977f9fb12eeaf42 (diff)
downloadnixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.gz
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.bz2
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.lz
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.xz
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.zst
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.zip
Merge commit 'b3c692172e5b5241b028a98e1977f9fb12eeaf42'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/rustc-demangle')
-rw-r--r--nixpkgs/pkgs/development/libraries/rustc-demangle/add-Cargo.lock.patch73
-rw-r--r--nixpkgs/pkgs/development/libraries/rustc-demangle/default.nix34
2 files changed, 107 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/rustc-demangle/add-Cargo.lock.patch b/nixpkgs/pkgs/development/libraries/rustc-demangle/add-Cargo.lock.patch
new file mode 100644
index 000000000000..66e8bead8a26
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/rustc-demangle/add-Cargo.lock.patch
@@ -0,0 +1,73 @@
+diff --git a/Cargo.lock b/Cargo.lock
+new file mode 100644
+index 0000000..0268b3b
+--- /dev/null
++++ b/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..be02fedfde71
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/rustc-demangle/default.nix
@@ -0,0 +1,34 @@
+{ rustPlatform, fetchFromGitHub, rust, 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=";
+  };
+
+  cargoPatches = [
+    # generated using `cargo generate-lockfile` since repo is missing lockfile
+    ./add-Cargo.lock.patch
+  ];
+  cargoSha256 = "sha256-1tW5TOap5MstxTXAFij3IB8TIpI+FryEX9TXlVXjRl4=";
+  cargoBuildFlags = "-p rustc-demangle-capi";
+  postInstall = ''
+    mkdir -p $out/lib
+    cp target/${rust.toRustTargetSpec stdenv.hostPlatform}/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 ];
+  };
+}