# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]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> # ALARM: Kevin Mihelich <kevin@archlinuxarm.org> # - build armv7h and aarch64 with -fPIC pkgbase=nginx pkgname=(nginx nginx-src) pkgver=1.26.2 pkgrel=1 _tests_commit=2a607a31f583add7adfa1ac434a3f793d327ca6b arch=(x86_64) pkgdesc='Lightweight HTTP server and IMAP/POP3 proxy server' url='https://nginx.org' license=(BSD-2-Clause) makedepends=(mercurial pcre2 zlib openssl geoip mailcap libxcrypt) checkdepends=(perl perl-gd perl-io-socket-ssl perl-fcgi perl-cache-memcached perl-cryptx memcached ffmpeg coreutils) source=($url/download/nginx-$pkgver.tar.gz{,.asc} "hg+https://hg.nginx.org/nginx-tests#revision=${_tests_commit}" nginx.service logrotate) # https://nginx.org/en/pgp_keys.html validpgpkeys=('B0F4253373F8F6F510D42178520A9993A1C052F8' # Maxim Dounin <mdounin@mdounin.ru> '43387825DDB1BB97EC36BA5D007C8D7C15D87369' # Roman Arutyunyan <r.arutyunyan@f5.com> 'D6786CE303D9A9022998DC6CC8464D549AF75C0A' # Sergey Kandaurov <s.kandaurov@f5.com> '13C82A63B603576156E30A4EA0EA981B66B0D967') # Konstantin Pavlov <thresh@nginx.com> sha512sums=('470efe9ae5d6150ecbf133979c6c36415679a2156499a3b6820a85eb8f3038a8aa06f7b28ddd834cffb0e982f3ddc89e4b1649d536eba4f84019a72d4cfa3539' 'SKIP' '2c1efc38f4d36c10e7d13bb48e035246215c33213e42d733ef0c1bbbdbce71777b2430247d1c1fe922e03d10ce53c05fe555bd9fea547658e6c6d763af8d8b93' 'f469b3b14def666e955abf6f2d3c68a47631cad7bee90c92039ffe5bf629aa7e32bb4250844d52c0f963740fb07bf7fea5f8887cc1d5199403f07be6214fcb8d' '2f4dfcfa711b8bcbc5918ba635f5e430ef7132e66276261ade62bb1cba016967432c8dce7f84352cb8b07dc7c6b18f09177aa3eb92c8e358b2a106c8ca142fe9') _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-http_v3_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 ) prepare() { cp -r $pkgbase-$pkgver{,-src} } build() { cd $pkgbase-$pkgver [[ $CARCH == "armv7h" || $CARCH == "aarch64" ]] && CFLAGS+=" -fPIC" && CXXFLAGS+=" -fPIC" ./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[@]}" make } check() { cd nginx-tests local _jobs=$(nproc) (( _jobs > 16 )) && _jobs=16 TEST_NGINX_BINARY="$srcdir/$pkgbase-$pkgver/objs/nginx" prove -j "$_jobs" . } package_nginx() { depends=(glibc pcre2 zlib openssl geoip mailcap libxcrypt) 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) 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/$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 } 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" install -Dm644 $pkgbase-$pkgver/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE }