net-proxy/squid: make perl optional.

It is possible to use squid as a simple pull through cache without
pulling in perl.  To allow this simple use case, move the runtime
dependency on perl to be guarded by a use flag, and don't install
the scripts that use perl in that case.

Closes: https://github.com/gentoo/gentoo/pull/8518
This commit is contained in:
Pat Erley
2018-05-21 10:47:31 -07:00
committed by Patrice Clement
parent 578ade4bbc
commit d5f4c0a636

View File

@@ -14,7 +14,7 @@ KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~sparc x86 ~x86-fbsd"
IUSE="caps ipv6 pam ldap libressl samba sasl kerberos nis radius ssl snmp selinux logrotate test \
ecap esi ssl-crtd \
mysql postgres sqlite \
qos tproxy \
perl qos tproxy \
+htcp +wccp +wccpv2 \
pf-transparent ipf-transparent kqueue \
elibc_uclibc kernel_linux"
@@ -33,13 +33,14 @@ COMMON_DEPEND="caps? ( >=sys-libs/libcap-2.16 )
esi? ( dev-libs/expat dev-libs/libxml2 )
!x86-fbsd? ( logrotate? ( app-admin/logrotate ) )
>=sys-libs/db-4:*
dev-lang/perl
dev-libs/libltdl:0"
DEPEND="${COMMON_DEPEND}
dev-lang/perl
ecap? ( virtual/pkgconfig )
test? ( dev-util/cppunit )"
RDEPEND="${COMMON_DEPEND}
samba? ( net-fs/samba )
perl? ( dev-lang/perl )
mysql? ( dev-perl/DBD-mysql )
postgres? ( dev-perl/DBD-Pg )
selinux? ( sec-policy/selinux-squid )
@@ -223,6 +224,21 @@ src_install() {
fowners root:squid /usr/libexec/squid/pinger
fperms 4750 /usr/libexec/squid/pinger
# these scripts depend on perl
if ! use perl; then
local f
local PERL_SCRIPTS=(
"${D}"/usr/libexec/squid/basic_pop3_auth
"${D}"/usr/libexec/squid/log_db_daemon
"${D}"/usr/libexec/squid/basic_msnt_multi_domain_auth
"${D}"/usr/libexec/squid/storeid_file_rewrite
"${D}"/usr/libexec/squid/helper-mux.pl
)
for f in "${PERL_SCRIPTS[@]}"; do
rm -v "${f}" || die
done
fi
# cleanup
rm -f "${D}"/usr/bin/Run*
rm -rf "${D}"/run/squid "${D}"/var/cache/squid