1 # Created by: Jim Geovedi <jim@corebsd.or.id>
8 MASTER_SITES= http://www.aleksey.com/xmlsec/download/ \
9 ftp://ftp.aleksey.com/pub/xmlsec/releases/ \
10 ftp://ftp.xmlsoft.org/xmlsec/releases/ \
11 ftp://ftp.rpmfind.net/pub/XML/xmlsec/releases/
13 MAINTAINER= johans@FreeBSD.org
14 COMMENT= XML Security Library
16 OPTIONS_DEFINE= DOCS GNUTLS NSS
18 GNUTLS_DESC= Enable GNUTLS support
19 GNUTLS_CONFIGURE_WITH= gnutls="${LOCALBASE}"
20 GNUTLS_LIB_DEPENDS= libgnutls.so:${PORTSDIR}/security/gnutls
21 NSS_DESC= Enable Mozilla's NSS support
22 NSS_CONFIGURE_WITH= nss="${LOCALBASE}" nspr="${LOCALBASE}"
23 NSS_LIB_DEPENDS= libnss3.so:${PORTSDIR}/security/nss
26 INSTALL_TARGET= install-strip
27 USES= libtool:oldver pathfix pkgconfig
29 USE_GNOME= libxml2 libxslt
30 USE_AUTOTOOLS= libltdl
33 CFLAGS+= -I${LOCALBASE}/include
34 LDFLAGS+= -L${LOCALBASE}/lib
35 MAKE_ENV+= ABS_BUILDDIR=${WRKSRC} TMPFOLDER=${WRKSRC} DOCS=docs
36 CONFIGURE_ARGS+=--with-openssl="${OPENSSLBASE}"
38 .if !defined(.PARSEDIR)
39 MAKE_ARGS+= -EABS_BUILDDIR
42 .include <bsd.port.options.mk>
44 # avoid --without-opt=PATH constructs
45 CONFIGURE_ARGS:=${CONFIGURE_ARGS:C/without-([a-z]*)=.*/without-\1/}
48 @${REINPLACE_CMD} -e 's|src apps man docs|src apps man \$${DOCS}|g' \
49 -e 's|^confexecdir =.*$$|confexecdir = \$$(sysconfdir)|g' \
50 -e 's|/tmp/\*\.log|${WRKSRC}/*.log|g' \
53 -e '/^XMLSEC_SHLIBSFX="/s|"[^"]*"|".so"|' \
54 -e 's|openssl_exlibs=-ldl|openssl_exlibs=|' \
56 -e 's,with_nspr/include,with_nspr/include/nspr ${PTHREAD_CFLAGS},' \
57 -e 's,with_nss/include,with_nss/include/nss/nss,' \
58 -e 's,with_nss/lib,with_nss/lib/nss,g' \
59 -e 's,\(CPPFLAGS="\$$NSS_CFLAGS\),\1 $$NSPR_CFLAGS,' \
60 -e '/XMLSEC_CRYPTO_LIST=.*openssl/s,$$,\; CPPFLAGS="$$CPPFLAGS $$OPENSSL_CFLAGS",' \
61 -e 's,\(-lplc4\)",\1 ${PTHREAD_LIBS}",' \
62 -e '/ test /s, == , = ,' \
63 ${WRKSRC}/${CONFIGURE_SCRIPT}
65 -e 's,total_time.*/ 1000),total_time*1000/CLOCKS_PER_SEC,' \
66 ${WRKSRC}/apps/xmlsec.c
67 @${REINPLACE_CMD} -e 's,\\\\\\,\\,g' ${WRKSRC}/*.pc.in
68 .if ${PORT_OPTIONS:MGNUTLS}
69 # Don't rely on broken autodetection
70 @${REINPLACE_CMD} -e '/^GNUTLS_FOUND/s/no/yes/' \
71 -e '/^GNUTLS_LIBS=/s,"","-L${LOCALBASE}/lib -lgnutls",' \
72 ${WRKSRC}/${CONFIGURE_SCRIPT}
74 .if ${PORT_OPTIONS:MNSS}
75 # Makeing the xmlsec1 executable multi-threaded to let load -lnss,
77 @${REINPLACE_CMD} -e 's,^\(xmlsec1_LDADD = \)\\$$,\1 -L${LOCALBASE}/lib ${PTHREAD_LIBS}\\,' \
78 ${WRKSRC}/apps/Makefile.in
81 .include <bsd.port.mk>