From 6d691ad5b6239929063441bbd14c489e92e7396e Mon Sep 17 00:00:00 2001 From: V3n3RiX <venerix@redcorelinux.org> Date: Fri, 5 Mar 2021 09:25:57 +0000 Subject: gentoo resync : 05.03.2021 --- www-servers/Manifest.gz | Bin 5040 -> 5044 bytes www-servers/puma/Manifest | 8 +- www-servers/puma/puma-4.3.4-r1.ebuild | 75 ------ www-servers/puma/puma-4.3.7.ebuild | 75 ------ www-servers/puma/puma-5.0.4.ebuild | 65 ----- www-servers/puma/puma-5.2.2.ebuild | 59 +++++ www-servers/uwsgi/Manifest | 4 +- www-servers/uwsgi/uwsgi-2.0.19.1-r100.ebuild | 3 +- www-servers/uwsgi/uwsgi-2.0.19.1-r101.ebuild | 379 +++++++++++++++++++++++++++ www-servers/uwsgi/uwsgi-2.0.19.1.ebuild | 377 -------------------------- 10 files changed, 443 insertions(+), 602 deletions(-) delete mode 100644 www-servers/puma/puma-4.3.4-r1.ebuild delete mode 100644 www-servers/puma/puma-4.3.7.ebuild delete mode 100644 www-servers/puma/puma-5.0.4.ebuild create mode 100644 www-servers/puma/puma-5.2.2.ebuild create mode 100644 www-servers/uwsgi/uwsgi-2.0.19.1-r101.ebuild delete mode 100644 www-servers/uwsgi/uwsgi-2.0.19.1.ebuild (limited to 'www-servers') diff --git a/www-servers/Manifest.gz b/www-servers/Manifest.gz index b409f42d7f74..2764631945b8 100644 Binary files a/www-servers/Manifest.gz and b/www-servers/Manifest.gz differ diff --git a/www-servers/puma/Manifest b/www-servers/puma/Manifest index 26b0ae00f1b4..93ecb5f7f652 100644 --- a/www-servers/puma/Manifest +++ b/www-servers/puma/Manifest @@ -2,18 +2,14 @@ AUX puma-3.12.1-ruby26-waitpid.patch 1722 BLAKE2B cee9b9e89cf098a387481d754732f5 AUX puma-3.12.5-cve-2020-11077.patch 3490 BLAKE2B 08f103ed5a5cf9878404f04c139476c730f7a663681aa6cc0107c033317826ed803b72b384034b08b361ed7c99683fe3d90d51c5f97708647750db9edf59e15c SHA512 25f26889e74c98e5ee45dbdb2dad356099d15c70027f32fa2500e0f5b40d742d376b7f29560dde985c3652064f6bdec8dd411154301f6c89b1ef356632570c29 AUX puma-4.3.4-cve-2020-11077.patch 3578 BLAKE2B 34ed185950223fe952f29c98aa80211f8b066ec9d89a04ce4900b6fa654521ac4abb3ae4fd6ae9f56c3143649b0d07bb1a1b66691522c1a9d0ee4d574fe9c58b SHA512 1df326102f6efd0b0aec4918ddda8beba467a76fb863cb0f117d9f073cd6adfdc4dbcb5b698cff8a43404794aa0171e5c124bdf9e0b8ab4161475c6ab3bbd95e DIST puma-3.12.5.tar.gz 219175 BLAKE2B 55e80fba8fd84004090cb8d30b6fd01652f1beb1d1216c5d41ce46c616677504fa867f9701ed2631f4edc956c9377d72c6fd4a1b61e99fdbb50ea371b170a0c0 SHA512 1e6721844cbabab0cfb8b1707625723061821dae3ee06a3330075f787ae580e6836d9cbe436e63dc4602253ad1da3b56135316c923c03bbbae454d9457a44aec -DIST puma-4.3.4.tar.gz 241806 BLAKE2B 5450f14112ad45c48794186c7e9f078feed28a4194a917c949f4058b9d3a115273df6d93260de330047fa59730cb3ad45f31eb05e5880569e95a0b2c9de99a42 SHA512 619bf44c17622233b673dbf6c8f34b0463cd32684df81c20f31045d3106a86e110753b4da80e7b51b46fe18d90ee107d9a84a975dc3116840d9a9b5962178873 -DIST puma-4.3.7.tar.gz 242780 BLAKE2B 22a81839bde50c61147712b85fceb90af8f46ada0b60d1901d0918d75cd7a006a3c71a2c525b83846b3719b44419725fcc38ec7bd32c8bb6acc916ec95ca7aae SHA512 90262ddbb4c9ceceb023538f8f3e4542de6d02763e2dd60dc24fb1bbde45817bb5a6472469da8d384ec25d97f9501c8afbe2c8da3fb690965a38da4d342a8f1c -DIST puma-5.0.4.tar.gz 275942 BLAKE2B 1e607d7ff44ae9b677f6fb41355fe3b660bd880a642e5d3859e177c9327b68c0db729621ef0b3d7a5bb08917249fb7eac688027ceb62f072dabe7ba30086bf79 SHA512 6804ef3bfd4fa3a6695c213e3550244adace91121cb2c45f06fa4c68fb502787c5fdebba41b4754216eab880ca8738ab6f83d0ec9456a86fc6db99a4d4405bd8 DIST puma-5.1.1.tar.gz 284807 BLAKE2B 59ba17129e55e79aa2f8092d60a5643840bd996b7832d421cb72538fc48b0fb302353bedef56cc9b115bdfb15b33b0f453bfbf759b2e9552a9490a8b0cef3090 SHA512 8653c622c21dca2116219702e801d7aa3272f0771fd5c2d5149927edbd504a9838fb0d442bfc5dc523035a94dad25946738a5dda954fdaa74a9a00c85ed9f86e DIST puma-5.2.0.tar.gz 292173 BLAKE2B e09e524ef651a674373e0c5281832fef2e016f58e9623968e11c47135f7bcddb72c6458e74e85f4264c40f49222161d9749c3c29295d5470e47e7b0382e96bab SHA512 3e97f17be3926ff23b03def55dd1c9f015750a5aec74f0fa1551d20c9f386e0ec1a9e676dc0df49ae12129be6768a7d2f7df7a944dd2ec3d44f8243098dc7950 DIST puma-5.2.1.tar.gz 292945 BLAKE2B 1590dd256953578330ffcb4b2e8745c20ea893f62f251813da5b2473694312a9daeccd7cd5f453dbad441619594210fbdac431a6459deea24e1656c4da0ba01c SHA512 8ec1a351badd68ce6559eb99592e3f4d836ca49406749a6c2cd9162c443eadf3b4cf24ceb6c92e0e27057217f6487ff9923888ff4a1590f8cf9061d06ec16e52 +DIST puma-5.2.2.tar.gz 293551 BLAKE2B ba7ba9d8a2dcf9ea9716624f712d6b569472e8bfd8d7501a5807007ccdc6b6b36a8fc6f65f47f5898907adb3d3b85e2630194d5527c96ed655ce6a52192ec36a SHA512 b2d4f711cd1ad4f4557991ba26d7b940573b413e6a4c589d8447e78135d8d47e7222de4c865919981b677891cb2b57e3a3cf015d1f9a637b671f4f221c7ea77f EBUILD puma-3.12.5-r1.ebuild 2159 BLAKE2B 9890e397dd8966c4f1480cc435cca1235a87d317d37fd7879a32b03a8ad8b1ec1a6898f7cf5731c8f80a0014ad8dc7b01bc3c10a46f817269101f641101d12a3 SHA512 f922181874ab1c8cd685f1837d3631682aaacc2c316bffe8918fd35f1c8a2f879d5b199a3a4bb9346017bb5e5faec51135ec47a0f502c300413d6a5c9389631a -EBUILD puma-4.3.4-r1.ebuild 2176 BLAKE2B 433e221931b2716fdf1bbddf2aa7c2e08c759a63681bb21b34c3a5b8db3618203c4024473fbe98ba88dc7c4f0b63e96444f5305ace3338b14d1dd62140fbbed3 SHA512 91dde6a7c485b46f158f35432e136bb40b5115dace83e9f4446b4cf1c8e24660467b23f5f147bb6c26e699c13405e36205db4871e4afa6a1b1cc1c9180998b9c -EBUILD puma-4.3.7.ebuild 2177 BLAKE2B 07142bc2d99d35b096b7478fd185eebb3d51cd126ee363a7ce52c1d29a8b372e8702e45728849a9ea47c5d42a74cd3820c338b1b0d8a902a49962847999999fb SHA512 6015493546b3f66692f86ad1767033c3375b5267bc3e3a2be50e0cc355af35090390139d62cc224777d00ac938de54bef39faeee0f6945ab488414173ae4b7e4 -EBUILD puma-5.0.4.ebuild 1904 BLAKE2B 4041272a4dc73f59b34d6d95c2819d70e9c548c2534dbe58cd71c477524f77655a34025cb3d4c3a4b9100fdd6663ec077e382f651d28bb30cd06e184e0c4ab17 SHA512 8868450157cbeaaac662db7949df14735f43deaa1dece0481743240603b4aa6f8393f00d004754abea2c8a8c06c9b15cf9f5f00b25688b06ea8bddcf834416fa EBUILD puma-5.1.1.ebuild 1939 BLAKE2B cd4fa1f381dff7fe659e1371ecdbab746c8ba8ed46aaa07c269e0f41fdb9ee7e1aef7bcf339cc1b0ea2682ad9ac968312b20228e509aa972a200705d3d60f26c SHA512 1da86cd7e917532ca9456a13f10d321c56cac38a0132d76a611fc64997ec5e90c614c5f924e6fd507a01eb9963686974cf69669b1e071823da811b4e45ade5dd EBUILD puma-5.2.0.ebuild 1941 BLAKE2B 36f49f2b32efd47d43287752f1f99166e5428671dcae15c1ccf74c5a53049e520aa2769d5678850c3ded225abb60daab3686bcc3c6acd8270098fa9efdf5ccba SHA512 452352fa6d419962ee8c07c909d7826325c86cc1427e1393617805e8d81e7eb911d090bcd99f32fa85dd5d3790dc0e357f3c21ebf70c7f82396f2a78c9a85f42 EBUILD puma-5.2.1-r1.ebuild 1845 BLAKE2B 451cb646c9c831294c1c2c51378453b4bc7f5676d4da82741afb246379d9b6f3aa0205bdace9e0443ff686267af7f997fc2e3a8e32e5cf30df143b8d1d6f12ea SHA512 4a066b6071666275ab712c51ebf3b92318eb99738f03d008faad53cbec42c69ac26b8acee9e699bd70c7dc4d798455b6f49b4a8d31305e93e7eaade374cca82f EBUILD puma-5.2.1.ebuild 1941 BLAKE2B 36f49f2b32efd47d43287752f1f99166e5428671dcae15c1ccf74c5a53049e520aa2769d5678850c3ded225abb60daab3686bcc3c6acd8270098fa9efdf5ccba SHA512 452352fa6d419962ee8c07c909d7826325c86cc1427e1393617805e8d81e7eb911d090bcd99f32fa85dd5d3790dc0e357f3c21ebf70c7f82396f2a78c9a85f42 +EBUILD puma-5.2.2.ebuild 1845 BLAKE2B 451cb646c9c831294c1c2c51378453b4bc7f5676d4da82741afb246379d9b6f3aa0205bdace9e0443ff686267af7f997fc2e3a8e32e5cf30df143b8d1d6f12ea SHA512 4a066b6071666275ab712c51ebf3b92318eb99738f03d008faad53cbec42c69ac26b8acee9e699bd70c7dc4d798455b6f49b4a8d31305e93e7eaade374cca82f MISC metadata.xml 709 BLAKE2B f0a69d0e7f4c5e593ff5648b51de393610f579fd9fff372749fca4491e8dd57b7e853f87104e8b86f8e90013fe54f8c3141e28ae87d17432e60f329f51a67db6 SHA512 dd872907d8e164d0b63f1b4db076d9407c33581ae80ecafb119904ceebe4c05eb74d01d51c3217cf475faf02d3732e9854553fc980c1b054c42b95af58ee1c0e diff --git a/www-servers/puma/puma-4.3.4-r1.ebuild b/www-servers/puma/puma-4.3.4-r1.ebuild deleted file mode 100644 index ec3645ec7477..000000000000 --- a/www-servers/puma/puma-4.3.4-r1.ebuild +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -USE_RUBY="ruby25 ruby26 ruby27" - -RUBY_FAKEGEM_GEMSPEC="puma.gemspec" - -inherit multilib ruby-fakegem - -DESCRIPTION="a simple, fast, threaded, and highly concurrent HTTP 1.1 server for Ruby/Rack" -HOMEPAGE="https://puma.io/" -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 ~sparc ~x86" -IUSE="" - -DEPEND+=" dev-libs/openssl:0 test? ( net-misc/curl )" -RDEPEND+=" dev-libs/openssl:0" - -ruby_add_bdepend "virtual/ruby-ssl - test? ( dev-ruby/rack >=dev-ruby/minitest-5.9:5 >=dev-ruby/test-unit-3.0:2 )" - -ruby_add_rdepend "dev-ruby/nio4r:2" - -all_ruby_prepare() { - eapply "${FILESDIR}/${P}-cve-2020-11077.patch" - - sed -e '/bundler/ s:^:#:' \ - -e '/prove/ s:^:#:' \ - -i test/helper.rb || die - - # Avoid tests failing inconsistently - sed -i -e '/phased_restart_via_pumactl/,/^ end/ s:^:#:' test/test_integration_pumactl.rb || die - sed -i -e '/test_bad_client/askip "inconsistent results"' test/test_web_server.rb || die - - # Loosen timing on flakey test - #sed -i -e '390 s/sleep 2/sleep 4/' test/test_integration.rb || die - - # Use correct ruby version - sed -i -e 's/ruby -rrubygems/#{Gem.ruby} -rrubygems/' test/shell/t{1,3}.rb || die - - # Avoid launcher tests since they make assumptions about bundler use - rm -f test/test_launcher.rb || die - - sed -i -e 's/git ls-files --/find/' ${RUBY_FAKEGEM_GEMSPEC} || die -} - -each_ruby_prepare() { - sed -i -e 's:ruby -rubygems:'${RUBY}' -rubygems:' \ - -e 's/localhost/127.0.0.1/' test/shell/* || die - sed -i -e '1ilog_requests' test/shell/t{1,2}_conf.rb || die -} - -each_ruby_configure() { - ${RUBY} -Cext/puma_http11 extconf.rb || die -} - -each_ruby_compile() { - emake V=1 -Cext/puma_http11 - cp ext/puma_http11/puma_http11$(get_modname) lib/puma/ || die -} - -each_ruby_test() { - einfo "Running test suite" - ${RUBY} -Ilib:.:test -e "gem 'minitest', '~>5.9'; gem 'test-unit', '~>3.0'; require 'minitest/autorun'; Dir['test/**/*test_*.rb'].each{|f| require f}" || die - - einfo "Running integration tests" - pushd test/shell - #sh run.sh || die - popd -} diff --git a/www-servers/puma/puma-4.3.7.ebuild b/www-servers/puma/puma-4.3.7.ebuild deleted file mode 100644 index 0f9bdaf48757..000000000000 --- a/www-servers/puma/puma-4.3.7.ebuild +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -USE_RUBY="ruby25 ruby26 ruby27" - -RUBY_FAKEGEM_GEMSPEC="puma.gemspec" - -inherit multilib ruby-fakegem - -DESCRIPTION="a simple, fast, threaded, and highly concurrent HTTP 1.1 server for Ruby/Rack" -HOMEPAGE="https://puma.io/" -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 ~sparc ~x86" -IUSE="" - -DEPEND+=" dev-libs/openssl:0 test? ( net-misc/curl )" -RDEPEND+=" dev-libs/openssl:0" - -ruby_add_bdepend "virtual/ruby-ssl - test? ( dev-ruby/rack >=dev-ruby/minitest-5.9:5 >=dev-ruby/test-unit-3.0:2 )" - -ruby_add_rdepend "dev-ruby/nio4r:2" - -all_ruby_prepare() { -# eapply "${FILESDIR}/${P}-cve-2020-11077.patch" - - sed -e '/bundler/ s:^:#:' \ - -e '/prove/ s:^:#:' \ - -i test/helper.rb || die - - # Avoid tests failing inconsistently - sed -i -e '/phased_restart_via_pumactl/,/^ end/ s:^:#:' test/test_integration_pumactl.rb || die - sed -i -e '/test_bad_client/askip "inconsistent results"' test/test_web_server.rb || die - - # Loosen timing on flakey test - #sed -i -e '390 s/sleep 2/sleep 4/' test/test_integration.rb || die - - # Use correct ruby version - sed -i -e 's/ruby -rrubygems/#{Gem.ruby} -rrubygems/' test/shell/t{1,3}.rb || die - - # Avoid launcher tests since they make assumptions about bundler use - rm -f test/test_launcher.rb || die - - sed -i -e 's/git ls-files --/find/' ${RUBY_FAKEGEM_GEMSPEC} || die -} - -each_ruby_prepare() { - sed -i -e 's:ruby -rubygems:'${RUBY}' -rubygems:' \ - -e 's/localhost/127.0.0.1/' test/shell/* || die - sed -i -e '1ilog_requests' test/shell/t{1,2}_conf.rb || die -} - -each_ruby_configure() { - ${RUBY} -Cext/puma_http11 extconf.rb || die -} - -each_ruby_compile() { - emake V=1 -Cext/puma_http11 - cp ext/puma_http11/puma_http11$(get_modname) lib/puma/ || die -} - -each_ruby_test() { - einfo "Running test suite" - ${RUBY} -Ilib:.:test -e "gem 'minitest', '~>5.9'; gem 'test-unit', '~>3.0'; require 'minitest/autorun'; Dir['test/**/*test_*.rb'].each{|f| require f}" || die - - einfo "Running integration tests" - pushd test/shell - #sh run.sh || die - popd -} diff --git a/www-servers/puma/puma-5.0.4.ebuild b/www-servers/puma/puma-5.0.4.ebuild deleted file mode 100644 index 4ae517dd9959..000000000000 --- a/www-servers/puma/puma-5.0.4.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -USE_RUBY="ruby25 ruby26 ruby27" - -RUBY_FAKEGEM_GEMSPEC="puma.gemspec" - -inherit multilib ruby-fakegem - -DESCRIPTION="a simple, fast, threaded, and highly concurrent HTTP 1.1 server for Ruby/Rack" -HOMEPAGE="https://puma.io/" -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 ~sparc ~x86" -IUSE="" - -DEPEND+=" dev-libs/openssl:0 test? ( net-misc/curl )" -RDEPEND+=" dev-libs/openssl:0" - -ruby_add_bdepend "virtual/ruby-ssl - test? ( dev-ruby/rack >=dev-ruby/minitest-5.9:5 >=dev-ruby/test-unit-3.0:2 )" - -ruby_add_rdepend "dev-ruby/nio4r:2" - -all_ruby_prepare() { - sed -e '/bundler/ s:^:#:' \ - -e '/prove/ s:^:#:' \ - -e '/stub_const/ s:^:#:' \ - -i test/helper.rb || die - - # Avoid tests failing inconsistently - sed -i -e '/test_bad_client/askip "inconsistent results"' test/test_web_server.rb || die - - # Avoid launcher tests since they make assumptions about bundler use - rm -f test/test_launcher.rb || die - - # Skip integration tests since they make a lot of assumptions about - # the environment - rm -f test/test_integration_* test/test_preserve_bundler_env.rb|| die - - # Avoid test that uses unpackaged stub_const - sed -i -e '/test_shutdown_with_grace/,/^ end/ s:^:#:' test/test_thread_pool.rb || die - - sed -e 's/git ls-files --/find/' \ - -e 's:_relative ": "./:' \ - -i ${RUBY_FAKEGEM_GEMSPEC} || die -} - -each_ruby_configure() { - ${RUBY} -Cext/puma_http11 extconf.rb || die -} - -each_ruby_compile() { - emake V=1 -Cext/puma_http11 - cp ext/puma_http11/puma_http11$(get_modname) lib/puma/ || die -} - -each_ruby_test() { - einfo "Running test suite" - ${RUBY} -Ilib:.:test -e "gem 'minitest', '~>5.9'; gem 'test-unit', '~>3.0'; require 'minitest/autorun'; Dir['test/**/*test_*.rb'].each{|f| require f}" || die -} diff --git a/www-servers/puma/puma-5.2.2.ebuild b/www-servers/puma/puma-5.2.2.ebuild new file mode 100644 index 000000000000..5d0f1ef44559 --- /dev/null +++ b/www-servers/puma/puma-5.2.2.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +USE_RUBY="ruby25 ruby26 ruby27" + +RUBY_FAKEGEM_GEMSPEC="puma.gemspec" + +RUBY_FAKEGEM_EXTENSIONS=(ext/puma_http11/extconf.rb) +RUBY_FAKEGEM_EXTENSION_LIBDIR=lib/puma + +inherit multilib ruby-fakegem + +DESCRIPTION="a simple, fast, threaded, and highly concurrent HTTP 1.1 server for Ruby/Rack" +HOMEPAGE="https://puma.io/" +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 ~sparc ~x86" +IUSE="" + +DEPEND+=" dev-libs/openssl:0 test? ( net-misc/curl )" +RDEPEND+=" dev-libs/openssl:0" + +ruby_add_bdepend "virtual/ruby-ssl + test? ( dev-ruby/rack >=dev-ruby/minitest-5.9:5 >=dev-ruby/test-unit-3.0:2 )" + +ruby_add_rdepend "dev-ruby/nio4r:2" + +all_ruby_prepare() { + sed -e '/bundler/ s:^:#:' \ + -e '/prove/ s:^:#:' \ + -e '/stub_const/ s:^:#:' \ + -i test/helper.rb || die + + # Avoid tests failing inconsistently + sed -i -e '/test_bad_client/askip "inconsistent results"' test/test_web_server.rb || die + + # Avoid launcher tests since they make assumptions about bundler use + rm -f test/test_launcher.rb test/test_worker_gem_independence.rb || die + + # Skip integration tests since they make a lot of assumptions about + # the environment + rm -f test/test_integration_* test/test_preserve_bundler_env.rb|| die + + # Avoid test that uses unpackaged stub_const + sed -i -e '/test_shutdown_with_grace/,/^ end/ s:^:#:' test/test_thread_pool.rb || die + + sed -e 's/git ls-files --/find/' \ + -e 's:_relative ": "./:' \ + -i ${RUBY_FAKEGEM_GEMSPEC} || die +} + +each_ruby_test() { + einfo "Running test suite" + ${RUBY} -Ilib:.:test -e "gem 'minitest', '~>5.9'; gem 'test-unit', '~>3.0'; require 'minitest/autorun'; Dir['test/**/*test_*.rb'].each{|f| require f}" || die +} diff --git a/www-servers/uwsgi/Manifest b/www-servers/uwsgi/Manifest index cca7cd9c2767..ca4aa55a42e3 100644 --- a/www-servers/uwsgi/Manifest +++ b/www-servers/uwsgi/Manifest @@ -2,6 +2,6 @@ AUX gentoo.buildconf 490 BLAKE2B 320b0471c0c76ab6c8ada7b034f612fc20398eb60e1edc3 AUX uwsgi.confd-r4 1849 BLAKE2B 80afdf7a5ebc520d887061aba9f7cd64b1bca06d3da478d8d1090a8b9cba973ac2d3dbcbc2ceb980415e98317bc55b07a9a7e6641fac593dc4dd5466bd8d67c9 SHA512 041d1bd694fad6f7c5e28944aab6d7ba53b3c7fc990ce6b7c2d97b9f3d6650c46dda8069e545c252a7400e1d825c8e46d7393a289757b1bd665e64241ca3789a AUX uwsgi.initd-r7 3746 BLAKE2B a56c5f4e32ccb415fab10f357e2a7404179285e656d9f886809da281b214e2110c76e2cf8826d8fd90aba01262a5edc7a941522ff59348972c5a4325c784b9b9 SHA512 81ed974fb2957e05c890cab29f5b5a75845e6b7de899d2695fb2fa5f49b4545daa437c81c8dc5c735b24a45655cf6320c9256bc8faa7e32ffd7a2d981922def5 DIST uwsgi-2.0.19.1.tar.gz 804398 BLAKE2B 73fc19990866eb1058a742b34a817b3bd87e00c838da055bece2bff5e13c161f53c642866ed591aa4afeb23ef924205502f2cb0a4cf9d303b5b63fb9a53f57e2 SHA512 34b55f7c7a77dc0b0dab34d1a9ca9a4cba8a9261969656c88435e7f32fe8a0c5654e1562706775f77e2f60c4ad0f5c6055257a23ab7d387c1579639e054807b5 -EBUILD uwsgi-2.0.19.1-r100.ebuild 11625 BLAKE2B 3d30dbf641ac205f4652885c9336d0e4e5cde263159b97ce3d77367aba43435400581b4e3cedc9f46d6254c9a85ec07407271e85bbed0de8b33be8661bb762bc SHA512 8c5502227fdc2b64f516756025934d481f948dc6ff2dd21b1d60d3cef501b774a80926c5aab7e256a4932269212097d0c496fd117d33e309212db43acd0370f2 -EBUILD uwsgi-2.0.19.1.ebuild 11516 BLAKE2B 9d99da4763b1654771dd4e04931027c4355908d91f42dda43911ae5e6741c4fab1002eaeae71aa371e654cf48c2ce7d9bd109a91bf639d3008b422499d296881 SHA512 68e095b75c72678b9c8a4b3c91737d4f22c6a27721c3dc7c29c19be454adab3462dcd7834e883ac829df47c14455beff6fb0430ff889470b53d66b4741a25ef2 +EBUILD uwsgi-2.0.19.1-r100.ebuild 11568 BLAKE2B 4b4a86432176b09fd3b5d14cfdaae3f1ca7481bbf672522ce5b6abb93aecb0ef17ebda2cb403cbd19a662f0789101fe01870dce7bfa90b597865c4ff0f4bac05 SHA512 50373394197ab84a527be0934b3994578463845cb8198f5ed57f60f220933ac17858a154ecb044f72cd4c60e2561f34cd1182ee77234b81aa1756a453ddbf545 +EBUILD uwsgi-2.0.19.1-r101.ebuild 11573 BLAKE2B 575f6be4e72ddda8ca88394391a81abd69e6ad940915e4565c3c3facce7f8a798ce060edf753aff9d9bf687e18359857f31f6643889ab0df5a040111670b5cd6 SHA512 416eee7a749abd5e9663a79646d77af26cf689f65e547a876507d521a1f7b236eb0858df9b044e6eff6888d44854b051b94dec9ae7c2c93cf4aaa581f28c5199 MISC metadata.xml 1411 BLAKE2B 89114f75b2150f4340e30cd106115f0e9aa1a00389558f6f75aa86c0bf5a11d5df5ecb794c12f7bb39791d8edef40415cbca4403f8f2b65bd642ce52e95357a3 SHA512 33d3767a25dfca633e5149a20900d56998c40204a4c55e3814248574d0c8525883a842222ed5f8ac739a06cd09d806c189ff6f742d1277bcd3f8e8afdea84445 diff --git a/www-servers/uwsgi/uwsgi-2.0.19.1-r100.ebuild b/www-servers/uwsgi/uwsgi-2.0.19.1-r100.ebuild index 367e1207f41d..e9cbeaa8d757 100644 --- a/www-servers/uwsgi/uwsgi-2.0.19.1-r100.ebuild +++ b/www-servers/uwsgi/uwsgi-2.0.19.1-r100.ebuild @@ -13,7 +13,7 @@ USE_RUBY="ruby23 ruby24 ruby25 ruby26" 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 +USE_PHP="php7-3 php7-4" # deps must be registered separately below MY_P="${P/_/-}" @@ -118,7 +118,6 @@ CDEPEND=" perl? ( dev-lang/perl:= ) php? ( net-libs/libnsl - 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] ) ) diff --git a/www-servers/uwsgi/uwsgi-2.0.19.1-r101.ebuild b/www-servers/uwsgi/uwsgi-2.0.19.1-r101.ebuild new file mode 100644 index 000000000000..72a449c8448f --- /dev/null +++ b/www-servers/uwsgi/uwsgi-2.0.19.1-r101.ebuild @@ -0,0 +1,379 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +LUA_COMPAT=( lua5-1 ) +PYTHON_COMPAT=( python3_{7,8,9} ) +PYTHON_REQ_USE="threads(+)" + +RUBY_OPTIONAL="yes" +USE_RUBY="ruby23 ruby24 ruby25 ruby26" + +PHP_EXT_INI="no" +PHP_EXT_NAME="dummy" +PHP_EXT_OPTIONAL_USE="php" +USE_PHP="php7-3 php7-4" # deps must be registered separately below + +MY_P="${P/_/-}" + +inherit flag-o-matic lua-single pax-utils php-ext-source-r3 python-r1 ruby-ng + +DESCRIPTION="uWSGI server for Python web applications" +HOMEPAGE="https://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 ) + lua? ( ${LUA_REQUIRED_USE} ) + 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? ( ${LUA_DEPS} ) + mono? ( dev-lang/mono:= ) + perl? ( dev-lang/perl:= ) + php? ( + net-libs/libnsl + 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}" +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-uwsgi ) + uwsgi_plugins_rrdtool? ( net-analyzer/rrdtool )" +BDEPEND="virtual/pkgconfig" + +S="${WORKDIR}/${MY_P}" + +src_unpack() { + echo ${PYTHON_USEDEP} + default +} + +pkg_setup() { + python_setup + use lua && lua-single_pkg_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 + + CPUCOUNT=1 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 that is the name + # provided by the wrapper from Lua eclasses + 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.19.1.ebuild b/www-servers/uwsgi/uwsgi-2.0.19.1.ebuild deleted file mode 100644 index adc1de637c15..000000000000 --- a/www-servers/uwsgi/uwsgi-2.0.19.1.ebuild +++ /dev/null @@ -1,377 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python3_{7,8} ) -PYTHON_REQ_USE="threads(+)" - -RUBY_OPTIONAL="yes" -USE_RUBY="ruby23 ruby24 ruby25 ruby26" - -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:0= ) - mono? ( dev-lang/mono:= ) - perl? ( dev-lang/perl:= ) - php? ( - net-libs/libnsl - 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 - - CPUCOUNT=1 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 -} -- cgit v1.2.3