diff --git a/pkgs/by-name/xc/xc/example.md b/pkgs/by-name/xc/xc/example.md new file mode 100644 index 000000000000..1d7bf507bd85 --- /dev/null +++ b/pkgs/by-name/xc/xc/example.md @@ -0,0 +1,9 @@ +# Tasks + +## example + +Tests if xc works + +```sh +touch ./test +``` diff --git a/pkgs/by-name/xc/xc/package.nix b/pkgs/by-name/xc/xc/package.nix index 95ee1c8f1e3a..e369418dc05f 100644 --- a/pkgs/by-name/xc/xc/package.nix +++ b/pkgs/by-name/xc/xc/package.nix @@ -2,17 +2,19 @@ lib, buildGoModule, fetchFromGitHub, + gitUpdater, + versionCheckHook, }: buildGoModule rec { pname = "xc"; - version = "0.8.0"; + version = "0.8.5"; src = fetchFromGitHub { owner = "joerdav"; repo = pname; - rev = "v${version}"; - sha256 = "sha256-vTyCS85xbJnAgbasWD6LFxij9EezzlJ1pyvCJptqmOU="; + tag = "v${version}"; + sha256 = "sha256-eaFHK7VsfLSgSJehv4urxq8qMPT+zzs2tRypz4q+MLc="; }; vendorHash = "sha256-EbIuktQ2rExa2DawyCamTrKRC1yXXMleRB8/pcKFY5c="; @@ -23,13 +25,26 @@ buildGoModule rec { "-X=main.version=${version}" ]; - meta = with lib; { + nativeInstallCheckInputs = [ versionCheckHook ]; + doInstallCheck = true; + postInstallCheck = '' + cp ${./example.md} example.md + $out/bin/xc -file ./example.md example + if ! [[ -f test ]] then + echo "example.md didn't do anything" >&2 + return 1 + fi + ''; + + passthru.updateScript = gitUpdater { rev-prefix = "v"; }; + + meta = { description = "Markdown defined task runner"; mainProgram = "xc"; homepage = "https://xcfile.dev/"; - changelog = "https://github.com/joerdav/xc/releases/tag/${src.rev}"; - license = licenses.mit; - maintainers = with maintainers; [ + changelog = "https://github.com/joerdav/xc/releases/tag/${src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ figsoda joerdav ];