summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorBobby Rong <rjl931189261@126.com>2021-07-29 11:18:17 +0800
committerBobby Rong <rjl931189261@126.com>2021-09-18 19:33:38 +0800
commit5523634193c79ccb3861e517cea5c7f31ed41397 (patch)
treea4668b3cac301662d693ad53382de3f6964401fc /pkgs
parentde73ad2567a4f445ea46b30b51ab86aa191e92e3 (diff)
downloadnixpkgs-5523634193c79ccb3861e517cea5c7f31ed41397.tar
nixpkgs-5523634193c79ccb3861e517cea5c7f31ed41397.tar.gz
nixpkgs-5523634193c79ccb3861e517cea5c7f31ed41397.tar.bz2
nixpkgs-5523634193c79ccb3861e517cea5c7f31ed41397.tar.lz
nixpkgs-5523634193c79ccb3861e517cea5c7f31ed41397.tar.xz
nixpkgs-5523634193c79ccb3861e517cea5c7f31ed41397.tar.zst
nixpkgs-5523634193c79ccb3861e517cea5c7f31ed41397.zip
pantheon.elementary-mail: 6.0.0 -> 6.1.1
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-mail/default.nix11
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-mail/revert-fix-warning.patch55
2 files changed, 64 insertions, 2 deletions
diff --git a/pkgs/desktops/pantheon/apps/elementary-mail/default.nix b/pkgs/desktops/pantheon/apps/elementary-mail/default.nix
index c990ecb24d6..88c9b983b45 100644
--- a/pkgs/desktops/pantheon/apps/elementary-mail/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-mail/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , pantheon
 , pkg-config
@@ -25,7 +26,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-mail";
-  version = "6.0.0";
+  version = "6.1.1";
 
   repoName = "mail";
 
@@ -33,7 +34,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "07iiipl0nsp63g5bn1y2hg6bmgj6i9cxqcfpd7q3vmldnkijvaxs";
+    sha256 = "15ai0x9236pjx76m0756nyc1by78v0lg1dgdiifk868krdvipzzx";
   };
 
   passthru = {
@@ -42,6 +43,12 @@ stdenv.mkDerivation rec {
     };
   };
 
+  patches = [
+    # The app stuck when loading gravatar, temporarily reverts part
+    # of https://github.com/elementary/mail/pull/600 to fix this
+    ./revert-fix-warning.patch
+  ];
+
   nativeBuildInputs = [
     appstream
     desktop-file-utils
diff --git a/pkgs/desktops/pantheon/apps/elementary-mail/revert-fix-warning.patch b/pkgs/desktops/pantheon/apps/elementary-mail/revert-fix-warning.patch
new file mode 100644
index 00000000000..85534aaf4c6
--- /dev/null
+++ b/pkgs/desktops/pantheon/apps/elementary-mail/revert-fix-warning.patch
@@ -0,0 +1,55 @@
+From 9e61e9493e78b83b9599886561ee596c096030ed Mon Sep 17 00:00:00 2001
+From: Bobby Rong <rjl931189261@126.com>
+Date: Thu, 29 Jul 2021 13:57:21 +0800
+Subject: [PATCH] Partly revert "Fix Warnings in Vala Code (#600)"
+
+This partly reverts commit 9477c24201d3c9c3c7bcc650e0290daa0ee1ab21.
+---
+ src/MessageList/MessageListItem.vala | 27 ++++++++++++++++++++++++++-
+ 1 file changed, 26 insertions(+), 1 deletion(-)
+
+diff --git a/src/MessageList/MessageListItem.vala b/src/MessageList/MessageListItem.vala
+index 96b61027..a7ef8f9e 100644
+--- a/src/MessageList/MessageListItem.vala
++++ b/src/MessageList/MessageListItem.vala
+@@ -290,7 +290,7 @@ public class Mail.MessageListItem : Gtk.ListBoxRow {
+         expanded = false;
+         show_all ();
+ 
+-        avatar.set_loadable_icon (new GravatarIcon (parsed_address, get_style_context ().get_scale ()));
++        download_gravatar.begin (parsed_address, avatar.size);
+ 
+         /* Override default handler to stop event propagation. Otherwise clicking the menu will
+            expand or collapse the MessageListItem. */
+@@ -348,6 +348,31 @@ public class Mail.MessageListItem : Gtk.ListBoxRow {
+         });
+     }
+ 
++    private async void download_gravatar (string address, int size) {
++        if (avatars[address] == null) {
++            var uri = "https://secure.gravatar.com/avatar/%s?d=404&s=%d".printf (
++                Checksum.compute_for_string (ChecksumType.MD5, address.strip ().down ()),
++                size * get_style_context ().get_scale ()
++            );
++
++            var server_file = File.new_for_uri (uri);
++            var path = Path.build_filename (Environment.get_tmp_dir (), server_file.get_basename ());
++            var local_file = File.new_for_path (path);
++
++            try {
++                yield server_file.copy_async (local_file, FileCopyFlags.OVERWRITE, Priority.DEFAULT, null);
++                avatars[address] = new Gdk.Pixbuf.from_file_at_scale (path, size, size, true);
++            } catch (Error e) {
++                debug ("Unable to fetch gravatar: %s", e.message);
++                return;
++            }
++        }
++
++        avatar.set_image_load_func (() => {
++            return avatars[address];
++        });
++    }
++
+     private void add_inline_composer (ComposerWidget.Type composer_type) {
+         var message_list_box = (MessageListBox) get_parent ();
+         message_list_box.add_inline_composer.begin (composer_type, this);