# Keep sorted { craneLib , inputs , lib , pkgsBuildHost , rocksdb , rust , stdenv }: let env = { CONDUIT_VERSION_EXTRA = inputs.self.shortRev or inputs.self.dirtyShortRev; ROCKSDB_INCLUDE_DIR = "${rocksdb}/include"; ROCKSDB_LIB_DIR = "${rocksdb}/lib"; } // (import ./cross-compilation-env.nix { # Keep sorted inherit lib pkgsBuildHost rust stdenv; }); in craneLib.buildPackage rec { inherit (craneLib.crateNameFromCargoToml { cargoToml = "${inputs.self}/Cargo.toml"; }) pname version; src = let filter = inputs.nix-filter.lib; in filter { root = inputs.self; # Keep sorted include = [ "Cargo.lock" "Cargo.toml" "src" ]; }; # This is redundant with CI doCheck = false; nativeBuildInputs = [ # bindgen needs the build platform's libclang. Apparently due to "splicing # weirdness", pkgs.rustPlatform.bindgenHook on its own doesn't quite do the # right thing here. pkgsBuildHost.rustPlatform.bindgenHook ]; inherit env; passthru = { inherit env; }; meta.mainProgram = pname; }