diff options
author | Lars Wendler <polynomial-c@gentoo.org> | 2014-04-20 18:32:47 +0000 |
---|---|---|
committer | Lars Wendler <polynomial-c@gentoo.org> | 2014-04-20 18:32:47 +0000 |
commit | 67d6957377a5f37682e12a4c47af5f2d40c45f94 (patch) | |
tree | 787226fb855e3953ca2970e2d1756d763d9c67bf /app-misc | |
parent | Unmask the first set of gx86-multilib conversions. (diff) | |
download | gentoo-2-67d6957377a5f37682e12a4c47af5f2d40c45f94.tar.gz gentoo-2-67d6957377a5f37682e12a4c47af5f2d40c45f94.tar.bz2 gentoo-2-67d6957377a5f37682e12a4c47af5f2d40c45f94.zip |
Revbump adding latest upstream fixes. Removed old
(Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 0x981CA6FC)
Diffstat (limited to 'app-misc')
-rw-r--r-- | app-misc/screen/ChangeLog | 11 | ||||
-rw-r--r-- | app-misc/screen/files/screen-4.2.0-check_for_altscreen.patch | 38 | ||||
-rw-r--r-- | app-misc/screen/files/screen-4.2.0-incompatible-protocol.patch | 23 | ||||
-rw-r--r-- | app-misc/screen/files/screen-4.2.0-long_terminal_names.patch | 69 | ||||
-rw-r--r-- | app-misc/screen/files/screen-4.2.0-tgetent.patch | 31 | ||||
-rw-r--r-- | app-misc/screen/screen-4.2.0-r1.ebuild (renamed from app-misc/screen/screen-4.2.0.ebuild) | 9 |
6 files changed, 177 insertions, 4 deletions
diff --git a/app-misc/screen/ChangeLog b/app-misc/screen/ChangeLog index f10572b7068f..dc5d8013eb99 100644 --- a/app-misc/screen/ChangeLog +++ b/app-misc/screen/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for app-misc/screen # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-misc/screen/ChangeLog,v 1.190 2014/04/18 17:19:45 polynomial-c Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-misc/screen/ChangeLog,v 1.191 2014/04/20 18:32:47 polynomial-c Exp $ + +*screen-4.2.0-r1 (20 Apr 2014) + + 20 Apr 2014; Lars Wendler <polynomial-c@gentoo.org> -screen-4.2.0.ebuild, + +screen-4.2.0-r1.ebuild, +files/screen-4.2.0-check_for_altscreen.patch, + +files/screen-4.2.0-incompatible-protocol.patch, + +files/screen-4.2.0-long_terminal_names.patch, + +files/screen-4.2.0-tgetent.patch: + Revbump adding latest upstream fixes. Removed old. 18 Apr 2014; Lars Wendler <polynomial-c@gentoo.org> screen-4.2.0.ebuild, +files/screen-4.2.0-nonethack_segfault_fix.patch: diff --git a/app-misc/screen/files/screen-4.2.0-check_for_altscreen.patch b/app-misc/screen/files/screen-4.2.0-check_for_altscreen.patch new file mode 100644 index 000000000000..cb7ca5b0b0ab --- /dev/null +++ b/app-misc/screen/files/screen-4.2.0-check_for_altscreen.patch @@ -0,0 +1,38 @@ +From 049a3bfdfc59590a24dfeefa707abb64b74ae17b Mon Sep 17 00:00:00 2001 +From: Amadeusz Sławiński <amade@asmblr.net> +Date: Fri, 18 Apr 2014 18:28:39 +0000 +Subject: do proper checks if we are on altscreen or not + +fixes screen segfaults with `altscreen on` when using applications making +use of altscreen like mc when resizing screen window + +Signed-off-by: Amadeusz Sławiński <amade@asmblr.net> +--- +diff --git a/src/ansi.c b/src/ansi.c +index 04c9012..e76eef4 100644 +--- a/src/ansi.c ++++ b/src/ansi.c +@@ -1436,14 +1436,17 @@ int c, intermediate; + { + if (i) + { +- if (!curr->w_alt.on) ++ if (!curr->w_alt.on) { + SaveCursor(&curr->w_alt.cursor); +- EnterAltScreen(curr); ++ EnterAltScreen(curr); ++ } + } + else + { +- LeaveAltScreen(curr); +- RestoreCursor(&curr->w_alt.cursor); ++ if (curr->w_alt.on) { ++ LeaveAltScreen(curr); ++ RestoreCursor(&curr->w_alt.cursor); ++ } + } + if (a1 == 47 && !i) + curr->w_saved.on = 0; +-- +cgit v0.9.0.2 diff --git a/app-misc/screen/files/screen-4.2.0-incompatible-protocol.patch b/app-misc/screen/files/screen-4.2.0-incompatible-protocol.patch new file mode 100644 index 000000000000..582be4c8a10a --- /dev/null +++ b/app-misc/screen/files/screen-4.2.0-incompatible-protocol.patch @@ -0,0 +1,23 @@ +From 14f23ca838b3d6daafbc23d14fa6aec13c382601 Mon Sep 17 00:00:00 2001 +From: Jürgen Weigert <jnweiger@gmail.com> +Date: Fri, 18 Apr 2014 13:45:21 +0000 +Subject: incompatible protocol + +--- +diff --git a/src/screen.h b/src/screen.h +index 5c93f32..e74d711 100644 +--- a/src/screen.h ++++ b/src/screen.h +@@ -182,8 +182,9 @@ struct mode + * A few revisions after 8147d08 incorrectly + * carried version 1, but should have carried 2. + * 2: screen version 4.1.0devel (revisions 8b46d8a upto YYYYYYY) ++ * 3: screen version 4.2.0 (was incorrectly originally. Patched here) + */ +-#define MSG_VERSION 2 ++#define MSG_VERSION 3 + + #define MSG_REVISION (('m'<<24) | ('s'<<16) | ('g'<<8) | MSG_VERSION) + struct msg +-- +cgit v0.9.0.2 diff --git a/app-misc/screen/files/screen-4.2.0-long_terminal_names.patch b/app-misc/screen/files/screen-4.2.0-long_terminal_names.patch new file mode 100644 index 000000000000..2252fef17eb1 --- /dev/null +++ b/app-misc/screen/files/screen-4.2.0-long_terminal_names.patch @@ -0,0 +1,69 @@ +From 44020241d033555e8e90fad3c88617dce1aed0bb Mon Sep 17 00:00:00 2001 +From: Amadeusz Sławiński <amade@asmblr.net> +Date: Fri, 18 Apr 2014 14:01:21 +0000 +Subject: fix screen to run on terminals with long $TERM + +According to tic man page: +Terminal names exceeding the maximum alias length +(32 characters on systems with long filenames, 14 characters otherwise) +will be truncated to the maximum alias length and a warning message +will be printed. + +Signed-off-by: Amadeusz Sławiński <amade@asmblr.net> +--- +diff --git a/src/display.h b/src/display.h +index e8b3b80..a433e6d 100644 +--- a/src/display.h ++++ b/src/display.h +@@ -73,7 +73,7 @@ struct display + 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[MAXTERMLEN + 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 --git a/src/os.h b/src/os.h +index 5c17c83..f1d849c 100644 +--- a/src/os.h ++++ b/src/os.h +@@ -45,6 +45,14 @@ + #define NAME_MAX 14 + #endif + ++#if !defined(MAXTERMLEN) ++# if !defined(HAVE_LONG_FILE_NAMES) ++# define MAXTERMLEN 14 ++# else ++# define MAXTERMLEN 32 ++# endif ++#endif ++ + #ifdef ISC + # ifdef ENAMETOOLONG + # undef ENAMETOOLONG +diff --git a/src/screen.h b/src/screen.h +index e74d711..01d678a 100644 +--- a/src/screen.h ++++ b/src/screen.h +@@ -203,7 +203,7 @@ struct msg + int nargs; + char line[MAXPATHLEN]; + char dir[MAXPATHLEN]; +- char screenterm[20]; /* is screen really "screen" ? */ ++ char screenterm[MAXTERMLEN]; /* is screen really "screen" ? */ + } + create; + struct +@@ -215,7 +215,7 @@ struct msg + 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[MAXTERMLEN + 1]; /* terminal type */ + int encoding; /* encoding of display */ + int detachfirst; /* whether to detach remote sessions first */ + } +-- +cgit v0.9.0.2 diff --git a/app-misc/screen/files/screen-4.2.0-tgetent.patch b/app-misc/screen/files/screen-4.2.0-tgetent.patch new file mode 100644 index 000000000000..ad13cd4984f7 --- /dev/null +++ b/app-misc/screen/files/screen-4.2.0-tgetent.patch @@ -0,0 +1,31 @@ +From 937fcec34ba0d7ebfe0fb654c4106cc9c496f106 Mon Sep 17 00:00:00 2001 +From: Amadeusz Sławiński <amade@asmblr.net> +Date: Fri, 18 Apr 2014 14:05:56 +0000 +Subject: test more libraries for tgetent + +Signed-off-by: Amadeusz Sławiński <amade@asmblr.net> +--- +diff --git a/src/configure.in b/src/configure.in +index e9ca223..139bba1 100644 +--- a/src/configure.in ++++ b/src/configure.in +@@ -674,10 +674,16 @@ AC_TRY_LINK(,tgetent((char *)0, (char *)0);,, + LIBS="-lncursesw $olibs" + AC_CHECKING(libncursesw) + AC_TRY_LINK(,tgetent((char *)0, (char *)0);,, ++LIBS="-ltinfow $olibs" ++AC_CHECKING(libtinfow) ++AC_TRY_LINK(,tgetent((char *)0, (char *)0);,, + LIBS="-lncurses $olibs" + AC_CHECKING(libncurses) + AC_TRY_LINK(,tgetent((char *)0, (char *)0);,, +-AC_MSG_ERROR(!!! no tgetent - no screen))))))) ++LIBS="-ltinfo $olibs" ++AC_CHECKING(libtinfo) ++AC_TRY_LINK(,tgetent((char *)0, (char *)0);,, ++AC_MSG_ERROR(!!! no tgetent - no screen))))))))) + + AC_TRY_RUN([ + main() +-- +cgit v0.9.0.2 diff --git a/app-misc/screen/screen-4.2.0.ebuild b/app-misc/screen/screen-4.2.0-r1.ebuild index 0270d4e55db3..838e2e94f757 100644 --- a/app-misc/screen/screen-4.2.0.ebuild +++ b/app-misc/screen/screen-4.2.0-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-misc/screen/screen-4.2.0.ebuild,v 1.3 2014/04/18 17:19:45 polynomial-c Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-misc/screen/screen-4.2.0-r1.ebuild,v 1.1 2014/04/20 18:32:47 polynomial-c Exp $ EAPI=5 @@ -32,12 +32,15 @@ src_prepare() { # Don't use utempter even if it is found on the system epatch "${FILESDIR}"/4.0.2-no-utempter.patch - # Fix building against sys-libs/ncurses[tinfo] - epatch "${FILESDIR}"/4.2.0-tinfo.patch + epatch "${FILESDIR}"/${P}-incompatible-protocol.patch \ + "${FILESDIR}"/${P}-long_terminal_names.patch \ + "${FILESDIR}"/${P}-tgetent.patch # Fix segfault when being built without nethack support (bug #507916) epatch "${FILESDIR}"/${P}-nonethack_segfault_fix.patch + epatch "${FILESDIR}"/${P}-check_for_altscreen.patch + # sched.h is a system header and causes problems with some C libraries mv sched.h _sched.h || die sed -i '/include/ s:sched.h:_sched.h:' screen.h || die |