# Contributor: Ɓukasz Jendrysik # Contributor: Kaarle Ritvanen # Contributor: Jakub Jirutka # Maintainer: Natanael Copa pkgname=uwsgi pkgver=2.0.13.1 pkgrel=4 pkgdesc="uWSGI application container server" url="http://projects.unbit.it/uwsgi/" arch="all" license="GPL2" depends="mailcap" install="uwsgi.pre-install" pkgusers="uwsgi" pkggroups="uwsgi" makedepends=" attr-dev curl-dev geoip-dev libcap-dev linux-headers linux-pam-dev libxml2-dev libxslt-dev lua5.2-dev paxmark pcre-dev postgresql-dev python python-dev python3-dev zeromq-dev zlib-dev " source="http://projects.unbit.it/downloads/uwsgi-${pkgver}.tar.gz uwsgi.initd uwsgi.ini readme.emperor alpine.buildconf musl-fix-python.patch " builddir="$srcdir/$pkgname-$pkgver" # Plugins for Python 2 or without compile dependency on Python. # You may specify a custom name for so lib and subpackage after a colon. _plugins=" alarm_curl cache carbon cgi cheaper_backlog2 cheaper_busyness corerouter curl_cron dumbloop dummy echo emperor_amqp emperor_pg emperor_zeromq fastrouter forkptyrouter geoip gevent graylog2 http legion_cache_fetch logcrypto logfile logpipe logsocket logzmq lua msgpack nagios notfound pam ping pty python rawrouter redislog router_basicauth router_cache router_expires router_hash router_http router_memcached router_metrics router_radius router_redirect router_redis router_rewrite router_static router_uwsgi rpc rrdtool rsyslog signal spooler sslrouter stats_pusher_file stats_pusher_socket stats_pusher_statsd symcall syslog transformation_chunked transformation_gzip transformation_offload transformation_template transformation_tofile tuntap ugreen webdav xslt zabbix zergpool " # Plugins for Python 3. # You may specify a custom name for so lib and subpackage after a colon. _plugins3="gevent:gevent3 python:python3" subpackages="" for _p in $_plugins $_plugins3; do subpackages="$subpackages uwsgi-${_p#*:}:_plugin" done _desc_gevent="uWSGI plugin for gevent (Python 2)" _desc_gevent3="uWSGI plugin for gevent (Python 3)" _desc_python="uWSGI plugin for Python 2" _desc_python3="uWSGI plugin for Python 3" prepare() { default_prepare || return 1 cp "$srcdir"/alpine.buildconf buildconf/alpine.ini } build() { cd "$builddir" msg "Building core" # ccache seems to trigger some weird bug on musl CC="gcc" python uwsgiconfig.py --build alpine || return 1 export UWSGICONFIG_LUAPC="lua5.2" local item for item in $_plugins; do _build python "$item" || return 1 done for item in $_plugins3; do _build python3 "$item" || return 1 done } _build() { local python="$1" local plugin="${2%:*}" local myname="${2#*:}" msg "Building $plugin plugin ($myname)" $python uwsgiconfig.py --plugin plugins/$plugin alpine $myname } package() { cd "$builddir" install -D uwsgi \ "$pkgdir"/usr/sbin/uwsgi || return 1 install -D "$srcdir"/readme.emperor \ "$pkgdir"/etc/uwsgi/conf.d/readme.emperor || return 1 install -D "$srcdir"/uwsgi.ini \ "$pkgdir"/etc/uwsgi/uwsgi.ini return 1 install -Dm755 "$srcdir"/uwsgi.initd \ "$pkgdir"/etc/init.d/uwsgi || return 1 # Disable emutramp/mprotect, this is needed for luajit and cffi. paxmark -em "$pkgdir"/usr/sbin/uwsgi } _plugin() { local name="${subpkgname#$pkgname-}" local desc="$(eval "echo \$_desc_$name")" pkgdesc="${desc:-"uWSGI plugin $name"}" depends="uwsgi" cd "$builddir" install -D ${name}_plugin.so \ "$subpkgdir"/usr/lib/uwsgi/${name}_plugin.so || return 1 } md5sums="e9ec5b2b296ce21b3787e0579d02bade uwsgi-2.0.13.1.tar.gz 808aa42f536b7d4dd9dd966b1f25d690 uwsgi.initd a797ffed638ea797a16557d963598fb2 uwsgi.ini cf4242f1a6cd8182a91d5c27dc688fe1 readme.emperor 98407f45c566a2c39a34b882e1ac9fe4 alpine.buildconf 87c16f6fe482c9b0eac0d33c51873f45 musl-fix-python.patch" sha256sums="2eca0c2f12ab76f032154cd147f4d5957d3195a022678d59cb507f4995a48d7f uwsgi-2.0.13.1.tar.gz 319be0fdbce036351cdc4b60eac821400b5b2ba7dcfac246867dfde1e295fa74 uwsgi.initd b9cc5a3590b95854eb563fbb84b3e0f54d25ea6d222585a1b40583a6913cc911 uwsgi.ini bad9480a81d57baaef1d228713837f5dae81f93527c436aeb1ed5ed8dad58f54 readme.emperor 31fc9c17f17aa067c3b025a3f7a84c6102d24368afcbc237f3d58041083c0875 alpine.buildconf 3838e8e3926a1f6271bb5aa88d309837a3bcd06cd570c499b72ca549326c682e musl-fix-python.patch" sha512sums="f85ecc34cfa6c24476475996a16432f9ebd8563e4e9866392dbbf5beebec909b50634651d822bdad54bbae886c913c1502edbf04766bba94138330d46798046d uwsgi-2.0.13.1.tar.gz 4e4bab0082ed22df37fb4081431f6b42d93ed76f279b61c8d4014a20e695c224082ad4bad35ca624cbb95cb787d43894daf09398f8102b556c7034ab0ba58e9b uwsgi.initd 370202e143d0e041a2e36905346080d3ca592c9a74705a8c4e142a1307d22b921c10e673d683ca284ea27d184474ed86edd7723a6e590d35a562ad7cf6afa529 uwsgi.ini 2798c9d2e49e29292ffe6a5a29b866301c78d5f322fc5d07dfa9569efdaa5220237a5f6744652fbdd957be29311ddaff190541333f042cbf0e907dfa98ce3e2a readme.emperor f3cff00926929a5bb40afafb65fd5228582af35fbf524562282020c4c4ae9c659231b2381f4b3cceb18e8f3f6c888c21bdd8ed4ddcd81e92fbc6a0891800ce38 alpine.buildconf de68b16b44e554a79c073c9befa10566796316dbf4c375b4d6b633d80b0282694cca233f0a70f3d6570584324f14276826bbeb8f38b550c00087a05f9ba9227f musl-fix-python.patch"