diff --git a/pkgs/tools/text/crowdin-cli/default.nix b/pkgs/tools/text/crowdin-cli/default.nix new file mode 100644 index 000000000000..6bd10614e9a1 --- /dev/null +++ b/pkgs/tools/text/crowdin-cli/default.nix @@ -0,0 +1,45 @@ +{ lib +, stdenv +, fetchurl +, gawk +, git +, gnugrep +, installShellFiles +, jre +, makeWrapper +, unzip +}: + +stdenv.mkDerivation rec { + pname = "crowdin-cli"; + version = "3.6.4"; + + src = fetchurl { + url = "https://github.com/crowdin/${pname}/releases/download/${version}/${pname}.zip"; + sha256 = "123mv0s1jppidmwsvr8a6f8429xmpskxmnv4p8jpnfa9zrw86aaw"; + }; + + nativeBuildInputs = [ installShellFiles makeWrapper unzip ]; + + installPhase = '' + runHook preInstall + + install -D crowdin-cli.jar $out/lib/crowdin-cli.jar + + installShellCompletion --cmd crowdin --bash ./crowdin_completion + + makeWrapper ${jre}/bin/java $out/bin/crowdin \ + --argv0 crowdin \ + --add-flags "-jar $out/lib/crowdin-cli.jar" \ + --prefix PATH : ${lib.makeBinPath [ gawk gnugrep git ]} + + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://github.com/crowdin/crowdin-cli/"; + description = "A command-line client for the Crowdin API"; + license = licenses.mit; + maintainers = with maintainers; [ DamienCassou ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7bcce0f3053d..3100da93b2ec 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13883,6 +13883,8 @@ with pkgs; gtkdialog = callPackage ../development/tools/misc/gtkdialog { }; + crowdin-cli = callPackage ../tools/text/crowdin-cli { }; + gtranslator = callPackage ../tools/text/gtranslator { }; guff = callPackage ../tools/graphics/guff { };