aboutsummaryrefslogtreecommitdiffstats
path: root/security/xmlsec1/Makefile
blob: 2d53d6fdfab69443e2247d15eed90998fd537795 (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
# Created by: Jim Geovedi <jim@corebsd.or.id>
# $FreeBSD$

PORTNAME=   xmlsec1
PORTVERSION=    1.2.20
CATEGORIES= security
MASTER_SITES=   http://www.aleksey.com/xmlsec/download/ \
        ftp://ftp.aleksey.com/pub/xmlsec/releases/ \
        ftp://ftp.xmlsoft.org/xmlsec/releases/ \
        ftp://ftp.rpmfind.net/pub/XML/xmlsec/releases/

MAINTAINER= johans@FreeBSD.org
COMMENT=    XML Security Library

OPTIONS_DEFINE= DOCS GNUTLS NSS
OPTIONS_SUB=    yes
GNUTLS_DESC=        Enable GNUTLS support
GNUTLS_CONFIGURE_WITH=  gnutls="${LOCALBASE}"
GNUTLS_LIB_DEPENDS= libgnutls.so:${PORTSDIR}/security/gnutls
NSS_DESC=       Enable Mozilla's NSS support
NSS_CONFIGURE_WITH= nss="${LOCALBASE}" nspr="${LOCALBASE}"
NSS_LIB_DEPENDS=    libnss3.so:${PORTSDIR}/security/nss

GNU_CONFIGURE=  yes
INSTALL_TARGET= install-strip
USES=       libtool:oldver pathfix pkgconfig
USE_OPENSSL=    yes
USE_GNOME=  libxml2 libxslt
USE_AUTOTOOLS=  libltdl
USE_LDCONFIG=   yes

CFLAGS+=    -I${LOCALBASE}/include
LDFLAGS+=   -L${LOCALBASE}/lib
MAKE_ENV+=  ABS_BUILDDIR=${WRKSRC} TMPFOLDER=${WRKSRC} DOCS=docs
CONFIGURE_ARGS+=--with-openssl="${OPENSSLBASE}"

.if !defined(.PARSEDIR)
MAKE_ARGS+= -EABS_BUILDDIR
.endif

.include <bsd.port.options.mk>

# avoid --without-opt=PATH constructs
CONFIGURE_ARGS:=${CONFIGURE_ARGS:C/without-([a-z]*)=.*/without-\1/}

post-patch:
    @${REINPLACE_CMD} -e 's|src apps man docs|src apps man \$${DOCS}|g' \
        -e 's|^confexecdir =.*$$|confexecdir = \$$(sysconfdir)|g' \
        -e 's|/tmp/\*\.log|${WRKSRC}/*.log|g' \
        ${WRKSRC}/Makefile.in
    @${REINPLACE_CMD} \
        -e '/^XMLSEC_SHLIBSFX="/s|"[^"]*"|".so"|' \
        -e 's|openssl_exlibs=-ldl|openssl_exlibs=|' \
        -e 's|-ldl"|"|' \
        -e 's,with_nspr/include,with_nspr/include/nspr ${PTHREAD_CFLAGS},' \
        -e 's,with_nss/include,with_nss/include/nss/nss,' \
        -e 's,with_nss/lib,with_nss/lib/nss,g' \
        -e 's,\(CPPFLAGS="\$$NSS_CFLAGS\),\1 $$NSPR_CFLAGS,' \
        -e '/XMLSEC_CRYPTO_LIST=.*openssl/s,$$,\; CPPFLAGS="$$CPPFLAGS $$OPENSSL_CFLAGS",' \
        -e 's,\(-lplc4\)",\1 ${PTHREAD_LIBS}",' \
        -e '/ test /s, == , = ,' \
        ${WRKSRC}/${CONFIGURE_SCRIPT}
    @${REINPLACE_CMD} \
        -e 's,total_time.*/ 1000),total_time*1000/CLOCKS_PER_SEC,' \
        ${WRKSRC}/apps/xmlsec.c
    @${REINPLACE_CMD} -e 's,\\\\\\,\\,g' ${WRKSRC}/*.pc.in
.if ${PORT_OPTIONS:MGNUTLS}
# Don't rely on broken autodetection
    @${REINPLACE_CMD} -e '/^GNUTLS_FOUND/s/no/yes/' \
        -e '/^GNUTLS_LIBS=/s,"","-L${LOCALBASE}/lib -lgnutls",' \
        ${WRKSRC}/${CONFIGURE_SCRIPT}
.endif
.if ${PORT_OPTIONS:MNSS}
# Makeing the xmlsec1 executable multi-threaded to let load -lnss,
# when needed.
    @${REINPLACE_CMD} -e 's,^\(xmlsec1_LDADD = \)\\$$,\1 -L${LOCALBASE}/lib ${PTHREAD_LIBS}\\,' \
        ${WRKSRC}/apps/Makefile.in
.endif

.include <bsd.port.mk>