diff options
Diffstat (limited to 'app-emacs/vterm')
-rw-r--r-- | app-emacs/vterm/Manifest | 5 | ||||
-rw-r--r-- | app-emacs/vterm/files/50vterm-gentoo.el | 5 | ||||
-rw-r--r-- | app-emacs/vterm/files/vterm-dont-compile.patch | 22 | ||||
-rw-r--r-- | app-emacs/vterm/metadata.xml | 17 | ||||
-rw-r--r-- | app-emacs/vterm/vterm-0.0.1_pre20200713.ebuild | 45 |
5 files changed, 94 insertions, 0 deletions
diff --git a/app-emacs/vterm/Manifest b/app-emacs/vterm/Manifest new file mode 100644 index 000000000000..10c13e2c1733 --- /dev/null +++ b/app-emacs/vterm/Manifest @@ -0,0 +1,5 @@ +AUX 50vterm-gentoo.el 213 BLAKE2B adb1452d0bf816beceec4367a33176034f90c46b1649178cce093160117d14c01d1ccebefa57bebbf276d01e812223876a766567fbbb95589851b51db2456db2 SHA512 2847b924a1e3218d433391396681642a88192396a60f25f5da6824a9546a0f155d068b1bfc2115f0698b87e07ca50845ebbdc0a71de2ff8203fdf14b7e43ef0d +AUX vterm-dont-compile.patch 907 BLAKE2B fdfa5bfc294558ebbe428375c817387ffd2e8c560c66c597815469460997d2f58e4734ee81d0780421cf0d1b512a74ecaf7ffc0fb5ca4034083eaa0a5f38e309 SHA512 359bebd557cca3fd31479bf3596d2d06e6b451faf57a074c4bbbf17e956d62f87a6695055f72697200f00df7c664aca970de89af69cd5470fe4faa0ad0172a95 +DIST vterm-0.0.1_pre20200713.tar.gz 48160 BLAKE2B 96c45ddb139d19f3020d7a8eebc1ee31a7dc098f47c16cfffc7bf3327261a4366763744a8158d3c8a066ec94be4966a5ef78804db95c9025eee06fb8c9e4aa76 SHA512 17726ad0957daeab2a87b398bfa24dbe3c4c48dfba932138a71cd8c992bf20bd2925a7118a89247bbd674dbecd7fda8663c564a278168bb207034efb03e50cd0 +EBUILD vterm-0.0.1_pre20200713.ebuild 966 BLAKE2B f94876edfed3574f4da83e1ecb87c856dde5729a6160b0d2b4bf1b8963c1e20cc31d4720bca679fe694a46f1665f901d05c3248ab56000b1af9b80863f637570 SHA512 1a7c8608b8ed691813cc8de98b7aca129aa1bdbe9eb763a383c4c1f589626f7ad49e3d8cdd255427f8f66e1bea1e8e12215fae61e1f649a0afbf9b10173f8e62 +MISC metadata.xml 633 BLAKE2B 60cd4ca523fa42307493cccbbf5fc240dd658f2c7368e761c94e384e9d363ae8359d0b6e0520be3767b6df38a4d94d9f1ebc3e8983c40d07ffc990428cb863fc SHA512 1ae5bd4bff830550c81d14e8312faf9aa0270ea7bf3e73ad347c20de0fb0d8fbbfe0d1fc807d41c0629e4c3170d9a512abdd5213f200671e63c80afc814fe85b 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..898f9f5d34a4 --- /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-26:*[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 +} |