Gentoo Archives: gentoo-dev

From: "Tiziano Müller" <dev-zero@g.o>
To: Gentoo Development <gentoo-dev@l.g.o>
Cc: ultrabug <ultrabug@g.o>
Subject: [gentoo-dev] New USE_EXPANDs for uWSGI: UWSGI_LANGUAGES, UWSGI_PLUGINS and plans for uwsgi-2
Date: Tue, 30 Apr 2013 11:01:21
Message-Id: 1367319666.35925.30.camel@storm
1 Hi everyone,
2
3 the new versions of uwsgi (1.9+) support even more languages/platforms
4 and plugins.
5
6 Currently we do everything with common USE flags and build-in many
7 plugins since we didn't want to expose them right from the start to the
8 user (the selection is based on upstreams base configuration).
9
10 For the new version, uWSGI will support the following
11 languages/platforms which we would like to put in UWSGI_LANGUAGES:
12 python (vanilla, gevent, ugreen, stackless), ruby (rack, RoR & fibers),
13 perl, lua, erlang (+pyerl), php, go, java (jvm & clojure), mono,
14 javascript (via v8).
15 For some of them it is even possible to enable/disable the specific
16 interface (for example ruby fibers or java clojure) but if they don't
17 pull in additional dependencies we continue with the current approach
18 and build all interfaces for a language.
19
20 For the UWSGI_PLUGINS we would add the following flags:
21 ping, cache, nagios, rrdtool, carbon, rpc, corerouter, fastrouter, http,
22 ugreen, signal, syslog, rsyslog, logsocket, router_uwsgi,
23 router_redirect, router_basicauth, zergpool, redislog, mongodblog,
24 router_rewrite, router_http, logfile, router_cache, rawrouter,
25 router_static, sslrouter, spooler, cheaper_busyness, symcall,
26 transformation_tofile, transformation_gzip, gridfs,
27 stats_pusher_mongodb, stats_pusher_statsd, spooler, xslt
28 (plus some more)
29
30 While the following will remain normal USE flags:
31 xml, yaml, json, zeromq, ssl, pcre
32 since they are not plugins but general capabilities of uWSGI.
33
34 The drawback of putting for example "python" behind a UWSGI_LANGUAGES
35 USE_EXPAND is that someone with USE=python in make.conf does not get
36 python-support in uWSGI automatically but has to enable it explicitly.
37 On the other hand, uWSGI gets installed explicitly and people most
38 likely check things before installing them.
39
40 Furthermore we may want to switch to an all-plugin-based installation as
41 available for Debian, openSUSE, etc. as recommended by upstream [1]
42 (currently we're only building the language plugins as real plugins). It
43 doesn't really matter as much as it does for binary package distros but
44 it also doesn't hurt (please correct me if wrong) and this way our users
45 can share their configs between distros.
46
47 Ok to add those two USE_EXPANDs?
48
49 Any comments on the other plans?
50
51 Best,
52 Tiziano
53
54 [1] http://projects.unbit.it/uwsgi/wiki/Guide4Packagers