summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGilles Dartiguelongue <eva@gentoo.org>2017-09-02 18:09:59 +0200
committerGilles Dartiguelongue <eva@gentoo.org>2017-09-02 20:00:44 +0200
commitfc384ea88d3813e749f584146f912eb70fd9cbe2 (patch)
tree472777f80bbcbcefe50e9758fd2359029a82d1ef /x11-libs/libcryptui
parentsys-kernel/gentoo-sources: Linux patch 4.4.86 (diff)
downloadgentoo-fc384ea88d3813e749f584146f912eb70fd9cbe2.tar.gz
gentoo-fc384ea88d3813e749f584146f912eb70fd9cbe2.tar.bz2
gentoo-fc384ea88d3813e749f584146f912eb70fd9cbe2.zip
x11-libs/libcryptui: allow build with GnuPG 2.2, bug #629572
Also apply patches from master also found in Debian package. Package-Manager: Portage-2.3.8, Repoman-2.3.3
Diffstat (limited to 'x11-libs/libcryptui')
-rw-r--r--x11-libs/libcryptui/files/libcryptui-3.12.2-fix-return-types.patch34
-rw-r--r--x11-libs/libcryptui/files/libcryptui-3.12.2-gnupg-2.1.patch20
-rw-r--r--x11-libs/libcryptui/files/libcryptui-3.12.2-gnupg-2.2.patch25
-rw-r--r--x11-libs/libcryptui/files/libcryptui-3.12.2-port-gcr-3.patch154
-rw-r--r--x11-libs/libcryptui/files/libcryptui-3.12.2-prompt-recipient.patch38
-rw-r--r--x11-libs/libcryptui/libcryptui-3.12.2-r1.ebuild73
6 files changed, 341 insertions, 3 deletions
diff --git a/x11-libs/libcryptui/files/libcryptui-3.12.2-fix-return-types.patch b/x11-libs/libcryptui/files/libcryptui-3.12.2-fix-return-types.patch
new file mode 100644
index 000000000000..d3fdf3c408d0
--- /dev/null
+++ b/x11-libs/libcryptui/files/libcryptui-3.12.2-fix-return-types.patch
@@ -0,0 +1,34 @@
+From a576e407d913b35804f838d615da52899681d61d Mon Sep 17 00:00:00 2001
+From: Andreas Henriksson <andreas@fatal.se>
+Date: Mon, 15 Aug 2016 18:12:06 +0200
+Subject: [PATCH 2/3] daemon: fix conflicting return types
+
+... in functions seahorse_dbus_server_{init,cleanup}
+
+Reported-by: Michael Tautschnig <mt@debian.org>
+Bug-Debian: https://bugs.debian.org/749001
+
+https://bugzilla.gnome.org/show_bug.cgi?id=769943
+---
+ daemon/seahorse-daemon.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/daemon/seahorse-daemon.h b/daemon/seahorse-daemon.h
+index 93c0c452..09716bb5 100644
+--- a/daemon/seahorse-daemon.h
++++ b/daemon/seahorse-daemon.h
+@@ -24,9 +24,9 @@
+ /* seahorse-dbus-server.c --------------------------------------------------- */
+
+
+-gboolean seahorse_dbus_server_init ();
++void seahorse_dbus_server_init ();
+
+-gboolean seahorse_dbus_server_cleanup ();
++void seahorse_dbus_server_cleanup ();
+
+ DBusGConnection* seahorse_dbus_server_get_connection ();
+
+--
+2.14.1
+
diff --git a/x11-libs/libcryptui/files/libcryptui-3.12.2-gnupg-2.1.patch b/x11-libs/libcryptui/files/libcryptui-3.12.2-gnupg-2.1.patch
index ecf3a2eecf8f..d968dd367a11 100644
--- a/x11-libs/libcryptui/files/libcryptui-3.12.2-gnupg-2.1.patch
+++ b/x11-libs/libcryptui/files/libcryptui-3.12.2-gnupg-2.1.patch
@@ -1,6 +1,17 @@
---- a/configure.ac~ 2014-05-13 20:53:02.000000000 +0200
-+++ b/configure.ac 2015-06-27 11:29:32.574106982 +0200
-@@ -95,7 +95,7 @@
+From 183d7619c29482a5d4ae8019692899f87f198171 Mon Sep 17 00:00:00 2001
+From: Antoine Jacoutot <ajacoutot@gnome.org>
+Date: Sat, 17 Oct 2015 08:52:35 +0200
+Subject: [PATCH] Allow building with gnupg 2.1.
+
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 406b9f3f..b621b236 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -95,7 +95,7 @@ AC_ARG_ENABLE(gpg-check,
DO_CHECK=$enableval, DO_CHECK=yes)
if test "$DO_CHECK" = "yes"; then
@@ -9,3 +20,6 @@
AC_PATH_PROGS(GNUPG, [gpg gpg2], no)
AC_DEFINE_UNQUOTED(GNUPG, "$GNUPG", [Path to gpg executable.])
ok="no"
+--
+2.14.1
+
diff --git a/x11-libs/libcryptui/files/libcryptui-3.12.2-gnupg-2.2.patch b/x11-libs/libcryptui/files/libcryptui-3.12.2-gnupg-2.2.patch
new file mode 100644
index 000000000000..4feaf2b18265
--- /dev/null
+++ b/x11-libs/libcryptui/files/libcryptui-3.12.2-gnupg-2.2.patch
@@ -0,0 +1,25 @@
+From 98afc46861678162aad8cae1c4c01dc4d6780bef Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Sat, 2 Sep 2017 17:48:44 +0200
+Subject: [PATCH] Allow building with gnupg 2.2
+
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 4486e7b2..be5b28b4 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -95,7 +95,7 @@ AC_ARG_ENABLE(gpg-check,
+ DO_CHECK=$enableval, DO_CHECK=yes)
+
+ if test "$DO_CHECK" = "yes"; then
+- accepted_versions="1.2 1.4 2.0 2.1"
++ accepted_versions="1.2 1.4 2.0 2.1 2.2"
+ AC_PATH_PROGS(GNUPG, [gpg gpg2], no)
+ AC_DEFINE_UNQUOTED(GNUPG, "$GNUPG", [Path to gpg executable.])
+ ok="no"
+--
+2.14.1
+
diff --git a/x11-libs/libcryptui/files/libcryptui-3.12.2-port-gcr-3.patch b/x11-libs/libcryptui/files/libcryptui-3.12.2-port-gcr-3.patch
new file mode 100644
index 000000000000..5ca31f664136
--- /dev/null
+++ b/x11-libs/libcryptui/files/libcryptui-3.12.2-port-gcr-3.patch
@@ -0,0 +1,154 @@
+From 728aceb6defd4e6e4f07fa49ca76f5e745230fee Mon Sep 17 00:00:00 2001
+From: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
+Date: Fri, 16 Sep 2016 11:46:55 +0200
+Subject: [PATCH 3/3] daemon: port to gcr-3
+
+This removes the dependency on libgnome-keyring and adds a dependency
+on libgcr instead.
+
+Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
+Signed-off-by: Stef Walter <stefw@redhat.com>
+ * Updated commit message
+
+https://bugzilla.gnome.org/show_bug.cgi?id=771522
+---
+ configure.ac | 14 +++++++-------
+ daemon/seahorse-secure-buffer.c | 7 ++++---
+ daemon/seahorse-secure-memory.c | 21 +++++++++++----------
+ 3 files changed, 22 insertions(+), 20 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index b621b236..4486e7b2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -252,18 +252,18 @@ if test "$enable_fatal_messages" = "yes" && test "$enable_debug" = "yes"; then
+ fi
+
+ dnl ****************************************************************************
+-dnl GNOME-KEYRING
++dnl GCR
+ dnl ****************************************************************************
+
+-PKG_CHECK_MODULES([GNOME_KEYRING], gnome-keyring-1 >= 2.25.5,
+- [enable_gnome_keyring=yes],[enable_gnome_keyring=no])
++PKG_CHECK_MODULES([GCR], gcr-3,
++ [enable_gcr=yes],[enable_gcr=no])
+
+-if test "$enable_gnome_keyring" = "no"; then
+- AC_MSG_ERROR([gnome-keyring library or headers not found.])
++if test "$enable_gcr" = "no"; then
++ AC_MSG_ERROR([gcr library or headers not found.])
+ fi
+
+-SEAHORSE_CFLAGS="$SEAHORSE_CFLAGS $GNOME_KEYRING_CFLAGS"
+-SEAHORSE_LIBS="$SEAHORSE_LIBS $GNOME_KEYRING_LIBS"
++SEAHORSE_CFLAGS="$SEAHORSE_CFLAGS $GCR_CFLAGS"
++SEAHORSE_LIBS="$SEAHORSE_LIBS $GCR_LIBS"
+
+ dnl ****************************************************************************
+ dnl LIBCRYPTUI
+diff --git a/daemon/seahorse-secure-buffer.c b/daemon/seahorse-secure-buffer.c
+index 0db87961..63f87cd3 100644
+--- a/daemon/seahorse-secure-buffer.c
++++ b/daemon/seahorse-secure-buffer.c
+@@ -20,7 +20,8 @@
+ #include "config.h"
+
+ #include "seahorse-secure-buffer.h"
+-#include <gnome-keyring-memory.h>
++#define GCR_API_SUBJECT_TO_CHANGE 1
++#include <gcr/gcr.h>
+
+ #include <string.h>
+
+@@ -92,7 +93,7 @@ seahorse_secure_buffer_real_insert_text (GtkEntryBuffer *buffer, guint position,
+ }
+ }
+
+- pv->text = gnome_keyring_memory_realloc (pv->text, pv->text_size);
++ pv->text = gcr_secure_memory_realloc (pv->text, pv->text_size);
+ }
+
+ /* Actual text insertion */
+@@ -158,7 +159,7 @@ seahorse_secure_buffer_finalize (GObject *obj)
+ SeahorseSecureBufferPrivate *pv = self->priv;
+
+ if (pv->text) {
+- gnome_keyring_memory_free (pv->text);
++ gcr_secure_memory_free (pv->text);
+ pv->text = NULL;
+ pv->text_bytes = pv->text_size = 0;
+ pv->text_chars = 0;
+diff --git a/daemon/seahorse-secure-memory.c b/daemon/seahorse-secure-memory.c
+index 3d94a674..f201d1df 100644
+--- a/daemon/seahorse-secure-memory.c
++++ b/daemon/seahorse-secure-memory.c
+@@ -23,7 +23,8 @@
+
+ #include <glib.h>
+
+-#include <gnome-keyring-memory.h>
++#define GCR_API_SUBJECT_TO_CHANGE 1
++#include <gcr/gcr.h>
+
+ #include "seahorse-secure-memory.h"
+
+@@ -47,7 +48,7 @@ switch_malloc (gsize size)
+ if (size == 0)
+ return NULL;
+ if (seahorse_use_secure_mem)
+- p = gnome_keyring_memory_try_alloc (size);
++ p = gcr_secure_memory_try_alloc (size);
+ else
+ p = malloc (size);
+ return p;
+@@ -71,7 +72,7 @@ switch_calloc (gsize num, gsize size)
+ if (size == 0 || num == 0)
+ return NULL;
+ if (seahorse_use_secure_mem)
+- p = gnome_keyring_memory_try_alloc (size * num);
++ p = gcr_secure_memory_try_alloc (size * num);
+ else
+ p = calloc (num, size);
+ return p;
+@@ -99,11 +100,11 @@ switch_realloc (gpointer mem, gsize size)
+
+ if (!mem) {
+ if (seahorse_use_secure_mem)
+- p = gnome_keyring_memory_alloc (size);
++ p = gcr_secure_memory_alloc (size);
+ else
+ p = malloc (size);
+- } else if (gnome_keyring_memory_is_secure (mem))
+- p = gnome_keyring_memory_try_realloc (mem, size);
++ } else if (gcr_secure_memory_is_secure (mem))
++ p = gcr_secure_memory_try_realloc (mem, size);
+ else
+ p = realloc (mem, size);
+ return p;
+@@ -120,8 +121,8 @@ static void
+ switch_free (gpointer mem)
+ {
+ if (mem) {
+- if (gnome_keyring_memory_is_secure (mem))
+- gnome_keyring_memory_free (mem);
++ if (gcr_secure_memory_is_secure (mem))
++ gcr_secure_memory_free (mem);
+ else
+ free (mem);
+ }
+@@ -138,9 +139,9 @@ seahorse_try_gk_secure_memory ()
+ {
+ gpointer p;
+
+- p = gnome_keyring_memory_try_alloc (10);
++ p = gcr_secure_memory_try_alloc (10);
+ if (p != NULL) {
+- gnome_keyring_memory_free (p);
++ gcr_secure_memory_free (p);
+ return TRUE;
+ }
+
+--
+2.14.1
+
diff --git a/x11-libs/libcryptui/files/libcryptui-3.12.2-prompt-recipient.patch b/x11-libs/libcryptui/files/libcryptui-3.12.2-prompt-recipient.patch
new file mode 100644
index 000000000000..0a172a635107
--- /dev/null
+++ b/x11-libs/libcryptui/files/libcryptui-3.12.2-prompt-recipient.patch
@@ -0,0 +1,38 @@
+From 7c805b5d4eca798a03ac56b40e53cb335e30c187 Mon Sep 17 00:00:00 2001
+From: Vlad Orlov <monsta@inbox.ru>
+Date: Mon, 15 Aug 2016 18:23:31 +0200
+Subject: [PATCH 1/3] libcryptui: fix logic flaw in the prompt recipients
+ dialog
+
+The prompt recipients dialog has been broken in commit
+https://github.com/GNOME/libcryptui/commit/cd74aa6bf810a5ce0935d2ec89d6db64dbbde24d#diff-f0ea8a1eef5386b0149314d2a1743e85L202
+
+The patch fixes the logic there and makes seahorse-tool's
+encrypt command work again. Therefore, seahorse plugins for both
+Nautilus and Nemo should start working as well.
+
+Bug-Debian: https://bugs.debian.org/770436
+
+https://bugzilla.gnome.org/show_bug.cgi?id=769944
+
+Reviewed-by: Stef Walter <stefw@gnome.org>
+---
+ libcryptui/cryptui.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libcryptui/cryptui.c b/libcryptui/cryptui.c
+index 92f0d5d4..2bbfa409 100644
+--- a/libcryptui/cryptui.c
++++ b/libcryptui/cryptui.c
+@@ -211,7 +211,7 @@ cryptui_prompt_recipients_with_symmetric (CryptUIKeyset *keyset,
+ *symmetric = cryptui_key_chooser_get_symmetric (chooser);
+ }
+
+- if (symmetric != NULL && !*symmetric) {
++ if (symmetric == NULL || *symmetric == FALSE) {
+ recipients = cryptui_key_chooser_get_recipients (chooser);
+ keys = g_new0(gchar*, g_list_length (recipients) + 1);
+ for (l = recipients, i = 0; l; l = g_list_next (l), i++)
+--
+2.14.1
+
diff --git a/x11-libs/libcryptui/libcryptui-3.12.2-r1.ebuild b/x11-libs/libcryptui/libcryptui-3.12.2-r1.ebuild
new file mode 100644
index 000000000000..c97291428d88
--- /dev/null
+++ b/x11-libs/libcryptui/libcryptui-3.12.2-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME2_EAUTORECONF="yes"
+
+inherit gnome2
+
+DESCRIPTION="User interface components for OpenPGP"
+HOMEPAGE="https://wiki.gnome.org/Apps/Seahorse"
+
+LICENSE="GPL-2+ LGPL-2.1+ FDL-1.1"
+SLOT="0"
+IUSE="debug +introspection libnotify"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86 ~x86-fbsd"
+
+# Pull in libnotify-0.7 because it's controlled via an automagic ifdef
+COMMON_DEPEND="
+ >=dev-libs/glib-2.32:2
+ >=x11-libs/gtk+-3:3[introspection?]
+ >=dev-libs/dbus-glib-0.72
+ >=app-crypt/gcr-3
+ x11-libs/libICE
+ x11-libs/libSM
+
+ >=app-crypt/gpgme-1:1=
+ >=app-crypt/gnupg-1.4
+
+ introspection? ( >=dev-libs/gobject-introspection-0.6.4:= )
+ libnotify? ( >=x11-libs/libnotify-0.7:= )
+"
+DEPEND="${COMMON_DEPEND}
+ app-text/rarian
+ >=dev-util/gtk-doc-am-1.9
+ >=dev-util/intltool-0.35
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+# Before 3.1.4, libcryptui was part of seahorse
+RDEPEND="${COMMON_DEPEND}
+ !<app-crypt/seahorse-3.1.4
+"
+
+PATCHES=(
+ # Support GnuPG 2.1, in master
+ # https://bugzilla.gnome.org/show_bug.cgi?id=745843
+ "${FILESDIR}"/${PN}-3.12.2-gnupg-2.1.patch
+ # from master, in Debian as well
+ "${FILESDIR}"/${PN}-3.12.2-prompt-recipient.patch
+ "${FILESDIR}"/${PN}-3.12.2-fix-return-types.patch
+ "${FILESDIR}"/${PN}-3.12.2-port-gcr-3.patch
+ # Support GnuPG 2.2
+ # https://bugs.gentoo.org/show_bug.cgi?id=629572
+ "${FILESDIR}"/${PN}-3.12.2-gnupg-2.2.patch
+)
+
+src_prepare() {
+ # FIXME: Do not mess with CFLAGS with USE="debug"
+ sed -e '/CFLAGS="$CFLAGS -g -O0/d' \
+ -e 's/-Werror//' \
+ -i configure.ac configure || die "sed failed"
+
+ gnome2_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ --disable-static \
+ --disable-update-mime-database \
+ $(use_enable debug) \
+ $(use_enable introspection) \
+ $(use_enable libnotify)
+}