]> git.sesse.net Git - bcachefs-tools-debian/blob - rust-src/bch_bindgen/default.nix
nix: overhaul build system.
[bcachefs-tools-debian] / rust-src / bch_bindgen / default.nix
1 { lib
2 , stdenv
3 , rustPlatform
4 , llvmPackages
5 , bcachefs
6 , pkg-config
7 , udev
8 , liburcu
9 , zstd
10 , keyutils
11 , libaio
12 , lz4       # liblz4
13 , libsodium
14 , libuuid
15 , zlib       # zlib1g
16 , libscrypt
17 , rustfmt
18 , glibc
19 , ...
20 }:
21 let
22   cargo = lib.trivial.importTOML ./Cargo.toml;
23 in
24 rustPlatform.buildRustPackage {
25   pname = cargo.package.name;
26   version = cargo.package.version;
27
28   src = builtins.path {
29     path = ./.;
30     name = "bch_bindgen";
31   };
32
33   cargoLock = { lockFile = ./Cargo.lock; };
34
35   propagatedNativeBuildInputs = [ rustPlatform.bindgenHook ];
36
37   propagatedBuildInputs = [
38     bcachefs.tools
39   ];
40
41   LIBBCACHEFS_LIB ="${bcachefs.tools}/lib";
42   LIBBCACHEFS_INCLUDE = bcachefs.tools.src;
43
44   postPatch = ''
45     cp ${./Cargo.lock} Cargo.lock
46   '';
47
48   doCheck = true;
49 }