summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pagano <mpagano@gentoo.org>2025-08-26 14:49:01 -0400
committerMike Pagano <mpagano@gentoo.org>2025-08-26 14:49:01 -0400
commitb2e16c00c6152b9cdeda174d3eb1e9ef1231ff4a (patch)
tree5023d0d56463831e509dedcb5a66122ba6d9ce41
parent6c562ca410d96e9ca06064fa187ed151bb2dd402 (diff)
downloadgentoo-b2e16c00c6152b9cdeda174d3eb1e9ef1231ff4a.tar.gz
gentoo-b2e16c00c6152b9cdeda174d3eb1e9ef1231ff4a.tar.bz2
gentoo-b2e16c00c6152b9cdeda174d3eb1e9ef1231ff4a.zip
www-servers/nginx-unit: Fix build failures with Ruby 3.4
Bug: https://bugs.gentoo.org/951447 Signed-off-by: Mike Pagano <mpagano@gentoo.org>
-rw-r--r--www-servers/nginx-unit/nginx-unit-1.34.2-r1.ebuild108
1 files changed, 108 insertions, 0 deletions
diff --git a/www-servers/nginx-unit/nginx-unit-1.34.2-r1.ebuild b/www-servers/nginx-unit/nginx-unit-1.34.2-r1.ebuild
new file mode 100644
index 000000000000..8b405d2464e7
--- /dev/null
+++ b/www-servers/nginx-unit/nginx-unit-1.34.2-r1.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{12..13} )
+
+inherit flag-o-matic python-single-r1 systemd toolchain-funcs
+
+MY_P="unit-${PV}"
+MY_USE="perl python ruby"
+MY_USE_PHP="php8-3"
+
+DESCRIPTION="Dynamic web and application server"
+HOMEPAGE="https://unit.nginx.org"
+SRC_URI="https://unit.nginx.org/download/${MY_P}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="${MY_USE} ${MY_USE_PHP} perl ssl"
+
+REQUIRED_USE="|| ( ${IUSE} )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="perl? ( dev-lang/perl:= )
+ php8-3? ( dev-lang/php:8.3[embed] )
+ python? ( ${PYTHON_DEPS} )
+ ruby? (
+ dev-lang/ruby:=
+ dev-ruby/rubygems:=
+ )
+ ssl? ( dev-libs/openssl:0= )
+ virtual/libcrypt:0="
+BDEPEND="
+ sys-apps/which
+"
+RDEPEND="${DEPEND}
+ acct-user/nginx-unit
+ acct-group/nginx-unit"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-ruby34.patch
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ eapply_user
+ sed -i '/^CFLAGS/d' auto/make || die
+ default
+}
+
+src_configure() {
+ local opt=(
+ --control=unix:/run/${PN}.sock
+ --log=/var/log/${PN}
+ --modules=/usr/$(get_libdir)/${PN}
+ --pid=/run/${PN}.pid
+ --prefix=/usr
+ --state=/var/lib/${PN}
+ --user=${PN}
+ --group=${PN}
+ )
+
+ use ssl && opt+=( --openssl )
+ export AR="$(tc-getAR)"
+ export CC="$(tc-getCC)"
+ ./configure ${opt[@]} --ld-opt="${LDFLAGS}" || die "Core configuration failed"
+
+ # Modules require position-independent code
+ append-cflags $(test-flags-CC -fPIC -Wno-incompatible-pointer-types)
+
+ for flag in ${MY_USE} ; do
+ if use ${flag} ; then
+ ./configure ${flag} || die "Module configuration failed: ${flag}"
+ fi
+ done
+
+ for flag in ${MY_USE_PHP} ; do
+ if use ${flag} ; then
+ local php_slot="/usr/$(get_libdir)/${flag/-/.}"
+ ./configure php \
+ --module=${flag} \
+ --config=${php_slot}/bin/php-config \
+ --lib-path=${php_slot}/$(get_libdir) || die "Module configuration failed: ${flag}"
+ fi
+ done
+}
+
+src_install() {
+ default
+
+ if use perl ; then
+ emake DESTDIR="${D}/" perl-install
+ fi
+
+ rm -rf "${ED}"/usr/var
+
+ diropts -m 0770
+ keepdir /var/lib/${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r2" ${PN}
+ newconfd "${FILESDIR}"/nginx-unit.confd nginx-unit
+ systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service
+}