about summary refs log tree commit diff
path: root/pkgs/profpatsch
diff options
context:
space:
mode:
authorProfpatsch <mail@profpatsch.de>2021-11-20 19:26:07 +0100
committerProfpatsch <mail@profpatsch.de>2021-11-20 19:26:58 +0100
commit1eee24d8d8201b2dd4a2295a7d49b30a6f6f1fb7 (patch)
treec89d7ab58601908804a61ab5721d267f8393e543 /pkgs/profpatsch
parent428925151d2b6345dc8e394c582f77b3eeb2c3cd (diff)
pkgs/profpatsch: replace nixpkgs version in fetched tvl repo
We don’t want any builtins.fetchgit stuff from random domains,
hopefully this will fix the current eval error.
Diffstat (limited to 'pkgs/profpatsch')
-rw-r--r--pkgs/profpatsch/default.nix34
1 files changed, 29 insertions, 5 deletions
diff --git a/pkgs/profpatsch/default.nix b/pkgs/profpatsch/default.nix
index 269eef0b..86c9a6ec 100644
--- a/pkgs/profpatsch/default.nix
+++ b/pkgs/profpatsch/default.nix
@@ -101,13 +101,37 @@ let
 
   writeExeclineFns = callPackage ./execline/write-execline.nix {};
 
+  # Fetch the tvl source at commit, and replac the nixpkgs version it depends
+  # on with the given nixpkgsPath.
+  tvlSrc = { tvlCommit, tvlSha256, nixpkgsPath }:
+    let
+      bins = getBins pkgs.gawk [ "gawk" ]
+          // getBins pkgs.coreutils [ "cp" ];
+      gawkScript = ''
+        /stableNixpkgs =/ { sub("stableNixpkgsSrc", "${nixpkgsPath}"); print }
+        !/stableNixpkgs =/ { print }
+      '';
+      src = pkgs.fetchgit {
+        url = "https://code.tvl.fyi/depot.git";
+        rev = tvlCommit; # 2021-11-13
+        sha256 = tvlSha256;
+      };
+      prepareSource = runExeclineFns.runExeclineLocal "prepare-tvl" {} [
+        "importas" "out" "out"
+        "if" [ bins.cp "--no-preserve=mode" "-r" src "$out" ]
+        bins.gawk "-i" "inplace" gawkScript "\${out}/third_party/nixpkgs/default.nix"
+      ];
+    in prepareSource;
+
 
 in rec {
-  tvl = import (pkgs.fetchgit {
-    url = "https://code.tvl.fyi/depot.git";
-    rev = "e2fbc10ebdb5d85813fd15c5dd371ee8e1e87a22"; # 2021-11-13
-    sha256 = "14hrzx31a7bas64n8rz89388nwfhmy77l5s85g82vvzd5fxg61by";
-  }) {};
+  tvl =
+    import (tvlSrc {
+      tvlCommit = "e2fbc10ebdb5d85813fd15c5dd371ee8e1e87a22"; # 2021-11-13
+      tvlSha256 = "14hrzx31a7bas64n8rz89388nwfhmy77l5s85g82vvzd5fxg61by";
+      nixpkgsPath = import ../../nixpkgs-path.nix;
+    }) {};
+
 
   inherit (nixperiments)
     # canonical pattern matching primitive