0

Initial commit

This commit is contained in:
eleksir
2023-11-19 18:01:40 +03:00
commit 80ec8a7529
586 changed files with 29486 additions and 0 deletions

14
uwsgi/README Normal file
View File

@@ -0,0 +1,14 @@
uWSGI is a fast, self-healing and developer/sysadmin-friendly
application container server coded in pure C. Born as a WSGI-only
server, over time it has evolved in a complete stack for
networked/clustered web applications, implementing message/object
passing, caching, RPC and process management. It uses the uwsgi (all
lowercase; included by default in Nginx and Cherokee web servers)
protocol for all the networking/interprocess communications.
uWSGI is designed to be fully modular. This means that different
plugins can be used in order to add compatibility with tons of different
technology on top of the same core.
This script builds plugins for Python 2.x, Python 3.x, Perl PSGI, and
Ruby Rack.

19
uwsgi/slack-desc Normal file
View File

@@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.
# Line up the first '|' above the ':' following the base package name, and
# the '|' on the right side marks the last column you can put a character in.
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
uwsgi: uwsgi (fast web application server)
uwsgi:
uwsgi: uWSGI is a fast, self-healing, developer/sysadmin-friendly application
uwsgi: server coded in pure C. Born as a WSGI-only server, over time it has
uwsgi: evolved in a complete stack for networked/clustered web applications,
uwsgi: implementing message/object passing, caching, RPC and process
uwsgi: management. It is designed to be fully modular.
uwsgi:
uwsgi: Homepage: https://uwsgi-docs.readthedocs.io/
uwsgi:
uwsgi:

3
uwsgi/slack-required Normal file
View File

@@ -0,0 +1,3 @@
perl-Coro
perl-AnyEvent
perl-local-lib

149
uwsgi/uwsgi.SlackBuild Executable file
View File

@@ -0,0 +1,149 @@
#!/bin/sh
# Slackware build script for uwsgi
# Copyright 2012-2017 Audrius Kažukauskas <audrius@neutrino.lt>
# Copyright 2023 Sergei Fedosoff <eleksir@gmail.com>
#
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=uwsgi
VERSION=${VERSION:-2.0.20}
BUILD=${BUILD:-1}
TAG=${TAG:-_EXs}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/EXs}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
# Build Python 2.x plugin.
PYTHON=${PYTHON:-no}
# Set this to "yes" if you want to build a plugin for Python 3.x. Requires
# python3 to be installed.
PYTHON3=${PYTHON3:-yes}
# Perl PSGI plugin.
PSGI=${PSGI:-yes}
# Build Ruby Rack plugin.
RACK=${RACK:-yes}
set -eu
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# Create build config file.
cat > buildconf/package.ini <<EOF
[uwsgi]
inherit = base
plugin_dir = /usr/lib$LIBDIRSUFFIX/uwsgi-$VERSION
embedded_plugins = null
EOF
# Build uWSGI core.
CFLAGS="-g $SLKCFLAGS -rdynamic" \
CXXFLAGS="-g $SLKCFLAGS -rdynamic" \
LDFLAGS="-rdynamic -Wl,--export-dynamic -Wl,-E -Wl,--no-as-needed -Wl,-O2" \
python uwsgiconfig.py --build package
install -D -m 0755 uwsgi $PKG/usr/bin/uwsgi
# Create directory for plugins.
mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/uwsgi-$VERSION
# Change the path, so that plugins would be placed inside $PKG.
sed -i "s|= /usr|= $PKG/usr|" buildconf/package.ini
# List of plugins to build.
PLUGINS="cache ping rpc corerouter fastrouter http ugreen signal syslog cgi"
# Decide which language plugins to build.
[ "$PYTHON" = "yes" ] && PLUGINS="$PLUGINS python"
[ "$PSGI" = "yes" ] && PLUGINS="$PLUGINS psgi coroae"
[ "$RACK" = "yes" ] && PLUGINS="$PLUGINS rack"
# Build plugins.
for PLUGIN in $PLUGINS ; do
CFLAGS="$SLKCFLAGS" \
python uwsgiconfig.py --plugin plugins/$PLUGIN package
done
# Use python3 to build plugin for it.
if [ "$PYTHON3" = "yes" ]; then
CFLAGS="$SLKCFLAGS" \
python3 uwsgiconfig.py --plugin plugins/python package python3
fi
# Create a few symlinks for automatic plugin loading.
( cd $PKG/usr/bin
[ "$PYTHON" = "yes" ] && ln -sf uwsgi uwsgi_python || true
[ "$PYTHON3" = "yes" ] && ln -sf uwsgi uwsgi_python3 || true
[ "$PSGI" = "yes" ] && ln -sf uwsgi uwsgi_psgi || true
[ "$RACK" = "yes" ] && ln -sf uwsgi uwsgi_rack || true
)
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a LICENSE README $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/slack-required > $PKG/install/slack-required
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

10
uwsgi/uwsgi.info Normal file
View File

@@ -0,0 +1,10 @@
PRGNAM="uwsgi"
VERSION="2.0.20"
HOMEPAGE="https://uwsgi-docs.readthedocs.io/"
DOWNLOAD="https://projects.unbit.it/downloads/uwsgi-2.0.20.tar.gz"
MD5SUM="0093ff2a06ad47f0b1a2f1a7944285c9"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="perl-Coro perl-AnyEvent"
MAINTAINER="Sergei Fedosoff"
EMAIL="eleksir@gmail.com"