Add patches to allow crosscompiling cherokee (submitted upstream as tickets #121...
authorDiego Elio Pettenò <flameeyes@gentoo.org>
Wed, 27 Dec 2006 06:06:49 +0000 (06:06 +0000)
committerDiego Elio Pettenò <flameeyes@gentoo.org>
Wed, 27 Dec 2006 06:06:49 +0000 (06:06 +0000)
Package-Manager: portage-2.1.2_rc4-r1

www-servers/cherokee/ChangeLog
www-servers/cherokee/Manifest
www-servers/cherokee/cherokee-0.5.6.ebuild
www-servers/cherokee/files/cherokee-0.5.6-epoll-crosscompile.patch [new file with mode: 0644]
www-servers/cherokee/files/cherokee-0.5.6-gnutls-pkgconfig.patch [new file with mode: 0644]
www-servers/cherokee/files/cherokee-0.5.6-replace-with-sed.patch [new file with mode: 0644]
www-servers/cherokee/files/cherokee-0.5.6-sendfile-crosscompile.patch [new file with mode: 0644]

index 509f2d289e5c1276adbc81a800227b91227cf33b..56202271465c44b1b5f19b9b289d01570bdf7891 100644 (file)
@@ -1,6 +1,16 @@
 # ChangeLog for www-servers/cherokee
 # Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-servers/cherokee/ChangeLog,v 1.33 2006/12/27 05:02:31 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-servers/cherokee/ChangeLog,v 1.34 2006/12/27 06:06:49 flameeyes Exp $
+
+  27 Dec 2006; Diego Pettenò <flameeyes@gentoo.org>
+  +files/cherokee-0.5.6-epoll-crosscompile.patch,
+  +files/cherokee-0.5.6-gnutls-pkgconfig.patch,
+  +files/cherokee-0.5.6-replace-with-sed.patch,
+  +files/cherokee-0.5.6-sendfile-crosscompile.patch, cherokee-0.5.6.ebuild:
+  Add patches to allow crosscompiling cherokee (submitted upstream as tickets
+  #121, #123 and #124); enable epoll on Linux kernel; use -j1 in install;
+  discover gnutls via pkg-config (upstream ticket #122) and make gnutls
+  useflag subordinate to ssl.
 
   27 Dec 2006; Diego Pettenò <flameeyes@gentoo.org> cherokee-0.5.6.ebuild:
   Add threads useflag to disable pthread support and also remove images
index 7460d3434188181f9d424a83a2d58ca8cd73e783..905d39f77d869dcd1f70ccd66447ad62f0b4a582 100644 (file)
@@ -1,19 +1,35 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
+AUX cherokee-0.5.6-epoll-crosscompile.patch 1255 RMD160 4c7586674523e0577a669b3de30c9dba25618e57 SHA1 8cca53172f668d451b718702c5f5d0b0a8d6cfe8 SHA256 81415ea4588c7bdfe430be85b6b75f5fcdaa7c5915166d059874b08945192e60
+MD5 aededec105c4e1d6882c269cd628310b files/cherokee-0.5.6-epoll-crosscompile.patch 1255
+RMD160 4c7586674523e0577a669b3de30c9dba25618e57 files/cherokee-0.5.6-epoll-crosscompile.patch 1255
+SHA256 81415ea4588c7bdfe430be85b6b75f5fcdaa7c5915166d059874b08945192e60 files/cherokee-0.5.6-epoll-crosscompile.patch 1255
+AUX cherokee-0.5.6-gnutls-pkgconfig.patch 553 RMD160 209761a11fb856b9465fbfd03c989c5cf956e785 SHA1 b6d4909f59174752deb27000ec1753de4a29b2f5 SHA256 a660b0dbf728d29b3645f4407702c9d230852885c72afa06e0d55cbde157dbb8
+MD5 65af85c7cb509640f1fa630e39618137 files/cherokee-0.5.6-gnutls-pkgconfig.patch 553
+RMD160 209761a11fb856b9465fbfd03c989c5cf956e785 files/cherokee-0.5.6-gnutls-pkgconfig.patch 553
+SHA256 a660b0dbf728d29b3645f4407702c9d230852885c72afa06e0d55cbde157dbb8 files/cherokee-0.5.6-gnutls-pkgconfig.patch 553
+AUX cherokee-0.5.6-replace-with-sed.patch 805 RMD160 b8398d4bcf86ef6480333382ee70fac21c39a355 SHA1 7ef02e1cf7ae62b87a448802fb03eb0f9a7ccdb0 SHA256 abcee67605d09ebf1c9ab397a8cb1e5c7a4ea1b50cada4b89a46a1bbf94223df
+MD5 41b5552e65d826537141dfc6c5b6fdfc files/cherokee-0.5.6-replace-with-sed.patch 805
+RMD160 b8398d4bcf86ef6480333382ee70fac21c39a355 files/cherokee-0.5.6-replace-with-sed.patch 805
+SHA256 abcee67605d09ebf1c9ab397a8cb1e5c7a4ea1b50cada4b89a46a1bbf94223df files/cherokee-0.5.6-replace-with-sed.patch 805
+AUX cherokee-0.5.6-sendfile-crosscompile.patch 615 RMD160 13359b59d8bd4a0971fc5fefbb1c3be6396f829e SHA1 a8b61dd4679dc6614c9351e36d3e73e44c595fcb SHA256 a6cb6bb6f70a62e241eaed9aa1900aa375ab287c1d5acabac6a58cdbe8ba4465
+MD5 af5d1579d883bc3ddc068d5c81d6bd58 files/cherokee-0.5.6-sendfile-crosscompile.patch 615
+RMD160 13359b59d8bd4a0971fc5fefbb1c3be6396f829e files/cherokee-0.5.6-sendfile-crosscompile.patch 615
+SHA256 a6cb6bb6f70a62e241eaed9aa1900aa375ab287c1d5acabac6a58cdbe8ba4465 files/cherokee-0.5.6-sendfile-crosscompile.patch 615
 AUX cherokee-initd-0.5.6 587 RMD160 50ab8f40e9258c96685373ad38f9440ca8b496b5 SHA1 b716cac0116c8177e8d0c8064b8500ed90619154 SHA256 09985375cc821db0c12fed621d505bad134acfb578432b1a940216f5e83a5551
 MD5 aa0a02cf30b359170185714c37341c80 files/cherokee-initd-0.5.6 587
 RMD160 50ab8f40e9258c96685373ad38f9440ca8b496b5 files/cherokee-initd-0.5.6 587
 SHA256 09985375cc821db0c12fed621d505bad134acfb578432b1a940216f5e83a5551 files/cherokee-initd-0.5.6 587
 DIST cherokee-0.5.6.tar.gz 1392282 RMD160 fd5661449bd845e3be1911490f02144a805f5c9f SHA1 5e437c2315782bc6ac1d98f8db3b7838313a229a SHA256 d19ac8a85c252ccfe04c06ce0ec9b03d036b27d07c6db4601ce7d6b33c4e9cc8
-EBUILD cherokee-0.5.6.ebuild 2272 RMD160 f519a9e92c16d683353758797f91b9432ad77357 SHA1 3ffbc312dc8ec8a7d3bcecff1f7fff01189316e4 SHA256 a2997f6581eb0b6efc224a4801d73e438d797769b4c60c74b1dca61d0336d512
-MD5 7a66241d88ff74eab8087fc3a8c9e151 cherokee-0.5.6.ebuild 2272
-RMD160 f519a9e92c16d683353758797f91b9432ad77357 cherokee-0.5.6.ebuild 2272
-SHA256 a2997f6581eb0b6efc224a4801d73e438d797769b4c60c74b1dca61d0336d512 cherokee-0.5.6.ebuild 2272
-MISC ChangeLog 11207 RMD160 8eb7bb5153ca1fb97a7bdd48f159d00c94711b48 SHA1 dc64203abb11c02f426be9ce1c4604d5d78cb1f6 SHA256 d6f2484168e25daafdd7ad0d610d55c063e06a153f377d516428be6e6ed0ac27
-MD5 8450f690d3ecf0aef51d4b5cc3e8932b ChangeLog 11207
-RMD160 8eb7bb5153ca1fb97a7bdd48f159d00c94711b48 ChangeLog 11207
-SHA256 d6f2484168e25daafdd7ad0d610d55c063e06a153f377d516428be6e6ed0ac27 ChangeLog 11207
+EBUILD cherokee-0.5.6.ebuild 2673 RMD160 a9083e76122aef92f7cdaf74d1e1764dbdebe4ca SHA1 4018a37716e445136e38250e22906db30de07b9a SHA256 25225e0b44aacb9e9eaf5de68f5e544023153b6ac40e8fd8581392a6b3cb2f4f
+MD5 dd35be16adab8be53f3400ce507610d6 cherokee-0.5.6.ebuild 2673
+RMD160 a9083e76122aef92f7cdaf74d1e1764dbdebe4ca cherokee-0.5.6.ebuild 2673
+SHA256 25225e0b44aacb9e9eaf5de68f5e544023153b6ac40e8fd8581392a6b3cb2f4f cherokee-0.5.6.ebuild 2673
+MISC ChangeLog 11737 RMD160 d2d2b0f9152f56e8862150505d2ab5542b62022c SHA1 1e5e77be7d0a65257981e74ef749e371df06b0b3 SHA256 dae1c5057d3b547fe17e87a5f20744c843d4ec89ed023df586bc0a61e7bcd6bc
+MD5 af6e98121652dfab317b9531eec102b7 ChangeLog 11737
+RMD160 d2d2b0f9152f56e8862150505d2ab5542b62022c ChangeLog 11737
+SHA256 dae1c5057d3b547fe17e87a5f20744c843d4ec89ed023df586bc0a61e7bcd6bc ChangeLog 11737
 MISC metadata.xml 269 RMD160 2f424a28702cae549abf73acbdc5e83add6381a6 SHA1 896cbff4ed1d4357fbe5ed96f1747737d6949c3c SHA256 19de4ee447412c2935b1a069641f59a069077b66a7602eaa449b8d7d8fdf1a1f
 MD5 87a36685076539a89b31661a9b2564fe metadata.xml 269
 RMD160 2f424a28702cae549abf73acbdc5e83add6381a6 metadata.xml 269
@@ -24,7 +40,7 @@ SHA256 f225430722ee46711c8426fb588ebfc1648f4e36488ca9af972ccf2f95e40b37 files/di
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.6 (GNU/Linux)
 
-iD8DBQFFkf5tAiZjviIA2XgRAjviAJ4sVG6U9kF40T2euw3Ej3rcc8rnZQCgyhMX
-wT6tyFBTpvpy9JnHFKMC/RI=
-=OOZs
+iD8DBQFFkg2BAiZjviIA2XgRAoXZAJwINH+QYjvlny3Y3B+R9raSfT0c5wCguhYT
+DfVyzXlgbsQoZ0pMRYGQvUw=
+=/Iux
 -----END PGP SIGNATURE-----
index 56011a8cc165ce755864356ef6afe49237cd7453..00c9eb8e3754b7adbae8bc01094e4f0416ab0d4a 100644 (file)
@@ -1,8 +1,11 @@
 # Copyright 1999-2006 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/www-servers/cherokee/cherokee-0.5.6.ebuild,v 1.3 2006/12/27 05:02:31 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-servers/cherokee/cherokee-0.5.6.ebuild,v 1.4 2006/12/27 06:06:49 flameeyes Exp $
 
-inherit eutils pam versionator libtool
+WANT_AUTOCONF="latest"
+WANT_AUTOMAKE="latest"
+
+inherit eutils pam versionator libtool autotools
 
 DESCRIPTION="An extremely fast and tiny web server."
 SRC_URI="http://www.cherokee-project.com/download/$(get_version_component_range 1-2)/${PV}/${P}.tar.gz"
@@ -11,17 +14,27 @@ HOMEPAGE="http://www.cherokee-project.com/"
 LICENSE="GPL-2"
 SLOT="0"
 KEYWORDS="~amd64 ~ppc ~sparc ~x86"
-IUSE="ipv6 ssl gnutls static pam coverpage threads"
+IUSE="ipv6 ssl gnutls static pam coverpage threads kernel_linux"
 
 RDEPEND=">=sys-libs/zlib-1.1.4-r1
-       gnutls? ( net-libs/gnutls )
-       ssl? ( dev-libs/openssl )
+       ssl? (
+               gnutls? ( net-libs/gnutls )
+               !gnutls? ( dev-libs/openssl )
+       )
        pam? ( virtual/pam )"
+DEPEND="${RDEPEND}
+       dev-util/pkgconfig"
 
 src_unpack() {
        unpack ${A}
 
-       elibtoolize
+       cd "${S}"
+       epatch "${FILESDIR}/${P}-epoll-crosscompile.patch"
+       epatch "${FILESDIR}/${P}-sendfile-crosscompile.patch"
+       epatch "${FILESDIR}/${P}-gnutls-pkgconfig.patch"
+       epatch "${FILESDIR}/${P}-replace-with-sed.patch"
+
+       AT_M4DIR="m4" eautoreconf
 
        # use cherokee user/group
        sed -i -e 's|^#\(User \).*$|\1cherokee|' \
@@ -63,6 +76,7 @@ src_compile() {
                $(use_enable pam) \
                $(use_enable ipv6) \
                $(use_enable threads pthread) \
+               $(use_enable kernel_linux epoll) \
                --disable-dependency-tracking \
                --enable-os-string="Gentoo ${os}" \
                --with-wwwroot=/var/www/localhost/htdocs \
@@ -72,7 +86,7 @@ src_compile() {
 }
 
 src_install () {
-       emake DESTDIR="${D}" docdir="/usr/share/doc/${PF}/html" install || die "make install failed"
+       emake -j1 DESTDIR="${D}" docdir="/usr/share/doc/${PF}/html" install || die "make install failed"
        dodoc AUTHORS ChangeLog TODO
 
        newpamd pam.d_cherokee ${PN} || die "newpamd failed"
diff --git a/www-servers/cherokee/files/cherokee-0.5.6-epoll-crosscompile.patch b/www-servers/cherokee/files/cherokee-0.5.6-epoll-crosscompile.patch
new file mode 100644 (file)
index 0000000..9a34a5d
--- /dev/null
@@ -0,0 +1,43 @@
+Index: cherokee-0.5.6/configure.in
+===================================================================
+--- cherokee-0.5.6.orig/configure.in
++++ cherokee-0.5.6/configure.in
+@@ -274,13 +274,20 @@ fi
+ dnl
+ dnl Epoll
+ dnl
+-AC_CHECK_HEADER(sys/epoll.h, have_epoll_include=yes, have_epoll_include=no)
+-have_epoll=no
+-if test "x$have_epoll_include" = "xyes"; then
+-      AC_MSG_CHECKING(for epoll system call)
++AC_ARG_ENABLE([epoll], AC_HELP_STRING([--disable-epoll], [Disable epoll system call usage, default: check]))
+-     AC_TRY_RUN([
++have_epoll=no
++if test "x$enable_epoll" != "xno"; then
++  AC_CHECK_HEADER(sys/epoll.h, have_epoll_include=yes, have_epoll_include=no)
++  if test "x$have_epoll_include" = "xyes"; then
++     AC_MSG_CHECKING(for epoll system call)
++
++     if test "$host" != "$build"; then
++       AC_MSG_RESULT([crosscompile, assuming yes])
++       have_epoll=yes
++     else
++       AC_TRY_RUN([
+               #include <stdint.h>
+               #include <sys/param.h>
+               #include <sys/types.h>
+@@ -297,8 +304,10 @@ 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)
++        AC_MSG_RESULT($have_epoll)
++     fi
++  fi
+ fi
+ dnl
diff --git a/www-servers/cherokee/files/cherokee-0.5.6-gnutls-pkgconfig.patch b/www-servers/cherokee/files/cherokee-0.5.6-gnutls-pkgconfig.patch
new file mode 100644 (file)
index 0000000..2587797
--- /dev/null
@@ -0,0 +1,17 @@
+Index: cherokee-0.5.6/configure.in
+===================================================================
+--- cherokee-0.5.6.orig/configure.in
++++ cherokee-0.5.6/configure.in
+@@ -861,11 +861,9 @@ then
+               dnl
+               dnl GNUTLS
+               dnl
+-              AM_PATH_LIBGNUTLS(1.0.4, [have_gnutls=yes], [have_gnutls=no])
++              PKG_CHECK_MODULES([TLS], [gnutls >= 1.0.4], [have_gnutls=yes], [have_gnutls=no])
+               if test "$have_gnutls" = "yes"
+               then
+-                      TLS_LIBS="$LIBGNUTLS_LIBS"
+-                      TLS_CFLAGS="$LIBGNUTLS_CFLAGS"
+                          AC_SUBST(TLS_LIBS)
+                          AC_SUBST(TLS_CFLAGS)
diff --git a/www-servers/cherokee/files/cherokee-0.5.6-replace-with-sed.patch b/www-servers/cherokee/files/cherokee-0.5.6-replace-with-sed.patch
new file mode 100644 (file)
index 0000000..e880320
--- /dev/null
@@ -0,0 +1,21 @@
+Index: cherokee-0.5.6/Makefile.am
+===================================================================
+--- cherokee-0.5.6.orig/Makefile.am
++++ cherokee-0.5.6/Makefile.am
+@@ -19,15 +19,11 @@ cherokee_logrotate.1
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = cherokee.pc
+-# Replacement utility
+-noinst_PROGRAMS = cherokee_replace
+-cherokee_replace_SOURCES = cherokee_replace.c
+-
+ # Configuration files
+ cherokeeconfdir = $(sysconfdir)/cherokee
+ .sample.pre.sample:
+-      $(top_builddir)/cherokee_replace $< $@ "%sysconfdir%" "${sysconfdir}" "%datadir%" "${datadir}" "%prefix%" "${prefix}" "%wwwroot%" "${WWW_ROOT}"
++      sed -e "s|%sysconfdir%|${sysconfdir}|g; s|%datadir%|${datadir}|g; s|%prefix%|${prefix}|g; s|%wwwroot%|${WWW_ROOT}|g" $< > $@
+ CONFS_PRE =              \
+ mods-ssl.sample.pre      \
diff --git a/www-servers/cherokee/files/cherokee-0.5.6-sendfile-crosscompile.patch b/www-servers/cherokee/files/cherokee-0.5.6-sendfile-crosscompile.patch
new file mode 100644 (file)
index 0000000..dedeab0
--- /dev/null
@@ -0,0 +1,20 @@
+Index: cherokee-0.5.6/configure.in
+===================================================================
+--- cherokee-0.5.6.orig/configure.in
++++ cherokee-0.5.6/configure.in
+@@ -634,6 +634,7 @@ ETR_SOCKET_NSL
+ SENDFILE_CHECK
+ # Is sendfile broken?
++if test "$host" = "$build"; then
+ AC_MSG_CHECKING(if sendfile works)
+ AC_TRY_RUN([#include <errno.h>
+             int main() {
+@@ -644,6 +645,7 @@ AC_TRY_RUN([#include <errno.h>
+             AC_MSG_RESULT(yes), 
+             [ AC_MSG_RESULT(no) 
+               AC_DEFINE([HAVE_SENDFILE_BROKEN], [1], [broken sendfile]) ])
++fi
+ # readdir_r()
+ LIBWWW_READDIR_R_TYPE