From 9452a6e87b6c2c70513bc47a2470bf9f1168920e Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 13 Jun 2020 10:39:22 +0100 Subject: gentoo resync : 13.06.2020 --- www-servers/Manifest.gz | Bin 5215 -> 5223 bytes www-servers/gunicorn/Manifest | 6 +- www-servers/gunicorn/gunicorn-19.9.0.ebuild | 15 +- www-servers/gunicorn/gunicorn-20.0.4.ebuild | 35 + www-servers/gunicorn/metadata.xml | 4 + www-servers/lighttpd/Manifest | 2 +- www-servers/lighttpd/lighttpd-1.4.55.ebuild | 2 +- www-servers/nginx-unit/Manifest | 2 + www-servers/nginx-unit/nginx-unit-1.18.0.ebuild | 79 ++ www-servers/nginx/Manifest | 3 +- www-servers/nginx/nginx-1.19.0-r1.ebuild | 1093 +++++++++++++++++++++ www-servers/nginx/nginx-1.19.0.ebuild | 1093 --------------------- www-servers/puma/Manifest | 2 +- www-servers/puma/puma-4.3.3.ebuild | 2 +- www-servers/spawn-fcgi/Manifest | 2 +- www-servers/spawn-fcgi/spawn-fcgi-1.6.4-r1.ebuild | 4 +- www-servers/tomcat/Manifest | 8 +- www-servers/tomcat/tomcat-7.0.103.ebuild | 146 --- www-servers/tomcat/tomcat-8.5.54.ebuild | 158 --- www-servers/tomcat/tomcat-8.5.56.ebuild | 158 +++ www-servers/tomcat/tomcat-9.0.36.ebuild | 181 ++++ www-servers/tornado/Manifest | 2 +- www-servers/tornado/tornado-6.0.4.ebuild | 2 +- www-servers/uwsgi/Manifest | 6 +- www-servers/uwsgi/uwsgi-2.0.17.1-r1.ebuild | 376 ------- www-servers/uwsgi/uwsgi-2.0.17.ebuild | 388 -------- www-servers/uwsgi/uwsgi-2.0.18.ebuild | 2 +- 27 files changed, 1578 insertions(+), 2193 deletions(-) create mode 100644 www-servers/gunicorn/gunicorn-20.0.4.ebuild create mode 100644 www-servers/nginx-unit/nginx-unit-1.18.0.ebuild create mode 100644 www-servers/nginx/nginx-1.19.0-r1.ebuild delete mode 100644 www-servers/nginx/nginx-1.19.0.ebuild delete mode 100644 www-servers/tomcat/tomcat-7.0.103.ebuild delete mode 100644 www-servers/tomcat/tomcat-8.5.54.ebuild create mode 100644 www-servers/tomcat/tomcat-8.5.56.ebuild create mode 100644 www-servers/tomcat/tomcat-9.0.36.ebuild delete mode 100644 www-servers/uwsgi/uwsgi-2.0.17.1-r1.ebuild delete mode 100644 www-servers/uwsgi/uwsgi-2.0.17.ebuild (limited to 'www-servers') diff --git a/www-servers/Manifest.gz b/www-servers/Manifest.gz index 4ffc90a8df5a..a3a600ec42e0 100644 Binary files a/www-servers/Manifest.gz and b/www-servers/Manifest.gz differ diff --git a/www-servers/gunicorn/Manifest b/www-servers/gunicorn/Manifest index ffdd7303402e..e0dd7f399808 100644 --- a/www-servers/gunicorn/Manifest +++ b/www-servers/gunicorn/Manifest @@ -1,5 +1,7 @@ DIST gunicorn-19.8.1.tar.gz 415541 BLAKE2B f0eefc4ff24052320b4dfaac3fc2523487f8dbb63365a9a3c52bc411b4d8f6150f348c709cae94dc4acb45e7fda534cf462d0339abc0325230d3560f76ce3241 SHA512 7f7fcbcde20b70d3a2faad595e08a028530348895f784eddcb35f24b3d5a7955edfc5b68aac4630243798fa37d41b7e869ec0d454dc80700c2630ba2cc39afc0 DIST gunicorn-19.9.0.tar.gz 415774 BLAKE2B 1ac920e3a02aff434d2458cbcacd821df428e2dceeb0ee5a10c8cc449e49c0252980847bfcee02633f791c05aa086b37f5b50f9fd535acee6deb8a18dd1c24f8 SHA512 4a89f963daa7afe7741a4fb9aa4f14192429ac0e9ba5672547d683475dd2f2733efeed903ec99db9d831e2b05b9ed9e583e3cfec483a1b481d897aa77373e8a3 +DIST gunicorn-20.0.4.tar.gz 373841 BLAKE2B d6f0b5b901697ebc6ee987af5766174a845de8bfad03ce95638ed087b92175e9b2f0e9a49fda70f8f9c6fdc15e1ef1a431c069270af068fb29780abcedf63fc3 SHA512 706620f165e36c178a6d3e65f51a9bb7746abd40dfc7c0f1b3b523771be953dd03b36111f192407aef474ad44afdffd11b6502e51376d11465ffac2255822d5e EBUILD gunicorn-19.8.1.ebuild 1171 BLAKE2B a8c6b1dcbb749db4dcf60b8c26111045be976f28559b2cb4a7f7ef1536dae320a0f7060bd572bdc2998dab0003230ad1688ca4c28130c70757702504222998e6 SHA512 ab4761df1c5e57b7aa87095de97915126007055a87cac29866a603604c47ef4f25886cdef723de8b36eccdbfd7b2ed835832b54b827ed3f27c97cee0c30a90f5 -EBUILD gunicorn-19.9.0.ebuild 1013 BLAKE2B 6e30bbc1a0daafe10ff55a05817543d3b4343f5cb3f6c2567bec0d6f00a5353d75ca3ab264e42c2e6af1115f77e4640c8ca6e31d28f93c5719354c063f6c057a SHA512 83518408d3a1205de0e8d5fdb4b813daf2ae7df9b45ebf0d8297fb76332d31a6d8982228dfa575909204409659c7e274e0080c222bb418dd75ae7eab5c5947c8 -MISC metadata.xml 707 BLAKE2B baa7ba91610f10f6acc7298c6bbecb030b2d6dcda9a2f0c642f24ee27edbab38baea8bc231d7fbfc9f60459faa13bb05e548a8f7680b735c8c1005d00db2a3ee SHA512 ee74f9e811231c840235bccb318ffd99e7ff765a13efe285dfd870ff343d8e64b5190d5afd6589b6367f0f8cec8e699de8ae19d8da5e9a9f22cb7eb9e3539c0a +EBUILD gunicorn-19.9.0.ebuild 923 BLAKE2B d6a784321f92ca5b2cc04f077a7d18bc24a1371867607b3813820e5089ce36f2f41ac38fae36b00fb1c8c2fbee9a36398624bc3823072c2eba50e3e8848f18c7 SHA512 f14c034ae4d0fa97483b80df04e5bba6ca4219b8944d38cbd43a21c91daafe001331985f1bda79fb9be81bac55db6fce2a64be489a91db37c723af452d563a7a +EBUILD gunicorn-20.0.4.ebuild 859 BLAKE2B 69200f06fb8b724de78bbfc53c273d6fbeee24183707cfa4e58f3b9e6a085d71a44f244e63a07bc011cd23c5c13e65250a6e8749eebb0e2cb958c536d2957f87 SHA512 e84d1c06e6559708a197fbdf876201c527a1ac1218e370edc3f628df37dbb19ff7e0d2c09e8ac63764187bd6c60bba665a7a66c027dd4a6ff6fe3feeca298fc9 +MISC metadata.xml 808 BLAKE2B d23e87c5659aed0bcb8a8719d3eb3a862ddff635b231ae01b3928cd6f33cd073b5b054742ed806a9dc408528c3a843a06e5db4c6a252beaaace6873d798468f7 SHA512 c420223f8e7f0b3ec1fb82091e38a85087ca814b16051dfd783e54d8af5fdb811086887a5f1e7177f8bcd37e098ab6244e3e8ecf38c6a3fa9941c2933b38e1c0 diff --git a/www-servers/gunicorn/gunicorn-19.9.0.ebuild b/www-servers/gunicorn/gunicorn-19.9.0.ebuild index a3c4673b2fcb..7a3d0bb71655 100644 --- a/www-servers/gunicorn/gunicorn-19.9.0.ebuild +++ b/www-servers/gunicorn/gunicorn-19.9.0.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{6,7,8} ) +PYTHON_COMPAT=( python3_{6..9} ) inherit distutils-r1 @@ -13,25 +13,22 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" LICENSE="MIT PSF-2 doc? ( BSD )" SLOT="0" KEYWORDS="amd64 ~arm ~arm64 x86" -IUSE="test" -RESTRICT="!test? ( test )" RDEPEND="dev-python/setproctitle[${PYTHON_USEDEP}]" -DEPEND=" - dev-python/setuptools[${PYTHON_USEDEP}] +BDEPEND=" test? ( dev-python/mock[${PYTHON_USEDEP}] - dev-python/pytest[${PYTHON_USEDEP}] - dev-python/pytest-cov[${PYTHON_USEDEP}] dev-python/unittest2[${PYTHON_USEDEP}] )" DOCS="README.rst" distutils_enable_sphinx 'docs/source' --no-autodoc +distutils_enable_tests pytest -python_test() { - py.test -v || die "Testing failed with ${EPYTHON}" +src_prepare() { + sed -e 's:--cov=gunicorn --cov-report=xml::' -i setup.cfg || die + distutils-r1_src_prepare } python_install_all() { diff --git a/www-servers/gunicorn/gunicorn-20.0.4.ebuild b/www-servers/gunicorn/gunicorn-20.0.4.ebuild new file mode 100644 index 000000000000..1c881d642a18 --- /dev/null +++ b/www-servers/gunicorn/gunicorn-20.0.4.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DISTUTILS_USE_SETUPTOOLS=rdepend +PYTHON_COMPAT=( python3_{6..9} ) + +inherit distutils-r1 + +DESCRIPTION="A WSGI HTTP Server for UNIX" +HOMEPAGE="https://gunicorn.org https://pypi.org/project/gunicorn https://github.com/benoitc/gunicorn" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="MIT PSF-2 doc? ( BSD )" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" + +RDEPEND="dev-python/setproctitle[${PYTHON_USEDEP}]" + +DOCS="README.rst" + +distutils_enable_sphinx 'docs/source' --no-autodoc +distutils_enable_tests pytest + +src_prepare() { + sed -e 's:--cov=gunicorn --cov-report=xml::' -i setup.cfg || die + distutils-r1_src_prepare +} + +python_install_all() { + use doc && local HTML_DOCS=( docs/source/_build/html/. ) + + distutils-r1_python_install_all +} diff --git a/www-servers/gunicorn/metadata.xml b/www-servers/gunicorn/metadata.xml index 96e0eb804f85..63bf1bf57b34 100644 --- a/www-servers/gunicorn/metadata.xml +++ b/www-servers/gunicorn/metadata.xml @@ -5,6 +5,10 @@ rafaelmartins@gentoo.org Rafael G. Martins + + python@gentoo.org + Python + Gunicorn 'Green Unicorn' is a Python WSGI HTTP Server for UNIX. It's a pre-fork worker model ported from Ruby's Unicorn project. The Gunicorn diff --git a/www-servers/lighttpd/Manifest b/www-servers/lighttpd/Manifest index b3d589c539e0..70fbb645c5eb 100644 --- a/www-servers/lighttpd/Manifest +++ b/www-servers/lighttpd/Manifest @@ -12,5 +12,5 @@ DIST lighttpd-1.4.54.tar.xz 763248 BLAKE2B 0425dde326dc514a55790256ab7f3e6c70441 DIST lighttpd-1.4.55.tar.xz 765660 BLAKE2B 7b972de86e7d1a51438718e4d5bd49188c107b0f2e656ead597085ae84f3d41cdb662a7774c6655155d390c26f3e4f0b0dc4243c85cb0255a91d8ca57742f402 SHA512 023d5a54079e710a89a59e259c0b5798103ef6fce4544c36110dc4c5281ef429ef99369923d74123fcf8be37afe622d44cd7149078d21971ff26f3f4ee37c439 EBUILD lighttpd-1.4.53.ebuild 6303 BLAKE2B ae48e8ae92bbd8e2c1ee85295c86313ca0ef89ffcc072ecf18eacfd35f69b11e14c1d2b6ac3aaec4d8a4628b19a89089df046522f797c8c297f8cdf05b19c867 SHA512 61dcef0c80df1a4424c6d60c139eb131b2b34a54e0e1c7aca139a40d6bde296ab093dc94e40aa4efce3d70f8f19b790bf15dcd651239beecc34a9cf89cf19dc6 EBUILD lighttpd-1.4.54.ebuild 6303 BLAKE2B f4ecaa6978ac36604fb957da70623c757ccb218f39f147b0e9206df824dc61e6e072b28aeecc1f605e374c1be84fe08c74320ee1ed3f69600628f72c66cd14c6 SHA512 29e0627567c92cdeb5ee3ffc916dd5e69f2edc219b6fb16a0b377f5505392898e08706f7c1aabe31eb9874d46badf9a64c5b8b0d9b7666977fb325b0a1a52118 -EBUILD lighttpd-1.4.55.ebuild 6303 BLAKE2B f4ecaa6978ac36604fb957da70623c757ccb218f39f147b0e9206df824dc61e6e072b28aeecc1f605e374c1be84fe08c74320ee1ed3f69600628f72c66cd14c6 SHA512 29e0627567c92cdeb5ee3ffc916dd5e69f2edc219b6fb16a0b377f5505392898e08706f7c1aabe31eb9874d46badf9a64c5b8b0d9b7666977fb325b0a1a52118 +EBUILD lighttpd-1.4.55.ebuild 6297 BLAKE2B 4c57797d202579ebe39c1597b05473164071bebdbf679c812a204c419eeafb3fb85e77fbbc57946215e21bf601d6e6168eb56d2a70fcfd09d434226ee7cfc121 SHA512 f9a3abcb45b4e9b1f1fb6d943039ae19bf571c0416aaac6916fda1619a8a1c58d13a70a7a4a5c2d0d550cb07ca542f4aac73910c3d251ebe2ad71dda7800445d MISC metadata.xml 1054 BLAKE2B caf21b255e5eb1fc5300edf62d928b933540613492333abd65dc2c0ae89f5a22c18467ff4ab90b2b0582b4f1eff9bad21eeca91bca9c034377280c9ec022b1f9 SHA512 a773d9b8da2f118b148943c4f78662f26aaea5def18abc37ba39bb539fb31449beb04b8e9f1a09ce893ae07aaea2e2fabb42bcba47c5e9100db1f1ef3bf9ea82 diff --git a/www-servers/lighttpd/lighttpd-1.4.55.ebuild b/www-servers/lighttpd/lighttpd-1.4.55.ebuild index 7da64c598215..2b73b7f581ef 100644 --- a/www-servers/lighttpd/lighttpd-1.4.55.ebuild +++ b/www-servers/lighttpd/lighttpd-1.4.55.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://download.lighttpd.net/lighttpd/releases-1.4.x/${P}.tar.xz" LICENSE="BSD GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86" IUSE="bzip2 dbi doc fam gdbm geoip ipv6 kerberos ldap libev libressl lua minimal mmap memcached mysql pcre php postgres rrdtool sasl selinux ssl sqlite test webdav xattr zlib" RESTRICT="!test? ( test )" diff --git a/www-servers/nginx-unit/Manifest b/www-servers/nginx-unit/Manifest index a2064903d19c..a0b953ef0a54 100644 --- a/www-servers/nginx-unit/Manifest +++ b/www-servers/nginx-unit/Manifest @@ -1,4 +1,6 @@ AUX nginx-unit.initd 288 BLAKE2B 94caaeee62d93cdb3b9240bc6563fabe9b273b2125f9ec0c1ae0a2b079bef89b94f7e3a748d649a0840595f46047cee7ea388bd9514d1da88bb4a041a4a2c8ef SHA512 52a788e21a9aaa90a470a7861cd9856e3c2d2c52e3b4a23276c8b43e2a22f6f5aaec78caaf5f449463f1b856e0ffd83515e583f0ced00eada2d0afc00949ca77 DIST nginx-unit-1.17.0.tar.gz 726928 BLAKE2B d171f2f818302cb0f491ccc3ca93596ee52817647cf1f2f176ebed075cb1dd5772f133d9e925075fe72d826a63b4c4debddace8784612196ebe6b6655d70571b SHA512 4175fc6dd84ad8a3bbdc117d3ce0c7a11c708a7a204ade0bb40f5606f6923e351bb1a8f1f8394c09cdf12fdc20bc927920412dc4b41d3141f76482db047c4bed +DIST nginx-unit-1.18.0.tar.gz 742273 BLAKE2B d856aadb07286acb944a7bd486fc8c548db0412f8e4e2bec0382aa719d743ee22208c20ccf50466e3d592e29690abfacbfd6d4c44b1369bdc5a61ca2765bd3d2 SHA512 2beac69caeb09278a6c2cdafe20a8040e589f9ad6e302c896cd396ae7d576f563dd6a480f815b4a26d22e15592b5abcd927a8ba436517bd9b9bbb78bff3176ff EBUILD nginx-unit-1.17.0.ebuild 1953 BLAKE2B 8942de82799f70fae7997d63d34a9fe2f5ea056d288c3b07ca83e1dc36b68604959fd847bb291838a8bcffbd0bef0e084ec097c70e6c9368859437f79dcda3a7 SHA512 27ca570d72ebabaa53584dfcb66757692aa49b13133dde98a60dda1ec67b9cfb0d3ce78e3ea884e7355d3f55510179d5bb509d73ad793a03a6939aed4d14ffe4 +EBUILD nginx-unit-1.18.0.ebuild 1954 BLAKE2B a889f8b1f34ea66df35e682bf26f7e22462076efad22cc6f6cb41c182ee80bd4c7687c8742b5364ecfac3dd5a04d148fedbef3b6ad70ba123aa7697060603f87 SHA512 21ec634694b9761493395d4ca72193840e152e16888f777ca382e96a6e3743583a0368854081373b6730e0ceea212a6100ab7c5c8938285afc617a206788cd67 MISC metadata.xml 949 BLAKE2B 47faacf65d957c617419ef5183d99b77421bd45dd4499263eda7097fecc73633a085c05833e5b375e70865c4b12e6e02e224fdded5fed0e9eee19d44eb525e26 SHA512 c8073b3eea6233733ac01329aab48e51dd43fc6deb9c8ca8b482dbcb3df781069d750d0002f203309cebf64890d517b1ed900a9cda62e4a028fd2fd721a7f5c7 diff --git a/www-servers/nginx-unit/nginx-unit-1.18.0.ebuild b/www-servers/nginx-unit/nginx-unit-1.18.0.ebuild new file mode 100644 index 000000000000..ac0c6c8fc956 --- /dev/null +++ b/www-servers/nginx-unit/nginx-unit-1.18.0.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=(python3_{6,7,8}) + +inherit flag-o-matic python-single-r1 toolchain-funcs + +MY_P="unit-${PV}" +DESCRIPTION="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="php7-2 php7-3 php7-4" +IUSE="${MY_USE} ${MY_USE_PHP} ssl" +REQUIRED_USE="|| ( ${IUSE} ) + python? ( ${PYTHON_REQUIRED_USE} )" + +DEPEND="perl? ( dev-lang/perl:= ) + php7-2? ( dev-lang/php:7.2[embed] ) + php7-3? ( dev-lang/php:7.3[embed] ) + php7-4? ( dev-lang/php:7.4[embed] ) + python? ( ${PYTHON_DEPS} ) + ruby? ( dev-lang/ruby:* ) + ssl? ( dev-libs/openssl:0 )" +RDEPEND="${DEPEND}" +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + eapply_user + sed -i '/^CFLAGS/d' auto/make || die +} + +src_configure() { + local opt=( + --control=unix:/run/${PN}.sock + --log=/var/log/${PN} + --modules=$(get_libdir)/${PN} + --pid=/run/${PN}.pid + --prefix=/usr + --state=/var/lib/${PN} + ) + use ssl && opt+=( --openssl ) + export AR="$(tc-getAR)" + export CC="$(tc-getCC)" + ./configure ${opt[@]} --ld-opt="${LDFLAGS}" || die "Core configuration failed" + # Modules require position-independent code + append-cflags $(test-flags-CC -fPIC) + 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/Manifest b/www-servers/nginx/Manifest index c76d01c2d5bd..fe2eb6559d69 100644 --- a/www-servers/nginx/Manifest +++ b/www-servers/nginx/Manifest @@ -27,7 +27,6 @@ DIST ngx_http_fancyindex-0.4.4.tar.gz 26292 BLAKE2B a1ed76cb31cd4f7a349bcbe63d75 DIST ngx_http_geoip2_module-3.3.tar.gz 8509 BLAKE2B 4841e1bdd13b9b85f34732d1eb7447638f62bb09e1bd480da0fa8b0085d3b2d90a740732ef534c355feb71d7db613c73f68a4e6e3624b47a0937be046dfa1f8d SHA512 06963b598c54e22d75ce837fb222f5aa6c9494c29e558ff46f1205d7159fc305414bfac4ed3288c836dcbf7628d92f26458e1992d34fc2f4b73275a32847bdc0 DIST ngx_http_headers_more-0.33.tar.gz 28130 BLAKE2B fe3097a7700ce5da087058f7bb44c95164b75137031187400473f6833bf0e33e5c4920807225a6ff94174fe7dbd6186cca176a33a629ca0911faab6804bdd12a SHA512 13165b1b8d4be281b8bd2404fa48d456013d560bace094c81da08a35dc6a4f025a809a3ae3a42be6bbf67abbcbe41e0730aba06f905220f3baeb01e1192a7d37 DIST ngx_http_lua-0.10.15.tar.gz 655110 BLAKE2B 73bf8e2f157c93f3d4e54b5aa63deb266731a10e3e48b2257756efee8d752e86440ca9c27bd27bc1d90075a5ffb58772eecb7c445db44cd055d2b9e0b4bac082 SHA512 1feea538464275e6e571860592628ad639b2259c8aab7f38575b81c0b355f1ade32a91643267bc9ec16519e3bcf3d132511513dc8c949f74a3bff975c85d8ff7 -DIST ngx_http_lua-0.10.16rc5.tar.gz 646734 BLAKE2B a122bd16999fa45303dc9a860a992c22c31ad64f56df5ab9f90274b91a1c073cbb29e29a1befc347a11f1024926b51ee5f1cac154beff63359beeaafbc5b0fe3 SHA512 da98161be84a4f829cb105ee46e5c1e3c91d2d3b473b0bee26fb1c4dec00137c814f37996b83e52d898ec1ff43e3bd5178b1621cb6e3ec6bc1629896ac6e7110 DIST ngx_http_naxsi-0.56.tar.gz 192120 BLAKE2B cdbfc278f346ccdc0d5407d70ddd4740816d9fe786d3d65189d47e6f3b030c02352a30ed86bf1650139a21a8408e74c1ec7d7aa3512df1428870279ab384dd15 SHA512 4660751849bce303af6010b7257532404710106a94817e78d4bc4b566f8019620f24f30207f1d4366b88132a5124e34b164dc67ed80b6710f4bad66115564cbd DIST ngx_http_push_stream-0.5.4.tar.gz 183493 BLAKE2B ccae3113071cee38fa6a7accd580922dc2fc9fa22af737f400c2c5f59352d93ca6cceb47f2aee70dfc111afdf98d27aeb64ddc5a4dbf617359ea4da09486ac7f SHA512 467ae49409adb675979ff591f98df8c96d71ab5ebc2ef9b3c9430e38e7e84d311b4a98c2b1cb1886d895735223dd2a43370aab61b57b34adb1427c184e6b8c86 DIST ngx_http_slowfs_cache-1.10.tar.gz 11809 BLAKE2B 54ec1bd0d1cc43cdaafc93ebd46b33374c57351c7f022eae0351d6961680abb03d896e7f058e67c43c4fee300253354feccb92d00e62bf91250e251e1860ec03 SHA512 fbc9609a8d6913aeefe535f206b9e53477503f131934ead2ae5a6169e395af2f5fb54778704824d5eeb22a4ef40a11ebbcde580db62a631f70edcc2cfc06b15d @@ -40,5 +39,5 @@ DIST ngx_mogilefs_module-1.0.4.tar.gz 11208 BLAKE2B e0729b66554c8890727190a624d4 DIST ngx_rtmp-1.2.1.tar.gz 519919 BLAKE2B 744ccb8031eb9653f158f9eceba64fc9c8af7b9a42e64ef996ab3bbbe1402e5ffd3efcc8e4aaca437eb5e208e4b6f2d8643fcca953b32f32543eaa1ae4d9505c SHA512 4a0af5e9afa4deb0b53de8de7ddb2cfa6430d372e1ef9e421f01b509548bd134d427345442ac1ce667338cc2a1484dc2ab732e316e878ac7d3537dc527d5f922 DIST njs-0.4.1.tar.gz 422917 BLAKE2B 8a6b9c06b74256289636e06437a8160a0e91767959cd2c4dde4f6769437b2654cd2aa6e65902251bd135429c87ef497f7137ffe0afee72c2723d147db8615810 SHA512 58ae280be37ac0402886281837b82a7038ea62d3bde5a0857d8008806937b2d11fe4984986b1e40bd9528ee8d2f5aac271346dc387f30930161cc2b41aa08998 EBUILD nginx-1.18.0-r1.ebuild 40661 BLAKE2B cf9eb996481901b29b34fb5538f92fa85ef59baa5d7672dc9d9be90e350315ccee32f5c78e70d5697914873c8b383ec4d21531c6afe7b7149b114bcf9e1f9e14 SHA512 9b58768f7b0b2b214bebda3ee36c45478ad79aa0615ebe07478a37a72ec1c5e849afa9edf46df6c37eccc89dfde1dc73b8205df1ec556e6000f03ff4fe318cba -EBUILD nginx-1.19.0.ebuild 40666 BLAKE2B ecfe54b153249daca1a53b545edc4f4119c52b4e96781372f92ac62d2ea71d5ddfd5d953ad42214d9624bdf3aa1f0090324e6e48d513a0508dcc043ab7c9947c SHA512 aab734b75f015dc82f9840d75353748beec5b84d543f0d27d789b2585d62e5482b75a5355809f82dcf5bceb325d7486d2a93baeeb745dc0c428b2c7acf9ee3b9 +EBUILD nginx-1.19.0-r1.ebuild 40663 BLAKE2B 6322ac6bfbe2801f41263a3757b673c24650b79bceef15fc8152dce753f9f248ad411e71239c24532597e1c7d3b3a1bd9f30baafd3d6f20ced87ed7b3a91c1c5 SHA512 03d9a202db43be165654a99f4f58521c6960fe5068c5f5eabbd4fcf4ecbc210a602df4ac27f665c32d9ff5d9386850aa8d39a499dae7ecab427db5a0e8988f49 MISC metadata.xml 1193 BLAKE2B aeb293cf75ed650c946910222d6396f726dc5ed49f1213e6a5664613d78e3b27616399bc1c9f0a360f5303b16931da7016cdf540b24601afafc3ada4428b33a9 SHA512 a96002bc9845bc465542c753c738899b77ad7a32fac7f5f9a7049336868bc41199e926422e3dc23e47f34656c9aaea255511d2ef91e9d59f48c9cd0b4a3c4903 diff --git a/www-servers/nginx/nginx-1.19.0-r1.ebuild b/www-servers/nginx/nginx-1.19.0-r1.ebuild new file mode 100644 index 000000000000..fafd960ce178 --- /dev/null +++ b/www-servers/nginx/nginx-1.19.0-r1.ebuild @@ -0,0 +1,1093 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +# Maintainer notes: +# - http_rewrite-independent pcre-support makes sense for matching locations without an actual rewrite +# - any http-module activates the main http-functionality and overrides USE=-http +# - keep the following requirements in mind before adding external modules: +# * alive upstream +# * sane packaging +# * builds cleanly +# * does not need a patch for nginx core +# - TODO: test the google-perftools module (included in vanilla tarball) + +# prevent perl-module from adding automagic perl DEPENDs +GENTOO_DEPEND_ON_PERL="no" + +# devel_kit (https://github.com/simpl/ngx_devel_kit, BSD license) +DEVEL_KIT_MODULE_PV="0.3.1" +DEVEL_KIT_MODULE_P="ngx_devel_kit-${DEVEL_KIT_MODULE_PV}" +DEVEL_KIT_MODULE_URI="https://github.com/simpl/ngx_devel_kit/archive/v${DEVEL_KIT_MODULE_PV}.tar.gz" +DEVEL_KIT_MODULE_WD="${WORKDIR}/ngx_devel_kit-${DEVEL_KIT_MODULE_PV}" + +# ngx_brotli (https://github.com/eustas/ngx_brotli, BSD-2) +HTTP_BROTLI_MODULE_PV="25f86f0bac1101b6512135eac5f93c49c63609e3" +HTTP_BROTLI_MODULE_P="ngx_brotli-${HTTP_BROTLI_MODULE_PV}" +HTTP_BROTLI_MODULE_URI="https://github.com/google/ngx_brotli/archive/${HTTP_BROTLI_MODULE_PV}.tar.gz" +HTTP_BROTLI_MODULE_WD="${WORKDIR}/ngx_brotli-${HTTP_BROTLI_MODULE_PV}" + +# http_uploadprogress (https://github.com/masterzen/nginx-upload-progress-module, BSD-2 license) +HTTP_UPLOAD_PROGRESS_MODULE_PV="0.9.2" +HTTP_UPLOAD_PROGRESS_MODULE_P="ngx_http_upload_progress-${HTTP_UPLOAD_PROGRESS_MODULE_PV}-r1" +HTTP_UPLOAD_PROGRESS_MODULE_URI="https://github.com/masterzen/nginx-upload-progress-module/archive/v${HTTP_UPLOAD_PROGRESS_MODULE_PV}.tar.gz" +HTTP_UPLOAD_PROGRESS_MODULE_WD="${WORKDIR}/nginx-upload-progress-module-${HTTP_UPLOAD_PROGRESS_MODULE_PV}" + +# http_headers_more (https://github.com/agentzh/headers-more-nginx-module, BSD license) +HTTP_HEADERS_MORE_MODULE_PV="0.33" +HTTP_HEADERS_MORE_MODULE_P="ngx_http_headers_more-${HTTP_HEADERS_MORE_MODULE_PV}" +HTTP_HEADERS_MORE_MODULE_URI="https://github.com/agentzh/headers-more-nginx-module/archive/v${HTTP_HEADERS_MORE_MODULE_PV}.tar.gz" +HTTP_HEADERS_MORE_MODULE_WD="${WORKDIR}/headers-more-nginx-module-${HTTP_HEADERS_MORE_MODULE_PV}" + +# http_cache_purge (http://labs.frickle.com/nginx_ngx_cache_purge/, https://github.com/FRiCKLE/ngx_cache_purge, BSD-2 license) +HTTP_CACHE_PURGE_MODULE_PV="2.3" +HTTP_CACHE_PURGE_MODULE_P="ngx_http_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}" +HTTP_CACHE_PURGE_MODULE_URI="http://labs.frickle.com/files/ngx_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}.tar.gz" +HTTP_CACHE_PURGE_MODULE_WD="${WORKDIR}/ngx_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}" + +# http_slowfs_cache (http://labs.frickle.com/nginx_ngx_slowfs_cache/, BSD-2 license) +HTTP_SLOWFS_CACHE_MODULE_PV="1.10" +HTTP_SLOWFS_CACHE_MODULE_P="ngx_http_slowfs_cache-${HTTP_SLOWFS_CACHE_MODULE_PV}" +HTTP_SLOWFS_CACHE_MODULE_URI="http://labs.frickle.com/files/ngx_slowfs_cache-${HTTP_SLOWFS_CACHE_MODULE_PV}.tar.gz" +HTTP_SLOWFS_CACHE_MODULE_WD="${WORKDIR}/ngx_slowfs_cache-${HTTP_SLOWFS_CACHE_MODULE_PV}" + +# http_fancyindex (https://github.com/aperezdc/ngx-fancyindex, BSD license) +HTTP_FANCYINDEX_MODULE_PV="0.4.4" +HTTP_FANCYINDEX_MODULE_P="ngx_http_fancyindex-${HTTP_FANCYINDEX_MODULE_PV}" +HTTP_FANCYINDEX_MODULE_URI="https://github.com/aperezdc/ngx-fancyindex/archive/v${HTTP_FANCYINDEX_MODULE_PV}.tar.gz" +HTTP_FANCYINDEX_MODULE_WD="${WORKDIR}/ngx-fancyindex-${HTTP_FANCYINDEX_MODULE_PV}" + +# http_lua (https://github.com/openresty/lua-nginx-module, BSD license) +HTTP_LUA_MODULE_PV="0.10.15" +HTTP_LUA_MODULE_P="ngx_http_lua-${HTTP_LUA_MODULE_PV}" +HTTP_LUA_MODULE_URI="https://github.com/openresty/lua-nginx-module/archive/v${HTTP_LUA_MODULE_PV}.tar.gz" +HTTP_LUA_MODULE_WD="${WORKDIR}/lua-nginx-module-${HTTP_LUA_MODULE_PV}" + +# http_auth_pam (https://github.com/stogh/ngx_http_auth_pam_module/, http://web.iti.upv.es/~sto/nginx/, BSD-2 license) +HTTP_AUTH_PAM_MODULE_PV="1.5.1" +HTTP_AUTH_PAM_MODULE_P="ngx_http_auth_pam-${HTTP_AUTH_PAM_MODULE_PV}" +HTTP_AUTH_PAM_MODULE_URI="https://github.com/stogh/ngx_http_auth_pam_module/archive/v${HTTP_AUTH_PAM_MODULE_PV}.tar.gz" +HTTP_AUTH_PAM_MODULE_WD="${WORKDIR}/ngx_http_auth_pam_module-${HTTP_AUTH_PAM_MODULE_PV}" + +# http_upstream_check (https://github.com/yaoweibin/nginx_upstream_check_module, BSD license) +HTTP_UPSTREAM_CHECK_MODULE_PV="9aecf15ec379fe98f62355c57b60c0bc83296f04" +HTTP_UPSTREAM_CHECK_MODULE_P="ngx_http_upstream_check-${HTTP_UPSTREAM_CHECK_MODULE_PV}" +HTTP_UPSTREAM_CHECK_MODULE_URI="https://github.com/yaoweibin/nginx_upstream_check_module/archive/${HTTP_UPSTREAM_CHECK_MODULE_PV}.tar.gz" +HTTP_UPSTREAM_CHECK_MODULE_WD="${WORKDIR}/nginx_upstream_check_module-${HTTP_UPSTREAM_CHECK_MODULE_PV}" + +# http_metrics (https://github.com/zenops/ngx_metrics, BSD license) +HTTP_METRICS_MODULE_PV="0.1.1" +HTTP_METRICS_MODULE_P="ngx_metrics-${HTTP_METRICS_MODULE_PV}" +HTTP_METRICS_MODULE_URI="https://github.com/madvertise/ngx_metrics/archive/v${HTTP_METRICS_MODULE_PV}.tar.gz" +HTTP_METRICS_MODULE_WD="${WORKDIR}/ngx_metrics-${HTTP_METRICS_MODULE_PV}" + +# http_vhost_traffic_status (https://github.com/vozlt/nginx-module-vts, BSD license) +HTTP_VHOST_TRAFFIC_STATUS_MODULE_PV="46d85558e344dfe2b078ce757fd36c69a1ec2dd3" +HTTP_VHOST_TRAFFIC_STATUS_MODULE_P="ngx_http_vhost_traffic_status-${HTTP_VHOST_TRAFFIC_STATUS_MODULE_PV}" +HTTP_VHOST_TRAFFIC_STATUS_MODULE_URI="https://github.com/vozlt/nginx-module-vts/archive/${HTTP_VHOST_TRAFFIC_STATUS_MODULE_PV}.tar.gz" +HTTP_VHOST_TRAFFIC_STATUS_MODULE_WD="${WORKDIR}/nginx-module-vts-${HTTP_VHOST_TRAFFIC_STATUS_MODULE_PV}" + +# naxsi-core (https://github.com/nbs-system/naxsi, GPLv2+) +HTTP_NAXSI_MODULE_PV="0.56" +HTTP_NAXSI_MODULE_P="ngx_http_naxsi-${HTTP_NAXSI_MODULE_PV}" +HTTP_NAXSI_MODULE_URI="https://github.com/nbs-system/naxsi/archive/${HTTP_NAXSI_MODULE_PV}.tar.gz" +HTTP_NAXSI_MODULE_WD="${WORKDIR}/naxsi-${HTTP_NAXSI_MODULE_PV}/naxsi_src" + +# nginx-rtmp-module (https://github.com/arut/nginx-rtmp-module, BSD license) +RTMP_MODULE_PV="1.2.1" +RTMP_MODULE_P="ngx_rtmp-${RTMP_MODULE_PV}" +RTMP_MODULE_URI="https://github.com/arut/nginx-rtmp-module/archive/v${RTMP_MODULE_PV}.tar.gz" +RTMP_MODULE_WD="${WORKDIR}/nginx-rtmp-module-${RTMP_MODULE_PV}" + +# nginx-dav-ext-module (https://github.com/arut/nginx-dav-ext-module, BSD license) +HTTP_DAV_EXT_MODULE_PV="3.0.0" +HTTP_DAV_EXT_MODULE_P="ngx_http_dav_ext-${HTTP_DAV_EXT_MODULE_PV}" +HTTP_DAV_EXT_MODULE_URI="https://github.com/arut/nginx-dav-ext-module/archive/v${HTTP_DAV_EXT_MODULE_PV}.tar.gz" +HTTP_DAV_EXT_MODULE_WD="${WORKDIR}/nginx-dav-ext-module-${HTTP_DAV_EXT_MODULE_PV}" + +# echo-nginx-module (https://github.com/openresty/echo-nginx-module, BSD license) +HTTP_ECHO_MODULE_PV="0.62rc1" +HTTP_ECHO_MODULE_P="ngx_http_echo-${HTTP_ECHO_MODULE_PV}" +HTTP_ECHO_MODULE_URI="https://github.com/openresty/echo-nginx-module/archive/v${HTTP_ECHO_MODULE_PV}.tar.gz" +HTTP_ECHO_MODULE_WD="${WORKDIR}/echo-nginx-module-${HTTP_ECHO_MODULE_PV}" + +# mod_security for nginx (https://modsecurity.org/, Apache-2.0) +# keep the MODULE_P here consistent with upstream to avoid tarball duplication +HTTP_SECURITY_MODULE_PV="2.9.3" +HTTP_SECURITY_MODULE_P="modsecurity-${HTTP_SECURITY_MODULE_PV}" +HTTP_SECURITY_MODULE_URI="https://www.modsecurity.org/tarball/${HTTP_SECURITY_MODULE_PV}/${HTTP_SECURITY_MODULE_P}.tar.gz" +HTTP_SECURITY_MODULE_WD="${WORKDIR}/${HTTP_SECURITY_MODULE_P}" + +# push-stream-module (http://www.nginxpushstream.com, https://github.com/wandenberg/nginx-push-stream-module, GPL-3) +HTTP_PUSH_STREAM_MODULE_PV="0.5.4" +HTTP_PUSH_STREAM_MODULE_P="ngx_http_push_stream-${HTTP_PUSH_STREAM_MODULE_PV}" +HTTP_PUSH_STREAM_MODULE_URI="https://github.com/wandenberg/nginx-push-stream-module/archive/${HTTP_PUSH_STREAM_MODULE_PV}.tar.gz" +HTTP_PUSH_STREAM_MODULE_WD="${WORKDIR}/nginx-push-stream-module-${HTTP_PUSH_STREAM_MODULE_PV}" + +# sticky-module (https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng, BSD-2) +HTTP_STICKY_MODULE_PV="1.2.6-10-g08a395c66e42" +HTTP_STICKY_MODULE_P="nginx_http_sticky_module_ng-${HTTP_STICKY_MODULE_PV}" +HTTP_STICKY_MODULE_URI="https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/${HTTP_STICKY_MODULE_PV}.tar.bz2" +HTTP_STICKY_MODULE_WD="${WORKDIR}/nginx-goodies-nginx-sticky-module-ng-08a395c66e42" + +# mogilefs-module (https://github.com/vkholodkov/nginx-mogilefs-module, BSD-2) +HTTP_MOGILEFS_MODULE_PV="1.0.4" +HTTP_MOGILEFS_MODULE_P="ngx_mogilefs_module-${HTTP_MOGILEFS_MODULE_PV}" +HTTP_MOGILEFS_MODULE_URI="https://github.com/vkholodkov/nginx-mogilefs-module/archive/${HTTP_MOGILEFS_MODULE_PV}.tar.gz" +HTTP_MOGILEFS_MODULE_WD="${WORKDIR}/nginx_mogilefs_module-${HTTP_MOGILEFS_MODULE_PV}" + +# memc-module (https://github.com/openresty/memc-nginx-module, BSD-2) +HTTP_MEMC_MODULE_PV="0.19" +HTTP_MEMC_MODULE_P="ngx_memc_module-${HTTP_MEMC_MODULE_PV}" +HTTP_MEMC_MODULE_URI="https://github.com/openresty/memc-nginx-module/archive/v${HTTP_MEMC_MODULE_PV}.tar.gz" +HTTP_MEMC_MODULE_WD="${WORKDIR}/memc-nginx-module-${HTTP_MEMC_MODULE_PV}" + +# nginx-ldap-auth-module (https://github.com/kvspb/nginx-auth-ldap, BSD-2) +HTTP_LDAP_MODULE_PV="42d195d7a7575ebab1c369ad3fc5d78dc2c2669c" +HTTP_LDAP_MODULE_P="nginx-auth-ldap-${HTTP_LDAP_MODULE_PV}" +HTTP_LDAP_MODULE_URI="https://github.com/kvspb/nginx-auth-ldap/archive/${HTTP_LDAP_MODULE_PV}.tar.gz" +HTTP_LDAP_MODULE_WD="${WORKDIR}/nginx-auth-ldap-${HTTP_LDAP_MODULE_PV}" + +# geoip2 (https://github.com/leev/ngx_http_geoip2_module, BSD-2) +GEOIP2_MODULE_PV="3.3" +GEOIP2_MODULE_P="ngx_http_geoip2_module-${GEOIP2_MODULE_PV}" +GEOIP2_MODULE_URI="https://github.com/leev/ngx_http_geoip2_module/archive/${GEOIP2_MODULE_PV}.tar.gz" +GEOIP2_MODULE_WD="${WORKDIR}/ngx_http_geoip2_module-${GEOIP2_MODULE_PV}" + +# njs-module (https://github.com/nginx/njs, as-is) +NJS_MODULE_PV="0.4.1" +NJS_MODULE_P="njs-${NJS_MODULE_PV}" +NJS_MODULE_URI="https://github.com/nginx/njs/archive/${NJS_MODULE_PV}.tar.gz" +NJS_MODULE_WD="${WORKDIR}/njs-${NJS_MODULE_PV}" + +# We handle deps below ourselves +SSL_DEPS_SKIP=1 +AUTOTOOLS_AUTO_DEPEND="no" + +inherit autotools ssl-cert toolchain-funcs perl-module flag-o-matic user systemd versionator multilib pax-utils + +DESCRIPTION="Robust, small and high performance http and reverse proxy server" +HOMEPAGE="https://nginx.org" +SRC_URI="https://nginx.org/download/${P}.tar.gz + ${DEVEL_KIT_MODULE_URI} -> ${DEVEL_KIT_MODULE_P}.tar.gz + nginx_modules_http_auth_ldap? ( ${HTTP_LDAP_MODULE_URI} -> ${HTTP_LDAP_MODULE_P}.tar.gz ) + nginx_modules_http_auth_pam? ( ${HTTP_AUTH_PAM_MODULE_URI} -> ${HTTP_AUTH_PAM_MODULE_P}.tar.gz ) + nginx_modules_http_brotli? ( ${HTTP_BROTLI_MODULE_URI} -> ${HTTP_BROTLI_MODULE_P}.tar.gz ) + nginx_modules_http_cache_purge? ( ${HTTP_CACHE_PURGE_MODULE_URI} -> ${HTTP_CACHE_PURGE_MODULE_P}.tar.gz ) + nginx_modules_http_dav_ext? ( ${HTTP_DAV_EXT_MODULE_URI} -> ${HTTP_DAV_EXT_MODULE_P}.tar.gz ) + nginx_modules_http_echo? ( ${HTTP_ECHO_MODULE_URI} -> ${HTTP_ECHO_MODULE_P}.tar.gz ) + nginx_modules_http_fancyindex? ( ${HTTP_FANCYINDEX_MODULE_URI} -> ${HTTP_FANCYINDEX_MODULE_P}.tar.gz ) + nginx_modules_http_geoip2? ( ${GEOIP2_MODULE_URI} -> ${GEOIP2_MODULE_P}.tar.gz ) + nginx_modules_http_headers_more? ( ${HTTP_HEADERS_MORE_MODULE_URI} -> ${HTTP_HEADERS_MORE_MODULE_P}.tar.gz ) + nginx_modules_http_javascript? ( ${NJS_MODULE_URI} -> ${NJS_MODULE_P}.tar.gz ) + nginx_modules_http_lua? ( ${HTTP_LUA_MODULE_URI} -> ${HTTP_LUA_MODULE_P}.tar.gz ) + nginx_modules_http_memc? ( ${HTTP_MEMC_MODULE_URI} -> ${HTTP_MEMC_MODULE_P}.tar.gz ) + nginx_modules_http_metrics? ( ${HTTP_METRICS_MODULE_URI} -> ${HTTP_METRICS_MODULE_P}.tar.gz ) + nginx_modules_http_mogilefs? ( ${HTTP_MOGILEFS_MODULE_URI} -> ${HTTP_MOGILEFS_MODULE_P}.tar.gz ) + nginx_modules_http_naxsi? ( ${HTTP_NAXSI_MODULE_URI} -> ${HTTP_NAXSI_MODULE_P}.tar.gz ) + nginx_modules_http_push_stream? ( ${HTTP_PUSH_STREAM_MODULE_URI} -> ${HTTP_PUSH_STREAM_MODULE_P}.tar.gz ) + nginx_modules_http_security? ( ${HTTP_SECURITY_MODULE_URI} -> ${HTTP_SECURITY_MODULE_P}.tar.gz ) + nginx_modules_http_slowfs_cache? ( ${HTTP_SLOWFS_CACHE_MODULE_URI} -> ${HTTP_SLOWFS_CACHE_MODULE_P}.tar.gz ) + nginx_modules_http_sticky? ( ${HTTP_STICKY_MODULE_URI} -> ${HTTP_STICKY_MODULE_P}.tar.bz2 ) + nginx_modules_http_upload_progress? ( ${HTTP_UPLOAD_PROGRESS_MODULE_URI} -> ${HTTP_UPLOAD_PROGRESS_MODULE_P}.tar.gz ) + nginx_modules_http_upstream_check? ( ${HTTP_UPSTREAM_CHECK_MODULE_URI} -> ${HTTP_UPSTREAM_CHECK_MODULE_P}.tar.gz ) + nginx_modules_http_vhost_traffic_status? ( ${HTTP_VHOST_TRAFFIC_STATUS_MODULE_URI} -> ${HTTP_VHOST_TRAFFIC_STATUS_MODULE_P}.tar.gz ) + nginx_modules_stream_geoip2? ( ${GEOIP2_MODULE_URI} -> ${GEOIP2_MODULE_P}.tar.gz ) + nginx_modules_stream_javascript? ( ${NJS_MODULE_URI} -> ${NJS_MODULE_P}.tar.gz ) + rtmp? ( ${RTMP_MODULE_URI} -> ${RTMP_MODULE_P}.tar.gz )" + +LICENSE="BSD-2 BSD SSLeay MIT GPL-2 GPL-2+ + nginx_modules_http_security? ( Apache-2.0 ) + nginx_modules_http_push_stream? ( GPL-3 )" + +SLOT="mainline" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" + +# Package doesn't provide a real test suite +RESTRICT="test" + +NGINX_MODULES_STD="access auth_basic autoindex browser charset empty_gif + fastcgi geo grpc gzip limit_req limit_conn map memcached mirror + proxy referer rewrite scgi ssi split_clients upstream_hash + upstream_ip_hash upstream_keepalive upstream_least_conn + upstream_zone userid uwsgi" +NGINX_MODULES_OPT="addition auth_request dav degradation flv geoip gunzip + gzip_static image_filter mp4 perl random_index realip secure_link + slice stub_status sub xslt" +NGINX_MODULES_STREAM_STD="access geo limit_conn map return split_clients + upstream_hash upstream_least_conn upstream_zone" +NGINX_MODULES_STREAM_OPT="geoip realip ssl_preread" +NGINX_MODULES_MAIL="imap pop3 smtp" +NGINX_MODULES_3RD=" + http_auth_ldap + http_auth_pam + http_brotli + http_cache_purge + http_dav_ext + http_echo + http_fancyindex + http_geoip2 + http_headers_more + http_javascript + http_lua + http_memc + http_metrics + http_mogilefs + http_naxsi + http_push_stream + http_security + http_slowfs_cache + http_sticky + http_upload_progress + http_upstream_check + http_vhost_traffic_status + stream_geoip2 + stream_javascript +" + +IUSE="aio debug +http +http2 +http-cache +ipv6 libatomic libressl luajit +pcre + pcre-jit rtmp selinux ssl threads userland_GNU vim-syntax" + +for mod in $NGINX_MODULES_STD; do + IUSE="${IUSE} +nginx_modules_http_${mod}" +done + +for mod in $NGINX_MODULES_OPT; do + IUSE="${IUSE} nginx_modules_http_${mod}" +done + +for mod in $NGINX_MODULES_STREAM_STD; do + IUSE="${IUSE} nginx_modules_stream_${mod}" +done + +for mod in $NGINX_MODULES_STREAM_OPT; do + IUSE="${IUSE} nginx_modules_stream_${mod}" +done + +for mod in $NGINX_MODULES_MAIL; do + IUSE="${IUSE} nginx_modules_mail_${mod}" +done + +for mod in $NGINX_MODULES_3RD; do + IUSE="${IUSE} nginx_modules_${mod}" +done + +# Add so we can warn users updating about config changes +# @TODO: jbergstroem: remove on next release series +IUSE="${IUSE} nginx_modules_http_spdy" + +CDEPEND=" + pcre? ( dev-libs/libpcre:= ) + pcre-jit? ( dev-libs/libpcre:=[jit] ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:= ) + ) + http2? ( + !libressl? ( >=dev-libs/openssl-1.0.1c:0= ) + libressl? ( dev-libs/libressl:= ) + ) + http-cache? ( + userland_GNU? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:= ) + ) + ) + nginx_modules_http_brotli? ( app-arch/brotli:= ) + nginx_modules_http_geoip? ( dev-libs/geoip ) + nginx_modules_http_geoip2? ( dev-libs/libmaxminddb:= ) + nginx_modules_http_gunzip? ( sys-libs/zlib ) + nginx_modules_http_gzip? ( sys-libs/zlib ) + nginx_modules_http_gzip_static? ( sys-libs/zlib ) + nginx_modules_http_image_filter? ( media-libs/gd:=[jpeg,png] ) + nginx_modules_http_perl? ( >=dev-lang/perl-5.8:= ) + nginx_modules_http_rewrite? ( dev-libs/libpcre:= ) + nginx_modules_http_secure_link? ( + userland_GNU? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:= ) + ) + ) + nginx_modules_http_xslt? ( dev-libs/libxml2:= dev-libs/libxslt ) + nginx_modules_http_lua? ( dev-lang/luajit:2= ) + nginx_modules_http_auth_pam? ( sys-libs/pam ) + nginx_modules_http_metrics? ( dev-libs/yajl:= ) + nginx_modules_http_dav_ext? ( dev-libs/libxml2 ) + nginx_modules_http_security? ( + dev-libs/apr:= + dev-libs/apr-util:= + dev-libs/libxml2:= + net-misc/curl + www-servers/apache + ) + nginx_modules_http_auth_ldap? ( net-nds/openldap[ssl?] ) + nginx_modules_stream_geoip? ( dev-libs/geoip ) + nginx_modules_stream_geoip2? ( dev-libs/libmaxminddb:= )" +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-nginx ) + !www-servers/nginx:0" +DEPEND="${CDEPEND} + nginx_modules_http_brotli? ( virtual/pkgconfig ) + nginx_modules_http_security? ( ${AUTOTOOLS_DEPEND} ) + arm? ( dev-libs/libatomic_ops ) + libatomic? ( dev-libs/libatomic_ops )" +PDEPEND="vim-syntax? ( app-vim/nginx-syntax )" + +REQUIRED_USE="pcre-jit? ( pcre ) + nginx_modules_http_fancyindex? ( nginx_modules_http_addition ) + nginx_modules_http_grpc? ( http2 ) + nginx_modules_http_lua? ( + luajit + nginx_modules_http_rewrite + ) + nginx_modules_http_naxsi? ( pcre ) + nginx_modules_http_dav_ext? ( nginx_modules_http_dav nginx_modules_http_xslt ) + nginx_modules_http_metrics? ( nginx_modules_http_stub_status ) + nginx_modules_http_security? ( pcre ) + nginx_modules_http_push_stream? ( ssl )" + +pkg_setup() { + NGINX_HOME="/var/lib/nginx" + NGINX_HOME_TMP="${NGINX_HOME}/tmp" + + ebegin "Creating nginx user and group" + enewgroup ${PN} + enewuser ${PN} -1 -1 "${NGINX_HOME}" ${PN} + eend $? + + if use libatomic; then + ewarn "GCC 4.1+ features built-in atomic operations." + ewarn "Using libatomic_ops is only needed if using" + ewarn "a different compiler or a GCC prior to 4.1" + fi + + if [[ -n $NGINX_ADD_MODULES ]]; then + ewarn "You are building custom modules via \$NGINX_ADD_MODULES!" + ewarn "This nginx installation is not supported!" + ewarn "Make sure you can reproduce the bug without those modules" + ewarn "_before_ reporting bugs." + fi + + if use !http; then + ewarn "To actually disable all http-functionality you also have to disable" + ewarn "all nginx http modules." + fi + + if use nginx_modules_http_mogilefs && use threads; then + eerror "mogilefs won't compile with threads support." + eerror "Please disable either flag and try again." + die "Can't compile mogilefs with threads support" + fi +} + +src_prepare() { + eapply "${FILESDIR}/${PN}-1.4.1-fix-perl-install-path.patch" + eapply "${FILESDIR}/${PN}-httpoxy-mitigation-r1.patch" + + if use nginx_modules_http_auth_pam; then + cd "${HTTP_AUTH_PAM_MODULE_WD}" || die + eapply "${FILESDIR}"/http_auth_pam-1.5.1-adjust-loglevel-for-authentication-failures.patch + cd "${S}" || die + fi + + if use nginx_modules_http_brotli; then + cd "${HTTP_BROTLI_MODULE_WD}" || die + eapply "${FILESDIR}"/http_brotli-detect-brotli-r3.patch + cd "${S}" || die + fi + + if use nginx_modules_http_upstream_check; then + eapply -p0 "${FILESDIR}"/http_upstream_check-nginx-1.11.5+.patch + fi + + if use nginx_modules_http_cache_purge; then + cd "${HTTP_CACHE_PURGE_MODULE_WD}" || die + eapply "${FILESDIR}"/http_cache_purge-1.11.6+.patch + cd "${S}" || die + fi + + if use nginx_modules_http_security; then + cd "${HTTP_SECURITY_MODULE_WD}" || die + + eautoreconf + + if use luajit ; then + sed -i \ + -e 's|^\(LUA_PKGNAMES\)=.*|\1="luajit"|' \ + configure || die + fi + + cd "${S}" || die + fi + + if use nginx_modules_http_upload_progress; then + cd "${HTTP_UPLOAD_PROGRESS_MODULE_WD}" || die + eapply "${FILESDIR}"/http_uploadprogress-issue_50-r1.patch + cd "${S}" || die + fi + + find auto/ -type f -print0 | xargs -0 sed -i 's:\&\& make:\&\& \\$(MAKE):' || die + # We have config protection, don't rename etc files + sed -i 's:.default::' auto/install || die + # remove useless files + sed -i -e '/koi-/d' -e '/win-/d' auto/install || die + + # don't install to /etc/nginx/ if not in use + local module + for module in fastcgi scgi uwsgi ; do + if ! use nginx_modules_http_${module}; then + sed -i -e "/${module}/d" auto/install || die + fi + done + + eapply_user +} + +src_configure() { + # mod_security needs to generate nginx/modsecurity/config before including it + if use nginx_modules_http_security; then + cd "${HTTP_SECURITY_MODULE_WD}" || die + + ./configure \ + --enable-standalone-module \ + --disable-mlogc \ + --with-ssdeep=no \ + $(use_enable pcre-jit) \ + $(use_with nginx_modules_http_lua lua) || die "configure failed for mod_security" + + cd "${S}" || die + fi + + local myconf=() http_enabled= mail_enabled= stream_enabled= + + use aio && myconf+=( --with-file-aio ) + use debug && myconf+=( --with-debug ) + use http2 && myconf+=( --with-http_v2_module ) + use libatomic && myconf+=( --with-libatomic ) + use pcre && myconf+=( --with-pcre ) + use pcre-jit && myconf+=( --with-pcre-jit ) + use threads && myconf+=( --with-threads ) + + # HTTP modules + for mod in $NGINX_MODULES_STD; do + if use nginx_modules_http_${mod}; then + http_enabled=1 + else + myconf+=( --without-http_${mod}_module ) + fi + done + + for mod in $NGINX_MODULES_OPT; do + if use nginx_modules_http_${mod}; then + http_enabled=1 + myconf+=( --with-http_${mod}_module ) + fi + done + + if use nginx_modules_http_fastcgi; then + myconf+=( --with-http_realip_module ) + fi + + # third-party modules + if use nginx_modules_http_upload_progress; then + http_enabled=1 + myconf+=( --add-module=${HTTP_UPLOAD_PROGRESS_MODULE_WD} ) + fi + + if use nginx_modules_http_headers_more; then + http_enabled=1 + myconf+=( --add-module=${HTTP_HEADERS_MORE_MODULE_WD} ) + fi + + if use nginx_modules_http_cache_purge; then + http_enabled=1 + myconf+=( --add-module=${HTTP_CACHE_PURGE_MODULE_WD} ) + fi + + if use nginx_modules_http_slowfs_cache; then + http_enabled=1 + myconf+=( --add-module=${HTTP_SLOWFS_CACHE_MODULE_WD} ) + fi + + if use nginx_modules_http_fancyindex; then + http_enabled=1 + myconf+=( --add-module=${HTTP_FANCYINDEX_MODULE_WD} ) + fi + + if use nginx_modules_http_lua; then + http_enabled=1 + export LUAJIT_LIB=$(pkg-config --variable libdir luajit) + export LUAJIT_INC=$(pkg-config --variable includedir luajit) + myconf+=( --add-module=${DEVEL_KIT_MODULE_WD} ) + myconf+=( --add-module=${HTTP_LUA_MODULE_WD} ) + fi + + if use nginx_modules_http_auth_pam; then + http_enabled=1 + myconf+=( --add-module=${HTTP_AUTH_PAM_MODULE_WD} ) + fi + + if use nginx_modules_http_upstream_check; then + http_enabled=1 + myconf+=( --add-module=${HTTP_UPSTREAM_CHECK_MODULE_WD} ) + fi + + if use nginx_modules_http_metrics; then + http_enabled=1 + myconf+=( --add-module=${HTTP_METRICS_MODULE_WD} ) + fi + + if use nginx_modules_http_naxsi ; then + http_enabled=1 + myconf+=( --add-module=${HTTP_NAXSI_MODULE_WD} ) + fi + + if use rtmp ; then + http_enabled=1 + myconf+=( --add-module=${RTMP_MODULE_WD} ) + fi + + if use nginx_modules_http_dav_ext ; then + http_enabled=1 + myconf+=( --add-module=${HTTP_DAV_EXT_MODULE_WD} ) + fi + + if use nginx_modules_http_echo ; then + http_enabled=1 + myconf+=( --add-module=${HTTP_ECHO_MODULE_WD} ) + fi + + if use nginx_modules_http_security ; then + http_enabled=1 + myconf+=( --add-module=${HTTP_SECURITY_MODULE_WD}/nginx/modsecurity ) + fi + + if use nginx_modules_http_push_stream ; then + http_enabled=1 + myconf+=( --add-module=${HTTP_PUSH_STREAM_MODULE_WD} ) + fi + + if use nginx_modules_http_sticky ; then + http_enabled=1 + myconf+=( --add-module=${HTTP_STICKY_MODULE_WD} ) + fi + + if use nginx_modules_http_mogilefs ; then + http_enabled=1 + myconf+=( --add-module=${HTTP_MOGILEFS_MODULE_WD} ) + fi + + if use nginx_modules_http_memc ; then + http_enabled=1 + myconf+=( --add-module=${HTTP_MEMC_MODULE_WD} ) + fi + + if use nginx_modules_http_auth_ldap; then + http_enabled=1 + myconf+=( --add-module=${HTTP_LDAP_MODULE_WD} ) + fi + + if use nginx_modules_http_vhost_traffic_status; then + http_enabled=1 + myconf+=( --add-module=${HTTP_VHOST_TRAFFIC_STATUS_MODULE_WD} ) + fi + + if use nginx_modules_http_geoip2 || use nginx_modules_stream_geoip2; then + myconf+=( --add-module=${GEOIP2_MODULE_WD} ) + fi + + if use nginx_modules_http_javascript || use nginx_modules_stream_javascript; then + myconf+=( --add-module="${NJS_MODULE_WD}/nginx" ) + fi + + if use nginx_modules_http_brotli; then + http_enabled=1 + myconf+=( --add-module=${HTTP_BROTLI_MODULE_WD} ) + fi + + if use http || use http-cache || use http2 || use nginx_modules_http_javascript; then + http_enabled=1 + fi + + if [ $http_enabled ]; then + use http-cache || myconf+=( --without-http-cache ) + use ssl && myconf+=( --with-http_ssl_module ) + else + myconf+=( --without-http --without-http-cache ) + fi + + # Stream modules + for mod in $NGINX_MODULES_STREAM_STD; do + if use nginx_modules_stream_${mod}; then + stream_enabled=1 + else + myconf+=( --without-stream_${mod}_module ) + fi + done + + for mod in $NGINX_MODULES_STREAM_OPT; do + if use nginx_modules_stream_${mod}; then + stream_enabled=1 + myconf+=( --with-stream_${mod}_module ) + fi + done + + if use nginx_modules_stream_geoip2 || use nginx_modules_stream_javascript; then + stream_enabled=1 + fi + + if [ $stream_enabled ]; then + myconf+=( --with-stream ) + use ssl && myconf+=( --with-stream_ssl_module ) + fi + + # MAIL modules + for mod in $NGINX_MODULES_MAIL; do + if use nginx_modules_mail_${mod}; then + mail_enabled=1 + else + myconf+=( --without-mail_${mod}_module ) + fi + done + + if [ $mail_enabled ]; then + myconf+=( --with-mail ) + use ssl && myconf+=( --with-mail_ssl_module ) + fi + + # custom modules + for mod in $NGINX_ADD_MODULES; do + myconf+=( --add-module=${mod} ) + done + + # https://bugs.gentoo.org/286772 + export LANG=C LC_ALL=C + tc-export CC + + if ! use prefix; then + myconf+=( --user=${PN} ) + myconf+=( --group=${PN} ) + fi + + local WITHOUT_IPV6= + if ! use ipv6; then + WITHOUT_IPV6=" -DNGX_HAVE_INET6=0" + fi + + if [[ -n "${EXTRA_ECONF}" ]]; then + myconf+=( ${EXTRA_ECONF} ) + ewarn "EXTRA_ECONF applied. Now you are on your own, good luck!" + fi + + ./configure \ + --prefix="${EPREFIX}"/usr \ + --conf-path="${EPREFIX}"/etc/${PN}/${PN}.conf \ + --error-log-path="${EPREFIX}"/var/log/${PN}/error_log \ + --pid-path="${EPREFIX}"/run/${PN}.pid \ + --lock-path="${EPREFIX}"/run/lock/${PN}.lock \ + --with-cc-opt="-I${EROOT}usr/include${WITHOUT_IPV6}" \ + --with-ld-opt="-L${EROOT}usr/$(get_libdir)" \ + --http-log-path="${EPREFIX}"/var/log/${PN}/access_log \ + --http-client-body-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/client \ + --http-proxy-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/proxy \ + --http-fastcgi-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/fastcgi \ + --http-scgi-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/scgi \ + --http-uwsgi-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/uwsgi \ + --with-compat \ + "${myconf[@]}" || die "configure failed" + + # A purely cosmetic change that makes nginx -V more readable. This can be + # good if people outside the gentoo community would troubleshoot and + # question the users setup. + sed -i -e "s|${WORKDIR}|external_module|g" objs/ngx_auto_config.h || die +} + +src_compile() { + use nginx_modules_http_security && emake -C "${HTTP_SECURITY_MODULE_WD}" + + # https://bugs.gentoo.org/286772 + export LANG=C LC_ALL=C + emake LINK="${CC} ${LDFLAGS}" OTHERLDFLAGS="${LDFLAGS}" +} + +src_install() { + emake DESTDIR="${D%/}" install + + cp "${FILESDIR}"/nginx.conf-r2 "${ED%/}"/etc/nginx/nginx.conf || die + + newinitd "${FILESDIR}"/nginx.initd-r4 nginx + newconfd "${FILESDIR}"/nginx.confd nginx + + systemd_newunit "${FILESDIR}"/nginx.service-r1 nginx.service + + doman man/nginx.8 + dodoc CHANGES* README + + # just keepdir. do not copy the default htdocs files (bug #449136) + keepdir /var/www/localhost + rm -rf "${ED%/}"/usr/html || die + + # set up a list of directories to keep + local keepdir_list="${NGINX_HOME_TMP}"/client + local module + for module in proxy fastcgi scgi uwsgi; do + use nginx_modules_http_${module} && keepdir_list+=" ${NGINX_HOME_TMP}/${module}" + done + + keepdir /var/log/nginx ${keepdir_list} + + # this solves a problem with SELinux where nginx doesn't see the directories + # as root and tries to create them as nginx + fperms 0750 "${NGINX_HOME_TMP}" + fowners ${PN}:0 "${NGINX_HOME_TMP}" + + fperms 0700 ${keepdir_list} + fowners ${PN}:${PN} ${keepdir_list} + + fperms 0710 /var/log/nginx + fowners 0:${PN} /var/log/nginx + + # logrotate + insinto /etc/logrotate.d + newins "${FILESDIR}"/nginx.logrotate-r1 nginx + + # Don't create /run + rm -rf "${ED%/}"/run || die + + if use luajit; then + pax-mark m "${ED%/}/usr/sbin/nginx" + fi + + if use nginx_modules_http_perl; then + cd "${S}"/objs/src/http/modules/perl/ || die + emake DESTDIR="${D}" INSTALLDIRS=vendor + perl_delete_localpod + cd "${S}" || die + fi + + if use nginx_modules_http_cache_purge; then + docinto ${HTTP_CACHE_PURGE_MODULE_P} + dodoc "${HTTP_CACHE_PURGE_MODULE_WD}"/{CHANGES,README.md,TODO.md} + fi + + if use nginx_modules_http_slowfs_cache; then + docinto ${HTTP_SLOWFS_CACHE_MODULE_P} + dodoc "${HTTP_SLOWFS_CACHE_MODULE_WD}"/{CHANGES,README.md} + fi + + if use nginx_modules_http_fancyindex; then + docinto ${HTTP_FANCYINDEX_MODULE_P} + dodoc "${HTTP_FANCYINDEX_MODULE_WD}"/README.rst + fi + + if use nginx_modules_http_lua; then + docinto ${HTTP_LUA_MODULE_P} + dodoc "${HTTP_LUA_MODULE_WD}"/README.markdown + fi + + if use nginx_modules_http_auth_pam; then + docinto ${HTTP_AUTH_PAM_MODULE_P} + dodoc "${HTTP_AUTH_PAM_MODULE_WD}"/{README.md,ChangeLog} + fi + + if use nginx_modules_http_upstream_check; then + docinto ${HTTP_UPSTREAM_CHECK_MODULE_P} + dodoc "${HTTP_UPSTREAM_CHECK_MODULE_WD}"/{README,CHANGES} + fi + + if use nginx_modules_http_naxsi; then + insinto /etc/nginx + doins "${HTTP_NAXSI_MODULE_WD}"/../naxsi_config/naxsi_core.rules + fi + + if use rtmp; then + docinto ${RTMP_MODULE_P} + dodoc "${RTMP_MODULE_WD}"/{AUTHORS,README.md,stat.xsl} + fi + + if use nginx_modules_http_dav_ext; then + docinto ${HTTP_DAV_EXT_MODULE_P} + dodoc "${HTTP_DAV_EXT_MODULE_WD}"/README.rst + fi + + if use nginx_modules_http_echo; then + docinto ${HTTP_ECHO_MODULE_P} + dodoc "${HTTP_ECHO_MODULE_WD}"/README.markdown + fi + + if use nginx_modules_http_security; then + docinto ${HTTP_SECURITY_MODULE_P} + dodoc "${HTTP_SECURITY_MODULE_WD}"/{CHANGES,README.md,authors.txt} + fi + + if use nginx_modules_http_push_stream; then + docinto ${HTTP_PUSH_STREAM_MODULE_P} + dodoc "${HTTP_PUSH_STREAM_MODULE_WD}"/{AUTHORS,CHANGELOG.textile,README.textile} + fi + + if use nginx_modules_http_sticky; then + docinto ${HTTP_STICKY_MODULE_P} + dodoc "${HTTP_STICKY_MODULE_WD}"/{README.md,Changelog.txt,docs/sticky.pdf} + fi + + if use nginx_modules_http_memc; then + docinto ${HTTP_MEMC_MODULE_P} + dodoc "${HTTP_MEMC_MODULE_WD}"/README.markdown + fi + + if use nginx_modules_http_auth_ldap; then + docinto ${HTTP_LDAP_MODULE_P} + dodoc "${HTTP_LDAP_MODULE_WD}"/example.conf + fi +} + +pkg_postinst() { + if use ssl; then + if [[ ! -f "${EROOT}"etc/ssl/${PN}/${PN}.key ]]; then + install_cert /etc/ssl/${PN}/${PN} + use prefix || chown ${PN}:${PN} "${EROOT}"etc/ssl/${PN}/${PN}.{crt,csr,key,pem} + fi + fi + + if use nginx_modules_http_spdy; then + ewarn "" + ewarn "In nginx 1.9.5 the spdy module was superseded by http2." + ewarn "Update your configs and package.use accordingly." + fi + + if use nginx_modules_http_lua; then + ewarn "" + ewarn "While you can build lua 3rd party module against ${P}" + ewarn "the author warns that >=${PN}-1.11.11 is still not an" + ewarn "officially supported target yet. You are on your own." + ewarn "Expect runtime failures, memory leaks and other problems!" + fi + + if use nginx_modules_http_lua && use http2; then + ewarn "" + ewarn "Lua 3rd party module author warns against using ${P} with" + ewarn "NGINX_MODULES_HTTP=\"lua http2\". For more info, see https://git.io/OldLsg" + fi + + local _n_permission_layout_checks=0 + local _has_to_adjust_permissions=0 + local _has_to_show_permission_warning=0 + + # Defaults to 1 to inform people doing a fresh installation + # that we ship modified {scgi,uwsgi,fastcgi}_params files + local _has_to_show_httpoxy_mitigation_notice=1 + + local _replacing_version= + for _replacing_version in ${REPLACING_VERSIONS}; do + _n_permission_layout_checks=$((${_n_permission_layout_checks}+1)) + + if [[ ${_n_permission_layout_checks} -gt 1 ]]; then + # Should never happen: + # Package is abusing slots but doesn't allow multiple parallel installations. + # If we run into this situation it is unsafe to automatically adjust any + # permission... + _has_to_show_permission_warning=1 + + ewarn "Replacing multiple ${PN}' versions is unsupported! " \ + "You will have to adjust permissions on your own." + + break + fi + + local _replacing_version_branch=$(get_version_component_range 1-2 "${_replacing_version}") + debug-print "Updating an existing installation (v${_replacing_version}; branch '${_replacing_version_branch}') ..." + + # Do we need to adjust permissions to fix CVE-2013-0337 (bug #458726, #469094)? + # This was before we introduced multiple nginx versions so we + # do not need to distinguish between stable and mainline + local _need_to_fix_CVE2013_0337=1 + + if version_is_at_least "1.4.1-r2" "${_replacing_version}"; then + # We are updating an installation which should already be fixed + _need_to_fix_CVE2013_0337=0 + debug-print "Skipping CVE-2013-0337 ... existing installation should not be affected!" + else + _has_to_adjust_permissions=1 + debug-print "Need to adjust permissions to fix CVE-2013-0337!" + fi + + # Do we need to inform about HTTPoxy mitigation? + # In repository since commit 8be44f76d4ac02cebcd1e0e6e6284bb72d054b0f + if ! version_is_at_least "1.10" "${_replacing_version_branch}"; then + # Updating from <1.10 + _has_to_show_httpoxy_mitigation_notice=1 + debug-print "Need to inform about HTTPoxy mitigation!" + else + # Updating from >=1.10 + local _fixed_in_pvr= + case "${_replacing_version_branch}" in + "1.10") + _fixed_in_pvr="1.10.1-r2" + ;; + "1.11") + _fixed_in_pvr="1.11.3-r1" + ;; + *) + # This should be any future branch. + # If we run this code it is safe to assume that the user has + # already seen the HTTPoxy mitigation notice because he/she is doing + # an update from previous version where we have already shown + # the warning. Otherwise, we wouldn't hit this code path ... + _fixed_in_pvr= + esac + + if [[ -z "${_fixed_in_pvr}" ]] || version_is_at_least "${_fixed_in_pvr}" "${_replacing_version}"; then + # We are updating an installation where we already informed + # that we are mitigating HTTPoxy per default + _has_to_show_httpoxy_mitigation_notice=0 + debug-print "No need to inform about HTTPoxy mitigation ... information was already shown for existing installation!" + else + _has_to_show_httpoxy_mitigation_notice=1 + debug-print "Need to inform about HTTPoxy mitigation!" + fi + fi + + # Do we need to adjust permissions to fix CVE-2016-1247 (bug #605008)? + # All branches up to 1.11 are affected + local _need_to_fix_CVE2016_1247=1 + + if ! version_is_at_least "1.10" "${_replacing_version_branch}"; then + # Updating from <1.10 + _has_to_adjust_permissions=1 + debug-print "Need to adjust permissions to fix CVE-2016-1247!" + else + # Updating from >=1.10 + local _fixed_in_pvr= + case "${_replacing_version_branch}" in + "1.10") + _fixed_in_pvr="1.10.2-r3" + ;; + "1.11") + _fixed_in_pvr="1.11.6-r1" + ;; + *) + # This should be any future branch. + # If we run this code it is safe to assume that we have already + # adjusted permissions or were never affected because user is + # doing an update from previous version which was safe or did + # the adjustments. Otherwise, we wouldn't hit this code path ... + _fixed_in_pvr= + esac + + if [[ -z "${_fixed_in_pvr}" ]] || version_is_at_least "${_fixed_in_pvr}" "${_replacing_version}"; then + # We are updating an installation which should already be adjusted + # or which was never affected + _need_to_fix_CVE2016_1247=0 + debug-print "Skipping CVE-2016-1247 ... existing installation should not be affected!" + else + _has_to_adjust_permissions=1 + debug-print "Need to adjust permissions to fix CVE-2016-1247!" + fi + fi + done + + if [[ ${_has_to_adjust_permissions} -eq 1 ]]; then + # We do not DIE when chmod/chown commands are failing because + # package is already merged on user's system at this stage + # and we cannot retry without losing the information that + # the existing installation needs to adjust permissions. + # Instead we are going to a show a big warning ... + + if [[ ${_has_to_show_permission_warning} -eq 0 ]] && [[ ${_need_to_fix_CVE2013_0337} -eq 1 ]]; then + ewarn "" + ewarn "The world-readable bit (if set) has been removed from the" + ewarn "following directories to mitigate a security bug" + ewarn "(CVE-2013-0337, bug #458726):" + ewarn "" + ewarn " ${EPREFIX}/var/log/nginx" + ewarn " ${EPREFIX}${NGINX_HOME_TMP}/{,client,proxy,fastcgi,scgi,uwsgi}" + ewarn "" + ewarn "Check if this is correct for your setup before restarting nginx!" + ewarn "This is a one-time change and will not happen on subsequent updates." + ewarn "Furthermore nginx' temp directories got moved to '${EPREFIX}${NGINX_HOME_TMP}'" + chmod o-rwx \ + "${EPREFIX}"/var/log/nginx \ + "${EPREFIX}"${NGINX_HOME_TMP}/{,client,proxy,fastcgi,scgi,uwsgi} || \ + _has_to_show_permission_warning=1 + fi + + if [[ ${_has_to_show_permission_warning} -eq 0 ]] && [[ ${_need_to_fix_CVE2016_1247} -eq 1 ]]; then + ewarn "" + ewarn "The permissions on the following directory have been reset in" + ewarn "order to mitigate a security bug (CVE-2016-1247, bug #605008):" + ewarn "" + ewarn " ${EPREFIX}/var/log/nginx" + ewarn "" + ewarn "Check if this is correct for your setup before restarting nginx!" + ewarn "Also ensure that no other log directory used by any of your" + ewarn "vhost(s) is not writeable for nginx user. Any of your log files" + ewarn "used by nginx can be abused to escalate privileges!" + ewarn "This is a one-time change and will not happen on subsequent updates." + chown 0:nginx "${EPREFIX}"/var/log/nginx || _has_to_show_permission_warning=1 + chmod 710 "${EPREFIX}"/var/log/nginx || _has_to_show_permission_warning=1 + fi + + if [[ ${_has_to_show_permission_warning} -eq 1 ]]; then + # Should never happen ... + ewarn "" + ewarn "*************************************************************" + ewarn "*************** W A R N I N G ***************" + ewarn "*************************************************************" + ewarn "The one-time only attempt to adjust permissions of the" + ewarn "existing nginx installation failed. Be aware that we will not" + ewarn "try to adjust the same permissions again because now you are" + ewarn "using a nginx version where we expect that the permissions" + ewarn "are already adjusted or that you know what you are doing and" + ewarn "want to keep custom permissions." + ewarn "" + fi + fi + + # Sanity check for CVE-2016-1247 + # Required to warn users who received the warning above and thought + # they could fix it by unmerging and re-merging the package or have + # unmerged a affected installation on purpose in the past leaving + # /var/log/nginx on their system due to keepdir/non-empty folder + # and are now installing the package again. + local _sanity_check_testfile=$(mktemp --dry-run "${EPREFIX}"/var/log/nginx/.CVE-2016-1247.XXXXXXXXX) + su -s /bin/sh -c "touch ${_sanity_check_testfile}" nginx >&/dev/null + if [ $? -eq 0 ] ; then + # Cleanup -- no reason to die here! + rm -f "${_sanity_check_testfile}" + + ewarn "" + ewarn "*************************************************************" + ewarn "*************** W A R N I N G ***************" + ewarn "*************************************************************" + ewarn "Looks like your installation is vulnerable to CVE-2016-1247" + ewarn "(bug #605008) because nginx user is able to create files in" + ewarn "" + ewarn " ${EPREFIX}/var/log/nginx" + ewarn "" + ewarn "Also ensure that no other log directory used by any of your" + ewarn "vhost(s) is not writeable for nginx user. Any of your log files" + ewarn "used by nginx can be abused to escalate privileges!" + fi + + if [[ ${_has_to_show_httpoxy_mitigation_notice} -eq 1 ]]; then + # HTTPoxy mitigation + ewarn "" + ewarn "This nginx installation comes with a mitigation for the HTTPoxy" + ewarn "vulnerability for FastCGI, SCGI and uWSGI applications by setting" + ewarn "the HTTP_PROXY parameter to an empty string per default when you" + ewarn "are sourcing one of the default" + ewarn "" + ewarn " - 'fastcgi_params' or 'fastcgi.conf'" + ewarn " - 'scgi_params'" + ewarn " - 'uwsgi_params'" + ewarn "" + ewarn "files in your server block(s)." + ewarn "" + ewarn "If this is causing any problems for you make sure that you are sourcing the" + ewarn "default parameters _before_ you set your own values." + ewarn "If you are relying on user-supplied proxy values you have to remove the" + ewarn "correlating lines from the file(s) mentioned above." + ewarn "" + fi +} diff --git a/www-servers/nginx/nginx-1.19.0.ebuild b/www-servers/nginx/nginx-1.19.0.ebuild deleted file mode 100644 index ab215dc844a1..000000000000 --- a/www-servers/nginx/nginx-1.19.0.ebuild +++ /dev/null @@ -1,1093 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -# Maintainer notes: -# - http_rewrite-independent pcre-support makes sense for matching locations without an actual rewrite -# - any http-module activates the main http-functionality and overrides USE=-http -# - keep the following requirements in mind before adding external modules: -# * alive upstream -# * sane packaging -# * builds cleanly -# * does not need a patch for nginx core -# - TODO: test the google-perftools module (included in vanilla tarball) - -# prevent perl-module from adding automagic perl DEPENDs -GENTOO_DEPEND_ON_PERL="no" - -# devel_kit (https://github.com/simpl/ngx_devel_kit, BSD license) -DEVEL_KIT_MODULE_PV="0.3.1" -DEVEL_KIT_MODULE_P="ngx_devel_kit-${DEVEL_KIT_MODULE_PV}" -DEVEL_KIT_MODULE_URI="https://github.com/simpl/ngx_devel_kit/archive/v${DEVEL_KIT_MODULE_PV}.tar.gz" -DEVEL_KIT_MODULE_WD="${WORKDIR}/ngx_devel_kit-${DEVEL_KIT_MODULE_PV}" - -# ngx_brotli (https://github.com/eustas/ngx_brotli, BSD-2) -HTTP_BROTLI_MODULE_PV="25f86f0bac1101b6512135eac5f93c49c63609e3" -HTTP_BROTLI_MODULE_P="ngx_brotli-${HTTP_BROTLI_MODULE_PV}" -HTTP_BROTLI_MODULE_URI="https://github.com/google/ngx_brotli/archive/${HTTP_BROTLI_MODULE_PV}.tar.gz" -HTTP_BROTLI_MODULE_WD="${WORKDIR}/ngx_brotli-${HTTP_BROTLI_MODULE_PV}" - -# http_uploadprogress (https://github.com/masterzen/nginx-upload-progress-module, BSD-2 license) -HTTP_UPLOAD_PROGRESS_MODULE_PV="0.9.2" -HTTP_UPLOAD_PROGRESS_MODULE_P="ngx_http_upload_progress-${HTTP_UPLOAD_PROGRESS_MODULE_PV}-r1" -HTTP_UPLOAD_PROGRESS_MODULE_URI="https://github.com/masterzen/nginx-upload-progress-module/archive/v${HTTP_UPLOAD_PROGRESS_MODULE_PV}.tar.gz" -HTTP_UPLOAD_PROGRESS_MODULE_WD="${WORKDIR}/nginx-upload-progress-module-${HTTP_UPLOAD_PROGRESS_MODULE_PV}" - -# http_headers_more (https://github.com/agentzh/headers-more-nginx-module, BSD license) -HTTP_HEADERS_MORE_MODULE_PV="0.33" -HTTP_HEADERS_MORE_MODULE_P="ngx_http_headers_more-${HTTP_HEADERS_MORE_MODULE_PV}" -HTTP_HEADERS_MORE_MODULE_URI="https://github.com/agentzh/headers-more-nginx-module/archive/v${HTTP_HEADERS_MORE_MODULE_PV}.tar.gz" -HTTP_HEADERS_MORE_MODULE_WD="${WORKDIR}/headers-more-nginx-module-${HTTP_HEADERS_MORE_MODULE_PV}" - -# http_cache_purge (http://labs.frickle.com/nginx_ngx_cache_purge/, https://github.com/FRiCKLE/ngx_cache_purge, BSD-2 license) -HTTP_CACHE_PURGE_MODULE_PV="2.3" -HTTP_CACHE_PURGE_MODULE_P="ngx_http_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}" -HTTP_CACHE_PURGE_MODULE_URI="http://labs.frickle.com/files/ngx_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}.tar.gz" -HTTP_CACHE_PURGE_MODULE_WD="${WORKDIR}/ngx_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}" - -# http_slowfs_cache (http://labs.frickle.com/nginx_ngx_slowfs_cache/, BSD-2 license) -HTTP_SLOWFS_CACHE_MODULE_PV="1.10" -HTTP_SLOWFS_CACHE_MODULE_P="ngx_http_slowfs_cache-${HTTP_SLOWFS_CACHE_MODULE_PV}" -HTTP_SLOWFS_CACHE_MODULE_URI="http://labs.frickle.com/files/ngx_slowfs_cache-${HTTP_SLOWFS_CACHE_MODULE_PV}.tar.gz" -HTTP_SLOWFS_CACHE_MODULE_WD="${WORKDIR}/ngx_slowfs_cache-${HTTP_SLOWFS_CACHE_MODULE_PV}" - -# http_fancyindex (https://github.com/aperezdc/ngx-fancyindex, BSD license) -HTTP_FANCYINDEX_MODULE_PV="0.4.4" -HTTP_FANCYINDEX_MODULE_P="ngx_http_fancyindex-${HTTP_FANCYINDEX_MODULE_PV}" -HTTP_FANCYINDEX_MODULE_URI="https://github.com/aperezdc/ngx-fancyindex/archive/v${HTTP_FANCYINDEX_MODULE_PV}.tar.gz" -HTTP_FANCYINDEX_MODULE_WD="${WORKDIR}/ngx-fancyindex-${HTTP_FANCYINDEX_MODULE_PV}" - -# http_lua (https://github.com/openresty/lua-nginx-module, BSD license) -HTTP_LUA_MODULE_PV="0.10.16rc5" -HTTP_LUA_MODULE_P="ngx_http_lua-${HTTP_LUA_MODULE_PV}" -HTTP_LUA_MODULE_URI="https://github.com/openresty/lua-nginx-module/archive/v${HTTP_LUA_MODULE_PV}.tar.gz" -HTTP_LUA_MODULE_WD="${WORKDIR}/lua-nginx-module-${HTTP_LUA_MODULE_PV}" - -# http_auth_pam (https://github.com/stogh/ngx_http_auth_pam_module/, http://web.iti.upv.es/~sto/nginx/, BSD-2 license) -HTTP_AUTH_PAM_MODULE_PV="1.5.1" -HTTP_AUTH_PAM_MODULE_P="ngx_http_auth_pam-${HTTP_AUTH_PAM_MODULE_PV}" -HTTP_AUTH_PAM_MODULE_URI="https://github.com/stogh/ngx_http_auth_pam_module/archive/v${HTTP_AUTH_PAM_MODULE_PV}.tar.gz" -HTTP_AUTH_PAM_MODULE_WD="${WORKDIR}/ngx_http_auth_pam_module-${HTTP_AUTH_PAM_MODULE_PV}" - -# http_upstream_check (https://github.com/yaoweibin/nginx_upstream_check_module, BSD license) -HTTP_UPSTREAM_CHECK_MODULE_PV="9aecf15ec379fe98f62355c57b60c0bc83296f04" -HTTP_UPSTREAM_CHECK_MODULE_P="ngx_http_upstream_check-${HTTP_UPSTREAM_CHECK_MODULE_PV}" -HTTP_UPSTREAM_CHECK_MODULE_URI="https://github.com/yaoweibin/nginx_upstream_check_module/archive/${HTTP_UPSTREAM_CHECK_MODULE_PV}.tar.gz" -HTTP_UPSTREAM_CHECK_MODULE_WD="${WORKDIR}/nginx_upstream_check_module-${HTTP_UPSTREAM_CHECK_MODULE_PV}" - -# http_metrics (https://github.com/zenops/ngx_metrics, BSD license) -HTTP_METRICS_MODULE_PV="0.1.1" -HTTP_METRICS_MODULE_P="ngx_metrics-${HTTP_METRICS_MODULE_PV}" -HTTP_METRICS_MODULE_URI="https://github.com/madvertise/ngx_metrics/archive/v${HTTP_METRICS_MODULE_PV}.tar.gz" -HTTP_METRICS_MODULE_WD="${WORKDIR}/ngx_metrics-${HTTP_METRICS_MODULE_PV}" - -# http_vhost_traffic_status (https://github.com/vozlt/nginx-module-vts, BSD license) -HTTP_VHOST_TRAFFIC_STATUS_MODULE_PV="46d85558e344dfe2b078ce757fd36c69a1ec2dd3" -HTTP_VHOST_TRAFFIC_STATUS_MODULE_P="ngx_http_vhost_traffic_status-${HTTP_VHOST_TRAFFIC_STATUS_MODULE_PV}" -HTTP_VHOST_TRAFFIC_STATUS_MODULE_URI="https://github.com/vozlt/nginx-module-vts/archive/${HTTP_VHOST_TRAFFIC_STATUS_MODULE_PV}.tar.gz" -HTTP_VHOST_TRAFFIC_STATUS_MODULE_WD="${WORKDIR}/nginx-module-vts-${HTTP_VHOST_TRAFFIC_STATUS_MODULE_PV}" - -# naxsi-core (https://github.com/nbs-system/naxsi, GPLv2+) -HTTP_NAXSI_MODULE_PV="0.56" -HTTP_NAXSI_MODULE_P="ngx_http_naxsi-${HTTP_NAXSI_MODULE_PV}" -HTTP_NAXSI_MODULE_URI="https://github.com/nbs-system/naxsi/archive/${HTTP_NAXSI_MODULE_PV}.tar.gz" -HTTP_NAXSI_MODULE_WD="${WORKDIR}/naxsi-${HTTP_NAXSI_MODULE_PV}/naxsi_src" - -# nginx-rtmp-module (https://github.com/arut/nginx-rtmp-module, BSD license) -RTMP_MODULE_PV="1.2.1" -RTMP_MODULE_P="ngx_rtmp-${RTMP_MODULE_PV}" -RTMP_MODULE_URI="https://github.com/arut/nginx-rtmp-module/archive/v${RTMP_MODULE_PV}.tar.gz" -RTMP_MODULE_WD="${WORKDIR}/nginx-rtmp-module-${RTMP_MODULE_PV}" - -# nginx-dav-ext-module (https://github.com/arut/nginx-dav-ext-module, BSD license) -HTTP_DAV_EXT_MODULE_PV="3.0.0" -HTTP_DAV_EXT_MODULE_P="ngx_http_dav_ext-${HTTP_DAV_EXT_MODULE_PV}" -HTTP_DAV_EXT_MODULE_URI="https://github.com/arut/nginx-dav-ext-module/archive/v${HTTP_DAV_EXT_MODULE_PV}.tar.gz" -HTTP_DAV_EXT_MODULE_WD="${WORKDIR}/nginx-dav-ext-module-${HTTP_DAV_EXT_MODULE_PV}" - -# echo-nginx-module (https://github.com/openresty/echo-nginx-module, BSD license) -HTTP_ECHO_MODULE_PV="0.62rc1" -HTTP_ECHO_MODULE_P="ngx_http_echo-${HTTP_ECHO_MODULE_PV}" -HTTP_ECHO_MODULE_URI="https://github.com/openresty/echo-nginx-module/archive/v${HTTP_ECHO_MODULE_PV}.tar.gz" -HTTP_ECHO_MODULE_WD="${WORKDIR}/echo-nginx-module-${HTTP_ECHO_MODULE_PV}" - -# mod_security for nginx (https://modsecurity.org/, Apache-2.0) -# keep the MODULE_P here consistent with upstream to avoid tarball duplication -HTTP_SECURITY_MODULE_PV="2.9.3" -HTTP_SECURITY_MODULE_P="modsecurity-${HTTP_SECURITY_MODULE_PV}" -HTTP_SECURITY_MODULE_URI="https://www.modsecurity.org/tarball/${HTTP_SECURITY_MODULE_PV}/${HTTP_SECURITY_MODULE_P}.tar.gz" -HTTP_SECURITY_MODULE_WD="${WORKDIR}/${HTTP_SECURITY_MODULE_P}" - -# push-stream-module (http://www.nginxpushstream.com, https://github.com/wandenberg/nginx-push-stream-module, GPL-3) -HTTP_PUSH_STREAM_MODULE_PV="0.5.4" -HTTP_PUSH_STREAM_MODULE_P="ngx_http_push_stream-${HTTP_PUSH_STREAM_MODULE_PV}" -HTTP_PUSH_STREAM_MODULE_URI="https://github.com/wandenberg/nginx-push-stream-module/archive/${HTTP_PUSH_STREAM_MODULE_PV}.tar.gz" -HTTP_PUSH_STREAM_MODULE_WD="${WORKDIR}/nginx-push-stream-module-${HTTP_PUSH_STREAM_MODULE_PV}" - -# sticky-module (https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng, BSD-2) -HTTP_STICKY_MODULE_PV="1.2.6-10-g08a395c66e42" -HTTP_STICKY_MODULE_P="nginx_http_sticky_module_ng-${HTTP_STICKY_MODULE_PV}" -HTTP_STICKY_MODULE_URI="https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/${HTTP_STICKY_MODULE_PV}.tar.bz2" -HTTP_STICKY_MODULE_WD="${WORKDIR}/nginx-goodies-nginx-sticky-module-ng-08a395c66e42" - -# mogilefs-module (https://github.com/vkholodkov/nginx-mogilefs-module, BSD-2) -HTTP_MOGILEFS_MODULE_PV="1.0.4" -HTTP_MOGILEFS_MODULE_P="ngx_mogilefs_module-${HTTP_MOGILEFS_MODULE_PV}" -HTTP_MOGILEFS_MODULE_URI="https://github.com/vkholodkov/nginx-mogilefs-module/archive/${HTTP_MOGILEFS_MODULE_PV}.tar.gz" -HTTP_MOGILEFS_MODULE_WD="${WORKDIR}/nginx_mogilefs_module-${HTTP_MOGILEFS_MODULE_PV}" - -# memc-module (https://github.com/openresty/memc-nginx-module, BSD-2) -HTTP_MEMC_MODULE_PV="0.19" -HTTP_MEMC_MODULE_P="ngx_memc_module-${HTTP_MEMC_MODULE_PV}" -HTTP_MEMC_MODULE_URI="https://github.com/openresty/memc-nginx-module/archive/v${HTTP_MEMC_MODULE_PV}.tar.gz" -HTTP_MEMC_MODULE_WD="${WORKDIR}/memc-nginx-module-${HTTP_MEMC_MODULE_PV}" - -# nginx-ldap-auth-module (https://github.com/kvspb/nginx-auth-ldap, BSD-2) -HTTP_LDAP_MODULE_PV="42d195d7a7575ebab1c369ad3fc5d78dc2c2669c" -HTTP_LDAP_MODULE_P="nginx-auth-ldap-${HTTP_LDAP_MODULE_PV}" -HTTP_LDAP_MODULE_URI="https://github.com/kvspb/nginx-auth-ldap/archive/${HTTP_LDAP_MODULE_PV}.tar.gz" -HTTP_LDAP_MODULE_WD="${WORKDIR}/nginx-auth-ldap-${HTTP_LDAP_MODULE_PV}" - -# geoip2 (https://github.com/leev/ngx_http_geoip2_module, BSD-2) -GEOIP2_MODULE_PV="3.3" -GEOIP2_MODULE_P="ngx_http_geoip2_module-${GEOIP2_MODULE_PV}" -GEOIP2_MODULE_URI="https://github.com/leev/ngx_http_geoip2_module/archive/${GEOIP2_MODULE_PV}.tar.gz" -GEOIP2_MODULE_WD="${WORKDIR}/ngx_http_geoip2_module-${GEOIP2_MODULE_PV}" - -# njs-module (https://github.com/nginx/njs, as-is) -NJS_MODULE_PV="0.4.1" -NJS_MODULE_P="njs-${NJS_MODULE_PV}" -NJS_MODULE_URI="https://github.com/nginx/njs/archive/${NJS_MODULE_PV}.tar.gz" -NJS_MODULE_WD="${WORKDIR}/njs-${NJS_MODULE_PV}" - -# We handle deps below ourselves -SSL_DEPS_SKIP=1 -AUTOTOOLS_AUTO_DEPEND="no" - -inherit autotools ssl-cert toolchain-funcs perl-module flag-o-matic user systemd versionator multilib pax-utils - -DESCRIPTION="Robust, small and high performance http and reverse proxy server" -HOMEPAGE="https://nginx.org" -SRC_URI="https://nginx.org/download/${P}.tar.gz - ${DEVEL_KIT_MODULE_URI} -> ${DEVEL_KIT_MODULE_P}.tar.gz - nginx_modules_http_auth_ldap? ( ${HTTP_LDAP_MODULE_URI} -> ${HTTP_LDAP_MODULE_P}.tar.gz ) - nginx_modules_http_auth_pam? ( ${HTTP_AUTH_PAM_MODULE_URI} -> ${HTTP_AUTH_PAM_MODULE_P}.tar.gz ) - nginx_modules_http_brotli? ( ${HTTP_BROTLI_MODULE_URI} -> ${HTTP_BROTLI_MODULE_P}.tar.gz ) - nginx_modules_http_cache_purge? ( ${HTTP_CACHE_PURGE_MODULE_URI} -> ${HTTP_CACHE_PURGE_MODULE_P}.tar.gz ) - nginx_modules_http_dav_ext? ( ${HTTP_DAV_EXT_MODULE_URI} -> ${HTTP_DAV_EXT_MODULE_P}.tar.gz ) - nginx_modules_http_echo? ( ${HTTP_ECHO_MODULE_URI} -> ${HTTP_ECHO_MODULE_P}.tar.gz ) - nginx_modules_http_fancyindex? ( ${HTTP_FANCYINDEX_MODULE_URI} -> ${HTTP_FANCYINDEX_MODULE_P}.tar.gz ) - nginx_modules_http_geoip2? ( ${GEOIP2_MODULE_URI} -> ${GEOIP2_MODULE_P}.tar.gz ) - nginx_modules_http_headers_more? ( ${HTTP_HEADERS_MORE_MODULE_URI} -> ${HTTP_HEADERS_MORE_MODULE_P}.tar.gz ) - nginx_modules_http_javascript? ( ${NJS_MODULE_URI} -> ${NJS_MODULE_P}.tar.gz ) - nginx_modules_http_lua? ( ${HTTP_LUA_MODULE_URI} -> ${HTTP_LUA_MODULE_P}.tar.gz ) - nginx_modules_http_memc? ( ${HTTP_MEMC_MODULE_URI} -> ${HTTP_MEMC_MODULE_P}.tar.gz ) - nginx_modules_http_metrics? ( ${HTTP_METRICS_MODULE_URI} -> ${HTTP_METRICS_MODULE_P}.tar.gz ) - nginx_modules_http_mogilefs? ( ${HTTP_MOGILEFS_MODULE_URI} -> ${HTTP_MOGILEFS_MODULE_P}.tar.gz ) - nginx_modules_http_naxsi? ( ${HTTP_NAXSI_MODULE_URI} -> ${HTTP_NAXSI_MODULE_P}.tar.gz ) - nginx_modules_http_push_stream? ( ${HTTP_PUSH_STREAM_MODULE_URI} -> ${HTTP_PUSH_STREAM_MODULE_P}.tar.gz ) - nginx_modules_http_security? ( ${HTTP_SECURITY_MODULE_URI} -> ${HTTP_SECURITY_MODULE_P}.tar.gz ) - nginx_modules_http_slowfs_cache? ( ${HTTP_SLOWFS_CACHE_MODULE_URI} -> ${HTTP_SLOWFS_CACHE_MODULE_P}.tar.gz ) - nginx_modules_http_sticky? ( ${HTTP_STICKY_MODULE_URI} -> ${HTTP_STICKY_MODULE_P}.tar.bz2 ) - nginx_modules_http_upload_progress? ( ${HTTP_UPLOAD_PROGRESS_MODULE_URI} -> ${HTTP_UPLOAD_PROGRESS_MODULE_P}.tar.gz ) - nginx_modules_http_upstream_check? ( ${HTTP_UPSTREAM_CHECK_MODULE_URI} -> ${HTTP_UPSTREAM_CHECK_MODULE_P}.tar.gz ) - nginx_modules_http_vhost_traffic_status? ( ${HTTP_VHOST_TRAFFIC_STATUS_MODULE_URI} -> ${HTTP_VHOST_TRAFFIC_STATUS_MODULE_P}.tar.gz ) - nginx_modules_stream_geoip2? ( ${GEOIP2_MODULE_URI} -> ${GEOIP2_MODULE_P}.tar.gz ) - nginx_modules_stream_javascript? ( ${NJS_MODULE_URI} -> ${NJS_MODULE_P}.tar.gz ) - rtmp? ( ${RTMP_MODULE_URI} -> ${RTMP_MODULE_P}.tar.gz )" - -LICENSE="BSD-2 BSD SSLeay MIT GPL-2 GPL-2+ - nginx_modules_http_security? ( Apache-2.0 ) - nginx_modules_http_push_stream? ( GPL-3 )" - -SLOT="mainline" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" - -# Package doesn't provide a real test suite -RESTRICT="test" - -NGINX_MODULES_STD="access auth_basic autoindex browser charset empty_gif - fastcgi geo grpc gzip limit_req limit_conn map memcached mirror - proxy referer rewrite scgi ssi split_clients upstream_hash - upstream_ip_hash upstream_keepalive upstream_least_conn - upstream_zone userid uwsgi" -NGINX_MODULES_OPT="addition auth_request dav degradation flv geoip gunzip - gzip_static image_filter mp4 perl random_index realip secure_link - slice stub_status sub xslt" -NGINX_MODULES_STREAM_STD="access geo limit_conn map return split_clients - upstream_hash upstream_least_conn upstream_zone" -NGINX_MODULES_STREAM_OPT="geoip realip ssl_preread" -NGINX_MODULES_MAIL="imap pop3 smtp" -NGINX_MODULES_3RD=" - http_auth_ldap - http_auth_pam - http_brotli - http_cache_purge - http_dav_ext - http_echo - http_fancyindex - http_geoip2 - http_headers_more - http_javascript - http_lua - http_memc - http_metrics - http_mogilefs - http_naxsi - http_push_stream - http_security - http_slowfs_cache - http_sticky - http_upload_progress - http_upstream_check - http_vhost_traffic_status - stream_geoip2 - stream_javascript -" - -IUSE="aio debug +http +http2 +http-cache +ipv6 libatomic libressl luajit +pcre - pcre-jit rtmp selinux ssl threads userland_GNU vim-syntax" - -for mod in $NGINX_MODULES_STD; do - IUSE="${IUSE} +nginx_modules_http_${mod}" -done - -for mod in $NGINX_MODULES_OPT; do - IUSE="${IUSE} nginx_modules_http_${mod}" -done - -for mod in $NGINX_MODULES_STREAM_STD; do - IUSE="${IUSE} nginx_modules_stream_${mod}" -done - -for mod in $NGINX_MODULES_STREAM_OPT; do - IUSE="${IUSE} nginx_modules_stream_${mod}" -done - -for mod in $NGINX_MODULES_MAIL; do - IUSE="${IUSE} nginx_modules_mail_${mod}" -done - -for mod in $NGINX_MODULES_3RD; do - IUSE="${IUSE} nginx_modules_${mod}" -done - -# Add so we can warn users updating about config changes -# @TODO: jbergstroem: remove on next release series -IUSE="${IUSE} nginx_modules_http_spdy" - -CDEPEND=" - pcre? ( dev-libs/libpcre:= ) - pcre-jit? ( dev-libs/libpcre:=[jit] ) - ssl? ( - !libressl? ( dev-libs/openssl:0= ) - libressl? ( dev-libs/libressl:= ) - ) - http2? ( - !libressl? ( >=dev-libs/openssl-1.0.1c:0= ) - libressl? ( dev-libs/libressl:= ) - ) - http-cache? ( - userland_GNU? ( - !libressl? ( dev-libs/openssl:0= ) - libressl? ( dev-libs/libressl:= ) - ) - ) - nginx_modules_http_brotli? ( app-arch/brotli:= ) - nginx_modules_http_geoip? ( dev-libs/geoip ) - nginx_modules_http_geoip2? ( dev-libs/libmaxminddb:= ) - nginx_modules_http_gunzip? ( sys-libs/zlib ) - nginx_modules_http_gzip? ( sys-libs/zlib ) - nginx_modules_http_gzip_static? ( sys-libs/zlib ) - nginx_modules_http_image_filter? ( media-libs/gd:=[jpeg,png] ) - nginx_modules_http_perl? ( >=dev-lang/perl-5.8:= ) - nginx_modules_http_rewrite? ( dev-libs/libpcre:= ) - nginx_modules_http_secure_link? ( - userland_GNU? ( - !libressl? ( dev-libs/openssl:0= ) - libressl? ( dev-libs/libressl:= ) - ) - ) - nginx_modules_http_xslt? ( dev-libs/libxml2:= dev-libs/libxslt ) - nginx_modules_http_lua? ( dev-lang/luajit:2= ) - nginx_modules_http_auth_pam? ( sys-libs/pam ) - nginx_modules_http_metrics? ( dev-libs/yajl:= ) - nginx_modules_http_dav_ext? ( dev-libs/libxml2 ) - nginx_modules_http_security? ( - dev-libs/apr:= - dev-libs/apr-util:= - dev-libs/libxml2:= - net-misc/curl - www-servers/apache - ) - nginx_modules_http_auth_ldap? ( net-nds/openldap[ssl?] ) - nginx_modules_stream_geoip? ( dev-libs/geoip ) - nginx_modules_stream_geoip2? ( dev-libs/libmaxminddb:= )" -RDEPEND="${CDEPEND} - selinux? ( sec-policy/selinux-nginx ) - !www-servers/nginx:0" -DEPEND="${CDEPEND} - nginx_modules_http_brotli? ( virtual/pkgconfig ) - nginx_modules_http_security? ( ${AUTOTOOLS_DEPEND} ) - arm? ( dev-libs/libatomic_ops ) - libatomic? ( dev-libs/libatomic_ops )" -PDEPEND="vim-syntax? ( app-vim/nginx-syntax )" - -REQUIRED_USE="pcre-jit? ( pcre ) - nginx_modules_http_fancyindex? ( nginx_modules_http_addition ) - nginx_modules_http_grpc? ( http2 ) - nginx_modules_http_lua? ( - luajit - nginx_modules_http_rewrite - ) - nginx_modules_http_naxsi? ( pcre ) - nginx_modules_http_dav_ext? ( nginx_modules_http_dav nginx_modules_http_xslt ) - nginx_modules_http_metrics? ( nginx_modules_http_stub_status ) - nginx_modules_http_security? ( pcre ) - nginx_modules_http_push_stream? ( ssl )" - -pkg_setup() { - NGINX_HOME="/var/lib/nginx" - NGINX_HOME_TMP="${NGINX_HOME}/tmp" - - ebegin "Creating nginx user and group" - enewgroup ${PN} - enewuser ${PN} -1 -1 "${NGINX_HOME}" ${PN} - eend $? - - if use libatomic; then - ewarn "GCC 4.1+ features built-in atomic operations." - ewarn "Using libatomic_ops is only needed if using" - ewarn "a different compiler or a GCC prior to 4.1" - fi - - if [[ -n $NGINX_ADD_MODULES ]]; then - ewarn "You are building custom modules via \$NGINX_ADD_MODULES!" - ewarn "This nginx installation is not supported!" - ewarn "Make sure you can reproduce the bug without those modules" - ewarn "_before_ reporting bugs." - fi - - if use !http; then - ewarn "To actually disable all http-functionality you also have to disable" - ewarn "all nginx http modules." - fi - - if use nginx_modules_http_mogilefs && use threads; then - eerror "mogilefs won't compile with threads support." - eerror "Please disable either flag and try again." - die "Can't compile mogilefs with threads support" - fi -} - -src_prepare() { - eapply "${FILESDIR}/${PN}-1.4.1-fix-perl-install-path.patch" - eapply "${FILESDIR}/${PN}-httpoxy-mitigation-r1.patch" - - if use nginx_modules_http_auth_pam; then - cd "${HTTP_AUTH_PAM_MODULE_WD}" || die - eapply "${FILESDIR}"/http_auth_pam-1.5.1-adjust-loglevel-for-authentication-failures.patch - cd "${S}" || die - fi - - if use nginx_modules_http_brotli; then - cd "${HTTP_BROTLI_MODULE_WD}" || die - eapply "${FILESDIR}"/http_brotli-detect-brotli-r3.patch - cd "${S}" || die - fi - - if use nginx_modules_http_upstream_check; then - eapply -p0 "${FILESDIR}"/http_upstream_check-nginx-1.11.5+.patch - fi - - if use nginx_modules_http_cache_purge; then - cd "${HTTP_CACHE_PURGE_MODULE_WD}" || die - eapply "${FILESDIR}"/http_cache_purge-1.11.6+.patch - cd "${S}" || die - fi - - if use nginx_modules_http_security; then - cd "${HTTP_SECURITY_MODULE_WD}" || die - - eautoreconf - - if use luajit ; then - sed -i \ - -e 's|^\(LUA_PKGNAMES\)=.*|\1="luajit"|' \ - configure || die - fi - - cd "${S}" || die - fi - - if use nginx_modules_http_upload_progress; then - cd "${HTTP_UPLOAD_PROGRESS_MODULE_WD}" || die - eapply "${FILESDIR}"/http_uploadprogress-issue_50-r1.patch - cd "${S}" || die - fi - - find auto/ -type f -print0 | xargs -0 sed -i 's:\&\& make:\&\& \\$(MAKE):' || die - # We have config protection, don't rename etc files - sed -i 's:.default::' auto/install || die - # remove useless files - sed -i -e '/koi-/d' -e '/win-/d' auto/install || die - - # don't install to /etc/nginx/ if not in use - local module - for module in fastcgi scgi uwsgi ; do - if ! use nginx_modules_http_${module}; then - sed -i -e "/${module}/d" auto/install || die - fi - done - - eapply_user -} - -src_configure() { - # mod_security needs to generate nginx/modsecurity/config before including it - if use nginx_modules_http_security; then - cd "${HTTP_SECURITY_MODULE_WD}" || die - - ./configure \ - --enable-standalone-module \ - --disable-mlogc \ - --with-ssdeep=no \ - $(use_enable pcre-jit) \ - $(use_with nginx_modules_http_lua lua) || die "configure failed for mod_security" - - cd "${S}" || die - fi - - local myconf=() http_enabled= mail_enabled= stream_enabled= - - use aio && myconf+=( --with-file-aio ) - use debug && myconf+=( --with-debug ) - use http2 && myconf+=( --with-http_v2_module ) - use libatomic && myconf+=( --with-libatomic ) - use pcre && myconf+=( --with-pcre ) - use pcre-jit && myconf+=( --with-pcre-jit ) - use threads && myconf+=( --with-threads ) - - # HTTP modules - for mod in $NGINX_MODULES_STD; do - if use nginx_modules_http_${mod}; then - http_enabled=1 - else - myconf+=( --without-http_${mod}_module ) - fi - done - - for mod in $NGINX_MODULES_OPT; do - if use nginx_modules_http_${mod}; then - http_enabled=1 - myconf+=( --with-http_${mod}_module ) - fi - done - - if use nginx_modules_http_fastcgi; then - myconf+=( --with-http_realip_module ) - fi - - # third-party modules - if use nginx_modules_http_upload_progress; then - http_enabled=1 - myconf+=( --add-module=${HTTP_UPLOAD_PROGRESS_MODULE_WD} ) - fi - - if use nginx_modules_http_headers_more; then - http_enabled=1 - myconf+=( --add-module=${HTTP_HEADERS_MORE_MODULE_WD} ) - fi - - if use nginx_modules_http_cache_purge; then - http_enabled=1 - myconf+=( --add-module=${HTTP_CACHE_PURGE_MODULE_WD} ) - fi - - if use nginx_modules_http_slowfs_cache; then - http_enabled=1 - myconf+=( --add-module=${HTTP_SLOWFS_CACHE_MODULE_WD} ) - fi - - if use nginx_modules_http_fancyindex; then - http_enabled=1 - myconf+=( --add-module=${HTTP_FANCYINDEX_MODULE_WD} ) - fi - - if use nginx_modules_http_lua; then - http_enabled=1 - export LUAJIT_LIB=$(pkg-config --variable libdir luajit) - export LUAJIT_INC=$(pkg-config --variable includedir luajit) - myconf+=( --add-module=${DEVEL_KIT_MODULE_WD} ) - myconf+=( --add-module=${HTTP_LUA_MODULE_WD} ) - fi - - if use nginx_modules_http_auth_pam; then - http_enabled=1 - myconf+=( --add-module=${HTTP_AUTH_PAM_MODULE_WD} ) - fi - - if use nginx_modules_http_upstream_check; then - http_enabled=1 - myconf+=( --add-module=${HTTP_UPSTREAM_CHECK_MODULE_WD} ) - fi - - if use nginx_modules_http_metrics; then - http_enabled=1 - myconf+=( --add-module=${HTTP_METRICS_MODULE_WD} ) - fi - - if use nginx_modules_http_naxsi ; then - http_enabled=1 - myconf+=( --add-module=${HTTP_NAXSI_MODULE_WD} ) - fi - - if use rtmp ; then - http_enabled=1 - myconf+=( --add-module=${RTMP_MODULE_WD} ) - fi - - if use nginx_modules_http_dav_ext ; then - http_enabled=1 - myconf+=( --add-module=${HTTP_DAV_EXT_MODULE_WD} ) - fi - - if use nginx_modules_http_echo ; then - http_enabled=1 - myconf+=( --add-module=${HTTP_ECHO_MODULE_WD} ) - fi - - if use nginx_modules_http_security ; then - http_enabled=1 - myconf+=( --add-module=${HTTP_SECURITY_MODULE_WD}/nginx/modsecurity ) - fi - - if use nginx_modules_http_push_stream ; then - http_enabled=1 - myconf+=( --add-module=${HTTP_PUSH_STREAM_MODULE_WD} ) - fi - - if use nginx_modules_http_sticky ; then - http_enabled=1 - myconf+=( --add-module=${HTTP_STICKY_MODULE_WD} ) - fi - - if use nginx_modules_http_mogilefs ; then - http_enabled=1 - myconf+=( --add-module=${HTTP_MOGILEFS_MODULE_WD} ) - fi - - if use nginx_modules_http_memc ; then - http_enabled=1 - myconf+=( --add-module=${HTTP_MEMC_MODULE_WD} ) - fi - - if use nginx_modules_http_auth_ldap; then - http_enabled=1 - myconf+=( --add-module=${HTTP_LDAP_MODULE_WD} ) - fi - - if use nginx_modules_http_vhost_traffic_status; then - http_enabled=1 - myconf+=( --add-module=${HTTP_VHOST_TRAFFIC_STATUS_MODULE_WD} ) - fi - - if use nginx_modules_http_geoip2 || use nginx_modules_stream_geoip2; then - myconf+=( --add-module=${GEOIP2_MODULE_WD} ) - fi - - if use nginx_modules_http_javascript || use nginx_modules_stream_javascript; then - myconf+=( --add-module="${NJS_MODULE_WD}/nginx" ) - fi - - if use nginx_modules_http_brotli; then - http_enabled=1 - myconf+=( --add-module=${HTTP_BROTLI_MODULE_WD} ) - fi - - if use http || use http-cache || use http2 || use nginx_modules_http_javascript; then - http_enabled=1 - fi - - if [ $http_enabled ]; then - use http-cache || myconf+=( --without-http-cache ) - use ssl && myconf+=( --with-http_ssl_module ) - else - myconf+=( --without-http --without-http-cache ) - fi - - # Stream modules - for mod in $NGINX_MODULES_STREAM_STD; do - if use nginx_modules_stream_${mod}; then - stream_enabled=1 - else - myconf+=( --without-stream_${mod}_module ) - fi - done - - for mod in $NGINX_MODULES_STREAM_OPT; do - if use nginx_modules_stream_${mod}; then - stream_enabled=1 - myconf+=( --with-stream_${mod}_module ) - fi - done - - if use nginx_modules_stream_geoip2 || use nginx_modules_stream_javascript; then - stream_enabled=1 - fi - - if [ $stream_enabled ]; then - myconf+=( --with-stream ) - use ssl && myconf+=( --with-stream_ssl_module ) - fi - - # MAIL modules - for mod in $NGINX_MODULES_MAIL; do - if use nginx_modules_mail_${mod}; then - mail_enabled=1 - else - myconf+=( --without-mail_${mod}_module ) - fi - done - - if [ $mail_enabled ]; then - myconf+=( --with-mail ) - use ssl && myconf+=( --with-mail_ssl_module ) - fi - - # custom modules - for mod in $NGINX_ADD_MODULES; do - myconf+=( --add-module=${mod} ) - done - - # https://bugs.gentoo.org/286772 - export LANG=C LC_ALL=C - tc-export CC - - if ! use prefix; then - myconf+=( --user=${PN} ) - myconf+=( --group=${PN} ) - fi - - local WITHOUT_IPV6= - if ! use ipv6; then - WITHOUT_IPV6=" -DNGX_HAVE_INET6=0" - fi - - if [[ -n "${EXTRA_ECONF}" ]]; then - myconf+=( ${EXTRA_ECONF} ) - ewarn "EXTRA_ECONF applied. Now you are on your own, good luck!" - fi - - ./configure \ - --prefix="${EPREFIX}"/usr \ - --conf-path="${EPREFIX}"/etc/${PN}/${PN}.conf \ - --error-log-path="${EPREFIX}"/var/log/${PN}/error_log \ - --pid-path="${EPREFIX}"/run/${PN}.pid \ - --lock-path="${EPREFIX}"/run/lock/${PN}.lock \ - --with-cc-opt="-I${EROOT}usr/include${WITHOUT_IPV6}" \ - --with-ld-opt="-L${EROOT}usr/$(get_libdir)" \ - --http-log-path="${EPREFIX}"/var/log/${PN}/access_log \ - --http-client-body-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/client \ - --http-proxy-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/proxy \ - --http-fastcgi-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/fastcgi \ - --http-scgi-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/scgi \ - --http-uwsgi-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/uwsgi \ - --with-compat \ - "${myconf[@]}" || die "configure failed" - - # A purely cosmetic change that makes nginx -V more readable. This can be - # good if people outside the gentoo community would troubleshoot and - # question the users setup. - sed -i -e "s|${WORKDIR}|external_module|g" objs/ngx_auto_config.h || die -} - -src_compile() { - use nginx_modules_http_security && emake -C "${HTTP_SECURITY_MODULE_WD}" - - # https://bugs.gentoo.org/286772 - export LANG=C LC_ALL=C - emake LINK="${CC} ${LDFLAGS}" OTHERLDFLAGS="${LDFLAGS}" -} - -src_install() { - emake DESTDIR="${D%/}" install - - cp "${FILESDIR}"/nginx.conf-r2 "${ED%/}"/etc/nginx/nginx.conf || die - - newinitd "${FILESDIR}"/nginx.initd-r4 nginx - newconfd "${FILESDIR}"/nginx.confd nginx - - systemd_newunit "${FILESDIR}"/nginx.service-r1 nginx.service - - doman man/nginx.8 - dodoc CHANGES* README - - # just keepdir. do not copy the default htdocs files (bug #449136) - keepdir /var/www/localhost - rm -rf "${ED%/}"/usr/html || die - - # set up a list of directories to keep - local keepdir_list="${NGINX_HOME_TMP}"/client - local module - for module in proxy fastcgi scgi uwsgi; do - use nginx_modules_http_${module} && keepdir_list+=" ${NGINX_HOME_TMP}/${module}" - done - - keepdir /var/log/nginx ${keepdir_list} - - # this solves a problem with SELinux where nginx doesn't see the directories - # as root and tries to create them as nginx - fperms 0750 "${NGINX_HOME_TMP}" - fowners ${PN}:0 "${NGINX_HOME_TMP}" - - fperms 0700 ${keepdir_list} - fowners ${PN}:${PN} ${keepdir_list} - - fperms 0710 /var/log/nginx - fowners 0:${PN} /var/log/nginx - - # logrotate - insinto /etc/logrotate.d - newins "${FILESDIR}"/nginx.logrotate-r1 nginx - - # Don't create /run - rm -rf "${ED%/}"/run || die - - if use luajit; then - pax-mark m "${ED%/}/usr/sbin/nginx" - fi - - if use nginx_modules_http_perl; then - cd "${S}"/objs/src/http/modules/perl/ || die - emake DESTDIR="${D}" INSTALLDIRS=vendor - perl_delete_localpod - cd "${S}" || die - fi - - if use nginx_modules_http_cache_purge; then - docinto ${HTTP_CACHE_PURGE_MODULE_P} - dodoc "${HTTP_CACHE_PURGE_MODULE_WD}"/{CHANGES,README.md,TODO.md} - fi - - if use nginx_modules_http_slowfs_cache; then - docinto ${HTTP_SLOWFS_CACHE_MODULE_P} - dodoc "${HTTP_SLOWFS_CACHE_MODULE_WD}"/{CHANGES,README.md} - fi - - if use nginx_modules_http_fancyindex; then - docinto ${HTTP_FANCYINDEX_MODULE_P} - dodoc "${HTTP_FANCYINDEX_MODULE_WD}"/README.rst - fi - - if use nginx_modules_http_lua; then - docinto ${HTTP_LUA_MODULE_P} - dodoc "${HTTP_LUA_MODULE_WD}"/README.markdown - fi - - if use nginx_modules_http_auth_pam; then - docinto ${HTTP_AUTH_PAM_MODULE_P} - dodoc "${HTTP_AUTH_PAM_MODULE_WD}"/{README.md,ChangeLog} - fi - - if use nginx_modules_http_upstream_check; then - docinto ${HTTP_UPSTREAM_CHECK_MODULE_P} - dodoc "${HTTP_UPSTREAM_CHECK_MODULE_WD}"/{README,CHANGES} - fi - - if use nginx_modules_http_naxsi; then - insinto /etc/nginx - doins "${HTTP_NAXSI_MODULE_WD}"/../naxsi_config/naxsi_core.rules - fi - - if use rtmp; then - docinto ${RTMP_MODULE_P} - dodoc "${RTMP_MODULE_WD}"/{AUTHORS,README.md,stat.xsl} - fi - - if use nginx_modules_http_dav_ext; then - docinto ${HTTP_DAV_EXT_MODULE_P} - dodoc "${HTTP_DAV_EXT_MODULE_WD}"/README.rst - fi - - if use nginx_modules_http_echo; then - docinto ${HTTP_ECHO_MODULE_P} - dodoc "${HTTP_ECHO_MODULE_WD}"/README.markdown - fi - - if use nginx_modules_http_security; then - docinto ${HTTP_SECURITY_MODULE_P} - dodoc "${HTTP_SECURITY_MODULE_WD}"/{CHANGES,README.md,authors.txt} - fi - - if use nginx_modules_http_push_stream; then - docinto ${HTTP_PUSH_STREAM_MODULE_P} - dodoc "${HTTP_PUSH_STREAM_MODULE_WD}"/{AUTHORS,CHANGELOG.textile,README.textile} - fi - - if use nginx_modules_http_sticky; then - docinto ${HTTP_STICKY_MODULE_P} - dodoc "${HTTP_STICKY_MODULE_WD}"/{README.md,Changelog.txt,docs/sticky.pdf} - fi - - if use nginx_modules_http_memc; then - docinto ${HTTP_MEMC_MODULE_P} - dodoc "${HTTP_MEMC_MODULE_WD}"/README.markdown - fi - - if use nginx_modules_http_auth_ldap; then - docinto ${HTTP_LDAP_MODULE_P} - dodoc "${HTTP_LDAP_MODULE_WD}"/example.conf - fi -} - -pkg_postinst() { - if use ssl; then - if [[ ! -f "${EROOT}"etc/ssl/${PN}/${PN}.key ]]; then - install_cert /etc/ssl/${PN}/${PN} - use prefix || chown ${PN}:${PN} "${EROOT}"etc/ssl/${PN}/${PN}.{crt,csr,key,pem} - fi - fi - - if use nginx_modules_http_spdy; then - ewarn "" - ewarn "In nginx 1.9.5 the spdy module was superseded by http2." - ewarn "Update your configs and package.use accordingly." - fi - - if use nginx_modules_http_lua; then - ewarn "" - ewarn "While you can build lua 3rd party module against ${P}" - ewarn "the author warns that >=${PN}-1.11.11 is still not an" - ewarn "officially supported target yet. You are on your own." - ewarn "Expect runtime failures, memory leaks and other problems!" - fi - - if use nginx_modules_http_lua && use http2; then - ewarn "" - ewarn "Lua 3rd party module author warns against using ${P} with" - ewarn "NGINX_MODULES_HTTP=\"lua http2\". For more info, see https://git.io/OldLsg" - fi - - local _n_permission_layout_checks=0 - local _has_to_adjust_permissions=0 - local _has_to_show_permission_warning=0 - - # Defaults to 1 to inform people doing a fresh installation - # that we ship modified {scgi,uwsgi,fastcgi}_params files - local _has_to_show_httpoxy_mitigation_notice=1 - - local _replacing_version= - for _replacing_version in ${REPLACING_VERSIONS}; do - _n_permission_layout_checks=$((${_n_permission_layout_checks}+1)) - - if [[ ${_n_permission_layout_checks} -gt 1 ]]; then - # Should never happen: - # Package is abusing slots but doesn't allow multiple parallel installations. - # If we run into this situation it is unsafe to automatically adjust any - # permission... - _has_to_show_permission_warning=1 - - ewarn "Replacing multiple ${PN}' versions is unsupported! " \ - "You will have to adjust permissions on your own." - - break - fi - - local _replacing_version_branch=$(get_version_component_range 1-2 "${_replacing_version}") - debug-print "Updating an existing installation (v${_replacing_version}; branch '${_replacing_version_branch}') ..." - - # Do we need to adjust permissions to fix CVE-2013-0337 (bug #458726, #469094)? - # This was before we introduced multiple nginx versions so we - # do not need to distinguish between stable and mainline - local _need_to_fix_CVE2013_0337=1 - - if version_is_at_least "1.4.1-r2" "${_replacing_version}"; then - # We are updating an installation which should already be fixed - _need_to_fix_CVE2013_0337=0 - debug-print "Skipping CVE-2013-0337 ... existing installation should not be affected!" - else - _has_to_adjust_permissions=1 - debug-print "Need to adjust permissions to fix CVE-2013-0337!" - fi - - # Do we need to inform about HTTPoxy mitigation? - # In repository since commit 8be44f76d4ac02cebcd1e0e6e6284bb72d054b0f - if ! version_is_at_least "1.10" "${_replacing_version_branch}"; then - # Updating from <1.10 - _has_to_show_httpoxy_mitigation_notice=1 - debug-print "Need to inform about HTTPoxy mitigation!" - else - # Updating from >=1.10 - local _fixed_in_pvr= - case "${_replacing_version_branch}" in - "1.10") - _fixed_in_pvr="1.10.1-r2" - ;; - "1.11") - _fixed_in_pvr="1.11.3-r1" - ;; - *) - # This should be any future branch. - # If we run this code it is safe to assume that the user has - # already seen the HTTPoxy mitigation notice because he/she is doing - # an update from previous version where we have already shown - # the warning. Otherwise, we wouldn't hit this code path ... - _fixed_in_pvr= - esac - - if [[ -z "${_fixed_in_pvr}" ]] || version_is_at_least "${_fixed_in_pvr}" "${_replacing_version}"; then - # We are updating an installation where we already informed - # that we are mitigating HTTPoxy per default - _has_to_show_httpoxy_mitigation_notice=0 - debug-print "No need to inform about HTTPoxy mitigation ... information was already shown for existing installation!" - else - _has_to_show_httpoxy_mitigation_notice=1 - debug-print "Need to inform about HTTPoxy mitigation!" - fi - fi - - # Do we need to adjust permissions to fix CVE-2016-1247 (bug #605008)? - # All branches up to 1.11 are affected - local _need_to_fix_CVE2016_1247=1 - - if ! version_is_at_least "1.10" "${_replacing_version_branch}"; then - # Updating from <1.10 - _has_to_adjust_permissions=1 - debug-print "Need to adjust permissions to fix CVE-2016-1247!" - else - # Updating from >=1.10 - local _fixed_in_pvr= - case "${_replacing_version_branch}" in - "1.10") - _fixed_in_pvr="1.10.2-r3" - ;; - "1.11") - _fixed_in_pvr="1.11.6-r1" - ;; - *) - # This should be any future branch. - # If we run this code it is safe to assume that we have already - # adjusted permissions or were never affected because user is - # doing an update from previous version which was safe or did - # the adjustments. Otherwise, we wouldn't hit this code path ... - _fixed_in_pvr= - esac - - if [[ -z "${_fixed_in_pvr}" ]] || version_is_at_least "${_fixed_in_pvr}" "${_replacing_version}"; then - # We are updating an installation which should already be adjusted - # or which was never affected - _need_to_fix_CVE2016_1247=0 - debug-print "Skipping CVE-2016-1247 ... existing installation should not be affected!" - else - _has_to_adjust_permissions=1 - debug-print "Need to adjust permissions to fix CVE-2016-1247!" - fi - fi - done - - if [[ ${_has_to_adjust_permissions} -eq 1 ]]; then - # We do not DIE when chmod/chown commands are failing because - # package is already merged on user's system at this stage - # and we cannot retry without losing the information that - # the existing installation needs to adjust permissions. - # Instead we are going to a show a big warning ... - - if [[ ${_has_to_show_permission_warning} -eq 0 ]] && [[ ${_need_to_fix_CVE2013_0337} -eq 1 ]]; then - ewarn "" - ewarn "The world-readable bit (if set) has been removed from the" - ewarn "following directories to mitigate a security bug" - ewarn "(CVE-2013-0337, bug #458726):" - ewarn "" - ewarn " ${EPREFIX}/var/log/nginx" - ewarn " ${EPREFIX}${NGINX_HOME_TMP}/{,client,proxy,fastcgi,scgi,uwsgi}" - ewarn "" - ewarn "Check if this is correct for your setup before restarting nginx!" - ewarn "This is a one-time change and will not happen on subsequent updates." - ewarn "Furthermore nginx' temp directories got moved to '${EPREFIX}${NGINX_HOME_TMP}'" - chmod o-rwx \ - "${EPREFIX}"/var/log/nginx \ - "${EPREFIX}"${NGINX_HOME_TMP}/{,client,proxy,fastcgi,scgi,uwsgi} || \ - _has_to_show_permission_warning=1 - fi - - if [[ ${_has_to_show_permission_warning} -eq 0 ]] && [[ ${_need_to_fix_CVE2016_1247} -eq 1 ]]; then - ewarn "" - ewarn "The permissions on the following directory have been reset in" - ewarn "order to mitigate a security bug (CVE-2016-1247, bug #605008):" - ewarn "" - ewarn " ${EPREFIX}/var/log/nginx" - ewarn "" - ewarn "Check if this is correct for your setup before restarting nginx!" - ewarn "Also ensure that no other log directory used by any of your" - ewarn "vhost(s) is not writeable for nginx user. Any of your log files" - ewarn "used by nginx can be abused to escalate privileges!" - ewarn "This is a one-time change and will not happen on subsequent updates." - chown 0:nginx "${EPREFIX}"/var/log/nginx || _has_to_show_permission_warning=1 - chmod 710 "${EPREFIX}"/var/log/nginx || _has_to_show_permission_warning=1 - fi - - if [[ ${_has_to_show_permission_warning} -eq 1 ]]; then - # Should never happen ... - ewarn "" - ewarn "*************************************************************" - ewarn "*************** W A R N I N G ***************" - ewarn "*************************************************************" - ewarn "The one-time only attempt to adjust permissions of the" - ewarn "existing nginx installation failed. Be aware that we will not" - ewarn "try to adjust the same permissions again because now you are" - ewarn "using a nginx version where we expect that the permissions" - ewarn "are already adjusted or that you know what you are doing and" - ewarn "want to keep custom permissions." - ewarn "" - fi - fi - - # Sanity check for CVE-2016-1247 - # Required to warn users who received the warning above and thought - # they could fix it by unmerging and re-merging the package or have - # unmerged a affected installation on purpose in the past leaving - # /var/log/nginx on their system due to keepdir/non-empty folder - # and are now installing the package again. - local _sanity_check_testfile=$(mktemp --dry-run "${EPREFIX}"/var/log/nginx/.CVE-2016-1247.XXXXXXXXX) - su -s /bin/sh -c "touch ${_sanity_check_testfile}" nginx >&/dev/null - if [ $? -eq 0 ] ; then - # Cleanup -- no reason to die here! - rm -f "${_sanity_check_testfile}" - - ewarn "" - ewarn "*************************************************************" - ewarn "*************** W A R N I N G ***************" - ewarn "*************************************************************" - ewarn "Looks like your installation is vulnerable to CVE-2016-1247" - ewarn "(bug #605008) because nginx user is able to create files in" - ewarn "" - ewarn " ${EPREFIX}/var/log/nginx" - ewarn "" - ewarn "Also ensure that no other log directory used by any of your" - ewarn "vhost(s) is not writeable for nginx user. Any of your log files" - ewarn "used by nginx can be abused to escalate privileges!" - fi - - if [[ ${_has_to_show_httpoxy_mitigation_notice} -eq 1 ]]; then - # HTTPoxy mitigation - ewarn "" - ewarn "This nginx installation comes with a mitigation for the HTTPoxy" - ewarn "vulnerability for FastCGI, SCGI and uWSGI applications by setting" - ewarn "the HTTP_PROXY parameter to an empty string per default when you" - ewarn "are sourcing one of the default" - ewarn "" - ewarn " - 'fastcgi_params' or 'fastcgi.conf'" - ewarn " - 'scgi_params'" - ewarn " - 'uwsgi_params'" - ewarn "" - ewarn "files in your server block(s)." - ewarn "" - ewarn "If this is causing any problems for you make sure that you are sourcing the" - ewarn "default parameters _before_ you set your own values." - ewarn "If you are relying on user-supplied proxy values you have to remove the" - ewarn "correlating lines from the file(s) mentioned above." - ewarn "" - fi -} diff --git a/www-servers/puma/Manifest b/www-servers/puma/Manifest index 56d72c84f987..3af4d9ef63cb 100644 --- a/www-servers/puma/Manifest +++ b/www-servers/puma/Manifest @@ -2,5 +2,5 @@ AUX puma-3.12.1-ruby26-waitpid.patch 1722 BLAKE2B cee9b9e89cf098a387481d754732f5 DIST puma-3.12.4.tar.gz 219148 BLAKE2B d9fcef62474a1522c29f13fb2572c99bd6d4217bc94febb9c4fe6e699808ad0002fcd88dfd16884a5a9c7296e4d6dd08bc50ce7278f41608678feb18e3a034b4 SHA512 302505512b04c68f9794461b0e7693cd3ff4dfb325b18e50f0f659649c7f504f55765437382557c65bce45d32a1710ab16a875d1fc6d143d4ca297d2b2333108 DIST puma-4.3.3.tar.gz 241756 BLAKE2B a6ff66a449bf04110b4a6e9bdaa740f1144076290f1733922ecab45b5b7e6115ee1f7431b280401adb866838b539b943a35a5955f6d7cf51075941e05451e655 SHA512 1ee81c8d144466a75d5110fd3545527c36af51d2e191c171a985944206524c10a2b4e35fb535e2a1a0a3af5d460a7071ceb9233fae8dc81784643c6b9dc06e6e EBUILD puma-3.12.4.ebuild 2052 BLAKE2B e53818548f6ef533e350689273a7be372e383f21ffb1c1e20db9d3c6b50072e0220960f6295c911a442ca41af4a3c98ff27c3ca1b07f96514bdb54351886c8d7 SHA512 c858c379c926f513d2d81e4667d8626642e2e76a7afcb5b3506829a726bc7f57768315f58d88109a45516e9fc4cde879ad7384f5d1a45f347320529e9e596a42 -EBUILD puma-4.3.3.ebuild 2127 BLAKE2B 8a73ebcb22058b32d090e6e2eb6eb5b4a2b9234b2243458e5ae2ab11f43d47aa19d4399c37414ee726b56837c6e45db5e0b886a0827eedc9d109485738c6b1fa SHA512 b4623a2a576024d05b37ba0580a57cf9c7f09a125bcea57e67b9b373a1d195a51f93c7749d122a9add5e323f1d791280b82e84e33bfbfbc9d10ab0c51cdc5813 +EBUILD puma-4.3.3.ebuild 2134 BLAKE2B d3491e5a8f671267931b9b602936a60fff1341516c2f5ebf358c63f649788746d52e57d7842b14c35749c27d31f2c689d8c46f483c1baf28d588176512bfb5dc SHA512 bdb7b3afdff870d38c03d68fae15c112f50910f8b5bcfc8f8b5e9b961e12f6fe33e040edcbbacf816ba15d597bc457e7441fb74f7e72c53e12d673ed1ac603d5 MISC metadata.xml 709 BLAKE2B f0a69d0e7f4c5e593ff5648b51de393610f579fd9fff372749fca4491e8dd57b7e853f87104e8b86f8e90013fe54f8c3141e28ae87d17432e60f329f51a67db6 SHA512 dd872907d8e164d0b63f1b4db076d9407c33581ae80ecafb119904ceebe4c05eb74d01d51c3217cf475faf02d3732e9854553fc980c1b054c42b95af58ee1c0e diff --git a/www-servers/puma/puma-4.3.3.ebuild b/www-servers/puma/puma-4.3.3.ebuild index 184d12b0c48f..20e753cc834a 100644 --- a/www-servers/puma/puma-4.3.3.ebuild +++ b/www-servers/puma/puma-4.3.3.ebuild @@ -15,7 +15,7 @@ SRC_URI="https://github.com/puma/puma/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="BSD" SLOT="3" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86" IUSE="" DEPEND+=" dev-libs/openssl:0 test? ( net-misc/curl )" diff --git a/www-servers/spawn-fcgi/Manifest b/www-servers/spawn-fcgi/Manifest index d10724833579..6268b4d81541 100644 --- a/www-servers/spawn-fcgi/Manifest +++ b/www-servers/spawn-fcgi/Manifest @@ -1,5 +1,5 @@ AUX spawn-fcgi.confd 2238 BLAKE2B 0364383f12b79728830556244485b991f5bf5f7f4595e5500b81330c43b752aca8f3fce53cd08d4f007a69279668c7d212c74ff0682a3e37ae0ec545744836c8 SHA512 0b0d5754de17dd691ead380a93526aa7fbdd432359b248ce06f030daefb1ad96e4a81fe5319557fb66602baccb45a0febf6417ec7b79eee91e1e070d9a852b90 AUX spawn-fcgi.initd-r3 3048 BLAKE2B 5b501069acfe3a535f1d73cbb706d05de50ea8562e09a49209da551dc5ba9626ddc0093b76139d4291ce8ac4c3e329be0bbf494c41c6ec137a182b8b35c3c891 SHA512 6c983f9d741f508d12b728d24dc5b57396cbd2272ae71c7127ba95aef70bd1a90b68d2b15e3481dfdbcfa723ca73a92deea61baae64051a83cec0b583c7da1e1 DIST spawn-fcgi-1.6.4.tar.xz 79944 BLAKE2B 06fb92261042fe6bccda1a472a712a7c9bc7f56ee04b72f31ee133079f6c1d07ca07ef6c1b7c878db2e32861ea20914998411a3f6b596e4ba950f8767a899346 SHA512 e2b317997b56f852ad644b80fe36fa08376ae81f93566e181c31a3b6764de2eeb32a2e10e420136d8536487c575678ca52a33f7cb3488aadf7185fbd0196bee0 -EBUILD spawn-fcgi-1.6.4-r1.ebuild 742 BLAKE2B b77d2240cd938e6c86e9a200af40b07fcaf2cb76ed5a8b216188574f20c9d6421d1d366ef6a406f8f62db71722975b5cdfac342e7705c97d0210abf8a0018127 SHA512 cc09010c5c3d008051670e81661e9602a1d6edd358bb27fdc192a5202cc38306063e8fadc795a3b81aaca84fd0486e88e78c86edf2e0ac654c185c23532acc5c +EBUILD spawn-fcgi-1.6.4-r1.ebuild 744 BLAKE2B 3d86297ab6aea367f10b9afa00ab670223e4c189a23503b136436e0be9269a41a242d1f26ce92f383b1b59a6d4f963262a4e9fe2caeef64333d42d3118767fd6 SHA512 d81f3b0d9e568485784e66a74163945e29b4c62df392966559a4f29623f695b6a0b339e2b808378f0e1e147e5c583aae32d4e94756f4e6b9609322203c513145 MISC metadata.xml 448 BLAKE2B c5651b029dc5d74e075b0a3ee7eb0b9b1cca540a579ef017faca1363f920fd374277d4e24d25db64d81c5dcea05da91e5d9f3043f98863ca31f38893f67ba041 SHA512 461925b80f58574c97b298aa4b26314e26f40d8874bd3d8e4fc6f9bd1aa7161f9c69cfcc47dd9bd9077b631827e5a6631e0322174fb1387624b7bc3d021e29a2 diff --git a/www-servers/spawn-fcgi/spawn-fcgi-1.6.4-r1.ebuild b/www-servers/spawn-fcgi/spawn-fcgi-1.6.4-r1.ebuild index 9c7665315626..3b19292350dd 100644 --- a/www-servers/spawn-fcgi/spawn-fcgi-1.6.4-r1.ebuild +++ b/www-servers/spawn-fcgi/spawn-fcgi-1.6.4-r1.ebuild @@ -4,8 +4,8 @@ EAPI=7 DESCRIPTION="A FCGI spawner for lighttpd and cherokee and other webservers" -HOMEPAGE="http://redmine.lighttpd.net/projects/spawn-fcgi" -SRC_URI="http://www.lighttpd.net/download/${P}.tar.xz" +HOMEPAGE="https://redmine.lighttpd.net/projects/spawn-fcgi" +SRC_URI="https://www.lighttpd.net/download/${P}.tar.xz" LICENSE="BSD GPL-2" SLOT="0" diff --git a/www-servers/tomcat/Manifest b/www-servers/tomcat/Manifest index b2f617657dd7..eae122332e46 100644 --- a/www-servers/tomcat/Manifest +++ b/www-servers/tomcat/Manifest @@ -5,16 +5,16 @@ AUX tomcat-instance-manager-r1.bash 6451 BLAKE2B 3bcd9dd4d3360a91f4a548c050eab6f 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.103-src.tar.gz 5279592 BLAKE2B a8ab36fb84cf158fcd8b888276576cd523d211ab0f6fe0933f600d1990a8f68076f192177a574987e52440037c0ebefd3edaf3c84fee541afb076c5ad33cce9b SHA512 812fce83c7242ebc16dc2365f0b363f1fb2691cd6a2f19f1209ea467557c42ee2d108c8bef89f23bb4a20c800d0ecdb4afc37567ef8079966b4eec0331a2ef9b DIST apache-tomcat-7.0.104-src.tar.gz 5309794 BLAKE2B 0d4d5d668e1131bb533af1d56fe37ee1f5c252c2c4dd987e24aae67484f27805f88750b27248c6acfd0585eacd0d3f2155c723e9a25c8613652101944add2a15 SHA512 788eab3ac343815362decf4c0d5db91f3697cc669e7e051f93bf82905cc52f9b040d00b7e07f7b85bcf470e802418896a678f991e523e08a3ae5a2f212a53257 -DIST apache-tomcat-8.5.54-src.tar.gz 5689648 BLAKE2B 7d4c80cb86261bba46b1879d8f2b9218a63cfb069d32dfe72bd5d73baf87887cdff37c5841c44196ded1dbafcfe2d525cb09d8a15905c24600caf107255416cf SHA512 fe4a82fc58aed0df203abf03367f840d7ac498a3ba317eb2b08826e8ab5e705ea13b99f3af1e17878b2cf96271c5d9ff4e7cecf3b2631e061f1b02988449f9e2 DIST apache-tomcat-8.5.55-src.tar.gz 5719386 BLAKE2B 4d5d20cf81e0a9aba1fe2b0fc2e9641696a2c7b4bfe1cefd1e86025612484ef06a8171e28722bcde91b671df5bd6e148b22c2fc267828109c6af762fe35f8fdb SHA512 214758bf4dc868c38fd92a19e405f3cd8e47008dee82610f8f7373d92ab5f8800c160a42c96c293f599b702c1c9d2967ca40d3410c1f6a14745edac4739f177d +DIST apache-tomcat-8.5.56-src.tar.gz 5724546 BLAKE2B 623dc2d1f6808f012f19fdd0d914c4bb200e8328ab6b6855666c1db1704e198d069ff74d227bf51e8376c20daf0640002e5d6907edadfde294d8c62a64d55f83 SHA512 75529e567a7be48f2c1034f3eeada571478d0babb63fb2d368061573d7e64d5fc0a937304e2e2ffa956b5d8a403936c1543a93ee78b258b532939fb9ce80ef3d DIST apache-tomcat-9.0.35-src.tar.gz 5887816 BLAKE2B 8103a50a62aa527861fdc35ce8256d9ff0b7185bfa647e25c30c226f9850e88632e0c1e3575bac3a07513fe9c9777b4ef230275e685f48b0bbc733bc68ff7dad SHA512 8931c0f7c30f50d352879f8dfddc02fa59d7128813399e4eca3994be7cf2448e32e726a3cb8b387a5470ccbfa3fb74d0192c825b5f68bbb9fb6b43a9353cb24a +DIST apache-tomcat-9.0.36-src.tar.gz 5890912 BLAKE2B 18962c7d4dcd75a04476acd306002977bf039d832aa1ed5551ffcaa0612e612e6b11db6d80cea149b9fb5df9d0f76284d55a1745760df8f4fa7449999e095c61 SHA512 f8263594bc679f75cecf5bcf4ad8e8ccfea42ad8e90eaeb7004c63875c6b700b0f863d68f1cdd932ebc7b303bdfb86d70afe88686e576c8ea7ccd9574c74e25b 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.103.ebuild 4204 BLAKE2B 933c63117433e3c57c394bfedbaf75c808f79d5b811a0d3580281658298d62c81a81b35c20be389d8135391a14cb68942749927f8b3c02063fdd89411a53f70b SHA512 8a5e1571002872eb6bd972c50ebfb721ad05a78a9176c7215f0ad9d4422109a2206d24d68ff7b82f62745c67d2416b5771af14f24e809a8c097aaaa44e7fd8e5 EBUILD tomcat-7.0.104.ebuild 4204 BLAKE2B 933c63117433e3c57c394bfedbaf75c808f79d5b811a0d3580281658298d62c81a81b35c20be389d8135391a14cb68942749927f8b3c02063fdd89411a53f70b SHA512 8a5e1571002872eb6bd972c50ebfb721ad05a78a9176c7215f0ad9d4422109a2206d24d68ff7b82f62745c67d2416b5771af14f24e809a8c097aaaa44e7fd8e5 -EBUILD tomcat-8.5.54.ebuild 4556 BLAKE2B 6a67a362e8fd98f7b233857abbcc2e85e3ce6911c795db4ba899932e62848c060f607b9bff66426dd0fbec9df91dcae959258ad813d4629ddede5c4986204ffb SHA512 de5dfd04a260674bab8c6d6dfbedc9684ad26a98994796472e694a1fa6105f55f721f97eb5ff3331a5c71182aa6874aa9be4bb0ee1fba427a6d7a0e2bdb25154 EBUILD tomcat-8.5.55.ebuild 4556 BLAKE2B 6a67a362e8fd98f7b233857abbcc2e85e3ce6911c795db4ba899932e62848c060f607b9bff66426dd0fbec9df91dcae959258ad813d4629ddede5c4986204ffb SHA512 de5dfd04a260674bab8c6d6dfbedc9684ad26a98994796472e694a1fa6105f55f721f97eb5ff3331a5c71182aa6874aa9be4bb0ee1fba427a6d7a0e2bdb25154 +EBUILD tomcat-8.5.56.ebuild 4557 BLAKE2B f51f8359dd552c5ea5c0816062c91c29d68ffaaff765241f17cd037187ca8fd03c9c39f7c05a95a51a57d24bfe2445ef50434f3614c9b1c9e8c01ce6a42287cd SHA512 910c1f7cf60c79dc4f7546e7d153bb239f44cd5eac7021bd78d49205f8199d3d30cca8bcc21df171fa0663d88ae504e6f237184787d923a335bf64f6e2d0b4ae EBUILD tomcat-9.0.35.ebuild 5479 BLAKE2B f9ca5f12da777e5a7c4022324f5dbd5e7c62607e1afd2888b9903307ae3af7a6b17fdc8ee7e82011291b4ca39fa59334754189e9abee646453bacbd497a92a03 SHA512 ce012dea0e52c29533191fc08436779309c6ce053d620c018c82d31fe26a8e5da9f39ebc64902ccd642577351c4093e23055306b3790ef107a512c01b0cdc639 +EBUILD tomcat-9.0.36.ebuild 5479 BLAKE2B f9ca5f12da777e5a7c4022324f5dbd5e7c62607e1afd2888b9903307ae3af7a6b17fdc8ee7e82011291b4ca39fa59334754189e9abee646453bacbd497a92a03 SHA512 ce012dea0e52c29533191fc08436779309c6ce053d620c018c82d31fe26a8e5da9f39ebc64902ccd642577351c4093e23055306b3790ef107a512c01b0cdc639 MISC metadata.xml 712 BLAKE2B 3e0a9b1bd07334015006678c0e1d933dc3d7b65291425754f7bcaec673f2316ba85b2e7df2c79a90f0d53dfbc443329cbea8ddfde7d4c93a1635b6140a3b18b6 SHA512 bc7c894d5f945a732078cc4d9a7fa9d0374ebb6aec449487f8968b22aed07bc5e20094448fda9be7516206121d0dfec8c6d6e48ee818786999703ea778a82109 diff --git a/www-servers/tomcat/tomcat-7.0.103.ebuild b/www-servers/tomcat/tomcat-7.0.103.ebuild deleted file mode 100644 index 8fa804171b41..000000000000 --- a/www-servers/tomcat/tomcat-7.0.103.ebuild +++ /dev/null @@ -1,146 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -JAVA_PKG_IUSE="doc source test" - -inherit eutils java-pkg-2 java-ant-2 prefix user - -MY_P="apache-${P}-src" - -DESCRIPTION="Tomcat Servlet-3.0/JSP-2.2 Container" -HOMEPAGE="https://tomcat.apache.org/" -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" -IUSE="extra-webapps websockets" - -RESTRICT="test" # can we run them on a production system? - -ECJ_SLOT="4.5" -SAPI_SLOT="3.0" - -COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT} - ~dev-java/tomcat-servlet-api-${PV}:${SAPI_SLOT}" -RDEPEND="${COMMON_DEP} - virtual/jre" -DEPEND="${COMMON_DEP} - virtual/jdk:1.8 - test? ( dev-java/ant-junit:0 )" - -S=${WORKDIR}/${MY_P} - -pkg_setup() { - java-pkg-2_pkg_setup - enewgroup tomcat 265 - enewuser tomcat 265 -1 /dev/null tomcat -} - -src_prepare() { - default - - # Remove bundled servlet-api - rm -rv java/javax/{el,servlet} || die - - java-pkg_clean - - eapply "${FILESDIR}/${PN}-7.0.99-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_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="-r1" -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 -} - -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 ### - - 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=$(echo ${RANDOM}|md5sum|cut -c 1-15) - 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.54.ebuild b/www-servers/tomcat/tomcat-8.5.54.ebuild deleted file mode 100644 index 688cb7615768..000000000000 --- a/www-servers/tomcat/tomcat-8.5.54.ebuild +++ /dev/null @@ -1,158 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -JAVA_PKG_IUSE="doc source test" - -inherit eutils java-pkg-2 java-ant-2 prefix user - -MY_P="apache-${P}-src" - -DESCRIPTION="Tomcat Servlet-3.1/JSP-2.3/EL-3.0/WebSocket-1.1/JASPIC-1.1 Container" -HOMEPAGE="https://tomcat.apache.org/" -SRC_URI="mirror://apache/${PN}/tomcat-8/v${PV}/src/${MY_P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="8.5" -KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux ~x86-solaris" -IUSE="extra-webapps" - -RESTRICT="test" # can we run them on a production system? - -ECJ_SLOT="4.5" -SAPI_SLOT="3.1" - -COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT} - ~dev-java/tomcat-servlet-api-${PV}:${SAPI_SLOT}" -RDEPEND="${COMMON_DEP} - virtual/jre" -DEPEND="${COMMON_DEP} - app-admin/pwgen - >=dev-java/ant-core-1.9.13 - virtual/jdk:1.8 - test? ( - >=dev-java/ant-junit-1.9:0 - dev-java/easymock:3.2 - )" - -S=${WORKDIR}/${MY_P} - -pkg_setup() { - java-pkg-2_pkg_setup - enewgroup tomcat 265 - enewuser tomcat 265 -1 /dev/null tomcat -} - -src_prepare() { - default - - find -name '*.jar' -type f -delete -print || die - - # Remove bundled servlet-api - rm -rv java/javax/{el,servlet} || die - - eapply "${FILESDIR}/${PN}-8.5.47-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-8.5.56.ebuild b/www-servers/tomcat/tomcat-8.5.56.ebuild new file mode 100644 index 000000000000..4bdde891a689 --- /dev/null +++ b/www-servers/tomcat/tomcat-8.5.56.ebuild @@ -0,0 +1,158 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +JAVA_PKG_IUSE="doc source test" + +inherit eutils java-pkg-2 java-ant-2 prefix user + +MY_P="apache-${P}-src" + +DESCRIPTION="Tomcat Servlet-3.1/JSP-2.3/EL-3.0/WebSocket-1.1/JASPIC-1.1 Container" +HOMEPAGE="https://tomcat.apache.org/" +SRC_URI="mirror://apache/${PN}/tomcat-8/v${PV}/src/${MY_P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="8.5" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x86-solaris" +IUSE="extra-webapps" + +RESTRICT="test" # can we run them on a production system? + +ECJ_SLOT="4.5" +SAPI_SLOT="3.1" + +COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT} + ~dev-java/tomcat-servlet-api-${PV}:${SAPI_SLOT}" +RDEPEND="${COMMON_DEP} + virtual/jre" +DEPEND="${COMMON_DEP} + app-admin/pwgen + >=dev-java/ant-core-1.9.13 + virtual/jdk:1.8 + test? ( + >=dev-java/ant-junit-1.9:0 + dev-java/easymock:3.2 + )" + +S=${WORKDIR}/${MY_P} + +pkg_setup() { + java-pkg-2_pkg_setup + enewgroup tomcat 265 + enewuser tomcat 265 -1 /dev/null tomcat +} + +src_prepare() { + default + + find -name '*.jar' -type f -delete -print || die + + # Remove bundled servlet-api + rm -rv java/javax/{el,servlet} || die + + eapply "${FILESDIR}/${PN}-8.5.47-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.36.ebuild b/www-servers/tomcat/tomcat-9.0.36.ebuild new file mode 100644 index 000000000000..b0c29cb19e68 --- /dev/null +++ b/www-servers/tomcat/tomcat-9.0.36.ebuild @@ -0,0 +1,181 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +JAVA_PKG_IUSE="doc source test" + +inherit eutils java-pkg-2 java-ant-2 prefix user + +MY_P="apache-${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 ~amd64-linux ~x86-linux ~x86-solaris" +IUSE="extra-webapps" + +RESTRICT="test" # can we run them on a production system? + +ECJ_SLOT="4.13" +SAPI_SLOT="4.0" + +COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT} + dev-java/glassfish-xmlrpc-api:0 + ~dev-java/tomcat-servlet-api-${PV}:${SAPI_SLOT} + dev-java/wsdl4j:0" +RDEPEND="${COMMON_DEP} + virtual/jre" +DEPEND="${COMMON_DEP} + app-admin/pwgen + >=dev-java/ant-core-1.9.13 + virtual/jdk:1.8 + 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}/${PN}-9.0.27-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/tornado/Manifest b/www-servers/tornado/Manifest index c5864dd17fb3..7f1e39e85916 100644 --- a/www-servers/tornado/Manifest +++ b/www-servers/tornado/Manifest @@ -5,5 +5,5 @@ DIST tornado-6.0.4.tar.gz 496204 BLAKE2B 6c092214d03baf5cf7615b780043e2fa40a4ed6 EBUILD tornado-4.5.3.ebuild 1272 BLAKE2B 803fffb9d8b1568ad02836612c73aa1b9d4c8ab409aba395d6a7a44adb786f03145936328b650536c88564f66a5dbf337b587a30e03d092753fbc104d2dcab3c SHA512 089dacaeeb8fe14380d3afcf5a9ba91b580d9bd67559433f3143e5b73a7ad879367a199862e81494df279a38b4bb631718dbc8bf22dfbda65734bf8b5481c7e4 EBUILD tornado-5.1-r1.ebuild 1287 BLAKE2B 6ebf14bd2fbb026f6676b884745620f30090b5419602927c69130b2e521a3eec9ecf02784c27e9808fb616b4b795a0d364d2874caf647344d25705f874a4554c SHA512 466e8f0ccdb601067b44dd294e50340e9887b5fa2631057f66ef43dc69f10adea870587f538905f0987208e33e82c71bbf31811e34490204d730b1aad0efb2fc EBUILD tornado-6.0.3.ebuild 1488 BLAKE2B 785ebed748c2b65385596cdbb1e8174245ceb08276c444a9c66e0257d25d89d33666f0a44c5dad57800bf8913d3a664aed99a7c0f5596426cc64ad2a04c7c9d7 SHA512 0016d09047e0ce4701700f836865ae59cabccb8d5d212b81bfd4af889b4a7e30754913fb67b58f5a1c3009eb3ddd0961c657260a35a21fd5c5668c75ce91c67c -EBUILD tornado-6.0.4.ebuild 1297 BLAKE2B e3c6b962f0561d3e2b9242dc2ce52c880c71fcacc26c6b8d8384c3ffbfd3d9f92ea5068203b9deeb1d02e1e28c080947eac71274065316d7c988449e9137e1d9 SHA512 aa91be652a3b1f23fa18972f61b0caffd19111ec43c28a3de6ba1e7122d8196c6e20cc1f2d8f68ea207ca4fa07738ced7fee02568004a673a024922d9a39f84f +EBUILD tornado-6.0.4.ebuild 1310 BLAKE2B 51b51accf208fefd57cdbd5207110c333eee8fee3c0543c832df017a494d005ea2b0bd2fd210392efd7cb18592f5a6ab65e22a3bb54672d477adb403491078de SHA512 4b294f66dcb336c1544cfe61f3efe340945319618ed236adda3c222bc5f01012c721f87eab13189d655cb5104a51632bd263e740124aea7d1c0a626146b7d2ef MISC metadata.xml 380 BLAKE2B 16a28ca707ba911df09dfad39b269bd888734c1f5e54fdc57d84f62b541e284f248137a01c13055f5e9fa1e1da0a2c9e1382006119cc11ec19302516262b7dc1 SHA512 e790429d61042b60a9011710e96df0044c64cc5ac941ab6268386138d3a66e46d40ed1098ec8bc164d9f4341040946ec7231e8f28dda11790ecc482b06978771 diff --git a/www-servers/tornado/tornado-6.0.4.ebuild b/www-servers/tornado/tornado-6.0.4.ebuild index 4c403b6e6784..26cc0c315e08 100644 --- a/www-servers/tornado/tornado-6.0.4.ebuild +++ b/www-servers/tornado/tornado-6.0.4.ebuild @@ -14,7 +14,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 arm ~arm64 ~ia64 ppc ppc64 ~sparc x86" +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 ~sparc x86" IUSE="examples test" RESTRICT="!test? ( test )" diff --git a/www-servers/uwsgi/Manifest b/www-servers/uwsgi/Manifest index e5496b5f0200..f717cee75956 100644 --- a/www-servers/uwsgi/Manifest +++ b/www-servers/uwsgi/Manifest @@ -3,10 +3,6 @@ AUX 42_mod_uwsgi-r2.conf 254 BLAKE2B 27e8a1814eb6a3a2cf265d5364971cb2aa4ff97a428 AUX gentoo.buildconf 490 BLAKE2B 320b0471c0c76ab6c8ada7b034f612fc20398eb60e1edc3530be9d177bff755779251ea880d98addacf5476e3aae20145c95fad4d7baf594e58b9ebcaf2b0dde SHA512 d5bdc136374aed58ce206ea72cc45c72750f60117eef98960356b5cd64e2152c454af6b5aebb28f03ad46b42ea95a16fbf1e4a6f976ae78744550803ac775fe2 AUX uwsgi.confd-r4 1849 BLAKE2B 80afdf7a5ebc520d887061aba9f7cd64b1bca06d3da478d8d1090a8b9cba973ac2d3dbcbc2ceb980415e98317bc55b07a9a7e6641fac593dc4dd5466bd8d67c9 SHA512 041d1bd694fad6f7c5e28944aab6d7ba53b3c7fc990ce6b7c2d97b9f3d6650c46dda8069e545c252a7400e1d825c8e46d7393a289757b1bd665e64241ca3789a 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 DIST uwsgi-2.0.18.tar.gz 801555 BLAKE2B d8008e751fd699474a1b7d6276c10b3d2f1ebd0ca325e45bfb3b13f81e88de20e4e7389cd6aa9c8b3daa964d9b11524ee71e93717ed9762bf021471f6a2c09fa SHA512 6561703279bcc4a81311d033810ac066d0f113bab13b0942f3eef86cac29c584a6641b52476840d6895151aee5ed064ae2d03b18932cf7f47e62f4eeed76da61 -EBUILD uwsgi-2.0.17.1-r1.ebuild 11492 BLAKE2B f06c80ab1e3551dbf8e51ddc6d1cfee4493d6e78f99cc974835d45eb4eecf9704691d2115bc7129a23a81a55a37fc53fc55c8cefcb14596529662920b77a7c12 SHA512 957acb4e7234c8823373927192e66d00f488728d6437b06c074c81bd0eb82f24d435b3ac7fbc8d2f9ff901b37cb8accabf5146390a81636946f14cdb7244041c -EBUILD uwsgi-2.0.17.ebuild 11927 BLAKE2B 8e4c61acfc1e8eb9645a9aca869d6e74ec8157cecd829805dc21c54d72c1d9927b9c1c321336c2c7a5378df640c059c870135af986859741da95c0eeee73e11a SHA512 a10f4aee73f02cf48f0412e6c69334c41c0ba8dc7de04144253a9129c6d29cb58ae318a4c55821a4a9ce7a1675c97d042a62c29c556760e758e156323fb04a47 -EBUILD uwsgi-2.0.18.ebuild 11516 BLAKE2B a1102bb82aec932a0cf6b2d9246e2fd82a09f99ef5e6783f96bd9c0c0012fda37a5c0a354300e583a5df9a25b4e4ad1f238ebee982e6ea01a1f4788e52d270bf SHA512 2ee1604303ac6321e343e797cf6d74f479926acd39315b091c1c5369bf409bf05c25071100e07fdee1fb17ab50146cfc4a4b4d39a6a7db0209f643e624893e59 +EBUILD uwsgi-2.0.18.ebuild 11514 BLAKE2B 9bdbf0807ae4fd3e970fa237905e6e9425eff0b4b4e4d9342f540076adf30f1082f7c634901326cc3075c271b5f57584b30b31c2328df5e10ceaa61338d9c279 SHA512 435f7f79ac14b5e21b17ef0ca80535f6f67b0663691e0a5084765d0ce77215c103e9a3f85c9c4e6ce6b55d8e46d76fa19b675714c1999e102c8fca88d02b9085 MISC metadata.xml 1411 BLAKE2B 89114f75b2150f4340e30cd106115f0e9aa1a00389558f6f75aa86c0bf5a11d5df5ecb794c12f7bb39791d8edef40415cbca4403f8f2b65bd642ce52e95357a3 SHA512 33d3767a25dfca633e5149a20900d56998c40204a4c55e3814248574d0c8525883a842222ed5f8ac739a06cd09d806c189ff6f742d1277bcd3f8e8afdea84445 diff --git a/www-servers/uwsgi/uwsgi-2.0.17.1-r1.ebuild b/www-servers/uwsgi/uwsgi-2.0.17.1-r1.ebuild deleted file mode 100644 index 4583d2826100..000000000000 --- a/www-servers/uwsgi/uwsgi-2.0.17.1-r1.ebuild +++ /dev/null @@ -1,376 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 python3_{6,7} ) -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="php7-2 php7-3 php7-4" # 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 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 ) - python? ( ${PYTHON_REQUIRED_USE} ) - python-asyncio? ( || ( $(python_gen_useflags -3) ) ) - 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? ( sys-libs/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? ( sys-devel/gcc:=[go] ) - lua? ( dev-lang/lua:= ) - mono? ( dev-lang/mono:= ) - perl? ( dev-lang/perl:= ) - php? ( - php_targets_php7-2? ( dev-lang/php:7.2[embed] ) - php_targets_php7-3? ( dev-lang/php:7.3[embed] ) - php_targets_php7-4? ( dev-lang/php:7.4[embed] ) - ) - 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} - - ${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 -} - -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} - - 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 $(ruby_get_use_implementations) ; do - elog " '--plugins rack_${ruby/.}' for ${ruby}" - elog " '--plugins fiber_${ruby/.}' for ${ruby} fibers" - elog " '--plugins rbthreads_${ruby/.}' for ${ruby} rbthreads" - done - fi -} diff --git a/www-servers/uwsgi/uwsgi-2.0.17.ebuild b/www-servers/uwsgi/uwsgi-2.0.17.ebuild deleted file mode 100644 index 6aca5bcd7fb7..000000000000 --- a/www-servers/uwsgi/uwsgi-2.0.17.ebuild +++ /dev/null @@ -1,388 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 - -PYTHON_COMPAT=( python2_7 python3_6 ) -PYTHON_REQ_USE="threads(+)" - -RUBY_OPTIONAL="yes" -USE_RUBY="ruby23 ruby24" - -PHP_EXT_INI="no" -PHP_EXT_NAME="dummy" -PHP_EXT_OPTIONAL_USE="php" -USE_PHP="php7-2 php7-3 php7-4" # deps must be registered separately below - -MY_P="${P/_/-}" - -inherit apache-module eutils flag-o-matic multilib pax-utils php-ext-source-r2 python-r1 ruby-ng versionator - -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 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 perl ) # plugins which can be built in the main build process -LANG_SUPPORT_EXTENDED=( go lua php 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 ) - python? ( ${PYTHON_REQUIRED_USE} ) - python-asyncio? ( || ( $(python_gen_useflags -3) ) python-gevent ) - 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? ( sys-libs/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? ( sys-devel/gcc:=[go] ) - lua? ( dev-lang/lua:= ) - perl? ( dev-lang/perl:= ) - php? ( - php_targets_php7-2? ( dev-lang/php:7.2[embed] ) - php_targets_php7-3? ( dev-lang/php:7.3[embed] ) - php_targets_php7-4? ( dev-lang/php:7.4[embed] ) - ) - python? ( ${PYTHON_DEPS} ) - python-gevent? ( >=dev-python/gevent-1.2.1[${PYTHON_USEDEP}] ) - ruby? ( $(ruby_implementations_depend) )" -DEPEND="${CDEPEND} - virtual/pkgconfig" -RDEPEND="${CDEPEND} - selinux? ( sec-policy/selinux-uwsgi ) - uwsgi_plugins_rrdtool? ( net-analyzer/rrdtool )" - -want_apache2 - -S="${WORKDIR}/${MY_P}" -APXS2_S="${S}/apache2" -APACHE2_MOD_CONF="42_mod_uwsgi-r2 42_mod_uwsgi" - -# FIXME: is this patch still useful? -PATCHES=( - "${FILESDIR}/2.0.14-php-plugin.patch" -) - -src_unpack() { - default -} - -pkg_setup() { - python_setup - use ruby && ruby-ng_pkg_setup - depend.apache_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="$(get_version_component_range 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} - - ${PYTHON} uwsgiconfig.py --plugin plugins/python gentoo ${EPYV} || die "building plugin for ${EPYTHON} failed" - - if use python-asyncio ; then - if [[ "${PYV}" == "34" || "${PYV}" == "35" ]] ; 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 -} - -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 - - if use apache2 ; then - for m in proxy_uwsgi Ruwsgi uwsgi ; do - APXS2_ARGS="-c mod_${m}.c" - apache-module_src_compile - done - 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 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 - - if use apache2; then - for m in proxy_uwsgi Ruwsgi uwsgi ; do - APACHE2_MOD_FILE="${APXS2_S}/.libs/mod_${m}.so" - apache-module_src_install - done - 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 - elog "Three Apache modules have been installed: mod_proxy_uwsgi, mod_uwsgi and mod_Ruwsgi." - elog "You can enable them with -D PROXY_UWSGI, -DUWSGI or -DRUWSGI in /etc/conf.d/apache2." - elog "mod_uwsgi and mod_Ruwsgi have the same configuration interface and define the same symbols." - elog "Therefore you can enable only one of them at a time." - elog "mod_uwsgi is commercially supported by Unbit and stable but a bit hacky." - elog "mod_Ruwsgi is newer and more Apache-API friendly but not commercially supported." - elog "mod_proxy_uwsgi is a proxy module, considered stable and is now the recommended module." - 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 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} - - 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 $(ruby_get_use_implementations) ; do - elog " '--plugins rack_${ruby/.}' for ${ruby}" - elog " '--plugins fiber_${ruby/.}' for ${ruby} fibers" - elog " '--plugins rbthreads_${ruby/.}' for ${ruby} rbthreads" - done - fi -} diff --git a/www-servers/uwsgi/uwsgi-2.0.18.ebuild b/www-servers/uwsgi/uwsgi-2.0.18.ebuild index f49a3867164b..2ba21267a170 100644 --- a/www-servers/uwsgi/uwsgi-2.0.18.ebuild +++ b/www-servers/uwsgi/uwsgi-2.0.18.ebuild @@ -24,7 +24,7 @@ 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" +KEYWORDS="amd64 arm x86 ~amd64-linux" UWSGI_PLUGINS_STD=( ping cache carbon nagios rpc rrdtool http ugreen signal syslog rsyslog -- cgit v1.2.3