summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--flake.nix21
1 files changed, 20 insertions, 1 deletions
diff --git a/flake.nix b/flake.nix
index f6a5f04e..f77bd23b 100644
--- a/flake.nix
+++ b/flake.nix
@@ -30,11 +30,29 @@
};
buildInputs = [ ocamlPackages.calendar ];
};
+
+ aeneas-check-tidiness = pkgs.stdenv.mkDerivation {
+ name = "aeneas-check-tidiness";
+ src = ./compiler;
+ buildInputs = [
+ ocamlPackages.dune_3
+ ocamlPackages.ocaml
+ ocamlPackages.ocamlformat
+ ];
+ buildPhase = ''
+ if ! dune build @fmt; then
+ echo 'ERROR: Code is not formatted. Run `make format` to format the project files'.
+ exit 1
+ fi
+ '';
+ installPhase = "touch $out";
+ };
aeneas = ocamlPackages.buildDunePackage {
pname = "aeneas";
version = "0.1.0";
duneVersion = "3";
src = ./compiler;
+ OCAMLPARAM="_,warn-error=+A"; # Turn all warnings into errors.
propagatedBuildInputs = [
easy_logging charon.packages.${system}.charon-ml
] ++ (with ocamlPackages; [
@@ -167,6 +185,7 @@
inherit aeneas aeneas-tests
aeneas-verify-fstar
aeneas-verify-coq
- aeneas-verify-hol4; };
+ aeneas-verify-hol4
+ aeneas-check-tidiness; };
});
}