summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO10
-rw-r--r--.gitignore3
-rw-r--r--PKGBUILD42
-rw-r--r--README.terminfo.rst56
4 files changed, 38 insertions, 73 deletions
diff --git a/.SRCINFO b/.SRCINFO
index ed554aa27b38..3b905b18dcd7 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,19 +1,19 @@
pkgbase = st
pkgdesc = A simple virtual terminal emulator for X.
- pkgver = 0.8.3
+ pkgver = 0.9.2
pkgrel = 1
url = https://st.suckless.org
arch = i686
arch = x86_64
arch = armv7h
+ arch = aarch64
license = MIT
depends = libxft
- source = https://dl.suckless.org/st/st-0.8.3.tar.gz
+ source = https://dl.suckless.org/st/st-0.9.2.tar.gz
source = terminfo.patch
source = README.terminfo.rst
- sha256sums = 939ae3da237e7c9489694853c205c7cbd5f2a2f0c17fe41a07477f1df8e28552
+ sha256sums = 6b215d4f472b21d6232f30f221117a777e24bcfee68955ddefb7426467f9494b
sha256sums = f9deea445a5c6203a0e8e699f3c3b55e27275f17fb408562c4dd5d649edeea23
- sha256sums = 0ebcbba881832adf9c98ce9fe7667c851d3cc3345077cb8ebe32702698665be2
+ sha256sums = 95be3197f7de77a0fe2e4f527202e17e910ee24e1ed6bc39beb320a1304bb7e1
pkgname = st
-
diff --git a/.gitignore b/.gitignore
index 2d32340cf5c0..00905bae1165 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
-/*.pkg.tar.xz
/config.def.h
/config.h
/pkg/
/src/
/st-*.tar.gz
+/st-*.pkg.tar.xz
+/st-*.pkg.tar.zst
diff --git a/PKGBUILD b/PKGBUILD
index ce8e24950a9b..89a095adb5bf 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,27 +1,27 @@
# Maintainer: Jose Riha <jose1711 gmail com>
# Maintainer: Sebastian J. Bronner <waschtl@sbronner.com>
+# Maintainer: Kevin Stolp <kevinstolp@gmail.com>
# Contributor: Patrick Jackson <PatrickSJackson gmail com>
# Contributor: Christoph Vigano <mail@cvigano.de>
pkgname=st
-pkgver=0.8.3
+pkgver=0.9.2
pkgrel=1
pkgdesc='A simple virtual terminal emulator for X.'
-arch=('i686' 'x86_64' 'armv7h')
+arch=('i686' 'x86_64' 'armv7h' 'aarch64')
license=('MIT')
depends=(libxft)
url=https://st.suckless.org
source=(https://dl.suckless.org/$pkgname/$pkgname-$pkgver.tar.gz
terminfo.patch
README.terminfo.rst)
-sha256sums=(939ae3da237e7c9489694853c205c7cbd5f2a2f0c17fe41a07477f1df8e28552
- f9deea445a5c6203a0e8e699f3c3b55e27275f17fb408562c4dd5d649edeea23
- 0ebcbba881832adf9c98ce9fe7667c851d3cc3345077cb8ebe32702698665be2)
+sha256sums=('6b215d4f472b21d6232f30f221117a777e24bcfee68955ddefb7426467f9494b'
+ 'f9deea445a5c6203a0e8e699f3c3b55e27275f17fb408562c4dd5d649edeea23'
+ '95be3197f7de77a0fe2e4f527202e17e910ee24e1ed6bc39beb320a1304bb7e1')
_sourcedir=$pkgname-$pkgver
-_makeopts="--directory=$_sourcedir"
prepare() {
- patch --directory="$_sourcedir" --strip=0 < terminfo.patch
+ patch -d "$_sourcedir" -p 0 < terminfo.patch
# This package provides a mechanism to provide a custom config.h. Multiple
# configuration states are determined by the presence of two files in
@@ -36,37 +36,33 @@ prepare() {
# configuration changes. The package is built using
# default values.
# present The user has supplied his or her configuration. The
- # file will be copied to $srcdir and used during
+ # file will be copied to $_sourcedir and used during
# build.
#
- # After this test, config.def.h is copied from $srcdir to $BUILDDIR to
+ # After this test, config.def.h is copied from $_sourcedir to $BUILDDIR to
# provide an up to date template for the user.
if [ -e "$BUILDDIR/config.h" ]
then
cp "$BUILDDIR/config.h" "$_sourcedir"
elif [ ! -e "$BUILDDIR/config.def.h" ]
then
- msg='This package can be configured in config.h. Copy the config.def.h '
- msg+='that was just placed into the package directory to config.h and '
- msg+='modify it to change the configuration. Or just leave it alone to '
- msg+='continue to use default values.'
- warning "$msg"
+ echo \
+ 'This package can be configured in config.h. Copy the config.def.h that' \
+ 'was just placed into the package directory to config.h and modify it' \
+ 'to change the configuration. Or just leave it alone to continue to use' \
+ 'default values.'
fi
cp "$_sourcedir/config.def.h" "$BUILDDIR"
}
build() {
- make $_makeopts X11INC=/usr/include/X11 X11LIB=/usr/lib/X11
+ make -C "$_sourcedir" X11INC=/usr/include/X11 X11LIB=/usr/lib/X11
}
package() {
- local installopts='--mode 0644 -D --target-directory'
local shrdir="$pkgdir/usr/share"
- local licdir="$shrdir/licenses/$pkgname"
- local docdir="$shrdir/doc/$pkgname"
- make $_makeopts PREFIX=/usr DESTDIR="$pkgdir" install
- install $installopts "$licdir" "$_sourcedir/LICENSE"
- install $installopts "$docdir" "$_sourcedir/README"
- install $installopts "$docdir" README.terminfo.rst
- install $installopts "$shrdir/$pkgname" "$_sourcedir/st.info"
+ make -C "$_sourcedir" PREFIX=/usr DESTDIR="$pkgdir" install
+ install -D -m 0644 -t "$shrdir/licenses/$pkgname" "$_sourcedir/LICENSE"
+ install -D -m 0644 -t "$shrdir/doc/$pkgname" "$_sourcedir/README" README.terminfo.rst
+ install -D -m 0644 -t "$shrdir/$pkgname" "$_sourcedir/st.info"
}
diff --git a/README.terminfo.rst b/README.terminfo.rst
index cd724d0d4cd6..8c08b948f67e 100644
--- a/README.terminfo.rst
+++ b/README.terminfo.rst
@@ -2,7 +2,7 @@ Terminfo Entries
================
:Author: Sebastian J. Bronner <waschtl@sbronner.com>
-:Date: 2019-11-06
+:Date: 2023-02-12
:URL: https://aur.archlinux.org/packages/st
The Problem
@@ -10,11 +10,11 @@ The Problem
Most Linux-based distributions will have their terminfo entries in the
``ncurses`` package. These live in ``/usr/share/terminfo``. There you will find
-several entries for ``st``. As of ``ncurses-6.1`` as packaged in ArchLinux,
-these, do not work well with current versions of ``st``.
+several entries for ``st``. Up until ``ncurses-6.1`` as packaged in ArchLinux,
+these, did not work well with then-current versions of ``st``.
Specifically, I have observed the following issues when using the terminfo
-entries supplied with ``ncurses``:
+entries supplied with those versions of ``ncurses``:
* Start ``st``.
* Run ``tmux`` in the ``st`` window.
@@ -38,53 +38,21 @@ For reference, I performed these tests using the following software versions:
``st`` 0.8.2, ``tmux`` 2.9_a, ``neovim`` 0.4.2, and ``w3m``
0.5.3.git20190105-1.
-A couple of issues have been filed against ``tmux`` for this. Although it is
-not a problem with ``tmux`` the issues remain for reference:
-
-| https://github.com/tmux/tmux/issues/1264
-| https://github.com/tmux/tmux/issues/1593
-
-Complications
--------------
-
-While it may be tempting to use the terminfo files shipped with ``st``, that
-would be a bad idea from a packaging standpoint. There are two reasons for
-this: (1) As of ``st-0.8.2`` they have errors in them. This has been fixed and
-will roll out in the next release, though.
-
-| https://lists.gnu.org/archive/html/bug-ncurses/2019-10/msg00071.html
-| https://lists.suckless.org/hackers/1911/17006.html
-
-(2) It is vital that remote terminals connecting via ``ssh`` are known. That is
-accomplished by having all terminfo files in one package (like ``ncurses``).
-
-``ncurses`` has released updated terminfo entries. The problem as described
-above is fixed. However, the updated terminfo entries are not installed on
-ArchLinux because they were released as a standalone file without a new release
-of the rest of ``ncurses``.
-
-The Solution
-------------
-
-The solution must be to get the updated terminfo entries packaged for
-ArchLinux. I believe that the ``ncurses`` package should be updated to that
-effect.
-
-https://bugs.archlinux.org/task/57596
-
The Workaround
--------------
-A somewhat painful, albeit pragmatic, workaround is as follows: A user that
-encounters issues that are due to mismatched terminfo entries, such as those
-above, can populate a user-level terminfo database from the terminfo entries
-supplied by ``st``. The following command will do this:
+The affected versions of all software packages have since been updated and the
+issue has been resolved. However, when connecting to older remote systems using
+``ssh`` in ``st``, those remote systems may still be affected. In those cases,
+it would help to copy over ``st``'s terminfo file and generate user-level
+terminfo entries:
.. code:: shell
- tic -sx /usr/share/st/st.info
+ rsync /usr/share/st/st.info <remote>:
+ ssh <remote> tic -sx st.info
The generated terminfo database will most likely be placed in ``~/.terminfo``.
The command will print the actual location used. Unfortunately, these files
need to be kept up to date by hand. Actually they should probably be removed as
-soon as a new version of ``ncurses`` is released.
+soon as a new version of ``ncurses`` is installed on the remote system.