1 #!/usr/bin/env nix-shell
2 #!nix-shell -i bash -p curl common-updater-scripts jq nix nodePackages.prettier prefetch-yarn-deps
6 latest_version
=$
(curl
-s https
://api.github.com
/repos
/MicroPad
/Micropad-Electron
/releases
/latest | jq
--raw-output '.tag_name[1:]')
7 old_core_hash
=$
(nix-instantiate
--eval --strict -A "micropad.micropad-core.drvAttrs.outputHash" |
tr -d '"' |
sed -re 's|[+]|\\&|g')
8 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"))
10 nixFile
=$
(nix-instantiate
--eval --strict -A "micropad.meta.position" |
sed -re 's/^"(.*):[0-9]+"$/\1/')
11 nixFolder
=$
(dirname "$nixFile")
13 sed -i "$nixFile" -re "s|\"$old_core_hash\"|\"$new_core_hash\"|"
15 curl
-o "$nixFolder/package.json" -s "https://raw.githubusercontent.com/MicroPad/MicroPad-Electron/v$latest_version/package.json"
16 curl
-o "$nixFolder/yarn.lock" -s "https://raw.githubusercontent.com/MicroPad/MicroPad-Electron/v$latest_version/yarn.lock"
18 prettier
--write "$nixFolder/package.json"
19 old_yarn_hash
=$
(nix-instantiate
--eval --strict -A "micropad.offlineCache.outputHash" |
tr -d '"' |
sed -re 's|[+]|\\&|g')
20 new_yarn_hash
=$
(nix
hash to-sri
--type sha256 $
(prefetch-yarn-deps
"$nixFolder/yarn.lock"))
21 sed -i "$nixFile" -re "s|\"$old_yarn_hash\"|\"$new_yarn_hash\"|"
22 rm "$nixFolder/yarn.lock"
24 update-source-version micropad
"$latest_version"