summaryrefslogtreecommitdiff
path: root/net/opentracker/Makefile
blob: f297fa5f9d668074eacc2e3cfaec7b700eb91fd9 (plain)
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

PORTNAME=	opentracker
PORTVERSION=	0.2017.08.13
PORTREVISION=	2
CATEGORIES=	net
MASTER_SITES=	http://www.bayofrum.net/dist/${PORTNAME}/ \

MAINTAINER=	crees@FreeBSD.org
COMMENT=	Free lightweight bittorrent tracker using libowfat

BUILD_DEPENDS=	${LOCALBASE}/lib/libowfat.a:devel/libowfat

USES=		tar:bzip2
USE_RC_SUBR=	${PORTNAME} ${PORTNAME}-ipv6

OPTIONS_DEFINE= COMPRESSION_GZIP DEBUG_HTTPERROR FULLSCRAPE RESTRICT_STATS
OPTIONS_SINGLE=	ACCESSLIST
OPTIONS_SINGLE_ACCESSLIST=	ACCESSLIST_OPEN ACCESSLIST_BLACK \
				ACCESSLIST_WHITE

OPTIONS_DEFAULT=	FULLSCRAPE RESTRICT_STATS ACCESSLIST_OPEN

ACCESSLIST_OPEN_DESC=	Disable black/whitelisting
ACCESSLIST_BLACK_DESC=	Enable client blacklisting
ACCESSLIST_WHITE_DESC=	Enable client whitelisting
COMPRESSION_GZIP_DESC=	Deliver gzip compressed full scrapes
DEBUG_HTTPERROR_DESC=	Verbose HTTPERRORs
FULLSCRAPE_DESC=	Can query tracker for all torrents
RESTRICT_STATS_DESC=	Limit stats access based on IP

.include <bsd.port.options.mk>

.if ${PORT_OPTIONS:MACCESSLIST_BLACK}
FEATURES+=-DWANT_ACCESSLIST_BLACK
.elif ${PORT_OPTIONS:MACCESSLIST_WHITE}
FEATURES+=-DWANT_ACCESSLIST_WHITE
.endif

.if ${PORT_OPTIONS:MCOMPRESSION_GZIP}
FEATURES+=-DWANT_COMPRESSION_GZIP
.endif

.if ${PORT_OPTIONS:MDEBUG_HTTPERROR}
FEATURES+=-D_DEBUG_HTTPERROR
.endif

.if ${PORT_OPTIONS:MFULLSCRAPE}
FEATURES+=-DWANT_FULLSCRAPE
.endif

.if ${PORT_OPTIONS:MRESTRICT_STATS}
FEATURES+=-DWANT_RESTRICT_STATS
.endif

MAKE_ENV+=FEATURES="${FEATURES}"

post-patch:
	@${FIND} ${WRKSRC} -name "*.orig" -delete
	${LN} ${WRKSRC}/opentracker.c ${WRKSRC}/opentracker-ipv6.c

do-build:
	${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_WRKSRC} -DWANT_V6 \
		BINARY=opentracker-ipv6
	${MAKE_CMD} -C ${BUILD_WRKSRC} clean
	${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_WRKSRC}

do-install:
	${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/
	${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME}-ipv6 ${STAGEDIR}${PREFIX}/bin/
	${MKDIR} ${STAGEDIR}${ETCDIR}
	${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.conf.sample \
		${STAGEDIR}${ETCDIR}/${PORTNAME}.conf.sample
	${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.conf.sample \
		${STAGEDIR}${ETCDIR}/${PORTNAME}-ipv6.conf.sample

.include <bsd.port.mk>