feat: add passthru flags in PHP extension builder

So they can be handled correctly by `nix-update` tool
This commit is contained in:
Pol Dellaiera 2022-12-29 14:07:39 +01:00
parent 449d97e1d7
commit 8cd511dde1
No known key found for this signature in database
GPG key ID: D476DFE9C67467CA
2 changed files with 15 additions and 2 deletions

View file

@ -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 {};
};
})

View file

@ -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;
};