summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexys Jacob <ultrabug@gentoo.org>2014-05-05 16:47:58 +0000
committerAlexys Jacob <ultrabug@gentoo.org>2014-05-05 16:47:58 +0000
commit468d0f3db37392f6e0784ba7e5997927edb4f4b1 (patch)
tree7685cb2552d3752d4045ea1afe6240c5ff510233 /www-servers
parentVersion bump. (diff)
downloadhistorical-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/ChangeLog9
-rw-r--r--www-servers/uwsgi/Manifest19
-rw-r--r--www-servers/uwsgi/metadata.xml1
-rw-r--r--www-servers/uwsgi/uwsgi-1.4.4.ebuild329
-rw-r--r--www-servers/uwsgi/uwsgi-1.4.5-r1.ebuild329
-rw-r--r--www-servers/uwsgi/uwsgi-1.4.6-r1.ebuild329
-rw-r--r--www-servers/uwsgi/uwsgi-1.4.6.ebuild329
-rw-r--r--www-servers/uwsgi/uwsgi-2.0.4.ebuild379
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
+}