[arch-commits] Commit in uwsgi/repos (34 files)

Sven-Hendrik Haase svenstaro at archlinux.org
Tue Mar 21 01:43:32 UTC 2017


    Date: Tuesday, March 21, 2017 @ 01:43:31
  Author: svenstaro
Revision: 217917

archrelease: copy trunk to community-staging-i686, community-staging-x86_64

Added:
  uwsgi/repos/community-staging-i686/
  uwsgi/repos/community-staging-i686/PKGBUILD
    (from rev 217916, uwsgi/trunk/PKGBUILD)
  uwsgi/repos/community-staging-i686/archlinux.ini
    (from rev 217916, uwsgi/trunk/archlinux.ini)
  uwsgi/repos/community-staging-i686/emperor.ini
    (from rev 217916, uwsgi/trunk/emperor.ini)
  uwsgi/repos/community-staging-i686/emperor.uwsgi.service
    (from rev 217916, uwsgi/trunk/emperor.uwsgi.service)
  uwsgi/repos/community-staging-i686/emperor.uwsgi.socket
    (from rev 217916, uwsgi/trunk/emperor.uwsgi.socket)
  uwsgi/repos/community-staging-i686/openssl-1.1-4b1659c8bd0b945a1a48f7c6ac62291be3bf8bc8.patch
    (from rev 217916, uwsgi/trunk/openssl-1.1-4b1659c8bd0b945a1a48f7c6ac62291be3bf8bc8.patch)
  uwsgi/repos/community-staging-i686/php7.patch
    (from rev 217916, uwsgi/trunk/php7.patch)
  uwsgi/repos/community-staging-i686/tmpfilesd
    (from rev 217916, uwsgi/trunk/tmpfilesd)
  uwsgi/repos/community-staging-i686/uwsgi.install
    (from rev 217916, uwsgi/trunk/uwsgi.install)
  uwsgi/repos/community-staging-i686/uwsgi.logrotate
    (from rev 217916, uwsgi/trunk/uwsgi.logrotate)
  uwsgi/repos/community-staging-i686/uwsgi_at.service
    (from rev 217916, uwsgi/trunk/uwsgi_at.service)
  uwsgi/repos/community-staging-i686/uwsgi_at.socket
    (from rev 217916, uwsgi/trunk/uwsgi_at.socket)
  uwsgi/repos/community-staging-i686/uwsgi_fix_rpath.patch
    (from rev 217916, uwsgi/trunk/uwsgi_fix_rpath.patch)
  uwsgi/repos/community-staging-i686/uwsgi_php_7.1.patch
    (from rev 217916, uwsgi/trunk/uwsgi_php_7.1.patch)
  uwsgi/repos/community-staging-i686/uwsgi_ruby20_compatibility.patch
    (from rev 217916, uwsgi/trunk/uwsgi_ruby20_compatibility.patch)
  uwsgi/repos/community-staging-i686/uwsgi_trick_chroot.patch
    (from rev 217916, uwsgi/trunk/uwsgi_trick_chroot.patch)
  uwsgi/repos/community-staging-x86_64/
  uwsgi/repos/community-staging-x86_64/PKGBUILD
    (from rev 217916, uwsgi/trunk/PKGBUILD)
  uwsgi/repos/community-staging-x86_64/archlinux.ini
    (from rev 217916, uwsgi/trunk/archlinux.ini)
  uwsgi/repos/community-staging-x86_64/emperor.ini
    (from rev 217916, uwsgi/trunk/emperor.ini)
  uwsgi/repos/community-staging-x86_64/emperor.uwsgi.service
    (from rev 217916, uwsgi/trunk/emperor.uwsgi.service)
  uwsgi/repos/community-staging-x86_64/emperor.uwsgi.socket
    (from rev 217916, uwsgi/trunk/emperor.uwsgi.socket)
  uwsgi/repos/community-staging-x86_64/openssl-1.1-4b1659c8bd0b945a1a48f7c6ac62291be3bf8bc8.patch
    (from rev 217916, uwsgi/trunk/openssl-1.1-4b1659c8bd0b945a1a48f7c6ac62291be3bf8bc8.patch)
  uwsgi/repos/community-staging-x86_64/php7.patch
    (from rev 217916, uwsgi/trunk/php7.patch)
  uwsgi/repos/community-staging-x86_64/tmpfilesd
    (from rev 217916, uwsgi/trunk/tmpfilesd)
  uwsgi/repos/community-staging-x86_64/uwsgi.install
    (from rev 217916, uwsgi/trunk/uwsgi.install)
  uwsgi/repos/community-staging-x86_64/uwsgi.logrotate
    (from rev 217916, uwsgi/trunk/uwsgi.logrotate)
  uwsgi/repos/community-staging-x86_64/uwsgi_at.service
    (from rev 217916, uwsgi/trunk/uwsgi_at.service)
  uwsgi/repos/community-staging-x86_64/uwsgi_at.socket
    (from rev 217916, uwsgi/trunk/uwsgi_at.socket)
  uwsgi/repos/community-staging-x86_64/uwsgi_fix_rpath.patch
    (from rev 217916, uwsgi/trunk/uwsgi_fix_rpath.patch)
  uwsgi/repos/community-staging-x86_64/uwsgi_php_7.1.patch
    (from rev 217916, uwsgi/trunk/uwsgi_php_7.1.patch)
  uwsgi/repos/community-staging-x86_64/uwsgi_ruby20_compatibility.patch
    (from rev 217916, uwsgi/trunk/uwsgi_ruby20_compatibility.patch)
  uwsgi/repos/community-staging-x86_64/uwsgi_trick_chroot.patch
    (from rev 217916, uwsgi/trunk/uwsgi_trick_chroot.patch)

-------------------------------------------------------------------------------------+
 community-staging-i686/PKGBUILD                                                     |  211 ++++++++++
 community-staging-i686/archlinux.ini                                                |    5 
 community-staging-i686/emperor.ini                                                  |    4 
 community-staging-i686/emperor.uwsgi.service                                        |   16 
 community-staging-i686/emperor.uwsgi.socket                                         |    9 
 community-staging-i686/openssl-1.1-4b1659c8bd0b945a1a48f7c6ac62291be3bf8bc8.patch   |  201 +++++++++
 community-staging-i686/php7.patch                                                   |  169 ++++++++
 community-staging-i686/tmpfilesd                                                    |    1 
 community-staging-i686/uwsgi.install                                                |   12 
 community-staging-i686/uwsgi.logrotate                                              |    9 
 community-staging-i686/uwsgi_at.service                                             |   16 
 community-staging-i686/uwsgi_at.socket                                              |    9 
 community-staging-i686/uwsgi_fix_rpath.patch                                        |   66 +++
 community-staging-i686/uwsgi_php_7.1.patch                                          |   30 +
 community-staging-i686/uwsgi_ruby20_compatibility.patch                             |   42 +
 community-staging-i686/uwsgi_trick_chroot.patch                                     |   16 
 community-staging-x86_64/PKGBUILD                                                   |  211 ++++++++++
 community-staging-x86_64/archlinux.ini                                              |    5 
 community-staging-x86_64/emperor.ini                                                |    4 
 community-staging-x86_64/emperor.uwsgi.service                                      |   16 
 community-staging-x86_64/emperor.uwsgi.socket                                       |    9 
 community-staging-x86_64/openssl-1.1-4b1659c8bd0b945a1a48f7c6ac62291be3bf8bc8.patch |  201 +++++++++
 community-staging-x86_64/php7.patch                                                 |  169 ++++++++
 community-staging-x86_64/tmpfilesd                                                  |    1 
 community-staging-x86_64/uwsgi.install                                              |   12 
 community-staging-x86_64/uwsgi.logrotate                                            |    9 
 community-staging-x86_64/uwsgi_at.service                                           |   16 
 community-staging-x86_64/uwsgi_at.socket                                            |    9 
 community-staging-x86_64/uwsgi_fix_rpath.patch                                      |   66 +++
 community-staging-x86_64/uwsgi_php_7.1.patch                                        |   30 +
 community-staging-x86_64/uwsgi_ruby20_compatibility.patch                           |   42 +
 community-staging-x86_64/uwsgi_trick_chroot.patch                                   |   16 
 32 files changed, 1632 insertions(+)

Copied: uwsgi/repos/community-staging-i686/PKGBUILD (from rev 217916, uwsgi/trunk/PKGBUILD)
===================================================================
--- community-staging-i686/PKGBUILD	                        (rev 0)
+++ community-staging-i686/PKGBUILD	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,211 @@
+# $Id$
+# Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com>
+# Maintainer: Sven-Hendrik Haase <sh at lutzhaase.com>
+# Contributor: Valentin Hăloiu <vially.ichb+aur at gmail.com>
+# Contributor: Angel Velasquez <angvp at archlinux.org>
+# Contributor: Kevin Zuber <uKev at knet.eu>
+# Contributor: Vsevolod Balashov <vsevolod at balashov.name>
+# Contributor: David Runge <dave at sleepmap.de>
+
+pkgbase=uwsgi
+pkgname=(uwsgi
+         uwsgi-plugin-rack
+         uwsgi-plugin-psgi
+         uwsgi-plugin-cgi
+         uwsgi-plugin-python2
+         uwsgi-plugin-python
+         uwsgi-plugin-pypy
+         uwsgi-plugin-php
+         uwsgi-plugin-lua51
+         uwsgi-plugin-jvm
+         uwsgi-plugin-mono
+         uwsgi-plugin-webdav
+         mod_proxy_uwsgi)
+pkgver=2.0.14
+pkgrel=9
+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 pypy mono python2-gevent apache)
+optdepends=('systemd: daemon scripts')
+source=("https://projects.unbit.it/downloads/$pkgbase-$pkgver.tar.gz"
+        uwsgiplugin.py::https://raw.githubusercontent.com/unbit/uwsgi/9787f6882c2475aa9873e400988160b17dd04545/plugins/systemd_logger/uwsgiplugin.py
+        archlinux.ini
+        tmpfilesd
+        uwsgi_at.service
+        uwsgi_at.socket
+        uwsgi_ruby20_compatibility.patch
+        uwsgi_trick_chroot.patch
+        uwsgi_php_7.1.patch
+        emperor.ini
+        emperor.uwsgi.service
+        emperor.uwsgi.socket
+        uwsgi.logrotate
+        openssl-1.1-4b1659c8bd0b945a1a48f7c6ac62291be3bf8bc8.patch)
+sha512sums=('cf557ba27cb1c28e784e8909043bca874cd56846aa9ebaf1ff229191ad20484e467147a6ea7cc629399d4afd6e4ac4479b2f6827729df04321eef4bf842b9e42'
+            '68eef703de39cb336915e1e9c36b11c65c2d46482407b0234ca245df0e052952abb7dd85b0a1cd4507c78356a3b7a55424524b3aa0997b559b51e7b20eab5e16'
+            'acfe9fb089d1905c3d736dbeaaef7eb1848b4ce8d1f585de653086cf7f90c166a1e493d0b62ba030a4bcf2eca9c919e0d6deea2ea1c0bcb8533d7cb040d2f67c'
+            '4def9dcd06cfc2c6ce554add9d9545a01f3bb2681f0a2a6fc4ba68f91011111803a955cc41b5e70832ca448b196109368fdf874e81b7ec0edee4b51f864e16f7'
+            'c0c1a5c2d31cdb7e0dc878ea3d0b6025532fb640ae7cf4d5f1eed2f89987e625c8dc7844d367283ed560fb3ef37915e3e9199be2e1b06fc4586ca862a653b4b5'
+            'fb51a4d102a1bc7d9f7d4c4f310ee65076bcfbc94b47e2dafdf9b20e99a661c5f938185dcf698437d81409376f0276b966f09b13c8a29462c48612df43c3f3ef'
+            '162ca1be96282b32e8e6be919b6315bfd08954c491056958985bf99e7f5bdad3511665f059329d6cb6ef5d222f9aa11d4dc43c72e6a963ab941ada959fe8d964'
+            'bc30f8ec69abd14fb96ada5b36cf65811a7a63ee27e224fcb6ceabe9935c1f17379cd872149a17da3d590b8ff60fbe7f77140d777aaf06e25e83388f897f611d'
+            'f973136c51ec0847ac6b3c3eb6ad45a1d137ada69e79a966ea92076ce29166b1f0b92b83d10b18153e48772a22c4b67a52a9e6c55a966c00f0cd0db644bb829f'
+            '41cc29ea14ca87749959379ead773d9a3a499c6bc7be17800e06e33c998a929ae855c9ad0fe2039e26a034c24d2845833945333442b98d7c6f0924aa2a036b1b'
+            '83a6859d729bf186236aaa7fb7433415f6b985f17e05b7ac571d8919bbf1fb9bd577b4f673d9787dea09752e3d8043f47ce3d9c7d5690faaa1365e477e6c9388'
+            '592c85270f43b37e9c51aae126533830515b96fff9fcae969ee865fe173bd0550c7729530d5ff1e44ffee43cd5c78c96688ce091c677a4196379e24983c0180e'
+            'f7f6f4a6e55ba770022dca068723be8fabe50074ea34384ddb3d876f96d279d0890c7d8d624b3cfe62be43e1eab588e072bd4bb3d3d1cd4ef966b317461b80c5'
+            '9985fca2c458d27b49db237628149cabfc9ac589df595eeb5540ef691bc4d3cc5dd73e98956b1e0f139222eba8a1c23d2d8c82473cb3eee64159dc47f4684534')
+
+prepare() {
+    cd $srcdir/$pkgbase-$pkgver
+    cp $srcdir/archlinux.ini buildconf/archlinux.ini
+    for patch in uwsgi_ruby20_compatibility.patch uwsgi_trick_chroot.patch uwsgi_php_7.1.patch openssl-1.1-4b1659c8bd0b945a1a48f7c6ac62291be3bf8bc8.patch; do
+        msg2 "Applying $patch"
+        patch -Np1 -i $srcdir/$patch
+    done
+    rm -rf plugins/ruby
+    mv plugins/ruby{19,}
+    sed -i 's:\(ruby\)19:\1:' plugins/ruby/uwsgiplugin.py
+
+    sed -i 's/--cflags mono-2/--cflags mono-2 glib-2.0/g' plugins/mono/uwsgiplugin.py
+
+    cp $srcdir/uwsgiplugin.py plugins/systemd_logger/uwsgiplugin.py
+}
+
+build() {
+    pushd $srcdir/$pkgbase-$pkgver
+
+    export UWSGICONFIG_LUAPC='lua51'
+
+    python uwsgiconfig.py --build archlinux
+    python uwsgiconfig.py --plugin plugins/python archlinux python
+    python uwsgiconfig.py --plugin plugins/greenlet archlinux greenlet
+    python uwsgiconfig.py --plugin plugins/gevent archlinux gevent
+    python uwsgiconfig.py --plugin plugins/asyncio archlinux asyncio
+    python2 uwsgiconfig.py --plugin plugins/python archlinux python2
+    python2 uwsgiconfig.py --plugin plugins/greenlet archlinux greenlet2
+    python2 uwsgiconfig.py --plugin plugins/gevent archlinux gevent2
+    python2 uwsgiconfig.py --plugin plugins/pypy archlinux pypy
+
+    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 libsystemd libcap pam pcre)
+    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 at .service
+    install -Dm644 $srcdir/uwsgi_at.socket $pkgdir/usr/lib/systemd/system/uwsgi at .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
+    install -Dm644 $srcdir/uwsgi.logrotate $pkgdir/etc/logrotate.d/uwsgi
+}
+
+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
+# template start; name=perl-binary-module-dependency; version=1;
+if [[ $(find "$pkgdir/usr/lib/perl5/" -name "*.so") ]]; then
+	_perlver_min=$(perl -e '$v = $^V->{version}; print $v->[0].".".($v->[1]);')
+	_perlver_max=$(perl -e '$v = $^V->{version}; print $v->[0].".".($v->[1]+1);')
+	depends+=("perl>=$_perlver_min" "perl<$_perlver_max")
+fi
+# template end;
+}
+
+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 -Dm755 $pkgbase-$pkgver/gevent_plugin.so $pkgdir/usr/lib/uwsgi/gevent_plugin.so
+    install -Dm755 $pkgbase-$pkgver/asyncio_plugin.so $pkgdir/usr/lib/uwsgi/asyncio_plugin.so
+    install -Dm644 $pkgbase-$pkgver/uwsgidecorators.py $pkgdir/usr/lib/python3.6/site-packages/uwsgidecorators.py
+    python -m compileall $pkgdir/usr/lib/python3.6/site-packages/
+    python -O -m compileall $pkgdir/usr/lib/python3.6/site-packages/
+}
+
+package_uwsgi-plugin-pypy() {
+    depends=(uwsgi pypy)
+    pkgdesc="Plugin for PyPy support"
+    install -Dm755 $pkgbase-$pkgver/pypy_plugin.so $pkgdir/usr/lib/uwsgi/pypy_plugin.so
+    install -Dm644 $pkgbase-$pkgver/uwsgidecorators.py $pkgdir/opt/pypy/site-packages/uwsgidecorators.py
+    pypy -m compileall $pkgdir/opt/pypy/site-packages/
+    pypy -O -m compileall $pkgdir/opt/pypy/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_uwsgi-plugin-webdav() {
+    depends=(uwsgi)
+    pkgdesc="Plugin for webdav support"
+    install -Dm755 $pkgbase-$pkgver/webdav_plugin.so $pkgdir/usr/lib/uwsgi/webdav_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
+}

Copied: uwsgi/repos/community-staging-i686/archlinux.ini (from rev 217916, uwsgi/trunk/archlinux.ini)
===================================================================
--- community-staging-i686/archlinux.ini	                        (rev 0)
+++ community-staging-i686/archlinux.ini	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,5 @@
+[uwsgi]
+plugin_dir = /usr/lib/uwsgi
+plugins = rack, rbthreads, fiber, psgi, lua, php, jvm, mono, cgi, webdav
+main_plugin = systemd_logger,pam
+inherit = base

Copied: uwsgi/repos/community-staging-i686/emperor.ini (from rev 217916, uwsgi/trunk/emperor.ini)
===================================================================
--- community-staging-i686/emperor.ini	                        (rev 0)
+++ community-staging-i686/emperor.ini	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,4 @@
+[uwsgi]
+emperor = /etc/uwsgi/vassals
+uid = http
+gid = http

Copied: uwsgi/repos/community-staging-i686/emperor.uwsgi.service (from rev 217916, uwsgi/trunk/emperor.uwsgi.service)
===================================================================
--- community-staging-i686/emperor.uwsgi.service	                        (rev 0)
+++ community-staging-i686/emperor.uwsgi.service	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,16 @@
+[Unit]
+Description=uWSGI Emperor
+After=syslog.target
+
+[Service]
+ExecStart=/usr/bin/uwsgi --ini /etc/uwsgi/emperor.ini
+ExecReload=/bin/kill -HUP $MAINPID
+ExecStop=/bin/kill -INT $MAINPID
+Restart=always
+Type=notify
+StandardError=syslog
+NotifyAccess=all
+KillSignal=SIGQUIT
+
+[Install]
+WantedBy=multi-user.target

Copied: uwsgi/repos/community-staging-i686/emperor.uwsgi.socket (from rev 217916, uwsgi/trunk/emperor.uwsgi.socket)
===================================================================
--- community-staging-i686/emperor.uwsgi.socket	                        (rev 0)
+++ community-staging-i686/emperor.uwsgi.socket	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,9 @@
+[Unit]
+Description=Socket for uWSGI Emperor
+
+[Socket]
+# Change this to your uwsgi application port or unix socket location
+ListenStream=/run/uwsgi/emperor.sock
+
+[Install]
+WantedBy=sockets.target

Copied: uwsgi/repos/community-staging-i686/openssl-1.1-4b1659c8bd0b945a1a48f7c6ac62291be3bf8bc8.patch (from rev 217916, uwsgi/trunk/openssl-1.1-4b1659c8bd0b945a1a48f7c6ac62291be3bf8bc8.patch)
===================================================================
--- community-staging-i686/openssl-1.1-4b1659c8bd0b945a1a48f7c6ac62291be3bf8bc8.patch	                        (rev 0)
+++ community-staging-i686/openssl-1.1-4b1659c8bd0b945a1a48f7c6ac62291be3bf8bc8.patch	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,201 @@
+From 4b1659c8bd0b945a1a48f7c6ac62291be3bf8bc8 Mon Sep 17 00:00:00 2001
+From: Riccardo Magliocchetti <riccardo.magliocchetti at gmail.com>
+Date: Sun, 6 Nov 2016 14:36:32 +0100
+Subject: [PATCH] Cope with openssl 1.1 API changes
+
+Since OpenSSL 1.1.0 made some structs opaque and this we cannot
+poke with the internals anymore. Because of that we have to
+disable the ssl session cache.
+
+Ref #1395
+---
+ core/legion.c                 |  8 ++++++++
+ core/ssl.c                    | 14 ++++++++++++--
+ core/uwsgi.c                  |  2 ++
+ plugins/http/spdy3.c          |  2 ++
+ plugins/logcrypto/logcrypto.c |  4 ++++
+ uwsgi.h                       |  8 ++++++--
+ 6 files changed, 34 insertions(+), 4 deletions(-)
+
+diff --git a/core/legion.c b/core/legion.c
+index da24158..c2bff5a 100644
+--- a/core/legion.c
++++ b/core/legion.c
+@@ -1074,8 +1074,12 @@ struct uwsgi_legion *uwsgi_legion_register(char *legion, char *addr, char *valor
+ 		uwsgi_ssl_init();
+ 	}
+ 
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ 	EVP_CIPHER_CTX *ctx = uwsgi_malloc(sizeof(EVP_CIPHER_CTX));
+ 	EVP_CIPHER_CTX_init(ctx);
++#else
++	EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new();
++#endif
+ 
+ 	const EVP_CIPHER *cipher = EVP_get_cipherbyname(algo);
+ 	if (!cipher) {
+@@ -1109,8 +1113,12 @@ struct uwsgi_legion *uwsgi_legion_register(char *legion, char *addr, char *valor
+ 		exit(1);
+ 	}
+ 
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ 	EVP_CIPHER_CTX *ctx2 = uwsgi_malloc(sizeof(EVP_CIPHER_CTX));
+ 	EVP_CIPHER_CTX_init(ctx2);
++#else
++	EVP_CIPHER_CTX *ctx2 = EVP_CIPHER_CTX_new();
++#endif
+ 
+ 	if (EVP_DecryptInit_ex(ctx2, cipher, NULL, (const unsigned char *) secret, (const unsigned char *) iv) <= 0) {
+ 		uwsgi_error("EVP_DecryptInit_ex()");
+diff --git a/core/ssl.c b/core/ssl.c
+index 89f3a49..29778eb 100644
+--- a/core/ssl.c
++++ b/core/ssl.c
+@@ -14,20 +14,24 @@ set data in it with SSL_CTX_set_ex_data
+ */
+ 
+ void uwsgi_ssl_init(void) {
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+         OPENSSL_config(NULL);
++#endif
+         SSL_library_init();
+         SSL_load_error_strings();
+         OpenSSL_add_all_algorithms();
+         uwsgi.ssl_initialized = 1;
+ }
+ 
+-void uwsgi_ssl_info_cb(SSL const *ssl, int where, int ret) {
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++void uwsgi_ssl_info_cb(const SSL *ssl, int where, int ret) {
+         if (where & SSL_CB_HANDSHAKE_DONE) {
+                 if (ssl->s3) {
+                         ssl->s3->flags |= SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS;
+                 }
+         }
+ }
++#endif
+ 
+ int uwsgi_ssl_verify_callback(int ok, X509_STORE_CTX * x509_store) {
+         if (!ok && uwsgi.ssl_verbose) {
+@@ -44,6 +48,7 @@ int uwsgi_ssl_verify_callback(int ok, X509_STORE_CTX * x509_store) {
+         return ok;
+ }
+ 
++#ifdef UWSGI_SSL_SESSION_CACHE
+ int uwsgi_ssl_session_new_cb(SSL *ssl, SSL_SESSION *sess) {
+         char session_blob[4096];
+         int len = i2d_SSL_SESSION(sess, NULL);
+@@ -68,7 +73,7 @@ int uwsgi_ssl_session_new_cb(SSL *ssl, SSL_SESSION *sess) {
+         return 0;
+ }
+ 
+-SSL_SESSION *uwsgi_ssl_session_get_cb(SSL *ssl, unsigned char *key, int keylen, int *copy) {
++SSL_SESSION *uwsgi_ssl_session_get_cb(SSL *ssl, const unsigned char *key, int keylen, int *copy) {
+ 
+         uint64_t valsize = 0;
+ 
+@@ -100,6 +105,7 @@ void uwsgi_ssl_session_remove_cb(SSL_CTX *ctx, SSL_SESSION *sess) {
+         }
+         uwsgi_rwunlock(uwsgi.ssl_sessions_cache->lock);
+ }
++#endif
+ 
+ #ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME
+ static int uwsgi_sni_cb(SSL *ssl, int *ad, void *arg) {
+@@ -356,7 +362,9 @@ SSL_CTX *uwsgi_ssl_new_server_context(char *name, char *crt, char *key, char *ci
+         }
+ 
+ 
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+         SSL_CTX_set_info_callback(ctx, uwsgi_ssl_info_cb);
++#endif
+ #ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME
+         SSL_CTX_set_tlsext_servername_callback(ctx, uwsgi_sni_cb);
+ #endif
+@@ -364,6 +372,7 @@ SSL_CTX *uwsgi_ssl_new_server_context(char *name, char *crt, char *key, char *ci
+         // disable session caching by default
+         SSL_CTX_set_session_cache_mode(ctx, SSL_SESS_CACHE_OFF);
+ 
++#ifdef UWSGI_SSL_SESSION_CACHE
+ 	if (uwsgi.ssl_sessions_use_cache) {
+ 
+ 		// we need to early initialize locking and caching
+@@ -408,6 +417,7 @@ SSL_CTX *uwsgi_ssl_new_server_context(char *name, char *crt, char *key, char *ci
+                 SSL_CTX_sess_set_get_cb(ctx, uwsgi_ssl_session_get_cb);
+                 SSL_CTX_sess_set_remove_cb(ctx, uwsgi_ssl_session_remove_cb);
+         }
++#endif
+ 
+         SSL_CTX_set_timeout(ctx, uwsgi.ssl_sessions_timeout);
+ 
+diff --git a/core/uwsgi.c b/core/uwsgi.c
+index f0b8aa8..430d8fb 100755
+--- a/core/uwsgi.c
++++ b/core/uwsgi.c
+@@ -693,11 +693,13 @@ static struct uwsgi_option uwsgi_base_options[] = {
+ 	{"snmp-community", required_argument, 0, "set the snmp community string", uwsgi_opt_snmp_community, NULL, 0},
+ #ifdef UWSGI_SSL
+ 	{"ssl-verbose", no_argument, 0, "be verbose about SSL errors", uwsgi_opt_true, &uwsgi.ssl_verbose, 0},
++#if UWSGI_SSL_SESSION_CACHE
+ 	// force master, as ssl sessions caching initialize locking early
+ 	{"ssl-sessions-use-cache", optional_argument, 0, "use uWSGI cache for ssl sessions storage", uwsgi_opt_set_str, &uwsgi.ssl_sessions_use_cache, UWSGI_OPT_MASTER},
+ 	{"ssl-session-use-cache", optional_argument, 0, "use uWSGI cache for ssl sessions storage", uwsgi_opt_set_str, &uwsgi.ssl_sessions_use_cache, UWSGI_OPT_MASTER},
+ 	{"ssl-sessions-timeout", required_argument, 0, "set SSL sessions timeout (default: 300 seconds)", uwsgi_opt_set_int, &uwsgi.ssl_sessions_timeout, 0},
+ 	{"ssl-session-timeout", required_argument, 0, "set SSL sessions timeout (default: 300 seconds)", uwsgi_opt_set_int, &uwsgi.ssl_sessions_timeout, 0},
++#endif
+ 	{"sni", required_argument, 0, "add an SNI-governed SSL context", uwsgi_opt_sni, NULL, 0},
+ 	{"sni-dir", required_argument, 0, "check for cert/key/client_ca file in the specified directory and create a sni/ssl context on demand", uwsgi_opt_set_str, &uwsgi.sni_dir, 0},
+ 	{"sni-dir-ciphers", required_argument, 0, "set ssl ciphers for sni-dir option", uwsgi_opt_set_str, &uwsgi.sni_dir_ciphers, 0},
+diff --git a/plugins/http/spdy3.c b/plugins/http/spdy3.c
+index 858a2fc..8c80f82 100644
+--- a/plugins/http/spdy3.c
++++ b/plugins/http/spdy3.c
+@@ -840,9 +840,11 @@ void uwsgi_spdy_info_cb(SSL const *ssl, int where, int ret) {
+ 				//hr->spdy_hook = hr_recv_spdy_control_frame;
+ 			}
+ 		}
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+                 if (ssl->s3) {
+                         ssl->s3->flags |= SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS;
+                 }
++#endif
+         }
+ }
+ 
+diff --git a/plugins/logcrypto/logcrypto.c b/plugins/logcrypto/logcrypto.c
+index 34417ee..3362fcc 100644
+--- a/plugins/logcrypto/logcrypto.c
++++ b/plugins/logcrypto/logcrypto.c
+@@ -32,8 +32,12 @@ static void uwsgi_crypto_logger_setup_encryption(struct uwsgi_crypto_logger_conf
+                 uwsgi_ssl_init();
+         }
+ 
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+         uclc->encrypt_ctx = uwsgi_malloc(sizeof(EVP_CIPHER_CTX));
+         EVP_CIPHER_CTX_init(uclc->encrypt_ctx);
++#else
++        uclc->encrypt_ctx = EVP_CIPHER_CTX_new();
++#endif
+ 
+         const EVP_CIPHER *cipher = EVP_get_cipherbyname(uclc->algo);
+         if (!cipher) {
+diff --git a/uwsgi.h b/uwsgi.h
+index c5a3f3e..121c3d7 100755
+--- a/uwsgi.h
++++ b/uwsgi.h
+@@ -364,9 +364,13 @@ extern int pivot_root(const char *new_root, const char *put_old);
+ #define UWSGI_CACHE_FLAG_FIXEXPIRE	1 << 9
+ 
+ #ifdef UWSGI_SSL
+-#include "openssl/conf.h"
+-#include "openssl/ssl.h"
++#include <openssl/conf.h>
++#include <openssl/ssl.h>
+ #include <openssl/err.h>
++
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#define UWSGI_SSL_SESSION_CACHE
++#endif
+ #endif
+ 
+ #include <glob.h>

Copied: uwsgi/repos/community-staging-i686/php7.patch (from rev 217916, uwsgi/trunk/php7.patch)
===================================================================
--- community-staging-i686/php7.patch	                        (rev 0)
+++ community-staging-i686/php7.patch	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,169 @@
+From 4d79e13acaf13acdf8f8a84cfa3fdda211f8aa81 Mon Sep 17 00:00:00 2001
+From: Unbit <info at unbit.it>
+Date: Tue, 29 Dec 2015 08:53:19 +0100
+Subject: [PATCH 12/12] official php7 support (beta) #1124
+
+---
+ plugins/php/common.h       |  4 ++++
+ plugins/php/php_plugin.c   | 20 ++++++++++++++++++++
+ plugins/php/session.c      | 19 ++++++++++++++++++-
+ plugins/php/uwsgiplugin.py |  4 +++-
+ 4 files changed, 45 insertions(+), 2 deletions(-)
+
+diff --git a/plugins/php/common.h b/plugins/php/common.h
+index 8c1ed13..9bf1c06 100644
+--- a/plugins/php/common.h
++++ b/plugins/php/common.h
+@@ -3,7 +3,11 @@
+ #include "php_main.h"
+ #include "php_variables.h"
+ 
++#if (PHP_MAJOR_VERSION < 7)
+ #include "ext/standard/php_smart_str.h"
++#else
++#define UWSGI_PHP7
++#endif
+ #include "ext/standard/info.h"
+ 
+ #include "ext/session/php_session.h"
+diff --git a/plugins/php/php_plugin.c b/plugins/php/php_plugin.c
+index b1b6f7a..6d9e952 100644
+--- a/plugins/php/php_plugin.c
++++ b/plugins/php/php_plugin.c
+@@ -65,7 +65,11 @@ struct uwsgi_option uwsgi_php_options[] = {
+ };
+ 
+ 
++#ifdef UWSGI_PHP7
++static size_t sapi_uwsgi_ub_write(const char *str, size_t str_length TSRMLS_DC)
++#else
+ static int sapi_uwsgi_ub_write(const char *str, uint str_length TSRMLS_DC)
++#endif
+ {
+ 	struct wsgi_request *wsgi_req = (struct wsgi_request *) SG(server_context);
+ 
+@@ -111,7 +115,11 @@ static int sapi_uwsgi_send_headers(sapi_headers_struct *sapi_headers TSRMLS_DC)
+ 	return SAPI_HEADER_SENT_SUCCESSFULLY;
+ }
+ 
++#ifdef UWSGI_PHP7
++static size_t sapi_uwsgi_read_post(char *buffer, size_t count_bytes TSRMLS_DC)
++#else
+ static int sapi_uwsgi_read_post(char *buffer, uint count_bytes TSRMLS_DC)
++#endif
+ {
+ 	uint read_bytes = 0;
+ 	
+@@ -235,7 +243,11 @@ PHP_MINIT_FUNCTION(uwsgi_php_minit) {
+ }
+ 
+ PHP_FUNCTION(uwsgi_version) {
++#ifdef UWSGI_PHP7
++	RETURN_STRING(UWSGI_VERSION);
++#else
+ 	RETURN_STRING(UWSGI_VERSION, 1);
++#endif
+ }
+ 
+ PHP_FUNCTION(uwsgi_worker_id) {
+@@ -321,7 +333,11 @@ PHP_FUNCTION(uwsgi_cache_get) {
+ 	if (value) {
+ 		char *ret = estrndup(value, valsize);
+ 		free(value);
++#ifdef UWSGI_PHP7
++		RETURN_STRING(ret);
++#else
+ 		RETURN_STRING(ret, 0);
++#endif
+ 	}
+ 	RETURN_NULL();
+ }
+@@ -425,7 +441,11 @@ PHP_FUNCTION(uwsgi_rpc) {
+ 		// here we do not free varargs for performance reasons
+ 		char *ret = estrndup(response, size);
+ 		free(response);
++#ifdef UWSGI_PHP7
++		RETURN_STRING(ret);
++#else
+ 		RETURN_STRING(ret, 0);
++#endif
+         }
+ 
+ clear:
+diff --git a/plugins/php/session.c b/plugins/php/session.c
+index 40f9ef7..2312b6b 100644
+--- a/plugins/php/session.c
++++ b/plugins/php/session.c
+@@ -12,21 +12,34 @@ PS_CLOSE_FUNC(uwsgi) {
+ PS_READ_FUNC(uwsgi) {
+ 	char *cache = PS_GET_MOD_DATA();
+ 	uint64_t valsize = 0;
+-	char *value = uwsgi_cache_magic_get((char *)key, strlen(key), &valsize, NULL, cache);
++#ifdef UWSGI_PHP7
++	char *value = uwsgi_cache_magic_get(key->val, key->len , &valsize, NULL, cache);
++#else
++	char *value = uwsgi_cache_magic_get((char *)key, strlen((char *)key), &valsize, NULL, cache);
++#endif
+         if (!value) return FAILURE;
++#ifdef UWSGI_PHP7
++	*val = zend_string_init(value, valsize, 0);
++#else
+ 	char *new_val = emalloc(valsize);
+ 	memcpy(new_val, value, valsize);
+ 	free(value);
+ 	*val = new_val;
+ 	*vallen = valsize;
++#endif
+ 	return SUCCESS;
+ 	
+ }
+ 
+ PS_WRITE_FUNC(uwsgi) {
+ 	char *cache = PS_GET_MOD_DATA();
++#ifdef UWSGI_PHP7
++	if (val->len == 0) return SUCCESS;
++	if (!uwsgi_cache_magic_set(key->val, key->len, val->val, val->len, 0, UWSGI_CACHE_FLAG_UPDATE, cache)) {
++#else
+ 	if (vallen == 0) return SUCCESS;
+ 	if (!uwsgi_cache_magic_set((char *)key, strlen(key), (char *)val, vallen, 0, UWSGI_CACHE_FLAG_UPDATE, cache)) {
++#endif
+ 		return SUCCESS;	
+ 	}
+ 	return FAILURE;
+@@ -34,7 +47,11 @@ PS_WRITE_FUNC(uwsgi) {
+ 
+ PS_DESTROY_FUNC(uwsgi) {
+ 	char *cache = PS_GET_MOD_DATA();
++#ifdef UWSGI_PHP7
++	if (!uwsgi_cache_magic_del(key->val, key->len, cache)) {
++#else
+ 	if (!uwsgi_cache_magic_del((char *)key, strlen(key), cache)) {
++#endif
+ 		return SUCCESS;
+ 	}
+ 	return FAILURE;
+diff --git a/plugins/php/uwsgiplugin.py b/plugins/php/uwsgiplugin.py
+index e7ce425..45c58e5 100644
+--- a/plugins/php/uwsgiplugin.py
++++ b/plugins/php/uwsgiplugin.py
+@@ -12,6 +12,8 @@ if phpdir:
+ 
+ PHPPATH = os.environ.get('UWSGICONFIG_PHPPATH', PHPPATH)
+ 
++php_version = os.popen(PHPPATH + ' --version').read().rstrip().split('.')[0]
++
+ CFLAGS = [os.popen(PHPPATH + ' --includes').read().rstrip(), '-Wno-sign-compare']
+ LDFLAGS = os.popen(PHPPATH + ' --ldflags').read().rstrip().split()
+ 
+@@ -19,7 +21,7 @@ if ld_run_path:
+     LDFLAGS.append('-L%s' % ld_run_path)
+     os.environ['LD_RUN_PATH'] = ld_run_path
+ 
+-LIBS = [os.popen(PHPPATH + ' --libs').read().rstrip(), '-lphp5']
++LIBS = [os.popen(PHPPATH + ' --libs').read().rstrip(), '-lphp' + php_version]
+ 
+ phplibdir = os.environ.get('UWSGICONFIG_PHPLIBDIR')
+ if phplibdir:
+-- 
+2.6.4
+

Copied: uwsgi/repos/community-staging-i686/tmpfilesd (from rev 217916, uwsgi/trunk/tmpfilesd)
===================================================================
--- community-staging-i686/tmpfilesd	                        (rev 0)
+++ community-staging-i686/tmpfilesd	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1 @@
+d /run/uwsgi 0775 root http - - 

Copied: uwsgi/repos/community-staging-i686/uwsgi.install (from rev 217916, uwsgi/trunk/uwsgi.install)
===================================================================
--- community-staging-i686/uwsgi.install	                        (rev 0)
+++ community-staging-i686/uwsgi.install	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,12 @@
+post_install(){
+    command -v systemd-tmpfiles && systemd-tmpfiles --create /usr/lib/tmpfiles.d/uwsgi.conf
+}
+post_update(){
+    echo "To use uwsgi at .socket and uwsgi at .service:"
+    echo "\tAll you need to do is put the name of your .ini file after the @ sign"
+    echo "\tYou can use either the .socket or .service, but if you use the .socket"
+    echo "\tuwsgi@<sameinifile>.service won't be started until the first time your http"
+    echo "\tserver touches the socket. You will also not need to specify the socket in"
+    echo "\tthe .ini file or in the .service file.  Systemd will handle listening to"
+    echo "\tthe socket for you."
+}

Copied: uwsgi/repos/community-staging-i686/uwsgi.logrotate (from rev 217916, uwsgi/trunk/uwsgi.logrotate)
===================================================================
--- community-staging-i686/uwsgi.logrotate	                        (rev 0)
+++ community-staging-i686/uwsgi.logrotate	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,9 @@
+/var/log/uwsgi/*.log /var/log/uwsgi/*/*.log {
+  copytruncate
+  daily
+  rotate 7
+  compress
+  delaycompress
+  missingok
+  notifempty
+}

Copied: uwsgi/repos/community-staging-i686/uwsgi_at.service (from rev 217916, uwsgi/trunk/uwsgi_at.service)
===================================================================
--- community-staging-i686/uwsgi_at.service	                        (rev 0)
+++ community-staging-i686/uwsgi_at.service	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,16 @@
+[Unit]
+Description=uWSGI service unit
+After=syslog.target
+
+[Service]
+ExecStart=/usr/bin/uwsgi --ini /etc/uwsgi/%I.ini
+ExecReload=/bin/kill -HUP $MAINPID
+ExecStop=/bin/kill -INT $MAINPID
+Restart=always
+Type=notify
+StandardError=syslog
+NotifyAccess=all
+KillSignal=SIGQUIT
+
+[Install]
+WantedBy=multi-user.target

Copied: uwsgi/repos/community-staging-i686/uwsgi_at.socket (from rev 217916, uwsgi/trunk/uwsgi_at.socket)
===================================================================
--- community-staging-i686/uwsgi_at.socket	                        (rev 0)
+++ community-staging-i686/uwsgi_at.socket	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,9 @@
+[Unit]
+Description=Socket for uWSGI %I
+
+[Socket]
+# Change this to your uwsgi application port or unix socket location
+ListenStream=/run/uwsgi/%I.sock
+
+[Install]
+WantedBy=sockets.target

Copied: uwsgi/repos/community-staging-i686/uwsgi_fix_rpath.patch (from rev 217916, uwsgi/trunk/uwsgi_fix_rpath.patch)
===================================================================
--- community-staging-i686/uwsgi_fix_rpath.patch	                        (rev 0)
+++ community-staging-i686/uwsgi_fix_rpath.patch	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,66 @@
+diff --git a/plugins/jvm/uwsgiplugin.py b/plugins/jvm/uwsgiplugin.py
+index ac7eb3e..0911288 100644
+--- a/plugins/jvm/uwsgiplugin.py
++++ b/plugins/jvm/uwsgiplugin.py
+@@ -59,11 +59,6 @@ if "-framework JavaVM" in JVM_LIBPATH:
+ 
+ GCC_LIST = ['jvm_plugin']
+ 
+-if 'LD_RUN_PATH' in os.environ:
+-    os.environ['LD_RUN_PATH'] += ':' + JVM_LIBPATH[0][2:]
+-else:
+-    os.environ['LD_RUN_PATH'] = JVM_LIBPATH[0][2:]
+-
+ def post_build(config):
+     if os.system("javac %s/plugins/jvm/uwsgi.java" % os.getcwd()) != 0:
+         os._exit(1)
+diff --git a/plugins/php/uwsgiplugin.py b/plugins/php/uwsgiplugin.py
+index fb9e5bb..fd12c91 100644
+--- a/plugins/php/uwsgiplugin.py
++++ b/plugins/php/uwsgiplugin.py
+@@ -22,7 +22,6 @@ CFLAGS = [os.popen(PHPPATH + ' --includes').read().rstrip(), '-Wno-error=sign-co
+ LDFLAGS = os.popen(PHPPATH + ' --ldflags').read().rstrip().split()
+ if ld_run_path:
+     LDFLAGS.append('-L%s' % ld_run_path)
+-    os.environ['LD_RUN_PATH'] = ld_run_path
+ 
+ LIBS = [os.popen(PHPPATH + ' --libs').read().rstrip(), '-lphp5']
+ 
+diff --git a/plugins/python/uwsgiplugin.py b/plugins/python/uwsgiplugin.py
+index c4f03e1..8d4b2e0 100644
+--- a/plugins/python/uwsgiplugin.py
++++ b/plugins/python/uwsgiplugin.py
+@@ -45,10 +45,8 @@ if not 'UWSGI_PYTHON_NOLIB' in os.environ:
+     else:
+         try:
+             LDFLAGS.append("-L%s" % sysconfig.get_config_var('LIBDIR'))
+-            os.environ['LD_RUN_PATH'] = "%s" % (sysconfig.get_config_var('LIBDIR'))
+         except:
+             LDFLAGS.append("-L%s/lib" % sysconfig.PREFIX)
+-            os.environ['LD_RUN_PATH'] = "%s/lib" % sysconfig.PREFIX
+ 
+         LIBS.append('-lpython%s' % get_python_version())
+ else:
+diff --git a/plugins/rack/uwsgiplugin.py b/plugins/rack/uwsgiplugin.py
+index 8dee214..2375bc9 100644
+--- a/plugins/rack/uwsgiplugin.py
++++ b/plugins/rack/uwsgiplugin.py
+@@ -44,7 +44,6 @@ LIBS = os.popen(RUBYPATH + " -e \"require 'rbconfig';print %s::CONFIG['LIBS']\""
+ 
+ if has_shared == 'yes':
+     LDFLAGS.append('-L' + libpath )
+-    os.environ['LD_RUN_PATH'] = libpath
+     LIBS.append(os.popen(RUBYPATH + " -e \"require 'rbconfig';print '-l' + %s::CONFIG['RUBY_SO_NAME']\"" % rbconfig).read().rstrip())
+ else:
+     GCC_LIST.append("%s/%s" % (libpath, os.popen(RUBYPATH + " -e \"require 'rbconfig';print %s::CONFIG['LIBRUBY_A']\"" % rbconfig).read().rstrip()))
+diff --git a/plugins/ruby19/uwsgiplugin.py b/plugins/ruby19/uwsgiplugin.py
+index ecea48d..4f35984 100644
+--- a/plugins/ruby19/uwsgiplugin.py
++++ b/plugins/ruby19/uwsgiplugin.py
+@@ -40,6 +40,5 @@ LDFLAGS = os.popen(RUBYPATH + " -e \"require 'rbconfig';print %s::CONFIG['LDFLAG
+ 
+ libpath = os.popen(RUBYPATH + " -e \"require 'rbconfig';print %s::CONFIG['libdir']\"" % rbconfig).read().rstrip()
+ LDFLAGS.append('-L' + libpath )
+-os.environ['LD_RUN_PATH'] = libpath
+ LIBS = os.popen(RUBYPATH + " -e \"require 'rbconfig';print '-l' + %s::CONFIG['RUBY_SO_NAME']\"" % rbconfig).read().rstrip().split()
+ 

Copied: uwsgi/repos/community-staging-i686/uwsgi_php_7.1.patch (from rev 217916, uwsgi/trunk/uwsgi_php_7.1.patch)
===================================================================
--- community-staging-i686/uwsgi_php_7.1.patch	                        (rev 0)
+++ community-staging-i686/uwsgi_php_7.1.patch	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,30 @@
+From 03dc7e49433defbe47b0c900c86b0968eeda174c Mon Sep 17 00:00:00 2001
+From: Damjan Georgievski <gdamjan at gmail.com>
+Date: Tue, 10 Jan 2017 01:20:25 +0100
+Subject: [PATCH] fix compilation with php 7.1
+
+php 7.1 changed the signature of the log_message function in
+sapi_module_struct. Let's assume it will stay like this for all versions >= 7.1
+
+fixes #1427
+---
+ plugins/php/php_plugin.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/plugins/php/php_plugin.c b/plugins/php/php_plugin.c
+index 7440d55..78d980f 100644
+--- a/plugins/php/php_plugin.c
++++ b/plugins/php/php_plugin.c
+@@ -568,8 +568,11 @@ static int php_uwsgi_startup(sapi_module_struct *sapi_module)
+ 	}
+ }
+ 
++#if ((PHP_MAJOR_VERSION >= 7) && (PHP_MINOR_VERSION >= 1))
++static void sapi_uwsgi_log_message(char *message, int syslog_type_int) {
++#else
+ static void sapi_uwsgi_log_message(char *message TSRMLS_DC) {
+-
++#endif
+ 	uwsgi_log("%s\n", message);
+ }
+ 

Copied: uwsgi/repos/community-staging-i686/uwsgi_ruby20_compatibility.patch (from rev 217916, uwsgi/trunk/uwsgi_ruby20_compatibility.patch)
===================================================================
--- community-staging-i686/uwsgi_ruby20_compatibility.patch	                        (rev 0)
+++ community-staging-i686/uwsgi_ruby20_compatibility.patch	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,42 @@
+diff --git a/plugins/rack/uwsgiplugin.py b/plugins/rack/uwsgiplugin.py
+index 2375bc9..b908417 100644
+--- a/plugins/rack/uwsgiplugin.py
++++ b/plugins/rack/uwsgiplugin.py
+@@ -10,13 +10,14 @@ except:
+ rbconfig = 'Config'
+ 
+ version = os.popen(RUBYPATH + " -e \"print RUBY_VERSION\"").read().rstrip()
+-v = version.split('.')
+ 
+ GCC_LIST = ['rack_plugin', 'rack_api']
+ 
+-if (v[0] == '1' and v[1] == '9') or v[0] >= '2':
++if version >= '1.9':
+     CFLAGS = os.popen(RUBYPATH + " -e \"require 'rbconfig';print RbConfig::CONFIG['CFLAGS']\"").read().rstrip().split()
+     CFLAGS.append('-DRUBY19')
++    if version >= '2.0':
++        CFLAGS.append('-DRUBY20')
+     CFLAGS.append('-Wno-unused-parameter')
+     rbconfig = 'RbConfig'	 
+ else:
+diff --git a/plugins/ruby19/uwsgiplugin.py b/plugins/ruby19/uwsgiplugin.py
+index 4f35984..156018f 100644
+--- a/plugins/ruby19/uwsgiplugin.py
++++ b/plugins/ruby19/uwsgiplugin.py
+@@ -10,13 +10,14 @@ except:
+ rbconfig = 'Config'
+ 
+ version = os.popen(RUBYPATH + " -e \"print RUBY_VERSION\"").read().rstrip()
+-v = version.split('.')
+ 
+ GCC_LIST = ['../rack/rack_plugin', '../rack/rack_api']
+ 
+-if v[0] == '1' and v[1] == '9':
++if version >= '1.9':
+     CFLAGS = os.popen(RUBYPATH + " -e \"require 'rbconfig';print RbConfig::CONFIG['CFLAGS']\"").read().rstrip().split()
+     CFLAGS.append('-DRUBY19')
++    if version >= '2.0':
++        CFLAGS.append('-DRUBY20')
+     CFLAGS.append('-Wno-unused-parameter')
+     rbconfig = 'RbConfig'	 
+ else:

Copied: uwsgi/repos/community-staging-i686/uwsgi_trick_chroot.patch (from rev 217916, uwsgi/trunk/uwsgi_trick_chroot.patch)
===================================================================
--- community-staging-i686/uwsgi_trick_chroot.patch	                        (rev 0)
+++ community-staging-i686/uwsgi_trick_chroot.patch	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,16 @@
+diff --git a/uwsgiconfig.py b/uwsgiconfig.py
+index e447123..4d55f2c 100644
+--- a/uwsgiconfig.py
++++ b/uwsgiconfig.py
+@@ -1129,10 +1129,7 @@ def build_plugin(path, uc, cflags, ldflags, libs, name = None):
+     except:
+         pass
+ 
+-    if uc:
+-        plugin_dest = uc.get('plugin_build_dir', uc.get('plugin_dir')) + '/' + name + '_plugin'
+-    else:
+-        plugin_dest = name + '_plugin'
++    plugin_dest = name + '_plugin'
+ 
+     shared_flag = '-shared'
+ 

Copied: uwsgi/repos/community-staging-x86_64/PKGBUILD (from rev 217916, uwsgi/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,211 @@
+# $Id$
+# Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com>
+# Maintainer: Sven-Hendrik Haase <sh at lutzhaase.com>
+# Contributor: Valentin Hăloiu <vially.ichb+aur at gmail.com>
+# Contributor: Angel Velasquez <angvp at archlinux.org>
+# Contributor: Kevin Zuber <uKev at knet.eu>
+# Contributor: Vsevolod Balashov <vsevolod at balashov.name>
+# Contributor: David Runge <dave at sleepmap.de>
+
+pkgbase=uwsgi
+pkgname=(uwsgi
+         uwsgi-plugin-rack
+         uwsgi-plugin-psgi
+         uwsgi-plugin-cgi
+         uwsgi-plugin-python2
+         uwsgi-plugin-python
+         uwsgi-plugin-pypy
+         uwsgi-plugin-php
+         uwsgi-plugin-lua51
+         uwsgi-plugin-jvm
+         uwsgi-plugin-mono
+         uwsgi-plugin-webdav
+         mod_proxy_uwsgi)
+pkgver=2.0.14
+pkgrel=9
+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 pypy mono python2-gevent apache)
+optdepends=('systemd: daemon scripts')
+source=("https://projects.unbit.it/downloads/$pkgbase-$pkgver.tar.gz"
+        uwsgiplugin.py::https://raw.githubusercontent.com/unbit/uwsgi/9787f6882c2475aa9873e400988160b17dd04545/plugins/systemd_logger/uwsgiplugin.py
+        archlinux.ini
+        tmpfilesd
+        uwsgi_at.service
+        uwsgi_at.socket
+        uwsgi_ruby20_compatibility.patch
+        uwsgi_trick_chroot.patch
+        uwsgi_php_7.1.patch
+        emperor.ini
+        emperor.uwsgi.service
+        emperor.uwsgi.socket
+        uwsgi.logrotate
+        openssl-1.1-4b1659c8bd0b945a1a48f7c6ac62291be3bf8bc8.patch)
+sha512sums=('cf557ba27cb1c28e784e8909043bca874cd56846aa9ebaf1ff229191ad20484e467147a6ea7cc629399d4afd6e4ac4479b2f6827729df04321eef4bf842b9e42'
+            '68eef703de39cb336915e1e9c36b11c65c2d46482407b0234ca245df0e052952abb7dd85b0a1cd4507c78356a3b7a55424524b3aa0997b559b51e7b20eab5e16'
+            'acfe9fb089d1905c3d736dbeaaef7eb1848b4ce8d1f585de653086cf7f90c166a1e493d0b62ba030a4bcf2eca9c919e0d6deea2ea1c0bcb8533d7cb040d2f67c'
+            '4def9dcd06cfc2c6ce554add9d9545a01f3bb2681f0a2a6fc4ba68f91011111803a955cc41b5e70832ca448b196109368fdf874e81b7ec0edee4b51f864e16f7'
+            'c0c1a5c2d31cdb7e0dc878ea3d0b6025532fb640ae7cf4d5f1eed2f89987e625c8dc7844d367283ed560fb3ef37915e3e9199be2e1b06fc4586ca862a653b4b5'
+            'fb51a4d102a1bc7d9f7d4c4f310ee65076bcfbc94b47e2dafdf9b20e99a661c5f938185dcf698437d81409376f0276b966f09b13c8a29462c48612df43c3f3ef'
+            '162ca1be96282b32e8e6be919b6315bfd08954c491056958985bf99e7f5bdad3511665f059329d6cb6ef5d222f9aa11d4dc43c72e6a963ab941ada959fe8d964'
+            'bc30f8ec69abd14fb96ada5b36cf65811a7a63ee27e224fcb6ceabe9935c1f17379cd872149a17da3d590b8ff60fbe7f77140d777aaf06e25e83388f897f611d'
+            'f973136c51ec0847ac6b3c3eb6ad45a1d137ada69e79a966ea92076ce29166b1f0b92b83d10b18153e48772a22c4b67a52a9e6c55a966c00f0cd0db644bb829f'
+            '41cc29ea14ca87749959379ead773d9a3a499c6bc7be17800e06e33c998a929ae855c9ad0fe2039e26a034c24d2845833945333442b98d7c6f0924aa2a036b1b'
+            '83a6859d729bf186236aaa7fb7433415f6b985f17e05b7ac571d8919bbf1fb9bd577b4f673d9787dea09752e3d8043f47ce3d9c7d5690faaa1365e477e6c9388'
+            '592c85270f43b37e9c51aae126533830515b96fff9fcae969ee865fe173bd0550c7729530d5ff1e44ffee43cd5c78c96688ce091c677a4196379e24983c0180e'
+            'f7f6f4a6e55ba770022dca068723be8fabe50074ea34384ddb3d876f96d279d0890c7d8d624b3cfe62be43e1eab588e072bd4bb3d3d1cd4ef966b317461b80c5'
+            '9985fca2c458d27b49db237628149cabfc9ac589df595eeb5540ef691bc4d3cc5dd73e98956b1e0f139222eba8a1c23d2d8c82473cb3eee64159dc47f4684534')
+
+prepare() {
+    cd $srcdir/$pkgbase-$pkgver
+    cp $srcdir/archlinux.ini buildconf/archlinux.ini
+    for patch in uwsgi_ruby20_compatibility.patch uwsgi_trick_chroot.patch uwsgi_php_7.1.patch openssl-1.1-4b1659c8bd0b945a1a48f7c6ac62291be3bf8bc8.patch; do
+        msg2 "Applying $patch"
+        patch -Np1 -i $srcdir/$patch
+    done
+    rm -rf plugins/ruby
+    mv plugins/ruby{19,}
+    sed -i 's:\(ruby\)19:\1:' plugins/ruby/uwsgiplugin.py
+
+    sed -i 's/--cflags mono-2/--cflags mono-2 glib-2.0/g' plugins/mono/uwsgiplugin.py
+
+    cp $srcdir/uwsgiplugin.py plugins/systemd_logger/uwsgiplugin.py
+}
+
+build() {
+    pushd $srcdir/$pkgbase-$pkgver
+
+    export UWSGICONFIG_LUAPC='lua51'
+
+    python uwsgiconfig.py --build archlinux
+    python uwsgiconfig.py --plugin plugins/python archlinux python
+    python uwsgiconfig.py --plugin plugins/greenlet archlinux greenlet
+    python uwsgiconfig.py --plugin plugins/gevent archlinux gevent
+    python uwsgiconfig.py --plugin plugins/asyncio archlinux asyncio
+    python2 uwsgiconfig.py --plugin plugins/python archlinux python2
+    python2 uwsgiconfig.py --plugin plugins/greenlet archlinux greenlet2
+    python2 uwsgiconfig.py --plugin plugins/gevent archlinux gevent2
+    python2 uwsgiconfig.py --plugin plugins/pypy archlinux pypy
+
+    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 libsystemd libcap pam pcre)
+    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 at .service
+    install -Dm644 $srcdir/uwsgi_at.socket $pkgdir/usr/lib/systemd/system/uwsgi at .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
+    install -Dm644 $srcdir/uwsgi.logrotate $pkgdir/etc/logrotate.d/uwsgi
+}
+
+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
+# template start; name=perl-binary-module-dependency; version=1;
+if [[ $(find "$pkgdir/usr/lib/perl5/" -name "*.so") ]]; then
+	_perlver_min=$(perl -e '$v = $^V->{version}; print $v->[0].".".($v->[1]);')
+	_perlver_max=$(perl -e '$v = $^V->{version}; print $v->[0].".".($v->[1]+1);')
+	depends+=("perl>=$_perlver_min" "perl<$_perlver_max")
+fi
+# template end;
+}
+
+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 -Dm755 $pkgbase-$pkgver/gevent_plugin.so $pkgdir/usr/lib/uwsgi/gevent_plugin.so
+    install -Dm755 $pkgbase-$pkgver/asyncio_plugin.so $pkgdir/usr/lib/uwsgi/asyncio_plugin.so
+    install -Dm644 $pkgbase-$pkgver/uwsgidecorators.py $pkgdir/usr/lib/python3.6/site-packages/uwsgidecorators.py
+    python -m compileall $pkgdir/usr/lib/python3.6/site-packages/
+    python -O -m compileall $pkgdir/usr/lib/python3.6/site-packages/
+}
+
+package_uwsgi-plugin-pypy() {
+    depends=(uwsgi pypy)
+    pkgdesc="Plugin for PyPy support"
+    install -Dm755 $pkgbase-$pkgver/pypy_plugin.so $pkgdir/usr/lib/uwsgi/pypy_plugin.so
+    install -Dm644 $pkgbase-$pkgver/uwsgidecorators.py $pkgdir/opt/pypy/site-packages/uwsgidecorators.py
+    pypy -m compileall $pkgdir/opt/pypy/site-packages/
+    pypy -O -m compileall $pkgdir/opt/pypy/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_uwsgi-plugin-webdav() {
+    depends=(uwsgi)
+    pkgdesc="Plugin for webdav support"
+    install -Dm755 $pkgbase-$pkgver/webdav_plugin.so $pkgdir/usr/lib/uwsgi/webdav_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
+}

Copied: uwsgi/repos/community-staging-x86_64/archlinux.ini (from rev 217916, uwsgi/trunk/archlinux.ini)
===================================================================
--- community-staging-x86_64/archlinux.ini	                        (rev 0)
+++ community-staging-x86_64/archlinux.ini	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,5 @@
+[uwsgi]
+plugin_dir = /usr/lib/uwsgi
+plugins = rack, rbthreads, fiber, psgi, lua, php, jvm, mono, cgi, webdav
+main_plugin = systemd_logger,pam
+inherit = base

Copied: uwsgi/repos/community-staging-x86_64/emperor.ini (from rev 217916, uwsgi/trunk/emperor.ini)
===================================================================
--- community-staging-x86_64/emperor.ini	                        (rev 0)
+++ community-staging-x86_64/emperor.ini	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,4 @@
+[uwsgi]
+emperor = /etc/uwsgi/vassals
+uid = http
+gid = http

Copied: uwsgi/repos/community-staging-x86_64/emperor.uwsgi.service (from rev 217916, uwsgi/trunk/emperor.uwsgi.service)
===================================================================
--- community-staging-x86_64/emperor.uwsgi.service	                        (rev 0)
+++ community-staging-x86_64/emperor.uwsgi.service	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,16 @@
+[Unit]
+Description=uWSGI Emperor
+After=syslog.target
+
+[Service]
+ExecStart=/usr/bin/uwsgi --ini /etc/uwsgi/emperor.ini
+ExecReload=/bin/kill -HUP $MAINPID
+ExecStop=/bin/kill -INT $MAINPID
+Restart=always
+Type=notify
+StandardError=syslog
+NotifyAccess=all
+KillSignal=SIGQUIT
+
+[Install]
+WantedBy=multi-user.target

Copied: uwsgi/repos/community-staging-x86_64/emperor.uwsgi.socket (from rev 217916, uwsgi/trunk/emperor.uwsgi.socket)
===================================================================
--- community-staging-x86_64/emperor.uwsgi.socket	                        (rev 0)
+++ community-staging-x86_64/emperor.uwsgi.socket	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,9 @@
+[Unit]
+Description=Socket for uWSGI Emperor
+
+[Socket]
+# Change this to your uwsgi application port or unix socket location
+ListenStream=/run/uwsgi/emperor.sock
+
+[Install]
+WantedBy=sockets.target

Copied: uwsgi/repos/community-staging-x86_64/openssl-1.1-4b1659c8bd0b945a1a48f7c6ac62291be3bf8bc8.patch (from rev 217916, uwsgi/trunk/openssl-1.1-4b1659c8bd0b945a1a48f7c6ac62291be3bf8bc8.patch)
===================================================================
--- community-staging-x86_64/openssl-1.1-4b1659c8bd0b945a1a48f7c6ac62291be3bf8bc8.patch	                        (rev 0)
+++ community-staging-x86_64/openssl-1.1-4b1659c8bd0b945a1a48f7c6ac62291be3bf8bc8.patch	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,201 @@
+From 4b1659c8bd0b945a1a48f7c6ac62291be3bf8bc8 Mon Sep 17 00:00:00 2001
+From: Riccardo Magliocchetti <riccardo.magliocchetti at gmail.com>
+Date: Sun, 6 Nov 2016 14:36:32 +0100
+Subject: [PATCH] Cope with openssl 1.1 API changes
+
+Since OpenSSL 1.1.0 made some structs opaque and this we cannot
+poke with the internals anymore. Because of that we have to
+disable the ssl session cache.
+
+Ref #1395
+---
+ core/legion.c                 |  8 ++++++++
+ core/ssl.c                    | 14 ++++++++++++--
+ core/uwsgi.c                  |  2 ++
+ plugins/http/spdy3.c          |  2 ++
+ plugins/logcrypto/logcrypto.c |  4 ++++
+ uwsgi.h                       |  8 ++++++--
+ 6 files changed, 34 insertions(+), 4 deletions(-)
+
+diff --git a/core/legion.c b/core/legion.c
+index da24158..c2bff5a 100644
+--- a/core/legion.c
++++ b/core/legion.c
+@@ -1074,8 +1074,12 @@ struct uwsgi_legion *uwsgi_legion_register(char *legion, char *addr, char *valor
+ 		uwsgi_ssl_init();
+ 	}
+ 
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ 	EVP_CIPHER_CTX *ctx = uwsgi_malloc(sizeof(EVP_CIPHER_CTX));
+ 	EVP_CIPHER_CTX_init(ctx);
++#else
++	EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new();
++#endif
+ 
+ 	const EVP_CIPHER *cipher = EVP_get_cipherbyname(algo);
+ 	if (!cipher) {
+@@ -1109,8 +1113,12 @@ struct uwsgi_legion *uwsgi_legion_register(char *legion, char *addr, char *valor
+ 		exit(1);
+ 	}
+ 
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ 	EVP_CIPHER_CTX *ctx2 = uwsgi_malloc(sizeof(EVP_CIPHER_CTX));
+ 	EVP_CIPHER_CTX_init(ctx2);
++#else
++	EVP_CIPHER_CTX *ctx2 = EVP_CIPHER_CTX_new();
++#endif
+ 
+ 	if (EVP_DecryptInit_ex(ctx2, cipher, NULL, (const unsigned char *) secret, (const unsigned char *) iv) <= 0) {
+ 		uwsgi_error("EVP_DecryptInit_ex()");
+diff --git a/core/ssl.c b/core/ssl.c
+index 89f3a49..29778eb 100644
+--- a/core/ssl.c
++++ b/core/ssl.c
+@@ -14,20 +14,24 @@ set data in it with SSL_CTX_set_ex_data
+ */
+ 
+ void uwsgi_ssl_init(void) {
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+         OPENSSL_config(NULL);
++#endif
+         SSL_library_init();
+         SSL_load_error_strings();
+         OpenSSL_add_all_algorithms();
+         uwsgi.ssl_initialized = 1;
+ }
+ 
+-void uwsgi_ssl_info_cb(SSL const *ssl, int where, int ret) {
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++void uwsgi_ssl_info_cb(const SSL *ssl, int where, int ret) {
+         if (where & SSL_CB_HANDSHAKE_DONE) {
+                 if (ssl->s3) {
+                         ssl->s3->flags |= SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS;
+                 }
+         }
+ }
++#endif
+ 
+ int uwsgi_ssl_verify_callback(int ok, X509_STORE_CTX * x509_store) {
+         if (!ok && uwsgi.ssl_verbose) {
+@@ -44,6 +48,7 @@ int uwsgi_ssl_verify_callback(int ok, X509_STORE_CTX * x509_store) {
+         return ok;
+ }
+ 
++#ifdef UWSGI_SSL_SESSION_CACHE
+ int uwsgi_ssl_session_new_cb(SSL *ssl, SSL_SESSION *sess) {
+         char session_blob[4096];
+         int len = i2d_SSL_SESSION(sess, NULL);
+@@ -68,7 +73,7 @@ int uwsgi_ssl_session_new_cb(SSL *ssl, SSL_SESSION *sess) {
+         return 0;
+ }
+ 
+-SSL_SESSION *uwsgi_ssl_session_get_cb(SSL *ssl, unsigned char *key, int keylen, int *copy) {
++SSL_SESSION *uwsgi_ssl_session_get_cb(SSL *ssl, const unsigned char *key, int keylen, int *copy) {
+ 
+         uint64_t valsize = 0;
+ 
+@@ -100,6 +105,7 @@ void uwsgi_ssl_session_remove_cb(SSL_CTX *ctx, SSL_SESSION *sess) {
+         }
+         uwsgi_rwunlock(uwsgi.ssl_sessions_cache->lock);
+ }
++#endif
+ 
+ #ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME
+ static int uwsgi_sni_cb(SSL *ssl, int *ad, void *arg) {
+@@ -356,7 +362,9 @@ SSL_CTX *uwsgi_ssl_new_server_context(char *name, char *crt, char *key, char *ci
+         }
+ 
+ 
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+         SSL_CTX_set_info_callback(ctx, uwsgi_ssl_info_cb);
++#endif
+ #ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME
+         SSL_CTX_set_tlsext_servername_callback(ctx, uwsgi_sni_cb);
+ #endif
+@@ -364,6 +372,7 @@ SSL_CTX *uwsgi_ssl_new_server_context(char *name, char *crt, char *key, char *ci
+         // disable session caching by default
+         SSL_CTX_set_session_cache_mode(ctx, SSL_SESS_CACHE_OFF);
+ 
++#ifdef UWSGI_SSL_SESSION_CACHE
+ 	if (uwsgi.ssl_sessions_use_cache) {
+ 
+ 		// we need to early initialize locking and caching
+@@ -408,6 +417,7 @@ SSL_CTX *uwsgi_ssl_new_server_context(char *name, char *crt, char *key, char *ci
+                 SSL_CTX_sess_set_get_cb(ctx, uwsgi_ssl_session_get_cb);
+                 SSL_CTX_sess_set_remove_cb(ctx, uwsgi_ssl_session_remove_cb);
+         }
++#endif
+ 
+         SSL_CTX_set_timeout(ctx, uwsgi.ssl_sessions_timeout);
+ 
+diff --git a/core/uwsgi.c b/core/uwsgi.c
+index f0b8aa8..430d8fb 100755
+--- a/core/uwsgi.c
++++ b/core/uwsgi.c
+@@ -693,11 +693,13 @@ static struct uwsgi_option uwsgi_base_options[] = {
+ 	{"snmp-community", required_argument, 0, "set the snmp community string", uwsgi_opt_snmp_community, NULL, 0},
+ #ifdef UWSGI_SSL
+ 	{"ssl-verbose", no_argument, 0, "be verbose about SSL errors", uwsgi_opt_true, &uwsgi.ssl_verbose, 0},
++#if UWSGI_SSL_SESSION_CACHE
+ 	// force master, as ssl sessions caching initialize locking early
+ 	{"ssl-sessions-use-cache", optional_argument, 0, "use uWSGI cache for ssl sessions storage", uwsgi_opt_set_str, &uwsgi.ssl_sessions_use_cache, UWSGI_OPT_MASTER},
+ 	{"ssl-session-use-cache", optional_argument, 0, "use uWSGI cache for ssl sessions storage", uwsgi_opt_set_str, &uwsgi.ssl_sessions_use_cache, UWSGI_OPT_MASTER},
+ 	{"ssl-sessions-timeout", required_argument, 0, "set SSL sessions timeout (default: 300 seconds)", uwsgi_opt_set_int, &uwsgi.ssl_sessions_timeout, 0},
+ 	{"ssl-session-timeout", required_argument, 0, "set SSL sessions timeout (default: 300 seconds)", uwsgi_opt_set_int, &uwsgi.ssl_sessions_timeout, 0},
++#endif
+ 	{"sni", required_argument, 0, "add an SNI-governed SSL context", uwsgi_opt_sni, NULL, 0},
+ 	{"sni-dir", required_argument, 0, "check for cert/key/client_ca file in the specified directory and create a sni/ssl context on demand", uwsgi_opt_set_str, &uwsgi.sni_dir, 0},
+ 	{"sni-dir-ciphers", required_argument, 0, "set ssl ciphers for sni-dir option", uwsgi_opt_set_str, &uwsgi.sni_dir_ciphers, 0},
+diff --git a/plugins/http/spdy3.c b/plugins/http/spdy3.c
+index 858a2fc..8c80f82 100644
+--- a/plugins/http/spdy3.c
++++ b/plugins/http/spdy3.c
+@@ -840,9 +840,11 @@ void uwsgi_spdy_info_cb(SSL const *ssl, int where, int ret) {
+ 				//hr->spdy_hook = hr_recv_spdy_control_frame;
+ 			}
+ 		}
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+                 if (ssl->s3) {
+                         ssl->s3->flags |= SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS;
+                 }
++#endif
+         }
+ }
+ 
+diff --git a/plugins/logcrypto/logcrypto.c b/plugins/logcrypto/logcrypto.c
+index 34417ee..3362fcc 100644
+--- a/plugins/logcrypto/logcrypto.c
++++ b/plugins/logcrypto/logcrypto.c
+@@ -32,8 +32,12 @@ static void uwsgi_crypto_logger_setup_encryption(struct uwsgi_crypto_logger_conf
+                 uwsgi_ssl_init();
+         }
+ 
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+         uclc->encrypt_ctx = uwsgi_malloc(sizeof(EVP_CIPHER_CTX));
+         EVP_CIPHER_CTX_init(uclc->encrypt_ctx);
++#else
++        uclc->encrypt_ctx = EVP_CIPHER_CTX_new();
++#endif
+ 
+         const EVP_CIPHER *cipher = EVP_get_cipherbyname(uclc->algo);
+         if (!cipher) {
+diff --git a/uwsgi.h b/uwsgi.h
+index c5a3f3e..121c3d7 100755
+--- a/uwsgi.h
++++ b/uwsgi.h
+@@ -364,9 +364,13 @@ extern int pivot_root(const char *new_root, const char *put_old);
+ #define UWSGI_CACHE_FLAG_FIXEXPIRE	1 << 9
+ 
+ #ifdef UWSGI_SSL
+-#include "openssl/conf.h"
+-#include "openssl/ssl.h"
++#include <openssl/conf.h>
++#include <openssl/ssl.h>
+ #include <openssl/err.h>
++
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#define UWSGI_SSL_SESSION_CACHE
++#endif
+ #endif
+ 
+ #include <glob.h>

Copied: uwsgi/repos/community-staging-x86_64/php7.patch (from rev 217916, uwsgi/trunk/php7.patch)
===================================================================
--- community-staging-x86_64/php7.patch	                        (rev 0)
+++ community-staging-x86_64/php7.patch	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,169 @@
+From 4d79e13acaf13acdf8f8a84cfa3fdda211f8aa81 Mon Sep 17 00:00:00 2001
+From: Unbit <info at unbit.it>
+Date: Tue, 29 Dec 2015 08:53:19 +0100
+Subject: [PATCH 12/12] official php7 support (beta) #1124
+
+---
+ plugins/php/common.h       |  4 ++++
+ plugins/php/php_plugin.c   | 20 ++++++++++++++++++++
+ plugins/php/session.c      | 19 ++++++++++++++++++-
+ plugins/php/uwsgiplugin.py |  4 +++-
+ 4 files changed, 45 insertions(+), 2 deletions(-)
+
+diff --git a/plugins/php/common.h b/plugins/php/common.h
+index 8c1ed13..9bf1c06 100644
+--- a/plugins/php/common.h
++++ b/plugins/php/common.h
+@@ -3,7 +3,11 @@
+ #include "php_main.h"
+ #include "php_variables.h"
+ 
++#if (PHP_MAJOR_VERSION < 7)
+ #include "ext/standard/php_smart_str.h"
++#else
++#define UWSGI_PHP7
++#endif
+ #include "ext/standard/info.h"
+ 
+ #include "ext/session/php_session.h"
+diff --git a/plugins/php/php_plugin.c b/plugins/php/php_plugin.c
+index b1b6f7a..6d9e952 100644
+--- a/plugins/php/php_plugin.c
++++ b/plugins/php/php_plugin.c
+@@ -65,7 +65,11 @@ struct uwsgi_option uwsgi_php_options[] = {
+ };
+ 
+ 
++#ifdef UWSGI_PHP7
++static size_t sapi_uwsgi_ub_write(const char *str, size_t str_length TSRMLS_DC)
++#else
+ static int sapi_uwsgi_ub_write(const char *str, uint str_length TSRMLS_DC)
++#endif
+ {
+ 	struct wsgi_request *wsgi_req = (struct wsgi_request *) SG(server_context);
+ 
+@@ -111,7 +115,11 @@ static int sapi_uwsgi_send_headers(sapi_headers_struct *sapi_headers TSRMLS_DC)
+ 	return SAPI_HEADER_SENT_SUCCESSFULLY;
+ }
+ 
++#ifdef UWSGI_PHP7
++static size_t sapi_uwsgi_read_post(char *buffer, size_t count_bytes TSRMLS_DC)
++#else
+ static int sapi_uwsgi_read_post(char *buffer, uint count_bytes TSRMLS_DC)
++#endif
+ {
+ 	uint read_bytes = 0;
+ 	
+@@ -235,7 +243,11 @@ PHP_MINIT_FUNCTION(uwsgi_php_minit) {
+ }
+ 
+ PHP_FUNCTION(uwsgi_version) {
++#ifdef UWSGI_PHP7
++	RETURN_STRING(UWSGI_VERSION);
++#else
+ 	RETURN_STRING(UWSGI_VERSION, 1);
++#endif
+ }
+ 
+ PHP_FUNCTION(uwsgi_worker_id) {
+@@ -321,7 +333,11 @@ PHP_FUNCTION(uwsgi_cache_get) {
+ 	if (value) {
+ 		char *ret = estrndup(value, valsize);
+ 		free(value);
++#ifdef UWSGI_PHP7
++		RETURN_STRING(ret);
++#else
+ 		RETURN_STRING(ret, 0);
++#endif
+ 	}
+ 	RETURN_NULL();
+ }
+@@ -425,7 +441,11 @@ PHP_FUNCTION(uwsgi_rpc) {
+ 		// here we do not free varargs for performance reasons
+ 		char *ret = estrndup(response, size);
+ 		free(response);
++#ifdef UWSGI_PHP7
++		RETURN_STRING(ret);
++#else
+ 		RETURN_STRING(ret, 0);
++#endif
+         }
+ 
+ clear:
+diff --git a/plugins/php/session.c b/plugins/php/session.c
+index 40f9ef7..2312b6b 100644
+--- a/plugins/php/session.c
++++ b/plugins/php/session.c
+@@ -12,21 +12,34 @@ PS_CLOSE_FUNC(uwsgi) {
+ PS_READ_FUNC(uwsgi) {
+ 	char *cache = PS_GET_MOD_DATA();
+ 	uint64_t valsize = 0;
+-	char *value = uwsgi_cache_magic_get((char *)key, strlen(key), &valsize, NULL, cache);
++#ifdef UWSGI_PHP7
++	char *value = uwsgi_cache_magic_get(key->val, key->len , &valsize, NULL, cache);
++#else
++	char *value = uwsgi_cache_magic_get((char *)key, strlen((char *)key), &valsize, NULL, cache);
++#endif
+         if (!value) return FAILURE;
++#ifdef UWSGI_PHP7
++	*val = zend_string_init(value, valsize, 0);
++#else
+ 	char *new_val = emalloc(valsize);
+ 	memcpy(new_val, value, valsize);
+ 	free(value);
+ 	*val = new_val;
+ 	*vallen = valsize;
++#endif
+ 	return SUCCESS;
+ 	
+ }
+ 
+ PS_WRITE_FUNC(uwsgi) {
+ 	char *cache = PS_GET_MOD_DATA();
++#ifdef UWSGI_PHP7
++	if (val->len == 0) return SUCCESS;
++	if (!uwsgi_cache_magic_set(key->val, key->len, val->val, val->len, 0, UWSGI_CACHE_FLAG_UPDATE, cache)) {
++#else
+ 	if (vallen == 0) return SUCCESS;
+ 	if (!uwsgi_cache_magic_set((char *)key, strlen(key), (char *)val, vallen, 0, UWSGI_CACHE_FLAG_UPDATE, cache)) {
++#endif
+ 		return SUCCESS;	
+ 	}
+ 	return FAILURE;
+@@ -34,7 +47,11 @@ PS_WRITE_FUNC(uwsgi) {
+ 
+ PS_DESTROY_FUNC(uwsgi) {
+ 	char *cache = PS_GET_MOD_DATA();
++#ifdef UWSGI_PHP7
++	if (!uwsgi_cache_magic_del(key->val, key->len, cache)) {
++#else
+ 	if (!uwsgi_cache_magic_del((char *)key, strlen(key), cache)) {
++#endif
+ 		return SUCCESS;
+ 	}
+ 	return FAILURE;
+diff --git a/plugins/php/uwsgiplugin.py b/plugins/php/uwsgiplugin.py
+index e7ce425..45c58e5 100644
+--- a/plugins/php/uwsgiplugin.py
++++ b/plugins/php/uwsgiplugin.py
+@@ -12,6 +12,8 @@ if phpdir:
+ 
+ PHPPATH = os.environ.get('UWSGICONFIG_PHPPATH', PHPPATH)
+ 
++php_version = os.popen(PHPPATH + ' --version').read().rstrip().split('.')[0]
++
+ CFLAGS = [os.popen(PHPPATH + ' --includes').read().rstrip(), '-Wno-sign-compare']
+ LDFLAGS = os.popen(PHPPATH + ' --ldflags').read().rstrip().split()
+ 
+@@ -19,7 +21,7 @@ if ld_run_path:
+     LDFLAGS.append('-L%s' % ld_run_path)
+     os.environ['LD_RUN_PATH'] = ld_run_path
+ 
+-LIBS = [os.popen(PHPPATH + ' --libs').read().rstrip(), '-lphp5']
++LIBS = [os.popen(PHPPATH + ' --libs').read().rstrip(), '-lphp' + php_version]
+ 
+ phplibdir = os.environ.get('UWSGICONFIG_PHPLIBDIR')
+ if phplibdir:
+-- 
+2.6.4
+

Copied: uwsgi/repos/community-staging-x86_64/tmpfilesd (from rev 217916, uwsgi/trunk/tmpfilesd)
===================================================================
--- community-staging-x86_64/tmpfilesd	                        (rev 0)
+++ community-staging-x86_64/tmpfilesd	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1 @@
+d /run/uwsgi 0775 root http - - 

Copied: uwsgi/repos/community-staging-x86_64/uwsgi.install (from rev 217916, uwsgi/trunk/uwsgi.install)
===================================================================
--- community-staging-x86_64/uwsgi.install	                        (rev 0)
+++ community-staging-x86_64/uwsgi.install	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,12 @@
+post_install(){
+    command -v systemd-tmpfiles && systemd-tmpfiles --create /usr/lib/tmpfiles.d/uwsgi.conf
+}
+post_update(){
+    echo "To use uwsgi at .socket and uwsgi at .service:"
+    echo "\tAll you need to do is put the name of your .ini file after the @ sign"
+    echo "\tYou can use either the .socket or .service, but if you use the .socket"
+    echo "\tuwsgi@<sameinifile>.service won't be started until the first time your http"
+    echo "\tserver touches the socket. You will also not need to specify the socket in"
+    echo "\tthe .ini file or in the .service file.  Systemd will handle listening to"
+    echo "\tthe socket for you."
+}

Copied: uwsgi/repos/community-staging-x86_64/uwsgi.logrotate (from rev 217916, uwsgi/trunk/uwsgi.logrotate)
===================================================================
--- community-staging-x86_64/uwsgi.logrotate	                        (rev 0)
+++ community-staging-x86_64/uwsgi.logrotate	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,9 @@
+/var/log/uwsgi/*.log /var/log/uwsgi/*/*.log {
+  copytruncate
+  daily
+  rotate 7
+  compress
+  delaycompress
+  missingok
+  notifempty
+}

Copied: uwsgi/repos/community-staging-x86_64/uwsgi_at.service (from rev 217916, uwsgi/trunk/uwsgi_at.service)
===================================================================
--- community-staging-x86_64/uwsgi_at.service	                        (rev 0)
+++ community-staging-x86_64/uwsgi_at.service	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,16 @@
+[Unit]
+Description=uWSGI service unit
+After=syslog.target
+
+[Service]
+ExecStart=/usr/bin/uwsgi --ini /etc/uwsgi/%I.ini
+ExecReload=/bin/kill -HUP $MAINPID
+ExecStop=/bin/kill -INT $MAINPID
+Restart=always
+Type=notify
+StandardError=syslog
+NotifyAccess=all
+KillSignal=SIGQUIT
+
+[Install]
+WantedBy=multi-user.target

Copied: uwsgi/repos/community-staging-x86_64/uwsgi_at.socket (from rev 217916, uwsgi/trunk/uwsgi_at.socket)
===================================================================
--- community-staging-x86_64/uwsgi_at.socket	                        (rev 0)
+++ community-staging-x86_64/uwsgi_at.socket	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,9 @@
+[Unit]
+Description=Socket for uWSGI %I
+
+[Socket]
+# Change this to your uwsgi application port or unix socket location
+ListenStream=/run/uwsgi/%I.sock
+
+[Install]
+WantedBy=sockets.target

Copied: uwsgi/repos/community-staging-x86_64/uwsgi_fix_rpath.patch (from rev 217916, uwsgi/trunk/uwsgi_fix_rpath.patch)
===================================================================
--- community-staging-x86_64/uwsgi_fix_rpath.patch	                        (rev 0)
+++ community-staging-x86_64/uwsgi_fix_rpath.patch	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,66 @@
+diff --git a/plugins/jvm/uwsgiplugin.py b/plugins/jvm/uwsgiplugin.py
+index ac7eb3e..0911288 100644
+--- a/plugins/jvm/uwsgiplugin.py
++++ b/plugins/jvm/uwsgiplugin.py
+@@ -59,11 +59,6 @@ if "-framework JavaVM" in JVM_LIBPATH:
+ 
+ GCC_LIST = ['jvm_plugin']
+ 
+-if 'LD_RUN_PATH' in os.environ:
+-    os.environ['LD_RUN_PATH'] += ':' + JVM_LIBPATH[0][2:]
+-else:
+-    os.environ['LD_RUN_PATH'] = JVM_LIBPATH[0][2:]
+-
+ def post_build(config):
+     if os.system("javac %s/plugins/jvm/uwsgi.java" % os.getcwd()) != 0:
+         os._exit(1)
+diff --git a/plugins/php/uwsgiplugin.py b/plugins/php/uwsgiplugin.py
+index fb9e5bb..fd12c91 100644
+--- a/plugins/php/uwsgiplugin.py
++++ b/plugins/php/uwsgiplugin.py
+@@ -22,7 +22,6 @@ CFLAGS = [os.popen(PHPPATH + ' --includes').read().rstrip(), '-Wno-error=sign-co
+ LDFLAGS = os.popen(PHPPATH + ' --ldflags').read().rstrip().split()
+ if ld_run_path:
+     LDFLAGS.append('-L%s' % ld_run_path)
+-    os.environ['LD_RUN_PATH'] = ld_run_path
+ 
+ LIBS = [os.popen(PHPPATH + ' --libs').read().rstrip(), '-lphp5']
+ 
+diff --git a/plugins/python/uwsgiplugin.py b/plugins/python/uwsgiplugin.py
+index c4f03e1..8d4b2e0 100644
+--- a/plugins/python/uwsgiplugin.py
++++ b/plugins/python/uwsgiplugin.py
+@@ -45,10 +45,8 @@ if not 'UWSGI_PYTHON_NOLIB' in os.environ:
+     else:
+         try:
+             LDFLAGS.append("-L%s" % sysconfig.get_config_var('LIBDIR'))
+-            os.environ['LD_RUN_PATH'] = "%s" % (sysconfig.get_config_var('LIBDIR'))
+         except:
+             LDFLAGS.append("-L%s/lib" % sysconfig.PREFIX)
+-            os.environ['LD_RUN_PATH'] = "%s/lib" % sysconfig.PREFIX
+ 
+         LIBS.append('-lpython%s' % get_python_version())
+ else:
+diff --git a/plugins/rack/uwsgiplugin.py b/plugins/rack/uwsgiplugin.py
+index 8dee214..2375bc9 100644
+--- a/plugins/rack/uwsgiplugin.py
++++ b/plugins/rack/uwsgiplugin.py
+@@ -44,7 +44,6 @@ LIBS = os.popen(RUBYPATH + " -e \"require 'rbconfig';print %s::CONFIG['LIBS']\""
+ 
+ if has_shared == 'yes':
+     LDFLAGS.append('-L' + libpath )
+-    os.environ['LD_RUN_PATH'] = libpath
+     LIBS.append(os.popen(RUBYPATH + " -e \"require 'rbconfig';print '-l' + %s::CONFIG['RUBY_SO_NAME']\"" % rbconfig).read().rstrip())
+ else:
+     GCC_LIST.append("%s/%s" % (libpath, os.popen(RUBYPATH + " -e \"require 'rbconfig';print %s::CONFIG['LIBRUBY_A']\"" % rbconfig).read().rstrip()))
+diff --git a/plugins/ruby19/uwsgiplugin.py b/plugins/ruby19/uwsgiplugin.py
+index ecea48d..4f35984 100644
+--- a/plugins/ruby19/uwsgiplugin.py
++++ b/plugins/ruby19/uwsgiplugin.py
+@@ -40,6 +40,5 @@ LDFLAGS = os.popen(RUBYPATH + " -e \"require 'rbconfig';print %s::CONFIG['LDFLAG
+ 
+ libpath = os.popen(RUBYPATH + " -e \"require 'rbconfig';print %s::CONFIG['libdir']\"" % rbconfig).read().rstrip()
+ LDFLAGS.append('-L' + libpath )
+-os.environ['LD_RUN_PATH'] = libpath
+ LIBS = os.popen(RUBYPATH + " -e \"require 'rbconfig';print '-l' + %s::CONFIG['RUBY_SO_NAME']\"" % rbconfig).read().rstrip().split()
+ 

Copied: uwsgi/repos/community-staging-x86_64/uwsgi_php_7.1.patch (from rev 217916, uwsgi/trunk/uwsgi_php_7.1.patch)
===================================================================
--- community-staging-x86_64/uwsgi_php_7.1.patch	                        (rev 0)
+++ community-staging-x86_64/uwsgi_php_7.1.patch	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,30 @@
+From 03dc7e49433defbe47b0c900c86b0968eeda174c Mon Sep 17 00:00:00 2001
+From: Damjan Georgievski <gdamjan at gmail.com>
+Date: Tue, 10 Jan 2017 01:20:25 +0100
+Subject: [PATCH] fix compilation with php 7.1
+
+php 7.1 changed the signature of the log_message function in
+sapi_module_struct. Let's assume it will stay like this for all versions >= 7.1
+
+fixes #1427
+---
+ plugins/php/php_plugin.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/plugins/php/php_plugin.c b/plugins/php/php_plugin.c
+index 7440d55..78d980f 100644
+--- a/plugins/php/php_plugin.c
++++ b/plugins/php/php_plugin.c
+@@ -568,8 +568,11 @@ static int php_uwsgi_startup(sapi_module_struct *sapi_module)
+ 	}
+ }
+ 
++#if ((PHP_MAJOR_VERSION >= 7) && (PHP_MINOR_VERSION >= 1))
++static void sapi_uwsgi_log_message(char *message, int syslog_type_int) {
++#else
+ static void sapi_uwsgi_log_message(char *message TSRMLS_DC) {
+-
++#endif
+ 	uwsgi_log("%s\n", message);
+ }
+ 

Copied: uwsgi/repos/community-staging-x86_64/uwsgi_ruby20_compatibility.patch (from rev 217916, uwsgi/trunk/uwsgi_ruby20_compatibility.patch)
===================================================================
--- community-staging-x86_64/uwsgi_ruby20_compatibility.patch	                        (rev 0)
+++ community-staging-x86_64/uwsgi_ruby20_compatibility.patch	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,42 @@
+diff --git a/plugins/rack/uwsgiplugin.py b/plugins/rack/uwsgiplugin.py
+index 2375bc9..b908417 100644
+--- a/plugins/rack/uwsgiplugin.py
++++ b/plugins/rack/uwsgiplugin.py
+@@ -10,13 +10,14 @@ except:
+ rbconfig = 'Config'
+ 
+ version = os.popen(RUBYPATH + " -e \"print RUBY_VERSION\"").read().rstrip()
+-v = version.split('.')
+ 
+ GCC_LIST = ['rack_plugin', 'rack_api']
+ 
+-if (v[0] == '1' and v[1] == '9') or v[0] >= '2':
++if version >= '1.9':
+     CFLAGS = os.popen(RUBYPATH + " -e \"require 'rbconfig';print RbConfig::CONFIG['CFLAGS']\"").read().rstrip().split()
+     CFLAGS.append('-DRUBY19')
++    if version >= '2.0':
++        CFLAGS.append('-DRUBY20')
+     CFLAGS.append('-Wno-unused-parameter')
+     rbconfig = 'RbConfig'	 
+ else:
+diff --git a/plugins/ruby19/uwsgiplugin.py b/plugins/ruby19/uwsgiplugin.py
+index 4f35984..156018f 100644
+--- a/plugins/ruby19/uwsgiplugin.py
++++ b/plugins/ruby19/uwsgiplugin.py
+@@ -10,13 +10,14 @@ except:
+ rbconfig = 'Config'
+ 
+ version = os.popen(RUBYPATH + " -e \"print RUBY_VERSION\"").read().rstrip()
+-v = version.split('.')
+ 
+ GCC_LIST = ['../rack/rack_plugin', '../rack/rack_api']
+ 
+-if v[0] == '1' and v[1] == '9':
++if version >= '1.9':
+     CFLAGS = os.popen(RUBYPATH + " -e \"require 'rbconfig';print RbConfig::CONFIG['CFLAGS']\"").read().rstrip().split()
+     CFLAGS.append('-DRUBY19')
++    if version >= '2.0':
++        CFLAGS.append('-DRUBY20')
+     CFLAGS.append('-Wno-unused-parameter')
+     rbconfig = 'RbConfig'	 
+ else:

Copied: uwsgi/repos/community-staging-x86_64/uwsgi_trick_chroot.patch (from rev 217916, uwsgi/trunk/uwsgi_trick_chroot.patch)
===================================================================
--- community-staging-x86_64/uwsgi_trick_chroot.patch	                        (rev 0)
+++ community-staging-x86_64/uwsgi_trick_chroot.patch	2017-03-21 01:43:31 UTC (rev 217917)
@@ -0,0 +1,16 @@
+diff --git a/uwsgiconfig.py b/uwsgiconfig.py
+index e447123..4d55f2c 100644
+--- a/uwsgiconfig.py
++++ b/uwsgiconfig.py
+@@ -1129,10 +1129,7 @@ def build_plugin(path, uc, cflags, ldflags, libs, name = None):
+     except:
+         pass
+ 
+-    if uc:
+-        plugin_dest = uc.get('plugin_build_dir', uc.get('plugin_dir')) + '/' + name + '_plugin'
+-    else:
+-        plugin_dest = name + '_plugin'
++    plugin_dest = name + '_plugin'
+ 
+     shared_flag = '-shared'
+ 


More information about the arch-commits mailing list