diff --git a/nix/default.nix b/nix/default.nix index f876508f282d19d2e57ec1edd8660aac857d463d..e6b4407e808a5362913d3aff0b844a0a15d2f403 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -2,8 +2,12 @@ { pkgs, stdenv, src ? ../., opam2nix, ocaml_version ? "ocamlPackages_latest.ocaml", plugins ? { } }: +let old_pkgs = pkgs; in + let frama_clang_build = - { llvm_version, + { pkgs?old_pkgs, + stdenv?pkgs.stdenv, + llvm_version, llvm?pkgs.${"llvm_"+llvm_version}, llvm_package?pkgs.${"llvmPackages_"+llvm_version} } : @@ -19,6 +23,16 @@ let frama_clang_build = ''; }); in +let newer_nix = pkgs.fetchFromGitHub { + owner = "nixos"; + repo = "nixpkgs"; + rev = "bb46a6eb7c6a0faf08263e0564c51910bfbd83c7"; + sha256 = "15w1321wbm3vpk4qmj6d9pz3y522c0q32gkccj82c3fandb9ppj6"; + fetchSubmodules = true; +}; +in +let new_pkgs = import newer_nix {}; +in (frama_clang_build { llvm_version="9"; }) // { on-llvm10 = (frama_clang_build { llvm_version="10"; });} -// { on-llvm11 = (frama_clang_build { llvm_version="11"; });} +// { on-llvm11 = (frama_clang_build { pkgs = new_pkgs; llvm_version="11";});}