@ -14,15 +14,13 @@
} :
let
env =
buildD epsOnlyE nv =
let
rocksdb' = rocksdb . override {
enableJemalloc = builtins . elem " j e m a l l o c " features ;
} ;
in
{
CONDUIT_VERSION_EXTRA =
inputs . self . shortRev or inputs . self . dirtyShortRev ;
ROCKSDB_INCLUDE_DIR = " ${ rocksdb' } / i n c l u d e " ;
ROCKSDB_LIB_DIR = " ${ rocksdb' } / l i b " ;
}
@ -35,26 +33,45 @@ let
rust
stdenv ;
} ) ;
in
craneLib . buildPackage rec {
inherit
( craneLib . crateNameFromCargoToml {
cargoToml = " ${ inputs . self } / C a r g o . t o m l " ;
} )
pname
version ;
buildPackageEnv = {
CONDUIT_VERSION_EXTRA = inputs . self . shortRev or inputs . self . dirtyShortRev ;
} // buildDepsOnlyEnv ;
commonAttrs = {
inherit
( craneLib . crateNameFromCargoToml {
cargoToml = " ${ inputs . self } / C a r g o . t o m l " ;
} )
pname
version ;
src = let filter = inputs . nix-filter . lib ; in filter {
root = inputs . self ;
src = let filter = inputs . nix-filter . lib ; in filter {
root = inputs . self ;
# Keep sorted
include = [
" C a r g o . l o c k "
" C a r g o . t o m l "
" s r c "
# Keep sorted
include = [
" C a r g o . l o c k "
" C a r g o . t o m l "
" s r c "
] ;
} ;
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
] ;
CARGO_PROFILE = profile ;
} ;
in
craneLib . buildPackage ( commonAttrs // {
cargoArtifacts = craneLib . buildDepsOnly ( commonAttrs // {
env = buildDepsOnlyEnv ;
} ) ;
cargoExtraArgs = " - - l o c k e d "
+ lib . optionalString
@ -67,20 +84,11 @@ craneLib.buildPackage rec {
# 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
] ;
CARGO_PROFILE = profile ;
inherit env ;
env = buildPackageEnv ;
passthru = {
inherit e nv;
env = buildPackageEnv ;
} ;
meta . mainProgram = pname;
}
meta . mainProgram = commonAttrs . pname ;
} )