;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Mckinley Olsen <mck.olsen@gmail.com>
-;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
+;;; Copyright © 2016, 2017, 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017 José Miguel Sánchez García <jmi2k@openmailbox.org>
-;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
-;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Petter <petter@mykolab.ch>
;;; Copyright © 2018 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; 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>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
+ #:use-module (gnu packages golang)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
+ #:use-module (gnu packages libcanberra)
#:use-module (gnu packages libevent)
#:use-module (gnu packages linux)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages serialization)
+ #:use-module (gnu packages sphinx)
#:use-module (gnu packages ssh)
#:use-module (gnu packages textutils)
#:use-module (gnu packages xdisorg)
(define-public termite
(package
(name "termite")
- (version "14")
+ (version "15")
(source
(origin
(method git-fetch)
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "0dmz9rpc2fdvcwhcmjnhb48ixn403gxpq03g334d1hgjw2hsyx7x"))))
+ "0hp1x6lj098m3jgna274wv5dv60lnzg22297di68g4hw9djjyd2k"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(define-public asciinema
(package
(name "asciinema")
- (version "1.4.0")
+ (version "2.0.2")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "asciinema" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/asciinema/asciinema")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1jrf8c8711gkdilmvyv3d37kp8xfvdc5cqighw5k92a6g9z4acgv"))))
+ "1a2pysxnp6icyd08mgf66xr6f6j0irnfxdpf3fmzcz31ix7l9kc4"))))
(build-system python-build-system)
(arguments
`(#:phases
(add-before 'build 'patch-exec-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((ncurses (assoc-ref inputs "ncurses")))
- (substitute* "asciinema/recorder.py"
+ (substitute* "asciinema/term.py"
(("'tput'")
(string-append "'" ncurses "/bin/tput'"))))
- #t)))))
+ #t))
+ (replace 'check
+ (lambda _ (invoke "nosetests" "-v"))))))
(inputs `(("ncurses" ,ncurses)))
(native-inputs
;; For tests.
- `(("python-requests" ,python-requests)))
+ `(("python-nose" ,python-nose)))
(home-page "https://asciinema.org")
(synopsis "Terminal session recorder")
(description
(uri (git-reference
(url (string-append "https://github.com/Aetf/" name))
(commit commit)))
+ (file-name (git-file-name name version))
(sha256
(base32
"0mwn91i5h5d518i1s05y7hzv6bc13vzcvxszpfh77473iwg4wprx"))))
"0q62kjsvy2iwy8adfiygx2bfwlh83rphgxbis95ycspqidg9py87"))
(patches
(search-patches "kmscon-runtime-keymap-switch.patch"))
- (modules '((guix build utils)))))
+ (modules '((guix build utils)))
+ (file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
- `(#:phases (modify-phases %standard-phases
+ `(;; The closure of MESA is huge so we'd rather avoid it.
+ #:disallowed-references (,mesa)
+
+ #:phases (modify-phases %standard-phases
(replace 'bootstrap
(lambda _
(setenv "NOCONFIGURE" "indeed")
("libtsm" ,libtsm)
("libxkbcommon" ,libxkbcommon)
("logind" ,elogind)
- ("mesa" ,mesa)
+ ;; MESA can be used for accelerated video output via OpenGLESv2, but
+ ;; it's a bit dependency that we'd rather avoid in the installation
+ ;; image.
+ ;; ("mesa" ,mesa)
("pango" ,pango)
("udev" ,eudev)))
(synopsis "Linux KMS-based terminal emulator")
(define-public beep
(package
(name "beep")
- (version "1.4.3")
+ (version "1.4.7")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1gramwa2zm59kqjhv96fi8vg7l6lyffv02h0310vb90naschi99g"))))
+ (base32 "0dnbvzzxvajc7pl1165wb3l74pfcqcdg12rcjcw86qqy954dx8my"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
(define-public libvterm
(package
(name "libvterm")
- (version "0+bzr681")
+ (version "0.1.1")
(source
(origin
(method url-fetch)
"libvterm-" version ".tar.gz"))
(sha256
(base32
- "1s56c8p1qz6frkcri0hg4qyydv2wcccj6n2xmz1dwcdqn38ldsmb"))))
+ "1n5maylann2anfifjy576vzyar9q5m1kzpyiz2hca2pacxy8xf4v"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
(define-public sakura
(package
(name "sakura")
- (version "3.6.0")
+ (version "3.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://launchpad.net/" name "/trunk/"
version "/+download/" name "-" version
- ".tar.bz2"))
+ ".tar.gz"))
(sha256
(base32
- "1q463qm41ym7jb3kbzjz7b6x549vmgkb70arpkhsf86yxly1y5m1"))))
+ "15gskj5yv5qs3cj4ps43735kfx2nzjlhq4dk9ghirl8lvhhxsm5m"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; no check phase
(license license:gpl2)))
(define-public go-github.com-nsf-termbox-go
- (let ((commit "4ed959e0540971545eddb8c75514973d670cf739")
- (revision "0"))
+ (let ((commit "288510b9734e30e7966ec2f22b87c5f8e67345e3")
+ (revision "1"))
(package
(name "go-github.com-nsf-termbox-go")
(version (git-version "0.0.0" revision commit))
(file-name (git-file-name name version))
(sha256
(base32
- "1vx64i1mg660if3wwm81p4b7lzxfb3qbr39i7misdyld3fc486p9"))))
+ "0hdyisfaf8yb55h3p03p4sbq19546mp9fy28f2kn659mycmhxqk4"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/nsf/termbox-go"))
(home-page "https://github.com/nsf/termbox-go")
(license license:expat))))
-(define-public go-golang.org-x-crypto-ssh-terminal
- (let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd")
- (revision "0"))
- (package
- (name "go-golang.org-x-crypto-ssh-terminal")
- (version (git-version "0.0.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://go.googlesource.com/crypto")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0vxlfxr9y681yn2cfh6dbqmq35vvq4f45ay0mm31ffkny9cms0y4"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "golang.org/x/crypto/ssh/terminal"
- #:unpack-path "golang.org/x/crypto"
- #:phases
- (modify-phases %standard-phases
- (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
- (lambda* (#:key outputs #:allow-other-keys)
- (map (lambda (file)
- (make-file-writable file))
- (find-files
- (string-append (assoc-ref outputs "out")
- "/src/golang.org/x/crypto/ed25519/testdata")
- ".*\\.gz$"))
- #t)))))
- (synopsis "Support functions for dealing with terminals in Go")
- (description "@code{terminal} provides support functions for dealing
-with terminals in Go.")
- (home-page "https://go.googlesource.com/crypto/")
- (license license:bsd-3))))
+(define-public go-github-com-junegunn-fzf
+ (package
+ (name "go-github-com-junegunn-fzf")
+ (version "0.18.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/junegunn/fzf")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0pwpr4fpw56yzzkcabzzgbgwraaxmp7xzzmap7w1xsrkbj7dl2xl"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "github.com/junegunn/fzf"))
+ (inputs
+ `(("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)
+ ("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-golang-org-x-crypto" ,go-golang-org-x-crypto)))
+ (home-page "https://github.com/junegunn/fzf")
+ (synopsis "Command-line fuzzy-finder")
+ (description "This package provides an interactive command-line filter
+usable with any list--including files, command history, processes and more.")
+ (license license:expat)))
(define-public go-github.com-howeyc-gopass
(let ((commit "bf9dde6d0d2c004a008c27aaee91170c786f6db8")
(arguments
'(#:import-path "github.com/howeyc/gopass"))
(propagated-inputs
- `(("go-golang.org-x-crypto-ssh-terminal"
- ,go-golang.org-x-crypto-ssh-terminal)))
+ `(("go-golang-org-x-crypto"
+ ,go-golang-org-x-crypto)))
(synopsis "Retrieve password from a terminal or piped input in Go")
(description
"@code{gopass} is a Go package for retrieving a password from user
(define-public python-blessings
(package
(name "python-blessings")
- (version "1.6.1")
+ (version "1.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "blessings" version))
(sha256
(base32
- "1smngy65p8mi62lgm04icasx22v976szhs2aq95y2ljmi1srb4bl"))))
+ "0z8mgkbmisxs10rz88qg46l1c9a8n08k8cy2iassal2zh16qbrcq"))))
(build-system python-build-system)
(arguments
- ;; TODO: For py3, 2to2 is used to convert the code, but test-suite fails
+ ;; FIXME: Test suite is unable to detect TTY conditions.
`(#:tests? #f))
(native-inputs
- `(("python-nose" ,python-nose)))
+ `(("python-nose" ,python-nose)
+ ("python-six" ,python-six)))
(home-page "https://github.com/erikrose/blessings")
(synopsis "Python module to manage terminal color, styling, and
positioning")
(define-public kitty
(package
(name "kitty")
- (version "0.13.3")
+ (version "0.14.6")
(home-page "https://sw.kovidgoyal.net/kitty/")
(source
(origin
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "1y0vd75j8g61jdj8miml79w5ri3pqli5rv9iq6zdrxvzfa4b2rmb"))
+ (base32 "1rb5ys9xsdhd2qa3kz5gqzz111c6b14za98va6hlglk69wqlmb51"))
(modules '((guix build utils)))
(snippet
'(begin
`(("python" ,python)
("harfbuzz" ,harfbuzz)
("zlib" ,zlib)
+ ("libcanberra" ,libcanberra)
("libpng" ,libpng)
("freetype" ,freetype)
("fontconfig" ,fontconfig)
(define-public eternalterminal
(package
(name "eternalterminal")
- (version "5.1.9")
+ (version "5.1.10")
(source
(origin
(method git-fetch)
(commit (string-append "et-v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "07ynkcnk3z6wafdlnzdxcd308cw1rzabxyq47ybj79lyji3wsgk7"))))
+ (base32 "0jh89229bd9s82h3aj6faaybwr5xvnk8w2kgz47gq263pz021zpl"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags '("-DBUILD_TEST=ON")
(add-after 'unpack 'insert-googletests
(lambda* (#:key inputs #:allow-other-keys)
(let ((tests (assoc-ref inputs "googletest")))
- (invoke "tar" "xvf" tests "-C" "external/googletest"
- "--strip-components=1"))))
+ (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")))
while also supporting native scrolling and @command{tmux} control mode
(@code{tmux -CC}).")
(license license:asl2.0)))
+
+(define-public wterm
+ (package
+ (name "wterm")
+ (version "0.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/majestrate/wterm.git")
+ (commit "0ae42717c08a85a6509214e881422c7fbe7ecc45")))
+ (sha256
+ (base32
+ "0g4lzmc1w6na81i6hny32xds4xfig4xzswzfijyi6p93a1226dv0"))
+ (file-name (git-file-name name version))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("fontconfig" ,fontconfig)
+ ("freetype" ,freetype)
+ ("libdrm" ,libdrm)
+ ("libxkbcommon" ,libxkbcommon)
+ ("ncurses" ,ncurses)
+ ("pixman" ,pixman)
+ ("wayland" ,wayland)))
+ (arguments
+ '(#:tests? #f
+
+ ;; Without -j1 it fails to find file libwld.a.
+ #:parallel-build? #f
+
+ #:make-flags (list "CC=gcc"
+ (string-append "PREFIX=" %output)
+ (string-append "TERMINFO="
+ (assoc-ref %outputs "out")
+ "/share/terminfo"))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'terminfo-fix
+ (lambda _
+ (substitute* "Makefile"
+ (("\ttic .*") "\tmkdir -p $(SHARE_PREFIX)/share/terminfo
+\ttic -o $(SHARE_PREFIX)/share/terminfo -s wterm.info\n"))
+ #t)))))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "TERMINFO_DIRS")
+ (files '("share/terminfo")))))
+ (home-page "https://github.com/majestrate/wterm")
+ (synopsis "Terminal emulator for Wayland")
+ (description "wterm is a native Wayland terminal emulator based on
+an st fork using wld. st is a simple terminal emulator for X originally
+made by suckless.")
+ (license license:x11)))