summaryrefslogtreecommitdiff
path: root/www-servers
diff options
context:
space:
mode:
Diffstat (limited to 'www-servers')
-rw-r--r--www-servers/Manifest.gzbin5717 -> 5713 bytes
-rw-r--r--www-servers/apache/Manifest2
-rw-r--r--www-servers/apache/apache-2.4.38.ebuild257
-rw-r--r--www-servers/tomcat/Manifest11
-rw-r--r--www-servers/tomcat/files/tomcat-8.0.53-build.xml.patch270
-rw-r--r--www-servers/tomcat/files/tomcat-8.5.37-build.xml.patch247
-rw-r--r--www-servers/tomcat/files/tomcat-9.0.14-build.xml.patch265
-rw-r--r--www-servers/tomcat/tomcat-8.0.53.ebuild159
-rw-r--r--www-servers/tomcat/tomcat-8.5.37.ebuild159
-rw-r--r--www-servers/tomcat/tomcat-9.0.14.ebuild180
10 files changed, 1550 insertions, 0 deletions
diff --git a/www-servers/Manifest.gz b/www-servers/Manifest.gz
index 0cbba4c4a1f8..64b159f9af9f 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 cae0c9361896..6eb54667c291 100644
--- a/www-servers/apache/Manifest
+++ b/www-servers/apache/Manifest
@@ -13,9 +13,11 @@ DIST httpd-2.4.27.tar.bz2 6527394 BLAKE2B 50a650eb2edd121dac860ff555273290010d7e
DIST httpd-2.4.34.tar.bz2 6942969 BLAKE2B 02ecb9980f48bef7ac915077598560353e0682001bdaa99410b7faad459c4581f8d0878b4840e38e570b1872d549d58743260cb3030c145ae93bef97fc692cc4 SHA512 2bc09213f08a4722e305929fbac5f5060c7a8444704494894bb9b61f17e4d20bb6e3d663bb93fc5b2030b04a43fb12373d260cc291422b210b299725aaf3b5c8
DIST httpd-2.4.35.tar.bz2 7044336 BLAKE2B b0ec5de56bfdaf7c6cf7f6cd2fedbd8748c16a76bddbde8e3442d2102aa33bc2642cf1dacce7b5e38023ddfceee393cd0059b881cd25dc57c029900385a41f59 SHA512 f5d6a849850ebdf4e38b586c84cc1063d68ac4c6737895c9ac1c8796c22655681c55b4de77ed9f1f807338fdb9f7824faf911361aa31cc46f3c3a2cbabe20543
DIST httpd-2.4.37.tar.bz2 7031632 BLAKE2B 53eb04e91a909b65107c587348860fbe3aa48474fa8beae5bed875c62655704e3b63f77534b2961e24bf861c9502b7a52de71a1e6099f092476135b8a50cede8 SHA512 e802915801bbe885a65dada04b0116d145b293fabfff734dddb61a79ca1c6d65326f51155d1b864b093c3ec00d0bdfdf1401ab55677bae1ea3da1d199d7bcad4
+DIST httpd-2.4.38.tar.bz2 7035030 BLAKE2B 52d965b0eae3402c268f1c5f5fb669ad84408699871d0518ba254c6e7c00f2198cba8cb6106114a62f0f6de67e0a8b921b5783af9530d165ed4d435312ce5164 SHA512 8bdc36fa2bd13fd83feee17fdce4a5316ed8f96c1ac32b636ba106572ba257815438c72068d2d0e900783a3fa25c90a5da34c3f83fc2c04a1dbdbf234f7ad448
EBUILD apache-2.2.34.ebuild 2976 BLAKE2B 8816d1f547ba7e8de670ef0f45cde40748fc5d611e1060f0c76a8b35ce9771a493f89f2277afcd90ac36fc6f4f684be1e19913d2d3a2ecd78e63e9f4f0d97470 SHA512 32b49f813a80f28b50a2170878d3b204c51db243bbd117b60b8aff63627b42d2cb76e87282ad9053ac1513f0faf8489a60edc7dec0c8087f12650a74d3a533b7
EBUILD apache-2.4.27-r1.ebuild 7737 BLAKE2B 6e459c6d091a5d91d1179cde68fa1b34bb4faf04d3c66b8b0a759311e6b03102485fc4758a65437c5c9bd12f63e3afdd50730c196f3e5785c3c6aa25fb2cf2c5 SHA512 bd2df8d64f22fd28af9e2225492de2d3dc2d8172220f14f495841fec587aeb39c02d4d7021d4f96430f9821922baa84a78a7b8470f56d5c5305bd124d763afd2
EBUILD apache-2.4.34-r2.ebuild 8245 BLAKE2B ea58474549b4c05319ae4d4eab60d0035415b6698c201aad0255c28cf0b0cd636f1666d4d90b8fc55a1fa53a9da2bd36c49afae7818715101c693cc8837c4abb SHA512 f3ed8140685860c7c8e44baa1198a38dd44de8015e7c994490c37bd9289386a446aed2dd448d75a9159124bf06eb2441dbab59e9c617d70d81f8d4b6c106eaf1
EBUILD apache-2.4.35.ebuild 8129 BLAKE2B eb9b06e7215fb91e532b38860d320a979edf317c9b7c323a3d6c877ccea85d71fcfbb256532adcf2bf86bb2380057654474e010fdbe3115fdaf6dcac7db5843b SHA512 e271262915260838e85dfeeffb18acac0249421db9d910a429539289e72915b66043128e50ab89b1228cc460010c7c49cb49fd41e1863f633094c4dea3287b1d
EBUILD apache-2.4.37-r1.ebuild 8141 BLAKE2B 17ab67c5476ca5063492b1a8ff2d16827f12fca175ccec1af6f46cb189926906c7afe26979aeb05b2dac82fc60826f5b34b2b6cea84fe66e9167ce083b8c6d40 SHA512 8f423aafe98bb3724cb975d381ad1d1298fc585e6a78154ecfc9bba22241ff846bbd577bc11c8b38d5a3a19ea089ffa784f1697ac26400cd15b2822dd2a624c0
+EBUILD apache-2.4.38.ebuild 8141 BLAKE2B f2e691aa5a1f773c7f20f4975da822a2e5e0dd13fc8a3cfbd468f0f5f7d0e449bce7442924bf394f34ceed6314007061a5a3bdf9c916453c524d1fdd74aa3005 SHA512 7fa2e76540356d40510f8a029856e107fcd7518ca21f69d3a098920e7226cb488d2412b6395ceab0d71757b0d3c3c6c9e3a11db036c8c8f247efdf405d875a5f
MISC metadata.xml 4052 BLAKE2B dba078e60afae4caf7f47f309f4fb6e65a10ee844b1ef8841e64bc5fb0ec34b0d9ee200473ca751e41498ba34a91f9eed2e84f3c86e6063b1c276adbdaba140a SHA512 0db051271c4b2b6487e3e28f0f994ff0c9167d9ced09042838a049d4a63df3787595213aa1c86108fd8c4f27ef961e1c04b375356b91e9d30231317c56ec7d78
diff --git a/www-servers/apache/apache-2.4.38.ebuild b/www-servers/apache/apache-2.4.38.ebuild
new file mode 100644
index 000000000000..d423352ebf6f
--- /dev/null
+++ b/www-servers/apache/apache-2.4.38.ebuild
@@ -0,0 +1,257 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# latest gentoo apache files
+GENTOO_PATCHSTAMP="20180716"
+GENTOO_DEVELOPER="polynomial-c"
+GENTOO_PATCHNAME="gentoo-apache-2.4.34"
+
+# 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
+authn_alias authn_anon authn_core authn_dbd authn_dbm authn_file 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 setenvif
+slotmem_shm speling 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="
+ 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_scgi:proxy
+ proxy_fcgi:proxy
+ proxy_wstunnel:proxy
+ 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
+ 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 ~sh ~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"
+
+CDEPEND="apache2_modules_brotli? ( >=app-arch/brotli-0.6.0:= )
+ apache2_modules_http2? ( >=net-libs/nghttp2-1.2.1 )
+ apache2_modules_md? ( >=dev-libs/jansson-2.10 )"
+
+DEPEND+="${CDEPEND}
+ suexec? ( suexec-caps? ( sys-libs/libcap ) )"
+RDEPEND+="${CDEPEND}"
+
+REQUIRED_USE="apache2_modules_http2? ( ssl )
+ apache2_modules_md? ( ssl )"
+
+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
+ 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"
+ systemd_dotmpfilesd "${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/tomcat/Manifest b/www-servers/tomcat/Manifest
index a8355091bf4d..85e701d0b8d5 100644
--- a/www-servers/tomcat/Manifest
+++ b/www-servers/tomcat/Manifest
@@ -1,6 +1,9 @@
AUX tomcat-7.0.84-build.xml.patch 5771 BLAKE2B fc7ceb5503836f2d2e52611b1fef76390d62668ac030cfc51b51ab20278d80fb4c3561e6ff4eb0fa5f7461b72f73930a69af6c616bc10b6dd6a3c4033d6ad618 SHA512 3583167e6e7b307ab282982779ef58e1f401e0ada8ddf0fc1ac9669147a22d6472ab9ec09aa293f2846be2f406dda63df5fc0351eac67c86742606140293a0c3
AUX tomcat-8.0.49-build.xml.patch 10779 BLAKE2B db42886b59bd50f8ba4011ce34ce4ab8b44af0cef09bc66704b774914d1421121e4041ee1abc2fef5a907ea72f960f31a87502d40855817110b52cf5c5ad92c7 SHA512 ee8d9e689a4744c93554968c97b717c9102dfa94c6e1740ca44575f7226946e6209199b2845575faec7bf1d1d6b9bad62110bc4551a1ac0d84c564599e3a49e0
+AUX tomcat-8.0.53-build.xml.patch 10949 BLAKE2B 2693f3e74a69967ceeb5f4ee41756b840da5bc2ab3c64cb855d52bd099bad8d6115f1d01903bacdcb634c24b9085dbb2ef34027f71325f887f20826721b268aa SHA512 20373a340dcb17595e7ff52608e8d3d3b1eddd5f0104b588c5f91b21eb4510047df61a0dfd9ed8674fb7b0b709945d5014d6e1cad4027414ff9e72c2b5d56cfc
AUX tomcat-8.5.27-build.xml.patch 10399 BLAKE2B 66df2c023b89d23bad249bf00695b0863b10b2c72b67fe7344104cc2c5f2187656298faa9abca55f3604043cecbdad57c3d7f379f2e23836fd4828dbc5c90051 SHA512 f09527b693d86fae244f3d54ce2f894e9a6e70a80345995e1521847298417ab0737c481ea59bdb243529edf2d717bb8b0d94af5443c4b0827589cb0c8395474a
+AUX tomcat-8.5.37-build.xml.patch 9814 BLAKE2B 8f25989b1fa957337686beacc12d9b1fa5427fc26582645c0b9fd7a45fba11100fbd10516ed9bdd510afc25a180986076db00f8b026e9ed8ca00b285404889c9 SHA512 ac1328a6fb755c87cd8804b5538aaec7b09a966e427c0a9c3db408947135087ce5e1e81c9e18243d7b34f1751002afbe538424b975a6772a1d5c7443dab73f8f
+AUX tomcat-9.0.14-build.xml.patch 10582 BLAKE2B 01609bf6867784f789ae41cb06acdd9496b0fc62dd65d72420cd01f1d73070ef10d74e038629cb4c983e313a958f810cd8f5f02bb5c464924f8a6b73be084dca SHA512 8bb3d5b58c9c49386a15f3bcb1e13656adfeed0e1d4c3bf76589577cae7fcdd6f107cf02126e69b5864f6077ad2660fb7fc811ea52b5ac89de822e535a36826b
AUX tomcat-9.0.4-build.xml.patch 10399 BLAKE2B 3ec7f4d315b51056884b44abbd03093e2bf3675acfb572c556a62a8a32de3209dae82ee3f3b1c65178b2a62b42f5d4c3fba2e765aa27aa7147a9d8478d09f0f0 SHA512 60729e4f085951aa1133b0d6fdc6386bac9fd4bcd421814eb87c8a45a62819fab1ea2347dfffd12150e93c54fda2ba98bf1df4bc39a622de5ac9ea0c2e81a710
AUX tomcat-instance-manager-r1.bash 6451 BLAKE2B 3bcd9dd4d3360a91f4a548c050eab6f7174453cfbe7b4a1a7167e122efa3ec2ea6c17c88de1f9223e21e773cf717ed04d79fe0b1e7fc816400033094a07a35c6 SHA512 3c8f994519d1ca5ff24229798786ad3d75dd20dbf8b3b81f6c0ccd121b978d2cb12633270f463a39ed5c4097e5869b1a4bfbf867994a64c5e41916e378038570
AUX tomcat-instance-manager-r2.bash 6999 BLAKE2B f1c771678bd8b894ecf242d5a8fb22f5b2f0f33445a1ff158c242b5154edc4483a5707ce33a5dcee53a3106e631ad8218243d8b72a32a10cd99e9646fa54085d SHA512 c30c156cbf2b53cf8498288bacaedd48872dce52f461ff32071310b438bdb5015c1cd1d512a2905c4db01e2b22342590e1b8aeadbd44f29062606fabbb2f2fed
@@ -9,11 +12,19 @@ AUX tomcat.conf 1811 BLAKE2B a92606e113172c6f0f73e18ab8ad8796f38bd8c741bb2fd1f6c
DIST apache-tomcat-7.0.90-src.tar.gz 4752747 BLAKE2B 5062ead2756aa8461de5e8387f14838661c082b6e397934fc92c91403f1950d84d79f05b9d4420a973d1b4921515b66c2c847550e1a06d75e722b62d9aa3f8bd SHA512 b32cb6902866ef72337c721d99d77f1a645311bb7694f51b82f7acec500c6197df15fb41be444fc6089652e8c825fb193f1a9de8c1b9b6fabd9d95f784565f6a
DIST apache-tomcat-7.0.92-src.tar.gz 4778943 BLAKE2B d11b01219a25c303ce791d965908c79cd48b5c97e1f0bed81ae60e0fcae3c4b23906f652eaf1d2922db7a57e68ee9f5a09ef017b7f1b89ed6c2ab81a477a810e SHA512 8cbcaf6d8dcda5ad8bd667582a39e91c1feaa4cc7216cafc23b9f5cf005cce9af24473c1c9d573f4da26c88ea68520a113dc0a7e2a50823f3ba3bb1510ec9e0a
DIST apache-tomcat-8.0.52-src.tar.gz 5039683 BLAKE2B 36318d0ae50fbca3f2a97e0210d0a8da8314f1ef79d0b047971bca30a5b0cc937faf013b5090f6e6b8aec4127b6185dc54ae589f5b57143b62c71c09f8bd5e9d SHA512 6d846213db0b15f9add8d80f30f304afdaf879ab6d7f85d212183a93f4f360ebfeeb079813bdea83cbd13f507504473028bbf8279e89b800b6f150b83086fa56
+DIST apache-tomcat-8.0.53-src.tar.gz 5057041 BLAKE2B 3a50d2f61baecb5244909972384e36478c69e7592dd35119d8b7b974273c57a4855082f309146ed160144dbdcced3236fd586b047970bd8558bbe7b7e002e9fd SHA512 0b56bc723277b2888896ab34ec3e49cb56bac94ddf1a9b96bd023982e2ffabd5317f63b3c0971afdc8cd7a6364197409df461d22151dbaab3a2be7daf6858b9e
DIST apache-tomcat-8.5.31-src.tar.gz 5154531 BLAKE2B cce0388e5c8c5fb5fcb3dba3b5961dc21d9f19d9a2f6177660a41410bddf241f73dda1e52c3875e28cfa13041c85a458a92c9a23c509b645f042cfa472081fde SHA512 659137ef4809af329ae4dd6f5825a603c1408ef3e48153abe7480a722e7f4bebef68a64af9cbef4a4ad9a7e8da76494f825035bbadbb983a097525f476f32f33
+DIST apache-tomcat-8.5.37-src.tar.gz 5233414 BLAKE2B 1848180c3e0a3f4559e5c232bea8bad6d05f09d9c4f2f9f903178012b7b8837d395a5ac73c8ac0504fbd3d1df3c2dc785022e1c97da4441cfdcf8b790170ff7c SHA512 29ddbf7bfef19441a8a043020b5f1149d12590dac8120012a2167b6892e3db7c644990e49ba14cc4b4c7339faed65f010a7b24d660db0fb8adde34f032099cec
+DIST apache-tomcat-9.0.14-src.tar.gz 5472704 BLAKE2B ee533afd733dacbe4a20baadb4c5dc9fa7620d695c1c57b1662894945731f978508b45ef0d8169068c13ba862804868f12d3e494873643589b9f57bc9ec0a342 SHA512 46119f6ae9003b7a178dd5158c1eae3b5116461e73c5d78cd763bff82b80f282ff08cee5175cf850d3f209af900677e93bab31c556035a6eaf6aae86a5d42fc6
DIST apache-tomcat-9.0.7-src.tar.gz 5106551 BLAKE2B b4552146a40c2e7cbb2e454fb5ec9169425db5c08cf269c391ec3144425ad388a2b6f003a7c05f59a9fd724fb5c848102890a24fcfd43d5fea3d881141aa7798 SHA512 cb7dc5547671d94f7c7fb0b58eeb94d05128349cdabf576fc8ad837a4bf3ea655a8eab3342245dfa84a9db23f1cbee2918846eedd48e3ca372eecebfef13c5b2
+DIST biz.aQute.bnd-4.1.0.jar 9263260 BLAKE2B e251a9d8b653f3e815e6c2f7774d64f1d594f3ce4b2f77956c806698df4d873310067cece68663324b11fcef8d90796b087abb289dbe2a13164a9038da4a6260 SHA512 f5d230358840f4909e35de40343fb7ee50a2d4d4691691f5ea896cfe212a086ad4859e0ee6ed4c315211223663b2fb2c07af7ea88786cedbcd4f891e5a4589ef
+DIST biz.aQute.bndlib-4.1.0.jar 2897463 BLAKE2B c29a55e07cc103919dca1e938722bf94b107e2989a4a8ae887998152a93b641a659a5209129b992432bcb2673dd4b56ec9a929627530a631db10666f2177c0e4 SHA512 2acccbb323f3d740506e89a74c5affab85e628f9062ee0d799ccd09efe0b55436d8887a46d7d94ad636a2c793632635974f1bbb045e4789391937222c8d00d30
EBUILD tomcat-7.0.90.ebuild 4230 BLAKE2B 4a16e1282fff97b370a2b1b676fcaba190c3dd75ae6e0355cdebc32f97a43e244c135a8445862f5c8105af101563fcc4aced9a5a582ad3ed096870e7496c4ca1 SHA512 ae58f357dddbd7aa960c85c7f903cb8ba45d845ba93b836ad273c16a16672f34cce1bedf90d6e71b589c4bc112853184f2fc7a3ad20bfd79bbd6d291b6fe0892
EBUILD tomcat-7.0.92.ebuild 4231 BLAKE2B b1bed407c15f9562cb15a7360ae8091ce6c2143a5597c9f0e0a0cfea3f382661f916b9cdf66a94a6317629d54d0351667ad6694abc5d772fda0eb17c7a4b70e8 SHA512 c40e6edb3b38c116e3f367a4d744d8c785d49fa59e955aad1ebfd9faed50dc7c0aad1729f3ff05c5b6cea7bb8315be161bfae30b585bcc46491b49fc5d413170
EBUILD tomcat-8.0.52.ebuild 4534 BLAKE2B 9e95dce86cc60aa245a600df6a41877c3b888e1cc9880d3ae5d97a0576d9aa7e06048a76dd3c2e530fae9742abe51409d67761e800ead9b90595d43fdd065204 SHA512 428fde20ccbaa8c952b91a9abeb59d0a8231f8e36786b6c86b9e59f3456105cff7d5b97638a17b13b245205a490f6e4ef309479c30f402ea0726aca72b7c702d
+EBUILD tomcat-8.0.53.ebuild 4555 BLAKE2B 1a52754f78df512d9b10832e9cdb2389cb3ea9378b3a4f396aa5bac59379ae9c5b9dbe334651b25ba1c6a58a1ce2433765c1c41e0ff6ca591063d6af1c9e8de5 SHA512 66f579105730ffdda3972357ddacd5e87e8c1dd785ab6354afb26cdd18e74efdf61d2098881d5c7db80468535e55f677b3dfdaab10fdb8ab2a657751a27ca3ee
EBUILD tomcat-8.5.31.ebuild 4582 BLAKE2B cd618ff01d287ed89a2ccd62b571d328a81d23d499281eb77b6f8e98cb6e0e4c3f15b2ae54d8753c926aa1849d1baf623df28010876054292576d74870419236 SHA512 9b866fed52bb166cff00303a8ad965e0c62c465e19c51815976a4516a9f8d1d790427cc7c7d26a6f88b832e7cf2704a4b799dc81d5e31efe35309b4fbec4baba
+EBUILD tomcat-8.5.37.ebuild 4603 BLAKE2B ebef90f1f6cbf209a87aef11bb43042465dbbd4d2275150f3ac7425b27b3929d1804690d3c3fae7a18aa0e25c44ea53168b1201eb8cb857a9285d61bbd1af321 SHA512 15a61c6f1e16d43f60998e5f1a668d46fc5187f920b720033cad4b1d0c0521e647cbaede2245de1542b7e487273a7b8ffdd9319d126b4f6d5a879ecd40ac0468
+EBUILD tomcat-9.0.14.ebuild 5433 BLAKE2B b347fa0d21bd81df62c6cda9d16d7669a83c404216b0919d13907058c0a1fe3510f46b857aac01a70cd0e08276ae3c1e9bbe89098c2f0a8c04712c5e97553660 SHA512 5014cd47e3355184552bf3fd98215506dd36cf8919efd8cc1cc624d8243f2bc7800490c13f7625966b46fe63bd7bc47cbbcc89e150d5907771a3838bd5326cf7
EBUILD tomcat-9.0.7.ebuild 4564 BLAKE2B bb3e1e254fc8eada11610515139c5edf3e4c310dca7990a3d1595862848dbd4157eb7380362a893ae2a904cadfc1f1e6e5c576f89a2c1b5fb48c047e9bb70328 SHA512 cc933b2ddccd45542d8be98cb18b2288ef7eb1db9f587405cc0d04591b0de9334394b4962b0c1deecbd3e8cb0429b2cacabb5de607203030aaf6fcc4134fe9c4
MISC metadata.xml 712 BLAKE2B 3e0a9b1bd07334015006678c0e1d933dc3d7b65291425754f7bcaec673f2316ba85b2e7df2c79a90f0d53dfbc443329cbea8ddfde7d4c93a1635b6140a3b18b6 SHA512 bc7c894d5f945a732078cc4d9a7fa9d0374ebb6aec449487f8968b22aed07bc5e20094448fda9be7516206121d0dfec8c6d6e48ee818786999703ea778a82109
diff --git a/www-servers/tomcat/files/tomcat-8.0.53-build.xml.patch b/www-servers/tomcat/files/tomcat-8.0.53-build.xml.patch
new file mode 100644
index 000000000000..eb12467b66f6
--- /dev/null
+++ b/www-servers/tomcat/files/tomcat-8.0.53-build.xml.patch
@@ -0,0 +1,270 @@
+diff --git a/build.xml b/build.xml
+index 5ee1d86..ade4446 100644
+--- a/build.xml
++++ b/build.xml
+@@ -723,24 +723,29 @@
+ manifest="${tomcat.manifests}/annotations-api.jar.manifest" />
+
+ <!-- Servlet 3.1 Implementation JAR File -->
++<!--
+ <jarIt jarfile="${servlet-api.jar}"
+ filesDir="${tomcat.classes}"
+ filesId="files.servlet-api"
+ manifest="${tomcat.manifests}/servlet-api.jar.manifest"
+ notice="${tomcat.manifests}/servlet-api.jar.notice"
+ license="${tomcat.manifests}/servlet-api.jar.license" />
+-
++-->
+ <!-- JSP 2.3 Implementation JAR File -->
++<!--
+ <jarIt jarfile="${jsp-api.jar}"
+ filesDir="${tomcat.classes}"
+ filesId="files.jsp-api"
+ manifest="${tomcat.manifests}/jsp-api.jar.manifest" />
++-->
+
+ <!-- EL 3.0 Implementation JAR File -->
++<!--
+ <jarIt jarfile="${el-api.jar}"
+ filesDir="${tomcat.classes}"
+ filesId="files.el-api"
+ manifest="${tomcat.manifests}/el-api.jar.manifest" />
++-->
+
+ <!-- WebSocket 1.1 API JAR File -->
+ <jarIt jarfile="${websocket-api.jar}"
+@@ -1010,9 +1015,9 @@
+
+ <target name="deploy" depends="package,build-docs,build-tomcat-jdbc,compile-webapp-examples"
+ description="Default. Builds a working Tomcat instance">
+-
++<!--
+ <copy tofile="${tomcat.build}/bin/commons-daemon.jar" file="${commons-daemon.jar}" />
+-
++-->
+ <!-- Copy scripts -->
+ <copy todir="${tomcat.build}/bin">
+ <fileset dir="bin">
+@@ -1072,7 +1077,7 @@
+ <exclude name="${jdt.jar.filename}"/>
+ </fileset>
+ </delete>
+- <copy file="${jdt.jar}" todir="${tomcat.build}/lib"/>
++<!-- <copy file="${jdt.jar}" todir="${tomcat.build}/lib"/> -->
+
+ <!-- Add sources for examples -->
+ <antcall target="examples-sources" />
+@@ -1108,7 +1113,7 @@
+ </javac>
+ </target>
+
+- <target name="build-tomcat-jdbc" depends="package">
++ <target name="build-tomcat-jdbc" depends="package" unless="noget">
+ <!-- build the jdbc-pool jar and source jar-->
+ <echo message="Building Tomcat JDBC pool libraries"/>
+ <ant antfile="${tomcat.jdbc.dir}/build.xml" dir="${tomcat.jdbc.dir}"
+@@ -1123,7 +1128,7 @@
+ <copy file="${tomcat-jdbc.jar}" todir="${tomcat.build}/lib"/>
+ </target>
+
+- <target name="build-tomcat-jdbc-src">
++ <target name="build-tomcat-jdbc-src" unless="noget">
+ <!-- build the jdbc-pool source jar-->
+ <echo message="Building Tomcat JDBC pool src JAR"/>
+ <ant antfile="${tomcat.jdbc.dir}/build.xml" dir="${tomcat.jdbc.dir}"
+@@ -1227,9 +1232,11 @@
+
+ <copy file="${basedir}/LICENSE" todir="${tomcat.embed}" />
+ <copy file="${basedir}/NOTICE" todir="${tomcat.embed}" />
++<!--
+ <copy file="${tomcat-dbcp.jar}" todir="${tomcat.embed}"
+ failonerror="false"/>
+ <copy file="${jdt.jar}" todir="${tomcat.embed}" />
++-->
+ <copy file="${annotations-api.jar}" todir="${tomcat.embed}" />
+
+ <!-- Note the meta-inf below will work as long as there is only one JAR
+@@ -1621,7 +1628,7 @@
+
+ <target name="extras-commons-logging-prepare"
+ depends="extras-prepare"
+- description="Prepare to build web services extras package">
++ description="Prepare to build web services extras package" unless="noget">
+
+ <antcall target="downloadfile-2">
+ <param name="sourcefile.1" value="${commons-logging-src.loc.1}"/>
+@@ -1775,7 +1782,7 @@
+
+ <target name="extras-webservices-prepare"
+ depends="extras-prepare"
+- description="Prepare to build web services extras package">
++ description="Prepare to build web services extras package" unless="noget">
+
+ <antcall target="downloadfile">
+ <param name="sourcefile" value="${jaxrpc-lib.loc}"/>
+@@ -1970,11 +1977,12 @@
+ </copy>
+
+ <!-- Source bundles for native components -->
++<!--
+ <copy tofile="${tomcat.dist}/bin/tomcat-native.tar.gz"
+ file="${tomcat-native.tar.gz}" />
+ <copy tofile="${tomcat.dist}/bin/commons-daemon-native.tar.gz"
+ file="${commons-daemon.native.src.tgz}" />
+-
++-->
+ <!-- platform README files -->
+ <echo append="false" file="${tomcat.dist}/bin/x64/README">
+ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+@@ -1984,6 +1992,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+
+ <target name="javadoc" depends="dist-source,extras-webservices-prepare"
+ description="Create the Tomcat javadoc" >
++<!--
+ <javadoc packagenames="javax.servlet.*"
+ excludepackagenames="javax.servlet.jsp.*"
+ sourcepath="${tomcat.dist}/src/java"
+@@ -2045,6 +2054,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+ <path location="${ant.core.lib}"/>
+ </classpath>
+ </javadoc>
++-->
+ <javadoc packagenames="javax.websocket.*"
+ sourcepath="${tomcat.dist}/src/java"
+ destdir="${tomcat.dist}/webapps/docs/websocketapi"
+@@ -2083,9 +2093,11 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+ <path refid="tomcat.webservices.classpath"/>
+ <path location="${ant.core.lib}"/>
+ </classpath>
++<!--
+ <link href="../servletapi"/>
+ <link href="../jspapi"/>
+ <link href="../elapi"/>
++-->
+ <link href="../websocketapi"/>
+ <link href="http://docs.oracle.com/javase/7/docs/api/"/>
+ <link href="https://commons.apache.org/proper/commons-io/javadocs/api-release/"/>
+@@ -2821,7 +2833,7 @@ skip.installer property in build.properties" />
+ </target>
+
+ <target name="download-compile"
+- description="Download (and build) components necessary to compile" >
++ description="Download (and build) components necessary to compile" unless="noget">
+
+ <!-- Download Commons Daemon -->
+ <antcall target="downloadgz-2">
+@@ -2847,7 +2859,7 @@ skip.installer property in build.properties" />
+ </target>
+
+ <target name="download-test-compile"
+- description="Download additional components for the tests" >
++ description="Download additional components for the tests" unless="noget">
+
+ <antcall target="downloadfile">
+ <param name="sourcefile" value="${junit.loc}"/>
+@@ -2925,7 +2937,7 @@ skip.installer property in build.properties" />
+ </target>
+
+ <target name="download-dist"
+- description="Download additional components for a distribution" >
++ description="Download additional components for a distribution" unless="noget">
+
+ <antcall target="downloadfile-2">
+ <param name="sourcefile.1" value="${tomcat-native.loc.1}"/>
+@@ -2980,13 +2992,13 @@ skip.installer property in build.properties" />
+
+ <!-- =============== Utility Targets to support downloads ================ -->
+
+- <target name="setproxy" if="${proxy.use}">
++ <target name="setproxy" if="${proxy.use}" unless="noger">
+ <setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}"
+ proxyuser="${proxy.user}" proxypassword="${proxy.password}" />
+ <echo message="Using ${proxy.host}:${proxy.port} to download ${sourcefile}"/>
+ </target>
+
+- <target name="testexist">
++ <target name="testexist" unless="noget">
+ <echo message="Testing for ${destfile}"/>
+ <available file="${destfile}" property="exist"/>
+ </target>
+@@ -3108,7 +3120,7 @@ skip.installer property in build.properties" />
+ </sequential>
+ </macrodef>
+
+- <target name="downloadgz" unless="exist" depends="testexist,setproxy">
++ <target name="downloadgz" unless="noget" depends="testexist,setproxy">
+ <!-- Download and extract the package -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3125,7 +3137,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}.tar.gz"/>
+ </target>
+
+- <target name="downloadgz-2" unless="exist" depends="testexist">
++ <target name="downloadgz-2" unless="noget" depends="testexist">
+ <!-- Download and extract the package from the two alternative locations -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3150,7 +3162,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}.tar.gz"/>
+ </target>
+
+- <target name="downloadzip" unless="exist" depends="testexist,setproxy">
++ <target name="downloadzip" unless="noget" depends="testexist,setproxy">
+ <!-- Download and extract the package -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3166,7 +3178,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}"/>
+ </target>
+
+- <target name="downloadzip-2" unless="exist" depends="testexist">
++ <target name="downloadzip-2" unless="noget" depends="testexist">
+ <!-- Download and extract the package from the two alternative locations -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3190,7 +3202,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}"/>
+ </target>
+
+- <target name="downloadfile" unless="exist" depends="testexist,setproxy">
++ <target name="downloadfile" unless="noget" depends="testexist,setproxy">
+ <!-- Download the file -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3205,7 +3217,7 @@ skip.installer property in build.properties" />
+ <move file="${temp.file}" tofile="${destfile}"/>
+ </target>
+
+- <target name="downloadfile-2" unless="exist" depends="testexist">
++ <target name="downloadfile-2" unless="noget" depends="testexist">
+ <!-- Download the file from the two alternative locations -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3233,7 +3245,7 @@ skip.installer property in build.properties" />
+ <move file="${temp.file}" tofile="${destfile}"/>
+ </target>
+
+- <target name="trydownload.check" depends="setproxy">
++ <target name="trydownload.check" depends="setproxy" unless="noget">
+ <condition property="trydownload.run">
+ <and>
+ <not>
+@@ -3244,7 +3256,7 @@ skip.installer property in build.properties" />
+ </condition>
+ </target>
+
+- <target name="trydownload" if="trydownload.run" depends="trydownload.check">
++ <target name="trydownload" if="trydownload.run" depends="trydownload.check" unless="noget">
+ <!-- Downloads a file if not yet downloaded and the source URL is available -->
+ <get src="${sourcefile}" httpusecaches="${trydownload.httpusecaches}" dest="${destfile}" />
+ </target>
+@@ -3255,7 +3267,7 @@ skip.installer property in build.properties" />
+
+ <target name="ide-eclipse"
+ depends="download-compile, extras-webservices-prepare, download-test-compile"
+- description="Prepares the source tree to be built in Eclipse">
++ description="Prepares the source tree to be built in Eclipse" unless="noget">
+
+ <!-- Copy the sample project files into the root directory -->
+ <copy file="${tomcat.home}/res/ide-support/eclipse/eclipse.project" tofile="${tomcat.home}/.project"/>
diff --git a/www-servers/tomcat/files/tomcat-8.5.37-build.xml.patch b/www-servers/tomcat/files/tomcat-8.5.37-build.xml.patch
new file mode 100644
index 000000000000..4c2d8da9e919
--- /dev/null
+++ b/www-servers/tomcat/files/tomcat-8.5.37-build.xml.patch
@@ -0,0 +1,247 @@
+diff --git a/build.xml b/build.xml
+index 6fbb321..4fb4b42 100644
+--- a/build.xml
++++ b/build.xml
+@@ -722,24 +722,29 @@
+ manifest="${tomcat.manifests}/annotations-api.jar.manifest" />
+
+ <!-- Servlet 3.1 Implementation JAR File -->
++<!--
+ <jarIt jarfile="${servlet-api.jar}"
+ filesDir="${tomcat.classes}"
+ filesId="files.servlet-api"
+ manifest="${tomcat.manifests}/servlet-api.jar.manifest"
+ notice="${tomcat.manifests}/servlet-api.jar.notice"
+ license="${tomcat.manifests}/servlet-api.jar.license" />
+-
++-->
+ <!-- JSP 2.3 Implementation JAR File -->
++<!--
+ <jarIt jarfile="${jsp-api.jar}"
+ filesDir="${tomcat.classes}"
+ filesId="files.jsp-api"
+ manifest="${tomcat.manifests}/jsp-api.jar.manifest" />
++-->
+
+ <!-- EL 3.0 Implementation JAR File -->
++<!--
+ <jarIt jarfile="${el-api.jar}"
+ filesDir="${tomcat.classes}"
+ filesId="files.el-api"
+ manifest="${tomcat.manifests}/el-api.jar.manifest" />
++-->
+
+ <!-- WebSocket 1.1 API JAR File -->
+ <jarIt jarfile="${websocket-api.jar}"
+@@ -1025,9 +1030,9 @@
+
+ <target name="deploy" depends="package,build-docs,build-tomcat-jdbc,compile-webapp-examples"
+ description="Default. Builds a working Tomcat instance">
+-
++<!--
+ <copy tofile="${tomcat.build}/bin/commons-daemon.jar" file="${commons-daemon.jar}" />
+-
++-->
+ <!-- Copy scripts -->
+ <copy todir="${tomcat.build}/bin">
+ <fileset dir="bin">
+@@ -1087,7 +1092,7 @@
+ <exclude name="${jdt.jar.filename}"/>
+ </fileset>
+ </delete>
+- <copy file="${jdt.jar}" todir="${tomcat.build}/lib"/>
++<!-- <copy file="${jdt.jar}" todir="${tomcat.build}/lib"/> -->
+
+ <!-- Add sources for examples -->
+ <antcall target="examples-sources" />
+@@ -1123,7 +1128,7 @@
+ </javac>
+ </target>
+
+- <target name="build-tomcat-jdbc" depends="package">
++ <target name="build-tomcat-jdbc" depends="package" unless="noget">
+ <!-- build the jdbc-pool jar and source jar-->
+ <echo message="Building Tomcat JDBC pool libraries"/>
+ <ant antfile="${tomcat.jdbc.dir}/build.xml" dir="${tomcat.jdbc.dir}"
+@@ -1138,7 +1143,7 @@
+ <copy file="${tomcat-jdbc.jar}" todir="${tomcat.build}/lib"/>
+ </target>
+
+- <target name="build-tomcat-jdbc-src">
++ <target name="build-tomcat-jdbc-src" unless="noget">
+ <!-- build the jdbc-pool source jar-->
+ <echo message="Building Tomcat JDBC pool src JAR"/>
+ <ant antfile="${tomcat.jdbc.dir}/build.xml" dir="${tomcat.jdbc.dir}"
+@@ -1242,9 +1247,11 @@
+
+ <copy file="${basedir}/LICENSE" todir="${tomcat.embed}" />
+ <copy file="${basedir}/NOTICE" todir="${tomcat.embed}" />
++<!--
+ <copy file="${tomcat-dbcp.jar}" todir="${tomcat.embed}"
+ failonerror="false"/>
+ <copy file="${jdt.jar}" todir="${tomcat.embed}" />
++-->
+ <copy file="${annotations-api.jar}" todir="${tomcat.embed}" />
+
+ <!-- Note the meta-inf below will work as long as there is only one JAR
+@@ -1624,7 +1631,7 @@
+
+ <target name="extras-webservices-prepare"
+ depends="extras-prepare"
+- description="Prepare to build web services extras package">
++ description="Prepare to build web services extras package" unless="noget">
+
+ <antcall target="downloadfile">
+ <param name="sourcefile" value="${jaxrpc-lib.loc}"/>
+@@ -1720,6 +1727,7 @@
+
+ <target name="javadoc" depends="dist-source"
+ description="Create the Tomcat javadoc" >
++<!--
+ <javadoc packagenames="javax.servlet.*"
+ excludepackagenames="javax.servlet.jsp.*"
+ sourcepath="${tomcat.dist}/src/java"
+@@ -1784,6 +1792,7 @@
+ <path location="${ant.core.lib}"/>
+ </classpath>
+ </javadoc>
++-->
+ <javadoc packagenames="javax.websocket.*"
+ sourcepath="${tomcat.dist}/src/java"
+ destdir="${tomcat.dist}/webapps/docs/websocketapi"
+@@ -1824,9 +1833,11 @@
+ <path refid="tomcat.webservices.classpath"/>
+ <path location="${ant.core.lib}"/>
+ </classpath>
++<!--
+ <link href="../servletapi"/>
+ <link href="../jspapi"/>
+ <link href="../elapi"/>
++-->
+ <link href="../websocketapi"/>
+ <link href="http://docs.oracle.com/javase/7/docs/api/"/>
+ <link href="http://commons.apache.org/proper/commons-io/javadocs/api-release/"/>
+@@ -2550,7 +2561,7 @@ skip.installer property in build.properties" />
+ </target>
+
+ <target name="download-compile"
+- description="Download (and build) components necessary to compile" >
++ description="Download (and build) components necessary to compile" unless="noget">
+
+ <!-- Download Commons Daemon -->
+ <antcall target="downloadgz-2">
+@@ -2576,7 +2587,7 @@ skip.installer property in build.properties" />
+ </target>
+
+ <target name="download-test-compile"
+- description="Download additional components for the tests" >
++ description="Download additional components for the tests" unless="noget">
+
+ <antcall target="downloadfile">
+ <param name="sourcefile" value="${junit.loc}"/>
+@@ -2654,7 +2665,7 @@ skip.installer property in build.properties" />
+ </target>
+
+ <target name="download-dist"
+- description="Download additional components for a distribution" >
++ description="Download additional components for a distribution" unless="noget">
+
+ <antcall target="downloadfile-2">
+ <param name="sourcefile.1" value="${tomcat-native.loc.1}"/>
+@@ -2709,13 +2720,13 @@ skip.installer property in build.properties" />
+
+ <!-- =============== Utility Targets to support downloads ================ -->
+
+- <target name="setproxy" if="${proxy.use}">
++ <target name="setproxy" if="${proxy.use}" unless="noget">
+ <setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}"
+ proxyuser="${proxy.user}" proxypassword="${proxy.password}" />
+ <echo message="Using ${proxy.host}:${proxy.port} to download ${sourcefile}"/>
+ </target>
+
+- <target name="testexist">
++ <target name="testexist" unless="noget">
+ <echo message="Testing for ${destfile}"/>
+ <available file="${destfile}" property="exist"/>
+ </target>
+@@ -2837,7 +2848,7 @@ skip.installer property in build.properties" />
+ </sequential>
+ </macrodef>
+
+- <target name="downloadgz" unless="exist" depends="testexist,setproxy">
++ <target name="downloadgz" unless="noget" depends="testexist,setproxy">
+ <!-- Download and extract the package -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -2854,7 +2865,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}.tar.gz"/>
+ </target>
+
+- <target name="downloadgz-2" unless="exist" depends="testexist">
++ <target name="downloadgz-2" unless="noget" depends="testexist">
+ <!-- Download and extract the package from the two alternative locations -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -2879,7 +2890,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}.tar.gz"/>
+ </target>
+
+- <target name="downloadzip" unless="exist" depends="testexist,setproxy">
++ <target name="downloadzip" unless="noget" depends="testexist,setproxy">
+ <!-- Download and extract the package -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -2895,7 +2906,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}"/>
+ </target>
+
+- <target name="downloadzip-2" unless="exist" depends="testexist">
++ <target name="downloadzip-2" unless="noget" depends="testexist">
+ <!-- Download and extract the package from the two alternative locations -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -2919,7 +2930,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}"/>
+ </target>
+
+- <target name="downloadfile" unless="exist" depends="testexist,setproxy">
++ <target name="downloadfile" unless="noget" depends="testexist,setproxy">
+ <!-- Download the file -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -2934,7 +2945,7 @@ skip.installer property in build.properties" />
+ <move file="${temp.file}" tofile="${destfile}"/>
+ </target>
+
+- <target name="downloadfile-2" unless="exist" depends="testexist">
++ <target name="downloadfile-2" unless="noget" depends="testexist">
+ <!-- Download the file from the two alternative locations -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -2962,7 +2973,7 @@ skip.installer property in build.properties" />
+ <move file="${temp.file}" tofile="${destfile}"/>
+ </target>
+
+- <target name="trydownload.check" depends="setproxy">
++ <target name="trydownload.check" depends="setproxy" unless="noget">
+ <condition property="trydownload.run">
+ <and>
+ <not>
+@@ -2973,7 +2984,7 @@ skip.installer property in build.properties" />
+ </condition>
+ </target>
+
+- <target name="trydownload" if="trydownload.run" depends="trydownload.check">
++ <target name="trydownload" if="trydownload.run" depends="trydownload.check" unless="noget">
+ <!-- Downloads a file if not yet downloaded and the source URL is available -->
+ <get src="${sourcefile}" httpusecaches="${trydownload.httpusecaches}" dest="${destfile}" />
+ </target>
+@@ -2984,7 +2995,7 @@ skip.installer property in build.properties" />
+
+ <target name="ide-eclipse"
+ depends="download-compile, extras-webservices-prepare, download-test-compile"
+- description="Prepares the source tree to be built in Eclipse">
++ description="Prepares the source tree to be built in Eclipse" unless="noget">
+
+ <!-- Copy the sample project files into the root directory -->
+ <copy file="${tomcat.home}/res/ide-support/eclipse/eclipse.project" tofile="${tomcat.home}/.project"/>
diff --git a/www-servers/tomcat/files/tomcat-9.0.14-build.xml.patch b/www-servers/tomcat/files/tomcat-9.0.14-build.xml.patch
new file mode 100644
index 000000000000..c3f3e71c0ebf
--- /dev/null
+++ b/www-servers/tomcat/files/tomcat-9.0.14-build.xml.patch
@@ -0,0 +1,265 @@
+diff --git a/build.xml b/build.xml
+index 971f912..1e43ae0 100644
+--- a/build.xml
++++ b/build.xml
+@@ -769,6 +769,7 @@
+ addOSGi="true" />
+
+ <!-- Servlet 4.0 Implementation JAR File -->
++<!--
+ <jarIt jarfile="${servlet-api.jar}"
+ filesDir="${tomcat.classes}"
+ filesId="files.servlet-api"
+@@ -776,21 +777,23 @@
+ notice="${tomcat.manifests}/servlet-api.jar.notice"
+ license="${tomcat.manifests}/servlet-api.jar.license"
+ addOSGi="true" />
+-
++-->
+ <!-- JSP 2.3 Implementation JAR File -->
++<!--
+ <jarIt jarfile="${jsp-api.jar}"
+ filesDir="${tomcat.classes}"
+ filesId="files.jsp-api"
+ manifest="${tomcat.manifests}/jsp-api.jar.manifest"
+ addOSGi="true" />
+-
++-->
+ <!-- EL 3.0 Implementation JAR File -->
++<!--
+ <jarIt jarfile="${el-api.jar}"
+ filesDir="${tomcat.classes}"
+ filesId="files.el-api"
+ manifest="${tomcat.manifests}/el-api.jar.manifest"
+ addOSGi="true" />
+-
++-->
+ <!-- WebSocket 1.1 API JAR File -->
+ <jarIt jarfile="${websocket-api.jar}"
+ filesDir="${tomcat.classes}"
+@@ -1131,9 +1134,9 @@
+
+ <target name="deploy" depends="package,build-docs,build-tomcat-jdbc,compile-webapp-examples"
+ description="Default. Builds a working Tomcat instance">
+-
++<!--
+ <copy tofile="${tomcat.build}/bin/commons-daemon.jar" file="${commons-daemon.jar}" />
+-
++-->
+ <!-- Copy scripts -->
+ <copy todir="${tomcat.build}/bin">
+ <fileset dir="bin">
+@@ -1193,7 +1196,7 @@
+ <exclude name="${jdt.jar.filename}"/>
+ </fileset>
+ </delete>
+- <copy file="${jdt.jar}" todir="${tomcat.build}/lib"/>
++<!-- <copy file="${jdt.jar}" todir="${tomcat.build}/lib"/> -->
+
+ <!-- Add sources for examples -->
+ <antcall target="examples-sources" />
+@@ -1229,7 +1232,7 @@
+ </javac>
+ </target>
+
+- <target name="build-tomcat-jdbc" depends="package">
++ <target name="build-tomcat-jdbc" depends="package" unless="noget">
+ <!-- build the jdbc-pool jar and source jar-->
+ <echo message="Building Tomcat JDBC pool libraries"/>
+ <ant antfile="${tomcat.jdbc.dir}/build.xml" dir="${tomcat.jdbc.dir}"
+@@ -1244,7 +1247,7 @@
+ <copy file="${tomcat-jdbc.jar}" todir="${tomcat.build}/lib"/>
+ </target>
+
+- <target name="build-tomcat-jdbc-src">
++ <target name="build-tomcat-jdbc-src" unless="noget">
+ <!-- build the jdbc-pool source jar-->
+ <echo message="Building Tomcat JDBC pool src JAR"/>
+ <ant antfile="${tomcat.jdbc.dir}/build.xml" dir="${tomcat.jdbc.dir}"
+@@ -1348,9 +1351,11 @@
+
+ <copy file="${basedir}/LICENSE" todir="${tomcat.embed}" />
+ <copy file="${basedir}/NOTICE" todir="${tomcat.embed}" />
++<!--
+ <copy file="${tomcat-dbcp.jar}" todir="${tomcat.embed}"
+ failonerror="false"/>
+ <copy file="${jdt.jar}" todir="${tomcat.embed}" />
++-->
+ <copy file="${annotations-api.jar}" todir="${tomcat.embed}" />
+
+ <!-- Note the meta-inf below will work as long as there is only one JAR
+@@ -1734,7 +1739,7 @@
+
+ <target name="extras-webservices-prepare"
+ depends="extras-prepare"
+- description="Prepare to build web services extras package">
++ description="Prepare to build web services extras package" unless="noget">
+
+ <antcall target="downloadfile">
+ <param name="sourcefile" value="${jaxrpc-lib.loc}"/>
+@@ -1884,11 +1889,12 @@
+ </copy>
+
+ <!-- Source bundles for native components -->
++<!--
+ <copy tofile="${tomcat.dist}/bin/tomcat-native.tar.gz"
+ file="${tomcat-native.tar.gz}" />
+ <copy tofile="${tomcat.dist}/bin/commons-daemon-native.tar.gz"
+ file="${commons-daemon.native.src.tgz}" />
+-
++-->
+ <!-- platform README files -->
+ <echo append="false" file="${tomcat.dist}/bin/x64/README">
+ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+@@ -1898,6 +1904,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+
+ <target name="javadoc" depends="dist-source,extras-webservices-prepare"
+ description="Create the Tomcat javadoc" >
++<!--
+ <javadoc packagenames="javax.servlet.*"
+ excludepackagenames="javax.servlet.jsp.*"
+ sourcepath="${tomcat.dist}/src/java"
+@@ -1962,6 +1969,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+ <path location="${ant.core.lib}"/>
+ </classpath>
+ </javadoc>
++-->
+ <javadoc packagenames="javax.websocket.*"
+ sourcepath="${tomcat.dist}/src/java"
+ destdir="${tomcat.dist}/webapps/docs/websocketapi"
+@@ -2002,9 +2010,11 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+ <path refid="tomcat.webservices.classpath"/>
+ <path location="${ant.core.lib}"/>
+ </classpath>
++<!--
+ <link href="../servletapi"/>
+ <link href="../jspapi"/>
+ <link href="../elapi"/>
++-->
+ <link href="../websocketapi"/>
+ <link href="http://docs.oracle.com/javase/8/docs/api/"/>
+ <link href="https://commons.apache.org/proper/commons-io/javadocs/api-release/"/>
+@@ -2727,7 +2737,7 @@ skip.installer property in build.properties" />
+ </target>
+
+ <target name="download-compile"
+- description="Download (and build) components necessary to compile" >
++ description="Download (and build) components necessary to compile" unless="noget">
+
+ <!-- Download Commons Daemon -->
+ <antcall target="downloadgz-2">
+@@ -2763,7 +2773,7 @@ skip.installer property in build.properties" />
+ </target>
+
+ <target name="download-test-compile"
+- description="Download additional components for the tests" >
++ description="Download additional components for the tests" unless="noget">
+
+ <antcall target="downloadfile">
+ <param name="sourcefile" value="${junit.loc}"/>
+@@ -2841,7 +2851,7 @@ skip.installer property in build.properties" />
+ </target>
+
+ <target name="download-dist"
+- description="Download additional components for a distribution" >
++ description="Download additional components for a distribution" unless="noget">
+
+ <antcall target="downloadfile-2">
+ <param name="sourcefile.1" value="${tomcat-native.loc.1}"/>
+@@ -2896,13 +2906,13 @@ skip.installer property in build.properties" />
+
+ <!-- =============== Utility Targets to support downloads ================ -->
+
+- <target name="setproxy" if="${proxy.use}">
++ <target name="setproxy" if="${proxy.use}" unless="noget">
+ <setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}"
+ proxyuser="${proxy.user}" proxypassword="${proxy.password}" />
+ <echo message="Using ${proxy.host}:${proxy.port} to download ${sourcefile}"/>
+ </target>
+
+- <target name="testexist">
++ <target name="testexist" unless="noget">
+ <echo message="Testing for ${destfile}"/>
+ <available file="${destfile}" property="exist"/>
+ </target>
+@@ -3024,7 +3034,7 @@ skip.installer property in build.properties" />
+ </sequential>
+ </macrodef>
+
+- <target name="downloadgz" unless="exist" depends="testexist,setproxy">
++ <target name="downloadgz" unless="noget" depends="testexist,setproxy">
+ <!-- Download and extract the package -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3041,7 +3051,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}.tar.gz"/>
+ </target>
+
+- <target name="downloadgz-2" unless="exist" depends="testexist">
++ <target name="downloadgz-2" unless="noget" depends="testexist">
+ <!-- Download and extract the package from the two alternative locations -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3066,7 +3076,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}.tar.gz"/>
+ </target>
+
+- <target name="downloadzip" unless="exist" depends="testexist,setproxy">
++ <target name="downloadzip" unless="noget" depends="testexist,setproxy">
+ <!-- Download and extract the package -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3082,7 +3092,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}"/>
+ </target>
+
+- <target name="downloadzip-2" unless="exist" depends="testexist">
++ <target name="downloadzip-2" unless="noget" depends="testexist">
+ <!-- Download and extract the package from the two alternative locations -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3106,7 +3116,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}"/>
+ </target>
+
+- <target name="downloadfile" unless="exist" depends="testexist,setproxy">
++ <target name="downloadfile" unless="noget" depends="testexist,setproxy">
+ <!-- Download the file -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3121,7 +3131,7 @@ skip.installer property in build.properties" />
+ <move file="${temp.file}" tofile="${destfile}"/>
+ </target>
+
+- <target name="downloadfile-2" unless="exist" depends="testexist">
++ <target name="downloadfile-2" unless="noget" depends="testexist">
+ <!-- Download the file from the two alternative locations -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3149,7 +3159,7 @@ skip.installer property in build.properties" />
+ <move file="${temp.file}" tofile="${destfile}"/>
+ </target>
+
+- <target name="trydownload.check" depends="setproxy">
++ <target name="trydownload.check" depends="setproxy" unless="noget">
+ <condition property="trydownload.run">
+ <and>
+ <not>
+@@ -3160,7 +3170,7 @@ skip.installer property in build.properties" />
+ </condition>
+ </target>
+
+- <target name="trydownload" if="trydownload.run" depends="trydownload.check">
++ <target name="trydownload" if="trydownload.run" depends="trydownload.check" unless="noget">
+ <!-- Downloads a file if not yet downloaded and the source URL is available -->
+ <get src="${sourcefile}" httpusecaches="${trydownload.httpusecaches}" dest="${destfile}" />
+ </target>
+@@ -3171,7 +3181,7 @@ skip.installer property in build.properties" />
+
+ <target name="ide-eclipse"
+ depends="download-compile, extras-webservices-prepare, download-test-compile"
+- description="Prepares the source tree to be built in Eclipse">
++ description="Prepares the source tree to be built in Eclipse" unless="noget">
+
+ <!-- Copy the sample project files into the root directory -->
+ <copy file="${tomcat.home}/res/ide-support/eclipse/eclipse.project" tofile="${tomcat.home}/.project"/>
diff --git a/www-servers/tomcat/tomcat-8.0.53.ebuild b/www-servers/tomcat/tomcat-8.0.53.ebuild
new file mode 100644
index 000000000000..232ee0051c61
--- /dev/null
+++ b/www-servers/tomcat/tomcat-8.0.53.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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 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"
+KEYWORDS="~amd64 ~x86 ~x86-fbsd ~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:${SAPI_SLOT}"
+RDEPEND="${COMMON_DEP}
+ !<dev-java/tomcat-native-1.1.24
+ >=virtual/jre-1.7"
+DEPEND="${COMMON_DEP}
+ app-admin/pwgen
+ >=dev-java/ant-core-1.9.13
+ >=virtual/jdk-1.7
+ 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}/${P}-build.xml.patch"
+
+ # For use of catalina.sh in netbeans
+ sed -i -e "/^# ----- Execute The Requested Command/ a\
+ CLASSPATH=\`java-config --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"
+
+# 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)"
+ 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-8.5.37.ebuild b/www-servers/tomcat/tomcat-8.5.37.ebuild
new file mode 100644
index 000000000000..3d8ad6af6922
--- /dev/null
+++ b/www-servers/tomcat/tomcat-8.5.37.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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 ~x86-fbsd ~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-${SLOT}:${SAPI_SLOT}"
+RDEPEND="${COMMON_DEP}
+ !<dev-java/tomcat-native-1.1.24
+ >=virtual/jre-1.7"
+DEPEND="${COMMON_DEP}
+ app-admin/pwgen
+ >=dev-java/ant-core-1.9.13
+ >=virtual/jdk-1.7
+ 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}/${P}-build.xml.patch"
+
+ # For use of catalina.sh in netbeans
+ sed -i -e "/^# ----- Execute The Requested Command/ a\
+ CLASSPATH=\`java-config --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)"
+ 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.14.ebuild b/www-servers/tomcat/tomcat-9.0.14.ebuild
new file mode 100644
index 000000000000..94606ee34539
--- /dev/null
+++ b/www-servers/tomcat/tomcat-9.0.14.ebuild
@@ -0,0 +1,180 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+JAVA_PKG_IUSE="doc source test"
+
+inherit eutils java-pkg-2 java-ant-2 prefix user
+
+MY_P="apache-${PN}-${PV}-src"
+
+# Currently we bundle binary versions of bnd.jar and bndlib.jar
+# See bugs #203080 and #676116
+BND_VERSION="4.1.0"
+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"
+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}
+ https://repo.maven.apache.org/maven2/biz/aQute/bnd/biz.aQute.bndlib/${BND_VERSION}/${BNDLIB}"
+
+LICENSE="Apache-2.0"
+SLOT="9"
+KEYWORDS="~amd64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="extra-webapps"
+
+RESTRICT="test" # can we run them on a production system?
+
+ECJ_SLOT="4.10"
+SAPI_SLOT="4.0"
+
+COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT}
+ dev-java/tomcat-servlet-api:${SAPI_SLOT}"
+RDEPEND="${COMMON_DEP}
+ !<dev-java/tomcat-native-1.1.24
+ >=virtual/jre-11"
+DEPEND="${COMMON_DEP}
+ app-admin/pwgen
+ >=dev-java/ant-core-1.9.13
+ >=virtual/jdk-11
+ test? (
+ >=dev-java/ant-junit-1.9:0
+ dev-java/easymock:3.2
+ )"
+
+S=${WORKDIR}/${MY_P}
+
+BND_HOME="${S}/tomcat-build-libs/bnd"
+BNDLIB_HOME="${S}/tomcat-build-libs/bndlib"
+BND_JAR="${BND_HOME}/${BND}"
+BNDLIB_JAR="${BNDLIB_HOME}/${BND_LIB}"
+
+src_unpack() {
+ unpack ${MY_P}.tar.gz
+
+ mkdir -p "${BND_HOME}" "${BNDLIB_HOME}" || die "Failed to create dir"
+ ln -s "${DISTDIR}/${BND}" "${BND_HOME}/" || die "Failed to symlink bnd-*.jar"
+ ln -s "${DISTDIR}/${BND}" "${BNDLIB_HOME}/" || die "Failed to symlink bndlib-*.jar"
+}
+
+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}/${P}-build.xml.patch"
+
+ # For use of catalina.sh in netbeans
+ sed -i -e "/^# ----- Execute The Requested Command/ a\
+ CLASSPATH=\`java-config --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 -Dbnd.jar=${BND_JAR} -Dbndlib.jar=${BNDLIB_JAR}"
+
+# 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)"
+ 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."
+}