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
This commit is contained in:
Efraim Flashner 2024-01-04 11:58:07 +02:00
parent 82d4666445
commit 6261a42d89
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351

View file

@ -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