diff --git a/pkgs/tools/misc/screen/default.nix b/pkgs/tools/misc/screen/default.nix index 2a525676192..2a3f53d6741 100644 --- a/pkgs/tools/misc/screen/default.nix +++ b/pkgs/tools/misc/screen/default.nix @@ -8,6 +8,9 @@ stdenv.mkDerivation rec { sha256 = "0xvckv1ia5pjxk7fs4za6gz2njwmfd54sc464n8ab13096qxbw3q"; }; + patches = [ ./screen-4.0.3-caption-colors.patch + ./screen-4.0.3-long-term.patch ]; + preConfigure = '' 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 diff --git a/pkgs/tools/misc/screen/screen-4.0.3-caption-colors.patch b/pkgs/tools/misc/screen/screen-4.0.3-caption-colors.patch new file mode 100644 index 00000000000..14365dc81c1 --- /dev/null +++ b/pkgs/tools/misc/screen/screen-4.0.3-caption-colors.patch @@ -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 +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 diff --git a/pkgs/tools/misc/screen/screen-4.0.3-long-term.patch b/pkgs/tools/misc/screen/screen-4.0.3-long-term.patch new file mode 100644 index 00000000000..f94f9da8ac4 --- /dev/null +++ b/pkgs/tools/misc/screen/screen-4.0.3-long-term.patch @@ -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;