aboutsummaryrefslogtreecommitdiffstats
path: root/security/openvpn-devel/Makefile
blob: 454a739dd2840d3402f9020f076b5be9ce54e707 (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
# Created by: Eric F Crist <ecrist@secure-computing.net>
# $FreeBSD$

PORTNAME=   openvpn
DISTVERSION=    201607
CATEGORIES= security net
MASTER_SITES=   ftp://ftp.secure-computing.net/pub/FreeBSD/ports/openvpn-devel/ \
        ftp://ftp2.secure-computing.net/pub/FreeBSD/ports/openvpn-devel/
PKGNAMESUFFIX=  -devel

MAINTAINER= ecrist@secure-computing.net
COMMENT=    Secure IP/Ethernet tunnel daemon

LICENSE=    GPLv2

WRKSRC=     ${WRKDIR}/${PORTNAME}${PKGNAMESUFFIX}

CONFLICTS_INSTALL=  openvpn-[0-9]* openvpn-beta-[0-9]* openvpn-polarssl*
GNU_CONFIGURE=      yes
USES=           libtool pkgconfig shebangfix tar:xz
SHEBANG_FILES=      sample/sample-scripts/verify-cn \
            sample/sample-scripts/auth-pam.pl \
            sample/sample-scripts/ucn.pl

# let OpenVPN's configure script pick up the requisite libraries:
CPPFLAGS+=      -I${LOCALBASE}/include
LDFLAGS+=       -L${LOCALBASE}/lib

OPTIONS_DEFINE=     PW_SAVE PKCS11 EASYRSA LZO DOCS EXAMPLES
OPTIONS_DEFAULT=    EASYRSA OPENSSL LZO
OPTIONS_SINGLE=     SSL
OPTIONS_SINGLE_SSL= OPENSSL POLARSSL
PW_SAVE_DESC=       Interactive passwords may be read from a file
LZO_DESC=       Enable the LZO compression library
PKCS11_DESC=        Use security/pkcs11-helper
EASYRSA_DESC=       Install security/easy-rsa RSA helper package
POLARSSL_DESC=      SSL/TLS support via PolarSSL

EASYRSA_RUN_DEPENDS=    easy-rsa>=0:${PORTSDIR}/security/easy-rsa

PKCS11_LIB_DEPENDS= libpkcs11-helper.so:${PORTSDIR}/security/pkcs11-helper
PKCS11_CONFIGURE_ENABLE=    pkcs11

PW_SAVE_CONFIGURE_ENABLE=   password-save

POLARSSL_LIB_DEPENDS=   libmbedtls.so.9:${PORTSDIR}/security/polarssl13
POLARSSL_CONFIGURE_ON=  --with-crypto-library=polarssl
POLARSSL_USE_OFF=   openssl=yes
POLARSSL_CONFIGURE_OFF+=--with-crypto-library=openssl

LZO_LIB_DEPENDS=    liblzo2.so:${PORTSDIR}/archivers/lzo2
LZO_CONFIGURE_ENABLE=   lzo

USE_RC_SUBR=    openvpn
USE_LDCONFIG=   ${PREFIX}/lib

SUB_FILES=  pkg-message

.ifdef (LOG_OPENVPN)
CFLAGS+=    -DLOG_OPENVPN=${LOG_OPENVPN}
.endif

PORTDOCS=   *
PORTEXAMPLES=   *

pre-configure:
.ifdef (LOG_OPENVPN)
        @${ECHO} "Building with LOG_OPENVPN=${LOG_OPENVPN}"
.else
        @${ECHO} ""
        @${ECHO} "You may use the following build options:"
        @${ECHO} ""
        @${ECHO} "      LOG_OPENVPN={Valid syslog facility, default LOG_DAEMON}"
        @${ECHO} "      EXAMPLE:  make LOG_OPENVPN=LOG_LOCAL6"
        @${ECHO} ""
.endif

post-build:
        @# self-tests here
.if !defined(WITHOUT_CHECK)
        @${ECHO} ; ${ECHO} "### Note that you can skip these lengthy selftests with WITHOUT_CHECK=yes ###" ; ${ECHO}
        cd ${WRKSRC} && ${DO_MAKE_BUILD} check
.endif

post-install:
        ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/openvpn/plugins/openvpn-plugin-auth-pam.so
        ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/openvpn/plugins/openvpn-plugin-down-root.so
        ${MKDIR} ${STAGEDIR}${PREFIX}/include

post-install-DOCS-on:
        ${MKDIR} ${STAGEDIR}${DOCSDIR}/
.for i in AUTHORS ChangeLog PORTS
        ${INSTALL_MAN} ${WRKSRC}/${i} ${STAGEDIR}${DOCSDIR}/
.endfor

post-install-EXAMPLES-on:
        (cd ${WRKSRC}/sample && ${COPYTREE_SHARE} \* ${STAGEDIR}${EXAMPLESDIR}/)
        ${CHMOD} ${BINMODE} ${STAGEDIR}${EXAMPLESDIR}/sample-scripts/*

.include <bsd.port.mk>