Index | Thread | Search

From:
Theo Buehler <tb@theobuehler.org>
Subject:
nginx: remove ruby passenger dependency
To:
ports@openbsd.org
Cc:
jeremy@openbsd.org, robert@openbsd.org
Date:
Tue, 19 Aug 2025 10:49:09 +0200

Download raw body.

Thread
Our passenger is quite outdated and will break with the libc++19 update.
Since it's a dependency of nginx, we need to fix that. Since it's a pain
to udpate and with ruby-puma there is a better solution, jeremy suggested
we get rid of passenger. No actual user spoke up on the list since
jeremy asked: https://marc.info/?t=175224762500001&r=1&w=2

I think the diff for nginx would look like this. I verified that this
builds and packages with current and with libc++19. This can of course
wait until the smtp module fix is committed.

Index: Makefile
===================================================================
RCS file: /cvs/ports/www/nginx/Makefile,v
diff -u -p -r1.193 Makefile
--- Makefile	24 Jul 2025 23:20:36 -0000	1.193
+++ Makefile	19 Aug 2025 07:46:41 -0000
@@ -13,7 +13,6 @@ COMMENT-mailproxy=	nginx mail proxy modu
 COMMENT-modsecurity=	nginx module for ModSecurity
 COMMENT-naxsi=		nginx web application firewall module
 COMMENT-njs=		nginx javascript scripting module
-COMMENT-passenger=	nginx passenger (ruby/python/nodejs) integration module
 COMMENT-perl=		nginx perl scripting module
 COMMENT-rtmp=		nginx module for RTMP streaming
 COMMENT-securelink=	nginx HMAC secure link module
@@ -23,7 +22,6 @@ COMMENT-xslt=		nginx XSLT filter module
 VERSION=	1.28.0
 REVISION=	1
 REVISION-njs=		2
-REVISION-passenger=	2
 DISTNAME=	nginx-${VERSION}
 CATEGORIES=	www
 
@@ -38,15 +36,12 @@ PKGNAME-mailproxy=	nginx-mailproxy-${VER
 PKGNAME-modsecurity=	nginx-modsecurity-${VERSION}
 PKGNAME-naxsi=		nginx-naxsi-${VERSION}
 PKGNAME-njs=		nginx-njs-${VERSION}
-PKGNAME-passenger=	nginx-passenger-${VERSION}
 PKGNAME-perl=		nginx-perl-${VERSION}
 PKGNAME-rtmp=		nginx-rtmp-${VERSION}
 PKGNAME-securelink=	nginx-securelink-${VERSION}
 PKGNAME-stream=		nginx-stream-${VERSION}
 PKGNAME-xslt=		nginx-xslt-${VERSION}
 
-ONLY_FOR_ARCHS-passenger= aarch64 amd64 arm i386
-
 SITES=	https://nginx.org/download/
 SITES.p=https://raw.githubusercontent.com/rnagy/nginx_chroot_patch/master/ \
 	https://raw.githubusercontent.com/sthen/nginx_chroot_patch/add_1.20.1/
@@ -74,14 +69,12 @@ HOMEPAGE-lua=		https://github.com/openre
 HOMEPAGE-modsecurity=	https://github.com/owasp-modsecurity/ModSecurity-nginx
 HOMEPAGE-naxsi=		https://github.com/wargio/naxsi
 HOMEPAGE-njs=		https://github.com/nginx/njs
-HOMEPAGE-passenger=	https://www.phusionpassenger.com/
 HOMEPAGE-rtmp=		https://github.com/arut/nginx-rtmp-module
 HOMEPAGE-securelink=	https://github.com/nginx-modules/ngx_http_hmac_secure_link_module
 
 MAINTAINER=	Robert Nagy <robert@openbsd.org>
 
 # nginx, cache_purge, geoip2, headers_more, ldap_auth, njs, rtmp: BSD-like
-# passenger: MIT
 # securelink: unlicensed
 # naxsi: GPLv3
 # modsecurity: Apache2
@@ -91,11 +84,11 @@ MULTI_PACKAGES =	-main -naxsi -perl ${MO
 
 MODULE_PACKAGES =	-cache_purge -geoip2 -headers_more \
 			-image_filter -ldap_auth -lua -mailproxy \
-			-modsecurity -njs -passenger -rtmp \
+			-modsecurity -njs -rtmp \
 			-securelink -stream -xslt
 
 FLAVOR ?=
-PSEUDO_FLAVORS =	no_lua no_modsecurity no_njs no_passenger
+PSEUDO_FLAVORS =	no_lua no_modsecurity no_njs
 
 COMPILER =		base-clang ports-gcc base-gcc
 
@@ -112,7 +105,6 @@ WANTLIB-mailproxy=
 WANTLIB-modsecurity=	modsecurity
 WANTLIB-naxsi=
 WANTLIB-njs=		exslt m xml2 xslt
-WANTLIB-passenger=	m pthread ${COMPILER_LIBCXX}
 WANTLIB-perl=		c m perl
 WANTLIB-rtmp=
 WANTLIB-securelink=	crypto
@@ -141,8 +133,6 @@ RUN_DEPENDS-main=	# blank (override defa
 RUN_DEPENDS-lua=	${RUN_DEPENDS} \
 			${_MODLUA_RUN_DEPENDS} \
 			devel/pcre
-RUN_DEPENDS-passenger=	${RUN_DEPENDS} \
-			ruby*-passenger-*:www/ruby-passenger
 
 NGINX_DIR=	/var/www
 SUBST_VARS=	NGINX_DIR
@@ -175,14 +165,6 @@ CONFIGURE_ARGS+=	--add-dynamic-module=${
 CONFIGURE_ENV+=		MODSECURITY_INC=${LOCALBASE}/include/modsecurity \
 			MODSECURITY_LIB=${LOCALBASE}/lib
 CONFIGURE_ARGS+=	--add-dynamic-module=${WRKSRC}/ModSecurity-nginx
-.endif
-
-.if ${BUILD_PACKAGES:M-passenger}
-MODULES+=		lang/ruby
-MODRUBY_BUILDDEP=	No
-MODRUBY_RUNDEP=		No
-BUILD_DEPENDS+=		${MODRUBY_PKG_PREFIX}-passenger-*:www/ruby-passenger
-CONFIGURE_ARGS+=	--add-dynamic-module=${LOCALBASE}/lib/phusion-passenger${GEM_BIN_SUFFIX}/src/nginx_module
 .endif
 
 .if ${BUILD_PACKAGES:M-rtmp}
Index: pkg/DESCR-passenger
===================================================================
RCS file: pkg/DESCR-passenger
diff -N pkg/DESCR-passenger
--- pkg/DESCR-passenger	4 Nov 2016 22:13:43 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,13 +0,0 @@
-This is the nginx module adding support for Phusion Passenger.
-
-Phusion Passenger is a web server and application server, designed to be fast,
-robust and lightweight. It takes a lot of complexity out of deploying web apps,
-adds powerful enterprise-grade features that are useful in production, and makes
-administration much easier and less complex. Phusion Passenger supports Ruby,
-Python, Node.js and Meteor, and is being used by high-profile companies such as
-Apple, Pixar, New York Times, AirBnB, Juniper etc as well as over 350.000
-websites.
-
-What makes it so fast and reliable is its C++ core, its zero-copy architecture,
-its watchdog system and its hybrid evented, multi-threaded and multi-process
-design.
Index: pkg/PLIST-passenger
===================================================================
RCS file: pkg/PLIST-passenger
diff -N pkg/PLIST-passenger
--- pkg/PLIST-passenger	11 Mar 2022 20:10:10 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1 +0,0 @@
-@so ngx_http_passenger_module.so