summaryrefslogtreecommitdiff
path: root/rust-src/mount/default.nix
blob: dab7db770f73b3e2bee63ae0fa145ecad7ee8f5e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{ lib

, stdenv
, glibc
, llvmPackages
, rustPlatform

, bcachefs

, ...
}: rustPlatform.buildRustPackage ( let 
	cargo = lib.trivial.importTOML ./Cargo.toml;
in {
	pname = "mount.bcachefs";
	version = cargo.package.version;
	
	src = builtins.path { path = ../.; name = "rust-src"; };
	sourceRoot = "rust-src/mount";

	cargoLock = { lockFile = ./Cargo.lock; };

	nativeBuildInputs = bcachefs.bch_bindgen.nativeBuildInputs;
	buildInputs = bcachefs.bch_bindgen.buildInputs;
	inherit (bcachefs.bch_bindgen)
		LIBBCACHEFS_INCLUDE
		LIBBCACHEFS_LIB
		LIBCLANG_PATH
		BINDGEN_EXTRA_CLANG_ARGS;
	
	postInstall = ''
		ln $out/bin/${cargo.package.name} $out/bin/mount.bcachefs
		ln -s $out/bin $out/sbin
	'';
	# -isystem ${llvmPackages.libclang.lib}/lib/clang/${lib.getVersion llvmPackages.libclang}/include";
	# CFLAGS = "-I${llvmPackages.libclang.lib}/include";
	# LDFLAGS = "-L${libcdev}";

	doCheck = false;
	
	# NIX_DEBUG = 4;
})