summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--abs/extra/screen/PKGBUILD48
-rw-r--r--abs/extra/screen/screen-4.0.3-caption-colors.patch21
-rw-r--r--abs/extra/screen/screen-4.0.3-long-term.patch24
-rw-r--r--abs/extra/screen/screen.install21
-rw-r--r--abs/extra/screen/screen.pam1
5 files changed, 115 insertions, 0 deletions
diff --git a/abs/extra/screen/PKGBUILD b/abs/extra/screen/PKGBUILD
new file mode 100644
index 0000000..c22d539
--- /dev/null
+++ b/abs/extra/screen/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 131720 2011-07-14 01:42:52Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Committer: dorphell <dorphell@gmx.net>
+
+pkgname=screen
+pkgver=4.0.3
+pkgrel=12
+_ptygroup=5 #the UID of our PTY/TTY group
+pkgdesc="Full-screen window manager that multiplexes a physical terminal"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/screen/"
+license=('GPL')
+depends=('ncurses' 'pam')
+backup=('etc/screenrc' 'etc/pam.d/screen')
+options=('!makeflags')
+install=screen.install
+source=(ftp://ftp.uni-erlangen.de/pub/utilities/screen/screen-${pkgver}.tar.gz
+ screen-4.0.3-long-term.patch
+ screen-4.0.3-caption-colors.patch
+ screen.pam)
+md5sums=('8506fd205028a96c741e4037de6e3c42'
+ '2723c3e71d5a2e5a74b6ddbc5215ef0f'
+ '191b6ced695ce2ae3a65bf02c2d4220f'
+ '74f7919d7b65436cc2ea5341fa8ca374')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ patch -Np1 -i $srcdir/screen-4.0.3-long-term.patch
+ patch -Np2 -i $srcdir/screen-4.0.3-caption-colors.patch
+
+ ./configure --prefix=/usr --enable-pam \
+ --with-sys-screenrc=/etc/screenrc --enable-colors256 \
+ --enable-rxvt_osc --enable-telnet \
+ --with-pty-group=$_ptygroup \
+ --mandir=/usr/share/man --infodir=/usr/share/info
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+
+ install -Dm644 ${srcdir}/screen.pam ${pkgdir}/etc/pam.d/screen
+
+ install -Dm644 etc/completer.zsh ${pkgdir}/usr/share/zsh/site-functions/screen
+ install -Dm644 etc/etcscreenrc ${pkgdir}/etc/screenrc
+ install -Dm644 etc/screenrc ${pkgdir}/etc/skel/.screenrc
+}
diff --git a/abs/extra/screen/screen-4.0.3-caption-colors.patch b/abs/extra/screen/screen-4.0.3-caption-colors.patch
new file mode 100644
index 0000000..c92cb0c
--- /dev/null
+++ b/abs/extra/screen/screen-4.0.3-caption-colors.patch
@@ -0,0 +1,21 @@
+From e6a28cf8bfdac15faa6c267bf476ddcaddf48d67 Mon Sep 17 00:00:00 2001
+From: Sadrul Habib Chowdhury <sadrul@users.sourceforge.net>
+Date: Tue, 26 Jan 2010 20:17:26 +0000
+Subject: Accommodate more color changes in the caption.
+
+---
+diff --git a/src/screen.c b/src/screen.c
+index b1c3dfb..2cceae0 100644
+--- a/src/screen.c
++++ b/src/screen.c
+@@ -2204,7 +2204,7 @@ static const char months[] = "JanFebMarAprMayJunJulAugSepOctNovDec";
+ #endif
+
+ static char winmsg_buf[MAXSTR];
+-#define MAX_WINMSG_REND 16 /* rendition changes */
++#define MAX_WINMSG_REND 256 /* rendition changes */
+ static int winmsg_rend[MAX_WINMSG_REND];
+ static int winmsg_rendpos[MAX_WINMSG_REND];
+ static int winmsg_numrend;
+--
+cgit v0.8.3.4
diff --git a/abs/extra/screen/screen-4.0.3-long-term.patch b/abs/extra/screen/screen-4.0.3-long-term.patch
new file mode 100644
index 0000000..3e66acd
--- /dev/null
+++ b/abs/extra/screen/screen-4.0.3-long-term.patch
@@ -0,0 +1,24 @@
+diff -Naur screen-4.0.3-orig//display.h screen-4.0.3/display.h
+--- screen-4.0.3-orig//display.h 2003-07-02 00:01:42.000000000 +1000
++++ screen-4.0.3/display.h 2010-12-03 20:19:23.826671689 +1000
+@@ -85,7 +85,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[40 + 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 -Naur screen-4.0.3-orig//screen.h screen-4.0.3/screen.h
+--- screen-4.0.3-orig//screen.h 2003-08-22 22:28:43.000000000 +1000
++++ screen-4.0.3/screen.h 2010-12-03 20:19:43.163338333 +1000
+@@ -202,7 +202,7 @@
+ char preselect[20];
+ int esc; /* his new escape character unless -1 */
+ int meta_esc; /* his new meta esc character unless -1 */
+- char envterm[20 + 1]; /* terminal type */
++ char envterm[40 + 1]; /* terminal type */
+ int encoding; /* encoding of display */
+ }
+ attach;
diff --git a/abs/extra/screen/screen.install b/abs/extra/screen/screen.install
new file mode 100644
index 0000000..9340e60
--- /dev/null
+++ b/abs/extra/screen/screen.install
@@ -0,0 +1,21 @@
+infodir=usr/share/info
+filelist=(screen.info screen.info-1 screen.info-2 screen.info-3 screen.info-4 screen.info-5)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
diff --git a/abs/extra/screen/screen.pam b/abs/extra/screen/screen.pam
new file mode 100644
index 0000000..07c42ad
--- /dev/null
+++ b/abs/extra/screen/screen.pam
@@ -0,0 +1 @@
+auth required pam_unix.so