23093523 update pinentry to version 0.9.7
authorJan Friedel <jan.friedel@oracle.com>
Fri, 17 Jun 2016 08:45:56 -0700
changeset 6238 e530e1a7f687
parent 6237 a439a1650c68
child 6239 925323933ffd
23093523 update pinentry to version 0.9.7
components/pinentry/Makefile
components/pinentry/patches/000-pinentry-curses.c.patch
components/pinentry/patches/001-util.c.patch
components/pinentry/patches/10_reorder_headers.patch
components/pinentry/pinentry.license
--- 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.
+