summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorHilton Chain <hako@ultrarare.space>2025-03-04 15:58:36 +0800
committerHilton Chain <hako@ultrarare.space>2025-08-21 19:08:26 +0800
commit8aebc51fdba3ef460d8cac3679517e17d31a4d21 (patch)
tree5122e45644c83363c9853de5fa30bab96b2f41e0 /gnu/packages
parent7d32aa5a97c3f7430b4fcbc3f3ce30e9188a21bb (diff)
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
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/rust-crates.scm127
-rw-r--r--gnu/packages/shells.scm87
2 files changed, 186 insertions, 28 deletions
diff --git a/gnu/packages/rust-crates.scm b/gnu/packages/rust-crates.scm
index 84615bf454b..e187075417b 100644
--- a/gnu/packages/rust-crates.scm
+++ b/gnu/packages/rust-crates.scm
@@ -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
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index ea95b11e007..267b5736425 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -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