summaryrefslogtreecommitdiff
path: root/www-servers
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-12-14 13:26:14 +0000
committerV3n3RiX <venerix@redcorelinux.org>2020-12-14 13:26:14 +0000
commit6abbf81ef2f298e3221ff5e67a1f3c5f23958212 (patch)
tree25413d1cb3a0cbfe36029db32398c0f333609215 /www-servers
parent9c417bacd51da6d8b57fa9f37425161d30d4b95b (diff)
gentoo resync : 14.12.2020
Diffstat (limited to 'www-servers')
-rw-r--r--www-servers/Manifest.gzbin5036 -> 5038 bytes
-rw-r--r--www-servers/apache/Manifest2
-rw-r--r--www-servers/apache/apache-2.4.46-r4.ebuild274
-rw-r--r--www-servers/gatling/Manifest5
-rw-r--r--www-servers/gatling/files/gatling-0.15-gcc10.patch38
-rw-r--r--www-servers/gatling/gatling-0.16-r1.ebuild (renamed from www-servers/gatling/gatling-0.15.ebuild)20
-rw-r--r--www-servers/gunicorn/Manifest8
-rw-r--r--www-servers/gunicorn/gunicorn-19.8.1.ebuild51
-rw-r--r--www-servers/gunicorn/gunicorn-19.9.0.ebuild38
-rw-r--r--www-servers/gunicorn/gunicorn-20.0.4.ebuild2
-rw-r--r--www-servers/gunicorn/metadata.xml4
-rw-r--r--www-servers/lighttpd/Manifest2
-rw-r--r--www-servers/lighttpd/lighttpd-1.4.55-r1.ebuild2
-rw-r--r--www-servers/nginx/Manifest2
-rw-r--r--www-servers/nginx/nginx-1.19.5-r1.ebuild1087
-rw-r--r--www-servers/servefile/Manifest4
-rw-r--r--www-servers/servefile/servefile-0.4.4_p20200211.ebuild41
-rw-r--r--www-servers/servefile/servefile-0.5.1.ebuild2
-rw-r--r--www-servers/sniproxy/Manifest3
-rw-r--r--www-servers/sniproxy/files/sniproxy-0.6.0-fno-common.patch24
-rw-r--r--www-servers/sniproxy/sniproxy-0.6.0-r1.ebuild (renamed from www-servers/sniproxy/sniproxy-0.6.0.ebuild)36
-rw-r--r--www-servers/tomcat/Manifest8
-rw-r--r--www-servers/tomcat/tomcat-8.5.60.ebuild2
-rw-r--r--www-servers/tomcat/tomcat-8.5.61.ebuild163
-rw-r--r--www-servers/tomcat/tomcat-9.0.41.ebuild (renamed from www-servers/tomcat/tomcat-9.0.38-r1.ebuild)10
-rw-r--r--www-servers/tornado/Manifest2
-rw-r--r--www-servers/tornado/tornado-6.0.4.ebuild2
27 files changed, 1603 insertions, 229 deletions
diff --git a/www-servers/Manifest.gz b/www-servers/Manifest.gz
index 988b4d312e65..dc037760d72f 100644
--- a/www-servers/Manifest.gz
+++ b/www-servers/Manifest.gz
Binary files differ
diff --git a/www-servers/apache/Manifest b/www-servers/apache/Manifest
index d843d950a84d..f2bd3db56e89 100644
--- a/www-servers/apache/Manifest
+++ b/www-servers/apache/Manifest
@@ -3,7 +3,9 @@ AUX apache-2.4.41-libressl.patch 1082 BLAKE2B 98428a5653f47e6dd38452809bee92ef7a
AUX apache.conf 55 BLAKE2B 05ab58ac12e51c7aa548a71a2da43bbf80e53ef8ebe7d143f698b118621f2af1498a1362e7f30b82dc12a96485652cb0c34248c290f6a1aab6a3f378d9843c2a SHA512 3a53beb7a283d17c14383f16ad14c0602681ac1b193cce8f5aca50ae9d9af3a71054ce4a9ab11cbcb72fe913459e1b306fd54660154e66afe10272f8c0f149f3
AUX apache2.2-hardened.service 970 BLAKE2B 77bf52cd0e5793aa81ad2b16267c1339e10fc4875704add053fd9ec67db60d2e175cb7a271c8d36b5e675a9cddd431062a6c31730510a921357b472383b502e4 SHA512 c206e7103d592dcf4f2d62979a20f7ab3cc7ce357ffe3c06ae8137064c812b9727e01a53fd602a0a55a64ed609664061de680ff42329381db787e2dae9310c48
DIST gentoo-apache-2.4.39-20190402.tar.bz2 25491 BLAKE2B ce230b07ec156048c7d7c1eb4b0e732fa6140f55d136e317714591327bde3f85bab7780424e6eef04b7a4518cbdcfdddcbc094409f4ca19ffea1ce967bdf7cf1 SHA512 bc0ffa20cffd9a89c2ea64420fa2243d77e97d7922bcd0b387a7fcfcc3c6908a056972b499a81344f7c3e3e19b55ffc300fd034c54b287f4f32d8931bd50cde4
+DIST gentoo-apache-2.4.46-r4-20201203.tar.bz2 25752 BLAKE2B 7479209b648567438789b1c73c99160af94c639710d6255cca2bb42f91d5b4d3f5692fb691a3566078860e00d507f1b97fa2d0d1352cf8de9ae7f311e3026e8c SHA512 9a810f9dba5c493ca25d23b77cf3c1b1991e9376308ec2c55105e6adb291da46c3858fb15200b6d31ac5a45485796667a504dbf217beeabd82ac097a8cca0569
DIST httpd-2.4.46.tar.bz2 7187805 BLAKE2B 2cd8a40be0b7b60ae5b06a286aa6dd801b8615fd0483a4653ceea6f9832c9ebb111f67ba4f69827b01acd1e5552e70ac0441df49573c9da0ca26d4c2f589f0bc SHA512 5936784bb662e9d8a4f7fe38b70c043b468114d931cd10ea831bfe74461ea5856b64f88f42c567ab791fc8907640a99884ba4b6a600f86d661781812735b6f13
EBUILD apache-2.4.46-r1.ebuild 8645 BLAKE2B 500dd93b967c7155d6b07d59f8bb18e8473c0f993f0fd5d56c3e66d4fa80e78e1c180275fee245a7377b7fee822d86b1d21371517b0d46bf9f9ff34fb2a24e5e SHA512 e54c12333cd7390e5a2c2db0ec3bd0e2ff175304a062ccad95fc2a4cebfbc77f130d61d12b0c1e25514214feaf804843323b9532d35b80ca0fa448f5ab828e25
+EBUILD apache-2.4.46-r4.ebuild 8648 BLAKE2B ed16c2f5d7ab1ea4bdffc1563afe905a9c78d51ea13685c663d517afaaec8b822ff56411b7fc76efc994d0c65d4ff7bfe46d28be6f9795efb138263528e57e6d SHA512 9154e5637db94174e4d8cda705d50042f5688a1ba5d027719a9f0d14c6075acee29fa006ba088eff4ccaf03a1fe6d1f46a9a480cbc3aaf435a0565c2bec90d5f
EBUILD apache-2.4.46.ebuild 8572 BLAKE2B 9f3a59cee0344f620d307e3316f8a17863227b0fbb8aee4a85474c6cfd23e9897d75628e66dbf0de901b9901b20ea4ec431ba7a16d79a5ec5437bc4bbf803eac SHA512 378d004209a14a97bf7358d284d9fa9bb51f1d5340daf8988739e53ef9b8f354e074c0def44d577fb9176137f136e0704ae18e4b000601acb6c63db7caa10a76
MISC metadata.xml 1012 BLAKE2B ca2238f428144240f64b5c9e48087a07a3f77278958efb240edeb864050ca01d1e042a37fb304fde76925fb651d7d97755d354a45aff34ac0589b7405b848d54 SHA512 a4e903bb75740c54256fa96359f6a97cd75008ffeeadfd6353648f5bfa2295fb108ec9de398956c79633bc465475f5db365d20d71caa34fc14a07c4715cc8683
diff --git a/www-servers/apache/apache-2.4.46-r4.ebuild b/www-servers/apache/apache-2.4.46-r4.ebuild
new file mode 100644
index 000000000000..237f162a3af6
--- /dev/null
+++ b/www-servers/apache/apache-2.4.46-r4.ebuild
@@ -0,0 +1,274 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# latest gentoo apache files
+GENTOO_PATCHSTAMP="20201203"
+GENTOO_DEVELOPER="polynomial-c"
+GENTOO_PATCHNAME="gentoo-apache-2.4.46-r4"
+
+# IUSE/USE_EXPAND magic
+IUSE_MPMS_FORK="prefork"
+IUSE_MPMS_THREAD="event worker"
+
+# << obsolete modules:
+# authn_default authz_default mem_cache
+# mem_cache is replaced by cache_disk
+# ?? buggy modules
+# proxy_scgi: startup error: undefined symbol "ap_proxy_release_connection", no fix found
+# >> added modules for reason:
+# compat: compatibility with 2.2 access control
+# authz_host: new module for access control
+# authn_core: functionality provided by authn_alias in previous versions
+# authz_core: new module, provides core authorization capabilities
+# cache_disk: replacement for mem_cache
+# lbmethod_byrequests: Split off from mod_proxy_balancer in 2.3
+# lbmethod_bytraffic: Split off from mod_proxy_balancer in 2.3
+# lbmethod_bybusyness: Split off from mod_proxy_balancer in 2.3
+# lbmethod_heartbeat: Split off from mod_proxy_balancer in 2.3
+# slotmem_shm: Slot-based shared memory provider (for lbmethod_byrequests).
+# socache_shmcb: shared object cache provider. Default config with ssl needs it
+# unixd: fixes startup error: Invalid command 'User'
+IUSE_MODULES="access_compat actions alias asis auth_basic auth_digest auth_form
+authn_alias authn_anon authn_core authn_dbd authn_dbm authn_file authn_socache authz_core
+authz_dbd authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex
+brotli cache cache_disk cache_socache cern_meta charset_lite cgi cgid dav dav_fs dav_lock
+dbd deflate dir dumpio env expires ext_filter file_cache filter headers http2
+ident imagemap include info lbmethod_byrequests lbmethod_bytraffic lbmethod_bybusyness
+lbmethod_heartbeat log_config log_forensic logio macro md mime mime_magic negotiation
+proxy proxy_ajp proxy_balancer proxy_connect proxy_ftp proxy_html proxy_http proxy_scgi
+proxy_http2 proxy_fcgi proxy_wstunnel rewrite ratelimit remoteip reqtimeout
+session session_cookie session_crypto session_dbd setenvif slotmem_shm speling
+socache_memcache socache_shmcb status substitute unique_id userdir usertrack
+unixd version vhost_alias watchdog xml2enc"
+# The following are also in the source as of this version, but are not available
+# for user selection:
+# bucketeer case_filter case_filter_in echo http isapi optional_fn_export
+# optional_fn_import optional_hook_export optional_hook_import
+
+# inter-module dependencies
+# TODO: this may still be incomplete
+MODULE_DEPENDS="
+ auth_form:session
+ brotli:filter
+ dav_fs:dav
+ dav_lock:dav
+ deflate:filter
+ cache_disk:cache
+ ext_filter:filter
+ file_cache:cache
+ lbmethod_byrequests:proxy_balancer
+ lbmethod_byrequests:slotmem_shm
+ lbmethod_bytraffic:proxy_balancer
+ lbmethod_bybusyness:proxy_balancer
+ lbmethod_heartbeat:proxy_balancer
+ log_forensic:log_config
+ logio:log_config
+ cache_disk:cache
+ cache_socache:cache
+ md:watchdog
+ mime_magic:mime
+ proxy_ajp:proxy
+ proxy_balancer:proxy
+ proxy_balancer:slotmem_shm
+ proxy_connect:proxy
+ proxy_ftp:proxy
+ proxy_html:proxy
+ proxy_html:xml2enc
+ proxy_http:proxy
+ proxy_http2:proxy
+ proxy_scgi:proxy
+ proxy_fcgi:proxy
+ proxy_wstunnel:proxy
+ session_cookie:session
+ session_dbd:dbd
+ session_dbd:session
+ socache_memcache:cache
+ substitute:filter
+"
+
+# module<->define mappings
+MODULE_DEFINES="
+ auth_digest:AUTH_DIGEST
+ authnz_ldap:AUTHNZ_LDAP
+ cache:CACHE
+ cache_disk:CACHE
+ cache_socache:CACHE
+ dav:DAV
+ dav_fs:DAV
+ dav_lock:DAV
+ file_cache:CACHE
+ http2:HTTP2
+ info:INFO
+ ldap:LDAP
+ md:SSL
+ proxy:PROXY
+ proxy_ajp:PROXY
+ proxy_balancer:PROXY
+ proxy_connect:PROXY
+ proxy_ftp:PROXY
+ proxy_html:PROXY
+ proxy_http:PROXY
+ proxy_fcgi:PROXY
+ proxy_scgi:PROXY
+ proxy_wstunnel:PROXY
+ socache_shmcb:SSL
+ socache_memcache:CACHE
+ ssl:SSL
+ status:STATUS
+ suexec:SUEXEC
+ userdir:USERDIR
+"
+
+# critical modules for the default config
+MODULE_CRITICAL="
+ authn_core
+ authz_core
+ authz_host
+ dir
+ mime
+ unixd
+"
+inherit apache-2 systemd tmpfiles toolchain-funcs
+
+DESCRIPTION="The Apache Web Server"
+HOMEPAGE="https://httpd.apache.org/"
+
+# some helper scripts are Apache-1.1, thus both are here
+LICENSE="Apache-2.0 Apache-1.1"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x64-macos ~x86-macos ~m68k-mint ~sparc64-solaris ~x64-solaris"
+
+# Enable http2 by default (bug #563452)
+# FIXME: Move to apache-2.eclass once this has reached stable.
+IUSE="${IUSE/apache2_modules_http2/+apache2_modules_http2}"
+# New suexec options (since 2.4.34)
+IUSE="${IUSE} +suexec-caps suexec-syslog split-usr"
+
+CDEPEND="apache2_modules_brotli? ( >=app-arch/brotli-0.6.0:= )
+ apache2_modules_http2? ( >=net-libs/nghttp2-1.2.1 )
+ apache2_modules_proxy_http2? ( >=net-libs/nghttp2-1.2.1 )
+ apache2_modules_md? ( >=dev-libs/jansson-2.10 )
+ apache2_modules_session_crypto? (
+ libressl? ( dev-libs/apr-util[libressl] )
+ !libressl? ( dev-libs/apr-util[openssl] )
+ )"
+
+DEPEND+="${CDEPEND}
+ suexec? ( suexec-caps? ( sys-libs/libcap ) )"
+RDEPEND+="${CDEPEND}"
+
+REQUIRED_USE="apache2_modules_http2? ( ssl )
+ apache2_modules_md? ( ssl )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.4.41-libressl.patch" #668060
+)
+
+pkg_setup() {
+ # dependend critical modules which are not allowed in global scope due
+ # to USE flag conditionals (bug #499260)
+ use ssl && MODULE_CRITICAL+=" socache_shmcb"
+ use doc && MODULE_CRITICAL+=" alias negotiation setenvif"
+ apache-2_pkg_setup
+}
+
+src_configure() {
+ # Brain dead check.
+ tc-is-cross-compiler && export ap_cv_void_ptr_lt_long="no"
+
+ apache-2_src_configure
+}
+
+src_compile() {
+ if tc-is-cross-compiler; then
+ # This header is the same across targets, so use the build compiler.
+ pushd server >/dev/null
+ emake gen_test_char
+ tc-export_build_env BUILD_CC
+ ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} \
+ gen_test_char.c -o gen_test_char $(apr-1-config --includes) || die
+ popd >/dev/null
+ fi
+
+ default
+}
+
+src_install() {
+ apache-2_src_install
+ local i
+ local apache_tools_prune_list=(
+ /usr/bin/{htdigest,logresolve,htpasswd,htdbm,ab,httxt2dbm}
+ /usr/sbin/{checkgid,fcgistarter,htcacheclean,rotatelogs}
+ /usr/share/man/man1/{logresolve.1,htdbm.1,htdigest.1,htpasswd.1,dbmmanage.1,ab.1}
+ /usr/share/man/man8/{rotatelogs.8,htcacheclean.8}
+ )
+ for i in ${apache_tools_prune_list[@]} ; do
+ rm "${ED%/}"/${i} || die "Failed to prune apache-tools bits"
+ done
+
+ # install apxs in /usr/bin (bug #502384) and put a symlink into the
+ # old location until all ebuilds and eclasses have been modified to
+ # use the new location.
+ dobin support/apxs
+ use split-usr && dosym ../bin/apxs /usr/sbin/apxs
+
+ # Note: wait for mod_systemd to be included in some forthcoming release,
+ # Then apache2.4.service can be used and systemd support controlled
+ # through --enable-systemd
+ systemd_newunit "${FILESDIR}/apache2.2-hardened.service" "apache2.service"
+ dotmpfiles "${FILESDIR}/apache.conf"
+ #insinto /etc/apache2/modules.d
+ #doins "${FILESDIR}/00_systemd.conf"
+
+ # Install http2 module config
+ insinto /etc/apache2/modules.d
+ doins "${FILESDIR}"/41_mod_http2.conf
+
+ # Fix path to apache libdir
+ sed "s|@LIBDIR@|$(get_libdir)|" -i "${ED%/}"/usr/sbin/apache2ctl || die
+}
+
+pkg_postinst() {
+ apache-2_pkg_postinst || die "apache-2_pkg_postinst failed"
+
+ tmpfiles_process apache.conf #662544
+
+ # warnings that default config might not work out of the box
+ local mod cmod
+ for mod in ${MODULE_CRITICAL} ; do
+ if ! use "apache2_modules_${mod}"; then
+ echo
+ ewarn "Warning: Critical module not installed!"
+ ewarn "Modules 'authn_core', 'authz_core' and 'unixd'"
+ ewarn "are highly recomended but might not be in the base profile yet."
+ ewarn "Default config for ssl needs module 'socache_shmcb'."
+ ewarn "Enabling the following flags is highly recommended:"
+ for cmod in ${MODULE_CRITICAL} ; do
+ use "apache2_modules_${cmod}" || \
+ ewarn "+ apache2_modules_${cmod}"
+ done
+ echo
+ break
+ fi
+ done
+ # warning for proxy_balancer and missing load balancing scheduler
+ if use apache2_modules_proxy_balancer; then
+ local lbset=
+ for mod in lbmethod_byrequests lbmethod_bytraffic lbmethod_bybusyness lbmethod_heartbeat; do
+ if use "apache2_modules_${mod}"; then
+ lbset=1 && break
+ fi
+ done
+ if [ ! ${lbset} ] ; then
+ echo
+ ewarn "Info: Missing load balancing scheduler algorithm module"
+ ewarn "(They were split off from proxy_balancer in 2.3)"
+ ewarn "In order to get the ability of load balancing, at least"
+ ewarn "one of these modules has to be present:"
+ ewarn "lbmethod_byrequests lbmethod_bytraffic lbmethod_bybusyness lbmethod_heartbeat"
+ echo
+ fi
+ fi
+}
diff --git a/www-servers/gatling/Manifest b/www-servers/gatling/Manifest
index 31511eb79c31..3395efb63754 100644
--- a/www-servers/gatling/Manifest
+++ b/www-servers/gatling/Manifest
@@ -1,8 +1,7 @@
AUX gatling-0.13-compile.patch 255 BLAKE2B 08de101796184625542dd339b96e246477a0cb8aaa40bac8640f0d442b9fba09389ada09bd4f852736487bfda30915f0ca562e1ea6aed0bee8d0104cb65a9c63 SHA512 77e35689b80a4d1b9598bf31cc14c3572a7b92d49ffeb98442552f58eeb04a196ce5c8215941d07e197191c349548d23baadac3b84854d6eb93d26632555c699
AUX gatling-0.15-ar.patch 754 BLAKE2B 08ebd3714234ced36751d0ddcb0d3391aa8cbc0f91b215c87d1539f738b9aa7da53495e9171d24554a4a8e3afbfc6553a333228f5867efa18e387deb9f1293a3 SHA512 050bf557c8bbeed9245046d3f938a40c2b2a2d544c0c422deca5ecdea6683dd342a8cca6fcff2419af128c8c0caece33e4848cf2f3e754ebf225ca800f70820c
-AUX gatling-0.15-gcc10.patch 811 BLAKE2B 8d081b41df919e6cfc41113e24526e1ab59ea457cb46fe9da2ef6224965f3b89bf635e5c68533ad497ca8f7e4094d01a8167fa6f8ebc994108fc41375251d205 SHA512 409f683ae8ef25050e122e1e448fc0bf04ab1d7caafa37f040960f1143aa7c9c3c4a722229c9243301da21c9216e32da37ce4e4b9bbb8cbc65cc256b8e41bdc5
AUX gatling.confd 659 BLAKE2B ac3a2bc798e8ee9172f7c807c7e80f5bc7ad12e1830f296f097078887e609facfcb6087c6d5cdaa162fd747d7f03d208a28ec30e12fb67e7dc938ed0e65f766b SHA512 e903cd9afbb575226c6de0da8ad673d4650a53cac7442505422c98c32a00457f3d48f2853355cd76ea0f83671cb973ddf90df900d86a15172291317109481fb3
AUX gatling.initd-3 1970 BLAKE2B ba48e796b4fca2cd165756b3ef781feb47be18e43043d834e028d80b522f1fe6482db79bb89a7a7e57c1fdd80f6cdbb525ec0153af8600daf848d7408aa4ff6e SHA512 3b198ed6728add5f30e8ec16171cc7086d315448821b3a5487be1cf7b318735a77f0881d9aca0a5af179a2b8aff75fd0c0ce80836172a26c439cba2859c6ab1f
-DIST gatling-0.15.tar.xz 121804 BLAKE2B 7df5f6d4fc823e8a1252bacca2b57d0848dd3a920216d1d3185d5f471f786eee1eb36396114b367660ead816bd4ee6c734099bbb9bdb5ffbd5b70a59e0fb0667 SHA512 b76d220a0644f1e6e7ea966a4eff409964c564fc4a31c4efdb764e5f7b5857bc58c26bc31e860fe35df932cbd60fb2b0f4f21c75cb5aa56427e8a2a453684716
-EBUILD gatling-0.15.ebuild 1370 BLAKE2B b8b28f23d4d301228dfcd147557060faaba81fac381c675366410aefb910025ee2d24b82d8c29043687d2dfd34aa636d031e15ad612cd5f0052b917ea404cf90 SHA512 68701a95f1c86be6a5892d714c814756bdd00ac7c5da9945a2f87dabb4bc828f8259aeae8ac4d9e5513b97959c49287311d0d25c96c8b0d73b6355b30a83772b
+DIST gatling-0.16.tar.xz 126844 BLAKE2B 33dd2e93833b216ffadae4dbd5650af87b23ed5d62caf181d8005acb4dce889b86d1afb711676377ba2b7c4fe08b8f2350a32965cf6292a268281b28c4310c27 SHA512 9446ea0ae862509b1a892e5bdef14d3a2320c3c3e846362b4679c0834aa906ab5b16ef54e4a7c8e7ee839d30317436dd411e891e3105035a9ee31b0facc0b8c1
+EBUILD gatling-0.16-r1.ebuild 1256 BLAKE2B d7bdc41661762a0eb8ba0d7d276b591f8e6fb2d71b6f74169e0aa435921beabe6b4fefda3dd6dd189494a87c3a2b36e7d7b3bc1884cd26f33b52ee14f6612772 SHA512 59ed22e6882620b42ed5512a59ebdacb2476ab35e96ec60d5f62d5bab256f8bfe7f84e500799a69d7d5621d3ad5cf55a14ff07caafa6404649443b68760d7aea
MISC metadata.xml 444 BLAKE2B dd65d9cb3f9b6babebc0e45c67e8bda05f48d49d8902f6a0da4d1d75f38ba2e1d627f0a1e9e35dac77466fd7edfe43435b7b99d7ee394268df1e4f5cc5b53ab5 SHA512 0f829523b85ea9fcd62743f72f7a985e532685d4989b0083191286cbc9a99db398fde3c63f86ad9bdeb6e75d559a777e85cf2df037456e5b0960b15c2511815a
diff --git a/www-servers/gatling/files/gatling-0.15-gcc10.patch b/www-servers/gatling/files/gatling-0.15-gcc10.patch
deleted file mode 100644
index 446ea5cffdec..000000000000
--- a/www-servers/gatling/files/gatling-0.15-gcc10.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From b815fc02179e8f25a6bea2bc1ee7306ffea37258 Mon Sep 17 00:00:00 2001
-From: Sebastian Pipping <sebastian@pipping.org>
-Date: Thu, 26 Nov 2020 16:05:26 +0100
-Subject: [PATCH] Fix build with -fno-common or GCC 10
-
----
- dirfd.c | 1 +
- dirfd.h | 2 +-
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/dirfd.c b/dirfd.c
-index 6a0217e..792bd29 100644
---- a/dirfd.c
-+++ b/dirfd.c
-@@ -34,6 +34,7 @@ struct hashtable dc;
-
- #ifdef __linux__
- int rootwd;
-+int ifd;
- #endif
-
- /* initialize a hashtable as empty */
-diff --git a/dirfd.h b/dirfd.h
-index cdfc4a3..a76c5d8 100644
---- a/dirfd.h
-+++ b/dirfd.h
-@@ -21,7 +21,7 @@
- * given dir, and it will return the fd or -1 on error. */
-
- #ifdef __linux__
--int ifd; /* inotify fd */
-+extern int ifd; /* inotify fd */
- #endif
-
- struct dircacheentry {
---
-2.27.0
-
diff --git a/www-servers/gatling/gatling-0.15.ebuild b/www-servers/gatling/gatling-0.16-r1.ebuild
index c18fb7fe8684..6616e0b4eca0 100644
--- a/www-servers/gatling/gatling-0.15.ebuild
+++ b/www-servers/gatling/gatling-0.16-r1.ebuild
@@ -1,9 +1,9 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
+EAPI="7"
-inherit eutils toolchain-funcs user
+inherit eutils toolchain-funcs
DESCRIPTION="High performance web server"
HOMEPAGE="https://www.fefe.de/gatling/"
@@ -21,12 +21,14 @@ DEPEND=">=dev-libs/libowfat-0.32-r2[diet=]
!libressl? ( dev-libs/openssl:0 )
libressl? ( dev-libs/libressl )
)"
-RDEPEND="${DEPEND}"
+RDEPEND="${DEPEND}
+ acct-group/gatling
+ acct-user/gatling
+ "
PATCHES=(
"${FILESDIR}/${PN}-0.13-compile.patch"
- "${FILESDIR}/${P}-ar.patch"
- "${FILESDIR}/${P}-gcc10.patch"
+ "${FILESDIR}/${PN}-0.15-ar.patch"
)
src_prepare() {
@@ -42,7 +44,7 @@ src_compile() {
use ssl && targets+=' tlsgatling'
emake DIET="${DIET}" CC="$(tc-getCC)" \
- CFLAGS="${CFLAGS} -I${ROOT}usr/include/libowfat" \
+ CFLAGS="${CFLAGS} -I${ROOT}/usr/include/libowfat" \
LDFLAGS="${LDFLAGS}" prefix=/usr ${targets}
}
@@ -59,9 +61,3 @@ src_install() {
dobin tlsgatling
}
}
-
-pkg_setup() {
- ebegin "Creating gatling user and group"
- enewgroup gatling
- enewuser ${PN} -1 -1 /var/www/localhost ${PN}
-}
diff --git a/www-servers/gunicorn/Manifest b/www-servers/gunicorn/Manifest
index fb7e538b1f12..4b721895af9d 100644
--- a/www-servers/gunicorn/Manifest
+++ b/www-servers/gunicorn/Manifest
@@ -1,7 +1,3 @@
-DIST gunicorn-19.8.1.tar.gz 415541 BLAKE2B f0eefc4ff24052320b4dfaac3fc2523487f8dbb63365a9a3c52bc411b4d8f6150f348c709cae94dc4acb45e7fda534cf462d0339abc0325230d3560f76ce3241 SHA512 7f7fcbcde20b70d3a2faad595e08a028530348895f784eddcb35f24b3d5a7955edfc5b68aac4630243798fa37d41b7e869ec0d454dc80700c2630ba2cc39afc0
-DIST gunicorn-19.9.0.tar.gz 415774 BLAKE2B 1ac920e3a02aff434d2458cbcacd821df428e2dceeb0ee5a10c8cc449e49c0252980847bfcee02633f791c05aa086b37f5b50f9fd535acee6deb8a18dd1c24f8 SHA512 4a89f963daa7afe7741a4fb9aa4f14192429ac0e9ba5672547d683475dd2f2733efeed903ec99db9d831e2b05b9ed9e583e3cfec483a1b481d897aa77373e8a3
DIST gunicorn-20.0.4.tar.gz 373841 BLAKE2B d6f0b5b901697ebc6ee987af5766174a845de8bfad03ce95638ed087b92175e9b2f0e9a49fda70f8f9c6fdc15e1ef1a431c069270af068fb29780abcedf63fc3 SHA512 706620f165e36c178a6d3e65f51a9bb7746abd40dfc7c0f1b3b523771be953dd03b36111f192407aef474ad44afdffd11b6502e51376d11465ffac2255822d5e
-EBUILD gunicorn-19.8.1.ebuild 1171 BLAKE2B a8c6b1dcbb749db4dcf60b8c26111045be976f28559b2cb4a7f7ef1536dae320a0f7060bd572bdc2998dab0003230ad1688ca4c28130c70757702504222998e6 SHA512 ab4761df1c5e57b7aa87095de97915126007055a87cac29866a603604c47ef4f25886cdef723de8b36eccdbfd7b2ed835832b54b827ed3f27c97cee0c30a90f5
-EBUILD gunicorn-19.9.0.ebuild 923 BLAKE2B d6a784321f92ca5b2cc04f077a7d18bc24a1371867607b3813820e5089ce36f2f41ac38fae36b00fb1c8c2fbee9a36398624bc3823072c2eba50e3e8848f18c7 SHA512 f14c034ae4d0fa97483b80df04e5bba6ca4219b8944d38cbd43a21c91daafe001331985f1bda79fb9be81bac55db6fce2a64be489a91db37c723af452d563a7a
-EBUILD gunicorn-20.0.4.ebuild 907 BLAKE2B cb5256d3e4bf3d7bc097c2b63177fad79da135093d214dc1cdf37048913aa9648cab9f52d82ee1421ac98e8c0b88a7554b590f9e66a0c68aa7149e59df2e895a SHA512 e118083ee47c9a54cc8ed3ee03c5e0515d59876b1744681e07354379fe2fe5d68bea73cbde4cf6ca7cea033aefbab20fa5094aa2ba51c066b282e36cd1758671
-MISC metadata.xml 832 BLAKE2B 4f1f3fc1097c11b67fff558977c62f1d4e42af39bd50dd98a5553bfb8c42cbaa6286ade58eb8702f61926a2e0030d411fc2548c35e99140362fa77774b3a54a7 SHA512 74aa9e1b67aa4db3d1252ded571495c8e459391e4cf8f2054dfbd965d7eb38824994ebc1a31dcb4c1d3f33d1963fb32e5dd215c24685f0ad570170404d2115b4
+EBUILD gunicorn-20.0.4.ebuild 906 BLAKE2B b50f2ea9edc3b6a780316ed3b624d3213f8212a0db2c0375cc3a272d06cd8f76c13931e174f6e1d9b28ff7a4677256d17960b583ea82d11d1dce1a0a81e5c0d1 SHA512 e840a480d84fe617f846db114cef947ef100dc7427dd84d287c3155d48113ac0e0bbfbacca4767f07430fbcf143088dbd5e60b0502454b4756ecc68fda18aabc
+MISC metadata.xml 820 BLAKE2B d0d69bf646aea74e6b85daee66e739857ff027050bf3085c6f56eadaaca90297825234477d0b4b9540646edf92d7b5daabe523336545e756b5d1a9d17e34c95c SHA512 fc0e570d92321b0255fecb3511fa313a3caa8686f7956438e18ccaff802b0ea0edccc9a196f356fd9d24370100edfae0470d0afdeafa6a7398330829d8a95644
diff --git a/www-servers/gunicorn/gunicorn-19.8.1.ebuild b/www-servers/gunicorn/gunicorn-19.8.1.ebuild
deleted file mode 100644
index 199d85ec02d5..000000000000
--- a/www-servers/gunicorn/gunicorn-19.8.1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_6 )
-
-inherit distutils-r1
-
-DESCRIPTION="A WSGI HTTP Server for UNIX"
-HOMEPAGE="https://gunicorn.org https://pypi.org/project/gunicorn https://github.com/benoitc/gunicorn"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT PSF-2 doc? ( BSD )"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-python/setproctitle[${PYTHON_USEDEP}]"
-DEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-cov[${PYTHON_USEDEP}]
- dev-python/unittest2[${PYTHON_USEDEP}]
- )"
-
-DOCS="README.rst"
-
-python_prepare_all() {
- sed -ie "s/..\/bin/\/usr\/bin\//" docs/Makefile || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile_all() {
- use doc && emake -C docs html
-}
-
-python_test() {
- py.test -v || die "Testing failed with ${EPYTHON}"
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( docs/build/html/. )
-
- distutils-r1_python_install_all
-}
diff --git a/www-servers/gunicorn/gunicorn-19.9.0.ebuild b/www-servers/gunicorn/gunicorn-19.9.0.ebuild
deleted file mode 100644
index 7a3d0bb71655..000000000000
--- a/www-servers/gunicorn/gunicorn-19.9.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{6..9} )
-
-inherit distutils-r1
-
-DESCRIPTION="A WSGI HTTP Server for UNIX"
-HOMEPAGE="https://gunicorn.org https://pypi.org/project/gunicorn https://github.com/benoitc/gunicorn"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT PSF-2 doc? ( BSD )"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86"
-
-RDEPEND="dev-python/setproctitle[${PYTHON_USEDEP}]"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/unittest2[${PYTHON_USEDEP}]
- )"
-
-DOCS="README.rst"
-
-distutils_enable_sphinx 'docs/source' --no-autodoc
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e 's:--cov=gunicorn --cov-report=xml::' -i setup.cfg || die
- distutils-r1_src_prepare
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( docs/source/_build/html/. )
-
- distutils-r1_python_install_all
-}
diff --git a/www-servers/gunicorn/gunicorn-20.0.4.ebuild b/www-servers/gunicorn/gunicorn-20.0.4.ebuild
index 719df38098a4..f6c44a61e6c3 100644
--- a/www-servers/gunicorn/gunicorn-20.0.4.ebuild
+++ b/www-servers/gunicorn/gunicorn-20.0.4.ebuild
@@ -14,7 +14,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT PSF-2 doc? ( BSD )"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 sparc x86 ~x64-macos"
RDEPEND="dev-python/setproctitle[${PYTHON_USEDEP}]"
diff --git a/www-servers/gunicorn/metadata.xml b/www-servers/gunicorn/metadata.xml
index 9c401ff60394..905c5784fc8f 100644
--- a/www-servers/gunicorn/metadata.xml
+++ b/www-servers/gunicorn/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>rafaelmartins@gentoo.org</email>
- <name>Rafael G. Martins</name>
+ <email>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
</maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
diff --git a/www-servers/lighttpd/Manifest b/www-servers/lighttpd/Manifest
index f7b0987cfd7b..edd6e8910e29 100644
--- a/www-servers/lighttpd/Manifest
+++ b/www-servers/lighttpd/Manifest
@@ -8,6 +8,6 @@ AUX lighttpd.logrotate-r1 385 BLAKE2B c41e4b7892d3cb8cd7306eb7fa93b4a03452786acc
AUX lighttpd.service 257 BLAKE2B 7e60ad2f87ece8547cd3e39fc2121ea4664d9015722469ab074469ba0b670f56b147c8088ad9211f97a4f314fe4eaebac89cd9cddee34edbf3652b7ea0712c94 SHA512 fbcd7dbf9c6b97284465af133a7cd1f711978ef4318a749ff7d366b053265fac94a1d76f074f56722c382179631d38ed8a07ac2c2fc4b712a93acab2f3609c0f
AUX lighttpd.tmpfiles.conf 41 BLAKE2B a159ae17094377d927bcf51078d40c322e5213d62064a271a7a0cf5b32423b349ac13d2ebc38a8de5c6478823ac022e46eef60a830e6ae9598e848b8c220bc2f SHA512 3fda360423a7a406a2981de647dac6b4419fe60c649bf3cc21fad566e8513293f6e81d4f5b777eaf06a056beedbf44360a39894ca3a2d05d3fc3a2d26c339efe
DIST lighttpd-1.4.55.tar.xz 765660 BLAKE2B 7b972de86e7d1a51438718e4d5bd49188c107b0f2e656ead597085ae84f3d41cdb662a7774c6655155d390c26f3e4f0b0dc4243c85cb0255a91d8ca57742f402 SHA512 023d5a54079e710a89a59e259c0b5798103ef6fce4544c36110dc4c5281ef429ef99369923d74123fcf8be37afe622d44cd7149078d21971ff26f3f4ee37c439
-EBUILD lighttpd-1.4.55-r1.ebuild 6353 BLAKE2B ac6e0edd3a9a090c549f6d5b278dbc15ebd20366c0155fe5ec118cec1152ef031d014694e0de5bf9a3679a3c7b41220652738770c34f455505b79ec56e8115c7 SHA512 ca646537ae256796069160a6ed2f8f3a74c01c063507423d742c941ce33cb49cd939eecc3fadfbd37e5f48e4e6243bdb646db70e2784ff39538f8c7d42e2cce6
+EBUILD lighttpd-1.4.55-r1.ebuild 6354 BLAKE2B 2ac00041fa9378ab6af93c2b947bd610c3461df9dafa797aff1262867385e551b4ce72ae979c1b658a46ac751111f4bbadbbd4a31b1405fb8fa8be5259073b75 SHA512 b565abe2ea0fffae72d1e7713d4855a143a546095fdf2f98f52ecd6c82be59b71001c285da5c6328acb5b99b36a4190846d4018d1b6cbc34b6e8f33054b128fb
EBUILD lighttpd-1.4.55-r100.ebuild 6984 BLAKE2B c7a18143c3fd598451e888deeef3c1511104e549ef9e67279e21aa9744c9f216513e201cf904424c896e63b3e691fd1290838274b3763b0f4714acc8273a069f SHA512 cc1d071763c8926f71bb92554575ae89de85380f1e7622a6051dbd7c065abba69638a319980f2dd628c094e4643720fda82424ab51a8af26d857ece0e8c09ed7
MISC metadata.xml 974 BLAKE2B 7a5285106e385d5c25cb50ee286b865beae369610602ecdcf921ed5f7b2e041c282a12d208e4ef19e9d2b0d957bda713e09eee793d4242de85ac07ec04b51d83 SHA512 272ae929e52031f040bb702a4e9f4e824fce15e9520843e48ab19f119ff16c36565523f18f0465856ad030d3717a134e55fa816b6cf855cf0b8108a22aed5ce8
diff --git a/www-servers/lighttpd/lighttpd-1.4.55-r1.ebuild b/www-servers/lighttpd/lighttpd-1.4.55-r1.ebuild
index f45c8c53d89a..834f3bcd0934 100644
--- a/www-servers/lighttpd/lighttpd-1.4.55-r1.ebuild
+++ b/www-servers/lighttpd/lighttpd-1.4.55-r1.ebuild
@@ -28,7 +28,7 @@ COMMON_DEPEND="
geoip? ( dev-libs/geoip )
ldap? ( >=net-nds/openldap-2.1.26 )
libev? ( >=dev-libs/libev-4.01 )
- lua? ( >=dev-lang/lua-5.1:= )
+ lua? ( >=dev-lang/lua-5.1:0= )
memcached? ( dev-libs/libmemcached )
mysql? ( dev-db/mysql-connector-c:= )
pcre? ( >=dev-libs/libpcre-3.1 )
diff --git a/www-servers/nginx/Manifest b/www-servers/nginx/Manifest
index 2d7a0ffc2922..fd6885498f7e 100644
--- a/www-servers/nginx/Manifest
+++ b/www-servers/nginx/Manifest
@@ -40,9 +40,11 @@ DIST ngx_mogilefs_module-1.0.4.tar.gz 11208 BLAKE2B e0729b66554c8890727190a624d4
DIST ngx_rtmp-1.2.1.tar.gz 519919 BLAKE2B 744ccb8031eb9653f158f9eceba64fc9c8af7b9a42e64ef996ab3bbbe1402e5ffd3efcc8e4aaca437eb5e208e4b6f2d8643fcca953b32f32543eaa1ae4d9505c SHA512 4a0af5e9afa4deb0b53de8de7ddb2cfa6430d372e1ef9e421f01b509548bd134d427345442ac1ce667338cc2a1484dc2ab732e316e878ac7d3537dc527d5f922
DIST njs-0.4.3.tar.gz 460997 BLAKE2B 373a4aca51ada84d628ae6b6254c9268b4cec4ac8870f81ba43ff693f20148a9ca862038e57a68c22cbff29ea613785e83778cc708cf1b47103e9f950a198289 SHA512 b3b4294817997a06661f00f53d38e0cde08e022f41b3663f9d17a91b343fb944e21184114f09d89995096faee491187c3ae424407f2855ed0670c0cccf928cd7
DIST njs-0.4.4.tar.gz 486870 BLAKE2B 9390bfe35249ea34b9edd4b7c2360a25c9ecb232e10f35a2324fd8586f5f74e2083d5bd7481c084065d0651ba4fed56958bc2cd1f002d12622238ebc81b9f7c5 SHA512 1bf88d23f99532bb32e96de79e49cc27b60d6231207eb06ea2f6a6884d725f7bbe7b426664aa4c872f7c40549f81489c04c2ae4a7ddd2d03c8cf1d66b9c62c78
+DIST njs-0.5.0.tar.gz 505568 BLAKE2B 5dc2a91bffa4eb2364d96e26def0959b111cc8bf88841f581e3c0d43fcb88ba1ea24b24339cb1f51b8290c08dd930dc18a274a7ab6a21ee4ba8b0e6c4f5a1ba0 SHA512 182a64ba519b1a1d29ac71ffe2c9ef8e5a6f9aaf3db9f327ac926114db73b339a424801b558068fc7ae06ae88a4dea0a601c749db4b6f2b579e427181e41d11b
EBUILD nginx-1.18.0-r2.ebuild 40458 BLAKE2B bab6ebfd5a4ef14026cf3149757dcf207dad0245b48a31bcb93a61709bb6a9a656ebb0d8ebcc0f502daab9b7b9a0a7a4dc5d00cb2ececc4606f508d87e8e23f2 SHA512 54651ac56efa4ed927189dbbc2165af8d916097c0e623fcd7427096be4605d093772913511372dd5040ff2c7c9d305d0686ccf713205eff3c3cf41e3fa12a241
EBUILD nginx-1.19.2-r1.ebuild 40460 BLAKE2B 620254271c03d328f5377c23307af52838a8f2eaa8e60a91eed785fdf2c02c8cf3ae349e2b7b04a29024ee14247c001253e234c1551ac2fcb665ab98ca1674a8 SHA512 0a9c9d53cf47520c5f2f04a72b6f64d5399571ce371b31a09d1d81f160ffa88e461b6e335d0ea05428d62612e014f682bfeefeb25d6b05eaf1690c31f822e134
EBUILD nginx-1.19.3.ebuild 40431 BLAKE2B f78ec32446bf5017b58fda56370b72d1b2fc7176f2b4fcec70e4b22a00b124b96eb4d2d28182ecbf13ccd1c6ce43ee7324b36608ae13fdc1fd6d3ca947e0b52b SHA512 6445a587721d55fd09505970db538cbd2cdb9d72820526869a2d910a049b479f01ea968434eb7f2f1c4889f03fcf6921025530a686693a380f381017e40b34fb
EBUILD nginx-1.19.4.ebuild 40431 BLAKE2B f78ec32446bf5017b58fda56370b72d1b2fc7176f2b4fcec70e4b22a00b124b96eb4d2d28182ecbf13ccd1c6ce43ee7324b36608ae13fdc1fd6d3ca947e0b52b SHA512 6445a587721d55fd09505970db538cbd2cdb9d72820526869a2d910a049b479f01ea968434eb7f2f1c4889f03fcf6921025530a686693a380f381017e40b34fb
+EBUILD nginx-1.19.5-r1.ebuild 40431 BLAKE2B cf9bfea11e1845eb2c810c474dde72f275166bb55c48cb9658f71a512ede464b953dcc3f3fd9b0e0763190d856a4aa0585414f0bcf91cc5e29dde9e259dab9c7 SHA512 d92bacc4b3d5e97e7b85485507f8483f9f5166b43c4ed95c3e04a50b77aeaf10ce2a4609cf1d25357a88bb4516e5f05b020f37d666a81e1976a689e34ab8e794
EBUILD nginx-1.19.5.ebuild 40431 BLAKE2B f78ec32446bf5017b58fda56370b72d1b2fc7176f2b4fcec70e4b22a00b124b96eb4d2d28182ecbf13ccd1c6ce43ee7324b36608ae13fdc1fd6d3ca947e0b52b SHA512 6445a587721d55fd09505970db538cbd2cdb9d72820526869a2d910a049b479f01ea968434eb7f2f1c4889f03fcf6921025530a686693a380f381017e40b34fb
MISC metadata.xml 1193 BLAKE2B aeb293cf75ed650c946910222d6396f726dc5ed49f1213e6a5664613d78e3b27616399bc1c9f0a360f5303b16931da7016cdf540b24601afafc3ada4428b33a9 SHA512 a96002bc9845bc465542c753c738899b77ad7a32fac7f5f9a7049336868bc41199e926422e3dc23e47f34656c9aaea255511d2ef91e9d59f48c9cd0b4a3c4903
diff --git a/www-servers/nginx/nginx-1.19.5-r1.ebuild b/www-servers/nginx/nginx-1.19.5-r1.ebuild
new file mode 100644
index 000000000000..46d444142cc3
--- /dev/null
+++ b/www-servers/nginx/nginx-1.19.5-r1.ebuild
@@ -0,0 +1,1087 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+# Maintainer notes:
+# - http_rewrite-independent pcre-support makes sense for matching locations without an actual rewrite
+# - any http-module activates the main http-functionality and overrides USE=-http
+# - keep the following requirements in mind before adding external modules:
+# * alive upstream
+# * sane packaging
+# * builds cleanly
+# * does not need a patch for nginx core
+# - TODO: test the google-perftools module (included in vanilla tarball)
+
+# prevent perl-module from adding automagic perl DEPENDs
+GENTOO_DEPEND_ON_PERL="no"
+
+# devel_kit (https://github.com/simpl/ngx_devel_kit, BSD license)
+DEVEL_KIT_MODULE_PV="0.3.1"
+DEVEL_KIT_MODULE_P="ngx_devel_kit-${DEVEL_KIT_MODULE_PV}"
+DEVEL_KIT_MODULE_URI="https://github.com/simpl/ngx_devel_kit/archive/v${DEVEL_KIT_MODULE_PV}.tar.gz"
+DEVEL_KIT_MODULE_WD="${WORKDIR}/ngx_devel_kit-${DEVEL_KIT_MODULE_PV}"
+
+# ngx_brotli (https://github.com/google/ngx_brotli, BSD-2)
+HTTP_BROTLI_MODULE_PV="1.0.0rc"
+HTTP_BROTLI_MODULE_P="ngx_brotli-${HTTP_BROTLI_MODULE_PV}"
+HTTP_BROTLI_MODULE_URI="https://github.com/google/ngx_brotli/archive/v${HTTP_BROTLI_MODULE_PV}.tar.gz"
+HTTP_BROTLI_MODULE_WD="${WORKDIR}/ngx_brotli-${HTTP_BROTLI_MODULE_PV}"
+
+# http_uploadprogress (https://github.com/masterzen/nginx-upload-progress-module, BSD-2 license)
+HTTP_UPLOAD_PROGRESS_MODULE_PV="0.9.2"
+HTTP_UPLOAD_PROGRESS_MODULE_P="ngx_http_upload_progress-${HTTP_UPLOAD_PROGRESS_MODULE_PV}-r1"
+HTTP_UPLOAD_PROGRESS_MODULE_URI="https://github.com/masterzen/nginx-upload-progress-module/archive/v${HTTP_UPLOAD_PROGRESS_MODULE_PV}.tar.gz"
+HTTP_UPLOAD_PROGRESS_MODULE_WD="${WORKDIR}/nginx-upload-progress-module-${HTTP_UPLOAD_PROGRESS_MODULE_PV}"
+
+# http_headers_more (https://github.com/agentzh/headers-more-nginx-module, BSD license)
+HTTP_HEADERS_MORE_MODULE_PV="0.33"
+HTTP_HEADERS_MORE_MODULE_P="ngx_http_headers_more-${HTTP_HEADERS_MORE_MODULE_PV}"
+HTTP_HEADERS_MORE_MODULE_URI="https://github.com/agentzh/headers-more-nginx-module/archive/v${HTTP_HEADERS_MORE_MODULE_PV}.tar.gz"
+HTTP_HEADERS_MORE_MODULE_WD="${WORKDIR}/headers-more-nginx-module-${HTTP_HEADERS_MORE_MODULE_PV}"
+
+# http_cache_purge (http://labs.frickle.com/nginx_ngx_cache_purge/, https://github.com/FRiCKLE/ngx_cache_purge, BSD-2 license)
+HTTP_CACHE_PURGE_MODULE_PV="2.3"
+HTTP_CACHE_PURGE_MODULE_P="ngx_http_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}"
+HTTP_CACHE_PURGE_MODULE_URI="http://labs.frickle.com/files/ngx_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}.tar.gz"
+HTTP_CACHE_PURGE_MODULE_WD="${WORKDIR}/ngx_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}"
+
+# http_slowfs_cache (http://labs.frickle.com/nginx_ngx_slowfs_cache/, BSD-2 license)
+HTTP_SLOWFS_CACHE_MODULE_PV="1.10"
+HTTP_SLOWFS_CACHE_MODULE_P="ngx_http_slowfs_cache-${HTTP_SLOWFS_CACHE_MODULE_PV}"
+HTTP_SLOWFS_CACHE_MODULE_URI="http://labs.frickle.com/files/ngx_slowfs_cache-${HTTP_SLOWFS_CACHE_MODULE_PV}.tar.gz"
+HTTP_SLOWFS_CACHE_MODULE_WD="${WORKDIR}/ngx_slowfs_cache-${HTTP_SLOWFS_CACHE_MODULE_PV}"
+
+# http_fancyindex (https://github.com/aperezdc/ngx-fancyindex, BSD license)
+HTTP_FANCYINDEX_MODULE_PV="0.4.4"
+HTTP_FANCYINDEX_MODULE_P="ngx_http_fancyindex-${HTTP_FANCYINDEX_MODULE_PV}"
+HTTP_FANCYINDEX_MODULE_URI="https://github.com/aperezdc/ngx-fancyindex/archive/v${HTTP_FANCYINDEX_MODULE_PV}.tar.gz"
+HTTP_FANCYINDEX_MODULE_WD="${WORKDIR}/ngx-fancyindex-${HTTP_FANCYINDEX_MODULE_PV}"
+
+# http_lua (https://github.com/openresty/lua-nginx-module, BSD license)
+HTTP_LUA_MODULE_PV="0.10.15"
+HTTP_LUA_MODULE_P="ngx_http_lua-${HTTP_LUA_MODULE_PV}"
+HTTP_LUA_MODULE_URI="https://github.com/openresty/lua-nginx-module/archive/v${HTTP_LUA_MODULE_PV}.tar.gz"
+HTTP_LUA_MODULE_WD="${WORKDIR}/lua-nginx-module-${HTTP_LUA_MODULE_PV}"
+
+# http_auth_pam (https://github.com/stogh/ngx_http_auth_pam_module/, http://web.iti.upv.es/~sto/nginx/, BSD-2 license)
+HTTP_AUTH_PAM_MODULE_PV="1.5.2"
+HTTP_AUTH_PAM_MODULE_P="ngx_http_auth_pam-${HTTP_AUTH_PAM_MODULE_PV}"
+HTTP_AUTH_PAM_MODULE_URI="https://github.com/stogh/ngx_http_auth_pam_module/archive/v${HTTP_AUTH_PAM_MODULE_PV}.tar.gz"
+HTTP_AUTH_PAM_MODULE_WD="${WORKDIR}/ngx_http_auth_pam_module-${HTTP_AUTH_PAM_MODULE_PV}"
+
+# http_upstream_check (https://github.com/yaoweibin/nginx_upstream_check_module, BSD license)
+HTTP_UPSTREAM_CHECK_MODULE_PV="9aecf15ec379fe98f62355c57b60c0bc83296f04"
+HTTP_UPSTREAM_CHECK_MODULE_P="ngx_http_upstream_check-${HTTP_UPSTREAM_CHECK_MODULE_PV}"
+HTTP_UPSTREAM_CHECK_MODULE_URI="https://github.com/yaoweibin/nginx_upstream_check_module/archive/${HTTP_UPSTREAM_CHECK_MODULE_PV}.tar.gz"
+HTTP_UPSTREAM_CHECK_MODULE_WD="${WORKDIR}/nginx_upstream_check_module-${HTTP_UPSTREAM_CHECK_MODULE_PV}"
+
+# http_metrics (https://github.com/zenops/ngx_metrics, BSD license)
+HTTP_METRICS_MODULE_PV="0.1.1"
+HTTP_METRICS_MODULE_P="ngx_metrics-${HTTP_METRICS_MODULE_PV}"
+HTTP_METRICS_MODULE_URI="https://github.com/madvertise/ngx_metrics/archive/v${HTTP_METRICS_MODULE_PV}.tar.gz"
+HTTP_METRICS_MODULE_WD="${WORKDIR}/ngx_metrics-${HTTP_METRICS_MODULE_PV}"
+
+# http_vhost_traffic_status (https://github.com/vozlt/nginx-module-vts, BSD license)
+HTTP_VHOST_TRAFFIC_STATUS_MODULE_PV="46d85558e344dfe2b078ce757fd36c69a1ec2dd3"
+HTTP_VHOST_TRAFFIC_STATUS_MODULE_P="ngx_http_vhost_traffic_status-${HTTP_VHOST_TRAFFIC_STATUS_MODULE_PV}"
+HTTP_VHOST_TRAFFIC_STATUS_MODULE_URI="https://github.com/vozlt/nginx-module-vts/archive/${HTTP_VHOST_TRAFFIC_STATUS_MODULE_PV}.tar.gz"
+HTTP_VHOST_TRAFFIC_STATUS_MODULE_WD="${WORKDIR}/nginx-module-vts-${HTTP_VHOST_TRAFFIC_STATUS_MODULE_PV}"
+
+# naxsi-core (https://github.com/nbs-system/naxsi, GPLv2+)
+HTTP_NAXSI_MODULE_PV="0.56"
+HTTP_NAXSI_MODULE_P="ngx_http_naxsi-${HTTP_NAXSI_MODULE_PV}"
+HTTP_NAXSI_MODULE_URI="https://github.com/nbs-system/naxsi/archive/${HTTP_NAXSI_MODULE_PV}.tar.gz"
+HTTP_NAXSI_MODULE_WD="${WORKDIR}/naxsi-${HTTP_NAXSI_MODULE_PV}/naxsi_src"
+
+# nginx-rtmp-module (https://github.com/arut/nginx-rtmp-module, BSD license)
+RTMP_MODULE_PV="1.2.1"
+RTMP_MODULE_P="ngx_rtmp-${RTMP_MODULE_PV}"
+RTMP_MODULE_URI="https://github.com/arut/nginx-rtmp-module/archive/v${RTMP_MODULE_PV}.tar.gz"
+RTMP_MODULE_WD="${WORKDIR}/nginx-rtmp-module-${RTMP_MODULE_PV}"
+
+# nginx-dav-ext-module (https://github.com/arut/nginx-dav-ext-module, BSD license)
+HTTP_DAV_EXT_MODULE_PV="3.0.0"
+HTTP_DAV_EXT_MODULE_P="ngx_http_dav_ext-${HTTP_DAV_EXT_MODULE_PV}"
+HTTP_DAV_EXT_MODULE_URI="https://github.com/arut/nginx-dav-ext-module/archive/v${HTTP_DAV_EXT_MODULE_PV}.tar.gz"
+HTTP_DAV_EXT_MODULE_WD="${WORKDIR}/nginx-dav-ext-module-${HTTP_DAV_EXT_MODULE_PV}"
+
+# echo-nginx-module (https://github.com/openresty/echo-nginx-module, BSD license)
+HTTP_ECHO_MODULE_PV="0.62"
+HTTP_ECHO_MODULE_P="ngx_http_echo-${HTTP_ECHO_MODULE_PV}"
+HTTP_ECHO_MODULE_URI="https://github.com/openresty/echo-nginx-module/archive/v${HTTP_ECHO_MODULE_PV}.tar.gz"
+HTTP_ECHO_MODULE_WD="${WORKDIR}/echo-nginx-module-${HTTP_ECHO_MODULE_PV}"
+
+# mod_security for nginx (https://modsecurity.org/, Apache-2.0)
+# keep the MODULE_P here consistent with upstream to avoid tarball duplication
+HTTP_SECURITY_MODULE_PV="2.9.3"
+HTTP_SECURITY_MODULE_P="modsecurity-${HTTP_SECURITY_MODULE_PV}"
+HTTP_SECURITY_MODULE_URI="https://www.modsecurity.org/tarball/${HTTP_SECURITY_MODULE_PV}/${HTTP_SECURITY_MODULE_P}.tar.gz"
+HTTP_SECURITY_MODULE_WD="${WORKDIR}/${HTTP_SECURITY_MODULE_P}"
+
+# push-stream-module (http://www.nginxpushstream.com, https://github.com/wandenberg/nginx-push-stream-module, GPL-3)
+HTTP_PUSH_STREAM_MODULE_PV="0.5.4"
+HTTP_PUSH_STREAM_MODULE_P="ngx_http_push_stream-${HTTP_PUSH_STREAM_MODULE_PV}"
+HTTP_PUSH_STREAM_MODULE_URI="https://github.com/wandenberg/nginx-push-stream-module/archive/${HTTP_PUSH_STREAM_MODULE_PV}.tar.gz"
+HTTP_PUSH_STREAM_MODULE_WD="${WORKDIR}/nginx-push-stream-module-${HTTP_PUSH_STREAM_MODULE_PV}"
+
+# sticky-module (https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng, BSD-2)
+HTTP_STICKY_MODULE_PV="1.2.6-10-g08a395c66e42"
+HTTP_STICKY_MODULE_P="nginx_http_sticky_module_ng-${HTTP_STICKY_MODULE_PV}"
+HTTP_STICKY_MODULE_URI="https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/${HTTP_STICKY_MODULE_PV}.tar.bz2"
+HTTP_STICKY_MODULE_WD="${WORKDIR}/nginx-goodies-nginx-sticky-module-ng-08a395c66e42"
+
+# mogilefs-module (https://github.com/vkholodkov/nginx-mogilefs-module, BSD-2)
+HTTP_MOGILEFS_MODULE_PV="1.0.4"
+HTTP_MOGILEFS_MODULE_P="ngx_mogilefs_module-${HTTP_MOGILEFS_MODULE_PV}"
+HTTP_MOGILEFS_MODULE_URI="https://github.com/vkholodkov/nginx-mogilefs-module/archive/${HTTP_MOGILEFS_MODULE_PV}.tar.gz"
+HTTP_MOGILEFS_MODULE_WD="${WORKDIR}/nginx_mogilefs_module-${HTTP_MOGILEFS_MODULE_PV}"
+
+# memc-module (https://github.com/openresty/memc-nginx-module, BSD-2)
+HTTP_MEMC_MODULE_PV="0.19"
+HTTP_MEMC_MODULE_P="ngx_memc_module-${HTTP_MEMC_MODULE_PV}"
+HTTP_MEMC_MODULE_URI="https://github.com/openresty/memc-nginx-module/archive/v${HTTP_MEMC_MODULE_PV}.tar.gz"
+HTTP_MEMC_MODULE_WD="${WORKDIR}/memc-nginx-module-${HTTP_MEMC_MODULE_PV}"
+
+# nginx-ldap-auth-module (https://github.com/kvspb/nginx-auth-ldap, BSD-2)
+HTTP_LDAP_MODULE_PV="42d195d7a7575ebab1c369ad3fc5d78dc2c2669c"
+HTTP_LDAP_MODULE_P="nginx-auth-ldap-${HTTP_LDAP_MODULE_PV}"
+HTTP_LDAP_MODULE_URI="https://github.com/kvspb/nginx-auth-ldap/archive/${HTTP_LDAP_MODULE_PV}.tar.gz"
+HTTP_LDAP_MODULE_WD="${WORKDIR}/nginx-auth-ldap-${HTTP_LDAP_MODULE_PV}"
+
+# geoip2 (https://github.com/leev/ngx_http_geoip2_module, BSD-2)
+GEOIP2_MODULE_PV="3.3"
+GEOIP2_MODULE_P="ngx_http_geoip2_module-${GEOIP2_MODULE_PV}"
+GEOIP2_MODULE_URI="https://github.com/leev/ngx_http_geoip2_module/archive/${GEOIP2_MODULE_PV}.tar.gz"
+GEOIP2_MODULE_WD="${WORKDIR}/ngx_http_geoip2_module-${GEOIP2_MODULE_PV}"
+
+# njs-module (https://github.com/nginx/njs, as-is)
+NJS_MODULE_PV="0.5.0"
+NJS_MODULE_P="njs-${NJS_MODULE_PV}"
+NJS_MODULE_URI="https://github.com/nginx/njs/archive/${NJS_MODULE_PV}.tar.gz"
+NJS_MODULE_WD="${WORKDIR}/njs-${NJS_MODULE_PV}"
+
+# We handle deps below ourselves
+SSL_DEPS_SKIP=1
+AUTOTOOLS_AUTO_DEPEND="no"
+
+inherit autotools ssl-cert toolchain-funcs perl-module flag-o-matic user systemd versionator multilib pax-utils
+
+DESCRIPTION="Robust, small and high performance http and reverse proxy server"
+HOMEPAGE="https://nginx.org"
+SRC_URI="https://nginx.org/download/${P}.tar.gz
+ ${DEVEL_KIT_MODULE_URI} -> ${DEVEL_KIT_MODULE_P}.tar.gz
+ nginx_modules_http_auth_ldap? ( ${HTTP_LDAP_MODULE_URI} -> ${HTTP_LDAP_MODULE_P}.tar.gz )
+ nginx_modules_http_auth_pam? ( ${HTTP_AUTH_PAM_MODULE_URI} -> ${HTTP_AUTH_PAM_MODULE_P}.tar.gz )
+ nginx_modules_http_brotli? ( ${HTTP_BROTLI_MODULE_URI} -> ${HTTP_BROTLI_MODULE_P}.tar.gz )
+ nginx_modules_http_cache_purge? ( ${HTTP_CACHE_PURGE_MODULE_URI} -> ${HTTP_CACHE_PURGE_MODULE_P}.tar.gz )
+ nginx_modules_http_dav_ext? ( ${HTTP_DAV_EXT_MODULE_URI} -> ${HTTP_DAV_EXT_MODULE_P}.tar.gz )
+ nginx_modules_http_echo? ( ${HTTP_ECHO_MODULE_URI} -> ${HTTP_ECHO_MODULE_P}.tar.gz )
+ nginx_modules_http_fancyindex? ( ${HTTP_FANCYINDEX_MODULE_URI} -> ${HTTP_FANCYINDEX_MODULE_P}.tar.gz )
+ nginx_modules_http_geoip2? ( ${GEOIP2_MODULE_URI} -> ${GEOIP2_MODULE_P}.tar.gz )
+ nginx_modules_http_headers_more? ( ${HTTP_HEADERS_MORE_MODULE_URI} -> ${HTTP_HEADERS_MORE_MODULE_P}.tar.gz )
+ nginx_modules_http_javascript? ( ${NJS_MODULE_URI} -> ${NJS_MODULE_P}.tar.gz )
+ nginx_modules_http_lua? ( ${HTTP_LUA_MODULE_URI} -> ${HTTP_LUA_MODULE_P}.tar.gz )
+ nginx_modules_http_memc? ( ${HTTP_MEMC_MODULE_URI} -> ${HTTP_MEMC_MODULE_P}.tar.gz )
+ nginx_modules_http_metrics? ( ${HTTP_METRICS_MODULE_URI} -> ${HTTP_METRICS_MODULE_P}.tar.gz )
+ nginx_modules_http_mogilefs? ( ${HTTP_MOGILEFS_MODULE_URI} -> ${HTTP_MOGILEFS_MODULE_P}.tar.gz )
+ nginx_modules_http_naxsi? ( ${HTTP_NAXSI_MODULE_URI} -> ${HTTP_NAXSI_MODULE_P}.tar.gz )
+ nginx_modules_http_push_stream? ( ${HTTP_PUSH_STREAM_MODULE_URI} -> ${HTTP_PUSH_STREAM_MODULE_P}.tar.gz )
+ nginx_modules_http_security? ( ${HTTP_SECURITY_MODULE_URI} -> ${HTTP_SECURITY_MODULE_P}.tar.gz )
+ nginx_modules_http_slowfs_cache? ( ${HTTP_SLOWFS_CACHE_MODULE_URI} -> ${HTTP_SLOWFS_CACHE_MODULE_P}.tar.gz )
+ nginx_modules_http_sticky? ( ${HTTP_STICKY_MODULE_URI} -> ${HTTP_STICKY_MODULE_P}.tar.bz2 )
+ nginx_modules_http_upload_progress? ( ${HTTP_UPLOAD_PROGRESS_MODULE_URI} -> ${HTTP_UPLOAD_PROGRESS_MODULE_P}.tar.gz )
+ nginx_modules_http_upstream_check? ( ${HTTP_UPSTREAM_CHECK_MODULE_URI} -> ${HTTP_UPSTREAM_CHECK_MODULE_P}.tar.gz )
+ nginx_modules_http_vhost_traffic_status? ( ${HTTP_VHOST_TRAFFIC_STATUS_MODULE_URI} -> ${HTTP_VHOST_TRAFFIC_STATUS_MODULE_P}.tar.gz )
+ nginx_modules_stream_geoip2? ( ${GEOIP2_MODULE_URI} -> ${GEOIP2_MODULE_P}.tar.gz )
+ nginx_modules_stream_javascript? ( ${NJS_MODULE_URI} -> ${NJS_MODULE_P}.tar.gz )
+ rtmp? ( ${RTMP_MODULE_URI} -> ${RTMP_MODULE_P}.tar.gz )"
+
+LICENSE="BSD-2 BSD SSLeay MIT GPL-2 GPL-2+
+ nginx_modules_http_security? ( Apache-2.0 )
+ nginx_modules_http_push_stream? ( GPL-3 )"
+
+SLOT="mainline"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+
+# Package doesn't provide a real test suite
+RESTRICT="test"
+
+NGINX_MODULES_STD="access auth_basic autoindex browser charset empty_gif
+ fastcgi geo grpc gzip limit_req limit_conn map memcached mirror
+ proxy referer rewrite scgi ssi split_clients upstream_hash
+ upstream_ip_hash upstream_keepalive upstream_least_conn
+ upstream_zone userid uwsgi"
+NGINX_MODULES_OPT="addition auth_request dav degradation flv geoip gunzip
+ gzip_static image_filter mp4 perl random_index realip secure_link
+ slice stub_status sub xslt"
+NGINX_MODULES_STREAM_STD="access geo limit_conn map return split_clients
+ upstream_hash upstream_least_conn upstream_zone"
+NGINX_MODULES_STREAM_OPT="geoip realip ssl_preread"
+NGINX_MODULES_MAIL="imap pop3 smtp"
+NGINX_MODULES_3RD="
+ http_auth_ldap
+ http_auth_pam
+ http_brotli
+ http_cache_purge
+ http_dav_ext
+ http_echo
+ http_fancyindex
+ http_geoip2
+ http_headers_more
+ http_javascript
+ http_lua
+ http_memc
+ http_metrics
+ http_mogilefs
+ http_naxsi
+ http_push_stream
+ http_security
+ http_slowfs_cache
+ http_sticky
+ http_upload_progress
+ http_upstream_check
+ http_vhost_traffic_status
+ stream_geoip2
+ stream_javascript
+"
+
+IUSE="aio debug +http +http2 +http-cache +ipv6 libatomic libressl luajit +pcre
+ pcre-jit rtmp selinux ssl threads userland_GNU vim-syntax"
+
+for mod in $NGINX_MODULES_STD; do
+ IUSE="${IUSE} +nginx_modules_http_${mod}"
+done
+
+for mod in $NGINX_MODULES_OPT; do
+ IUSE="${IUSE} nginx_modules_http_${mod}"
+done
+
+for mod in $NGINX_MODULES_STREAM_STD; do
+ IUSE="${IUSE} nginx_modules_stream_${mod}"
+done
+
+for mod in $NGINX_MODULES_STREAM_OPT; do
+ IUSE="${IUSE} nginx_modules_stream_${mod}"
+done
+
+for mod in $NGINX_MODULES_MAIL; do
+ IUSE="${IUSE} nginx_modules_mail_${mod}"
+done
+
+for mod in $NGINX_MODULES_3RD; do
+ IUSE="${IUSE} nginx_modules_${mod}"
+done
+
+# Add so we can warn users updating about config changes
+# @TODO: jbergstroem: remove on next release series
+IUSE="${IUSE} nginx_modules_http_spdy"
+
+CDEPEND="
+ pcre? ( dev-libs/libpcre:= )
+ pcre-jit? ( dev-libs/libpcre:=[jit] )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:= )
+ )
+ http2? (
+ !libressl? ( >=dev-libs/openssl-1.0.1c:0= )
+ libressl? ( dev-libs/libressl:= )
+ )
+ http-cache? (
+ userland_GNU? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:= )
+ )
+ )
+ nginx_modules_http_brotli? ( app-arch/brotli:= )
+ nginx_modules_http_geoip? ( dev-libs/geoip )
+ nginx_modules_http_geoip2? ( dev-libs/libmaxminddb:= )
+ nginx_modules_http_gunzip? ( sys-libs/zlib )
+ nginx_modules_http_gzip? ( sys-libs/zlib )
+ nginx_modules_http_gzip_static? ( sys-libs/zlib )
+ nginx_modules_http_image_filter? ( media-libs/gd:=[jpeg,png] )
+ nginx_modules_http_perl? ( >=dev-lang/perl-5.8:= )
+ nginx_modules_http_rewrite? ( dev-libs/libpcre:= )
+ nginx_modules_http_secure_link? (
+ userland_GNU? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:= )
+ )
+ )
+ nginx_modules_http_xslt? ( dev-libs/libxml2:= dev-libs/libxslt )
+ nginx_modules_http_lua? ( dev-lang/luajit:2= )
+ nginx_modules_http_auth_pam? ( sys-libs/pam )
+ nginx_modules_http_metrics? ( dev-libs/yajl:= )
+ nginx_modules_http_dav_ext? ( dev-libs/libxml2 )
+ nginx_modules_http_security? (
+ dev-libs/apr:=
+ dev-libs/apr-util:=
+ dev-libs/libxml2:=
+ net-misc/curl
+ www-servers/apache
+ )
+ nginx_modules_http_auth_ldap? ( net-nds/openldap[ssl?] )
+ nginx_modules_stream_geoip? ( dev-libs/geoip )
+ nginx_modules_stream_geoip2? ( dev-libs/libmaxminddb:= )"
+RDEPEND="${CDEPEND}
+ selinux? ( sec-policy/selinux-nginx )
+ !www-servers/nginx:0"
+DEPEND="${CDEPEND}
+ nginx_modules_http_brotli? ( virtual/pkgconfig )
+ nginx_modules_http_security? ( ${AUTOTOOLS_DEPEND} )
+ arm? ( dev-libs/libatomic_ops )
+ libatomic? ( dev-libs/libatomic_ops )"
+PDEPEND="vim-syntax? ( app-vim/nginx-syntax )"
+
+REQUIRED_USE="pcre-jit? ( pcre )
+ nginx_modules_http_fancyindex? ( nginx_modules_http_addition )
+ nginx_modules_http_grpc? ( http2 )
+ nginx_modules_http_lua? (
+ luajit
+ nginx_modules_http_rewrite
+ )
+ nginx_modules_http_naxsi? ( pcre )
+ nginx_modules_http_dav_ext? ( nginx_modules_http_dav nginx_modules_http_xslt )
+ nginx_modules_http_metrics? ( nginx_modules_http_stub_status )
+ nginx_modules_http_security? ( pcre )
+ nginx_modules_http_push_stream? ( ssl )"
+
+pkg_setup() {
+ NGINX_HOME="/var/lib/nginx"
+ NGINX_HOME_TMP="${NGINX_HOME}/tmp"
+
+ ebegin "Creating nginx user and group"
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 "${NGINX_HOME}" ${PN}
+ eend $?
+
+ if use libatomic; then
+ ewarn "GCC 4.1+ features built-in atomic operations."
+ ewarn "Using libatomic_ops is only needed if using"
+ ewarn "a different compiler or a GCC prior to 4.1"
+ fi
+
+ if [[ -n $NGINX_ADD_MODULES ]]; then
+ ewarn "You are building custom modules via \$NGINX_ADD_MODULES!"
+ ewarn "This nginx installation is not supported!"
+ ewarn "Make sure you can reproduce the bug without those modules"
+ ewarn "_before_ reporting bugs."
+ fi
+
+ if use !http; then
+ ewarn "To actually disable all http-functionality you also have to disable"
+ ewarn "all nginx http modules."
+ fi
+
+ if use nginx_modules_http_mogilefs && use threads; then
+ eerror "mogilefs won't compile with threads support."
+ eerror "Please disable either flag and try again."
+ die "Can't compile mogilefs with threads support"
+ fi
+}
+
+src_prepare() {
+ eapply "${FILESDIR}/${PN}-1.4.1-fix-perl-install-path.patch"
+ eapply "${FILESDIR}/${PN}-httpoxy-mitigation-r1.patch"
+
+ if use nginx_modules_http_brotli; then
+ cd "${HTTP_BROTLI_MODULE_WD}" || die
+ eapply "${FILESDIR}"/http_brotli-detect-brotli-r3.patch
+ cd "${S}" || die
+ fi
+
+ if use nginx_modules_http_upstream_check; then
+ eapply -p0 "${FILESDIR}"/http_upstream_check-nginx-1.11.5+.patch
+ fi
+
+ if use nginx_modules_http_cache_purge; then
+ cd "${HTTP_CACHE_PURGE_MODULE_WD}" || die
+ eapply "${FILESDIR}"/http_cache_purge-1.11.6+.patch
+ cd "${S}" || die
+ fi
+
+ if use nginx_modules_http_security; then
+ cd "${HTTP_SECURITY_MODULE_WD}" || die
+
+ eautoreconf
+
+ if use luajit ; then
+ sed -i \
+ -e 's|^\(LUA_PKGNAMES\)=.*|\1="luajit"|' \
+ configure || die
+ fi
+
+ cd "${S}" || die
+ fi
+
+ if use nginx_modules_http_upload_progress; then
+ cd "${HTTP_UPLOAD_PROGRESS_MODULE_WD}" || die
+ eapply "${FILESDIR}"/http_uploadprogress-issue_50-r1.patch
+ cd "${S}" || die
+ fi
+
+ find auto/ -type f -print0 | xargs -0 sed -i 's:\&\& make:\&\& \\$(MAKE):' || die
+ # We have config protection, don't rename etc files
+ sed -i 's:.default::' auto/install || die
+ # remove useless files
+ sed -i -e '/koi-/d' -e '/win-/d' auto/install || die
+
+ # don't install to /etc/nginx/ if not in use
+ local module
+ for module in fastcgi scgi uwsgi ; do
+ if ! use nginx_modules_http_${module}; then
+ sed -i -e "/${module}/d" auto/install || die
+ fi
+ done
+
+ eapply_user
+}
+
+src_configure() {
+ # mod_security needs to generate nginx/modsecurity/config before including it
+ if use nginx_modules_http_security; then
+ cd "${HTTP_SECURITY_MODULE_WD}" || die
+
+ ./configure \
+ --enable-standalone-module \
+ --disable-mlogc \
+ --with-ssdeep=no \
+ $(use_enable pcre-jit) \
+ $(use_with nginx_modules_http_lua lua) || die "configure failed for mod_security"
+
+ cd "${S}" || die
+ fi
+
+ local myconf=() http_enabled= mail_enabled= stream_enabled=
+
+ use aio && myconf+=( --with-file-aio )
+ use debug && myconf+=( --with-debug )
+ use http2 && myconf+=( --with-http_v2_module )
+ use libatomic && myconf+=( --with-libatomic )
+ use pcre && myconf+=( --with-pcre )
+ use pcre-jit && myconf+=( --with-pcre-jit )
+ use threads && myconf+=( --with-threads )
+
+ # HTTP modules
+ for mod in $NGINX_MODULES_STD; do
+ if use nginx_modules_http_${mod}; then
+ http_enabled=1
+ else
+ myconf+=( --without-http_${mod}_module )
+ fi
+ done
+
+ for mod in $NGINX_MODULES_OPT; do
+ if use nginx_modules_http_${mod}; then
+ http_enabled=1
+ myconf+=( --with-http_${mod}_module )
+ fi
+ done
+
+ if use nginx_modules_http_fastcgi; then
+ myconf+=( --with-http_realip_module )
+ fi
+
+ # third-party modules
+ if use nginx_modules_http_upload_progress; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_UPLOAD_PROGRESS_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_headers_more; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_HEADERS_MORE_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_cache_purge; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_CACHE_PURGE_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_slowfs_cache; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_SLOWFS_CACHE_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_fancyindex; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_FANCYINDEX_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_lua; then
+ http_enabled=1
+ export LUAJIT_LIB=$(pkg-config --variable libdir luajit)
+ export LUAJIT_INC=$(pkg-config --variable includedir luajit)
+ myconf+=( --add-module=${DEVEL_KIT_MODULE_WD} )
+ myconf+=( --add-module=${HTTP_LUA_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_auth_pam; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_AUTH_PAM_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_upstream_check; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_UPSTREAM_CHECK_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_metrics; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_METRICS_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_naxsi ; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_NAXSI_MODULE_WD} )
+ fi
+
+ if use rtmp ; then
+ http_enabled=1
+ myconf+=( --add-module=${RTMP_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_dav_ext ; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_DAV_EXT_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_echo ; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_ECHO_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_security ; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_SECURITY_MODULE_WD}/nginx/modsecurity )
+ fi
+
+ if use nginx_modules_http_push_stream ; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_PUSH_STREAM_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_sticky ; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_STICKY_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_mogilefs ; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_MOGILEFS_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_memc ; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_MEMC_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_auth_ldap; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_LDAP_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_vhost_traffic_status; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_VHOST_TRAFFIC_STATUS_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_geoip2 || use nginx_modules_stream_geoip2; then
+ myconf+=( --add-module=${GEOIP2_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_javascript || use nginx_modules_stream_javascript; then
+ myconf+=( --add-module="${NJS_MODULE_WD}/nginx" )
+ fi
+
+ if use nginx_modules_http_brotli; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_BROTLI_MODULE_WD} )
+ fi
+
+ if use http || use http-cache || use http2 || use nginx_modules_http_javascript; then
+ http_enabled=1
+ fi
+
+ if [ $http_enabled ]; then
+ use http-cache || myconf+=( --without-http-cache )
+ use ssl && myconf+=( --with-http_ssl_module )
+ else
+ myconf+=( --without-http --without-http-cache )
+ fi
+
+ # Stream modules
+ for mod in $NGINX_MODULES_STREAM_STD; do
+ if use nginx_modules_stream_${mod}; then
+ stream_enabled=1
+ else
+ myconf+=( --without-stream_${mod}_module )
+ fi
+ done
+
+ for mod in $NGINX_MODULES_STREAM_OPT; do
+ if use nginx_modules_stream_${mod}; then
+ stream_enabled=1
+ myconf+=( --with-stream_${mod}_module )
+ fi
+ done
+
+ if use nginx_modules_stream_geoip2 || use nginx_modules_stream_javascript; then
+ stream_enabled=1
+ fi
+
+ if [ $stream_enabled ]; then
+ myconf+=( --with-stream )
+ use ssl && myconf+=( --with-stream_ssl_module )
+ fi
+
+ # MAIL modules
+ for mod in $NGINX_MODULES_MAIL; do
+ if use nginx_modules_mail_${mod}; then
+ mail_enabled=1
+ else
+ myconf+=( --without-mail_${mod}_module )
+ fi
+ done
+
+ if [ $mail_enabled ]; then
+ myconf+=( --with-mail )
+ use ssl && myconf+=( --with-mail_ssl_module )
+ fi
+
+ # custom modules
+ for mod in $NGINX_ADD_MODULES; do
+ myconf+=( --add-module=${mod} )
+ done
+
+ # https://bugs.gentoo.org/286772
+ export LANG=C LC_ALL=C
+ tc-export AR CC
+
+ if ! use prefix; then
+ myconf+=( --user=${PN} )
+ myconf+=( --group=${PN} )
+ fi
+
+ local WITHOUT_IPV6=
+ if ! use ipv6; then
+ WITHOUT_IPV6=" -DNGX_HAVE_INET6=0"
+ fi
+
+ if [[ -n "${EXTRA_ECONF}" ]]; then
+ myconf+=( ${EXTRA_ECONF} )
+ ewarn "EXTRA_ECONF applied. Now you are on your own, good luck!"
+ fi
+
+ ./configure \
+ --prefix="${EPREFIX}"/usr \
+ --conf-path="${EPREFIX}"/etc/${PN}/${PN}.conf \
+ --error-log-path="${EPREFIX}"/var/log/${PN}/error_log \
+ --pid-path="${EPREFIX}"/run/${PN}.pid \
+ --lock-path="${EPREFIX}"/run/lock/${PN}.lock \
+ --with-cc-opt="-I${EROOT}usr/include${WITHOUT_IPV6}" \
+ --with-ld-opt="-L${EROOT}usr/$(get_libdir)" \
+ --http-log-path="${EPREFIX}"/var/log/${PN}/access_log \
+ --http-client-body-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/client \
+ --http-proxy-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/proxy \
+ --http-fastcgi-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/fastcgi \
+ --http-scgi-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/scgi \
+ --http-uwsgi-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/uwsgi \
+ --with-compat \
+ "${myconf[@]}" || die "configure failed"
+
+ # A purely cosmetic change that makes nginx -V more readable. This can be
+ # good if people outside the gentoo community would troubleshoot and
+ # question the users setup.
+ sed -i -e "s|${WORKDIR}|external_module|g" objs/ngx_auto_config.h || die
+}
+
+src_compile() {
+ use nginx_modules_http_security && emake -C "${HTTP_SECURITY_MODULE_WD}"
+
+ # https://bugs.gentoo.org/286772
+ export LANG=C LC_ALL=C
+ emake LINK="${CC} ${LDFLAGS}" OTHERLDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ emake DESTDIR="${D%/}" install
+
+ cp "${FILESDIR}"/nginx.conf-r2 "${ED%/}"/etc/nginx/nginx.conf || die
+
+ newinitd "${FILESDIR}"/nginx.initd-r4 nginx
+ newconfd "${FILESDIR}"/nginx.confd nginx
+
+ systemd_newunit "${FILESDIR}"/nginx.service-r1 nginx.service
+
+ doman man/nginx.8
+ dodoc CHANGES* README
+
+ # just keepdir. do not copy the default htdocs files (bug #449136)
+ keepdir /var/www/localhost
+ rm -rf "${ED%/}"/usr/html || die
+
+ # set up a list of directories to keep
+ local keepdir_list="${NGINX_HOME_TMP}"/client
+ local module
+ for module in proxy fastcgi scgi uwsgi; do
+ use nginx_modules_http_${module} && keepdir_list+=" ${NGINX_HOME_TMP}/${module}"
+ done
+
+ keepdir /var/log/nginx ${keepdir_list}
+
+ # this solves a problem with SELinux where nginx doesn't see the directories
+ # as root and tries to create them as nginx
+ fperms 0750 "${NGINX_HOME_TMP}"
+ fowners ${PN}:0 "${NGINX_HOME_TMP}"
+
+ fperms 0700 ${keepdir_list}
+ fowners ${PN}:${PN} ${keepdir_list}
+
+ fperms 0710 /var/log/nginx
+ fowners 0:${PN} /var/log/nginx
+
+ # logrotate
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/nginx.logrotate-r1 nginx
+
+ # Don't create /run
+ rm -rf "${ED%/}"/run || die
+
+ if use luajit; then
+ pax-mark m "${ED%/}/usr/sbin/nginx"
+ fi
+
+ if use nginx_modules_http_perl; then
+ cd "${S}"/objs/src/http/modules/perl/ || die
+ emake DESTDIR="${D}" INSTALLDIRS=vendor
+ perl_delete_localpod
+ cd "${S}" || die
+ fi
+
+ if use nginx_modules_http_cache_purge; then
+ docinto ${HTTP_CACHE_PURGE_MODULE_P}
+ dodoc "${HTTP_CACHE_PURGE_MODULE_WD}"/{CHANGES,README.md,TODO.md}
+ fi
+
+ if use nginx_modules_http_slowfs_cache; then
+ docinto ${HTTP_SLOWFS_CACHE_MODULE_P}
+ dodoc "${HTTP_SLOWFS_CACHE_MODULE_WD}"/{CHANGES,README.md}
+ fi
+
+ if use nginx_modules_http_fancyindex; then
+ docinto ${HTTP_FANCYINDEX_MODULE_P}
+ dodoc "${HTTP_FANCYINDEX_MODULE_WD}"/README.rst
+ fi
+
+ if use nginx_modules_http_lua; then
+ docinto ${HTTP_LUA_MODULE_P}
+ dodoc "${HTTP_LUA_MODULE_WD}"/README.markdown
+ fi
+
+ if use nginx_modules_http_auth_pam; then
+ docinto ${HTTP_AUTH_PAM_MODULE_P}
+ dodoc "${HTTP_AUTH_PAM_MODULE_WD}"/{README.md,ChangeLog}
+ fi
+
+ if use nginx_modules_http_upstream_check; then
+ docinto ${HTTP_UPSTREAM_CHECK_MODULE_P}
+ dodoc "${HTTP_UPSTREAM_CHECK_MODULE_WD}"/{README,CHANGES}
+ fi
+
+ if use nginx_modules_http_naxsi; then
+ insinto /etc/nginx
+ doins "${HTTP_NAXSI_MODULE_WD}"/../naxsi_config/naxsi_core.rules
+ fi
+
+ if use rtmp; then
+ docinto ${RTMP_MODULE_P}
+ dodoc "${RTMP_MODULE_WD}"/{AUTHORS,README.md,stat.xsl}
+ fi
+
+ if use nginx_modules_http_dav_ext; then
+ docinto ${HTTP_DAV_EXT_MODULE_P}
+ dodoc "${HTTP_DAV_EXT_MODULE_WD}"/README.rst
+ fi
+
+ if use nginx_modules_http_echo; then
+ docinto ${HTTP_ECHO_MODULE_P}
+ dodoc "${HTTP_ECHO_MODULE_WD}"/README.markdown
+ fi
+
+ if use nginx_modules_http_security; then
+ docinto ${HTTP_SECURITY_MODULE_P}
+ dodoc "${HTTP_SECURITY_MODULE_WD}"/{CHANGES,README.md,authors.txt}
+ fi
+
+ if use nginx_modules_http_push_stream; then
+ docinto ${HTTP_PUSH_STREAM_MODULE_P}
+ dodoc "${HTTP_PUSH_STREAM_MODULE_WD}"/{AUTHORS,CHANGELOG.textile,README.textile}
+ fi
+
+ if use nginx_modules_http_sticky; then
+ docinto ${HTTP_STICKY_MODULE_P}
+ dodoc "${HTTP_STICKY_MODULE_WD}"/{README.md,Changelog.txt,docs/sticky.pdf}
+ fi
+
+ if use nginx_modules_http_memc; then
+ docinto ${HTTP_MEMC_MODULE_P}
+ dodoc "${HTTP_MEMC_MODULE_WD}"/README.markdown
+ fi
+
+ if use nginx_modules_http_auth_ldap; then
+ docinto ${HTTP_LDAP_MODULE_P}
+ dodoc "${HTTP_LDAP_MODULE_WD}"/example.conf
+ fi
+}
+
+pkg_postinst() {
+ if use ssl; then
+ if [[ ! -f "${EROOT}"etc/ssl/${PN}/${PN}.key ]]; then
+ install_cert /etc/ssl/${PN}/${PN}
+ use prefix || chown ${PN}:${PN} "${EROOT}"etc/ssl/${PN}/${PN}.{crt,csr,key,pem}
+ fi
+ fi
+
+ if use nginx_modules_http_spdy; then
+ ewarn ""
+ ewarn "In nginx 1.9.5 the spdy module was superseded by http2."
+ ewarn "Update your configs and package.use accordingly."
+ fi
+
+ if use nginx_modules_http_lua; then
+ ewarn ""
+ ewarn "While you can build lua 3rd party module against ${P}"
+ ewarn "the author warns that >=${PN}-1.11.11 is still not an"
+ ewarn "officially supported target yet. You are on your own."
+ ewarn "Expect runtime failures, memory leaks and other problems!"
+ fi
+
+ if use nginx_modules_http_lua && use http2; then
+ ewarn ""
+ ewarn "Lua 3rd party module author warns against using ${P} with"
+ ewarn "NGINX_MODULES_HTTP=\"lua http2\". For more info, see https://git.io/OldLsg"
+ fi
+
+ local _n_permission_layout_checks=0
+ local _has_to_adjust_permissions=0
+ local _has_to_show_permission_warning=0
+
+ # Defaults to 1 to inform people doing a fresh installation
+ # that we ship modified {scgi,uwsgi,fastcgi}_params files
+ local _has_to_show_httpoxy_mitigation_notice=1
+
+ local _replacing_version=
+ for _replacing_version in ${REPLACING_VERSIONS}; do
+ _n_permission_layout_checks=$((${_n_permission_layout_checks}+1))
+
+ if [[ ${_n_permission_layout_checks} -gt 1 ]]; then
+ # Should never happen:
+ # Package is abusing slots but doesn't allow multiple parallel installations.
+ # If we run into this situation it is unsafe to automatically adjust any
+ # permission...
+ _has_to_show_permission_warning=1
+
+ ewarn "Replacing multiple ${PN}' versions is unsupported! " \
+ "You will have to adjust permissions on your own."
+
+ break
+ fi
+
+ local _replacing_version_branch=$(get_version_component_range 1-2 "${_replacing_version}")
+ debug-print "Updating an existing installation (v${_replacing_version}; branch '${_replacing_version_branch}') ..."
+
+ # Do we need to adjust permissions to fix CVE-2013-0337 (bug #458726, #469094)?
+ # This was before we introduced multiple nginx versions so we
+ # do not need to distinguish between stable and mainline
+ local _need_to_fix_CVE2013_0337=1
+
+ if version_is_at_least "1.4.1-r2" "${_replacing_version}"; then
+ # We are updating an installation which should already be fixed
+ _need_to_fix_CVE2013_0337=0
+ debug-print "Skipping CVE-2013-0337 ... existing installation should not be affected!"
+ else
+ _has_to_adjust_permissions=1
+ debug-print "Need to adjust permissions to fix CVE-2013-0337!"
+ fi
+
+ # Do we need to inform about HTTPoxy mitigation?
+ # In repository since commit 8be44f76d4ac02cebcd1e0e6e6284bb72d054b0f
+ if ! version_is_at_least "1.10" "${_replacing_version_branch}"; then
+ # Updating from <1.10
+ _has_to_show_httpoxy_mitigation_notice=1
+ debug-print "Need to inform about HTTPoxy mitigation!"
+ else
+ # Updating from >=1.10
+ local _fixed_in_pvr=
+ case "${_replacing_version_branch}" in
+ "1.10")
+ _fixed_in_pvr="1.10.1-r2"
+ ;;
+ "1.11")
+ _fixed_in_pvr="1.11.3-r1"
+ ;;
+ *)
+ # This should be any future branch.
+ # If we run this code it is safe to assume that the user has
+ # already seen the HTTPoxy mitigation notice because he/she is doing
+ # an update from previous version where we have already shown
+ # the warning. Otherwise, we wouldn't hit this code path ...
+ _fixed_in_pvr=
+ esac
+
+ if [[ -z "${_fixed_in_pvr}" ]] || version_is_at_least "${_fixed_in_pvr}" "${_replacing_version}"; then
+ # We are updating an installation where we already informed
+ # that we are mitigating HTTPoxy per default
+ _has_to_show_httpoxy_mitigation_notice=0
+ debug-print "No need to inform about HTTPoxy mitigation ... information was already shown for existing installation!"
+ else
+ _has_to_show_httpoxy_mitigation_notice=1
+ debug-print "Need to inform about HTTPoxy mitigation!"
+ fi
+ fi
+
+ # Do we need to adjust permissions to fix CVE-2016-1247 (bug #605008)?
+ # All branches up to 1.11 are affected
+ local _need_to_fix_CVE2016_1247=1
+
+ if ! version_is_at_least "1.10" "${_replacing_version_branch}"; then
+ # Updating from <1.10
+ _has_to_adjust_permissions=1
+ debug-print "Need to adjust permissions to fix CVE-2016-1247!"
+ else
+ # Updating from >=1.10
+ local _fixed_in_pvr=
+ case "${_replacing_version_branch}" in
+ "1.10")
+ _fixed_in_pvr="1.10.2-r3"
+ ;;
+ "1.11")
+ _fixed_in_pvr="1.11.6-r1"
+ ;;
+ *)
+ # This should be any future branch.
+ # If we run this code it is safe to assume that we have already
+ # adjusted permissions or were never affected because user is
+ # doing an update from previous version which was safe or did
+ # the adjustments. Otherwise, we wouldn't hit this code path ...
+ _fixed_in_pvr=
+ esac
+
+ if [[ -z "${_fixed_in_pvr}" ]] || version_is_at_least "${_fixed_in_pvr}" "${_replacing_version}"; then
+ # We are updating an installation which should already be adjusted
+ # or which was never affected
+ _need_to_fix_CVE2016_1247=0
+ debug-print "Skipping CVE-2016-1247 ... existing installation should not be affected!"
+ else
+ _has_to_adjust_permissions=1
+ debug-print "Need to adjust permissions to fix CVE-2016-1247!"
+ fi
+ fi
+ done
+
+ if [[ ${_has_to_adjust_permissions} -eq 1 ]]; then
+ # We do not DIE when chmod/chown commands are failing because
+ # package is already merged on user's system at this stage
+ # and we cannot retry without losing the information that
+ # the existing installation needs to adjust permissions.
+ # Instead we are going to a show a big warning ...
+
+ if [[ ${_has_to_show_permission_warning} -eq 0 ]] && [[ ${_need_to_fix_CVE2013_0337} -eq 1 ]]; then
+ ewarn ""
+ ewarn "The world-readable bit (if set) has been removed from the"
+ ewarn "following directories to mitigate a security bug"
+ ewarn "(CVE-2013-0337, bug #458726):"
+ ewarn ""
+ ewarn " ${EPREFIX}/var/log/nginx"
+ ewarn " ${EPREFIX}${NGINX_HOME_TMP}/{,client,proxy,fastcgi,scgi,uwsgi}"
+ ewarn ""
+ ewarn "Check if this is correct for your setup before restarting nginx!"
+ ewarn "This is a one-time change and will not happen on subsequent updates."
+ ewarn "Furthermore nginx' temp directories got moved to '${EPREFIX}${NGINX_HOME_TMP}'"
+ chmod o-rwx \
+ "${EPREFIX}"/var/log/nginx \
+ "${EPREFIX}"${NGINX_HOME_TMP}/{,client,proxy,fastcgi,scgi,uwsgi} || \
+ _has_to_show_permission_warning=1
+ fi
+
+ if [[ ${_has_to_show_permission_warning} -eq 0 ]] && [[ ${_need_to_fix_CVE2016_1247} -eq 1 ]]; then
+ ewarn ""
+ ewarn "The permissions on the following directory have been reset in"
+ ewarn "order to mitigate a security bug (CVE-2016-1247, bug #605008):"
+ ewarn ""
+ ewarn " ${EPREFIX}/var/log/nginx"
+ ewarn ""
+ ewarn "Check if this is correct for your setup before restarting nginx!"
+ ewarn "Also ensure that no other log directory used by any of your"
+ ewarn "vhost(s) is not writeable for nginx user. Any of your log files"
+ ewarn "used by nginx can be abused to escalate privileges!"
+ ewarn "This is a one-time change and will not happen on subsequent updates."
+ chown 0:nginx "${EPREFIX}"/var/log/nginx || _has_to_show_permission_warning=1
+ chmod 710 "${EPREFIX}"/var/log/nginx || _has_to_show_permission_warning=1
+ fi
+
+ if [[ ${_has_to_show_permission_warning} -eq 1 ]]; then
+ # Should never happen ...
+ ewarn ""
+ ewarn "*************************************************************"
+ ewarn "*************** W A R N I N G ***************"
+ ewarn "*************************************************************"
+ ewarn "The one-time only attempt to adjust permissions of the"
+ ewarn "existing nginx installation failed. Be aware that we will not"
+ ewarn "try to adjust the same permissions again because now you are"
+ ewarn "using a nginx version where we expect that the permissions"
+ ewarn "are already adjusted or that you know what you are doing and"
+ ewarn "want to keep custom permissions."
+ ewarn ""
+ fi
+ fi
+
+ # Sanity check for CVE-2016-1247
+ # Required to warn users who received the warning above and thought
+ # they could fix it by unmerging and re-merging the package or have
+ # unmerged a affected installation on purpose in the past leaving
+ # /var/log/nginx on their system due to keepdir/non-empty folder
+ # and are now installing the package again.
+ local _sanity_check_testfile=$(mktemp --dry-run "${EPREFIX}"/var/log/nginx/.CVE-2016-1247.XXXXXXXXX)
+ su -s /bin/sh -c "touch ${_sanity_check_testfile}" nginx >&/dev/null
+ if [ $? -eq 0 ] ; then
+ # Cleanup -- no reason to die here!
+ rm -f "${_sanity_check_testfile}"
+
+ ewarn ""
+ ewarn "*************************************************************"
+ ewarn "*************** W A R N I N G ***************"
+ ewarn "*************************************************************"
+ ewarn "Looks like your installation is vulnerable to CVE-2016-1247"
+ ewarn "(bug #605008) because nginx user is able to create files in"
+ ewarn ""
+ ewarn " ${EPREFIX}/var/log/nginx"
+ ewarn ""
+ ewarn "Also ensure that no other log directory used by any of your"
+ ewarn "vhost(s) is not writeable for nginx user. Any of your log files"
+ ewarn "used by nginx can be abused to escalate privileges!"
+ fi
+
+ if [[ ${_has_to_show_httpoxy_mitigation_notice} -eq 1 ]]; then
+ # HTTPoxy mitigation
+ ewarn ""
+ ewarn "This nginx installation comes with a mitigation for the HTTPoxy"
+ ewarn "vulnerability for FastCGI, SCGI and uWSGI applications by setting"
+ ewarn "the HTTP_PROXY parameter to an empty string per default when you"
+ ewarn "are sourcing one of the default"
+ ewarn ""
+ ewarn " - 'fastcgi_params' or 'fastcgi.conf'"
+ ewarn " - 'scgi_params'"
+ ewarn " - 'uwsgi_params'"
+ ewarn ""
+ ewarn "files in your server block(s)."
+ ewarn ""
+ ewarn "If this is causing any problems for you make sure that you are sourcing the"
+ ewarn "default parameters _before_ you set your own values."
+ ewarn "If you are relying on user-supplied proxy values you have to remove the"
+ ewarn "correlating lines from the file(s) mentioned above."
+ ewarn ""
+ fi
+}
diff --git a/www-servers/servefile/Manifest b/www-servers/servefile/Manifest
index 325ad8c9b837..a2dd866c4969 100644
--- a/www-servers/servefile/Manifest
+++ b/www-servers/servefile/Manifest
@@ -1,6 +1,4 @@
AUX servefile-0.4.4_p20200211-ipv6-absent-tests.patch 776 BLAKE2B db36dc2c79bd5551b539f71493472c88b258333f3493bf42d6c4323e06a223dfc07c8930662583fc91bbd2325c35da13f87b411a7fa2c32eb7e0c5237683f858 SHA512 e7e6d11c86efff0a8d0eb51e687686cbb962130a6c3d5117d863876337a49349500f9330ac6c865b871db80b0ed989585f9d01a386782b209841f6ce5092f654
-DIST servefile-0.4.4_p20200211.tar.gz 18304 BLAKE2B 2bbd6534d7fb787a0b85d594bd0a2bc235c859f80618be24dea144ef2adaa6188a29efdffc2e9109229301b9d3ee09df6a9d746a15ae6b01fed44a21307df78e SHA512 ef4edb4c92d9f804970087fc1c3d59775740642516a06704258de6d972cb807123f309991a5e22469b7619aff2304e265d5749485a4f74e75f2c80c279a23c33
DIST servefile-0.5.1.tar.gz 19390 BLAKE2B 4443471870650f03564d6f574b633630fac4e1f9f6e6a9807b1baa4d3aaa6284f803fa9dc0c7c07f53cc343f89687db5f6b5a4ebf09e9fd327369e2b3aecddc5 SHA512 2502f3072522a8f460d3711dccbaa3fa57e34915313aaad475e5831962adc92c0728c2598f9f78ee99e60731cdc2d3026488ce8050369ab0c967246cd9372f44
-EBUILD servefile-0.4.4_p20200211.ebuild 853 BLAKE2B d87ccc93c478aaa6aa48194b5ded2af1b84f63ff7ae26e95811c1061393c1d7437766c4a79418339111c5e0b6308e6b3689b877eca071dabeb21a54da3c90d98 SHA512 59d729b25a13ef1d692887a5da11c0a9a0cb879ac338bd2232493a147a04d55774bc6430c92fc8ef2e2f20c538834115f7e59cc9bc82e83f730b0764c972ce21
-EBUILD servefile-0.5.1.ebuild 832 BLAKE2B b9f178ee6d55b0cb2bd2972f4292ff20347b1a8feb4180da28b481c3a9391e94fd090a07172020ba2996b0064980b420a3ffb01c17eb7463f6a70c7cfcd19543 SHA512 5dfa69edb8a7fb0ee85643aea9809e6bbe70adddb7b85336bcbe6cb557644c847291daa5bc70a235e14d10216a96b2b090f4f5398abca5378204ab186579b5f3
+EBUILD servefile-0.5.1.ebuild 831 BLAKE2B 4068aa1a9ade9ef5bdaa13a3c28366eb5a644bcf4f2d1c2a5cc60b2af65346acb619ffc48be77c0ab30c24c4840c16ca36e11d7f735377e393258247f1670fe3 SHA512 8b5427e0228480eddd23c962eeba8d26b7a76a58d5ef8646a80e34ab8dce76dfeeb4b9bdf824cf110e6e96ab8bc4f431e615a6fe6545dd8edf118a7cb88341c8
MISC metadata.xml 249 BLAKE2B 3647e2ef94ad009c86dc9d42c1396ad9420ade97042882b8d8f60f676c465cfd6ea3cea4b77caccadd99eb0cbe1ef83b18b799ec676da4ecfbff528d21bb5ffb SHA512 334ac61f9acc5c4917fd29afb3b420b1689b39be80cada419bed1db033e64130866d0995abe5f1c75eb1290f51734e9ad4c8d06fd8b49c288ecf617a0693d273
diff --git a/www-servers/servefile/servefile-0.4.4_p20200211.ebuild b/www-servers/servefile/servefile-0.4.4_p20200211.ebuild
deleted file mode 100644
index 6f5570d2e3a6..000000000000
--- a/www-servers/servefile/servefile-0.4.4_p20200211.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{6,7,8} )
-
-inherit distutils-r1
-
-MY_COMMIT=864b2161b16e432c8ba19db1914809e080d793af
-DESCRIPTION="Serve a single file via HTTP"
-HOMEPAGE="https://github.com/sebageek/servefile"
-SRC_URI="https://github.com/sebageek/servefile/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="ssl test"
-
-RDEPEND="
- ssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] )
- sys-apps/grep
- sys-apps/iproute2
- sys-apps/net-tools
- sys-apps/sed"
-DEPEND="test? (
- ${RDEPEND}
- dev-python/requests[${PYTHON_USEDEP}]
- )"
-
-S="${WORKDIR}"/${PN}-${MY_COMMIT}
-
-PATCHES=(
- "${FILESDIR}"/${P}-ipv6-absent-tests.patch
-)
-
-distutils_enable_tests pytest
-
-src_install() {
- distutils-r1_src_install
- doman ${PN}.1
-}
diff --git a/www-servers/servefile/servefile-0.5.1.ebuild b/www-servers/servefile/servefile-0.5.1.ebuild
index 7d34a67b34de..21bca4faa30d 100644
--- a/www-servers/servefile/servefile-0.5.1.ebuild
+++ b/www-servers/servefile/servefile-0.5.1.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{6,7,8} )
+PYTHON_COMPAT=( python3_{6..9} )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
diff --git a/www-servers/sniproxy/Manifest b/www-servers/sniproxy/Manifest
index 3e192091ad73..1c9236202aeb 100644
--- a/www-servers/sniproxy/Manifest
+++ b/www-servers/sniproxy/Manifest
@@ -1,6 +1,7 @@
+AUX sniproxy-0.6.0-fno-common.patch 541 BLAKE2B cc1bb1edcb25bb12c5d5ac70088f38e61958104fbe4c81586c90f86dc3e1c53ea29de1aae82b7bbf17fea6e135572bc9e026b30a473411cbc09680b9eec20b58 SHA512 deb08ce08b4fc4060b5f2652b1946174a7771b81a9f288b9ec6368a50cfa3d327edef598b3e1fe7f668c4244adfbbc770644acab9772a451f1058e8362f71681
AUX sniproxy.init 493 BLAKE2B 4021f98063b76628abd60e52afc3cef2d6860c3fd639c21d0e2d4a62acc6fe7f505bc715c69116474748c122d031a8df1f101d0c13b80524980911a6010fe86f SHA512 6dc6ba017c18cc5c4b15b2085e95157c396c44b8d368b6ee28c559c9d4072460604afca3a20c46c639c5b095a3da65e3b2b15fc20d738e41651cc77615dd3ca0
DIST sniproxy-0.5.0.tar.gz 72654 BLAKE2B 11f2a66af0d5a19807178687b2a5044aa0cca18a9586c60a6e15604b90f4c32d16d9ac8d037df2cafe57a2dc3a576e1ff72b8f58b59e6822d2a45520b9c770f4 SHA512 52dbb217193d2b7bf9dea37b13fde395b5c56d0a6627508a245f2807920deb282aae3c1ae7e6b5fa68432990e48998989fd28027b65cb7310f214b29f98e5e5d
DIST sniproxy-0.6.0.tar.gz 78515 BLAKE2B 1ac8decc793e7b3d73d833bc392b3ef035bd2ba7d515c54ff46de16ee8897c0c5392929d5c7a22a131c1f017897cc6f8e9c50aff8164e4afbdc23155b804b613 SHA512 8a99573673bdd57e528c5781cb166d39c80daed699382b24c3fa18a6011d074a1d9e470fee404d24b4450cf067c9995125910b2941b5216d88d189a1d79ebf73
EBUILD sniproxy-0.5.0.ebuild 1358 BLAKE2B 85992e780c92ed4903e42e703c5391092cc5f2aa01868b4a160e8c260e2aca1d7af3e13f1af009c1f19fbd6cb3ccae956c421f78c3b81afa34fcbffc233f50a0 SHA512 0f0e254ce173b2c8f563db051cc2647cdad62b09d5fcabf82a43e172c11cdf3406146eb18da087a6ee306fef7299f115592c6d394f2cbcdfb95782b696a2c769
-EBUILD sniproxy-0.6.0.ebuild 1625 BLAKE2B 1dfd5f28a60401b8aacd4268c81c8050b03de3979bd1ff3f51dd07ea508f54798f1ad74c42a24ba0612111c5b749f6017e4a4bfbaf89fdcb2c671f4cd898d71b SHA512 1f6d965e68923d7793286a3d8611dd4b87dd3d08d52c8e2f7197ee968c56deffda3e7a5a30ee4c471f0cedac6313a3306594bb0ceb885bb5b6a9b7750078b8cb
+EBUILD sniproxy-0.6.0-r1.ebuild 1603 BLAKE2B 722ccab3459ee93ca63d6152d95c99ff097b7ee4f7fbf64f3f292c99fd8d9fbb489f5e98bcc15c6ffe8ee08957e2c7930b0b469c8e4771f7d0fae9cc1114b78e SHA512 ae52cac6a2b16ba32d0cc873283e5cb9e284b4195d51d4c17665b20e2f21f91247eba0039cef92c407579ef9b174fee98346954177604dad02d087e8f6bb1ec3
MISC metadata.xml 630 BLAKE2B ebf3d19da137583e30cd2d19d19280c8f18c9e05beb0dc6a35d7863687ff9d28c4ee473ff9fbd97a05dee4cdc96bcb6785f41a22911a00ddc4645c20fc18f655 SHA512 263e1b4f405a67f6e402cd842d95640664c9f961ee29c614022787be76a2d83b5dcb3c4e784bef4369424680bdf1888d440eeb0a195dd8dfa65132c137a2fb55
diff --git a/www-servers/sniproxy/files/sniproxy-0.6.0-fno-common.patch b/www-servers/sniproxy/files/sniproxy-0.6.0-fno-common.patch
new file mode 100644
index 000000000000..f718bfca736c
--- /dev/null
+++ b/www-servers/sniproxy/files/sniproxy-0.6.0-fno-common.patch
@@ -0,0 +1,24 @@
+Taken from: https://github.com/dlundquist/sniproxy/commit/822bb80df9b7b345cc9eba55df74a07b498819ba
+Author: Pierre-Olivier Mercier <nemunaire@nemunai.re>
+
+--- a/src/http.h
++++ b/src/http.h
+@@ -29,6 +29,6 @@
+ #include <stdio.h>
+ #include "protocol.h"
+
+-const struct Protocol *const http_protocol;
++extern const struct Protocol *const http_protocol;
+
+ #endif
+--- a/src/tls.h
++++ b/src/tls.h
+@@ -28,6 +28,6 @@
+
+ #include "protocol.h"
+
+-const struct Protocol *const tls_protocol;
++extern const struct Protocol *const tls_protocol;
+
+ #endif
+
diff --git a/www-servers/sniproxy/sniproxy-0.6.0.ebuild b/www-servers/sniproxy/sniproxy-0.6.0-r1.ebuild
index 458f1e8ac793..9dc8e5a03ef1 100644
--- a/www-servers/sniproxy/sniproxy-0.6.0.ebuild
+++ b/www-servers/sniproxy/sniproxy-0.6.0-r1.ebuild
@@ -1,15 +1,14 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit autotools user
+inherit autotools
-if [[ ${PV} == 9999* ]]; then
+if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://github.com/dlundquist/sniproxy.git"
EGIT_BRANCH="master"
inherit git-r3
- KEYWORDS=""
else
SRC_URI="https://github.com/dlundquist/sniproxy/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
@@ -24,18 +23,18 @@ IUSE="+dns +largefile rfc3339 test"
RESTRICT="!test? ( test )"
RDEPEND="
+ acct-group/sniproxy
+ acct-user/sniproxy
dev-libs/libev
>=dev-libs/libpcre-3
- dns? ( net-libs/udns )
-"
+ dns? ( net-libs/udns )"
+DEPEND="${RDEPEND}
+ test? ( net-misc/curl )"
BDEPEND="
- ${RDEPEND}
sys-devel/gettext
- virtual/pkgconfig
-"
-DEPEND="
- test? ( net-misc/curl )
-"
+ virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}"/${P}-fno-common.patch )
src_prepare() {
default
@@ -55,6 +54,10 @@ src_configure() {
econf "${my_conf[@]}"
}
+src_test() {
+ emake -j1 check
+}
+
src_install() {
default
@@ -72,12 +75,3 @@ src_install() {
doman man/sniproxy.8
doman man/sniproxy.conf.5
}
-
-src_test() {
- emake -j1 check
-}
-
-pkg_postinst() {
- enewgroup "${PN}"
- enewuser "${PN}" -1 -1 /var/lib/sniproxy "${PN}"
-}
diff --git a/www-servers/tomcat/Manifest b/www-servers/tomcat/Manifest
index 638582dbdcef..fcd3c46c3487 100644
--- a/www-servers/tomcat/Manifest
+++ b/www-servers/tomcat/Manifest
@@ -12,14 +12,16 @@ DIST apache-tomcat-7.0.106-src.tar.gz 5302091 BLAKE2B f60975ef5570501b03e7164596
DIST apache-tomcat-7.0.107-src.tar.gz 5312698 BLAKE2B 1f2712ddce6aa604692aaf6a6c706469d3dbcb2266a99e62346c15b8347fff573608440473be8e20b8632a431f8838dd29f24f6bf630a13d262c444be68e0d2c SHA512 820923697c487367786c595d3aeaa58981d25b56529c6739b9388ad771f3264e6995f7659805cc5b2ef9456dbd42bad92ad2cfa3c7f741920a5b7bff2cc1bb1b
DIST apache-tomcat-8.5.59-src.tar.gz 5787634 BLAKE2B 8ca1aa8b4d12d0e73c0d7937e906530037168ac349b196e172935332e632b1e9ab15379f532cb8fb1b2f853d01567332af9c031393882c833dcea65f9e626b09 SHA512 bed80e86c4dc972fd6ad414a804ed2bffc797e22b0a5e0e6e93c8540fb87cffb2fd2f1f8d97873a3ee24397f7961a8fdeb6756c542a532e4b73468bccec6e626
DIST apache-tomcat-8.5.60-src.tar.gz 5837412 BLAKE2B 0c2200412900f7f6d318051333b15b8c6236e00f6194c21fc45bb95b565c4146e2682b879f3a293de3ab65524013f786a7f69dd7e91f1c4cc903179075253cc4 SHA512 43222e5d04b3de400429d6f1792d418172b6ff15dcc17e392cd66a5444d740a323b9c426a9f39678b3460452545fda4d784f56961d5ea56b9c0e1ca466d49040
-DIST apache-tomcat-9.0.38-src.tar.gz 5948083 BLAKE2B ac076684f10a51bf0e0b5b0dbf18ee476ec900bead0089010de7b4a7d380a1e18035eaa0d0f661c863aa53491e51f719c2a5985e4791bcc9dada4c421db39fe7 SHA512 13c79abed71ead564b108ec8a046e78374611acd906f4b6e775ac0427446117192be6b25f29894e625e2dc13f79abbc97bc52b32120ce5701cbe0f5ae05bc57b
+DIST apache-tomcat-8.5.61-src.tar.gz 5840559 BLAKE2B 18e1505b6b7d8e1a024d9f834d33ef105a16e6fc1f9e80abd3e6e88b2326597b9973e13c2ebc030a1db4a2d4dc5572d195b9f61db6cb7bf51e97cbfaa121678a SHA512 fd6bb5926b5e7cf44f359c93dadc4edd87fa5f2e26fb0fb3a9bc0a5c89ae4d844d66872055e1b441392cf03d7690aca3429b66afd8334319784f089f821d8c22
DIST apache-tomcat-9.0.40-src.tar.gz 6017562 BLAKE2B 1c90511911363bb3b154124382f6401851c3a0e7925e06cc8f2b4f02a7b4c1c59bc75007a8b387f06742cbeca7f840b6860d84dc7c6fdb1e7774b22dbca6082f SHA512 61b8e191315cee2bc0437013dbe7d1fb3451182e0b316fb377581c7d47a59cefb7f2ff30d96a2d6326a99c86f4151b26d1ef76bda5029b30d81c8297a0b362fb
+DIST apache-tomcat-9.0.41-src.tar.gz 6022059 BLAKE2B 6e97390aec956c16f271e57a2fa8805b6f49f593434f0dff8d82e14bc9abc199b00a7523dbb8da335a7ffa9dfee6790430c30f8b0ee90bcd133694c8da42197f SHA512 094e7cbd2519a4b812a2ca865f92802ece3385a20826c5e29b5f7cda8b9265d01ede6f598999f8aa2f1b04bcaca2e67e3f0132781b3f22007356df49ab6b1838
DIST biz.aQute.bnd-5.1.1.jar 16088761 BLAKE2B 59906cc39ea27ef20cbf82de1ba78096f34dc417da6dc5c28e21f6e92c0625efecf14cec6c5faf0ab17551c31a6c87a24614c2ac75ac902cfea30199ecc0d39f SHA512 8092b083e7b86e75bf27233964763b88bee74d8ae141c85e387c1cc8bd0cbf3a54be27afea29931fb3ae950700a515fd4a28cfe8e7f26cbaaec506aa06357a37
DIST biz.aQute.bndlib-5.1.1.jar 3652944 BLAKE2B dad9f9835fb407a36e0eae4b65fa2fda147e06ab3f3211a2ed2f1631aeccd6d14d198c325793cb1ce9a57b719a836db230d0452715744ba5a4a6c2983c17916b SHA512 d7da056ba541ae0862159bf5e38e1a5351b2ab5388c88733b46601c2d7dab8970f16af00df186a6cb67fbe81ef53f2c8402db9d28a8c6819dadf60a1df40879b
EBUILD tomcat-7.0.106.ebuild 4224 BLAKE2B 9ff5e9fa663926e0609ffc15804c5426e95d4eb6dacd1e4e9f27ca06dd167f22bccf44e8b2cfc323532490846f7ae04672494f000e5efcddbf21c1126ae17a67 SHA512 9160d59093bbe4fe7260ac0bb26f124f70574cc4564f52f02d2987f7d6ca46825fe973cdbc69f1493d6a5a9c62ba5059ccabf5bb618ccdfd162c631b1a347b3e
EBUILD tomcat-7.0.107.ebuild 4225 BLAKE2B 3f82018ea97e47df2439b4230ad19a2bd22163d0558acfafb26d8a1c006cc49cdd0074204b2ac8707f2fbc6a062a62ed8d016fcd0467d38ac51850059f23b818 SHA512 45587f442b61cf66e7fe35bf28a8d8053471e65d81fa982f555b132a58cf9157fb73e500c1049ec411c26dd22073c703d1cd6d0289456ce6d0ac1ba73fcbb160
EBUILD tomcat-8.5.59.ebuild 4813 BLAKE2B 42c6d453f0792a330e1e87c3ed7e7328b25774208d93dd376628582adce4258d09fa1f6fa10fbdf4ce912a158809bbdaf748bd339ad13bd08371ac6942e0b6ab SHA512 9946520457b189bc0cd06f02d6eccd09d8d9e6211424f24bfdad21442c9223b3bf6d505f6595f64572a5b8b6ef0d367bdfd6d998e0ae6c501f0c92837ddf8aed
-EBUILD tomcat-8.5.60.ebuild 4805 BLAKE2B 216c508e3f22ba203f43654eda6a567e78562d29d154172aab0e550c4426bf94e5f5bb56a664173a6a6bd626b899087b9d302a9fff5e73cc28bb52e93bc5a918 SHA512 d441136e62c130070a69b91f4aff6375857cf3ccae2f1697d37c70f31a912fbf977e892f84bbf7121f1bb5f1ca65f40f1c1af485242100d203151fc13b550eba
-EBUILD tomcat-9.0.38-r1.ebuild 5639 BLAKE2B bcdad460075d306e38a287587bd6b276433a0b733904c3ca2495c670f72bec84365aca5c991b18d1e90a0b2c049864dc6b57a5dcf3cf6988b33da6a1a8524659 SHA512 8ba94e57a5ea8356864cbcc54cd4381d7ebfc89db56434920b391b937697fdfd1857d54a82de9dddb946717ce9b96c95782064020b78ab92d042afc641960f53
+EBUILD tomcat-8.5.60.ebuild 4804 BLAKE2B d08021370f64aaa56711a3e74aa75fdba984a42d50c8cd83a4a3f20721f419d83ad9baad6f2798d034d4078ab4d34a6efafe835b2a9aa42e97546268dc05395a SHA512 3a63dc1a26f8add53950ed7ffd24b720605129bad73ba57ce9add5165a30cb27aa7acc1107bf3bb0bfa4c55ea50c1130fd7217304b27787eda7283dd193a3cd4
+EBUILD tomcat-8.5.61.ebuild 4805 BLAKE2B 216c508e3f22ba203f43654eda6a567e78562d29d154172aab0e550c4426bf94e5f5bb56a664173a6a6bd626b899087b9d302a9fff5e73cc28bb52e93bc5a918 SHA512 d441136e62c130070a69b91f4aff6375857cf3ccae2f1697d37c70f31a912fbf977e892f84bbf7121f1bb5f1ca65f40f1c1af485242100d203151fc13b550eba
EBUILD tomcat-9.0.40.ebuild 5684 BLAKE2B 3a405f0221f549637f77104a6bf32f1c8d4a52050fc8fb3801206e78218a6e373f2fda62e0f759093a86d10991949f319591238540d0314310ee63dae80596cb SHA512 86a1c7b19d7b905ba92e4d151e04aa66976d7d1719027c4fdcc3ab4007b746d0b7fd348f248a430cb70f2b4a5a96fdd6c2006f2382d73853f6315fc7dcd8b68a
+EBUILD tomcat-9.0.41.ebuild 5700 BLAKE2B 479a370db447265b240073fabf1cc631041d65ee089e8342e7a2d304bed7709cd0fbb7e5c19d582f11d1c3fe0d193346956083e79dd0fff687a254ed427e8e07 SHA512 026101900a77cbd0930e57b634d9e15231bc8736cac8c5b64c08dc4197a461df2243980f846a741431f087d976bfc4d3651166dfd6a1d002ecd9e3e1cd973a52
MISC metadata.xml 712 BLAKE2B 3e0a9b1bd07334015006678c0e1d933dc3d7b65291425754f7bcaec673f2316ba85b2e7df2c79a90f0d53dfbc443329cbea8ddfde7d4c93a1635b6140a3b18b6 SHA512 bc7c894d5f945a732078cc4d9a7fa9d0374ebb6aec449487f8968b22aed07bc5e20094448fda9be7516206121d0dfec8c6d6e48ee818786999703ea778a82109
diff --git a/www-servers/tomcat/tomcat-8.5.60.ebuild b/www-servers/tomcat/tomcat-8.5.60.ebuild
index 86d3e5d65919..ae1fd17bba26 100644
--- a/www-servers/tomcat/tomcat-8.5.60.ebuild
+++ b/www-servers/tomcat/tomcat-8.5.60.ebuild
@@ -15,7 +15,7 @@ SRC_URI="mirror://apache/${PN}/tomcat-8/v${PV}/src/${MY_P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="8.5"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
+KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
IUSE="extra-webapps"
RESTRICT="test" # can we run them on a production system?
diff --git a/www-servers/tomcat/tomcat-8.5.61.ebuild b/www-servers/tomcat/tomcat-8.5.61.ebuild
new file mode 100644
index 000000000000..86d3e5d65919
--- /dev/null
+++ b/www-servers/tomcat/tomcat-8.5.61.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+JAVA_PKG_IUSE="doc source test"
+
+inherit eutils java-pkg-2 java-ant-2 prefix user
+
+MY_P="apache-${P}-src"
+
+DESCRIPTION="Tomcat Servlet-3.1/JSP-2.3/EL-3.0/WebSocket-1.1/JASPIC-1.1 Container"
+HOMEPAGE="https://tomcat.apache.org/"
+SRC_URI="mirror://apache/${PN}/tomcat-8/v${PV}/src/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="8.5"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="extra-webapps"
+
+RESTRICT="test" # can we run them on a production system?
+
+ECJ_SLOT="4.5"
+SAPI_SLOT="3.1"
+
+COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT}
+ ~dev-java/tomcat-servlet-api-${PV}:${SAPI_SLOT}"
+RDEPEND="${COMMON_DEP}
+ virtual/jre"
+DEPEND="${COMMON_DEP}
+ app-admin/pwgen
+ dev-java/ant-core
+ virtual/jdk:1.8
+ doc? (
+ dev-java/glassfish-xmlrpc-api:0
+ dev-java/wsdl4j:0
+ )
+ test? (
+ >=dev-java/ant-junit-1.9:0
+ dev-java/easymock:3.2
+ )"
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup() {
+ java-pkg-2_pkg_setup
+ enewgroup tomcat 265
+ enewuser tomcat 265 -1 /dev/null tomcat
+}
+
+src_prepare() {
+ default
+
+ find -name '*.jar' -type f -delete -print || die
+
+ # Remove bundled servlet-api
+ rm -rv java/javax/{el,servlet} || die
+
+ eapply "${FILESDIR}/${PN}-8.5.57-build.xml.patch"
+
+ # For use of catalina.sh in netbeans
+ sed -i -e "/^# ----- Execute The Requested Command/ a\
+ CLASSPATH=\`java-config --with-dependencies --classpath ${PN}-${SLOT}\`" \
+ bin/catalina.sh || die
+
+ java-pkg-2_src_prepare
+}
+
+JAVA_ANT_REWRITE_CLASSPATH="true"
+
+EANT_BUILD_TARGET="deploy"
+EANT_GENTOO_CLASSPATH="eclipse-ecj-${ECJ_SLOT},tomcat-servlet-api-${SAPI_SLOT}"
+EANT_TEST_GENTOO_CLASSPATH="easymock-3.2"
+EANT_GENTOO_CLASSPATH_EXTRA="${S}/output/classes"
+EANT_NEEDS_TOOLS="true"
+EANT_EXTRA_ARGS="-Dversion=${PV}-gentoo -Dversion.number=${PV} -Dcompile.debug=false -Dexecute.validate=false"
+
+# revisions of the scripts
+IM_REV="-r2"
+INIT_REV="-r1"
+
+src_compile() {
+ EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjar --build-only ant-core ant.jar)"
+ use doc && EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjar --build-only glassfish-xmlrpc-api glassfish-xmlrpc-api.jar):$(java-pkg_getjar --build-only wsdl4j wsdl4j.jar)"
+ java-pkg-2_src_compile
+}
+
+src_test() {
+ java-pkg-2_src_test
+}
+
+src_install() {
+ local dest="/usr/share/${PN}-${SLOT}"
+
+ java-pkg_jarinto "${dest}"/bin
+ java-pkg_dojar output/build/bin/*.jar
+ exeinto "${dest}"/bin
+ doexe output/build/bin/*.sh
+
+ java-pkg_jarinto "${dest}"/lib
+ java-pkg_dojar output/build/lib/*.jar
+
+ dodoc RELEASE-NOTES RUNNING.txt
+ use doc && java-pkg_dojavadoc output/dist/webapps/docs/api
+ use source && java-pkg_dosrc java/*
+
+ ### Webapps ###
+
+ # add missing docBase
+ local apps="host-manager manager"
+ for app in ${apps}; do
+ sed -i -e "s|=\"true\" >|=\"true\" docBase=\"\$\{catalina.home\}/webapps/${app}\" >|" \
+ output/build/webapps/${app}/META-INF/context.xml || die
+ done
+
+ insinto "${dest}"/webapps
+ doins -r output/build/webapps/{host-manager,manager,ROOT}
+ use extra-webapps && doins -r output/build/webapps/{docs,examples}
+
+ ### Config ###
+
+ # create "logs" directory in $CATALINA_BASE
+ # and set correct perms, see #458890
+ dodir "${dest}"/logs
+ fperms 0750 "${dest}"/logs
+
+ # replace the default pw with a random one, see #92281
+ local randpw="$(pwgen -s -B 15 1)"
+ sed -i -e "s|SHUTDOWN|${randpw}|" output/build/conf/server.xml || die
+
+ # prepend gentoo.classpath to common.loader, see #453212
+ sed -i -e 's/^common\.loader=/\0${gentoo.classpath},/' output/build/conf/catalina.properties || die
+
+ insinto "${dest}"
+ doins -r output/build/conf
+
+ ### rc ###
+
+ cp "${FILESDIR}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} "${T}" || die
+ eprefixify "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash}
+ sed -i -e "s|@SLOT@|${SLOT}|g" "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} || die
+
+ insinto "${dest}"/gentoo
+ doins "${T}"/tomcat.conf
+ exeinto "${dest}"/gentoo
+ newexe "${T}"/tomcat${INIT_REV}.init tomcat.init
+ newexe "${T}"/tomcat-instance-manager${IM_REV}.bash tomcat-instance-manager.bash
+}
+
+pkg_postinst() {
+ elog "New ebuilds of Tomcat support running multiple instances. If you used prior version"
+ elog "of Tomcat (<7.0.32), you have to migrate your existing instance to work with new Tomcat."
+ elog "You can find more information at https://wiki.gentoo.org/wiki/Apache_Tomcat"
+
+ elog "To manage Tomcat instances, run:"
+ elog " ${EPREFIX}/usr/share/${PN}-${SLOT}/gentoo/tomcat-instance-manager.bash --help"
+
+ ewarn "tomcat-dbcp.jar is not built at this time. Please fetch jar"
+ ewarn "from upstream binary if you need it. Gentoo Bug # 144276"
+
+ einfo "Please read https://wiki.gentoo.org/wiki/Apache_Tomcat and"
+ einfo "https://wiki.gentoo.org/wiki/Project:Java/Tomcat_6_Guide for more information."
+}
diff --git a/www-servers/tomcat/tomcat-9.0.38-r1.ebuild b/www-servers/tomcat/tomcat-9.0.41.ebuild
index 96cdfe92f36c..7f7ed06bb02d 100644
--- a/www-servers/tomcat/tomcat-9.0.38-r1.ebuild
+++ b/www-servers/tomcat/tomcat-9.0.41.ebuild
@@ -15,7 +15,7 @@ BND_VERSION="5.1.1"
BND="biz.aQute.bnd-${BND_VERSION}.jar"
BNDLIB="biz.aQute.bndlib-${BND_VERSION}.jar"
-DESCRIPTION="Tomcat Servlet-4.0/JSP-2.4?/EL-3.1?/WebSocket-1.2?/JASPIC-1.1 Container"
+DESCRIPTION="Tomcat Servlet-4.0/JSP-2.3/EL-3.0/WebSocket-1.1/JASPIC-1.1 Container"
HOMEPAGE="https://tomcat.apache.org/"
SRC_URI="mirror://apache/${PN}/tomcat-9/v${PV}/src/${MY_P}.tar.gz
https://repo.maven.apache.org/maven2/biz/aQute/bnd/biz.aQute.bnd/${BND_VERSION}/${BND}
@@ -28,7 +28,7 @@ IUSE="extra-webapps"
RESTRICT="test" # can we run them on a production system?
-ECJ_SLOT="4.13"
+ECJ_SLOT="4.15"
SAPI_SLOT="4.0"
COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT}
@@ -48,6 +48,10 @@ DEPEND="${COMMON_DEP}
S=${WORKDIR}/${MY_P}
+PATCHES=(
+ "${FILESDIR}/${PN}-9.0.40-insufficient-ecj.patch"
+)
+
BND_HOME="${S}/tomcat-build-libs/bnd"
BNDLIB_HOME="${S}/tomcat-build-libs/bndlib"
BND_JAR="${BND_HOME}/${BND}"
@@ -75,7 +79,7 @@ src_prepare() {
# Remove bundled servlet-api
rm -rv java/javax/{el,servlet} || die
- eapply "${FILESDIR}/${PN}-9.0.37-build.xml.patch"
+ eapply "${FILESDIR}/${PN}-9.0.40-build.xml.patch"
# For use of catalina.sh in netbeans
sed -i -e "/^# ----- Execute The Requested Command/ a\
diff --git a/www-servers/tornado/Manifest b/www-servers/tornado/Manifest
index d26c6777f74a..a17fc5829832 100644
--- a/www-servers/tornado/Manifest
+++ b/www-servers/tornado/Manifest
@@ -1,5 +1,5 @@
DIST tornado-4.5.3.tar.gz 484221 BLAKE2B 7b3682fa85a7f6ad32351d40993516a3e397b7b0a5de9d807bcd8b2b21325a6170f3670cb13e12aa208b6590313cf165ddf40537dba1fee61fa9d71954265a66 SHA512 c17dd7a3b541c26950d27c8a399ae4fdff1d99d16ff0c5de9871fe2de4c0f797c96712b23b5ed5efdaee06bb251f7def114c83fe6f7f37f344cdac9996d14448
DIST tornado-6.0.4.tar.gz 496204 BLAKE2B 6c092214d03baf5cf7615b780043e2fa40a4ed623b7ca59a2528cc3625ba904b21ef93c528278adedaf83e3b6e5a6311d867833dfe9826637e97918dee6fa334 SHA512 d29d69cf40f8b34fb2c55d81b6ecd9bc7c6fdf644eb4ff35452829510c0d5ec185da0a6067fec3e8afb2bedf9f5f08b06adb0ad53dcab04cb791a75abc304d6e
EBUILD tornado-4.5.3.ebuild 1272 BLAKE2B 803fffb9d8b1568ad02836612c73aa1b9d4c8ab409aba395d6a7a44adb786f03145936328b650536c88564f66a5dbf337b587a30e03d092753fbc104d2dcab3c SHA512 089dacaeeb8fe14380d3afcf5a9ba91b580d9bd67559433f3143e5b73a7ad879367a199862e81494df279a38b4bb631718dbc8bf22dfbda65734bf8b5481c7e4
-EBUILD tornado-6.0.4.ebuild 1354 BLAKE2B d7227f380e6a6b3946ad1b46403a7c18238ef45f2fdfac29e9c79a0d89ee9c7cc03018d0c7e3601b1fa0d70b3b0e71507703b7307f890fe29a1b47566b404126 SHA512 300bf8de0940a46a63297446f8b05c08c5825d2d74a2cbdd6710bd3d17c6d519ab6d25c955fef4abf7c7bf931cdf8b095dc324e02e6a040238346a5ab7825bc0
+EBUILD tornado-6.0.4.ebuild 1353 BLAKE2B fac8f45f1f47d8a4272160d0a778f95a7fcc8b13f98e30c7d80d28a0f625899111b08bad73b0ec9794600363a78d94fdc0e4ec46d980deca1813a6a76973d747 SHA512 7b37ccf9adecfbfadc9beaacbd69e6cf2bc19137f6190fd7f3825c76897628431c8a6cb1ed7f9aab0003e42ab4c087437c07d288597e92ad3cdf618378677892
MISC metadata.xml 380 BLAKE2B 16a28ca707ba911df09dfad39b269bd888734c1f5e54fdc57d84f62b541e284f248137a01c13055f5e9fa1e1da0a2c9e1382006119cc11ec19302516262b7dc1 SHA512 e790429d61042b60a9011710e96df0044c64cc5ac941ab6268386138d3a66e46d40ed1098ec8bc164d9f4341040946ec7231e8f28dda11790ecc482b06978771
diff --git a/www-servers/tornado/tornado-6.0.4.ebuild b/www-servers/tornado/tornado-6.0.4.ebuild
index 2a7f9ddf4825..d76544db12ec 100644
--- a/www-servers/tornado/tornado-6.0.4.ebuild
+++ b/www-servers/tornado/tornado-6.0.4.ebuild
@@ -14,7 +14,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 s390 sparc x86 ~x64-macos"
IUSE="examples test"
RESTRICT="!test? ( test )"