# $Id$ # Maintainer: Daniel Wallace # Maintainer: Sven-Hendrik Haase # Contributor: Valentin Hăloiu # Contributor: Angel Velasquez # Contributor: Kevin Zuber # Contributor: Vsevolod Balashov # Contributor: David Runge # ALARM: Kevin Mihelich # - ripped out pypy stuff pkgbase=uwsgi pkgname=(uwsgi uwsgi-plugin-rack uwsgi-plugin-psgi uwsgi-plugin-cgi uwsgi-plugin-python2 uwsgi-plugin-python uwsgi-plugin-php uwsgi-plugin-lua51 uwsgi-plugin-jvm uwsgi-plugin-mono mod_proxy_uwsgi) pkgver=2.0.9 pkgrel=2 arch=(i686 x86_64) url="http://projects.unbit.it/$pkgbase" license=(GPL2) backup=('etc/uwsgi/emperor.ini') conflicts=(python-$pkgbase) makedepends=(gcc python python2 ruby python2-greenlet python-greenlet php-embed curl libxml2 libyaml perl lua51 pcre libedit openssl bzip2 gmp pam java-environment=7 jansson classpath mono python2-gevent apache) source=(http://projects.unbit.it/downloads/$pkgbase-$pkgver.tar.gz archlinux.ini tmpfilesd uwsgi_at.service uwsgi_at.socket uwsgi_fix_rpath.patch uwsgi_ruby20_compatibility.patch uwsgi_trick_chroot.patch emperor.ini emperor.uwsgi.service emperor.uwsgi.socket) md5sums=('44a5b044ea8416e7af310df0dea9caf8' '30d101f1190ef83b4cc79a2cc079be7e' '752475ee32286acfbafa49b898616817' 'feaf107977aec047101acdbf06810f30' 'ea381549fe65a5d72fa1abb5ceb7d3ef' '1a4516d5cdcf5b95b036f4eae2d0c152' '4d09535ce379c8acd76160f35d5d6b55' '0c09a52fdb88f08c36a8b380f451ce6d' '5fa14ddea9a3dae17b5be28468d47b80' '25dfcc365241f16d7ea16f7143698b53' '3ab4486e02f5c217566fb6c8d469c246') prepare(){ cd $srcdir/$pkgbase-$pkgver cp $srcdir/archlinux.ini buildconf/archlinux.ini #sed -i 's/LIBS .*-lphp5.*/LIBS = []/' plugins/php/uwsgiplugin.py for patch in uwsgi_fix_rpath.patch uwsgi_ruby20_compatibility.patch uwsgi_trick_chroot.patch; do patch -Np1 -i $srcdir/$patch done rm -rf plugins/ruby mv plugins/ruby{19,} sed -i 's:\(ruby\)19:\1:' plugins/ruby/uwsgiplugin.py } build() { pushd $srcdir/$pkgbase-$pkgver python uwsgiconfig.py --build archlinux python uwsgiconfig.py --plugin plugins/python archlinux python python uwsgiconfig.py --plugin plugins/greenlet archlinux greenlet python2 uwsgiconfig.py --plugin plugins/python archlinux python2 python2 uwsgiconfig.py --plugin plugins/greenlet archlinux greenlet2 python2 uwsgiconfig.py --plugin plugins/gevent archlinux gevent2 pushd $srcdir/$pkgbase-$pkgver/apache2 /usr/bin/apxs -c mod_proxy_uwsgi.c } package_uwsgi() { pkgdesc="A fast, self-healing and developer/sysadmin-friendly application container server coded in pure C" depends=(python2 libxml2 jansson libyaml systemd) install=uwsgi.install cd $srcdir/$pkgbase-$pkgver install -Dm755 uwsgi $pkgdir/usr/bin/uwsgi install -Dm644 $srcdir/uwsgi_at.service $pkgdir/usr/lib/systemd/system/uwsgi@.service install -Dm644 $srcdir/uwsgi_at.socket $pkgdir/usr/lib/systemd/system/uwsgi@.socket install -Dm644 $srcdir/emperor.uwsgi.service $pkgdir/usr/lib/systemd/system/emperor.uwsgi.service install -Dm644 $srcdir/emperor.uwsgi.socket $pkgdir/usr/lib/systemd/system/emperor.uwsgi.socket install -Dm644 $srcdir/emperor.ini $pkgdir/etc/uwsgi/emperor.ini install -Dm644 $srcdir/tmpfilesd $pkgdir/usr/lib/tmpfiles.d/uwsgi.conf } package_uwsgi-plugin-cgi() { depends=(uwsgi) pkgdesc="CGI plugin" install -Dm755 $pkgbase-$pkgver/cgi_plugin.so $pkgdir/usr/lib/uwsgi/cgi_plugin.so } package_uwsgi-plugin-rack() { depends=(uwsgi ruby) pkgdesc="Ruby rack plugin" install -Dm755 $pkgbase-$pkgver/rack_plugin.so $pkgdir/usr/lib/uwsgi/rack_plugin.so install -Dm755 $pkgbase-$pkgver/fiber_plugin.so $pkgdir/usr/lib/uwsgi/fiber_plugin.so install -Dm755 $pkgbase-$pkgver/rbthreads_plugin.so $pkgdir/usr/lib/uwsgi/rbthreads_plugin.so } package_uwsgi-plugin-psgi() { depends=(uwsgi perl) pkgdesc="Perl psgi plugin" install -Dm755 $pkgbase-$pkgver/psgi_plugin.so $pkgdir/usr/lib/uwsgi/psgi_plugin.so } package_uwsgi-plugin-python2() { depends=(uwsgi python2-gevent python2-greenlet) pkgdesc="Plugin for Python2 support" install -Dm755 $pkgbase-$pkgver/python2_plugin.so $pkgdir/usr/lib/uwsgi/python2_plugin.so install -Dm755 $pkgbase-$pkgver/greenlet2_plugin.so $pkgdir/usr/lib/uwsgi/greenlet2_plugin.so install -Dm755 $pkgbase-$pkgver/gevent2_plugin.so $pkgdir/usr/lib/uwsgi/gevent2_plugin.so install -Dm644 $pkgbase-$pkgver/uwsgidecorators.py $pkgdir/usr/lib/python2.7/site-packages/uwsgidecorators.py python2 -m compileall $pkgdir/usr/lib/python2.7/site-packages/ python2 -O -m compileall $pkgdir/usr/lib/python2.7/site-packages/ } package_uwsgi-plugin-python() { depends=(uwsgi python python-greenlet) pkgdesc="Plugin for Python support" install -Dm755 $pkgbase-$pkgver/python_plugin.so $pkgdir/usr/lib/uwsgi/python_plugin.so install -Dm755 $pkgbase-$pkgver/greenlet_plugin.so $pkgdir/usr/lib/uwsgi/greenlet_plugin.so install -Dm644 $pkgbase-$pkgver/uwsgidecorators.py $pkgdir/usr/lib/python3.4/site-packages/uwsgidecorators.py python -m compileall $pkgdir/usr/lib/python3.4/site-packages/ python -O -m compileall $pkgdir/usr/lib/python3.4/site-packages/ } package_uwsgi-plugin-lua51() { depends=(uwsgi lua51) pkgdesc="Plugin for Lua support" install -Dm755 $pkgbase-$pkgver/lua_plugin.so $pkgdir/usr/lib/uwsgi/lua_plugin.so } package_uwsgi-plugin-php() { depends=(uwsgi php-embed libyaml jansson) pkgdesc="Plugin for PHP support" install -Dm755 $pkgbase-$pkgver/php_plugin.so $pkgdir/usr/lib/uwsgi/php_plugin.so } package_uwsgi-plugin-jvm() { depends=(uwsgi java-environment=7 classpath) pkgdesc="Plugin for Jvm support" install -Dm644 $pkgbase-$pkgver/plugins/jvm/uwsgi.jar $pkgdir/usr/share/java/uwsgi.jar install -Dm755 $pkgbase-$pkgver/jvm_plugin.so $pkgdir/usr/lib/uwsgi/jvm_plugin.so } package_uwsgi-plugin-mono() { depends=(uwsgi mono) pkgdesc="Plugin for mono support" install -Dm755 $pkgbase-$pkgver/plugins/mono/uwsgi.dll $pkgdir/usr/lib/mono/2.0/uwsgi.dll install -Dm755 $pkgbase-$pkgver/mono_plugin.so $pkgdir/usr/lib/uwsgi/mono_plugin.so } package_mod_proxy_uwsgi(){ depends=(uwsgi apache) pkgdesc="Apache uWSGI proxy module" install -Dm755 \ $pkgbase-$pkgver/apache2/.libs/mod_proxy_uwsgi.so \ $pkgdir/usr/lib/httpd/modules/mod_proxy_uwsgi.so }