aboutsummaryrefslogtreecommitdiff
path: root/www/squid23/Makefile
blob: 0421718cc61a5c750344c0e0673b64b61d52649e (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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# New ports collection makefile for:	squid
# Date created:		Thu Nov  7 00:53:18 WST 1996
# Whom:			Peter Wemm <peter@freebsd.org>
#
# $FreeBSD$
#

PORTNAME=	squid
PORTVERSION=	2.3
CATEGORIES=	www
MASTER_SITES=  \
	ftp://ftp.squid-cache.org/pub/squid-2/STABLE/ \
	ftp://www.unimelb.edu.au/pub/cwis/servers/unix/squid/squid-2/STABLE/ \
	ftp://sunsite.auc.dk/pub/infosystems/squid/squid-2/STABLE/ \
	ftp://ftp.net.lut.ac.uk/squid/squid-2/STABLE/
DISTNAME=	squid-2.3.STABLE4
EXTRACT_SUFX=	-src.tar.gz

PATCH_SITES=	http://www.squid-cache.org/Versions/v2/2.3/bugs/
PATCHFILES=	squid-2.3.stable4-ftp_icon_not_found.patch \
		squid-2.3.stable4-internal_dns_rcode_table_formatting.patch \
		squid-2.3.stable4-ipfw_configure.patch \
		squid-2.3.stable4-invalid_ip_acl_entry.patch \
		squid-2.3.stable4-accel_only_access.patch \
		squid-2.3.stable4-html_quoting.patch \
		squid-2.3.stable4-carp-assertion.patch

MAINTAINER=	adrian@freebsd.org

DIST_SUBDIR=	squid2.3
PATCH_DIST_STRIP= -p0
GNU_CONFIGURE=	yes
# Follow the apache port's lead...
CONFIGURE_ARGS=	--bindir=${PREFIX}/sbin  --sysconfdir=${PREFIX}/etc/squid \
		--localstatedir=${PREFIX}/squid
STRIP=		# won't install scripts correctly otherwise.
MAKEFILE=	makefile

# Some other configure options..
#  - Compile and use the malloc package from Doug Lea
#CONFIGURE_ARGS+= --enable-dlmalloc
#  - Compile and use the supplied GNUregex routines instead of BSD regex.
#CONFIGURE_ARGS+= --enable-gnuregex
#  - Enable simple malloc debugging
#CONFIGURE_ARGS+= --enable-xmalloc-debug
#  - Detailed trace of memory allocations
#CONFIGURE_ARGS+= --enable-xmalloc-debug-count
#  - Show malloc statistics in cachemgr status pages
#CONFIGURE_ARGS+= --enable-xmalloc-statistics
#  - Enable CARP support
#CONFIGURE_ARGS+= --enable-carp
#  - Use ASYNC disk I/O (Requires real threads, apparently runs on 3.0 libc_r)
#CONFIGURE_ARGS+= --enable-async-io
#  - Enable ICMP pinging for heirarchy stats and selection
#CONFIGURE_ARGS+= --enable-icmp
#  - Enable delay pools to limit bandwidth usage
#CONFIGURE_ARGS+= --enable-delay-pools
#  - Enable generic memory use tracing
#CONFIGURE+ARGS+= --enable-mem-gen-trace
#  - Enable logging of the User-Agent header
#CONFIGURE_ARGS+= --enable-useragent-log
#  - Disable Web Cache Coordination Protocol
#CONFIGURE_ARGS+= --disable-wccp
#  - Kill parent (eg: RunCache) on shutdown (use with great care!!)
#CONFIGURE_ARGS+= --enable-kill-parent-hack
#  - Turn on SNMP server support
#CONFIGURE_ARGS+= --enable-snmp
#  - Optimize time updates to one per second rather than calling gettimeofday()
#CONFIGURE_ARGS+= --enable-time-hack
#  - Set an explicit hostname in cachemgr.cgi
#CONFIGURE_ARGS+= --enable-cachemgr-hostname=some.hostname
#  - Enable ACL based on ethernet address (eg: for machines with dynamic DHCP
#    assigned IP addresses)
#CONFIGURE_ARGS+= --enable-arp-acl
#  - Enable HTCP protocol
#CONFIGURE_ARGS+= --enable-htcp
#  - Enable Forw/Via database
#CONFIGURE_ARGS+= --enable-forw-via-db
#  - Use Cache Digests - see http://squid.nlanr.net/Squid/FAQ/FAQ-16.html
#CONFIGURE_ARGS+= --enable-cache-digests
#  - Select language for Error pages (see errors dir)
#CONFIGURE_ARGS+= --enable-err-language=lang
#  (--enable-poll is not needed, it's detected correctly on 3.0)
#  - Strict HTTP compliance
#CONFIGURE_ARGS+= --disable-http-violations
#  - Enable Transparent Proxy support for IP-Filter systems (incl 3.0)
#CONFIGURE_ARGS+= --enable-ipf-transparent
# (--enable-leakfinder is a developer support tool only)
#  - Compile out code that does optional Ident (RFC931) lookups
#CONFIGURE_ARGS+= --disable-ident-lookups
#  - Disable squid's internal async DNS lookup code.
#CONFIGURE_ARGS+= --disable-internal-dns
#  - Use truncate() rather than unlink()
#CONFIGURE_ARGS+= --enable-truncate
#  - accept the illegal '_' character in hostnames.
#CONFIGURE_ARGS+= --enable-underscores
#  - Enable control of different heap replacement algorithms at runtime.
#CONFIGURE_ARGS+= --enable-heap-replacement

post-extract:
	@${PERL} -pi -e 's|-lpthread|-pthread|g' ${WRKSRC}/configure

post-install:
	cd ${WRKSRC}/src; make install-pinger
.for file in client squid
	if [ -f ${PREFIX}/sbin/${file} ] ; then \
		strip ${PREFIX}/sbin/${file} ; \
	fi
.endfor
.for file in cachemgr.cgi dnsserver pinger unlinkd
	if [ -f ${PREFIX}/libexec/${file} ] ; then \
		strip ${PREFIX}/libexec/${file} ; \
	fi
.endfor
	${MKDIR} ${PREFIX}/squid/logs
	${MKDIR} ${PREFIX}/squid/cache
	@if [ ! -f ${PREFIX}/etc/rc.d/squid.sh ]; then \
		${ECHO} "Installing ${PREFIX}/etc/rc.d/squid.sh startup file."; \
		${INSTALL_SCRIPT} -m 751 ${FILESDIR}/squid.sh ${PREFIX}/etc/rc.d/squid.sh; \
	fi

.include <bsd.port.mk>