From efb96ca76bb679dcb3b3b362c6d5cd4b9f5d8d62 Mon Sep 17 00:00:00 2001 From: BatteredBunny Date: Tue, 22 Sep 2026 19:48:21 +0300 Subject: [PATCH] electron-mail: update script --- pkgs/by-name/el/electron-mail/package.nix | 7 +++--- pkgs/by-name/el/electron-mail/update.sh | 27 +++++++++++++++++++++++ 2 files changed, 31 insertions(+), 3 deletions(-) create mode 100755 pkgs/by-name/el/electron-mail/update.sh diff --git a/pkgs/by-name/el/electron-mail/package.nix b/pkgs/by-name/el/electron-mail/package.nix index 793d7bf2064e..06b6b0076704 100644 --- a/pkgs/by-name/el/electron-mail/package.nix +++ b/pkgs/by-name/el/electron-mail/package.nix @@ -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 diff --git a/pkgs/by-name/el/electron-mail/update.sh b/pkgs/by-name/el/electron-mail/update.sh new file mode 100755 index 000000000000..a2c1c4321560 --- /dev/null +++ b/pkgs/by-name/el/electron-mail/update.sh @@ -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"