diff options
author | Dan Buch <dan@meatballhat.com> | 2023-09-07 21:46:19 +0000 |
---|---|---|
committer | Dan Buch <dan@meatballhat.com> | 2023-09-27 00:17:14 +0000 |
commit | 3ffce56f46a454bf912a6b7043063f734eef8c21 (patch) | |
tree | aad9a2001377c6a7ce4dfda6530f4bd9b77f8406 | |
parent | 647a8a5b57c49253a56af4a282e98f0c8efaa20d (diff) |
mastodon: generate and read yarn hash from dependencies dir
Co-authored-by: Robert Schütz <github@dotlambda.de>
-rw-r--r-- | pkgs/servers/mastodon/default.nix | 5 | ||||
-rwxr-xr-x | pkgs/servers/mastodon/update.sh | 10 | ||||
-rw-r--r-- | pkgs/servers/mastodon/yarn-hash.nix | 1 |
3 files changed, 12 insertions, 4 deletions
diff --git a/pkgs/servers/mastodon/default.nix b/pkgs/servers/mastodon/default.nix index 1547485a03782..d75e148bf1e36 100644 --- a/pkgs/servers/mastodon/default.nix +++ b/pkgs/servers/mastodon/default.nix @@ -7,7 +7,8 @@ , pname ? "mastodon" , version ? import ./version.nix , srcOverride ? null -, dependenciesDir ? ./. # Should contain gemset.nix, yarn.nix and package.json. +, dependenciesDir ? ./. # Expected to contain gemset.nix +, yarnHash ? import ./yarn-hash.nix }: stdenv.mkDerivation rec { @@ -43,7 +44,7 @@ stdenv.mkDerivation rec { yarnOfflineCache = fetchYarnDeps { yarnLock = "${src}/yarn.lock"; - sha256 = "sha256-e3rl/WuKXaUdeDEYvo1sSubuIwtBjkbguCYdAijwXOA="; + hash = yarnHash; }; nativeBuildInputs = [ fixup_yarn_lock nodejs-slim yarn mastodonGems mastodonGems.wrappedRuby brotli ]; diff --git a/pkgs/servers/mastodon/update.sh b/pkgs/servers/mastodon/update.sh index babc062048510..eafcdd958617c 100755 --- a/pkgs/servers/mastodon/update.sh +++ b/pkgs/servers/mastodon/update.sh @@ -1,5 +1,5 @@ #!/usr/bin/env nix-shell -#! nix-shell -i bash -p yarn2nix bundix coreutils diffutils nix-prefetch-github gnused jq +#! nix-shell -i bash -p bundix coreutils diffutils nix-prefetch-github gnused jq prefetch-yarn-deps set -e OWNER=mastodon @@ -77,7 +77,8 @@ trap cleanup EXIT echo "Fetching source code $REVISION" JSON=$(nix-prefetch-github "$OWNER" "$REPO" --rev "$REVISION" 2> $WORK_DIR/nix-prefetch-git.out) -HASH=$(echo "$JSON" | jq -r .hash) +HASH="$(echo "$JSON" | jq -r .sha256)" +HASH="$(nix hash to-sri --type sha256 "$HASH")" echo "Creating version.nix" echo "\"$VERSION\"" | sed 's/^"v/"/' > version.nix @@ -101,3 +102,8 @@ SOURCE_DIR="$(nix-build --no-out-link -E '(import <nixpkgs> {}).callPackage ./so echo "Creating gemset.nix" bundix --lockfile="$SOURCE_DIR/Gemfile.lock" --gemfile="$SOURCE_DIR/Gemfile" echo "" >> gemset.nix # Create trailing newline to please EditorConfig checks + +echo "Creating yarn-hash.nix" +YARN_HASH="$(prefetch-yarn-deps "$SOURCE_DIR/yarn.lock")" +YARN_HASH="$(nix hash to-sri --type sha256 "$YARN_HASH")" +printf '"%s"\n' "$YARN_HASH" > yarn-hash.nix diff --git a/pkgs/servers/mastodon/yarn-hash.nix b/pkgs/servers/mastodon/yarn-hash.nix new file mode 100644 index 0000000000000..f0e3e8a27af76 --- /dev/null +++ b/pkgs/servers/mastodon/yarn-hash.nix @@ -0,0 +1 @@ +"sha256-e3rl/WuKXaUdeDEYvo1sSubuIwtBjkbguCYdAijwXOA=" |