aboutsummaryrefslogtreecommitdiffstats
path: root/security/pinentry/Makefile
blob: 58e358a374d95863962fc5088175c041c313ccac (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# Created by: Michael Nottebrock <lofi@FreeBSD.org>
# $FreeBSD$

PORTNAME=   pinentry
PORTVERSION=    0.9.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

USES+=      iconv gmake pkgconfig
GNU_CONFIGURE=  yes

CFLAGS+=    -I${LOCALBASE}/include
LDFLAGS+=   -L${LOCALBASE}/lib

.if ${PINENTRY_GUI} == "qt4"
. if exists(/usr/lib/libc++.so)
IGNORE=     does not compile with libc++
. endif
USE_QT4=    gui moc_build
PLIST_FILES=    bin/pinentry-qt4
.else
CONFIGURE_ARGS+=--disable-pinentry-qt4
.endif

.if ${PINENTRY_GUI} == "gtk2"
USE_GNOME+= gtk20
PLIST_FILES=    bin/pinentry-gtk-2
.else
CONFIGURE_ARGS+=--disable-pinentry-gtk2
.endif

.if ${PINENTRY_GUI} == "curses"
USES+=      ncurses
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

pre-configure:
.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>