mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-03-09 00:17:31 +00:00
added community/uwsgi
This commit is contained in:
parent
a2923a82b2
commit
eff71a699a
12 changed files with 456 additions and 0 deletions
252
community/uwsgi/PKGBUILD
Normal file
252
community/uwsgi/PKGBUILD
Normal file
|
@ -0,0 +1,252 @@
|
|||
# $Id$
|
||||
# Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com>
|
||||
# Contributor: Valentin Hăloiu <vially.ichb+aur@gmail.com>
|
||||
# Contributor: Angel Velasquez <angvp@archlinux.org>
|
||||
# Contributor: Kevin Zuber <uKev@knet.eu>
|
||||
# Contributor: Vsevolod Balashov <vsevolod@balashov.name>
|
||||
|
||||
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
# - ripped out pypy stuff
|
||||
|
||||
pkgbase=uwsgi
|
||||
pkgname=(uwsgi
|
||||
uwsgi-plugin-common
|
||||
uwsgi-plugin-rack
|
||||
uwsgi-plugin-psgi
|
||||
uwsgi-plugin-python2
|
||||
uwsgi-plugin-python
|
||||
uwsgi-plugin-nagios
|
||||
uwsgi-plugin-router
|
||||
uwsgi-plugin-php
|
||||
uwsgi-plugin-lua51
|
||||
uwsgi-plugin-carbon
|
||||
uwsgi-plugin-rrdtool
|
||||
uwsgi-plugin-pam
|
||||
uwsgi-plugin-zergpool
|
||||
)
|
||||
#uwsgi-plugin-erlang
|
||||
#uwsgi-plugin-admin
|
||||
pkgver=2.0.6
|
||||
pkgrel=1
|
||||
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 php-embed curl libxml2 libyaml
|
||||
perl lua51 pcre libedit openssl bzip2 gmp pam java-environment=7
|
||||
jansson classpath)
|
||||
source=(http://projects.unbit.it/downloads/$pkgbase-$pkgver.tar.gz
|
||||
archlinux.ini
|
||||
tmpfilesd
|
||||
uwsgi@.service
|
||||
uwsgi@.socket
|
||||
uwsgi_fix_rpath.patch
|
||||
uwsgi_ruby20_compatibility.patch
|
||||
uwsgi_trick_chroot.patch
|
||||
emperor.ini
|
||||
emperor.uwsgi.service
|
||||
emperor.uwsgi.socket)
|
||||
|
||||
md5sums=('50e9657ebbf52dd3bcd57b565f6b65a5'
|
||||
'a0749da07b545efcbb0276f52be22652'
|
||||
'752475ee32286acfbafa49b898616817'
|
||||
'c54a60431d8d81c1a65b9f4b271ac718'
|
||||
'ea381549fe65a5d72fa1abb5ceb7d3ef'
|
||||
'1a4516d5cdcf5b95b036f4eae2d0c152'
|
||||
'4d09535ce379c8acd76160f35d5d6b55'
|
||||
'0c09a52fdb88f08c36a8b380f451ce6d'
|
||||
'5fa14ddea9a3dae17b5be28468d47b80'
|
||||
'69ab06670656b4ea8f8a91ebe33c38e4'
|
||||
'3ab4486e02f5c217566fb6c8d469c246')
|
||||
|
||||
prepare(){
|
||||
cd $srcdir/$pkgbase-$pkgver
|
||||
cp $srcdir/archlinux.ini buildconf/archlinux.ini
|
||||
#sed -i 's/LIBS .*-lphp5.*/LIBS = []/' plugins/php/uwsgiplugin.py
|
||||
for patch in uwsgi_fix_rpath.patch uwsgi_ruby20_compatibility.patch uwsgi_trick_chroot.patch; do
|
||||
patch -Np1 -i $srcdir/$patch
|
||||
done
|
||||
rm -rf plugins/ruby
|
||||
mv plugins/ruby{19,}
|
||||
sed -i 's:\(ruby\)19:\1:' plugins/ruby/uwsgiplugin.py
|
||||
|
||||
}
|
||||
build() {
|
||||
pushd $srcdir/$pkgbase-$pkgver
|
||||
|
||||
python uwsgiconfig.py --build archlinux
|
||||
python2 uwsgiconfig.py --plugin plugins/python archlinux python2
|
||||
python2 uwsgiconfig.py --plugin plugins/greenlet archlinux greenlet
|
||||
python2 uwsgiconfig.py --plugin plugins/gevent archlinux gevent
|
||||
}
|
||||
|
||||
package_uwsgi() {
|
||||
pkgdesc="A fast, self-healing and developer/sysadmin-friendly application container server coded in pure C"
|
||||
depends=(python2 libxml2 jansson libyaml systemd)
|
||||
install=uwsgi.install
|
||||
cd $srcdir/$pkgbase-$pkgver
|
||||
install -Dm755 uwsgi $pkgdir/usr/bin/uwsgi
|
||||
install -Dm644 $srcdir/uwsgi@.service $pkgdir/usr/lib/systemd/system/uwsgi@.service
|
||||
install -Dm644 $srcdir/uwsgi@.socket $pkgdir/usr/lib/systemd/system/uwsgi@.socket
|
||||
install -Dm644 $srcdir/emperor.uwsgi.service $pkgdir/usr/lib/systemd/system/emperor.uwsgi.service
|
||||
install -Dm644 $srcdir/emperor.uwsgi.socket $pkgdir/usr/lib/systemd/system/emperor.uwsgi.socket
|
||||
install -Dm644 $srcdir/emperor.ini $pkgdir/etc/uwsgi/emperor.ini
|
||||
install -Dm755 systemd_logger_plugin.so $pkgdir/usr/lib/uwsgi/systemd_logger_plugin.so
|
||||
install -Dm644 $srcdir/tmpfilesd $pkgdir/usr/lib/tmpfiles.d/uwsgi.conf
|
||||
}
|
||||
|
||||
package_uwsgi-plugin-common(){
|
||||
depends=(uwsgi)
|
||||
pkgdesc="Common plugins for uWSGI"
|
||||
install -dm755 $pkgdir/usr/bin
|
||||
for plugin in cache cgi rpc ugreen; do
|
||||
install -Dm755 $pkgbase-$pkgver/${plugin}_plugin.so $pkgdir/usr/lib/uwsgi/${plugin}_plugin.so
|
||||
ln -s uwsgi $pkgdir/usr/bin/uwsgi_$plugin
|
||||
done
|
||||
install -Dm755 $pkgbase-$pkgver/corerouter_plugin.so $pkgdir/usr/lib/uwsgi/
|
||||
|
||||
}
|
||||
|
||||
package_uwsgi-plugin-rack(){
|
||||
depends=(ruby uwsgi-plugin-common)
|
||||
pkgdesc="Ruby rack plugin"
|
||||
install -dm755 $pkgdir/usr/bin
|
||||
install -Dm755 $pkgbase-$pkgver/rack_plugin.so $pkgdir/usr/lib/uwsgi/rack_plugin.so
|
||||
ln -s uwsgi $pkgdir/usr/bin/uwsgi_${pkgname#uwsgi-plugin-}
|
||||
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=(perl uwsgi-plugin-common)
|
||||
pkgdesc="Perl psgi plugin"
|
||||
install -dm755 $pkgdir/usr/bin
|
||||
install -Dm755 $pkgbase-$pkgver/psgi_plugin.so $pkgdir/usr/lib/uwsgi/psgi_plugin.so
|
||||
ln -s uwsgi $pkgdir/usr/bin/uwsgi_${pkgname#uwsgi-plugin-}
|
||||
}
|
||||
|
||||
package_uwsgi-plugin-python2(){
|
||||
depends=(uwsgi-plugin-common python2-gevent python2-gevent)
|
||||
pkgdesc="Plugin for Python2 support"
|
||||
replace=(uswgi-plugin-greenlet)
|
||||
cd $srcdir/$pkgbase-$pkgver
|
||||
install -dm755 $pkgdir/usr/bin
|
||||
install -Dm755 $srcdir/$pkgbase-$pkgver/python2_plugin.so $pkgdir/usr/lib/uwsgi/python2_plugin.so
|
||||
install -Dm755 greenlet_plugin.so $pkgdir/usr/lib/uwsgi/greenlet_plugin.so
|
||||
install -Dm755 gevent_plugin.so $pkgdir/usr/lib/uwsgi/gevent_plugin.so
|
||||
ln -s uwsgi $pkgdir/usr/bin/uwsgi_${pkgname#uwsgi-plugin-}
|
||||
}
|
||||
|
||||
package_uwsgi-plugin-python(){
|
||||
depends=(python uwsgi-plugin-common)
|
||||
pkgdesc="Plugin for Python support"
|
||||
install -dm755 $pkgdir/usr/bin
|
||||
cd $srcdir/$pkgbase-$pkgver
|
||||
install -Dm755 $srcdir/$pkgbase-$pkgver/python_plugin.so $pkgdir/usr/lib/uwsgi/python_plugin.so
|
||||
ln -s uwsgi $pkgdir/usr/bin/uwsgi_${pkgname#uwsgi-plugin-}
|
||||
}
|
||||
|
||||
package_uwsgi-plugin-nagios(){
|
||||
depends=( uwsgi-plugin-common)
|
||||
pkgdesc="Plugin for Nagios support"
|
||||
install -dm755 $pkgdir/usr/bin
|
||||
install -Dm755 $pkgbase-$pkgver/nagios_plugin.so $pkgdir/usr/lib/uwsgi/nagios_plugin.so
|
||||
ln -s uwsgi $pkgdir/usr/bin/uwsgi_${pkgname#uwsgi-plugin-}
|
||||
}
|
||||
|
||||
package_uwsgi-plugin-router(){
|
||||
depends=( uwsgi-plugin-common)
|
||||
pkgdesc="Plugin for Router support"
|
||||
install -dm755 $pkgdir/usr/lib/uwsgi
|
||||
install -dm755 $pkgdir/usr/bin
|
||||
cd $pkgbase-$pkgver
|
||||
|
||||
for file in router_*_plugin.so fastrouter_plugin.so sslrouter_plugin.so rawrouter_plugin.so; do
|
||||
install -Dm755 $file $pkgdir/usr/lib/uwsgi/$file
|
||||
done
|
||||
install -Dm755 router_basicauth_plugin.so $pkgdir/usr/lib/uwsgi/basicauth_plugin.so
|
||||
}
|
||||
|
||||
#package_uwsgi-plugin-admin(){
|
||||
# depends=( uwsgi-plugin-common)
|
||||
# pkgdesc="Plugin for Admin support"
|
||||
# install -dm755 $pkgdir/usr/bin
|
||||
# install -Dm755 $pkgbase-$pkgver/admin_plugin.so $pkgdir/usr/lib/uwsgi/admin_plugin.so
|
||||
# ln -s uwsgi $pkgdir/usr/bin/uwsgi_${pkgname#uwsgi-plugin-}
|
||||
#}
|
||||
|
||||
package_uwsgi-plugin-lua51(){
|
||||
depends=(lua51 uwsgi-plugin-common)
|
||||
pkgdesc="Plugin for Lua support"
|
||||
install -dm755 $pkgdir/usr/bin
|
||||
install -dm755 $pkgdir/usr/bin
|
||||
install -Dm755 $pkgbase-$pkgver/lua_plugin.so $pkgdir/usr/lib/uwsgi/lua_plugin.so
|
||||
ln -s uwsgi $pkgdir/usr/bin/uwsgi_lua
|
||||
}
|
||||
|
||||
package_uwsgi-plugin-php(){
|
||||
depends=(uwsgi-plugin-common php-embed libyaml jansson)
|
||||
replace=(uswgi-plugin-php)
|
||||
pkgdesc="Plugin for PHP support"
|
||||
install -dm755 $pkgdir/usr/bin
|
||||
install -Dm755 $pkgbase-$pkgver/php_plugin.so $pkgdir/usr/lib/uwsgi/php_plugin.so
|
||||
ln -s uwsgi $pkgdir/usr/bin/uwsgi_${pkgname#uwsgi-plugin-}
|
||||
}
|
||||
|
||||
package_uwsgi-plugin-carbon(){
|
||||
depends=(uwsgi-plugin-common)
|
||||
pkgdesc="Plugin for Carbon support"
|
||||
install -dm755 $pkgdir/usr/bin
|
||||
install -Dm755 $pkgbase-$pkgver/carbon_plugin.so $pkgdir/usr/lib/uwsgi/carbon_plugin.so
|
||||
ln -s uwsgi $pkgdir/usr/bin/uwsgi_${pkgname#uwsgi-plugin-}
|
||||
}
|
||||
|
||||
package_uwsgi-plugin-rrdtool(){
|
||||
depends=(uwsgi-plugin-common rrdtool)
|
||||
pkgdesc="Plugin for Rrdtool support"
|
||||
install -dm755 $pkgdir/usr/bin
|
||||
install -Dm755 $pkgbase-$pkgver/rrdtool_plugin.so $pkgdir/usr/lib/uwsgi/rrdtool_plugin.so
|
||||
ln -s uwsgi $pkgdir/usr/bin/uwsgi_${pkgname#uwsgi-plugin-}
|
||||
}
|
||||
|
||||
#package_uwsgi-plugin-erlang(){
|
||||
# depends=(uwsgi-plugin-common erlang)
|
||||
# pkgdesc="Plugin for Erlang support"
|
||||
# install -dm755 $pkgdir/usr/bin
|
||||
# install -Dm755 $pkgbase-$pkgver/erlang_plugin.so $pkgdir/usr/lib/uwsgi/erlang_plugin.so
|
||||
# ln -s uwsgi $pkgdir/usr/bin/uwsgi_${pkgname#uwsgi-plugin-}
|
||||
#}
|
||||
|
||||
|
||||
package_uwsgi-plugin-pam(){
|
||||
depends=(uwsgi-plugin-common)
|
||||
pkgdesc="Plugin for Pam support"
|
||||
install -dm755 $pkgdir/usr/bin
|
||||
install -Dm755 $pkgbase-$pkgver/pam_plugin.so $pkgdir/usr/lib/uwsgi/pam_plugin.so
|
||||
ln -s uwsgi $pkgdir/usr/bin/uwsgi_${pkgname#uwsgi-plugin-}
|
||||
}
|
||||
|
||||
package_uwsgi-plugin-jvm(){
|
||||
depends=(uwsgi-plugin-common java-environment=7 classpath)
|
||||
pkgdesc="Plugin for Jvm support"
|
||||
install -dm755 $pkgdir/usr/bin
|
||||
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-zergpool(){
|
||||
depends=(uwsgi-plugin-common)
|
||||
pkgdesc="Plugin for zergpool support"
|
||||
install -dm755 $pkgdir/usr/bin
|
||||
install -Dm755 $pkgbase-$pkgver/zergpool_plugin.so $pkgdir/usr/lib/uwsgi/zergpool_plugin.so
|
||||
ln -s uwsgi $pkgdir/usr/bin/uwsgi_${pkgname#uwsgi-plugin-}
|
||||
}
|
||||
|
||||
package_uwsgi-plugin-gevent() {
|
||||
depends=(uwsgi-plugin-common gevent)
|
||||
pkgdesc="Plugin for gevent support"
|
||||
install -dm755 $pkgdir/usr/bin
|
||||
install -Dm755 $pkgbase-$pkgver/gevent_plugin.so $pkgdir/usr/lib/uwsgi/gevent_plugin.so
|
||||
ln -s uwsgi $pkgdir/usr/bin/uwsgi_${pkgname#uwsgi-plugin-}
|
||||
}
|
17
community/uwsgi/archlinux.ini
Normal file
17
community/uwsgi/archlinux.ini
Normal file
|
@ -0,0 +1,17 @@
|
|||
[uwsgi]
|
||||
inherit = core
|
||||
bin_name = uwsgi
|
||||
xml = true
|
||||
yaml = true
|
||||
json = true
|
||||
pcre = true
|
||||
routing = true
|
||||
debug = false
|
||||
sqlite3 = true
|
||||
ssl = true
|
||||
xml_implementation = libxml2
|
||||
yaml_implementation = auto
|
||||
malloc_implementation = libc
|
||||
embedded_plugins = echo, ping, http, corerouter
|
||||
plugin_dir = /usr/lib/uwsgi
|
||||
plugins = echo, ping, http, rack, psgi, corerouter, rbthreads, fiber, python, nagios, lua, cache, cgi, rpc, ugreen, carbon, rrdtool, pam, systemd_logger, php, fastrouter, router_uwsgi, router_redirect, router_basicauth, zergpool, router_rewrite, router_http, router_cache, rawrouter, router_static, sslrouter
|
4
community/uwsgi/emperor.ini
Normal file
4
community/uwsgi/emperor.ini
Normal file
|
@ -0,0 +1,4 @@
|
|||
[uwsgi]
|
||||
emperor = /etc/uwsgi/vassals
|
||||
uid = http
|
||||
gid = http
|
14
community/uwsgi/emperor.uwsgi.service
Normal file
14
community/uwsgi/emperor.uwsgi.service
Normal file
|
@ -0,0 +1,14 @@
|
|||
[Unit]
|
||||
Description=uWSGI Emperor
|
||||
After=syslog.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/uwsgi --ini /etc/uwsgi/emperor.ini
|
||||
Restart=always
|
||||
KillSignal=SIGQUIT
|
||||
Type=notify
|
||||
StandardError=syslog
|
||||
NotifyAccess=main
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
9
community/uwsgi/emperor.uwsgi.socket
Normal file
9
community/uwsgi/emperor.uwsgi.socket
Normal file
|
@ -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
|
1
community/uwsgi/tmpfilesd
Normal file
1
community/uwsgi/tmpfilesd
Normal file
|
@ -0,0 +1 @@
|
|||
d /run/uwsgi 0775 root http - -
|
12
community/uwsgi/uwsgi.install
Normal file
12
community/uwsgi/uwsgi.install
Normal file
|
@ -0,0 +1,12 @@
|
|||
post_install(){
|
||||
systemd-tmpfiles --create /usr/lib/tmpfiles.d/uwsgi.conf
|
||||
}
|
||||
post_update(){
|
||||
echo "To use uwsgi@.socket and uwsgi@.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."
|
||||
}
|
14
community/uwsgi/uwsgi@.service
Normal file
14
community/uwsgi/uwsgi@.service
Normal file
|
@ -0,0 +1,14 @@
|
|||
[Unit]
|
||||
Description=uWSGI service unit
|
||||
After=syslog.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/uwsgi --ini /etc/uwsgi/%I.ini
|
||||
Restart=always
|
||||
Type=notify
|
||||
StandardError=syslog
|
||||
NotifyAccess=main
|
||||
KillSignal=SIGQUIT
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
9
community/uwsgi/uwsgi@.socket
Normal file
9
community/uwsgi/uwsgi@.socket
Normal file
|
@ -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
|
66
community/uwsgi/uwsgi_fix_rpath.patch
Normal file
66
community/uwsgi/uwsgi_fix_rpath.patch
Normal file
|
@ -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()
|
||||
|
42
community/uwsgi/uwsgi_ruby20_compatibility.patch
Normal file
42
community/uwsgi/uwsgi_ruby20_compatibility.patch
Normal file
|
@ -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:
|
16
community/uwsgi/uwsgi_trick_chroot.patch
Normal file
16
community/uwsgi/uwsgi_trick_chroot.patch
Normal file
|
@ -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_dir') + '/' + name + '_plugin'
|
||||
- else:
|
||||
- plugin_dest = name + '_plugin'
|
||||
+ plugin_dest = name + '_plugin'
|
||||
|
||||
shared_flag = '-shared'
|
||||
|
Loading…
Reference in a new issue