jobextra/nginx/PKGBUILD

167 lines
5.0 KiB
Bash

#!/usr/bin/bash
# JOBoRun : Jwm OpenBox Obarun RUNit
# Maintainer : Joe Bo Run <joborun@disroot.org>
# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobextra/$pkgname"
# Website : https://pozol.eu
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgname=nginx
pkgver=1.24.0
pkgrel=03
# update tests revision too
pkgdesc="Lightweight HTTP server and IMAP/POP3 proxy server w/o systemd or ipv6"
provides=("nginx=${pkgver}")
#url='https://github.com/cuber/ngx_http_google_filter_module'
url="http://nginx.org"
makedepends=(mercurial pcre2 zlib openssl geoip mailcap libxcrypt)
checkdepends=(perl perl-gd perl-io-socket-ssl perl-fcgi perl-cache-memcached
memcached ffmpeg)
backup=(etc/nginx/fastcgi.conf
etc/nginx/fastcgi_params
etc/nginx/koi-win
etc/nginx/koi-utf
etc/nginx/mime.types
etc/nginx/nginx.conf
etc/nginx/scgi_params
etc/nginx/uwsgi_params
etc/nginx/win-utf
etc/logrotate.d/nginx)
#install=nginx.install
source=($url/download/${pkgname}-${pkgver}.tar.gz{,.asc}
hg+https://hg.nginx.org/nginx-tests#revision=24482e311749
logrotate
# https://hg.nginx.org/nginx/rev/cdda286c0f1b CVE-2023-44487
HTTP2_per-iteration-stream-handling-limit.patch::https://hg.nginx.org/nginx/raw-rev/cdda286c0f1b)
_common_flags=(
--with-compat
--with-debug
--with-file-aio
--with-http_addition_module
--with-http_auth_request_module
--with-http_dav_module
--with-http_degradation_module
--with-http_flv_module
--with-http_geoip_module
--with-http_gunzip_module
--with-http_gzip_static_module
--with-http_mp4_module
--with-http_random_index_module
--with-http_realip_module
--with-http_secure_link_module
--with-http_slice_module
--with-http_ssl_module
--with-http_stub_status_module
--with-http_sub_module
--with-http_v2_module
--with-mail
--with-mail_ssl_module
--with-pcre-jit
--with-stream
--with-stream_geoip_module
--with-stream_realip_module
--with-stream_ssl_module
--with-stream_ssl_preread_module
--with-threads
)
_stable_flags=(
)
prepare() {
cp -r $pkgbase-$pkgver{,-src}
cd $pkgbase-$pkgver
patch -Np1 -i "$srcdir/HTTP2_per-iteration-stream-handling-limit.patch"
}
build() {
cd $pkgname-$pkgver
./configure \
--prefix=/etc/nginx \
--conf-path=/etc/nginx/nginx.conf \
--sbin-path=/usr/bin/nginx \
--pid-path=/run/nginx.pid \
--lock-path=/run/lock/nginx.lock \
--user=http \
--group=http \
--http-log-path=/var/log/nginx/access.log \
--error-log-path=stderr \
--http-client-body-temp-path=/var/lib/nginx/client-body \
--http-proxy-temp-path=/var/lib/nginx/proxy \
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
--http-scgi-temp-path=/var/lib/nginx/scgi \
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi \
--with-cc-opt="$CFLAGS $CPPFLAGS" \
--with-ld-opt="$LDFLAGS" \
${_common_flags[@]} \
${_stable_flags[@]}
make
}
# last test failed in 1.24.0 rerun without tests
#check() {
# cd nginx-tests
# TEST_NGINX_BINARY="$srcdir/$pkgbase-$pkgver/objs/nginx" prove .
#}
package() {
pkgdesc='Lightweight HTTP server and IMAP/POP3 proxy server'
depends=(pcre2 zlib openssl geoip mailcap libxcrypt)
cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install
sed -e 's|\<user\s\+\w\+;|user http;|g' \
-e '44s|html|/usr/share/nginx/html|' \
-e '54s|html|/usr/share/nginx/html|' \
-i "$pkgdir"/etc/nginx/nginx.conf
rm "$pkgdir"/etc/nginx/*.default
rm "$pkgdir"/etc/nginx/mime.types # in mailcap
install -d "$pkgdir"/var/lib/nginx
install -dm700 "$pkgdir"/var/lib/nginx/proxy
chmod 755 "$pkgdir"/var/log/nginx
chown root:root "$pkgdir"/var/log/nginx
install -d "$pkgdir"/usr/share/nginx
mv "$pkgdir"/etc/nginx/html/ "$pkgdir"/usr/share/nginx
install -Dm644 ../logrotate "$pkgdir"/etc/logrotate.d/nginx
# install -Dm644 ../google.conf "$pkgdir"/etc/nginx/google.conf
install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
rmdir "$pkgdir"/run
install -Dm0644 objs/nginx.8 "$pkgdir"/usr/share/man/man8/nginx.8
for i in ftdetect ftplugin indent syntax; do
install -Dm644 contrib/vim/$i/nginx.vim \
"$pkgdir/usr/share/vim/vimfiles/$i/nginx.vim"
done
}
#---- arch license gpg-key & sha256sums ----
arch=(x86_64)
license=(custom)
# https://nginx.org/en/pgp_keys.html
validpgpkeys=(B0F4253373F8F6F510D42178520A9993A1C052F8 # Maxim Dounin <mdounin@mdounin.ru>
13C82A63B603576156E30A4EA0EA981B66B0D967) # Konstantin Pavlov <thresh@nginx.com>
sha256sums=(77a2541637b92a621e3ee76776c8b7b40cf6d707e69ba53a940283e30ff2f55d # nginx-1.24.0.tar.gz
91ed170a5e8745fcd32eb60aefa6d60dfd572ac3e4c9bdbfc4bedd78c24f213c # nginx-1.24.0.tar.gz.asc
SKIP # nginx tests (directory)
06ebe161af3e761f2e2e35a67c6c0af27bf61aea7cd4ba8b28372ced5e3b3175 # logrotate
af8e804540e808c7b07b324394ae0d782f46fe6dc67808b3bc978d01dce90b28) # HTTP2_per-iteration-stream-handling-limit.patch
## d35644efcaa928a83335cd5219b8263976dd25ec3eac3f0378f644a8f8243722 nginx-1.24.0-03-x86_64.pkg.tar.lz