70 lines
1.2 KiB
Bash
Executable file
70 lines
1.2 KiB
Bash
Executable file
#!/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 .
|
|
else
|
|
git clone --depth 1 $gitUrl .
|
|
|
|
version="$(git rev-parse HEAD)"
|
|
fi
|
|
|
|
echo "[+] ds-fr version:"
|
|
echo "- $version"
|
|
|
|
# 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 <<EOF >"$CWD/meta.nix"
|
|
{
|
|
version = "$version";
|
|
src-hash = "$SRC_HASH";
|
|
deps-hash = "$DEPS_HASH";
|
|
}
|
|
EOF
|
|
|
|
rm -rf "$TMP"
|