Subject: bug#37693: closed (Re: [bug#37693] Seahorse build)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 22 Oct 2019 16:29:02 +0000

Your bug report

#37693: Seahorse build

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
37693: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=37693
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#37693] Seahorse build
From: Ludovic Courtès <[email-masked]>
To: Miguel Arruga Vivas <[email-masked]>
Cc: Leo Prikler <[email-masked]>, [email-masked]
Date: Tue, 22 Oct 2019 18:27:52 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

Miguel Arruga Vivas <[email-masked]> skribis:

>>>From c2cbf056d277842b79a5e4588ab38980ef9d8db9 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Miguel=20=C3=81ngel=20Arruga=20Vivas?=
>  <[email-masked]>
> Date: Mon, 21 Oct 2019 19:16:24 +0200
> Subject: [PATCH] gnu: seahorse: Update to 3.30.1.1.
>
> * gnu/packages/gnome.scm (seahorse)[version]: Update version number.
> [origin]: Update hash.  Add patch needed for compilation with our
> version of libsecret (0.19.1).
> [inputs]: Add avahi dependency.
> [native-inputs]: Add vala dependency.  Use gettext-minimal instead of
> intltool, as only xgettext is used.
> * gnu/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch: New
> file retrieved from the upstream version control system
> https://gitlab.gnome.org/GNOME/seahorse/commit/d9db29db567012b7c72e85e1be1fbf55fcc9b667

Wonderful.  Applied with the changes below.

Thanks to the two of you!  :-)

Ludo’.

diff --git a/gnu/local.mk b/gnu/local.mk
index 4292e6f415..611761c2c9 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1324,6 +1324,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/scotch-build-parallelism.patch		\
   %D%/packages/patches/scotch-integer-declarations.patch	\
   %D%/packages/patches/sdl-libx11-1.6.patch			\
+  %D%/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch	\
   %D%/packages/patches/seq24-rename-mutex.patch			\
   %D%/packages/patches/sharutils-CVE-2018-1000097.patch		\
   %D%/packages/patches/shishi-fix-libgcrypt-detection.patch	\
diff --git a/gnu/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch b/gnu/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch
index e236f6a2e1..55866d2973 100644
--- a/gnu/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch
+++ b/gnu/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch
@@ -1,3 +1,5 @@
+Patch from <https://gitlab.gnome.org/GNOME/seahorse/commit/d9db29db567012b7c72e85e1be1fbf55fcc9b667>.
+
 From d9db29db567012b7c72e85e1be1fbf55fcc9b667 Mon Sep 17 00:00:00 2001
 From: Niels De Graef <[email-masked]>
 Date: Sat, 11 May 2019 09:02:34 +0200

Subject: Seahorse build
From: Leo Prikler <[email-masked]>
To: [email-masked]
Date: Thu, 10 Oct 2019 10:56:44 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

From e2b17f74841ae14ac96782539ec8bfc1c639ed34 Mon Sep 17 00:00:00 2001
From: Leo Prikler <[email-masked]>
Date: Thu, 10 Oct 2019 10:16:47 +0200
Subject: [PATCH] gnu: seahorse: Fix build

* /gnu/packages/gnome.scm: (seahorse): Use meson-build-system.
Update inputs. Add patches to fix compile errors.
* /gnu/packages/patches/seahorse-fix-libsecret-breakage.patch: New file.
* /gnu/packages/patches/seahorse-fix-type-mismatches.patch: New file.
---
 gnu/packages/gnome.scm                        |  12 +-
 .../seahorse-fix-libsecret-breakage.patch     |  29 ++++
 .../seahorse-fix-type-mismatches.patch        | 154 ++++++++++++++++++
 3 files changed, 192 insertions(+), 3 deletions(-)
 create mode 100644 gnu/packages/patches/seahorse-fix-libsecret-breakage.patch
 create mode 100644 gnu/packages/patches/seahorse-fix-type-mismatches.patch

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 2a664e3db7..a34babebfe 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2230,10 +2230,14 @@ engineering.")
                            version ".tar.xz"))
        (sha256
         (base32
-         "1sbj1czlx1fakm72dwgbn0bwm12j838yaky4mkf6hf8j8afnxmzp"))))
-    (build-system glib-or-gtk-build-system)
+         "1sbj1czlx1fakm72dwgbn0bwm12j838yaky4mkf6hf8j8afnxmzp"))
+       (patches
+        (search-patches "seahorse-fix-libsecret-breakage.patch"
+                        "seahorse-fix-type-mismatches.patch"))))
+    (build-system meson-build-system)
     (inputs
-     `(("gtk+" ,gtk+)
+     `(("avahi" ,avahi)
+       ("gtk+" ,gtk+)
        ("gcr" ,gcr)
        ("gnupg" ,gnupg)
        ("gpgme" ,gpgme)
@@ -2244,8 +2248,10 @@ engineering.")
     (native-inputs
      `(("intltool" ,intltool)
        ("glib:bin" ,glib "bin")
+       ("gtk+:bin" ,gtk+ "bin")
        ("itstool" ,itstool)
        ("pkg-config" ,pkg-config)
+       ("vala" ,vala)
        ("xmllint" ,libxml2)))
     (home-page "https://launchpad.net/gnome-themes-standard")
     (synopsis "Manage encryption keys and passwords in the GNOME keyring")
diff --git a/gnu/packages/patches/seahorse-fix-libsecret-breakage.patch b/gnu/packages/patches/seahorse-fix-libsecret-breakage.patch
new file mode 100644
index 0000000000..d6396c227a
--- /dev/null
+++ b/gnu/packages/patches/seahorse-fix-libsecret-breakage.patch
@@ -0,0 +1,29 @@
+From d9db29db567012b7c72e85e1be1fbf55fcc9b667 Mon Sep 17 00:00:00 2001
+From: Niels De Graef <[email-masked]>
+Date: Sat, 11 May 2019 09:02:34 +0200
+Subject: [PATCH] gkr: Use 0 on empty flags
+
+A Flags-type variable without any flag set can be replaced with 0, so
+this is a safe thing to do. It also prevents us from having to deal with
+the accidental API break in libsecret (see
+https://gitlab.gnome.org/GNOME/libsecret/merge_requests/19)
+---
+ gkr/gkr-keyring-add.vala | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/gkr/gkr-keyring-add.vala b/gkr/gkr-keyring-add.vala
+index 4e92a520..f60c9a22 100644
+--- a/gkr/gkr-keyring-add.vala
++++ b/gkr/gkr-keyring-add.vala
+@@ -43,8 +43,7 @@ public class Seahorse.Gkr.KeyringAdd : Gtk.Dialog {
+
+         var cancellable = Dialog.begin_request(this);
+         var service = Backend.instance().service;
+-        Secret.Collection.create.begin(service, this.name_entry.text, null,
+-                                       Secret.CollectionCreateFlags.COLLECTION_CREATE_NONE,
++        Secret.Collection.create.begin(service, this.name_entry.text, null, 0,
+                                        cancellable, (obj, res) => {
+             /* Clear the operation without cancelling it since it is complete */
+             Dialog.complete_request(this, false);
+--
+2.22.0
diff --git a/gnu/packages/patches/seahorse-fix-type-mismatches.patch b/gnu/packages/patches/seahorse-fix-type-mismatches.patch
new file mode 100644
index 0000000000..d259d8311d
--- /dev/null
+++ b/gnu/packages/patches/seahorse-fix-type-mismatches.patch
@@ -0,0 +1,154 @@
+From 12178d7cc7fad52f61003b3221bd0a713ef80507 Mon Sep 17 00:00:00 2001
+From: Rico Tzschichholz <[email-masked]>
+Date: Mon, 5 Nov 2018 09:59:27 +0100
+Subject: [PATCH] Fix type-argument mismatches related to GLib.List
+
+---
+ common/deleter.vala                  | 2 +-
+ common/exporter.vala                 | 2 +-
+ gkr/gkr-item.vala                    | 2 +-
+ gkr/gkr-keyring.vala                 | 2 +-
+ pkcs11/certificate-der-exporter.vala | 4 ++--
+ pkcs11/pkcs11-deleter.vala           | 2 +-
+ pkcs11/pkcs11-token.vala             | 4 ++--
+ ssh/deleter.vala                     | 2 +-
+ ssh/exporter.vala                    | 2 +-
+ 9 files changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/common/deleter.vala b/common/deleter.vala
+index 18dd0d4c..1c50cdaf 100644
+--- a/common/deleter.vala
++++ b/common/deleter.vala
+@@ -24,7 +24,7 @@ namespace Seahorse {
+ public abstract class Deleter : GLib.Object {
+ 	public abstract Gtk.Dialog create_confirm(Gtk.Window? parent);
+
+-	public abstract unowned GLib.List<weak GLib.Object> get_objects();
++	public abstract unowned GLib.List<GLib.Object> get_objects();
+
+ 	public abstract bool add_object (GLib.Object obj);
+
+diff --git a/common/exporter.vala b/common/exporter.vala
+index e686ff0d..edc4b4d3 100644
+--- a/common/exporter.vala
++++ b/common/exporter.vala
+@@ -35,7 +35,7 @@ public interface Exporter : GLib.Object {
+
+ 	public abstract Gtk.FileFilter file_filter { owned get; }
+
+-	public abstract unowned GLib.List<weak GLib.Object> get_objects();
++	public abstract unowned GLib.List<GLib.Object> get_objects();
+
+ 	public abstract bool add_object(GLib.Object obj);
+
+diff --git a/gkr/gkr-item.vala b/gkr/gkr-item.vala
+index ec45a5c7..bdcf14d1 100644
+--- a/gkr/gkr-item.vala
++++ b/gkr/gkr-item.vala
+@@ -513,7 +513,7 @@ class ItemDeleter : Deleter {
+ 			GLib.assert_not_reached();
+ 	}
+
+-	public override unowned GLib.List<weak GLib.Object> get_objects() {
++	public override unowned GLib.List<GLib.Object> get_objects() {
+ 		return this._items;
+ 	}
+
+diff --git a/gkr/gkr-keyring.vala b/gkr/gkr-keyring.vala
+index e6ecaf76..096bb0ae 100644
+--- a/gkr/gkr-keyring.vala
++++ b/gkr/gkr-keyring.vala
+@@ -248,7 +248,7 @@ class KeyringDeleter : Deleter {
+ 			GLib.assert_not_reached();
+ 	}
+
+-	public override unowned GLib.List<weak GLib.Object> get_objects() {
++	public override unowned GLib.List<GLib.Object> get_objects() {
+ 		return this._objects;
+ 	}
+
+diff --git a/pkcs11/certificate-der-exporter.vala b/pkcs11/certificate-der-exporter.vala
+index e8789f52..57e6ec25 100644
+--- a/pkcs11/certificate-der-exporter.vala
++++ b/pkcs11/certificate-der-exporter.vala
+@@ -23,7 +23,7 @@ namespace Seahorse {
+
+ public class CertificateDerExporter : GLib.Object, Exporter {
+ 	private Gcr.Certificate _certificate;
+-	private GLib.List<weak GLib.Object> _objects;
++	private GLib.List<GLib.Object> _objects;
+
+ 	public CertificateDerExporter(Gcr.Certificate certificate)
+ 	{
+@@ -67,7 +67,7 @@ public class CertificateDerExporter : GLib.Object, Exporter {
+ 		}
+ 	}
+
+-	public unowned GLib.List<weak GLib.Object> get_objects() {
++	public unowned GLib.List<GLib.Object> get_objects() {
+ 		return this._objects;
+ 	}
+
+diff --git a/pkcs11/pkcs11-deleter.vala b/pkcs11/pkcs11-deleter.vala
+index 34efc0eb..475b30c4 100644
+--- a/pkcs11/pkcs11-deleter.vala
++++ b/pkcs11/pkcs11-deleter.vala
+@@ -44,7 +44,7 @@ public class Deleter : Seahorse.Deleter {
+ 			GLib.assert_not_reached();
+ 	}
+
+-	public override unowned GLib.List<weak GLib.Object> get_objects() {
++	public override unowned GLib.List<GLib.Object> get_objects() {
+ 		return this.objects;
+ 	}
+
+diff --git a/pkcs11/pkcs11-token.vala b/pkcs11/pkcs11-token.vala
+index 927118c2..c4a83c4e 100644
+--- a/pkcs11/pkcs11-token.vala
++++ b/pkcs11/pkcs11-token.vala
+@@ -208,7 +208,7 @@ public class Token : GLib.Object, Gcr.Collection, Place, Lockable {
+ 	public void remove_object(Gck.Object object) {
+ 		GLib.List<Gck.Object> objects = null;
+ 		objects.append(object);
+-		remove_objects(objects);
++		remove_objects(objects.copy());
+ 	}
+
+ 	public bool has_mechanism(ulong mechanism) {
+@@ -387,7 +387,7 @@ public class Token : GLib.Object, Gcr.Collection, Place, Lockable {
+ 		update_visibility(show, true);
+ 	}
+
+-	private void remove_objects(GLib.List<GLib.Object> objects) {
++	private void remove_objects(GLib.List<weak GLib.Object> objects) {
+ 		var depaired = new GLib.List<GLib.Object>();
+ 		var hide = new GLib.List<GLib.Object>();
+
+diff --git a/ssh/deleter.vala b/ssh/deleter.vala
+index 10788c25..e2e1221b 100644
+--- a/ssh/deleter.vala
++++ b/ssh/deleter.vala
+@@ -64,7 +64,7 @@ public class Seahorse.Ssh.Deleter : Seahorse.Deleter {
+         return dialog;
+     }
+
+-    public override unowned List<weak GLib.Object> get_objects () {
++    public override unowned GLib.List<GLib.Object> get_objects () {
+         return this.keys;
+     }
+
+diff --git a/ssh/exporter.vala b/ssh/exporter.vala
+index f2d70b4f..e9499493 100644
+--- a/ssh/exporter.vala
++++ b/ssh/exporter.vala
+@@ -97,7 +97,7 @@ public class Seahorse.Ssh.Exporter : GLib.Object, Seahorse.Exporter {
+         }
+     }
+
+-    public unowned GLib.List<weak GLib.Object> get_objects() {
++    public unowned GLib.List<GLib.Object> get_objects() {
+         return this.objects;
+     }
+
+--
+2.22.0
-- 
2.23.0