summaryrefslogtreecommitdiffstats
path: root/pkgs
diff options
context:
space:
mode:
authorPol Dellaiera <pol.dellaiera@protonmail.com>2022-12-29 14:07:39 +0100
committerPol Dellaiera <pol.dellaiera@protonmail.com>2022-12-29 18:19:12 +0100
commit8cd511dde1f7c19ebd9d1d075b013487aba686fd (patch)
treea80993fa24e35040f2b26be97fe574006e7912cf /pkgs
parent449d97e1d7940a293cccb33d1513adac7d6e833c (diff)
feat: add `passthru` flags in PHP extension builder
So they can be handled correctly by `nix-update` tool
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/build-support/build-pecl.nix11
-rw-r--r--pkgs/top-level/php-packages.nix6
2 files changed, 15 insertions, 2 deletions
diff --git a/pkgs/build-support/build-pecl.nix b/pkgs/build-support/build-pecl.nix
index d30a073d2fb9..389447e066fa 100644
--- a/pkgs/build-support/build-pecl.nix
+++ b/pkgs/build-support/build-pecl.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, php, autoreconfHook, fetchurl, re2c }:
+{ stdenv, lib, php, autoreconfHook, fetchurl, re2c, nix-update-script }:
{ pname
, version
@@ -12,6 +12,7 @@
url = "https://pecl.php.net/get/${pname}-${version}.tgz";
inherit (args) sha256;
}
+, passthru ? { }
, ...
}@args:
@@ -34,4 +35,12 @@ stdenv.mkDerivation (args // {
internalDeps}
'';
checkPhase = "NO_INTERACTON=yes make test";
+
+ passthru = passthru // {
+ # Thes flags were introduced for `nix-update` so that it can update
+ # PHP extensions correctly.
+ # See the corresponding PR: https://github.com/Mic92/nix-update/pull/123
+ isPhpExtension = true;
+ updateScript = nix-update-script {};
+ };
})
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index df2167b99077..410e28827d8d 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -30,6 +30,7 @@
, libxslt
, libzip
, net-snmp
+, nix-update-script
, oniguruma
, openldap
, openssl_1_1
@@ -51,13 +52,16 @@ lib.makeScope pkgs.newScope (self: with self; {
buildPecl = import ../build-support/build-pecl.nix {
php = php.unwrapped;
inherit lib;
- inherit (pkgs) stdenv autoreconfHook fetchurl re2c;
+ inherit (pkgs) stdenv autoreconfHook fetchurl re2c nix-update-script;
};
# Wrap mkDerivation to prepend pname with "php-" to make names consistent
# with how buildPecl does it and make the file easier to overview.
mkDerivation = { pname, ... }@args: pkgs.stdenv.mkDerivation (args // {
pname = "php-${pname}";
+ passthru = {
+ updateScript = nix-update-script {};
+ };
meta = args.meta // {
mainProgram = args.meta.mainProgram or pname;
};