morgen: add updateScript and mainProgram

This commit is contained in:
justanotherariel
2024-01-05 18:13:48 +01:00
parent 852831a9cd
commit c74ab161ff
3 changed files with 33 additions and 4 deletions
+6 -3
View File
@@ -6,8 +6,8 @@ stdenv.mkDerivation rec {
version = "3.0.1";
src = fetchurl {
url = "https://download.todesktop.com/210203cqcj00tw1/morgen-${version}.deb";
sha256 = "sha256-lj+V5mntZzED2ZS62Uwlt/vTXwSuwzXeuEw8y/bA6og=";
url = "https://dl.todesktop.com/210203cqcj00tw1/versions/${version}/linux/deb";
hash = "sha256-lj+V5mntZzED2ZS62Uwlt/vTXwSuwzXeuEw8y/bA6og=";
};
nativeBuildInputs = [
@@ -46,12 +46,15 @@ stdenv.mkDerivation rec {
runHook postInstall
'';
passthru.updateScript = ./update.sh;
meta = with lib; {
description = "All-in-one Calendars, Tasks and Scheduler";
homepage = "https://morgen.so/download";
mainProgram = "morgen";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
maintainers = with maintainers; [ wolfangaukang ];
maintainers = with maintainers; [ justanotherariel wolfangaukang ];
platforms = [ "x86_64-linux" ];
};
}
+26
View File
@@ -0,0 +1,26 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts
set -euo pipefail
# URL to check for the latest version
latestUrl="https://dl.todesktop.com/210203cqcj00tw1/linux/deb/x64"
# Fetch the latest version information
latestInfo=$(curl -sI -X GET $latestUrl | grep -oP 'morgen-\K\d+(\.\d+)*(?=[^\d])')
if [[ -z "$latestInfo" ]]; then
echo "Could not find the latest version number."
exit 1
fi
# Extract the version number
latestVersion=$(echo "$latestInfo" | head -n 1)
echo "Latest version of Morgen is $latestVersion"
# Update the package definition
update-source-version morgen "$latestVersion"
# Fetch and update the hash
nix-prefetch-url --unpack "https://dl.todesktop.com/210203cqcj00tw1/versions/${latestVersion}/linux/deb"
+1 -1
View File
@@ -10985,7 +10985,7 @@ with pkgs;
mole = callPackage ../tools/networking/mole { };
morgen = callPackage ../applications/office/morgen {
electron = electron_25; # blank screen with electron_26
electron = electron_28;
};
mosh = callPackage ../tools/networking/mosh { };