Procházet zdrojové kódy

update xterm to latest upstream, add fixes t owork with musl libc

Waldemar Brodkorb před 10 roky
rodič
revize
55bbdd0c37

+ 4 - 3
package/xterm/Makefile

@@ -4,9 +4,9 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		xterm
-PKG_VERSION:=		267
+PKG_VERSION:=		297
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		3945ab70cfa2a9e95804157ee1b0f8e8
+PKG_MD5SUM:=		45610ae6fe90cf086fcd75b9cb97bbaf
 PKG_DESCR:=		Terminal Emulator for X Windows
 PKG_SECTION:=		x11/apps
 PKG_DEPENDS:=		libxaw libxt libncurses libxft fontconfig
@@ -20,7 +20,8 @@ include $(TOPDIR)/mk/package.mk
 
 $(eval $(call PKG_template,XTERM,xterm,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
-CONFIGURE_ARGS+=	--with-app-defaults=/usr/lib/X11/app-defaults
+CONFIGURE_ARGS+=	--with-app-defaults=/usr/lib/X11/app-defaults \
+			--disable-pty-handshake
 
 xterm-install:
 	$(INSTALL_DIR) $(IDIR_XTERM)/usr/bin

+ 41 - 0
package/xterm/patches/patch-main_c

@@ -0,0 +1,41 @@
+--- xterm-297.orig/main.c	2013-05-28 00:11:11.000000000 +0200
++++ xterm-297/main.c	2013-10-31 12:24:52.000000000 +0100
+@@ -2583,7 +2583,7 @@ main(int argc, char *argv[]ENVP_ARG)
+     }
+ }
+ 
+-#if defined(__osf__) || (defined(__GLIBC__) && !defined(USE_USG_PTYS)) || defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
++#if defined(__osf__) || (defined(__linux__) && !defined(USE_USG_PTYS)) || defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+ #define USE_OPENPTY 1
+ static int opened_tty = -1;
+ #endif
+@@ -3134,7 +3134,7 @@ find_utmp(struct UTMP_STR *tofind)
+ 
+ #define close_fd(fd) close(fd), fd = -1
+ 
+-#if defined(TIOCNOTTY) && (!defined(__GLIBC__) || (__GLIBC__ < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 1)))
++#if defined(TIOCNOTTY) && defined(__linux__)
+ #define USE_NO_DEV_TTY 1
+ #else
+ #define USE_NO_DEV_TTY 0
+@@ -3378,7 +3378,8 @@ spawnXTerm(XtermWidget xw)
+ 	    }
+ #endif /* __MVS__ */
+ 
+-	    close_fd(ttyfd);
++	    // do not close it here
++	    // close_fd(ttyfd);
+ 	}
+ 
+ 	if (get_pty(&screen->respond, XDisplayString(screen->display))) {
+@@ -3807,8 +3808,9 @@ spawnXTerm(XtermWidget xw)
+ 		   eg. by lineedit in the shell, or emacs, etc. then tio
+ 		   will have bad values.  Let's just get termio from the
+ 		   new tty and tailor it.  */
+-		if (ttyGetAttr(ttyfd, &tio) == -1)
++		if (ttyGetAttr(ttyfd, &tio) == -1) {
+ 		    SysError(ERROR_TIOCGETP);
++		}
+ 		tio.c_lflag |= ECHOE;
+ #endif /* umips */
+ 		/* Now is also the time to change the modes of the

+ 11 - 0
package/xterm/patches/patch-ptyx_h

@@ -0,0 +1,11 @@
+--- xterm-297.orig/ptyx.h	2013-09-10 20:10:00.000000000 +0200
++++ xterm-297/ptyx.h	2013-10-30 10:30:07.000000000 +0100
+@@ -169,7 +169,7 @@
+ #define USE_PTY_DEVICE 1
+ #define USE_PTY_SEARCH 1
+ 
+-#if defined(__osf__) || (defined(linux) && defined(__GLIBC__) && (__GLIBC__ >= 2) && (__GLIBC_MINOR__ >= 1)) || defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
++#if defined(__osf__) || defined(linux) || defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+ #undef USE_PTY_DEVICE
+ #undef USE_PTY_SEARCH
+ #define USE_PTS_DEVICE 1

+ 11 - 0
package/xterm/patches/patch-xterm_h

@@ -0,0 +1,11 @@
+--- xterm-297.orig/xterm.h	2013-09-10 12:55:04.000000000 +0200
++++ xterm-297/xterm.h	2013-10-30 17:19:53.000000000 +0100
+@@ -99,7 +99,7 @@
+ #define HAVE_PUTENV 1
+ #endif
+ 
+-#if defined(CSRG_BASED) || defined(__GNU__)
++#if defined(CSRG_BASED) || defined(__linux__)
+ #define USE_POSIX_TERMIOS 1
+ #endif
+ 

+ 11 - 0
package/xterm/patches/patch-xterm_io_h

@@ -0,0 +1,11 @@
+--- xterm-297.orig/xterm_io.h	2013-01-06 16:20:45.000000000 +0100
++++ xterm-297/xterm_io.h	2013-10-30 17:21:10.000000000 +0100
+@@ -66,7 +66,7 @@
+ #endif
+ 
+ #ifdef linux
+-#define USE_TERMIOS
++#define USE_POSIX_TERMIOS
+ #endif
+ 
+ #ifdef __SCO__