Page MenuHomeFreeBSD

D39868.id125374.diff
No OneTemporary

D39868.id125374.diff

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,26 @@
+PORTNAME= angie-module-geoip2
+GH_TUPLE= leev:ngx_http_geoip2_module:3.4:module
+
+COMMENT= Angie GeoIP2 dynamic module
+
+LIB_DEPENDS= libmaxminddb.so:net/libmaxminddb
+
+MASTERDIR= ${.CURDIR}/../../www/angie
+
+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}
+.endfor
+
+ ${INSTALL_MAN} ${WRKSRC_module}/README.md ${STAGEDIR}${DOCSDIR}
+
+do-install-DEBUG-on:
+.for i in ngx_http_geoip2_module ngx_stream_geoip2_module
+ ${INSTALL} ${COPY} -m ${_SHAREMODE} ${WRKSRC_DEBUG}/objs/${i}.so \
+ ${STAGEDIR}${MODDIR}/${i}-debug.so
+.endfor
+
+.include "${MASTERDIR}/Makefile"
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: <<EOM
+
+The GeoIP2 dynamic modules for Angie have been installed.
+To enable these modules, add the following to %%PREFIX%%/etc/angie/angie.conf
+and reload angie:
+
+ load_module modules/ngx_http_geoip2_module.so;
+ load_module modules/ngx_stream_geoip2_module.so;
+
+Please refer to the modules documentation for further details:
+https://github.com/leev/ngx_http_geoip2_module
+EOM
+}
+]
diff --git a/www/angie-module-geoip2/pkg-descr b/www/angie-module-geoip2/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/angie-module-geoip2/pkg-descr
@@ -0,0 +1,2 @@
+Module captures information from the client IP address in variables,
+using the MaxMind GeoIP2 databases.
diff --git a/www/angie-module-geoip2/pkg-plist b/www/angie-module-geoip2/pkg-plist
new file mode 100644
--- /dev/null
+++ b/www/angie-module-geoip2/pkg-plist
@@ -0,0 +1,5 @@
+%%DOCSDIR%%/README.md
+%%MODDIR%%/ngx_http_geoip2_module.so
+%%MODDIR%%/ngx_stream_geoip2_module.so
+%%DEBUG%%%%MODDIR%%/ngx_http_geoip2_module-debug.so
+%%DEBUG%%%%MODDIR%%/ngx_stream_geoip2_module-debug.so
diff --git a/www/angie/Makefile b/www/angie/Makefile
new file mode 100644
--- /dev/null
+++ b/www/angie/Makefile
@@ -0,0 +1,187 @@
+PORTNAME?= angie
+PORTVERSION= 1.2.0
+PORTREVISION= 1
+CATEGORIES+= www
+MASTER_SITES+= https://download.angie.software/files/:angie
+DISTNAME= angie-${DISTVERSIONFULL}
+DISTFILES+= ${DISTNAME}${EXTRACT_SUFX}:angie
+
+MAINTAINER?= oleg@mamontov.net
+COMMENT?= Efficient, powerful and scalable reverse proxy and web server
+WWW?= https://angie.software/en/
+
+LICENSE?= BSD2CLAUSE
+.if ${PORTNAME} == angie
+LICENSE_FILE= ${WRKSRC}/LICENSE
+.else
+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
+ALL_TARGET= build
+SUB_FILES= angie.conf.sample \
+ default.conf.sample \
+ example.conf.sample \
+ pkg-message
+USE_RC_SUBR= angie
+.else
+ALL_TARGET?= modules
+CONFIGURE_ADD?= --add-dynamic-module=${WRKSRC_module}
+.endif
+
+# modules always have their own assets
+PATCHDIR?= ${.CURDIR}/files
+FILESDIR?= ${.CURDIR}/files
+SCRIPTDIR?= ${.CURDIR}/scripts
+PKGDIR?= ${.CURDIR}
+
+# angie-specific variables
+CACHEDIR= /var/cache/angie
+LOGDIR= /var/log/angie
+MODDIR= ${PREFIX}/libexec/angie
+RUNDIR= /var/run
+WRKSRC_DEBUG= ${WRKSRC}-debug
+
+PLIST_SUB+= CACHEDIR=${CACHEDIR} \
+ LOGDIR=${LOGDIR} \
+ MODDIR=${MODDIR} \
+ RUNDIR=${RUNDIR}
+
+SUB_LIST+= CACHEDIR=${CACHEDIR} \
+ LOGDIR=${LOGDIR} \
+ MODDIR=${MODDIR} \
+ RUNDIR=${RUNDIR} \
+ WWWOWN=${WWWOWN}
+
+SUB_FILES?= pkg-message
+
+OPTIONS_SUB= yes
+
+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-http_v3_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}
+
+OPTIONS_DEFINE?= DEBUG
+OPTIONS_DEFAULT?= DEBUG
+DEBUG_DESC?= Include debug version
+
+
+.include <bsd.port.options.mk>
+
+post-patch-DEBUG-on:
+ @${CP} -Rp ${WRKSRC} ${WRKSRC_DEBUG}
+
+post-configure-DEBUG-on:
+ @(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 \
+ )
+
+post-build-DEBUG-on:
+ @(cd ${WRKSRC_DEBUG} && ${DO_MAKE_BUILD} ${ALL_TARGET})
+
+.if ${PORTNAME} == angie
+do-install:
+ ${MKDIR} ${STAGEDIR}${CACHEDIR}
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${MKDIR} ${STAGEDIR}${ETCDIR}/http.d
+ ${MKDIR} ${STAGEDIR}${ETCDIR}/stream.d
+ ${MKDIR} ${STAGEDIR}${LOGDIR}
+ ${MKDIR} ${STAGEDIR}${MODDIR}
+ ${MKDIR} ${STAGEDIR}${WWWDIR}/html
+
+ ${RLN} ${STAGEDIR}${MODDIR} ${STAGEDIR}${ETCDIR}/modules
+
+ ${INSTALL_PROGRAM} ${WRKSRC}/objs/angie \
+ ${STAGEDIR}${PREFIX}/sbin/angie-nodebug
+
+ ${LN} -fs angie-nodebug ${STAGEDIR}${PREFIX}/sbin/angie
+
+ ${INSTALL_MAN} ${WRKSRC}/objs/angie.8 ${STAGEDIR}${MAN8PREFIX}/man/man8
+.for i in CHANGES CHANGES.ru README.rst
+ ${INSTALL_MAN} ${WRKSRC}/${i} ${STAGEDIR}${DOCSDIR}
+.endfor
+
+.for i in fastcgi.conf fastcgi_params mime.types scgi_params uwsgi_params
+ ${INSTALL_DATA} ${WRKSRC}/conf/${i} ${STAGEDIR}${ETCDIR}/${i}.sample
+.endfor
+ ${INSTALL_DATA} ${WRKDIR}/angie.conf.sample \
+ ${STAGEDIR}${ETCDIR}
+ ${INSTALL_DATA} ${WRKDIR}/default.conf.sample \
+ ${STAGEDIR}${ETCDIR}/http.d
+ ${INSTALL_DATA} ${WRKDIR}/example.conf.sample \
+ ${STAGEDIR}${ETCDIR}/stream.d
+
+.for i in 50x.html index.html
+ ${INSTALL_DATA} ${WRKSRC}/html/${i} ${STAGEDIR}${WWWDIR}/html/${i}.sample
+.endfor
+
+do-install-DEBUG-on:
+ ${INSTALL} ${COPY} -m ${BINMODE} ${WRKSRC_DEBUG}/objs/angie \
+ ${STAGEDIR}${PREFIX}/sbin/angie-debug
+.endif
+
+.include <bsd.port.mk>
diff --git a/www/angie/distinfo b/www/angie/distinfo
new file mode 100644
--- /dev/null
+++ b/www/angie/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1690816224
+SHA256 (angie-1.2.0.tar.gz) = 82f23115c2e8ebf00d5429622ad96e8c7e785e87bc298b292246660cc61e2cff
+SIZE (angie-1.2.0.tar.gz) = 1510159
+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/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,13 @@
+[
+{ type: install
+ message: <<EOM
+
+
+Thanks for using Angie!
+
+Please find the official documentation for Angie here:
+* https://angie.software/en/
+
+EOM
+}
+]
diff --git a/www/angie/pkg-descr b/www/angie/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/angie/pkg-descr
@@ -0,0 +1,2 @@
+Actively developing fork of nginx aiming to keep it great
+with brand new extra functionality.
diff --git a/www/angie/pkg-plist b/www/angie/pkg-plist
new file mode 100644
--- /dev/null
+++ b/www/angie/pkg-plist
@@ -0,0 +1,28 @@
+@dir %%ETCDIR%%/http.d
+@dir %%ETCDIR%%/stream.d
+@dir %%CACHEDIR%%
+@dir %%LOGDIR%%
+@dir %%MODDIR%%
+
+%%ETCDIR%%/modules
+
+sbin/angie-nodebug
+sbin/angie
+%%DEBUG%%sbin/angie-debug
+
+man/man8/angie.8.gz
+%%DOCSDIR%%/CHANGES
+%%DOCSDIR%%/CHANGES.ru
+%%DOCSDIR%%/README.rst
+
+@sample %%ETCDIR%%/angie.conf.sample
+@sample %%ETCDIR%%/fastcgi.conf.sample
+@sample %%ETCDIR%%/fastcgi_params.sample
+@sample %%ETCDIR%%/mime.types.sample
+@sample %%ETCDIR%%/scgi_params.sample
+@sample %%ETCDIR%%/uwsgi_params.sample
+@sample %%ETCDIR%%/http.d/default.conf.sample
+@sample %%ETCDIR%%/stream.d/example.conf.sample
+
+@sample %%WWWDIR%%/html/50x.html.sample
+@sample %%WWWDIR%%/html/index.html.sample

File Metadata

Mime Type
text/plain
Expires
Wed, Mar 12, 5:27 AM (2 h, 49 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
17113668
Default Alt Text
D39868.id125374.diff (14 KB)

Event Timeline