mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-19 12:03:02 -04:00
app-emacs/vterm: add new package
Package-Manager: Portage-2.3.89, Repoman-2.3.20 Signed-off-by: Arjan Adriaanse <arjan@adriaan.se>
This commit is contained in:
1
app-emacs/vterm/Manifest
Normal file
1
app-emacs/vterm/Manifest
Normal file
@@ -0,0 +1 @@
|
|||||||
|
DIST vterm-20200504.544.tar 184320 BLAKE2B 9a705ef3e36b8b1991e9b152b59a40f5d784631ee613056ccedffc85c690c83b0860f900d1494388047b2fec8ef7803adc7c5550b2d210e3cda95ebd8894be5c SHA512 c2971628778e9128efae5c567bd0e9453a8260032d0c220e4348e135e2d2c1af56429eebe613641bd13a148dec53e10c4604dd93a0261f2db74a1bcb8a240ff8
|
||||||
2
app-emacs/vterm/files/50vterm-gentoo.el
Normal file
2
app-emacs/vterm/files/50vterm-gentoo.el
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
(add-to-list 'load-path "@SITELISP@")
|
||||||
|
(load "vterm-autoloads" nil t)
|
||||||
26
app-emacs/vterm/files/bashrc
Executable file
26
app-emacs/vterm/files/bashrc
Executable file
@@ -0,0 +1,26 @@
|
|||||||
|
function vterm_printf(){
|
||||||
|
if [ -n "$TMUX" ]; then
|
||||||
|
# Tell tmux to pass the escape sequences through
|
||||||
|
# (Source: http://permalink.gmane.org/gmane.comp.terminal-emulators.tmux.user/1324)
|
||||||
|
printf "\ePtmux;\e\e]%s\007\e\\" "$1"
|
||||||
|
elif [ "${TERM%%-*}" = "screen" ]; then
|
||||||
|
# GNU screen (screen, screen-256color, screen-256color-bce)
|
||||||
|
printf "\eP\e]%s\007\e\\" "$1"
|
||||||
|
else
|
||||||
|
printf "\e]%s\e\\" "$1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
if [[ "$INSIDE_EMACS" = 'vterm' ]]; then
|
||||||
|
function clear(){
|
||||||
|
vterm_printf "51;Evterm-clear-scrollback";
|
||||||
|
tput clear;
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
|
PROMPT_COMMAND='echo -ne "\033]0;\h:\w\007"'
|
||||||
|
|
||||||
|
vterm_prompt_end(){
|
||||||
|
vterm_printf "51;A$(whoami)@$(hostname):$(pwd)"
|
||||||
|
}
|
||||||
|
PS1=$PS1'\[$(vterm_prompt_end)\]'
|
||||||
30
app-emacs/vterm/files/config.fish
Normal file
30
app-emacs/vterm/files/config.fish
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
function vterm_printf;
|
||||||
|
if [ -n "$TMUX" ]
|
||||||
|
# tell tmux to pass the escape sequences through
|
||||||
|
# (Source: http://permalink.gmane.org/gmane.comp.terminal-emulators.tmux.user/1324)
|
||||||
|
printf "\ePtmux;\e\e]%s\007\e\\" "$argv"
|
||||||
|
else if string match -q -- "screen*" "$TERM"
|
||||||
|
# GNU screen (screen, screen-256color, screen-256color-bce)
|
||||||
|
printf "\eP\e]%s\007\e\\" "$argv"
|
||||||
|
else
|
||||||
|
printf "\e]%s\e\\" "$argv"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function fish_title
|
||||||
|
hostname
|
||||||
|
echo ":"
|
||||||
|
pwd
|
||||||
|
end
|
||||||
|
|
||||||
|
function vterm_prompt_end;
|
||||||
|
vterm_printf '51;A'(whoami)'@'(hostname)':'(pwd)
|
||||||
|
end
|
||||||
|
functions -c fish_prompt vterm_old_fish_prompt
|
||||||
|
function fish_prompt --description 'Write out the prompt; do not replace this. Instead, put this at end of your file.'
|
||||||
|
# Remove the trailing newline from the original prompt. This is done
|
||||||
|
# using the string builtin from fish, but to make sure any escape codes
|
||||||
|
# are correctly interpreted, use %b for printf.
|
||||||
|
printf "%b" (string join "\n" (vterm_old_fish_prompt))
|
||||||
|
vterm_prompt_end
|
||||||
|
end
|
||||||
25
app-emacs/vterm/files/zshrc
Normal file
25
app-emacs/vterm/files/zshrc
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
function vterm_printf(){
|
||||||
|
if [ -n "$TMUX" ]; then
|
||||||
|
# Tell tmux to pass the escape sequences through
|
||||||
|
# (Source: http://permalink.gmane.org/gmane.comp.terminal-emulators.tmux.user/1324)
|
||||||
|
printf "\ePtmux;\e\e]%s\007\e\\" "$1"
|
||||||
|
elif [ "${TERM%%-*}" = "screen" ]; then
|
||||||
|
# GNU screen (screen, screen-256color, screen-256color-bce)
|
||||||
|
printf "\eP\e]%s\007\e\\" "$1"
|
||||||
|
else
|
||||||
|
printf "\e]%s\e\\" "$1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
if [[ "$INSIDE_EMACS" = 'vterm' ]]; then
|
||||||
|
alias clear='vterm_printf "51;Evterm-clear-scrollback";tput clear'
|
||||||
|
fi
|
||||||
|
|
||||||
|
autoload -U add-zsh-hook
|
||||||
|
add-zsh-hook -Uz chpwd (){ print -Pn "\e]2;%m:%2~\a" }
|
||||||
|
|
||||||
|
vterm_prompt_end() {
|
||||||
|
vterm_printf "51;A$(whoami)@$(hostname):$(pwd)";
|
||||||
|
}
|
||||||
|
setopt PROMPT_SUBST
|
||||||
|
PROMPT=$PROMPT'%{$(vterm_prompt_end)%}'
|
||||||
26
app-emacs/vterm/metadata.xml
Normal file
26
app-emacs/vterm/metadata.xml
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer type="person">
|
||||||
|
<email>arjan@adriaan.se</email>
|
||||||
|
<name>Arjan Adriaanse</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.
|
||||||
|
|
||||||
|
This package automatically compiles the needed module and provides
|
||||||
|
configurations for better integration with some shells.
|
||||||
|
</longdescription>
|
||||||
|
<upstream>
|
||||||
|
<maintainer status="active">
|
||||||
|
<email>fuermetz@mailbox.org</email>
|
||||||
|
<name>Lukas Fürmetz</name>
|
||||||
|
</maintainer>
|
||||||
|
<doc>https://github.com/akermu/emacs-libvterm/blob/master/README.md</doc>
|
||||||
|
<bugs-to>https://github.com/akermu/emacs-libvterm/issues</bugs-to>
|
||||||
|
<remote-id type="github">akermu/emacs-libvterm</remote-id>
|
||||||
|
</upstream>
|
||||||
|
</pkgmetadata>
|
||||||
61
app-emacs/vterm/vterm-20200504.544.ebuild
Normal file
61
app-emacs/vterm/vterm-20200504.544.ebuild
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
# Copyright 2020 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
inherit elisp cmake
|
||||||
|
|
||||||
|
DESCRIPTION="Emacs libvterm integration"
|
||||||
|
HOMEPAGE="https://github.com/akermu/emacs-libvterm"
|
||||||
|
SRC_URI="https://melpa.org/packages/${PN}-${PV}.tar -> ${P}.tar"
|
||||||
|
|
||||||
|
LICENSE="GPL-2+"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~x86"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
app-editors/emacs[dynamic-loading]
|
||||||
|
dev-libs/libvterm
|
||||||
|
"
|
||||||
|
|
||||||
|
ELISP_REMOVE="${PN}-pkg.el"
|
||||||
|
SITEFILE="50${PN}-gentoo.el"
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
elisp-make-autoload-file
|
||||||
|
|
||||||
|
local mycmakeargs=( "USE_SYSTEM_LIBVTERM=yes" )
|
||||||
|
cmake_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
elisp_src_compile
|
||||||
|
|
||||||
|
cmake_src_compile
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
elisp_src_install
|
||||||
|
|
||||||
|
dodoc README.md
|
||||||
|
|
||||||
|
# install vterm module
|
||||||
|
elisp-install ${PN} *.so
|
||||||
|
|
||||||
|
# add shell config files
|
||||||
|
if has_version app-shells/bash; then
|
||||||
|
elog "Adding configuration for bash."
|
||||||
|
exeinto /etc/bash/bashrc.d/
|
||||||
|
newexe "${FILESDIR}/bashrc" bash-emacs-vterm.sh
|
||||||
|
fi
|
||||||
|
if has_version app-shells/zsh; then
|
||||||
|
elog "Adding configuration for zsh."
|
||||||
|
exeinto /etc/profile.d/
|
||||||
|
newexe "${FILESDIR}/zshrc" zsh-emacs-vterm.sh
|
||||||
|
fi
|
||||||
|
if has_version app-shells/fish; then
|
||||||
|
elog "Adding configuration for fish."
|
||||||
|
exeinto /etc/fish/conf.d/
|
||||||
|
newexe "${FILESDIR}/config.fish" emacs-vterm.fish
|
||||||
|
fi
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user