diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2017-07-19 07:52:55 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2017-07-19 08:11:36 +0000 |
commit | 688b78a0f21a874500fe15039e1605f6dbd3c725 (patch) | |
tree | d9dac7a0059dc2f7dec79601b0a2549024470b58 /unmaintained/geary | |
parent | e3586a1e221047f8b61cfa63eec6f2fc681a1bbb (diff) | |
download | aports-688b78a0f21a874500fe15039e1605f6dbd3c725.tar.bz2 aports-688b78a0f21a874500fe15039e1605f6dbd3c725.tar.xz |
unmaintained/geary: move from testing
Diffstat (limited to 'unmaintained/geary')
-rw-r--r-- | unmaintained/geary/APKBUILD | 53 | ||||
-rw-r--r-- | unmaintained/geary/fix-build-with-new-vala.patch | 55 | ||||
-rw-r--r-- | unmaintained/geary/fix-compilation-with-valac-git-master.patch | 145 | ||||
-rw-r--r-- | unmaintained/geary/int-fixes.patch | 29 |
4 files changed, 282 insertions, 0 deletions
diff --git a/unmaintained/geary/APKBUILD b/unmaintained/geary/APKBUILD new file mode 100644 index 0000000000..fb0f244b6c --- /dev/null +++ b/unmaintained/geary/APKBUILD @@ -0,0 +1,53 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=geary +pkgver=0.11.3 +pkgrel=0 +pkgdesc="A lightweight email program designed around conversations" +url="http://yorba.org/geary/" +arch="all !ppc64le !s390x" +license="LGPLv2+" +depends="hicolor-icon-theme gsettings-desktop-schemas" +depends_dev="" +makedepends="$depends_dev" +makedepends="$depends_dev cmake vala gtk+3.0-dev gmime-dev libgee-dev + desktop-file-utils libunique3-dev libcanberra-dev libsecret-dev + webkitgtk-dev libnotify-dev gobject-introspection-dev gtk-doc + paxmark gcr-dev" + +install="" +subpackages="$pkgname-lang" +source="https://download.gnome.org/sources/geary/${pkgver%.*}/geary-$pkgver.tar.xz + fix-compilation-with-valac-git-master.patch + fix-build-with-new-vala.patch + int-fixes.patch + " + +builddir="$srcdir"/geary-$pkgver + +build() { + cd "$builddir" + mkdir build && cd build + cmake .. \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release \ + -DGSETTINGS_COMPILE=OFF \ + -DGSETTINGS_COMPILE_IN_PLACE=OFF \ + -DICON_UPDATE=OFF \ + -DDESKTOP_UPDATE=OFF \ + || return 1 + make || return 1 +} + +package() { + cd "$builddir"/build + make DESTDIR="$pkgdir" install || return 1 + + # webkit JIT has problems with hardened kernel + paxmark -m "$pkgdir"/usr/bin/geary || return 1 + +} + +sha512sums="dee389384b6bab25f939f0f40525670c27e3687cdfdfbc0c5632ccb2e9e189be3902aedb4fb37affb67c8b149e40ff78e41efbf8a754d76dcd405c8295be0d4b geary-0.11.3.tar.xz +6b04c90ed6fa25fdb2593c679606be573663f349591038e2313208c64c6dd4b572fe2ebc7fd9d5742e8833f607b993d45d247a64b13efc1bb2a37fca671ec488 fix-compilation-with-valac-git-master.patch +a5bbe5bd97f6d10d6444fe34e406e45e8500f5d039a913746978b678ae6fb351f76299121bc14d00a971c34066a2a7419444aed0c1da38ba13de882db1e1394a fix-build-with-new-vala.patch +87dc83c44d41668ab51e7c12bf041cf915f8148f6831f59cf149dfd6b13ffb1c62bd1df6b7d00d20129efdd56244329f07cd05344fef78c7c29212aef3561fe1 int-fixes.patch" diff --git a/unmaintained/geary/fix-build-with-new-vala.patch b/unmaintained/geary/fix-build-with-new-vala.patch new file mode 100644 index 0000000000..a2e8967933 --- /dev/null +++ b/unmaintained/geary/fix-build-with-new-vala.patch @@ -0,0 +1,55 @@ +From d34f0e7bb001297d6e9771fc7f8533779d7a9345 Mon Sep 17 00:00:00 2001 +From: Rico Tzschichholz <ricotz@ubuntu.com> +Date: Sun, 26 Feb 2017 19:00:31 +0100 +Subject: [PATCH] Fix build with new vala + +https://bugzilla.gnome.org/show_bug.cgi?id=779264 +--- + src/client/accounts/account-dialog-account-list-pane.vala | 4 ++++ + src/client/conversation-list/conversation-list-store.vala | 8 ++++++++ + 2 files changed, 12 insertions(+) + +diff --git a/src/client/accounts/account-dialog-account-list-pane.vala b/src/client/accounts/account-dialog-account-list-pane.vala +index e96b7ad..bc500dc 100644 +--- a/src/client/accounts/account-dialog-account-list-pane.vala ++++ b/src/client/accounts/account-dialog-account-list-pane.vala +@@ -160,7 +160,11 @@ public class AccountDialogAccountListPane : AccountDialogPane { + if (iter == null) + return; + ++#if VALA_0_36 ++ list_model.remove(ref iter); ++#else + list_model.remove(iter); ++#endif + } + + private void on_account_changed(Object object, ParamSpec p) { +diff --git a/src/client/conversation-list/conversation-list-store.vala b/src/client/conversation-list/conversation-list-store.vala +index 851713d..81e2fdb 100644 +--- a/src/client/conversation-list/conversation-list-store.vala ++++ b/src/client/conversation-list/conversation-list-store.vala +@@ -307,7 +307,11 @@ public class ConversationListStore : Gtk.ListStore { + if (last_email == null) { + debug("Cannot refresh conversation: last email is null"); + ++#if VALA_0_36 ++ remove(ref iter); ++#else + remove(iter); ++#endif + return; + } + +@@ -379,7 +383,11 @@ public class ConversationListStore : Gtk.ListStore { + private void remove_conversation(Geary.App.Conversation conversation) { + Gtk.TreeIter iter; + if (get_iter_for_conversation(conversation, out iter)) ++#if VALA_0_36 ++ remove(ref iter); ++#else + remove(iter); ++#endif + + row_map.remove(conversation); + } diff --git a/unmaintained/geary/fix-compilation-with-valac-git-master.patch b/unmaintained/geary/fix-compilation-with-valac-git-master.patch new file mode 100644 index 0000000000..f18d59feab --- /dev/null +++ b/unmaintained/geary/fix-compilation-with-valac-git-master.patch @@ -0,0 +1,145 @@ +From 5a0b85e58639f5a9b9e2a1aa6b1882da6b2e6648 Mon Sep 17 00:00:00 2001 +From: Michael James Gratton <mike@vee.net> +Date: Tue, 4 Oct 2016 00:06:54 +1100 +Subject: [PATCH] Fix compilation with valac git master. + +--- + src/engine/imap-db/imap-db-folder.vala | 16 ++++++++-------- + src/engine/imap-engine/imap-engine-generic-account.vala | 4 ++-- + src/engine/imap-engine/imap-engine-minimal-folder.vala | 5 +++-- + .../imap-engine/replay-ops/imap-engine-mark-email.vala | 8 ++++---- + src/engine/imap/response/imap-fetch-data-decoder.vala | 2 +- + 5 files changed, 18 insertions(+), 17 deletions(-) + +diff --git a/src/engine/imap-db/imap-db-folder.vala b/src/engine/imap-db/imap-db-folder.vala +index 81e963a..b3e02e8 100644 +--- a/src/engine/imap-db/imap-db-folder.vala ++++ b/src/engine/imap-db/imap-db-folder.vala +@@ -870,10 +870,10 @@ private class Geary.ImapDB.Folder : BaseObject, Geary.ReferenceSemantics { + if (unread_status.size > 0) + unread_updated(unread_status); + } +- +- public async Gee.Map<ImapDB.EmailIdentifier, Geary.EmailFlags>? get_email_flags_async( +- Gee.Collection<ImapDB.EmailIdentifier> ids, Cancellable? cancellable) throws Error { +- Gee.Map<ImapDB.EmailIdentifier, Geary.EmailFlags>? map = null; ++ ++ internal async Gee.Map<ImapDB.EmailIdentifier, Geary.EmailFlags>? get_email_flags_async( ++ Gee.Collection<EmailIdentifier> ids, Cancellable? cancellable) throws Error { ++ Gee.Map<EmailIdentifier, Geary.EmailFlags>? map = null; + yield db.exec_transaction_async(Db.TransactionType.RO, (cx, cancellable) => { + map = do_get_email_flags(cx, ids, cancellable); + +@@ -1085,11 +1085,11 @@ private class Geary.ImapDB.Folder : BaseObject, Geary.ReferenceSemantics { + if (ids.size == 0) + return null; + +- Gee.HashMap<Geary.EmailIdentifier, Geary.Email.Field> map = new Gee.HashMap< +- Geary.EmailIdentifier, Geary.Email.Field>(); ++ Gee.HashMap<ImapDB.EmailIdentifier,Geary.Email.Field> map = new Gee.HashMap< ++ ImapDB.EmailIdentifier,Geary.Email.Field>(); + + // Break up the work +- Gee.List<ImapDB.EmailIdentifier> list = new Gee.ArrayList<Geary.EmailIdentifier>(); ++ Gee.List<ImapDB.EmailIdentifier> list = new Gee.ArrayList<ImapDB.EmailIdentifier>(); + Gee.Iterator<ImapDB.EmailIdentifier> iter = ids.iterator(); + while (iter.next()) { + list.add(iter.get()); +@@ -1576,7 +1576,7 @@ private class Geary.ImapDB.Folder : BaseObject, Geary.ReferenceSemantics { + Db.Statement fetch_stmt = cx.prepare("SELECT flags FROM MessageTable WHERE id=?"); + + Gee.Map<ImapDB.EmailIdentifier, Geary.EmailFlags> map = new Gee.HashMap< +- Geary.EmailIdentifier, Geary.EmailFlags>(); ++ ImapDB.EmailIdentifier, Geary.EmailFlags>(); + // TODO: Unroll this loop + foreach (LocationIdentifier location in locs) { + fetch_stmt.reset(Db.ResetScope.CLEAR_BINDINGS); +diff --git a/src/engine/imap-engine/imap-engine-generic-account.vala b/src/engine/imap-engine/imap-engine-generic-account.vala +index 16e04da..afcd9f0 100644 +--- a/src/engine/imap-engine/imap-engine-generic-account.vala ++++ b/src/engine/imap-engine/imap-engine-generic-account.vala +@@ -807,7 +807,7 @@ private abstract class Geary.ImapEngine.GenericAccount : Geary.Account { + + // If path in local but not remote (and isn't local-only, i.e. the Outbox), need to remove it + Gee.ArrayList<Geary.Folder> to_remove +- = Geary.traverse<Gee.Map.Entry<FolderPath, Imap.Folder>>(existing_folders) ++ = Geary.traverse<Gee.Map.Entry<FolderPath,Geary.Folder>>(existing_folders) + .filter(e => !remote_folders.has_key(e.key) && !local_only.has_key(e.key)) + .map<Geary.Folder>(e => (Geary.Folder) e.value) + .to_array_list(); +@@ -834,7 +834,7 @@ private abstract class Geary.ImapEngine.GenericAccount : Geary.Account { + debug("Unable to fetch local folder after cloning: %s", convert_err.message); + } + } +- Gee.Collection<MinimalFolder> engine_added = new Gee.ArrayList<Geary.Folder>(); ++ Gee.Collection<MinimalFolder> engine_added = new Gee.ArrayList<MinimalFolder>(); + engine_added.add_all(build_folders(folders_to_build)); + + Gee.ArrayList<Geary.Folder> engine_removed = new Gee.ArrayList<Geary.Folder>(); +diff --git a/src/engine/imap-engine/imap-engine-minimal-folder.vala b/src/engine/imap-engine/imap-engine-minimal-folder.vala +index 09486f4..c1a8d99 100644 +--- a/src/engine/imap-engine/imap-engine-minimal-folder.vala ++++ b/src/engine/imap-engine/imap-engine-minimal-folder.vala +@@ -1412,8 +1412,9 @@ private class Geary.ImapEngine.MinimalFolder : Geary.Folder, Geary.FolderSupport + Geary.EmailFlags? flags_to_add, Geary.EmailFlags? flags_to_remove, + Cancellable? cancellable = null) throws Error { + check_open("mark_email_async"); +- +- MarkEmail mark = new MarkEmail(this, to_mark, flags_to_add, flags_to_remove, cancellable); ++ check_ids("mark_email_async", to_mark); ++ ++ MarkEmail mark = new MarkEmail(this, (Gee.List<ImapDB.EmailIdentifier>) to_mark, flags_to_add, flags_to_remove, cancellable); + replay_queue.schedule(mark); + + yield mark.wait_for_ready_async(cancellable); +diff --git a/src/engine/imap-engine/replay-ops/imap-engine-mark-email.vala b/src/engine/imap-engine/replay-ops/imap-engine-mark-email.vala +index 21968c8..4f326d2 100644 +--- a/src/engine/imap-engine/replay-ops/imap-engine-mark-email.vala ++++ b/src/engine/imap-engine/replay-ops/imap-engine-mark-email.vala +@@ -6,13 +6,13 @@ + + private class Geary.ImapEngine.MarkEmail : Geary.ImapEngine.SendReplayOperation { + private MinimalFolder engine; +- private Gee.List<Geary.EmailIdentifier> to_mark = new Gee.ArrayList<Geary.EmailIdentifier>(); ++ private Gee.List<ImapDB.EmailIdentifier> to_mark = new Gee.ArrayList<ImapDB.EmailIdentifier>(); + private Geary.EmailFlags? flags_to_add; + private Geary.EmailFlags? flags_to_remove; + private Gee.Map<ImapDB.EmailIdentifier, Geary.EmailFlags>? original_flags = null; + private Cancellable? cancellable; + +- public MarkEmail(MinimalFolder engine, Gee.List<Geary.EmailIdentifier> to_mark, ++ public MarkEmail(MinimalFolder engine, Gee.List<ImapDB.EmailIdentifier> to_mark, + Geary.EmailFlags? flags_to_add, Geary.EmailFlags? flags_to_remove, + Cancellable? cancellable = null) { + base("MarkEmail", OnError.RETRY); +@@ -28,7 +28,7 @@ private class Geary.ImapEngine.MarkEmail : Geary.ImapEngine.SendReplayOperation + public override void notify_remote_removed_ids(Gee.Collection<ImapDB.EmailIdentifier> ids) { + // don't bother updating on server or backing out locally + if (original_flags != null) +- Collection.map_unset_all_keys<ImapDB.EmailIdentifier, Geary.EmailFlags>(original_flags, ids); ++ Collection.map_unset_all_keys<EmailIdentifier, Geary.EmailFlags>(original_flags, ids); + } + + public override void get_ids_to_be_remote_removed(Gee.Collection<ImapDB.EmailIdentifier> ids) { +@@ -50,7 +50,7 @@ private class Geary.ImapEngine.MarkEmail : Geary.ImapEngine.SendReplayOperation + cancellable); + + // Notify using flags from DB. +- Gee.Map<Geary.EmailIdentifier, Geary.EmailFlags>? map = yield engine.local_folder.get_email_flags_async( ++ Gee.Map<EmailIdentifier, Geary.EmailFlags>? map = yield engine.local_folder.get_email_flags_async( + original_flags.keys, cancellable); + if (map != null && map.size > 0) + engine.replay_notify_email_flags_changed(map); +diff --git a/src/engine/imap/response/imap-fetch-data-decoder.vala b/src/engine/imap/response/imap-fetch-data-decoder.vala +index ed94ed3..5464111 100644 +--- a/src/engine/imap/response/imap-fetch-data-decoder.vala ++++ b/src/engine/imap/response/imap-fetch-data-decoder.vala +@@ -95,7 +95,7 @@ public class Geary.Imap.MessageFlagsDecoder : Geary.Imap.FetchDataDecoder { + } + + protected override MessageData decode_list(ListParameter listp) throws ImapError { +- Gee.List<Flag> flags = new Gee.ArrayList<Flag>(); ++ Gee.List<MessageFlag> flags = new Gee.ArrayList<MessageFlag>(); + for (int ctr = 0; ctr < listp.size; ctr++) + flags.add(new MessageFlag(listp.get_as_string(ctr).ascii)); + diff --git a/unmaintained/geary/int-fixes.patch b/unmaintained/geary/int-fixes.patch new file mode 100644 index 0000000000..762a78e4af --- /dev/null +++ b/unmaintained/geary/int-fixes.patch @@ -0,0 +1,29 @@ +diff --git a/src/client/util/util-date.vala b/src/client/util/util-date.vala +index 57cd1fc..a1ec7e9 100644 +--- a/src/client/util/util-date.vala ++++ b/src/client/util/util-date.vala +@@ -164,7 +164,7 @@ private string pretty_print_coarse(CoarseDate coarse_date, ClockFormat clock_for + return _("Now"); + + case CoarseDate.MINUTES: +- return ngettext("%dm ago", "%dm ago", (ulong) (diff / TimeSpan.MINUTE)).printf(diff / TimeSpan.MINUTE); ++ return ngettext("%dm ago", "%dm ago", (ulong) (diff / TimeSpan.MINUTE)).printf((int) (diff / TimeSpan.MINUTE)); + + case CoarseDate.HOURS: + int rounded = (int) Math.round((double) diff / TimeSpan.HOUR); +diff --git a/src/client/components/conversation-find-bar.vala b/src/client/components/conversation-find-bar.vala +index a625896..093e52c 100644 +--- a/src/client/components/conversation-find-bar.vala ++++ b/src/client/components/conversation-find-bar.vala +@@ -211,9 +211,9 @@ public class ConversationFindBar : Gtk.Layout { + + if (matches > 0) { + if (!wrapped) +- content += ngettext("%i match", "%i matches", matches).printf(matches); ++ content += ngettext("%i match", "%ui matches", matches).printf(matches); + else +- content += ngettext("%i match (wrapped)", "%i matches (wrapped)", matches).printf(matches); ++ content += ngettext("%i match (wrapped)", "%ui matches (wrapped)", matches).printf(matches); + } else { + content += _("not found"); + } |