mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-02 19:14:14 +00:00
33afbf39f6
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.
86 lines
2.0 KiB
Nix
86 lines
2.0 KiB
Nix
{ lib
|
|
, stdenv
|
|
, fetchFromGitHub
|
|
, pkg-config
|
|
, docutils
|
|
, libuuid
|
|
, libscrypt
|
|
, libsodium
|
|
, keyutils
|
|
, liburcu
|
|
, zlib
|
|
, libaio
|
|
, zstd
|
|
, lz4
|
|
, python3Packages
|
|
, util-linux
|
|
, udev
|
|
, valgrind
|
|
, nixosTests
|
|
, makeWrapper
|
|
, getopt
|
|
, fuse3
|
|
, fuseSupport ? false
|
|
}:
|
|
|
|
stdenv.mkDerivation {
|
|
pname = "bcachefs-tools";
|
|
version = "unstable-2022-12-29";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "koverstreet";
|
|
repo = "bcachefs-tools";
|
|
rev = "42cf74fd1d0ef58927967e6236988e86cfc0d086";
|
|
sha256 = "sha256-N/1heStwmB7CzE/ddTud/ywnMdhq8ZkLju+x0UL0yjY=";
|
|
};
|
|
|
|
postPatch = ''
|
|
patchShebangs .
|
|
substituteInPlace Makefile \
|
|
--replace "pytest-3" "pytest --verbose" \
|
|
--replace "INITRAMFS_DIR=/etc/initramfs-tools" \
|
|
"INITRAMFS_DIR=${placeholder "out"}/etc/initramfs-tools"
|
|
'';
|
|
|
|
nativeBuildInputs = [
|
|
pkg-config docutils python3Packages.python makeWrapper
|
|
];
|
|
|
|
buildInputs = [
|
|
libuuid libscrypt libsodium keyutils liburcu zlib libaio
|
|
zstd lz4 python3Packages.pytest udev valgrind
|
|
] ++ lib.optional fuseSupport fuse3;
|
|
|
|
doCheck = false; # needs bcachefs module loaded on builder
|
|
checkFlags = [ "BCACHEFS_TEST_USE_VALGRIND=no" ];
|
|
nativeCheckInputs = [ valgrind ];
|
|
|
|
preCheck = lib.optionalString fuseSupport ''
|
|
rm tests/test_fuse.py
|
|
'';
|
|
|
|
# this symlink is needed for mount -t bcachefs to work
|
|
postFixup = ''
|
|
ln -s $out/bin/mount.bcachefs.sh $out/bin/mount.bcachefs
|
|
wrapProgram $out/bin/mount.bcachefs.sh \
|
|
--prefix PATH : ${lib.makeBinPath [ getopt util-linux ]}
|
|
'';
|
|
|
|
installFlags = [ "PREFIX=${placeholder "out"}" ];
|
|
|
|
passthru.tests = {
|
|
smoke-test = nixosTests.bcachefs;
|
|
inherit (nixosTests.installer) bcachefsSimple bcachefsEncrypted bcachefsMulti;
|
|
};
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
meta = with lib; {
|
|
description = "Tool for managing bcachefs filesystems";
|
|
homepage = "https://bcachefs.org/";
|
|
license = licenses.gpl2;
|
|
maintainers = with maintainers; [ davidak Madouura ];
|
|
platforms = platforms.linux;
|
|
};
|
|
}
|