]> git.sesse.net Git - bcachefs-tools-debian/blob - build.nix
nix: replace deprecated cargo/rustc aliases with new version
[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 , rustc
17 , cargo
18  }:
19
20 let
21   src = nix-gitignore.gitignoreSource [] ./. ;
22
23   commit = lib.strings.substring 0 7 (builtins.readFile ./.bcachefs_revision);
24   version = "git-${commit}";
25
26 in stdenv.mkDerivation {
27   inherit src version;
28
29   pname = "bcachefs-tools";
30
31   nativeBuildInputs = [
32     pkg-config
33     cargo
34     rustc
35     rustPlatform.cargoSetupHook
36     rustPlatform.bindgenHook
37   ];
38
39   buildInputs = [
40     libaio
41     keyutils # libkeyutils
42     lz4 # liblz4
43
44     libsodium
45     liburcu
46     libuuid
47     zstd # libzstd
48     zlib # zlib1g
49     attr
50     udev
51   ];
52
53   cargoRoot = "rust-src";
54   cargoDeps = rustPlatform.importCargoLock {
55     lockFile = "${src}/rust-src/Cargo.lock";
56     outputHashes = {
57       "bindgen-0.64.0" = "sha256-GNG8as33HLRYJGYe0nw6qBzq86aHiGonyynEM7gaEE4=";
58     };
59   };
60
61   makeFlags = [
62     "PREFIX=${placeholder "out"}"
63     "VERSION=${commit}"
64   ];
65
66   dontStrip = true;
67   checkPhase = "./bcachefs version";
68   doCheck = true;
69 }