electron-mail: update script

This commit is contained in:
BatteredBunny
2026-09-22 19:48:21 +03:00
parent 80053abd47
commit efb96ca76b
2 changed files with 31 additions and 3 deletions

View File

@@ -2,7 +2,6 @@
appimageTools,
lib,
fetchurl,
nix-update-script,
stdenvNoCC,
makeWrapper,
_7zz,
@@ -53,6 +52,8 @@ let
meta
;
passthru.updateScript = ./update.sh;
extraInstallCommands = ''
install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
substituteInPlace $out/share/applications/${pname}.desktop \
@@ -64,8 +65,6 @@ let
pkgs.libsecret
pkgs.libappindicator
];
passthru.updateScript = nix-update-script { };
};
darwin = stdenvNoCC.mkDerivation {
@@ -76,6 +75,8 @@ let
meta
;
passthru.updateScript = ./update.sh;
sourceRoot = ".";
nativeBuildInputs = [
_7zz

View File

@@ -0,0 +1,27 @@
#!/usr/bin/env nix-shell
#! nix-shell -I nixpkgs=./. -i bash -p curl gnused jq nix
set -eou pipefail
ROOT="$(dirname "$(readlink -f "$0")")"
latestVersion=$(curl --fail --silent https://api.github.com/repos/vladimiry/ElectronMail/releases/latest | jq --raw-output .tag_name | sed 's/^v//')
currentVersion=$(nix-instantiate --eval -E "with import ./. {}; electron-mail.version" | tr -d '"')
if [[ "$currentVersion" == "$latestVersion" ]]; then
echo "electron-mail is up-to-date: $currentVersion"
exit 0
fi
echo "updating electron-mail: $currentVersion -> $latestVersion"
sed -i "s/version = \".*\"/version = \"${latestVersion}\"/" "$ROOT/package.nix"
APPIMAGE_URL="https://github.com/vladimiry/ElectronMail/releases/download/v${latestVersion}/electron-mail-${latestVersion}-linux-x86_64.AppImage"
APPIMAGE_HASH=$(nix --extra-experimental-features nix-command hash convert --hash-algo sha256 --to sri "$(nix-prefetch-url "$APPIMAGE_URL")")
sed -i "/linux-x86_64\.AppImage/,/hash/{s|hash = \".*\"|hash = \"${APPIMAGE_HASH}\"|}" "$ROOT/package.nix"
DMG_URL="https://github.com/vladimiry/ElectronMail/releases/download/v${latestVersion}/electron-mail-${latestVersion}-mac-arm64.dmg"
DMG_SHA=$(nix --extra-experimental-features nix-command hash convert --hash-algo sha256 --to sri "$(nix-prefetch-url "$DMG_URL")")
sed -i "/mac-arm64\.dmg/,/hash/{s|hash = \".*\"|hash = \"${DMG_SHA}\"|}" "$ROOT/package.nix"