aboutsummaryrefslogtreecommitdiffstats
path: root/www/squid/Makefile
blob: 5b71dc952dd75bc4b6ca8fdc81d764d532c74298 (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
123
124
125
126
# New ports collection makefile for:    squid24
# Date created:     Tue Mar 27 14:56:08 CEST 2001
# Whom:         Adrian Chadd <adrian@FreeBSD.org>
#
# $FreeBSD$
#

PORTNAME=   squid
PORTVERSION=    2.4
PORTREVISION=   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.4.STABLE1
EXTRACT_SUFX=   -src.tar.gz

PATCH_SITES=    http://www.squid-cache.org/Versions/v2/2.4/bugs/
PATCHFILES= squid-2.4.stable1-wrong_sign_on_timestamp_check.patch \
        squid-2.4.stable1-high_cpu_with_peers.patch \
        squid-2.4.stable1-force_valid_blksize.patch \
        squid-2.4.stable1-kill_parent_on_child_sigkill.patch \
        squid-2.4.stable1-htcp_assertion_fix.patch \
        squid-2.4.stable1-diskd_fixed_path.patch

MAINTAINER= adrian@freebsd.org

DIST_SUBDIR=    squid2.4
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 \
        --enable-storeio="ufs diskd null" \
        --enable-removal-policies="lru heap" \

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
#  - 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_LIBS}|g' ${WRKSRC}/configure

post-install:
#   I don't think many people use the pinger nowadays, and if you
#   do you'll want squid in its own group so as to restrict access
#   to it.
#   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>