about summary refs log tree commit diff
path: root/nixpkgs/pkgs/by-name/pl/platformsh/package.nix
blob: 5d9e6dc2d2f496e2e2f50844d9b19dfd818e3a93 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
{ common-updater-scripts, curl, fetchFromGitHub, jq, lib, php, writeShellScript }:

php.buildComposerProject (finalAttrs: {
  pname = "platformsh";
  version = "4.11.4";

  src = fetchFromGitHub {
    owner = "platformsh";
    repo = "legacy-cli";
    rev = "v${finalAttrs.version}";
    hash = "sha256-4Fo4vmTEo0rSJNtoGz/mRv5dRCMq5vJmnwAxsvfs9qo=";
  };

  vendorHash = "sha256-MuZKa4lKvfls85cYjOTHHd6lKVVS0QJD6Pdn7csSzUo=";

  prePatch = ''
    substituteInPlace config-defaults.yaml \
      --replace "@version-placeholder@" "${finalAttrs.version}"
  '';

  passthru.updateScript = writeShellScript "update-${finalAttrs.pname}" ''
    set -o errexit
    export PATH="${lib.makeBinPath [ curl jq common-updater-scripts ]}"
    NEW_VERSION=$(curl -s https://api.github.com/repos/platformsh/legacy-cli/releases/latest | jq .tag_name --raw-output)

    if [[ "v${finalAttrs.version}" = "$NEW_VERSION" ]]; then
      echo "The new version same as the old version."
      exit 0
    fi

    update-source-version "platformsh" "$NEW_VERSION"
  '';

  meta = {
    description = "The unified tool for managing your Platform.sh services from the command line.";
    homepage = "https://github.com/platformsh/legacy-cli";
    license = lib.licenses.mit;
    mainProgram = "platform";
    maintainers = with lib.maintainers; [ shyim ];
    platforms = lib.platforms.all;
  };
})