summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelipe Contreras2020-12-06 19:42:14 -0600
committerFelipe Contreras2020-12-06 19:50:28 -0600
commit84ce92c955b2e4d55f966ab540c785c81d13e438 (patch)
tree6086d41ce22ba9dec514cfcffb5ec7dffbd8cf42
parent4466f7230710b81bcb2b8e19a1adcae8f904745f (diff)
downloadaur-84ce92c955b2e4d55f966ab540c785c81d13e438.tar.gz
Add the patch that admins didn't want to address
Since Doug Newgard rejected it: https://bugs.archlinux.org/task/68868 Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
-rw-r--r--.SRCINFO2
-rw-r--r--PKGBUILD7
-rw-r--r--fix-exit-regression.patch46
3 files changed, 53 insertions, 2 deletions
diff --git a/.SRCINFO b/.SRCINFO
index c21fce8c3cee..427fa1daa82d 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -21,7 +21,9 @@ pkgbase = vte3-nohang
provides = libvte-2.91.so
conflicts = vte3
source = git+https://gitlab.gnome.org/GNOME/vte.git#commit=62c4908953e3fea8e0771fa82212462157d46d4f
+ source = fix-exit-regression.patch
sha256sums = SKIP
+ sha256sums = 582edbac0c92cb023a4c0a8f70cb74c85606c139ab8c8f83f6093a21e3033a5c
pkgname = vte3-nohang
diff --git a/PKGBUILD b/PKGBUILD
index 7ae5a91cc32f..b508c49d8c9a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -10,8 +10,10 @@ license=(LGPL)
depends=(gtk3 pcre2 gnutls fribidi systemd-libs)
makedepends=(gobject-introspection vala git gtk-doc gperf meson)
_commit=62c4908953e3fea8e0771fa82212462157d46d4f # tags/0.62.1^0
-source=("git+https://gitlab.gnome.org/GNOME/vte.git#commit=$_commit")
-sha256sums=('SKIP')
+source=("git+https://gitlab.gnome.org/GNOME/vte.git#commit=$_commit"
+ fix-exit-regression.patch)
+sha256sums=('SKIP'
+ '582edbac0c92cb023a4c0a8f70cb74c85606c139ab8c8f83f6093a21e3033a5c')
depends+=(vte-common)
provides=("vte3=$pkgver" libvte-2.91.so)
@@ -23,6 +25,7 @@ pkgver() {
prepare() {
cd vte
+ patch -p1 -i "$srcdir/fix-exit-regression.patch"
}
build() {
diff --git a/fix-exit-regression.patch b/fix-exit-regression.patch
new file mode 100644
index 000000000000..eeaf3afba227
--- /dev/null
+++ b/fix-exit-regression.patch
@@ -0,0 +1,46 @@
+From 21514e6d4f38cdf4d5ce9186c2dcc8e6bb63ce15 Mon Sep 17 00:00:00 2001
+From: Felipe Contreras <felipe.contreras@gmail.com>
+Date: Sun, 6 Dec 2020 04:01:03 -0600
+Subject: [PATCH] Fix exit regression
+
+Any time you start a job in the background vte gets confused and waits
+several seconds for nothing to happen before exiting.
+
+This regression was thanks to commit 7888602c
+(lib: Rework child exit and EOF handling, 2019-11-17).
+
+It can be triggered by simply doing:
+
+ sleep infinity &
+ exit
+
+The maintainers of vte clearly have no intention fixing the issue that
+was reported more than one year ago.
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/204
+
+With this patch we can return to the behavior of 0.59, where the
+terminal exits immediately.
+
+Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
+---
+ src/vte.cc | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/vte.cc b/src/vte.cc
+index 2614e5b4..ea80d1ee 100644
+--- a/src/vte.cc
++++ b/src/vte.cc
+@@ -3130,6 +3130,9 @@ Terminal::child_watch_done(pid_t pid,
+
+ m_pty_pid = -1;
+
++ if (pty())
++ unset_pty();
++
+ /* If we still have a PTY, or data to process, defer emitting the signals
+ * until we have EOF on the PTY, so that we can process all pending data.
+ */
+--
+2.29.2
+