about summary refs log tree commit diff
diff options
context:
space:
mode:
authorElis Hirwing <elis@hirwing.se>2023-01-05 14:14:36 +0100
committerGitHub <noreply@github.com>2023-01-05 14:14:36 +0100
commitd6f6154cc705e1639ee3042e056c49a2a436f2c6 (patch)
tree709d9371ed75503ab48b6c091e83654409af6d79
parentc366c3dbc866f7049e85d9695b92d52ee2a67a7e (diff)
parent142ac0ba91bfb20873082957568dbd8a547e8aba (diff)
Merge pull request #180827 from drupol/php/update-script
php: Provide an update script.
-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 =