From e2b17f74841ae14ac96782539ec8bfc1c639ed34 Mon Sep 17 00:00:00 2001 From: Leo Prikler 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 +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 +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 get_objects(); ++ public abstract unowned GLib.List 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 get_objects(); ++ public abstract unowned GLib.List 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 get_objects() { ++ public override unowned GLib.List 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 get_objects() { ++ public override unowned GLib.List 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 _objects; ++ private GLib.List _objects; + + public CertificateDerExporter(Gcr.Certificate certificate) + { +@@ -67,7 +67,7 @@ public class CertificateDerExporter : GLib.Object, Exporter { + } + } + +- public unowned GLib.List get_objects() { ++ public unowned GLib.List 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 get_objects() { ++ public override unowned GLib.List 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 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 objects) { ++ private void remove_objects(GLib.List objects) { + var depaired = new GLib.List(); + var hide = new GLib.List(); + +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 get_objects () { ++ public override unowned GLib.List 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 get_objects() { ++ public unowned GLib.List get_objects() { + return this.objects; + } + +-- +2.22.0 -- 2.23.0