diff --git a/pkgs/shells/fish/plugins/default.nix b/pkgs/shells/fish/plugins/default.nix index 9d7043c9792..a61329dc4a7 100644 --- a/pkgs/shells/fish/plugins/default.nix +++ b/pkgs/shells/fish/plugins/default.nix @@ -6,7 +6,10 @@ lib.makeScope newScope (self: with self; { clownfish = callPackage ./clownfish.nix { }; + # Fishtape 2.x and 3.x aren't compatible, + # but both versions are used in the tests of different other plugins. fishtape = callPackage ./fishtape.nix { }; + fishtape_3 = callPackage ./fishtape_3.nix { }; foreign-env = callPackage ./foreign-env { }; diff --git a/pkgs/shells/fish/plugins/fishtape_3.nix b/pkgs/shells/fish/plugins/fishtape_3.nix new file mode 100644 index 00000000000..893e6d65ffb --- /dev/null +++ b/pkgs/shells/fish/plugins/fishtape_3.nix @@ -0,0 +1,25 @@ +{ lib, buildFishPlugin, fetchFromGitHub }: + +buildFishPlugin rec { + pname = "fishtape"; + version = "3.0.1"; + + src = fetchFromGitHub { + owner = "jorgebucaran"; + repo = "fishtape"; + rev = version; + sha256 = "072a3qbk1lpxw53bxp91drsffylx8fbywhss3x0jbnayn9m8i7aa"; + }; + + checkFunctionDirs = [ "./functions" ]; # fishtape is introspective + checkPhase = '' + fishtape tests/*.fish + ''; + + meta = with lib; { + description = "100% pure-Fish test runner"; + homepage = "https://github.com/jorgebucaran/fishtape"; + license = licenses.mit; + maintainers = with maintainers; [ pacien ]; + }; +}