diff options
Diffstat (limited to 'pkgs/applications/office/morgen/default.nix')
-rw-r--r-- | pkgs/applications/office/morgen/default.nix | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/pkgs/applications/office/morgen/default.nix b/pkgs/applications/office/morgen/default.nix new file mode 100644 index 0000000000000..bfe72a7115a4a --- /dev/null +++ b/pkgs/applications/office/morgen/default.nix @@ -0,0 +1,59 @@ +{ lib, stdenv, fetchurl, dpkg, autoPatchelfHook, makeWrapper, electron +, nodePackages, alsa-lib, gtk3, libxshmfence, mesa, nss }: + +stdenv.mkDerivation rec { + pname = "morgen"; + version = "2.4.3"; + + src = fetchurl { + url = "https://download.todesktop.com/210203cqcj00tw1/morgen-${version}.deb"; + sha256 = "sha256-IWGeb0+IiFNYJ+jQAzGYfQ5FnrbR6HIpynS9jgd5/mY="; + }; + + nativeBuildInputs = [ + dpkg + autoPatchelfHook + makeWrapper + nodePackages.asar + ]; + + buildInputs = [ alsa-lib gtk3 libxshmfence mesa nss ]; + + dontBuild = true; + dontConfigure = true; + + unpackCmd = '' + dpkg-deb -x ${src} ./morgen-${pname} + ''; + + installPhase = '' + runHook preInstall + + mv usr $out + mv opt $out + + asar extract $out/opt/Morgen/resources/app.asar "$TMP/work" + # 1. Fixes path for todesktop-runtime-config.json + # 2. Fixes startup script + substituteInPlace $TMP/work/dist/main.js \ + --replace "process.resourcesPath,\"todesktop-runtime-config.json" "\"$out/opt/Morgen/resources/todesktop-runtime-config.json" \ + --replace "Exec=\"+process.execPath+\"" "Exec=$out/bin/morgen" + asar pack --unpack='{*.node,*.ftz,rect-overlay}' "$TMP/work" $out/opt/Morgen/resources/app.asar + + substituteInPlace $out/share/applications/morgen.desktop \ + --replace '/opt/Morgen' $out/bin + + makeWrapper ${electron}/bin/electron $out/bin/morgen \ + --add-flags $out/opt/Morgen/resources/app.asar + + runHook postInstall + ''; + + meta = with lib; { + description = "All-in-one Calendars, Tasks and Scheduler"; + homepage = "https://morgen.so/download"; + license = licenses.unfree; + maintainers = with maintainers; [ wolfangaukang ]; + platforms = [ "x86_64-linux" ]; + }; +} |