summaryrefslogtreecommitdiff
path: root/data/screen
diff options
context:
space:
mode:
Diffstat (limited to 'data/screen')
-rw-r--r--data/screen/_metadata/description1
l---------data/screen/_metadata/license1
l---------data/screen/_metadata/maintainer1
-rw-r--r--data/screen/_metadata/name1
-rw-r--r--data/screen/_metadata/priority1
-rw-r--r--data/screen/_metadata/section1
-rw-r--r--data/screen/_metadata/version1
-rw-r--r--data/screen/autoconf.diff473
-rw-r--r--data/screen/make.sh9
-rw-r--r--data/screen/screen-4.0.2.tar.gzbin0 -> 840519 bytes
-rw-r--r--data/screen/stropts.diff16
11 files changed, 505 insertions, 0 deletions
diff --git a/data/screen/_metadata/description b/data/screen/_metadata/description
new file mode 100644
index 000000000..9b1d2fa40
--- /dev/null
+++ b/data/screen/_metadata/description
@@ -0,0 +1 @@
+multiplexes a terminal into many
diff --git a/data/screen/_metadata/license b/data/screen/_metadata/license
new file mode 120000
index 000000000..9c13a9a0f
--- /dev/null
+++ b/data/screen/_metadata/license
@@ -0,0 +1 @@
+../../../licenses/gpl-2 \ No newline at end of file
diff --git a/data/screen/_metadata/maintainer b/data/screen/_metadata/maintainer
new file mode 120000
index 000000000..0fa66e077
--- /dev/null
+++ b/data/screen/_metadata/maintainer
@@ -0,0 +1 @@
+../../../people/saurik \ No newline at end of file
diff --git a/data/screen/_metadata/name b/data/screen/_metadata/name
new file mode 100644
index 000000000..ddedb50c1
--- /dev/null
+++ b/data/screen/_metadata/name
@@ -0,0 +1 @@
+Screen
diff --git a/data/screen/_metadata/priority b/data/screen/_metadata/priority
new file mode 100644
index 000000000..ea5b3d7ee
--- /dev/null
+++ b/data/screen/_metadata/priority
@@ -0,0 +1 @@
+important
diff --git a/data/screen/_metadata/section b/data/screen/_metadata/section
new file mode 100644
index 000000000..2ac05bdde
--- /dev/null
+++ b/data/screen/_metadata/section
@@ -0,0 +1 @@
+console
diff --git a/data/screen/_metadata/version b/data/screen/_metadata/version
new file mode 100644
index 000000000..4d54daddb
--- /dev/null
+++ b/data/screen/_metadata/version
@@ -0,0 +1 @@
+4.0.2
diff --git a/data/screen/autoconf.diff b/data/screen/autoconf.diff
new file mode 100644
index 000000000..b6b454018
--- /dev/null
+++ b/data/screen/autoconf.diff
@@ -0,0 +1,473 @@
+diff -r -u screen-4.0.2/configure.in screen-4.0.2+iPhone/configure.in
+--- screen-4.0.2/configure.in 2003-06-03 11:58:24.000000000 +0000
++++ screen-4.0.2+iPhone/configure.in 2008-02-12 10:55:24.000000000 +0000
+@@ -46,31 +46,6 @@
+ AC_PROG_GCC_TRADITIONAL
+ AC_ISC_POSIX
+
+-AC_TRY_RUN(main(){exit(0);},,[
+-if test $CC != cc ; then
+-AC_NOTE(Your $CC failed - restarting with CC=cc)
+-AC_NOTE()
+-CC=cc
+-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_TRY_RUN([
+-main()
+-{
+- int __something_strange_();
+- __something_strange_(0);
+-}
+-],AC_MSG_ERROR(Your compiler does not set the exit status - sorry))
+-
+ AC_PROG_AWK
+
+ AC_PROG_INSTALL
+@@ -293,73 +268,7 @@
+ dnl
+
+ AC_CHECKING(fifos)
+-AC_TRY_RUN([
+-#include <sys/types.h>
+-#include <sys/stat.h>
+-#include <fcntl.h>
+-
+-#ifndef O_NONBLOCK
+-#define O_NONBLOCK O_NDELAY
+-#endif
+-#ifndef S_IFIFO
+-#define S_IFIFO 0010000
+-#endif
+-
+-char *fin = "/tmp/conftest$$";
+-
+-main()
+-{
+- struct stat stb;
+-#ifdef FD_SET
+- fd_set f;
+-#else
+- int f;
+-#endif
+-
+- (void)alarm(5);
+-#ifdef POSIX
+- if (mkfifo(fin, 0777))
+-#else
+- if (mknod(fin, S_IFIFO|0777, 0))
+-#endif
+- exit(1);
+- if (stat(fin, &stb) || (stb.st_mode & S_IFIFO) != S_IFIFO)
+- exit(1);
+- close(0);
+-#ifdef __386BSD__
+- /*
+- * The next test fails under 386BSD, but screen works using fifos.
+- * Fifos in O_RDWR mode are only used for the BROKEN_PIPE case and for
+- * the select() configuration test.
+- */
+- exit(0);
+-#endif
+- if (open(fin, O_RDONLY | O_NONBLOCK))
+- exit(1);
+- if (fork() == 0)
+- {
+- close(0);
+- if (open(fin, O_WRONLY | O_NONBLOCK))
+- exit(1);
+- close(0);
+- if (open(fin, O_WRONLY | O_NONBLOCK))
+- exit(1);
+- if (write(0, "TEST", 4) == -1)
+- exit(1);
+- exit(0);
+- }
+-#ifdef FD_SET
+- FD_SET(0, &f);
+-#else
+- f = 1;
+-#endif
+- if (select(1, &f, 0, 0, 0) == -1)
+- exit(1);
+- exit(0);
+-}
+-], AC_NOTE(- your fifos are usable) fifo=1,
+-AC_NOTE(- your fifos are not usable))
+-rm -f /tmp/conftest*
++AC_NOTE(- your fifos are not usable)
+
+ if test -n "$fifo"; then
+ AC_CHECKING(for broken fifo implementation)
+@@ -419,92 +328,10 @@
+ dnl
+
+ AC_CHECKING(sockets)
+-AC_TRY_RUN([
+-#include <sys/types.h>
+-#include <sys/socket.h>
+-#include <sys/un.h>
+-#include <fcntl.h>
+-
+-char *son = "/tmp/conftest$$";
+-
+-main()
+-{
+- int s1, s2, l;
+- struct sockaddr_un a;
+-#ifdef FD_SET
+- fd_set f;
+-#else
+- int f;
+-#endif
+-
+- (void)alarm(5);
+- if ((s1 = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
+- exit(1);
+- a.sun_family = AF_UNIX;
+- strcpy(a.sun_path, son);
+- (void) unlink(son);
+- if (bind(s1, (struct sockaddr *) &a, strlen(son)+2) == -1)
+- exit(1);
+- if (listen(s1, 2))
+- exit(1);
+- if (fork() == 0)
+- {
+- if ((s2 = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
+- kill(getppid(), 3);
+- (void)connect(s2, (struct sockaddr *)&a, strlen(son) + 2);
+- if (write(s2, "HELLO", 5) == -1)
+- kill(getppid(), 3);
+- exit(0);
+- }
+- l = sizeof(a);
+- close(0);
+- if (accept(s1, &a, &l))
+- exit(1);
+-#ifdef FD_SET
+- FD_SET(0, &f);
+-#else
+- f = 1;
+-#endif
+- if (select(1, &f, 0, 0, 0) == -1)
+- exit(1);
+- exit(0);
+-}
+-], AC_NOTE(- your sockets are usable) sock=1,
+-AC_NOTE(- your sockets are not usable))
+-rm -f /tmp/conftest*
++AC_NOTE(- your sockets are usable) sock=1
+
+-if test -n "$sock"; then
+ AC_CHECKING(socket implementation)
+-AC_TRY_RUN([
+-#include <sys/types.h>
+-#include <sys/stat.h>
+-#include <sys/socket.h>
+-#include <sys/un.h>
+-
+-char *son = "/tmp/conftest$$";
+-
+-main()
+-{
+- int s;
+- struct stat stb;
+- struct sockaddr_un a;
+- if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
+- exit(0);
+- a.sun_family = AF_UNIX;
+- strcpy(a.sun_path, son);
+- (void) unlink(son);
+- if (bind(s, (struct sockaddr *) &a, strlen(son)+2) == -1)
+- exit(0);
+- if (stat(son, &stb))
+- exit(1);
+- 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*
+-fi
++AC_NOTE(- you are normal)
+
+
+ dnl
+@@ -536,106 +363,7 @@
+ dnl
+
+ AC_CHECKING(select return value)
+-AC_TRY_RUN([
+-#include <sys/types.h>
+-#include <sys/stat.h>
+-#include <fcntl.h>
+-
+-char *nam = "/tmp/conftest$$";
+-
+-#ifdef NAMEDPIPE
+-
+-#ifndef O_NONBLOCK
+-#define O_NONBLOCK O_NDELAY
+-#endif
+-#ifndef S_IFIFO
+-#define S_IFIFO 0010000
+-#endif
+-
+-
+-main()
+-{
+-#ifdef FD_SET
+- fd_set f;
+-#else
+- int f;
+-#endif
+-
+-#ifdef __FreeBSD__
+-/* From Andrew A. Chernov (ache@astral.msk.su):
+- * opening RDWR fifo fails in BSD 4.4, but select return values are
+- * right.
+- */
+- exit(0);
+-#endif
+- (void)alarm(5);
+-#ifdef POSIX
+- if (mkfifo(nam, 0777))
+-#else
+- if (mknod(nam, S_IFIFO|0777, 0))
+-#endif
+- exit(1);
+- close(0);
+- if (open(nam, O_RDWR | O_NONBLOCK))
+- exit(1);
+- if (write(0, "TEST", 4) == -1)
+- exit(1);
+-
+-#else
+-
+-#include <sys/types.h>
+-#include <sys/socket.h>
+-#include <sys/un.h>
+-
+-main()
+-{
+- int s1, s2, l;
+- struct sockaddr_un a;
+-#ifdef FD_SET
+- fd_set f;
+-#else
+- int f;
+-#endif
+-
+- (void)alarm(5);
+- if ((s1 = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
+- exit(1);
+- a.sun_family = AF_UNIX;
+- strcpy(a.sun_path, nam);
+- (void) unlink(nam);
+- if (bind(s1, (struct sockaddr *) &a, strlen(nam)+2) == -1)
+- exit(1);
+- if (listen(s1, 2))
+- exit(1);
+- if (fork() == 0)
+- {
+- if ((s2 = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
+- kill(getppid(), 3);
+- (void)connect(s2, (struct sockaddr *)&a, strlen(nam) + 2);
+- if (write(s2, "HELLO", 5) == -1)
+- kill(getppid(), 3);
+- exit(0);
+- }
+- l = sizeof(a);
+- close(0);
+- if (accept(s1, (struct sockaddr *)&a, &l))
+- exit(1);
+-#endif
+-
+-
+-#ifdef FD_SET
+- FD_SET(0, &f);
+-#else
+- f = 1;
+-#endif
+- if (select(1, &f, 0, 0, 0) == -1)
+- exit(1);
+- if (select(1, &f, &f, 0, 0) != 2)
+- exit(1);
+- exit(0);
+-}
+-],AC_NOTE(- select is ok),
+-AC_NOTE(- select can't count) AC_DEFINE(SELECT_BROKEN))
++AC_NOTE(- select is ok)
+
+ dnl
+ dnl **** termcap or terminfo ****
+@@ -663,12 +391,7 @@
+ AC_TRY_LINK(,tgetent((char *)0, (char *)0);,,
+ AC_MSG_ERROR(!!! no tgetent - no screen))))))
+
+-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))
++AC_NOTE(- you use the terminfo database) AC_DEFINE(TERMINFO)
+ AC_CHECKING(ospeed)
+ AC_TRY_LINK(extern short ospeed;,ospeed=5;,,AC_DEFINE(NEED_OSPEED))
+
+@@ -731,81 +454,10 @@
+ else
+
+ AC_CHECKING(default tty permissions/group)
+-rm -f conftest_grp
+-AC_TRY_RUN([
+-#include <sys/types.h>
+-#include <sys/stat.h>
+-#include <stdio.h>
+-main()
+-{
+- struct stat sb;
+- char *x,*ttyname();
+- int om, m;
+- FILE *fp;
+-
+- if (!(x = ttyname(0))) exit(1);
+- if (stat(x, &sb)) exit(1);
+- om = sb.st_mode;
+- if (om & 002) exit(0);
+- m = system("mesg y");
+- if (m == -1 || m == 127) exit(1);
+- if (stat(x, &sb)) exit(1);
+- m = sb.st_mode;
+- if (chmod(x, om)) exit(1);
+- if (m & 002) exit(0);
+- if (sb.st_gid == getgid()) exit(1);
+- if (!(fp=fopen("conftest_grp", "w")))
+- exit(1);
+- fprintf(fp, "%d\n", sb.st_gid);
+- fclose(fp);
+- exit(0);
+-}
+-],[
+- if test -f conftest_grp; then
+- ptygrp=`cat conftest_grp`
++ ptygrp=4
+ AC_NOTE([- pty mode: $ptymode, group: $ptygrp])
+ AC_DEFINE_UNQUOTED(PTYMODE, $ptymode)
+ AC_DEFINE_UNQUOTED(PTYGROUP,$ptygrp)
+- else
+- AC_NOTE(- ptys are world accessable)
+- fi
+-],[
+- WRITEPATH=''
+- XTERMPATH=''
+- AC_PATH_PROG(WRITEPATH, write)
+- AC_PATH_PROG(XTERMPATH, xterm)
+- found=
+- if test -n "$WRITEPATH$XTERMPATH"; then
+- findfollow=
+- lsfollow=
+- found=`find $WRITEPATH $XTERMPATH -follow -print 2>/dev/null`
+- if test -n "$found"; then
+- findfollow=-follow
+- lsfollow=L
+- fi
+- if test -n "$XTERMPATH"; then
+- ptygrpn=`ls -l$lsfollow $XTERMPATH | sed -n -e 1p | $AWK '{print $4}'`
+- if test tty != "$ptygrpn"; then
+- XTERMPATH=
+- fi
+- fi
+- fi
+- if test -n "$WRITEPATH$XTERMPATH"; then
+- found=`find $WRITEPATH $XTERMPATH $findfollow -perm -2000 -print`
+- if test -n "$found"; then
+- ptygrp=`ls -ln$lsfollow $found | sed -n -e 1p | $AWK '{print $4}'`
+- AC_NOTE([- pty mode: $ptymode, group: $ptygrp])
+- AC_DEFINE_UNQUOTED(PTYMODE, $ptymode)
+- AC_DEFINE_UNQUOTED(PTYGROUP,$ptygrp)
+- else
+- AC_NOTE(- ptys are world accessable)
+- fi
+- else
+- AC_NOTE(- can't determine - assume ptys are world accessable)
+- fi
+- ]
+-)
+-rm -f conftest_grp
+ fi
+
+ dnl
+@@ -1148,50 +800,9 @@
+ AC_TRY_LINK([#include <stdlib.h>], [fdwalk(NULL, NULL);],AC_DEFINE(HAVE_FDWALK))
+
+ AC_CHECKING(whether memcpy/memmove/bcopy handles overlapping arguments)
+-AC_TRY_RUN([
+-main() {
+- char buf[10];
+- strcpy(buf, "abcdefghi");
+- bcopy(buf, buf + 2, 3);
+- if (strncmp(buf, "ababcf", 6))
+- exit(1);
+- strcpy(buf, "abcdefghi");
+- bcopy(buf + 2, buf, 3);
+- if (strncmp(buf, "cdedef", 6))
+- exit(1);
+- exit(0); /* libc version works properly. */
+-}], AC_DEFINE(USEBCOPY))
+-
+-AC_TRY_RUN([
+-#define bcopy(s,d,l) memmove(d,s,l)
+-main() {
+- char buf[10];
+- strcpy(buf, "abcdefghi");
+- bcopy(buf, buf + 2, 3);
+- if (strncmp(buf, "ababcf", 6))
+- exit(1);
+- strcpy(buf, "abcdefghi");
+- bcopy(buf + 2, buf, 3);
+- if (strncmp(buf, "cdedef", 6))
+- exit(1);
+- exit(0); /* libc version works properly. */
+-}], AC_DEFINE(USEMEMMOVE))
+-
+-
+-AC_TRY_RUN([
+-#define bcopy(s,d,l) memcpy(d,s,l)
+-main() {
+- char buf[10];
+- strcpy(buf, "abcdefghi");
+- bcopy(buf, buf + 2, 3);
+- if (strncmp(buf, "ababcf", 6))
+- exit(1);
+- strcpy(buf, "abcdefghi");
+- bcopy(buf + 2, buf, 3);
+- if (strncmp(buf, "cdedef", 6))
+- exit(1);
+- exit(0); /* libc version works properly. */
+-}], AC_DEFINE(USEMEMCPY))
++AC_DEFINE(USEBCOPY)
++AC_DEFINE(USEMEMMOVE)
++AC_DEFINE(USEMEMCPY)
+
+ AC_MSG_CHECKING(long file names)
+ (echo 1 > /tmp/conftest9012345) 2>/dev/null
+@@ -1266,8 +877,6 @@
+ 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.))
+-
+ ETCSCREENRC="\"/usr/local/etc/screenrc\""
+ if test -n "$prefix"; then
+ ETCSCREENRC="\"$prefix/etc/screenrc\""
diff --git a/data/screen/make.sh b/data/screen/make.sh
new file mode 100644
index 000000000..2408fe6d3
--- /dev/null
+++ b/data/screen/make.sh
@@ -0,0 +1,9 @@
+pkg:extract
+cd *
+pkg:patch
+autoconf
+pkg:configure --disable-pam --with-sys-screenrc=/etc/screenrc
+make
+pkg:install
+pkg: mkdir -p /etc
+pkg: cp -a etc/etcscreenrc /etc/screenrc
diff --git a/data/screen/screen-4.0.2.tar.gz b/data/screen/screen-4.0.2.tar.gz
new file mode 100644
index 000000000..9413a3546
--- /dev/null
+++ b/data/screen/screen-4.0.2.tar.gz
Binary files differ
diff --git a/data/screen/stropts.diff b/data/screen/stropts.diff
new file mode 100644
index 000000000..69b30de05
--- /dev/null
+++ b/data/screen/stropts.diff
@@ -0,0 +1,16 @@
+diff -r -u screen-4.0.2/pty.c screen-4.0.2+iPhone/pty.c
+--- screen-4.0.2/pty.c 2003-09-08 14:26:18.000000000 +0000
++++ screen-4.0.2+iPhone/pty.c 2008-02-12 10:56:58.000000000 +0000
+@@ -33,11 +33,6 @@
+ # include <sys/ioctl.h>
+ #endif
+
+-/* for solaris 2.1, Unixware (SVR4.2) and possibly others */
+-#ifdef HAVE_SVR4_PTYS
+-# include <sys/stropts.h>
+-#endif
+-
+ #if defined(sun) && defined(LOCKPTY) && !defined(TIOCEXCL)
+ # include <sys/ttold.h>
+ #endif
+