Re: [ITA] nginx

Brian Inglis via Cygwin-apps <[email protected]> Thu, 26 Feb 2026 11:23:10 -0700
Newsgroups gmane.os.cygwin.applications
Organization Systematic Software
Message-ID <[email protected]>
Please attach the cygport so we can be sure it is all there and read it without 
any MUA artifacts!

On 2026-02-26 03:28, xumouren225588--- via Cygwin-apps wrote:
> I edited the nginx.cygport, and then run these command:
> cygport nginx.cygport download
> cygport nginx.cygport all
> 
>>>> Checking packages for unexpected, missing or duplicate files
> *** Warning: Packages are missing files:
> -usr/lib/perl5/vendor_perl/5.40/x86_64-cygwin-threads/auto/nginx/nginx.dll
> -usr/lib/perl5/vendor_perl/5.40/x86_64-cygwin-threads/nginx.pm
> *** ERROR: Packages are missing files:

Normal build run is `cygport nginx get all check`

> This is my nginx.cygport:
> NAME="nginx"
> VERSION=1.28.2
> RELEASE=1

You need to add back *here*:

	inherit perl

as it can set variables already defined below, as it assumes you *ONLY* want to 
build a perl CPAN module, which is not all this package does;
it also sets the PERL_{{,ARCH,SITE,VENDOR}LIB,VENDORARCH} and other variables 
which you need;
that avoids the later *missing packages* messages.

You also need to provide access to the contents of the package dist directory by 
uploading to a public file sharing site, as previously stated:

nginx-1.28.2-1.x86_64/dist/nginx/...
	.../nginx-1.28.2-1-src.tar.xz
	.../nginx-1.28.2-1-src.hint
	.../nginx-1.28.2-1-x86_64.tar.xz
	.../nginx-1.28.2-1-x86_64.hint
	.../nginx-mod_http_image_filter/nginx-mod_http_image_filter-1.28.2-1-x86_64.tar.xz
	.../nginx-mod_http_image_filter/nginx-mod_http_image_filter-1.28.2-1-x86_64.hint
	.../nginx-mod_http_perl/nginx-mod_http_perl-1.28.2-1-x86_64.tar.xz
	.../nginx-mod_http_perl/nginx-mod_http_perl-1.28.2-1-x86_64.hint
	.../nginx-mod_http_xslt_filter/nginx-mod_http_xslt_filter-1.28.2-1-x86_64.tar.xz
	.../nginx-mod_http_xslt_filter/nginx-mod_http_xslt_filter-1.28.2-1-x86_64.hint
	.../nginx-mod_mail/nginx-mod_mail-1.28.2-1-x86_64.tar.xz
	.../nginx-mod_mail/nginx-mod_mail-1.28.2-1-x86_64.hint
	.../nginx-mod_stream/nginx-mod_stream-1.28.2-1-x86_64.tar.xz
	.../nginx-mod_stream/nginx-mod_stream-1.28.2-1-x86_64.hint

the same as cygport nginx upload but to a site where you have upload access!

> CATEGORY="Web"
> SUMMARY="Web and mail proxy server"
> DESCRIPTION="nginx [engine x] is an HTTP and reverse proxy server, a mail proxy
> server, and a generic TCP/UDP proxy server."
> HOMEPAGE="https://nginx.org/"
> LICENSE="BSD-2-Clause"
 >
> SRC_URI="http://nginx.org/download/${NAME}-${VERSION}.tar.gz"
> SRC_URI+=" nginx.init"
> PATCH_URI="
>       1.10.0-auto-os-cygwin.patch
>       1.10.0-conf-modules.patch
>       1.12.1-module-deps.patch
>       1.10.0-perl.patch
> "
> BUILD_REQUIRES="libcrypt-devel libgd-devel libpcre2-devel libssl-devel libxslt-devel perl zlib-devel"
> 
> PKG_NAMES="nginx"
> nginx_OBSOLETES="nginx-mod_http_geoip nginx-mod_stream_geoip" # GeoIP Legacy
> nginx_CONTENTS="
>       etc/defaults/etc/nginx/
>       etc/p*/*
>       etc/rc.d/init.d/nginx
>       usr/sbin/nginx.exe
>       usr/share/doc/${NAME}
>       usr/share/man/
>       usr/share/nginx/html/
>       var/lib/nginx/tmp
>       var/log/nginx
> "
> 
> modules=(http_image_filter http_perl http_xslt_filter mail stream)
> for mod in ${modules[*]}
> do
>       PKG_NAMES+=" nginx-mod_${mod}"
>       declare nginx_mod_${mod}_CONTENTS="
>                   usr/lib/nginx/modules/ngx_${mod}_module.so
>                   usr/share/nginx/modules/mod_${mod}.conf
>       "
> done
> nginx_mod_http_perl_CONTENTS+=" ${PERL_VENDORARCH#/}"
> 
> DEPS_PATH="/usr/sbin:/usr/lib/nginx/modules"
> 
> src_compile() {
>       lndirs
>       cd ${B}
>       ./configure \
>             --prefix=/usr/share/nginx \
>             --sbin-path=/usr/sbin/nginx.exe \
>             --modules-path=/usr/lib/nginx/modules \
>             --conf-path=/etc/nginx/nginx.conf \
>             --lock-path=/var/run/nginx.lock \
>             --pid-path=/var/run/nginx.pid \
>             --error-log-path=/var/log/nginx/error.log \
>             --http-log-path=/var/log/nginx/access.log \
>             --http-client-body-temp-path=/var/lib/nginx/tmp/client_body \
>             --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi \
>             --http-proxy-temp-path=/var/lib/nginx/tmp/proxy \
>             --http-scgi-temp-path=/var/lib/nginx/tmp/scgi \
>             --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi \
>             --with-http_ssl_module \
>             --with-http_v2_module \
>             --with-http_realip_module \
>             --with-http_addition_module \
>             --with-http_xslt_module=dynamic \
>             --with-http_image_filter_module=dynamic \
>             --with-http_sub_module \
>             --with-http_dav_module \
>             --with-http_flv_module \
>             --with-http_mp4_module \
>             --with-http_gunzip_module \
>             --with-http_gzip_static_module \
>             --with-http_auth_request_module \
>             --with-http_random_index_module \
>             --with-http_secure_link_module \
>             --with-http_degradation_module \
>             --with-http_slice_module \
>             --with-http_stub_status_module \
>             --with-http_perl_module=dynamic \
>             --with-mail=dynamic \
>             --with-mail_ssl_module \
>             --with-pcre \
>             --with-pcre-jit \
>             --with-stream=dynamic \
>             --with-stream_realip_module \
>             --with-stream_ssl_module \
>             --with-stream_ssl_preread_module \
>             --with-ipv6 \
>             --with-cc-opt="-DFD_SETSIZE=2048 -D_GNU_SOURCE"
> 
>       cygmake -f objs/Makefile binary
>       cygmake -f objs/Makefile
>       cygmake -f objs/Makefile objs/src/http/modules/perl/blib/arch/auto/nginx/nginx.dll
> }
> 
> src_install() {
>       cd ${B}
>       cyginstall
>       doman objs/nginx.8
> 
>       rm ${D}/etc/nginx/*.default
>       make_etc_defaults /etc/nginx
> 
>       exeinto /etc/rc.d/init.d
>       newexe ${S}/nginx.init nginx
> 
>       dodir /usr/share/nginx/modules
>       for mod in ${modules[*]}
>       do
>             echo "load_module \"/usr/lib/nginx/modules/ngx_${mod}_module.so\";" \
>                   > ${D}/usr/share/nginx/modules/mod_${mod}.conf
>       done
> }
> 
> src_test() {
>       :
> }
> 
> KEEPDIRS="/var/lib/nginx/tmp /var/log/nginx"


-- 
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retrancher  but when there is no more to cut
                                 -- Antoine de Saint-Exupéry