php: Unify the usage of the php package in php-packages.nix
Instead of using two different php packages in php-packages.nix, one wrapper and one unwrapped, simply use the wrapper and use its "unwrapped" attribute when necessary. Also, get rid of the packages and extensions attributes from the base package, since they're no longer needed.
This commit is contained in:
parent
5cad1b4aff
commit
2535cdfe91
@ -14,8 +14,6 @@ let
|
|||||||
, sha256
|
, sha256
|
||||||
, extraPatches ? []
|
, extraPatches ? []
|
||||||
|
|
||||||
, defaultPhpExtensions
|
|
||||||
|
|
||||||
# Sapi flags
|
# Sapi flags
|
||||||
, cgiSupport ? true
|
, cgiSupport ? true
|
||||||
, cliSupport ? true
|
, cliSupport ? true
|
||||||
@ -35,13 +33,6 @@ let
|
|||||||
, ztsSupport ? apxs2Support
|
, ztsSupport ? apxs2Support
|
||||||
}@args:
|
}@args:
|
||||||
let
|
let
|
||||||
self = generic args;
|
|
||||||
|
|
||||||
php-packages = (callPackage ../../../top-level/php-packages.nix {
|
|
||||||
php = self;
|
|
||||||
phpWithExtensions = self.withExtensions defaultPhpExtensions;
|
|
||||||
});
|
|
||||||
|
|
||||||
# buildEnv wraps php to provide additional extensions and
|
# buildEnv wraps php to provide additional extensions and
|
||||||
# configuration. Its usage is documented in
|
# configuration. Its usage is documented in
|
||||||
# doc/languages-frameworks/php.section.md.
|
# doc/languages-frameworks/php.section.md.
|
||||||
@ -58,7 +49,7 @@ let
|
|||||||
php = generic filteredArgs;
|
php = generic filteredArgs;
|
||||||
|
|
||||||
php-packages = (callPackage ../../../top-level/php-packages.nix {
|
php-packages = (callPackage ../../../top-level/php-packages.nix {
|
||||||
inherit php phpWithExtensions;
|
php = phpWithExtensions;
|
||||||
});
|
});
|
||||||
|
|
||||||
allExtensionFunctions = prevExtensionFunctions ++ [ extensions ];
|
allExtensionFunctions = prevExtensionFunctions ++ [ extensions ];
|
||||||
@ -249,7 +240,6 @@ let
|
|||||||
passthru = {
|
passthru = {
|
||||||
buildEnv = mkBuildEnv {} [];
|
buildEnv = mkBuildEnv {} [];
|
||||||
withExtensions = mkWithExtensions {} [];
|
withExtensions = mkWithExtensions {} [];
|
||||||
inherit (php-packages) packages extensions;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
@ -265,7 +255,6 @@ let
|
|||||||
php72base = callPackage generic (_args // {
|
php72base = callPackage generic (_args // {
|
||||||
version = "7.2.29";
|
version = "7.2.29";
|
||||||
sha256 = "08xry2fgqgg8s0ym1hh11wkbr36av3zq1bn4krbciw1b7x8gb8ga";
|
sha256 = "08xry2fgqgg8s0ym1hh11wkbr36av3zq1bn4krbciw1b7x8gb8ga";
|
||||||
defaultPhpExtensions = defaultPhpExtensionsWithHash;
|
|
||||||
|
|
||||||
# https://bugs.php.net/bug.php?id=76826
|
# https://bugs.php.net/bug.php?id=76826
|
||||||
extraPatches = lib.optional stdenv.isDarwin ./php72-darwin-isfinite.patch;
|
extraPatches = lib.optional stdenv.isDarwin ./php72-darwin-isfinite.patch;
|
||||||
@ -274,7 +263,6 @@ let
|
|||||||
php73base = callPackage generic (_args // {
|
php73base = callPackage generic (_args // {
|
||||||
version = "7.3.16";
|
version = "7.3.16";
|
||||||
sha256 = "0bh499v9dfgh9k51w4rird1slb9rh9whp5h37fb84c98d992s1xq";
|
sha256 = "0bh499v9dfgh9k51w4rird1slb9rh9whp5h37fb84c98d992s1xq";
|
||||||
defaultPhpExtensions = defaultPhpExtensionsWithHash;
|
|
||||||
|
|
||||||
# https://bugs.php.net/bug.php?id=76826
|
# https://bugs.php.net/bug.php?id=76826
|
||||||
extraPatches = lib.optional stdenv.isDarwin ./php73-darwin-isfinite.patch;
|
extraPatches = lib.optional stdenv.isDarwin ./php73-darwin-isfinite.patch;
|
||||||
@ -283,7 +271,6 @@ let
|
|||||||
php74base = callPackage generic (_args // {
|
php74base = callPackage generic (_args // {
|
||||||
version = "7.4.4";
|
version = "7.4.4";
|
||||||
sha256 = "17w2m4phhpj76x5fx67vgjrlkcczqvky3f5in1kjg2pch90qz3ih";
|
sha256 = "17w2m4phhpj76x5fx67vgjrlkcczqvky3f5in1kjg2pch90qz3ih";
|
||||||
inherit defaultPhpExtensions;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
defaultPhpExtensions = { all, ... }: with all; ([
|
defaultPhpExtensions = { all, ... }: with all; ([
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, lib, pkgs, fetchgit, php, phpWithExtensions, autoconf, pkgconfig, re2c
|
{ stdenv, lib, pkgs, fetchgit, php, autoconf, pkgconfig, re2c
|
||||||
, gettext, bzip2, curl, libxml2, openssl, gmp, icu, oniguruma, libsodium
|
, gettext, bzip2, curl, libxml2, openssl, gmp, icu, oniguruma, libsodium
|
||||||
, html-tidy, libzip, zlib, pcre, pcre2, libxslt, aspell, openldap, cyrus_sasl
|
, html-tidy, libzip, zlib, pcre, pcre2, libxslt, aspell, openldap, cyrus_sasl
|
||||||
, uwimap, pam, libiconv, enchant1, libXpm, gd, libwebp, libjpeg, libpng
|
, uwimap, pam, libiconv, enchant1, libXpm, gd, libwebp, libjpeg, libpng
|
||||||
@ -8,7 +8,8 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
buildPecl = import ../build-support/build-pecl.nix {
|
buildPecl = import ../build-support/build-pecl.nix {
|
||||||
inherit php lib;
|
php = php.unwrapped;
|
||||||
|
inherit lib;
|
||||||
inherit (pkgs) stdenv autoreconfHook fetchurl re2c;
|
inherit (pkgs) stdenv autoreconfHook fetchurl re2c;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -43,7 +44,7 @@ in
|
|||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
install -D $src $out/libexec/box/box.phar
|
install -D $src $out/libexec/box/box.phar
|
||||||
makeWrapper ${phpWithExtensions}/bin/php $out/bin/box \
|
makeWrapper ${php}/bin/php $out/bin/box \
|
||||||
--add-flags "-d phar.readonly=0 $out/libexec/box/box.phar"
|
--add-flags "-d phar.readonly=0 $out/libexec/box/box.phar"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
@ -71,7 +72,7 @@ in
|
|||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
install -D $src $out/libexec/composer/composer.phar
|
install -D $src $out/libexec/composer/composer.phar
|
||||||
makeWrapper ${phpWithExtensions}/bin/php $out/bin/composer \
|
makeWrapper ${php}/bin/php $out/bin/composer \
|
||||||
--add-flags "$out/libexec/composer/composer.phar" \
|
--add-flags "$out/libexec/composer/composer.phar" \
|
||||||
--prefix PATH : ${pkgs.lib.makeBinPath [ pkgs.unzip ]}
|
--prefix PATH : ${pkgs.lib.makeBinPath [ pkgs.unzip ]}
|
||||||
'';
|
'';
|
||||||
@ -163,7 +164,7 @@ in
|
|||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
install -D $src $out/libexec/phpcbf/phpcbf.phar
|
install -D $src $out/libexec/phpcbf/phpcbf.phar
|
||||||
makeWrapper ${phpWithExtensions}/bin/php $out/bin/phpcbf \
|
makeWrapper ${php}/bin/php $out/bin/phpcbf \
|
||||||
--add-flags "$out/libexec/phpcbf/phpcbf.phar"
|
--add-flags "$out/libexec/phpcbf/phpcbf.phar"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
@ -190,7 +191,7 @@ in
|
|||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
install -D $src $out/libexec/phpcs/phpcs.phar
|
install -D $src $out/libexec/phpcs/phpcs.phar
|
||||||
makeWrapper ${phpWithExtensions}/bin/php $out/bin/phpcs \
|
makeWrapper ${php}/bin/php $out/bin/phpcs \
|
||||||
--add-flags "$out/libexec/phpcs/phpcs.phar"
|
--add-flags "$out/libexec/phpcs/phpcs.phar"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
@ -217,7 +218,7 @@ in
|
|||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
install -D $src $out/libexec/phpstan/phpstan.phar
|
install -D $src $out/libexec/phpstan/phpstan.phar
|
||||||
makeWrapper ${phpWithExtensions}/bin/php $out/bin/phpstan \
|
makeWrapper ${php}/bin/php $out/bin/phpstan \
|
||||||
--add-flags "$out/libexec/phpstan/phpstan.phar"
|
--add-flags "$out/libexec/phpstan/phpstan.phar"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
@ -537,7 +538,7 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
pdo_oci = buildPecl rec {
|
pdo_oci = buildPecl rec {
|
||||||
inherit (php) src version;
|
inherit (php.unwrapped) src version;
|
||||||
|
|
||||||
pname = "pdo_oci";
|
pname = "pdo_oci";
|
||||||
sourceRoot = "php-${version}/ext/pdo_oci";
|
sourceRoot = "php-${version}/ext/pdo_oci";
|
||||||
@ -548,8 +549,8 @@ in
|
|||||||
internalDeps = [ php.extensions.pdo ];
|
internalDeps = [ php.extensions.pdo ];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
sed -i -e 's|OCISDKMANINC=`.*$|OCISDKMANINC="${pkgs.oracle-instantclient.dev}/include"|' config.m4
|
sed -i -e 's|OCISDKMANINC=`.*$|OCISDKMANINC="${pkgs.oracle-instantclient.dev}/include"|' config.m4
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
pdo_sqlsrv = buildPecl {
|
pdo_sqlsrv = buildPecl {
|
||||||
@ -746,11 +747,11 @@ in
|
|||||||
pname = "php-${name}";
|
pname = "php-${name}";
|
||||||
extensionName = name;
|
extensionName = name;
|
||||||
|
|
||||||
inherit (php) version src;
|
inherit (php.unwrapped) version src;
|
||||||
sourceRoot = "php-${php.version}/ext/${name}";
|
sourceRoot = "php-${php.version}/ext/${name}";
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
nativeBuildInputs = [ php autoconf pkgconfig re2c ];
|
nativeBuildInputs = [ php.unwrapped autoconf pkgconfig re2c ];
|
||||||
inherit configureFlags internalDeps buildInputs
|
inherit configureFlags internalDeps buildInputs
|
||||||
zendExtension doCheck;
|
zendExtension doCheck;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user