aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/shells.scm31
1 files changed, 19 insertions, 12 deletions
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index cc260d4820..d21a7a6943 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -112,19 +112,20 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
(define-public fish
(package
(name "fish")
- (version "3.1.2")
+ (version "3.2.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/fish-shell/fish-shell/"
"releases/download/" version "/"
- "fish-" version ".tar.gz"))
+ "fish-" version ".tar.xz"))
(sha256
- (base32 "1vblmb3x2k2cb0db5jdyflppnlqsm7i6jjaidyhmvaaw7ch2gffm"))
+ (base32 "02a0dgz5cy4iv3ysvl5kzzd4ji8pxqv93zd45041plcki0ddli2r"))
(modules '((guix build utils)))
(snippet
'(begin
- (delete-file-recursively "pcre2-10.32") #t))))
+ ;; Remove bundled software.
+ (delete-file-recursively "pcre2")))))
(build-system cmake-build-system)
(inputs
`(("fish-foreign-env" ,fish-foreign-env)
@@ -133,8 +134,8 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
("python" ,python))) ; for fish_config and manpage completions
(native-inputs
`(("doxygen" ,doxygen)
- ; for 'fish --help'
- ("groff" ,groff)))
+ ("groff" ,groff) ; for 'fish --help'
+ ("procps" ,procps))) ; for the test suite
(arguments
'(#:phases
(modify-phases %standard-phases
@@ -147,12 +148,15 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
(lambda* (#:key inputs #:allow-other-keys)
(let ((coreutils (assoc-ref inputs "coreutils"))
(bash (assoc-ref inputs "bash")))
- ;; This test fails
+ ;; This test fails.
(delete-file "tests/checks/pipeline-pgroup.fish")
- ;; These try to open a terminal
- (delete-file "tests/checks/interactive.fish")
- (delete-file "tests/checks/login-interactive.fish")
- ;; These contain absolute path references
+ ;; This one tries to open a terminal & can't simply be deleted.
+ (substitute* "cmake/Tests.cmake"
+ ((".* interactive\\.fish.*") ""))
+ ;; This one needs to chdir successfully.
+ (substitute* "tests/checks/vars_as_commands.fish"
+ (("/usr/bin") "/tmp"))
+ ;; These contain absolute path references.
(substitute* "src/fish_tests.cpp"
(("/bin/echo" echo) (string-append coreutils echo))
(("/bin/ca" ca) (string-append coreutils ca))
@@ -165,7 +169,10 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
(((string-append
"do_test\\(is_potential_path\\("
"L\"/usr\", wds, vars, PATH_REQUIRE_DIR\\)\\);"))
- ""))
+ "")
+ ;; Not all mentions of /usr... need to exist, but these do.
+ (("\"/usr(|/lib)\"" _ subdirectory)
+ (string-append "\"/tmp" subdirectory "\"")))
(substitute*
(append (find-files "tests" ".*\\.(in|out|err)$")
(find-files "tests/checks" ".*\\.fish"))