Fix src for financier

We accidentally used to rely on the src for financier not having been
garbage-collected.
This commit is contained in:
Martin Puppe 2020-09-21 10:42:34 +02:00
parent 25c955aac5
commit 98ab6e58f1
4 changed files with 10 additions and 4 deletions

View file

@ -3,14 +3,12 @@
}, system ? builtins.currentSystem}: }, system ? builtins.currentSystem}:
let let
meta = import ./meta.nix;
derivations = import ./node2nix.nix { derivations = import ./node2nix.nix {
inherit pkgs system; inherit pkgs system;
}; };
in in
derivations // { derivations // {
package = derivations.package.overrideAttrs (oldAttrs: rec { package = derivations.package.overrideAttrs (oldAttrs: rec {
src = pkgs.fetchgit { inherit (meta) url rev sha256; };
# Puppeteer (a dependency for testing) would try to download Chromium # Puppeteer (a dependency for testing) would try to download Chromium
# during installation. Downloading Chromium would not work though because # during installation. Downloading Chromium would not work though because
# Nix builds are sandboxed and cannot download arbitrary things. We # Nix builds are sandboxed and cannot download arbitrary things. We

View file

@ -2,4 +2,8 @@ node2nix "-$FINCANCIER_NODE_VERSION" --development \
--input "$FINANCIER_SRC/package.json" \ --input "$FINANCIER_SRC/package.json" \
--lock "$FINANCIER_SRC/package-lock.json" \ --lock "$FINANCIER_SRC/package-lock.json" \
--supplement-input supplement.json \ --supplement-input supplement.json \
--composition node2nix.nix --composition node2nix.nix
# Fix the src attribute for the financier package
pattern='\(\s*\).*'$(echo $FINANCIER_SRC | sed 's/\//\\\//g')'.*'
sed -i "s/$pattern/\1src = (import .\/helpers.nix).fetchFinancier { inherit fetchgit; };/" node-packages.nix

4
helpers.nix Normal file
View file

@ -0,0 +1,4 @@
{
fetchFinancier = { fetchgit, meta ? import ./meta.nix }:
fetchgit { inherit (meta) url rev sha256; };
}

View file

@ -1,7 +1,7 @@
{ pkgs ? import <nixpkgs> {} }: { pkgs ? import <nixpkgs> {} }:
let let
meta = import ./meta.nix; meta = import ./meta.nix;
src = pkgs.fetchgit { inherit (meta) url rev sha256; }; src = (import ./helpers.nix).fetchFinancier { inherit (pkgs) fetchgit; inherit meta; };
in in
pkgs.mkShell { pkgs.mkShell {
shellHook = '' shellHook = ''