commit: 7c1e8e9879d937a7862c6239f6eae4e04709167a Author: Hans de Graaff <graaff <AT> gentoo <DOT> org> AuthorDate: Sun Apr 6 18:20:20 2025 +0000 Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org> CommitDate: Sun Apr 6 18:20:49 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7c1e8e98
www-apache/passenger: add 6.0.27 Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org> www-apache/passenger/Manifest | 1 + www-apache/passenger/passenger-6.0.27.ebuild | 126 +++++++++++++++++++++++++++ 2 files changed, 127 insertions(+) diff --git a/www-apache/passenger/Manifest b/www-apache/passenger/Manifest index 0a9012c8da77..b55ca8389653 100644 --- a/www-apache/passenger/Manifest +++ b/www-apache/passenger/Manifest @@ -1 +1,2 @@ DIST passenger-6.0.26.tar.gz 8323901 BLAKE2B 8ed8b078bbd93686b7e61705234791f1f2edee233f08e4571cd71732ca1c38f24980c458d122fb8cb4a3404d00507c8d1bb62ed7a965fefb459dd8362d360363 SHA512 b015c86cc8291fb6db811827fed9cf65bc40f9a2888a3d9490f6d6128bd93cb778002d6e61d687fa2a12130d14a0d69f9e62448b234119337137074eeed6d24d +DIST passenger-6.0.27.tar.gz 7548637 BLAKE2B 9586dff461243b0a8b4748456994d234ea38bc92b96361d6d544f894990d098fea375049f100aea2a505f51c6f0f48821b76bb50f33184dde7032dfdd56c2030 SHA512 b4e73fa8e37c052377df13438854219ed0d7d8cb5ef8fca295e8b8af605de336a855955f7d183d0ebf84c851dd5dee8a7d810241f8cf2fdde6a87f85678221c8 diff --git a/www-apache/passenger/passenger-6.0.27.ebuild b/www-apache/passenger/passenger-6.0.27.ebuild new file mode 100644 index 000000000000..dce67c97c0a0 --- /dev/null +++ b/www-apache/passenger/passenger-6.0.27.ebuild @@ -0,0 +1,126 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +USE_RUBY="ruby31 ruby32 ruby33" + +inherit apache-module flag-o-matic ruby-ng toolchain-funcs + +DESCRIPTION="Passenger makes deployment of Ruby on Rails applications a breeze" +HOMEPAGE="https://www.phusionpassenger.com/" +SRC_URI="https://s3.amazonaws.com/phusion-passenger/releases/${P}.tar.gz" + +# Passenger is licensed MIT, but vendored code licenses should also be taken into account. +LICENSE="Boost-1.0 MIT BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" +IUSE="apache2 debug" + +ruby_add_bdepend "dev-ruby/rake" + +ruby_add_rdepend " + >=dev-ruby/rack-1.6.13:* + dev-ruby/rackup:2 + >=dev-ruby/rake-12.3.3" + +# libev is bundled but with adapations that do not seem to be accepted +# upstream, so we must use the bundled version :-( +CDEPEND=" + >=dev-libs/libuv-1.8.0 + net-misc/curl[ssl] + apache2? ( www-servers/apache[apache2_modules_unixd(+)] )" + +RDEPEND="${RDEPEND} ${CDEPEND}" +DEPEND="${DEPEND} ${CDEPEND}" + +APACHE2_MOD_CONF="30_mod_${PN}-5.0.0 30_mod_${PN}" +APACHE2_MOD_DEFINE="PASSENGER" + +want_apache2 + +pkg_setup() { + use debug && append-flags -DPASSENGER_DEBUG + depend.apache_pkg_setup +} + +all_ruby_prepare() { + eapply "${FILESDIR}"/${PN}-5.1.11-gentoo.patch + + # Avoid fixed debugging CFLAGs. + sed -e '/debugging_\(c\|cxx\)flags/areturn ""' \ + -i src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb || die + + # Use sed here so that we can dynamically set the documentation directory. + sed -i -e "s:/usr/share/doc/passenger:/usr/share/doc/${P}:" \ + -e "s:/usr/lib/phusion-passenger/agents:/usr/libexec/phusion-passenger/agents:" \ + src/ruby_supportlib/phusion_passenger.rb || die + sed -e "s:/usr/lib/phusion-passenger/agents:/usr/libexec/phusion-passenger/agents:" \ + -i src/cxx_supportlib/ResourceLocator.h || die + + # Don't install a tool that won't work in our setup. + sed -i -e '/passenger-install-apache2-module/d' src/ruby_supportlib/phusion_passenger/packaging.rb || die + rm -f bin/passenger-install-apache2-module || die "Unable to remove unneeded install script." + + # Make sure we use the system-provided version where possible + rm -rf src/cxx_supportlib/vendor-copy/libuv || die "Unable to remove vendored code." + + # Fix hard-coded use of AR and RANLIB + sed -e "s/ar cru/"$(tc-getAR)" cru/" \ + -e "s/ranlib/"$(tc-getRANLIB)"/" \ + -i build/support/cplusplus.rb || die + + # Make sure apache support is not attempted with -apache2 + if ! use apache2 ; then + sed -i -e '/fakeroot/ s/:apache2, //' build/packaging.rb || die + fi +} + +all_ruby_compile() { + if use apache2 ; then + V=1 EXTRA_LDFLAGS="${LDFLAGS}" \ + APXS2="${APXS}" \ + HTTPD="${APACHE_BIN}" \ + FS_LIBDIR='/usr/'$(get_libdir) \ + USE_VENDORED_LIBUV="no" LIBUV_LIBS="-luv" \ + RANLIB=$(tc-getRANLIB) \ + ruby -S rake apache2 || die "rake failed" + fi +} + +each_ruby_compile() { + append-flags -fno-strict-aliasing + + V=1 EXTRA_LDFLAGS="${LDFLAGS}" \ + APXS2="${APXS}" \ + HTTPD="${APACHE_BIN}" \ + FS_LIBDIR='/usr/'$(get_libdir) \ + USE_VENDORED_LIBUV="no" LIBUV_LIBS="-luv" \ + RANLIB=$(tc-getRANLIB) \ + ${RUBY} -S rake native_support || die "rake failed" +} + +all_ruby_install() { + if use apache2 ; then + APACHE2_MOD_FILE="${S}/buildout/apache2/mod_${PN}.so" + apache-module_src_install + + # Patch in the correct libdir + sed -i -e 's:/usr/lib/:/usr/'$(get_libdir)'/:' "${D}${APACHE_MODULES_CONFDIR}/30_mod_${PN}.conf" || die + fi + + dodoc CHANGELOG README.md doc/*.md +} + +each_ruby_install() { + DISTDIR="${D}" \ + RUBYLIBDIR="$(ruby_rbconfig_value vendordir)" \ + RUBYARCHDIR="$(ruby_rbconfig_value archdir)" \ + APXS2="${APXS}" \ + HTTPD="${APACHE_BIN}" \ + FS_DOCDIR="/usr/share/doc/${P}" \ + FS_LIBDIR='/usr/'$(get_libdir) \ + EXTRA_LDFLAGS="${LDFLAGS}" \ + USE_VENDORED_LIBUV="no" LIBUV_LIBS="-luv" \ + RANLIB=$(tc-getRANLIB) \ + ${RUBY} -S rake fakeroot || die "rake failed" +}
