tutanota-desktop: install from release tarball (#140921)

main
P 3 years ago committed by GitHub
parent 690d9ab908
commit 91f13a5581
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 58
      pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix

@ -1,28 +1,54 @@
{ lib, fetchurl, appimageTools }:
{ stdenv, lib, fetchurl, makeDesktopItem, copyDesktopItems, makeWrapper,
electron, libsecret }:
let
stdenv.mkDerivation rec {
pname = "tutanota-desktop";
version = "3.88.4";
name = "tutanota-desktop-${version}";
src = fetchurl {
url = "https://mail.tutanota.com/desktop/tutanota-desktop-linux.AppImage";
name = "tutanota-desktop-${version}.AppImage";
sha256 = "sha256-MwvH6SGZwcvxAr5olklqKTF2p2pv8+F5qwpmwN3uZkc=";
url = "https://github.com/tutao/tutanota/releases/download/tutanota-release-${version}/${pname}-${version}-unpacked-linux.tar.gz";
name = "tutanota-desktop-${version}.tar.gz";
sha256 = "sha256-UOb63+NfW6mHKaj3PDEzvz5hcmJBIISq02rtwgSZMjo=";
};
appimageContents = appimageTools.extractType2 { inherit name src; };
in appimageTools.wrapType2 {
inherit name src;
nativeBuildInputs = [
copyDesktopItems
makeWrapper
];
dontConfigure = true;
dontBuild = true;
desktopItems = makeDesktopItem {
name = pname;
exec = "tutanota-desktop";
icon = "tutanota-desktop";
comment = meta.description;
desktopName = "Tutanota Desktop";
genericName = "Email Reader";
};
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/opt/tutanota-desktop $out/share/tutanota-desktop
cp -r ./ $out/opt/tutanota-desktop
mv $out/opt/tutanota-desktop/{locales,resources} $out/share/tutanota-desktop
extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs) ++ [ pkgs.libsecret ];
for icon_size in 64 512; do
icon=resources/icons/icon/$icon_size.png
path=$out/share/icons/hicolor/$icon_size'x'$icon_size/apps/tutanota-desktop.png
install -Dm644 $icon $path
done
extraInstallCommands = ''
mv $out/bin/${name} $out/bin/${pname}
makeWrapper ${electron}/bin/electron \
$out/bin/tutanota-desktop \
--add-flags $out/share/tutanota-desktop/resources/app.asar \
--run "mkdir /tmp/tutanota" \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libsecret ]}
install -m 444 -D ${appimageContents}/tutanota-desktop.desktop -t $out/share/applications
substituteInPlace $out/share/applications/tutanota-desktop.desktop \
--replace 'Exec=AppRun' 'Exec=${pname}'
cp -r ${appimageContents}/usr/share/icons $out/share
runHook postInstall
'';
meta = with lib; {

Loading…
Cancel
Save