summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony G. Basile <blueness@gentoo.org>2014-05-26 17:26:25 +0000
committerAnthony G. Basile <blueness@gentoo.org>2014-05-26 17:26:25 +0000
commit6677a8f9dc7f4c8f6af0b68c0f927535625e444d (patch)
tree67f4b609141009bc340e08bd91cf43fb7931b73d /www-servers
parentConvert to gnome-python-common-r1. (diff)
downloadgentoo-2-6677a8f9dc7f4c8f6af0b68c0f927535625e444d.tar.gz
gentoo-2-6677a8f9dc7f4c8f6af0b68c0f927535625e444d.tar.bz2
gentoo-2-6677a8f9dc7f4c8f6af0b68c0f927535625e444d.zip
Version bump
(Portage version: 2.2.8-r1/cvs/Linux x86_64, signed Manifest commit with key 0xF52D4BBA)
Diffstat (limited to 'www-servers')
-rw-r--r--www-servers/monkeyd/ChangeLog9
-rw-r--r--www-servers/monkeyd/files/monkeyd-1.5.0-fix-CPPFLAGS.patch17
-rw-r--r--www-servers/monkeyd/files/monkeyd-1.5.0-use-system-jemalloc.patch110
-rw-r--r--www-servers/monkeyd/monkeyd-1.5.0.ebuild144
4 files changed, 279 insertions, 1 deletions
diff --git a/www-servers/monkeyd/ChangeLog b/www-servers/monkeyd/ChangeLog
index a552f68ed874..572c21d619d2 100644
--- a/www-servers/monkeyd/ChangeLog
+++ b/www-servers/monkeyd/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for www-servers/monkeyd
# Copyright 1999- Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-servers/monkeyd/ChangeLog,v 1.68 2014/02/06 16:12:25 blueness Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-servers/monkeyd/ChangeLog,v 1.69 2014/05/26 17:26:25 blueness Exp $
+
+*monkeyd-1.5.0 (26 May 2014)
+
+ 26 May 2014; Anthony G. Basile <blueness@gentoo.org>
+ +files/monkeyd-1.5.0-fix-CPPFLAGS.patch,
+ +files/monkeyd-1.5.0-use-system-jemalloc.patch, +monkeyd-1.5.0.ebuild:
+ Version bump
06 Feb 2014; Anthony G. Basile <blueness@gentoo.org>
+files/monkeyd-1.4.0-use-system-jemalloc.patch,
diff --git a/www-servers/monkeyd/files/monkeyd-1.5.0-fix-CPPFLAGS.patch b/www-servers/monkeyd/files/monkeyd-1.5.0-fix-CPPFLAGS.patch
new file mode 100644
index 000000000000..9e88bc999dee
--- /dev/null
+++ b/www-servers/monkeyd/files/monkeyd-1.5.0-fix-CPPFLAGS.patch
@@ -0,0 +1,17 @@
+diff -Naur monkey-1.5.0.orig/plugins/auth/tools/Makefile.in monkey-1.5.0/plugins/auth/tools/Makefile.in
+--- monkey-1.5.0.orig/plugins/auth/tools/Makefile.in 2014-05-25 19:12:44.000000000 -0400
++++ monkey-1.5.0/plugins/auth/tools/Makefile.in 2014-05-26 13:15:29.347727637 -0400
+@@ -3,10 +3,11 @@
+
+ CC = @echo " CC $(_PATH)/$@"; $CC
+ CC_QUIET= @echo -n; $CC
+-CFLAGS = -I../../../src/include -I../ $CFLAGS
++CPPFLAGS = -I../../../src/include -I../
++CFLAGS = $CFLAGS
+ LDFLAGS = $LDFLAGS
+ SOURCES = ../sha1.c ../base64.c mk_passwd.c
+ OBJECTS = $(SOURCES:../.c=%.o)
+
+ ../../../bin/mk_passwd: $(OBJECTS)
+- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ -ldl
++ $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $^ -ldl
diff --git a/www-servers/monkeyd/files/monkeyd-1.5.0-use-system-jemalloc.patch b/www-servers/monkeyd/files/monkeyd-1.5.0-use-system-jemalloc.patch
new file mode 100644
index 000000000000..a11198061c0a
--- /dev/null
+++ b/www-servers/monkeyd/files/monkeyd-1.5.0-use-system-jemalloc.patch
@@ -0,0 +1,110 @@
+diff -Naur monkey-1.5.0.orig/configure monkey-1.5.0/configure
+--- monkey-1.5.0.orig/configure 2014-05-25 19:12:44.000000000 -0400
++++ monkey-1.5.0/configure 2014-05-26 12:32:16.370879609 -0400
+@@ -193,7 +193,7 @@
+
+ echo "+ Creating src/Makefile"
+ create_makefile2 mod_libs mod_obj make_script platform \
+- malloc_libc malloc_jemalloc
++ malloc_libc
+
+ echo "+ Creating plugins/Make.common"
+ create_plugins_make_common bindir
+@@ -210,33 +210,12 @@
+
+ echo -e "+ Creating Makefile"
+ if [ "$dir" = 0 ]; then
+- create_makefile1 bindir malloc_jemalloc
++ create_makefile1 bindir
+ else
+ create_makefile1_install prefix bindir mandir sysconfdir \
+- datadir logdir malloc_jemalloc
++ datadir logdir
+ fi
+
+- # if the memory allocator is jemalloc, lets start configuring the dependency
+- if [ $malloc_jemalloc -eq 1 ]; then
+- echo
+- echo -e "\033[1m=== Configuring Memory Allocator ===\033[0m"
+- cd deps/jemalloc
+- ./configure $JEMALLOC_OPTS \
+- --with-jemalloc-prefix=je_ \
+- --enable-cc-silence \
+- CFLAGS="-std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops " \
+- LDFLAGS="" > jemalloc.config 2>&1
+- if [ $? -eq 0 ]; then
+- echo "+ Jemalloc configured"
+- else
+- cat jemalloc.config
+- echo
+- echo "check more details with: $ cat deps/jemalloc/config.log"
+- exit 1
+- fi
+- cd ../../
+- fi
+-
+ echo
+ echo -e "\033[1m=== Monkey Configuration ===\033[0m"
+ echo -e "Platform\t= $platform"
+@@ -316,12 +295,6 @@
+ # Create Makefile
+ create_makefile1()
+ {
+- if [ $malloc_jemalloc -eq 1 ]; then
+- $deps="deps/jemalloc"
+- else
+- $deps=""
+- fi
+-
+ cat > Makefile << EOF
+ # Monkey HTTP Daemon: Makefile
+ # ============================
+@@ -459,13 +432,6 @@
+
+ create_makefile1_install()
+ {
+- # memory allocator
+- if [ $malloc_jemalloc -eq 1 ]; then
+- all_deps="$all_deps jemalloc"
+- else
+- deps=""
+- fi
+-
+ # remove old data
+ rm -rf plugins.conf plugins.list
+ touch plugins.conf
+@@ -523,10 +489,6 @@
+ @\$(MAKE) -s -C plugins all
+ @echo " DONE"
+
+-jemalloc:
+- @echo " CC jemalloc [all]"
+- @\$(MAKE) -s -C deps/jemalloc
+-
+ clean:
+ @(cd src; \$(MAKE) clean)
+ @(cd plugins; \$(MAKE) clean)
+@@ -605,9 +567,7 @@
+ fi
+
+ if [ $malloc_jemalloc -eq 1 ]; then
+- extra="../deps/jemalloc/lib/libjemalloc.a"
+- extraso="-Wl,--whole-archive ../deps/jemalloc/lib/libjemalloc_pic.a -Wl,--no-whole-archive"
+- libs="$libs -lm"
++ libs="$libs -ljemalloc"
+ fi
+
+ cat > src/Makefile<<EOF
+diff -Naur monkey-1.5.0.orig/src/include/mk_memory.h monkey-1.5.0/src/include/mk_memory.h
+--- monkey-1.5.0.orig/src/include/mk_memory.h 2014-05-25 19:12:44.000000000 -0400
++++ monkey-1.5.0/src/include/mk_memory.h 2014-05-26 12:31:07.103883668 -0400
+@@ -23,7 +23,8 @@
+ #include <stdio.h>
+
+ #ifdef MALLOC_JEMALLOC
+-#include "../../deps/jemalloc/include/jemalloc/jemalloc.h"
++#include <jemalloc/jemalloc.h>
++#include <jemalloc/jemalloc_defs.h>
+ #endif
+
+ #include "mk_macros.h"
diff --git a/www-servers/monkeyd/monkeyd-1.5.0.ebuild b/www-servers/monkeyd/monkeyd-1.5.0.ebuild
new file mode 100644
index 000000000000..ab437eb93f53
--- /dev/null
+++ b/www-servers/monkeyd/monkeyd-1.5.0.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-servers/monkeyd/monkeyd-1.5.0.ebuild,v 1.1 2014/05/26 17:26:25 blueness Exp $
+
+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 musl 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="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.0-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 uclibc && myconf+=" --uclib-mode"
+ use 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
+}