diff --git a/net-proxy/privoxy/Manifest b/net-proxy/privoxy/Manifest index 5d44ae7b96503..d58dcea08d262 100644 --- a/net-proxy/privoxy/Manifest +++ b/net-proxy/privoxy/Manifest @@ -1,2 +1,3 @@ DIST privoxy-3.0.34-stable-src.tar.gz 1589785 BLAKE2B d879d3827dc1e6dd6a3d13ab07b788a235a16dcc4b050f17dd43543c0fad1cf9c9ceb2a0ae1ec3885798db5041a6c1fc2c270befd4d8ecf10254a58533458dba SHA512 f963419ae2cb6dd72cd892fa043768d99a4118792833de2e666d6a800fbe9a7fcb0641f15e3211e0b01a74609c65aeb60af1051f1a19daa1048314599679b685 DIST privoxy-4.0.0-stable-src.tar.gz 1746840 BLAKE2B 194987c99fb8da78c369b354bae40557a5c6aafb6091df11b2752a013c24c43e56026e7ec51ebe168f200a5bfdf3ee28fa75867dabde8f2d2a525142b4198f2d SHA512 d89b75c486d403ce99bf439d8a5bacf59cc2c43b2acec55eddab24e818be20cfe23954ca01a20efa86c8afb38bea64bb91435b063144fd549a8c7e03a2320000 +DIST privoxy-4.2.0-stable-src.tar.gz 1791064 BLAKE2B fa204d35ca6f70c8e40a97cec561f1772a8b9e790eeb263d26ef4f996d2381306cf5e3e62d6025b58033b72a554f23249c7e46b7c610d179ad4f514e2ea42580 SHA512 e727a16ead5759e3e976d42558ad0c0af137a7f74d8ccc83ed53a34320654362489a77d3bd54c9b4d5b84c5b4ecf8e375d2c1d0e3108eb26acce3014dfbefdb0 diff --git a/net-proxy/privoxy/files/privoxy-4.2.0-gentoo.patch b/net-proxy/privoxy/files/privoxy-4.2.0-gentoo.patch new file mode 100644 index 0000000000000..94a7723236fa3 --- /dev/null +++ b/net-proxy/privoxy/files/privoxy-4.2.0-gentoo.patch @@ -0,0 +1,121 @@ +diff --git a/GNUmakefile.in b/GNUmakefile.in +index 214a8e1..45ca660 100644 +--- a/GNUmakefile.in ++++ b/GNUmakefile.in +@@ -64,8 +64,8 @@ MAN_DEST = $(MAN_DIR)/man8 + PRIVOXY_TOOL_MAN_DEST = $(MAN_DIR)/man1 + PRIVOXY_MAN_PAGE = privoxy.8 + SHARE_DEST = @datadir@ +-DOC_DEST = $(SHARE_DEST)/doc/privoxy +-VAR_DEST = @localstatedir@ ++DOC_DEST = @docdir@ ++VAR_DEST = /var + LOGS_DEST = $(VAR_DEST)/log/privoxy + PIDS_DEST = $(VAR_DEST)/run + +@@ -902,8 +902,6 @@ install: CONF_DEST LOG_DEST PID_DEST check_doc GROUP_T + $(INSTALL) $(INSTALL_T) $(DOK_WEB)/man-page/*html $(DESTDIR)$$DOC/man-page;\ + $(INSTALL) $(INSTALL_T) $(DOK_WEB)/privoxy-index.html $(DESTDIR)$$DOC/index.html;\ + $(INSTALL) $(INSTALL_T) AUTHORS $(DESTDIR)$$DOC;\ +- $(INSTALL) $(INSTALL_T) LICENSE $(DESTDIR)$$DOC;\ +- $(INSTALL) $(INSTALL_T) LICENSE.GPLv3 $(DESTDIR)$$DOC;\ + $(INSTALL) $(INSTALL_T) README $(DESTDIR)$$DOC;\ + $(INSTALL) $(INSTALL_T) ChangeLog $(DESTDIR)$$DOC;\ + $(INSTALL) $(INSTALL_T) $(DOK_WEB)/p_doc.css $(DESTDIR)$$DOC;\ +@@ -986,34 +984,8 @@ install: CONF_DEST LOG_DEST PID_DEST check_doc GROUP_T + fi ;\ + $(ECHO) Installing configuration files to $(DESTDIR)$(CONF_DEST);\ + for i in $(CONFIGS); do \ +- if [ "$$i" = "default.action" ] || [ "$$i" = "default.filter" ] ; then \ +- $(RM) $(DESTDIR)$(CONF_DEST)/$$i ;\ +- $(ECHO) Installing fresh $$i;\ + $(INSTALL) $$INSTALL_CONF $$i $(DESTDIR)$(CONF_DEST) || exit 1;\ +- elif [ -s "$(DESTDIR)$(CONF_DEST)/$$i" ]; then \ +- $(ECHO) Installing $$i as $$i.new ;\ +- $(INSTALL) $$INSTALL_CONF $$i $(DESTDIR)$(CONF_DEST)/$$i.new || exit 1;\ +- NEW=1;\ +- else \ +- $(INSTALL) $$INSTALL_CONF $$i $(DESTDIR)$(CONF_DEST) || exit 1;\ +- fi ;\ + done ;\ +- if [ -n "$$NEW" ]; then \ +- $(CHMOD) $(RWD_MODE) $(DESTDIR)$(CONF_DEST)/*.new || exit 1 ;\ +- $(ECHO) "Warning: Older config files are preserved. Check new versions for changes!" ;\ +- fi ;\ +- [ ! -f $(DESTDIR)$(LOG_DEST)/logfile ] && $(ECHO) Creating logfiles in $(DESTDIR)$(LOG_DEST) || \ +- $(ECHO) Checking logfiles in $(DESTDIR)$(LOG_DEST) ;\ +- $(TOUCH) $(DESTDIR)$(LOG_DEST)/logfile || exit 1 ;\ +- if [ x$$USER != x ]; then \ +- $(CHOWN) $$USER $(DESTDIR)$(LOG_DEST)/logfile || \ +- $(ECHO) "** WARNING ** current install user different from configured user. Logging may fail!!" ;\ +- fi ;\ +- if [ x$$GROUP_T != x ]; then \ +- $(CHGRP) $$GROUP_T $(DESTDIR)$(LOG_DEST)/logfile || \ +- $(ECHO) "** WARNING ** current install user different from configured user. Logging may fail!!" ;\ +- fi ;\ +- $(CHMOD) $(RWD_MODE) $(DESTDIR)$(LOG_DEST)/logfile || exit 1 ;\ + if [ "$(prefix)" = "/usr/local" ] || [ "$(prefix)" = "/usr" ]; then \ + if [ -f /etc/slackware-version ] && [ -d /etc/rc.d/ ] && [ -w /etc/rc.d/ ] ; then \ + $(SED) 's+%PROGRAM%+$(PROGRAM)+' slackware/rc.privoxy.in | \ +diff --git a/config b/config +index d24d910..71ce49f 100644 +--- a/config ++++ b/config +@@ -259,7 +259,7 @@ + # + # No trailing "/", please. + # +-confdir . ++confdir /etc/privoxy + # + # 2.2. templdir + # ============== +@@ -344,7 +344,7 @@ confdir . + # + # No trailing "/", please. + # +-logdir . ++logdir /var/log/privoxy + # + # 2.5. actionsfile + # ================= +@@ -478,7 +478,7 @@ filterfile user.filter # User customizations + # require additional software to do it. For details, please + # refer to the documentation for your operating system. + # +-logfile logfile ++logfile privoxy.log + # + # 2.8. trustfile + # =============== +diff --git a/default.action.master b/default.action.master +index a65de1c..8502188 100644 +--- a/default.action.master ++++ b/default.action.master +@@ -557,7 +557,7 @@ allow-ads = -block -filter{banners-by-size} -filter{banners-by-link} + +client-header-tagger{range-requests} \ + +hide-from-header{block} \ + +server-header-tagger{content-type} \ +-+set-image-blocker{pattern} \ +++set-image-blocker{blank} \ + } + standard.Cautious + +@@ -580,7 +580,7 @@ standard.Cautious + +hide-referrer{conditional-block} \ + +server-header-tagger{content-type} \ + +session-cookies-only \ +-+set-image-blocker{pattern} \ +++set-image-blocker{blank} \ + } + standard.Medium + +@@ -621,7 +621,7 @@ standard.Medium + +limit-connect{,} \ + +overwrite-last-modified{randomize} \ + +server-header-tagger{content-type} \ +-+set-image-blocker{pattern} \ +++set-image-blocker{blank} \ + } + standard.Advanced + diff --git a/net-proxy/privoxy/privoxy-4.2.0.ebuild b/net-proxy/privoxy/privoxy-4.2.0.ebuild new file mode 100644 index 0000000000000..edfc5e15001a8 --- /dev/null +++ b/net-proxy/privoxy/privoxy-4.2.0.ebuild @@ -0,0 +1,159 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools systemd toolchain-funcs + +[ "${PV##*_}" = "beta" ] && + PRIVOXY_STATUS="beta" || + PRIVOXY_STATUS="stable" + +DESCRIPTION="A web proxy with advanced filtering capabilities for enhancing privacy" +HOMEPAGE="https://www.privoxy.org https://sourceforge.net/projects/ijbswa/" +SRC_URI="https://downloads.sourceforge.net/ijbswa/${P%_*}-${PRIVOXY_STATUS}-src.tar.gz" + +S="${WORKDIR}/${P%_*}-${PRIVOXY_STATUS}" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="+acl brotli client-tags compression editor extended-host-patterns +extended-statistics external-filters +fast-redirects +force fuzz +graceful-termination +image-blocking ipv6 +jit lfs mbedtls +openssl +png-images sanitize selinux ssl +stats +threads toggle tools whitelists ++zlib +zstd" + +DEPEND=" + acct-group/privoxy + acct-user/privoxy + dev-libs/libpcre2 + brotli? ( app-arch/brotli ) + ssl? ( + mbedtls? ( net-libs/mbedtls:3= ) + openssl? ( dev-libs/openssl:= ) + ) + zlib? ( virtual/zlib:= ) + zstd? ( app-arch/zstd ) +" +RDEPEND="${DEPEND} + extended-host-patterns? ( dev-lang/perl ) + selinux? ( sec-policy/selinux-privoxy ) + tools? ( + net-misc/curl + dev-lang/perl + ) +" +REQUIRED_USE=" + brotli? ( zlib ) + client-tags? ( threads ) + compression? ( zlib ) + extended-statistics? ( threads ) + fuzz? ( zlib ) + ssl? ( ^^ ( mbedtls openssl ) threads ) + toggle? ( editor ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-4.2.0-gentoo.patch + "${FILESDIR}"/${PN}-3.0.28-strip.patch +) + +pkg_pretend() { + if ! use threads; then + ewarn + ewarn "Privoxy may be very slow without threads support, consider enabling it." + ewarn "See also https://www.privoxy.org/faq/trouble.html#GENTOO-RICERS" + ewarn "Additionally some features may not build or work poperly. You are on your own." + ewarn + fi +} + +src_prepare() { + default + mv configure.in configure.ac || die + sed -i "s|/p\.p/|/config.privoxy.org/|g" tools/privoxy-regression-test.pl || die + + # autoreconf needs to be called even if we don't modify any autotools source files + # See main makefile + eautoreconf +} + +src_configure() { + local myconf="--without-mbedtls --without-openssl" + if use ssl; then + myconf="$(use_with mbedtls) $(use_with openssl)" + fi + if use sanitize; then + myconf+=" --with-usan" + # msan is available in clang only + # asan is broken with current configure tests in gcc + tc-is-clang && myconf+=" --with-msan --with-asan" + fi + + # --with-debug only enables debug CFLAGS + # --with-docbook and --with-db2html and their deps are useless, + # since docs are already pregenerated in the source tarball + econf \ + --sysconfdir=/etc/privoxy \ + --disable-accept-filter \ + --enable-dynamic-pcre \ + --without-assertions \ + --with-user=privoxy \ + --with-group=privoxy \ + $(use_enable acl acl-support) \ + $(use_enable compression) \ + $(use_enable client-tags) \ + $(use_enable editor) \ + $(use_enable extended-host-patterns pcre-host-patterns) \ + $(use_enable extended-statistics) \ + $(use_enable fast-redirects) \ + $(use_enable force) \ + $(use_enable fuzz) \ + $(use_enable graceful-termination) \ + $(use_enable image-blocking) \ + $(use_enable jit pcre-jit-compilation) \ + $(use_enable ipv6 ipv6-support) \ + $(use_enable lfs large-file-support) \ + $(use_enable png-images no-gifs) \ + $(use_enable stats) \ + $(use_enable threads pthread) \ + $(use_enable toggle) \ + $(use_enable whitelists trust-files) \ + $(use_enable zlib) \ + $(use_with brotli) \ + $(use_with zstd) \ + ${myconf} +} + +src_install() { + default + + newinitd "${FILESDIR}/privoxy.initd-3" privoxy + systemd_dounit "${FILESDIR}"/${PN}.service + + insinto /etc/logrotate.d + newins "${FILESDIR}/privoxy.logrotate" privoxy + + diropts -m 0750 -g privoxy -o privoxy + keepdir /var/log/privoxy + + use extended-host-patterns && newbin tools/url-pattern-translator.pl privoxy-url-pattern-translator.pl + if use tools; then + dobin tools/{privoxy-log-parser.pl,privoxy-regression-test.pl} + newbin tools/uagen.pl privoxy-uagen.pl + fi + + rmdir "${ED}/var/run" || die + chown privoxy:root "${ED}/etc/privoxy" || die +} + +pkg_postinst() { + if use extended-host-patterns; then + ewarn + ewarn "You enabled extended-host-patterns, now you *must* convert all action files in" + ewarn "PCRE-compatible format, or privoxy will fail to start. Helper tool" + ewarn "privoxy-url-pattern-translator.pl is available." + ewarn + fi +}