pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/x11/vte3 vte3: Don't use packet mode on SunOS.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/0f2236ce6d19
branches:  trunk
changeset: 382116:0f2236ce6d19
user:      jperkin <jperkin%pkgsrc.org@localhost>
date:      Fri Jun 22 14:34:43 2018 +0000

description:
vte3: Don't use packet mode on SunOS.

Fixes runtime pty handling.  Bump PKGREVISION.

diffstat:

 x11/vte3/Makefile                 |   3 ++-
 x11/vte3/distinfo                 |   6 +++---
 x11/vte3/patches/patch-src_pty.cc |  37 ++++++++++++++++++++++++++++++++++---
 x11/vte3/patches/patch-src_vte.cc |  39 +++++++++++++++++++++++++++++++++++++--
 4 files changed, 76 insertions(+), 9 deletions(-)

diffs (143 lines):

diff -r a6ed59a0fb66 -r 0f2236ce6d19 x11/vte3/Makefile
--- a/x11/vte3/Makefile Fri Jun 22 14:20:45 2018 +0000
+++ b/x11/vte3/Makefile Fri Jun 22 14:34:43 2018 +0000
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.14 2018/06/12 23:00:34 youri Exp $
+# $NetBSD: Makefile,v 1.15 2018/06/22 14:34:43 jperkin Exp $
 
 DISTNAME=      vte-0.52.2
 PKGNAME=       ${DISTNAME:S/vte/vte3/}
+PKGREVISION=   1
 CATEGORIES=    x11
 MASTER_SITES=  ${MASTER_SITE_GNOME:=sources/vte/0.52/}
 EXTRACT_SUFX=  .tar.xz
diff -r a6ed59a0fb66 -r 0f2236ce6d19 x11/vte3/distinfo
--- a/x11/vte3/distinfo Fri Jun 22 14:20:45 2018 +0000
+++ b/x11/vte3/distinfo Fri Jun 22 14:34:43 2018 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.7 2018/06/21 09:34:50 jperkin Exp $
+$NetBSD: distinfo,v 1.8 2018/06/22 14:34:43 jperkin Exp $
 
 SHA1 (vte-0.52.2.tar.xz) = be8de64f8584ada23461db8e0a4dce2e650de5ce
 RMD160 (vte-0.52.2.tar.xz) = 3707a2a4a0ca7bbc562dbf2d570e7e4a4a15afef
@@ -6,6 +6,6 @@
 Size (vte-0.52.2.tar.xz) = 1011696 bytes
 SHA1 (patch-configure) = 9a570f27c0ec4e4680d517a8c2498b37728d52ae
 SHA1 (patch-src_app_app.cc) = 99fa242665d799205df305af5c0b15938db92c7c
-SHA1 (patch-src_pty.cc) = cc2e0be62a90ffefcb21f8b07cb25f281b30df1e
-SHA1 (patch-src_vte.cc) = b07315fef8593e6b51427ac039b9b4724e9fd18b
+SHA1 (patch-src_pty.cc) = 4bcd447b214d59da69ea8c0bc5100cce27623f63
+SHA1 (patch-src_vte.cc) = 9886ae82daa8c4ad55ce85e2dec3216d3e46221a
 SHA1 (patch-src_vtedraw.cc) = 1deab7738ae7c7bbb53e5b951df4d8a6ad9312f9
diff -r a6ed59a0fb66 -r 0f2236ce6d19 x11/vte3/patches/patch-src_pty.cc
--- a/x11/vte3/patches/patch-src_pty.cc Fri Jun 22 14:20:45 2018 +0000
+++ b/x11/vte3/patches/patch-src_pty.cc Fri Jun 22 14:34:43 2018 +0000
@@ -1,9 +1,10 @@
-$NetBSD: patch-src_pty.cc,v 1.2 2018/05/15 09:50:49 jperkin Exp $
+$NetBSD: patch-src_pty.cc,v 1.3 2018/06/22 14:34:43 jperkin Exp $
 
 NetBSD fix
 Use correct includes on SunOS.
+Don't use packet mode on SunOS.
 
---- src/pty.cc.orig    2018-04-09 21:43:51.000000000 +0000
+--- src/pty.cc.orig    2018-05-21 19:30:33.000000000 +0000
 +++ src/pty.cc
 @@ -60,7 +60,9 @@
  #ifdef HAVE_PTY_H
@@ -16,7 +17,22 @@
  #include <stropts.h>
  #endif
  #include <glib.h>
-@@ -624,7 +626,12 @@ _vte_pty_open_posix(void)
+@@ -605,12 +607,14 @@ fd_setup(int fd)
+                 return -1;
+         }
+ 
++#ifndef __sun
+         if (fd_set_cpkt(fd) < 0) {
+                 vte::util::restore_errno errsv;
+                 _vte_debug_print(VTE_DEBUG_PTY,
+                                  "%s failed: %s", "ioctl(TIOCPKT)", g_strerror(errsv));
+                 return -1;
+         }
++#endif
+ 
+         return 0;
+ }
+@@ -632,7 +636,12 @@ _vte_pty_open_posix(void)
          fd = posix_openpt(O_RDWR | O_NOCTTY | O_NONBLOCK | O_CLOEXEC);
  #ifndef __linux__
          /* Other kernels may not support CLOEXEC or NONBLOCK above, so try to fall back */
@@ -30,3 +46,18 @@
          if (fd == -1 && errno == EINVAL) {
                  /* Try without NONBLOCK and apply the flag afterward */
                  need_nonblocking = true;
+@@ -668,12 +677,14 @@ _vte_pty_open_posix(void)
+         }
+ #endif /* !linux */
+ 
++#ifndef __sun
+         if (fd_set_cpkt(fd) < 0) {
+                 vte::util::restore_errno errsv;
+                 _vte_debug_print(VTE_DEBUG_PTY,
+                                  "%s failed: %s", "ioctl(TIOCPKT)", g_strerror(errsv));
+                 return -1;
+         }
++#endif
+ 
+       _vte_debug_print(VTE_DEBUG_PTY, "Allocated pty on fd %d.\n", (int)fd);
+ 
diff -r a6ed59a0fb66 -r 0f2236ce6d19 x11/vte3/patches/patch-src_vte.cc
--- a/x11/vte3/patches/patch-src_vte.cc Fri Jun 22 14:20:45 2018 +0000
+++ b/x11/vte3/patches/patch-src_vte.cc Fri Jun 22 14:34:43 2018 +0000
@@ -1,8 +1,9 @@
-$NetBSD: patch-src_vte.cc,v 1.1 2018/05/15 09:50:49 jperkin Exp $
+$NetBSD: patch-src_vte.cc,v 1.2 2018/06/22 14:34:43 jperkin Exp $
 
 Use correct includes on SunOS.
+Don't use packet mode on SunOS.
 
---- src/vte.cc.orig    2018-04-09 21:43:51.000000000 +0000
+--- src/vte.cc.orig    2018-05-21 19:31:53.000000000 +0000
 +++ src/vte.cc
 @@ -25,6 +25,9 @@
  #include <string.h>
@@ -14,3 +15,37 @@
  #include <errno.h>
  #include <fcntl.h>
  #include <math.h>
+@@ -3970,6 +3973,9 @@ VteTerminalPrivate::pty_io_read(GIOChann
+                       bp = chunk->data + chunk->len;
+                       len = 0;
+                       do {
++#ifdef __sun
++                              int ret = read (fd, bp, rem);
++#else
+                                 /* We'd like to read (fd, bp, rem); but due to TIOCPKT mode
+                                  * there's an extra input byte returned at the beginning.
+                                  * We need to see what that byte is, but otherwise drop it
+@@ -3980,6 +3986,7 @@ VteTerminalPrivate::pty_io_read(GIOChann
+                                 int ret = read (fd, bp - 1, rem + 1);
+                                 pkt_header = bp[-1];
+                                 bp[-1] = save;
++#endif
+                               switch (ret){
+                                       case -1:
+                                               err = errno;
+@@ -3988,6 +3995,7 @@ VteTerminalPrivate::pty_io_read(GIOChann
+                                               eof = TRUE;
+                                               goto out;
+                                       default:
++#ifndef __sun
+                                                 ret--;
+ 
+                                                 if (pkt_header & TIOCPKT_IOCTL) {
+@@ -4008,6 +4016,7 @@ VteTerminalPrivate::pty_io_read(GIOChann
+                                                 } else if (pkt_header & TIOCPKT_START) {
+                                                         pty_scroll_lock_changed(false);
+                                                 }
++#endif
+ 
+                                               bp += ret;
+                                               rem -= ret;



Home | Main Index | Thread Index | Old Index