Quellcode durchsuchen

pinentry: new package

[Thomas:
 - fix license version: the license is GPLv2+, not GPLv2
 - make sure the ncurses backend is selected if none of the other
   backends are selected.
 - add dependency on libiconv of the curses and gtk2 backends, needed
   in !locale configurations.]

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Reviewed-by: Markos Chandras <Markos.Chandras@imgtec.com>
Reviewed-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Vicente Olivert Riera vor 11 Jahren
Ursprung
Commit
90b2765f5f
3 geänderte Dateien mit 104 neuen und 0 gelöschten Zeilen
  1. 1 0
      package/Config.in
  2. 55 0
      package/pinentry/Config.in
  3. 48 0
      package/pinentry/pinentry.mk

+ 1 - 0
package/Config.in

@@ -1080,6 +1080,7 @@ source "package/inotify-tools/Config.in"
 source "package/lockfile-progs/Config.in"
 source "package/logrotate/Config.in"
 source "package/logsurfer/Config.in"
+source "package/pinentry/Config.in"
 source "package/screen/Config.in"
 source "package/sudo/Config.in"
 if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS

+ 55 - 0
package/pinentry/Config.in

@@ -0,0 +1,55 @@
+menuconfig BR2_PACKAGE_PINENTRY
+	bool "pinentry"
+	# At least one backend is needed to avoid build breakage
+	select BR2_PACKAGE_PINENTRY_NCURSES if !BR2_PACKAGE_PINENTRY_GTK2 && !BR2_PACKAGE_PINENTRY_QT4
+	help
+	  A collection of simple PIN or pass-phrase entry dialogs
+
+	  https://www.gnupg.org/related_software/pinentry/
+
+if BR2_PACKAGE_PINENTRY
+
+config BR2_PACKAGE_PINENTRY_NCURSES
+	bool "pinentry-ncurses"
+	select BR2_PACKAGE_NCURSES
+	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
+	help
+	  The pinentry-ncurses tool
+
+config BR2_PACKAGE_PINENTRY_GTK2
+	bool "pinentry-gtk2"
+	# propagate libgtk2's dependencies
+	depends on BR2_PACKAGE_XORG7
+	depends on BR2_USE_WCHAR
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_USE_MMU
+	depends on BR2_INSTALL_LIBSTDCPP
+	# select libgtk2
+	select BR2_PACKAGE_LIBGTK2
+	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
+	help
+	  The pinentry-gtk2 tool
+
+comment "pinentry-gtk2 needs X and a toolchain w/ wchar, threads, C++"
+	depends on BR2_USE_MMU
+	depends on !BR2_PACKAGE_XORG7 || !BR2_USE_WCHAR || \
+		!BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
+
+config BR2_PACKAGE_PINENTRY_QT4
+	bool "pinentry-qt4"
+	# propagate qt's dependencies
+	depends on !BR2_avr32 # lacks TLS
+	depends on BR2_USE_MMU # fork
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	# select qt
+	select BR2_PACKAGE_QT
+	help
+	  The pinentry-qt4 tool
+
+comment "pinentry-qt4 needs a toolchain w/ C++, threads"
+	depends on !BR2_avr32
+	depends on BR2_USE_MMU
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
+
+endif

+ 48 - 0
package/pinentry/pinentry.mk

@@ -0,0 +1,48 @@
+################################################################################
+#
+# pinentry
+#
+################################################################################
+
+PINENTRY_VERSION = 0.8.3
+PINENTRY_SOURCE = pinentry-$(PINENTRY_VERSION).tar.bz2
+PINENTRY_SITE = ftp://ftp.gnupg.org/gcrypt/pinentry
+PINENTRY_LICENSE = GPLv2+
+PINENTRY_LICENSE_FILES = COPYING
+PINENTRY_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv)
+PINENTRY_CONF_OPT =  --disable-pinentry-gtk # gtk1
+PINENTRY_CONF_OPT += --disable-pinentry-qt  # qt3
+PINENTRY_CONF_OPT += --without-libcap       # requires PAM
+
+# build with X if available
+ifeq ($(BR2_PACKAGE_XORG7),y)
+PINENTRY_CONF_OPT += --with-x
+else
+PINENTRY_CONF_OPT += --without-x
+endif
+
+# pinentry-ncurses backend
+ifeq ($(BR2_PACKAGE_PINENTRY_NCURSES),y)
+PINENTRY_CONF_OPT += --enable-ncurses
+PINENTRY_DEPENDENCIES += ncurses
+else
+PINENTRY_CONF_OPT += --disable-ncurses
+endif
+
+# pinentry-gtk2 backend
+ifeq ($(BR2_PACKAGE_PINENTRY_GTK2),y)
+PINENTRY_CONF_OPT += --enable-pinentry-gtk2
+PINENTRY_DEPENDENCIES += libgtk2
+else
+PINENTRY_CONF_OPT += --disable-pinentry-gtk2
+endif
+
+# pinentry-qt4 backend
+ifeq ($(BR2_PACKAGE_PINENTRY_QT4),y)
+PINENTRY_CONF_OPT += --enable-pinentry-qt4
+PINENTRY_DEPENDENCIES += qt
+else
+PINENTRY_CONF_OPT += --disable-pinentry-qt4
+endif
+
+$(eval $(autotools-package))