diff options
author | Kayla Firestack <dev@kaylafire.me> | 2021-10-18 12:34:12 -0400 |
---|---|---|
committer | Kayla Firestack <dev@kaylafire.me> | 2021-10-18 12:34:12 -0400 |
commit | 7e97ef59bd30154776417748b6518ec43a3db2b9 (patch) | |
tree | c954e5256112e909f2d1ce4157590397bee19a3b /rust-src/bch_bindgen | |
parent | 26d6b3464a71e79454b42a088c49d5e767a0fe45 (diff) |
add mount and bch-bindgen nix builder file
update kernel diffHash
Diffstat (limited to 'rust-src/bch_bindgen')
-rw-r--r-- | rust-src/bch_bindgen/default.nix | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/rust-src/bch_bindgen/default.nix b/rust-src/bch_bindgen/default.nix new file mode 100644 index 00000000..f6053d56 --- /dev/null +++ b/rust-src/bch_bindgen/default.nix @@ -0,0 +1,76 @@ +{ lib +, stdenv +, rustPlatform +, llvmPackages +, bcachefs +, pkg-config + +, udev +, liburcu +, zstd +, keyutils +, libaio + +, lz4 # liblz4 +, libsodium +, libuuid +, zlib # zlib1g +, libscrypt + +, rustfmt + +, glibc +, ... +}: let + include = { + glibc = "${glibc.dev}/include"; + clang = let libc = llvmPackages.libclang; in + "${libc.lib}/lib/clang/${libc.version}/include"; + urcu = "${liburcu}/include"; + zstd = "${zstd.dev}/include"; + }; + cargo = lib.trivial.importTOML ./Cargo.toml; +in rustPlatform.buildRustPackage { + pname = cargo.package.name; + version = cargo.package.version; + + src = builtins.path { path = ./.; name = "bch_bindgen"; }; + + cargoLock = { lockFile = ./Cargo.lock; }; + + nativeBuildInputs = [ rustfmt pkg-config ]; + buildInputs = [ + + # libaio + keyutils # libkeyutils + lz4 # liblz4 + libsodium + liburcu + libuuid + zstd # libzstd + zlib # zlib1g + udev + libscrypt + libaio + ]; + + LIBBCACHEFS_LIB ="${bcachefs.tools}/lib"; + LIBBCACHEFS_INCLUDE = bcachefs.tools.src; + LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib"; + BINDGEN_EXTRA_CLANG_ARGS = lib.replaceStrings ["\n" "\t"] [" " ""] '' + -std=gnu99 + -I${include.glibc} + -I${include.clang} + -I${include.urcu} + -I${include.zstd} + ''; + + postPatch = '' + cp ${./Cargo.lock} Cargo.lock + ''; + + + doCheck = true; + + # NIX_DEBUG = 4; +}
\ No newline at end of file |