Add set apacheHttpdPackages containing modules for specific Apache versions

Similar to linuxPackages etc.
This commit is contained in:
Eelco Dolstra 2014-11-07 11:55:49 +01:00
parent 69bb66902f
commit dde6d5708c
2 changed files with 31 additions and 13 deletions

View File

@ -6,12 +6,12 @@
, javahlBindings ? false , javahlBindings ? false
, saslSupport ? false , saslSupport ? false
, stdenv, fetchurl, apr, aprutil, zlib, sqlite , stdenv, fetchurl, apr, aprutil, zlib, sqlite
, httpd ? null, expat, swig ? null, jdk ? null, python ? null, perl ? null , apacheHttpd ? null, expat, swig ? null, jdk ? null, python ? null, perl ? null
, sasl ? null, serf ? null , sasl ? null, serf ? null
}: }:
assert bdbSupport -> aprutil.bdbSupport; assert bdbSupport -> aprutil.bdbSupport;
assert httpServer -> httpd != null; assert httpServer -> apacheHttpd != null;
assert pythonBindings -> swig != null && python != null; assert pythonBindings -> swig != null && python != null;
assert javahlBindings -> jdk != null && perl != null; assert javahlBindings -> jdk != null && perl != null;
@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
configureFlags = '' configureFlags = ''
${if bdbSupport then "--with-berkeley-db" else "--without-berkeley-db"} ${if bdbSupport then "--with-berkeley-db" else "--without-berkeley-db"}
${if httpServer then "--with-apxs=${httpd}/bin/apxs" else "--without-apxs"} ${if httpServer then "--with-apxs=${apacheHttpd}/bin/apxs" else "--without-apxs"}
${if pythonBindings || perlBindings then "--with-swig=${swig}" else "--without-swig"} ${if pythonBindings || perlBindings then "--with-swig=${swig}" else "--without-swig"}
${if javahlBindings then "--enable-javahl --with-jdk=${jdk}" else ""} ${if javahlBindings then "--enable-javahl --with-jdk=${jdk}" else ""}
${if stdenv.isDarwin then "--enable-keychain" else "--disable-keychain"} ${if stdenv.isDarwin then "--enable-keychain" else "--disable-keychain"}

View File

@ -7379,6 +7379,28 @@ let
sslSupport = true; sslSupport = true;
}); });
apacheHttpdPackagesFor = apacheHttpd: self: let callPackage = newScope self; in {
inherit apacheHttpd;
mod_dnssd = callPackage ../servers/http/apache-modules/mod_dnssd { };
mod_evasive = callPackage ../servers/http/apache-modules/mod_evasive { };
mod_fastcgi = callPackage ../servers/http/apache-modules/mod_fastcgi { };
mod_python = callPackage ../servers/http/apache-modules/mod_python { };
mod_wsgi = callPackage ../servers/http/apache-modules/mod_wsgi { };
php = pkgs.php.override { inherit apacheHttpd; };
subversion = pkgs.subversion.override { httpServer = true; inherit apacheHttpd; };
};
apacheHttpdPackages = apacheHttpdPackagesFor pkgs.apacheHttpd pkgs.apacheHttpdPackages;
apacheHttpdPackages_2_2 = apacheHttpdPackagesFor pkgs.apacheHttpd_2_2 pkgs.apacheHttpdPackages_2_2;
apacheHttpdPackages_2_4 = apacheHttpdPackagesFor pkgs.apacheHttpd_2_4 pkgs.apacheHttpdPackages_2_4;
cassandra = callPackage ../servers/nosql/cassandra { }; cassandra = callPackage ../servers/nosql/cassandra { };
apache-jena = callPackage ../servers/nosql/apache-jena/binary.nix { apache-jena = callPackage ../servers/nosql/apache-jena/binary.nix {
@ -7487,15 +7509,12 @@ let
memcached = callPackage ../servers/memcached {}; memcached = callPackage ../servers/memcached {};
mod_dnssd = callPackage ../servers/http/apache-modules/mod_dnssd/default.nix { }; # Backwards compatibility.
mod_dnssd = pkgs.apacheHttpdPackages.mod_dnssd;
mod_evasive = callPackage ../servers/http/apache-modules/mod_evasive { }; mod_evasive = pkgs.apacheHttpdPackages.mod_evasive;
mod_fastcgi = pkgs.apacheHttpdPackages.mod_fastcgi;
mod_python = callPackage ../servers/http/apache-modules/mod_python { }; mod_python = pkgs.apacheHttpdPackages.mod_python;
mod_wsgi = pkgs.apacheHttpdPackages.mod_wsgi;
mod_fastcgi = callPackage ../servers/http/apache-modules/mod_fastcgi { };
mod_wsgi = callPackage ../servers/http/apache-modules/mod_wsgi { };
mpd = callPackage ../servers/mpd { mpd = callPackage ../servers/mpd {
aacSupport = config.mpd.aacSupport or true; aacSupport = config.mpd.aacSupport or true;
@ -10591,7 +10610,6 @@ let
perlBindings = false; perlBindings = false;
javahlBindings = false; javahlBindings = false;
saslSupport = false; saslSupport = false;
httpd = apacheHttpd;
sasl = cyrus_sasl; sasl = cyrus_sasl;
}; };