diff options
author | Justin Lecher <jlec@gentoo.org> | 2010-06-15 11:47:35 +0000 |
---|---|---|
committer | Justin Lecher <jlec@gentoo.org> | 2010-06-15 11:47:35 +0000 |
commit | 3c4ff2e23cdb992d21e55d66ef3769d2462192dc (patch) | |
tree | 7693a3f26fbeacc1cc7c72da817cec9a92aea6e7 /app-misc/screen | |
parent | QA, imported prefix changes (diff) | |
download | gentoo-2-3c4ff2e23cdb992d21e55d66ef3769d2462192dc.tar.gz gentoo-2-3c4ff2e23cdb992d21e55d66ef3769d2462192dc.tar.bz2 gentoo-2-3c4ff2e23cdb992d21e55d66ef3769d2462192dc.zip |
QA, imported prefix changes
(Portage version: 2.2_rc67/cvs/Linux x86_64)
Diffstat (limited to 'app-misc/screen')
-rw-r--r-- | app-misc/screen/ChangeLog | 8 | ||||
-rw-r--r-- | app-misc/screen/files/screen-4.0.3-setenv_autoconf.patch | 79 | ||||
-rw-r--r-- | app-misc/screen/screen-4.0.3-r1.ebuild | 165 |
3 files changed, 251 insertions, 1 deletions
diff --git a/app-misc/screen/ChangeLog b/app-misc/screen/ChangeLog index 4f3678d5a0ff..5477abb330b6 100644 --- a/app-misc/screen/ChangeLog +++ b/app-misc/screen/ChangeLog @@ -1,6 +1,12 @@ # 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.146 2010/06/05 19:53:12 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-misc/screen/ChangeLog,v 1.147 2010/06/15 11:47:35 jlec Exp $ + +*screen-4.0.3-r1 (15 Jun 2010) + + 15 Jun 2010; Justin Lecher <jlec@gentoo.org> +screen-4.0.3-r1.ebuild, + +files/screen-4.0.3-setenv_autoconf.patch: + QA, imported prefix changes 05 Jun 2010; Mike Frysinger <vapier@gentoo.org> screen-4.0.3.ebuild: Rename local sched.h to avoid C library conflicts. diff --git a/app-misc/screen/files/screen-4.0.3-setenv_autoconf.patch b/app-misc/screen/files/screen-4.0.3-setenv_autoconf.patch new file mode 100644 index 000000000000..e47a15d66c23 --- /dev/null +++ b/app-misc/screen/files/screen-4.0.3-setenv_autoconf.patch @@ -0,0 +1,79 @@ +--- configure.in.DIST 2006-10-31 21:39:07.010473000 -0800 ++++ configure.in 2006-10-31 21:43:05.630162000 -0800 +@@ -1211,15 +1211,32 @@ + AC_HEADER_DIRENT + + AC_MSG_CHECKING(for setenv) +-AH_TEMPLATE([USESETENV], [If your system has setenv() and unsetenv() define USESETENV]) +-AC_TRY_LINK(,[setenv((char *)0,(char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes);AC_DEFINE(USESETENV), +-AC_MSG_RESULT(no) +-AC_MSG_CHECKING(for putenv) +-AH_TEMPLATE([NEEDPUTENV], +-[If your system does not come with a setenv()/putenv()/getenv() +- functions, you may bring in our own code by defining NEEDPUTENV.]) +-AC_TRY_LINK(,[putenv((char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes) , AC_MSG_RESULT(no);AC_DEFINE(NEEDPUTENV) +-)) ++if test -z "$ac_setenv_args"; then ++ AC_TRY_LINK( ++ [#include <stdlib.h>], ++ [ ++ setenv((char *) 0, (char *) 0, 0); ++ ], ac_setenv_args=3) ++fi ++if test -z "$ac_setenv_args"; then ++ AC_TRY_LINK( ++ [#include <stdlib.h>], ++ [ ++ setenv((char *) 0, (char *) 0); ++ ], ac_setenv_args=2) ++fi ++if test -n "$ac_setenv_args"; then ++ AC_DEFINE(USESETENV) ++ if test "$ac_setenv_args" = 3; then ++ AC_DEFINE(HAVE_SETENV_3) ++ elif test "$ac_setenv_args" = 2; then ++ AC_DEFINE(HAVE_SETENV_2) ++ fi ++else ++ AC_MSG_RESULT(no) ++ AC_MSG_CHECKING(for putenv) ++ AC_TRY_LINK(,[putenv((char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes) , AC_MSG_RESULT(no);AC_DEFINE(NEEDPUTENV)) ++fi + AC_MSG_CHECKING([for nl_langinfo(CODESET)]) + AH_TEMPLATE([HAVE_NL_LANGINFO], + [define HAVE_NL_LANGINFO if your system has the nl_langinfo() call +--- config.h.in.DIST 2006-10-31 21:43:23.233714000 -0800 ++++ config.h.in 2006-10-31 21:44:27.346275000 -0800 +@@ -548,6 +548,16 @@ + #undef USESETENV + + /* ++ * If setenv() takes 3 arguments define HAVE_SETENV_3 ++ */ ++#undef HAVE_SETENV_3 ++ ++/* ++ * If setenv() takes 2 arguments define HAVE_SETENV_2 ++ */ ++#undef HAVE_SETENV_2 ++ ++/* + * If your system does not come with a setenv()/putenv()/getenv() + * functions, you may bring in our own code by defining NEEDPUTENV. + */ +--- misc.c.DIST 2006-10-31 20:55:42.481760000 -0800 ++++ misc.c 2006-10-31 21:53:24.143551000 -0800 +@@ -613,11 +613,11 @@ + */ + # endif /* NEEDSETENV */ + #else /* USESETENV */ +-# if defined(linux) || defined(__convex__) || (BSD >= 199103) ++# if HAVE_SETENV_3 + setenv(var, value, 1); + # else + setenv(var, value); +-# endif /* linux || convex || BSD >= 199103 */ ++# endif /* HAVE_SETENV_3 */ + #endif /* USESETENV */ + } + diff --git a/app-misc/screen/screen-4.0.3-r1.ebuild b/app-misc/screen/screen-4.0.3-r1.ebuild new file mode 100644 index 000000000000..0929c13d2fa5 --- /dev/null +++ b/app-misc/screen/screen-4.0.3-r1.ebuild @@ -0,0 +1,165 @@ +# 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-r1.ebuild,v 1.1 2010/06/15 11:47:35 jlec Exp $ + +EAPI="3" + +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" +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 + + # 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." +} |