From a9216e198ca9cf68561941e44f678cebe269d913 Mon Sep 17 00:00:00 2001
From: Virgile Prevosto <virgile.prevosto@m4x.org>
Date: Tue, 16 Mar 2021 14:33:18 +0100
Subject: [PATCH] [nix] if using unstable packages, use them for everything,
 including stdenv

Mixing package sources can link to interesting linking issues.
---
 nix/default.nix | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/nix/default.nix b/nix/default.nix
index f876508f..e6b4407e 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";});}
-- 
GitLab