about summary refs log tree commit diff
path: root/pkgs/by-name/ju
diff options
context:
space:
mode:
authorAdam C. Stephens <2071575+adamcstephens@users.noreply.github.com>2024-06-07 09:36:22 -0400
committerGitHub <noreply@github.com>2024-06-07 09:36:22 -0400
commit7f8967c1f90f5af307f85e25e692cdd0af5f96ce (patch)
tree4f2f37f2b26c032fd6a803e20826df6e30c195e5 /pkgs/by-name/ju
parentde986200b9cb45d2210d7b760ec31a317d20933c (diff)
parent669bc7294960d973f43dfee3e200ca06186aee29 (diff)
Merge pull request #316156 from vlaci/just-127
Just: 1.26.0 -> 1.28.0
Diffstat (limited to 'pkgs/by-name/ju')
-rw-r--r--pkgs/by-name/ju/just/fix-just-path-in-tests.patch20
-rw-r--r--pkgs/by-name/ju/just/package.nix31
2 files changed, 45 insertions, 6 deletions
diff --git a/pkgs/by-name/ju/just/fix-just-path-in-tests.patch b/pkgs/by-name/ju/just/fix-just-path-in-tests.patch
new file mode 100644
index 0000000000000..63587ebc698aa
--- /dev/null
+++ b/pkgs/by-name/ju/just/fix-just-path-in-tests.patch
@@ -0,0 +1,20 @@
+diff --git a/tests/completions/just.bash b/tests/completions/just.bash
+index 6d5c12c..13bff87 100755
+--- a/tests/completions/just.bash
++++ b/tests/completions/just.bash
+@@ -17,11 +17,13 @@ reply_equals() {
+   fi
+ }
+ 
++just() {
++  cargo run -- "$@"
++}
++
+ # --- Initial Setup ---
+ source "$1"
+ cd tests/completions
+-cargo build
+-PATH="$(git rev-parse --show-toplevel)/target/debug:$PATH"
+ exit_code=0
+ 
+ # --- Tests ---
diff --git a/pkgs/by-name/ju/just/package.nix b/pkgs/by-name/ju/just/package.nix
index d635d1271a2ea..c598c2d1ed5ac 100644
--- a/pkgs/by-name/ju/just/package.nix
+++ b/pkgs/by-name/ju/just/package.nix
@@ -2,6 +2,7 @@
 , stdenv
 , fetchFromGitHub
 , rustPlatform
+, bashInteractive
 , coreutils
 , installShellFiles
 , libiconv
@@ -11,17 +12,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "just";
-  version = "1.26.0";
+  version = "1.28.0";
   outputs = [ "out" "man" "doc" ];
 
   src = fetchFromGitHub {
     owner = "casey";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-jPVvKxTHTOFkjpTsnjy9/IxQtHLgv1fInKA6knKUmu8=";
+    hash = "sha256-GdDpFY9xdjA60zr+i5O9wBWF682tvi4N/pxEob5tYoA=";
   };
 
-  cargoHash = "sha256-ssZ5JxOd0XVs4hsvnSz1IvtKE7ftEKX3nN2B8SsMesw=";
+  cargoHash = "sha256-Cvl4EY57TanJK1XGVahPHGtuEAIR44qwGEPDkXfgw5I=";
 
   nativeBuildInputs = [ installShellFiles mdbook ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
@@ -42,11 +43,27 @@ rustPlatform.buildRustPackage rec {
 
     # Return unchanged string.rs
     cp $TMPDIR/string.rs tests/string.rs
+
+    # For shell completion tests
+    export PATH=${bashInteractive}/bin:$PATH
+    patchShebangs tests
   '';
 
+  patches = [
+    ./fix-just-path-in-tests.patch
+  ];
+
   postBuild = ''
     cargo run --package generate-book
 
+    mkdir -p completions man
+
+    cargo run -- --man > man/just.1
+
+    for shell in bash fish zsh; do
+        cargo run -- --completions $shell > completions/just.$shell
+    done
+
     # No linkcheck in sandbox
     echo 'optional = true' >> book/en/book.toml
     mdbook build book/en
@@ -54,10 +71,12 @@ rustPlatform.buildRustPackage rec {
   '';
 
   checkFlags = [
-    "--skip=edit" # trying to run "vim" fails as there's no /usr/bin/env or which in the sandbox to find vim and the dependency is not easily patched
-    "--skip=run_shebang" # test case very rarely fails with "Text file busy"
-    "--skip=invoke_error_function" # wants JUST_CHOOSER to be fzf
+    "--skip=backticks::trailing_newlines_are_stripped" # Wants to use python3 as alternate shell
+    "--skip=choose::invoke_error_function" # wants JUST_CHOOSER to be fzf
     "--skip=choose::default" # symlinks cat->fzf which fails as coreutils doesn't understand name
+    "--skip=config::tests::show_arguments" # interferes with JUST_CHOOSER being set
+    "--skip=edit::editor_precedence" # trying to run "vim" fails as there's no /usr/bin/env or which in the sandbox to find vim and the dependency is not easily patched
+    "--skip=shebang::run_shebang" # test case very rarely fails with "Text file busy"
   ];
 
   postInstall = ''