diff options
author | Aron Griffis <agriffis@gentoo.org> | 2004-01-13 18:39:49 +0000 |
---|---|---|
committer | Aron Griffis <agriffis@gentoo.org> | 2004-01-13 18:39:49 +0000 |
commit | aae1ef390d157a0380b021937f758085f6dd5f6b (patch) | |
tree | f869bc600564396c76e0e35dbe7fe906490bba85 /app-misc/screen | |
parent | Fix for python 2.3. (diff) | |
download | historical-aae1ef390d157a0380b021937f758085f6dd5f6b.tar.gz historical-aae1ef390d157a0380b021937f758085f6dd5f6b.tar.bz2 historical-aae1ef390d157a0380b021937f758085f6dd5f6b.zip |
Add patch (modified) from http://groups.yahoo.com/group/gnu-screen/message/2863 to fix bug 31070. This allows alpha to build with optimization again since glibc's vsprintf function is being used instead of screen's broken internal implementation.
Diffstat (limited to 'app-misc/screen')
-rw-r--r-- | app-misc/screen/ChangeLog | 11 | ||||
-rw-r--r-- | app-misc/screen/Manifest | 5 | ||||
-rw-r--r-- | app-misc/screen/files/digest-screen-4.0.1-r2 | 1 | ||||
-rw-r--r-- | app-misc/screen/files/screen-4.0.1-vsprintf.patch | 13 | ||||
-rw-r--r-- | app-misc/screen/screen-4.0.1-r2.ebuild | 118 |
5 files changed, 146 insertions, 2 deletions
diff --git a/app-misc/screen/ChangeLog b/app-misc/screen/ChangeLog index 2bdd65e20601..ee9acdacb842 100644 --- a/app-misc/screen/ChangeLog +++ b/app-misc/screen/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for app-misc/screen # Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-misc/screen/ChangeLog,v 1.53 2004/01/09 23:22:10 agriffis Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-misc/screen/ChangeLog,v 1.54 2004/01/13 18:39:49 agriffis Exp $ + +*screen-4.0.1-r2 (13 Jan 2004) + + 13 Jan 2004; Aron Griffis <agriffis@gentoo.org> screen-4.0.1-r2.ebuild, + files/screen-4.0.1-vsprintf.patch: + Add patch (modified) from + http://groups.yahoo.com/group/gnu-screen/message/2863 to fix bug 31070. This + allows alpha to build with optimization again since glibc's vsprintf + function is being used instead of screen's broken internal implementation. 09 Jan 2004; Aron Griffis <agriffis@gentoo.org> screen-4.0.1-r1.ebuild: stable on alpha diff --git a/app-misc/screen/Manifest b/app-misc/screen/Manifest index 9af8d0b45c6c..a22f4405ead9 100644 --- a/app-misc/screen/Manifest +++ b/app-misc/screen/Manifest @@ -1,9 +1,10 @@ -MD5 6913733dd746c8e3b184036166b6f710 ChangeLog 8005 +MD5 669a347ff7385a133649a7b43b8b8580 ChangeLog 8404 MD5 e885e877b3a21cd1ba13729342b7e880 screen-4.0.1.ebuild 3203 MD5 62ca5616c856f02e71f26b7a07874040 screen-3.9.15.ebuild 3252 MD5 dadcdb82c6dd84fe87d44e9400d7f3b1 screen-3.9.15-r1.ebuild 3268 MD5 9897a2ab6bed33d44fdff05e870a02f5 screen-3.9.13-r4.ebuild 3237 MD5 4e0f8b31615449e108e27f94d3d5915c screen-4.0.1-r1.ebuild 3518 +MD5 2bac2e0e0e8f6cbd882d990aee43bb9d screen-4.0.1-r2.ebuild 3602 MD5 dba3664c47bb3500be08c4255e57d7f5 files/digest-screen-4.0.1 64 MD5 7a189de63cbd2403ae7b53c66e381e63 files/digest-screen-3.9.15 65 MD5 92309a741320be95be4aeaed2f66310f files/screen.pam 91 @@ -13,3 +14,5 @@ MD5 eb8650e1be3ea32836771743d3755cb6 files/digest-screen-3.9.13-r4 64 MD5 7a189de63cbd2403ae7b53c66e381e63 files/digest-screen-3.9.15-r1 65 MD5 839ac3a5c896513a3e3c6353a6242f53 files/screen.pam.system-auth 113 MD5 23cfd7dd1968780724e7b9a3cb406cc8 files/screen-4.0.1-int-overflow-fix.patch 930 +MD5 304be93a4c3b72f2f761f45194059287 files/screen-4.0.1-vsprintf.patch 480 +MD5 dba3664c47bb3500be08c4255e57d7f5 files/digest-screen-4.0.1-r2 64 diff --git a/app-misc/screen/files/digest-screen-4.0.1-r2 b/app-misc/screen/files/digest-screen-4.0.1-r2 new file mode 100644 index 000000000000..80f199b5715c --- /dev/null +++ b/app-misc/screen/files/digest-screen-4.0.1-r2 @@ -0,0 +1 @@ +MD5 2f674d5a7a299abf085d0b69c90de4f8 screen-4.0.1.tar.gz 837445 diff --git a/app-misc/screen/files/screen-4.0.1-vsprintf.patch b/app-misc/screen/files/screen-4.0.1-vsprintf.patch new file mode 100644 index 000000000000..b2f7a20f9e92 --- /dev/null +++ b/app-misc/screen/files/screen-4.0.1-vsprintf.patch @@ -0,0 +1,13 @@ +--- screen-4.0.1/configure.in 2003-06-03 07:58:24.000000000 -0400 ++++ screen-4.0.1/configure.in.agriffis 2004-01-13 12:07:37.000000000 -0500 +@@ -1206,7 +1206,9 @@ + rm -f /tmp/conftest* + + AC_MSG_CHECKING(for vsprintf) +-AC_TRY_LINK(,[vsprintf(0,0,0);], AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS), AC_MSG_RESULT(no)) ++AC_TRY_LINK([#include <stdarg.h>],[va_list valist; vsprintf(0,0,valist);], ++ [AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS)], ++ [AC_MSG_RESULT(no)]) + + AC_HEADER_DIRENT + diff --git a/app-misc/screen/screen-4.0.1-r2.ebuild b/app-misc/screen/screen-4.0.1-r2.ebuild new file mode 100644 index 000000000000..6daaf65deda4 --- /dev/null +++ b/app-misc/screen/screen-4.0.1-r2.ebuild @@ -0,0 +1,118 @@ +# Copyright 1999-2004 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-misc/screen/screen-4.0.1-r2.ebuild,v 1.1 2004/01/13 18:39:49 agriffis Exp $ + +inherit flag-o-matic + +IUSE="pam" +DESCRIPTION="Screen is a full-screen window manager that multiplexes a physical terminal between several processes" +HOMEPAGE="http://www.guckes.net/screen/" +SRC_URI="ftp://ftp.uni-erlangen.de/pub/utilities/screen/${P}.tar.gz" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="x86 sparc ppc hppa amd64 mips alpha" + +DEPEND=">=sys-libs/ncurses-5.2 + >=sys-apps/sed-4 + pam? ( >=sys-libs/pam-0.75 ) + >=sys-devel/autoconf-2.57" + +src_unpack() { + unpack ${A} && cd ${S} || die + + # 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 + + # Fix manpage. + sed -i \ + -e "s:/usr/local/etc/screenrc:/etc/screenrc:g; + s:/usr/local/screens:/var/run/screen:g; + s:/local/etc/screenrc:/etc/screenrc:g; + s:/etc/utmp:/var/run/utmp:g; + s:/local/screens/S-:/var/run/screen/S-:g" doc/screen.1 || \ + die "sed doc/screen.1 failed" + + # configure as delivered with screen is made with autoconf-2.5 + WANT_AUTOCONF=2.5 autoconf +} + +src_compile() { + local myconf + + addpredict "`tty`" + addpredict "${SSH_TTY}" + + # check config.h for other settings such as the + # max-number of windows allowed by screen. + append-flags "-DPTYMODE=0620 -DPTYGROUP=5" + use pam && append-flags "-DUSE_PAM" + + econf \ + $(use_enable pam) \ + --with-socket-dir=/var/run/screen \ + --with-sys-screenrc=/etc/screenrc \ + --enable-rxvt_osc ${myconf} + +# # Fix bug 12683 by fixing up term.h (remove dups and add missing). +# # This is really an upstream problem in screen, I think. +# # (15 Jan 2003 agriffis) +# mv term.h term.h.old +# awk '/^#define/ { if (defs[$2]) next; defs[$2] = $3 } +# { print } +# END { for (d in defs) { +# if (d !~ /_C../) continue; +# d2 = gensub(/C/, "", 1, d); +# if (d2 in defs) continue; +# print "#define " d2 " " defs[d] +# } +# }' term.h.old > term.h || die "Failed to fix term.h" + + # 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" + + emake || die "emake failed" +} + +src_install () { + dobin screen || die "dobin failed" + keepdir /var/run/screen + fowners root:utmp /{usr/bin,var/run}/screen + fperms 2755 /usr/bin/screen + + insinto /usr/share/terminfo ; doins terminfo/screencap + insinto /usr/share/screen/utf8encodings ; doins utf8encodings/?? + insopts -m 644 ; insinto /etc ; doins ${FILESDIR}/screenrc + + use pam && { + insinto /etc/pam.d + newins ${FILESDIR}/screen.pam.system-auth screen + } + + 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() { + chmod 0775 /var/run/screen + + einfo "Some dangerous key bindings have been removed or changed to more safe values." + einfo "For more info, please check /etc/screenrc" + echo + einfo "screen is not installed as setuid root, which effectively disables multi-user" + einfo "mode. To enable it, run:" + einfo "" + einfo "\tchmod u+s /usr/bin/screen" + einfo "\tchmod go-w /var/run/screen" +} |