b7f05445c0
It has been common practice to have one or more URLs at the end of the ports' pkg-descr files, one per line and prefixed with "WWW:". These URLs should point at a project website or other relevant resources. Access to these URLs required processing of the pkg-descr files, and they have often become stale over time. If more than one such URL was present in a pkg-descr file, only the first one was tarnsfered into the port INDEX, but for many ports only the last line did contain the port specific URL to further information. There have been several proposals to make a project URL available as a macro in the ports' Makefiles, over time. This commit implements such a proposal and moves one of the WWW: entries of each pkg-descr file into the respective port's Makefile. A heuristic attempts to identify the most relevant URL in case there is more than one WWW: entry in some pkg-descr file. URLs that are not moved into the Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr files in order to preserve them. There are 1256 ports that had no WWW: entries in pkg-descr files. These ports will not be touched in this commit. The portlint port has been adjusted to expect a WWW entry in each port Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as deprecated. Approved by: portmgr (tcberner)
312 lines
11 KiB
Makefile
312 lines
11 KiB
Makefile
PORTNAME= squid
|
|
DISTVERSION= 5.0.6
|
|
CATEGORIES= www
|
|
MASTER_SITES= http://www2.pl.squid-cache.org/Versions/v5/ \
|
|
http://ca.squid-cache.org/Versions/v5/ \
|
|
http://www1.il.squid-cache.org/Versions/v5/ \
|
|
http://www1.jp.squid-cache.org/Versions/v5/ \
|
|
http://www2.gr.squid-cache.org/Versions/v5/ \
|
|
http://ca2.squid-cache.org/Versions/v5/ \
|
|
http://www.squid-cache.org/Versions/v5/
|
|
PKGNAMESUFFIX= -devel
|
|
|
|
PATCH_SITES= http://www2.pl.squid-cache.org/%SUBDIR%/ \
|
|
http://ca.squid-cache.org/%SUBDIR%/ \
|
|
http://www1.il.squid-cache.org/%SUBDIR%/ \
|
|
http://www1.jp.squid-cache.org/%SUBDIR%/ \
|
|
http://www2.gr.squid-cache.org/%SUBDIR%/ \
|
|
http://ca2.squid-cache.org/%SUBDIR%/ \
|
|
http://www.squid-cache.org/%SUBDIR%/
|
|
PATCH_SITE_SUBDIR= Versions/v5/changesets
|
|
|
|
MAINTAINER= timp87@gmail.com
|
|
COMMENT= HTTP Caching Proxy
|
|
WWW= http://www.squid-cache.org/
|
|
|
|
LICENSE= GPLv2
|
|
LICENSE_FILE= ${WRKSRC}/COPYING
|
|
|
|
USES= compiler:c++11-lib cpe perl5 shebangfix tar:xz
|
|
|
|
CONFLICTS= squid3-* squid-4.*
|
|
CPE_VENDOR= squid-cache
|
|
SHEBANG_FILES= scripts/*.pl contrib/*.pl tools/*.pl
|
|
GNU_CONFIGURE= yes
|
|
USE_RC_SUBR= squid
|
|
|
|
USERS= squid
|
|
GROUPS= squid
|
|
|
|
MYDOCS= QUICKSTART README RELEASENOTES.html doc/debug-sections.txt
|
|
PORTDOCS= ${MYDOCS:T}
|
|
PORTEXAMPLES= *
|
|
SUB_FILES+= pkg-install pkg-message
|
|
|
|
OPTIONS_SUB= yes
|
|
OPTIONS_GROUP= AUTH
|
|
OPTIONS_RADIO= FW
|
|
OPTIONS_GROUP_AUTH=AUTH_LDAP AUTH_NIS AUTH_SASL AUTH_SMB AUTH_SQL
|
|
OPTIONS_RADIO_FW=TP_IPF TP_IPFW TP_PF
|
|
OPTIONS_DEFINE= ARP_ACL TDB CACHE_DIGESTS DEBUG DELAY_POOLS DOCS ECAP ESI EXAMPLES \
|
|
FOLLOW_XFF FS_AUFS FS_DISKD FS_ROCK HTCP ICAP ICMP IDENT IPV6 \
|
|
KQUEUE LARGEFILE LAX_HTTP NETTLE SNMP SSL SSL_CRTD \
|
|
STACKTRACES VIA_DB WCCP WCCPV2
|
|
|
|
OPTIONS_SINGLE= GSSAPI
|
|
OPTIONS_SINGLE_GSSAPI= GSSAPI_NONE GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT
|
|
|
|
OPTIONS_DEFAULT=ARP_ACL AUTH_NIS CACHE_DIGESTS DELAY_POOLS FOLLOW_XFF FS_AUFS \
|
|
FS_DISKD FS_ROCK GSSAPI_BASE HTCP ICAP ICMP IDENT KQUEUE \
|
|
LARGEFILE LAX_HTTP SNMP SSL SSL_CRTD TP_IPFW VIA_DB WCCP \
|
|
WCCPV2
|
|
|
|
ARP_ACL_CONFIGURE_ENABLE= eui
|
|
AUTH_LDAP_CFLAGS= -I${LOCALBASE}/include
|
|
AUTH_LDAP_LDFLAGS= -L${LOCALBASE}/lib
|
|
AUTH_LDAP_USE= OPENLDAP=yes
|
|
AUTH_LDAP_VARS= BASIC_AUTH+=LDAP DIGEST_AUTH+="eDirectory LDAP" EXTERNAL_ACL+="LDAP_group eDirectory_userip"
|
|
AUTH_SASL_CFLAGS= -I${LOCALBASE}/include
|
|
AUTH_SASL_CPPFLAGS= -I${LOCALBASE}/include
|
|
AUTH_SASL_LDFLAGS= -L${LOCALBASE}/lib
|
|
AUTH_SASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2
|
|
AUTH_SASL_VARS= BASIC_AUTH+=SASL
|
|
AUTH_SMB_USES= samba:run
|
|
AUTH_SMB_VARS= BASIC_AUTH+=SMB EXTERNAL_ACL+=wbinfo_group
|
|
AUTH_SQL_RUN_DEPENDS= p5-DBI>=1.08:databases/p5-DBI
|
|
AUTH_SQL_VARS= EXTERNAL_ACL+=SQL_session
|
|
TDB_CFLAGS= -I${LOCALBASE}/include
|
|
TDB_CONFIGURE_ENABLE= tdb
|
|
TDB_LDFLAGS= -L${LOCALBASE}/lib
|
|
TDB_LIB_DEPENDS= libtdb.so:databases/tdb
|
|
TDB_VARS= EXTERNAL_ACL+="time_quota session"
|
|
CACHE_DIGESTS_CONFIGURE_ENABLE= cache-digests
|
|
DELAY_POOLS_CONFIGURE_ENABLE= delay-pools
|
|
ECAP_CFLAGS= -I${LOCALBASE}/include
|
|
ECAP_CONFIGURE_ENABLE= ecap
|
|
ECAP_LDFLAGS= -L${LOCALBASE}/lib
|
|
ECAP_LIB_DEPENDS= libecap.so:www/libecap
|
|
ECAP_USES= pkgconfig:build
|
|
ESI_CFLAGS= -I${LOCALBASE}/include -I${LOCALBASE}/include/libxml2
|
|
ESI_CONFIGURE_ENABLE= esi
|
|
ESI_LDFLAGS= -L${LOCALBASE}/lib
|
|
ESI_LIB_DEPENDS= libexpat.so:textproc/expat2 \
|
|
libxml2.so:textproc/libxml2
|
|
FOLLOW_XFF_CONFIGURE_ENABLE= follow-x-forwarded-for
|
|
HTCP_CONFIGURE_ENABLE= htcp
|
|
ICAP_CONFIGURE_ENABLE= icap-client
|
|
ICMP_CONFIGURE_ENABLE= icmp
|
|
IDENT_CONFIGURE_ENABLE= ident-lookups
|
|
IPV6_CONFIGURE_ENABLE= ipv6
|
|
KQUEUE_CONFIGURE_ENABLE= kqueue
|
|
LARGEFILE_CONFIGURE_WITH= large-files
|
|
LAX_HTTP_CONFIGURE_ENABLE= http-violations
|
|
FS_AUFS_VARS= STORAGE_SCHEMES+=aufs DISKIO_MODULES+=DiskThreads
|
|
# Nil aufs threads is default, set any other value via SQUID_CONFIGURE_ARGS,
|
|
# e.g. SQUID_CONFIGURE_ARGS=--with-aufs-threads=N
|
|
FS_AUFS_LDFLAGS= -pthread
|
|
FS_AUFS_CONFIGURE_OFF= --without-pthreads
|
|
FS_DISKD_VARS= STORAGE_SCHEMES+=diskd DISKIO_MODULES+=DiskDaemon
|
|
FS_ROCK_VARS= STORAGE_SCHEMES+=rock
|
|
NETTLE_LIB_DEPENDS= libnettle.so:security/nettle
|
|
NETTLE_CONFIGURE_OFF= --without-nettle
|
|
SNMP_CONFIGURE_ENABLE= snmp
|
|
SSL_CONFIGURE_ENABLE= ssl
|
|
SSL_CONFIGURE_ON= --with-openssl=${OPENSSLBASE} \
|
|
--enable-security-cert-generators="file" \
|
|
LIBOPENSSL_CFLAGS=-I${OPENSSLINC} \
|
|
LIBOPENSSL_LIBS="-lcrypto -lssl"
|
|
SSL_USES= ssl
|
|
SSL_CRTD_CONFIGURE_ENABLE= ssl-crtd
|
|
SSL_CRTD_IMPLIES= SSL
|
|
STACKTRACES_CONFIGURE_ENABLE= stacktraces
|
|
STACKTRACES_EXTRA_PATCHES= ${FILESDIR}/extra-patch-gen-stacktrace
|
|
STACKTRACES_LIB_DEPENDS= libunwind.so:devel/libunwind
|
|
STACKTRACES_CFLAGS= -g
|
|
STACKTRACES_LDFLAGS= -lunwind -L${LOCALBASE}/lib
|
|
STACKTRACES_VARS= STRIP=""
|
|
TP_IPFW_CONFIGURE_ENABLE= ipfw-transparent
|
|
TP_IPF_CONFIGURE_ENABLE= ipf-transparent
|
|
TP_PF_CONFIGURE_ENABLE= pf-transparent
|
|
TP_PF_CONFIGURE_WITH= nat-devpf
|
|
VIA_DB_CONFIGURE_ENABLE= forw-via-db
|
|
WCCPV2_CONFIGURE_ENABLE= wccpv2
|
|
WCCP_CONFIGURE_ENABLE= wccp
|
|
|
|
GSSAPI_NONE_CONFIGURE_ON= --without-heimdal-krb5 \
|
|
--without-mit-krb5 \
|
|
--without-gss
|
|
|
|
GSSAPI_BASE_USES= gssapi
|
|
GSSAPI_BASE_CONFIGURE_ON= --with-heimdal-krb5=${GSSAPIBASEDIR} \
|
|
${GSSAPI_CONFIGURE_ARGS} \
|
|
krb5_config=${GSSAPIBASEDIR}/bin/krb5-config
|
|
GSSAPI_BASE_PLIST_SUB= AUTH_KERB=""
|
|
|
|
GSSAPI_HEIMDAL_USES= gssapi:heimdal
|
|
GSSAPI_HEIMDAL_CONFIGURE_ON= --with-heimdal-krb5=${GSSAPIBASEDIR} \
|
|
${GSSAPI_CONFIGURE_ARGS} \
|
|
krb5_config=${GSSAPIBASEDIR}/bin/krb5-config
|
|
GSSAPI_HEIMDAL_PLIST_SUB= AUTH_KERB=""
|
|
|
|
GSSAPI_MIT_USES= gssapi:mit
|
|
GSSAPI_MIT_CONFIGURE_ON= --with-mit-krb5=${GSSAPIBASEDIR} \
|
|
${GSSAPI_CONFIGURE_ARGS} \
|
|
krb5_config=${GSSAPIBASEDIR}/bin/krb5-config
|
|
GSSAPI_MIT_PLIST_SUB= AUTH_KERB=""
|
|
|
|
ARP_ACL_DESC= ARP/MAC/EUI based authentification
|
|
AUTH_DESC= 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)
|
|
AUTH_SQL_DESC= Install SQL based auth
|
|
TDB_DESC= TrivialDB support required for session and time quota external helpers
|
|
CACHE_DIGESTS_DESC= Use cache digests
|
|
DEBUG_DESC= Build with extended debugging support
|
|
DELAY_POOLS_DESC= Delay pools (bandwidth limiting)
|
|
ECAP_DESC= Loadable content adaptation modules
|
|
ESI_DESC= ESI support
|
|
FOLLOW_XFF_DESC= Support for the X-Following-For header
|
|
FS_AUFS_DESC= AUFS (threaded-io) support
|
|
FS_DISKD_DESC= DISKD storage engine controlled by separate service
|
|
FS_ROCK_DESC= ROCK storage engine
|
|
HTCP_DESC= HTCP support
|
|
ICAP_DESC= the ICAP client
|
|
ICMP_DESC= ICMP pinging and network measurement
|
|
IDENT_DESC= Ident lookups (RFC 931)
|
|
KQUEUE_DESC= Kqueue(2) support
|
|
LARGEFILE_DESC= Support large (>2GB) cache and log files
|
|
NETTLE_DESC= Nettle MD5 algorithm support
|
|
SNMP_DESC= SNMP support
|
|
SSL_CRTD_DESC= Use ssl_crtd to handle SSL cert requests
|
|
SSL_DESC= SSL gatewaying support
|
|
STACKTRACES_DESC= Enable automatic backtraces on fatal errors
|
|
LAX_HTTP_DESC= Do not enforce strict HTTP compliance
|
|
TP_IPFW_DESC= Transparent proxying with IPFW
|
|
TP_IPF_DESC= Transparent proxying with IPFilter
|
|
TP_PF_DESC= Transparent proxying with PF
|
|
VIA_DB_DESC= Forward/Via database
|
|
WCCPV2_DESC= Web Cache Coordination Protocol v2
|
|
WCCP_DESC= Web Cache Coordination Protocol
|
|
|
|
change_files= ChangeLog \
|
|
contrib/nextstep/makepkg \
|
|
contrib/nextstep/post_install \
|
|
errors/Makefile.am \
|
|
errors/Makefile.in \
|
|
src/auth/basic/SMB_LM/README.html \
|
|
src/Makefile.am \
|
|
src/Makefile.in \
|
|
src/cf_gen.cc \
|
|
src/squid.8.in \
|
|
test-suite/Makefile.in \
|
|
tools/Makefile.am \
|
|
tools/Makefile.in
|
|
|
|
.if !defined(SQUID_CONFIGURE_ARGS) \
|
|
|| ${SQUID_CONFIGURE_ARGS:M*--disable-unlinkd*} == ""
|
|
PLIST_SUB+= UNLINKD=""
|
|
.else
|
|
PLIST_SUB+= UNLINKD="@comment "
|
|
.endif
|
|
|
|
CONFIGURE_ARGS= --with-default-user=squid \
|
|
--bindir=${PREFIX}/sbin \
|
|
--sbindir=${PREFIX}/sbin \
|
|
--datadir=${ETCDIR} \
|
|
--libexecdir=${PREFIX}/libexec/squid \
|
|
--localstatedir=/var \
|
|
--sysconfdir=${ETCDIR} \
|
|
--with-logdir=/var/log/squid \
|
|
--with-pidfile=/var/run/squid/squid.pid \
|
|
--with-swapdir=/var/squid/cache \
|
|
--without-gnutls \
|
|
--with-included-ltdl \
|
|
--enable-auth \
|
|
--enable-zph-qos \
|
|
--enable-build-info \
|
|
--enable-loadable-modules \
|
|
--enable-removal-policies="lru heap" \
|
|
--disable-epoll \
|
|
--disable-linux-netfilter \
|
|
--disable-linux-tproxy \
|
|
--disable-translation \
|
|
--disable-arch-native \
|
|
--disable-strict-error-checking
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
# Authentication methods and modules:
|
|
|
|
BASIC_AUTH+= DB SMB_LM NCSA PAM POP3 RADIUS fake getpwnam
|
|
DIGEST_AUTH+= file
|
|
EXTERNAL_ACL+= file_userip unix_group delayer
|
|
|
|
# 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
|
|
.endif
|
|
|
|
# POLA: allow the old global make.conf(5) (pre src.conf(5)) defines, too:
|
|
.if ${PORT_OPTIONS:MGSSAPI_NONE} || defined(NO_KERBEROS) || defined(WITHOUT_KERBEROS)
|
|
NEGOTIATE_AUTH= none
|
|
PLIST_SUB+= AUTH_KERB="@comment "
|
|
.else
|
|
# The kerberos_ldap_group external helper also depends on LDAP and SASL:
|
|
# The kerberos_sid_group external helper depends on kerberos_ldap_group meanwhile
|
|
. if ${PORT_OPTIONS:MAUTH_LDAP} && ${PORT_OPTIONS:MAUTH_SASL}
|
|
EXTERNAL_ACL+= kerberos_ldap_group kerberos_sid_group
|
|
. endif
|
|
NEGOTIATE_AUTH= kerberos wrapper
|
|
.endif
|
|
|
|
# Storage schemes:
|
|
STORAGE_SCHEMES+= ufs
|
|
DISKIO_MODULES+= AIO Blocking IpcIo Mmapped
|
|
|
|
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="fake SMB_LM" \
|
|
--enable-storeio="${STORAGE_SCHEMES}" \
|
|
--enable-disk-io="${DISKIO_MODULES}" \
|
|
--enable-log-daemon-helpers="file DB" \
|
|
--enable-url-rewrite-helpers="fake LFS" \
|
|
--enable-storeid-rewrite-helpers="file" \
|
|
--enable-security-cert-validators="fake"
|
|
|
|
# Other options set via 'make config':
|
|
|
|
.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}
|
|
|
|
post-patch:
|
|
@(cd ${WRKSRC} && ${REINPLACE_CMD} \
|
|
-e 's|\.conf\.default|.conf.sample|' \
|
|
-e 's|)\.default|).sample|' \
|
|
${change_files})
|
|
@(cd ${WRKSRC} && ${MV} src/mime.conf.default src/mime.conf.sample)
|
|
|
|
post-patch-IPV6-off:
|
|
@${REINPLACE_CMD} -E -e's| ::1$$||' -e's| ::1?/128||g' \
|
|
-e'/acl localnet src f[ce][08]0::/d' \
|
|
-e's| 2001:DB8::[^[:space:]]+$$||' \
|
|
-e'/tcp_outgoing_address 2001:db8::/d' \
|
|
${WRKSRC}/src/cf.data.pre
|
|
|
|
post-install:
|
|
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
|
|
${INSTALL_DATA} ${WRKSRC}/src/auth/basic/DB/passwd.sql \
|
|
${STAGEDIR}${EXAMPLESDIR}
|
|
@${MKDIR} ${STAGEDIR}${DOCSDIR}
|
|
(cd ${WRKSRC} && ${INSTALL_DATA} ${MYDOCS} ${STAGEDIR}${DOCSDIR})
|
|
|
|
.include <bsd.port.mk>
|