mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-18 22:54:00 +00:00
241 lines
9.1 KiB
Bash
241 lines
9.1 KiB
Bash
# Maintainer: Sven-Hendrik Haase <svenstaro@gmail.com>
|
|
# Maintainer: David Runge <dvzrv@archlinux.org>
|
|
# Contributor: 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>
|
|
# Contributor: David Runge <dave@sleepmap.de>
|
|
|
|
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
|
# - ripped out pypy stuff
|
|
# - dropped mono plugin
|
|
|
|
pkgbase=uwsgi
|
|
pkgname=(
|
|
uwsgi
|
|
uwsgi-plugin-rack
|
|
uwsgi-plugin-psgi
|
|
uwsgi-plugin-cgi
|
|
uwsgi-plugin-python
|
|
uwsgi-plugin-php
|
|
uwsgi-plugin-php7
|
|
uwsgi-plugin-lua51
|
|
uwsgi-plugin-jvm
|
|
uwsgi-plugin-webdav
|
|
uwsgi-plugin-zabbix
|
|
uwsgi-plugin-notfound
|
|
)
|
|
pkgver=2.0.19.1
|
|
pkgrel=10
|
|
pkgdesc="A full stack for building hosting services"
|
|
arch=(x86_64)
|
|
url="https://uwsgi-docs.readthedocs.io/en/latest/"
|
|
license=(GPL2)
|
|
makedepends=(
|
|
classpath
|
|
jansson
|
|
java-environment=7
|
|
libxcrypt
|
|
libxml2
|
|
lua51
|
|
openssl
|
|
pam
|
|
pcre
|
|
perl
|
|
php-embed
|
|
php7-embed
|
|
python
|
|
python-gevent
|
|
python-greenlet
|
|
ruby
|
|
systemd
|
|
util-linux
|
|
zlib
|
|
)
|
|
source=(
|
|
"https://projects.unbit.it/downloads/$pkgbase-$pkgver.tar.gz"
|
|
archlinux.ini
|
|
emperor.ini
|
|
emperor.uwsgi.service
|
|
emperor.uwsgi.socket
|
|
uwsgi_at.service
|
|
uwsgi_at.socket
|
|
uwsgi.logrotate
|
|
uwsgi.sysusers
|
|
uwsgi.tmpfiles
|
|
"${pkgbase}-1.9.13-ruby2.0.patch"
|
|
"${pkgbase}-2.0.19.1-php8.patch"
|
|
)
|
|
sha512sums=('e18359c5ea3606d5de7fb3a0074d777e1c4b41f51f4b1a21f1446f32253058d7924286d9ed8a159d4c6e6c0ea64df7fc3c70b2933c3433b9a9cce39737e702bf'
|
|
'f2be78fb77938ced8a4edb2899e4ee532bfc48cdc04b26a18c69e618bde869b19b546d1bf60decc5dc95de09de81a5bdd4f071501ce5c5d735eac158a995d5ed'
|
|
'd54c84838ddb2f389e115ebb81aa2583705c9e330f020e6583b496f9c271ed236b6820c2a065f2b55a79adbf13e262b9ff2428124a8044b8fa20ca29ca4930ac'
|
|
'068ada6281fdeb504fed7e47dae2729d047ed810bb596e5268c1821ad275cd32110e801e93e7ba0ee2d92dbc39e1954180cf43d88d2990d42b802ceb54b50a9e'
|
|
'592c85270f43b37e9c51aae126533830515b96fff9fcae969ee865fe173bd0550c7729530d5ff1e44ffee43cd5c78c96688ce091c677a4196379e24983c0180e'
|
|
'29e51d3f441bd8af23c9378bca6cb38376bbbf31bb3b07f318a04ea5620cf25d35d7799ba4a8ecff12634dccd903eef27a6957b932370706e35549f8fbcd2455'
|
|
'fb51a4d102a1bc7d9f7d4c4f310ee65076bcfbc94b47e2dafdf9b20e99a661c5f938185dcf698437d81409376f0276b966f09b13c8a29462c48612df43c3f3ef'
|
|
'937878372aa1556f6ba62ad7148d1681288c94d6cff609368a9e861dd4d4524330006a08ae5993441f7d3101170e3a0a681a4c8b3c2c13b364b8b1f81cf25117'
|
|
'9e9eab08199cf08810ec95b0697cd8817226986d1e3aeb54845c0140ea5887360580348f295060c0558fb2d6aaed26fec929ea36b28cfeaf2b3588ce40fec3df'
|
|
'4def9dcd06cfc2c6ce554add9d9545a01f3bb2681f0a2a6fc4ba68f91011111803a955cc41b5e70832ca448b196109368fdf874e81b7ec0edee4b51f864e16f7'
|
|
'162ca1be96282b32e8e6be919b6315bfd08954c491056958985bf99e7f5bdad3511665f059329d6cb6ef5d222f9aa11d4dc43c72e6a963ab941ada959fe8d964'
|
|
'91b9548bb24eb4fff86ff867121edab92b531db04dacf5402b9bd8849632edfbfa0878e244bf5d243f34dcd5ee0df0ad136c888a4f27984dd6a96fd7b5e0959e')
|
|
b2sums=('3f13da44081e85dfee01c827593656c0d1074a0217ca5fde5424ff36e0ae529d506f65a2bca658bd7df0a07520cae21cf8ce72ec85c767ec73304afd8a70b89e'
|
|
'4a1e79fd4d450de11079b305f1b82660c6632ca6a2f15e641ab1a404a3b867c2439aa6031cc95956ff75ac21960f8734d7b1bec28330fecbfe95af3023ec8a32'
|
|
'835a1036422e9821cd52ffdf5a6053bdd59fc700d473600bda60b6730746f6c0750c30c85f4139d3ea81c6b6dd10d6849f9406decee3179861c51aca90da6161'
|
|
'80aa3c4d3f0310f5029ac01690d2ba718d8c86fa49cd1b4f3fc1bd5ae9eadaed6562bf0a48a0fd611e92f100a8594e08fb4bae58e25765fc2eb648cdf1c60b35'
|
|
'b6838c0c91811d4b677bf0f558134c69015708c308ef7080df328f12b0b0d58ae6cdebe277c29b6d11c20cfeb0847a4934e3a8924323e57ed661d6e9f6656a34'
|
|
'6587282d48c53cff862951503c560fd3bfe2fbfe18d56af7b5fbf8299b2b99125101a866005ef1fbabe6af9640c200c5121949b3723865d8597a948ed3d650e8'
|
|
'24c61581bb922f8065a6ea73164ca5d0b6c63ab4ca7c265660b2ec257b69ff9dd4b0349572ff20f54950961b4286c77da36c1d2778698c80943cfd6ed6531b10'
|
|
'a8b7d003f66ed5c5b1b60d57c05339af3dcdcf346eab52760810086e17f6936dd29ed7fd26281657bc86ac6721c989cbfbaa8e81f97111c807bcd06baece3bf2'
|
|
'82e03ea95995cfa78abc4d930bd0c250f22788d9ca4dc0921cfbb44a965c0f851cbcc7a855e36ec6e6aa5bf33fbd313b4fe68a2f1c4b7935c2b297be25895324'
|
|
'9759827f7619358383bf0e68c955522c0054620f742f5122a59888fadfc0bc20bd587eab7a77bc73e8ee4d20cf8f02625c07f241462e8ab9c08f5af509daaef3'
|
|
'0068763ca5a2f1b60782f53070cbff8cf930e1463d9199b156b02413026bcdb3d923bffcbba063a26d620b8e734bdbd26a4c22776532546ad8c8e5c0c73bd7d6'
|
|
'1f070c1720381f08af2009d075aec17f08820820abf9f89eab1ce557610d51e3d5b9669467a0e4e8a484133fa49f6b90e48d174befb95da38a9d32aaf4674f87')
|
|
|
|
prepare() {
|
|
local _patch
|
|
|
|
cd "$pkgbase-$pkgver"
|
|
|
|
for _patch in ../*.patch; do
|
|
printf "Applying patch %s...\n" "${_patch}"
|
|
patch -Np1 -i "${_patch}"
|
|
done
|
|
|
|
# fix default lua pkgconfig name
|
|
sed -e 's/lua5.1/lua51/' \
|
|
-i plugins/lua/uwsgiplugin.py
|
|
# move ruby plugin to new location and fix its name
|
|
mv plugins/ruby{19,}
|
|
sed -e 's/ruby19/ruby/' \
|
|
-i plugins/ruby/uwsgiplugin.py
|
|
# duplicate the php plugin, so that we can modify it (and leave the php7
|
|
# version unmodified)
|
|
cp -av plugins/php{,7}
|
|
# remove the explicit lib version from the linking stage of the PHP plugin as
|
|
# we do not provide /usr/lib/libphp8.so
|
|
sed -e "s/ + php_version//" \
|
|
-i plugins/php/uwsgiplugin.py
|
|
# copy our custom build profile into place
|
|
cp -v ../archlinux.ini buildconf/
|
|
}
|
|
|
|
build() {
|
|
cd "$pkgbase-$pkgver"
|
|
python uwsgiconfig.py --verbose --build archlinux
|
|
# build php7 plugin separately and override php-config in use
|
|
UWSGICONFIG_PHPPATH='php-config7' \
|
|
python uwsgiconfig.py --verbose --plugin plugins/php7 archlinux php7
|
|
}
|
|
|
|
package_uwsgi() {
|
|
depends=('glibc' 'jansson' 'libcap.so' 'libcrypt.so' 'libpam.so' 'libxml2'
|
|
'libsystemd.so' 'libuuid.so' 'openssl' 'pcre' 'zlib')
|
|
backup=('etc/uwsgi/emperor.ini')
|
|
install=uwsgi.install
|
|
|
|
cd "$pkgbase-$pkgver"
|
|
install -vDm 755 "${pkgbase}" -t "$pkgdir/usr/bin/"
|
|
install -vDm 644 ../uwsgi_at.service "$pkgdir"/usr/lib/systemd/system/uwsgi@.service
|
|
install -vDm 644 ../uwsgi_at.socket "$pkgdir"/usr/lib/systemd/system/uwsgi@.socket
|
|
install -vDm 644 ../emperor.uwsgi.service "$pkgdir"/usr/lib/systemd/system/emperor.uwsgi.service
|
|
install -vDm 644 ../emperor.uwsgi.socket "$pkgdir"/usr/lib/systemd/system/emperor.uwsgi.socket
|
|
install -vDm 644 ../emperor.ini -t "$pkgdir"/etc/uwsgi/
|
|
install -vDm 644 ../uwsgi.tmpfiles "$pkgdir"/usr/lib/tmpfiles.d/uwsgi.conf
|
|
install -vDm 644 ../uwsgi.logrotate "$pkgdir"/etc/logrotate.d/uwsgi
|
|
install -vDm 644 ../uwsgi.sysusers "$pkgdir"/usr/lib/sysusers.d/uwsgi.conf
|
|
}
|
|
|
|
package_uwsgi-plugin-cgi() {
|
|
pkgdesc+=" (CGI plugin)"
|
|
depends=('glibc' 'uwsgi')
|
|
|
|
cd "$pkgbase-$pkgver"
|
|
install -vDm 755 cgi_plugin.so -t "$pkgdir"/usr/lib/uwsgi/
|
|
}
|
|
|
|
package_uwsgi-plugin-rack() {
|
|
depends=('glibc' 'ruby' 'uwsgi')
|
|
pkgdesc="Ruby rack plugin"
|
|
|
|
cd "$pkgbase-$pkgver"
|
|
install -vDm 755 {rack,fiber,rbthreads}_plugin.so -t "$pkgdir"/usr/lib/uwsgi/
|
|
}
|
|
|
|
package_uwsgi-plugin-psgi() {
|
|
pkgdesc+=" (Perl psgi plugin)"
|
|
depends=('glibc' 'perl' 'uwsgi')
|
|
|
|
cd "$pkgbase-$pkgver"
|
|
install -vDm 755 psgi_plugin.so -t "$pkgdir"/usr/lib/uwsgi/
|
|
}
|
|
|
|
package_uwsgi-plugin-python() {
|
|
local site_packages=$(python -c "import site; print(site.getsitepackages()[0])")
|
|
|
|
pkgdesc+=" (Python plugin)"
|
|
depends=('glibc' 'python' 'python-gevent' 'python-greenlet' 'uwsgi')
|
|
|
|
cd "$pkgbase-$pkgver"
|
|
install -vDm 755 {asyncio,gevent,greenlet,python}_plugin.so -t "$pkgdir"/usr/lib/uwsgi/
|
|
install -vDm 644 uwsgidecorators.py -t "${pkgdir}${site_packages}"
|
|
python -m compileall "${pkgdir}${site_packages}"
|
|
python -O -m compileall "${pkgdir}${site_packages}"
|
|
}
|
|
|
|
package_uwsgi-plugin-lua51() {
|
|
pkgdesc+=" (LUA plugin)"
|
|
depends=('glibc' 'lua51' 'uwsgi')
|
|
|
|
cd "$pkgbase-$pkgver"
|
|
install -vDm 755 lua_plugin.so -t "$pkgdir"/usr/lib/uwsgi/
|
|
}
|
|
|
|
package_uwsgi-plugin-php() {
|
|
pkgdesc+=" (PHP plugin)"
|
|
depends=('glibc' 'php-embed' 'uwsgi')
|
|
|
|
cd "$pkgbase-$pkgver"
|
|
install -vDm 755 php_plugin.so -t "$pkgdir"/usr/lib/uwsgi/
|
|
}
|
|
|
|
package_uwsgi-plugin-php7() {
|
|
pkgdesc+=" (PHP7 plugin)"
|
|
depends=('glibc' 'php7-embed' 'uwsgi')
|
|
|
|
cd "$pkgbase-$pkgver"
|
|
install -vDm 755 php7_plugin.so -t "$pkgdir"/usr/lib/uwsgi/
|
|
}
|
|
|
|
package_uwsgi-plugin-jvm() {
|
|
pkgdesc+=" (JVM plugin)"
|
|
depends=('classpath' 'glibc' 'uwsgi' 'java-environment=7')
|
|
|
|
cd "$pkgbase-$pkgver"
|
|
install -vDm 755 jvm_plugin.so -t "$pkgdir"/usr/lib/uwsgi/
|
|
install -vDm 644 plugins/jvm/uwsgi.jar -t "$pkgdir"/usr/share/java/
|
|
}
|
|
|
|
package_uwsgi-plugin-webdav() {
|
|
pkgdesc+=" (WebDav plugin)"
|
|
depends=('glibc' 'libxml2' 'uwsgi')
|
|
|
|
cd "$pkgbase-$pkgver"
|
|
install -vDm 755 webdav_plugin.so -t "$pkgdir"/usr/lib/uwsgi/
|
|
}
|
|
|
|
package_uwsgi-plugin-zabbix() {
|
|
pkgdesc+=" (zabbix plugin)"
|
|
depends=('glibc' 'uwsgi')
|
|
|
|
cd "$pkgbase-$pkgver"
|
|
install -vDm 755 zabbix_plugin.so -t "$pkgdir"/usr/lib/uwsgi/
|
|
}
|
|
|
|
package_uwsgi-plugin-notfound() {
|
|
pkgdesc+=" (notfound plugin)"
|
|
depends=('uwsgi')
|
|
|
|
cd "$pkgbase-$pkgver"
|
|
install -vDm 755 notfound_plugin.so -t "$pkgdir"/usr/lib/uwsgi/
|
|
}
|