{ stdenv, lib, darwin, rustPlatform, cargo, libiconv, pkg-config, rustc, openssl, libsodium, ... }: let cargoMeta = builtins.fromTOML (builtins.readFile ../pijul/Cargo.toml); inherit (rustPlatform) cargoBuildHook cargoInstallHook cargoSetupHook; in stdenv.mkDerivation { pname = cargoMeta.package.name; version = cargoMeta.package.version; src = let fs = lib.fileset; in fs.toSource { root = ../.; fileset = fs.unions [ ../Cargo.toml ../Cargo.lock ../pijul-macros ../pijul ../libpijul ../pijul-interaction ../pijul-config ../pijul-repository ../pijul-identity ../pijul-remote ]; }; buildAndTestSubdir = "pijul"; doCheck = true; cargoBuildType = "release"; cargoDeps = rustPlatform.importCargoLock { lockFile = ../Cargo.lock; }; nativeBuildInputs = [ cargo libiconv pkg-config rustc ]; buildInputs = [ libsodium openssl.dev cargoBuildHook cargoInstallHook cargoSetupHook ] ++ lib.optionals (stdenv.isDarwin) [ darwin.apple_sdk.frameworks.SystemConfiguration ]; }