nixpkgs/pkgs/development/libraries/rustc-demangle/default.nix
figsoda c52479efd9 rustc-demangle: replace patch with Cargo.lock
https://github.com/NixOS/nixpkgs/pull/217084 plans to migrate Rust packages to use `importCargoLock`, but the migration script cannot handle `cargoPatches`: https://github.com/NixOS/nixpkgs/pull/217084#discussion_r1111253151
2023-02-21 20:32:54 -05:00

40 lines
1.1 KiB
Nix

{ 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=";
};
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/${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 ];
};
}