summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--www-servers/monkeyd/Manifest1
-rw-r--r--www-servers/monkeyd/monkeyd-1.6.6.ebuild141
2 files changed, 142 insertions, 0 deletions
diff --git a/www-servers/monkeyd/Manifest b/www-servers/monkeyd/Manifest
index a7d822412dc7..7b3172797c93 100644
--- a/www-servers/monkeyd/Manifest
+++ b/www-servers/monkeyd/Manifest
@@ -1,2 +1,3 @@
DIST monkey-1.5.6.tar.gz 902636 SHA256 7c3d845306aa74ee6effd7ab6169d16ac4e6450e564954d0d0baa2d1e9be1a22 SHA512 4c7c627cb047252252b22da5fba179a21fb5b8dc6280b96307af52757ad049d24b0daaaea51dca4f0429af5e6499c239f6b62a03654cc9e7ad98ae8f5149b64c WHIRLPOOL aba1a928023fc67224f254182eb9707c6594c7092d9ff98ecfa297c91d5c61f79235e7467192b5d46ac114ae67a3cee98e06704721348a40ee825755ab39d9a1
DIST monkey-1.6.5.tar.gz 2033866 SHA256 5e24a782fe3d97f4a4e78cac54646ca13d8646b8c790ea63924be77235453ea5 SHA512 64b5a30e8636e9aaaf3f8fb207201282980a29449476e8905218b5e36da78c9a1754a5706eafb40d46c72458a32346899a1bf859b29c213bf7cc5e66f5d834b3 WHIRLPOOL 1573fd42dc87da294f56dc3ddea8968d9cabd9421788beda074968343e52ea94f2ec321ed2a73c778787337e4f0c4eff89b43026f7e495976eb1d0cddd6b6c19
+DIST monkey-1.6.6.tar.gz 2035885 SHA256 4ad8258d6cb6fb8b9d98891a7c84a559ab7ab96f7dde0ecdfc23a1a8d594ce11 SHA512 c56edcd2bb18fbe4e4f364853e4796be1211cca7829899cde94500d514ded7ba8cca44c6e5f964b8864d0348caf1a570ac558c287f708c081a40aeecef8ee2cf WHIRLPOOL 60b95e0c81b9ce3faf2a87acf9496a8510d5d6d66501850c2d45cab39505b58f9f22ec9936002ff06cd4b13d6ac787b144409f64625fc56042fdfef4bfee79a4
diff --git a/www-servers/monkeyd/monkeyd-1.6.6.ebuild b/www-servers/monkeyd/monkeyd-1.6.6.ebuild
new file mode 100644
index 000000000000..add07dc76ee8
--- /dev/null
+++ b/www-servers/monkeyd/monkeyd-1.6.6.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils flag-o-matic toolchain-funcs 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_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.3-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 \
+ --sbindir=/usr/sbin \
+ --webroot=${WEBROOT}/htdocs \
+ --logdir=/var/log/${PN} \
+ --mandir=/usr/share/man \
+ --libdir=/usr/$(get_libdir) \
+ --pidfile=/run/monkey.pid \
+ --sysconfdir=/etc/${PN} \
+ ${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
+}