mirror of
https://github.com/koverstreet/bcachefs-tools.git
synced 2025-12-07 00:00:12 +03:00
> bcachefs::bindgen_test_layout_bch_replicas_padded__bindgen_ty_1
> bcachefs::bindgen_test_layout_bch_replicas_padded__bindgen_ty_2
> bcachefs::bindgen_test_layout_bch_replicas_padded__bindgen_ty_3
> bcachefs::bindgen_test_layout_bch_replicas_padded__bindgen_ty_4
Update flake.lock
164 lines
3.5 KiB
Nix
164 lines
3.5 KiB
Nix
{
|
|
lib,
|
|
pkgs,
|
|
stdenvNoCC,
|
|
|
|
# build time
|
|
pkg-config,
|
|
rustPlatform,
|
|
versionCheckHook,
|
|
|
|
# run time
|
|
fuse3,
|
|
keyutils,
|
|
libaio,
|
|
libsodium,
|
|
liburcu,
|
|
libuuid,
|
|
lz4,
|
|
udev,
|
|
zlib,
|
|
zstd,
|
|
|
|
crane,
|
|
rustVersion ? "latest",
|
|
version,
|
|
}:
|
|
let
|
|
craneLib = (crane.mkLib pkgs).overrideToolchain (
|
|
p: p.rust-bin.stable."${rustVersion}".minimal.override { extensions = [ "clippy" ]; }
|
|
);
|
|
|
|
args = {
|
|
inherit version;
|
|
src = lib.fileset.toSource {
|
|
root = ./.;
|
|
fileset = lib.fileset.fileFilter ({ hasExt, ... }: !hasExt "nix") ./.;
|
|
};
|
|
strictDeps = true;
|
|
|
|
env = {
|
|
PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${placeholder "out"}/lib/systemd/system";
|
|
PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev";
|
|
};
|
|
|
|
makeFlags = [
|
|
"INITRAMFS_DIR=${placeholder "out"}/etc/initramfs-tools"
|
|
"PREFIX=${placeholder "out"}"
|
|
"VERSION=${version}"
|
|
];
|
|
|
|
dontStrip = true;
|
|
|
|
nativeBuildInputs = [
|
|
pkg-config
|
|
rustPlatform.bindgenHook
|
|
];
|
|
|
|
buildInputs = [
|
|
keyutils
|
|
libaio
|
|
libsodium
|
|
liburcu
|
|
libuuid
|
|
lz4
|
|
udev
|
|
zlib
|
|
zstd
|
|
];
|
|
|
|
checkFlags = lib.optionals (stdenvNoCC.hostPlatform.isAarch64) [
|
|
"--skip=bcachefs::bindgen_test_layout_bch_replicas_padded__bindgen_ty_1"
|
|
"--skip=bcachefs::bindgen_test_layout_bch_replicas_padded__bindgen_ty_2"
|
|
"--skip=bcachefs::bindgen_test_layout_bch_replicas_padded__bindgen_ty_3"
|
|
"--skip=bcachefs::bindgen_test_layout_bch_replicas_padded__bindgen_ty_4"
|
|
];
|
|
|
|
checkPhaseCargoCommand = ''
|
|
cargo test --profile release -- --nocapture $checkFlags
|
|
'';
|
|
};
|
|
|
|
cargoArtifacts = craneLib.buildDepsOnly args;
|
|
|
|
package = craneLib.buildPackage (
|
|
args
|
|
// {
|
|
inherit cargoArtifacts;
|
|
|
|
outputs = [
|
|
"out"
|
|
"dkms"
|
|
];
|
|
|
|
makeFlags = args.makeFlags ++ [
|
|
"DKMSDIR=${placeholder "dkms"}"
|
|
];
|
|
|
|
enableParallelBuilding = true;
|
|
buildPhaseCargoCommand = ''
|
|
make ''${enableParallelBuilding:+-j''${NIX_BUILD_CORES}} $makeFlags
|
|
'';
|
|
doNotPostBuildInstallCargoBinaries = true;
|
|
enableParallelInstalling = true;
|
|
installPhaseCommand = ''
|
|
make ''${enableParallelInstalling:+-j''${NIX_BUILD_CORES}} $makeFlags install install_dkms
|
|
'';
|
|
|
|
doInstallCheck = true;
|
|
nativeInstallCheckInputs = [ versionCheckHook ];
|
|
versionCheckProgramArg = "version";
|
|
|
|
passthru.kernelModule = import ./module-build.nix package;
|
|
|
|
meta = {
|
|
description = "Userspace tools for bcachefs";
|
|
license = lib.licenses.gpl2Only;
|
|
mainProgram = "bcachefs";
|
|
};
|
|
}
|
|
);
|
|
|
|
packageFuse = package.overrideAttrs (
|
|
final: prev: {
|
|
makeFlags = prev.makeFlags ++ [ "BCACHEFS_FUSE=1" ];
|
|
buildInputs = prev.buildInputs ++ [ fuse3 ];
|
|
}
|
|
);
|
|
|
|
cargo-clippy = craneLib.cargoClippy (
|
|
args
|
|
// {
|
|
inherit cargoArtifacts;
|
|
cargoClippyExtraArgs = "--all-targets --all-features -- --deny warnings";
|
|
}
|
|
);
|
|
|
|
# we have to build our own `craneLib.cargoTest`
|
|
cargo-test = craneLib.mkCargoDerivation (
|
|
args
|
|
// {
|
|
inherit cargoArtifacts;
|
|
doCheck = true;
|
|
|
|
enableParallelChecking = true;
|
|
|
|
pnameSuffix = "-test";
|
|
buildPhaseCargoCommand = "";
|
|
|
|
checkPhaseCargoCommand = ''
|
|
make ''${enableParallelChecking:+-j''${NIX_BUILD_CORES}} $makeFlags libbcachefs.a
|
|
cargo test --profile release -- --nocapture $checkFlags
|
|
'';
|
|
}
|
|
);
|
|
in
|
|
{
|
|
inherit
|
|
cargo-clippy
|
|
cargo-test
|
|
package
|
|
packageFuse
|
|
;
|
|
}
|