aboutsummaryrefslogtreecommitdiff
path: root/www/squid32/Makefile
blob: 73a338a109595135f7b716313bd66209b30403d1 (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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
# $FreeBSD$
#
# Note:
# Starting with Squid 3.1 SQUID_LANGUAGES and SQUID_DEFAULT_LANG are no longer
# available and will be ignored.
#
# SQUID_CONFIGURE_ARGS
#   Additional configuration options.
#
#   To enable them, use e.g
#   `make SQUID_CONFIGURE_ARGS="--enable-ntml-fail-open" install'
#
#   The list below may be incomplete, please see the configure script
#   in the Squid source distribution for the complete list of additional
#   options.
#   Note that you probably do not need to worry about these options in most
#   cases, they are included in case you want to experiment with them.
#
#    --enable-xmalloc-statistics
#     Show malloc statistics in status page
#    --enable-cachemgr-hostname=some.hostname
#     Make cachemgr.cgi default to this host
#    --disable-unlinkd
#     Do not use "unlinkd"
#    --with-aufs-threads=N_THREADS
#     Tune the number of worker threads for the aufs object
#    --with-filedescriptors=N
#     Force Squid to use N filedescriptors.
#    --enable-ntlm-fail-open
#     Enable NTLM fail open, where a helper that fails one of the
#     Authentication steps can allow Squid to still authenticate the user
#    --enable-x-accelerator-vary
#     Enable support for the X-Accelerator-Vary HTTP header. Can be used
#     to indicate variance within an accelerator setup. Typically used
#     together with other code that adds custom HTTP headers to the
#     requests.

PORTNAME=	squid
PORTVERSION=	3.2.${SQUID_STABLE_VER}
PORTREVISION=	1
CATEGORIES=	www ipv6
MASTER_SITES=	ftp://ftp.squid-cache.org/pub/%SUBDIR%/ \
		http://mirrors.ccs.neu.edu/Squid/ \
		ftp://ftp.fu-berlin.de/unix/www/squid/squid/ \
		ftp://ftp.nl.uu.net/pub/unix/www/squid/ \
		ftp://ftp.solnet.ch/mirror/squid/ \
		ftp://ftp.ntua.gr/pub/www/Squid/squid/ \
		${MASTER_SITE_RINGSERVER:S,%SUBDIR%,net/www/squid,} \
		http://www.squid-cache.org/Versions/v3/3.2/ \
		http://www2.us.squid-cache.org/Versions/v3/3.2/ \
		http://www3.us.squid-cache.org/Versions/v3/3.2/ \
		http://www1.at.squid-cache.org/Versions/v3/3.2/ \
		http://www.eu.squid-cache.org/Versions/v3/3.2/ \
		http://www1.ie.squid-cache.org/Versions/v3/3.2/ \
		http://www1.jp.squid-cache.org/Versions/v3/3.2/ \
		http://www1.za.squid-cache.org/Versions/v3/3.2/
MASTER_SITE_SUBDIR=	squid
DIST_SUBDIR=	squid3.2

PATCH_SITES=	http://www.squid-cache.org/%SUBDIR%/ \
		http://www2.us.squid-cache.org/%SUBDIR%/ \
		http://www3.us.squid-cache.org/%SUBDIR%/ \
		http://www1.at.squid-cache.org/%SUBDIR%/ \
		http://www.eu.squid-cache.org/%SUBDIR%/ \
		http://www1.ie.squid-cache.org/%SUBDIR%/ \
		http://www1.jp.squid-cache.org/%SUBDIR%/ \
		http://www2.tw.squid-cache.org/%SUBDIR%/
PATCH_SITE_SUBDIR=	Versions/v3/3.2/changesets
PATCHFILES=	# empty

MAINTAINER=	tmseck@web.de
COMMENT=	HTTP Caching Proxy

LICENSE=	GPLv2
LICENSE_FILE=	${WRKSRC}/COPYING

LATEST_LINK=	squid32

SQUID_STABLE_VER=	3

CONFLICTS_INSTALL=	squid-2.[0-9].* squid-3.[!2].* cacheboy-[0-9]* lusca-head-[0-9]*
GNU_CONFIGURE=	yes
USE_BZIP2=	yes
USE_PERL5=	yes
USE_RC_SUBR=	squid

USERS=		squid
GROUPS=		squid

MAN1=		squidclient.1
MAN8=		cachemgr.cgi.8 squid.8
docs=		QUICKSTART README RELEASENOTES.html doc/debug-sections.txt
PORTDOCS=	${docs:T}
PORTEXAMPLES=	*
SUB_FILES+=	pkg-install pkg-message

OPTIONS_DEFINE=	ARP_ACL AUTH_KERB AUTH_LDAP AUTH_NIS AUTH_SASL AUTH_SMB \
		CACHE_DIGESTS DEBUG DELAY_POOLS DNS_HELPER ECAP ESI \
		FOLLOW_XFF FS_AUFS FS_COSS HTCP ICAP ICMP IDENT IPV6 KQUEUE \
		LARGEFILE SNMP SSL SSL_CRTD STACKTRACES STRICT_HTTP \
		TP_IPF TP_IPFW TP_PF VIA_DB WCCP WCCPV2 

ARP_ACL_DESC=	Enable ARP/MAC/EUI based authentification
AUTH_KERB_DESC=	Install Kerberos authentication helpers
AUTH_LDAP_DESC=	Install LDAP authentication helpers
AUTH_NIS_DESC=	Install NIS/YP authentication helpers
AUTH_SASL_DESC=	Install SASL authentication helpers
AUTH_SMB_DESC=	Install SMB auth. helpers (req. Samba)
CACHE_DIGESTS_DESC=	Use cache digests
DEBUG_DESC=	Build with extended debugging support
DELAY_POOLS_DESC=	Enable delay pools (bandwidth limiting)
DNS_HELPER_DESC=	Use external dnsserver processes for DNS
ECAP_DESC=	Enable loadable content adaptation modules
ESI_DESC=	Enable support for ESI
FOLLOW_XFF_DESC=	Enable support for the X-Following-For header
FS_AUFS_DESC=	Enable AUFS (async-io) support
FS_COSS_DESC=	Enable COSS (not stable yet)
HTCP_DESC=	Enable HTCP support
ICAP_DESC=	Enable the ICAP client
ICMP_DESC=	Enable ICMP pinging and network measurement
IDENT_DESC=	Enable Ident lookups (RFC 931)
IPV6_DESC=	Enable IPv6 support
KQUEUE_DESC=	Enable kqueue(2) support
LARGEFILE_DESC=	Support large (>2GB) cache and log files
SNMP_DESC=	Enable SNMP support
SSL_CRTD_DESC=	Use ssl_crtd to handle SSL cert requests
SSL_DESC=	Enable SSL gatewaying support
STACKTRACES_DESC=	Enable automatic backtraces on fatal errors
STRICT_HTTP_DESC=	Make Squid strictly HTTP compliant
TP_IPFW_DESC=	Enable transparent proxying with IPFW
TP_IPF_DESC=	Enable transparent proxying with IPFilter
TP_PF_DESC=	Enable transparent proxying with PF
VIA_DB_DESC=	Enable Forward/Via database
WCCPV2_DESC=	Enable Web Cache Coordination Protocol v2
WCCP_DESC=	Enable Web Cache Coordination Protocol

OPTIONS_DEFAULT=	AUTH_KERB AUTH_NIS FS_AUFS HTCP IDENT IPV6 KQUEUE \
			SNMP WCCP WCCPV2

etc_files=	squid/cachemgr.conf.default \
		squid/errorpage.css.default \
		squid/mib.txt \
		squid/mime.conf.default \
		squid/msntauth.conf.default \
		squid/squid.conf.default \
		squid/squid.conf.documented

icon_silk_files=	application.png arrow_up.png bomb.png box.png \
			bricks.png bullet_red.png cd.png chart_line.png \
			compress.png computer_link.png css.png cup.png \
			database.png database_table.png drive_disk.png \
			film.png film_key.png folder.png folder_table.png \
			image.png information.png layers.png layout.png \
			link.png music.png package.png package_go.png \
			page_code.png page_excel.png page_green.png \
			page_white.png page_white_acrobat.png page_white_c.png \
			page_white_cplusplus.png page_white_flash.png \
			page_white_magnify.png page_white_picture.png \
			page_white_powerpoint.png page_white_stack.png \
			page_white_text.png page_world.png \
			page_white_word.png page_white_zip.png photo.png \
			picture.png plugin.png plugin_add.png script.png \
			script_gear.png script_palette.png

error_files=	ERR_ACCESS_DENIED ERR_ACL_TIME_QUOTA_EXCEEDED \
		ERR_AGENT_CONFIGURE ERR_AGENT_WPAD \
		ERR_CACHE_ACCESS_DENIED \
		ERR_CACHE_MGR_ACCESS_DENIED ERR_CONFLICT_HOST \
		ERR_CANNOT_FORWARD ERR_CONNECT_FAIL \
		ERR_DIR_LISTING ERR_DNS_FAIL \
		ERR_ESI ERR_FORWARDING_DENIED \
		ERR_FTP_DISABLED ERR_FTP_FAILURE ERR_FTP_FORBIDDEN \
		ERR_FTP_NOT_FOUND ERR_FTP_PUT_CREATED \
		ERR_FTP_PUT_ERROR ERR_FTP_PUT_MODIFIED ERR_FTP_UNAVAILABLE \
		ERR_GATEWAY_FAILURE \
		ERR_ICAP_FAILURE ERR_INVALID_REQ ERR_INVALID_RESP \
		ERR_INVALID_URL ERR_LIFETIME_EXP ERR_NO_RELAY \
		ERR_ONLY_IF_CACHED_MISS ERR_PRECONDITION_FAILED \
		ERR_READ_ERROR ERR_READ_TIMEOUT \
		ERR_SECURE_CONNECT_FAIL ERR_SHUTTING_DOWN ERR_SOCKET_FAILURE \
		ERR_TOO_BIG ERR_UNSUP_REQ ERR_UNSUP_HTTPVERSION \
		ERR_URN_RESOLVE ERR_WRITE_ERROR ERR_ZERO_SIZE_OBJECT \
		error-details.txt

error_dirs=	af ar az bg ca cs da de el en es et fa fi fr he hu hy id it \
		ja ko lt lv ms nl oc pl pt pt-br ro ru sk sl sr-cyrl sr-latn \
		sv \
		th tr uk uz \
		vi zh-cn zh-tw \
		templates

error_dir_links=	ar-ae ar-bh ar-dz ar-eg ar-iq ar-jo ar-kw ar-lb \
			ar-ly ar-ma ar-om ar-qa ar-sa ar-sy ar-tn ar-ye \
			az-az bg-bg cs-cz da-dk \
			de-at de-ch de-de de-li de-lu \
			el-gr \
			en-au en-bz en-ca en-gb en-ie en-in en-jm en-nz \
			en-ph en-sg en-tt en-uk en-us en-za en-zw \
			es-ar es-bo es-cl es-co es-cr es-do es-ec es-es \
			es-gt es-hn es-mx es-ni es-pa es-pe es-pr es-py \
			es-sv es-uy es-ve \
			et-ee \
			fa-fa fa-ir fi-fi \
			fr-be fr-ca fr-ch fr-fr fr-lu fr-mc \
			he-il hu-hu hy-am hy-armn id-id it-ch it-it \
			ja-jp ko-kp ko-kr lt-lt lv-lv ms-my nl-nl \
			pl-pl pt-pt ro-md ro-ro ru-ru \
			sk-sk sl-si sr sr-latn-cs sr-sp sv-fi sv-se \
			th-th tr-tr uk-ua vi-vn zh-hk zh-mo zh-sg

libexec=	cachemgr.cgi \
		diskd \
		helper-mux.pl

.if !defined(SQUID_CONFIGURE_ARGS) || ${SQUID_CONFIGURE_ARGS:M*--disable-unlinkd*} == ""
libexec+=	unlinkd
.endif

sbin=		purge squidclient squid

CONFIGURE_ARGS=	--with-default-user=squid \
		--bindir=${PREFIX}/sbin  \
		--sbindir=${PREFIX}/sbin  \
		--datadir=${ETCDIR} \
		--libexecdir=${PREFIX}/libexec/squid \
		--localstatedir=/var/squid \
		--sysconfdir=${ETCDIR} \
		--with-logdir=/var/log/squid \
		--with-pidfile=/var/run/squid/squid.pid \
		--enable-auth \
		--enable-build-info \
		--enable-loadable-modules \
		--enable-removal-policies="lru heap" \
		--disable-epoll \
		--disable-linux-netfilter \
		--disable-linux-tproxy \
		--disable-translation

.include <bsd.port.options.mk>
.include <bsd.port.pre.mk>

# Authentication methods and modules:

basic_auth=	DB MSNT MSNT-multi-domain NCSA PAM POP3 RADIUS \
		fake getpwnam
digest_auth=	file
external_acl=	file_userip unix_group
ntlm_auth=	fake smb_lm
libexec+=	basic_db_auth \
		basic_fake_auth \
		basic_getpwnam_auth \
		basic_ncsa_auth \
		basic_msnt_auth \
		basic_msnt_multi_domain_auth \
		basic_pam_auth \
		basic_pop3_auth \
		basic_radius_auth \
		digest_file_auth \
		ext_file_userip_acl \
		ext_unix_group_acl \
		ntlm_fake_auth \
		ntlm_smb_lm_auth
MAN8+=		basic_getpwnam_auth.8 basic_ncsa_auth.8 basic_pam_auth.8 \
		basic_radius_auth.8 basic_db_auth.8 \
		digest_file_auth.8 \
		ext_file_userip_acl.8 ext_unix_group_acl.8
.if ${PORT_OPTIONS:MAUTH_LDAP}
USE_OPENLDAP=	yes
CFLAGS+=	-I${LOCALBASE}/include
LDFLAGS+=	-L${LOCALBASE}/lib
MAN8+=		basic_ldap_auth.8 ext_ldap_group_acl.8
basic_auth+=	LDAP
external_acl+=	LDAP_group
libexec+=	basic_ldap_auth ext_ldap_group_acl
.endif
.if ${PORT_OPTIONS:MAUTH_SASL}
LIB_DEPENDS+=	sasl2.2:${PORTSDIR}/security/cyrus-sasl2
CFLAGS+=	-I${LOCALBASE}/include
CPPFLAGS+=	-I${LOCALBASE}/include
LDFLAGS+=	-L${LOCALBASE}/lib
MAN8+=		basic_sasl_auth.8
basic_auth+=	SASL
libexec+=	basic_sasl_auth
.endif
.if ${PORT_OPTIONS:MAUTH_SMB}
BUILD_DEPENDS+=	smbclient:${PORTSDIR}/net/samba36
RUN_DEPENDS+=	smbclient:${PORTSDIR}/net/samba36
basic_auth+=	SMB
external_acl+=	wbinfo_group
libexec+=	basic_smb_auth basic_smb_auth.sh \
		ext_wbinfo_group_acl
MAN8+=		ext_wbinfo_group_acl.8
.endif
# POLA: allow the old global make.conf(5) (pre src.conf(5)) defines, too:
.if ${PORT_OPTIONS:MAUTH_NIS} && !defined(NO_NIS) && !defined(WITHOUT_NIS)
basic_auth+=	NIS
libexec+=	basic_nis_auth
.endif
# POLA: allow the old global make.conf(5) (pre src.conf(5)) defines, too:
.if ${PORT_OPTIONS:MAUTH_KERB} && !defined(NO_KERBEROS) && !defined(WITHOUT_KERBEROS)
negotiate_auth=	kerberos wrapper
libexec+=	negotiate_kerberos_auth negotiate_kerberos_auth_test \
		negotiate_wrapper_auth
MAN8+=		negotiate_kerberos_auth.8
.else
negotiate_auth=	none
.endif

CONFIGURE_ARGS+=	--enable-auth-basic="${basic_auth}" \
			--enable-auth-digest="${digest_auth}" \
			--enable-external-acl-helpers="${external_acl}" \
			--enable-auth-negotiate="${negotiate_auth}" \
			--enable-auth-ntlm="${ntlm_auth}"
# Storage schemes:

storage_schemes=	diskd rock ufs
diskio_modules=	AIO Blocking DiskDaemon IpcIo Mmapped
.if ${PORT_OPTIONS:MFS_AUFS}
storage_schemes+=	aufs
diskio_modules+=	DiskThreads
# Only document switching from libpthread to libthr using libmap.conf
# where lipthread is still the default threading library:
.if ${OSVERSION} < 700041
EXTRA_PATCHES+=		${PATCHDIR}/extra-patch-src-cf.data.pre.aufs
.endif
# Nil aufs threads is default, set any other value via SQUID_CONFIGURE_ARGS,
# e.g. SQUID_CONFIGURE_ARGS=--with-aufs-threads=N
CFLAGS+=	${PTHREAD_CFLAGS}
LDFLAGS+=	${PTHREAD_LIBS}
.else
CONFIGURE_ARGS+=	--without-pthreads
.endif
.if ${PORT_OPTIONS:MFS_COSS}
storage_schemes+=	coss
.endif
CONFIGURE_ARGS+=	--enable-storeio="${storage_schemes}"
CONFIGURE_ARGS+=	--enable-disk-io="${diskio_modules}"

# Log daemon helpers:

logdaemon_helpers=	file
CONFIGURE_ARGS+=	--enable-log-daemon-helpers="${logdaemon_helpers}"
libexec+=	log_file_daemon

# Rewrite helpers:

rewrite_helpers=	fake
CONFIGURE_ARGS+=	--enable-url-rewrite-helpers="${rewrite_helpers}"
libexec+=	url_fake_rewrite url_fake_rewrite.sh

# Other options set via 'make config':

.if empty(PORT_OPTIONS:MIPV6) || defined(WITHOUT_IPV6)
CONFIGURE_ARGS+=	--disable-ipv6
.endif
.if ${PORT_OPTIONS:MDELAY_POOLS}
CONFIGURE_ARGS+=	--enable-delay-pools
.endif
.if empty(PORT_OPTIONS:MSNMP)
CONFIGURE_ARGS+=	--disable-snmp
.endif
.if ${PORT_OPTIONS:MSSL}
# we need to .include bsd.openssl.mk manually here.because USE_OPENSSL only
# works when it is defined before bsd.port{.pre}.mk is .included.
# This makes it currently impossible to combine this macro with OPTIONS to
# conditionally include OpenSSL support.
# XXX: is this still true with OptionsNG as of 2012-10?
.include "${PORTSDIR}/Mk/bsd.openssl.mk"
CONFIGURE_ARGS+=	--enable-ssl \
			--with-openssl="${OPENSSLBASE}"
CFLAGS+=	-I${OPENSSLINC}
LDFLAGS+=	-L${OPENSSLLIB}
.endif
.if ${PORT_OPTIONS:MSSL_CRTD}
CONFIGURE_ARGS+=	--enable-ssl-crtd
libexec+=	ssl_crtd
.endif
.if ${PORT_OPTIONS:MICMP}
CONFIGURE_ARGS+=	--enable-icmp
libexec+=	pinger
.endif
.if ${PORT_OPTIONS:MDNS_HELPER}
CONFIGURE_ARGS+=	--disable-internal-dns
libexec+=	dnsserver
.endif
.if empty(PORT_OPTIONS:MHTCP)
CONFIGURE_ARGS+=	--disable-htcp
.else
CONFIGURE_ARGS+=	--enable-htcp
.endif
.if ${PORT_OPTIONS:MVIA_DB}
CONFIGURE_ARGS+=	--enable-forw-via-db
.else
CONFIGURE_ARGS+=	--disable-forw-via-db
.endif
.if ${PORT_OPTIONS:MCACHE_DIGESTS}
CONFIGURE_ARGS+=	--enable-cache-digests
.else
CONFIGURE_ARGS+=	--disable-cache-digests
.endif
.if ${PORT_OPTIONS:MWCCP}
CONFIGURE_ARGS+=	--enable-wccp
.else
CONFIGURE_ARGS+=	--disable-wccp
.endif
.if ${PORT_OPTIONS:MWCCPV2}
CONFIGURE_ARGS+=	--enable-wccpv2
.else
CONFIGURE_ARGS+=	--disable-wccpv2
.endif
.if ${PORT_OPTIONS:MSTRICT_HTTP}
CONFIGURE_ARGS+=	--disable-http-violations
.endif
.if empty(PORT_OPTIONS:MIDENT)
CONFIGURE_ARGS+=	--disable-ident-lookups
.endif
.if ${PORT_OPTIONS:MARP_ACL}
CONFIGURE_ARGS+=	--enable-eui
.else
CONFIGURE_ARGS+=	--disable-eui
.endif
.if ${PORT_OPTIONS:MTP_IPFW}
CONFIGURE_ARGS+=	--enable-ipfw-transparent
.else
CONFIGURE_ARGS+=	--disable-ipfw-transparent
.endif
.if ${PORT_OPTIONS:MTP_PF}
CONFIGURE_ARGS+=	--enable-pf-transparent
.else
CONFIGURE_ARGS+=	--disable-pf-transparent
.endif
.if ${PORT_OPTIONS:MTP_IPF}
CONFIGURE_ARGS+=	--enable-ipf-transparent
.else
CONFIGURE_ARGS+=	--disable-ipf-transparent
.endif
.if ${PORT_OPTIONS:MFOLLOW_XFF}
CONFIGURE_ARGS+=	--enable-follow-x-forwarded-for
.else
CONFIGURE_ARGS+=	--disable-follow-x-forwarded-for
.endif
.if ${PORT_OPTIONS:MECAP}
CONFIGURE_ARGS+=	--enable-ecap
LIB_DEPENDS+=	ecap:${PORTSDIR}/www/libecap
CFLAGS+=	-I${LOCALBASE}/include
LDFLAGS+=	-L${LOCALBASE}/lib
USE_PKGCONFIG=	build
.else
CONFIGURE_ARGS+=	--disable-ecap
.endif
.if ${PORT_OPTIONS:MICAP}
CONFIGURE_ARGS+=	--enable-icap-client
.else
CONFIGURE_ARGS+=	--disable-icap-client
.endif
.if ${PORT_OPTIONS:MESI}
CONFIGURE_ARGS+=	--enable-esi
LIB_DEPENDS+=	expat:${PORTSDIR}/textproc/expat2 \
		xml2:${PORTSDIR}/textproc/libxml2
CFLAGS+=	-I${LOCALBASE}/include -I${LOCALBASE}/include/libxml2
LDFLAGS+=	-L${LOCALBASE}/lib
.else
CONFIGURE_ARGS+=	--disable-esi
.endif
.if empty(PORT_OPTIONS:MKQUEUE)
# Squid-3's kqueue support is still marked as experimental, so it is not yet
# enabled automatically as in Squid-2. We are explicit about disabling it,
# nonetheless:
CONFIGURE_ARGS+=	--disable-kqueue
.else
CONFIGURE_ARGS+=	--enable-kqueue
.endif
.if ${PORT_OPTIONS:MLARGEFILE}
CONFIGURE_ARGS+=	--with-large-files
.endif
.if ${PORT_OPTIONS:MSTACKTRACES}
CONFIGURE_ARGS+=	--enable-stacktraces
CFLAGS+=		-g
STRIP=
.endif
.if ${PORT_OPTIONS:MDEBUG} || defined(WITH_DEBUG)
CONFIGURE_ARGS+=	--disable-optimizations --enable-debug-cbdata
WITH_DEBUG?=		yes
.endif

# Finally, add additional user specified configuration options:
CONFIGURE_ARGS+=	${SQUID_CONFIGURE_ARGS}

PLIST_DIRS=	%%ETCDIR%%/icons/silk %%ETCDIR%%/icons libexec/squid
PLIST_FILES=	${etc_files:S,^,etc/,} \
		%%ETCDIR%%/icons/SN.png \
		${icon_silk_files:S,^,%%ETCDIR%%/icons/silk/,} \
		${libexec:S,^,libexec/squid/,} ${sbin:S,^,sbin/,}

PLIST_FILES+=	%%ETCDIR%%/errors/COPYRIGHT %%ETCDIR%%/errors/TRANSLATORS
.for d in ${error_dirs}
PLIST_DIRS+=	%%ETCDIR%%/errors/${d}
PLIST_FILES+=	${error_files:S,^,%%ETCDIR%%/errors/${d}/,}
.endfor
PLIST_FILES+=	${error_dir_links:S,^,%%ETCDIR%%/errors/,}
PLIST_DIRS+=	%%ETCDIR%%/errors
PLIST_DIRSTRY+=	%%ETCDIR%%

post-patch:
	@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' \
	    ${WRKSRC}/src/cf.data.pre

pre-install:
# Prevent installation of .orig files by deleting them.
	@${FIND} ${WRKSRC} -name '*.bak' -delete
	@${FIND} ${WRKSRC} -name '*.orig' -delete

pre-su-install:
	@${SETENV} ${SCRIPTS_ENV} PKG_PREFIX=${PREFIX} \
	    ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL

post-install:
.if !defined(NOPORTEXAMPLES)
	@${MKDIR} ${EXAMPLESDIR}
	${INSTALL_DATA} ${WRKSRC}/helpers/basic_auth/DB/passwd.sql ${EXAMPLESDIR}
.endif
.if ${PORT_OPTIONS:MICMP}
	${CHMOD} 4510 ${PREFIX}/libexec/squid/pinger; \
	${CHGRP} squid ${PREFIX}/libexec/squid/pinger
.endif
.if !defined(NOPORTDOCS)
	@${MKDIR} ${DOCSDIR}
	cd ${WRKSRC} && ${INSTALL_DATA} ${docs} ${DOCSDIR}
.endif
	@${SETENV} PKG_PREFIX=${PREFIX} \
	    ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL

	@${ECHO_CMD} "===> post-installation information for ${PKGNAME}:"
	@${ECHO_CMD} ""
	@${CAT} ${PKGMESSAGE}
	@${ECHO_CMD} ""

.include <bsd.port.post.mk>