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;
|
debugMode = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
bch_bindgen = final.callPackage ../rust-src/bch_bindgen {};
|
||||||
|
|
||||||
mount = final.callPackage ../rust-src/mount {};
|
mount = final.callPackage ../rust-src/mount {};
|
||||||
|
|
||||||
kernelPackages = final.recurseIntoAttrs (final.linuxPackagesFor final.bcachefs.kernel);
|
kernelPackages = final.recurseIntoAttrs (final.linuxPackagesFor final.bcachefs.kernel);
|
||||||
kernel = final.callPackage ./bcachefs-kernel.nix {
|
kernel = final.callPackage ./bcachefs-kernel.nix {
|
||||||
commit = final.bcachefs.tools.bcachefs_revision;
|
commit = final.bcachefs.tools.bcachefs_revision;
|
||||||
# This needs to be recalculated for every revision change
|
# This needs to be recalculated for every revision change
|
||||||
diffHash = "sha256-JrVRkEO7DKUTf+qhjWPwfbF3a/Qbd8me7oGay4aae3k=";
|
diffHash = "sha256-XSA0dBZZL8RXplgjpoLOFSULM8t/0Ztz8xlhLn9hdyw=";
|
||||||
kernelPatches = [];
|
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