From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- www-servers/monkeyd/monkeyd-9999.ebuild | 152 ++++++++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 www-servers/monkeyd/monkeyd-9999.ebuild (limited to 'www-servers/monkeyd/monkeyd-9999.ebuild') diff --git a/www-servers/monkeyd/monkeyd-9999.ebuild b/www-servers/monkeyd/monkeyd-9999.ebuild new file mode 100644 index 000000000000..fafdebcfb419 --- /dev/null +++ b/www-servers/monkeyd/monkeyd-9999.ebuild @@ -0,0 +1,152 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="5" + +inherit eutils flag-o-matic toolchain-funcs user multilib + +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-2 + KEYWORDS="" +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=" + php? ( dev-lang/php ) + cgi? ( dev-lang/php[cgi] )" + +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 + 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 + epatch "${FILESDIR}"/${PN}-1.6.9-fix-pidfile.patch + epatch "${FILESDIR}"/${PN}-1.6.8-system-mbedtls.patch +} + +src_configure() { + 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/tmp/monkeyd \ + /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 +} -- cgit v1.2.3