From: jbenden <jbenden@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] Add vterminfo template function
Date: Wed, 23 Nov 2022 18:28:37 +0100 [thread overview]
Message-ID: <20221123172837.2yUQMTos_tPmktLYXYZz5MZkroeomIDzl-MAFnlymfI@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-40168@inbox.vuxu.org>
[-- Attachment #1: Type: text/plain, Size: 856 bytes --]
There is an updated pull request by jbenden against master on the void-packages repository
https://github.com/jbenden/void-packages vterminfo
https://github.com/void-linux/void-packages/pull/40168
Add vterminfo template function
#### Testing the changes
- I tested the changes in this PR: **YES**
#### Local build testing
- I built this PR locally for my native architecture, (`x86_64`-`glibc`)
#### Notes
During development of the `wezterm` package, it became apparent that no helpers exists to assist in the creation of terminfo compilation databases and multiple packages did their own "thing"(tm). This patch aims to resolve this situation.
This patch *includes* changes from another PR. It must **NOT** be merged until #36903.
@classabbyamp
A patch file from https://github.com/void-linux/void-packages/pull/40168.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-vterminfo-40168.patch --]
[-- Type: text/x-diff, Size: 5074 bytes --]
From 2229451f235b341bbfa97f3052f3ba7f0b1389c8 Mon Sep 17 00:00:00 2001
From: Joseph Benden <joe@benden.us>
Date: Wed, 26 Oct 2022 09:39:06 -0700
Subject: [PATCH] common/environment/setup/install.sh: add vterminfo
Signed-off-by: Joseph Benden <joe@benden.us>
---
Manual.md | 9 +++++++-
common/environment/setup/install.sh | 32 ++++++++++++++++++++++++++++-
srcpkgs/alacritty/template | 3 +--
srcpkgs/mtm/template | 3 +--
srcpkgs/ncurses/template | 1 +
srcpkgs/wezterm/template | 3 +--
6 files changed, 43 insertions(+), 8 deletions(-)
diff --git a/Manual.md b/Manual.md
index fa552f65ba5d..577911161d73 100644
--- a/Manual.md
+++ b/Manual.md
@@ -323,13 +323,20 @@ The following functions are defined by `xbps-src` and can be used on any templat
Note that vsed will call the sed command for every regex specified against
every file specified, in the order that they are given.
-- *vcompletion()* `<file> <shell> [<command>]`
+- *vcompletion()* `vcompletion <file> <shell> [<command>]`
Installs shell completion from `file` for `command`, in the correct location
and with the appropriate filename for `shell`. If `command` isn't specified,
it will default to `pkgname`. The `shell` argument can be one of `bash`,
`fish` or `zsh`.
+- *vterminfo()* `vterminfo <file> [entries]`
+
+ Processes `file` document via `tic(1)` to generate a terminfo database entry,
+ optionally for each of the specified `entries` terminfo entries. The produced
+ terminfo file is written to `masterdir/destdir` ready for package inclusion,
+ using say `vmove usr/share/terminfo`.
+
> Shell wildcards must be properly quoted, Example: `vmove "usr/lib/*.a"`.
<a id="global_vars"></a>
diff --git a/common/environment/setup/install.sh b/common/environment/setup/install.sh
index 5f0571de14ae..dfee3c9aafe0 100644
--- a/common/environment/setup/install.sh
+++ b/common/environment/setup/install.sh
@@ -13,7 +13,7 @@ _noglob_helper() {
}
# Apply _noglob to v* commands
-for cmd in vinstall vcopy vcompletion vmove vmkdir vbin vman vdoc vconf vsconf vlicense vsv; do
+for cmd in vinstall vcopy vcompletion vmove vmkdir vbin vman vdoc vconf vsconf vlicense vsv vterminfo; do
alias ${cmd}="set -f; _noglob_helper _${cmd}"
done
@@ -265,3 +265,33 @@ _vcompletion() {
;;
esac
}
+
+_vterminfo() {
+ local file="$1" entries="$2"
+ local _terminfo_dir=usr/share/terminfo
+ local _args=
+
+ if [ $# -lt 1 ]; then
+ msg_red "$pkgver: vterminfo: at least 1 argument expected: <file> [entries]\n"
+ return 1
+ elif ! [ -f "$file" ]; then
+ msg_red "$pkgver: vterminfo: file '$file' does not exist.\n"
+ return 1
+ elif ! [ -r "$file" ]; then
+ msg_red "$pkgver: vterminfo: file '$file' is not readable.\n"
+ return 1
+ elif [ -z "$PKGDESTDIR" ]; then
+ msg_red "$pkgver: vterminfo: PKGDESTDIR unset, can't continue...\n"
+ return 1
+ elif ! [ -x /usr/bin/tic ]; then
+ msg_red "$pkgver: vterminfo: 'tic' binary is missing, can't continue...\n"
+ return 1
+ fi
+
+ if [ -n "$entries" ]; then
+ _args="-e ${entries}"
+ fi
+
+ vmkdir "${_terminfo_dir}"
+ /usr/bin/tic -sx ${_args} -o "${PKGDESTDIR}/${_terminfo_dir}" "$file"
+}
diff --git a/srcpkgs/alacritty/template b/srcpkgs/alacritty/template
index 57873e263b55..b993f7a6927b 100644
--- a/srcpkgs/alacritty/template
+++ b/srcpkgs/alacritty/template
@@ -30,8 +30,7 @@ post_install() {
vinstall extra/logo/alacritty-term.svg 644 usr/share/icons/hicolor/scalable/apps Alacritty.svg
vman extra/alacritty.man alacritty.1
vsconf alacritty.yml
-
- tic -o ${DESTDIR}/usr/share/terminfo -xe alacritty,alacritty-direct extra/alacritty.info
+ vterminfo extra/alacritty.info alacritty,alacritty-direct
}
alacritty-terminfo_package() {
diff --git a/srcpkgs/mtm/template b/srcpkgs/mtm/template
index 599fa463410d..c47c0e146904 100644
--- a/srcpkgs/mtm/template
+++ b/srcpkgs/mtm/template
@@ -17,8 +17,7 @@ do_build() {
do_install() {
vbin mtm
- mkdir -p ${DESTDIR}/usr/share/terminfo
- tic -sx -o ${DESTDIR}/usr/share/terminfo mtm.ti
+ vterminfo mtm.ti mtm,mtm-256color,mtm-noutf
vman mtm.1
}
diff --git a/srcpkgs/ncurses/template b/srcpkgs/ncurses/template
index 7a56c537bf2e..f6e0c8d471cd 100644
--- a/srcpkgs/ncurses/template
+++ b/srcpkgs/ncurses/template
@@ -103,6 +103,7 @@ post_install() {
rm ${DESTDIR}/usr/share/terminfo/d/dvtm{,-256color}
rm ${DESTDIR}/usr/share/terminfo/s/st{,-256color}
rm ${DESTDIR}/usr/share/terminfo/f/foot{,-direct,+base}
+ rm -f ${DESTDIR}/usr/share/terminfo/w/wezterm
}
ncurses-libs_package() {
diff --git a/srcpkgs/wezterm/template b/srcpkgs/wezterm/template
index abd2a245845c..ab76fa37c5b1 100644
--- a/srcpkgs/wezterm/template
+++ b/srcpkgs/wezterm/template
@@ -44,8 +44,7 @@ do_install() {
vcompletion assets/shell-completion/fish fish
vcompletion assets/shell-completion/zsh zsh
- vmkdir usr/share/terminfo
- tic -sx -o ${DESTDIR}/usr/share/terminfo termwiz/data/wezterm.terminfo
+ vterminfo termwiz/data/wezterm.terminfo
vdoc README.md
vlicense LICENSE.md
next prev parent reply other threads:[~2022-11-23 17:28 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-26 16:47 [PR PATCH] " jbenden
2022-10-26 16:52 ` [PR PATCH] [Updated] " jbenden
2022-10-26 17:06 ` jbenden
2022-10-28 1:12 ` jbenden
2022-10-28 2:03 ` jbenden
2022-10-28 2:35 ` [PR REVIEW] " sgn
2022-10-28 15:18 ` [PR PATCH] [Updated] " jbenden
2022-10-28 15:18 ` [PR REVIEW] " jbenden
2022-11-10 17:19 ` [PR PATCH] [Updated] " jbenden
2022-11-23 17:28 ` jbenden [this message]
2023-02-22 2:01 ` github-actions
2023-02-22 15:57 ` [PR PATCH] [Updated] " jbenden
2023-02-22 17:33 ` jbenden
2023-05-25 1:53 ` github-actions
2023-05-25 17:06 ` jbenden
2023-08-25 1:44 ` github-actions
2023-09-08 1:45 ` [PR PATCH] [Closed]: " github-actions
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221123172837.2yUQMTos_tPmktLYXYZz5MZkroeomIDzl-MAFnlymfI@z \
--to=jbenden@users.noreply.github.com \
--cc=ml@inbox.vuxu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).