python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / tools / filesystems / bcachefs-tools / default.nix
blob4e52a1d9e5673e7e543a4d61e52bc3cb82acb0b6
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , pkg-config
5 , docutils
6 , libuuid
7 , libscrypt
8 , libsodium
9 , keyutils
10 , liburcu
11 , zlib
12 , libaio
13 , zstd
14 , lz4
15 , python3Packages
16 , udev
17 , valgrind
18 , nixosTests
19 , fuse3
20 , fuseSupport ? false
23 stdenv.mkDerivation {
24   pname = "bcachefs-tools";
25   version = "unstable-2022-09-28";
27   src = fetchFromGitHub {
28     owner = "koverstreet";
29     repo = "bcachefs-tools";
30     rev = "99caca2c70f312c4a2504a7e7a9c92a91426d885";
31     sha256 = "sha256-9bFTBFkQq8SvhYa9K4+MH2zvKZviNaq0sFWoeGgch7g=";
32   };
34   postPatch = ''
35     patchShebangs .
36     substituteInPlace Makefile \
37       --replace "pytest-3" "pytest --verbose" \
38       --replace "INITRAMFS_DIR=/etc/initramfs-tools" \
39                 "INITRAMFS_DIR=${placeholder "out"}/etc/initramfs-tools"
40   '';
42   nativeBuildInputs = [ pkg-config docutils python3Packages.python ];
44   buildInputs = [
45     libuuid libscrypt libsodium keyutils liburcu zlib libaio
46     zstd lz4 python3Packages.pytest udev valgrind
47   ] ++ lib.optional fuseSupport fuse3;
49   doCheck = false; # needs bcachefs module loaded on builder
50   checkFlags = [ "BCACHEFS_TEST_USE_VALGRIND=no" ];
51   checkInputs = [ valgrind ];
53   preCheck = lib.optionalString fuseSupport ''
54     rm tests/test_fuse.py
55   '';
57   installFlags = [ "PREFIX=${placeholder "out"}" ];
59   passthru.tests = {
60     smoke-test = nixosTests.bcachefs;
61     inherit (nixosTests.installer) bcachefsSimple bcachefsEncrypted bcachefsMulti;
62   };
64   enableParallelBuilding = true;
66   meta = with lib; {
67     description = "Tool for managing bcachefs filesystems";
68     homepage = "https://bcachefs.org/";
69     license = licenses.gpl2;
70     maintainers = with maintainers; [ davidak Madouura ];
71     platforms = platforms.linux;
72   };