blob: 64b9168fee4811ed2988f9f7b6219172835b7aa4 (
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
43
44
45
46
47
48
49
50
51
|
{ stdenv, fetchurl, makeWrapper, writeShellScript, lib, php, curl, jq, common-updater-scripts }:
let
pname = "platformsh";
version = "3.79.2";
in
stdenv.mkDerivation {
inherit pname version;
src = fetchurl {
url = "https://github.com/platformsh/platformsh-cli/releases/download/v${version}/platform.phar";
sha256 = "sha256-STGMKWgI4C6ccg8DGUhdnEENOB2//gtpU0ljM4cQCXI=";
};
dontUnpack = true;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
install -D $src $out/libexec/platformsh/platform.phar
makeWrapper ${php}/bin/php $out/bin/platform \
--add-flags "$out/libexec/platformsh/platform.phar"
runHook postInstall
'';
passthru = {
updateScript = writeShellScript "update-${pname}" ''
set -o errexit
export PATH="${lib.makeBinPath [ curl jq common-updater-scripts ]}"
NEW_VERSION=$(curl -s https://api.github.com/repos/platformsh/platformsh-cli/releases/latest | jq .tag_name --raw-output)
if [[ "v${version}" = "$NEW_VERSION" ]]; then
echo "The new version same as the old version."
exit 0
fi
update-source-version "platformsh" "$NEW_VERSION"
'';
};
meta = with lib; {
description = "The unified tool for managing your Platform.sh services from the command line.";
homepage = "https://github.com/platformsh/platformsh-cli";
license = licenses.mit;
maintainers = with maintainers; [ shyim ];
mainProgram = "platform";
platforms = platforms.all;
};
}
|