Archived
1
0
Fork 0

gnu: Add emacs-vterm.

* gnu/packages/emacs-xyz.scm (emacs-vterm): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Joseph LaFreniere 2020-01-06 20:56:35 -06:00 committed by Ludovic Courtès
parent af46f6e40a
commit 3d11114d22
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -46,7 +46,7 @@
;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
;;; Copyright © 2019 mikadoZero <mikadozero@yandex.com>
;;; Copyright © 2019 Gabriel Hondet <gabrielhondet@gmail.com>
;;; Copyright © 2019 LaFreniere, Joseph <joseph@lafreniere.xyz>
;;; Copyright © 2019, 2020 Joseph LaFreniere <joseph@lafreniere.xyz>
;;; Copyright © 2019 Amar Singh <nly@disroot.org>
;;; Copyright © 2019 Baptiste Strazzulla <bstrazzull@hotmail.fr>
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
@ -105,6 +105,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages telephony)
#:use-module (gnu packages terminals)
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tcl)
@ -17399,6 +17400,73 @@ next, volume) and display and control the current playlist as well as your
stored playlists.")
(license license:gpl3+)))
(define-public emacs-vterm
(let ((version "0")
(revision "1")
(commit "7d7381fa8104b55b70148cf147523d9ab7f01fcd"))
(package
(name "emacs-vterm")
(version (git-version version revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/akermu/emacs-libvterm.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"04a2jlhmr20ipgzpnba3yryw3ly7qdxjgaw10dwn9wxy1yqmapz1"))))
(build-system emacs-build-system)
(arguments
`(#:modules ((guix build emacs-build-system)
((guix build cmake-build-system) #:prefix cmake:)
(guix build emacs-utils)
(guix build utils))
#:imported-modules (,@%emacs-build-system-modules
(guix build cmake-build-system))
#:phases
(modify-phases %standard-phases
(add-before 'add-source-to-load-path 'remove-vterm-module-make
(lambda* (#:key outputs #:allow-other-keys)
;; Remove the Emacs Lisp file.
(delete-file "vterm-module-make.el")
;; Remove references to the removed file.
(make-file-writable "vterm.el")
(emacs-substitute-sexps "vterm.el"
("(or (require 'vterm-module nil t)"
`(module-load
,(string-append (assoc-ref outputs "out")
"/lib/vterm-module.so"))))
#t))
(add-after 'build 'configure
;; Run cmake.
(lambda* (#:key outputs #:allow-other-keys)
((assoc-ref cmake:%standard-phases 'configure)
#:outputs outputs
#:out-of-source? #f
#:configure-flags '("-DUSE_SYSTEM_LIBVTERM=ON"))
#t))
(add-after 'configure 'make
;; Run make.
(lambda* (#:key (make-flags '()) outputs #:allow-other-keys)
;; Compile the shared object file.
(apply invoke "make" "all" make-flags)
;; Move the file into /lib.
(install-file
"vterm-module.so"
(string-append (assoc-ref outputs "out") "/lib"))
#t)))
#:tests? #f))
(native-inputs
`(("cmake" ,cmake-minimal)
("libtool" ,libtool)
("libvterm" ,libvterm)))
(home-page "https://github.com/akermu/emacs-libvterm")
(synopsis "Emacs libvterm integration")
(description "This package implements a bridge to @code{libvterm} to
display a terminal in an Emacs buffer.")
(license license:gpl3+))))
(define-public emacs-simple-mpc
;; There have been no releases.
(let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2")