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

Felix Yan felixonmars at archlinux.org
Tue Jan 17 16:41:01 UTC 2017


    Date: Tuesday, January 17, 2017 @ 16:41:00
  Author: felixonmars
Revision: 207753

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

Added:
  uwsgi/repos/community-testing-i686/
  uwsgi/repos/community-testing-i686/PKGBUILD
    (from rev 207752, uwsgi/trunk/PKGBUILD)
  uwsgi/repos/community-testing-i686/archlinux.ini
    (from rev 207752, uwsgi/trunk/archlinux.ini)
  uwsgi/repos/community-testing-i686/emperor.ini
    (from rev 207752, uwsgi/trunk/emperor.ini)
  uwsgi/repos/community-testing-i686/emperor.uwsgi.service
    (from rev 207752, uwsgi/trunk/emperor.uwsgi.service)
  uwsgi/repos/community-testing-i686/emperor.uwsgi.socket
    (from rev 207752, uwsgi/trunk/emperor.uwsgi.socket)
  uwsgi/repos/community-testing-i686/php7.patch
    (from rev 207752, uwsgi/trunk/php7.patch)
  uwsgi/repos/community-testing-i686/tmpfilesd
    (from rev 207752, uwsgi/trunk/tmpfilesd)
  uwsgi/repos/community-testing-i686/uwsgi.install
    (from rev 207752, uwsgi/trunk/uwsgi.install)
  uwsgi/repos/community-testing-i686/uwsgi_at.service
    (from rev 207752, uwsgi/trunk/uwsgi_at.service)
  uwsgi/repos/community-testing-i686/uwsgi_at.socket
    (from rev 207752, uwsgi/trunk/uwsgi_at.socket)
  uwsgi/repos/community-testing-i686/uwsgi_fix_rpath.patch
    (from rev 207752, uwsgi/trunk/uwsgi_fix_rpath.patch)
  uwsgi/repos/community-testing-i686/uwsgi_php_7.1.patch
    (from rev 207752, uwsgi/trunk/uwsgi_php_7.1.patch)
  uwsgi/repos/community-testing-i686/uwsgi_ruby20_compatibility.patch
    (from rev 207752, uwsgi/trunk/uwsgi_ruby20_compatibility.patch)
  uwsgi/repos/community-testing-i686/uwsgi_trick_chroot.patch
    (from rev 207752, uwsgi/trunk/uwsgi_trick_chroot.patch)
  uwsgi/repos/community-testing-x86_64/
  uwsgi/repos/community-testing-x86_64/PKGBUILD
    (from rev 207752, uwsgi/trunk/PKGBUILD)
  uwsgi/repos/community-testing-x86_64/archlinux.ini
    (from rev 207752, uwsgi/trunk/archlinux.ini)
  uwsgi/repos/community-testing-x86_64/emperor.ini
    (from rev 207752, uwsgi/trunk/emperor.ini)
  uwsgi/repos/community-testing-x86_64/emperor.uwsgi.service
    (from rev 207752, uwsgi/trunk/emperor.uwsgi.service)
  uwsgi/repos/community-testing-x86_64/emperor.uwsgi.socket
    (from rev 207752, uwsgi/trunk/emperor.uwsgi.socket)
  uwsgi/repos/community-testing-x86_64/php7.patch
    (from rev 207752, uwsgi/trunk/php7.patch)
  uwsgi/repos/community-testing-x86_64/tmpfilesd
    (from rev 207752, uwsgi/trunk/tmpfilesd)
  uwsgi/repos/community-testing-x86_64/uwsgi.install
    (from rev 207752, uwsgi/trunk/uwsgi.install)
  uwsgi/repos/community-testing-x86_64/uwsgi_at.service
    (from rev 207752, uwsgi/trunk/uwsgi_at.service)
  uwsgi/repos/community-testing-x86_64/uwsgi_at.socket
    (from rev 207752, uwsgi/trunk/uwsgi_at.socket)
  uwsgi/repos/community-testing-x86_64/uwsgi_fix_rpath.patch
    (from rev 207752, uwsgi/trunk/uwsgi_fix_rpath.patch)
  uwsgi/repos/community-testing-x86_64/uwsgi_php_7.1.patch
    (from rev 207752, uwsgi/trunk/uwsgi_php_7.1.patch)
  uwsgi/repos/community-testing-x86_64/uwsgi_ruby20_compatibility.patch
    (from rev 207752, uwsgi/trunk/uwsgi_ruby20_compatibility.patch)
  uwsgi/repos/community-testing-x86_64/uwsgi_trick_chroot.patch
    (from rev 207752, uwsgi/trunk/uwsgi_trick_chroot.patch)

-----------------------------------------------------------+
 community-testing-i686/PKGBUILD                           |  204 ++++++++++++
 community-testing-i686/archlinux.ini                      |    5 
 community-testing-i686/emperor.ini                        |    4 
 community-testing-i686/emperor.uwsgi.service              |   16 
 community-testing-i686/emperor.uwsgi.socket               |    9 
 community-testing-i686/php7.patch                         |  169 +++++++++
 community-testing-i686/tmpfilesd                          |    1 
 community-testing-i686/uwsgi.install                      |   12 
 community-testing-i686/uwsgi_at.service                   |   16 
 community-testing-i686/uwsgi_at.socket                    |    9 
 community-testing-i686/uwsgi_fix_rpath.patch              |   66 +++
 community-testing-i686/uwsgi_php_7.1.patch                |   30 +
 community-testing-i686/uwsgi_ruby20_compatibility.patch   |   42 ++
 community-testing-i686/uwsgi_trick_chroot.patch           |   16 
 community-testing-x86_64/PKGBUILD                         |  204 ++++++++++++
 community-testing-x86_64/archlinux.ini                    |    5 
 community-testing-x86_64/emperor.ini                      |    4 
 community-testing-x86_64/emperor.uwsgi.service            |   16 
 community-testing-x86_64/emperor.uwsgi.socket             |    9 
 community-testing-x86_64/php7.patch                       |  169 +++++++++
 community-testing-x86_64/tmpfilesd                        |    1 
 community-testing-x86_64/uwsgi.install                    |   12 
 community-testing-x86_64/uwsgi_at.service                 |   16 
 community-testing-x86_64/uwsgi_at.socket                  |    9 
 community-testing-x86_64/uwsgi_fix_rpath.patch            |   66 +++
 community-testing-x86_64/uwsgi_php_7.1.patch              |   30 +
 community-testing-x86_64/uwsgi_ruby20_compatibility.patch |   42 ++
 community-testing-x86_64/uwsgi_trick_chroot.patch         |   16 
 28 files changed, 1198 insertions(+)

Copied: uwsgi/repos/community-testing-i686/PKGBUILD (from rev 207752, uwsgi/trunk/PKGBUILD)
===================================================================
--- community-testing-i686/PKGBUILD	                        (rev 0)
+++ community-testing-i686/PKGBUILD	2017-01-17 16:41:00 UTC (rev 207753)
@@ -0,0 +1,204 @@
+# $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=7
+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)
+sha512sums=('cf557ba27cb1c28e784e8909043bca874cd56846aa9ebaf1ff229191ad20484e467147a6ea7cc629399d4afd6e4ac4479b2f6827729df04321eef4bf842b9e42'
+            '68eef703de39cb336915e1e9c36b11c65c2d46482407b0234ca245df0e052952abb7dd85b0a1cd4507c78356a3b7a55424524b3aa0997b559b51e7b20eab5e16'
+            'acfe9fb089d1905c3d736dbeaaef7eb1848b4ce8d1f585de653086cf7f90c166a1e493d0b62ba030a4bcf2eca9c919e0d6deea2ea1c0bcb8533d7cb040d2f67c'
+            '4def9dcd06cfc2c6ce554add9d9545a01f3bb2681f0a2a6fc4ba68f91011111803a955cc41b5e70832ca448b196109368fdf874e81b7ec0edee4b51f864e16f7'
+            'c0c1a5c2d31cdb7e0dc878ea3d0b6025532fb640ae7cf4d5f1eed2f89987e625c8dc7844d367283ed560fb3ef37915e3e9199be2e1b06fc4586ca862a653b4b5'
+            'fb51a4d102a1bc7d9f7d4c4f310ee65076bcfbc94b47e2dafdf9b20e99a661c5f938185dcf698437d81409376f0276b966f09b13c8a29462c48612df43c3f3ef'
+            '162ca1be96282b32e8e6be919b6315bfd08954c491056958985bf99e7f5bdad3511665f059329d6cb6ef5d222f9aa11d4dc43c72e6a963ab941ada959fe8d964'
+            'bc30f8ec69abd14fb96ada5b36cf65811a7a63ee27e224fcb6ceabe9935c1f17379cd872149a17da3d590b8ff60fbe7f77140d777aaf06e25e83388f897f611d'
+            'f973136c51ec0847ac6b3c3eb6ad45a1d137ada69e79a966ea92076ce29166b1f0b92b83d10b18153e48772a22c4b67a52a9e6c55a966c00f0cd0db644bb829f'
+            '41cc29ea14ca87749959379ead773d9a3a499c6bc7be17800e06e33c998a929ae855c9ad0fe2039e26a034c24d2845833945333442b98d7c6f0924aa2a036b1b'
+            '83a6859d729bf186236aaa7fb7433415f6b985f17e05b7ac571d8919bbf1fb9bd577b4f673d9787dea09752e3d8043f47ce3d9c7d5690faaa1365e477e6c9388'
+            '592c85270f43b37e9c51aae126533830515b96fff9fcae969ee865fe173bd0550c7729530d5ff1e44ffee43cd5c78c96688ce091c677a4196379e24983c0180e')
+
+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; 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
+
+    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
+}
+
+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-testing-i686/archlinux.ini (from rev 207752, uwsgi/trunk/archlinux.ini)
===================================================================
--- community-testing-i686/archlinux.ini	                        (rev 0)
+++ community-testing-i686/archlinux.ini	2017-01-17 16:41:00 UTC (rev 207753)
@@ -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-testing-i686/emperor.ini (from rev 207752, uwsgi/trunk/emperor.ini)
===================================================================
--- community-testing-i686/emperor.ini	                        (rev 0)
+++ community-testing-i686/emperor.ini	2017-01-17 16:41:00 UTC (rev 207753)
@@ -0,0 +1,4 @@
+[uwsgi]
+emperor = /etc/uwsgi/vassals
+uid = http
+gid = http

Copied: uwsgi/repos/community-testing-i686/emperor.uwsgi.service (from rev 207752, uwsgi/trunk/emperor.uwsgi.service)
===================================================================
--- community-testing-i686/emperor.uwsgi.service	                        (rev 0)
+++ community-testing-i686/emperor.uwsgi.service	2017-01-17 16:41:00 UTC (rev 207753)
@@ -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-testing-i686/emperor.uwsgi.socket (from rev 207752, uwsgi/trunk/emperor.uwsgi.socket)
===================================================================
--- community-testing-i686/emperor.uwsgi.socket	                        (rev 0)
+++ community-testing-i686/emperor.uwsgi.socket	2017-01-17 16:41:00 UTC (rev 207753)
@@ -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-testing-i686/php7.patch (from rev 207752, uwsgi/trunk/php7.patch)
===================================================================
--- community-testing-i686/php7.patch	                        (rev 0)
+++ community-testing-i686/php7.patch	2017-01-17 16:41:00 UTC (rev 207753)
@@ -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-testing-i686/tmpfilesd (from rev 207752, uwsgi/trunk/tmpfilesd)
===================================================================
--- community-testing-i686/tmpfilesd	                        (rev 0)
+++ community-testing-i686/tmpfilesd	2017-01-17 16:41:00 UTC (rev 207753)
@@ -0,0 +1 @@
+d /run/uwsgi 0775 root http - - 

Copied: uwsgi/repos/community-testing-i686/uwsgi.install (from rev 207752, uwsgi/trunk/uwsgi.install)
===================================================================
--- community-testing-i686/uwsgi.install	                        (rev 0)
+++ community-testing-i686/uwsgi.install	2017-01-17 16:41:00 UTC (rev 207753)
@@ -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-testing-i686/uwsgi_at.service (from rev 207752, uwsgi/trunk/uwsgi_at.service)
===================================================================
--- community-testing-i686/uwsgi_at.service	                        (rev 0)
+++ community-testing-i686/uwsgi_at.service	2017-01-17 16:41:00 UTC (rev 207753)
@@ -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-testing-i686/uwsgi_at.socket (from rev 207752, uwsgi/trunk/uwsgi_at.socket)
===================================================================
--- community-testing-i686/uwsgi_at.socket	                        (rev 0)
+++ community-testing-i686/uwsgi_at.socket	2017-01-17 16:41:00 UTC (rev 207753)
@@ -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-testing-i686/uwsgi_fix_rpath.patch (from rev 207752, uwsgi/trunk/uwsgi_fix_rpath.patch)
===================================================================
--- community-testing-i686/uwsgi_fix_rpath.patch	                        (rev 0)
+++ community-testing-i686/uwsgi_fix_rpath.patch	2017-01-17 16:41:00 UTC (rev 207753)
@@ -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-testing-i686/uwsgi_php_7.1.patch (from rev 207752, uwsgi/trunk/uwsgi_php_7.1.patch)
===================================================================
--- community-testing-i686/uwsgi_php_7.1.patch	                        (rev 0)
+++ community-testing-i686/uwsgi_php_7.1.patch	2017-01-17 16:41:00 UTC (rev 207753)
@@ -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-testing-i686/uwsgi_ruby20_compatibility.patch (from rev 207752, uwsgi/trunk/uwsgi_ruby20_compatibility.patch)
===================================================================
--- community-testing-i686/uwsgi_ruby20_compatibility.patch	                        (rev 0)
+++ community-testing-i686/uwsgi_ruby20_compatibility.patch	2017-01-17 16:41:00 UTC (rev 207753)
@@ -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-testing-i686/uwsgi_trick_chroot.patch (from rev 207752, uwsgi/trunk/uwsgi_trick_chroot.patch)
===================================================================
--- community-testing-i686/uwsgi_trick_chroot.patch	                        (rev 0)
+++ community-testing-i686/uwsgi_trick_chroot.patch	2017-01-17 16:41:00 UTC (rev 207753)
@@ -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-testing-x86_64/PKGBUILD (from rev 207752, uwsgi/trunk/PKGBUILD)
===================================================================
--- community-testing-x86_64/PKGBUILD	                        (rev 0)
+++ community-testing-x86_64/PKGBUILD	2017-01-17 16:41:00 UTC (rev 207753)
@@ -0,0 +1,204 @@
+# $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=7
+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)
+sha512sums=('cf557ba27cb1c28e784e8909043bca874cd56846aa9ebaf1ff229191ad20484e467147a6ea7cc629399d4afd6e4ac4479b2f6827729df04321eef4bf842b9e42'
+            '68eef703de39cb336915e1e9c36b11c65c2d46482407b0234ca245df0e052952abb7dd85b0a1cd4507c78356a3b7a55424524b3aa0997b559b51e7b20eab5e16'
+            'acfe9fb089d1905c3d736dbeaaef7eb1848b4ce8d1f585de653086cf7f90c166a1e493d0b62ba030a4bcf2eca9c919e0d6deea2ea1c0bcb8533d7cb040d2f67c'
+            '4def9dcd06cfc2c6ce554add9d9545a01f3bb2681f0a2a6fc4ba68f91011111803a955cc41b5e70832ca448b196109368fdf874e81b7ec0edee4b51f864e16f7'
+            'c0c1a5c2d31cdb7e0dc878ea3d0b6025532fb640ae7cf4d5f1eed2f89987e625c8dc7844d367283ed560fb3ef37915e3e9199be2e1b06fc4586ca862a653b4b5'
+            'fb51a4d102a1bc7d9f7d4c4f310ee65076bcfbc94b47e2dafdf9b20e99a661c5f938185dcf698437d81409376f0276b966f09b13c8a29462c48612df43c3f3ef'
+            '162ca1be96282b32e8e6be919b6315bfd08954c491056958985bf99e7f5bdad3511665f059329d6cb6ef5d222f9aa11d4dc43c72e6a963ab941ada959fe8d964'
+            'bc30f8ec69abd14fb96ada5b36cf65811a7a63ee27e224fcb6ceabe9935c1f17379cd872149a17da3d590b8ff60fbe7f77140d777aaf06e25e83388f897f611d'
+            'f973136c51ec0847ac6b3c3eb6ad45a1d137ada69e79a966ea92076ce29166b1f0b92b83d10b18153e48772a22c4b67a52a9e6c55a966c00f0cd0db644bb829f'
+            '41cc29ea14ca87749959379ead773d9a3a499c6bc7be17800e06e33c998a929ae855c9ad0fe2039e26a034c24d2845833945333442b98d7c6f0924aa2a036b1b'
+            '83a6859d729bf186236aaa7fb7433415f6b985f17e05b7ac571d8919bbf1fb9bd577b4f673d9787dea09752e3d8043f47ce3d9c7d5690faaa1365e477e6c9388'
+            '592c85270f43b37e9c51aae126533830515b96fff9fcae969ee865fe173bd0550c7729530d5ff1e44ffee43cd5c78c96688ce091c677a4196379e24983c0180e')
+
+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; 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
+
+    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
+}
+
+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-testing-x86_64/archlinux.ini (from rev 207752, uwsgi/trunk/archlinux.ini)
===================================================================
--- community-testing-x86_64/archlinux.ini	                        (rev 0)
+++ community-testing-x86_64/archlinux.ini	2017-01-17 16:41:00 UTC (rev 207753)
@@ -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-testing-x86_64/emperor.ini (from rev 207752, uwsgi/trunk/emperor.ini)
===================================================================
--- community-testing-x86_64/emperor.ini	                        (rev 0)
+++ community-testing-x86_64/emperor.ini	2017-01-17 16:41:00 UTC (rev 207753)
@@ -0,0 +1,4 @@
+[uwsgi]
+emperor = /etc/uwsgi/vassals
+uid = http
+gid = http

Copied: uwsgi/repos/community-testing-x86_64/emperor.uwsgi.service (from rev 207752, uwsgi/trunk/emperor.uwsgi.service)
===================================================================
--- community-testing-x86_64/emperor.uwsgi.service	                        (rev 0)
+++ community-testing-x86_64/emperor.uwsgi.service	2017-01-17 16:41:00 UTC (rev 207753)
@@ -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-testing-x86_64/emperor.uwsgi.socket (from rev 207752, uwsgi/trunk/emperor.uwsgi.socket)
===================================================================
--- community-testing-x86_64/emperor.uwsgi.socket	                        (rev 0)
+++ community-testing-x86_64/emperor.uwsgi.socket	2017-01-17 16:41:00 UTC (rev 207753)
@@ -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-testing-x86_64/php7.patch (from rev 207752, uwsgi/trunk/php7.patch)
===================================================================
--- community-testing-x86_64/php7.patch	                        (rev 0)
+++ community-testing-x86_64/php7.patch	2017-01-17 16:41:00 UTC (rev 207753)
@@ -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-testing-x86_64/tmpfilesd (from rev 207752, uwsgi/trunk/tmpfilesd)
===================================================================
--- community-testing-x86_64/tmpfilesd	                        (rev 0)
+++ community-testing-x86_64/tmpfilesd	2017-01-17 16:41:00 UTC (rev 207753)
@@ -0,0 +1 @@
+d /run/uwsgi 0775 root http - - 

Copied: uwsgi/repos/community-testing-x86_64/uwsgi.install (from rev 207752, uwsgi/trunk/uwsgi.install)
===================================================================
--- community-testing-x86_64/uwsgi.install	                        (rev 0)
+++ community-testing-x86_64/uwsgi.install	2017-01-17 16:41:00 UTC (rev 207753)
@@ -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-testing-x86_64/uwsgi_at.service (from rev 207752, uwsgi/trunk/uwsgi_at.service)
===================================================================
--- community-testing-x86_64/uwsgi_at.service	                        (rev 0)
+++ community-testing-x86_64/uwsgi_at.service	2017-01-17 16:41:00 UTC (rev 207753)
@@ -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-testing-x86_64/uwsgi_at.socket (from rev 207752, uwsgi/trunk/uwsgi_at.socket)
===================================================================
--- community-testing-x86_64/uwsgi_at.socket	                        (rev 0)
+++ community-testing-x86_64/uwsgi_at.socket	2017-01-17 16:41:00 UTC (rev 207753)
@@ -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-testing-x86_64/uwsgi_fix_rpath.patch (from rev 207752, uwsgi/trunk/uwsgi_fix_rpath.patch)
===================================================================
--- community-testing-x86_64/uwsgi_fix_rpath.patch	                        (rev 0)
+++ community-testing-x86_64/uwsgi_fix_rpath.patch	2017-01-17 16:41:00 UTC (rev 207753)
@@ -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-testing-x86_64/uwsgi_php_7.1.patch (from rev 207752, uwsgi/trunk/uwsgi_php_7.1.patch)
===================================================================
--- community-testing-x86_64/uwsgi_php_7.1.patch	                        (rev 0)
+++ community-testing-x86_64/uwsgi_php_7.1.patch	2017-01-17 16:41:00 UTC (rev 207753)
@@ -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-testing-x86_64/uwsgi_ruby20_compatibility.patch (from rev 207752, uwsgi/trunk/uwsgi_ruby20_compatibility.patch)
===================================================================
--- community-testing-x86_64/uwsgi_ruby20_compatibility.patch	                        (rev 0)
+++ community-testing-x86_64/uwsgi_ruby20_compatibility.patch	2017-01-17 16:41:00 UTC (rev 207753)
@@ -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-testing-x86_64/uwsgi_trick_chroot.patch (from rev 207752, uwsgi/trunk/uwsgi_trick_chroot.patch)
===================================================================
--- community-testing-x86_64/uwsgi_trick_chroot.patch	                        (rev 0)
+++ community-testing-x86_64/uwsgi_trick_chroot.patch	2017-01-17 16:41:00 UTC (rev 207753)
@@ -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