diff options
-rw-r--r-- | gnu/packages/shells.scm | 31 |
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")) |