# Template file for 'nginx' # # Consider using mime.types from mime-types package # See comments in mime-types template pkgname=nginx version=1.24.0 revision=5 _tests_commit=36a4563f7f00 _njs_version=0.7.12 create_wrksrc=yes build_wrksrc="nginx-${version}" build_style=gnu-makefile _cfgdir=/etc/nginx _tmpdir=/var/lib/nginx/tmp configure_args="--prefix=${_cfgdir} --conf-path=${_cfgdir}/nginx.conf --sbin-path=/usr/bin/nginx --modules-path=/usr/lib/nginx/modules --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_auth_request_module --with-http_dav_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_realip_module --with-http_ssl_module --with-http_slice_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-http_xslt_module=dynamic --with-http_geoip_module=dynamic --with-http_perl_module=dynamic --with-openssl-opt=enable-ktls --with-stream=dynamic --with-stream_geoip_module=dynamic --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-mail --with-mail_ssl_module --with-pcre-jit --with-threads --add-dynamic-module=../njs-${_njs_version}/nginx" hostmakedepends="geoip geoip-devel openssl-devel pcre2-devel perl libxslt-devel which" makedepends="${hostmakedepends}" checkdepends="perl perl-IO-Socket-SSL perl-GD perl-FCGI which uwsgi uwsgi-python3" short_desc="High performance web and reverse proxy server" maintainer="Duncaen " license="BSD-2-Clause" homepage="https://nginx.org" changelog="https://nginx.org/en/CHANGES-${version%.*}" distfiles="https://nginx.org/download/nginx-${version}.tar.gz https://hg.nginx.org/nginx-tests/archive/${_tests_commit}.tar.gz https://hg.nginx.org/njs/archive/${_njs_version}.tar.gz" checksum="77a2541637b92a621e3ee76776c8b7b40cf6d707e69ba53a940283e30ff2f55d a90641a75314427b6c02e3a5e811c66d6fe7c0cad93752a6a2725d0129e08fbf af648336c236f625311edcd90b83f37702fadad160c2a5ed57b34656609e918a" # Tests fail when nginx run as root and there is no nginx user make_check=ci-skip if [ "$XBPS_TARGET_LIBC" = "glibc" ]; then hostmakedepends+=" libxcrypt-devel" makedepends+=" libxcrypt-devel" fi # 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/lib/nginx" make_dirs="/var/log/nginx 0750 root root /var/lib/nginx 1777 root root /var/lib/nginx/tmp 0750 nginx root" do_configure() { if [ "$CROSS_BUILD" ]; then # fake configure run on host unset CC CPP LD CFLAGS CPPFLAGS LDFLAGS local perlprefix=${XBPS_STATEDIR}/perlprefix-${XBPS_TARGET_MACHINE} mkdir -p $perlprefix if [ -d "$XBPS_CROSS_BASE/usr/lib/perl5/core_perl" ]; then cp "$XBPS_CROSS_BASE/usr/lib/perl5/core_perl/Config"*.p? $perlprefix cp "$XBPS_CROSS_BASE/usr/lib/perl5/core_perl/Errno.pm" $perlprefix sed -i -e "s;archlibexp => '\(.*\)';archlibexp => '${XBPS_CROSS_BASE}\1';" \ ${perlprefix}/Config.pm sed -i -e "s;^archlibexp='\(.*\)';archlibexp='${XBPS_CROSS_BASE}\1';" \ ${perlprefix}/Config_heavy.pl else cp "/usr/lib/perl5/core_perl/Config"*.p? $perlprefix cp "/usr/lib/perl5/core_perl/Errno.pm" $perlprefix fi export PERL5LIB=$perlprefix fi ./configure ${configure_args} ( cd ../njs-${_njs_version} && ./configure ) } pre_build() { if [ "$CROSS_BUILD" ]; then mkdir -p ../njs-${_njs_version}/build case "$XBPS_TARGET_MACHINE" in arm*) cp "${FILESDIR}/ngx_auto_config.h.armv6l" objs/ngx_auto_config.h cp "${FILESDIR}/njs_auto_config.h.armv6l" ../njs-${_njs_version}/build/njs_auto_config.h ;; aarch64*) cp "${FILESDIR}/ngx_auto_config.h.aarch64" objs/ngx_auto_config.h cp "${FILESDIR}/njs_auto_config.h.aarch64" ../njs-${_njs_version}/build/njs_auto_config.h ;; esac sed -i "s:-I/usr:-I${XBPS_CROSS_BASE}/usr:" objs/Makefile fi sed -i 's/-lcrypt/$(LDFLAGS) &/' objs/Makefile export LD="$CC" ( cd ../njs-${_njs_version} make ${makejobs} NJS_CC="$CC" NJS_CFLAGS="$CFLAGS -fPIC" \ NJS_STATIC_LINK="$AR -r -c" NJS_LINK="$CC -O" ) } do_check() { TEST_NGINX_BINARY="$PWD/objs/nginx" \ prove -j ${XBPS_MAKEJOBS} "../${pkgname}-tests-${_tests_commit}" } post_install() { sed -e 's|\