From 33323e4006b5eaaf44d3ed506083f297ba23f7eb Mon Sep 17 00:00:00 2001 From: Matthieu Coudron Date: Fri, 11 Oct 2019 21:45:41 +0900 Subject: [PATCH] node updater improvements - Make it run from anywhere - overwrite old packages only on success to prevent getting into a bad state --- pkgs/development/node-packages/generate.sh | 19 ++++++++++++------- .../node-packages/shell-generate.nix | 9 +++++++++ 2 files changed, 21 insertions(+), 7 deletions(-) create mode 100644 pkgs/development/node-packages/shell-generate.nix diff --git a/pkgs/development/node-packages/generate.sh b/pkgs/development/node-packages/generate.sh index ca6e0628642..3b1626f9afb 100755 --- a/pkgs/development/node-packages/generate.sh +++ b/pkgs/development/node-packages/generate.sh @@ -1,10 +1,15 @@ #!/usr/bin/env nix-shell -#! nix-shell -I nixpkgs=../../.. -i bash -p nodePackages.node2nix -# NOTE: Script must be run from the node-packages directory - +#! nix-shell shell-generate.nix -i bash set -eu -o pipefail -rm -f node-env.nix -node2nix --nodejs-10 -i node-packages-v10.json -o node-packages-v10.nix -c composition-v10.nix -node2nix --nodejs-12 -i node-packages-v12.json -o node-packages-v12.nix -c composition-v12.nix -node2nix --nodejs-13 -i node-packages-v13.json -o node-packages-v13.nix -c composition-v13.nix +cd "$NODE_NIXPKGS_PATH/pkgs/development/node-packages" +rm -f ./node-env.nix +for version in 10 12 13; do + tmpdir=$(mktemp -d) + node2nix --nodejs-$version -i node-packages-v$version.json -o $tmpdir/node-packages-v$version.nix -c $tmpdir/composition-v$version.nix + if [ $? -eq 0 ]; then + mv $tmpdir/node-packages-v$version.nix . + mv $tmpdir/composition-v$version.nix . + fi +done +cd - diff --git a/pkgs/development/node-packages/shell-generate.nix b/pkgs/development/node-packages/shell-generate.nix new file mode 100644 index 00000000000..0ca5d494e56 --- /dev/null +++ b/pkgs/development/node-packages/shell-generate.nix @@ -0,0 +1,9 @@ +{ nixpkgs ? import ../../.. {} }: +with nixpkgs; +mkShell { + buildInputs = [ + bash nodePackages.node2nix + ]; + NODE_NIXPKGS_PATH = toString ./.; +} +