diff --git a/www/angie-module-geoip2/Makefile b/www/angie-module-geoip2/Makefile new file mode 100644 --- /dev/null +++ b/www/angie-module-geoip2/Makefile @@ -0,0 +1,25 @@ +PORTNAME= angie-module-geoip2 + +COMMENT= Dynamic module geoip2 for Angie + +LIB_DEPENDS= libmaxminddb.so:net/libmaxminddb + +GH_TUPLE= leev:ngx_http_geoip2_module:3.4:module + +.include "${.CURDIR}/../angie/bsd.angie.mk" + +do-install: + ${MKDIR} ${STAGEDIR}${DOCSDIR} + ${MKDIR} ${STAGEDIR}${MODDIR} + +.for i in ngx_http_geoip2_module ngx_stream_geoip2_module + ${INSTALL_LIB} ${WRKSRC}/objs/${i}.so ${STAGEDIR}${MODDIR} +. if ${PORT_OPTIONS:MDEBUG} + ${INSTALL} ${COPY} -m ${_SHAREMODE} ${WRKSRC_DEBUG}/objs/${i}.so \ + ${STAGEDIR}${MODDIR}/${i}-debug.so +. endif +.endfor + + ${INSTALL_MAN} ${WRKSRC_module}/README.md ${STAGEDIR}${DOCSDIR} + +.include diff --git a/www/angie-module-geoip2/distinfo b/www/angie-module-geoip2/distinfo new file mode 100644 --- /dev/null +++ b/www/angie-module-geoip2/distinfo @@ -0,0 +1,5 @@ +TIMESTAMP = 1682688651 +SHA256 (angie-1.1.0.tar.gz) = 0441a3f6b589c05da65c75824e4c57e46b82cfc839bea9c0bf1c27773d56b9cf +SIZE (angie-1.1.0.tar.gz) = 1350759 +SHA256 (leev-ngx_http_geoip2_module-3.4_GH0.tar.gz) = ad72fc23348d715a330994984531fab9b3606e160483236737f9a4a6957d9452 +SIZE (leev-ngx_http_geoip2_module-3.4_GH0.tar.gz) = 8877 diff --git a/www/angie-module-geoip2/files/pkg-message.in b/www/angie-module-geoip2/files/pkg-message.in new file mode 100644 --- /dev/null +++ b/www/angie-module-geoip2/files/pkg-message.in @@ -0,0 +1,16 @@ +[ +{ type: install + message: < diff --git a/www/angie-module-headers-more/distinfo b/www/angie-module-headers-more/distinfo new file mode 100644 --- /dev/null +++ b/www/angie-module-headers-more/distinfo @@ -0,0 +1,5 @@ +TIMESTAMP = 1682688651 +SHA256 (angie-1.1.0.tar.gz) = 0441a3f6b589c05da65c75824e4c57e46b82cfc839bea9c0bf1c27773d56b9cf +SIZE (angie-1.1.0.tar.gz) = 1350759 +SHA256 (openresty-headers-more-nginx-module-v0.34_GH0.tar.gz) = 0c0d2ced2ce895b3f45eb2b230cd90508ab2a773299f153de14a43e44c1209b3 +SIZE (openresty-headers-more-nginx-module-v0.34_GH0.tar.gz) = 28827 diff --git a/www/angie-module-headers-more/files/pkg-message.in b/www/angie-module-headers-more/files/pkg-message.in new file mode 100644 --- /dev/null +++ b/www/angie-module-headers-more/files/pkg-message.in @@ -0,0 +1,15 @@ +[ +{ type: install + message: < diff --git a/www/angie-module-image-filter/distinfo b/www/angie-module-image-filter/distinfo new file mode 100644 --- /dev/null +++ b/www/angie-module-image-filter/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1682688652 +SHA256 (angie-1.1.0.tar.gz) = 0441a3f6b589c05da65c75824e4c57e46b82cfc839bea9c0bf1c27773d56b9cf +SIZE (angie-1.1.0.tar.gz) = 1350759 diff --git a/www/angie-module-image-filter/files/pkg-message.in b/www/angie-module-image-filter/files/pkg-message.in new file mode 100644 --- /dev/null +++ b/www/angie-module-image-filter/files/pkg-message.in @@ -0,0 +1,15 @@ +[ +{ type: install + message: < diff --git a/www/angie-module-perl/distinfo b/www/angie-module-perl/distinfo new file mode 100644 --- /dev/null +++ b/www/angie-module-perl/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1682688653 +SHA256 (angie-1.1.0.tar.gz) = 0441a3f6b589c05da65c75824e4c57e46b82cfc839bea9c0bf1c27773d56b9cf +SIZE (angie-1.1.0.tar.gz) = 1350759 diff --git a/www/angie-module-perl/files/patch-compound-token-warn b/www/angie-module-perl/files/patch-compound-token-warn new file mode 100644 --- /dev/null +++ b/www/angie-module-perl/files/patch-compound-token-warn @@ -0,0 +1,11 @@ +--- src/http/modules/perl/Makefile.PL.orig 2023-04-19 16:14:21.794655000 +0300 ++++ src/http/modules/perl/Makefile.PL 2023-04-19 16:14:44.661077000 +0300 +@@ -13,7 +13,7 @@ + ABSTRACT_FROM => 'nginx.pm', # retrieve abstract from module + AUTHOR => 'Igor Sysoev', + +- CCFLAGS => "$ENV{NGX_PM_CFLAGS}", ++ CCFLAGS => "$ENV{NGX_PM_CFLAGS} -Wno-compound-token-split-by-macro", + OPTIMIZE => '-O', + + LDDLFLAGS => "$ENV{NGX_PM_LDFLAGS}", diff --git a/www/angie-module-perl/files/pkg-message.in b/www/angie-module-perl/files/pkg-message.in new file mode 100644 --- /dev/null +++ b/www/angie-module-perl/files/pkg-message.in @@ -0,0 +1,15 @@ +[ +{ type: install + message: < diff --git a/www/angie-module-xslt/distinfo b/www/angie-module-xslt/distinfo new file mode 100644 --- /dev/null +++ b/www/angie-module-xslt/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1682688653 +SHA256 (angie-1.1.0.tar.gz) = 0441a3f6b589c05da65c75824e4c57e46b82cfc839bea9c0bf1c27773d56b9cf +SIZE (angie-1.1.0.tar.gz) = 1350759 diff --git a/www/angie-module-xslt/files/pkg-message.in b/www/angie-module-xslt/files/pkg-message.in new file mode 100644 --- /dev/null +++ b/www/angie-module-xslt/files/pkg-message.in @@ -0,0 +1,15 @@ +[ +{ type: install + message: < diff --git a/www/angie/bsd.angie.mk b/www/angie/bsd.angie.mk new file mode 100644 --- /dev/null +++ b/www/angie/bsd.angie.mk @@ -0,0 +1,129 @@ +PORTVERSION= 1.1.0 +CATEGORIES+= www +MASTER_SITES+= https://download.angie.software/files/:angie +DISTNAME= angie-${DISTVERSIONFULL} +DISTFILES+= ${DISTNAME}${EXTRACT_SUFX}:angie + +MAINTAINER?= oleg@mamontov.net +WWW?= https://angie.software/en/ + +LICENSE?= BSD2CLAUSE +.if ${PORTNAME} != angie +LICENSE_FILE?= ${WRKSRC_module}/LICENSE +.endif + +.if ${PORTNAME} == angie +LIB_DEPENDS+= libpcre2-8.so:devel/pcre2 +.else +BUILD_DEPENDS+= pcre2>=0:devel/pcre2 +RUN_DEPENDS+= angie==${PKGVERSION}:www/angie +.endif + +USES+= ssl +USE_GITHUB= nodefault + +HAS_CONFIGURE?= yes + +.if ${PORTNAME} != angie +CONFIGURE_ADD?= --add-dynamic-module=${WRKSRC_module} +.endif + +CONFIGURE_ARGS= --prefix=${PREFIX}/etc/angie \ + --conf-path=${PREFIX}/etc/angie/angie.conf \ + --error-log-path=${LOGDIR}/error.log \ + --http-log-path=${LOGDIR}/access.log \ + --lock-path=${RUNDIR}/angie.lock \ + --modules-path=${MODDIR} \ + --pid-path=${RUNDIR}/angie.pid \ + --sbin-path=${PREFIX}/sbin/angie \ + --http-client-body-temp-path=${CACHEDIR}/client_temp \ + --http-fastcgi-temp-path=${CACHEDIR}/fastcgi_temp \ + --http-proxy-temp-path=${CACHEDIR}/proxy_temp \ + --http-scgi-temp-path=${CACHEDIR}/scgi_temp \ + --http-uwsgi-temp-path=${CACHEDIR}/uwsgi_temp \ + --user=${WWWOWN} \ + --group=${WWWGRP} \ + --with-file-aio \ + --with-http_addition_module \ + --with-http_auth_request_module \ + --with-http_dav_module \ + --with-http_flv_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-mail \ + --with-mail_ssl_module \ + --with-stream \ + --with-stream_realip_module \ + --with-stream_ssl_module \ + --with-stream_ssl_preread_module \ + --with-threads \ + --with-cc-opt="-I ${LOCALBASE}/include" \ + --with-ld-opt="-L ${LOCALBASE}/lib" \ + ${CONFIGURE_ADD} + +ALL_TARGET?= modules + +PLIST_SUB+= CACHEDIR=${CACHEDIR} LOGDIR=${LOGDIR} \ + MODDIR=${MODDIR} RUNDIR=${RUNDIR} + +SUB_FILES?= pkg-message + +SUB_LIST+= CACHEDIR=${CACHEDIR} LOGDIR=${LOGDIR} \ + MODDIR=${MODDIR} RUNDIR=${RUNDIR} WWWOWN=${WWWOWN} + +OPTIONS_SUB= yes + +OPTIONS_DEFINE?= DEBUG +OPTIONS_DEFAULT?= DEBUG +DEBUG_DESC= Include debug version +WRKSRC_DEBUG= ${WRKSRC}-debug + +CACHEDIR= /var/cache/angie +LOGDIR= /var/log/angie +MODDIR= ${PREFIX}/libexec/angie +RUNDIR= /var/run + +.include + +.if ${PORT_OPTIONS:MDEBUG} + +. if !target(post-patch) +post-patch: + @cp -Rp ${WRKSRC} ${WRKSRC_DEBUG} +. endif + +. if !target(post-configure) +post-configure: + @(cd ${WRKSRC_DEBUG} && \ + ${SET_LATE_CONFIGURE_ARGS} \ + if ! ${SETENV} CC="${CC}" CPP="${CPP}" CXX="${CXX}" \ + CFLAGS="${CFLAGS} -g" CPPFLAGS="${CPPFLAGS}" CXXFLAGS="${CXXFLAGS}" \ + LDFLAGS="${LDFLAGS}" LIBS="${LIBS}" \ + INSTALL="/usr/bin/install -c" \ + INSTALL_DATA="${INSTALL_DATA}" \ + INSTALL_LIB="${INSTALL_LIB}" \ + INSTALL_PROGRAM="${INSTALL_PROGRAM}" \ + INSTALL_SCRIPT="${INSTALL_SCRIPT}" \ + ${CONFIGURE_ENV} ${CONFIGURE_CMD} ${CONFIGURE_ARGS} --with-debug; then \ + ${ECHO_MSG} "===> Script \"${CONFIGURE_SCRIPT}\" failed unexpectedly."; \ + (${ECHO_CMD} ${CONFIGURE_FAIL_MESSAGE}) | ${FMT_80} ; \ + ${FALSE}; \ + fi \ + ) +. endif + +. if !target(post-build) +post-build: + @(cd ${WRKSRC_DEBUG} && ${DO_MAKE_BUILD} ${ALL_TARGET}) +. endif + +.endif diff --git a/www/angie/distinfo b/www/angie/distinfo new file mode 100644 --- /dev/null +++ b/www/angie/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1682688650 +SHA256 (angie-1.1.0.tar.gz) = 0441a3f6b589c05da65c75824e4c57e46b82cfc839bea9c0bf1c27773d56b9cf +SIZE (angie-1.1.0.tar.gz) = 1350759 diff --git a/www/angie/files/angie.conf.sample.in b/www/angie/files/angie.conf.sample.in new file mode 100644 --- /dev/null +++ b/www/angie/files/angie.conf.sample.in @@ -0,0 +1,41 @@ +user %%WWWOWN%%; +worker_processes auto; +worker_rlimit_nofile 65536; + +error_log %%LOGDIR%%/error.log notice; +pid %%RUNDIR%%/angie.pid; + +events { + worker_connections 65536; +} + +http { + include %%ETCDIR%%/mime.types; + default_type application/octet-stream; + + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + log_format extended '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" rt="$request_time" ' + '"$http_user_agent" "$http_x_forwarded_for" ' + 'h="$host" sn="$server_name" ru="$request_uri" u="$uri" ' + 'ucs="$upstream_cache_status" ua="$upstream_addr" us="$upstream_status" ' + 'uct="$upstream_connect_time" urt="$upstream_response_time"'; + + access_log %%LOGDIR%%/access.log main; + + sendfile on; + #tcp_nopush on; + + keepalive_timeout 65; + + #gzip on; + + include %%ETCDIR%%/http.d/*.conf; +} + +#stream { +# include %%ETCDIR%%/stream.d/*.conf; +#} diff --git a/www/angie/files/angie.in b/www/angie/files/angie.in new file mode 100644 --- /dev/null +++ b/www/angie/files/angie.in @@ -0,0 +1,73 @@ +#!/bin/sh + +# PROVIDE: angie +# REQUIRE: LOGIN +# KEYWORD: shutdown + +# Add these lines to /etc/rc.conf.local or /etc/rc.conf +# to enable the service: +# +# angie_enable (bool): Set to "NO" by default. +# Set it to "YES" to enable angie. +# +# angie_flags (str): Set to "" by default. +# Extra flags passed to start command. + +. /etc/rc.subr + +name=angie +rcvar=angie_enable + +command=%%PREFIX%%/sbin/${name} +pidfile=%%RUNDIR%%/${name}.pid +required_files=%%ETCDIR%%/${name}.conf + +extra_commands="configtest reload upgrade" + +configtest_cmd=angie_config_check +upgrade_cmd="angie_upgrade" + +reload_precmd=angie_config_check +restart_precmd=angie_config_check +start_precmd=angie_config_check + +load_rc_config $name + +: ${angie_enable:=NO} +: ${angie_flags:=} +: ${angie_config_valid:=""} + +angie_config_check() { + [ -n "${angie_config_valid}" ] && return 0 + + echo "Checking config validity:" + eval ${command} ${angie_flags} -t || return 1 + + angie_config_valid=yes +} + +angie_upgrade() { + if [ ! -s ${pidfile} ]; then + echo "No running ${name} found." + return 1 + fi + + angie_config_check || return 1 + + echo "Starting new ${name}." + kill -USR2 $(cat ${pidfile}) + + for i in $(seq 5); do + sleep 1 + if [ -f ${pidfile} -a -f ${pidfile}.oldbin ]; then + echo "Shutting down old ${name}." + kill -QUIT $(cat ${pidfile}.oldbin) + return 0 + fi + done + + echo "Upgrade failed!" + return 1 +} + +run_rc_command "$1" diff --git a/www/angie/files/default.conf.sample.in b/www/angie/files/default.conf.sample.in new file mode 100644 --- /dev/null +++ b/www/angie/files/default.conf.sample.in @@ -0,0 +1,49 @@ +server { + listen 80; + server_name localhost; + + #access_log %%LOGDIR%%/host.access.log main; + + location / { + root %%WWWDIR%%/html; + index index.html index.htm; + } + + location /status/ { + api /status/; + allow 127.0.0.1; + deny all; + } + + #error_page 404 /404.html; + + # redirect server error pages to the static page /50x.html + # + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root %%WWWDIR%%/html; + } + + # proxy the PHP scripts to Apache listening on 127.0.0.1:80 + # + #location ~ \.php$ { + # proxy_pass http://127.0.0.1; + #} + + # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 + # + #location ~ \.php$ { + # root html; + # fastcgi_pass 127.0.0.1:9000; + # fastcgi_index index.php; + # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; + # include fastcgi_params; + #} + + # deny access to .htaccess files, if Apache's document root + # concurs with angie's one + # + #location ~ /\.ht { + # deny all; + #} +} diff --git a/www/angie/files/example.conf.sample.in b/www/angie/files/example.conf.sample.in new file mode 100644 --- /dev/null +++ b/www/angie/files/example.conf.sample.in @@ -0,0 +1,24 @@ +#upstream stream_backend { +# server backend1.example.com:12345 weight=5; +# server backend2.example.com:12345 max_fails=2 fail_timeout=30s; +# server backend3.example.com:12345 max_conns=3; +#} +# +#upstream dns_servers { +# least_conn; +# server 192.168.136.130:53; +# server 192.168.136.131:53; +# server 192.168.136.132:53; +#} +# +#server { +# listen 12345; +# proxy_pass stream_backend; +# proxy_timeout 3s; +# proxy_connect_timeout 1s; +#} +# +#server { +# listen 53 udp; +# proxy_pass dns_servers; +#} diff --git a/www/angie/files/pkg-message.in b/www/angie/files/pkg-message.in new file mode 100644 --- /dev/null +++ b/www/angie/files/pkg-message.in @@ -0,0 +1,11 @@ +[ +{ type: install + message: <