diff options
author | Kim Lindberger <kim.lindberger@gmail.com> | 2020-05-10 12:37:22 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-10 12:37:22 +0200 |
commit | e4efa8bc83ae70b2ec592ecfeddec322b00b5e0b (patch) | |
tree | b57f3d87593bacb6e6ea93b82ee74042fecf1c59 | |
parent | eb639a82e01849c17c976c64d5329c93e7990b8e (diff) | |
parent | fa4c995d0e8031be38c226284e45fb7d5a97e9a1 (diff) | |
download | nixlib-e4efa8bc83ae70b2ec592ecfeddec322b00b5e0b.tar nixlib-e4efa8bc83ae70b2ec592ecfeddec322b00b5e0b.tar.gz nixlib-e4efa8bc83ae70b2ec592ecfeddec322b00b5e0b.tar.bz2 nixlib-e4efa8bc83ae70b2ec592ecfeddec322b00b5e0b.tar.lz nixlib-e4efa8bc83ae70b2ec592ecfeddec322b00b5e0b.tar.xz nixlib-e4efa8bc83ae70b2ec592ecfeddec322b00b5e0b.tar.zst nixlib-e4efa8bc83ae70b2ec592ecfeddec322b00b5e0b.zip |
Merge pull request #86614 from talyz/php-buildpecl-pecldeps
php.buildPecl: Make it possible for PECLs to depend on other PECLs, fix apcu_bc and couchbase
-rw-r--r-- | pkgs/build-support/build-pecl.nix | 4 | ||||
-rw-r--r-- | pkgs/development/interpreters/php/default.nix | 8 | ||||
-rw-r--r-- | pkgs/top-level/php-packages.nix | 26 |
3 files changed, 23 insertions, 15 deletions
diff --git a/pkgs/build-support/build-pecl.nix b/pkgs/build-support/build-pecl.nix index f43205f24c5c..d75d3cf943a0 100644 --- a/pkgs/build-support/build-pecl.nix +++ b/pkgs/build-support/build-pecl.nix @@ -3,6 +3,7 @@ { pname , version , internalDeps ? [] +, peclDeps ? [] , buildInputs ? [] , nativeBuildInputs ? [] , postPhpize ? "" @@ -16,11 +17,12 @@ stdenv.mkDerivation (args // { name = "php-${pname}-${version}"; + extensionName = pname; inherit src; nativeBuildInputs = [ autoreconfHook re2c ] ++ nativeBuildInputs; - buildInputs = [ php ] ++ buildInputs; + buildInputs = [ php ] ++ peclDeps ++ buildInputs; makeFlags = [ "EXTENSION_DIR=$(out)/lib/php/extensions" ] ++ makeFlags; diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index ac0ab2196afa..8ccb0e546410 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -67,7 +67,7 @@ let getDepsRecursively = extensions: let deps = lib.concatMap - (ext: ext.internalDeps or []) + (ext: (ext.internalDeps or []) ++ (ext.peclDeps or [])) extensions; in if ! (deps == []) then @@ -86,12 +86,12 @@ let (map (ext: let extName = getExtName ext; + phpDeps = (ext.internalDeps or []) ++ (ext.peclDeps or []); type = "${lib.optionalString (ext.zendExtension or false) "zend_"}extension"; in lib.nameValuePair extName { text = "${type}=${ext}/lib/php/extensions/${extName}.so"; - deps = lib.optionals (ext ? internalDeps) - (map getExtName ext.internalDeps); + deps = map getExtName phpDeps; }) (enabledExtensions ++ (getDepsRecursively enabledExtensions))); @@ -112,7 +112,7 @@ let phpIni = "${phpWithExtensions}/lib/php.ini"; unwrapped = php; tests = nixosTests.php; - inherit (php-packages) packages extensions; + inherit (php-packages) packages extensions buildPecl; meta = php.meta // { outputsToInstall = [ "out" ]; }; diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index 9532f113ae3d..ff9e96f8b971 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -320,11 +320,16 @@ in sha256 = "0ma00syhk2ps9k9p02jz7rii6x3i2p986il23703zz5npd6y9n20"; + peclDeps = [ php.extensions.apcu ]; + buildInputs = [ - php.extensions.apcu pcre' ]; + postInstall = '' + mv $out/lib/php/extensions/apc.so $out/lib/php/extensions/apcu_bc.so + ''; + meta.maintainers = lib.teams.php.members; }; @@ -341,13 +346,6 @@ in version = "2.6.1"; pname = "couchbase"; - buildInputs = [ - pkgs.libcouchbase - pkgs.zlib - php.extensions.igbinary - php.extensions.pcs - ]; - src = pkgs.fetchFromGitHub { owner = "couchbase"; repo = "php-couchbase"; @@ -356,7 +354,14 @@ in }; configureFlags = [ "--with-couchbase" ]; + + buildInputs = [ + pkgs.libcouchbase + pkgs.zlib + ]; internalDeps = [ php.extensions.json ]; + peclDeps = [ php.extensions.igbinary ]; + patches = [ (pkgs.writeText "php-couchbase.patch" '' --- a/config.m4 @@ -383,7 +388,6 @@ in ]; meta.maintainers = lib.teams.php.members; - meta.broken = isPhp74; # Build error }; event = buildPecl { @@ -557,8 +561,10 @@ in sha256 = "0d4p1gpl8gkzdiv860qzxfz250ryf0wmjgyc8qcaaqgkdyh5jy5p"; + internalDeps = [ php.extensions.tokenizer ]; + meta.maintainers = lib.teams.php.members; - meta.broken = isPhp74; # Build error + meta.broken = isPhp73; # Runtime failure on 7.3, build error on 7.4 }; pdo_oci = buildPecl rec { |