#!/usr/bin/env bash version= gitArgs= while [ "$#" -gt 0 ]; do i="$1" shift 1 case "$i" in --version|-v) version="$1" shift 1 ;; --git-args) gitArgs="$gitArgs $1" shift 1 ;; *) echo "$0: unknown option \`$i'" exit 1 ;; esac done # Create a working environment CWD=$(pwd) TMP=$(mktemp -d) cd "$TMP" # Fetch the latest source or the required version gitUrl="https://github.com/demarches-simplifiees/demarches-simplifiees.fr.git" if [ -n "$version" ]; then git clone --depth 1 --branch $version $gitUrl . echo "[+] ds-fr version:" echo "- $version" else git clone --depth 1 $gitUrl . echo "[+] ds-fr version:" echo "- $(git rev-parse HEAD)" fi # Generate gemset.nix echo "[+] Updating gem files" nix-shell -p bundix --run "bundix -l" > /dev/null # Copy the new files cp gemset.nix Gemfile Gemfile.lock "$CWD/rubyEnv/" # Print the new source details echo "[+] New hash:" SRC_HASH=$(nix-shell -p nurl --run "nurl --hash $gitUrl $version") # Print Yarn deps hash echo "[+] New dependencies hash:" hash=$(nix-shell -p prefetch-yarn-deps --run "prefetch-yarn-deps yarn.lock") DEPS_HASH=$(nix-hash --to-sri --type sha256 "$hash") cat < "$CWD/meta.nix" { version = "$version"; src-hash = "$SRC_HASH"; deps-hash = "$DEPS_HASH"; } EOF rm -rf "$TMP"