summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Lecher <jlec@gentoo.org>2010-11-17 14:51:18 +0000
committerJustin Lecher <jlec@gentoo.org>2010-11-17 14:51:18 +0000
commit1257604e09ad7d7a94ad98ace8abb0f402e487a1 (patch)
tree91d4eab062164c59f7193204a7a0ab6ea49b3e79
parentOld. (diff)
downloadgentoo-2-1257604e09ad7d7a94ad98ace8abb0f402e487a1.tar.gz
gentoo-2-1257604e09ad7d7a94ad98ace8abb0f402e487a1.tar.bz2
gentoo-2-1257604e09ad7d7a94ad98ace8abb0f402e487a1.zip
Fix for long names in TERM, thanks Stelian Ionescu #345863
(Portage version: 2.1.9.24/cvs/Linux x86_64)
-rw-r--r--app-misc/screen/ChangeLog9
-rw-r--r--app-misc/screen/files/4.0.3-extend-d_termname.patch29
-rw-r--r--app-misc/screen/screen-4.0.3-r2.ebuild168
-rw-r--r--app-misc/screen/screen-4.0.3.ebuild4
4 files changed, 207 insertions, 3 deletions
diff --git a/app-misc/screen/ChangeLog b/app-misc/screen/ChangeLog
index d841eb25b5b0..f0b78a946689 100644
--- a/app-misc/screen/ChangeLog
+++ b/app-misc/screen/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for app-misc/screen
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-misc/screen/ChangeLog,v 1.149 2010/11/08 22:58:14 swegener Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-misc/screen/ChangeLog,v 1.150 2010/11/17 14:51:18 jlec Exp $
+
+*screen-4.0.3-r2 (17 Nov 2010)
+
+ 17 Nov 2010; Justin Lecher <jlec@gentoo.org>
+ +files/4.0.3-extend-d_termname.patch, screen-4.0.3.ebuild,
+ +screen-4.0.3-r2.ebuild:
+ Fix for long names in TERM, thanks Stelian Ionescu #345863
08 Nov 2010; Sven Wegener <swegener@gentoo.org>
-files/screen-4.0.3_p20070403-map.patch:
diff --git a/app-misc/screen/files/4.0.3-extend-d_termname.patch b/app-misc/screen/files/4.0.3-extend-d_termname.patch
new file mode 100644
index 000000000000..1849bf1ebbbb
--- /dev/null
+++ b/app-misc/screen/files/4.0.3-extend-d_termname.patch
@@ -0,0 +1,29 @@
+diff -ur screen-4.0.3.orig//display.h screen-4.0.3/display.h
+--- screen-4.0.3.orig//display.h 2003-07-01 16:01:42.000000000 +0200
++++ screen-4.0.3/display.h 2010-11-17 13:18:13.182984179 +0100
+@@ -22,6 +22,16 @@
+ * $Id: 4.0.3-extend-d_termname.patch,v 1.1 2010/11/17 14:51:18 jlec Exp $ FAU
+ */
+
++#include <limits.h>
++
++#ifndef NAME_MAX
++# ifndef MAXNAMELEN
++# define NAME_MAX 255
++# else
++# define NAME_MAX MAXNAMELEN
++# endif
++#endif
++
+ #ifdef MAPKEYS
+
+ #define KMAP_KEYS (T_OCAPS-T_CAPS)
+@@ -85,7 +95,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[NAME_MAX + 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/app-misc/screen/screen-4.0.3-r2.ebuild b/app-misc/screen/screen-4.0.3-r2.ebuild
new file mode 100644
index 000000000000..efba5f21a3dc
--- /dev/null
+++ b/app-misc/screen/screen-4.0.3-r2.ebuild
@@ -0,0 +1,168 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-misc/screen/screen-4.0.3-r2.ebuild,v 1.1 2010/11/17 14:51:18 jlec Exp $
+
+EAPI="3"
+
+WANT_AUTOCONF="2.5"
+
+inherit eutils flag-o-matic toolchain-funcs pam autotools
+
+DESCRIPTION="Full-screen window manager that multiplexes physical terminals between several processes"
+HOMEPAGE="http://www.gnu.org/software/screen/"
+SRC_URI="ftp://ftp.uni-erlangen.de/pub/utilities/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~hppa-hpux ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug nethack pam selinux multiuser"
+
+RDEPEND=">=sys-libs/ncurses-5.2
+ pam? ( virtual/pam )
+ selinux? ( sec-policy/selinux-screen )"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ # Make sure utmp group exists, as it's used later on.
+ enewgroup utmp 406
+}
+
+src_prepare() {
+ # Bug 34599: integer overflow in 4.0.1
+ # (Nov 29 2003 -solar)
+ epatch "${FILESDIR}"/screen-4.0.1-int-overflow-fix.patch
+
+ # Bug 31070: configure problem which affects alpha
+ # (13 Jan 2004 agriffis)
+ epatch "${FILESDIR}"/screen-4.0.1-vsprintf.patch
+
+ # uclibc doesnt have sys/stropts.h
+ if ! (echo '#include <sys/stropts.h>' | $(tc-getCC) -E - &>/dev/null) ; then
+ epatch "${FILESDIR}"/4.0.2-no-pty.patch
+ fi
+
+ # Don't use utempter even if it is found on the system
+ epatch "${FILESDIR}"/4.0.2-no-utempter.patch
+
+ # Don't link against libelf even if it is found on the system
+ epatch "${FILESDIR}"/4.0.2-no-libelf.patch
+
+ # Patch for time function on 64bit systems
+ epatch "${FILESDIR}"/4.0.2-64bit-time.patch
+
+ # Patch that makes %u work for windowlist -b formats
+ epatch "${FILESDIR}"/4.0.2-windowlist-multiuser-fix.patch
+
+ # Open tty in non-blocking mode
+ epatch "${FILESDIR}"/4.0.2-nonblock.patch
+
+ # compability for sys-devel/autoconf-2.62
+ epatch "${FILESDIR}"/screen-4.0.3-config.h-autoconf-2.62.patch
+
+ # crosscompile patch
+ epatch "${FILESDIR}"/"${P}"-crosscompile.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
+
+ # Allow for more rendition (color/attribute) changes in status bars
+ sed -i \
+ -e "s:#define MAX_WINMSG_REND 16:#define MAX_WINMSG_REND 64:" \
+ screen.c \
+ || die "sed screen.c failed"
+
+ # Fix manpage.
+ sed -i \
+ -e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
+ -e "s:/usr/local/screens:${EPREFIX}/var/run/screen:g" \
+ -e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
+ -e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
+ -e "s:/local/screens/S-:${EPREFIX}/var/run/screen/S-:g" \
+ doc/screen.1 \
+ || die "sed doc/screen.1 failed"
+
+ # proper setenv detection for Solaris
+ epatch "${FILESDIR}"/${P}-setenv_autoconf.patch
+
+ # Allow TERM string large enough to use with rxvt-unicode-256color
+ epatch "${FILESDIR}"/${PV}-extend-d_termname.patch
+
+ # reconfigure
+ eautoconf
+}
+
+src_configure() {
+ append-flags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
+
+ [[ ${CHOST} == *-solaris* ]] && append-libs -lsocket -lnsl
+
+ use nethack || append-flags "-DNONETHACK"
+ use debug && append-flags "-DDEBUG"
+
+ econf \
+ --with-socket-dir="${EPREFIX}/var/run/screen" \
+ --with-sys-screenrc="${EPREFIX}/etc/screenrc" \
+ --with-pty-mode=0620 \
+ --with-pty-group=5 \
+ --enable-rxvt_osc \
+ --enable-telnet \
+ --enable-colors256 \
+ $(use_enable pam) \
+ || die "econf failed"
+
+ # Second try to fix bug 12683, this time without changing term.h
+ # The last try seemed to break screen at run-time.
+ # (16 Jan 2003 agriffis)
+ LC_ALL=POSIX make term.h || die "Failed making term.h"
+}
+
+src_install() {
+ dobin screen || die "dobin failed"
+ keepdir /var/run/screen || die "keepdir failed"
+
+ if use multiuser || use prefix
+ then
+ fperms 4755 /usr/bin/screen || die "fperms failed"
+ else
+ fowners root:utmp /{usr/bin,var/run}/screen \
+ || die "fowners failed, use multiuser USE-flag instead"
+ fperms 2755 /usr/bin/screen || die "fperms failed"
+ fi
+
+ insinto /usr/share/screen
+ doins terminfo/{screencap,screeninfo.src} || die "doins failed"
+ insinto /usr/share/screen/utf8encodings
+ doins utf8encodings/?? || die "doins failed"
+ insinto /etc
+ doins "${FILESDIR}"/screenrc || die "doins failed"
+
+ pamd_mimic_system screen auth || die "pamd_mimic_system failed"
+
+ dodoc \
+ README ChangeLog INSTALL TODO NEWS* patchlevel.h \
+ doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps} \
+ || die "dodoc failed"
+
+ doman doc/screen.1 || die "doman failed"
+ doinfo doc/screen.info* || die "doinfo failed"
+}
+
+pkg_postinst() {
+ if use multiuser || use prefix
+ then
+ use prefix || chown root:0 "${EROOT}"/var/run/screen
+ if use prefix; then
+ chmod 0777 "${EROOT}"/var/run/screen
+ else
+ chmod 0755 "${EROOT}"/var/run/screen
+ fi
+ else
+ chown root:utmp "${EROOT}"/var/run/screen
+ chmod 0775 "${EROOT}"/var/run/screen
+ fi
+
+ elog "Some dangerous key bindings have been removed or changed to more safe values."
+ elog "We enable some xterm hacks in our default screenrc, which might break some"
+ elog "applications. Please check /etc/screenrc for information on these changes."
+}
diff --git a/app-misc/screen/screen-4.0.3.ebuild b/app-misc/screen/screen-4.0.3.ebuild
index df4d89df4b21..3a83de5b8ed1 100644
--- a/app-misc/screen/screen-4.0.3.ebuild
+++ b/app-misc/screen/screen-4.0.3.ebuild
@@ -1,12 +1,12 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-misc/screen/screen-4.0.3.ebuild,v 1.22 2010/10/19 06:22:06 leio Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-misc/screen/screen-4.0.3.ebuild,v 1.23 2010/11/17 14:51:18 jlec Exp $
WANT_AUTOCONF="2.5"
inherit eutils flag-o-matic toolchain-funcs pam autotools
-DESCRIPTION="Screen - A full-screen window manager that multiplexes physical terminals between several processes"
+DESCRIPTION="Full-screen window manager that multiplexes physical terminals between several processes"
HOMEPAGE="http://www.gnu.org/software/screen/"
SRC_URI="ftp://ftp.uni-erlangen.de/pub/utilities/${PN}/${P}.tar.gz"