summary refs log tree commit diff
path: root/pkgs/shells/fish
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/shells/fish')
-rw-r--r--pkgs/shells/fish/plugins/default.nix3
-rw-r--r--pkgs/shells/fish/plugins/fishtape_3.nix25
2 files changed, 28 insertions, 0 deletions
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 ];
+  };
+}