screen: fix some annoying bugs by importing patches from ArchLinux
This commit is contained in:
parent
8acaea6d57
commit
16972d2415
|
@ -8,6 +8,9 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "0xvckv1ia5pjxk7fs4za6gz2njwmfd54sc464n8ab13096qxbw3q";
|
sha256 = "0xvckv1ia5pjxk7fs4za6gz2njwmfd54sc464n8ab13096qxbw3q";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [ ./screen-4.0.3-caption-colors.patch
|
||||||
|
./screen-4.0.3-long-term.patch ];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
configureFlags="--enable-telnet --enable-pam --infodir=$out/share/info --mandir=$out/share/man --with-sys-screenrc=/etc/screenrc"
|
configureFlags="--enable-telnet --enable-pam --infodir=$out/share/info --mandir=$out/share/man --with-sys-screenrc=/etc/screenrc"
|
||||||
sed -i -e "s|/usr/local|/non-existent|g" -e "s|/usr|/non-existent|g" configure Makefile.in */Makefile.in
|
sed -i -e "s|/usr/local|/non-existent|g" -e "s|/usr|/non-existent|g" configure Makefile.in */Makefile.in
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
# Source:
|
||||||
|
# https://projects.archlinux.org/svntogit/packages.git/plain/screen/trunk/screen-4.0.3-caption-colors.patch
|
||||||
|
# modified by hand for nixpkgs
|
||||||
|
|
||||||
|
From e6a28cf8bfdac15faa6c267bf476ddcaddf48d67 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Sadrul Habib Chowdhury <sadrul@users.sourceforge.net>
|
||||||
|
Date: Tue, 26 Jan 2010 20:17:26 +0000
|
||||||
|
Subject: Accommodate more color changes in the caption.
|
||||||
|
|
||||||
|
---
|
||||||
|
diff --git a/src/screen.c b/src/screen.c
|
||||||
|
index b1c3dfb..2cceae0 100644
|
||||||
|
--- a/screen.c
|
||||||
|
+++ b/screen.c
|
||||||
|
@@ -2204,7 +2204,7 @@ static const char months[] = "JanFebMarAprMayJunJulAugSepOctNovDec";
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static char winmsg_buf[MAXSTR];
|
||||||
|
-#define MAX_WINMSG_REND 16 /* rendition changes */
|
||||||
|
+#define MAX_WINMSG_REND 256 /* rendition changes */
|
||||||
|
static int winmsg_rend[MAX_WINMSG_REND];
|
||||||
|
static int winmsg_rendpos[MAX_WINMSG_REND];
|
||||||
|
static int winmsg_numrend;
|
||||||
|
--
|
||||||
|
cgit v0.8.3.4
|
|
@ -0,0 +1,29 @@
|
||||||
|
# Source:
|
||||||
|
# https://projects.archlinux.org/svntogit/packages.git/plain/screen/trunk/screen-4.0.3-long-term.patch
|
||||||
|
|
||||||
|
# This fixes long terminal names handling, e.g. TERM=rxvt-unicode-256colors works
|
||||||
|
# as expected.
|
||||||
|
diff -Naur screen-4.0.3-orig//display.h screen-4.0.3/display.h
|
||||||
|
--- screen-4.0.3-orig//display.h 2003-07-02 00:01:42.000000000 +1000
|
||||||
|
+++ screen-4.0.3/display.h 2010-12-03 20:19:23.826671689 +1000
|
||||||
|
@@ -85,7 +85,7 @@
|
||||||
|
struct win *d_other; /* pointer to other window */
|
||||||
|
int d_nonblock; /* -1 don't block if obufmax reached */
|
||||||
|
/* >0: block after nonblock secs */
|
||||||
|
- char d_termname[20 + 1]; /* $TERM */
|
||||||
|
+ char d_termname[40 + 1]; /* $TERM */
|
||||||
|
char *d_tentry; /* buffer for tgetstr */
|
||||||
|
char d_tcinited; /* termcap inited flag */
|
||||||
|
int d_width, d_height; /* width/height of the screen */
|
||||||
|
diff -Naur screen-4.0.3-orig//screen.h screen-4.0.3/screen.h
|
||||||
|
--- screen-4.0.3-orig//screen.h 2003-08-22 22:28:43.000000000 +1000
|
||||||
|
+++ screen-4.0.3/screen.h 2010-12-03 20:19:43.163338333 +1000
|
||||||
|
@@ -202,7 +202,7 @@
|
||||||
|
char preselect[20];
|
||||||
|
int esc; /* his new escape character unless -1 */
|
||||||
|
int meta_esc; /* his new meta esc character unless -1 */
|
||||||
|
- char envterm[20 + 1]; /* terminal type */
|
||||||
|
+ char envterm[40 + 1]; /* terminal type */
|
||||||
|
int encoding; /* encoding of display */
|
||||||
|
}
|
||||||
|
attach;
|
Loading…
Reference in New Issue