micropad: use fetchYarnDeps

This commit is contained in:
Rhys Davies 2023-09-07 13:59:14 +12:00
parent 037a0529fd
commit f4450f90f4
4 changed files with 12 additions and 3757 deletions

View file

@ -1,6 +1,7 @@
{ lib { lib
, stdenv , stdenv
, fetchFromGitHub , fetchFromGitHub
, fetchYarnDeps
, fetchzip , fetchzip
, makeWrapper , makeWrapper
, makeDesktopItem , makeDesktopItem
@ -29,8 +30,11 @@ in
}; };
packageJSON = ./package.json; packageJSON = ./package.json;
yarnLock = ./yarn.lock;
yarnNix = ./yarn.nix; offlineCache = fetchYarnDeps {
yarnLock = "${src}/yarn.lock";
hash = "sha256-3p+fTyei6THZIYbxg30ybr1r+PxbLyO0ypt+bP5P9QM=";
};
nativeBuildInputs = [ copyDesktopItems makeWrapper ] nativeBuildInputs = [ copyDesktopItems makeWrapper ]
++ lib.optionals stdenv.isDarwin [ desktopToDarwinBundle ]; ++ lib.optionals stdenv.isDarwin [ desktopToDarwinBundle ];

View file

@ -1,17 +1,11 @@
#!/usr/bin/env nix-shell #!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl common-updater-scripts jq nix nodePackages.prettier yarn2nix #!nix-shell -i bash -p curl common-updater-scripts jq nix nodePackages.prettier prefetch-yarn-deps
set -eu -o pipefail set -eu -o pipefail
latest_version=$(curl -s https://api.github.com/repos/MicroPad/Micropad-Electron/releases/latest | jq --raw-output '.tag_name[1:]') latest_version=$(curl -s https://api.github.com/repos/MicroPad/Micropad-Electron/releases/latest | jq --raw-output '.tag_name[1:]')
old_core_hash=$(nix-instantiate --eval --strict -A "micropad.micropad-core.drvAttrs.outputHash" | tr -d '"' | sed -re 's|[+]|\\&|g') old_core_hash=$(nix-instantiate --eval --strict -A "micropad.micropad-core.drvAttrs.outputHash" | tr -d '"' | sed -re 's|[+]|\\&|g')
new_core_hash=$(nix hash to-sri --type sha256 $(nix-prefetch-url --unpack "https://github.com/MicroPad/MicroPad-Core/releases/download/v$latest_version/micropad.tar.xz"))
{
read new_core_hash
read store_path
} < <(
nix-prefetch-url --unpack --print-path "https://github.com/MicroPad/MicroPad-Core/releases/download/v$latest_version/micropad.tar.xz"
)
nixFile=$(nix-instantiate --eval --strict -A "micropad.meta.position" | sed -re 's/^"(.*):[0-9]+"$/\1/') nixFile=$(nix-instantiate --eval --strict -A "micropad.meta.position" | sed -re 's/^"(.*):[0-9]+"$/\1/')
nixFolder=$(dirname "$nixFile") nixFolder=$(dirname "$nixFile")
@ -22,6 +16,9 @@ curl -o "$nixFolder/package.json" -s "https://raw.githubusercontent.com/MicroPad
curl -o "$nixFolder/yarn.lock" -s "https://raw.githubusercontent.com/MicroPad/MicroPad-Electron/v$latest_version/yarn.lock" curl -o "$nixFolder/yarn.lock" -s "https://raw.githubusercontent.com/MicroPad/MicroPad-Electron/v$latest_version/yarn.lock"
prettier --write "$nixFolder/package.json" prettier --write "$nixFolder/package.json"
yarn2nix --lockfile "$nixFolder/yarn.lock" >"$nixFolder/yarn.nix" old_yarn_hash=$(nix-instantiate --eval --strict -A "micropad.offlineCache.outputHash" | tr -d '"' | sed -re 's|[+]|\\&|g')
new_yarn_hash=$(nix hash to-sri --type sha256 $(prefetch-yarn-deps "$nixFolder/yarn.lock"))
sed -i "$nixFile" -re "s|\"$old_yarn_hash\"|\"$new_yarn_hash\"|"
rm "$nixFolder/yarn.lock"
update-source-version micropad "$latest_version" update-source-version micropad "$latest_version"

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff