summaryrefslogtreecommitdiff
path: root/www-servers
diff options
context:
space:
mode:
Diffstat (limited to 'www-servers')
-rw-r--r--www-servers/Manifest.gzbin5542 -> 5534 bytes
-rw-r--r--www-servers/nginx-unit/Manifest10
-rw-r--r--www-servers/nginx-unit/metadata.xml1
-rw-r--r--www-servers/nginx-unit/nginx-unit-1.5.ebuild5
-rw-r--r--www-servers/nginx-unit/nginx-unit-1.6.ebuild5
-rw-r--r--www-servers/nginx-unit/nginx-unit-1.7.1.ebuild66
-rw-r--r--www-servers/nginx-unit/nginx-unit-1.7.ebuild5
-rw-r--r--www-servers/tomcat/Manifest9
-rw-r--r--www-servers/tomcat/files/tomcat-9.0.16-build.xml.patch265
-rw-r--r--www-servers/tomcat/tomcat-7.0.92.ebuild2
-rw-r--r--www-servers/tomcat/tomcat-8.5.38.ebuild (renamed from www-servers/tomcat/tomcat-7.0.90.ebuild)48
-rw-r--r--www-servers/tomcat/tomcat-9.0.16.ebuild182
-rw-r--r--www-servers/uwsgi/Manifest8
-rw-r--r--www-servers/uwsgi/uwsgi-2.0.17.1-r1.ebuild4
-rw-r--r--www-servers/uwsgi/uwsgi-2.0.17.1.ebuild6
-rw-r--r--www-servers/uwsgi/uwsgi-2.0.17.ebuild6
-rw-r--r--www-servers/uwsgi/uwsgi-2.0.18.ebuild400
17 files changed, 975 insertions, 47 deletions
diff --git a/www-servers/Manifest.gz b/www-servers/Manifest.gz
index bdc3fbfaee79..35ff8e49a011 100644
--- a/www-servers/Manifest.gz
+++ b/www-servers/Manifest.gz
Binary files differ
diff --git a/www-servers/nginx-unit/Manifest b/www-servers/nginx-unit/Manifest
index edc75132665b..aa1ce36d8323 100644
--- a/www-servers/nginx-unit/Manifest
+++ b/www-servers/nginx-unit/Manifest
@@ -2,10 +2,12 @@ AUX nginx-unit.initd 291 BLAKE2B a4ce1b0269de3d991bfdf30b6183418d32e2c94d21ca0ab
DIST nginx-unit-1.3.tar.gz 401670 BLAKE2B 34a0ed9631c7061d1c71f8335103b0e266ef6f949afeb8cef283a7b5dd6c9f0a4835f20fdedd091af6950cd0897cb1ab48dea9f475e1b75a2872da7ac0090d10 SHA512 63a47b920bfdae7a7e034d616f520b27b46151a299cf5854373f7f8472043de0ffc98f9d62317c46e637857e0ef24668ded99be6e058315acf25b4e1c7f1ed09
DIST nginx-unit-1.5.tar.gz 437636 BLAKE2B 9f7b89a800c933cc6d55a444c5a6c6326cf1694062026419af5e8a13e68b35c47b631d961611342e20c3d9338ca727ed7cc38c27b43443ec3f9abafd18f6684a SHA512 bde6bc7720cff03bf3967fde265c6763fc84f597a7c785eae0174726cb8ad7676f0adade892c2944abad831a667fff250a75aeacdca2d1bffb8c0f8fcd291ebd
DIST nginx-unit-1.6.tar.gz 439244 BLAKE2B 38e5580eed131b92f7fb73f389bd1dcc713a091d16910fd984a95fb77a47586e7a8afe597fb4774c2f27aac3de66297eb3993815569dde3b11e5b755f3ae319e SHA512 d8a84c2c88017b18dfccf082591177564158e4297632664bc06fd8545b798e0d5efaaae9f840ee485a246c3638cdd022363c455f441d52666f39191e88b14ff8
+DIST nginx-unit-1.7.1.tar.gz 445348 BLAKE2B ce71948575c1d4c8cd6a918625525a77094c7b9bee335283a131bdf72e863f4a645761074642bf4150b1aeaf61c5d95302e0e2f0547483fc76b7ab3784aeb1d0 SHA512 08073aced61aff6cb9891128d4e5eb96096f113cfbff3418976fb7f896762e6abe2f08202935cf464f7b547daade89e071c616496969447a5aa35e77004d4ffa
DIST nginx-unit-1.7.tar.gz 445144 BLAKE2B 99f985768551bb3d12fa09751c3bad9ffbfd0bb9768914a439bf420e438b468f5baa909866c6f7518c6ab17335ddcb69f312207f8f0a8b25dc28ddb2c5bb75d7 SHA512 68156a8dd69401895d40f2c23d7889f3998f52dd7bfd5c3efb7894e5267aef0075868db857fbbbc34f85ed9d56b9ea4fa7a19f662eb91f68284eb99a55f0380b
EBUILD nginx-unit-1.3-r1.ebuild 1194 BLAKE2B dd27ff30e4113e9beb716ea2c73f6559fcde29bf1137b0361b73aa56a4c46a293928b6060eb61e2689d6bccb90a8452e7aa83621ea1768f326b7bd1a60202430 SHA512 af28c954708053a62ef0d2e534d05de59f5e05e8f1042488bcd25f6d0e4c0b4144e7b7ccc146c5b97a0d2f0ca1cc21542aff92082dfc38eeb0fbc9137802727c
EBUILD nginx-unit-1.3.ebuild 937 BLAKE2B 09d8c3e3e8e0d0737f94bb1b483479fdce591f3a60a8ac5dab65d94e361e04b6bc1099f6c78432af93469c21c995a0bbde85d916c143ccf92ed0124d3e835913 SHA512 498a05d21d8593c0d640fadabee04245dc7c2c49050c314a1366ae4edd52a268b6a5745aa9d7eecbd0383706cac6c02b7838e0c517206b55b6ddeed849cb9340
-EBUILD nginx-unit-1.5.ebuild 1710 BLAKE2B b7f56ac87f182b82c07e43a0c3ebce21fd3295115afba5bcaa37f7e21d73194ece54fabf092cc1ee22ad809ffffd39b70c32ffcacf0f56a15b71003aad420715 SHA512 afe8679d7671538dc36ae7bf324bfb4e2f839f80cb2b588bebc4b8b4f6217e089538dddbe6dc4dcf22a90f707a965908d3fddbc68d077829d409010745250bd5
-EBUILD nginx-unit-1.6.ebuild 1707 BLAKE2B f3c17057f46d3ac820869eb49b6d749ff90af326d9809e8c18fd326334c235cdc60834cbb47dad9590213af534c34cb4a609c33c4189cf23a759cfc10d2ded99 SHA512 a9ee47f2eb83ca265cf31d9bda9196d3538ccc10938365bd9145c9f0a80969a840fc9fba9502d8ee47a0a12b7ce7990b143a9a5de82dcaa454bef0a49c1c163e
-EBUILD nginx-unit-1.7.ebuild 1707 BLAKE2B f3c17057f46d3ac820869eb49b6d749ff90af326d9809e8c18fd326334c235cdc60834cbb47dad9590213af534c34cb4a609c33c4189cf23a759cfc10d2ded99 SHA512 a9ee47f2eb83ca265cf31d9bda9196d3538ccc10938365bd9145c9f0a80969a840fc9fba9502d8ee47a0a12b7ce7990b143a9a5de82dcaa454bef0a49c1c163e
-MISC metadata.xml 998 BLAKE2B 8ff6ba591f5496f7bcaa133f4429c5f87d2a09fbb7fb01dee03795997ae6740645b2348d3589a5ecc12ca4a37310df3866231782ac745ce76b0fff689690e88b SHA512 74afba5a56ca0f5966a1cdf6a4a8de1fe690b3aa01d4b55c84ce5cdc065eeb16a0d24e9a930a8c2d0eba43b1cbee27a2267c9e0cd8f4fd2048999c69eae80fa2
+EBUILD nginx-unit-1.5.ebuild 1663 BLAKE2B 77860cf8fd796c3fd341cd0a4387663eaa8abfb87203af7520d88579e1d484f2aaa33e32bc5dcc5328850f90b9aaec3cf91fb67f508c92f6b418c81675113f92 SHA512 4ef0abe2086b78cebb0006eb522dc803441693bb1af3db02ee9f604872f34841b6866c25ff0ee560d5681b9b4f6afea76b48baae0d724ae2d09c40c365044455
+EBUILD nginx-unit-1.6.ebuild 1663 BLAKE2B 77860cf8fd796c3fd341cd0a4387663eaa8abfb87203af7520d88579e1d484f2aaa33e32bc5dcc5328850f90b9aaec3cf91fb67f508c92f6b418c81675113f92 SHA512 4ef0abe2086b78cebb0006eb522dc803441693bb1af3db02ee9f604872f34841b6866c25ff0ee560d5681b9b4f6afea76b48baae0d724ae2d09c40c365044455
+EBUILD nginx-unit-1.7.1.ebuild 1663 BLAKE2B 77860cf8fd796c3fd341cd0a4387663eaa8abfb87203af7520d88579e1d484f2aaa33e32bc5dcc5328850f90b9aaec3cf91fb67f508c92f6b418c81675113f92 SHA512 4ef0abe2086b78cebb0006eb522dc803441693bb1af3db02ee9f604872f34841b6866c25ff0ee560d5681b9b4f6afea76b48baae0d724ae2d09c40c365044455
+EBUILD nginx-unit-1.7.ebuild 1663 BLAKE2B 77860cf8fd796c3fd341cd0a4387663eaa8abfb87203af7520d88579e1d484f2aaa33e32bc5dcc5328850f90b9aaec3cf91fb67f508c92f6b418c81675113f92 SHA512 4ef0abe2086b78cebb0006eb522dc803441693bb1af3db02ee9f604872f34841b6866c25ff0ee560d5681b9b4f6afea76b48baae0d724ae2d09c40c365044455
+MISC metadata.xml 949 BLAKE2B 31fd3223474719c473dac9015906c04fe7ad706575073eaddcb05b362ee421d57aa9e7bc92952ff01e9dae558fc838e0e7c248a5f0b29822248e61f97c72048a SHA512 5176f55f2d57f45bbe1df67336d798dfb5a412d2851706ba8d26dfba65beed787f59fd2419bfbb135c5dd9cdb1b2fa50220bdef3d0aed6c2e5ef00ca4dd23370
diff --git a/www-servers/nginx-unit/metadata.xml b/www-servers/nginx-unit/metadata.xml
index 73c93269432b..c8f76efa6ee7 100644
--- a/www-servers/nginx-unit/metadata.xml
+++ b/www-servers/nginx-unit/metadata.xml
@@ -18,7 +18,6 @@
</longdescription>
<use>
<flag name="php5-6">Support for PHP 5.6</flag>
- <flag name="php7-0">Support for PHP 7.0</flag>
<flag name="php7-1">Support for PHP 7.1</flag>
<flag name="php7-2">Support for PHP 7.2</flag>
</use>
diff --git a/www-servers/nginx-unit/nginx-unit-1.5.ebuild b/www-servers/nginx-unit/nginx-unit-1.5.ebuild
index e1eb3635fb1c..f3124ecc86f3 100644
--- a/www-servers/nginx-unit/nginx-unit-1.5.ebuild
+++ b/www-servers/nginx-unit/nginx-unit-1.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -16,13 +16,12 @@ LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
MY_USE="perl python ruby"
-MY_USE_PHP="php5-6 php7-0 php7-1 php7-2"
+MY_USE_PHP="php5-6 php7-1 php7-2"
IUSE="${MY_USE} ${MY_USE_PHP}"
REQUIRED_USE="|| ( ${IUSE} ) python? ( ${PYTHON_REQUIRED_USE} )"
DEPEND="perl? ( dev-lang/perl:= )
php5-6? ( dev-lang/php:5.6[embed] )
- php7-0? ( dev-lang/php:7.0[embed] )
php7-1? ( dev-lang/php:7.1[embed] )
php7-2? ( dev-lang/php:7.2[embed] )
python? ( ${PYTHON_DEPS} )
diff --git a/www-servers/nginx-unit/nginx-unit-1.6.ebuild b/www-servers/nginx-unit/nginx-unit-1.6.ebuild
index 9f7feccf3ea6..f3124ecc86f3 100644
--- a/www-servers/nginx-unit/nginx-unit-1.6.ebuild
+++ b/www-servers/nginx-unit/nginx-unit-1.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -16,13 +16,12 @@ LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
MY_USE="perl python ruby"
-MY_USE_PHP="php5-6 php7-0 php7-1 php7-2"
+MY_USE_PHP="php5-6 php7-1 php7-2"
IUSE="${MY_USE} ${MY_USE_PHP}"
REQUIRED_USE="|| ( ${IUSE} ) python? ( ${PYTHON_REQUIRED_USE} )"
DEPEND="perl? ( dev-lang/perl:= )
php5-6? ( dev-lang/php:5.6[embed] )
- php7-0? ( dev-lang/php:7.0[embed] )
php7-1? ( dev-lang/php:7.1[embed] )
php7-2? ( dev-lang/php:7.2[embed] )
python? ( ${PYTHON_DEPS} )
diff --git a/www-servers/nginx-unit/nginx-unit-1.7.1.ebuild b/www-servers/nginx-unit/nginx-unit-1.7.1.ebuild
new file mode 100644
index 000000000000..f3124ecc86f3
--- /dev/null
+++ b/www-servers/nginx-unit/nginx-unit-1.7.1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=(python2_7 python3_{3,4,5,6,7})
+
+inherit python-single-r1
+
+MY_P="unit-${PV}"
+DESCRIPTION="A dynamic web and application server"
+HOMEPAGE="https://unit.nginx.org"
+SRC_URI="https://unit.nginx.org/download/${MY_P}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+MY_USE="perl python ruby"
+MY_USE_PHP="php5-6 php7-1 php7-2"
+IUSE="${MY_USE} ${MY_USE_PHP}"
+REQUIRED_USE="|| ( ${IUSE} ) python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="perl? ( dev-lang/perl:= )
+ php5-6? ( dev-lang/php:5.6[embed] )
+ php7-1? ( dev-lang/php:7.1[embed] )
+ php7-2? ( dev-lang/php:7.2[embed] )
+ python? ( ${PYTHON_DEPS} )
+ ruby? ( dev-lang/ruby:= )"
+RDEPEND="${DEPEND}"
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ ./configure \
+ --control=unix:/run/${PN}.sock \
+ --ld-opt="${LDFLAGS}" \
+ --log=/var/log/${PN} \
+ --modules=$(get_libdir)/${PN} \
+ --pid=/run/${PN}.pid \
+ --prefix=/usr \
+ --state=/var/lib/${PN} || die "Core configuration failed"
+ for flag in ${MY_USE} ; do
+ if use ${flag} ; then
+ ./configure ${flag} || die "Module configuration failed: ${flag}"
+ fi
+ done
+ for flag in ${MY_USE_PHP} ; do
+ if use ${flag} ; then
+ local php_slot="/usr/$(get_libdir)/${flag/-/.}"
+ ./configure php \
+ --module=${flag} \
+ --config=${php_slot}/bin/php-config \
+ --lib-path=${php_slot}/$(get_libdir) || die "Module configuration failed: ${flag}"
+ fi
+ done
+}
+
+src_install() {
+ default
+ diropts -m 0770
+ keepdir /var/lib/${PN}
+ newinitd "${FILESDIR}/${PN}.initd" ${PN}
+}
diff --git a/www-servers/nginx-unit/nginx-unit-1.7.ebuild b/www-servers/nginx-unit/nginx-unit-1.7.ebuild
index 9f7feccf3ea6..f3124ecc86f3 100644
--- a/www-servers/nginx-unit/nginx-unit-1.7.ebuild
+++ b/www-servers/nginx-unit/nginx-unit-1.7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -16,13 +16,12 @@ LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
MY_USE="perl python ruby"
-MY_USE_PHP="php5-6 php7-0 php7-1 php7-2"
+MY_USE_PHP="php5-6 php7-1 php7-2"
IUSE="${MY_USE} ${MY_USE_PHP}"
REQUIRED_USE="|| ( ${IUSE} ) python? ( ${PYTHON_REQUIRED_USE} )"
DEPEND="perl? ( dev-lang/perl:= )
php5-6? ( dev-lang/php:5.6[embed] )
- php7-0? ( dev-lang/php:7.0[embed] )
php7-1? ( dev-lang/php:7.1[embed] )
php7-2? ( dev-lang/php:7.2[embed] )
python? ( ${PYTHON_DEPS} )
diff --git a/www-servers/tomcat/Manifest b/www-servers/tomcat/Manifest
index 85e701d0b8d5..4195579297ef 100644
--- a/www-servers/tomcat/Manifest
+++ b/www-servers/tomcat/Manifest
@@ -4,27 +4,30 @@ AUX tomcat-8.0.53-build.xml.patch 10949 BLAKE2B 2693f3e74a69967ceeb5f4ee41756b84
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.16-build.xml.patch 10623 BLAKE2B ff6b110604628cbf750a75cea2544789cb65357f2f5bd87e8f781fcffade2a538f4a76ed4c8709a34dbb5995006a550e10e13b74487570b0474ca451ea21c209 SHA512 27f5040e2384ad4c212c1e25aaa850c26fec93de73b86a1b3e06e763ff5e13ed491153427d1206eec662eb225ee0890c43f292cbe95dd6521702254632983df1
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
AUX tomcat-r1.init 3200 BLAKE2B eb913d32bb8c1883e58551a25ff9516337d947c6fd2c7b449601a89a4518286d61dbca76417265289782a7a08540d8e78a3ea1cd1427d43d87e24813261c0fee SHA512 3d32e2ad998adfbaea5fe0ffcbbe6659dcb530a110faed5f2712ae2fd767353b1fc3f1ac83a24d43138c1bfc55949e645833a428ab982be14415887fc46d9fab
AUX tomcat.conf 1811 BLAKE2B a92606e113172c6f0f73e18ab8ad8796f38bd8c741bb2fd1f6c43d7682728729d0198d4150e42282c7e732750231b7cdbfb51de9b24f2ba780a22700965113c5 SHA512 0747dd2fdad6c68123425adce39f625d34924ae3e7c9d5a00361565a593047d7a4d01dee64c1ef831e5ad79b51750babaf642b0588d4b5948bbed441d53d654d
-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-8.5.38-src.tar.gz 5253678 BLAKE2B b2ecc732128934a3afa314ddc569b1b3d330ccb12b99b0ce4b12e1952347ac57cafb3a5637595997a0c9e77752ae41665e637c826c3b9ae9925799124e735480 SHA512 b84d96fa972a9d24957ef047cdce0fb49de3d365401b07990eaa5bad8f3c87a6b1ad1eac077c4be595ee291daef68720381fe63461815de47664275b486ceeee
DIST apache-tomcat-9.0.14-src.tar.gz 5472704 BLAKE2B ee533afd733dacbe4a20baadb4c5dc9fa7620d695c1c57b1662894945731f978508b45ef0d8169068c13ba862804868f12d3e494873643589b9f57bc9ec0a342 SHA512 46119f6ae9003b7a178dd5158c1eae3b5116461e73c5d78cd763bff82b80f282ff08cee5175cf850d3f209af900677e93bab31c556035a6eaf6aae86a5d42fc6
+DIST apache-tomcat-9.0.16-src.tar.gz 5654943 BLAKE2B a412457c2d34367301b4335a3a4bf46a647f8e60440be751874e1eaad400a0832b64fcae4c9f81585a4afbddafd75f2929bc78c12eb05b20539b11de686dfecc SHA512 60fbdefbddaa6fac4bc9d0ca4c1d9a119dd53063fd4574c474daf5f346fddc9cb7fd174f1be189e965d5ae4670710347d84fcf443c7df01faac9a1b84ecb33ce
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-7.0.92.ebuild 4230 BLAKE2B 4a16e1282fff97b370a2b1b676fcaba190c3dd75ae6e0355cdebc32f97a43e244c135a8445862f5c8105af101563fcc4aced9a5a582ad3ed096870e7496c4ca1 SHA512 ae58f357dddbd7aa960c85c7f903cb8ba45d845ba93b836ad273c16a16672f34cce1bedf90d6e71b589c4bc112853184f2fc7a3ad20bfd79bbd6d291b6fe0892
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-8.5.38.ebuild 4611 BLAKE2B 1ebc6c2eda263ab66957c68625ee2e0047e0038c33f79a47c3b04d18433c47ac07f0038471d7e9e059d290ab34900fe4ffc40d6785ec193fc5523e0cfe1ebc18 SHA512 c6c8008050c04919fc277a68dac04a346b196ce3f8001fe5aa86081ba94b696db6c43dcc6ccfe9ef04b8b6f3f1935d266bd210b922f4133e1fad66d8ad8dda6f
EBUILD tomcat-9.0.14.ebuild 5433 BLAKE2B b347fa0d21bd81df62c6cda9d16d7669a83c404216b0919d13907058c0a1fe3510f46b857aac01a70cd0e08276ae3c1e9bbe89098c2f0a8c04712c5e97553660 SHA512 5014cd47e3355184552bf3fd98215506dd36cf8919efd8cc1cc624d8243f2bc7800490c13f7625966b46fe63bd7bc47cbbcc89e150d5907771a3838bd5326cf7
+EBUILD tomcat-9.0.16.ebuild 5513 BLAKE2B 2675ab6497b53e3f02d88dfd419ead40db3e20df8ffb447218b772d9c5bca9a696190b523b4ea104d056a312619532c3478695171968eadea013b5b1962116b0 SHA512 0880a152d77a9b9db7e2fdd360208d20ae8ffea03a76f3b40ed4288a03f6c7d3dd3dd261d5942234a58806184885bd8eb1faa35590d8c434b0835fda73bf70b6
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-9.0.16-build.xml.patch b/www-servers/tomcat/files/tomcat-9.0.16-build.xml.patch
new file mode 100644
index 000000000000..8712be138e01
--- /dev/null
+++ b/www-servers/tomcat/files/tomcat-9.0.16-build.xml.patch
@@ -0,0 +1,265 @@
+diff --git a/build.xml b/build.xml
+index e5c5076..72231a6 100644
+--- a/build.xml
++++ b/build.xml
+@@ -742,6 +742,7 @@
+ addOSGi="true" />
+
+ <!-- Servlet 4.0 Implementation JAR File -->
++<!--
+ <jarIt jarfile="${servlet-api.jar}"
+ filesDir="${tomcat.classes}"
+ filesId="files.servlet-api"
+@@ -749,21 +750,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}"
+@@ -1114,9 +1117,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">
+@@ -1176,7 +1179,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" />
+@@ -1212,7 +1215,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}"
+@@ -1227,7 +1230,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}"
+@@ -1330,9 +1333,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
+@@ -1785,11 +1790,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.
+@@ -1799,6 +1805,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+
+ <target name="javadoc" depends="dist-source"
+ description="Create the Tomcat javadoc" >
++<!--
+ <javadoc packagenames="javax.servlet.*"
+ excludepackagenames="javax.servlet.jsp.*"
+ sourcepath="${tomcat.dist}/src/java"
+@@ -1860,6 +1867,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"
+@@ -1898,9 +1906,11 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+ <path refid="compile.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/"/>
+@@ -2616,7 +2626,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">
+@@ -2671,7 +2681,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}"/>
+@@ -2749,7 +2759,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}"/>
+@@ -2804,13 +2814,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>
+@@ -2932,7 +2942,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}"/>
+@@ -2949,7 +2959,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}"/>
+@@ -2974,7 +2984,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}"/>
+@@ -2990,7 +3000,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}"/>
+@@ -3014,7 +3024,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}"/>
+@@ -3029,7 +3039,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}"/>
+@@ -3057,7 +3067,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>
+@@ -3068,7 +3078,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>
+@@ -3079,7 +3089,7 @@ skip.installer property in build.properties" />
+
+ <target name="ide-eclipse"
+ depends="download-compile, 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"/>
+@@ -3097,7 +3107,7 @@ Read the Building page on the Apache Tomcat documentation site for details on ho
+
+ <target name="ide-intellij"
+ depends="download-compile, download-test-compile"
+- description="Creates project directory .idea for IntelliJ IDEA">
++ description="Creates project directory .idea for IntelliJ IDEA" unless="noget">
+
+ <copy todir="${tomcat.home}/.idea">
+ <fileset dir="${tomcat.home}/res/ide-support/idea"/>
diff --git a/www-servers/tomcat/tomcat-7.0.92.ebuild b/www-servers/tomcat/tomcat-7.0.92.ebuild
index 1df725b2158c..9acd6b92a2e4 100644
--- a/www-servers/tomcat/tomcat-7.0.92.ebuild
+++ b/www-servers/tomcat/tomcat-7.0.92.ebuild
@@ -15,7 +15,7 @@ SRC_URI="mirror://apache/${PN}/tomcat-7/v${PV}/src/${MY_P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="7"
-KEYWORDS="~amd64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
+KEYWORDS="amd64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
IUSE="extra-webapps websockets"
RESTRICT="test" # can we run them on a production system?
diff --git a/www-servers/tomcat/tomcat-7.0.90.ebuild b/www-servers/tomcat/tomcat-8.5.38.ebuild
index 9acd6b92a2e4..19c5ce31a3ef 100644
--- a/www-servers/tomcat/tomcat-7.0.90.ebuild
+++ b/www-servers/tomcat/tomcat-8.5.38.ebuild
@@ -9,28 +9,33 @@ inherit eutils java-pkg-2 java-ant-2 prefix user
MY_P="apache-${P}-src"
-DESCRIPTION="Tomcat Servlet-3.0/JSP-2.2 Container"
+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-7/v${PV}/src/${MY_P}.tar.gz"
+SRC_URI="mirror://apache/${PN}/tomcat-8/v${PV}/src/${MY_P}.tar.gz"
LICENSE="Apache-2.0"
-SLOT="7"
-KEYWORDS="amd64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="extra-webapps websockets"
+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.0"
+SAPI_SLOT="3.1"
COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT}
- dev-java/tomcat-servlet-api:${SAPI_SLOT}"
+ >=dev-java/tomcat-servlet-api-${SLOT}:${SAPI_SLOT}"
RDEPEND="${COMMON_DEP}
- virtual/jre
- !<dev-java/tomcat-native-1.1.24"
+ !<dev-java/tomcat-native-1.1.24
+ >=virtual/jre-1.7"
DEPEND="${COMMON_DEP}
- virtual/jdk:1.8
- test? ( dev-java/ant-junit:0 )"
+ 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}
@@ -43,12 +48,12 @@ pkg_setup() {
src_prepare() {
default
+ find -name '*.jar' -type f -delete -print || die
+
# Remove bundled servlet-api
rm -rv java/javax/{el,servlet} || die
- java-pkg_clean
-
- eapply "${FILESDIR}/${PN}-7.0.84-build.xml.patch"
+ eapply "${FILESDIR}/${PN}-8.5.37-build.xml.patch"
# For use of catalina.sh in netbeans
sed -i -e "/^# ----- Execute The Requested Command/ a\
@@ -62,16 +67,16 @@ 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"
+EANT_EXTRA_ARGS="-Dversion=${PV}-gentoo -Dversion.number=${PV} -Dcompile.debug=false -Dexecute.validate=false"
# revisions of the scripts
-IM_REV="-r1"
+IM_REV="-r2"
INIT_REV="-r1"
src_compile() {
- use websockets && EANT_EXTRA_ARGS+=" -Djava.7.home=${JAVA_HOME}"
EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjar --build-only ant-core ant.jar)"
java-pkg-2_src_compile
}
@@ -97,6 +102,13 @@ src_install() {
### 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}
@@ -109,7 +121,7 @@ src_install() {
fperms 0750 "${dest}"/logs
# replace the default pw with a random one, see #92281
- local randpw=$(echo ${RANDOM}|md5sum|cut -c 1-15)
+ 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
diff --git a/www-servers/tomcat/tomcat-9.0.16.ebuild b/www-servers/tomcat/tomcat-9.0.16.ebuild
new file mode 100644
index 000000000000..e6cda13656f0
--- /dev/null
+++ b/www-servers/tomcat/tomcat-9.0.16.ebuild
@@ -0,0 +1,182 @@
+# 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/glassfish-xmlrpc-api:0
+ dev-java/tomcat-servlet-api:${SAPI_SLOT}
+ dev-java/wsdl4j:0"
+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},glassfish-xmlrpc-api,wsdl4j"
+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."
+}
diff --git a/www-servers/uwsgi/Manifest b/www-servers/uwsgi/Manifest
index 7813aebfde39..cd60f31cbdf2 100644
--- a/www-servers/uwsgi/Manifest
+++ b/www-servers/uwsgi/Manifest
@@ -5,7 +5,9 @@ AUX uwsgi.confd-r4 1849 BLAKE2B 80afdf7a5ebc520d887061aba9f7cd64b1bca06d3da478d8
AUX uwsgi.initd-r7 3746 BLAKE2B a56c5f4e32ccb415fab10f357e2a7404179285e656d9f886809da281b214e2110c76e2cf8826d8fd90aba01262a5edc7a941522ff59348972c5a4325c784b9b9 SHA512 81ed974fb2957e05c890cab29f5b5a75845e6b7de899d2695fb2fa5f49b4545daa437c81c8dc5c735b24a45655cf6320c9256bc8faa7e32ffd7a2d981922def5
DIST uwsgi-2.0.17.1.tar.gz 800156 BLAKE2B a8697263e6e7689c0062a06a9fdb1101a2df72e0ac9122b5f8a0acc78bbdbdeaa96faa1c8870b9c3a43e2e1fb5fc835e708e1bc3d0171ae746467b4734dc299d SHA512 10d357961fde3a3f5f8e77986cc647313f95a33243e24c2afc482fce21df68a8ae48f90e7b5b76d7edc3cf8fd474d99823d6d60ef7477349abc65a319222f11b
DIST uwsgi-2.0.17.tar.gz 798642 BLAKE2B 86efb2103efaeedb37ebb00de4c01477162d119ae3dea0dc0696385216e30ff2c74eb48576f86eb181b8ada4b9eaa63b0aa761e966e3301597633d33b81142e1 SHA512 639427fbb89a1c2610c1cafb6ff009398a3c0a8e27c3de3f00829428271ba97b64b1253368dd6150912cf44441052be2a63cbe81613bbe964be27ee2e570d2b2
-EBUILD uwsgi-2.0.17.1-r1.ebuild 12295 BLAKE2B b0161a92002e10b0ff52b6b8ba176c5cdd14123361db1dc70a29699cdaf4b857d3e2f6a77194ce65444cf0812d7a2e9309fcac053240eb65ac54b0036e7ac438 SHA512 224895ed2051b67a7f41c9d268cb7afdf2d6167a7a1e2bc0d61d6ba012eb44a4be95a1d33e04cb50e4f6bda934de4ea2864fd72326049434f3c443412c5f1f53
-EBUILD uwsgi-2.0.17.1.ebuild 12776 BLAKE2B b64029a6b42b9ce2143940a8fd6dd4b485608d387710b911f25b026752fea585f7058e3ac125ce08560bfca08c8bed41a9abc80b348ee11b2cf8abd788521d38 SHA512 02233ce930b73f7b605cb96a1f8f5fda4a78f100a4d89d3ab8afeaccccb600ab97b800d0c0033b61d1e4d868bb3b3d69304b9698f91f3d8929d85c6936662513
-EBUILD uwsgi-2.0.17.ebuild 12836 BLAKE2B fd66096fef520da676395ffb80e7f2d6893459a653d7ba1fb19922488ab2734ac267edf1ad1fe9624f3367a8fc709546ece2398b87625059cc9d4a7042a7fe3c SHA512 3712520d98bc55fd60a4417a5d616b6955b2ce04b935e23218ac718cc6d6447fe0bb81cc1545a674d18983c8d21470979feac61c2ba2d978adebb39aea68ea11
+DIST uwsgi-2.0.18.tar.gz 801555 BLAKE2B d8008e751fd699474a1b7d6276c10b3d2f1ebd0ca325e45bfb3b13f81e88de20e4e7389cd6aa9c8b3daa964d9b11524ee71e93717ed9762bf021471f6a2c09fa SHA512 6561703279bcc4a81311d033810ac066d0f113bab13b0942f3eef86cac29c584a6641b52476840d6895151aee5ed064ae2d03b18932cf7f47e62f4eeed76da61
+EBUILD uwsgi-2.0.17.1-r1.ebuild 12295 BLAKE2B 5b616f71d40cb6f395cc0c8a3403e01e486ef3e8b981627dbb9fd3aee709bbb82a23f70ab676804d3ec1a954cd0575a74bae9241603591a056feb0aa546c3965 SHA512 c378f545b9b63499f14962f28a117f3349c9bb3d5dc57a83e68195212eff224f2a2511bdd70b88de5e6c67ad17f4721b00a83292071c5ebd1c17fa9ec0a88c1f
+EBUILD uwsgi-2.0.17.1.ebuild 12776 BLAKE2B 168f3a2d7554d8f61455cfd6a1845dab38a70a8c0a42730621c3d5f3b12c45d14f24c732d6eac9304c82d67a80735368d241ec7b6e80bcbba66c71d9fdde16e8 SHA512 b6682d0330c944abc4fa523a683023d017737a5ce06acfc68a89d694e03918d90ab5b603b0c03b78ae3f359b88aac17701f9edd3ea85cd57c2df3bd78a6d28c7
+EBUILD uwsgi-2.0.17.ebuild 12836 BLAKE2B d6139be1455da0bde6958613016c77e36b93542e99d7225f4550cdaf8fbc30b7902e9d113e73d942f42bd9f1efeaa4e1bc5eec4697399bd56e42843ebdd2f8dc SHA512 91b1a45a90a039876c32ff0bbcd985d5bfe91087a03d020d5101e1b42d3e1a17dd722c3c593d6a2f94f1f7d775639e13fc303e0e7f7e8660a5d8e6eb885d33ac
+EBUILD uwsgi-2.0.18.ebuild 12295 BLAKE2B 5b616f71d40cb6f395cc0c8a3403e01e486ef3e8b981627dbb9fd3aee709bbb82a23f70ab676804d3ec1a954cd0575a74bae9241603591a056feb0aa546c3965 SHA512 c378f545b9b63499f14962f28a117f3349c9bb3d5dc57a83e68195212eff224f2a2511bdd70b88de5e6c67ad17f4721b00a83292071c5ebd1c17fa9ec0a88c1f
MISC metadata.xml 1508 BLAKE2B 22125c58eed49b27100421613726f650e78bba0fb712eea2a3e122862101f34803636c12fa98cdb7483dbfad00e51cba6419ee4a93d43e5116530cb43e6778b2 SHA512 4a925a03e1ff9fedf6d7d4ad9673fdf12caaf6d9b2c4ce5cce01b964ae50294451b6d2f820121dfbe8a9288d0ae62180acc243a07ab1b365e10fef65adff2a02
diff --git a/www-servers/uwsgi/uwsgi-2.0.17.1-r1.ebuild b/www-servers/uwsgi/uwsgi-2.0.17.1-r1.ebuild
index 4baa3deaef85..08f75a25f172 100644
--- a/www-servers/uwsgi/uwsgi-2.0.17.1-r1.ebuild
+++ b/www-servers/uwsgi/uwsgi-2.0.17.1-r1.ebuild
@@ -12,7 +12,7 @@ USE_RUBY="ruby23 ruby24 ruby25"
PHP_EXT_INI="no"
PHP_EXT_NAME="dummy"
PHP_EXT_OPTIONAL_USE="php"
-USE_PHP="php5-6 php7-0 php7-1 php7-2" # deps must be registered separately below
+USE_PHP="php5-6 php7-1 php7-2 php7-3" # deps must be registered separately below
MY_P="${P/_/-}"
@@ -117,9 +117,9 @@ CDEPEND="
perl? ( dev-lang/perl:= )
php? (
php_targets_php5-6? ( dev-lang/php:5.6[embed] )
- php_targets_php7-0? ( dev-lang/php:7.0[embed] )
php_targets_php7-1? ( dev-lang/php:7.1[embed] )
php_targets_php7-2? ( dev-lang/php:7.2[embed] )
+ php_targets_php7-3? ( dev-lang/php:7.3[embed] )
)
pypy? ( virtual/pypy )
python? ( ${PYTHON_DEPS} )
diff --git a/www-servers/uwsgi/uwsgi-2.0.17.1.ebuild b/www-servers/uwsgi/uwsgi-2.0.17.1.ebuild
index 54a77a5c73b5..953baaab672c 100644
--- a/www-servers/uwsgi/uwsgi-2.0.17.1.ebuild
+++ b/www-servers/uwsgi/uwsgi-2.0.17.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -12,7 +12,7 @@ USE_RUBY="ruby23 ruby24"
PHP_EXT_INI="no"
PHP_EXT_NAME="dummy"
PHP_EXT_OPTIONAL_USE="php"
-USE_PHP="php5-6 php7-0 php7-1 php7-2" # deps must be registered separately below
+USE_PHP="php5-6 php7-1 php7-2 php7-3" # deps must be registered separately below
MY_P="${P/_/-}"
@@ -112,9 +112,9 @@ CDEPEND="sys-libs/zlib
perl? ( dev-lang/perl:= )
php? (
php_targets_php5-6? ( dev-lang/php:5.6[embed] )
- php_targets_php7-0? ( dev-lang/php:7.0[embed] )
php_targets_php7-1? ( dev-lang/php:7.1[embed] )
php_targets_php7-2? ( dev-lang/php:7.2[embed] )
+ php_targets_php7-3? ( dev-lang/php:7.3[embed] )
)
pypy? ( virtual/pypy )
python? ( ${PYTHON_DEPS} )
diff --git a/www-servers/uwsgi/uwsgi-2.0.17.ebuild b/www-servers/uwsgi/uwsgi-2.0.17.ebuild
index 799cf972f8b2..9b2f7f849142 100644
--- a/www-servers/uwsgi/uwsgi-2.0.17.ebuild
+++ b/www-servers/uwsgi/uwsgi-2.0.17.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
@@ -12,7 +12,7 @@ USE_RUBY="ruby23 ruby24"
PHP_EXT_INI="no"
PHP_EXT_NAME="dummy"
PHP_EXT_OPTIONAL_USE="php"
-USE_PHP="php5-6 php7-0 php7-1 php7-2" # deps must be registered separately below
+USE_PHP="php5-6 php7-1 php7-2 php7-3" # deps must be registered separately below
MY_P="${P/_/-}"
@@ -112,9 +112,9 @@ CDEPEND="sys-libs/zlib
perl? ( dev-lang/perl:= )
php? (
php_targets_php5-6? ( dev-lang/php:5.6[embed] )
- php_targets_php7-0? ( dev-lang/php:7.0[embed] )
php_targets_php7-1? ( dev-lang/php:7.1[embed] )
php_targets_php7-2? ( dev-lang/php:7.2[embed] )
+ php_targets_php7-3? ( dev-lang/php:7.3[embed] )
)
pypy? ( virtual/pypy )
python? ( ${PYTHON_DEPS} )
diff --git a/www-servers/uwsgi/uwsgi-2.0.18.ebuild b/www-servers/uwsgi/uwsgi-2.0.18.ebuild
new file mode 100644
index 000000000000..08f75a25f172
--- /dev/null
+++ b/www-servers/uwsgi/uwsgi-2.0.18.ebuild
@@ -0,0 +1,400 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} pypy )
+PYTHON_REQ_USE="threads(+)"
+
+RUBY_OPTIONAL="yes"
+USE_RUBY="ruby23 ruby24 ruby25"
+
+PHP_EXT_INI="no"
+PHP_EXT_NAME="dummy"
+PHP_EXT_OPTIONAL_USE="php"
+USE_PHP="php5-6 php7-1 php7-2 php7-3" # deps must be registered separately below
+
+MY_P="${P/_/-}"
+
+inherit eapi7-ver eutils flag-o-matic multilib pax-utils php-ext-source-r3 python-r1 ruby-ng
+
+DESCRIPTION="uWSGI server for Python web applications"
+HOMEPAGE="http://projects.unbit.it/uwsgi/"
+SRC_URI="https://github.com/unbit/uwsgi/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux"
+
+UWSGI_PLUGINS_STD=( ping cache carbon nagios rpc rrdtool
+ http ugreen signal syslog rsyslog
+ router_{uwsgi,redirect,basicauth,rewrite,http,cache,static,memcached,redis,hash,expires,metrics}
+ {core,fast,raw,ssl}router
+ redislog mongodblog log{file,socket}
+ spooler cheaper_busyness symcall
+ transformation_{chunked,gzip,offload,tofile}
+ zergpool )
+UWSGI_PLUGINS_OPT=( alarm_{curl,xmpp} clock_{monotonic,realtime} curl_cron
+ dumbloop echo emperor_{amqp,pg,zeromq} forkptyrouter
+ geoip graylog2 legion_cache_fetch ldap log{crypto,pipe} notfound pam
+ rados router_{access,radius,spnego,xmldir}
+ sqlite ssi stats_pusher_statsd
+ systemd_logger transformation_toupper tuntap webdav xattr xslt zabbix )
+
+LANG_SUPPORT_SIMPLE=( cgi mono perl ) # plugins which can be built in the main build process
+LANG_SUPPORT_EXTENDED=( go lua php pypy python python_asyncio python_gevent ruby )
+
+# plugins to be ignored (for now):
+# cheaper_backlog2: example plugin
+# coroae: TODO
+# cplusplus: partially example code, needs explicit class
+# dummy: no idea
+# example: example plugin
+# exception_log: example plugin
+# *java*: TODO
+# v8: TODO
+# matheval: TODO
+IUSE="apache2 +caps debug +embedded expat jemalloc json libressl +pcre +routing selinux +ssl +xml yajl yaml zeromq"
+
+for plugin in ${UWSGI_PLUGINS_STD[@]}; do IUSE="${IUSE} +uwsgi_plugins_${plugin}"; done
+for plugin in ${UWSGI_PLUGINS_OPT[@]}; do IUSE="${IUSE} uwsgi_plugins_${plugin}"; done
+IUSE="${IUSE} ${LANG_SUPPORT_SIMPLE[@]} ${LANG_SUPPORT_EXTENDED[@]}"
+
+REQUIRED_USE="|| ( ${LANG_SUPPORT_SIMPLE[@]} ${LANG_SUPPORT_EXTENDED[@]} )
+ uwsgi_plugins_logcrypto? ( ssl )
+ uwsgi_plugins_sslrouter? ( ssl )
+ routing? ( pcre )
+ uwsgi_plugins_emperor_zeromq? ( zeromq )
+ uwsgi_plugins_forkptyrouter? ( uwsgi_plugins_corerouter )
+ uwsgi_plugins_router_xmldir? ( xml !expat )
+ pypy? ( python_targets_python2_7 )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ python_asyncio? ( || ( python_targets_python3_4 python_targets_python3_5 python_targets_python3_6 python_targets_python3_7 ) )
+ python_gevent? ( python )
+ expat? ( xml )"
+
+# util-linux is required for libuuid when requesting zeromq support
+# Order:
+# 1. Unconditional
+# 2. General features
+# 3. Plugins
+# 4. Language/app support
+CDEPEND="
+ sys-libs/zlib
+ caps? ( sys-libs/libcap )
+ json? (
+ !yajl? ( dev-libs/jansson )
+ yajl? ( dev-libs/yajl )
+ )
+ pcre? ( dev-libs/libpcre:3 )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl )
+ )
+ xml? (
+ !expat? ( dev-libs/libxml2 )
+ expat? ( dev-libs/expat )
+ )
+ yaml? ( dev-libs/libyaml )
+ zeromq? ( net-libs/zeromq sys-apps/util-linux )
+ uwsgi_plugins_alarm_curl? ( net-misc/curl )
+ uwsgi_plugins_alarm_xmpp? ( net-libs/gloox )
+ uwsgi_plugins_curl_cron? ( net-misc/curl )
+ uwsgi_plugins_emperor_pg? ( dev-db/postgresql:= )
+ uwsgi_plugins_geoip? ( dev-libs/geoip )
+ uwsgi_plugins_ldap? ( net-nds/openldap )
+ uwsgi_plugins_pam? ( virtual/pam )
+ uwsgi_plugins_sqlite? ( dev-db/sqlite:3 )
+ uwsgi_plugins_rados? ( sys-cluster/ceph )
+ uwsgi_plugins_router_access? ( sys-apps/tcp-wrappers )
+ uwsgi_plugins_router_spnego? ( virtual/krb5 )
+ uwsgi_plugins_systemd_logger? ( sys-apps/systemd )
+ uwsgi_plugins_webdav? ( dev-libs/libxml2 )
+ uwsgi_plugins_xslt? ( dev-libs/libxslt )
+ go? ( dev-lang/go:=[gccgo] )
+ lua? ( dev-lang/lua:= )
+ mono? ( dev-lang/mono:= )
+ perl? ( dev-lang/perl:= )
+ php? (
+ php_targets_php5-6? ( dev-lang/php:5.6[embed] )
+ php_targets_php7-1? ( dev-lang/php:7.1[embed] )
+ php_targets_php7-2? ( dev-lang/php:7.2[embed] )
+ php_targets_php7-3? ( dev-lang/php:7.3[embed] )
+ )
+ pypy? ( virtual/pypy )
+ python? ( ${PYTHON_DEPS} )
+ python_asyncio? ( virtual/python-greenlet[${PYTHON_USEDEP}] )
+ python_gevent? ( >=dev-python/gevent-1.3.5[${PYTHON_USEDEP}] )
+ ruby? ( $(ruby_implementations_depend) )"
+DEPEND="${CDEPEND}
+ virtual/pkgconfig"
+RDEPEND="${CDEPEND}
+ selinux? ( sec-policy/selinux-uwsgi )
+ uwsgi_plugins_rrdtool? ( net-analyzer/rrdtool )"
+
+S="${WORKDIR}/${MY_P}"
+
+src_unpack() {
+ echo ${PYTHON_USEDEP}
+ default
+}
+
+pkg_setup() {
+ python_setup
+ use ruby && ruby-ng_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e "s|'-O2', ||" \
+ -e "s|'-Werror', ||" \
+ -e "s|uc.get('plugin_dir')|uc.get('plugin_build_dir')|" \
+ uwsgiconfig.py || die "sed failed"
+
+ sed -i \
+ -e "s|/lib|/$(get_libdir)|" \
+ plugins/php/uwsgiplugin.py || die "sed failed"
+}
+
+src_configure() {
+ local embedded_plugins=()
+ local plugins=()
+ local malloc_impl="libc"
+ local json="false"
+ local xml="false"
+
+ for p in ${UWSGI_PLUGINS_STD[@]} ${UWSGI_PLUGINS_OPT[@]} ; do
+ use uwsgi_plugins_${p} && embedded_plugins+=("${p}")
+ done
+ for p in ${LANG_SUPPORT_SIMPLE[@]} ; do
+ use ${p} && plugins+=("${p}")
+ done
+
+ # do not embed any plugins
+ if ! use embedded; then
+ plugins=( ${plugins[@]} ${embedded_plugins[@]} )
+ embedded_plugins=()
+ fi
+
+ # flatten the arrays
+ plugins=${plugins[@]}
+ embedded_plugins=${embedded_plugins[@]}
+
+ # rename some of the use flags, language plugins are always real plugins
+ plugins="${plugins/perl/psgi}"
+ plugins="${plugins/sqlite/sqlite3}"
+ embedded_plugins="${embedded_plugins/sqlite/sqlite3}"
+
+ # override defaults as requested by the user
+ if use xml; then
+ use expat && xml="expat" || xml="libxml2"
+ fi
+ if use json; then
+ use yajl && json="yajl" || json="jansson"
+ fi
+ use jemalloc && malloc_impl="jemalloc"
+
+ # prepare the buildconf for gentoo
+ cp "${FILESDIR}"/gentoo.buildconf buildconf/gentoo.ini || die
+ sed -i \
+ -e "s|VAR_XML|${xml}|" \
+ -e "s|VAR_YAML|$(usex yaml libyaml true)|" \
+ -e "s|VAR_JSON|${json}|" \
+ -e "s|VAR_SSL|$(usex ssl true false)|" \
+ -e "s|VAR_PCRE|$(usex pcre true false)|" \
+ -e "s|VAR_ZMQ|$(usex zeromq true false)|" \
+ -e "s|VAR_ROUTING|$(usex routing true false)|" \
+ -e "s|VAR_DEBUG|$(usex debug true false)|" \
+ -e "s|VAR_MALLOC|${malloc_impl}|" \
+ -e "s|VAR_PLUGINS|${plugins// /, }|" \
+ -e "s|VAR_PLUGIN_DIR|${EPREFIX}/usr/$(get_libdir)/uwsgi|" \
+ -e "s|VAR_BUILD_DIR|${T}/plugins|" \
+ -e "s|VAR_EMBEDDED|${embedded_plugins// /, }|" \
+ buildconf/gentoo.ini || die "sed failed"
+
+ if ! use caps; then
+ sed -i -e 's|sys/capability.h|DISABLED|' uwsgiconfig.py || die "sed failed"
+ fi
+
+ if ! use zeromq; then
+ sed -i -e 's|uuid/uuid.h|DISABLED|' uwsgiconfig.py || die "sed failed"
+ fi
+
+ if use uwsgi_plugins_emperor_pg ; then
+ PGPV="$(best_version dev-db/postgresql)"
+ PGSLOT="$(ver_cut 1-2 ${PGPV##dev-db/postgresql-})"
+ sed -i \
+ -e "s|pg_config|pg_config${PGSLOT/.}|" \
+ plugins/emperor_pg/uwsgiplugin.py || die "sed failed"
+ fi
+}
+
+each_ruby_compile() {
+ cd "${WORKDIR}/${MY_P}" || die "sed failed"
+
+ UWSGICONFIG_RUBYPATH="${RUBY}" python uwsgiconfig.py --plugin plugins/rack gentoo rack_${RUBY##*/} || die "building plugin for ${RUBY} failed"
+ UWSGICONFIG_RUBYPATH="${RUBY}" python uwsgiconfig.py --plugin plugins/fiber gentoo fiber_${RUBY##*/}|| die "building fiber plugin for ${RUBY} failed"
+ UWSGICONFIG_RUBYPATH="${RUBY}" python uwsgiconfig.py --plugin plugins/rbthreads gentoo rbthreads_${RUBY##*/}|| die "building rbthreads plugin for ${RUBY} failed"
+}
+
+python_compile_plugins() {
+ local EPYV
+ local PYV
+ EPYV=${EPYTHON/.}
+ PYV=${EPYV/python}
+
+ if [[ ${EPYTHON} == pypy* ]]; then
+ einfo "skipping because pypy is not meant to build plugins on its own"
+ return
+ fi
+
+ ${PYTHON} uwsgiconfig.py --plugin plugins/python gentoo ${EPYV} || die "building plugin for ${EPYTHON} failed"
+
+ if use python_asyncio ; then
+ if [[ "${PYV}" != "27" ]] ; then
+ ${PYTHON} uwsgiconfig.py --plugin plugins/asyncio gentoo asyncio${PYV} || die "building plugin for asyncio-support in ${EPYTHON} failed"
+ fi
+ fi
+
+ if use python_gevent ; then
+ ${PYTHON} uwsgiconfig.py --plugin plugins/gevent gentoo gevent${PYV} || die "building plugin for gevent-support in ${EPYTHON} failed"
+ fi
+
+ if use python_gevent || use python_asyncio; then
+ ${PYTHON} uwsgiconfig.py --plugin plugins/greenlet gentoo greenlet${PYV} || die "building plugin for greenlet-support in ${EPYTHON} failed"
+ fi
+
+ if use pypy ; then
+ if [[ "${PYV}" == "27" ]] ; then
+ # TODO: do some proper patching ? The wiki didn't help... I gave up for now.
+ # QA: RWX --- --- usr/lib64/uwsgi/pypy_plugin.so
+ append-ldflags -Wl,-z,noexecstack
+ ${PYTHON} uwsgiconfig.py --plugin plugins/pypy gentoo pypy || die "building plugin for pypy-support in ${EPYTHON} failed"
+ fi
+ fi
+}
+
+python_install_symlinks() {
+ dosym uwsgi /usr/bin/uwsgi_${EPYTHON/.}
+}
+
+src_compile() {
+ mkdir -p "${T}/plugins" || die
+
+ python uwsgiconfig.py --build gentoo || die "building uwsgi failed"
+
+ if use go ; then
+ python uwsgiconfig.py --plugin plugins/gccgo gentoo || die "building plugin for go failed"
+ fi
+
+ if use lua ; then
+ # setting the name for the pkg-config file to lua, since we don't have
+ # slotted lua
+ UWSGICONFIG_LUAPC="lua" python uwsgiconfig.py --plugin plugins/lua gentoo || die "building plugin for lua failed"
+ fi
+
+ if use php ; then
+ for s in $(php_get_slots); do
+ UWSGICONFIG_PHPDIR="/usr/$(get_libdir)/${s}" python uwsgiconfig.py --plugin plugins/php gentoo ${s/.} || die "building plugin for ${s} failed"
+ done
+ fi
+
+ if use python ; then
+ python_foreach_impl python_compile_plugins
+ fi
+
+ if use ruby ; then
+ ruby-ng_src_compile
+ fi
+}
+
+src_install() {
+ dobin uwsgi
+ pax-mark m "${D}"/usr/bin/uwsgi
+
+ insinto /usr/$(get_libdir)/uwsgi
+ doins "${T}/plugins"/*.so
+
+ use cgi && dosym uwsgi /usr/bin/uwsgi_cgi
+ use go && dosym uwsgi /usr/bin/uwsgi_go
+ use lua && dosym uwsgi /usr/bin/uwsgi_lua
+ use mono && dosym uwsgi /usr/bin/uwsgi_mono
+ use perl && dosym uwsgi /usr/bin/uwsgi_psgi
+
+ if use php ; then
+ for s in $(php_get_slots); do
+ dosym uwsgi /usr/bin/uwsgi_${s/.}
+ done
+ fi
+
+ if use python ; then
+ python_foreach_impl python_install_symlinks
+ python_foreach_impl python_domodule uwsgidecorators.py
+ fi
+
+ newinitd "${FILESDIR}"/uwsgi.initd-r7 uwsgi
+ newconfd "${FILESDIR}"/uwsgi.confd-r4 uwsgi
+ keepdir /etc/"${PN}".d
+ use uwsgi_plugins_spooler && keepdir /var/spool/"${PN}"
+}
+
+pkg_postinst() {
+ if use apache2 ; then
+ ewarn "As reported on bug #650776 [1], Apache module mod_proxy_uwsgi"
+ ewarn "is being transferred to upstream Apache since 2.4.30, see [2]."
+ ewarn "We therefore do not build them any more."
+ ewarn " [1] https://bugs.gentoo.org/650776"
+ ewarn " [2] https://github.com/unbit/uwsgi/issues/1636"
+ fi
+
+ elog "Append the following options to the uwsgi call to load the respective language plugin:"
+ use cgi && elog " '--plugins cgi' for cgi"
+ use lua && elog " '--plugins lua' for lua"
+ use mono && elog " '--plugins mono' for mono"
+ use perl && elog " '--plugins psgi' for perl"
+
+ if use php ; then
+ for s in $(php_get_slots); do
+ elog " '--plugins ${s/.}' for ${s}"
+ done
+ fi
+
+ python_pkg_postinst() {
+ local EPYV
+ local PYV
+ EPYV=${EPYTHON/.}
+ PYV=${EPYV/python}
+
+ if [[ ${EPYTHON} == pypy* ]] ; then
+ elog " '--plugins pypy' for pypy"
+ return
+ fi
+
+ elog " "
+ elog " '--plugins ${EPYV}' for ${EPYTHON}"
+ if use python_asyncio ; then
+ if [[ ${EPYV} == python34 ]] ; then
+ elog " '--plugins ${EPYV},asyncio${PYV}' for asyncio support in ${EPYTHON}"
+ else
+ elog " (asyncio is only supported in python3.4)"
+ fi
+ fi
+ if use python_gevent ; then
+ elog " '--plugins ${EPYV},gevent${PYV}' for gevent support in ${EPYTHON}"
+ fi
+ }
+
+ use python && python_foreach_impl python_pkg_postinst
+
+ if use ruby ; then
+ for ruby in $USE_RUBY; do
+ if use ruby_targets_${ruby} ; then
+ elog " '--plugins rack_${ruby/.}' for ${ruby}"
+ elog " '--plugins fiber_${ruby/.}' for ${ruby} fibers"
+ elog " '--plugins rbthreads_${ruby/.}' for ${ruby} rbthreads"
+ fi
+ done
+ fi
+}