settei/pkgs/conduit/default.nix

45 lines
850 B
Nix

{
lib,
stdenv,
fenix,
crane,
src,
libiconv,
rocksdb,
darwin,
rustPlatform,
}:
let
rust =
with fenix;
combine [
stable.cargo
stable.rustc
];
crane' = crane.overrideToolchain rust;
rocksdb' = rocksdb.overrideAttrs (
final: prev: {
version = "8.11.3";
src = prev.src.override {
rev = "v${final.version}";
hash = "sha256-OpEiMwGxZuxb9o3RQuSrwZMQGLhe9xLT1aa3HpI4KPs=";
};
}
);
in
crane'.buildPackage {
inherit src;
strictDeps = true;
nativeBuildInputs = [ rustPlatform.bindgenHook ];
buildInputs = lib.optionals stdenv.isDarwin [
libiconv
darwin.apple_sdk.frameworks.Security
darwin.apple_sdk.frameworks.SystemConfiguration
];
# Use system RocksDB
ROCKSDB_INCLUDE_DIR = "${rocksdb'}/include";
ROCKSDB_LIB_DIR = "${rocksdb'}/lib";
}