From a36e085bbf2fb23ff5ef6a70449edd9d135d2d1e Mon Sep 17 00:00:00 2001 From: Mike Pagano Date: Mon, 27 Feb 2023 18:53:36 -0500 Subject: www-servers/nginx-unit: Support nginx-unit user and group Bug: https://bugs.gentoo.org/894778 Signed-off-by: Mike Pagano --- www-servers/nginx-unit/files/nginx-unit.initd-r1 | 16 ++++ www-servers/nginx-unit/nginx-unit-1.29.0-r1.ebuild | 98 ++++++++++++++++++++++ 2 files changed, 114 insertions(+) create mode 100644 www-servers/nginx-unit/files/nginx-unit.initd-r1 create mode 100644 www-servers/nginx-unit/nginx-unit-1.29.0-r1.ebuild (limited to 'www-servers') diff --git a/www-servers/nginx-unit/files/nginx-unit.initd-r1 b/www-servers/nginx-unit/files/nginx-unit.initd-r1 new file mode 100644 index 000000000000..a9ad47834899 --- /dev/null +++ b/www-servers/nginx-unit/files/nginx-unit.initd-r1 @@ -0,0 +1,16 @@ +#!/sbin/openrc-run +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +command="/usr/sbin/unitd" +pidfile="/run/nginx-unit.pid" +user=${NXT_USER:-nginx-unit} +group=${NXT_GROUP:-nginx-unit} + +depend() { + use dns logger netmount +} + +start_pre() { + checkpath -d /var/lib/nginx-unit -o ${user}:${group} -m 0770 +} diff --git a/www-servers/nginx-unit/nginx-unit-1.29.0-r1.ebuild b/www-servers/nginx-unit/nginx-unit-1.29.0-r1.ebuild new file mode 100644 index 000000000000..2b5fa3f6a04f --- /dev/null +++ b/www-servers/nginx-unit/nginx-unit-1.29.0-r1.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) + +inherit flag-o-matic python-single-r1 systemd toolchain-funcs + +MY_P="unit-${PV}" +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" +MY_USE="perl python ruby" +MY_USE_PHP="php7-4 php8-0 php8-1 " +IUSE="${MY_USE} ${MY_USE_PHP} ssl" +REQUIRED_USE="|| ( ${IUSE} ) + python? ( ${PYTHON_REQUIRED_USE} )" + +DEPEND="perl? ( dev-lang/perl:= ) + php7-4? ( dev-lang/php:7.4[embed] ) + php8-0? ( dev-lang/php:8.0[embed] ) + php8-1? ( dev-lang/php:8.1[embed] ) + python? ( ${PYTHON_DEPS} ) + ruby? ( + dev-lang/ruby:= + dev-ruby/rubygems:= + ) + ssl? ( dev-libs/openssl:0= ) + virtual/libcrypt:0=" +RDEPEND="${DEPEND} + acct-user/nginx-unit + acct-group/nginx-unit" + +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=$(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) + + 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 + + diropts -m 0770 + keepdir /var/lib/${PN} + newinitd "${FILESDIR}/${PN}.initd-r1" ${PN} + systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service +} + +pkg_postinst() { + chown ${PN}:${PN} "${EROOT}"/var/lib/nginx-unit +} -- cgit v1.2.3-65-gdbad