aboutsummaryrefslogtreecommitdiff
path: root/security/gpgme/Makefile
blob: 80f3a98434c06b3eb76a4ac4f343b887828469b1 (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
112
113
114
115
116
117
# Created by: teramoto@comm.eng.osaka-u.ac.jp
# $FreeBSD$

PORTNAME=	gpgme
PORTVERSION=	1.9.0
PORTREVISION?=	1
CATEGORIES?=	security
MASTER_SITES=	GNUPG/gpgme

MAINTAINER=	jhale@FreeBSD.org
COMMENT?=	Library to make access to GnuPG easier

LICENSE?=	LGPL21+
LICENSE_FILE?=	${WRKSRC}/COPYING.LESSER

LIB_DEPENDS=	libassuan.so:security/libassuan \
		libgpg-error.so:security/libgpg-error

GNU_CONFIGURE=	yes
USES=		cpe gmake libtool localbase:ldflags tar:bzip2
USE_LDCONFIG=	yes

INSTALL_TARGET=	install-strip
TEST_TARGET=	check

CPE_VENDOR=	gnu

.if !defined(SLAVEPORT)
CONFIGURE_ARGS+=--enable-languages="cl"

INFO=		gpgme
PORTDOCS=	AUTHORS ChangeLog INSTALL NEWS README THANKS TODO

OPTIONS_DEFINE=		DOCS UISERVER
OPTIONS_SINGLE=		GNUPG
OPTIONS_SINGLE_GNUPG=	GNUPG1 GNUPG2
OPTIONS_DEFAULT=	GNUPG2 UISERVER

GNUPG1_DESC=		Build gpgme library for GnuPG 1.x
GNUPG1_BUILD_DEPENDS=	gpgv:security/gnupg1
GNUPG1_RUN_DEPENDS=	gpgv:security/gnupg1

GNUPG2_DESC=		Build gpgme library for GnuPG 2.x
GNUPG2_BUILD_DEPENDS=	gpg2:security/gnupg
GNUPG2_RUN_DEPENDS=	gpg2:security/gnupg

UISERVER_DESC=			GnuPG UI server support
UISERVER_CONFIGURE_ENABLE=	fd-passing
.endif

.include <bsd.port.options.mk>

.if !exists(${LOCALBASE}/bin/gpgsm)
CONFIGURE_ARGS+=	--disable-gpgsm-test
.endif

.if defined(SLAVEPORT)
LIB_DEPENDS+=	libgpgme.so:security/gpgme
BUILD_WRKSRC=	${WRKSRC}/lang/${BINDING_NAME}
INSTALL_WRKSRC=	${WRKSRC}/lang/${BINDING_NAME}
NO_TEST=	yes

.  if ${SLAVEPORT} == "cpp"
CONFIGURE_ARGS+=--enable-languages="cpp"
USES+=		compiler:c++11-lib
# Unhide std::to_string() to fix build with GCC 4.8 (ports/193528).
CXXFLAGS+=	-D_GLIBCXX_USE_C99
.  endif

.  if ${SLAVEPORT} == "qt5"
LIB_DEPENDS+=	libgpgmepp.so:security/gpgme-cpp
CONFIGURE_ARGS+=--enable-languages="cpp qt"
USES+=		compiler:c++11-lib pkgconfig
USE_QT5=	buildtools_build core testlib
.  endif

.  if ${SLAVEPORT} == "python"
BUILD_DEPENDS+=	swig3.0:devel/swig30 \
		${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${FLAVOR}
RUN_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${FLAVOR}
USES+=		python
USE_PYTHON=	py3kplist flavors
CONFIGURE_ENV+=	SWIG=${LOCALBASE}/bin/swig3.0
PLIST_SUB+=	VERSION=${PORTVERSION}
.  endif
.endif

.include <bsd.port.pre.mk>

.if defined(SLAVEPORT)
.  if ${SLAVEPORT} == "python"
.    if ${PYTHON_REL} >= 3000
CONFIGURE_ARGS+=--enable-languages="python3"
.    else
CONFIGURE_ARGS+=--enable-languages="python2"
.    endif
.  endif
.endif

post-patch:
.if defined(SLAVEPORT)
	@${FIND} ${BUILD_WRKSRC} -name "Makefile.in" -type f | ${XARGS} \
	${REINPLACE_CMD} -e 's|../../../src/libgpgme.la|-lgpgme|g'
.  if ${SLAVEPORT} == "qt5"
	@${FIND} ${BUILD_WRKSRC} -name "Makefile.in" -type f | ${XARGS} \
	${REINPLACE_CMD} -e 's|../../cpp/src/libgpgmepp.la|-lgpgmepp|g'
.  endif
.endif
	@${REINPLACE_CMD} -e 's|^clfilesdir.*|clfilesdir=$$\(libdir\)/common-lisp/gpgme|g' \
					${WRKSRC}/lang/cl/Makefile.in
.if !defined(SLAVEPORT)
post-install-DOCS-on:
	${MKDIR} ${STAGEDIR}${DOCSDIR}
	${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
.endif

.include <bsd.port.post.mk>