summary refs log tree commit diff
path: root/pkgs/servers
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2012-07-06 14:23:07 -0400
committerEelco Dolstra <eelco.dolstra@logicblox.com>2012-07-06 14:25:40 -0400
commit714f100970ca25e58a2b4d8697b2fd9606226a0a (patch)
treec3688e431235e7e70d795ef9acc81325e617d9a1 /pkgs/servers
parentf3b78a6b6f230337b061cda1faba15d5a8d322ba (diff)
downloadnixlib-714f100970ca25e58a2b4d8697b2fd9606226a0a.tar
nixlib-714f100970ca25e58a2b4d8697b2fd9606226a0a.tar.gz
nixlib-714f100970ca25e58a2b4d8697b2fd9606226a0a.tar.bz2
nixlib-714f100970ca25e58a2b4d8697b2fd9606226a0a.tar.lz
nixlib-714f100970ca25e58a2b4d8697b2fd9606226a0a.tar.xz
nixlib-714f100970ca25e58a2b4d8697b2fd9606226a0a.tar.zst
nixlib-714f100970ca25e58a2b4d8697b2fd9606226a0a.zip
httpd: Support building with another multi-processing module
Diffstat (limited to 'pkgs/servers')
-rw-r--r--pkgs/servers/http/apache-httpd/default.nix10
1 files changed, 10 insertions, 0 deletions
diff --git a/pkgs/servers/http/apache-httpd/default.nix b/pkgs/servers/http/apache-httpd/default.nix
index 1f5e1ae69bce..f2a21ee28be2 100644
--- a/pkgs/servers/http/apache-httpd/default.nix
+++ b/pkgs/servers/http/apache-httpd/default.nix
@@ -2,10 +2,14 @@
 , sslSupport, proxySupport ? true
 , apr, aprutil, pcre
 , ldapSupport ? true, openldap
+, # Multi-processing module to use.  This is built into the server and
+  # cannot be selected at runtime.
+  mpm ? "prefork"
 }:
 
 assert sslSupport -> openssl != null;
 assert ldapSupport -> aprutil.ldapSupport && openldap != null;
+assert mpm == "prefork" || mpm == "worker" || mpm == "event";
 
 stdenv.mkDerivation rec {
   version = "2.2.22";
@@ -24,6 +28,9 @@ stdenv.mkDerivation rec {
   # passing simply CFLAGS did not help, then I go by NIX_CFLAGS_COMPILE
   NIX_CFLAGS_COMPILE = "-iquote ${apr}/include/apr-1";
 
+  # Required for ‘pthread_cancel’.
+  NIX_LDFLAGS = "-lgcc_s";
+
   configureFlags = ''
     --with-z=${zlib}
     --with-pcre=${pcre}
@@ -32,8 +39,11 @@ stdenv.mkDerivation rec {
     ${if proxySupport then "--enable-proxy" else ""}
     ${if sslSupport then "--enable-ssl --with-ssl=${openssl}" else ""}
     ${if ldapSupport then "--enable-ldap --enable-authnz-ldap" else ""}
+    --with-mpm=${mpm}
   '';
 
+  enableParallelBuilding = true;
+
   postInstall = ''
     echo "removing manual"
     rm -rf $out/manual