Gentoo Archives: gentoo-commits

From: Alexys Jacob <ultrabug@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-servers/uwsgi/
Date: Wed, 07 Oct 2020 07:51:54
Message-Id: 1602057076.404423157d237fcd778fe2ee0d6ff014375d5ca8.ultrabug@gentoo
1 commit: 404423157d237fcd778fe2ee0d6ff014375d5ca8
2 Author: Alexys Jacob <ultrabug <AT> gentoo <DOT> org>
3 AuthorDate: Wed Oct 7 07:51:16 2020 +0000
4 Commit: Alexys Jacob <ultrabug <AT> gentoo <DOT> org>
5 CommitDate: Wed Oct 7 07:51:16 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=40442315
7
8 www-servers/uwsgi: drop old
9
10 Package-Manager: Portage-3.0.5, Repoman-3.0.1
11 Signed-off-by: Alexys Jacob <ultrabug <AT> gentoo.org>
12
13 www-servers/uwsgi/Manifest | 1 -
14 www-servers/uwsgi/uwsgi-2.0.18.ebuild | 377 ----------------------------------
15 2 files changed, 378 deletions(-)
16
17 diff --git a/www-servers/uwsgi/Manifest b/www-servers/uwsgi/Manifest
18 index 7edf4a9d62e..60756e5fd8a 100644
19 --- a/www-servers/uwsgi/Manifest
20 +++ b/www-servers/uwsgi/Manifest
21 @@ -1,2 +1 @@
22 -DIST uwsgi-2.0.18.tar.gz 801555 BLAKE2B d8008e751fd699474a1b7d6276c10b3d2f1ebd0ca325e45bfb3b13f81e88de20e4e7389cd6aa9c8b3daa964d9b11524ee71e93717ed9762bf021471f6a2c09fa SHA512 6561703279bcc4a81311d033810ac066d0f113bab13b0942f3eef86cac29c584a6641b52476840d6895151aee5ed064ae2d03b18932cf7f47e62f4eeed76da61
23 DIST uwsgi-2.0.19.1.tar.gz 804398 BLAKE2B 73fc19990866eb1058a742b34a817b3bd87e00c838da055bece2bff5e13c161f53c642866ed591aa4afeb23ef924205502f2cb0a4cf9d303b5b63fb9a53f57e2 SHA512 34b55f7c7a77dc0b0dab34d1a9ca9a4cba8a9261969656c88435e7f32fe8a0c5654e1562706775f77e2f60c4ad0f5c6055257a23ab7d387c1579639e054807b5
24
25 diff --git a/www-servers/uwsgi/uwsgi-2.0.18.ebuild b/www-servers/uwsgi/uwsgi-2.0.18.ebuild
26 deleted file mode 100644
27 index fe97b6c8493..00000000000
28 --- a/www-servers/uwsgi/uwsgi-2.0.18.ebuild
29 +++ /dev/null
30 @@ -1,377 +0,0 @@
31 -# Copyright 1999-2020 Gentoo Authors
32 -# Distributed under the terms of the GNU General Public License v2
33 -
34 -EAPI=6
35 -
36 -PYTHON_COMPAT=( python3_{6,7} )
37 -PYTHON_REQ_USE="threads(+)"
38 -
39 -RUBY_OPTIONAL="yes"
40 -USE_RUBY="ruby23 ruby24 ruby25 ruby26"
41 -
42 -PHP_EXT_INI="no"
43 -PHP_EXT_NAME="dummy"
44 -PHP_EXT_OPTIONAL_USE="php"
45 -USE_PHP="php7-2 php7-3 php7-4" # deps must be registered separately below
46 -
47 -MY_P="${P/_/-}"
48 -
49 -inherit eapi7-ver eutils flag-o-matic multilib pax-utils php-ext-source-r3 python-r1 ruby-ng
50 -
51 -DESCRIPTION="uWSGI server for Python web applications"
52 -HOMEPAGE="http://projects.unbit.it/uwsgi/"
53 -SRC_URI="https://github.com/unbit/uwsgi/archive/${PV}.tar.gz -> ${P}.tar.gz"
54 -
55 -LICENSE="GPL-2"
56 -SLOT="0"
57 -KEYWORDS="amd64 arm x86 ~amd64-linux"
58 -
59 -UWSGI_PLUGINS_STD=( ping cache carbon nagios rpc rrdtool
60 - http ugreen signal syslog rsyslog
61 - router_{uwsgi,redirect,basicauth,rewrite,http,cache,static,memcached,redis,hash,expires,metrics}
62 - {core,fast,raw,ssl}router
63 - redislog mongodblog log{file,socket}
64 - spooler cheaper_busyness symcall
65 - transformation_{chunked,gzip,offload,tofile}
66 - zergpool )
67 -UWSGI_PLUGINS_OPT=( alarm_{curl,xmpp} clock_{monotonic,realtime} curl_cron
68 - dumbloop echo emperor_{amqp,pg,zeromq} forkptyrouter
69 - geoip graylog2 legion_cache_fetch ldap log{crypto,pipe} notfound pam
70 - rados router_{access,radius,spnego,xmldir}
71 - sqlite ssi stats_pusher_statsd
72 - systemd_logger transformation_toupper tuntap webdav xattr xslt zabbix )
73 -
74 -LANG_SUPPORT_SIMPLE=( cgi mono perl ) # plugins which can be built in the main build process
75 -LANG_SUPPORT_EXTENDED=( go lua php python python-asyncio python-gevent ruby )
76 -
77 -# plugins to be ignored (for now):
78 -# cheaper_backlog2: example plugin
79 -# coroae: TODO
80 -# cplusplus: partially example code, needs explicit class
81 -# dummy: no idea
82 -# example: example plugin
83 -# exception_log: example plugin
84 -# *java*: TODO
85 -# v8: TODO
86 -# matheval: TODO
87 -IUSE="apache2 +caps debug +embedded expat jemalloc json libressl +pcre +routing selinux +ssl +xml yajl yaml zeromq"
88 -
89 -for plugin in ${UWSGI_PLUGINS_STD[@]}; do IUSE="${IUSE} +uwsgi_plugins_${plugin}"; done
90 -for plugin in ${UWSGI_PLUGINS_OPT[@]}; do IUSE="${IUSE} uwsgi_plugins_${plugin}"; done
91 -IUSE="${IUSE} ${LANG_SUPPORT_SIMPLE[@]} ${LANG_SUPPORT_EXTENDED[@]}"
92 -
93 -REQUIRED_USE="|| ( ${LANG_SUPPORT_SIMPLE[@]} ${LANG_SUPPORT_EXTENDED[@]} )
94 - uwsgi_plugins_logcrypto? ( ssl )
95 - uwsgi_plugins_sslrouter? ( ssl )
96 - routing? ( pcre )
97 - uwsgi_plugins_emperor_zeromq? ( zeromq )
98 - uwsgi_plugins_forkptyrouter? ( uwsgi_plugins_corerouter )
99 - uwsgi_plugins_router_xmldir? ( xml !expat )
100 - python? ( ${PYTHON_REQUIRED_USE} )
101 - python-asyncio? ( || ( $(python_gen_useflags -3) ) )
102 - python-gevent? ( python )
103 - expat? ( xml )"
104 -
105 -# util-linux is required for libuuid when requesting zeromq support
106 -# Order:
107 -# 1. Unconditional
108 -# 2. General features
109 -# 3. Plugins
110 -# 4. Language/app support
111 -CDEPEND="
112 - sys-libs/zlib
113 - caps? ( sys-libs/libcap )
114 - json? (
115 - !yajl? ( dev-libs/jansson )
116 - yajl? ( dev-libs/yajl )
117 - )
118 - pcre? ( dev-libs/libpcre:3 )
119 - ssl? (
120 - !libressl? ( dev-libs/openssl:0= )
121 - libressl? ( dev-libs/libressl )
122 - )
123 - xml? (
124 - !expat? ( dev-libs/libxml2 )
125 - expat? ( dev-libs/expat )
126 - )
127 - yaml? ( dev-libs/libyaml )
128 - zeromq? ( net-libs/zeromq sys-apps/util-linux )
129 - uwsgi_plugins_alarm_curl? ( net-misc/curl )
130 - uwsgi_plugins_alarm_xmpp? ( net-libs/gloox )
131 - uwsgi_plugins_curl_cron? ( net-misc/curl )
132 - uwsgi_plugins_emperor_pg? ( dev-db/postgresql:= )
133 - uwsgi_plugins_geoip? ( dev-libs/geoip )
134 - uwsgi_plugins_ldap? ( net-nds/openldap )
135 - uwsgi_plugins_pam? ( sys-libs/pam )
136 - uwsgi_plugins_sqlite? ( dev-db/sqlite:3 )
137 - uwsgi_plugins_rados? ( sys-cluster/ceph )
138 - uwsgi_plugins_router_access? ( sys-apps/tcp-wrappers )
139 - uwsgi_plugins_router_spnego? ( virtual/krb5 )
140 - uwsgi_plugins_systemd_logger? ( sys-apps/systemd )
141 - uwsgi_plugins_webdav? ( dev-libs/libxml2 )
142 - uwsgi_plugins_xslt? ( dev-libs/libxslt )
143 - go? ( sys-devel/gcc:=[go] )
144 - lua? ( dev-lang/lua:= )
145 - mono? ( dev-lang/mono:= )
146 - perl? ( dev-lang/perl:= )
147 - php? (
148 - net-libs/libnsl
149 - php_targets_php7-2? ( dev-lang/php:7.2[embed] )
150 - php_targets_php7-3? ( dev-lang/php:7.3[embed] )
151 - php_targets_php7-4? ( dev-lang/php:7.4[embed] )
152 - )
153 - python? ( ${PYTHON_DEPS} )
154 - python-asyncio? ( virtual/python-greenlet[${PYTHON_USEDEP}] )
155 - python-gevent? ( >=dev-python/gevent-1.3.5[${PYTHON_USEDEP}] )
156 - ruby? ( $(ruby_implementations_depend) )"
157 -DEPEND="${CDEPEND}
158 - virtual/pkgconfig"
159 -RDEPEND="${CDEPEND}
160 - selinux? ( sec-policy/selinux-uwsgi )
161 - uwsgi_plugins_rrdtool? ( net-analyzer/rrdtool )"
162 -
163 -S="${WORKDIR}/${MY_P}"
164 -
165 -src_unpack() {
166 - echo ${PYTHON_USEDEP}
167 - default
168 -}
169 -
170 -pkg_setup() {
171 - python_setup
172 - use ruby && ruby-ng_pkg_setup
173 -}
174 -
175 -src_prepare() {
176 - default
177 -
178 - sed -i \
179 - -e "s|'-O2', ||" \
180 - -e "s|'-Werror', ||" \
181 - -e "s|uc.get('plugin_dir')|uc.get('plugin_build_dir')|" \
182 - uwsgiconfig.py || die "sed failed"
183 -
184 - sed -i \
185 - -e "s|/lib|/$(get_libdir)|" \
186 - plugins/php/uwsgiplugin.py || die "sed failed"
187 -}
188 -
189 -src_configure() {
190 - local embedded_plugins=()
191 - local plugins=()
192 - local malloc_impl="libc"
193 - local json="false"
194 - local xml="false"
195 -
196 - for p in ${UWSGI_PLUGINS_STD[@]} ${UWSGI_PLUGINS_OPT[@]} ; do
197 - use uwsgi_plugins_${p} && embedded_plugins+=("${p}")
198 - done
199 - for p in ${LANG_SUPPORT_SIMPLE[@]} ; do
200 - use ${p} && plugins+=("${p}")
201 - done
202 -
203 - # do not embed any plugins
204 - if ! use embedded; then
205 - plugins=( ${plugins[@]} ${embedded_plugins[@]} )
206 - embedded_plugins=()
207 - fi
208 -
209 - # flatten the arrays
210 - plugins=${plugins[@]}
211 - embedded_plugins=${embedded_plugins[@]}
212 -
213 - # rename some of the use flags, language plugins are always real plugins
214 - plugins="${plugins/perl/psgi}"
215 - plugins="${plugins/sqlite/sqlite3}"
216 - embedded_plugins="${embedded_plugins/sqlite/sqlite3}"
217 -
218 - # override defaults as requested by the user
219 - if use xml; then
220 - use expat && xml="expat" || xml="libxml2"
221 - fi
222 - if use json; then
223 - use yajl && json="yajl" || json="jansson"
224 - fi
225 - use jemalloc && malloc_impl="jemalloc"
226 -
227 - # prepare the buildconf for gentoo
228 - cp "${FILESDIR}"/gentoo.buildconf buildconf/gentoo.ini || die
229 - sed -i \
230 - -e "s|VAR_XML|${xml}|" \
231 - -e "s|VAR_YAML|$(usex yaml libyaml true)|" \
232 - -e "s|VAR_JSON|${json}|" \
233 - -e "s|VAR_SSL|$(usex ssl true false)|" \
234 - -e "s|VAR_PCRE|$(usex pcre true false)|" \
235 - -e "s|VAR_ZMQ|$(usex zeromq true false)|" \
236 - -e "s|VAR_ROUTING|$(usex routing true false)|" \
237 - -e "s|VAR_DEBUG|$(usex debug true false)|" \
238 - -e "s|VAR_MALLOC|${malloc_impl}|" \
239 - -e "s|VAR_PLUGINS|${plugins// /, }|" \
240 - -e "s|VAR_PLUGIN_DIR|${EPREFIX}/usr/$(get_libdir)/uwsgi|" \
241 - -e "s|VAR_BUILD_DIR|${T}/plugins|" \
242 - -e "s|VAR_EMBEDDED|${embedded_plugins// /, }|" \
243 - buildconf/gentoo.ini || die "sed failed"
244 -
245 - if ! use caps; then
246 - sed -i -e 's|sys/capability.h|DISABLED|' uwsgiconfig.py || die "sed failed"
247 - fi
248 -
249 - if ! use zeromq; then
250 - sed -i -e 's|uuid/uuid.h|DISABLED|' uwsgiconfig.py || die "sed failed"
251 - fi
252 -
253 - if use uwsgi_plugins_emperor_pg ; then
254 - PGPV="$(best_version dev-db/postgresql)"
255 - PGSLOT="$(ver_cut 1-2 ${PGPV##dev-db/postgresql-})"
256 - sed -i \
257 - -e "s|pg_config|pg_config${PGSLOT/.}|" \
258 - plugins/emperor_pg/uwsgiplugin.py || die "sed failed"
259 - fi
260 -}
261 -
262 -each_ruby_compile() {
263 - cd "${WORKDIR}/${MY_P}" || die "sed failed"
264 -
265 - UWSGICONFIG_RUBYPATH="${RUBY}" python uwsgiconfig.py --plugin plugins/rack gentoo rack_${RUBY##*/} || die "building plugin for ${RUBY} failed"
266 - UWSGICONFIG_RUBYPATH="${RUBY}" python uwsgiconfig.py --plugin plugins/fiber gentoo fiber_${RUBY##*/}|| die "building fiber plugin for ${RUBY} failed"
267 - UWSGICONFIG_RUBYPATH="${RUBY}" python uwsgiconfig.py --plugin plugins/rbthreads gentoo rbthreads_${RUBY##*/}|| die "building rbthreads plugin for ${RUBY} failed"
268 -}
269 -
270 -python_compile_plugins() {
271 - local EPYV
272 - local PYV
273 - EPYV=${EPYTHON/.}
274 - PYV=${EPYV/python}
275 -
276 - ${PYTHON} uwsgiconfig.py --plugin plugins/python gentoo ${EPYV} || die "building plugin for ${EPYTHON} failed"
277 -
278 - if use python-asyncio ; then
279 - if [[ "${PYV}" != "27" ]] ; then
280 - ${PYTHON} uwsgiconfig.py --plugin plugins/asyncio gentoo asyncio${PYV} || die "building plugin for asyncio-support in ${EPYTHON} failed"
281 - fi
282 - fi
283 -
284 - if use python-gevent ; then
285 - ${PYTHON} uwsgiconfig.py --plugin plugins/gevent gentoo gevent${PYV} || die "building plugin for gevent-support in ${EPYTHON} failed"
286 - fi
287 -
288 - if use python-gevent || use python-asyncio; then
289 - ${PYTHON} uwsgiconfig.py --plugin plugins/greenlet gentoo greenlet${PYV} || die "building plugin for greenlet-support in ${EPYTHON} failed"
290 - fi
291 -}
292 -
293 -python_install_symlinks() {
294 - dosym uwsgi /usr/bin/uwsgi_${EPYTHON/.}
295 -}
296 -
297 -src_compile() {
298 - mkdir -p "${T}/plugins" || die
299 -
300 - CPUCOUNT=1 python uwsgiconfig.py --build gentoo || die "building uwsgi failed"
301 -
302 - if use go ; then
303 - python uwsgiconfig.py --plugin plugins/gccgo gentoo || die "building plugin for go failed"
304 - fi
305 -
306 - if use lua ; then
307 - # setting the name for the pkg-config file to lua, since we don't have
308 - # slotted lua
309 - UWSGICONFIG_LUAPC="lua" python uwsgiconfig.py --plugin plugins/lua gentoo || die "building plugin for lua failed"
310 - fi
311 -
312 - if use php ; then
313 - for s in $(php_get_slots); do
314 - UWSGICONFIG_PHPDIR="/usr/$(get_libdir)/${s}" python uwsgiconfig.py --plugin plugins/php gentoo ${s/.} || die "building plugin for ${s} failed"
315 - done
316 - fi
317 -
318 - if use python ; then
319 - python_foreach_impl python_compile_plugins
320 - fi
321 -
322 - if use ruby ; then
323 - ruby-ng_src_compile
324 - fi
325 -}
326 -
327 -src_install() {
328 - dobin uwsgi
329 - pax-mark m "${D}"/usr/bin/uwsgi
330 -
331 - insinto /usr/$(get_libdir)/uwsgi
332 - doins "${T}/plugins"/*.so
333 -
334 - use cgi && dosym uwsgi /usr/bin/uwsgi_cgi
335 - use go && dosym uwsgi /usr/bin/uwsgi_go
336 - use lua && dosym uwsgi /usr/bin/uwsgi_lua
337 - use mono && dosym uwsgi /usr/bin/uwsgi_mono
338 - use perl && dosym uwsgi /usr/bin/uwsgi_psgi
339 -
340 - if use php ; then
341 - for s in $(php_get_slots); do
342 - dosym uwsgi /usr/bin/uwsgi_${s/.}
343 - done
344 - fi
345 -
346 - if use python ; then
347 - python_foreach_impl python_install_symlinks
348 - python_foreach_impl python_domodule uwsgidecorators.py
349 - fi
350 -
351 - newinitd "${FILESDIR}"/uwsgi.initd-r7 uwsgi
352 - newconfd "${FILESDIR}"/uwsgi.confd-r4 uwsgi
353 - keepdir /etc/"${PN}".d
354 - use uwsgi_plugins_spooler && keepdir /var/spool/"${PN}"
355 -}
356 -
357 -pkg_postinst() {
358 - if use apache2 ; then
359 - ewarn "As reported on bug #650776 [1], Apache module mod_proxy_uwsgi"
360 - ewarn "is being transferred to upstream Apache since 2.4.30, see [2]."
361 - ewarn "We therefore do not build them any more."
362 - ewarn " [1] https://bugs.gentoo.org/650776"
363 - ewarn " [2] https://github.com/unbit/uwsgi/issues/1636"
364 - fi
365 -
366 - elog "Append the following options to the uwsgi call to load the respective language plugin:"
367 - use cgi && elog " '--plugins cgi' for cgi"
368 - use lua && elog " '--plugins lua' for lua"
369 - use mono && elog " '--plugins mono' for mono"
370 - use perl && elog " '--plugins psgi' for perl"
371 -
372 - if use php ; then
373 - for s in $(php_get_slots); do
374 - elog " '--plugins ${s/.}' for ${s}"
375 - done
376 - fi
377 -
378 - python_pkg_postinst() {
379 - local EPYV
380 - local PYV
381 - EPYV=${EPYTHON/.}
382 - PYV=${EPYV/python}
383 -
384 - elog " "
385 - elog " '--plugins ${EPYV}' for ${EPYTHON}"
386 - if use python-asyncio ; then
387 - if [[ ${EPYV} == python34 ]] ; then
388 - elog " '--plugins ${EPYV},asyncio${PYV}' for asyncio support in ${EPYTHON}"
389 - else
390 - elog " (asyncio is only supported in python3.4)"
391 - fi
392 - fi
393 - if use python-gevent ; then
394 - elog " '--plugins ${EPYV},gevent${PYV}' for gevent support in ${EPYTHON}"
395 - fi
396 - }
397 -
398 - use python && python_foreach_impl python_pkg_postinst
399 -
400 - if use ruby ; then
401 - for ruby in $(ruby_get_use_implementations) ; do
402 - elog " '--plugins rack_${ruby/.}' for ${ruby}"
403 - elog " '--plugins fiber_${ruby/.}' for ${ruby} fibers"
404 - elog " '--plugins rbthreads_${ruby/.}' for ${ruby} rbthreads"
405 - done
406 - fi
407 -}