nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 callPackage,
4 stdenv,
5 llvmPackages,
6 pcre2,
7}:
8
9let
10 mkPhp =
11 { version, hash }:
12 let
13 base = callPackage ./generic.nix {
14 stdenv = if stdenv.cc.isClang then llvmPackages.stdenv else stdenv;
15 pcre2 = pcre2.override {
16 withJitSealloc = false; # See https://bugs.php.net/bug.php?id=78927 and https://bugs.php.net/bug.php?id=78630
17 };
18 inherit version hash;
19 };
20 in
21 base.withExtensions (
22 { all, ... }:
23 with all;
24 [
25 bcmath
26 calendar
27 curl
28 ctype
29 dom
30 exif
31 fileinfo
32 filter
33 ftp
34 gd
35 gettext
36 gmp
37 iconv
38 intl
39 ldap
40 mbstring
41 mysqli
42 mysqlnd
43 openssl
44 pcntl
45 pdo
46 pdo_mysql
47 pdo_odbc
48 pdo_pgsql
49 pdo_sqlite
50 pgsql
51 posix
52 readline
53 session
54 simplexml
55 sockets
56 soap
57 sodium
58 sysvsem
59 sqlite3
60 tokenizer
61 xmlreader
62 xmlwriter
63 zip
64 zlib
65 ]
66 ++ lib.optionals (lib.versionOlder version "8.4") [ all.imap ]
67 ++ lib.optionals (lib.versionOlder version "8.5") [ all.opcache ]
68 );
69in
70{
71 php82 = mkPhp {
72 version = "8.2.30";
73 hash = "sha256-EEggtsj8lZ3eSzNCE19CvavyRuhpGKFjgaF9hEfIZvo=";
74 };
75 php83 = mkPhp {
76 version = "8.3.30";
77 hash = "sha256-gAt7btULc8jueETuXy98xhL6p4daCqfEUp6O1YZqUDA=";
78 };
79 php84 = mkPhp {
80 version = "8.4.19";
81 hash = "sha256-vOt3mO03tEL+Ujrn7zRczCIx2wsCLTBzXC43jTJUoNQ=";
82 };
83 php85 = mkPhp {
84 version = "8.5.4";
85 hash = "sha256-KskpopprfvS4rOyYGkF7kb339Uj1l99mXMVqueqV/HU=";
86 };
87}