diff options
author | 2012-09-10 09:47:52 +0000 | |
---|---|---|
committer | 2012-09-10 09:47:52 +0000 | |
commit | 90eb576d9f3007bd6fbc98cfbd2efd7bf6d427c6 (patch) | |
tree | 1eae2a2fc703e7eb4db8df31b62cf489a6d1cdbe /www-servers | |
parent | Restore mask net-libs/telepathy-qt[farstream] otherwise repoman will scream. (diff) | |
download | historical-90eb576d9f3007bd6fbc98cfbd2efd7bf6d427c6.tar.gz historical-90eb576d9f3007bd6fbc98cfbd2efd7bf6d427c6.tar.bz2 historical-90eb576d9f3007bd6fbc98cfbd2efd7bf6d427c6.zip |
Version bump.
Package-Manager: portage-2.1.11.9/cvs/Linux x86_64
Diffstat (limited to 'www-servers')
-rw-r--r-- | www-servers/uwsgi/ChangeLog | 9 | ||||
-rw-r--r-- | www-servers/uwsgi/Manifest | 11 | ||||
-rw-r--r-- | www-servers/uwsgi/files/1.2.6-fixed-typecasting.patch | 21 | ||||
-rw-r--r-- | www-servers/uwsgi/uwsgi-1.2.6.ebuild | 308 |
4 files changed, 343 insertions, 6 deletions
diff --git a/www-servers/uwsgi/ChangeLog b/www-servers/uwsgi/ChangeLog index 8ca0b8d23e41..6460d2603c43 100644 --- a/www-servers/uwsgi/ChangeLog +++ b/www-servers/uwsgi/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for www-servers/uwsgi # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/www-servers/uwsgi/ChangeLog,v 1.27 2012/08/27 08:34:07 ultrabug Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-servers/uwsgi/ChangeLog,v 1.28 2012/09/10 09:47:52 dev-zero Exp $ + +*uwsgi-1.2.6 (10 Sep 2012) + + 10 Sep 2012; Tiziano Müller <dev-zero@gentoo.org> + +files/1.2.6-fixed-typecasting.patch, +uwsgi-1.2.6.ebuild: + Version bump. 27 Aug 2012; Ultrabug <ultrabug@gentoo.org> files/uwsgi.initd, files/uwsgi.initd-r1: @@ -141,4 +147,3 @@ +files/uwsgi-0.9.5-respect_flags.patch, +metadata.xml: initial ebuild. thanks to Arfrever Frehtes Taifersar Arahesis for sane python ABI support. closes #314931 - diff --git a/www-servers/uwsgi/Manifest b/www-servers/uwsgi/Manifest index 5cc8deeee6ad..5afccad3a0ac 100644 --- a/www-servers/uwsgi/Manifest +++ b/www-servers/uwsgi/Manifest @@ -3,6 +3,7 @@ Hash: SHA256 AUX 1.1.2-threaded-php.patch 1098 SHA256 e5f03fcdf2ebf7d2867b21e640f2c44f23da169108b2ea964e96fea44152d49b SHA512 d213c827710b75c1e4e1a1ad657515a7d2cacf02fa1f2f309d5cf986b3650ea20529077e2d2df5a22ed6edf60e43e755378ec6ea556c43c844cf534552239d75 WHIRLPOOL 1b0e42b83aa45a3bb17edaf4f9d7b260bc9dae8d7e8f06a38c97045361e64ddd9e774a1df1244e521c7973b27d27d40cbca4d8d2b16d0f9765ca2daa00cc3be8 AUX 1.2.3-pyerl.patch 1015 SHA256 1da74cb8d108f46c4faa39548f73de2f74849dde81d1012b71c7c91ab939596b SHA512 b298feccb2604b9459a15699d786c26be9d830f88a4a00beca69fba3ff0d5d78cc239e6dcce51da32121c8bb4d72af41a6e57e5594a3005cfceb4feebbffaed2 WHIRLPOOL 60ff1374e1f13c9ffaa65996a24d87d86d64d7f4edb9d1378d0b7287bfeb285d5123da4532c6e0fb022ff78d80a6b5eba9d6bb8c36536145d4a11cbdecee23f6 +AUX 1.2.6-fixed-typecasting.patch 740 SHA256 491e9b4e6c7af6bdc38224c5b54ed7ffe86e729f4e0ae4ce762e0b4fbe4a43fa SHA512 e49f905b75c8d859aaf193944f2d563143c4e8f17563c2e924d743f55a2a20d54e09f8f91fe1243aa25ac21748e5bd8180b5f2571b00827322d1bf5e49f78442 WHIRLPOOL 785e60e111efb63d02ef2ba574acf7a0cfb1d72667584292577247def67e5d3a1c8d047f4592f71301558f39f438a782a58c2629bf1c829e00b0471c5042641d AUX 42_mod_uwsgi-r1.conf 248 SHA256 40ef0a3916eba8f1a87828911571e9d8bf838f38f050d67df1662aca11ba6c91 SHA512 84babaa9aa5cc1a52235f1b4febe3d9dd1a90e7e28c54499d78219727a222e2c2f4db001d898e0fdc46718ea582ce3fc98d0fbbf94b1730f4a139555225b4538 WHIRLPOOL d96ef19fce89fbb36e1bc7701b2fb7424945f5da9d7eee071de74c9975463da9ba5be0a1a855e75c39705317ce0eef5116e7733d74091bfd984d3c1f189edea3 AUX 42_mod_uwsgi.conf 159 SHA256 b759712baa7b8abab2ffd56c3cbc970cb9189ef1efa3f3aa154a963dc67ba861 SHA512 14eb8d58f814657da9d28215d4096373a26e5bdd9e3953bd37dc6008f42b04ca99ac5aa552bec36d1d8503e7ae54c78fcc00c1f6fe9d6daf983764bae07b802f WHIRLPOOL ec352b176c89441532378446cb909b3383054afbbee5d4f24c801eb5716d1143737c098bd25be46aa4399e54937c6b786fdca3e0343b0b4c91442456ba565f79 AUX uwsgi-1.0.2.1-no-werror.patch 567 SHA256 64ee1684a12ea64b6b6892209c77863061a54cc752156131c6fc55f7f8785153 SHA512 8ebd116d1fd75385f13cf072ac44dfb0055f789dd7fc1f37433b6dd98c62cb439b2fbf99fe891d919139f93404f5017e3600093d8dc21c8463f0f50e3bb72460 WHIRLPOOL 0de33344956bd2723f364da07ad6a48adca3ffc43e53cad9ee70c92707ea6f9b47004f1fdd8b14318ba39d0995085986a3d606e26d07fd293d71ebdab17eaf17 @@ -14,16 +15,18 @@ DIST uwsgi-1.0.2.1.tar.gz 465250 SHA256 78280b57a970db7842e4481f8b00f13d011f27b3 DIST uwsgi-1.2.3.tar.gz 512385 SHA256 1f9f6047468272708241780597014ed00d93919a384e81b30e65167fb2c2e129 SHA512 d6f673877cc5e6ae48effe2c3579ca59ef2579c57ed2d647513451b4411304a366ae81e5aae772014ca6b48da652a056ef7cb48576ad144f2e11bc6ca5fbef50 WHIRLPOOL 06dc820b60f837977d2c9a3689fa948cc14302f4c5cf78297c75bd358e888a98403c2d44ca4d3e4460853fa5496fe66295cb91d548b57dd29273b6843c5c965e DIST uwsgi-1.2.4.tar.gz 514048 SHA256 294306d249300b531bfc7abaa706926d0ed87ccc2e7248afec50b425aef39ebb SHA512 cf75b4da66fe44435d0f2bd8c7d959d30a9409c5dbf5136ec4b1805d368ff254dc22f8777affb88d1f0a63a98a34480ae0cdf25fbe0dd2419834cfc7c55692ae WHIRLPOOL cb9e70441323de5519643b91e2415fb72ab53cd8a0064792eca0ba9de05f55b9a7752244287ba5460adb18b20501aa38a0163a1320162d0a68d8b2ce42aa315f DIST uwsgi-1.2.5.tar.gz 515481 SHA256 e208a90f335725589361ac7f7e548ddf7a906dbe6bd50e83b1c5fc9884976ee4 SHA512 85bc94a80c235f2a35f0d8c7118eac8d98ea142f6ad584addbe4ffca011e61e158454202d69b9accda3319e3237d9c38b45c647c248b0ef2f2e75dc76256848a WHIRLPOOL e05edf639b22586be4dc6d7320b4fb75e448cbd57a0fd846ab0e2a1b6d19f400c72c0b40f64753b32cfe8fd35cb008ef38e8dff4423f004c047d5af08e143806 +DIST uwsgi-1.2.6.tar.gz 515869 SHA256 49d2fbedbd42b3c95a684f7ddf43302f881297f3614c7edd0af4a4c44e2032a5 SHA512 79297cc3d348e6fbbd1d7da5fb4d03844cc14ce36411ce55d6951e8f0c50614d87c3038de6986589362e9e84543aec9754a871c52002065d5f17a27a7ad32f01 WHIRLPOOL cdd74205572f0fce1390f3335e4f3cd6413d3cd5be9fb91a259a38c7330fe6b53057985e3ed6b8a67f6fba5339609506be4fbf2ae10251518406d6b02c831f09 EBUILD uwsgi-1.0.2.1.ebuild 1891 SHA256 1078d427a2cd4abe8a7ed4a5ec4a477fea989c2b75e20d5a27128032359c61d5 SHA512 857cd70e9002e7f1ebb521ced5453cffd43f4ff5805363ebfecd10d929ec6a4ab0283f51ceb5563e531d371a190a16b7d8ab162a56715c8aac5a0ee1e62dd5ee WHIRLPOOL 6fcf9f03d8325ddc061ac95970568a02d2d86d883b3b936acda41368c6b9d7b806f37c9701a10a70375cd577608fe444fb6405785a8dd9605fbaf72b03196b3c EBUILD uwsgi-1.2.3-r4.ebuild 8580 SHA256 b639a675168ac9dae4179914ef46106f0c39a15884811ed1f0451c29e7ba1208 SHA512 0e5e7735e15d3168dfe79d3ec1538f7714885c7c13e5361724f94a7d4a5e8fa76eb3bb55c37d3fc9a62606d7724e5defd4df1a3edc5b7db4f049b93de1ecc1fe WHIRLPOOL 353344467d34eb7f7c3cb02e4ad5f98c3a3d543025615d7d894146401c47e8e3052aaa62ae16708591c157e008914932bc49b451e7494b659b99e341b556cadd EBUILD uwsgi-1.2.4.ebuild 8577 SHA256 88bcfb8ecf1c866a6b3ca4e88019a8cdb348fa8a5311f92563ffb0f8232ba227 SHA512 fc464cdc3f0d1bd64af6401aeb893c6e248ac02b9ad88dd4c28d64b89c660e25417a7c6b30cd3f782c0e4083d52e8c3aa89ee50e8cf786d6c0a86e2abcfc4353 WHIRLPOOL f230d2502f301a9e285effd02c374941163441b9028b618f4fdbc83e105d241e7d035da916dbe5549082b122252189256c7668488b7be25b215b4c2cd402fb85 EBUILD uwsgi-1.2.5.ebuild 8610 SHA256 8bddca1e7fafbd7201c22d0527a1f34c0a9ced7f0e6909cfeb196832217f4d50 SHA512 746b61eece930d74ed174a7ee74fa1e90632a9ced239e62409784a63a178c290053514339b68c11003ea627e9e541c6476c1e3916526d21bbd37236cc52395d3 WHIRLPOOL a5f8bcf17cb634946019f051267798e12919e1a40001fb476b5d531d18ad40d0db80b210444fdd8847eacb0eb504de68f50bb632c75421bfd4d8d7bb9c43166d -MISC ChangeLog 5291 SHA256 42fb03f838909e544a5953bc58c70e07c382efe860574a1fcabcc605211c0bab SHA512 f6ec9c7752f8178812dc9fa8d207a2bfbb9f81603622d0a07b2ee022e630d17258b6e6f3bd2a3f87692ccb662c386d27c69e017904c601c84f961ba50ee58517 WHIRLPOOL 1c6c180bccb3c84dc452da83f27527315e3c0dc99a1d91a3f96d3b54d70ba2ab37e1d6155a386cc8f086408ac6ce2e4db202bcf14da8295dcde43188e0d7b88b +EBUILD uwsgi-1.2.6.ebuild 8658 SHA256 98585a8e43e7af3f9bf516994fc7778e817a1857bca75658eacde9d1389c6033 SHA512 9b53d4ade90665886881c02869b8619e4128fcdeaa3340efec02b8dc645de3f99cba69a827cc4b0273dc8c94af72c2bc9ec0021f7f76616c14f21e6f41275b24 WHIRLPOOL b18455b534307639fe9b37fd54d3047c5ebbbceaa8438688bb6d89f9b4b63ccf4c0b03590e23ba1c6d2fa70224ce5bb5b135c87d74df0389dfb07407784569aa +MISC ChangeLog 5449 SHA256 e4784d7665a1908a2f668dac4c81f249ca6e43e970f3dd091501af98c29826c9 SHA512 2df1a84aa08ac5acfb9e1f46d79105b4128edb74bdd438a953f85cd442a122d27bbb3ab036a108ea6a4fa399b30653ebf4c2a4c590def898e68bc5ac347dbc7f WHIRLPOOL 45eed7f094eb64fd7b4f7de4642744642fc9e0c7dd80413e7178aac27032b19e6a3d33c1a7d5b2a2f1056da3f5a2d68907987d67b3869fd9c0c4aa7ecac7729b MISC metadata.xml 1741 SHA256 9aeaf0a71eec68f74f9aeb0f5526aa9b504527c4a79486ed184e2ec9fa45fc10 SHA512 615d7b29f89c7441baa0022c7fae48d4b88f9da77b5fcb897d22a21bc92f09ed3492f7111978b97eecb4404b96c0bc5cf3addb9226b678bcfc0788770522249f WHIRLPOOL 478fbc2926280d69388bb2f59f179f89519499bb59fbb8b0f82836707878a5d2428f108cdeb407541f5677f2366fc8059fc567fa46cd56939143caee2fa2d3ec -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) -iF4EAREIAAYFAlA7MQsACgkQKiQSS7ZY+hOf5wEAwPAcg3liSUC9IPh5Wk75HSba -aSgNDGsh19HV+wZxQtsA/jeWHyujS0ATo/53BCJXpQr58NTi0bHtnrUk0dC9zvj5 -=9GaG +iEYEAREIAAYFAlBNt04ACgkQGwVqY66cHjCq0ACfe0cc136mut5cSROJ3tsMKUl+ +duIAnj+tIiZruFdf6jTcykUEFZhMXAME +=tNOr -----END PGP SIGNATURE----- diff --git a/www-servers/uwsgi/files/1.2.6-fixed-typecasting.patch b/www-servers/uwsgi/files/1.2.6-fixed-typecasting.patch new file mode 100644 index 000000000000..b9dfec7e2260 --- /dev/null +++ b/www-servers/uwsgi/files/1.2.6-fixed-typecasting.patch @@ -0,0 +1,21 @@ + +# HG changeset patch +# User roberto@quantal64 +# Date 1347021464 -7200 +# Node ID 4d4686fdb3ba44fd5083f61ceb27f820d7a79937 +# Parent 88dc416d99e40ddacfb7ccb4d620fe50b9d9319c +fixed typecasting + +diff -r 88dc416d99e4 -r 4d4686fdb3ba plugins/router_uwsgi/router_uwsgi.c +--- a/plugins/router_uwsgi/router_uwsgi.c gio set 06 16:32:49 2012 +0200 ++++ b/plugins/router_uwsgi/router_uwsgi.c ven set 07 14:37:44 2012 +0200 +@@ -54,7 +54,7 @@ + + int post_fd = wsgi_req->poll.fd; + if (wsgi_req->async_post) { +- post_fd = fileno(wsgi_req->async_post); ++ post_fd = fileno((FILE *)wsgi_req->async_post); + } + + if (uwsgi_send_message(uwsgi_fd, uh->modifier1, uh->modifier2, wsgi_req->buffer, wsgi_req->uh.pktsize, post_fd, wsgi_req->post_cl, 0) < 0) { + diff --git a/www-servers/uwsgi/uwsgi-1.2.6.ebuild b/www-servers/uwsgi/uwsgi-1.2.6.ebuild new file mode 100644 index 000000000000..2771d1662a6f --- /dev/null +++ b/www-servers/uwsgi/uwsgi-1.2.6.ebuild @@ -0,0 +1,308 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/www-servers/uwsgi/uwsgi-1.2.6.ebuild,v 1.1 2012/09/10 09:47:52 dev-zero Exp $ + +EAPI="4" +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 + +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 +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] ) + ) + 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" \ + "${FILESDIR}/${PV}-fixed-typecasting.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" + + 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 +udp = true +multicast = true +threading = true +sendfile = true +minterpreters = true +async = true +evdis = false +ldap = $(use_true_false ldap) +pcre = $(use_true_false pcre) +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, fastrouter, http, ugreen, signal, logsocket, router_uwsgi, router_redirect, router_basicauth, zergpool, redislog ${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" +} + +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 + 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 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 +} |