about summary refs log tree commit diff
path: root/pkgs/development/interpreters/php
diff options
context:
space:
mode:
authorElis Hirwing <elis@hirwing.se>2020-03-22 18:58:23 +0100
committertalyz <kim.lindberger@gmail.com>2020-03-31 22:06:45 +0200
commit96a5e0c928e8ab3be35f28b0c9df8d73fbda2729 (patch)
tree1fb8af291e1c0b8c97ca68c9f31692082019b6f9 /pkgs/development/interpreters/php
parentcdad5f91347e10e698c4d9d82afe524ca40c4d27 (diff)
downloadnixlib-96a5e0c928e8ab3be35f28b0c9df8d73fbda2729.tar
nixlib-96a5e0c928e8ab3be35f28b0c9df8d73fbda2729.tar.gz
nixlib-96a5e0c928e8ab3be35f28b0c9df8d73fbda2729.tar.bz2
nixlib-96a5e0c928e8ab3be35f28b0c9df8d73fbda2729.tar.lz
nixlib-96a5e0c928e8ab3be35f28b0c9df8d73fbda2729.tar.xz
nixlib-96a5e0c928e8ab3be35f28b0c9df8d73fbda2729.tar.zst
nixlib-96a5e0c928e8ab3be35f28b0c9df8d73fbda2729.zip
php: init phpXYbase packages and make the default php extended by default
Also, add opcache to default extensions since it significantly
increases PHP's performance and is by default enabled on Debian based
distributions. Not having it enabled by default results in a puzzling
performance loss for anyone attempting to migrate from Debian/Ubuntu
to NixOS who is unaware of this. Therefore, enable it by default. /talyz
Diffstat (limited to 'pkgs/development/interpreters/php')
-rw-r--r--pkgs/development/interpreters/php/default.nix23
1 files changed, 19 insertions, 4 deletions
diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix
index ec6689a5b140..1e5c2cd8f270 100644
--- a/pkgs/development/interpreters/php/default.nix
+++ b/pkgs/development/interpreters/php/default.nix
@@ -188,8 +188,7 @@ let
     };
   });
 
-in {
-  php72 = generic' {
+  php72base = generic' {
     version = "7.2.28";
     sha256 = "18sjvl67z5a2x5s2a36g6ls1r3m4hbrsw52hqr2qsgfvg5dkm5bw";
 
@@ -197,7 +196,7 @@ in {
     extraPatches = lib.optional stdenv.isDarwin ./php72-darwin-isfinite.patch;
   };
 
-  php73 = generic' {
+  php73base = generic' {
     version = "7.3.15";
     sha256 = "0g84hws15s8gh8iq4h6q747dyfazx47vh3da3whz8d80x83ibgld";
 
@@ -205,8 +204,24 @@ in {
     extraPatches = lib.optional stdenv.isDarwin ./php73-darwin-isfinite.patch;
   };
 
-  php74 = generic' {
+  php74base = generic' {
     version = "7.4.3";
     sha256 = "wVF7pJV4+y3MZMc6Ptx21PxQfEp6xjmYFYTMfTtMbRQ=";
   };
+
+  defaultPhpExtensions = {
+    exts = pp: with pp.exts; ([
+      bcmath calendar curl ctype dom exif fileinfo filter ftp gd
+      gettext gmp iconv intl json ldap mbstring mysqli mysqlnd opcache
+      openssl pcntl pdo pdo_mysql pdo_odbc pdo_pgsql pdo_sqlite pgsql
+      posix readline session simplexml sockets soap sodium sqlite3
+      tokenizer xmlreader xmlwriter zip zlib
+    ] ++ lib.optionals (!stdenv.isDarwin) [ imap ]);
+  };
+in {
+  inherit php72base php73base php74base;
+
+  php74 = php74base.buildEnv defaultPhpExtensions;
+  php73 = php73base.buildEnv defaultPhpExtensions;
+  php72 = php72base.buildEnv defaultPhpExtensions;
 }