summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pagano <mpagano@gentoo.org>2023-02-27 18:53:36 -0500
committerMike Pagano <mpagano@gentoo.org>2023-02-27 18:53:36 -0500
commita36e085bbf2fb23ff5ef6a70449edd9d135d2d1e (patch)
tree49c9a244d7d4b9e419ba7ebe5b0d1d59b420fcd2 /www-servers/nginx-unit
parentpackage.mask: Mask =www-servers/nginx-unit-1.29.0-r1 for testing (diff)
downloadgentoo-a36e085bbf2fb23ff5ef6a70449edd9d135d2d1e.tar.gz
gentoo-a36e085bbf2fb23ff5ef6a70449edd9d135d2d1e.tar.bz2
gentoo-a36e085bbf2fb23ff5ef6a70449edd9d135d2d1e.zip
www-servers/nginx-unit: Support nginx-unit user and group
Bug: https://bugs.gentoo.org/894778 Signed-off-by: Mike Pagano <mpagano@gentoo.org>
Diffstat (limited to 'www-servers/nginx-unit')
-rw-r--r--www-servers/nginx-unit/files/nginx-unit.initd-r116
-rw-r--r--www-servers/nginx-unit/nginx-unit-1.29.0-r1.ebuild98
2 files changed, 114 insertions, 0 deletions
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
+}