;;; Copyright © 2018, 2019 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
-;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
+;;; Copyright © 2019, 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Valentin Ignatev <valentignatev@gmail.com>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages crates-io)
+ #:use-module (gnu packages crates-graphics)
#:use-module (gnu packages crypto)
#:use-module (gnu packages docbook)
#:use-module (gnu packages fontutils)
(define-public tilda
(package
(name "tilda")
- (version "1.5.0")
+ (version "1.5.2")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/lanoxx/tilda.git")
+ (url "https://github.com/lanoxx/tilda")
(commit (string-append "tilda-" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "13djibj3s7ig13c57ywy38pxy3qfmqihii2c0g15fy2h9q8xp1gx"))))
+ "0psq0f4s0s92bba6wwcf6b0j7i59b76svqxhvpavwv53yvhmmamn"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("autoconf" ,autoconf)
(package
(name "libtsm")
(version (git-version "0.0.0" revision commit))
- (source (origin
- (method git-fetch)
- ;; The freedesktop repository is no longer maintained.
- (uri (git-reference
- (url (string-append "https://github.com/Aetf/" name))
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0mwn91i5h5d518i1s05y7hzv6bc13vzcvxszpfh77473iwg4wprx"))))
+ (source
+ (origin
+ (method git-fetch)
+ ;; The freedesktop repository is no longer maintained.
+ (uri (git-reference
+ (url (string-append "https://github.com/Aetf/" name))
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0mwn91i5h5d518i1s05y7hzv6bc13vzcvxszpfh77473iwg4wprx"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Remove a bundled copy of libxkbcommon's xkbcommon-keysyms.h.
+ (delete-file-recursively "external/xkbcommon")
+ #t))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DBUILD_TESTING=ON")))
(native-inputs
- `(("pkg-config" ,pkg-config)))
- (inputs
- `(("libxkbcommon" ,libxkbcommon)
- ("check" ,check)))
+ `(("check" ,check)
+ ("libxkbcommon" ,libxkbcommon) ; for xkbcommon-keysyms.h
+ ("pkg-config" ,pkg-config)))
(synopsis "Xterm state machine library")
(description "TSM is a state machine for DEC VT100-VT520 compatible
terminal emulators. It tries to support all common standards while keeping
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/npat-efault/picocom.git")
+ (url "https://github.com/npat-efault/picocom")
(commit version)))
(file-name (git-file-name name version))
(sha256
;; unmaintained for some time, and vulnerable to at least two CVEs:
;; https://github.com/johnath/beep/issues/11#issuecomment-454056858
;; Use this maintained fork instead.
- (url "https://github.com/spkr-beep/beep.git")
+ (url "https://github.com/spkr-beep/beep")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
allowing different sounds to indicate different events. While it can be run
quite happily on the command line, its intended place of residence is within
scripts, notifying the user when something interesting occurs. Of course, it
-has no notion of what's interesing, but it's very good at that notifying part.")
+has no notion of what's interesting, but it's very good at that notifying part.")
(home-page "https://github.com/spkr-beep/beep")
(license license:gpl2+)))
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/mauke/unibilium.git")
+ (url "https://github.com/mauke/unibilium")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(define-public libvterm
(package
(name "libvterm")
- (version "0.1.1")
+ (version "0.1.4")
(source
(origin
(method url-fetch)
"libvterm-" version ".tar.gz"))
(sha256
(base32
- "1n5maylann2anfifjy576vzyar9q5m1kzpyiz2hca2pacxy8xf4v"))))
+ "1pfkhbbihd2kvaza707vl2nvk7bxaawmb37wf9v6d72mjng38w5w"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
(define-public sakura
(package
(name "sakura")
- (version "3.7.0")
+ (version "3.7.1")
(source (origin
(method url-fetch)
- (uri (string-append "https://launchpad.net/" name "/trunk/"
- version "/+download/" name "-" version
- ".tar.gz"))
+ (uri (string-append "https://launchpad.net/sakura/trunk/"
+ version "/+download/sakura-" version
+ ".tar.bz2"))
(sha256
(base32
- "15gskj5yv5qs3cj4ps43735kfx2nzjlhq4dk9ghirl8lvhhxsm5m"))))
+ "12wjmckf03qbnm8cb7qma0980anzajn3l92rj2yr8hhafl74x6kj"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; no check phase
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/nsf/termbox-go.git")
+ (url "https://github.com/nsf/termbox-go")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(define-public go-github-com-junegunn-fzf
(package
(name "go-github-com-junegunn-fzf")
- (version "0.18.0")
+ (version "0.22.0")
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(sha256
(base32
- "0pwpr4fpw56yzzkcabzzgbgwraaxmp7xzzmap7w1xsrkbj7dl2xl"))))
+ "0n0cy5q2r3dm1a3ivlzrv9c5d11awxlqim5b9x8zc85dlr73n35l"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/junegunn/fzf"))
("go-github-com-mattn-go-shellwords" ,go-github-com-mattn-go-shellwords)
("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
("go-github-com-gdamore-tcell" ,go-github-com-gdamore-tcell)
+ ("go-github-com-saracen-walker" ,go-github-com-saracen-walker)
+ ("go-golang.org-x-sync-errgroup" ,go-golang.org-x-sync-errgroup)
("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
(home-page "https://github.com/junegunn/fzf")
(synopsis "Command-line fuzzy-finder")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/howeyc/gopass.git")
+ (url "https://github.com/howeyc/gopass")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/tmate-io/tmate.git")
+ (url "https://github.com/tmate-io/tmate")
(commit version)))
(file-name (git-file-name name version))
(sha256
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/kovidgoyal/kitty.git")
+ (url "https://github.com/kovidgoyal/kitty")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(define-public eternalterminal
(package
(name "eternalterminal")
- (version "5.1.10")
+ (version "6.0.13")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/MisterTea/EternalTerminal.git")
+ (url "https://github.com/MisterTea/EternalTerminal")
(commit (string-append "et-v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0jh89229bd9s82h3aj6faaybwr5xvnk8w2kgz47gq263pz021zpl"))))
+ (base32 "0sb1hypg2276y8c2a5vivrkcxp70swddvhnd9h273if3kv6j879r"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags '("-DBUILD_TEST=ON")
(lambda* (#:key inputs #:allow-other-keys)
(let ((tests (assoc-ref inputs "googletest")))
(copy-recursively tests "external/googletest"))
- #t))
- (add-after 'install 'dont-provide-gtest-libraries
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (delete-file-recursively (string-append out "/include"))
- (delete-file-recursively (string-append out "/lib")))
#t)))))
(inputs
`(("gflags" ,gflags)
(@code{tmux -CC}).")
(license license:asl2.0)))
+(define-public et
+ (deprecated-package "et" eternalterminal))
+
(define-public wterm
(package
(name "wterm")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/majestrate/wterm.git")
+ (url "https://github.com/majestrate/wterm")
(commit "0ae42717c08a85a6509214e881422c7fbe7ecc45")))
(sha256
(base32
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/jwilm/alacritty.git")
+ (url "https://github.com/jwilm/alacritty")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
("rust-log" ,rust-log-0.4)
("rust-time" ,rust-time-0.1)
("rust-env-logger" ,rust-env-logger-0.7)
- ("rust-serde" ,rust-serde-1.0)
+ ("rust-serde" ,rust-serde-1)
("rust-serde-yaml" ,rust-serde-yaml-0.8)
- ("rust-serde-json" ,rust-serde-json-1.0)
+ ("rust-serde-json" ,rust-serde-json-1)
("rust-glutin" ,rust-glutin-0.22) ; adjust 'patch-glutin-libgl-path as needed
("rust-notify" ,rust-notify-4)
("rust-libc" ,rust-libc-0.2)
("rust-winapi" ,rust-winapi-0.3)
("rust-base64" ,rust-base64-0.11)
("rust-bigflags" ,rust-bitflags-1)
- ("rust-fnv" ,rust-fnv-1.0)
+ ("rust-fnv" ,rust-fnv-1)
("rust-mio" ,rust-mio-0.6)
("rust-mio-extras" ,rust-mio-extras-2)
("rust-terminfo" ,rust-terminfo-0.6)
- ("rust-url" ,rust-url-2.1)
+ ("rust-url" ,rust-url-2)
("rust-vte" ,rust-vte-0.3)
("rust-nix" ,rust-nix-0.15)
("rust-miow" ,rust-miow-0.3)
("rust-embed-resource" ,rust-embed-resource-1.3)
("rust-http-req" ,rust-http-req-0.5)
("rust-zip" ,rust-zip-0.5)
- ("rust-tempfile" ,rust-tempfile-3.1)
+ ("rust-tempfile" ,rust-tempfile-3)
("rust-named-pipe" ,rust-named-pipe-0.4)
("rust-winapi" ,rust-winapi-0.3))
#:phases
(modify-phases %standard-phases
- (add-after 'configure 'patch-glutin-libgl-path
+ (add-after 'configure 'add-absolute-library-references
(lambda* (#:key inputs cargo-inputs vendor-dir #:allow-other-keys)
(let* ((glutin-name ,(package-name rust-glutin-0.22))
(glutin-version ,(package-version rust-glutin-0.22))
- (src-api
- (string-append
- glutin-name "-" glutin-version ".tar.gz/src/api/"))
+ (glutin-api (string-append glutin-name "-" glutin-version
+ ".tar.gz/src/api/"))
+ (smithay-client-toolkit-name
+ ,(package-name rust-smithay-client-toolkit-0.6))
+ (smithay-client-toolkit-version
+ ,(package-version rust-smithay-client-toolkit-0.6))
+ (smithay-client-toolkit-src
+ (string-append smithay-client-toolkit-name "-"
+ smithay-client-toolkit-version ".tar.gz/src"))
+ (wayland-sys-name ,(package-name rust-wayland-sys-0.23))
+ (wayland-sys-version ,(package-version rust-wayland-sys-0.23))
+ (wayland-sys-src (string-append wayland-sys-name "-"
+ wayland-sys-version
+ ".tar.gz/src"))
+ (libxkbcommon (assoc-ref inputs "libxkbcommon"))
+ (libwayland (assoc-ref inputs "wayland"))
(mesa (assoc-ref inputs "mesa")))
- (substitute* (string-append vendor-dir "/" src-api "glx/mod.rs")
+ (substitute* (string-append vendor-dir "/" glutin-api "glx/mod.rs")
(("libGL.so") (string-append mesa "/lib/libGL.so")))
- (substitute* (string-append vendor-dir "/" src-api "egl/mod.rs")
+ (substitute* (string-append vendor-dir "/" glutin-api "egl/mod.rs")
(("libEGL.so") (string-append mesa "/lib/libEGL.so")))
+ (substitute* (string-append vendor-dir "/"
+ smithay-client-toolkit-src
+ "/keyboard/ffi.rs")
+ (("libxkbcommon\\.so")
+ (string-append libxkbcommon "/lib/libxkbcommon.so")))
+ (substitute* (string-append vendor-dir "/" wayland-sys-src
+ "/server.rs")
+ (("libwayland-server\\.so")
+ (string-append libwayland "/lib/libwayland-server.so")))
+ (substitute* (string-append vendor-dir "/" wayland-sys-src
+ "/cursor.rs")
+ (("libwayland-cursor\\.so")
+ (string-append libwayland "/lib/libwayland-cursor.so")))
+ (substitute* (string-append vendor-dir "/" wayland-sys-src
+ "/egl.rs")
+ (("libwayland-egl\\.so")
+ (string-append libwayland "/lib/libwayland-egl.so")))
+ (substitute* (string-append vendor-dir "/" wayland-sys-src
+ "/client.rs")
+ (("libwayland-client\\.so")
+ (string-append libwayland "/lib/libwayland-client.so")))
#t)))
(add-after 'configure 'remove-alacritty-vendor
(lambda* (#:key vendor-dir #:allow-other-keys)
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
(share (string-append out "/share"))
(icons (string-append share "/icons/hicolor/scalable/apps"))
(tic (string-append (assoc-ref inputs "ncurses") "/bin/tic"))
(man (string-append share "/man/man1"))
(alacritty-bin "target/release/alacritty"))
- ;; Install binary
- (install-file alacritty-bin (string-append out "/bin"))
+ ;; Install the executable.
+ (install-file alacritty-bin bin)
- ;; Install man pages
+ ;; Install man pages.
(mkdir-p man)
(copy-file "extra/alacritty.man"
(string-append man "/alacritty.1"))
- ;; Install desktop file
+ ;; Install desktop file.
(install-file "extra/linux/alacritty.desktop"
(string-append share "/applications"))
(copy-file "extra/logo/alacritty-term.svg"
(string-append icons "/Alacritty.svg"))
- ;; Install terminfo
+ ;; Install terminfo.
(mkdir-p (string-append share "/terminfo"))
;; We don't compile alacritty-common entry because
;; it's being used only for inheritance.
"-o" (string-append share "/terminfo/")
"extra/alacritty.info")
- ;; Install completions
+ ;; Install completions.
(install-file
"extra/completions/alacritty.bash"
(string-append out "/etc/bash_completion.d"))
("ncurses" ,ncurses)
("pkg-config" ,pkg-config)
("python3" ,python)))
+ (native-search-paths
+ ;; FIXME: This should only be located in 'ncurses'. Nonetheless it is
+ ;; provided for usability reasons. See <https://bugs.gnu.org/22138>.
+ (list (search-path-specification
+ (variable "TERMINFO_DIRS")
+ (files '("share/terminfo")))))
(home-page "https://github.com/alacritty/alacritty")
(synopsis "GPU-accelerated terminal emulator")
(description