diff options
author | Alexys Jacob <ultrabug@gentoo.org> | 2014-05-05 16:47:58 +0000 |
---|---|---|
committer | Alexys Jacob <ultrabug@gentoo.org> | 2014-05-05 16:47:58 +0000 |
commit | 468d0f3db37392f6e0784ba7e5997927edb4f4b1 (patch) | |
tree | 7685cb2552d3752d4045ea1afe6240c5ff510233 /www-servers | |
parent | Version bump. (diff) | |
download | historical-468d0f3db37392f6e0784ba7e5997927edb4f4b1.tar.gz historical-468d0f3db37392f6e0784ba7e5997927edb4f4b1.tar.bz2 historical-468d0f3db37392f6e0784ba7e5997927edb4f4b1.zip |
version bump, drop old, add asyncio support
Package-Manager: portage-2.2.10/cvs/Linux x86_64
Manifest-Sign-Key: 0xB658FA13
Diffstat (limited to 'www-servers')
-rw-r--r-- | www-servers/uwsgi/ChangeLog | 9 | ||||
-rw-r--r-- | www-servers/uwsgi/Manifest | 19 | ||||
-rw-r--r-- | www-servers/uwsgi/metadata.xml | 1 | ||||
-rw-r--r-- | www-servers/uwsgi/uwsgi-1.4.4.ebuild | 329 | ||||
-rw-r--r-- | www-servers/uwsgi/uwsgi-1.4.5-r1.ebuild | 329 | ||||
-rw-r--r-- | www-servers/uwsgi/uwsgi-1.4.6-r1.ebuild | 329 | ||||
-rw-r--r-- | www-servers/uwsgi/uwsgi-1.4.6.ebuild | 329 | ||||
-rw-r--r-- | www-servers/uwsgi/uwsgi-2.0.4.ebuild | 379 |
8 files changed, 395 insertions, 1329 deletions
diff --git a/www-servers/uwsgi/ChangeLog b/www-servers/uwsgi/ChangeLog index 29cd9d88198f..953d47b1e6cc 100644 --- a/www-servers/uwsgi/ChangeLog +++ b/www-servers/uwsgi/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for www-servers/uwsgi # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/www-servers/uwsgi/ChangeLog,v 1.54 2014/03/17 11:50:36 ultrabug Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-servers/uwsgi/ChangeLog,v 1.55 2014/05/05 16:47:50 ultrabug Exp $ + +*uwsgi-2.0.4 (05 May 2014) + + 05 May 2014; Ultrabug <ultrabug@gentoo.org> -uwsgi-1.4.4.ebuild, + -uwsgi-1.4.5-r1.ebuild, -uwsgi-1.4.6.ebuild, -uwsgi-1.4.6-r1.ebuild, + +uwsgi-2.0.4.ebuild, metadata.xml: + version bump, add asyncio plugin for python3_4, drop old *uwsgi-2.0.3 (17 Mar 2014) diff --git a/www-servers/uwsgi/Manifest b/www-servers/uwsgi/Manifest index 1ad70fca6565..556509b04227 100644 --- a/www-servers/uwsgi/Manifest +++ b/www-servers/uwsgi/Manifest @@ -12,26 +12,21 @@ AUX uwsgi.initd-r1 3352 SHA256 857940e7c6c97c0e23db85015a47d295a102607100f0662ae AUX uwsgi.initd-r2 3436 SHA256 1983e7346e50996ea9a34ac8f399b965596232bf7b9b38a98226562f11143463 SHA512 0eb9f844bacc3133615f4cd521adccb8830f58bd5b8c6d602e86191a7005157cc52fc5259654de79735f7ac4a41d0d2fd093f0dd08f62d3732efe482450b7590 WHIRLPOOL bbbf4cdb82710468caa6365536423e79ac13d0b81e393f50fed0be95bea5f73cc31ca19f99bdc0c6b54f7fdfea8175f6af6e8975b5c6b28828790dd2bf022921 AUX uwsgi.initd-r3 3614 SHA256 58b998b025e4a9df20ca917bc93e287f9a8cf02d278d513fa461f70e1d08f799 SHA512 ab9dc6277bd05821287f6f8beb3ac2504f0e41db38e11b4d2884ac026f14ac7bfaaca138f045afa712d4f2843f94de105bf0d43fad35d18679ac33b507cd187e WHIRLPOOL 7bf4b1d5263ddb3ea0e3c81fe4906debaa3a3ee0a59a177b4f12a24d883bcb2049dffa4b11d9564c1ce4324a23a67cd4e8110f1955c05287f53cbd4b4e75e7cc DIST uwsgi-1.4.10.tar.gz 590892 SHA256 d4c30a6496d7d7be59f0264393649b9bd5ec58f72c4c3b79b8160b25c193c512 SHA512 26eb3e34595f0e85ae8f217ace8d326f966c605e00974621aa8b94fd83ef9fd711bdfa262c609a62a7f8d82a04431876769b546a1d1a0929de50ccd877a13e22 WHIRLPOOL 77d1a556c8af59a95eea75e8ae0af524c9aa768c1ecb7a396d43ca9cd6d215a96b83626882f8ab47cdc181ad1c5e62f18e508f43e97e8feb39bb5659fc6b2f37 -DIST uwsgi-1.4.4.tar.gz 589158 SHA256 419f45aea5469b6bec5b20e0edfe481c91a5efcd150cfaa49ca977bc14beddb9 SHA512 0736edadcda323ee4923c3163996e27eb3b7cb6c6603055c63ba527cc7408c3e39448cdc35e70ceec0dd4551e1a451ed04e2cf7bc6a3ca39726f144a0b818813 WHIRLPOOL 0d5be288a5e8b685ddbec922fee3ee0068143aabf6c7a3b38f68f20b9ca63775d8212ac0584b85e57352adb460a1c851e3605e9018d9ec65d59d8c4c03fbd4c1 -DIST uwsgi-1.4.5.tar.gz 589985 SHA256 5c17f09d0f8d5a4f3385c791e91ca71975b8ccb0c0b94620f9f924c21ef30f3a SHA512 f9b4da6eff9c20f0dcf1e46a4fb7b8dd348bc38ef307ceafc4de40e0d8ab06f33a967977db7194cb07ecb7690e3c8bb599cbd9586bec7336c34113deda82a64b WHIRLPOOL c806e42ae72ba0490189c70a12aae8fe3037d98d461ccc773e847c7e16394b98a89e1ef3262496a9abda4f3985547dbd098af535bf20e127325629a0adefaf3a -DIST uwsgi-1.4.6.tar.gz 591470 SHA256 731b57574dc8c6bc270233b689157433ababd0b611dbaeb16a11b6608d1deb80 SHA512 ea022ceae4e43f4ae0bde390f2a78f688d01c0beea91593820ab5602d418564a289a44c7a8bef4449ab0b7e5b7511a9c1f2e4b2609bdb063f526eebd8a1dd9a7 WHIRLPOOL 25f2f773d88d8c83796eda75a1f824b303fd9c5a55a512d2dc97824bef3bbbf4512641aa99eefa60a5044e577dd9a2f43e91b560db706bb6a96dde668907cef0 DIST uwsgi-1.4.8.tar.gz 592776 SHA256 3c35893927a065ed89775cf5a8f66f66d71b060618f4611efbcca76e520aac37 SHA512 7ead90c0740db0ebc28256b312a98e8de610b62cc82504c738cc2f3d2b0819ae673eb1875ea31abc3e511dc76db9af9fb15f4d1ae2a62f6b67b2a5966cfe2bab WHIRLPOOL da750b61916a99a9cea314dc57ca8e02920fbc3431977f6ad55368dc65a42fe6f297aae509fe7df23607a5b3f6097466e939b3a22650c90fcc7ed00bc78d9f0c DIST uwsgi-1.4.9.tar.gz 590671 SHA256 f4d345e3f08bf7859cf92340f79e10d7093e297e54c8448d9c1c821848e7fe2d SHA512 89936de83cbecfcb3d8f93ab50a3d77e496d4b4c085e52f8a1a691eb99fbfc17dd2e2802846a139f4ea42aac996729ad483fe9f6fbeef303d74e03b46ae6142b WHIRLPOOL ab3b8c0edfb63501fdac41ef92cc48bd135984f49e02d57618255543c07819d93faf1673b8fa397b66c58710416565c18578f57bf64ab96534d6b09d3bb542f2 DIST uwsgi-2.0.3.tar.gz 757335 SHA256 ef55e0f10f0553a5ab296d7c323372cdff1cab5d6e7b99aedc424e4733259109 SHA512 24d49e161439882ce3db8ffca677c9bd76a3a0b000c4cc752897e4a397730f5434af184859a5c646cfe41f6af94a913bcad47feca78724015a2188c705a930c6 WHIRLPOOL 0280b0250068b250e025720a197eb87113bb24a563ae2bdfe46db586b0268547ae8eea68c9dde4bf68d13ba2ad88049e54b1448874a9f9239a8218e7dee489ef +DIST uwsgi-2.0.4.tar.gz 765555 SHA256 22ed4607b90878c0bd3eb41e6117512c44f5d6891bd3534378627ffa6f6865f0 SHA512 18011e9e07e303380b768d3024d868211a6d568c714466c4dacbbd576b801e6ec26b39ca16e1d1848feffcce65aeeaad21953d9c41ad0cdb18a2a4e66a8beb92 WHIRLPOOL 11c619936cc5709b14e43a73ba780c0a62e586cab623f32b2f9e62e43467c0cf1823f21e7556f8459fa05f476d288cec48ee1424bf3f00633e0bba75f6961036 EBUILD uwsgi-1.4.10.ebuild 9617 SHA256 75b85cb390d973c0cbdee78796621cf9a34aacaa13277b6f20d499bea0eb497a SHA512 d28f770b9940c24fbd4d02d00d21880d734a98484fe7268ffea5668fd755a358ba5ed439be2509677cb44fa9df99c7b46da89e07e7c47d8b4270d65167ef505f WHIRLPOOL 229d65b6dd944854fe6aabb1ef35e929f9f7780431fc83ff838592a7c3c6392ad34f7b2bb9a1feaa278174c3b8b161139cc4718b58a46a27beccea4eda856950 -EBUILD uwsgi-1.4.4.ebuild 9559 SHA256 58c6c34168966b915caa3c25dbcef3cfc60b9ae25056c1ddaa739e35963195d6 SHA512 43338613228a61db00e7c97c0217d0e65269a6612eb6a21fccc04d4dec6f577cda4b3889f3ea0afdb02a3e997b44580e85e70d56732faf17f1b4ea7242c33802 WHIRLPOOL 795667e01e8a4ddf0f01558b6bbe2bcc85472d5f5015bc6e87cf990b3e71f7dfb789a80107efe3511b56c0c3c7ad92f64cff1e7091b6d0a0081e12b20ba4e04a -EBUILD uwsgi-1.4.5-r1.ebuild 9562 SHA256 ffeda3dce0dba8c1aa29b05a5f057bbe30f86325473ef3e6427bc37a6789c0c8 SHA512 149ca6773547dc5b2eb122fb2cb8a3ccc066ce1e8e339a39df2d1bbd037407919bc9ae8b1cb42aadc0999d425511cf5b73c6bf9fc8696cc6d12ef70e459af1e0 WHIRLPOOL 2f0cb2606080afd7acee1e6359d34ed4fded90839eb88252777f09c1c537fd5fe57e0176f9a1f900767f008f82ef76c1565078eaa9f296711a4c4c7589253cf9 -EBUILD uwsgi-1.4.6-r1.ebuild 9562 SHA256 64e5834cc5768cf2b8cc96f9e075e155bbbe1929d3d64267380dd2c7dffd4e0d SHA512 428e867eca4721a5d754e9bff95a952834f70023ba1808c6d12f52ca6276a405d9368c2852dd32ae5b368ef4801c1c5a7008d2fcc5adaa84db8ae7e29970b85a WHIRLPOOL 1594df00049c7ae13746215c72ef092703b23255eb911af5445040daed825d6e7bcc8807dde599b1a74d5201a8a6f4b36c0c9ae1045ce4c4b016895d1ea0d488 -EBUILD uwsgi-1.4.6.ebuild 9559 SHA256 d606c46c5d9c3d422faa13113138eaa84812e08dad807741261314887e75ac5a SHA512 2006048503b70e59d3a0515c889ad88fdab59af1a2ccbfa8eaddf5f926b164b9932c223d52f376cd57c1c068415daef1a2815f0dc2e736cab4224ad9209dc601 WHIRLPOOL 31ee2ae6954d97388c2681376e67431f00ef497c11892eb7b6938ca235811a42d1ee309619633836594c6729f2bbc6fdfb860d40047e618aed1983aac74e45d4 EBUILD uwsgi-1.4.8.ebuild 9559 SHA256 cc21690212eb37156b5c2449f8223de09807315719a0b03586385048db49d1b6 SHA512 c8e02803c97e39a63ee0383ad5a4a12211e8f8871a81d25993cebda38a30f6cdcc8bbed190033c409342148b2f8bd57997d6a007584ebcaf7cc9d81326b00b11 WHIRLPOOL 2405726642ddf2d7d98cc6d6eb5ddc5a7ade8671b0025e9b533a70692be6cdeaf9f6d53df04b995f73e5be87521f012139e3e5c03c3b7bd368a133d08b2ad489 EBUILD uwsgi-1.4.9.ebuild 9559 SHA256 d78fe36b66cfd7df05842bead1f516cd010f68f4ed1aa797ae0a20c1292ead83 SHA512 a93dac97f722c56ea8847d08932b98012a494eeccc9993f7cd07fcec4e53c2357d294e3da21633430ac629cfab0640a3f226e2ba7aeb989de904a375d17dd49d WHIRLPOOL f2f2fb3bb93f775db59751e6b7a580bf2ce0589f02c51b6cfe44db59f57febde7dc8749383990dde8a76f26cbd35b09e65f0e4533b71eb736bb3e84521555639 EBUILD uwsgi-2.0.3.ebuild 11256 SHA256 d92036aaa69df2c634f3623d04835c99010f7054c0e3c219981c9ef3e6c33245 SHA512 6fb15dc44021f7bbfcbf06f19ddb1c93377aba561c83145f65e2ee9cd3dc73764a5fff62d5e89f2f502879f959185ebc44984b16a2a04078526ed761be04095d WHIRLPOOL 4d6f8907e5dd984fab2108f891ab7c9731bfb78a495a755aa7523520a6d498bb6009125809387997cc61067f7ce617764462edc18f270068aa15b09f8a66afa3 -MISC ChangeLog 9734 SHA256 0d60cbb306b6012022147cec81b765e7e3415808bccdd07bf8d7e24ab30549d4 SHA512 1bd877746587443b08d807eab5c2c6d529d28b033681d50303f666e6aae3856cc447ccdd5eac38aacd2aff140d9f7e2de69c026a814785404c1ac81069567e52 WHIRLPOOL f8a1bfbcc722c7acaa9984021d24cb1ea8e693fee413d87d0b3e7cf3ba662036e983a1aac26bc1aca36492339d3a3eea36039d6bf5260fb89b3fb2ea4d196b11 -MISC metadata.xml 2398 SHA256 fcc2a39d1a01b6d2ff727aa61ef47a46270bfe563a5d56145077306f51acf956 SHA512 40eddbe1a633a5c018dd536ff03cc47df345c7f504b0371724bea99e9ae7dcd66dedfdcda3387ecb217c9f004668b435f878bb067354793b19ee74a44ce6d8a6 WHIRLPOOL e0e6583c809deb2ef33dc9c7d02a92dc33b0d1c0c6ac50d2d8d9a368e0bba96ce3a294bc397f596314135256b0121b12871437522485aa2bae9e5ac79dfc91ed +EBUILD uwsgi-2.0.4.ebuild 11835 SHA256 8470ab9ddcd7c1b59493340eba6d5cbe3655f15b1ef9ffe1bf33bee7189c6c9f SHA512 d7afee25813b6b9b069616356b6a4a9479bc00c10eac2adb4d138aab68cf778f9fe7c00e6f54d39a5f531a1d911bc365306302f0795603cf3617eaa04d685509 WHIRLPOOL 1f96ff7a2869230065e8b5f1002ddaa4d59cf73f4f3586738a92568a9b7f85bd3344ad53f94ef90b86a08d6e4d7d25276fe326ee527c637fda0f2862add3cdc8 +MISC ChangeLog 9997 SHA256 fce7a44c64d8e00131f278a13183970eb3b8aef11bf1d45881508b56cd27c2d9 SHA512 dfea68d11692b45c846e828b885cd7dd4f5bb5272b8fbf680de8d7a034ff70b32a5b2c3937255e3807698b5e2d2678c3d4710643e2af938b0ee8c63ce9332d68 WHIRLPOOL 57e7193498970a8d463639c5b3096756a9287518804be3871a087d56fde2413c26f43a4dcba621826926efde3e0a27dc3dce808ed3afcb273ec5430b0af39b28 +MISC metadata.xml 2594 SHA256 6e77fb15045b2feda8587315d54f7791c9c9af4b0e0f13d72a371646e32216e3 SHA512 89ac61cbfc089ff5452bc909f429431377c67aedc828098ffb33463a90f4a66524729a41fb83460df772218354d564529b7c3c206d3262c1025da1a6b1dd038a WHIRLPOOL 53c09c69fdc10762171891aeff5b731471cdd135ddb90896bfb2a2b1a0e1b841d6db97f9c217c44aed5c4e56d50f6eaff540646a2d05a7e8ce5f20bef9b326dd -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) -iF4EAREIAAYFAlMm4ZIACgkQKiQSS7ZY+hORQQD/UlyXrnIT/rFgAXk1C3MguQUL -ETiV1BvF+CWV5xqq5RUBAKqBxpbTvIXQEZKgoemqDRAmFCkIqlxshasGvJsTP7pa -=b8Cg +iF4EAREIAAYFAlNnwLwACgkQKiQSS7ZY+hMmYgD+Im0Xose/kX++AIXnPGssj6CP +qIO1CCYSbIoMuJzuLvIBANfHWYIoQI/ValU5Pz7D4upxAvBfawlXErRyJhz/h+Vk +=fN7n -----END PGP SIGNATURE----- diff --git a/www-servers/uwsgi/metadata.xml b/www-servers/uwsgi/metadata.xml index 84a27ed6a74e..ebf6d3200711 100644 --- a/www-servers/uwsgi/metadata.xml +++ b/www-servers/uwsgi/metadata.xml @@ -15,6 +15,7 @@ <flag name='json'>Support json as a configuration file format.</flag> <flag name='nagios'>Add nagios-friendly logging output (see http://projects.unbit.it/uwsgi/wiki/Nagios).</flag> <flag name='probepg'>Add the PostgreSQL probe plugin (see http://projects.unbit.it/uwsgi/wiki/DjangoDBHA).</flag> + <flag name='python_asyncio'>Use the EXPERIMENTAL asyncio (tulip) for python3.4 async request dispatching and as LoopEngine (see http://uwsgi-docs.readthedocs.org/en/latest/asyncio.html).</flag> <flag name='python_gevent'>Use <pkg>dev-python/gevent</pkg> for async request dispatching and as LoopEngine (see http://projects.unbit.it/uwsgi/wiki/Gevent).</flag> <flag name='routing'>Enable routing support</flag> <flag name='rrdtool'>Enable support for writing requests data in RRD files.</flag> diff --git a/www-servers/uwsgi/uwsgi-1.4.4.ebuild b/www-servers/uwsgi/uwsgi-1.4.4.ebuild deleted file mode 100644 index fa932293472e..000000000000 --- a/www-servers/uwsgi/uwsgi-1.4.4.ebuild +++ /dev/null @@ -1,329 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/www-servers/uwsgi/uwsgi-1.4.4.ebuild,v 1.1 2013/01/10 10:32:19 ultrabug Exp $ - -EAPI="5" -PYTHON_DEPEND="python? *" -PYTHON_MODNAME="uwsgidecorators" -SUPPORT_PYTHON_ABIS="1" -RESTRICT_PYTHON_ABIS="*-jython 2.7-pypy-*" -USE_RUBY="ruby18 ree18 ruby19" -RUBY_OPTIONAL="yes" -PHP_EXT_NAME="dummy" -PHP_EXT_INI="no" -USE_PHP="php5-3 php5-4" # deps must be registered separately below -PHP_EXT_OPTIONAL_USE="php" - -MY_P="${P/_/-}" - -inherit apache-module eutils python multilib pax-utils php-ext-source-r2 ruby-ng versionator - -DESCRIPTION="uWSGI server for Python web applications" -HOMEPAGE="http://projects.unbit.it/uwsgi/" -SRC_URI="http://projects.unbit.it/downloads/${MY_P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="apache2 +caps +carbon cgi debug erlang gevent graylog2 json ldap lua +nagios pam perl +pcre php probepg +python rrdtool rsyslog ruby spooler sqlite syslog +xml yaml zeromq" -REQUIRED_USE="|| ( cgi erlang lua perl php python ruby )" - -# util-linux is required for libuuid when requesting zeromq support -CDEPEND="caps? ( sys-libs/libcap ) - json? ( dev-libs/jansson ) - erlang? ( dev-lang/erlang ) - gevent? ( >=dev-python/gevent-1.0_beta2 ) - graylog2? ( sys-libs/zlib ) - ldap? ( net-nds/openldap ) - lua? ( dev-lang/lua ) - pcre? ( dev-libs/libpcre ) - perl? ( dev-lang/perl ) - php? ( - php_targets_php5-3? ( dev-lang/php:5.3[embed] ) - php_targets_php5-4? ( dev-lang/php:5.4[embed] ) - ) - probepg? ( dev-db/postgresql-base:= ) - ruby? ( $(ruby_implementations_depend) ) - sqlite? ( dev-db/sqlite:3 ) - rsyslog? ( app-admin/rsyslog ) - xml? ( dev-libs/libxml2 ) - yaml? ( dev-libs/libyaml ) - zeromq? ( net-libs/zeromq sys-apps/util-linux )" -DEPEND="${CDEPEND} - virtual/pkgconfig" -RDEPEND="${CDEPEND} - rrdtool? ( net-analyzer/rrdtool )" - -S="${WORKDIR}/${MY_P}" -APXS2_S="${S}/apache2" -APACHE2_MOD_CONF="42_mod_uwsgi-r1 42_mod_uwsgi" - -want_apache2_2 - -use_true_false() { - if use $1 ; then - echo "true" - else - echo "false" - fi -} - -src_unpack() { - default -} - -pkg_setup() { - depend.apache_pkg_setup - python_pkg_setup -} - -src_prepare() { - epatch \ - "${FILESDIR}/1.1.2-threaded-php.patch" \ - "${FILESDIR}/1.2.3-pyerl.patch" - - 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|python\([0-9].[0-9]\)-config|python-config-\1|' \ - plugins/python/uwsgiplugin.py || die "sed failed" - - sed -i \ - -e "s|/lib|/$(get_libdir)|" \ - plugins/php/uwsgiplugin.py || die "sed failed" -} - -src_configure() { - local plugins="" - use carbon && plugins+=", carbon" - use graylog2 && plugins+=", graylog2" - use nagios && plugins+=", nagios" - use pam && plugins+=", pam" - use rrdtool && plugins+=", rrdtool" - use rsyslog && plugins+=", rsyslog" - use syslog && plugins+=", syslog" - - # Notes: - # * the embedded_plugins mostly follows the list of embedded_plugins - # in buildconf/base.ini, make sure you compare the list when bumping uWSGI - # * thus: keep the order in embedded_plugins the same as in the base.ini - cat > "buildconf/gentoo.ini" << EOF -[uwsgi] -xml = $(use_true_false xml) -ini = true -yaml = $(use_true_false yaml) -json = $(use_true_false json) -sqlite3 = $(use_true_false sqlite) -zeromq = $(use_true_false zeromq) -snmp = true -sctp = false -spooler = true -embedded = true -ssl = auto -udp = true -multicast = true -threading = true -sendfile = true -minterpreters = true -async = true -evdis = false -ldap = $(use_true_false ldap) -pcre = $(use_true_false pcre) -routing = auto -alarm = auto -debug = $(use_true_false debug) -unbit = false -xml_implementation = libxml2 -yaml_implementation = libyaml -malloc_implementation = libc -plugins = -bin_name = uwsgi -append_version = -plugin_dir = /usr/$(get_libdir)/uwsgi -plugin_build_dir = ${T}/plugins -embedded_plugins = ping, cache, rpc, corerouter, fastrouter, http, ugreen, signal, logsocket, router_uwsgi, router_redirect, router_basicauth, zergpool, redislog, mongodblog, router_rewrite, router_http, logfile, router_cache, rawrouter ${plugins} -as_shared_library = false - -locking = auto -event = auto -timer = auto -filemonitor = auto - -embed_files = - -embed_config = -[python] -paste = true -web3 = true -EOF - use caps || sed -i -e 's|sys/capability.h|DISABLED|' uwsgiconfig.py || die "sed failed" - use zeromq || sed -i -e 's|uuid/uuid.h|DISABLED|' uwsgiconfig.py || die "sed failed" - - if use probepg ; then - PGPV="$(best_version dev-db/postgresql-base)" - PGSLOT="$(get_version_component_range 1-2 ${PGPV##dev-db/postgresql-base-})" - sed -i \ - -e "s|pg_config|pg_config${PGSLOT/.}|" \ - plugins/probepg/uwsgiplugin.py || die "sed failed" - fi -} - -each_ruby_compile() { - cd "${WORKDIR}/${MY_P}" - - UWSGICONFIG_RUBYPATH="${RUBY}" python uwsgiconfig.py --plugin plugins/rack gentoo rack_${RUBY##*/} || die "building plugin for ${RUBY} failed" - - if [[ "${RUBY}" == *ruby19 ]] ; then - UWSGICONFIG_RUBYPATH="${RUBY}" python uwsgiconfig.py --plugin plugins/fiber gentoo || die "building fiber plugin for ${RUBY} failed" - fi -} - -install_python_lib() { - insinto $(python_get_sitedir) - doins uwsgidecorators.py -} - -src_compile() { - python uwsgiconfig.py --build gentoo || die "building uwsgi failed" - - mkdir -p "${T}/plugins" - - if use erlang ; then - python uwsgiconfig.py --plugin plugins/erlang gentoo || die "building plugin for erlang failed" - fi - - if use lua ; then - # setting LUALIB explicitly since lua is not slotted on Gentoo - # and uwsgi otherwise looks for lua5.1 - UWSGICONFIG_LUALIB="lua" python uwsgiconfig.py --plugin plugins/lua gentoo || die "building plugin for lua failed" - fi - - if use perl ; then - python uwsgiconfig.py --plugin plugins/psgi gentoo || die "building plugin for perl 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 - for a in ${PYTHON_ABIS} ; do - python${a} uwsgiconfig.py --plugin plugins/python gentoo python${a/.} || die "building plugin for python-${a} failed" - - if use gevent ; then - python${a} uwsgiconfig.py --plugin plugins/gevent gentoo gevent${a/.} || die "building plugin for gevent-support in python-${a} failed" - fi - if use erlang ; then - python${a} uwsgiconfig.py --plugin plugins/pyerl gentoo pyerl${a/.} || die "building plugin for erlang-support in python failed" - fi - done - fi - - if use ruby ; then - ruby-ng_src_compile - fi - - if use spooler ; then - python uwsgiconfig.py --plugin plugins/spooler gentoo || die "building plugin for spooler failed" - fi - - if use cgi ; then - python uwsgiconfig.py --plugin plugins/cgi gentoo || die "building plugin for cgi failed" - fi - - if use probepg ; then - python uwsgiconfig.py --plugin plugins/probepg gentoo || die "building plugin for postgresql probe failed" - 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 erlang && dosym uwsgi /usr/bin/uwsgi_erlang - 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_execute_function install_python_lib - for a in ${PYTHON_ABIS} ; do - dosym uwsgi /usr/bin/uwsgi_python${a/.} - done - 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-r1 uwsgi - newconfd "${FILESDIR}"/uwsgi.confd-r1 uwsgi - keepdir /etc/"${PN}".d - use 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 the newest and not considered ready for production yet." - fi - - elog "Append the following options to the uwsgi call to load the respective language plugin:" - use cgi && elog " '--plugins cgi' for cgi" - use erlang && elog " '--plugins erlang' for erlang" - 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 - - if use python ; then - for a in ${PYTHON_ABIS} ; do - elog " '--plugins python${a/.}' for python-${a}" - use gevent && elog " '--plugins python${a/.},gevent${a/.}' for gevent support in python-${a}" - use erlang && elog " '--plugins python${a/.},erlang,pyerl${a/.}' for erlang support in python-${a}" - done - fi - - if use ruby ; then - for ruby in $USE_RUBY; do - use ruby_targets_${ruby} && elog " '--plugins rack_${ruby/.}' for ${ruby}" - if [[ "${ruby}" == *ruby19 ]] ; then - elog " '--plugins fibre' for ruby-1.9 fibres" - fi - done - fi -} diff --git a/www-servers/uwsgi/uwsgi-1.4.5-r1.ebuild b/www-servers/uwsgi/uwsgi-1.4.5-r1.ebuild deleted file mode 100644 index fe9ae5d19f73..000000000000 --- a/www-servers/uwsgi/uwsgi-1.4.5-r1.ebuild +++ /dev/null @@ -1,329 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/www-servers/uwsgi/uwsgi-1.4.5-r1.ebuild,v 1.1 2013/02/21 16:07:39 ultrabug Exp $ - -EAPI="5" -PYTHON_DEPEND="python? *" -PYTHON_MODNAME="uwsgidecorators" -SUPPORT_PYTHON_ABIS="1" -RESTRICT_PYTHON_ABIS="*-jython 2.7-pypy-*" -USE_RUBY="ruby18 ree18 ruby19" -RUBY_OPTIONAL="yes" -PHP_EXT_NAME="dummy" -PHP_EXT_INI="no" -USE_PHP="php5-3 php5-4" # deps must be registered separately below -PHP_EXT_OPTIONAL_USE="php" - -MY_P="${P/_/-}" - -inherit apache-module eutils python multilib pax-utils php-ext-source-r2 ruby-ng versionator - -DESCRIPTION="uWSGI server for Python web applications" -HOMEPAGE="http://projects.unbit.it/uwsgi/" -SRC_URI="http://projects.unbit.it/downloads/${MY_P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="apache2 +caps +carbon cgi debug erlang gevent graylog2 json ldap lua +nagios pam perl +pcre php probepg +python rrdtool rsyslog ruby spooler sqlite syslog +xml yaml zeromq" -REQUIRED_USE="|| ( cgi erlang lua perl php python ruby )" - -# util-linux is required for libuuid when requesting zeromq support -CDEPEND="caps? ( sys-libs/libcap ) - json? ( dev-libs/jansson ) - erlang? ( dev-lang/erlang ) - gevent? ( >=dev-python/gevent-1.0_beta2 ) - graylog2? ( sys-libs/zlib ) - ldap? ( net-nds/openldap ) - lua? ( dev-lang/lua ) - pcre? ( dev-libs/libpcre ) - perl? ( dev-lang/perl ) - php? ( - php_targets_php5-3? ( dev-lang/php:5.3[embed] ) - php_targets_php5-4? ( dev-lang/php:5.4[embed] ) - ) - probepg? ( dev-db/postgresql-base:= ) - ruby? ( $(ruby_implementations_depend) ) - sqlite? ( dev-db/sqlite:3 ) - rsyslog? ( app-admin/rsyslog ) - xml? ( dev-libs/libxml2 ) - yaml? ( dev-libs/libyaml ) - zeromq? ( net-libs/zeromq sys-apps/util-linux )" -DEPEND="${CDEPEND} - virtual/pkgconfig" -RDEPEND="${CDEPEND} - rrdtool? ( net-analyzer/rrdtool )" - -S="${WORKDIR}/${MY_P}" -APXS2_S="${S}/apache2" -APACHE2_MOD_CONF="42_mod_uwsgi-r1 42_mod_uwsgi" - -want_apache2_2 - -use_true_false() { - if use $1 ; then - echo "true" - else - echo "false" - fi -} - -src_unpack() { - default -} - -pkg_setup() { - depend.apache_pkg_setup - python_pkg_setup -} - -src_prepare() { - epatch \ - "${FILESDIR}/1.1.2-threaded-php.patch" \ - "${FILESDIR}/1.2.3-pyerl.patch" - - 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|python\([0-9].[0-9]\)-config|python-config-\1|' \ - plugins/python/uwsgiplugin.py || die "sed failed" - - sed -i \ - -e "s|/lib|/$(get_libdir)|" \ - plugins/php/uwsgiplugin.py || die "sed failed" -} - -src_configure() { - local plugins="" - use carbon && plugins+=", carbon" - use graylog2 && plugins+=", graylog2" - use nagios && plugins+=", nagios" - use pam && plugins+=", pam" - use rrdtool && plugins+=", rrdtool" - use rsyslog && plugins+=", rsyslog" - use syslog && plugins+=", syslog" - - # Notes: - # * the embedded_plugins mostly follows the list of embedded_plugins - # in buildconf/base.ini, make sure you compare the list when bumping uWSGI - # * thus: keep the order in embedded_plugins the same as in the base.ini - cat > "buildconf/gentoo.ini" << EOF -[uwsgi] -xml = $(use_true_false xml) -ini = true -yaml = $(use_true_false yaml) -json = $(use_true_false json) -sqlite3 = $(use_true_false sqlite) -zeromq = $(use_true_false zeromq) -snmp = true -sctp = false -spooler = true -embedded = true -ssl = auto -udp = true -multicast = true -threading = true -sendfile = true -minterpreters = true -async = true -evdis = false -ldap = $(use_true_false ldap) -pcre = $(use_true_false pcre) -routing = auto -alarm = auto -debug = $(use_true_false debug) -unbit = false -xml_implementation = libxml2 -yaml_implementation = libyaml -malloc_implementation = libc -plugins = -bin_name = uwsgi -append_version = -plugin_dir = /usr/$(get_libdir)/uwsgi -plugin_build_dir = ${T}/plugins -embedded_plugins = ping, cache, rpc, corerouter, fastrouter, http, ugreen, signal, logsocket, router_uwsgi, router_redirect, router_basicauth, zergpool, redislog, mongodblog, router_rewrite, router_http, logfile, router_cache, rawrouter ${plugins} -as_shared_library = false - -locking = auto -event = auto -timer = auto -filemonitor = auto - -embed_files = - -embed_config = -[python] -paste = true -web3 = true -EOF - use caps || sed -i -e 's|sys/capability.h|DISABLED|' uwsgiconfig.py || die "sed failed" - use zeromq || sed -i -e 's|uuid/uuid.h|DISABLED|' uwsgiconfig.py || die "sed failed" - - if use probepg ; then - PGPV="$(best_version dev-db/postgresql-base)" - PGSLOT="$(get_version_component_range 1-2 ${PGPV##dev-db/postgresql-base-})" - sed -i \ - -e "s|pg_config|pg_config${PGSLOT/.}|" \ - plugins/probepg/uwsgiplugin.py || die "sed failed" - fi -} - -each_ruby_compile() { - cd "${WORKDIR}/${MY_P}" - - UWSGICONFIG_RUBYPATH="${RUBY}" python uwsgiconfig.py --plugin plugins/rack gentoo rack_${RUBY##*/} || die "building plugin for ${RUBY} failed" - - if [[ "${RUBY}" == *ruby19 ]] ; then - UWSGICONFIG_RUBYPATH="${RUBY}" python uwsgiconfig.py --plugin plugins/fiber gentoo || die "building fiber plugin for ${RUBY} failed" - fi -} - -install_python_lib() { - insinto $(python_get_sitedir) - doins uwsgidecorators.py -} - -src_compile() { - python uwsgiconfig.py --build gentoo || die "building uwsgi failed" - - mkdir -p "${T}/plugins" - - if use erlang ; then - python uwsgiconfig.py --plugin plugins/erlang gentoo || die "building plugin for erlang failed" - fi - - if use lua ; then - # setting LUALIB explicitly since lua is not slotted on Gentoo - # and uwsgi otherwise looks for lua5.1 - UWSGICONFIG_LUALIB="lua" python uwsgiconfig.py --plugin plugins/lua gentoo || die "building plugin for lua failed" - fi - - if use perl ; then - python uwsgiconfig.py --plugin plugins/psgi gentoo || die "building plugin for perl 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 - for a in ${PYTHON_ABIS} ; do - python${a} uwsgiconfig.py --plugin plugins/python gentoo python${a/.} || die "building plugin for python-${a} failed" - - if use gevent ; then - python${a} uwsgiconfig.py --plugin plugins/gevent gentoo gevent${a/.} || die "building plugin for gevent-support in python-${a} failed" - fi - if use erlang ; then - python${a} uwsgiconfig.py --plugin plugins/pyerl gentoo pyerl${a/.} || die "building plugin for erlang-support in python failed" - fi - done - fi - - if use ruby ; then - ruby-ng_src_compile - fi - - if use spooler ; then - python uwsgiconfig.py --plugin plugins/spooler gentoo || die "building plugin for spooler failed" - fi - - if use cgi ; then - python uwsgiconfig.py --plugin plugins/cgi gentoo || die "building plugin for cgi failed" - fi - - if use probepg ; then - python uwsgiconfig.py --plugin plugins/probepg gentoo || die "building plugin for postgresql probe failed" - 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 erlang && dosym uwsgi /usr/bin/uwsgi_erlang - 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_execute_function install_python_lib - for a in ${PYTHON_ABIS} ; do - dosym uwsgi /usr/bin/uwsgi_python${a/.} - done - 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-r2 uwsgi - newconfd "${FILESDIR}"/uwsgi.confd-r1 uwsgi - keepdir /etc/"${PN}".d - use 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 the newest and not considered ready for production yet." - fi - - elog "Append the following options to the uwsgi call to load the respective language plugin:" - use cgi && elog " '--plugins cgi' for cgi" - use erlang && elog " '--plugins erlang' for erlang" - 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 - - if use python ; then - for a in ${PYTHON_ABIS} ; do - elog " '--plugins python${a/.}' for python-${a}" - use gevent && elog " '--plugins python${a/.},gevent${a/.}' for gevent support in python-${a}" - use erlang && elog " '--plugins python${a/.},erlang,pyerl${a/.}' for erlang support in python-${a}" - done - fi - - if use ruby ; then - for ruby in $USE_RUBY; do - use ruby_targets_${ruby} && elog " '--plugins rack_${ruby/.}' for ${ruby}" - if [[ "${ruby}" == *ruby19 ]] ; then - elog " '--plugins fibre' for ruby-1.9 fibres" - fi - done - fi -} diff --git a/www-servers/uwsgi/uwsgi-1.4.6-r1.ebuild b/www-servers/uwsgi/uwsgi-1.4.6-r1.ebuild deleted file mode 100644 index 0cc5e4678028..000000000000 --- a/www-servers/uwsgi/uwsgi-1.4.6-r1.ebuild +++ /dev/null @@ -1,329 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/www-servers/uwsgi/uwsgi-1.4.6-r1.ebuild,v 1.1 2013/03/01 09:50:06 ultrabug Exp $ - -EAPI="5" -PYTHON_DEPEND="python? *" -PYTHON_MODNAME="uwsgidecorators" -SUPPORT_PYTHON_ABIS="1" -RESTRICT_PYTHON_ABIS="*-jython 2.7-pypy-*" -USE_RUBY="ruby18 ree18 ruby19" -RUBY_OPTIONAL="yes" -PHP_EXT_NAME="dummy" -PHP_EXT_INI="no" -USE_PHP="php5-3 php5-4" # deps must be registered separately below -PHP_EXT_OPTIONAL_USE="php" - -MY_P="${P/_/-}" - -inherit apache-module eutils python multilib pax-utils php-ext-source-r2 ruby-ng versionator - -DESCRIPTION="uWSGI server for Python web applications" -HOMEPAGE="http://projects.unbit.it/uwsgi/" -SRC_URI="http://projects.unbit.it/downloads/${MY_P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="apache2 +caps +carbon cgi debug erlang gevent graylog2 json ldap lua +nagios pam perl +pcre php probepg +python rrdtool rsyslog ruby spooler sqlite syslog +xml yaml zeromq" -REQUIRED_USE="|| ( cgi erlang lua perl php python ruby )" - -# util-linux is required for libuuid when requesting zeromq support -CDEPEND="caps? ( sys-libs/libcap ) - json? ( dev-libs/jansson ) - erlang? ( dev-lang/erlang ) - gevent? ( >=dev-python/gevent-1.0_beta2 ) - graylog2? ( sys-libs/zlib ) - ldap? ( net-nds/openldap ) - lua? ( dev-lang/lua ) - pcre? ( dev-libs/libpcre ) - perl? ( dev-lang/perl ) - php? ( - php_targets_php5-3? ( dev-lang/php:5.3[embed] ) - php_targets_php5-4? ( dev-lang/php:5.4[embed] ) - ) - probepg? ( dev-db/postgresql-base:= ) - ruby? ( $(ruby_implementations_depend) ) - sqlite? ( dev-db/sqlite:3 ) - rsyslog? ( app-admin/rsyslog ) - xml? ( dev-libs/libxml2 ) - yaml? ( dev-libs/libyaml ) - zeromq? ( net-libs/zeromq sys-apps/util-linux )" -DEPEND="${CDEPEND} - virtual/pkgconfig" -RDEPEND="${CDEPEND} - rrdtool? ( net-analyzer/rrdtool )" - -S="${WORKDIR}/${MY_P}" -APXS2_S="${S}/apache2" -APACHE2_MOD_CONF="42_mod_uwsgi-r1 42_mod_uwsgi" - -want_apache2_2 - -use_true_false() { - if use $1 ; then - echo "true" - else - echo "false" - fi -} - -src_unpack() { - default -} - -pkg_setup() { - depend.apache_pkg_setup - python_pkg_setup -} - -src_prepare() { - epatch \ - "${FILESDIR}/1.1.2-threaded-php.patch" \ - "${FILESDIR}/1.2.3-pyerl.patch" - - 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|python\([0-9].[0-9]\)-config|python-config-\1|' \ - plugins/python/uwsgiplugin.py || die "sed failed" - - sed -i \ - -e "s|/lib|/$(get_libdir)|" \ - plugins/php/uwsgiplugin.py || die "sed failed" -} - -src_configure() { - local plugins="" - use carbon && plugins+=", carbon" - use graylog2 && plugins+=", graylog2" - use nagios && plugins+=", nagios" - use pam && plugins+=", pam" - use rrdtool && plugins+=", rrdtool" - use rsyslog && plugins+=", rsyslog" - use syslog && plugins+=", syslog" - - # Notes: - # * the embedded_plugins mostly follows the list of embedded_plugins - # in buildconf/base.ini, make sure you compare the list when bumping uWSGI - # * thus: keep the order in embedded_plugins the same as in the base.ini - cat > "buildconf/gentoo.ini" << EOF -[uwsgi] -xml = $(use_true_false xml) -ini = true -yaml = $(use_true_false yaml) -json = $(use_true_false json) -sqlite3 = $(use_true_false sqlite) -zeromq = $(use_true_false zeromq) -snmp = true -sctp = false -spooler = true -embedded = true -ssl = auto -udp = true -multicast = true -threading = true -sendfile = true -minterpreters = true -async = true -evdis = false -ldap = $(use_true_false ldap) -pcre = $(use_true_false pcre) -routing = auto -alarm = auto -debug = $(use_true_false debug) -unbit = false -xml_implementation = libxml2 -yaml_implementation = libyaml -malloc_implementation = libc -plugins = -bin_name = uwsgi -append_version = -plugin_dir = /usr/$(get_libdir)/uwsgi -plugin_build_dir = ${T}/plugins -embedded_plugins = ping, cache, rpc, corerouter, fastrouter, http, ugreen, signal, logsocket, router_uwsgi, router_redirect, router_basicauth, zergpool, redislog, mongodblog, router_rewrite, router_http, logfile, router_cache, rawrouter ${plugins} -as_shared_library = false - -locking = auto -event = auto -timer = auto -filemonitor = auto - -embed_files = - -embed_config = -[python] -paste = true -web3 = true -EOF - use caps || sed -i -e 's|sys/capability.h|DISABLED|' uwsgiconfig.py || die "sed failed" - use zeromq || sed -i -e 's|uuid/uuid.h|DISABLED|' uwsgiconfig.py || die "sed failed" - - if use probepg ; then - PGPV="$(best_version dev-db/postgresql-base)" - PGSLOT="$(get_version_component_range 1-2 ${PGPV##dev-db/postgresql-base-})" - sed -i \ - -e "s|pg_config|pg_config${PGSLOT/.}|" \ - plugins/probepg/uwsgiplugin.py || die "sed failed" - fi -} - -each_ruby_compile() { - cd "${WORKDIR}/${MY_P}" - - UWSGICONFIG_RUBYPATH="${RUBY}" python uwsgiconfig.py --plugin plugins/rack gentoo rack_${RUBY##*/} || die "building plugin for ${RUBY} failed" - - if [[ "${RUBY}" == *ruby19 ]] ; then - UWSGICONFIG_RUBYPATH="${RUBY}" python uwsgiconfig.py --plugin plugins/fiber gentoo || die "building fiber plugin for ${RUBY} failed" - fi -} - -install_python_lib() { - insinto $(python_get_sitedir) - doins uwsgidecorators.py -} - -src_compile() { - python uwsgiconfig.py --build gentoo || die "building uwsgi failed" - - mkdir -p "${T}/plugins" - - if use erlang ; then - python uwsgiconfig.py --plugin plugins/erlang gentoo || die "building plugin for erlang failed" - fi - - if use lua ; then - # setting LUALIB explicitly since lua is not slotted on Gentoo - # and uwsgi otherwise looks for lua5.1 - UWSGICONFIG_LUALIB="lua" python uwsgiconfig.py --plugin plugins/lua gentoo || die "building plugin for lua failed" - fi - - if use perl ; then - python uwsgiconfig.py --plugin plugins/psgi gentoo || die "building plugin for perl 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 - for a in ${PYTHON_ABIS} ; do - python${a} uwsgiconfig.py --plugin plugins/python gentoo python${a/.} || die "building plugin for python-${a} failed" - - if use gevent ; then - python${a} uwsgiconfig.py --plugin plugins/gevent gentoo gevent${a/.} || die "building plugin for gevent-support in python-${a} failed" - fi - if use erlang ; then - python${a} uwsgiconfig.py --plugin plugins/pyerl gentoo pyerl${a/.} || die "building plugin for erlang-support in python failed" - fi - done - fi - - if use ruby ; then - ruby-ng_src_compile - fi - - if use spooler ; then - python uwsgiconfig.py --plugin plugins/spooler gentoo || die "building plugin for spooler failed" - fi - - if use cgi ; then - python uwsgiconfig.py --plugin plugins/cgi gentoo || die "building plugin for cgi failed" - fi - - if use probepg ; then - python uwsgiconfig.py --plugin plugins/probepg gentoo || die "building plugin for postgresql probe failed" - 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 erlang && dosym uwsgi /usr/bin/uwsgi_erlang - 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_execute_function install_python_lib - for a in ${PYTHON_ABIS} ; do - dosym uwsgi /usr/bin/uwsgi_python${a/.} - done - 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-r3 uwsgi - newconfd "${FILESDIR}"/uwsgi.confd-r3 uwsgi - keepdir /etc/"${PN}".d - use 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 the newest and not considered ready for production yet." - fi - - elog "Append the following options to the uwsgi call to load the respective language plugin:" - use cgi && elog " '--plugins cgi' for cgi" - use erlang && elog " '--plugins erlang' for erlang" - 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 - - if use python ; then - for a in ${PYTHON_ABIS} ; do - elog " '--plugins python${a/.}' for python-${a}" - use gevent && elog " '--plugins python${a/.},gevent${a/.}' for gevent support in python-${a}" - use erlang && elog " '--plugins python${a/.},erlang,pyerl${a/.}' for erlang support in python-${a}" - done - fi - - if use ruby ; then - for ruby in $USE_RUBY; do - use ruby_targets_${ruby} && elog " '--plugins rack_${ruby/.}' for ${ruby}" - if [[ "${ruby}" == *ruby19 ]] ; then - elog " '--plugins fibre' for ruby-1.9 fibres" - fi - done - fi -} diff --git a/www-servers/uwsgi/uwsgi-1.4.6.ebuild b/www-servers/uwsgi/uwsgi-1.4.6.ebuild deleted file mode 100644 index 49e0b3f0844d..000000000000 --- a/www-servers/uwsgi/uwsgi-1.4.6.ebuild +++ /dev/null @@ -1,329 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/www-servers/uwsgi/uwsgi-1.4.6.ebuild,v 1.1 2013/02/26 08:55:22 ultrabug Exp $ - -EAPI="5" -PYTHON_DEPEND="python? *" -PYTHON_MODNAME="uwsgidecorators" -SUPPORT_PYTHON_ABIS="1" -RESTRICT_PYTHON_ABIS="*-jython 2.7-pypy-*" -USE_RUBY="ruby18 ree18 ruby19" -RUBY_OPTIONAL="yes" -PHP_EXT_NAME="dummy" -PHP_EXT_INI="no" -USE_PHP="php5-3 php5-4" # deps must be registered separately below -PHP_EXT_OPTIONAL_USE="php" - -MY_P="${P/_/-}" - -inherit apache-module eutils python multilib pax-utils php-ext-source-r2 ruby-ng versionator - -DESCRIPTION="uWSGI server for Python web applications" -HOMEPAGE="http://projects.unbit.it/uwsgi/" -SRC_URI="http://projects.unbit.it/downloads/${MY_P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="apache2 +caps +carbon cgi debug erlang gevent graylog2 json ldap lua +nagios pam perl +pcre php probepg +python rrdtool rsyslog ruby spooler sqlite syslog +xml yaml zeromq" -REQUIRED_USE="|| ( cgi erlang lua perl php python ruby )" - -# util-linux is required for libuuid when requesting zeromq support -CDEPEND="caps? ( sys-libs/libcap ) - json? ( dev-libs/jansson ) - erlang? ( dev-lang/erlang ) - gevent? ( >=dev-python/gevent-1.0_beta2 ) - graylog2? ( sys-libs/zlib ) - ldap? ( net-nds/openldap ) - lua? ( dev-lang/lua ) - pcre? ( dev-libs/libpcre ) - perl? ( dev-lang/perl ) - php? ( - php_targets_php5-3? ( dev-lang/php:5.3[embed] ) - php_targets_php5-4? ( dev-lang/php:5.4[embed] ) - ) - probepg? ( dev-db/postgresql-base:= ) - ruby? ( $(ruby_implementations_depend) ) - sqlite? ( dev-db/sqlite:3 ) - rsyslog? ( app-admin/rsyslog ) - xml? ( dev-libs/libxml2 ) - yaml? ( dev-libs/libyaml ) - zeromq? ( net-libs/zeromq sys-apps/util-linux )" -DEPEND="${CDEPEND} - virtual/pkgconfig" -RDEPEND="${CDEPEND} - rrdtool? ( net-analyzer/rrdtool )" - -S="${WORKDIR}/${MY_P}" -APXS2_S="${S}/apache2" -APACHE2_MOD_CONF="42_mod_uwsgi-r1 42_mod_uwsgi" - -want_apache2_2 - -use_true_false() { - if use $1 ; then - echo "true" - else - echo "false" - fi -} - -src_unpack() { - default -} - -pkg_setup() { - depend.apache_pkg_setup - python_pkg_setup -} - -src_prepare() { - epatch \ - "${FILESDIR}/1.1.2-threaded-php.patch" \ - "${FILESDIR}/1.2.3-pyerl.patch" - - 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|python\([0-9].[0-9]\)-config|python-config-\1|' \ - plugins/python/uwsgiplugin.py || die "sed failed" - - sed -i \ - -e "s|/lib|/$(get_libdir)|" \ - plugins/php/uwsgiplugin.py || die "sed failed" -} - -src_configure() { - local plugins="" - use carbon && plugins+=", carbon" - use graylog2 && plugins+=", graylog2" - use nagios && plugins+=", nagios" - use pam && plugins+=", pam" - use rrdtool && plugins+=", rrdtool" - use rsyslog && plugins+=", rsyslog" - use syslog && plugins+=", syslog" - - # Notes: - # * the embedded_plugins mostly follows the list of embedded_plugins - # in buildconf/base.ini, make sure you compare the list when bumping uWSGI - # * thus: keep the order in embedded_plugins the same as in the base.ini - cat > "buildconf/gentoo.ini" << EOF -[uwsgi] -xml = $(use_true_false xml) -ini = true -yaml = $(use_true_false yaml) -json = $(use_true_false json) -sqlite3 = $(use_true_false sqlite) -zeromq = $(use_true_false zeromq) -snmp = true -sctp = false -spooler = true -embedded = true -ssl = auto -udp = true -multicast = true -threading = true -sendfile = true -minterpreters = true -async = true -evdis = false -ldap = $(use_true_false ldap) -pcre = $(use_true_false pcre) -routing = auto -alarm = auto -debug = $(use_true_false debug) -unbit = false -xml_implementation = libxml2 -yaml_implementation = libyaml -malloc_implementation = libc -plugins = -bin_name = uwsgi -append_version = -plugin_dir = /usr/$(get_libdir)/uwsgi -plugin_build_dir = ${T}/plugins -embedded_plugins = ping, cache, rpc, corerouter, fastrouter, http, ugreen, signal, logsocket, router_uwsgi, router_redirect, router_basicauth, zergpool, redislog, mongodblog, router_rewrite, router_http, logfile, router_cache, rawrouter ${plugins} -as_shared_library = false - -locking = auto -event = auto -timer = auto -filemonitor = auto - -embed_files = - -embed_config = -[python] -paste = true -web3 = true -EOF - use caps || sed -i -e 's|sys/capability.h|DISABLED|' uwsgiconfig.py || die "sed failed" - use zeromq || sed -i -e 's|uuid/uuid.h|DISABLED|' uwsgiconfig.py || die "sed failed" - - if use probepg ; then - PGPV="$(best_version dev-db/postgresql-base)" - PGSLOT="$(get_version_component_range 1-2 ${PGPV##dev-db/postgresql-base-})" - sed -i \ - -e "s|pg_config|pg_config${PGSLOT/.}|" \ - plugins/probepg/uwsgiplugin.py || die "sed failed" - fi -} - -each_ruby_compile() { - cd "${WORKDIR}/${MY_P}" - - UWSGICONFIG_RUBYPATH="${RUBY}" python uwsgiconfig.py --plugin plugins/rack gentoo rack_${RUBY##*/} || die "building plugin for ${RUBY} failed" - - if [[ "${RUBY}" == *ruby19 ]] ; then - UWSGICONFIG_RUBYPATH="${RUBY}" python uwsgiconfig.py --plugin plugins/fiber gentoo || die "building fiber plugin for ${RUBY} failed" - fi -} - -install_python_lib() { - insinto $(python_get_sitedir) - doins uwsgidecorators.py -} - -src_compile() { - python uwsgiconfig.py --build gentoo || die "building uwsgi failed" - - mkdir -p "${T}/plugins" - - if use erlang ; then - python uwsgiconfig.py --plugin plugins/erlang gentoo || die "building plugin for erlang failed" - fi - - if use lua ; then - # setting LUALIB explicitly since lua is not slotted on Gentoo - # and uwsgi otherwise looks for lua5.1 - UWSGICONFIG_LUALIB="lua" python uwsgiconfig.py --plugin plugins/lua gentoo || die "building plugin for lua failed" - fi - - if use perl ; then - python uwsgiconfig.py --plugin plugins/psgi gentoo || die "building plugin for perl 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 - for a in ${PYTHON_ABIS} ; do - python${a} uwsgiconfig.py --plugin plugins/python gentoo python${a/.} || die "building plugin for python-${a} failed" - - if use gevent ; then - python${a} uwsgiconfig.py --plugin plugins/gevent gentoo gevent${a/.} || die "building plugin for gevent-support in python-${a} failed" - fi - if use erlang ; then - python${a} uwsgiconfig.py --plugin plugins/pyerl gentoo pyerl${a/.} || die "building plugin for erlang-support in python failed" - fi - done - fi - - if use ruby ; then - ruby-ng_src_compile - fi - - if use spooler ; then - python uwsgiconfig.py --plugin plugins/spooler gentoo || die "building plugin for spooler failed" - fi - - if use cgi ; then - python uwsgiconfig.py --plugin plugins/cgi gentoo || die "building plugin for cgi failed" - fi - - if use probepg ; then - python uwsgiconfig.py --plugin plugins/probepg gentoo || die "building plugin for postgresql probe failed" - 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 erlang && dosym uwsgi /usr/bin/uwsgi_erlang - 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_execute_function install_python_lib - for a in ${PYTHON_ABIS} ; do - dosym uwsgi /usr/bin/uwsgi_python${a/.} - done - 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-r2 uwsgi - newconfd "${FILESDIR}"/uwsgi.confd-r1 uwsgi - keepdir /etc/"${PN}".d - use 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 the newest and not considered ready for production yet." - fi - - elog "Append the following options to the uwsgi call to load the respective language plugin:" - use cgi && elog " '--plugins cgi' for cgi" - use erlang && elog " '--plugins erlang' for erlang" - 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 - - if use python ; then - for a in ${PYTHON_ABIS} ; do - elog " '--plugins python${a/.}' for python-${a}" - use gevent && elog " '--plugins python${a/.},gevent${a/.}' for gevent support in python-${a}" - use erlang && elog " '--plugins python${a/.},erlang,pyerl${a/.}' for erlang support in python-${a}" - done - fi - - if use ruby ; then - for ruby in $USE_RUBY; do - use ruby_targets_${ruby} && elog " '--plugins rack_${ruby/.}' for ${ruby}" - if [[ "${ruby}" == *ruby19 ]] ; then - elog " '--plugins fibre' for ruby-1.9 fibres" - fi - done - fi -} diff --git a/www-servers/uwsgi/uwsgi-2.0.4.ebuild b/www-servers/uwsgi/uwsgi-2.0.4.ebuild new file mode 100644 index 000000000000..96441af40c31 --- /dev/null +++ b/www-servers/uwsgi/uwsgi-2.0.4.ebuild @@ -0,0 +1,379 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/www-servers/uwsgi/uwsgi-2.0.4.ebuild,v 1.1 2014/05/05 16:47:50 ultrabug Exp $ + +EAPI="5" + +PYTHON_COMPAT=( python2_7 python3_{2,3,4} ) + +RUBY_OPTIONAL="yes" +USE_RUBY="ruby19 ruby20 ruby21" + +PHP_EXT_INI="no" +PHP_EXT_NAME="dummy" +PHP_EXT_OPTIONAL_USE="php" +USE_PHP="php5-3 php5-4 php5-5" # deps must be registered separately below + +MY_P="${P/_/-}" + +inherit apache-module distutils-r1 eutils 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="http://projects.unbit.it/downloads/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +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 + 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=( 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 +# *go*: TODO +# *java*: TODO +# v8: TODO +# matheval: TODO +IUSE="apache2 +caps debug +embedded expat jemalloc json +pcre +routing +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_router_xmldir? ( xml ) + uwsgi_plugins_forkptyrouter? ( uwsgi_plugins_corerouter ) + python? ( ${PYTHON_REQUIRED_USE} ) + python_asyncio? ( python_targets_python3_4 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? ( dev-libs/openssl ) + 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-base:= ) + uwsgi_plugins_geoip? ( dev-libs/geoip ) + uwsgi_plugins_ldap? ( net-nds/openldap ) + uwsgi_plugins_pam? ( virtual/pam ) + uwsgi_plugins_sqlite? ( dev-db/sqlite:3 ) + uwsgi_plugins_router_access? ( sys-apps/tcp-wrappers ) + uwsgi_plugins_router_spnego? ( virtual/krb5 ) + uwsgi_plugins_rsyslog? ( app-admin/rsyslog ) + uwsgi_plugins_systemd_logger? ( sys-apps/systemd ) + uwsgi_plugins_webdav? ( dev-libs/libxml2 ) + uwsgi_plugins_xslt? ( dev-libs/libxslt ) + lua? ( dev-lang/lua ) + mono? ( =dev-lang/mono-2* ) + perl? ( dev-lang/perl:= ) + php? ( + php_targets_php5-3? ( dev-lang/php:5.3[embed] ) + php_targets_php5-4? ( dev-lang/php:5.4[embed] ) + php_targets_php5-5? ( dev-lang/php:5.5[embed] ) + ) + python? ( ${PYTHON_DEPS} ) + python_gevent? ( >=dev-python/gevent-1.0_beta2[$(python_gen_usedep 'python2*')] ) + ruby? ( $(ruby_implementations_depend) )" +DEPEND="${CDEPEND} + virtual/pkgconfig" +RDEPEND="${CDEPEND} + uwsgi_plugins_rrdtool? ( net-analyzer/rrdtool )" + +want_apache2 + +S="${WORKDIR}/${MY_P}" +APXS2_S="${S}/apache2" +APACHE2_MOD_CONF="42_mod_uwsgi-r1 42_mod_uwsgi" + +src_unpack() { + default +} + +pkg_setup() { + python_setup + use ruby && ruby-ng_pkg_setup + depend.apache_pkg_setup +} + +src_prepare() { + epatch \ + "${FILESDIR}/1.1.2-threaded-php.patch" + + 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 embedded 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 + sed -i \ + -e "s|VAR_XML|${xml}|" \ + -e "s|VAR_YAML|$(usex yaml true false)|" \ + -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|/usr/$(get_libdir)/uwsgi|" \ + -e "s|VAR_BUILD_DIR|${T}/plugins|" \ + -e "s|VAR_EMBEDDED|${embedded_plugins// /, }|" \ + buildconf/gentoo.ini + + use caps || sed -i -e 's|sys/capability.h|DISABLED|' uwsgiconfig.py || die "sed failed" + use zeromq || sed -i -e 's|uuid/uuid.h|DISABLED|' uwsgiconfig.py || die "sed failed" + + if use uwsgi_plugins_emperor_pg ; then + PGPV="$(best_version dev-db/postgresql-base)" + PGSLOT="$(get_version_component_range 1-2 ${PGPV##dev-db/postgresql-base-})" + 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}" + + 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" ] ; 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" + + python uwsgiconfig.py --build gentoo || die "building uwsgi failed" + + 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 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 + + 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-r3 uwsgi + newconfd "${FILESDIR}"/uwsgi.confd-r3 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 the newest and not considered ready for production yet." + 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 + if [[ ${EPYTHON} == python2* ]] ; then + elog " '--plugins ${EPYV},gevent${PYV}' for gevent support in ${EPYTHON}" + else + elog " (gevent is currently not supported in ${EPYTHON})" + fi + fi + } + + use python && python_foreach_impl python_pkg_postinst + + if use ruby ; then + for ruby in $USE_RUBY; do + if use ruby_targets_${ruby} ; then + elog " '--plugins rack_${ruby/.}' for ${ruby}" + elog " '--plugins fiber_${ruby/.}' for ${ruby} fibers" + elog " '--plugins rbthreads_${ruby/.}' for ${ruby} rbthreads" + fi + done + fi +} |