php: Drop PHP 7.3 support
PHP 7.3 won't be supported by upstream for the entire life cycle of the 21.11 release. Also drop the pcre' alias since it isn't needed anymore since we don't need different pcre versions anymore.
This commit is contained in:
parent
42e9a2ccfa
commit
68eb5305ac
|
@ -14,8 +14,13 @@
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
<section xml:id="highlights">
|
<section xml:id="highlights">
|
||||||
<title>Highlights</title>
|
<title>Highlights</title>
|
||||||
|
<itemizedlist spacing="compact">
|
||||||
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
|
PHP now defaults to PHP 8.0, updated from 7.4
|
||||||
</para>
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
<section xml:id="new-services">
|
<section xml:id="new-services">
|
||||||
<title>New Services</title>
|
<title>New Services</title>
|
||||||
|
@ -45,6 +50,12 @@
|
||||||
<link xlink:href="options.html#opt-services.geoipupdate.enable">services.geoipupdate</link>.
|
<link xlink:href="options.html#opt-services.geoipupdate.enable">services.geoipupdate</link>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
PHP 7.3 is no longer supported due to upstream not supporting
|
||||||
|
this version for the entire lifecycle of the 21.11 release.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
<section xml:id="other-notable-changes">
|
<section xml:id="other-notable-changes">
|
||||||
|
|
|
@ -19,4 +19,7 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||||
* `services.geoip-updater` was broken and has been replaced by
|
* `services.geoip-updater` was broken and has been replaced by
|
||||||
[services.geoipupdate](options.html#opt-services.geoipupdate.enable).
|
[services.geoipupdate](options.html#opt-services.geoipupdate.enable).
|
||||||
|
|
||||||
|
* PHP 7.3 is no longer supported due to upstream not supporting this
|
||||||
|
version for the entire lifecycle of the 21.11 release.
|
||||||
|
|
||||||
## Other Notable Changes
|
## Other Notable Changes
|
||||||
|
|
|
@ -325,7 +325,6 @@ in
|
||||||
pgjwt = handleTest ./pgjwt.nix {};
|
pgjwt = handleTest ./pgjwt.nix {};
|
||||||
pgmanage = handleTest ./pgmanage.nix {};
|
pgmanage = handleTest ./pgmanage.nix {};
|
||||||
php = handleTest ./php {};
|
php = handleTest ./php {};
|
||||||
php73 = handleTest ./php { php = pkgs.php73; };
|
|
||||||
php74 = handleTest ./php { php = pkgs.php74; };
|
php74 = handleTest ./php { php = pkgs.php74; };
|
||||||
php80 = handleTest ./php { php = pkgs.php80; };
|
php80 = handleTest ./php { php = pkgs.php80; };
|
||||||
pinnwand = handleTest ./pinnwand.nix {};
|
pinnwand = handleTest ./pinnwand.nix {};
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
{ callPackage, lib, stdenv, nixosTests, ... }@_args:
|
|
||||||
|
|
||||||
let
|
|
||||||
generic = (import ./generic.nix) _args;
|
|
||||||
|
|
||||||
base = callPackage generic (_args // {
|
|
||||||
version = "7.3.28";
|
|
||||||
sha256 = "0r4r8famg3a8x6ch24y1370nsphkxg4k9zq5x8v88f4l8mj6wqwg";
|
|
||||||
|
|
||||||
# https://bugs.php.net/bug.php?id=76826
|
|
||||||
extraPatches = lib.optional stdenv.isDarwin ./php73-darwin-isfinite.patch;
|
|
||||||
});
|
|
||||||
|
|
||||||
in base.withExtensions ({ all, ... }: with all; ([
|
|
||||||
bcmath calendar curl ctype dom exif fileinfo filter ftp gd
|
|
||||||
gettext gmp hash 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 ]))
|
|
|
@ -7,7 +7,7 @@ let
|
||||||
generic =
|
generic =
|
||||||
{ callPackage, lib, stdenv, nixosTests, fetchurl, makeWrapper
|
{ callPackage, lib, stdenv, nixosTests, fetchurl, makeWrapper
|
||||||
, symlinkJoin, writeText, autoconf, automake, bison, flex, libtool
|
, symlinkJoin, writeText, autoconf, automake, bison, flex, libtool
|
||||||
, pkg-config, re2c, apacheHttpd, libargon2, libxml2, pcre, pcre2
|
, pkg-config, re2c, apacheHttpd, libargon2, libxml2, pcre2
|
||||||
, systemd, system-sendmail, valgrind, xcbuild
|
, systemd, system-sendmail, valgrind, xcbuild
|
||||||
|
|
||||||
, version
|
, version
|
||||||
|
@ -103,7 +103,7 @@ let
|
||||||
${extraConfig}
|
${extraConfig}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
phpWithExtensions = symlinkJoin rec {
|
phpWithExtensions = symlinkJoin {
|
||||||
name = "php-with-extensions-${version}";
|
name = "php-with-extensions-${version}";
|
||||||
inherit (php) version;
|
inherit (php) version;
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
@ -142,8 +142,6 @@ let
|
||||||
|
|
||||||
mkWithExtensions = prevArgs: prevExtensionFunctions: extensions:
|
mkWithExtensions = prevArgs: prevExtensionFunctions: extensions:
|
||||||
mkBuildEnv prevArgs prevExtensionFunctions { inherit extensions; };
|
mkBuildEnv prevArgs prevExtensionFunctions { inherit extensions; };
|
||||||
|
|
||||||
pcre' = if (lib.versionAtLeast version "7.3") then pcre2 else pcre;
|
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
pname = "php";
|
pname = "php";
|
||||||
|
@ -157,7 +155,7 @@ let
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
# PCRE extension
|
# PCRE extension
|
||||||
[ pcre' ]
|
[ pcre2 ]
|
||||||
|
|
||||||
# Enable sapis
|
# Enable sapis
|
||||||
++ lib.optional pearSupport [ libxml2.dev ]
|
++ lib.optional pearSupport [ libxml2.dev ]
|
||||||
|
@ -176,10 +174,10 @@ let
|
||||||
[ "--disable-all" ]
|
[ "--disable-all" ]
|
||||||
|
|
||||||
# PCRE
|
# PCRE
|
||||||
++ lib.optionals (lib.versionAtLeast version "7.4") [ "--with-external-pcre=${pcre'.dev}" ]
|
++ lib.optionals (lib.versionAtLeast version "7.4") [ "--with-external-pcre=${pcre2.dev}" ]
|
||||||
++ lib.optionals (lib.versions.majorMinor version == "7.3") [ "--with-pcre-regex=${pcre'.dev}" ]
|
++ lib.optionals (lib.versions.majorMinor version == "7.3") [ "--with-pcre-regex=${pcre2.dev}" ]
|
||||||
++ lib.optionals (lib.versionOlder version "7.3") [ "--with-pcre-regex=${pcre'.dev}" ]
|
++ lib.optionals (lib.versionOlder version "7.3") [ "--with-pcre-regex=${pcre2.dev}" ]
|
||||||
++ [ "PCRE_LIBDIR=${pcre'}" ]
|
++ [ "PCRE_LIBDIR=${pcre2}" ]
|
||||||
|
|
||||||
|
|
||||||
# Enable sapis
|
# Enable sapis
|
||||||
|
|
|
@ -1,60 +0,0 @@
|
||||||
diff -ru a/configure.ac b/configure.ac
|
|
||||||
--- a/configure.ac 2018-12-04 19:12:20.000000000 +0300
|
|
||||||
+++ b/configure.ac 2018-12-10 12:30:37.798917520 +0300
|
|
||||||
@@ -68,7 +68,7 @@
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
#ifndef zend_isnan
|
|
||||||
-#if HAVE_DECL_ISNAN && (!defined(__cplusplus) || __cplusplus < 201103L)
|
|
||||||
+#if HAVE_DECL_ISNAN && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
|
|
||||||
#define zend_isnan(a) isnan(a)
|
|
||||||
#elif defined(HAVE_FPCLASS)
|
|
||||||
#define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
|
|
||||||
@@ -77,7 +77,7 @@
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-#if HAVE_DECL_ISINF && (!defined(__cplusplus) || __cplusplus < 201103L)
|
|
||||||
+#if HAVE_DECL_ISINF && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
|
|
||||||
#define zend_isinf(a) isinf(a)
|
|
||||||
#elif defined(INFINITY)
|
|
||||||
/* Might not work, but is required by ISO C99 */
|
|
||||||
@@ -88,7 +88,7 @@
|
|
||||||
#define zend_isinf(a) 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-#if HAVE_DECL_ISFINITE && (!defined(__cplusplus) || __cplusplus < 201103L)
|
|
||||||
+#if HAVE_DECL_ISFINITE && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
|
|
||||||
#define zend_finite(a) isfinite(a)
|
|
||||||
#elif defined(HAVE_FINITE)
|
|
||||||
#define zend_finite(a) finite(a)
|
|
||||||
diff -ru a/Zend/configure.ac b/Zend/configure.ac
|
|
||||||
--- a/Zend/configure.ac 2018-12-04 19:12:30.000000000 +0300
|
|
||||||
+++ b/Zend/configure.ac 2018-12-10 12:28:50.350929699 +0300
|
|
||||||
@@ -59,7 +59,7 @@
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
#ifndef zend_isnan
|
|
||||||
-#if HAVE_DECL_ISNAN && (!defined(__cplusplus) || __cplusplus < 201103L)
|
|
||||||
+#if HAVE_DECL_ISNAN && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
|
|
||||||
#define zend_isnan(a) isnan(a)
|
|
||||||
#elif defined(HAVE_FPCLASS)
|
|
||||||
#define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
|
|
||||||
@@ -68,7 +68,7 @@
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-#if HAVE_DECL_ISINF && (!defined(__cplusplus) || __cplusplus < 201103L)
|
|
||||||
+#if HAVE_DECL_ISINF && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
|
|
||||||
#define zend_isinf(a) isinf(a)
|
|
||||||
#elif defined(INFINITY)
|
|
||||||
/* Might not work, but is required by ISO C99 */
|
|
||||||
@@ -79,7 +79,7 @@
|
|
||||||
#define zend_isinf(a) 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-#if HAVE_DECL_ISFINITE && (!defined(__cplusplus) || __cplusplus < 201103L)
|
|
||||||
+#if HAVE_DECL_ISFINITE && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
|
|
||||||
#define zend_finite(a) isfinite(a)
|
|
||||||
#elif defined(HAVE_FINITE)
|
|
||||||
#define zend_finite(a) finite(a)
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ buildPecl, lib, pcre' }:
|
{ buildPecl, lib, pcre2 }:
|
||||||
|
|
||||||
buildPecl {
|
buildPecl {
|
||||||
pname = "apcu";
|
pname = "apcu";
|
||||||
|
@ -6,7 +6,7 @@ buildPecl {
|
||||||
version = "5.1.20";
|
version = "5.1.20";
|
||||||
sha256 = "sha256-uZ1A+v7Ab00TL87lPnUm3b/B0EHqbgThc4nfrSj5w5A=";
|
sha256 = "sha256-uZ1A+v7Ab00TL87lPnUm3b/B0EHqbgThc4nfrSj5w5A=";
|
||||||
|
|
||||||
buildInputs = [ pcre' ];
|
buildInputs = [ pcre2 ];
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
checkTarget = "test";
|
checkTarget = "test";
|
||||||
checkFlagsArray = [ "REPORT_EXIT_STATUS=1" "NO_INTERACTION=1" ];
|
checkFlagsArray = [ "REPORT_EXIT_STATUS=1" "NO_INTERACTION=1" ];
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ buildPecl, lib, pcre', php }:
|
{ buildPecl, lib, pcre2, php }:
|
||||||
|
|
||||||
buildPecl {
|
buildPecl {
|
||||||
pname = "apcu_bc";
|
pname = "apcu_bc";
|
||||||
|
@ -8,7 +8,7 @@ buildPecl {
|
||||||
|
|
||||||
peclDeps = [ php.extensions.apcu ];
|
peclDeps = [ php.extensions.apcu ];
|
||||||
|
|
||||||
buildInputs = [ pcre' ];
|
buildInputs = [ pcre2 ];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mv $out/lib/php/extensions/apc.so $out/lib/php/extensions/apcu_bc.so
|
mv $out/lib/php/extensions/apc.so $out/lib/php/extensions/apcu_bc.so
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ buildPecl, fetchpatch, lib, imagemagick, pkg-config, pcre' }:
|
{ buildPecl, fetchpatch, lib, imagemagick, pkg-config, pcre2 }:
|
||||||
|
|
||||||
buildPecl {
|
buildPecl {
|
||||||
pname = "imagick";
|
pname = "imagick";
|
||||||
|
@ -21,7 +21,7 @@ buildPecl {
|
||||||
|
|
||||||
configureFlags = [ "--with-imagick=${imagemagick.dev}" ];
|
configureFlags = [ "--with-imagick=${imagemagick.dev}" ];
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
buildInputs = [ pcre' ];
|
buildInputs = [ pcre2 ];
|
||||||
|
|
||||||
meta.maintainers = lib.teams.php.members;
|
meta.maintainers = lib.teams.php.members;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, buildPecl, lib, pcre', pkg-config, cyrus_sasl, icu64
|
{ stdenv, buildPecl, lib, pcre2, pkg-config, cyrus_sasl, icu64
|
||||||
, openssl, snappy, zlib, darwin }:
|
, openssl, snappy, zlib, darwin }:
|
||||||
|
|
||||||
buildPecl {
|
buildPecl {
|
||||||
|
@ -14,7 +14,7 @@ buildPecl {
|
||||||
openssl
|
openssl
|
||||||
snappy
|
snappy
|
||||||
zlib
|
zlib
|
||||||
pcre'
|
pcre2
|
||||||
] ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
|
] ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
|
||||||
|
|
||||||
meta.maintainers = lib.teams.php.members;
|
meta.maintainers = lib.teams.php.members;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ buildPecl, lib, pcre' }:
|
{ buildPecl, lib, pcre2 }:
|
||||||
|
|
||||||
buildPecl {
|
buildPecl {
|
||||||
pname = "pcov";
|
pname = "pcov";
|
||||||
|
@ -6,7 +6,7 @@ buildPecl {
|
||||||
version = "1.0.8";
|
version = "1.0.8";
|
||||||
sha256 = "sha256-6rbniyxLIHPW/e+eWZN1qS8F1rOB7ld1N8JKUS1geRQ=";
|
sha256 = "sha256-6rbniyxLIHPW/e+eWZN1qS8F1rOB7ld1N8JKUS1geRQ=";
|
||||||
|
|
||||||
buildInputs = [ pcre' ];
|
buildInputs = [ pcre2 ];
|
||||||
|
|
||||||
meta.maintainers = lib.teams.php.members;
|
meta.maintainers = lib.teams.php.members;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,24 +1,15 @@
|
||||||
{ buildPecl, lib, fetchFromGitHub, php }:
|
{ buildPecl, lib, fetchFromGitHub, php }:
|
||||||
let
|
|
||||||
|
buildPecl {
|
||||||
pname = "pinba";
|
pname = "pinba";
|
||||||
|
version = "1.1.2-dev";
|
||||||
|
|
||||||
isPhp73 = lib.versionAtLeast php.version "7.3";
|
src = fetchFromGitHub {
|
||||||
|
|
||||||
version = if isPhp73 then "1.1.2-dev" else "1.1.1";
|
|
||||||
|
|
||||||
src = fetchFromGitHub ({
|
|
||||||
owner = "tony2001";
|
owner = "tony2001";
|
||||||
repo = "pinba_extension";
|
repo = "pinba_extension";
|
||||||
} // (if (isPhp73) then {
|
|
||||||
rev = "edbc313f1b4fb8407bf7d5acf63fbb0359c7fb2e";
|
rev = "edbc313f1b4fb8407bf7d5acf63fbb0359c7fb2e";
|
||||||
sha256 = "02sljqm6griw8ccqavl23f7w1hp2zflcv24lpf00k6pyrn9cwx80";
|
sha256 = "02sljqm6griw8ccqavl23f7w1hp2zflcv24lpf00k6pyrn9cwx80";
|
||||||
} else {
|
};
|
||||||
rev = "RELEASE_1_1_1";
|
|
||||||
sha256 = "1kdp7vav0y315695vhm3xifgsh6h6y6pny70xw3iai461n58khj5";
|
|
||||||
}));
|
|
||||||
in
|
|
||||||
buildPecl {
|
|
||||||
inherit pname version src;
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "PHP extension for Pinba";
|
description = "PHP extension for Pinba";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ buildPecl, lib, pcre', fetchpatch }:
|
{ buildPecl, lib, pcre2, fetchpatch }:
|
||||||
|
|
||||||
buildPecl {
|
buildPecl {
|
||||||
pname = "protobuf";
|
pname = "protobuf";
|
||||||
|
@ -6,7 +6,7 @@ buildPecl {
|
||||||
version = "3.14.0";
|
version = "3.14.0";
|
||||||
sha256 = "1ldc4s28hq61cfg8l4c06pgicj0ng7k37f28a0dnnbs7xkr7cibd";
|
sha256 = "1ldc4s28hq61cfg8l4c06pgicj0ng7k37f28a0dnnbs7xkr7cibd";
|
||||||
|
|
||||||
buildInputs = [ pcre' ];
|
buildInputs = [ pcre2 ];
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
# TODO: remove with next update
|
# TODO: remove with next update
|
||||||
|
|
|
@ -1,28 +1,18 @@
|
||||||
{ buildPecl, lib, fetchFromGitHub, php, pcre' }:
|
{ buildPecl, lib, fetchFromGitHub, php, pcre2 }:
|
||||||
let
|
|
||||||
|
buildPecl {
|
||||||
pname = "pthreads";
|
pname = "pthreads";
|
||||||
|
version = "3.2.0-dev";
|
||||||
|
|
||||||
isPhp73 = lib.versionAtLeast php.version "7.3";
|
src = fetchFromGitHub {
|
||||||
isPhp74 = lib.versionAtLeast php.version "7.4";
|
|
||||||
|
|
||||||
version = if isPhp73 then "3.2.0-dev" else "3.2.0";
|
|
||||||
|
|
||||||
src = fetchFromGitHub ({
|
|
||||||
owner = "krakjoe";
|
owner = "krakjoe";
|
||||||
repo = "pthreads";
|
repo = "pthreads";
|
||||||
} // (if (isPhp73) then {
|
|
||||||
rev = "4d1c2483ceb459ea4284db4eb06646d5715e7154";
|
rev = "4d1c2483ceb459ea4284db4eb06646d5715e7154";
|
||||||
sha256 = "07kdxypy0bgggrfav2h1ccbv67lllbvpa3s3zsaqci0gq4fyi830";
|
sha256 = "07kdxypy0bgggrfav2h1ccbv67lllbvpa3s3zsaqci0gq4fyi830";
|
||||||
} else {
|
};
|
||||||
rev = "v3.2.0";
|
|
||||||
sha256 = "17hypm75d4w7lvz96jb7s0s87018yzmmap0l125d5fd7abnhzfvv";
|
|
||||||
}));
|
|
||||||
in
|
|
||||||
buildPecl {
|
|
||||||
inherit pname version src;
|
|
||||||
|
|
||||||
buildInputs = [ pcre'.dev ];
|
buildInputs = [ pcre2.dev ];
|
||||||
|
|
||||||
meta.broken = isPhp74;
|
meta.broken = lib.versionAtLeast php.version "7.4";
|
||||||
meta.maintainers = lib.teams.php.members;
|
meta.maintainers = lib.teams.php.members;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ buildPecl, lib, rdkafka, pcre' }:
|
{ buildPecl, lib, rdkafka, pcre2 }:
|
||||||
|
|
||||||
buildPecl {
|
buildPecl {
|
||||||
pname = "rdkafka";
|
pname = "rdkafka";
|
||||||
|
@ -6,7 +6,7 @@ buildPecl {
|
||||||
version = "5.0.0";
|
version = "5.0.0";
|
||||||
sha256 = "sha256-Qy+6rkPczhdxFbDhcuzmUTLMPUXYZ0HaheDBhkh4FXs=";
|
sha256 = "sha256-Qy+6rkPczhdxFbDhcuzmUTLMPUXYZ0HaheDBhkh4FXs=";
|
||||||
|
|
||||||
buildInputs = [ rdkafka pcre' ];
|
buildInputs = [ rdkafka pcre2 ];
|
||||||
|
|
||||||
postPhpize = ''
|
postPhpize = ''
|
||||||
substituteInPlace configure \
|
substituteInPlace configure \
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
, lib
|
, lib
|
||||||
, php
|
, php
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, pcre'
|
, pcre2
|
||||||
, fetchpatch
|
, fetchpatch
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ buildPecl rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
pcre'
|
pcre2
|
||||||
];
|
];
|
||||||
|
|
||||||
internalDeps = with php.extensions; [
|
internalDeps = with php.extensions; [
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, buildPecl, php, valgrind, pcre' }:
|
{ lib, buildPecl, php, valgrind, pcre2 }:
|
||||||
|
|
||||||
buildPecl {
|
buildPecl {
|
||||||
pname = "swoole";
|
pname = "swoole";
|
||||||
|
@ -6,7 +6,7 @@ buildPecl {
|
||||||
version = "4.6.4";
|
version = "4.6.4";
|
||||||
sha256 = "0hgndnn27q7fbsb0nw6bfdg0kyy5di9vrmf7g53jc6lsnf73ha31";
|
sha256 = "0hgndnn27q7fbsb0nw6bfdg0kyy5di9vrmf7g53jc6lsnf73ha31";
|
||||||
|
|
||||||
buildInputs = [ valgrind pcre' ];
|
buildInputs = [ valgrind pcre2 ];
|
||||||
internalDeps = lib.optionals (lib.versionOlder php.version "7.4") [ php.extensions.hash ];
|
internalDeps = lib.optionals (lib.versionOlder php.version "7.4") [ php.extensions.hash ];
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, fetchurl, php73, which, makeWrapper, bash, coreutils, ncurses }:
|
{ lib, stdenv, fetchurl, php, which, makeWrapper, bash, coreutils, ncurses }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "drush-6.1.0";
|
name = "drush-6.1.0";
|
||||||
|
@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
|
||||||
mkdir -p "$out"
|
mkdir -p "$out"
|
||||||
cp -r . "$out/src"
|
cp -r . "$out/src"
|
||||||
mkdir "$out/bin"
|
mkdir "$out/bin"
|
||||||
wrapProgram "$out/src/drush" --prefix PATH : "${lib.makeBinPath [ which php73 bash coreutils ncurses ]}"
|
wrapProgram "$out/src/drush" --prefix PATH : "${lib.makeBinPath [ which php bash coreutils ncurses ]}"
|
||||||
ln -s "$out/src/drush" "$out/bin/drush"
|
ln -s "$out/src/drush" "$out/bin/drush"
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
, pcre2
|
, pcre2
|
||||||
, withPython2 ? false, python2
|
, withPython2 ? false, python2
|
||||||
, withPython3 ? true, python3, ncurses
|
, withPython3 ? true, python3, ncurses
|
||||||
, withPHP73 ? false, php73
|
|
||||||
, withPHP74 ? true, php74
|
, withPHP74 ? true, php74
|
||||||
, withPerl530 ? false, perl530
|
, withPerl530 ? false, perl530
|
||||||
, withPerl532 ? true, perl532
|
, withPerl532 ? true, perl532
|
||||||
|
@ -26,7 +25,6 @@ let
|
||||||
fpmSupport = false;
|
fpmSupport = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
php73-unit = php73.override phpConfig;
|
|
||||||
php74-unit = php74.override phpConfig;
|
php74-unit = php74.override phpConfig;
|
||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
|
@ -45,7 +43,6 @@ in stdenv.mkDerivation rec {
|
||||||
buildInputs = [ pcre2.dev ]
|
buildInputs = [ pcre2.dev ]
|
||||||
++ optional withPython2 python2
|
++ optional withPython2 python2
|
||||||
++ optionals withPython3 [ python3 ncurses ]
|
++ optionals withPython3 [ python3 ncurses ]
|
||||||
++ optional withPHP73 php73-unit
|
|
||||||
++ optional withPHP74 php74-unit
|
++ optional withPHP74 php74-unit
|
||||||
++ optional withPerl530 perl530
|
++ optional withPerl530 perl530
|
||||||
++ optional withPerl532 perl532
|
++ optional withPerl532 perl532
|
||||||
|
@ -64,13 +61,11 @@ in stdenv.mkDerivation rec {
|
||||||
++ optional withDebug "--debug";
|
++ optional withDebug "--debug";
|
||||||
|
|
||||||
# Optionally add the PHP derivations used so they can be addressed in the configs
|
# Optionally add the PHP derivations used so they can be addressed in the configs
|
||||||
usedPhp73 = optionals withPHP73 php73-unit;
|
|
||||||
usedPhp74 = optionals withPHP74 php74-unit;
|
usedPhp74 = optionals withPHP74 php74-unit;
|
||||||
|
|
||||||
postConfigure = ''
|
postConfigure = ''
|
||||||
${optionalString withPython2 "./configure python --module=python2 --config=python2-config --lib-path=${python2}/lib"}
|
${optionalString withPython2 "./configure python --module=python2 --config=python2-config --lib-path=${python2}/lib"}
|
||||||
${optionalString withPython3 "./configure python --module=python3 --config=python3-config --lib-path=${python3}/lib"}
|
${optionalString withPython3 "./configure python --module=python3 --config=python3-config --lib-path=${python3}/lib"}
|
||||||
${optionalString withPHP73 "./configure php --module=php73 --config=${php73-unit.unwrapped.dev}/bin/php-config --lib-path=${php73-unit}/lib"}
|
|
||||||
${optionalString withPHP74 "./configure php --module=php74 --config=${php74-unit.unwrapped.dev}/bin/php-config --lib-path=${php74-unit}/lib"}
|
${optionalString withPHP74 "./configure php --module=php74 --config=${php74-unit.unwrapped.dev}/bin/php-config --lib-path=${php74-unit}/lib"}
|
||||||
${optionalString withPerl530 "./configure perl --module=perl530 --perl=${perl530}/bin/perl"}
|
${optionalString withPerl530 "./configure perl --module=perl530 --perl=${perl530}/bin/perl"}
|
||||||
${optionalString withPerl532 "./configure perl --module=perl532 --perl=${perl532}/bin/perl"}
|
${optionalString withPerl532 "./configure perl --module=perl532 --perl=${perl532}/bin/perl"}
|
||||||
|
|
|
@ -528,6 +528,11 @@ mapAliases ({
|
||||||
pgp-tools = signing-party; # added 2017-03-26
|
pgp-tools = signing-party; # added 2017-03-26
|
||||||
pg_tmp = ephemeralpg; # added 2018-01-16
|
pg_tmp = ephemeralpg; # added 2018-01-16
|
||||||
|
|
||||||
|
# Obsolete PHP version aliases
|
||||||
|
php73 = throw "php73 has been dropped due to the lack of maintanence from upstream for future releases."; # added 2021-06-03
|
||||||
|
php73Packages = php73; # added 2021-06-03
|
||||||
|
php73Extensions = php73; # added 2021-06-03
|
||||||
|
|
||||||
php-embed = throw ''
|
php-embed = throw ''
|
||||||
php*-embed has been dropped, you can build something similar
|
php*-embed has been dropped, you can build something similar
|
||||||
with the following snippet:
|
with the following snippet:
|
||||||
|
@ -541,8 +546,8 @@ mapAliases ({
|
||||||
similar with the following snippet:
|
similar with the following snippet:
|
||||||
(php74.override { embedSupport = true; apxs2Support = false; }).packages
|
(php74.override { embedSupport = true; apxs2Support = false; }).packages
|
||||||
''; # added 2020-04-01
|
''; # added 2020-04-01
|
||||||
php74Packages-embed = phpPackages-embed;
|
|
||||||
php73Packages-embed = phpPackages-embed;
|
php73Packages-embed = phpPackages-embed;
|
||||||
|
php74Packages-embed = phpPackages-embed;
|
||||||
|
|
||||||
php-unit = throw ''
|
php-unit = throw ''
|
||||||
php*-unit has been dropped, you can build something similar with
|
php*-unit has been dropped, you can build something similar with
|
||||||
|
@ -571,8 +576,8 @@ mapAliases ({
|
||||||
fpmSupport = false;
|
fpmSupport = false;
|
||||||
}).packages
|
}).packages
|
||||||
''; # added 2020-04-01
|
''; # added 2020-04-01
|
||||||
php74Packages-unit = phpPackages-unit;
|
|
||||||
php73Packages-unit = phpPackages-unit;
|
php73Packages-unit = phpPackages-unit;
|
||||||
|
php74Packages-unit = phpPackages-unit;
|
||||||
|
|
||||||
pidgin-with-plugins = pidgin; # added 2016-06
|
pidgin-with-plugins = pidgin; # added 2016-06
|
||||||
pidginlatex = pidgin-latex; # added 2018-01-08
|
pidginlatex = pidgin-latex; # added 2018-01-08
|
||||||
|
|
|
@ -12306,13 +12306,6 @@ in
|
||||||
php74Extensions = recurseIntoAttrs php74.extensions;
|
php74Extensions = recurseIntoAttrs php74.extensions;
|
||||||
php74Packages = recurseIntoAttrs php74.packages;
|
php74Packages = recurseIntoAttrs php74.packages;
|
||||||
|
|
||||||
# Import PHP73 interpreter, extensions and packages
|
|
||||||
php73 = callPackage ../development/interpreters/php/7.3.nix {
|
|
||||||
stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
|
|
||||||
};
|
|
||||||
php73Extensions = recurseIntoAttrs php73.extensions;
|
|
||||||
php73Packages = recurseIntoAttrs php73.packages;
|
|
||||||
|
|
||||||
|
|
||||||
picoc = callPackage ../development/interpreters/picoc {};
|
picoc = callPackage ../development/interpreters/picoc {};
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ stdenv, lib, pkgs, fetchgit, phpPackage, autoconf, pkg-config, re2c
|
{ stdenv, lib, pkgs, fetchgit, phpPackage, autoconf, pkg-config, re2c
|
||||||
, gettext, bzip2, curl, libxml2, openssl, gmp, icu64, oniguruma, libsodium
|
, gettext, bzip2, curl, libxml2, openssl, gmp, icu64, oniguruma, libsodium
|
||||||
, html-tidy, libzip, zlib, pcre, pcre2, libxslt, aspell, openldap, cyrus_sasl
|
, html-tidy, libzip, zlib, pcre2, libxslt, aspell, openldap, cyrus_sasl
|
||||||
, uwimap, pam, libiconv, enchant1, libXpm, gd, libwebp, libjpeg, libpng
|
, uwimap, pam, libiconv, enchant1, libXpm, gd, libwebp, libjpeg, libpng
|
||||||
, freetype, libffi, freetds, postgresql, sqlite, net-snmp, unixODBC, libedit
|
, freetype, libffi, freetds, postgresql, sqlite, net-snmp, unixODBC, libedit
|
||||||
, readline, rsync, fetchpatch, valgrind
|
, readline, rsync, fetchpatch, valgrind
|
||||||
|
@ -19,8 +19,6 @@ lib.makeScope pkgs.newScope (self: with self; {
|
||||||
pname = "php-${pname}";
|
pname = "php-${pname}";
|
||||||
});
|
});
|
||||||
|
|
||||||
pcre' = if (lib.versionAtLeast php.version "7.3") then pcre2 else pcre;
|
|
||||||
|
|
||||||
php = phpPackage;
|
php = phpPackage;
|
||||||
|
|
||||||
# This is a set of interactive tools based on PHP.
|
# This is a set of interactive tools based on PHP.
|
||||||
|
@ -297,8 +295,8 @@ lib.makeScope pkgs.newScope (self: with self; {
|
||||||
doCheck = false; }
|
doCheck = false; }
|
||||||
{ name = "exif"; doCheck = false; }
|
{ name = "exif"; doCheck = false; }
|
||||||
{ name = "ffi"; buildInputs = [ libffi ]; enable = lib.versionAtLeast php.version "7.4"; }
|
{ name = "ffi"; buildInputs = [ libffi ]; enable = lib.versionAtLeast php.version "7.4"; }
|
||||||
{ name = "fileinfo"; buildInputs = [ pcre' ]; }
|
{ name = "fileinfo"; buildInputs = [ pcre2 ]; }
|
||||||
{ name = "filter"; buildInputs = [ pcre' ]; }
|
{ name = "filter"; buildInputs = [ pcre2 ]; }
|
||||||
{ name = "ftp"; buildInputs = [ openssl ]; }
|
{ name = "ftp"; buildInputs = [ openssl ]; }
|
||||||
{ name = "gd";
|
{ name = "gd";
|
||||||
buildInputs = [ zlib gd ];
|
buildInputs = [ zlib gd ];
|
||||||
|
@ -350,11 +348,10 @@ lib.makeScope pkgs.newScope (self: with self; {
|
||||||
];
|
];
|
||||||
doCheck = false; }
|
doCheck = false; }
|
||||||
{ name = "imap";
|
{ name = "imap";
|
||||||
buildInputs = [ uwimap openssl pam pcre' ];
|
buildInputs = [ uwimap openssl pam pcre2 ];
|
||||||
configureFlags = [ "--with-imap=${uwimap}" "--with-imap-ssl" ];
|
configureFlags = [ "--with-imap=${uwimap}" "--with-imap-ssl" ];
|
||||||
# uwimap doesn't build on darwin.
|
# uwimap doesn't build on darwin.
|
||||||
enable = (!stdenv.isDarwin); }
|
enable = (!stdenv.isDarwin); }
|
||||||
# interbase (7.3, 7.2)
|
|
||||||
{ name = "intl";
|
{ name = "intl";
|
||||||
buildInputs = [ icu64 ];
|
buildInputs = [ icu64 ];
|
||||||
patches = lib.optionals (lib.versionOlder php.version "7.4") [
|
patches = lib.optionals (lib.versionOlder php.version "7.4") [
|
||||||
|
@ -377,7 +374,7 @@ lib.makeScope pkgs.newScope (self: with self; {
|
||||||
];
|
];
|
||||||
doCheck = false; }
|
doCheck = false; }
|
||||||
{ name = "mbstring"; buildInputs = [ oniguruma ] ++ lib.optionals (lib.versionAtLeast php.version "8.0") [
|
{ name = "mbstring"; buildInputs = [ oniguruma ] ++ lib.optionals (lib.versionAtLeast php.version "8.0") [
|
||||||
pcre'
|
pcre2
|
||||||
]; doCheck = false; }
|
]; doCheck = false; }
|
||||||
{ name = "mysqli";
|
{ name = "mysqli";
|
||||||
internalDeps = [ php.extensions.mysqlnd ];
|
internalDeps = [ php.extensions.mysqlnd ];
|
||||||
|
@ -425,7 +422,7 @@ lib.makeScope pkgs.newScope (self: with self; {
|
||||||
# oci8 (7.4, 7.3, 7.2)
|
# oci8 (7.4, 7.3, 7.2)
|
||||||
# odbc (7.4, 7.3, 7.2)
|
# odbc (7.4, 7.3, 7.2)
|
||||||
{ name = "opcache";
|
{ name = "opcache";
|
||||||
buildInputs = [ pcre' ] ++ lib.optionals (!stdenv.isDarwin && lib.versionAtLeast php.version "8.0") [
|
buildInputs = [ pcre2 ] ++ lib.optionals (!stdenv.isDarwin && lib.versionAtLeast php.version "8.0") [
|
||||||
valgrind.dev
|
valgrind.dev
|
||||||
];
|
];
|
||||||
patches = lib.optionals (lib.versionOlder php.version "7.4") [
|
patches = lib.optionals (lib.versionOlder php.version "7.4") [
|
||||||
|
@ -480,7 +477,7 @@ lib.makeScope pkgs.newScope (self: with self; {
|
||||||
configureFlags = [ "--with-pdo-sqlite=${sqlite.dev}" ];
|
configureFlags = [ "--with-pdo-sqlite=${sqlite.dev}" ];
|
||||||
doCheck = false; }
|
doCheck = false; }
|
||||||
{ name = "pgsql";
|
{ name = "pgsql";
|
||||||
buildInputs = [ pcre' ];
|
buildInputs = [ pcre2 ];
|
||||||
configureFlags = [ "--with-pgsql=${postgresql}" ];
|
configureFlags = [ "--with-pgsql=${postgresql}" ];
|
||||||
doCheck = false; }
|
doCheck = false; }
|
||||||
{ name = "posix"; doCheck = false; }
|
{ name = "posix"; doCheck = false; }
|
||||||
|
@ -493,11 +490,10 @@ lib.makeScope pkgs.newScope (self: with self; {
|
||||||
'';
|
'';
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
}
|
}
|
||||||
# recode (7.3, 7.2)
|
|
||||||
{ name = "session"; doCheck = !(lib.versionAtLeast php.version "8.0"); }
|
{ name = "session"; doCheck = !(lib.versionAtLeast php.version "8.0"); }
|
||||||
{ name = "shmop"; }
|
{ name = "shmop"; }
|
||||||
{ name = "simplexml";
|
{ name = "simplexml";
|
||||||
buildInputs = [ libxml2 pcre' ];
|
buildInputs = [ libxml2 pcre2 ];
|
||||||
configureFlags = [ "--enable-simplexml" ]
|
configureFlags = [ "--enable-simplexml" ]
|
||||||
# Required to build on darwin.
|
# Required to build on darwin.
|
||||||
++ lib.optionals (lib.versionOlder php.version "7.4") [ "--with-libxml-dir=${libxml2.dev}" ]; }
|
++ lib.optionals (lib.versionOlder php.version "7.4") [ "--with-libxml-dir=${libxml2.dev}" ]; }
|
||||||
|
@ -558,7 +554,7 @@ lib.makeScope pkgs.newScope (self: with self; {
|
||||||
configureFlags = [ "--with-xsl=${libxslt.dev}" ]; }
|
configureFlags = [ "--with-xsl=${libxslt.dev}" ]; }
|
||||||
{ name = "zend_test"; }
|
{ name = "zend_test"; }
|
||||||
{ name = "zip";
|
{ name = "zip";
|
||||||
buildInputs = [ libzip pcre' ];
|
buildInputs = [ libzip pcre2 ];
|
||||||
configureFlags = [ "--with-zip" ]
|
configureFlags = [ "--with-zip" ]
|
||||||
++ lib.optionals (lib.versionOlder php.version "7.4") [ "--with-zlib-dir=${zlib.dev}" ]
|
++ lib.optionals (lib.versionOlder php.version "7.4") [ "--with-zlib-dir=${zlib.dev}" ]
|
||||||
++ lib.optionals (lib.versionOlder php.version "7.3") [ "--with-libzip" ];
|
++ lib.optionals (lib.versionOlder php.version "7.3") [ "--with-libzip" ];
|
||||||
|
|
Loading…
Reference in a new issue