public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: x11-libs/libcryptui/files/, x11-libs/libcryptui/
@ 2017-09-02 18:00 Gilles Dartiguelongue
  0 siblings, 0 replies; only message in thread
From: Gilles Dartiguelongue @ 2017-09-02 18:00 UTC (permalink / raw
  To: gentoo-commits

commit:     fc384ea88d3813e749f584146f912eb70fd9cbe2
Author:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
AuthorDate: Sat Sep  2 16:09:59 2017 +0000
Commit:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
CommitDate: Sat Sep  2 18:00:44 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fc384ea8

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

 .../files/libcryptui-3.12.2-fix-return-types.patch |  34 +++++
 .../files/libcryptui-3.12.2-gnupg-2.1.patch        |  20 ++-
 .../files/libcryptui-3.12.2-gnupg-2.2.patch        |  25 ++++
 .../files/libcryptui-3.12.2-port-gcr-3.patch       | 154 +++++++++++++++++++++
 .../files/libcryptui-3.12.2-prompt-recipient.patch |  38 +++++
 x11-libs/libcryptui/libcryptui-3.12.2-r1.ebuild    |  73 ++++++++++
 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 00000000000..d3fdf3c408d
--- /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 ecf3a2eecf8..d968dd367a1 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 00000000000..4feaf2b1826
--- /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 00000000000..5ca31f66413
--- /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 00000000000..0a172a63510
--- /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 00000000000..c97291428d8
--- /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)
+}


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2017-09-02 18:00 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-02 18:00 [gentoo-commits] repo/gentoo:master commit in: x11-libs/libcryptui/files/, x11-libs/libcryptui/ Gilles Dartiguelongue

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