freebsd-ports/security/tor-devel/Makefile
2011-10-04 23:43:40 +00:00

185 lines
5.2 KiB
Makefile

# ports collection makefile for: tor-devel
# Date created: 2005.10.20
# Whom: peter.thoenen@yahoo.com
#
# $FreeBSD$
#
PORTNAME= tor
DISTVERSION= 0.2.3.5-alpha
CATEGORIES= security net ipv6
MASTER_SITES= https://www.torproject.org/dist/ \
ftp://ftp.bit.nl/mirror/tor/ \
http://cyberside.net.ee/tor/ \
http://mirrors.chaos-darmstadt.de/tor-mirror/dist/ \
http://mirror.host4site.co.il/torproject.org/dist/ \
http://mirror.tor.hu/dist/ \
http://onion.anonymo.us.org/dist/ \
http://theonionrouter.com/dist/ \
http://tor.amorphis.eu/dist/ \
http://tor.askapache.com/dist/ \
http://tor.beme-it.de/dist/ \
http://tor.blingblingsquad.net/dist/ \
http://tor.ccc.de/dist/ \
http://tor.cyberarmy.at/dist/ \
http://tor.homosu.net/dist/ \
http://tor.idnr.ws/dist/ \
http://tor.kamagurka.org/dist/ \
http://tor.searchprivate.com/dist/ \
http://tor.taiga-san.net/dist/ \
http://tor.webersiedlung.at/dist/ \
http://tordistua.reactor-xg.kiev.ua/ \
http://torproj.xpdm.us/dist/ \
http://torproject.nwlinux.us/dist/ \
http://www.torproject.org.in/dist/ \
http://www.oignon.net/dist/ \
http://www.torproject.org.nyud.net/dist/ \
http://www.torproject.us/dist/ \
http://www.torservers.net/mirrors/torproject.org/dist/
PKGNAMESUFFIX= -devel
MAINTAINER= bf@FreeBSD.org
COMMENT= An anonymizing overlay network for TCP
LICENSE= BSD
LICENSE_FILE= ${WRKSRC}/LICENSE
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --with-openssl-dir="${OPENSSLBASE}" --disable-asciidoc
CONFIGURE_ENV= TOR_CPPFLAGS_libevent="-I${LOCALBASE}/include/event2 -I${LOCALBASE}/include" \
TOR_LDFLAGS_libevent="-L${LOCALBASE}/lib/event2" \
TOR_LIBEVENT_LIBS="${TOR_LIBEVENT_LIBS}"
MAKE_JOBS_UNSAFE= yes
OPTIONS= BUFFEREVENTS "use libevent's buffered IO" off \
BUFFREELISTS "freelists for buffer RAM" on \
GMAKE "parallel build safety via GNU make" off \
INSTR_DOWNLOADS "instrument downloads for analysis" off \
STATIC_TOR "build a static tor" off \
TCMALLOC "use the tcmalloc memory allocation library" off \
THREADS "multi-threading support" on \
TRANSPARENT "transparent proxy support" on
USE_OPENSSL= yes
USE_RC_SUBR= tor
SUB_FILES= pkg-message
GROUPS = _tor
USERS= _tor
CONFLICTS= tor-[0-9]*
MANCOMPRESSED= no
MAN1= tor.1 tor-resolve.1 torify.1 tor-gencert.1
.include <bsd.port.options.mk>
.if defined(WITH_GMAKE)
USE_GMAKE= yes
.else
MAKE_JOBS_UNSAFE= yes
.endif
.if ( (${OSVERSION} >= 703100 && ${OSVERSION} < 800000) || \
(${OSVERSION} >= 800500 && ${OSVERSION} < 900000) || \
(${OSVERSION} >= 900003) ) && !defined(USE_GCC) && empty(CC:M*gcc4*)
CONFIGURE_ARGS+= --enable-gcc-hardening
.endif
.if ( ${OSVERSION} < 704000 || \
(${OSVERSION} >= 800000 && ${OSVERSION} < 802000) || \
(${OSVERSION} >= 900000 && ${OSVERSION} < 900027) )
WITH_OPENSSL_PORT= yes
.endif
.if defined(WITH_BUFFEREVENTS)
CONFIGURE_ARGS+= --enable-bufferevents
.else
CONFIGURE_ARGS+= --disable-bufferevents
.endif
.if defined(WITH_BUFFREELISTS)
CONFIGURE_ARGS+= --enable-buf-freelists
.else
CONFIGURE_ARGS+= --disable-buf-freelists
.endif
.if defined(WITH_INSTR_DOWNLOADS)
CONFIGURE_ARGS+= --enable-instrument-downloads
.else
CONFIGURE_ARGS+= --disable-instrument-downloads
.endif
.if defined(WITH_STATIC_TOR)
BUILD_DEPENDS += ${LOCALBASE}/lib/event2/libevent.a:${PORTSDIR}/devel/libevent2
CONFIGURE_ARGS+= --enable-static-tor --with-libevent-dir=${LOCALBASE}/lib/event2 \
--with-zlib-dir=/usr/lib
TOR_LIBEVENT_LIBS= ${LOCALBASE}/lib/event2/libevent.a
.if defined(WITH_BUFFEREVENTS)
TOR_LIBEVENT_LIBS:= ${LOCALBASE}/lib/event2/libevent_openssl.a ${TOR_LIBEVENT_LIBS}
.endif
.else
CONFIGURE_ARGS+= --enable-linker-hardening
LIB_DEPENDS+= event-2.0:${PORTSDIR}/devel/libevent2
TOR_LIBEVENT_LIBS= -levent-2.0
.if defined(WITH_BUFFEREVENTS)
TOR_LIBEVENT_LIBS:= -levent_openssl-2.0 ${TOR_LIBEVENT_LIBS}
.endif
.endif
.if defined(WITH_TCMALLOC)
CONFIGURE_ARGS+= --with-tcmalloc
.if defined(WITH_STATIC_TOR)
BUILD_DEPENDS += ${LOCALBASE}/lib/libtcmalloc.so:${PORTSDIR}/devel/google-perftools
.else
LIB_DEPENDS+= tcmalloc:${PORTSDIR}/devel/google-perftools
.endif
.endif
.if defined(WITH_THREADS)
CONFIGURE_ARGS+= --enable-threads
CFLAGS+= ${PTHREAD_CFLAGS}
.else
CONFIGURE_ARGS+= --disable-threads
.endif
.if defined(WITH_TRANSPARENT)
CONFIGURE_ARGS+= --enable-transparent
.else
CONFIGURE_ARGS+= --disable-transparent
.endif
post-patch:
@${MV} ${WRKSRC}/contrib/tor-tsocks.conf \
${WRKSRC}/contrib/tor-tsocks.conf.sample
@${REINPLACE_CMD} -e "s|tor-tsocks.conf|tor-tsocks.conf.sample|g" \
${WRKSRC}/contrib/Makefile.in
@${REINPLACE_CMD} -e '\|^install-data-am:|s|install-docDATA||' \
${WRKSRC}/doc/Makefile.in
@${REINPLACE_CMD} -e "s|-ltcmalloc|${LOCALBASE}/lib/libtcmalloc.so|" \
${WRKSRC}/configure
post-configure:
@${FIND} -X ${WRKSRC} -type f -name Makefile | ${XARGS} ${REINPLACE_CMD} -e \
"s|-lpthread|${PTHREAD_LIBS}|g"
@${REINPLACE_CMD} -e '\|^nodist_man_MANS =|s|$$|${MAN1}|' \
${WRKSRC}/doc/Makefile
post-install:
${MKDIR} /var/run/tor
${CHOWN} -R _tor:_tor /var/run/tor
${TOUCH} /var/log/tor
${CHOWN} _tor:_tor /var/log/tor
${MKDIR} /var/db/tor/data
${CHOWN} -R _tor:_tor /var/db/tor
${CHMOD} -R 700 /var/db/tor
${CAT} ${PKGMESSAGE}
check regression-test test: build
@( cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} \
${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} check )
.include <bsd.port.mk>