161 lines
5.2 KiB
Text
161 lines
5.2 KiB
Text
# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
|
|
# Maintainer: T.J. Townsend <blakkheim@archlinux.org>
|
|
# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
|
|
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
|
|
# Contributor: Sébastien Luttringer
|
|
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
|
|
# Contributor: Miroslaw Szot <mss@czlug.icis.pcz.pl>
|
|
# Contributor: Daniel Micay <danielmicay@gmail.com>
|
|
|
|
pkgbase=nginx
|
|
pkgname=(nginx nginx-src)
|
|
# update tests revision too
|
|
pkgver=1.24.0
|
|
pkgrel=3
|
|
arch=(x86_64)
|
|
url='https://nginx.org'
|
|
license=(custom)
|
|
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/nginx.conf
|
|
etc/nginx/scgi_params
|
|
etc/nginx/uwsgi_params
|
|
etc/nginx/win-utf
|
|
etc/logrotate.d/nginx)
|
|
source=($url/download/nginx-$pkgver.tar.gz{,.asc}
|
|
hg+https://hg.nginx.org/nginx-tests#revision=24482e311749
|
|
nginx.service
|
|
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)
|
|
# https://nginx.org/en/pgp_keys.html
|
|
validpgpkeys=('B0F4253373F8F6F510D42178520A9993A1C052F8' # Maxim Dounin <mdounin@mdounin.ru>
|
|
'13C82A63B603576156E30A4EA0EA981B66B0D967') # Konstantin Pavlov <thresh@nginx.com>
|
|
sha512sums=('1114e37de5664a8109c99cfb2faa1f42ff8ac63c932bcf3780d645e5ed32c0b2ac446f80305b4465994c8f9430604968e176ae464fd80f632d1cb2c8f6007ff3'
|
|
'SKIP'
|
|
'SKIP'
|
|
'ca7d8666177d31b6c4924e9ab44ddf3d5b596b51da04d38da002830b03bd176d49354bbdd2a496617d57f44111ad59833296af87d03ffe3fca6b99327a7b4c3c'
|
|
'2f4dfcfa711b8bcbc5918ba635f5e430ef7132e66276261ade62bb1cba016967432c8dce7f84352cb8b07dc7c6b18f09177aa3eb92c8e358b2a106c8ca142fe9'
|
|
'18b69643648119dfab45101bb9404be667aeb9d550aa3bc9706e63e7da1c2806106e9a6bbfb2d10bd57ef56b9b5b0b524059353ec30a51469b44641cb7dbd8a6')
|
|
|
|
_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 $pkgbase-$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
|
|
}
|
|
|
|
check() {
|
|
cd nginx-tests
|
|
TEST_NGINX_BINARY="$srcdir/$pkgbase-$pkgver/objs/nginx" prove .
|
|
}
|
|
|
|
package_nginx() {
|
|
pkgdesc='Lightweight HTTP server and IMAP/POP3 proxy server'
|
|
depends=(pcre2 zlib openssl geoip mailcap libxcrypt)
|
|
|
|
cd $pkgbase-$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 ../nginx.service "$pkgdir"/usr/lib/systemd/system/nginx.service
|
|
install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgbase/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
|
|
}
|
|
|
|
package_nginx-src() {
|
|
pkgdesc="Source code of nginx $pkgver, useful for building modules"
|
|
|
|
install -d "$pkgdir/usr/src"
|
|
cp -r $pkgbase-$pkgver-src "$pkgdir/usr/src/nginx"
|
|
}
|