security/pinentry:

- Resolve mutual conflict for security/pinentry-* ports
- Add new port security/pinentry-tty for pure console version of pinentry
- Convert security/pinentry to meta-alike port that depends on pinentry-tty by
  default and installs commons files (documentation). Mark it architecture
  independent.
This commit is contained in:
Max Brazhnikov 2014-12-24 22:33:57 +00:00
parent ab3919596a
commit 3d1c528fc4
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=375494
7 changed files with 88 additions and 59 deletions

View File

@ -725,6 +725,7 @@
SUBDIR += pinentry-curses
SUBDIR += pinentry-gtk2
SUBDIR += pinentry-qt4
SUBDIR += pinentry-tty
SUBDIR += pkcrack
SUBDIR += pkcs11-dump
SUBDIR += pkcs11-gateway

View File

@ -2,15 +2,11 @@
# $FreeBSD$
PORTNAME= pinentry
PORTREVISION= 0
PORTREVISION= 1
COMMENT= Curses version of the gnupg password dialog
COMMENT= Curses version of the GnuPG password dialog
CONFLICTS_INSTALL= pinentry-[0-9]* pinentry-gtk-* \
pinentry-gtk2-* pinentry-qt-* pinentry-qt4-*
PINENTRY_SLAVE= -curses
PORT_OPTIONS+= NCURSES
PINENTRY_GUI= curses
MASTERDIR= ${.CURDIR}/../pinentry

View File

@ -2,15 +2,11 @@
# $FreeBSD$
PORTNAME= pinentry
PORTREVISION= 0
PORTREVISION= 1
COMMENT= GTK+ 2.0 version of the GnuPG password dialog
CONFLICTS_INSTALL= pinentry-[0-9]* pinentry-curses-* pinentry-gtk-* \
pinentry-qt-* pinentry-qt4-*
PINENTRY_SLAVE= -gtk2
PORT_OPTIONS+= GTK2
PINENTRY_GUI= gtk2
MASTERDIR= ${.CURDIR}/../pinentry

View File

@ -1,15 +1,11 @@
# $FreeBSD$
PORTNAME= pinentry
PORTREVISION= 0
PORTREVISION= 1
COMMENT= Qt 4 version of the gnupg password dialog
COMMENT= Qt 4 version of the GnuPG password dialog
CONFLICTS_INSTALL= pinentry-[0-9]* pinentry-curses-* pinentry-gtk-* \
pinentry-gtk2-* pinentry-qt-*
PINENTRY_SLAVE= -qt4
PORT_OPTIONS+= QT4
PINENTRY_GUI= qt4
MASTERDIR= ${.CURDIR}/../pinentry

View File

@ -0,0 +1,12 @@
# $FreeBSD$
PORTNAME= pinentry
PORTREVISION= 0
COMMENT= Console version of the GnuPG password dialog
PINENTRY_GUI= tty
MASTERDIR= ${.CURDIR}/../pinentry
.include "${MASTERDIR}/Makefile"

View File

@ -3,77 +3,109 @@
PORTNAME= pinentry
PORTVERSION= 0.9.0
PORTREVISION?= 0
PORTREVISION?= 1
CATEGORIES= security
MASTER_SITES= GNUPG/pinentry
MAINTAINER= makc@FreeBSD.org
COMMENT?= Collection of simple PIN or passphrase entry dialogs
USES= tar:bzip2
.if !defined(PINENTRY_GUI)
INFO= pinentry
NO_ARCH= yes
NO_BUILD= yes
PLIST_FILES= bin/pinentry
OPTIONS_SINGLE= FRONTEND
OPTIONS_SINGLE_FRONTEND= TTY NCURSES GTK2 QT4
OPTIONS_DEFAULT= TTY
FRONTEND_DESC= Default frontend
TTY_DESC= Console version
PINENTRY_TTY= pinentry-tty
TTY_RUN_DEPENDS= ${PINENTRY_TTY}:${PORTSDIR}/security/pinentry-tty
NCURSES_DESC= Curses frontend
PINENTRY_NCURSES= pinentry-curses
NCURSES_RUN_DEPENDS= ${PINENTRY_NCURSES}:${PORTSDIR}/security/pinentry-curses
GTK2_DESC= Gtk+ 2 frontend
PINENTRY_GTK2= pinentry-gtk-2
GTK2_RUN_DEPENDS= ${PINENTRY_GTK2}:${PORTSDIR}/security/pinentry-gtk2
QT4_DESC= Qt 4 frontend
PINENTRY_QT4= pinentry-qt4
QT4_RUN_DEPENDS= ${PINENTRY_QT4}:${PORTSDIR}/security/pinentry-qt4
.include <bsd.port.options.mk>
.for gui in ${OPTIONS_SINGLE_FRONTEND}
. if ${PORT_OPTIONS:M${gui}}
PINENTRY_BIN= ${PINENTRY_${gui}}
. endif
.endfor
do-install:
${LN} -sf ${PINENTRY_BIN} ${STAGEDIR}${PREFIX}/bin/pinentry
${INSTALL_DATA} ${WRKSRC}/doc/pinentry.info ${STAGEDIR}${PREFIX}/${INFO_PATH}
.else # !defined(PINENTRY_GUI)
PKGNAMESUFFIX= -${PINENTRY_GUI}
LIB_DEPENDS= libgcrypt.so:${PORTSDIR}/security/libgcrypt \
libksba.so:${PORTSDIR}/security/libksba
CONFLICTS_INSTALL?= pinentry-[a-z]*
USES= iconv gmake pkgconfig tar:bzip2
USES+= iconv gmake pkgconfig
GNU_CONFIGURE= yes
INFO= pinentry
CFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
.if !defined(PINENTRY_SLAVE)
OPTIONS_MULTI= FRONTEND
OPTIONS_MULTI_FRONTEND= NCURSES GTK2 QT4
OPTIONS_DEFAULT= ${OPTIONS_MULTI_FRONTEND}
NCURSES_DESC= Curses frontend
GTK2_DESC= Gtk+ 2 frontend
QT4_DESC= Qt 4 frontend
.if ${PINENTRY_GUI} == "qt4"
. if exists(/usr/lib/libc++.so)
OPTIONS_DEFAULT:= ${OPTIONS_DEFAULT:NQT4}
QT4_DESC= Qt 4 frontend (broken)
. endif
.else
PKGNAMESUFFIX= ${PINENTRY_SLAVE}
.endif
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MQT4}
. if exists(/usr/lib/libc++.so)
IGNORE= with Qt 4 frontend does not compile with libc++
IGNORE= does not compile with libc++
. endif
USE_QT4= gui moc_build
PLIST_SUB+= WITH_QT4=""
PLIST_FILES= bin/pinentry-qt4
.else
CONFIGURE_ARGS+=--disable-pinentry-qt4
PLIST_SUB+= WITH_QT4="@comment "
.endif
.if ${PORT_OPTIONS:MGTK2}
.if ${PINENTRY_GUI} == "gtk2"
USE_GNOME+= gtk20
PLIST_SUB+= WITH_GTK2=""
PLIST_FILES= bin/pinentry-gtk-2
.else
CONFIGURE_ARGS+=--disable-pinentry-gtk2
PLIST_SUB+= WITH_GTK2="@comment "
.endif
.if ${PORT_OPTIONS:MNCURSES}
.if ${PINENTRY_GUI} == "curses"
USES+= ncurses
PLIST_SUB+= WITH_NCURSES=""
PLIST_FILES= bin/pinentry-curses
.else
CONFIGURE_ARGS+=--disable-pinentry-curses
PLIST_SUB+= WITH_NCURSES="@comment "
.endif
.if ${PINENTRY_GUI} == "tty"
PLIST_FILES= bin/pinentry-tty
CONFIGURE_ARGS+=--enable-pinentry-tty
.else
CONFIGURE_ARGS+=--disable-pinentry-tty
.endif
pre-configure:
.if ${PORT_OPTIONS:MQT4}
.if ${PINENTRY_GUI} == "qt4"
cd ${WRKSRC}/qt4 && \
${MOC} pinentrydialog.h > pinentrydialog.moc && \
${MOC} qsecurelineedit.h > qsecurelineedit.moc && \
${MOC} pinentryconfirm.h > pinentryconfirm.moc
.endif
post-install:
${RM} ${STAGEDIR}${PREFIX}/bin/pinentry \
${STAGEDIR}${PREFIX}/info/pinentry.info
.endif # !defined(PINENTRY_GUI)
.include <bsd.port.mk>

View File

@ -1,4 +0,0 @@
bin/pinentry
%%WITH_NCURSES%%bin/pinentry-curses
%%WITH_GTK2%%bin/pinentry-gtk-2
%%WITH_QT4%%bin/pinentry-qt4