diff options
author | Conrad Kostecki <conikost@gentoo.org> | 2021-07-18 21:54:41 +0200 |
---|---|---|
committer | Conrad Kostecki <conikost@gentoo.org> | 2021-07-20 21:03:07 +0200 |
commit | 324493b2eb7a8bbb1dba38b08617441432e1ab5a (patch) | |
tree | 6e6c7a4aa55022cd117847b91011a77da379a1f7 /www-servers/monkeyd | |
parent | acct-user/monkeyd: add user (149) monkeyd (diff) | |
download | gentoo-324493b2eb7a8bbb1dba38b08617441432e1ab5a.tar.gz gentoo-324493b2eb7a8bbb1dba38b08617441432e1ab5a.tar.bz2 gentoo-324493b2eb7a8bbb1dba38b08617441432e1ab5a.zip |
www-servers/monkeyd: migrate to GLEP 81
Bug: https://bugs.gentoo.org/781542
Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
Diffstat (limited to 'www-servers/monkeyd')
-rw-r--r-- | www-servers/monkeyd/monkeyd-1.6.9-r2.ebuild | 147 | ||||
-rw-r--r-- | www-servers/monkeyd/monkeyd-9999.ebuild | 26 |
2 files changed, 158 insertions, 15 deletions
diff --git a/www-servers/monkeyd/monkeyd-1.6.9-r2.ebuild b/www-servers/monkeyd/monkeyd-1.6.9-r2.ebuild new file mode 100644 index 000000000000..0be511e56215 --- /dev/null +++ b/www-servers/monkeyd/monkeyd-1.6.9-r2.ebuild @@ -0,0 +1,147 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit flag-o-matic multilib toolchain-funcs + +DESCRIPTION="A small, fast, and scalable web server" +HOMEPAGE="http://www.monkey-project.com/" +MY_P="${PN/d}-${PV}" +if [[ ${PV} == *9999* ]] ; then + EGIT_REPO_URI="https://github.com/monkey/monkey.git" + inherit git-r3 +else + SRC_URI="http://monkey-project.com/releases/${PV:0:3}/${MY_P}.tar.gz" + KEYWORDS="amd64 arm ~mips ppc ppc64 x86" +fi + +LICENSE="GPL-2" +SLOT="0" + +# jemalloc is also off until we figure out how to work CMakeLists.txt magic. +#IUSE="cgi debug fastcgi jemalloc php static-plugins ${PLUGINS}" + +PLUGINS="monkeyd_plugins_auth monkeyd_plugins_cheetah monkeyd_plugins_dirlisting +monkeyd_plugins_liana monkeyd_plugins_logger monkeyd_plugins_mandril monkeyd_plugins_tls" +IUSE="cgi debug fastcgi php static-plugins ${PLUGINS}" + +# uclibc is often compiled without backtrace info so we should +# force this off. If someone complains, consider relaxing it. +REQUIRED_USE=" + monkeyd_plugins_tls? ( !static-plugins ) + elibc_uclibc? ( !debug ) + cgi? ( php )" + +#DEPEND="jemalloc? ( >=dev-libs/jemalloc-3.3.1 )" +DEPEND=" + dev-util/cmake + monkeyd_plugins_tls? ( net-libs/mbedtls:= )" +RDEPEND=" + acct-group/monkeyd + acct-user/monkeyd + php? ( dev-lang/php ) + cgi? ( dev-lang/php[cgi] )" + +S="${WORKDIR}/${MY_P}" + +WEBROOT="/var/www/localhost" + +pkg_setup() { + if use debug; then + ewarn + ewarn "\033[1;33m**************************************************\033[00m" + ewarn "Do not use debug in production!" + ewarn "\033[1;33m**************************************************\033[00m" + ewarn + fi +} + +src_prepare() { + # Unconditionally get rid of the bundled jemalloc + rm -rf "${S}"/deps + eapply "${FILESDIR}"/${PN}-1.6.9-fix-pidfile.patch + eapply "${FILESDIR}"/${PN}-1.6.8-system-mbedtls.patch + eapply_user +} + +src_configure() { + append-cflags -fcommon + local myconf="" + + use elibc_uclibc && myconf+=" --uclib-mode" + use elibc_musl && myconf+=" --musl-mode" + + #use jemalloc || myconf+=" --malloc-libc" + myconf+=" --malloc-libc" + + if use debug; then + myconf+=" --debug --trace" + else + myconf+=" --no-backtrace" + fi + + local enable_plugins="" + local disable_plugins="" + # We use 'cgi' and 'fastcgi' because they are global flags + # instead of the corresponding monkeyd_plugins_* + use cgi && enable_plugins+="cgi," || disable_plugins+="cgi," + use fastcgi && enable_plugins+="fastcgi," || disable_plugins+="fastcgi," + # For the rest, we scan the monkeyd_plugins_* and parse out the plugin name. + local p + for p in ${PLUGINS}; do + pp=${p/+/} + cp=${pp/monkeyd_plugins_/} + use $pp && enable_plugins+="${cp}," || disable_plugins+="${cp}," + done + myconf+=" --enable-plugins=${enable_plugins%,} --disable-plugins=${disable_plugins%,}" + if use static-plugins; then + myconf+=" --static-plugins=${enable_plugins%,}" + fi + + # For O_CLOEXEC which is guarded by _GNU_SOURCE in uClibc, + # but shouldn't because it is POSIX. This needs to be fixed + # in uClibc. Also, we really should us append-cppflags but + # monkey's build system doesn't respect CPPFLAGS. This needs + # to be fixed in monkey. + use elibc_uclibc && append-cflags -D_GNU_SOURCE + + # Non-autotools configure + ./configure \ + --pthread-tls \ + --prefix=/usr \ + --default-user=monkeyd \ + --sbindir=/usr/sbin \ + --webroot=${WEBROOT}/htdocs \ + --logdir=/var/log/monkeyd \ + --mandir=/usr/share/man \ + --libdir=/usr/$(get_libdir) \ + --sysconfdir=/etc/monkeyd \ + ${myconf} \ + || die +} + +src_compile() { + emake VERBOSE=1 +} + +src_install() { + default + + newinitd "${FILESDIR}"/monkeyd.initd-r1 monkeyd + newconfd "${FILESDIR}"/monkeyd.confd monkeyd + + # Move htdocs to docdir, bug #429632 + docompress -x /usr/share/doc/"${PF}"/htdocs.dist + mv "${D}"${WEBROOT}/htdocs \ + "${D}"/usr/share/doc/"${PF}"/htdocs.dist || die + + keepdir /var/log/monkeyd ${WEBROOT}/htdocs + + # This needs to be created at runtime + rm -rf "${D}"/run +} + +pkg_postinst() { + chown monkeyd:monkeyd /var/log/monkeyd + chmod 770 /var/log/monkeyd +} diff --git a/www-servers/monkeyd/monkeyd-9999.ebuild b/www-servers/monkeyd/monkeyd-9999.ebuild index dc3dfa6306e1..3308111d6ea3 100644 --- a/www-servers/monkeyd/monkeyd-9999.ebuild +++ b/www-servers/monkeyd/monkeyd-9999.ebuild @@ -1,9 +1,9 @@ # Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 +EAPI=7 -inherit epatch flag-o-matic toolchain-funcs user multilib +inherit flag-o-matic multilib toolchain-funcs DESCRIPTION="A small, fast, and scalable web server" HOMEPAGE="http://www.monkey-project.com/" @@ -37,6 +37,8 @@ DEPEND=" dev-util/cmake monkeyd_plugins_tls? ( net-libs/mbedtls:= )" RDEPEND=" + acct-group/monkeyd + acct-user/monkeyd php? ( dev-lang/php ) cgi? ( dev-lang/php[cgi] )" @@ -44,11 +46,6 @@ S="${WORKDIR}/${MY_P}" WEBROOT="/var/www/localhost" -pkg_preinst() { - enewgroup monkeyd - enewuser monkeyd -1 -1 /var/tmp/monkeyd monkeyd -} - pkg_setup() { if use debug; then ewarn @@ -62,11 +59,13 @@ pkg_setup() { src_prepare() { # Unconditionally get rid of the bundled jemalloc rm -rf "${S}"/deps - epatch "${FILESDIR}"/${PN}-1.6.9-fix-pidfile.patch - epatch "${FILESDIR}"/${PN}-1.6.8-system-mbedtls.patch + eapply "${FILESDIR}"/${PN}-1.6.9-fix-pidfile.patch + eapply "${FILESDIR}"/${PN}-1.6.8-system-mbedtls.patch + eapply_user } src_configure() { + append-cflags -fcommon local myconf="" use elibc_uclibc && myconf+=" --uclib-mode" @@ -136,16 +135,13 @@ src_install() { mv "${D}"${WEBROOT}/htdocs \ "${D}"/usr/share/doc/"${PF}"/htdocs.dist || die - keepdir \ - /var/tmp/monkeyd \ - /var/log/monkeyd \ - ${WEBROOT}/htdocs + keepdir /var/log/monkeyd ${WEBROOT}/htdocs # This needs to be created at runtime rm -rf "${D}"/run } pkg_postinst() { - chown monkeyd:monkeyd /var/{log,tmp}/monkeyd - chmod 770 /var/{log,tmp}/monkeyd + chown monkeyd:monkeyd /var/log/monkeyd + chmod 770 /var/log/monkeyd } |