#!/bin/sh
# Build GNU screen for Slackware 
# <volkerdi@slackware.com>

VERSION=3.9.13
ARCH=i386
BUILD=1

CWD=`pwd`
PKG=/tmp/package-screen
TMP=/tmp
cd /tmp
tar xzvf $CWD/screen-$VERSION.tar.gz

cd screen-$VERSION
chown -R root.root .
CFLAGS="-O2 -march=i386 -mcpu=i686" ./configure --prefix=/usr \
            --with-sys-screenrc=/etc/screenrc \
            --disable-socket-dir \
            i386-slackware-linux

# Substitutions:
perl -pi -e 's|.*#.*PTYMODE.*|#define PTYMODE 0620|' config.h
perl -pi -e 's|.*#.*PTYGROUP.*|#define PTYGROUP 5|' config.h
perl -pi -e 's|.*#undef HAVE_BRAILLE.*|#define HAVE_BRAILLE 1|' config.h
perl -pi -e 's|.*#undef BUILTIN_TELNET.*|#define BUILTIN_TELNET 1|' config.h
perl -pi -e 's|%{_prefix}/etc/screenrc|/etc/screenrc|' config.h
perl -pi -e 's|/usr/local/etc/screenrc|/etc/screenrc|' etc/etcscreenrc doc/*
perl -pi -e 's|/local/etc/screenrc|/etc/screenrc|' doc/*

# Build screen:
make
strip screen

# Prepare package:
rm -rf $PKG
mkdir -p $PKG/usr/bin
cat screen > $PKG/usr/bin/screen-$VERSION
chmod 755 $PKG/usr/bin/screen-$VERSION
( cd $PKG/usr/bin ; ln -sf screen-$VERSION screen )
chown -R root.bin $PKG/usr/bin
mkdir -p $PKG/etc/skel
cat $CWD/etc/screenrc > $PKG/etc/screenrc
cat $CWD/etc/skel/screenrc > $PKG/etc/skel/.screenrc
mkdir -p $PKG/usr/info
( cd doc
  for file in screen.info* ; do
    cat $file | gzip -9c > $PKG/usr/info/$file.gz
  done
  mkdir -p $PKG/usr/man/man1
  cat screen.1 | gzip -9c > $PKG/usr/man/man1/screen.1.gz )
mkdir -p $PKG/usr/doc/screen-$VERSION
cp -a COPYING ChangeLog INSTALL NEWS README TODO \
  doc/FAQ doc/README.DOTSCREEN \
  $PKG/usr/doc/screen-$VERSION
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc

# Build package:
cd $PKG
makepkg -l y -c n $TMP/screen-$VERSION-$ARCH-$BUILD.tgz