163cafb982
Fix typos and ESL. Use security/gcr as recommended by upstream. Consequently, allow the security/pinenty-gnome3 child port to build normally.
178 lines
4.5 KiB
Makefile
178 lines
4.5 KiB
Makefile
PORTNAME= pinentry
|
|
PORTVERSION= 1.3.3
|
|
PORTREVISION?= 0
|
|
CATEGORIES= security
|
|
MASTER_SITES= GNUPG/pinentry
|
|
|
|
MAINTAINER= jhale@FreeBSD.org
|
|
COMMENT?= Collection of simple PIN or passphrase entry dialogs
|
|
WWW= https://www.gnupg.org/aegypten2
|
|
|
|
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= EFL FLTK GNOME GTK2 NCURSES QT5 QT6 TTY
|
|
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
|
|
# Due to a dependency loop that exists between security/pinentry-efl,
|
|
# devel/efl, graphics/poppler, security/gpgmepp, security/gpgme,
|
|
# security/gnupg and security/pinentry, the user must install
|
|
# pinentry-efl manually. See pkg-message.dep-loop for more details.
|
|
#EFL_RUN_DEPENDS= ${PINENTRY_EFL}:security/pinentry-efl
|
|
EFL_SUB_FILES= pkg-message.dep-loop
|
|
EFL_SUB_LIST= PKGNAME="pinentry-efl"
|
|
EFL_VARS= PKGMESSAGE+=${WRKDIR}/pkg-message.dep-loop
|
|
|
|
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
|
|
|
|
QT6_DESC= Qt 6 frontend
|
|
PINENTRY_QT6= pinentry-qt
|
|
QT6_RUN_DEPENDS= ${PINENTRY_QT6}:security/pinentry-qt6
|
|
|
|
GNOME_DESC= GNOME frontend
|
|
PINENTRY_GNOME= pinentry-gnome3
|
|
GNOME_RUN_DEPENDS= ${PINENTRY_GNOME}:security/pinentry-gnome
|
|
|
|
.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= 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= Store passphrases with libsecret
|
|
LIBSECRET_CONFIGURE_ENABLE= libsecret
|
|
LIBSECRET_LIB_DEPENDS= libsecret-1.so:security/libsecret
|
|
LIBSECRET_USES= gnome
|
|
LIBSECRET_USE= GNOME=glib20
|
|
|
|
.if ${PINENTRY_GUI} == "gnome"
|
|
OPTIONS_SLAVE= LIBSECRET
|
|
LIB_DEPENDS+= libgcr-4.so:security/gcr
|
|
PLIST_FILES= bin/pinentry-gnome3
|
|
.else
|
|
CONFIGURE_ARGS+=--disable-pinentry-gnome3
|
|
.endif
|
|
|
|
.if ${PINENTRY_GUI} == "qt5"
|
|
USES+= compiler:c++11-lang kde:5 qt:5 xorg
|
|
USE_KDE= wayland
|
|
USE_QT= core gui widgets x11extras buildtools:build
|
|
USE_XORG= x11
|
|
PLIST_FILES= bin/pinentry-qt5 \
|
|
share/applications/org.gnupg.pinentry-qt5.desktop \
|
|
share/pixmaps/pinentry-qt5.png
|
|
CONFIGURE_ARGS+=--enable-pinentry-qt5
|
|
.else
|
|
CONFIGURE_ARGS+=--disable-pinentry-qt5
|
|
.endif
|
|
|
|
.if ${PINENTRY_GUI} == "qt6"
|
|
USES+= compiler:c++17-lang kde:6 qt:6
|
|
USE_CXXSTD= c++17
|
|
USE_KDE= guiaddons windowsystem
|
|
USE_QT= base
|
|
PLIST_FILES= bin/pinentry-qt \
|
|
share/applications/org.gnupg.pinentry-qt.desktop \
|
|
share/pixmaps/pinentry.png
|
|
CONFIGURE_ARGS+=--enable-pinentry-qt
|
|
.else
|
|
CONFIGURE_ARGS+=--disable-pinentry-qt
|
|
.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
|
|
|
|
# Rename icon to prevent install conflicts with the Qt6 frontend.
|
|
post-extract:
|
|
@(cd ${WRKSRC}/qt5/icons && ${MV} pinentry.png pinentry-qt5.png)
|
|
|
|
post-install:
|
|
${RM} ${STAGEDIR}${PREFIX}/bin/pinentry \
|
|
${STAGEDIR}${PREFIX}/share/info/pinentry.info
|
|
|
|
.endif # !defined(PINENTRY_GUI)
|
|
|
|
.include <bsd.port.mk>
|