mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-04-06 21:20:33 +02:00
gnu: fish: Update to 4.0.1.
* gnu/packages/shells.scm (fish): Update to 4.0.1. [inputs]: Use ‘cargo-inputs’. [native-inputs]: Add pkg-config, rust, rust:cargo. Add rust-sysroot when cross-compiling. [arguments]<#:out-of-source?>: Build in-tree. <#:imported-modules, #:modules>: Use cargo-build-system modules. <#:phases>: Use packaged rust-pcre2. Use phases from cargo-build-system. Adjust tests accordingly. * gnu/packages/rust-crates.scm (lookup-cargo-inputs)[fish]: New entry. Change-Id: I60e0a45f30db80a83041714036c09a84e4f23e0f
This commit is contained in:
@@ -2284,6 +2284,10 @@
|
||||
"0aw7diz39z3mk22k0mp7jk7qiaaagfvggzly1baqg2jf4vpf8xg7"
|
||||
#:snippet '(delete-file-recursively "assets")))
|
||||
|
||||
(define rust-lru-0.12.5
|
||||
(crate-source "lru" "0.12.5"
|
||||
"0f1a7cgqxbyhrmgaqqa11m3azwhcc36w0v5r4izgbhadl3sg8k13"))
|
||||
|
||||
(define rust-lz4-flex-0.10.0
|
||||
(crate-source "lz4_flex" "0.10.0"
|
||||
"10sgbj93sagbl0ngzqvnlkldzbfz5vnzr7fry8sgssy299cp534b"))
|
||||
@@ -2761,6 +2765,10 @@
|
||||
(crate-source "pathdiff" "0.2.3"
|
||||
"1lrqp4ip05df8dzldq6gb2c1sq2gs54gly8lcnv3rhav1qhwx56z"))
|
||||
|
||||
(define rust-pcre2-0.2.9.85b7afb rust-pcre2-utf32-0.2)
|
||||
|
||||
(define rust-pcre2-sys-0.2.9.85b7afb rust-pcre2-utf32-0.2)
|
||||
|
||||
(define rust-pem-3.0.5
|
||||
(crate-source "pem" "3.0.5"
|
||||
"1wwfk8sbyi9l18fvvn6z9p2gy7v7q7wimbhvrvixxj8a8zl3ibrq"))
|
||||
@@ -2799,6 +2807,10 @@
|
||||
(crate-source "phf_codegen" "0.10.0"
|
||||
"1k8kdad9wk2d5972k6jmjki2xpdy2ky4zd19rv7ybm2dpjlc7cag"))
|
||||
|
||||
(define rust-phf-codegen-0.11.3
|
||||
(crate-source "phf_codegen" "0.11.3"
|
||||
"0si1n6zr93kzjs3wah04ikw8z6npsr39jw4dam8yi9czg2609y5f"))
|
||||
|
||||
(define rust-phf-generator-0.10.0
|
||||
(crate-source "phf_generator" "0.10.0"
|
||||
"1mlq6hlajsvlsx6rhw49g9ricsm017lrxmgmmbk85sxm7f4qaljx"))
|
||||
@@ -3247,6 +3259,10 @@
|
||||
(crate-source "rpds" "1.1.0"
|
||||
"194hjbsicmgqi3dyllqrz09mmhh597m2j9l49lr16cyfscambqd0"))
|
||||
|
||||
(define rust-rsconf-0.2.2
|
||||
(crate-source "rsconf" "0.2.2"
|
||||
"1p5w6qiskg43f5qhsh6slpc3klmhhyf76xvmzkkh215gy5czhamx"))
|
||||
|
||||
(define rust-rstest-0.22.0
|
||||
(crate-source "rstest" "0.22.0"
|
||||
"0dlrn6y4z5xgsvf6ky3lrjwsxpvi13sizlkwnqs1gmmxc873yhkv"))
|
||||
@@ -3271,6 +3287,19 @@
|
||||
(crate-source "rusqlite" "0.32.1"
|
||||
"0vlx040bppl414pbjgbp7qr4jdxwszi9krx0m63zzf2f2whvflvp"))
|
||||
|
||||
(define rust-rust-embed-8.6.0
|
||||
(crate-source "rust-embed" "8.6.0"
|
||||
"0vxz02gqj9d65ym7ygbnwwrbgzh88zjqs2b1zk4vabb20i8vlfhb"
|
||||
#:snippet '(delete-file-recursively "examples")))
|
||||
|
||||
(define rust-rust-embed-impl-8.6.0
|
||||
(crate-source "rust-embed-impl" "8.6.0"
|
||||
"1bms1vmb9z8rcwrjdk1rzmb3wi08mmh7jbz1m1d2r384prrqq68z"))
|
||||
|
||||
(define rust-rust-embed-utils-8.6.0
|
||||
(crate-source "rust-embed-utils" "8.6.0"
|
||||
"16mxa8asv0aq04fnbz1748rrzl8sc7frmjj2529c538cyk4wsbss"))
|
||||
|
||||
(define rust-rustc-demangle-0.1.24
|
||||
(crate-source "rustc-demangle" "0.1.24"
|
||||
"07zysaafgrkzy2rjgwqdj2a8qdpsm6zv6f5pgpk9x0lm40z9b6vi"))
|
||||
@@ -3468,6 +3497,10 @@
|
||||
(crate-source "serial_test" "0.5.1"
|
||||
"0pchc7imdi9wv8xxnwkb9lzs6cg06ghs0gaajjb834y8837wpg70"))
|
||||
|
||||
(define rust-serial-test-1.0.0
|
||||
(crate-source "serial_test" "1.0.0"
|
||||
"04864v5ain4nan2k5l32sr3bxpg0sfxxs2iki3xxcq78g9s3132k"))
|
||||
|
||||
(define rust-serial-test-2.0.0
|
||||
(crate-source "serial_test" "2.0.0"
|
||||
"0b9v0csv9wxl1gcjq99plwimxbmhgr6kzbwqyb457qh3d22xsmhf"))
|
||||
@@ -3476,6 +3509,10 @@
|
||||
(crate-source "serial_test_derive" "0.5.1"
|
||||
"1m8sd97xr8dn6p9by0xwfqm0rz8cbn1ghs5l1fv1xd6xzvgddb5j"))
|
||||
|
||||
(define rust-serial-test-derive-1.0.0
|
||||
(crate-source "serial_test_derive" "1.0.0"
|
||||
"0scscldvlz3an9v0spcizaqp5wa2y4w15bk4ink8jpgq2pgq76h7"))
|
||||
|
||||
(define rust-serial-test-derive-2.0.0
|
||||
(crate-source "serial_test_derive" "2.0.0"
|
||||
"13zvd5ds76hhjn3z0axc05n15lzpxpz77jcykic8q5knhlbjklci"))
|
||||
@@ -3741,6 +3778,11 @@
|
||||
(crate-source "terminal_size" "0.4.2"
|
||||
"1vdm5xhzn7sqcsr762vmnavkhid3hs8w8qjyh9iwrr1990f4iij5"))
|
||||
|
||||
(define rust-terminfo-0.9.0
|
||||
(crate-source "terminfo" "0.9.0"
|
||||
"0qp6rrzkxcg08vjzsim2bw7mid3vi29mizrg70dzbycj0q7q3snl"
|
||||
#:snippet '(delete-file-recursively "tests")))
|
||||
|
||||
(define rust-termtree-0.5.1
|
||||
(crate-source "termtree" "0.5.1"
|
||||
"10s610ax6nb70yi7xfmwcb6d3wi9sj5isd0m63gy2pizr2zgwl4g"))
|
||||
@@ -4174,6 +4216,10 @@
|
||||
(crate-source "wide" "0.7.32"
|
||||
"08mb6iqdscqiqrbfkjrnfr876ah4cc0cx5pjilz3yqw1k9mmgda1"))
|
||||
|
||||
(define rust-widestring-1.2.0
|
||||
(crate-source "widestring" "1.2.0"
|
||||
"0zg04qvpk2xysbbwhdgyilgn4p9igvyj9fhzl7pckam1khvz6z6x"))
|
||||
|
||||
(define rust-wild-2.2.1
|
||||
(crate-source "wild" "2.2.1"
|
||||
"1q8hnhmv3fvgx0j7bv8qig00599a15mfsdhgx3hq2ljpiky1l4x3"))
|
||||
@@ -5079,6 +5125,87 @@
|
||||
rust-windows-x86-64-gnullvm-0.52.6
|
||||
rust-windows-x86-64-msvc-0.52.6
|
||||
rust-winnow-0.7.4))
|
||||
(fish =>
|
||||
(list rust-allocator-api2-0.2.21
|
||||
rust-autocfg-1.4.0
|
||||
rust-bitflags-2.9.0
|
||||
rust-block-buffer-0.10.4
|
||||
rust-cc-1.2.18
|
||||
rust-cfg-if-1.0.0
|
||||
rust-cfg-aliases-0.2.1
|
||||
rust-cpufeatures-0.2.17
|
||||
rust-crypto-common-0.1.6
|
||||
rust-dashmap-5.5.3
|
||||
rust-digest-0.10.7
|
||||
rust-equivalent-1.0.2
|
||||
rust-errno-0.3.11
|
||||
rust-fnv-1.0.7
|
||||
rust-foldhash-0.1.5
|
||||
rust-generic-array-0.14.7
|
||||
rust-getrandom-0.3.2
|
||||
rust-hashbrown-0.14.5
|
||||
rust-hashbrown-0.15.2
|
||||
rust-jobserver-0.1.33
|
||||
rust-lazy-static-1.5.0
|
||||
rust-libc-0.2.171
|
||||
rust-lock-api-0.4.12
|
||||
rust-log-0.4.27
|
||||
rust-lru-0.12.5
|
||||
rust-memchr-2.7.4
|
||||
rust-minimal-lexical-0.2.1
|
||||
rust-nix-0.29.0
|
||||
rust-nom-7.1.3
|
||||
rust-num-traits-0.2.19
|
||||
rust-once-cell-1.21.3
|
||||
rust-parking-lot-0.12.3
|
||||
rust-parking-lot-core-0.9.10
|
||||
rust-pcre2-0.2.9.85b7afb
|
||||
rust-pcre2-sys-0.2.9.85b7afb
|
||||
rust-phf-0.11.3
|
||||
rust-phf-codegen-0.11.3
|
||||
rust-phf-generator-0.11.3
|
||||
rust-phf-shared-0.11.3
|
||||
rust-pkg-config-0.3.32
|
||||
rust-portable-atomic-1.11.0
|
||||
rust-proc-macro2-1.0.94
|
||||
rust-quote-1.0.40
|
||||
rust-r-efi-5.2.0
|
||||
rust-rand-0.8.5
|
||||
rust-rand-core-0.6.4
|
||||
rust-redox-syscall-0.5.11
|
||||
rust-rsconf-0.2.2
|
||||
rust-rust-embed-8.6.0
|
||||
rust-rust-embed-impl-8.6.0
|
||||
rust-rust-embed-utils-8.6.0
|
||||
rust-same-file-1.0.6
|
||||
rust-scopeguard-1.2.0
|
||||
rust-serial-test-1.0.0
|
||||
rust-serial-test-derive-1.0.0
|
||||
rust-sha2-0.10.8
|
||||
rust-shlex-1.3.0
|
||||
rust-siphasher-1.0.1
|
||||
rust-smallvec-1.15.0
|
||||
rust-syn-1.0.109
|
||||
rust-syn-2.0.100
|
||||
rust-terminfo-0.9.0
|
||||
rust-typenum-1.18.0
|
||||
rust-unicode-ident-1.0.18
|
||||
rust-version-check-0.9.5
|
||||
rust-walkdir-2.5.0
|
||||
rust-wasi-0.14.2+wasi-0.2.4
|
||||
rust-widestring-1.2.0
|
||||
rust-winapi-util-0.1.9
|
||||
rust-windows-sys-0.59.0
|
||||
rust-windows-targets-0.52.6
|
||||
rust-windows-aarch64-gnullvm-0.52.6
|
||||
rust-windows-aarch64-msvc-0.52.6
|
||||
rust-windows-i686-gnu-0.52.6
|
||||
rust-windows-i686-gnullvm-0.52.6
|
||||
rust-windows-i686-msvc-0.52.6
|
||||
rust-windows-x86-64-gnu-0.52.6
|
||||
rust-windows-x86-64-gnullvm-0.52.6
|
||||
rust-windows-x86-64-msvc-0.52.6
|
||||
rust-wit-bindgen-rt-0.39.0))
|
||||
(librsvg =>
|
||||
(list rust-adler2-2.0.0
|
||||
rust-aho-corasick-1.1.3
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages curl)
|
||||
@@ -69,12 +70,14 @@
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages rust)
|
||||
#:use-module (gnu packages scheme)
|
||||
#:use-module (gnu packages terminals)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (guix build-system cargo)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
@@ -126,7 +129,7 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
|
||||
(define-public fish
|
||||
(package
|
||||
(name "fish")
|
||||
(version "3.7.1")
|
||||
(version "4.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -134,30 +137,66 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
|
||||
"releases/download/" version "/"
|
||||
"fish-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0l5jlg0vplqln7ijqwirp1xl4j9npimzm58k77grj1yd8db9yk31"))))
|
||||
(base32 "1db2qxlls9f8n6sjcj4dz7j22113nhfz5i8zy9ff30vj41q3mmjf"))
|
||||
;; TODO: Unbundle corrosion.
|
||||
(patches (search-patches "corrosion-honor-CARGO_BUILD_TARGET.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
(list fish-foreign-env ncurses pcre2
|
||||
python)) ; for fish_config and manpage completions
|
||||
(cons* fish-foreign-env
|
||||
ncurses
|
||||
pcre2
|
||||
python ;for fish_config and manpage completions
|
||||
(cargo-inputs 'fish)))
|
||||
(native-inputs
|
||||
(list doxygen groff ; for 'fish --help'
|
||||
procps)) ; for the test suite
|
||||
(append
|
||||
(list doxygen
|
||||
groff ;for 'fish --help'
|
||||
pkg-config
|
||||
procps ;for the test suite
|
||||
rust
|
||||
`(,rust "cargo"))
|
||||
(or (and=> (%current-target-system)
|
||||
(compose list make-rust-sysroot))
|
||||
'())))
|
||||
(arguments
|
||||
(list
|
||||
#:modules '((guix build cmake-build-system)
|
||||
((guix build gnu-build-system) #:prefix gnu:)
|
||||
(guix build utils))
|
||||
#:out-of-source? #f
|
||||
#:imported-modules
|
||||
(append %cargo-build-system-modules
|
||||
%cmake-build-system-modules)
|
||||
#:modules
|
||||
'(((guix build cargo-build-system) #:prefix cargo:)
|
||||
(guix build cmake-build-system)
|
||||
((guix build gnu-build-system) #:prefix gnu:)
|
||||
(guix build utils))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'use-guix-vendored-dependencies
|
||||
(lambda _
|
||||
(substitute* "Cargo.toml"
|
||||
(("git.*tag.*,")
|
||||
"version = \"*\","))))
|
||||
(add-after 'unpack 'prepare-cargo-build-system
|
||||
(lambda args
|
||||
(for-each
|
||||
(lambda (phase)
|
||||
(format #t "Running cargo phase: ~a~%" phase)
|
||||
(apply (assoc-ref cargo:%standard-phases phase)
|
||||
#:cargo-target #$(cargo-triplet)
|
||||
args))
|
||||
'(unpack-rust-crates
|
||||
configure
|
||||
check-for-pregenerated-files
|
||||
patch-cargo-checksums))))
|
||||
(add-after 'unpack 'set-env
|
||||
(lambda _
|
||||
;; some tests write to $HOME
|
||||
(setenv "HOME" (getcwd))
|
||||
#t))
|
||||
(add-after 'unpack 'patch-tests
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((coreutils (assoc-ref inputs "coreutils"))
|
||||
(bash (assoc-ref inputs "bash")))
|
||||
(lambda* (#:key inputs native-inputs #:allow-other-keys)
|
||||
(let ((coreutils (assoc-ref (or native-inputs inputs) "coreutils"))
|
||||
(bash (assoc-ref (or native-inputs inputs) "bash")))
|
||||
;; This test sporadically fails in the build container
|
||||
;; because of leftover zombie processes, which are not
|
||||
;; reaped automatically:
|
||||
@@ -173,7 +212,8 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
|
||||
(substitute* "tests/checks/vars_as_commands.fish"
|
||||
(("/usr/bin") "/tmp"))
|
||||
;; These contain absolute path references.
|
||||
(substitute* "src/fish_tests.cpp"
|
||||
(substitute* '("src/builtins/tests/test_tests.rs"
|
||||
"src/tests/highlight.rs")
|
||||
(("/bin/echo" echo) (string-append coreutils echo))
|
||||
(("/bin/ca" ca) (string-append coreutils ca))
|
||||
(("\"(/bin/c)\"" _ c) (string-append "\"" coreutils c "\""))
|
||||
@@ -181,24 +221,16 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
|
||||
(string-append coreutils ls-not-a-path))
|
||||
(("/bin/ls" ls) (string-append coreutils ls))
|
||||
(("(/bin/)\"" _ bin) (string-append coreutils bin "\""))
|
||||
(("/bin -" bin) (string-append coreutils bin))
|
||||
(((string-append
|
||||
"do_test\\(is_potential_path\\("
|
||||
"L\"/usr\", wds, vars, PATH_REQUIRE_DIR\\)\\);"))
|
||||
"")
|
||||
(("/bin\", \"-" bin) (string-append coreutils bin))
|
||||
;; 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"))
|
||||
(substitute* (find-files "tests")
|
||||
(("/bin/pwd" pwd) (string-append coreutils pwd))
|
||||
(("/bin/echo" echo) (string-append coreutils echo))
|
||||
(("/bin/sh" sh) (string-append bash sh))
|
||||
(("/bin/ls" ls) (string-append coreutils ls)))
|
||||
(substitute* (find-files "tests" ".*\\.(in|out|err)$")
|
||||
(("/usr/bin") (string-append coreutils "/bin")))
|
||||
#t)))
|
||||
(("/bin/ls" ls) (string-append coreutils ls))
|
||||
(("/test/root/bin") "")))))
|
||||
;; Source /etc/fish/config.fish from $__fish_sysconf_dir/config.fish.
|
||||
(add-after 'patch-tests 'patch-fish-config
|
||||
(lambda _
|
||||
@@ -215,10 +247,9 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
|
||||
#t))
|
||||
;; Embed absolute paths.
|
||||
(add-before 'install 'embed-absolute-paths
|
||||
(lambda _
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "share/functions/__fish_print_help.fish"
|
||||
(("nroff") (which "nroff")))
|
||||
#t))
|
||||
(("nroff") (search-input-file inputs "bin/nroff")))))
|
||||
;; Enable completions, functions and configurations in user's and
|
||||
;; system's guix profiles by adding them to __extra_* variables.
|
||||
(add-before 'install 'patch-fish-extra-paths
|
||||
|
||||
Reference in New Issue
Block a user