summaryrefslogtreecommitdiff
path: root/gnu/packages/terminals.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2024-01-04 11:58:07 +0200
committerEfraim Flashner <efraim@flashner.co.il>2024-02-20 13:57:20 +0200
commit6261a42d89f5a939ed1010611f3ef35622771021 (patch)
tree2963d4de4202a312e2bb3a5543cb7479d1b87a49 /gnu/packages/terminals.scm
parent82d4666445d5496ff80e471b9554955b98b7e6e7 (diff)
gnu: alacritty: Update to 0.13.0.
* gnu/packages/terminals.scm (alacritty): Update to 0.13.0. [arguments]: Add cargo-test-flags. Adjust custom 'add-absolute-library-references phase to patch more libraries. Adjust custom 'install phase to install more manmages. [cargo-inputs]: Add rust-ahash-0.8, rust-base64-0.21, rust-home-0.5, rust-miow-0.6, rust-piper-0.2, rust-polling-3, rust-proc-macro2-1, rust-quote-1, rust-regex-automata-0.4, rust-rustix-openpty-0.1, rust-signal-hook-0.3, rust-syn-2, rust-toml-0.8, rust-vte-0.13. Replace rust-bitflags-1 with 2, rust-clap-3 with 4, rust-cocoa-0.24 with 0.25, rust-copypasta-0.8 with 0.10, rust-crossfont-0.5 with 0.7, rust-dirs-4 with 5, rust-embed-resource-1 with 2, rust-glutin-0.30 with 0.31, rust-notify-5 with 6, rust-serde-yaml-0.8 with 0.9, rust-windows-sys-0.36 with 0.48, rust-winit-0.28 with 0.29. Remove rust-alacritty-config-0.1, rust-alacritty-config-derive-0.1, rust-alacritty-terminal-0.19, rust-fnv-1, rust-wayland-client-0.29, rust-x11-dl-2. [cargo-development-inputs]: Add rust-log-0.4, rust-serde-1, rust-serde-json-1, rust-toml-0.8. Replace rust-clap-complete-3 with 4. [native-inputs]: Add scdoc. Change-Id: Ibc01b79c3b4b0b9cae185e0abfb830b51c641cf9
Diffstat (limited to 'gnu/packages/terminals.scm')
-rw-r--r--gnu/packages/terminals.scm97
1 files changed, 63 insertions, 34 deletions
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index 5a4fee11a5..8d74cf1180 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015-2021, 2023 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015-2021, 2023, 2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Mckinley Olsen <mck.olsen@gmail.com>
;;; Copyright © 2016, 2017, 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016 David Craven <david@craven.ch>
@@ -1511,10 +1511,11 @@ basic input/output.")
(define-public alacritty
(package
(name "alacritty")
- (version "0.12.3")
+ (version "0.13.0")
(source
(origin
- ;; XXX: The crate at "crates.io" has limited contents. In particular,
+ ;; XXX: The crate at "crates.io" contains only the alacritty subproject
+ ;; of alacritty and thus has limited contents. In particular,
;; it does not contain "extra" directory with completions, icon, etc.
(method git-fetch)
(uri (git-reference
@@ -1522,43 +1523,59 @@ basic input/output.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1jbyxnza38c22k7ri8apzn03q91l06isj8la9xca7cz06kn0hha9"))))
+ (base32 "0ddvpxr0v58p8xlsjbhpv67i0dg016a4n3vj52jmbf1fpjnasd76"))))
(build-system cargo-build-system)
(arguments
- `(#:install-source? #f ; virtual manifest
+ `(#:install-source? #f
+ #:cargo-test-flags
+ '("--release" "--"
+ ;; Completions generated with a different minor version of clap?
+ "--skip=cli::tests::completions")
#:cargo-inputs
- (("rust-alacritty-config" ,rust-alacritty-config-0.1)
- ("rust-alacritty-config-derive" ,rust-alacritty-config-derive-0.2)
- ("rust-alacritty-terminal" ,rust-alacritty-terminal-0.19)
- ("rust-bitflags" ,rust-bitflags-1)
- ("rust-clap" ,rust-clap-3)
- ("rust-cocoa" ,rust-cocoa-0.24)
- ("rust-copypasta" ,rust-copypasta-0.8)
- ("rust-crossfont" ,rust-crossfont-0.5)
- ("rust-dirs" ,rust-dirs-4)
- ("rust-embed-resource" ,rust-embed-resource-1)
- ("rust-fnv" ,rust-fnv-1)
+ (("rust-ahash" ,rust-ahash-0.8)
+ ("rust-base64" ,rust-base64-0.21)
+ ("rust-bitflags" ,rust-bitflags-2)
+ ("rust-clap" ,rust-clap-4)
+ ("rust-cocoa" ,rust-cocoa-0.25)
+ ("rust-copypasta" ,rust-copypasta-0.10)
+ ("rust-crossfont" ,rust-crossfont-0.7)
+ ("rust-dirs" ,rust-dirs-5)
+ ("rust-embed-resource" ,rust-embed-resource-2)
("rust-gl-generator" ,rust-gl-generator-0.14)
- ("rust-glutin" ,rust-glutin-0.30)
+ ("rust-glutin" ,rust-glutin-0.31)
+ ("rust-home" ,rust-home-0.5)
("rust-libc" ,rust-libc-0.2)
("rust-log" ,rust-log-0.4)
- ("rust-notify" ,rust-notify-5)
+ ("rust-miow" ,rust-miow-0.6)
+ ("rust-notify" ,rust-notify-6)
("rust-objc" ,rust-objc-0.2)
("rust-once-cell" ,rust-once-cell-1)
("rust-parking-lot" ,rust-parking-lot-0.12)
+ ("rust-piper" ,rust-piper-0.2)
+ ("rust-polling" ,rust-polling-3)
("rust-png" ,rust-png-0.17)
+ ("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-quote" ,rust-quote-1)
("rust-raw-window-handle" ,rust-raw-window-handle-0.5)
+ ("rust-regex-automata" ,rust-regex-automata-0.4)
+ ("rust-rustix-openpty" ,rust-rustix-openpty-0.1)
("rust-serde" ,rust-serde-1)
("rust-serde-json" ,rust-serde-json-1)
- ("rust-serde-yaml" ,rust-serde-yaml-0.8)
+ ("rust-serde-yaml" ,rust-serde-yaml-0.9)
+ ("rust-signal-hook" ,rust-signal-hook-0.3)
+ ("rust-syn" ,rust-syn-2)
+ ("rust-toml" ,rust-toml-0.8)
("rust-unicode-width" ,rust-unicode-width-0.1)
- ("rust-wayland-client" ,rust-wayland-client-0.29)
- ("rust-windows-sys" ,rust-windows-sys-0.36)
- ("rust-winit" ,rust-winit-0.28)
- ("rust-x11-dl" ,rust-x11-dl-2)
+ ("rust-vte" ,rust-vte-0.13)
+ ("rust-windows-sys" ,rust-windows-sys-0.48)
+ ("rust-winit" ,rust-winit-0.29)
("rust-xdg" ,rust-xdg-2))
#:cargo-development-inputs
- (("rust-clap-complete" ,rust-clap-complete-3))
+ (("rust-clap-complete" ,rust-clap-complete-4)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-toml" ,rust-toml-0.8))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-xdg-open
@@ -1583,7 +1600,9 @@ basic input/output.")
(search-input-file inputs (string-append "lib/" all)))
;; There are several libwayland libraries.
- (("libwayland-.*\\.so" all)
+ (("libwayland\\.so" all)
+ (search-input-file inputs (string-append "lib/" all)))
+ (("libwayland-[[:alpha:]]*\\.so" all)
(search-input-file inputs (string-append "lib/" all)))
(("libxkbcommon\\.so")
(search-input-file inputs "lib/libxkbcommon.so")))))
@@ -1595,21 +1614,30 @@ basic input/output.")
(share (string-append out "/share"))
(icons (string-append share "/icons/hicolor/scalable/apps"))
(tic (search-input-file (or native-inputs inputs) "/bin/tic"))
- (man (string-append share "/man/man1"))
+ (man (string-append share "/man"))
(alacritty-bin (car (find-files "target" "^alacritty$"))))
;; Install the executable.
(install-file alacritty-bin bin)
;; Install man pages.
- (mkdir-p man)
- (copy-file "extra/alacritty.man"
- (string-append man "/alacritty.1"))
- ;; Install example configuration.
- (install-file "alacritty.yml"
- (string-append share "/doc/alacritty-"
- ,(package-version this-package) "/example"))
+ (mkdir-p (string-append man "/man1"))
+ (mkdir-p (string-append man "/man5"))
+ (define (create-manpage manpage)
+ (let ((mandir (string-append
+ "/man" (string-take-right manpage 1) "/")))
+ (with-input-from-file (string-append manpage ".scd")
+ (lambda _
+ (with-output-to-file (string-append man mandir manpage)
+ (lambda _ (invoke "scdoc")))))))
+ (with-directory-excursion "extra/man"
+ (for-each create-manpage '("alacritty.1"
+ "alacritty-msg.1"
+ "alacritty.5"
+ "alacritty-bindings.5")))
;; Install desktop file.
(install-file "extra/linux/Alacritty.desktop"
(string-append share "/applications"))
+ (install-file "extra/linux/org.alacritty.Alacritty.appdata.xml"
+ (string-append share "/metainfo"))
;; Install icon.
(mkdir-p icons)
(copy-file "extra/logo/alacritty-term.svg"
@@ -1632,7 +1660,8 @@ basic input/output.")
(native-inputs
(list ncurses
pkg-config
- python))
+ python
+ scdoc))
(inputs
(list expat
fontconfig