public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: gnome-extra/gnome-contacts/, gnome-extra/gnome-contacts/files/
@ 2017-08-17 22:41 Gilles Dartiguelongue
  0 siblings, 0 replies; 2+ messages in thread
From: Gilles Dartiguelongue @ 2017-08-17 22:41 UTC (permalink / raw
  To: gentoo-commits

commit:     5408b64054d39581d331658b52213d43c275bfc6
Author:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 17 21:51:21 2017 +0000
Commit:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
CommitDate: Thu Aug 17 22:41:43 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5408b640

gnome-extra/gnome-contacts: fix build with vala-0.35+, bug #627986

Package-Manager: Portage-2.3.7, Repoman-2.3.3

 .../files/3.22.1-fix-vala-0.35-part1.patch         | 29 +++++++++++++
 .../files/3.22.1-fix-vala-0.35-part2.patch         | 50 ++++++++++++++++++++++
 .../gnome-contacts/gnome-contacts-3.22.1.ebuild    |  8 +++-
 3 files changed, 86 insertions(+), 1 deletion(-)

diff --git a/gnome-extra/gnome-contacts/files/3.22.1-fix-vala-0.35-part1.patch b/gnome-extra/gnome-contacts/files/3.22.1-fix-vala-0.35-part1.patch
new file mode 100644
index 00000000000..b9634e6fc04
--- /dev/null
+++ b/gnome-extra/gnome-contacts/files/3.22.1-fix-vala-0.35-part1.patch
@@ -0,0 +1,29 @@
+From 2ba6e380dd8a3575bd8f4d4e5d8d3883003e9f54 Mon Sep 17 00:00:00 2001
+From: Rico Tzschichholz <ricotz@ubuntu.com>
+Date: Sat, 1 Oct 2016 14:27:55 +0200
+Subject: [PATCH] Don't restrict RowData.details to the generic type "string"
+
+This allows AbstractFieldDetails<G> based values to be assigned,
+like PostalAddressFieldDetails.
+
+Fixes a build-failure with vala 0.35+ due to stricter type-checking.
+---
+ src/contacts-contact-editor.vala | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/contacts-contact-editor.vala b/src/contacts-contact-editor.vala
+index 3372f87..3978887 100644
+--- a/src/contacts-contact-editor.vala
++++ b/src/contacts-contact-editor.vala
+@@ -77,7 +77,7 @@ public class Contacts.ContactEditor : Grid {
+   }
+ 
+   struct RowData {
+-    AbstractFieldDetails<string> details;
++    AbstractFieldDetails details;
+   }
+ 
+   struct Field {
+-- 
+2.14.1
+

diff --git a/gnome-extra/gnome-contacts/files/3.22.1-fix-vala-0.35-part2.patch b/gnome-extra/gnome-contacts/files/3.22.1-fix-vala-0.35-part2.patch
new file mode 100644
index 00000000000..4cfe861fa50
--- /dev/null
+++ b/gnome-extra/gnome-contacts/files/3.22.1-fix-vala-0.35-part2.patch
@@ -0,0 +1,50 @@
+From b96b0fc07c49724f252a5cd35f2d028f91529068 Mon Sep 17 00:00:00 2001
+From: Jeena <hello@jeena.net>
+Date: Tue, 15 Aug 2017 16:53:05 +0200
+Subject: [PATCH] Drop unnecessary format-string.
+
+Code got refactored in 3.25/master but it boils down to dropping this
+extra parameter.
+---
+ src/contacts-contact-pane.vala | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/src/contacts-contact-pane.vala b/src/contacts-contact-pane.vala
+index 8e100f2..fce832b 100644
+--- a/src/contacts-contact-pane.vala
++++ b/src/contacts-contact-pane.vala
+@@ -451,7 +451,6 @@ public class Contacts.ContactPane : Notebook {
+ 					 DialogFlags.MODAL,
+ 					 MessageType.ERROR,
+ 					 ButtonsType.OK,
+-					 "%s",
+ 					 _("You need to enter some data"));
+       dialog.show ();
+       dialog.response.connect ( () => {
+@@ -463,7 +462,6 @@ public class Contacts.ContactPane : Notebook {
+ 					 DialogFlags.MODAL,
+ 					 MessageType.ERROR,
+ 					 ButtonsType.OK,
+-					 "%s",
+ 					 _("No primary addressbook configured"));
+       dialog.show ();
+       dialog.response.connect ( () => {
+@@ -482,7 +480,6 @@ public class Contacts.ContactPane : Notebook {
+ 					DialogFlags.MODAL,
+ 					MessageType.ERROR,
+ 					ButtonsType.OK,
+-					"%s",
+ 					_("Unable to create new contacts: %s"), e.message);
+ 	  }
+ 
+@@ -493,7 +490,6 @@ public class Contacts.ContactPane : Notebook {
+ 					DialogFlags.MODAL,
+ 					MessageType.ERROR,
+ 					ButtonsType.OK,
+-					"%s",
+ 					_("Unable to find newly created contact"));
+ 	  }
+ 
+-- 
+2.14.1
+

diff --git a/gnome-extra/gnome-contacts/gnome-contacts-3.22.1.ebuild b/gnome-extra/gnome-contacts/gnome-contacts-3.22.1.ebuild
index d1c0351111f..95083e15f4e 100644
--- a/gnome-extra/gnome-contacts/gnome-contacts-3.22.1.ebuild
+++ b/gnome-extra/gnome-contacts/gnome-contacts-3.22.1.ebuild
@@ -24,8 +24,9 @@ VALA_DEPEND="
 	net-libs/telepathy-glib[vala]
 "
 # Configure is wrong; it needs cheese-3.5.91, not 3.3.91
+# folks-0.11.4 to avoid build issues with vala-0.36, upstream 7a9001b056b4fb1d00375e7b2adeda9b7cf93c90
 RDEPEND="
-	>=dev-libs/folks-0.9.5:=[eds,telepathy]
+	>=dev-libs/folks-0.11.4:=[eds,telepathy]
 	>=dev-libs/glib-2.37.6:2
 	>=dev-libs/libgee-0.10:0.8
 	>=gnome-extra/evolution-data-server-3.13.90:=[gnome-online-accounts]
@@ -52,6 +53,11 @@ DEPEND="${RDEPEND}
 	virtual/pkgconfig
 "
 
+PATCHES=(
+	"${FILESDIR}"/${PV}-fix-vala-0.35-part1.patch
+	"${FILESDIR}"/${PV}-fix-vala-0.35-part2.patch
+)
+
 src_prepare() {
 	# Regenerate the pre-generated C sources, bug #471628
 	if ! use v4l; then


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: gnome-extra/gnome-contacts/, gnome-extra/gnome-contacts/files/
@ 2024-03-03 20:55 Mart Raudsepp
  0 siblings, 0 replies; 2+ messages in thread
From: Mart Raudsepp @ 2024-03-03 20:55 UTC (permalink / raw
  To: gentoo-commits

commit:     54947c0c828f769ed8f3bc191bf10e21bd7370f4
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Sun Mar  3 20:25:06 2024 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Sun Mar  3 20:54:29 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=54947c0c

gnome-extra/gnome-contacts: add 45.1, fix compile with clang17/gcc14

Closes: https://bugs.gentoo.org/894794
Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>

 gnome-extra/gnome-contacts/Manifest                |   1 +
 gnome-extra/gnome-contacts/files/45.1-clang.patch  | 228 +++++++++++++++++++++
 .../gnome-contacts/gnome-contacts-45.1.ebuild      |  77 +++++++
 3 files changed, 306 insertions(+)

diff --git a/gnome-extra/gnome-contacts/Manifest b/gnome-extra/gnome-contacts/Manifest
index db20be73e298..375397dea960 100644
--- a/gnome-extra/gnome-contacts/Manifest
+++ b/gnome-extra/gnome-contacts/Manifest
@@ -1 +1,2 @@
 DIST gnome-contacts-45.0.tar.xz 401156 BLAKE2B cce302b780717963083b4b0725d9f5e0fd2ec0eeafabdf247fb2e3a099cde84441563a70b7bdf22efa8f20358baf10be015f1e7524139beb8e6074bd12c28e6d SHA512 691cbd9fc1ff0e9e7a2549f522ea7ef5b73eee976fb48b2b250b8be9775737938d9fd0ffa66374dc20028d764e96605caae1be7c32689371a58ee5e78bd7c28b
+DIST gnome-contacts-45.1.tar.xz 402748 BLAKE2B 02cb3fd3ebcfd4e33add4706b1746940a14d680697ddaf54f9e006a14c15e7a11f791af2704b40573b59c6348ba3f1e1e216b514b1bc5fed990f0e8eaf1dc45b SHA512 87fc5b235e955ca347950306d37d0d8aea71dbcdb0f8d5c45d96da3a316f5e40da6004d6c5ab3674acdf7237f81bd508486c90130d01b045ee0c0582b04ba8aa

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
+}


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-03-03 20:55 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-17 22:41 [gentoo-commits] repo/gentoo:master commit in: gnome-extra/gnome-contacts/, gnome-extra/gnome-contacts/files/ Gilles Dartiguelongue
  -- strict thread matches above, loose matches on Subject: below --
2024-03-03 20:55 Mart Raudsepp

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox