{ pkgs ? import { } }: with pkgs; let jasmin-src = fetchFromGitHub { owner = "jasmin-lang"; repo = "jasmin"; rev = "4d42c212b924ad7553c2eab49d337fd128ad629b"; hash = "sha256-Ve9Eezpvi1wynlqQxO4KDSqw13MDXQmR8NjOS3PHWzg="; }; jasmin-drv = callPackage "${jasmin-src}/default.nix" { inherit pkgs; }; jasmin = jasmin-drv.overrideAttrs { name = "jasmin with syscalls"; buildPhase = '' make -C compiler/ CIL make -C compiler/ ''; }; libjade = fetchFromGitHub { owner = "formosa-crypto"; repo = "libjade"; rev = "b0940068243f01dc3c185d166f1450936eec3eed"; hash = "sha256-w71QmJn5TG1cJ+SGXJyjh86uge177uRGSvwgnJXpKYg="; }; in stdenv.mkDerivation { name = "x25519-agent"; src = nix-gitignore.gitignoreSource [ ] ./.; nativeBuildInputs = [ gnumake gcc jasmin libjade ]; configurePhase = '' mkdir build ''; installPhase = '' mkdir -p $out/lib cp build/libagent.a $out/lib ''; JASMINPATH = "Jade=${libjade}/src/"; }