diff options
Diffstat (limited to 'pkgs/servers/http/apache-httpd')
-rw-r--r-- | pkgs/servers/http/apache-httpd/2.2.nix | 30 | ||||
-rw-r--r-- | pkgs/servers/http/apache-httpd/2.4.nix | 27 |
2 files changed, 42 insertions, 15 deletions
diff --git a/pkgs/servers/http/apache-httpd/2.2.nix b/pkgs/servers/http/apache-httpd/2.2.nix index 99d6fe12aa1c2..bb4fa9782d6a2 100644 --- a/pkgs/servers/http/apache-httpd/2.2.nix +++ b/pkgs/servers/http/apache-httpd/2.2.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, openssl, perl, zlib +{ stdenv, fetchurl, pkgconfig, openssl, perl, zlib , sslSupport, proxySupport ? true , apr, aprutil, pcre , ldapSupport ? true, openldap @@ -20,17 +20,24 @@ stdenv.mkDerivation rec { sha256 = "1b165zi7jrrlz5wmyy3b34lcs3dl4g0dymfb0qxwdnimylcrsbzk"; }; - buildInputs = [perl apr aprutil pcre] ++ - stdenv.lib.optional sslSupport openssl; + # FIXME: -dev depends on -doc + outputs = [ "dev" "out" "doc" ]; + setOutputFlags = false; # it would move $out/modules, etc. - # An apr-util header file includes an apr header file - # through #include "" (quotes) - # passing simply CFLAGS did not help, then I go by NIX_CFLAGS_COMPILE - NIX_CFLAGS_COMPILE = "-iquote ${apr}/include/apr-1"; + propagatedBuildInputs = [ apr ]; # otherwise mod_* fail to find includes often + buildInputs = [ pkgconfig perl aprutil pcre zlib ] ++ + stdenv.lib.optional sslSupport openssl; # Required for ‘pthread_cancel’. NIX_LDFLAGS = (if stdenv.isDarwin then "" else "-lgcc_s"); + patchPhase = '' + sed -i config.layout -e "s|installbuilddir:.*|installbuilddir: $dev/share/build|" + ''; + + preConfigure = '' + configureFlags="$configureFlags --includedir=$dev/include" + ''; configureFlags = '' --with-z=${zlib} --with-pcre=${pcre} @@ -44,13 +51,18 @@ stdenv.mkDerivation rec { --enable-disk-cache --enable-file-cache --enable-mem-cache + --docdir=$(doc)/share/doc ''; enableParallelBuilding = true; + stripDebugList = "lib modules bin"; + postInstall = '' - echo "removing manual" - rm -rf $out/manual + mkdir -p $doc/share/doc/httpd + mv $out/manual $doc/share/doc/httpd + mkdir -p $dev/bin + mv $out/bin/apxs $dev/bin/apxs ''; passthru = { diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix index a2e039bd399ff..a39d0e8e3158f 100644 --- a/pkgs/servers/http/apache-httpd/2.4.nix +++ b/pkgs/servers/http/apache-httpd/2.4.nix @@ -24,15 +24,27 @@ stdenv.mkDerivation rec { sha256 = "0k7xm6ldzvakzq39nw6b39190ihlkc28all2gkvckxa1vr8b0i06"; }; + # FIXME: -dev depends on -doc + outputs = [ "dev" "out" "doc" ]; + setOutputFlags = false; # it would move $out/modules, etc. + buildInputs = [perl] ++ + optional sslSupport openssl ++ optional ldapSupport openldap ++ # there is no --with-ldap flag optional libxml2Support libxml2 ++ optional http2Support libnghttp2 ++ optional stdenv.isDarwin libiconv; + patchPhase = '' + sed -i config.layout -e "s|installbuilddir:.*|installbuilddir: $dev/share/build|" + ''; + # Required for ‘pthread_cancel’. NIX_LDFLAGS = stdenv.lib.optionalString (!stdenv.isDarwin) "-lgcc_s"; + preConfigure = '' + configureFlags="$configureFlags --includedir=$dev/include" + ''; configureFlags = '' --with-apr=${apr} --with-apr-util=${aprutil} @@ -46,19 +58,22 @@ stdenv.mkDerivation rec { --enable-imagemap --enable-cgi ${optionalString proxySupport "--enable-proxy"} - ${optionalString sslSupport "--enable-ssl --with-ssl=${openssl}"} + ${optionalString sslSupport "--enable-ssl"} ${optionalString http2Support "--enable-http2 --with-nghttp2=${libnghttp2}"} ${optionalString luaSupport "--enable-lua --with-lua=${lua5}"} - ${optionalString libxml2Support "--with-libxml2=${libxml2}/include/libxml2"} + ${optionalString libxml2Support "--with-libxml2=${libxml2.dev}/include/libxml2"} + --docdir=$(doc)/share/doc ''; + enableParallelBuilding = true; + postInstall = '' - echo "removing manual" - rm -rf $out/manual + mkdir -p $doc/share/doc/httpd + mv $out/manual $doc/share/doc/httpd + mkdir -p $dev/bin + mv $out/bin/apxs $dev/bin/apxs ''; - enableParallelBuilding = true; - passthru = { inherit apr aprutil sslSupport proxySupport ldapSupport; }; |