--- a/components/pinentry/Makefile Fri Jun 17 08:45:56 2016 -0700
+++ b/components/pinentry/Makefile Fri Jun 17 08:45:56 2016 -0700
@@ -28,14 +28,15 @@
PATH = $(GNUBIN):$(USRBINDIR)
COMPONENT_NAME= pinentry
-COMPONENT_VERSION= 0.7.6
+COMPONENT_VERSION= 0.9.7
COMPONENT_PROJECT_URL= http://www.gnupg.org/related_software/pinentry/
+COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.bz2
COMPONENT_ARCHIVE_HASH= \
- sha256:14670c18f4a042ffcbd7a937aa3f15de392816c56b472588383d8378f65b42ab
+ sha256:6398208394972bbf897c3325780195584682a0d0c164ca5a0da35b93b1e4e7b2
COMPONENT_ARCHIVE_URL= ftp://ftp.gnupg.org/gcrypt/pinentry/$(COMPONENT_ARCHIVE)
COMPONENT_BUGDB= utility/gnupg
-TPNO= 8850
+TPNO= 26271
INSTALL_TARGET=
TEST_TARGET= $(NO_TESTS)
@@ -78,10 +79,6 @@
CONFIGURE_OPTIONS += --infodir=$(CONFIGURE_INFODIR)
CONFIGURE_OPTIONS += --enable-pinentry-curses
CONFIGURE_OPTIONS += --enable-pinentry-gtk2
-CONFIGURE_OPTIONS += --disable-glibtest
-CONFIGURE_OPTIONS += --disable-gtktest
-CONFIGURE_OPTIONS += --enable-threading
-CONFIGURE_OPTIONS += --disable-pinentry-gtk
CONFIGURE_OPTIONS += --disable-pinentry-qt
CONFIGURE_OPTIONS += --disable-ncurses
@@ -94,6 +91,6 @@
cd $(PROTOUSRLIBDIR) && ln -sf pinentry-gtk-2 pinentry
REQUIRED_PACKAGES += library/desktop/gtk2
-REQUIRED_PACKAGES += library/desktop/pango
REQUIRED_PACKAGES += library/glib2
-REQUIRED_PACKAGES += x11/library/libx11
+REQUIRED_PACKAGES += library/security/libassuan
+REQUIRED_PACKAGES += library/security/libgpg-error
--- a/components/pinentry/patches/000-pinentry-curses.c.patch Fri Jun 17 08:45:56 2016 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
---- pinentry/pinentry-curses.c Thu Apr 16 08:06:53 2009
-+++ pinentry/pinentry-curses.c Mon Nov 9 08:23:40 2009
-@@ -665,7 +665,7 @@
- if (has_colors ())
- {
- start_color ();
-- use_default_colors ();
-+ /* use_default_colors (); */
-
- if (pinentry->color_so == PINENTRY_COLOR_DEFAULT)
- {
-@@ -741,7 +741,7 @@
- }
- break;
-
-- case '\t':
-+ case '\011': /* HARD TAB */
- switch (diag.pos)
- {
- case DIALOG_POS_PIN:
-@@ -767,11 +767,11 @@
- }
- break;
-
-- case '\e':
-+ case '\005': /* ENQ */
- done = -2;
- break;
-
-- case '\r':
-+ case '\015': /* CR */
- switch (diag.pos)
- {
- case DIALOG_POS_PIN:
--- a/components/pinentry/patches/001-util.c.patch Fri Jun 17 08:45:56 2016 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
---- secmem/util.c Wed Oct 28 09:42:42 2009
-+++ secmem/util.c Wed Oct 28 09:43:01 2009
-@@ -34,11 +34,10 @@
-
- #ifndef TEMP_FAILURE_RETRY
- #define TEMP_FAILURE_RETRY(expression) \
-- (__extension__ \
- ({ long int __result; \
- do __result = (long int) (expression); \
- while (__result == -1L && errno == EINTR); \
-- __result; }))
-+ __result; })
- #endif
-
- #ifndef HAVE_DOSISH_SYSTEM
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/pinentry/patches/10_reorder_headers.patch Fri Jun 17 08:45:56 2016 -0700
@@ -0,0 +1,36 @@
+This patch updates the ordering of two header files in the
+pinentry-curses.c; without the fix the compilation fails with:
+"/var/tmp/userland-clone-new/components/pinentry/pinentry-0.9.7/pinentry/pinentry-curses.c", line 1028: duplicate case in switch: 13
+
+The problem is caused by the the fact, that ERR definition in
+sys/regset.h on Solaris can overwrite ERR macro defined in curses.h.
+The paths below describe the sources of the problematic macro expansion.
+
+pinentry/pinentry-curses.c:
+#include <curses.h>
+#include <signal.h>
+
+/usr/include/sys/signal.h
+ `-> #include <sys/ucontext.h>
+ `-> #include <sys/regset.h>
+ `-> #define ERR 13
+
+/usr/include/curses.h
+ `-> #if !defined(ERR) || ((ERR) != -1)
+ #define ERR (-1)
+ #endif
+
+The patch was developed internally.
+
+--- ./pinentry/pinentry-curses.c.orig Tue Jun 7 08:10:33 2016
++++ ./pinentry/pinentry-curses.c Tue Jun 7 08:10:53 2016
+@@ -22,8 +22,8 @@
+ #include <config.h>
+ #endif
+ #include <assert.h>
+-#include <curses.h>
+ #include <signal.h>
++#include <curses.h>
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <stdlib.h>
--- a/components/pinentry/pinentry.license Fri Jun 17 08:45:56 2016 -0700
+++ b/components/pinentry/pinentry.license Fri Jun 17 08:45:56 2016 -0700
@@ -278,3 +278,63 @@
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
+