# Template file for 'nginx' pkgname=nginx version=1.20.2 revision=3 _tests_commit=18ac4d9e5a2a create_wrksrc=yes build_wrksrc="nginx-${version}" build_style=gnu-makefile hostmakedepends="openssl-devel pcre-devel $(vopt_if geoip geoip-devel)" makedepends="${hostmakedepends}" checkdepends="perl perl-IO-Socket-SSL perl-GD perl-FCGI which" short_desc="High performance web and reverse proxy server" maintainer="Duncaen " license="BSD-2-Clause" homepage="https://nginx.org" distfiles="https://nginx.org/download/nginx-${version}.tar.gz https://hg.nginx.org/nginx-tests/archive/${_tests_commit}.tar.gz" checksum="958876757782190a1653e14dc26dfc7ba263de310e04c113e11e97d1bef45a42 e34ef2f38512e1c04ee201c3b68f7ba7ec8f1537dc6a500278bc2219ab435228" # Tests fail when nginx run as root and there is no nginx user make_check=ci-skip # NOTE: # On update, the pregenerated header file for ARM may need synchronization. # See srcpkgs/nginx/files/ngx_auto_config.h.armv6l.patch for more information. conf_files="/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" system_accounts="nginx" nginx_homedir="/var/tmp/nginx" make_dirs="/var/log/nginx 0750 root root /var/tmp 1777 root root /var/tmp/nginx 0750 nginx root" build_options="geoip stream slice" desc_option_stream="Enable support for stream proxies" desc_option_slice="Enable support for slice filters" build_options_default="geoip stream slice" do_configure() { local cfgdir=/etc/nginx local tmpdir=/var/tmp/nginx if [ "$CROSS_BUILD" ]; then # fake configure run on host unset CC CPP LD CFLAGS CPPFLAGS LDFLAGS fi local stream_modules="\ --with-stream \ --with-stream_realip_module \ --with-stream_ssl_module \ --with-stream_ssl_preread_module \ $(vopt_if geoip --with-stream_geoip_module) \ " ./configure --prefix=${cfgdir} \ --conf-path=${cfgdir}/nginx.conf \ --sbin-path=/usr/bin/nginx \ --pid-path=/run/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --user=nginx --group=nginx \ --http-log-path=/var/log/nginx/access.log \ --error-log-path=/var/log/nginx/error.log \ --http-client-body-temp-path=${tmpdir}/client-body \ --http-proxy-temp-path=${tmpdir}/proxy \ --http-fastcgi-temp-path=${tmpdir}/fastcgi \ --http-scgi-temp-path=${tmpdir}/scgi \ --http-uwsgi-temp-path=${tmpdir}/uwsgi \ --with-compat \ --with-file-aio \ --with-http_dav_module \ --with-http_gunzip_module \ --with-http_gzip_static_module \ --with-http_realip_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-threads \ $(vopt_if geoip --with-http_geoip_module) \ $(vopt_if stream "$stream_modules") \ $(vopt_if slice --with-http_slice_module) } pre_build() { if [ "$CROSS_BUILD" ]; then case "$XBPS_TARGET_MACHINE" in arm*) cp "${FILESDIR}/ngx_auto_config.h.armv6l" objs/ngx_auto_config.h;; aarch64*) cp "${FILESDIR}/ngx_auto_config.h.aarch64" objs/ngx_auto_config.h;; esac fi sed -i 's/-lcrypt/$(LDFLAGS) &/' objs/Makefile } do_check() { TEST_NGINX_BINARY="$PWD/objs/nginx" \ prove -j ${XBPS_MAKEJOBS} "../${pkgname}-tests-${_tests_commit}" } post_install() { sed -e 's|\