nixpkgs/pkgs/development/tools/rust/cbindgen/default.nix
Guillaume Girol 33afbf39f6 treewide: switch to nativeCheckInputs
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
2023-01-21 12:00:00 +00:00

43 lines
1.2 KiB
Nix

{ lib, stdenv, fetchFromGitHub, rustPlatform, python3Packages, Security }:
rustPlatform.buildRustPackage rec {
pname = "rust-cbindgen";
version = "0.24.3";
src = fetchFromGitHub {
owner = "eqrion";
repo = "cbindgen";
rev = "v${version}";
hash = "sha256-v5g6/ul6mJtzC4O4WlNopPtFUSbx2Jv79mZL72mucws=";
};
cargoSha256 = "sha256-j3/2cFjSDkx0TXCaxYSCLrBbAHrJfJ6hwBcXlDedwh8=";
buildInputs = lib.optional stdenv.isDarwin Security;
nativeCheckInputs = [
python3Packages.cython
];
checkFlags = [
# Disable tests that require rust unstable features
# https://github.com/eqrion/cbindgen/issues/338
"--skip test_expand"
"--skip test_bitfield"
"--skip lib_default_uses_debug_build"
"--skip lib_explicit_debug_build"
"--skip lib_explicit_release_build"
] ++ lib.optionals stdenv.isDarwin [
# WORKAROUND: test_body fails when using clang
# https://github.com/eqrion/cbindgen/issues/628
"--skip test_body"
];
meta = with lib; {
description = "A project for generating C bindings from Rust code";
homepage = "https://github.com/eqrion/cbindgen";
license = licenses.mpl20;
maintainers = with maintainers; [ hexa ];
};
}