nixpkgs/pkgs/by-name/ni/nixseparatedebuginfod/package.nix
Olivia Crain de6412cadd
nixseparatedebuginfod: use system jemalloc
Currently, this package uses a vendored version of jemalloc by way of
the `jemalloc-sys` crate. The vendored version is not compatible with
non-4k page sizes on aarch64, but nixpkgs' version of jemalloc is
configured for such compatibility. To use nixpkgs' version of jemalloc,
we need to pull in the `rust-jemalloc-sys` dependency when building
nixseparatedebuginfod.
2024-03-29 10:29:38 -05:00

52 lines
1.1 KiB
Nix

{ lib
, fetchFromGitHub
, rustPlatform
, libarchive
, openssl
, rust-jemalloc-sys
, sqlite
, pkg-config
, nixosTests
}:
rustPlatform.buildRustPackage rec {
pname = "nixseparatedebuginfod";
version = "0.3.4";
src = fetchFromGitHub {
owner = "symphorien";
repo = "nixseparatedebuginfod";
rev = "v${version}";
hash = "sha256-lbYU9gveZ4SkIpMMN8KRJItA3PZSDWcJAJs4WDoivBg=";
};
cargoHash = "sha256-iKmAOPxxuhIYRKQfOuqHrF+u3wtjOk7RJ9gzPFHGGqw=";
# tests need a working nix install with access to the internet
doCheck = false;
buildInputs = [
libarchive
openssl
rust-jemalloc-sys
sqlite
];
nativeBuildInputs = [ pkg-config ];
passthru = {
tests = {
inherit (nixosTests) nixseparatedebuginfod;
};
};
meta = with lib; {
description = "Downloads and provides debug symbols and source code for nix derivations to gdb and other debuginfod-capable debuggers as needed";
homepage = "https://github.com/symphorien/nixseparatedebuginfod";
license = licenses.gpl3Only;
maintainers = [ maintainers.symphorien ];
platforms = platforms.linux;
mainProgram = "nixseparatedebuginfod";
};
}