From e2b17f74841ae14ac96782539ec8bfc1c639ed34 Mon Sep 17 00:00:00 2001
From: Leo Prikler <leo.prikler@student.tugraz.at>
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
@@ -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")
new file mode 100644
@@ -0,0 +1,29 @@
+From d9db29db567012b7c72e85e1be1fbf55fcc9b667 Mon Sep 17 00:00:00 2001
+From: Niels De Graef <nielsdegraef@gmail.com>
+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
new file mode 100644
@@ -0,0 +1,154 @@
+From 12178d7cc7fad52f61003b3221bd0a713ef80507 Mon Sep 17 00:00:00 2001
+From: Rico Tzschichholz <ricotz@ubuntu.com>
+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