about summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorPol Dellaiera <pol.dellaiera@protonmail.com>2022-12-31 14:33:19 +0100
committerPol Dellaiera <pol.dellaiera@protonmail.com>2023-01-05 13:42:31 +0100
commit142ac0ba91bfb20873082957568dbd8a547e8aba (patch)
tree10cdb939df524c028d4bb876d522551558f7bbf5 /pkgs/development
parentaf0b453724a59bc8fa90fa1dfad30896cc3df529 (diff)
php: add `updateScript`
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/interpreters/php/generic.nix17
1 files changed, 17 insertions, 0 deletions
diff --git a/pkgs/development/interpreters/php/generic.nix b/pkgs/development/interpreters/php/generic.nix
index 96ba56e00b92b..5a363822bcaec 100644
--- a/pkgs/development/interpreters/php/generic.nix
+++ b/pkgs/development/interpreters/php/generic.nix
@@ -27,6 +27,10 @@ let
     , system-sendmail
     , valgrind
     , xcbuild
+    , writeShellScript
+    , common-updater-scripts
+    , curl
+    , jq
 
     , version
     , hash
@@ -300,6 +304,19 @@ let
           outputs = [ "out" "dev" ];
 
           passthru = {
+            updateScript =
+              let
+                script = writeShellScript "php${lib.versions.major version}${lib.versions.minor version}-update-script" ''
+                  set -o errexit
+                  PATH=${lib.makeBinPath [ common-updater-scripts curl jq ]}
+                  new_version=$(curl --silent "https://www.php.net/releases/active" | jq --raw-output '."${lib.versions.major version}"."${lib.versions.majorMinor version}".version')
+                  update-source-version "$UPDATE_NIX_ATTR_PATH.unwrapped" "$new_version" "--file=$1"
+                '';
+              in [
+                script
+                # Passed as an argument so that update.nix can ensure it does not become a store path.
+                (./. + "/${lib.versions.majorMinor version}.nix")
+              ];
             buildEnv = mkBuildEnv { } [ ];
             withExtensions = mkWithExtensions { } [ ];
             overrideAttrs =