aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/cherokee
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/cherokee')
-rw-r--r--recipes/cherokee/cherokee-0.5.3/Makefile.cget.patch23
-rw-r--r--recipes/cherokee/cherokee-0.5.3/Makefile.in.patch32
-rw-r--r--recipes/cherokee/cherokee-0.5.3/configure.patch127
-rw-r--r--recipes/cherokee/cherokee-0.5.3/util.patch29
-rw-r--r--recipes/cherokee/cherokee-0.5.5/Makefile.am.patch26
-rw-r--r--recipes/cherokee/cherokee-0.5.5/configure.in.patch52
-rw-r--r--recipes/cherokee/cherokee-nossl_0.5.3.bb14
-rw-r--r--recipes/cherokee/cherokee.inc42
-rw-r--r--recipes/cherokee/cherokee_0.4.29.bb26
-rw-r--r--recipes/cherokee/cherokee_0.5.3.bb19
-rw-r--r--recipes/cherokee/cherokee_0.5.5.bb11
-rw-r--r--recipes/cherokee/cherokee_0.98.0.bb10
-rw-r--r--recipes/cherokee/files/Makefile.cget.patch23
-rw-r--r--recipes/cherokee/files/Makefile.in.patch33
-rw-r--r--recipes/cherokee/files/cherokee.init32
-rw-r--r--recipes/cherokee/files/configure.patch127
-rw-r--r--recipes/cherokee/files/util.patch19
-rw-r--r--recipes/cherokee/site/common2
18 files changed, 647 insertions, 0 deletions
diff --git a/recipes/cherokee/cherokee-0.5.3/Makefile.cget.patch b/recipes/cherokee/cherokee-0.5.3/Makefile.cget.patch
new file mode 100644
index 0000000000..bb6b2141b3
--- /dev/null
+++ b/recipes/cherokee/cherokee-0.5.3/Makefile.cget.patch
@@ -0,0 +1,23 @@
+
+#
+# Patch managed by http://www.xwaves.net
+#
+
+--- cherokee-0.4.29/cget/Makefile.in~Makefile.cget
++++ cherokee-0.4.29/cget/Makefile.in
+@@ -56,6 +56,7 @@
+ cget_OBJECTS = $(am_cget_OBJECTS)
+ am__DEPENDENCIES_1 =
+ cget_DEPENDENCIES = ../cherokee/libcherokee-client.la \
++ ../cherokee/libcherokee-base.la \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1)
+ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+@@ -286,6 +287,7 @@
+
+ cget_LDADD = \
+ ../cherokee/libcherokee-client.la \
++../cherokee/libcherokee-base.la \
+ $(TLS_LIBS) \
+ $(PTHREAD_LIBS) \
+ $(PTHREAD_CFLAGS)
diff --git a/recipes/cherokee/cherokee-0.5.3/Makefile.in.patch b/recipes/cherokee/cherokee-0.5.3/Makefile.in.patch
new file mode 100644
index 0000000000..05ece037c3
--- /dev/null
+++ b/recipes/cherokee/cherokee-0.5.3/Makefile.in.patch
@@ -0,0 +1,32 @@
+
+#
+# Patch managed by http://www.xwaves.net
+#
+
+Index: cherokee-0.5.3/cherokee/Makefile.in
+===================================================================
+--- cherokee-0.5.3.orig/cherokee/Makefile.in 2006-04-22 20:03:20.000000000 +0200
++++ cherokee-0.5.3/cherokee/Makefile.in 2006-05-23 20:33:12.000000000 +0200
+@@ -434,11 +434,11 @@
+ am_cherokee_OBJECTS = main.$(OBJEXT)
+ cherokee_OBJECTS = $(am_cherokee_OBJECTS)
+ cherokee_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+- libcherokee-base.la libcherokee-server.la
++ libcherokee-base.la libcherokee-client.la libcherokee-server.la
+ am_cherokee_admin_OBJECTS = cherokee_admin.$(OBJEXT)
+ cherokee_admin_OBJECTS = $(am_cherokee_admin_OBJECTS)
+ cherokee_admin_DEPENDENCIES = libcherokee-config.la \
+- libcherokee-base.la libcherokee-client.la
++ libcherokee-base.la libcherokee-client.la libcherokee-server.la
+ am_cherokee_logrotate_OBJECTS = cherokee_logrotate.$(OBJEXT)
+ cherokee_logrotate_OBJECTS = $(am_cherokee_logrotate_OBJECTS)
+ cherokee_logrotate_DEPENDENCIES = libcherokee-base.la \
+@@ -1429,7 +1429,7 @@
+ cherokee_logrotate_SOURCES = cherokee_logrotate.c
+ cherokee_logrotate_LDADD = libcherokee-base.la libcherokee-client.la libcherokee-server.la libcherokee-config.la
+ cherokee_admin_SOURCES = cherokee_admin.c
+-cherokee_admin_LDADD = libcherokee-config.la libcherokee-base.la libcherokee-client.la
++cherokee_admin_LDADD = libcherokee-config.la libcherokee-base.la libcherokee-client.la libcherokee-server.la
+
+ #noinst_PROGRAMS = cherokee_modules cherokee_base64 cherokee_headers cherokee_fastcgi
+
diff --git a/recipes/cherokee/cherokee-0.5.3/configure.patch b/recipes/cherokee/cherokee-0.5.3/configure.patch
new file mode 100644
index 0000000000..9c34d961ac
--- /dev/null
+++ b/recipes/cherokee/cherokee-0.5.3/configure.patch
@@ -0,0 +1,127 @@
+
+#
+# Patch managed by http://www.xwaves.net
+#
+
+--- cherokee-0.4.29/configure~configure
++++ cherokee-0.4.29/configure
+@@ -28929,59 +28929,8 @@
+ if test "x$have_epoll_include" = "xyes"; then
+ echo "$as_me:$LINENO: checking for epoll system call" >&5
+ echo $ECHO_N "checking for epoll system call... $ECHO_C" >&6
+-
+- if test "$cross_compiling" = yes; then
+- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+-See \`config.log' for more details." >&5
+-echo "$as_me: error: cannot run test program while cross compiling
+-See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-
+- #include <stdint.h>
+- #include <sys/param.h>
+- #include <sys/types.h>
+- #include <sys/syscall.h>
+- #include <sys/epoll.h>
+- #include <unistd.h>
+-
+- int epoll_create (int size) {
+- return (syscall(__NR_epoll_create, size));
+- }
+-
+- int main (int argc, char **argv) {
+- int epfd;
+- epfd = epoll_create(256);
+- exit (epfd == -1 ? 1 : 0);
+- }
+-
+-_ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- have_epoll=yes
+-else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+-fi
+-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+-fi
++have_epoll=yes
++
+ echo "$as_me:$LINENO: result: $have_epoll" >&5
+ echo "${ECHO_T}$have_epoll" >&6
+ fi
+@@ -32593,55 +32542,9 @@
+ # Is sendfile broken?
+ echo "$as_me:$LINENO: checking if sendfile works" >&5
+ echo $ECHO_N "checking if sendfile works... $ECHO_C" >&6
+-if test "$cross_compiling" = yes; then
+- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+-See \`config.log' for more details." >&5
+-echo "$as_me: error: cannot run test program while cross compiling
+-See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#include <errno.h>
+- int main() {
+- int o = 0;
+- if (-1 == sendfile(0, 0, &o, 0) && errno == ENOSYS) return -1;
+- return 0;
+- }
+-_ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- echo "$as_me:$LINENO: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
+-else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
+-( exit $ac_status )
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-
+-cat >>confdefs.h <<\_ACEOF
+-#define HAVE_SENDFILE_BROKEN 1
+-_ACEOF
+-
+-fi
+-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+-fi
++echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
+
+ # readdir_r()
+
diff --git a/recipes/cherokee/cherokee-0.5.3/util.patch b/recipes/cherokee/cherokee-0.5.3/util.patch
new file mode 100644
index 0000000000..c7b1d15113
--- /dev/null
+++ b/recipes/cherokee/cherokee-0.5.3/util.patch
@@ -0,0 +1,29 @@
+
+#
+# Patch managed by http://www.xwaves.net
+#
+
+Index: cherokee-0.5.3/cherokee/util.c
+===================================================================
+--- cherokee-0.5.3.orig/cherokee/util.c 2006-04-01 17:58:59.000000000 +0200
++++ cherokee-0.5.3/cherokee/util.c 2006-05-23 20:37:12.000000000 +0200
+@@ -32,6 +32,7 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
++#include <errno.h>
+
+ #ifdef HAVE_SYS_TIME_H
+ # include <sys/time.h>
+@@ -385,9 +386,9 @@
+
+
+
+-#if defined(HAVE_PTHREAD) && !defined(HAVE_READDIR_R)
++/*#if defined(HAVE_PTHREAD) && !defined(HAVE_READDIR_R)*/
+ static pthread_mutex_t readdir_mutex = PTHREAD_MUTEX_INITIALIZER;
+-#endif
++/*#endif*/
+
+ /* The readdir subroutine is reentrant when an application program
+ * uses different DirectoryPointer parameter values (returned from the
diff --git a/recipes/cherokee/cherokee-0.5.5/Makefile.am.patch b/recipes/cherokee/cherokee-0.5.5/Makefile.am.patch
new file mode 100644
index 0000000000..168200c476
--- /dev/null
+++ b/recipes/cherokee/cherokee-0.5.5/Makefile.am.patch
@@ -0,0 +1,26 @@
+Index: cherokee-0.5.5/cget/Makefile.am
+===================================================================
+--- cherokee-0.5.5.orig/cget/Makefile.am
++++ cherokee-0.5.5/cget/Makefile.am
+@@ -12,6 +12,8 @@ $(LARGEFILE_CFLAGS)
+
+ cget_LDADD = \
+ ../cherokee/libcherokee-client.la \
++../cherokee/libcherokee-base.la \
++../cherokee/libcherokee-server.la \
+ $(TLS_LIBS) \
+ $(PTHREAD_LIBS) \
+ $(PTHREAD_CFLAGS)
+Index: cherokee-0.5.5/cherokee/Makefile.am
+===================================================================
+--- cherokee-0.5.5.orig/cherokee/Makefile.am
++++ cherokee-0.5.5/cherokee/Makefile.am
+@@ -923,7 +923,7 @@ cherokee_logrotate_LDADD = libcherokee-b
+ noinst_PROGRAMS = cherokee_admin
+
+ cherokee_admin_SOURCES = cherokee_admin.c
+-cherokee_admin_LDADD = libcherokee-config.la libcherokee-base.la libcherokee-client.la
++cherokee_admin_LDADD = libcherokee-config.la libcherokee-base.la libcherokee-client.la libcherokee-server.la
+
+ ##cherokee_table_test_SOURCES = cherokee_table_test.c
+ ##cherokee_table_test_LDADD = libcherokee.la
diff --git a/recipes/cherokee/cherokee-0.5.5/configure.in.patch b/recipes/cherokee/cherokee-0.5.5/configure.in.patch
new file mode 100644
index 0000000000..d6b75f9f1f
--- /dev/null
+++ b/recipes/cherokee/cherokee-0.5.5/configure.in.patch
@@ -0,0 +1,52 @@
+Add cache support for some values which require running on the
+target. These need to be set in the site files:
+
+ cherokee_cv_have_epoll
+ cherokee_cv_func_sendfile_works
+
+Both should be set to yes for any reasonably recent linux.
+
+Index: cherokee-0.5.5/configure.in
+===================================================================
+--- cherokee-0.5.5.orig/configure.in
++++ cherokee-0.5.5/configure.in
+@@ -280,6 +280,7 @@ have_epoll=no
+ if test "x$have_epoll_include" = "xyes"; then
+ AC_MSG_CHECKING(for epoll system call)
+
++ AC_CACHE_CHECK([for epoll],cherokee_cv_have_epoll,[
+ AC_TRY_RUN([
+ #include <stdint.h>
+ #include <sys/param.h>
+@@ -297,8 +298,7 @@ if test "x$have_epoll_include" = "xyes";
+ epfd = epoll_create(256);
+ exit (epfd == -1 ? 1 : 0);
+ }
+- ], have_epoll=yes)
+- AC_MSG_RESULT($have_epoll)
++ ], have_epoll=yes)])
+ fi
+
+ dnl
+@@ -625,16 +625,16 @@ ETR_SOCKET_NSL
+ SENDFILE_CHECK
+
+ # Is sendfile broken?
+-AC_MSG_CHECKING(if sendfile works)
++AC_CACHE_CHECK([if sendfile works],cherokee_cv_func_sendfile_works,[
+ AC_TRY_RUN([#include <errno.h>
+ int main() {
+ int o = 0;
+ if (-1 == sendfile(0, 0, &o, 0) && errno == ENOSYS) return -1;
+ return 0;
+- } ],
+- AC_MSG_RESULT(yes),
+- [ AC_MSG_RESULT(no)
+- AC_DEFINE([HAVE_SENDFILE_BROKEN], [1], [broken sendfile]) ])
++ } ], cherokee_cv_func_sendfile_works=yes,cherokee_cv_func_sendfile_works=no,cherokee_cv_func_sendfile_works=no)])
++if test "$cherokee_cv_func_sendfile_works" = no; then
++ AC_DEFINE([HAVE_SENDFILE_BROKEN], [1], [broken sendfile])
++fi
+
+ # readdir_r()
+ LIBWWW_READDIR_R_TYPE
diff --git a/recipes/cherokee/cherokee-nossl_0.5.3.bb b/recipes/cherokee/cherokee-nossl_0.5.3.bb
new file mode 100644
index 0000000000..409366004a
--- /dev/null
+++ b/recipes/cherokee/cherokee-nossl_0.5.3.bb
@@ -0,0 +1,14 @@
+require cherokee_${PV}.bb
+
+DEPENDS = "libpcre"
+
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/cherokee-${PV}', '${FILE_DIRNAME}/cherokee', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+
+S = "${WORKDIR}/cherokee-${PV}"
+
+EXTRA_OECONF = "--disable-tls --disable-static --disable-nls"
+
+# Fix up files - the ${PN} in the defaults expand to cherokee-nossl
+# but we are actually installing into cherokee.
+FILES_${PN} += "${datadir}/cherokee ${libdir}/cherokee/*"
+FILES_${PN}-dbg += "${libdir}/cherokee/.debug"
diff --git a/recipes/cherokee/cherokee.inc b/recipes/cherokee/cherokee.inc
new file mode 100644
index 0000000000..58ffe1ac94
--- /dev/null
+++ b/recipes/cherokee/cherokee.inc
@@ -0,0 +1,42 @@
+DESCRIPTION = "Cherokee Web Server fast and secure"
+DESCRIPTION_cget = "Small downloader based in the Cherokee client library"
+HOMEPAGE = "http://www.cherokee-project.com/"
+SECTION = "network"
+LICENSE = "GPL"
+DEPENDS = "libpcre gnutls"
+
+SRC_URI = "http://www.cherokee-project.com/download/0.5/${PV}/cherokee-${PV}.tar.gz \
+ file://cherokee.init "
+
+inherit autotools pkgconfig binconfig update-rc.d
+
+EXTRA_OECONF = "--enable-tls=gnutls --disable-static --disable-nls"
+
+do_install_append () {
+ install -m 0755 -d ${D}${sysconfdir}/init.d
+ install -m 755 ${WORKDIR}/cherokee.init ${D}${sysconfdir}/init.d/cherokee
+}
+
+# Put -dev near the front so we can move the .la files into it with a wildcard
+PACKAGES = "${PN}-dbg ${PN}-dev \
+ libcherokee-server libcherokee-client libcherokee-base \
+ cget ${PN} ${PN}-doc ${PN}-locale"
+
+FILES_${PN}-dev += "${libdir}/cherokee/*.la"
+FILES_cget = "${bindir}/cget"
+FILES_libcherokee-server = "${libdir}/libcherokee-server*"
+FILES_libcherokee-client = "${libdir}/libcherokee-client*"
+FILES_libcherokee-base = "${libdir}/libcherokee-base*"
+
+CONFFILES_${PN} = "${sysconfdir}/cherokee/mime.types \
+ ${sysconfdir}/cherokee/mods-available/admin \
+ ${sysconfdir}/cherokee/mods-available/ssl \
+ ${sysconfdir}/cherokee/advanced.conf \
+ ${sysconfdir}/cherokee/cherokee.conf \
+ ${sysconfdir}/cherokee/mime.compression.types \
+ ${sysconfdir}/cherokee/sites-available/example.com \
+ ${sysconfdir}/cherokee/sites-available/default \
+ ${sysconfdir}/cherokee/icons.conf"
+
+INITSCRIPT_NAME = "cherokee"
+INITSCRIPT_PARAMS = "defaults 91 91"
diff --git a/recipes/cherokee/cherokee_0.4.29.bb b/recipes/cherokee/cherokee_0.4.29.bb
new file mode 100644
index 0000000000..42eae684e7
--- /dev/null
+++ b/recipes/cherokee/cherokee_0.4.29.bb
@@ -0,0 +1,26 @@
+# Cherokee web server
+DESCRIPTION = "Cherokee Web Server fast and secure"
+LICENSE = "GPL"
+SECTION = "network"
+DEPENDS = "openssl libpcre"
+SRC_URI = "http://www.0x50.org/download/0.4/${PV}/${P}.tar.gz \
+ file://configure.patch;patch=1 \
+ file://Makefile.in.patch;patch=1 \
+ file://Makefile.cget.patch;patch=1 \
+ file://util.patch;patch=1"
+PR = "r1"
+
+inherit autotools
+
+LEAD_SONAME = "libcherokee-base"
+
+EXTRA_OECONF = "--enable-tls=openssl --disable-static --disable-nls"
+
+do_configure() {
+ gnu-configize
+ oe_runconf
+}
+
+do_install_prepend () {
+ $BUILD_CC -DHAVE_SYS_STAT_H -o cherokee_replace cherokee_replace.c
+}
diff --git a/recipes/cherokee/cherokee_0.5.3.bb b/recipes/cherokee/cherokee_0.5.3.bb
new file mode 100644
index 0000000000..1fe9df46c0
--- /dev/null
+++ b/recipes/cherokee/cherokee_0.5.3.bb
@@ -0,0 +1,19 @@
+PR = "r7"
+
+SRC_URI_append = "file://configure.patch;patch=1 \
+ file://Makefile.in.patch;patch=1 \
+ file://Makefile.cget.patch;patch=1 \
+ file://util.patch;patch=1"
+
+require cherokee.inc
+
+do_configure() {
+ gnu-configize
+ oe_runconf
+ sed -i 's:-L\$:-L${STAGING_LIBDIR} -L\$:' ${S}/*libtool
+}
+
+do_install_prepend () {
+ # It only needs this app during the install, so compile it natively
+ $BUILD_CC -DHAVE_SYS_STAT_H -o cherokee_replace cherokee_replace.c
+}
diff --git a/recipes/cherokee/cherokee_0.5.5.bb b/recipes/cherokee/cherokee_0.5.5.bb
new file mode 100644
index 0000000000..73b4d52418
--- /dev/null
+++ b/recipes/cherokee/cherokee_0.5.5.bb
@@ -0,0 +1,11 @@
+PR = "r4"
+
+SRC_URI_append = "file://configure.in.patch;patch=1 \
+ file://Makefile.am.patch;patch=1"
+
+do_install_prepend () {
+ # It only needs this app during the install, so compile it natively
+ $BUILD_CC -DHAVE_SYS_STAT_H -o cherokee_replace cherokee_replace.c
+}
+
+require cherokee.inc
diff --git a/recipes/cherokee/cherokee_0.98.0.bb b/recipes/cherokee/cherokee_0.98.0.bb
new file mode 100644
index 0000000000..7a296940e7
--- /dev/null
+++ b/recipes/cherokee/cherokee_0.98.0.bb
@@ -0,0 +1,10 @@
+require cherokee.inc
+
+SRC_URI = "http://www.cherokee-project.com/download/0.98/${PV}/cherokee-${PV}.tar.gz \
+ file://cherokee.init "
+
+CONFFILES_${PN} = " \
+${sysconfdir}/cherokee/cherokee.conf \
+${sysconfdir}/init.d/cherokee \
+"
+
diff --git a/recipes/cherokee/files/Makefile.cget.patch b/recipes/cherokee/files/Makefile.cget.patch
new file mode 100644
index 0000000000..bb6b2141b3
--- /dev/null
+++ b/recipes/cherokee/files/Makefile.cget.patch
@@ -0,0 +1,23 @@
+
+#
+# Patch managed by http://www.xwaves.net
+#
+
+--- cherokee-0.4.29/cget/Makefile.in~Makefile.cget
++++ cherokee-0.4.29/cget/Makefile.in
+@@ -56,6 +56,7 @@
+ cget_OBJECTS = $(am_cget_OBJECTS)
+ am__DEPENDENCIES_1 =
+ cget_DEPENDENCIES = ../cherokee/libcherokee-client.la \
++ ../cherokee/libcherokee-base.la \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1)
+ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+@@ -286,6 +287,7 @@
+
+ cget_LDADD = \
+ ../cherokee/libcherokee-client.la \
++../cherokee/libcherokee-base.la \
+ $(TLS_LIBS) \
+ $(PTHREAD_LIBS) \
+ $(PTHREAD_CFLAGS)
diff --git a/recipes/cherokee/files/Makefile.in.patch b/recipes/cherokee/files/Makefile.in.patch
new file mode 100644
index 0000000000..9d278121b4
--- /dev/null
+++ b/recipes/cherokee/files/Makefile.in.patch
@@ -0,0 +1,33 @@
+
+#
+# Patch managed by http://www.xwaves.net
+#
+
+--- cherokee-0.4.29/cherokee/Makefile.in~Makefile
++++ cherokee-0.4.29/cherokee/Makefile.in
+@@ -403,11 +403,11 @@
+ am_cherokee_admin_OBJECTS = cherokee_admin.$(OBJEXT)
+ cherokee_admin_OBJECTS = $(am_cherokee_admin_OBJECTS)
+ cherokee_admin_DEPENDENCIES = libcherokee-config.la \
+- libcherokee-base.la libcherokee-client.la
++ libcherokee-base.la libcherokee-client.la libcherokee-server.la
+ am_cherokee_logrotate_OBJECTS = cherokee_logrotate.$(OBJEXT)
+ cherokee_logrotate_OBJECTS = $(am_cherokee_logrotate_OBJECTS)
+ cherokee_logrotate_DEPENDENCIES = libcherokee-config.la \
+- libcherokee-base.la libcherokee-client.la
++ libcherokee-base.la libcherokee-client.la libcherokee-server.la
+ binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
+ SCRIPTS = $(bin_SCRIPTS)
+ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+@@ -1343,9 +1343,9 @@
+
+ cherokee_LDFLAGS = -export-dynamic
+ cherokee_logrotate_SOURCES = cherokee_logrotate.c
+-cherokee_logrotate_LDADD = libcherokee-config.la libcherokee-base.la libcherokee-client.la
++cherokee_logrotate_LDADD = libcherokee-config.la libcherokee-base.la libcherokee-client.la libcherokee-server.la
+ cherokee_admin_SOURCES = cherokee_admin.c
+-cherokee_admin_LDADD = libcherokee-config.la libcherokee-base.la libcherokee-client.la
++cherokee_admin_LDADD = libcherokee-config.la libcherokee-base.la libcherokee-client.la libcherokee-server.la
+
+ #noinst_PROGRAMS = cherokee_modules cherokee_base64 cherokee_headers cherokee_fastcgi
+
diff --git a/recipes/cherokee/files/cherokee.init b/recipes/cherokee/files/cherokee.init
new file mode 100644
index 0000000000..ea1263aff5
--- /dev/null
+++ b/recipes/cherokee/files/cherokee.init
@@ -0,0 +1,32 @@
+#!/bin/sh
+DAEMON=/usr/sbin/cherokee
+CONFIG=/etc/cherokee/cherokee.conf
+PIDFILE=/var/run/cherokee.pid
+NAME="cherokee"
+DESC="Cherokee http server"
+
+test -r /etc/default/cherokee && . /etc/default/cherokee
+test -x "$DAEMON" || exit 0
+test ! -r "$CONFIG" && exit 0
+
+case "$1" in
+ start)
+ echo "Starting $DESC: "
+ start-stop-daemon --oknodo -S -x $DAEMON -- -b -C $CONFIG
+ ;;
+
+ stop)
+ echo "Stopping $DESC:"
+ start-stop-daemon -K -p $PIDFILE
+ ;;
+
+ restart)
+ $0 stop >/dev/null 2>&1
+ $0 start
+ ;;
+
+ *)
+ echo "Usage: $0 {start|stop|restart}"
+ exit 0
+ ;;
+esac
diff --git a/recipes/cherokee/files/configure.patch b/recipes/cherokee/files/configure.patch
new file mode 100644
index 0000000000..9c34d961ac
--- /dev/null
+++ b/recipes/cherokee/files/configure.patch
@@ -0,0 +1,127 @@
+
+#
+# Patch managed by http://www.xwaves.net
+#
+
+--- cherokee-0.4.29/configure~configure
++++ cherokee-0.4.29/configure
+@@ -28929,59 +28929,8 @@
+ if test "x$have_epoll_include" = "xyes"; then
+ echo "$as_me:$LINENO: checking for epoll system call" >&5
+ echo $ECHO_N "checking for epoll system call... $ECHO_C" >&6
+-
+- if test "$cross_compiling" = yes; then
+- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+-See \`config.log' for more details." >&5
+-echo "$as_me: error: cannot run test program while cross compiling
+-See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-
+- #include <stdint.h>
+- #include <sys/param.h>
+- #include <sys/types.h>
+- #include <sys/syscall.h>
+- #include <sys/epoll.h>
+- #include <unistd.h>
+-
+- int epoll_create (int size) {
+- return (syscall(__NR_epoll_create, size));
+- }
+-
+- int main (int argc, char **argv) {
+- int epfd;
+- epfd = epoll_create(256);
+- exit (epfd == -1 ? 1 : 0);
+- }
+-
+-_ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- have_epoll=yes
+-else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+-fi
+-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+-fi
++have_epoll=yes
++
+ echo "$as_me:$LINENO: result: $have_epoll" >&5
+ echo "${ECHO_T}$have_epoll" >&6
+ fi
+@@ -32593,55 +32542,9 @@
+ # Is sendfile broken?
+ echo "$as_me:$LINENO: checking if sendfile works" >&5
+ echo $ECHO_N "checking if sendfile works... $ECHO_C" >&6
+-if test "$cross_compiling" = yes; then
+- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+-See \`config.log' for more details." >&5
+-echo "$as_me: error: cannot run test program while cross compiling
+-See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#include <errno.h>
+- int main() {
+- int o = 0;
+- if (-1 == sendfile(0, 0, &o, 0) && errno == ENOSYS) return -1;
+- return 0;
+- }
+-_ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- echo "$as_me:$LINENO: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
+-else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
+-( exit $ac_status )
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-
+-cat >>confdefs.h <<\_ACEOF
+-#define HAVE_SENDFILE_BROKEN 1
+-_ACEOF
+-
+-fi
+-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+-fi
++echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
+
+ # readdir_r()
+
diff --git a/recipes/cherokee/files/util.patch b/recipes/cherokee/files/util.patch
new file mode 100644
index 0000000000..5319f18190
--- /dev/null
+++ b/recipes/cherokee/files/util.patch
@@ -0,0 +1,19 @@
+
+#
+# Patch managed by http://www.xwaves.net
+#
+
+--- cherokee-0.4.29/cherokee/util.c~util
++++ cherokee-0.4.29/cherokee/util.c
+@@ -348,9 +348,9 @@
+
+
+
+-#if defined(HAVE_PTHREAD) && !defined(HAVE_READDIR_R)
++/*#if defined(HAVE_PTHREAD) && !defined(HAVE_READDIR_R)*/
+ static pthread_mutex_t readdir_mutex = PTHREAD_MUTEX_INITIALIZER;
+-#endif
++/*#endif*/
+
+ /* The readdir subroutine is reentrant when an application program
+ * uses different DirectoryPointer parameter values (returned from the
diff --git a/recipes/cherokee/site/common b/recipes/cherokee/site/common
new file mode 100644
index 0000000000..f7ad462caa
--- /dev/null
+++ b/recipes/cherokee/site/common
@@ -0,0 +1,2 @@
+cherokee_cv_have_epoll=yes
+cherokee_cv_func_sendfile_works=yes