# Maintainer: DasSkelett # Contributor: Kasei Wang # Contributor: Bartłomiej Piotrowski # Contributor: Sébastien Luttringer # Contributor: Drew DeVault pkgname=nginx-quic pkgver=1.21.0 pkgrel=2 pkgdesc='Lightweight HTTP server and IMAP/POP3 proxy server, HTTP/3 QUIC branch' arch=('i686' 'x86_64') url='https://nginx.org' license=('custom') depends=('geoip' 'libxcrypt' 'mailcap' 'pcre' 'zlib') makedepends=('cmake' 'git' 'go' 'mercurial') 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') install=nginx.install provides=('nginx') conflicts=('nginx') source=("hg+https://hg.nginx.org/nginx-quic#revision=60c6e8d8d3ae" "git+https://boringssl.googlesource.com/boringssl#commit=3dd9864feace08641e1f856edd2bcca63ba7887f" "service" "logrotate") sha256sums=('SKIP' 'SKIP' '05fdc0c0483410944b988d7f4beabb00bec4a44a41bd13ebc9b78585da7d3f9b' 'b9af19a75bbeb1434bba66dd1a11295057b387a2cbff4ddf46253133909c311e') _common_flags=( --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_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_ssl_module --with-threads ) _mainline_flags=( --with-stream_ssl_preread_module --with-stream_geoip_module --with-stream_realip_module ) _quic_flags=( --with-http_v3_module --with-http_quic_module --with-stream_quic_module ) prepare() { # Upstream hasn't merged the 1.20.0 update into the nginx-quic branch yet; do it manually cd ${srcdir}/$pkgname hg pull https://hg.nginx.org/nginx hg merge f5de03f308a6 # release-1.21.0 tag hg commit -u aur -m "[automated aur commit] Merged with default branch" } build() { # Clear -D_FORTIFY_SOURCE from build flags, it causes Boringssl tests to fail to compile export CPPFLAGS=${CPPFLAGS/-D_FORTIFY_SOURCE=[1-9]/-D_FORTIFY_SOURCE=0} export CXXFLAGS=${CXXFLAGS/-D_FORTIFY_SOURCE=[1-9]/-D_FORTIFY_SOURCE=0} export CXXFLAGS="$CXXFLAGS -fPIC" export CFLAGS="$CFLAGS -fPIC -Wno-stringop-overflow -Wno-array-parameter" cd ${srcdir}/boringssl mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Release ../ && make cd ${srcdir}/boringssl mkdir -p .openssl/lib && cd .openssl && ln -s ../include . && cd ../ cp ${srcdir}/boringssl/build/crypto/libcrypto.a ${srcdir}/boringssl/build/ssl/libssl.a .openssl/lib && cd .. cd ${srcdir}/$pkgname ./auto/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-openssl=${srcdir}/boringssl \ --with-cc-opt="-I../boringssl/include" \ --with-ld-opt="-L../boringssl/build/ssl -L../boringssl/build/crypto" \ ${_common_flags[@]} \ ${_mainline_flags[@]} \ ${_quic_flags[@]} touch ${srcdir}/boringssl/.openssl/include/openssl/ssl.h make } package() { cd $pkgname make DESTDIR="$pkgdir" install sed -e 's|\ "$pkgdir"/usr/share/man/man8/nginx.8.gz for i in ftdetect indent syntax; do install -Dm644 contrib/vim/${i}/nginx.vim \ "${pkgdir}/usr/share/vim/vimfiles/${i}/nginx.vim" done } # vim:set ts=2 sw=2 et: