mirror of
https://github.com/koverstreet/bcachefs-tools.git
synced 2025-02-23 00:00:02 +03:00
add mount and bch-bindgen nix builder file
update kernel diffHash
This commit is contained in:
parent
26d6b3464a
commit
7e97ef59bd
@ -14,12 +14,15 @@ final: prev: {
|
||||
debugMode = true;
|
||||
};
|
||||
|
||||
bch_bindgen = final.callPackage ../rust-src/bch_bindgen {};
|
||||
|
||||
mount = final.callPackage ../rust-src/mount {};
|
||||
|
||||
kernelPackages = final.recurseIntoAttrs (final.linuxPackagesFor final.bcachefs.kernel);
|
||||
kernel = final.callPackage ./bcachefs-kernel.nix {
|
||||
commit = final.bcachefs.tools.bcachefs_revision;
|
||||
# This needs to be recalculated for every revision change
|
||||
diffHash = "sha256-JrVRkEO7DKUTf+qhjWPwfbF3a/Qbd8me7oGay4aae3k=";
|
||||
diffHash = "sha256-XSA0dBZZL8RXplgjpoLOFSULM8t/0Ztz8xlhLn9hdyw=";
|
||||
kernelPatches = [];
|
||||
};
|
||||
};
|
||||
|
76
rust-src/bch_bindgen/default.nix
Normal file
76
rust-src/bch_bindgen/default.nix
Normal file
@ -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;
|
||||
}
|
41
rust-src/mount/default.nix
Normal file
41
rust-src/mount/default.nix
Normal file
@ -0,0 +1,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;
|
||||
|
||||
preFixup = ''
|
||||
ln $out/bin/mount-bcachefs $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;
|
||||
})
|
Loading…
Reference in New Issue
Block a user