a project to simplify installation of open source software
on Mac OS X and Darwin
# $Id: Portfile 21345 2007-01-21 14:09:59Z css@macports.org $
PortSystem 1.0
name privoxy
version 3.0.6
categories www security net
maintainers nomaintainer@macports.org
description Advanced filtering web proxy
long_description \
Privoxy is a web proxy with advanced filtering capabilities for \
protecting privacy, modifying web page content, managing cookies, \
controlling access, and removing ads, banners, pop-ups and other \
obnoxious Internet junk. Privoxy has a very flexible configuration and \
can be customized to suit individual needs and tastes. Privoxy has \
application for both stand-alone systems and multi-user networks.
platforms darwin
homepage http://www.privoxy.org/
master_sites sourceforge:ijbswa
distname ${name}-${version}-stable-src
checksums md5 c3b34c620e1174f0c0b91aa2a04ceae4 \
sha1 6369c02ef6e044d23fd1d90f6523b489abe58c0c
worksrcdir ${name}-${version}-stable
depends_lib lib:libpcre:pcre
set privoxyGroup privoxy
set privoxyUser privoxy
patchfiles patch-GNUmakefile.in
pre-configure {
addgroup ${privoxyGroup}
adduser ${privoxyUser} gid=[existsgroup ${privoxyGroup}]
cd ${worksrcpath}
system "autoheader"
}
use_autoconf yes
configure.env CPPFLAGS="-I${prefix}/include" LDFLAGS="-L${prefix}/lib"
configure.args --disable-dynamic-pcrs --with-user=${privoxyUser} \
--with-group=${privoxyGroup} \
--sysconfdir=${prefix}/etc/${name} \
--mandir=${prefix}/share/man
destroot.keepdirs ${destroot}${prefix}/var/log/privoxy \
${destroot}${prefix}/var/run
post-destroot {
xinstall -m 755 -d ${destroot}${prefix}/var/run
# Install and fixup startup script (if non-Darwin)
if {![variant_isset darwin]} {
xinstall -m 755 -d ${destroot}${prefix}/etc/rc.d
xinstall -m 755 -W ${worksrcpath} privoxy-generic.init \
${destroot}${prefix}/etc/rc.d/privoxy.sh
cd ${destroot}${prefix}/etc/rc.d
system "patch -p0 < ${filespath}/patch-privoxy.sh"
reinplace "s|@@PREFIX@@|${prefix}|g" \
${destroot}${prefix}/etc/rc.d/privoxy.sh
reinplace "s|@@PRIVOXY_USER@@|${privoxyUser}|g" \
${destroot}${prefix}/etc/rc.d/privoxy.sh
}
# Rename these so local modifications are not removed on uninstall
foreach privoxyConf {config trust user.action} {
file rename ${destroot}${prefix}/etc/privoxy/${privoxyConf} \
${destroot}${prefix}/etc/privoxy/${privoxyConf}-dist \
}
# Remove the preinstalled log files as, otherwise, a rotation script
# will fail when trying to rename and compress due to gzip not liking
# multi-linked files (the one in ${prefix} and the one in
# ${prefix}/var/db/dports/software/...)
eval file delete [glob ${destroot}${prefix}/var/log/privoxy/*]
# Make sure log directory owned by privoxy user/group
file attributes ${destroot}${prefix}/var/log/privoxy \
-group ${privoxyGroup} -owner ${privoxyUser}
}
post-activate {
# Make sure initial log files are present and setup correctly
foreach privoxyLog {jarfile logfile} {
system "touch ${prefix}/var/log/privoxy/${privoxyLog}"
file attributes ${prefix}/var/log/privoxy/${privoxyLog} \
-group ${privoxyGroup} -owner ${privoxyUser} \
-permissions 0660
}
foreach privoxyConf {config trust user.action} {
if ![file exists ${prefix}/etc/privoxy/${privoxyConf}] {
file copy ${prefix}/etc/privoxy/${privoxyConf}-dist \
${prefix}/etc/privoxy/${privoxyConf}
file attributes ${prefix}/etc/privoxy/${privoxyConf} \
-group ${privoxyGroup} -owner ${privoxyUser} \
-permissions 0660
}
}
}
platform darwin {
startupitem.create yes
startupitem.name Privoxy
startupitem.start "\[ -f \"${prefix}/etc/privoxy/config\" \] \\"
startupitem.start-append "\t&& ${prefix}/sbin/privoxy \\"
startupitem.start-append "\t\t--pidfile ${prefix}/var/run/privoxy.pid \\"
startupitem.start-append "\t\t--user ${privoxyUser} \\"
startupitem.start-append "\t\t${prefix}/etc/privoxy/config 2>/dev/null"
startupitem.stop "if \[ -f \"${prefix}/var/run/privoxy.pid\" \]; then"
startupitem.stop-append "\tkill `cat ${prefix}/var/run/privoxy.pid` \\"
startupitem.stop-append "\t\t&& rm -f ${prefix}/var/run/privoxy.pid"
startupitem.stop-append "else"
startupitem.stop-append "\t/usr/bin/killall -SIGUSR1 privoxy 2>/dev/null"
startupitem.stop-append "fi"
}