# Created by: Michael Nottebrock PORTNAME= pinentry PORTVERSION= 1.2.0 PORTREVISION?= 0 CATEGORIES= security MASTER_SITES= GNUPG/pinentry MAINTAINER= jhale@FreeBSD.org COMMENT?= Collection of simple PIN or passphrase entry dialogs LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/COPYING 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 EFL FLTK GTK2 QT5 GNOME3 OPTIONS_DEFAULT= NCURSES FRONTEND_DESC= Default frontend TTY_DESC= Console version PINENTRY_TTY= pinentry-tty TTY_RUN_DEPENDS= ${PINENTRY_TTY}:security/pinentry-tty NCURSES_DESC= Curses frontend PINENTRY_NCURSES= pinentry-curses NCURSES_RUN_DEPENDS= ${PINENTRY_NCURSES}:security/pinentry-curses EFL_DESC= EFL frontend PINENTRY_EFL= pinentry-efl EFL_RUN_DEPENDS= ${PINENTRY_EFL}:security/pinentry-efl FLTK_DESC= FLTK frontend PINENTRY_FLTK= pinentry-fltk FLTK_RUN_DEPENDS= ${PINENTRY_FLTK}:security/pinentry-fltk GTK2_DESC= Gtk+ 2 frontend PINENTRY_GTK2= pinentry-gtk-2 GTK2_RUN_DEPENDS= ${PINENTRY_GTK2}:security/pinentry-gtk2 QT5_DESC= Qt 5 frontend PINENTRY_QT5= pinentry-qt5 QT5_RUN_DEPENDS= ${PINENTRY_QT5}:security/pinentry-qt5 GNOME3_DESC= GNOME 3 frontend PINENTRY_GNOME3= pinentry-gnome3 # Due to a dependency loop that exists between security/pinentry-gnome3, # security/gcr, security/gnupg and security/pinentry, the user must install # pinentry-gnome3 manually. See pkg-message.gnome3 for more details. #GNOME3_RUN_DEPENDS= ${PINENTRY_GNOME3}:security/pinentry-gnome3 GNOME3_VARS= PKGMESSAGE+=${.CURDIR}/pkg-message.gnome3 .include .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= libassuan.so:security/libassuan \ libgpg-error.so:security/libgpg-error USES+= gmake iconv localbase ncurses pkgconfig GNU_CONFIGURE= yes CONFIGURE_ARGS= --disable-pinentry-emacs LDFLAGS+= -Wl,--as-needed OPTIONS_DEFINE= LIBSECRET LIBSECRET_DESC= Saving the passphrase with libsecret LIBSECRET_CONFIGURE_ENABLE= libsecret LIBSECRET_LIB_DEPENDS= libsecret-1.so:security/libsecret LIBSECRET_USES= gnome LIBSECRET_USE= GNOME=glib20 .if ${PINENTRY_GUI} == "gnome3" OPTIONS_SLAVE= LIBSECRET LIB_DEPENDS+= libgcr-base-3.so:security/gcr PLIST_FILES= bin/pinentry-gnome3 .else CONFIGURE_ARGS+=--disable-pinentry-gnome3 .endif .if ${PINENTRY_GUI} == "qt5" USES+= compiler:c++11-lib qt:5 USE_QT= core gui widgets buildtools_build PLIST_FILES= bin/pinentry-qt5 CONFIGURE_ARGS+=--enable-pinentry-qt5 \ --program-suffix=5 .else CONFIGURE_ARGS+=--disable-pinentry-qt --disable-pinentry-qt5 .endif .if ${PINENTRY_GUI} == "gtk2" USES+= gnome USE_GNOME+= gtk20 PLIST_FILES= bin/pinentry-gtk-2 .else CONFIGURE_ARGS+=--disable-pinentry-gtk2 .endif .if ${PINENTRY_GUI} == "efl" LIB_DEPENDS+= libefl.so:devel/efl PLIST_FILES= bin/pinentry-efl .else CONFIGURE_ARGS+=--disable-pinentry-efl .endif .if ${PINENTRY_GUI} == "fltk" USES+= compiler:c++11-lib LIB_DEPENDS+= libfltk.so:x11-toolkits/fltk PLIST_FILES= bin/pinentry-fltk .else CONFIGURE_ARGS+=--disable-pinentry-fltk .endif .if ${PINENTRY_GUI} == "curses" PLIST_FILES= bin/pinentry-curses .else CONFIGURE_ARGS+=--disable-pinentry-curses .endif .if ${PINENTRY_GUI} == "tty" PLIST_FILES= bin/pinentry-tty CONFIGURE_ARGS+=--enable-pinentry-tty .else CONFIGURE_ARGS+=--disable-pinentry-tty .endif post-install: ${RM} ${STAGEDIR}${PREFIX}/bin/pinentry \ ${STAGEDIR}${PREFIX}/share/info/pinentry.info .endif # !defined(PINENTRY_GUI) .include