Merge #16422: httpd service: add phpPackage option

Changed files
+13 -2
nixos
modules
services
web-servers
apache-httpd
+13 -2
nixos/modules/services/web-servers/apache-httpd/default.nix
···
httpdConf = mainCfg.configFile;
-
php = pkgs.php.override { apacheHttpd = httpd.dev; /* otherwise it only gets .out */ };
+
php = mainCfg.phpPackage.override { apacheHttpd = httpd.dev; /* otherwise it only gets .out */ };
+
+
phpMajorVersion = head (splitString "." php.version);
getPort = cfg: if cfg.port != 0 then cfg.port else if cfg.enableSSL then 443 else 80;
···
concatMap (svc: svc.extraModulesPre) allSubservices
++ map (name: {inherit name; path = "${httpd}/modules/mod_${name}.so";}) apacheModules
++ optional mainCfg.enableMellon { name = "auth_mellon"; path = "${pkgs.apacheHttpdPackages.mod_auth_mellon}/modules/mod_auth_mellon.so"; }
-
++ optional enablePHP { name = "php5"; path = "${php}/modules/libphp5.so"; }
+
++ optional enablePHP { name = "php${phpMajorVersion}"; path = "${php}/modules/libphp${phpMajorVersion}.so"; }
++ concatMap (svc: svc.extraModules) allSubservices
++ extraForeignModules;
in concatMapStrings load allModules
···
type = types.bool;
default = false;
description = "Whether to enable the PHP module.";
+
};
+
+
phpPackage = mkOption {
+
type = types.package;
+
default = pkgs.php;
+
defaultText = "pkgs.php";
+
description = ''
+
Overridable attribute of the PHP package to use.
+
'';
};
phpOptions = mkOption {