{ pkgs ? import { } }: with pkgs; let jasmin-src = fetchFromGitHub { owner = "jasmin-lang"; repo = "jasmin"; rev = "c2adabafb8df0a60e7cf4e56041d3be3aca387a3"; hash = "sha256-ySw4eVbuV7suO8EjyaMOTqeNsPq1D6vsorCZlXffTPU="; }; 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 = fetchzip { url = "https://github.com/formosa-crypto/libjade/releases/download/release%2F2023.05-2/libjade-dist-src-amd64.tar.gz"; hash = "sha256-IWLMWExvdZ++V3a9zX0a9xjSDgOA98h3sSmLOj8hKPE="; }; in stdenv.mkDerivation { name = "x25519-agent"; src = nix-gitignore.gitignoreSource [ ] ./.; nativeBuildInputs = [ gnumake gcc jasmin ]; configurePhase = '' mkdir build ''; installPhase = '' mkdir -p $out/lib cp build/libagent.a $out/lib ''; JASMINPATH = "Jade=${libjade}/libjade/"; }