From 3fc397461ae2edbb40b249d1f08fc2e92427c6f8 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 23 Nov 2007 13:09:22 +0000 Subject: [PATCH] * Work around an impurity in APR: don't detect the epoll() system call, because then an Apache built on a 2.6 kernel won't work on 2.4 kernel. In fact Apache will get into a loop segfaulting. svn path=/nixpkgs/trunk/; revision=9780 --- pkgs/servers/http/apache-httpd/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/servers/http/apache-httpd/default.nix b/pkgs/servers/http/apache-httpd/default.nix index 2f33b4d497f3..92a442728d8a 100644 --- a/pkgs/servers/http/apache-httpd/default.nix +++ b/pkgs/servers/http/apache-httpd/default.nix @@ -21,6 +21,13 @@ stdenv.mkDerivation { openssl = if sslSupport then openssl else null; db4 = if db4Support then db4 else null; + # For now, disable detection of epoll to ensure that Apache still + # runs on Linux 2.4 kernels. Once we've dropped support for 2.4 in + # Nixpkgs, this can go. In general, it's a problem that APR + # detects characteristics of the build system's kernel to decide + # what to use at runtime, since it's impure. + apr_cv_epoll = "no"; + meta = { description = "Apache HTTPD, the world's most popular web server"; };