Commit be596a5a authored by Matt Moriarity's avatar Matt Moriarity
Browse files

beeper: add update script

parent f99e5f03
Loading
Loading
Loading
Loading
+27 −3
Original line number Diff line number Diff line
{ lib, fetchurl, mkDerivation, appimageTools, libsecret, makeWrapper }:
{ lib
, fetchurl
, mkDerivation
, appimageTools
, libsecret
, makeWrapper
, writeShellApplication
, curl
, yq
, common-updater-scripts
}:
let
  pname = "beeper";
  version = "3.71.16";
  name = "${pname}-${version}";
  src = fetchurl {
    url = "https://download.todesktop.com/2003241lzgn20jd/beeper-${version}.AppImage";
    url = "https://download.todesktop.com/2003241lzgn20jd/beeper-3.71.16.AppImage";
    hash = "sha256-Ho5zFmhNzkOmzo/btV+qZfP2GGx5XvV/1JncEKlH4vc=";
  };
  appimage = appimageTools.wrapType2 {
@@ -16,7 +26,7 @@ let
  };
in
mkDerivation rec {
  inherit name pname;
  inherit name pname version;

  src = appimage;

@@ -44,6 +54,20 @@ mkDerivation rec {
    runHook postInstall
  '';

  passthru = {
    updateScript = lib.getExe (writeShellApplication {
      name = "update-beeper";
      runtimeInputs = [ curl yq common-updater-scripts ];
      text = ''
        set -o errexit
        latestLinux="$(curl -s https://download.todesktop.com/2003241lzgn20jd/latest-linux.yml)"
        version="$(echo "$latestLinux" | yq -r .version)"
        filename="$(echo "$latestLinux" | yq -r '.files[] | .url | select(. | endswith(".AppImage"))')"
        update-source-version beeper "$version" "" "https://download.todesktop.com/2003241lzgn20jd/$filename" --source-key=src.src
      '';
    });
  };

  meta = with lib; {
    description = "Universal chat app.";
    longDescription = ''