mastodon: generate and read yarn hash from dependencies dir

Co-authored-by: Robert Schütz <github@dotlambda.de>
This commit is contained in:
Dan Buch 2023-09-07 21:46:19 +00:00
parent 647a8a5b57
commit 3ffce56f46
No known key found for this signature in database
GPG key ID: A12F782281063434
3 changed files with 12 additions and 4 deletions

View file

@ -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 ];

View file

@ -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

View file

@ -0,0 +1 @@
"sha256-e3rl/WuKXaUdeDEYvo1sSubuIwtBjkbguCYdAijwXOA="