diff --git a/nix/default.nix b/nix/default.nix index aee52baff74e634345097c5a253d97140ef3ec70..5743fed468252189916d5fa0207ca633c1181aa7 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -10,22 +10,22 @@ let rev = "0f0b14258be090303c5013c2e29234040fa9766c"; sha256 = "0srpsnr5fhn2zp36jx3inj6vrs5n302hh3vv0c7rsc90aq5i27cr"; }) {}; - mk_framac_clang = { name, llvmPackages, llvm } : - plugins.helpers.simple_plugin - { inherit pkgs stdenv src opam2nix ocaml_version plugins name; - deps = [ llvmPackages.clang-unwrapped llvm pkgs.gnused ]; - opamPackages = [ "camlp5" ]; - preFramaCTests = '' - echo CONFIGURING Why3 for Frama_Clang. - export HOME=$(mktemp -d) - why3 config --detect - ''; - } - ; in -(mk_framac_clang { name = "frama-clang-on-llvm-9"; - llvmPackages = unstablePckgs.llvmPackages_9; - llvm = unstablePckgs.llvm_9; }) // - { on-llvm10 = (mk_framac_clang { name = "frama-clang-on-llvm-10"; - llvmPackages = unstablePckgs.llvmPackages_10; - llvm = unstablePckgs.llvm_10; }); } +let frama_clang_build { llvm_version, llvm_package } : +(plugins.helpers.simple_plugin + { inherit pkgs stdenv src opam2nix ocaml_version plugins; + name = "frama-clang-on-llvm-" + llvm_version; + deps = [ llvm_package.clang-unwrapped llvm_package pkgs.gnused ]; + opamPackages = [ "camlp5" ]; + preFramaCTests = '' + echo CONFIGURING Why3 for Frama_Clang. + export HOME=$(mktemp -d) + why3 config --detect + ''; + }); +in +(frama_clang_build { llvm_version="9"; llvm_package = unstablePckgs.llvm_9 }) +// +{ on-llvm10 = + (frama_clang_build + { llvm_version="10"; llvm_package = unstablePckgs.llvm_10});}