summaryrefslogtreecommitdiff
path: root/rust-src
diff options
context:
space:
mode:
authorDaniel Hill <daniel@gluo.nz>2022-11-25 12:47:29 +1300
committerDaniel Hill <daniel@gluo.nz>2023-01-03 16:58:55 +1300
commit9a44c6d4d020035f25baf74b1f7986b3221a274e (patch)
tree5d40fc996aa15176c9f75e45fc738200f25eb27a /rust-src
parent9d6040c8b60d10f901141df9d739005f3fe0326e (diff)
nix: overhaul build system.
Removed outdated overlay. Simply build tooling using bingenHook and propagated*Inputs Signed-off-by: Daniel Hill <daniel@gluo.nz>
Diffstat (limited to 'rust-src')
-rw-r--r--rust-src/bch_bindgen/default.nix83
-rw-r--r--rust-src/mount/default.nix46
2 files changed, 44 insertions, 85 deletions
diff --git a/rust-src/bch_bindgen/default.nix b/rust-src/bch_bindgen/default.nix
index f6053d56..b7ad502a 100644
--- a/rust-src/bch_bindgen/default.nix
+++ b/rust-src/bch_bindgen/default.nix
@@ -4,73 +4,46 @@
, llvmPackages
, bcachefs
, pkg-config
-
, udev
, liburcu
, zstd
, keyutils
, libaio
-
-, lz4 # liblz4
+, lz4 # liblz4
, libsodium
, libuuid
-, zlib # zlib1g
+, 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"; };
+}:
+let
+ 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; };
+
+ propagatedNativeBuildInputs = [ rustPlatform.bindgenHook ];
- cargoLock = { lockFile = ./Cargo.lock; };
+ propagatedBuildInputs = [
+ bcachefs.tools
+ ];
- 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}
- '';
+ LIBBCACHEFS_LIB ="${bcachefs.tools}/lib";
+ LIBBCACHEFS_INCLUDE = bcachefs.tools.src;
- postPatch = ''
- cp ${./Cargo.lock} Cargo.lock
- '';
-
+ postPatch = ''
+ cp ${./Cargo.lock} Cargo.lock
+ '';
- doCheck = true;
-
- # NIX_DEBUG = 4;
-} \ No newline at end of file
+ doCheck = true;
+}
diff --git a/rust-src/mount/default.nix b/rust-src/mount/default.nix
index dab7db77..7cc4b956 100644
--- a/rust-src/mount/default.nix
+++ b/rust-src/mount/default.nix
@@ -1,41 +1,27 @@
{ lib
-
, stdenv
, glibc
+, udev
, llvmPackages
, rustPlatform
-
-, bcachefs
-
+, binary
, ...
}: rustPlatform.buildRustPackage ( let
- cargo = lib.trivial.importTOML ./Cargo.toml;
+ 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";
+ pname = "mount.bcachefs";
+ version = cargo.package.version;
+
+ src = builtins.path { path = ../.; name = "rust-src"; };
+ sourceRoot = "rust-src/mount";
+
+ cargoLock = { lockFile = ./Cargo.lock; };
- cargoLock = { lockFile = ./Cargo.lock; };
+ nativeBuildInputs = [ binary rustPlatform.bindgenHook ];
+ buildInputs = [ binary ];
- 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}";
+ LIBBCACHEFS_LIB ="${binary}/lib";
+ LIBBCACHEFS_INCLUDE = binary.src;
- doCheck = false;
-
- # NIX_DEBUG = 4;
-}) \ No newline at end of file
+ doCheck = false;
+})