git: fd3d5c491146 - main - www/{nginx,nginx-devel,freenginx}: 3rd-party modules management

From: Jochen Neumeister <joneum_at_FreeBSD.org>
Date: Sun, 18 Oct 2026 10:09:36 UTC
The branch main has been updated by joneum:

URL: https://cgit.FreeBSD.org/ports/commit/?id=fd3d5c491146b308c3647050104d727029366ef5

commit fd3d5c491146b308c3647050104d727029366ef5
Author:     Jochen Neumeister <joneum@FreeBSD.org>
AuthorDate: 2026-10-18 10:08:38 +0000
Commit:     Jochen Neumeister <joneum@FreeBSD.org>
CommitDate: 2026-10-18 10:09:24 +0000

    www/{nginx,nginx-devel,freenginx}: 3rd-party modules management
    
    Build the passenger module from its own source port.
    
    Sponsored by:   Netzkommune GmbH
---
 www/freenginx/Makefile                             | 19 ++++---------
 www/freenginx/Makefile.extmod                      | 14 ++++-----
 www/freenginx/distinfo                             |  4 +--
 .../files/extra-patch-passenger-Configuration.c    | 22 ---------------
 .../files/extra-patch-passenger-build-nginx.rb     | 33 ----------------------
 .../files/extra-patch-passenger-disable-telemetry  | 11 --------
 www/nginx-devel/Makefile                           | 19 ++++---------
 www/nginx-devel/Makefile.extmod                    | 14 ++++-----
 www/nginx-devel/distinfo                           |  4 +--
 .../files/extra-patch-passenger-Configuration.c    | 20 -------------
 .../files/extra-patch-passenger-build-nginx.rb     | 33 ----------------------
 .../files/extra-patch-passenger-disable-telemetry  | 11 --------
 www/nginx/Makefile                                 | 19 ++++---------
 www/nginx/Makefile.extmod                          | 14 ++++-----
 www/nginx/distinfo                                 |  4 +--
 .../files/extra-patch-passenger-Configuration.c    | 20 -------------
 .../files/extra-patch-passenger-build-nginx.rb     | 33 ----------------------
 .../files/extra-patch-passenger-disable-telemetry  | 11 --------
 18 files changed, 36 insertions(+), 269 deletions(-)

diff --git a/www/freenginx/Makefile b/www/freenginx/Makefile
index 262f8d76b54c..872e9f10dc7f 100644
--- a/www/freenginx/Makefile
+++ b/www/freenginx/Makefile
@@ -319,19 +319,6 @@ post-patch-HTTP_TARANTOOL-on:
 post-patch-ICONV-on:
 	@${REINPLACE_CMD} 's!%%PREFIX%%!${LOCALBASE}!g' ${WRKSRC_iconv}/config
 
-post-patch-PASSENGER-on:
-	@${REINPLACE_CMD} \
-		'168,170s!true!false!' \
-		${WRKSRC_PASSENGER}/build/basics.rb
-	@${REINPLACE_CMD} \
-		's!-I/usr/include/libev!!; \
-		s!-lev!!; \
-		s!-Iext/libev!!; \
-		s!-I/usr/include/libeio!!; \
-		s!-leio!!; \
-		s!-Iext/libeio!!' \
-		${WRKSRC_PASSENGER}/build/common_library.rb
-
 pre-configure-SMALL_LIGHT-on:
 	( cd ${WRKSRC_small_light} && ./setup )
 
@@ -428,6 +415,12 @@ pre-configure-SLOWFS_CACHE-on:
 	@${CP} -R ${LOCALBASE}/share/nginx/modules/nginx-module-slowfs-cache ${WRKSRC_slowfs_cache}
 	@${CHMOD} -R u+w ${WRKSRC_slowfs_cache}
 
+pre-configure-PASSENGER-on:
+	@${RM} -rf ${WRKSRC_passenger}
+	@${CP} -R ${LOCALBASE}/share/nginx/modules/nginx-module-passenger \
+		${WRKSRC_passenger}
+	@${CHMOD} -R u+w ${WRKSRC_passenger}
+
 pre-configure-STS-on:
 	@${RM} -rf ${WRKSRC_sts}
 	@${CP} -R ${LOCALBASE}/share/nginx/modules/nginx-module-sts ${WRKSRC_sts}
diff --git a/www/freenginx/Makefile.extmod b/www/freenginx/Makefile.extmod
index cb4f2b7ee5f2..7d42aacb13bc 100644
--- a/www/freenginx/Makefile.extmod
+++ b/www/freenginx/Makefile.extmod
@@ -285,20 +285,16 @@ OTEL_LIB_DEPENDS=	libabsl_base.so:devel/abseil \
 OTEL_BUILD_DEPENDS=	${LOCALBASE}/include/opentelemetry/proto/common/v1/common.proto:devel/opentelemetry-proto
 OTEL_CONFIGURE_ENV+=	NGX_OTEL_PROTO_DIR=${PREFIX}/include
 
-PASSENGER_NGINX_VER=    6.1.2
-PASSENGER_MASTER_SITES= https://s3.amazonaws.com/phusion-passenger/releases/:passenger
-PASSENGER_DISTFILES=    passenger-${PASSENGER_NGINX_VER}.tar.gz:passenger
-PASSENGER_BUILD_DEPENDS=${LOCALBASE}/bin/rake:devel/rubygem-rake
+PASSENGER_BUILD_DEPENDS=${LOCALBASE}/bin/rake:devel/rubygem-rake \
+                        nginx-module-passenger>0:www/nginx-module-passenger
+PASSENGER_RUN_DEPENDS=  rubygem-passenger-nginx>0:www/rubygem-passenger@nginx
 PASSENGER_CATEGORIES=   ruby
 PASSENGER_CFLAGS=       -DNDEBUG
 PASSENGER_CONFIGURE_ENV=OPTIMIZE="yes" EXTRA_PRE_CXXFLAGS="-std=c++14"
-PASSENGER_EXTRA_PATCHES=${PATCHDIR}/extra-patch-passenger-build-nginx.rb \
-                        ${PATCHDIR}/extra-patch-passenger-disable-telemetry \
-                        ${PATCHDIR}/extra-patch-passenger-Configuration.c
 PASSENGER_RAKE_BIN=     ${LOCALBASE}/bin/rake
 PASSENGER_USES=         ruby
-PASSENGER_VARS=         WRKSRC_passenger=${WRKDIR}/passenger-${PASSENGER_NGINX_VER} \
-                        DSO_EXTDIRS+=passenger-${PASSENGER_NGINX_VER}/src/nginx_module
+WRKSRC_passenger=       ${WRKDIR}/nginx-module-passenger
+PASSENGER_VARS=         DSO_EXTDIRS+=nginx-module-passenger/src/nginx_module
 
 POSTGRES_USES=		pgsql
 POSTGRES_BUILD_DEPENDS=	nginx-module-postgres>0:www/nginx-module-postgres
diff --git a/www/freenginx/distinfo b/www/freenginx/distinfo
index d0d224a2d8d7..21ea296687b7 100644
--- a/www/freenginx/distinfo
+++ b/www/freenginx/distinfo
@@ -1,12 +1,10 @@
-TIMESTAMP = 1789412665
+TIMESTAMP = 1792246010
 SHA256 (freenginx-1.30.1.tar.gz) = 44f1df11967528631eb727a5ca28abd7e4e517e35757681c819e8f7c1d760be7
 SIZE (freenginx-1.30.1.tar.gz) = 1252835
 SHA256 (nginx_mogilefs_module-1.0.4.tar.gz) = 7ac230d30907f013dff8d435a118619ea6168aa3714dba62c6962d350c6295ae
 SIZE (nginx_mogilefs_module-1.0.4.tar.gz) = 11208
 SHA256 (ngx_http_redis-0.3.9.tar.gz) = 21f87540f0a44b23ffa5df16fb3d788bc90803b255ef14f9c26e3847a6f26f46
 SIZE (ngx_http_redis-0.3.9.tar.gz) = 13051
-SHA256 (passenger-6.1.2.tar.gz) = 94400a52e536cfdd8acf2accb47badb7a67dc309452f1b05600da67343f25bf8
-SIZE (passenger-6.1.2.tar.gz) = 7429067
 SHA256 (google-ngx_brotli-a71f931_GH0.tar.gz) = b3312a045d5303a40d02beb34711b8ca27f7b72d647e9ee2012a8eddd14d9b22
 SIZE (google-ngx_brotli-a71f931_GH0.tar.gz) = 16376
 SHA256 (grahamedgecombe-nginx-ct-93e9884_GH0.tar.gz) = 72fdd125b9207cdda135f368095f85b943a78a4ff004d1cd217972e12b1571b2
diff --git a/www/freenginx/files/extra-patch-passenger-Configuration.c b/www/freenginx/files/extra-patch-passenger-Configuration.c
deleted file mode 100644
index 5b2b4f45b103..000000000000
--- a/www/freenginx/files/extra-patch-passenger-Configuration.c
+++ /dev/null
@@ -1,22 +0,0 @@
---- ../passenger-6.1.2/src/nginx_module/Configuration.c.orig	2026-03-09 20:02:40.671082000 +0100
-+++ ../passenger-6.1.2/src/nginx_module/Configuration.c	2026-03-09 20:07:45.710035000 +0100
-@@ -225,7 +225,7 @@ passenger_create_loc_conf(ngx_conf_t *cf)
-     conf->upstream_config.send_lowat = NGX_CONF_UNSET_SIZE;
-     conf->upstream_config.buffer_size = NGX_CONF_UNSET_SIZE;
-     #if NGINX_VERSION_NUM >= 1027000
--        conf->upstream_config.limit_rate = NGX_CONF_UNSET_PTR;
-+        conf->upstream_config.limit_rate = NGX_CONF_UNSET_SIZE;
-     #elif NGINX_VERSION_NUM >= 1007007
-         conf->upstream_config.limit_rate = NGX_CONF_UNSET_SIZE;
-     #endif
-@@ -468,8 +468,8 @@ passenger_merge_loc_conf(ngx_conf_t *cf, void *parent,
-                               16 * 1024);
- 
-     #if NGINX_VERSION_NUM >= 1027000
--        ngx_conf_merge_ptr_value(conf->upstream_config.limit_rate,
--                                 prev->upstream_config.limit_rate, NULL);
-+        ngx_conf_merge_size_value(conf->upstream_config.limit_rate,
-+                                 prev->upstream_config.limit_rate, 0);
-     #elif NGINX_VERSION_NUM >= 1007007
-         ngx_conf_merge_size_value(conf->upstream_config.limit_rate,
-                                   prev->upstream_config.limit_rate, 0);
diff --git a/www/freenginx/files/extra-patch-passenger-build-nginx.rb b/www/freenginx/files/extra-patch-passenger-build-nginx.rb
deleted file mode 100644
index 8676c67d119c..000000000000
--- a/www/freenginx/files/extra-patch-passenger-build-nginx.rb
+++ /dev/null
@@ -1,33 +0,0 @@
---- ../passenger-6.1.2/build/nginx.rb.orig	2013-10-26 18:00:00.000000000 -0400
-+++ ../passenger-6.1.2/build/nginx.rb	2016-05-09 18:21:22.426777000 -0400
-@@ -33,13 +33,12 @@
- desc "Build Nginx support files"
- task :nginx => [
-   :nginx_without_native_support,
--  NATIVE_SUPPORT_TARGET
-+  LIBBOOST_OXT,
- ].compact
- 
- desc "Build Nginx support files, including objects suitable for dynamic linking against Nginx"
- task 'nginx:as_dynamic_module' => [
-   :nginx_dynamic_without_native_support,
--  NATIVE_SUPPORT_TARGET
- ].compact
- 
- # Workaround for https://github.com/jimweirich/rake/issues/274
-@@ -47,7 +46,6 @@
- 
- task :nginx_without_native_support => [
-   auto_generated_sources,
--  AGENT_TARGET,
-   COMMON_LIBRARY.only(*NGINX_LIBS_SELECTOR).link_objects
- ].flatten
- 
-@@ -55,7 +53,6 @@
- # it also creates a namespace:clean task to clean up the output_dir
- task :nginx_dynamic_without_native_support => [
-   auto_generated_sources,
--  AGENT_TARGET,
-   define_libboost_oxt_task("nginx", NGINX_DYNAMIC_OUTPUT_DIR + "libboost_oxt", "-fPIC"),
-   COMMON_LIBRARY.only(*NGINX_LIBS_SELECTOR).
-     set_namespace("nginx").set_output_dir(NGINX_DYNAMIC_OUTPUT_DIR + "module_libpassenger_common").define_tasks("-fPIC").
diff --git a/www/freenginx/files/extra-patch-passenger-disable-telemetry b/www/freenginx/files/extra-patch-passenger-disable-telemetry
deleted file mode 100644
index 90f70bb7c2c4..000000000000
--- a/www/freenginx/files/extra-patch-passenger-disable-telemetry
+++ /dev/null
@@ -1,11 +0,0 @@
---- ../passenger-6.1.2/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb.orig	2018-12-03 12:23:06.980728000 -0500
-+++ ../passenger-6.1.2/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb	2018-12-03 12:23:32.978926000 -0500
-@@ -204,7 +204,7 @@
-     :name     => 'passenger_disable_anonymous_telemetry',
-     :scope    => :global,
-     :type     => :flag,
--    :default  => false,
-+    :default  => true,
-     :context  => [:main],
-     :struct   => 'NGX_HTTP_MAIN_CONF_OFFSET'
-   },
diff --git a/www/nginx-devel/Makefile b/www/nginx-devel/Makefile
index d2d02285d130..6564efb9ff54 100644
--- a/www/nginx-devel/Makefile
+++ b/www/nginx-devel/Makefile
@@ -333,19 +333,6 @@ post-patch-HTTP_TARANTOOL-on:
 post-patch-ICONV-on:
 	@${REINPLACE_CMD} 's!%%PREFIX%%!${LOCALBASE}!g' ${WRKSRC_iconv}/config
 
-post-patch-PASSENGER-on:
-	@${REINPLACE_CMD} \
-		'176,178s!true!false!' \
-		${WRKSRC_PASSENGER}/build/basics.rb
-	@${REINPLACE_CMD} \
-		's!-I/usr/include/libev!!; \
-		s!-lev!!; \
-		s!-Iext/libev!!; \
-		s!-I/usr/include/libeio!!; \
-		s!-leio!!; \
-		s!-Iext/libeio!!' \
-		${WRKSRC_PASSENGER}/build/common_library.rb
-
 pre-configure-SMALL_LIGHT-on:
 	( cd ${WRKSRC_small_light} && ./setup )
 
@@ -442,6 +429,12 @@ pre-configure-SLOWFS_CACHE-on:
 	@${CP} -R ${LOCALBASE}/share/nginx/modules/nginx-module-slowfs-cache ${WRKSRC_slowfs_cache}
 	@${CHMOD} -R u+w ${WRKSRC_slowfs_cache}
 
+pre-configure-PASSENGER-on:
+	@${RM} -rf ${WRKSRC_passenger}
+	@${CP} -R ${LOCALBASE}/share/nginx/modules/nginx-module-passenger \
+		${WRKSRC_passenger}
+	@${CHMOD} -R u+w ${WRKSRC_passenger}
+
 pre-configure-STS-on:
 	@${RM} -rf ${WRKSRC_sts}
 	@${CP} -R ${LOCALBASE}/share/nginx/modules/nginx-module-sts ${WRKSRC_sts}
diff --git a/www/nginx-devel/Makefile.extmod b/www/nginx-devel/Makefile.extmod
index 8599b681d251..2d7310d82be4 100644
--- a/www/nginx-devel/Makefile.extmod
+++ b/www/nginx-devel/Makefile.extmod
@@ -283,20 +283,16 @@ OTEL_LIB_DEPENDS=	libabsl_base.so:devel/abseil \
 OTEL_BUILD_DEPENDS=	${LOCALBASE}/include/opentelemetry/proto/common/v1/common.proto:devel/opentelemetry-proto
 OTEL_CONFIGURE_ENV+=	NGX_OTEL_PROTO_DIR=${PREFIX}/include
 
-PASSENGER_NGINX_VER=	6.1.2
-PASSENGER_MASTER_SITES=	https://s3.amazonaws.com/phusion-passenger/releases/:passenger
-PASSENGER_DISTFILES=	passenger-${PASSENGER_NGINX_VER}.tar.gz:passenger
-PASSENGER_BUILD_DEPENDS=${LOCALBASE}/bin/rake:devel/rubygem-rake
+PASSENGER_BUILD_DEPENDS=${LOCALBASE}/bin/rake:devel/rubygem-rake \
+			nginx-module-passenger>0:www/nginx-module-passenger
+PASSENGER_RUN_DEPENDS=	rubygem-passenger-nginx>0:www/rubygem-passenger@nginx
 PASSENGER_CATEGORIES=	ruby
 PASSENGER_CFLAGS=	-DNDEBUG
 PASSENGER_CONFIGURE_ENV=OPTIMIZE="yes" EXTRA_PRE_CXXFLAGS="-std=c++14"
-PASSENGER_EXTRA_PATCHES=${PATCHDIR}/extra-patch-passenger-build-nginx.rb \
-			${PATCHDIR}/extra-patch-passenger-disable-telemetry \
-			${PATCHDIR}/extra-patch-passenger-Configuration.c
 PASSENGER_RAKE_BIN=	${LOCALBASE}/bin/rake
 PASSENGER_USES=		ruby
-PASSENGER_VARS=		WRKSRC_passenger=${WRKDIR}/passenger-${PASSENGER_NGINX_VER} \
-			DSO_EXTDIRS+=passenger-${PASSENGER_NGINX_VER}/src/nginx_module
+WRKSRC_passenger=	${WRKDIR}/nginx-module-passenger
+PASSENGER_VARS=		DSO_EXTDIRS+=nginx-module-passenger/src/nginx_module
 
 POSTGRES_USES=		pgsql
 POSTGRES_BUILD_DEPENDS=	nginx-module-postgres>0:www/nginx-module-postgres
diff --git a/www/nginx-devel/distinfo b/www/nginx-devel/distinfo
index a84a6299f377..1466e98b5f60 100644
--- a/www/nginx-devel/distinfo
+++ b/www/nginx-devel/distinfo
@@ -1,10 +1,8 @@
-TIMESTAMP = 1792016871
+TIMESTAMP = 1792246008
 SHA256 (nginx-1.31.7.tar.gz) = 89ea8a3dc171511f7325043b50e4c036248d9fad5feb7ec809c0b82d5df42c65
 SIZE (nginx-1.31.7.tar.gz) = 1392370
 SHA256 (nginx_mogilefs_module-1.0.4.tar.gz) = 7ac230d30907f013dff8d435a118619ea6168aa3714dba62c6962d350c6295ae
 SIZE (nginx_mogilefs_module-1.0.4.tar.gz) = 11208
-SHA256 (passenger-6.1.2.tar.gz) = 94400a52e536cfdd8acf2accb47badb7a67dc309452f1b05600da67343f25bf8
-SIZE (passenger-6.1.2.tar.gz) = 7429067
 SHA256 (google-ngx_brotli-a71f931_GH0.tar.gz) = b3312a045d5303a40d02beb34711b8ca27f7b72d647e9ee2012a8eddd14d9b22
 SIZE (google-ngx_brotli-a71f931_GH0.tar.gz) = 16376
 SHA256 (openresty-drizzle-nginx-module-v0.1.14_GH0.tar.gz) = 272aba4371965893fad7480dea4f18889ed1717598729e72292867f2170e6aa7
diff --git a/www/nginx-devel/files/extra-patch-passenger-Configuration.c b/www/nginx-devel/files/extra-patch-passenger-Configuration.c
deleted file mode 100644
index 9cf6f6d37488..000000000000
--- a/www/nginx-devel/files/extra-patch-passenger-Configuration.c
+++ /dev/null
@@ -1,20 +0,0 @@
---- ../passenger-6.1.2/src/nginx_module/Configuration.c.orig	2013-10-26 20:00:00.000000000 -0400
-+++ ../passenger-6.1.2/src/nginx_module/Configuration.c	2025-11-02 20:09:05.651562000 -0500
-@@ -224,7 +224,7 @@
- 
-     conf->upstream_config.send_lowat = NGX_CONF_UNSET_SIZE;
-     conf->upstream_config.buffer_size = NGX_CONF_UNSET_SIZE;
--    #if NGINX_VERSION_NUM >= 1027000
-+    #if NGINX_VERSION_NUM >= 1027000 && !defined freenginx
-         conf->upstream_config.limit_rate = NGX_CONF_UNSET_PTR;
-     #elif NGINX_VERSION_NUM >= 1007007
-         conf->upstream_config.limit_rate = NGX_CONF_UNSET_SIZE;
-@@ -467,7 +467,7 @@
-                               prev->upstream_config.buffer_size,
-                               16 * 1024);
- 
--    #if NGINX_VERSION_NUM >= 1027000
-+    #if NGINX_VERSION_NUM >= 1027000 && !defined freenginx
-         ngx_conf_merge_ptr_value(conf->upstream_config.limit_rate,
-                                  prev->upstream_config.limit_rate, NULL);
-     #elif NGINX_VERSION_NUM >= 1007007
diff --git a/www/nginx-devel/files/extra-patch-passenger-build-nginx.rb b/www/nginx-devel/files/extra-patch-passenger-build-nginx.rb
deleted file mode 100644
index 8676c67d119c..000000000000
--- a/www/nginx-devel/files/extra-patch-passenger-build-nginx.rb
+++ /dev/null
@@ -1,33 +0,0 @@
---- ../passenger-6.1.2/build/nginx.rb.orig	2013-10-26 18:00:00.000000000 -0400
-+++ ../passenger-6.1.2/build/nginx.rb	2016-05-09 18:21:22.426777000 -0400
-@@ -33,13 +33,12 @@
- desc "Build Nginx support files"
- task :nginx => [
-   :nginx_without_native_support,
--  NATIVE_SUPPORT_TARGET
-+  LIBBOOST_OXT,
- ].compact
- 
- desc "Build Nginx support files, including objects suitable for dynamic linking against Nginx"
- task 'nginx:as_dynamic_module' => [
-   :nginx_dynamic_without_native_support,
--  NATIVE_SUPPORT_TARGET
- ].compact
- 
- # Workaround for https://github.com/jimweirich/rake/issues/274
-@@ -47,7 +46,6 @@
- 
- task :nginx_without_native_support => [
-   auto_generated_sources,
--  AGENT_TARGET,
-   COMMON_LIBRARY.only(*NGINX_LIBS_SELECTOR).link_objects
- ].flatten
- 
-@@ -55,7 +53,6 @@
- # it also creates a namespace:clean task to clean up the output_dir
- task :nginx_dynamic_without_native_support => [
-   auto_generated_sources,
--  AGENT_TARGET,
-   define_libboost_oxt_task("nginx", NGINX_DYNAMIC_OUTPUT_DIR + "libboost_oxt", "-fPIC"),
-   COMMON_LIBRARY.only(*NGINX_LIBS_SELECTOR).
-     set_namespace("nginx").set_output_dir(NGINX_DYNAMIC_OUTPUT_DIR + "module_libpassenger_common").define_tasks("-fPIC").
diff --git a/www/nginx-devel/files/extra-patch-passenger-disable-telemetry b/www/nginx-devel/files/extra-patch-passenger-disable-telemetry
deleted file mode 100644
index 90f70bb7c2c4..000000000000
--- a/www/nginx-devel/files/extra-patch-passenger-disable-telemetry
+++ /dev/null
@@ -1,11 +0,0 @@
---- ../passenger-6.1.2/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb.orig	2018-12-03 12:23:06.980728000 -0500
-+++ ../passenger-6.1.2/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb	2018-12-03 12:23:32.978926000 -0500
-@@ -204,7 +204,7 @@
-     :name     => 'passenger_disable_anonymous_telemetry',
-     :scope    => :global,
-     :type     => :flag,
--    :default  => false,
-+    :default  => true,
-     :context  => [:main],
-     :struct   => 'NGX_HTTP_MAIN_CONF_OFFSET'
-   },
diff --git a/www/nginx/Makefile b/www/nginx/Makefile
index 2d9673600884..e83a5e686db5 100644
--- a/www/nginx/Makefile
+++ b/www/nginx/Makefile
@@ -322,19 +322,6 @@ post-patch-HTTP_TARANTOOL-on:
 post-patch-ICONV-on:
 	@${REINPLACE_CMD} 's!%%PREFIX%%!${LOCALBASE}!g' ${WRKSRC_iconv}/config
 
-post-patch-PASSENGER-on:
-	@${REINPLACE_CMD} \
-		'168,170s!true!false!' \
-		${WRKSRC_PASSENGER}/build/basics.rb
-	@${REINPLACE_CMD} \
-		's!-I/usr/include/libev!!; \
-		s!-lev!!; \
-		s!-Iext/libev!!; \
-		s!-I/usr/include/libeio!!; \
-		s!-leio!!; \
-		s!-Iext/libeio!!' \
-		${WRKSRC_PASSENGER}/build/common_library.rb
-
 pre-configure-SMALL_LIGHT-on:
 	( cd ${WRKSRC_small_light} && ./setup )
 
@@ -431,6 +418,12 @@ pre-configure-SLOWFS_CACHE-on:
 	@${CP} -R ${LOCALBASE}/share/nginx/modules/nginx-module-slowfs-cache ${WRKSRC_slowfs_cache}
 	@${CHMOD} -R u+w ${WRKSRC_slowfs_cache}
 
+pre-configure-PASSENGER-on:
+	@${RM} -rf ${WRKSRC_passenger}
+	@${CP} -R ${LOCALBASE}/share/nginx/modules/nginx-module-passenger \
+		${WRKSRC_passenger}
+	@${CHMOD} -R u+w ${WRKSRC_passenger}
+
 pre-configure-STS-on:
 	@${RM} -rf ${WRKSRC_sts}
 	@${CP} -R ${LOCALBASE}/share/nginx/modules/nginx-module-sts ${WRKSRC_sts}
diff --git a/www/nginx/Makefile.extmod b/www/nginx/Makefile.extmod
index b3a3785bd8ae..1bb2ef4a8acb 100644
--- a/www/nginx/Makefile.extmod
+++ b/www/nginx/Makefile.extmod
@@ -277,20 +277,16 @@ OTEL_LIB_DEPENDS=	libabsl_base.so:devel/abseil \
 OTEL_BUILD_DEPENDS=	${LOCALBASE}/include/opentelemetry/proto/common/v1/common.proto:devel/opentelemetry-proto
 OTEL_CONFIGURE_ENV+=	NGX_OTEL_PROTO_DIR=${PREFIX}/include
 
-PASSENGER_NGINX_VER=	6.1.2
-PASSENGER_MASTER_SITES=	https://s3.amazonaws.com/phusion-passenger/releases/:passenger
-PASSENGER_DISTFILES=	passenger-${PASSENGER_NGINX_VER}.tar.gz:passenger
-PASSENGER_BUILD_DEPENDS=${LOCALBASE}/bin/rake:devel/rubygem-rake
+PASSENGER_BUILD_DEPENDS=${LOCALBASE}/bin/rake:devel/rubygem-rake \
+			nginx-module-passenger>0:www/nginx-module-passenger
+PASSENGER_RUN_DEPENDS=	rubygem-passenger-nginx>0:www/rubygem-passenger@nginx
 PASSENGER_CATEGORIES=	ruby
 PASSENGER_CFLAGS=	-DNDEBUG
 PASSENGER_CONFIGURE_ENV=OPTIMIZE="yes" EXTRA_PRE_CXXFLAGS="-std=c++14"
-PASSENGER_EXTRA_PATCHES=${PATCHDIR}/extra-patch-passenger-build-nginx.rb \
-			${PATCHDIR}/extra-patch-passenger-disable-telemetry \
-			${PATCHDIR}/extra-patch-passenger-Configuration.c
 PASSENGER_RAKE_BIN=	${LOCALBASE}/bin/rake
 PASSENGER_USES=		ruby
-PASSENGER_VARS=		WRKSRC_passenger=${WRKDIR}/passenger-${PASSENGER_NGINX_VER} \
-			DSO_EXTDIRS+=passenger-${PASSENGER_NGINX_VER}/src/nginx_module
+WRKSRC_passenger=	${WRKDIR}/nginx-module-passenger
+PASSENGER_VARS=		DSO_EXTDIRS+=nginx-module-passenger/src/nginx_module
 
 POSTGRES_USES=		pgsql
 POSTGRES_BUILD_DEPENDS=	nginx-module-postgres>0:www/nginx-module-postgres
diff --git a/www/nginx/distinfo b/www/nginx/distinfo
index 1869e582aa2a..330ac5999bca 100644
--- a/www/nginx/distinfo
+++ b/www/nginx/distinfo
@@ -1,12 +1,10 @@
-TIMESTAMP = 1792016870
+TIMESTAMP = 1792246006
 SHA256 (nginx-1.30.6.tar.gz) = 3cf46f5ed7504d460125866b7bea99fb357f31d887e2e63b35503310e9b8b6c8
 SIZE (nginx-1.30.6.tar.gz) = 1331698
 SHA256 (nginx_mogilefs_module-1.0.4.tar.gz) = 7ac230d30907f013dff8d435a118619ea6168aa3714dba62c6962d350c6295ae
 SIZE (nginx_mogilefs_module-1.0.4.tar.gz) = 11208
 SHA256 (ngx_http_redis-0.3.9.tar.gz) = 21f87540f0a44b23ffa5df16fb3d788bc90803b255ef14f9c26e3847a6f26f46
 SIZE (ngx_http_redis-0.3.9.tar.gz) = 13051
-SHA256 (passenger-6.1.2.tar.gz) = 94400a52e536cfdd8acf2accb47badb7a67dc309452f1b05600da67343f25bf8
-SIZE (passenger-6.1.2.tar.gz) = 7429067
 SHA256 (google-ngx_brotli-a71f931_GH0.tar.gz) = b3312a045d5303a40d02beb34711b8ca27f7b72d647e9ee2012a8eddd14d9b22
 SIZE (google-ngx_brotli-a71f931_GH0.tar.gz) = 16376
 SHA256 (openresty-drizzle-nginx-module-v0.1.14_GH0.tar.gz) = 272aba4371965893fad7480dea4f18889ed1717598729e72292867f2170e6aa7
diff --git a/www/nginx/files/extra-patch-passenger-Configuration.c b/www/nginx/files/extra-patch-passenger-Configuration.c
deleted file mode 100644
index 9cf6f6d37488..000000000000
--- a/www/nginx/files/extra-patch-passenger-Configuration.c
+++ /dev/null
@@ -1,20 +0,0 @@
---- ../passenger-6.1.2/src/nginx_module/Configuration.c.orig	2013-10-26 20:00:00.000000000 -0400
-+++ ../passenger-6.1.2/src/nginx_module/Configuration.c	2025-11-02 20:09:05.651562000 -0500
-@@ -224,7 +224,7 @@
- 
-     conf->upstream_config.send_lowat = NGX_CONF_UNSET_SIZE;
-     conf->upstream_config.buffer_size = NGX_CONF_UNSET_SIZE;
--    #if NGINX_VERSION_NUM >= 1027000
-+    #if NGINX_VERSION_NUM >= 1027000 && !defined freenginx
-         conf->upstream_config.limit_rate = NGX_CONF_UNSET_PTR;
-     #elif NGINX_VERSION_NUM >= 1007007
-         conf->upstream_config.limit_rate = NGX_CONF_UNSET_SIZE;
-@@ -467,7 +467,7 @@
-                               prev->upstream_config.buffer_size,
-                               16 * 1024);
- 
--    #if NGINX_VERSION_NUM >= 1027000
-+    #if NGINX_VERSION_NUM >= 1027000 && !defined freenginx
-         ngx_conf_merge_ptr_value(conf->upstream_config.limit_rate,
-                                  prev->upstream_config.limit_rate, NULL);
-     #elif NGINX_VERSION_NUM >= 1007007
diff --git a/www/nginx/files/extra-patch-passenger-build-nginx.rb b/www/nginx/files/extra-patch-passenger-build-nginx.rb
deleted file mode 100644
index 8676c67d119c..000000000000
--- a/www/nginx/files/extra-patch-passenger-build-nginx.rb
+++ /dev/null
@@ -1,33 +0,0 @@
---- ../passenger-6.1.2/build/nginx.rb.orig	2013-10-26 18:00:00.000000000 -0400
-+++ ../passenger-6.1.2/build/nginx.rb	2016-05-09 18:21:22.426777000 -0400
-@@ -33,13 +33,12 @@
- desc "Build Nginx support files"
- task :nginx => [
-   :nginx_without_native_support,
--  NATIVE_SUPPORT_TARGET
-+  LIBBOOST_OXT,
- ].compact
- 
- desc "Build Nginx support files, including objects suitable for dynamic linking against Nginx"
- task 'nginx:as_dynamic_module' => [
-   :nginx_dynamic_without_native_support,
--  NATIVE_SUPPORT_TARGET
- ].compact
- 
- # Workaround for https://github.com/jimweirich/rake/issues/274
-@@ -47,7 +46,6 @@
- 
- task :nginx_without_native_support => [
-   auto_generated_sources,
--  AGENT_TARGET,
-   COMMON_LIBRARY.only(*NGINX_LIBS_SELECTOR).link_objects
- ].flatten
- 
-@@ -55,7 +53,6 @@
- # it also creates a namespace:clean task to clean up the output_dir
- task :nginx_dynamic_without_native_support => [
-   auto_generated_sources,
--  AGENT_TARGET,
-   define_libboost_oxt_task("nginx", NGINX_DYNAMIC_OUTPUT_DIR + "libboost_oxt", "-fPIC"),
-   COMMON_LIBRARY.only(*NGINX_LIBS_SELECTOR).
-     set_namespace("nginx").set_output_dir(NGINX_DYNAMIC_OUTPUT_DIR + "module_libpassenger_common").define_tasks("-fPIC").
diff --git a/www/nginx/files/extra-patch-passenger-disable-telemetry b/www/nginx/files/extra-patch-passenger-disable-telemetry
deleted file mode 100644
index 82f4f1acba3a..000000000000
--- a/www/nginx/files/extra-patch-passenger-disable-telemetry
+++ /dev/null
@@ -1,11 +0,0 @@
---- ../passenger-6.1.2/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb.orig	2018-12-03 12:23:06.980728000 -0500
-+++ ../passenger-6.1.2/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb	2018-12-03 12:23:32.978924000 -0500
-@@ -204,7 +204,7 @@
-     :name     => 'passenger_disable_anonymous_telemetry',
-     :scope    => :global,
-     :type     => :flag,
--    :default  => false,
-+    :default  => true,
-     :context  => [:main],
-     :struct   => 'NGX_HTTP_MAIN_CONF_OFFSET'
-   },