diff --git a/flake.nix b/flake.nix index 07ff0a0..27db2d9 100644 --- a/flake.nix +++ b/flake.nix @@ -161,38 +161,33 @@ flake-utils-plus = genPkgOverlay inputs.flake-utils-plus "fup-repl"; glpi-inventory = inputs.glpi-inventory.overlays.default; php-security-fix = final: prev: let - disablePhpTests = pkgSet: prev.lib.mapAttrs (name: pkg: - if prev.lib.isDerivation pkg then - pkg.overrideAttrs (old: { doCheck = false; checkPhase = ""; }) - else pkg - ) pkgSet; - in { - php83 = prev.php83.overrideAttrs (old: rec { - version = "8.3.36"; - doCheck = false; - checkPhase = ""; - src = prev.fetchurl { - url = "https://www.php.net/distributions/php-${version}.tar.xz"; - sha256 = "1zcj2qxkmjc9aw81sv4al583fiy2haq9dvls5vbw9i9llcx6jm6x"; - }; - }); + lib = prev.lib; - php84 = prev.php84.overrideAttrs (old: rec { - version = "8.4.4"; - doCheck = false; - checkPhase = ""; - src = prev.fetchurl { - url = "https://www.php.net/distributions/php-${version}.tar.xz"; - sha256 = "1b41jr2v7ncdcjn6zjq21ig6v20inchv5jlyf6zdhkc9rjick9h5"; - }; - }); - - # Auch das Extension-Paketset zwingen, Tests wegzulassen - php83Packages = disablePhpTests prev.php83Packages; - php84Packages = disablePhpTests prev.php84Packages; - - php = final.php83; - }; + patchPhp = php: version: sha256: + (php.override { + packageOverrides = pfinal: pprev: { + extensions = pprev.extensions // (lib.mapAttrs + (name: ext: + if lib.isDerivation ext + then ext.overrideAttrs (_: { doCheck = false; }) + else ext) + pprev.extensions); + }; + }).overrideAttrs (old: { + inherit version; + doCheck = false; + src = prev.fetchurl { + url = "https://www.php.net/distributions/php-${version}.tar.xz"; + inherit sha256; + }; + }); + in { + php83 = patchPhp prev.php83 "8.3.36" + "1zcj2qxkmjc9aw81sv4al583fiy2haq9dvls5vbw9i9llcx6jm6x"; + php84 = patchPhp prev.php84 "8.4.4" + "1b41jr2v7ncdcjn6zjq21ig6v20inchv5jlyf6zdhkc9rjick9h5"; + php = final.php83; + }; }; outputsBuilder = channels: {