summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2020-08-04 13:28:33 +0200
committerUlrich Müller <ulm@gentoo.org>2020-08-04 14:11:20 +0200
commit8d01f01ca8e92057e1eae6b849d66fb23de4f36e (patch)
tree5c6d7a2ac08d9b6664a7040bec19f1746ef42870 /app-emacs
parentprofiles: fix entry (diff)
downloadgentoo-8d01f01ca8e92057e1eae6b849d66fb23de4f36e.tar.gz
gentoo-8d01f01ca8e92057e1eae6b849d66fb23de4f36e.tar.bz2
gentoo-8d01f01ca8e92057e1eae6b849d66fb23de4f36e.zip
app-emacs/vterm: Initial import.
Ebuild contributed by me, based on earlier work by Hans de Graaff <graaff@gentoo.org> and Arjan Adriaanse <arjan@adriaan.se>. Closes: https://bugs.gentoo.org/721256 Package-Manager: Portage-3.0.1, Repoman-2.3.23 Signed-off-by: Ulrich Müller <ulm@gentoo.org>
Diffstat (limited to 'app-emacs')
-rw-r--r--app-emacs/vterm/Manifest1
-rw-r--r--app-emacs/vterm/files/50vterm-gentoo.el5
-rw-r--r--app-emacs/vterm/files/vterm-dont-compile.patch22
-rw-r--r--app-emacs/vterm/metadata.xml17
-rw-r--r--app-emacs/vterm/vterm-0.0.1_pre20200713.ebuild45
5 files changed, 90 insertions, 0 deletions
diff --git a/app-emacs/vterm/Manifest b/app-emacs/vterm/Manifest
new file mode 100644
index 000000000000..f04e9cddcdd8
--- /dev/null
+++ b/app-emacs/vterm/Manifest
@@ -0,0 +1 @@
+DIST vterm-0.0.1_pre20200713.tar.gz 48160 BLAKE2B 96c45ddb139d19f3020d7a8eebc1ee31a7dc098f47c16cfffc7bf3327261a4366763744a8158d3c8a066ec94be4966a5ef78804db95c9025eee06fb8c9e4aa76 SHA512 17726ad0957daeab2a87b398bfa24dbe3c4c48dfba932138a71cd8c992bf20bd2925a7118a89247bbd674dbecd7fda8663c564a278168bb207034efb03e50cd0
diff --git a/app-emacs/vterm/files/50vterm-gentoo.el b/app-emacs/vterm/files/50vterm-gentoo.el
new file mode 100644
index 000000000000..b3e234eba1cb
--- /dev/null
+++ b/app-emacs/vterm/files/50vterm-gentoo.el
@@ -0,0 +1,5 @@
+(add-to-list 'load-path "@SITELISP@")
+(add-to-list 'load-path "@EMACSMODULES@")
+(autoload 'vterm "vterm" "Create a new vterm." t)
+(autoload 'vterm-other-window "vterm"
+ "Create a new vterm in another window." t)
diff --git a/app-emacs/vterm/files/vterm-dont-compile.patch b/app-emacs/vterm/files/vterm-dont-compile.patch
new file mode 100644
index 000000000000..6b08ae812360
--- /dev/null
+++ b/app-emacs/vterm/files/vterm-dont-compile.patch
@@ -0,0 +1,22 @@
+Simply error out if the module is not found. Don't confuse the user
+with messages about compiling the module, which won't work outside of
+the package's source tree.
+
+--- a/vterm.el
++++ b/vterm.el
+@@ -121,14 +121,7 @@
+ (message "Compilation of `emacs-libvterm' module succeeded")
+ (error "Compilation of `emacs-libvterm' module failed!")))))
+
+-;; If the vterm-module is not compiled yet, compile it
+-(unless (require 'vterm-module nil t)
+- (if (or vterm-always-compile-module
+- (y-or-n-p "Vterm needs `vterm-module' to work. Compile it now? "))
+- (progn
+- (vterm-module-compile)
+- (require 'vterm-module))
+- (error "Vterm will not work until `vterm-module' is compiled!")))
++(require 'vterm-module)
+
+ ;; Silence compiler warnings by informing it of what functions are defined
+ (declare-function display-line-numbers-update-width "display-line-numbers")
diff --git a/app-emacs/vterm/metadata.xml b/app-emacs/vterm/metadata.xml
new file mode 100644
index 000000000000..ac2faa79e283
--- /dev/null
+++ b/app-emacs/vterm/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+</maintainer>
+<longdescription>
+ Emacs-libvterm (vterm) is fully-fledged terminal emulator inside
+ GNU Emacs based on libvterm, a C library. As a result of using
+ compiled code (instead of elisp), emacs-libvterm is fully capable,
+ fast, and it can seamlessly handle large outputs.
+</longdescription>
+<upstream>
+ <remote-id type="github">akermu/emacs-libvterm</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/app-emacs/vterm/vterm-0.0.1_pre20200713.ebuild b/app-emacs/vterm/vterm-0.0.1_pre20200713.ebuild
new file mode 100644
index 000000000000..412a03668c11
--- /dev/null
+++ b/app-emacs/vterm/vterm-0.0.1_pre20200713.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+NEED_EMACS=26
+COMMIT="f41849c2c9c1899f22d1c3d4f871ec47c82627ce"
+
+inherit cmake elisp
+
+MY_PN="emacs-libvterm"
+DESCRIPTION="Fully-featured terminal emulator based on libvterm"
+HOMEPAGE="https://github.com/akermu/emacs-libvterm"
+SRC_URI="https://github.com/akermu/${MY_PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-libs/libvterm"
+RDEPEND="${DEPEND}
+ app-editors/emacs[dynamic-loading]"
+
+S="${WORKDIR}/${MY_PN}-${COMMIT}"
+PATCHES=( "${FILESDIR}"/${PN}-dont-compile.patch )
+SITEFILE="50${PN}-gentoo.el"
+DOCS="README.md"
+
+src_prepare() {
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=( "-DUSE_SYSTEM_LIBVTERM=ON" )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ elisp_src_compile
+}
+
+src_install() {
+ elisp_src_install
+ elisp-modules-install ${PN} vterm-module.so
+}