diff --git a/pkgs/applications/networking/mailreaders/ayatana-webmail/default.nix b/pkgs/applications/networking/mailreaders/ayatana-webmail/default.nix new file mode 100644 index 000000000000..14be9ab4f3d6 --- /dev/null +++ b/pkgs/applications/networking/mailreaders/ayatana-webmail/default.nix @@ -0,0 +1,90 @@ +{ lib +, fetchFromGitHub +, gettext +, gtk3 +, python3Packages +, gdk-pixbuf +, libnotify +, glib +, gobject-introspection +, wrapGAppsHook +# BTW libappindicator is also supported, but upstream recommends their +# implementation, see: +# https://github.com/AyatanaIndicators/ayatana-webmail/issues/24#issuecomment-1050352862 +, libayatana-appindicator +, gsettings-desktop-schemas +, libcanberra-gtk3 +}: + +python3Packages.buildPythonApplication rec { + pname = "ayatana-webmail"; + version = "22.12.15"; + + src = fetchFromGitHub { + owner = "AyatanaIndicators"; + repo = "ayatana-webmail"; + rev = version; + hash = "sha256-K2jqCWrY1i1wYdZVpjN/3TcVyWariOQQ4slZf6sEPRU="; + }; + postConfigure = '' + # Fix fhs paths + substituteInPlace \ + ayatanawebmail/accounts.py \ + ayatanawebmail/actions.py \ + ayatanawebmail/dialog.py \ + --replace /usr/share $out/share + ''; + + buildInputs = [ + gtk3 + gdk-pixbuf + glib + libnotify + gettext + libayatana-appindicator + gsettings-desktop-schemas + ]; + + nativeBuildInputs = [ + gobject-introspection + wrapGAppsHook + glib # For compiling gsettings-schemas + ]; + + propagatedBuildInputs = with python3Packages; [ + urllib3 + babel + psutil + secretstorage + polib + pygobject3 + dbus-python + ]; + + # No tests, and they cause a failure + doCheck = false; + + postInstall = '' + # Fix fhs paths + mv $out/${python3Packages.python.sitePackages}/etc $out + mv $out/${python3Packages.python.sitePackages}/usr/{bin,share} $out/ + rmdir $out/${python3Packages.python.sitePackages}/usr + # Compile gsettings desktop schemas + glib-compile-schemas $out/share/glib-2.0/schemas + ''; + + # See https://nixos.org/nixpkgs/manual/#ssec-gnome-common-issues-double-wrapped + dontWrapGApps = true; + preFixup = '' + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") + makeWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ libcanberra-gtk3 ]}) + ''; + + meta = with lib; { + description = "Webmail notifications and actions for any desktop"; + homepage = "https://github.com/AyatanaIndicators/ayatana-webmail"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ doronbehar ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d9e4b88db37f..d0d62614a22e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20036,6 +20036,8 @@ with pkgs; ayatana-ido = callPackage ../development/libraries/ayatana-ido { }; + ayatana-webmail = callPackage ../applications/networking/mailreaders/ayatana-webmail { }; + babl = callPackage ../development/libraries/babl { }; backward-cpp = callPackage ../development/libraries/backward-cpp { };