From cb9adf728ccccb24ac6b873dce3b17f33c49dfc4 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Tue, 16 Jul 2024 18:16:23 +0200 Subject: [PATCH] Add a dev shell --- flake.nix | 47 ++++++++++++++++++++++++++++++----------------- 1 file changed, 30 insertions(+), 17 deletions(-) diff --git a/flake.nix b/flake.nix index 433908416..bca103803 100644 --- a/flake.nix +++ b/flake.nix @@ -43,10 +43,27 @@ rev = "v3.10.3"; sha256 = "EBzwaHyDWF8h/z3Zfq4p/n5Vpz7Ozlc3eoWDKXWv2YY="; }; + + tools-environment = { + CHARON_HOME = inputs.charon.packages.${system}.default; + EURYDICE_HOME = pkgs.runCommand "eurydice-home" { } '' + mkdir -p $out + cp -r ${inputs.eurydice.packages.${system}.default}/bin/eurydice $out + cp -r ${inputs.eurydice}/include $out + ''; + FSTAR_HOME = inputs.fstar.packages.${system}.default; + KRML_HOME = inputs.karamel.packages.${system}.default.home; + + CHARON_REV = inputs.charon.rev; + EURYDICE_REV = inputs.eurydice.rev; + KRML_REV = inputs.karamel.rev; + FSTAR_REV = inputs.fstar.rev; + }; + craneLib = inputs.crane.mkLib pkgs; src = ./.; cargoArtifacts = craneLib.buildDepsOnly { inherit src; }; - ml-kem = craneLib.buildPackage { + ml-kem = craneLib.buildPackage (tools-environment // { name = "ml-kem"; inherit src cargoArtifacts; @@ -80,26 +97,22 @@ cd ./.. cp -r . $out ''; - - CHARON_HOME = inputs.charon.packages.${system}.default; - EURYDICE_HOME = pkgs.runCommand "eurydice-home" { } '' - mkdir -p $out - cp -r ${inputs.eurydice.packages.${system}.default}/bin/eurydice $out - cp -r ${inputs.eurydice}/include $out - ''; - FSTAR_HOME = inputs.fstar.packages.${system}.default; - KRML_HOME = inputs.karamel.packages.${system}.default.home; - - CHARON_REV = inputs.charon.rev; - EURYDICE_REV = inputs.eurydice.rev; - KRML_REV = inputs.karamel.rev; - FSTAR_REV = inputs.fstar.rev; - }; + }); in - { + rec { packages = { inherit ml-kem; }; + devShells.default = pkgs.mkShell (tools-environment // { + packages = [ + pkgs.clang + inputs.fstar.packages.${system}.default + ]; + + inputsFrom = [ + packages.ml-kem + ]; + }); } ); }