diff --git a/pkgs/by-name/st/styx-cli/package.nix b/pkgs/by-name/st/styx-cli/package.nix new file mode 100644 index 000000000000..495714be7e3f --- /dev/null +++ b/pkgs/by-name/st/styx-cli/package.nix @@ -0,0 +1,58 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, + nix-update-script, + versionCheckHook, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "styx-cli"; + version = "1.0.1"; + + src = fetchFromGitHub { + owner = "bearcove"; + repo = "styx"; + tag = "styx-cli-v${finalAttrs.version}"; + hash = "sha256-1XS1voPdqr2GJSsOdm93alknS5vwdoFi1WF9bzMCf0o="; + }; + + cargoHash = "sha256-7eqw0Qjj2VV2KYGSOVoLl8nyuMCTMpLte2lVL7MQPpI="; + + cargoBuildFlags = [ + "--package" + "styx-cli" + ]; + + checkFlags = [ + # These tests don't like nix's build environment + "--skip=error::tests::test_missing_field_diagnostic" + "--skip=error::tests::test_unknown_field_diagnostic" + "--skip=error::tests::test_ariadne_config_respects_no_color_env" + "--skip=error::tests::test_invalid_scalar_diagnostic" + ]; + + doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + + passthru.updateScript = nix-update-script { + extraArgs = [ + "--use-github-releases" + "--version-regex" + "styx-cli-v(.*)" + ]; + }; + + meta = { + changelog = "https://github.com/bearcove/styx/releases/tag/styx-cli-v${finalAttrs.version}"; + description = "Document language for mortals"; + downloadPage = "https://github.com/bearcove/styx"; + homepage = "https://styx.bearcove.eu/"; + license = with lib.licenses; [ + asl20 + mit + ]; + maintainers = [ lib.maintainers.pyrox0 ]; + mainProgram = "styx"; + }; +})