summaryrefslogtreecommitdiff
path: root/gnome-extra
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-03-03 23:42:57 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-03-03 23:42:57 +0000
commit0a648c5255c22a6092b8de20ffba9e235299a293 (patch)
tree01fafea2ab39f38cb8c44abd9644eb49615a5520 /gnome-extra
parent9b39c5fa703e6f57558ea8a2ca68a5a0bfce1edd (diff)
gentoo auto-resync : 03:03:2024 - 23:42:57
Diffstat (limited to 'gnome-extra')
-rw-r--r--gnome-extra/Manifest.gzbin11286 -> 11284 bytes
-rw-r--r--gnome-extra/gnome-contacts/Manifest3
-rw-r--r--gnome-extra/gnome-contacts/files/45.1-clang.patch228
-rw-r--r--gnome-extra/gnome-contacts/gnome-contacts-45.1.ebuild77
4 files changed, 308 insertions, 0 deletions
diff --git a/gnome-extra/Manifest.gz b/gnome-extra/Manifest.gz
index a899068d5cc6..ba87db106595 100644
--- a/gnome-extra/Manifest.gz
+++ b/gnome-extra/Manifest.gz
Binary files differ
diff --git a/gnome-extra/gnome-contacts/Manifest b/gnome-extra/gnome-contacts/Manifest
index 45d695073336..f62fa715d2f4 100644
--- a/gnome-extra/gnome-contacts/Manifest
+++ b/gnome-extra/gnome-contacts/Manifest
@@ -1,3 +1,6 @@
+AUX 45.1-clang.patch 9749 BLAKE2B 3c3b7adb794af29faff2b5cf4b4caff3957b7af103072cfd8331ef142715868e82fdd478212e0f64b21b43fbacf856f29d3fe16b4a5552fa61a4e86761ae1dd1 SHA512 3325e9d0b5d43d170bfd70f4c52b5b9fd09d02c57e945cd6ccc78beb034cbb0109a87fd723733a513991d255295ac33850d92a434bea0400f37481ad8cd104f4
DIST gnome-contacts-45.0.tar.xz 401156 BLAKE2B cce302b780717963083b4b0725d9f5e0fd2ec0eeafabdf247fb2e3a099cde84441563a70b7bdf22efa8f20358baf10be015f1e7524139beb8e6074bd12c28e6d SHA512 691cbd9fc1ff0e9e7a2549f522ea7ef5b73eee976fb48b2b250b8be9775737938d9fd0ffa66374dc20028d764e96605caae1be7c32689371a58ee5e78bd7c28b
+DIST gnome-contacts-45.1.tar.xz 402748 BLAKE2B 02cb3fd3ebcfd4e33add4706b1746940a14d680697ddaf54f9e006a14c15e7a11f791af2704b40573b59c6348ba3f1e1e216b514b1bc5fed990f0e8eaf1dc45b SHA512 87fc5b235e955ca347950306d37d0d8aea71dbcdb0f8d5c45d96da3a316f5e40da6004d6c5ab3674acdf7237f81bd508486c90130d01b045ee0c0582b04ba8aa
EBUILD gnome-contacts-45.0.ebuild 1591 BLAKE2B 515299d34261050b2ff9f8d4eb3501630afd8758d97fdd06031e69bd77521022a13c8cfdf713aca5078d7281719aa2d74e6a3357e94227e49d46538265818b9a SHA512 f05b6ffefec4637a33ec1a68b4da99468f5ca551b9b9ba948a05fb6acda05624c7016344ff8b8f09201f10c7e86fea6ccb1913f7a07c124e32a3c59854389cef
+EBUILD gnome-contacts-45.1.ebuild 1673 BLAKE2B 2d7d2df8872e3a69f4e68eedd9665904a0f7dd2211d4844df29ae2f78a58ff259f5c4b3bc527616a589bea461c136b5439eee3c754e221b58da510f820eeb9f2 SHA512 13ff10abf8482b79c1e8b878af3d207e4c5c2171bbdfa01171b1f5937e9c5e870902aeca5bf2d03f882b90e88fe3e5115e9954d606cf2359c5ee7fc9f75d21d7
MISC metadata.xml 504 BLAKE2B 876846abc81450936c89143571a1b26cd48f095c22aa76632e3aa8d860fc77fd8cf5f9aa6f39ecc37f02d53964aa2cbc35f74acc1ecf7a947cef4568b8b5a1dd SHA512 2241ed2d7e0c42276ac709c76085ec62c743cafde605494a5ffd5314a7c1d555d2463104c6487bb3ae4a0360d3f68220b910dfd0c40ea4f52c748a727b1aa0f5
diff --git a/gnome-extra/gnome-contacts/files/45.1-clang.patch b/gnome-extra/gnome-contacts/files/45.1-clang.patch
new file mode 100644
index 000000000000..a708f8f926a5
--- /dev/null
+++ b/gnome-extra/gnome-contacts/files/45.1-clang.patch
@@ -0,0 +1,228 @@
+From a6ad56a6151f29ceaf6fda3c547c143645e1060f Mon Sep 17 00:00:00 2001
+From: Niels De Graef <nielsdegraef@gmail.com>
+Date: Sun, 18 Feb 2024 11:49:32 +0100
+Subject: [PATCH] Avoid using return*_if_fail/reached() macros in Vala
+
+`g_return_if_fail()`, `g_return_val_if_fail()` (and similarly
+`g_return_if_reached()` are often used in GLib C to denote a
+precondition or soft assertion for a specific place in the code, often
+pointing to a programmer error if the condition fails.
+
+Vala also binds to these methods, but unfortunately, they're a bit less
+useful: the error message it prints only shows the "compiled" temporary
+variable (e.g. `_tmp4_ != NULL`) rather than the actual value, and more
+importantly, it skips some type strictness checks when compiling to C
+(for example, allowing to return nothing in a function that expects a
+boolean return value).
+
+This commit avoids those macros in several ways:
+- Throwing an error for unsupported code paths
+- Using the `requires()` construct in Vala, which is a similar construct
+ to that of GLib, but specific to Vala (but can only be used at the
+ function signature level)
+- For other points in the code, we fall back to `warn_if_fail()`, which
+ still suffers from the problem of printing temporary variables, but at
+ least doesn't fail any type checks.
+
+Fixes: https://gitlab.gnome.org/GNOME/gnome-contacts/-/issues/340
+---
+ src/contacts-contact-editor.vala | 4 ++--
+ src/contacts-contact-sheet.vala | 6 +++---
+ src/contacts-import-operation.vala | 2 +-
+ src/contacts-main-window.vala | 19 +++++++++----------
+ src/contacts-persona-filter.vala | 6 +++---
+ src/contacts-query-filter.vala | 6 +++---
+ src/core/contacts-bin-chunk.vala | 2 +-
+ src/core/contacts-chunk.vala | 3 +--
+ src/io/contacts-io-parse-operation.vala | 2 +-
+ 9 files changed, 24 insertions(+), 26 deletions(-)
+
+diff --git a/src/contacts-contact-editor.vala b/src/contacts-contact-editor.vala
+index 195eaa0e..5ac9b3d7 100644
+--- a/src/contacts-contact-editor.vala
++++ b/src/contacts-contact-editor.vala
+@@ -126,7 +126,7 @@ public class Contacts.PersonaEditor : Gtk.Widget {
+ return ((Chunk) item).persona == this.persona;
+ });
+ var persona_model = new Gtk.FilterListModel (this.contact, (owned) persona_filter);
+- return_if_fail (persona_model.get_n_items () > 0);
++ warn_if_fail (persona_model.get_n_items () > 0);
+
+ // Show all properties that we either ...
+ var filter = new Gtk.AnyFilter ();
+@@ -208,7 +208,7 @@ public class Contacts.PersonaEditor : Gtk.Widget {
+ while (current_position < position) {
+ child = child.get_next_sibling ();
+ // If this fails, we somehow have less widgets than items in our model
+- return_if_fail (child != null);
++ warn_if_fail (child != null);
+ current_position++;
+ }
+
+diff --git a/src/contacts-contact-sheet.vala b/src/contacts-contact-sheet.vala
+index 2c49bb66..092466ab 100644
+--- a/src/contacts-contact-sheet.vala
++++ b/src/contacts-contact-sheet.vala
+@@ -49,13 +49,13 @@ public class Contacts.ContactSheet : Gtk.Widget {
+ // Get the widget where we'll have to append the item at "position". Note
+ // that we need to take care of the header and the persona store titles
+ unowned var child = get_first_child ();
+- return_if_fail (child != null); // Header is always available
++ warn_if_fail (child != null); // Header is always available
+
+ uint current_position = 0;
+ while (current_position < position) {
+ child = child.get_next_sibling ();
+ // If this fails, we somehow have less widgets than items in our model
+- return_if_fail (child != null);
++ warn_if_fail (child != null);
+
+ // Ignore persona store labels
+ if (child is Gtk.Label)
+@@ -67,7 +67,7 @@ public class Contacts.ContactSheet : Gtk.Widget {
+ // First, remove the ones that were removed from the model too
+ while (removed != 0) {
+ unowned var to_remove = child.get_next_sibling ();
+- return_if_fail (to_remove != null); // if this happens we're out of sync
++ warn_if_fail (to_remove != null); // if this happens we're out of sync
+ to_remove.unparent ();
+ removed--;
+ }
+diff --git a/src/contacts-import-operation.vala b/src/contacts-import-operation.vala
+index bf8032da..54a29a3d 100644
+--- a/src/contacts-import-operation.vala
++++ b/src/contacts-import-operation.vala
+@@ -56,6 +56,6 @@ public class Contacts.ImportOperation : Operation {
+ }
+
+ public override async void _undo () throws GLib.Error {
+- return_if_reached ();
++ throw new IOError.NOT_SUPPORTED ("Undoing an import operation is not supported");
+ }
+ }
+diff --git a/src/contacts-main-window.vala b/src/contacts-main-window.vala
+index 42c51e65..d8ddda2b 100644
+--- a/src/contacts-main-window.vala
++++ b/src/contacts-main-window.vala
+@@ -233,12 +233,11 @@ public class Contacts.MainWindow : Adw.ApplicationWindow {
+ this.actions_bar.reveal_child = (this.state == UiState.SELECTING);
+ }
+
+- private void edit_contact (GLib.SimpleAction action, GLib.Variant? parameter) {
+- unowned var selected = get_selected_individual ();
+- return_if_fail (selected != null);
++ private void edit_contact (GLib.SimpleAction action, GLib.Variant? parameter)
++ requires (get_selected_individual () != null) {
+
++ unowned var selected = get_selected_individual ();
+ this.state = UiState.UPDATING;
+-
+ var title = _("Editing %s").printf (selected.display_name);
+ this.contact_pane_page.title = title;
+ this.contact_pane.edit_contact ();
+@@ -258,10 +257,10 @@ public class Contacts.MainWindow : Adw.ApplicationWindow {
+ unmark_action.set_enabled (favorite);
+ }
+
+- private void set_selection_is_favorite (bool favorite) {
+- unowned var selected = get_selected_individual ();
+- return_if_fail (selected != null);
++ private void set_selection_is_favorite (bool favorite)
++ requires (get_selected_individual () != null) {
+
++ unowned var selected = get_selected_individual ();
+ selected.is_favourite = favorite;
+
+ update_favorite_actions (favorite);
+@@ -282,10 +281,10 @@ public class Contacts.MainWindow : Adw.ApplicationWindow {
+ this.list_pane_page.title = left_title;
+ }
+
+- private void unlink_contact (GLib.SimpleAction action, GLib.Variant? parameter) {
+- unowned Individual? selected = get_selected_individual ();
+- return_if_fail (selected != null);
++ private void unlink_contact (GLib.SimpleAction action, GLib.Variant? parameter)
++ requires (get_selected_individual () != null) {
+
++ unowned var selected = get_selected_individual ();
+ this.selection_model.selected.unselect_all ();
+ this.state = UiState.NORMAL;
+
+diff --git a/src/contacts-persona-filter.vala b/src/contacts-persona-filter.vala
+index 274f4179..9bf5f913 100644
+--- a/src/contacts-persona-filter.vala
++++ b/src/contacts-persona-filter.vala
+@@ -24,10 +24,10 @@ public class Contacts.PersonaFilter : Gtk.Filter {
+ }
+ private string[] _ignored_store_types = { "key-file", };
+
+- public override bool match (GLib.Object? item) {
+- unowned var persona = item as Persona;
+- return_val_if_fail (persona != null, false);
++ public override bool match (GLib.Object? item)
++ requires (item is Persona) {
+
++ unowned var persona = item as Persona;
+ return match_persona_store_type (persona);
+ }
+
+diff --git a/src/contacts-query-filter.vala b/src/contacts-query-filter.vala
+index ed46f7c5..c1846e05 100644
+--- a/src/contacts-query-filter.vala
++++ b/src/contacts-query-filter.vala
+@@ -69,10 +69,10 @@ public class Contacts.QueryFilter : Gtk.Filter {
+ this.changed (Gtk.FilterChange.DIFFERENT);
+ }
+
+- public override bool match (GLib.Object? item) {
+- unowned var individual = item as Individual;
+- return_val_if_fail (individual != null, false);
++ public override bool match (GLib.Object? item)
++ requires (item is Individual) {
+
++ unowned var individual = item as Individual;
+ return this.query.is_match (individual) > this.min_strength;
+ }
+
+diff --git a/src/core/contacts-bin-chunk.vala b/src/core/contacts-bin-chunk.vala
+index 4a63072e..96bf5de3 100644
+--- a/src/core/contacts-bin-chunk.vala
++++ b/src/core/contacts-bin-chunk.vala
+@@ -38,7 +38,7 @@ public abstract class Contacts.BinChunk : Chunk, GLib.ListModel {
+ public override bool dirty {
+ get {
+ // If we're hitting this, a subclass forgot to set the field
+- return_val_if_fail (this.original_elements_set, false);
++ warn_if_fail (this.original_elements_set);
+
+ var non_empty_count = nr_nonempty_children ();
+ if (this.original_elements.length != non_empty_count)
+diff --git a/src/core/contacts-chunk.vala b/src/core/contacts-chunk.vala
+index ba346db5..fdfa8da1 100644
+--- a/src/core/contacts-chunk.vala
++++ b/src/core/contacts-chunk.vala
+@@ -58,8 +58,7 @@ public abstract class Contacts.Chunk : GLib.Object {
+ /**
+ * Calls the appropriate API to save to the persona.
+ */
+- public abstract async void save_to_persona () throws GLib.Error
+- requires (this.persona != null);
++ public abstract async void save_to_persona () throws GLib.Error;
+
+ /**
+ * Serializes this chunk into a {@link GLib.Variant} accordding to an
+diff --git a/src/io/contacts-io-parse-operation.vala b/src/io/contacts-io-parse-operation.vala
+index 0e74c144..cfb98a74 100644
+--- a/src/io/contacts-io-parse-operation.vala
++++ b/src/io/contacts-io-parse-operation.vala
+@@ -82,6 +82,6 @@ public class Contacts.Io.ParseOperation : Operation {
+ }
+
+ public override async void _undo () throws GLib.Error {
+- return_if_reached ();
++ throw new IOError.NOT_SUPPORTED ("Undoing a parsing operation is not supported");
+ }
+ }
+--
+GitLab
+
diff --git a/gnome-extra/gnome-contacts/gnome-contacts-45.1.ebuild b/gnome-extra/gnome-contacts/gnome-contacts-45.1.ebuild
new file mode 100644
index 000000000000..0d41cb7ad75b
--- /dev/null
+++ b/gnome-extra/gnome-contacts/gnome-contacts-45.1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit gnome.org gnome2-utils meson python-any-r1 vala xdg
+
+DESCRIPTION="GNOME contact management application"
+HOMEPAGE="https://wiki.gnome.org/Design/Apps/Contacts"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="+gnome-online-accounts"
+
+VALA_DEPEND="
+ $(vala_depend)
+ >=dev-libs/gobject-introspection-1.54
+ dev-libs/folks[vala(+)]
+ gnome-online-accounts? ( net-libs/gnome-online-accounts[vala] )
+ gnome-extra/evolution-data-server[gtk,vala]
+ >=dev-libs/libportal-0.6:=[vala]
+"
+RDEPEND="
+ >=dev-libs/folks-0.14.0:=[eds]
+ >=dev-libs/libgee-0.10:0.8=
+ >=dev-libs/glib-2.64:2
+ >=gui-libs/gtk-4.12:4
+ >=gui-libs/libadwaita-1.4_alpha:1
+ >=gnome-extra/evolution-data-server-3.42:=[gnome-online-accounts?]
+ >=dev-libs/libportal-0.6:=
+ >=media-gfx/qrencode-4.1.1:=
+ gnome-online-accounts? ( net-libs/gnome-online-accounts:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${PYTHON_DEPS}
+ ${VALA_DEPEND}
+ app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xsl-stylesheets
+ dev-libs/appstream-glib
+ dev-libs/libxml2:2
+ dev-libs/libxslt
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-clang.patch # Upstream commit a6ad56a6151f29
+)
+
+src_prepare() {
+ default
+ vala_setup
+ xdg_environment_reset
+}
+
+src_configure() {
+ local emesonargs=(
+ -Dcamera=true # Ignored
+ -Dmanpage=true
+ -Ddocs=false
+ $(meson_use gnome-online-accounts goa)
+ )
+ meson_src_configure
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}