diff options
author | Gilles Dartiguelongue <eva@gentoo.org> | 2017-09-02 18:09:59 +0200 |
---|---|---|
committer | Gilles Dartiguelongue <eva@gentoo.org> | 2017-09-02 20:00:44 +0200 |
commit | fc384ea88d3813e749f584146f912eb70fd9cbe2 (patch) | |
tree | 472777f80bbcbcefe50e9758fd2359029a82d1ef /x11-libs | |
parent | sys-kernel/gentoo-sources: Linux patch 4.4.86 (diff) | |
download | gentoo-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')
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) +} |