diff --git a/pkgs/misc/platformsh/default.nix b/pkgs/misc/platformsh/default.nix new file mode 100644 index 000000000000..e2bb1f3367a9 --- /dev/null +++ b/pkgs/misc/platformsh/default.nix @@ -0,0 +1,50 @@ +{ stdenv, fetchurl, makeWrapper, writeShellScript, lib, php, curl, jq, common-updater-scripts }: + +let + pname = "platformsh"; + version = "v3.78.0"; +in +stdenv.mkDerivation { + inherit pname version; + + src = fetchurl { + url = "https://github.com/platformsh/platformsh-cli/releases/download/${version}/platform.phar"; + sha256 = "sha256-2EasMsZIwplkl1S5PH0Y3gRymAIdpiFgVc3pNPiFg1o="; + }; + + 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 [[ "${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."; + license = licenses.mit; + homepage = "https://github.com/platformsh/platformsh-cli"; + maintainers = with maintainers; [ shyim ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c93ca619777d..9d9d1b0802e7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2337,6 +2337,8 @@ with pkgs; passExtensions = recurseIntoAttrs pass.extensions; + platformsh = callPackage ../misc/platformsh { }; + inherd-quake = callPackage ../applications/misc/inherd-quake { inherit (darwin.apple_sdk.frameworks) CoreServices Security; };