summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-misc/screen')
-rw-r--r--app-misc/screen/ChangeLog8
-rw-r--r--app-misc/screen/Manifest15
-rw-r--r--app-misc/screen/files/screen-4.0.3-crosscompile.patch598
-rw-r--r--app-misc/screen/screen-4.0.3.ebuild9
4 files changed, 613 insertions, 17 deletions
diff --git a/app-misc/screen/ChangeLog b/app-misc/screen/ChangeLog
index 731dbcd5cb3c..f79dee0d6a4f 100644
--- a/app-misc/screen/ChangeLog
+++ b/app-misc/screen/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for app-misc/screen
-# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-misc/screen/ChangeLog,v 1.141 2008/08/16 20:33:47 swegener Exp $
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/app-misc/screen/ChangeLog,v 1.142 2009/04/19 19:58:04 solar Exp $
+
+ 19 Apr 2009; <solar@gentoo.org> +files/screen-4.0.3-crosscompile.patch,
+ screen-4.0.3.ebuild:
+ - update for cross compile. Fixes bug 193902
16 Aug 2008; Sven Wegener <swegener@gentoo.org>
files/screen-4.0.3_p20070403-map.patch:
diff --git a/app-misc/screen/Manifest b/app-misc/screen/Manifest
index ca0ef4d03351..4d749558af87 100644
--- a/app-misc/screen/Manifest
+++ b/app-misc/screen/Manifest
@@ -1,6 +1,3 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
AUX 4.0.2-64bit-time.patch 298 RMD160 3278d227f1f5c5bce8b7369e9c44fd7e35ac804c SHA1 ab4f298c3c46fe9dad550009def0db8c44b13d22 SHA256 d974e14a1d8e32a0a05b211cd76d9335a066c6b85538505f1d95f25209c99057
AUX 4.0.2-no-libelf.patch 555 RMD160 4af1c158b0a4e0124fec8347090bf5d25634fdf5 SHA1 fe33038030600e60369374b994c47e68e2bb6bd3 SHA256 56cc1f7b2d02ba230501c7c87da170fa791639cb1f36b2b0b87d8644e5372059
AUX 4.0.2-no-pty.patch 392 RMD160 d29aec55c6b76f66a8340096f627afe2e4dca3e8 SHA1 bd1328e0dbb321397692846b5c2ac62df1885a9c SHA256 edc29bc7b7bea89c2f937ca9c95f2ce51b437e4ea042741d9f4ac6d7954178d5
@@ -10,18 +7,12 @@ AUX 4.0.2-windowlist-multiuser-fix.patch 491 RMD160 7e28be8f2bc71705b4ff0d8028ad
AUX screen-4.0.1-int-overflow-fix.patch 930 RMD160 b82fe493ccdc75bcfa97bf36e86f37ff5056565e SHA1 e516e056515a5e10cd470a8f951a94c512827515 SHA256 fe495d43c367082099cfcb890c7b66629d2ad656a7a15fee6fcd60884abee7d0
AUX screen-4.0.1-vsprintf.patch 480 RMD160 cc80e7353e19d7d82dc506ae3a5eaaedba4db1ca SHA1 b1bf4b8f45236dc63de748699671679ce7237a59 SHA256 34d2f9d6101555fbc37e983542f3db549ea96ede89c7d87c21c69b7331d9c3cd
AUX screen-4.0.3-config.h-autoconf-2.62.patch 388 RMD160 b83b905014431c5671d8624f5b471414e8738d8f SHA1 7335c01e9f12bb2414a4e023bcb739453375f493 SHA256 71897394211d9e00e008f7c34b3a37bff0cfa54bcfa31a23e849c7021471ca2f
+AUX screen-4.0.3-crosscompile.patch 18900 RMD160 8a66a9b1145e3d86a5b5931c322b1edab7db1d0c SHA1 a0225014bb4c1efb3613c5c20bd38413629720e9 SHA256 53d73989046c3a180e950cd179e72220bf6d50c96f9442e0bda9b107d3b290be
AUX screen-4.0.3_p20070403-map.patch 271 RMD160 a2d2c0f9e6a035b4b88597ba8620c764aac89a25 SHA1 783a3dcb8706ebedc3de1fa365fc49d04147de2a SHA256 4dde0133a28e996e95bff0b0e4e3f48e4e99054eb77d5381a813f5e216842e10
AUX screenrc 10397 RMD160 e80d0c2ee7b225d041b75ae4fe080aa2ad8b134a SHA1 15dee4a41ef55d156797333e9279043597cc5682 SHA256 c4ad4932fc65ebfd047134ae8c5bc1e37096a0dd5c3c6e74b3462a8562ff39f8
DIST screen-4.0.3.tar.gz 840602 RMD160 8c3903c1642ae30fd9d5706298919428552f7754 SHA1 7bc6e2f0959ffaae6f52d698c26c774e7dec3545 SHA256 78f0d5b1496084a5902586304d4a73954b2bfe33ea13edceecf21615c39e6c77
DIST screen-4.0.3_p20070403.tar.gz 913917 RMD160 710d4a5df7b4df2efe5b0f0159f3986ec9f502c0 SHA1 3d3df821bcfbe5d3d7e910c3fc0f7036317dba35 SHA256 e624bea23c37e0efa10c89ab14a29bf7c5b95f328df55eeaa1bf472fe904610f
-EBUILD screen-4.0.3.ebuild 4497 RMD160 4f95873472a905a8aa1a6514801fef4f745b5a54 SHA1 4af23213a4bf600be16ad5bcd234ea8b7c8bf2d5 SHA256 135cf11342563a693db17cecc4e457495dc0efc7f7612dc8978bbfb8ca58d6f2
+EBUILD screen-4.0.3.ebuild 4563 RMD160 a2ba7567e242adfdc6fc4437adc4726eba92dc7b SHA1 d2bf1d2e22c9aa5392215540680066d5eaf3deee SHA256 ce4a65ec692dc996414e375c4c25ab6b310e1bb07e46837bd8b5bac97b41b61e
EBUILD screen-4.0.3_p20070403.ebuild 4023 RMD160 58044dda580f66abedf261eb5e149b633a6101e5 SHA1 9a4aa119a7f6dba8305a626407f9f81adcfb44de SHA256 8bb43979981beabcce2a9bc50e6088afe58b37e6f68a961bc777ee9b209163a8
-MISC ChangeLog 19779 RMD160 b0f53ae78563e9ac694580f0eba5de2a555fd65a SHA1 3279c9e3f9ca4d134279c1842d138b9026257660 SHA256 3804712e7baaf9788ddf22e346a95fd4417de89345d959b488e0fb4387da12f9
+MISC ChangeLog 19921 RMD160 b32e65db72580775b9f1a0c4d3cb063cd617954b SHA1 b08ed34eb3b3c97218638a5a12112a74bd79dda1 SHA256 dc803e683acaf0ebc45773de130a2d8e8cc7e19c4dd7fddcba0bcd4d05036631
MISC metadata.xml 1697 RMD160 e3f187509d13f8e939814733c9876407006ca0ab SHA1 53a6d55362e68c62329b6a644b5b3f74c436f272 SHA256 58279e41070c88041df5acd625067c947b9df46ca68fb3ae3cd72c268ae30c81
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.9 (GNU/Linux)
-
-iEYEARECAAYFAkinOdsACgkQI1lqEGTUzyRPYACg1igFxaFuMeOzghcLhpeSEwdL
-8U0AoNj5Al97XHd/yz4nWil+BfAbTF22
-=7/kZ
------END PGP SIGNATURE-----
diff --git a/app-misc/screen/files/screen-4.0.3-crosscompile.patch b/app-misc/screen/files/screen-4.0.3-crosscompile.patch
new file mode 100644
index 000000000000..17026ad4af3b
--- /dev/null
+++ b/app-misc/screen/files/screen-4.0.3-crosscompile.patch
@@ -0,0 +1,598 @@
+--- configure.in~ 2008-11-23 17:43:48.000000000 +0000
++++ configure.in 2008-11-23 17:43:48.000000000 +0000
+@@ -46,6 +46,7 @@
+ AC_PROG_GCC_TRADITIONAL
+ AC_ISC_POSIX
+
++AC_MSG_CHECKING([for compiler sanity])
+ AC_TRY_RUN(main(){exit(0);},,[
+ if test $CC != cc ; then
+ AC_NOTE(Your $CC failed - restarting with CC=cc)
+@@ -54,22 +55,17 @@
+ export CC
+ exec $0 $configure_args
+ fi
+-])
+-
+-AC_TRY_RUN(main(){exit(0);},,
+-exec 5>&2
+-eval $ac_link
+-AC_NOTE(CC=$CC; CFLAGS=$CFLAGS; LIBS=$LIBS;)
+-AC_NOTE($ac_compile)
+-AC_MSG_ERROR(Can't run the compiler - sorry))
++],AC_MSG_WARN([skipping test due to crosscompilation]))
+
++AC_MSG_CHECKING([if compiler sets exit status])
+ AC_TRY_RUN([
+ main()
+ {
+ int __something_strange_();
+ __something_strange_(0);
+ }
+-],AC_MSG_ERROR(Your compiler does not set the exit status - sorry))
++],AC_MSG_ERROR(Your compiler does not set the exit status - sorry),,
++AC_MSG_WARN(skipping test due to crosscompilation))
+
+ AC_PROG_AWK
+
+@@ -103,6 +99,7 @@
+ dnl
+ dnl **** special unix variants ****
+ dnl
++AH_TEMPLATE(ISC,[])
+ if test -n "$ISC"; then
+ AC_DEFINE(ISC) LIBS="$LIBS -linet"
+ fi
+@@ -114,11 +111,13 @@
+ dnl fi
+ dnl fi
+
++AH_TEMPLATE([sysV68],[])
+ if test -f /sysV68 ; then
+ AC_DEFINE(sysV68)
+ fi
+
+ AC_CHECKING(for MIPS)
++AH_TEMPLATE([MIPS],[])
+ if test -f /lib/libmld.a || test -f /usr/lib/libmld.a || test -f /usr/lib/cmplrs/cc/libmld.a; then
+ oldlibs="$LIBS"
+ test -f /bin/mx || LIBS="$LIBS -lmld" # for nlist. But not on alpha.
+@@ -132,6 +131,8 @@
+ AC_CHECKING(wait3)
+ AC_TRY_LINK(,[wait3();], ,
+ AC_CHECKING(wait2)
++AH_TEMPLATE([USE_WAIT2],[On RISCOS we prefer wait2() over wait3(). rouilj@sni-usa.com])
++dnl TODO(Hannes) shipped config.h.in wraps the define in #ifdef BSDWAIT
+ AC_TRY_LINK(,[wait2();],
+ dnl John Rouillard (rouilj@sni-usa.com):
+ dnl need -I/usr/include/bsd in RISCOS otherwise sockets are broken, no
+@@ -154,9 +155,11 @@
+ oldlibs="$LIBS"
+ LIBS="$LIBS -lpyr"
+ AC_CHECKING(Pyramid OSX)
++AH_TEMPLATE([OSX], [Pyramid OSX])
+ AC_TRY_LINK(,[open_controlling_pty("")], AC_DEFINE(OSX), LIBS="$oldlibs")
+ fi
+
++AH_TEMPLATE([POSIX],[Define POSIX if your system supports IEEE Std 1003.1-1988 (POSIX).])
+ dnl ghazi@caip.rutgers.edu (Kaveh R. Ghazi):
+ dnl BBN butterfly is not POSIX, but a MACH BSD system.
+ dnl Do not define POSIX and TERMIO.
+@@ -183,6 +186,7 @@
+ fi
+
+ AC_CHECKING(for System V)
++AH_TEMPLATE([SYSV], [Define SYSV if your machine is SYSV complient (Sys V, HPUX, A/UX)])
+ AC_TRY_COMPILE(
+ [#include <sys/types.h>
+ #include <signal.h>
+@@ -226,6 +230,9 @@
+ dnl
+
+ AC_CHECKING(BSD job jontrol)
++AH_TEMPLATE([BSDJOBS],
++[Define BSDJOBS if you have BSD-style job control (both process
++ groups and a tty that deals correctly with them)])
+ AC_TRY_LINK(
+ [#include <sys/types.h>
+ #include <sys/ioctl.h>
+@@ -246,6 +253,10 @@
+ dnl **** setreuid(), seteuid() ****
+ dnl
+ AC_CHECKING(setreuid)
++AH_TEMPLATE([HAVE_SETREUID],
++[If your system has the calls setreuid() and setregid(),
++ define HAVE_SETREUID. Otherwise screen will use a forked process to
++ safely create output files without retaining any special privileges.])
+ AC_TRY_LINK(,[
+ #ifdef __hpux
+ setresuid(0, 0, 0);
+@@ -260,6 +271,9 @@
+ dnl Solaris seteuid doesn't change the saved uid, bad for
+ dnl multiuser screen sessions
+ AC_CHECKING(seteuid)
++AH_TEMPLATE([HAVE_SETEUID],
++[If your system supports BSD4.4's seteuid() and setegid(), define
++ HAVE_SETEUID.])
+ AC_TRY_LINK(,[
+ #if defined(linux) || defined(NeXT) || defined(_AUX_SOURCE) || defined(AUX) || defined(ultrix) || (defined(sun) && defined(SVR4)) || defined(ISC) || defined(sony_news)
+ seteuid_is_broken(0);
+@@ -284,6 +298,8 @@
+ dnl
+
+ AC_CHECKING(fifos)
++AC_CACHE_CHECK([usable fifos],
++ [screen_cv_sys_fifo_usable],
+ AC_TRY_RUN([
+ #include <sys/types.h>
+ #include <sys/stat.h>
+@@ -348,12 +364,14 @@
+ exit(1);
+ exit(0);
+ }
+-], AC_NOTE(- your fifos are usable) fifo=1,
+-AC_NOTE(- your fifos are not usable))
+-rm -f /tmp/conftest*
++], screen_cv_sys_fifo_usable=yes, screen_cv_sys_fifo_usable=no))
+
+-if test -n "$fifo"; then
+-AC_CHECKING(for broken fifo implementation)
++if test X"$screen_cv_sys_fifo_usable" = Xyes; then
++AH_TEMPLATE([BROKEN_PIPE],
++[Define this if your system exits select() immediatly if a pipe is
++ opened read-only and no writer has opened it.])
++AC_CACHE_CHECK([broken fifo implementation],
++ [screen_cv_sys_fifo_broken_impl],
+ AC_TRY_RUN([
+ #include <sys/types.h>
+ #include <fcntl.h>
+@@ -398,9 +416,11 @@
+ exit(1);
+ exit(0);
+ }
+-], AC_NOTE(- your implementation is ok),
+-AC_NOTE(- you have a broken implementation) AC_DEFINE(BROKEN_PIPE) fifobr=1)
+-rm -f /tmp/conftest*
++], screen_cv_sys_fifo_broken_impl=no,
++screen_cv_sys_fifo_broken_impl=yes))
++if test X"$screen_cv_sys_fifo_broken_impl" = Xyes; then
++ AC_DEFINE(BROKEN_PIPE)
++fi
+ fi
+
+ dnl
+@@ -410,6 +430,8 @@
+ dnl
+
+ AC_CHECKING(sockets)
++AC_CACHE_CHECK([sockets are usable],
++ [screen_cv_sys_sockets_usable],
+ AC_TRY_RUN([
+ #include <sys/types.h>
+ #include <sys/socket.h>
+@@ -460,12 +482,16 @@
+ exit(1);
+ exit(0);
+ }
+-], AC_NOTE(- your sockets are usable) sock=1,
+-AC_NOTE(- your sockets are not usable))
+-rm -f /tmp/conftest*
++], screen_cv_sys_sockets_usable=yes,
++screen_cv_sys_sockets_usable=no))
+
+-if test -n "$sock"; then
++if test X"$screen_cv_sys_sockets_usable" = Xyes; then
+ AC_CHECKING(socket implementation)
++AH_TEMPLATE([SOCK_NOT_IN_FS],
++[Define this if the unix-domain socket implementation doesn't
++ create a socket in the filesystem.])
++AC_CACHE_CHECK([if sockets are not stored in the filesystem],
++ [screen_cv_sys_sockets_nofs],
+ AC_TRY_RUN([
+ #include <sys/types.h>
+ #include <sys/stat.h>
+@@ -491,22 +517,25 @@
+ close(s);
+ exit(0);
+ }
+-],AC_NOTE(- you are normal),
+-AC_NOTE(- unix domain sockets are not kept in the filesystem)
+-AC_DEFINE(SOCK_NOT_IN_FS) socknofs=1)
+-rm -f /tmp/conftest*
++], screen_cv_sys_sockets_nofs=no,
++screen_cv_sys_sockets_nofs=yes))
++
++if test X"$screen_cv_sys_sockets_nofs" = Xyes; then
++ AC_DEFINE(SOCK_NOT_IN_FS)
++fi
+ fi
+
+
+ dnl
+ dnl **** choose sockets or fifos ****
+ dnl
+-if test -n "$fifo"; then
+- if test -n "$sock"; then
+- if test -n "$nore"; then
++AH_TEMPLATE([NAMEDPIPE], [Define this if your system supports named pipes.])
++if test X"$screen_cv_sys_fifo_usable" = Xyes; then
++ if test X"$screen_cv_sys_sockets_usable" = Xyes; then
++ if test X"$screen_cv_sys_sockets_nofs" = Xyes; then
+ AC_NOTE(- hmmm... better take the fifos)
+ AC_DEFINE(NAMEDPIPE)
+- elif test -n "$fifobr"; then
++ elif test X"$screen_cv_sys_fifo_broken_impl" = Xyes; then
+ AC_NOTE(- as your fifos are broken lets use the sockets.)
+ else
+ AC_NOTE(- both sockets and fifos usable. let's take fifos.)
+@@ -516,7 +545,7 @@
+ AC_NOTE(- using named pipes, of course)
+ AC_DEFINE(NAMEDPIPE)
+ fi
+-elif test -n "$sock"; then
++elif test X"$screen_cv_sys_sockets_usable" = Xyes; then
+ AC_NOTE(- using unix-domain sockets, of course)
+ else
+ AC_MSG_ERROR(you have neither usable sockets nor usable pipes -> no screen)
+@@ -526,7 +555,11 @@
+ dnl **** check the select implementation ****
+ dnl
+
+-AC_CHECKING(select return value)
++AH_TEMPLATE([SELECT_BROKEN],
++[If the select return value doesn't treat a descriptor that is
++ usable for reading and writing as two hits, define SELECT_BROKEN.])
++AC_CACHE_CHECK([for broken select return value],
++ [screen_cv_sys_select_broken_retval],
+ AC_TRY_RUN([
+ #include <sys/types.h>
+ #include <sys/stat.h>
+@@ -625,17 +658,26 @@
+ exit(1);
+ exit(0);
+ }
+-],AC_NOTE(- select is ok),
+-AC_NOTE(- select can't count) AC_DEFINE(SELECT_BROKEN))
++], screen_cv_sys_select_broken_retval=no,
++screen_cv_sys_select_broken_retval=yes))
++if test X"$screen_cv_sys_select_broken_retval" = Xyes; then
++ AC_DEFINE(SELECT_BROKEN)
++fi
+
+ dnl
+ dnl **** termcap or terminfo ****
+ dnl
++AH_TEMPLATE([TERMINFO],
++[Define TERMINFO if your machine emulates the termcap routines
++ with the terminfo database.
++ Thus the .screenrc file is parsed for
++ the command 'terminfo' and not 'termcap'])
++
+ AC_CHECKING(for tgetent)
+ AC_TRY_LINK(,tgetent((char *)0, (char *)0);,,
+ olibs="$LIBS"
+-LIBS="-lcurses $olibs"
+ AC_CHECKING(libcurses)
++AC_CHECK_LIB(ncursesw,tgetent)
+ AC_TRY_LINK(,[
+ #ifdef __hpux
+ __sorry_hpux_libcurses_is_totally_broken_in_10_10();
+@@ -654,24 +696,39 @@
+ AC_TRY_LINK(,tgetent((char *)0, (char *)0);,,
+ AC_MSG_ERROR(!!! no tgetent - no screen))))))
+
+-AC_TRY_RUN([
++AC_CACHE_CHECK([using terminfo database],[screen_cv_sys_terminfo_used],
++ AC_TRY_RUN([
+ main()
+ {
+ exit(strcmp(tgoto("%p1%d", 0, 1), "1") ? 0 : 1);
+-}], AC_NOTE(- you use the termcap database),
+-AC_NOTE(- you use the terminfo database) AC_DEFINE(TERMINFO))
++}
++ ], screen_cv_sys_terminfo_used=no,
++ screen_cv_sys_terminfo_used=yes)
++)
++
++if test X"$screen_cv_sys_terminfo_used" = Xyes; then
++ AC_DEFINE(TERMINFO)
++fi
++
+ AC_CHECKING(ospeed)
++AH_TEMPLATE([NEED_OSPEED],[If your library does not define ospeed, define this.])
+ AC_TRY_LINK(extern short ospeed;,ospeed=5;,,AC_DEFINE(NEED_OSPEED))
+
+ dnl
+ dnl **** PTY specific things ****
+ dnl
++AH_TEMPLATE([HAVE_DEV_PTC],
++[define HAVE_DEV_PTC if you have a /dev/ptc character special
++ device.])
+ AC_CHECKING(for /dev/ptc)
+ if test -r /dev/ptc; then
+ AC_DEFINE(HAVE_DEV_PTC)
+ fi
+
+ AC_CHECKING(for SVR4 ptys)
++AH_TEMPLATE([HAVE_SVR4_PTYS],
++[define HAVE_SVR4_PTYS if you have a /dev/ptmx character special
++ device and support the ptsname(), grantpt(), unlockpt() functions.])
+ sysvr4ptys=
+ if test -c /dev/ptmx ; then
+ AC_TRY_LINK([],[ptsname(0);grantpt(0);unlockpt(0);],[AC_DEFINE(HAVE_SVR4_PTYS)
+@@ -687,6 +744,13 @@
+ fi
+
+ AC_CHECKING(for ptyranges)
++AH_TEMPLATE([PTYRANGE0],
++[define PTYRANGE0 and or PTYRANGE1 if you want to adapt screen
++ to unusual environments. E.g. For SunOs the defaults are "qpr" and
++ "0123456789abcdef". For SunOs 4.1.2
++ #define PTYRANGE0 "pqrstuvwxyzPQRST"
++ is recommended by Dan Jacobson.])
++AH_TEMPLATE([PTYRANGE1],[])
+ if test -d /dev/ptym ; then
+ pdir='/dev/ptym'
+ else
+@@ -850,20 +914,39 @@
+ dnl
+ dnl **** loadav ****
+ dnl
++
++AH_TEMPLATE([LOADAV],
++[If you want the "time" command to display the current load average
++ define LOADAV. Maybe you must install screen with the needed
++ privileges to read /dev/kmem.
++ Note that NLIST_ stuff is only checked, when getloadavg() is not available.
++])
++AH_TEMPLATE([LOADAV_NUM])
++AH_TEMPLATE([LOADAV_TYPE])
++AH_TEMPLATE([LOADAV_SCALE])
++AH_TEMPLATE([LOADAV_GETLOADAVG])
++AH_TEMPLATE([LOADAV_UNIX])
++AH_TEMPLATE([LOADAV_AVENRUN])
++AH_TEMPLATE([LOADAV_USE_NLIST64])
++
++AH_TEMPLATE([NLIST_DECLARED])
++AH_TEMPLATE([NLIST_STRUCT])
++AH_TEMPLATE([NLIST_NAME_UNION])
++
+ AC_CHECKING(for libutil(s))
+-test -f /usr/lib/libutils.a && LIBS="$LIBS -lutils"
+-test -f /usr/lib/libutil.a && LIBS="$LIBS -lutil"
++dnl I have no idea whether "login" is an appropriate symbol to check for here - Hannes
++AC_CHECK_LIB(utils,login)
++AC_CHECK_LIB(util,login)
+
+ AC_CHECKING(getloadavg)
+ AC_TRY_LINK(,[getloadavg((double *)0, 0);],
+ AC_DEFINE(LOADAV_GETLOADAVG) load=1,
+-if test -f /usr/lib/libkvm.a ; then
+ olibs="$LIBS"
+-LIBS="$LIBS -lkvm"
++AC_CHECK_LIB(kvm,kvm_open,
+ AC_CHECKING(getloadavg with -lkvm)
+ AC_TRY_LINK(,[getloadavg((double *)0, 0);],
+ AC_DEFINE(LOADAV_GETLOADAVG) load=1, LIBS="$olibs")
+-fi
++)
+ )
+
+ if test -z "$load" ; then
+@@ -1005,6 +1088,11 @@
+ dnl
+ dnl **** signal handling ****
+ dnl
++
++AH_TEMPLATE([SIGVOID],
++[Define SIGVOID if your signal handlers return void. On older
++ systems, signal returns int, but on newer ones, it returns void.])
++
+ if test -n "$posix" ; then
+
+ dnl POSIX has reliable signals with void return type.
+@@ -1014,6 +1102,7 @@
+ else
+
+ AC_CHECKING(return type of signal handlers)
++AH_TEMPLATE([USESIGSET], [Define USESIGSET if you have sigset for BSD 4.1 reliable signals.])
+ AC_TRY_COMPILE(
+ [#include <sys/types.h>
+ #include <signal.h>
+@@ -1033,6 +1122,9 @@
+ #endif
+ ], AC_DEFINE(USESIGSET))
+ AC_CHECKING(signal implementation)
++AH_TEMPLATE([SYSVSIGS],
++[Define SYSVSIGS if signal handlers must be reinstalled after
++ they have been called.])
+ AC_TRY_RUN([
+ #include <sys/types.h>
+ #include <signal.h>
+@@ -1075,13 +1167,14 @@
+ dnl
+
+ AC_CHECKING(for crypt and sec libraries)
+-test -f /lib/libcrypt_d.a || test -f /usr/lib/libcrypt_d.a && LIBS="$LIBS -lcrypt_d"
++dnl I have no idea whether "crypt" is an appropriate symbol to check for here - Hannes
++AC_CHECK_LIB(crypt_d,crypt)
+ oldlibs="$LIBS"
+-LIBS="$LIBS -lcrypt"
+ AC_CHECKING(crypt)
+ AC_TRY_LINK(,,,LIBS="$oldlibs")
+-test -f /lib/libsec.a || test -f /usr/lib/libsec.a && LIBS="$LIBS -lsec"
+-test -f /lib/libshadow.a || test -f /usr/lib/libshadow.a && LIBS="$LIBS -lshadow"
++AC_CHECK_LIB(crypt,crypt)
++AC_CHECK_LIB(sec,crypt)
++AC_CHECK_LIB(shadow,getspnam)
+ oldlibs="$LIBS"
+ LIBS="$LIBS -lsun"
+ AC_CHECKING(IRIX sun library)
+@@ -1104,6 +1197,13 @@
+ dnl **** misc things ****
+ dnl
+ AC_CHECKING(wait union)
++AH_TEMPLATE([BSDWAIT],
++[Define BSDWAIT if your system defines a 'union wait' in <sys/wait.h>
++
++ Only allow BSDWAIT i.e. wait3 on nonposix systems, since
++ posix implies wait(3) and waitpid(3). vdlinden@fwi.uva.nl
++ TODO(Hannes) shipped config.h.in does that with a #ifdef
++])
+ AC_TRY_COMPILE([#include <sys/types.h>
+ #include <sys/wait.h>
+ ],[
+@@ -1114,6 +1214,13 @@
+ #endif
+ ],AC_DEFINE(BSDWAIT))
+
++AH_TEMPLATE([TERMIO],
++[Define TERMIO if you have struct termio instead of struct sgttyb.
++ This is usually the case for SVID systems, where BSD uses sgttyb.
++ POSIX systems should define this anyway, even though they use
++ struct termios.])
++
++
+ if test -z "$butterfly"; then
+ AC_CHECKING(for termio or termios)
+ AC_TRY_CPP([#include <termio.h>], AC_DEFINE(TERMIO),
+@@ -1123,17 +1230,35 @@
+ )
+ fi
+
++AH_TEMPLATE([CYTERMIO], [Define CYTERMIO if you have cyrillic termio modes.])
++
+ dnl AC_CHECK_HEADER(shadow.h, AC_DEFINE(SHADOWPW))
+ AC_CHECKING(getspnam)
++AH_TEMPLATE([SHADOWPW],
++[If the passwords are stored in a shadow file and you want the
++ builtin lock to work properly, define SHADOWPW.])
+ AC_TRY_LINK([#include <shadow.h>], [getspnam("x");],AC_DEFINE(SHADOWPW))
+
+ AC_CHECKING(getttyent)
++AH_TEMPLATE([GETTTYENT],
++[If your system has the new format /etc/ttys (like 4.3 BSD) and the
++ getttyent(3) library functions, define GETTTYENT.])
+ AC_TRY_LINK(,[getttyent();], AC_DEFINE(GETTTYENT))
+
+ AC_CHECKING(fdwalk)
++AH_TEMPLATE([HAVE_FDWALK],
++[Newer versions of Solaris include fdwalk, which can greatly improve
++ the startup time of screen; otherwise screen spends a lot of time
++ closing file descriptors.])
+ AC_TRY_LINK([#include <stdlib.h>], [fdwalk(NULL, NULL);],AC_DEFINE(HAVE_FDWALK))
+
+-AC_CHECKING(whether memcpy/memmove/bcopy handles overlapping arguments)
++AH_TEMPLATE([USEBCOPY],
++[Define USEBCOPY if the bcopy/memcpy from your system's C library
++ supports the overlapping of source and destination blocks. When
++ undefined, screen uses its own (probably slower) version of bcopy().])
++
++AC_CACHE_CHECK([if bcopy handles overlap],
++ [screen_cv_sys_bcopy_overlap],
+ AC_TRY_RUN([
+ main() {
+ char buf[10];
+@@ -1146,7 +1271,21 @@
+ if (strncmp(buf, "cdedef", 6))
+ exit(1);
+ exit(0); /* libc version works properly. */
+-}], AC_DEFINE(USEBCOPY))
++}], screen_cv_sys_bcopy_overlap=yes,
++screen_cv_sys_bcopy_overlap=no))
++if test X"$screen_cv_sys_bcopy_overlap" = Xyes; then
++ AC_DEFINE(USEBCOPY)
++fi
++
++AH_TEMPLATE([USEMEMMOVE],
++[SYSV machines may have a working memcpy() -- Oh, this is
++ quite unlikely. Tell me if you see one.
++ "But then, memmove() should work, if at all available" he thought...
++ Boing, never say "works everywhere" unless you checked SCO UNIX.
++ Their memove fails the test in the configure script. Sigh. (Juergen)
++])
++AC_CACHE_CHECK([if memmove handles overlap],
++ [screen_cv_sys_memmove_overlap],
+
+ AC_TRY_RUN([
+ #define bcopy(s,d,l) memmove(d,s,l)
+@@ -1161,9 +1300,15 @@
+ if (strncmp(buf, "cdedef", 6))
+ exit(1);
+ exit(0); /* libc version works properly. */
+-}], AC_DEFINE(USEMEMMOVE))
+-
++}], screen_cv_sys_memmove_overlap=yes,
++screen_cv_sys_memmove_overlap=no))
++if test X"$screen_cv_sys_memmove_overlap" = Xyes; then
++ AC_DEFINE(USEMEMMOVE)
++fi
+
++AH_TEMPLATE([USEMEMCPY],[])
++AC_CACHE_CHECK([if memcpy handles overlap],
++ [screen_cv_sys_memcpy_overlap],
+ AC_TRY_RUN([
+ #define bcopy(s,d,l) memcpy(d,s,l)
+ main() {
+@@ -1177,9 +1322,19 @@
+ if (strncmp(buf, "cdedef", 6))
+ exit(1);
+ exit(0); /* libc version works properly. */
+-}], AC_DEFINE(USEMEMCPY))
++}], screen_cv_sys_memcpy_overlap=yes,
++screen_cv_sys_memcpy_overlap=no))
++if test X"$screen_cv_sys_memcpy_overlap" = Xyes; then
++ AC_DEFINE(USEMEMCPY)
++fi
+
+ AC_MSG_CHECKING(long file names)
++AH_TEMPLATE([NAME_MAX],
++[If you are on a SYS V machine that restricts filename length to 14
++ characters, you may need to enforce that by setting NAME_MAX to 14])
++dnl TODO(Hannes) shipped config.h.in has
++dnl #undef NAME_MAX /* KEEP_UNDEF_HERE override system value */
++dnl ahead of this
+ (echo 1 > /tmp/conftest9012345) 2>/dev/null
+ (echo 2 > /tmp/conftest9012346) 2>/dev/null
+ val=`cat /tmp/conftest9012345 2>/dev/null`
+@@ -1192,6 +1347,10 @@
+ rm -f /tmp/conftest*
+
+ AC_MSG_CHECKING(for vsprintf)
++AH_TEMPLATE([USEVARARGS],
++[If your system has vsprintf() and requires the use of the macros in
++ "varargs.h" to use functions with variable arguments,
++ define USEVARARGS.])
+ AC_TRY_LINK([#include <stdarg.h>],[va_list valist; vsprintf(0,0,valist);],
+ [AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS)],
+ [AC_MSG_RESULT(no)])
+@@ -1199,12 +1358,19 @@
+ 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)
+ ))
+ AC_MSG_CHECKING([for nl_langinfo(CODESET)])
++AH_TEMPLATE([HAVE_NL_LANGINFO],
++[define HAVE_NL_LANGINFO if your system has the nl_langinfo() call
++ and <langinfo.h> defines CODESET.])
+ AC_TRY_LINK([
+ #include <langinfo.h>
+ ],[nl_langinfo(CODESET);], AC_MSG_RESULT(yes);AC_DEFINE(HAVE_NL_LANGINFO), AC_MSG_RESULT(no))
+@@ -1254,7 +1420,8 @@
+ dnl Ptx bug workaround -- insert -lc after -ltermcap
+ test -n "$seqptx" && LIBS="-ltermcap -lc -lsocket -linet -lnsl -lsec -lseq"
+
+-AC_TRY_RUN(main(){exit(0);},,AC_MSG_ERROR(Can't run the compiler - internal error. Sorry.))
++AC_MSG_CHECKING(compiler sanity)
++AC_TRY_RUN(main(){exit(0);},,AC_MSG_ERROR(Can't run the compiler - internal error. Sorry.), AC_MSG_WARN(Skipping test due to crosscompilation))
+
+ ETCSCREENRC="\"/usr/local/etc/screenrc\""
+ if test -n "$prefix"; then
diff --git a/app-misc/screen/screen-4.0.3.ebuild b/app-misc/screen/screen-4.0.3.ebuild
index 3ab8b63e3831..1cf461f192d0 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-2008 Gentoo Foundation
+# Copyright 1999-2009 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.18 2008/06/07 19:05:56 swegener Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-misc/screen/screen-4.0.3.ebuild,v 1.19 2009/04/19 19:58:04 solar Exp $
WANT_AUTOCONF="2.5"
inherit eutils flag-o-matic toolchain-funcs pam autotools
-DESCRIPTION="Screen is a full-screen window manager that multiplexes a physical terminal between several processes"
+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"
@@ -63,6 +63,9 @@ src_unpack() {
# 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
+
# Allow for more rendition (color/attribute) changes in status bars
sed -i \
-e "s:#define MAX_WINMSG_REND 16:#define MAX_WINMSG_REND 64:" \