]> git.sesse.net Git - bcachefs-tools-debian/blob - build.nix
nix fix up! Rust now integrated into bcachefs binary
[bcachefs-tools-debian] / build.nix
1 { lib
2 , stdenv
3 , pkg-config
4 , attr
5 , libuuid
6 , libsodium
7 , keyutils
8 , liburcu
9 , zlib
10 , libaio
11 , udev
12 , zstd
13 , lz4
14 , nix-gitignore
15 , rustPlatform
16  }:
17
18 let
19   src = nix-gitignore.gitignoreSource [] ./. ;
20
21   commit = lib.strings.substring 0 7 (builtins.readFile ./.bcachefs_revision);
22   version = "git-${commit}";
23
24 in stdenv.mkDerivation {
25   inherit src version;
26
27   pname = "bcachefs-tools";
28
29   nativeBuildInputs = [
30     pkg-config
31     rustPlatform.cargoSetupHook
32     rustPlatform.rust.cargo
33     rustPlatform.rust.rustc
34     rustPlatform.bindgenHook
35   ];
36
37   buildInputs = [
38     libaio
39     keyutils # libkeyutils
40     lz4 # liblz4
41
42     libsodium
43     liburcu
44     libuuid
45     zstd # libzstd
46     zlib # zlib1g
47     attr
48     udev
49   ];
50
51   cargoRoot = "rust-src";
52   cargoDeps = rustPlatform.importCargoLock {
53     lockFile = "${src}/rust-src/Cargo.lock";
54   };
55
56   makeFlags = [
57     "PREFIX=${placeholder "out"}"
58     "VERSION=${commit}"
59   ];
60
61   dontStrip = true;
62   checkPhase = "./bcachefs version";
63   doCheck = true;
64 }