mirror of
https://github.com/koverstreet/bcachefs-tools.git
synced 2025-02-02 00:00:03 +03:00
f5baaf48e3
This moves the Rust sources out of rust_src/ and into the top level. Running the bcachefs executable out of the development tree is now: $ ./target/release/bcachefs command or $ cargo run --profile release -- command instead of "./bcachefs command". Building and installing is still: $ make && make install Signed-off-by: Thomas Bertschinger <tahbertschinger@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
60 lines
1.4 KiB
Nix
60 lines
1.4 KiB
Nix
{ lib, stdenv, pkg-config, attr, libuuid, libsodium, keyutils, liburcu, zlib
|
|
, libaio, udev, zstd, lz4, nix-gitignore, rustPlatform, rustc, cargo, fuse3
|
|
, fuseSupport ? false, }:
|
|
let
|
|
src = nix-gitignore.gitignoreSource [ ] ./.;
|
|
|
|
commit = lib.strings.substring 0 7 (builtins.readFile ./.bcachefs_revision);
|
|
version = "git-${commit}";
|
|
in stdenv.mkDerivation {
|
|
inherit src version;
|
|
|
|
pname = "bcachefs-tools";
|
|
|
|
nativeBuildInputs = [
|
|
pkg-config
|
|
cargo
|
|
rustc
|
|
rustPlatform.cargoSetupHook
|
|
rustPlatform.bindgenHook
|
|
];
|
|
|
|
buildInputs = [
|
|
libaio
|
|
keyutils # libkeyutils
|
|
lz4 # liblz4
|
|
|
|
libsodium
|
|
liburcu
|
|
libuuid
|
|
zstd # libzstd
|
|
zlib # zlib1g
|
|
attr
|
|
udev
|
|
] ++ lib.optional fuseSupport fuse3;
|
|
|
|
BCACHEFS_FUSE = if fuseSupport then "1" else "";
|
|
|
|
cargoRoot = ".";
|
|
# when git-based crates are updated, run:
|
|
# nix run github:Mic92/nix-update -- --version=skip --flake default
|
|
# to update the hashes
|
|
cargoDeps = rustPlatform.importCargoLock {
|
|
lockFile = "${src}/Cargo.lock";
|
|
outputHashes = {
|
|
"bindgen-0.64.0" = "sha256-GNG8as33HLRYJGYe0nw6qBzq86aHiGonyynEM7gaEE4=";
|
|
};
|
|
};
|
|
|
|
makeFlags = [ "DESTDIR=${placeholder "out"}" "PREFIX=" "VERSION=${commit}" ];
|
|
|
|
dontStrip = true;
|
|
checkPhase = "./bcachefs version";
|
|
doCheck = true;
|
|
|
|
meta = {
|
|
mainProgram = "bcachefs";
|
|
license = lib.licenses.gpl2Only;
|
|
};
|
|
}
|