nixos/custom-pkgs/cargo-bisect-rustc/default.nix

45 lines
1.3 KiB
Nix

pkgs: pkgs.rustPlatform.buildRustPackage rec {
pname = "cargo-bisect-rustc";
version = "0.6.7";
src = pkgs.fetchFromGitHub {
owner = "rust-lang";
repo = "cargo-bisect-rustc";
rev = "7884b4120561d17e10ffabf6490d51b4e0ac3fd3"; # contains an unrelease fix for perf builds
hash = "sha256-BiqsDs/HTuQEjqRLnoYQzJADllqqiVL3m2AzamHd7IM=";
};
cargoHash = "sha256-GzoJufms7ud3ZJxNHrrdmfYT7TSoTeAQNwBjptO59SA=";
patches =
let
patchelfPatch = pkgs.runCommand "0001-patchelf.patch"
{
CC = pkgs.stdenv.cc;
patchelf = pkgs.patchelf;
libPath = "$ORIGIN/../lib:${pkgs.lib.makeLibraryPath [ pkgs.zlib ]}";
}
''
export dynamicLinker=$(cat $CC/nix-support/dynamic-linker)
substitute ${./0001-patchelf.patch} $out \
--subst-var patchelf \
--subst-var dynamicLinker \
--subst-var libPath
'';
in
pkgs.lib.optionals pkgs.stdenv.isLinux [ patchelfPatch ];
nativeBuildInputs = with pkgs; [ pkg-config ];
buildInputs = with pkgs; [ openssl xz ];
PKG_CONFIG_PATH = "${pkgs.openssl}/lib";
# Tests access the network.
doCheck = false;
meta = with pkgs.lib; {
description = "Bisects rustc, either nightlies or CI artifacts";
homepage = "https://github.com/rust-lang/cargo-bisect-rustc";
license = licenses.mit;
};
}