summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /www-servers/monkeyd/monkeyd-1.5.5.ebuild
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'www-servers/monkeyd/monkeyd-1.5.5.ebuild')
-rw-r--r--www-servers/monkeyd/monkeyd-1.5.5.ebuild144
1 files changed, 144 insertions, 0 deletions
diff --git a/www-servers/monkeyd/monkeyd-1.5.5.ebuild b/www-servers/monkeyd/monkeyd-1.5.5.ebuild
new file mode 100644
index 000000000000..5c05f5f217bd
--- /dev/null
+++ b/www-servers/monkeyd/monkeyd-1.5.5.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit toolchain-funcs depend.php multilib
+
+MY_P="${PN/d}-${PV}"
+DESCRIPTION="A small, fast, and scalable web server"
+HOMEPAGE="http://www.monkey-project.com/"
+SRC_URI="http://monkey-project.com/releases/${PV:0:3}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm ~mips ppc ppc64 x86"
+
+# ssl is broken, so we turn it off until fixed
+IUSE="-debug jemalloc php minimal elibc_musl elibc_uclibc monkeyd_plugins_auth monkeyd_plugins_cheetah cgi monkeyd_plugins_dirlisting fastcgi +monkeyd_plugins_liana monkeyd_plugins_logger monkeyd_plugins_mandril"
+
+# uclibc is often compiled without backtrace info so we should
+# force this off. If someone complains, consider relaxing it.
+# ssl is borken, so we remove "ssl? ( monkeyd_plugins_polarssl )"
+REQUIRED_USE="elibc_uclibc? ( !debug )"
+
+DEPEND="jemalloc? ( >=dev-libs/jemalloc-3.3.1 )"
+RDEPEND="php? ( dev-lang/php )"
+
+S="${WORKDIR}/${MY_P}"
+
+WEBROOT="/var/www/localhost"
+
+pkg_setup() {
+ use php && require_php_cgi
+
+ 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.5.2-use-system-jemalloc.patch
+ epatch "${FILESDIR}"/${PN}-1.5.0-fix-CPPFLAGS.patch
+
+ # Don't install the banana script, we use ${FILESDIR}/monkeyd.initd instead
+ sed -i '/Creating bin\/banana/d' configure || die "No configure file"
+ sed -i '/create_banana_script bindir/d' configure || die "No configure file"
+
+ # Don't explicitly strip files
+ sed -i -e '/$STRIP /d' -e 's/install -s -m 644/install -m 755/' configure || die "No configure file"
+
+ # We don't need the includes, sym link to libmonkey.so, or monkey.cp when not installing the .so
+ use minimal && {
+ sed -i '/install -d \\$(INCDIR)/d' configure || die "No configure file"
+ sed -i '/install -m 644 src\/include\/\*.h \\$(INCDIR)/d' configure || die "No configure file"
+ sed -i '/ln -sf/d' configure || die "No configure file"
+ sed -i '/install -d \\$(LIBDIR)\/pkgconfig/d' configure || die "No configure file"
+ sed -i '/install -m 644 monkey.pc \\$(LIBDIR)\/pkgconfig/d' configure || die "No configure file"
+ }
+
+ # Unquiet build
+ sed -i '/^CC\s/d' configure || die "No configure file"
+ sed -i 's/^\(CC_QUIET=\).*/\1 \\\$(CC)/' configure || die "No configure file"
+ sed -i 's/^\(.*MAKE.*\)-s\(.*\)$/\1\2/' configure || die "No configure file"
+ makes=$(find . -iname Makefile.in)
+ for f in ${makes}; do
+ sed -i '/^CC\s/d' $f || die "No file "$f
+ sed -i 's/^\(CC_QUIET=\).*/\1 \$(CC)/' $f || die "No file "$f
+ done
+}
+
+src_configure() {
+ local myconf=""
+
+ use elibc_uclibc && myconf+=" --uclib-mode"
+ use elibc_musl && myconf+=" --musl-mode"
+
+ use minimal || myconf+=" --enable-shared"
+ use jemalloc || myconf+=" --malloc-libc"
+
+ if use debug; then
+ myconf+=" --debug --trace"
+ else
+ myconf+=" --no-backtrace"
+ fi
+
+ local enable_plugins=""
+ local disable_plugins=""
+ for p in ${PLUGINS}; do
+ cp=${p/monkeyd_plugins_/}
+ use $p && enable_plugins+="${cp}," || disable_plugins+="${cp},"
+ done
+ myconf+=" --enable-plugins=${enable_plugins%,} --disable-plugins=${disable_plugins%,}"
+
+ # Non-autotools configure
+ ./configure \
+ --prefix=/usr \
+ --bindir=/usr/bin \
+ --datadir=${WEBROOT}/htdocs \
+ --logdir=/var/log/${PN} \
+ --mandir=/usr/share/man \
+ --libdir=/usr/$(get_libdir) \
+ --plugdir=/usr/$(get_libdir)/monkeyd/plugins \
+ --sysconfdir=/etc/${PN} \
+ --platform="generic" \
+ ${myconf} \
+ || die
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
+
+ # Don't install the banana script man page
+ rm "${S}"/man/banana.1
+}
+
+src_install() {
+ default
+
+ if use php ; then
+ sed -i -e '/^#AddScript application\/x-httpd-php/s:^#::' "${D}"/etc/monkeyd/monkey.conf || die
+ sed -i -e 's:/home/my_home/php/bin/php:/usr/bin/php-cgi:' "${D}"/etc/monkeyd/monkey.conf || die
+ fi
+
+ sed -i -e "s:/var/log/monkeyd/monkey.pid:/var/run/monkey.pid:" "${D}"/etc/monkeyd/monkey.conf || die
+ newinitd "${FILESDIR}"/monkeyd.initd 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
+ mkdir "${D}"${WEBROOT}/htdocs
+
+ keepdir \
+ /var/log/monkeyd \
+ ${WEBROOT}/htdocs
+}