diff --git a/pkgs/shells/fish/plugins/default.nix b/pkgs/shells/fish/plugins/default.nix index 95bf6504bbe..b6b5abb485d 100644 --- a/pkgs/shells/fish/plugins/default.nix +++ b/pkgs/shells/fish/plugins/default.nix @@ -4,4 +4,6 @@ lib.makeScope newScope (self: with self; { buildFishPlugin = callPackage ./build-fish-plugin.nix { }; + fishtape = callPackage ./fishtape.nix { }; + }) diff --git a/pkgs/shells/fish/plugins/fishtape.nix b/pkgs/shells/fish/plugins/fishtape.nix new file mode 100644 index 00000000000..326ff61c417 --- /dev/null +++ b/pkgs/shells/fish/plugins/fishtape.nix @@ -0,0 +1,32 @@ +{ lib, buildFishPlugin, fetchFromGitHub }: + +buildFishPlugin rec { + pname = "fishtape"; + version = "2.1.3"; + + src = fetchFromGitHub { + owner = "jorgebucaran"; + repo = "fishtape"; + rev = version; + sha256 = "0dxcyhs2shhgy5xnwcimqja8vqsyk841x486lgq13i3y1h0kp2kd"; + }; + + checkFunctionPath = [ "./" ]; # fishtape is introspective + checkPhase = '' + rm test/tty.fish # test expects a tty + fishtape test/*.fish + ''; + + preInstall = '' + # move the function script in the proper sub-directory + mkdir functions + mv fishtape.fish functions/ + ''; + + meta = { + description = "TAP-based test runner for Fish"; + homepage = "https://github.com/jorgebucaran/fishtape"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ pacien ]; + }; +}