summaryrefslogtreecommitdiffstats
path: root/source/ap/screen/screen.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/screen/screen.SlackBuild')
-rwxr-xr-xsource/ap/screen/screen.SlackBuild54
1 files changed, 37 insertions, 17 deletions
diff --git a/source/ap/screen/screen.SlackBuild b/source/ap/screen/screen.SlackBuild
index b182233c3..dfaad1413 100755
--- a/source/ap/screen/screen.SlackBuild
+++ b/source/ap/screen/screen.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011, 2013, 2014, 2015, 2016 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,21 +20,22 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=${VERSION:-4.0.3}
-BUILD=${BUILD:-4}
+PKGNAM=screen
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ i?86) export ARCH=i586 ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$( uname -m ) ;;
esac
fi
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
elif [ "$ARCH" = "x86_64" ]; then
@@ -47,6 +48,8 @@ CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-screen
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
@@ -55,12 +58,6 @@ tar xvf $CWD/screen-$VERSION.tar.?z* || exit 1
cd screen-$VERSION || exit 1
-# Increase the size of the termname buffer from 20 to 63:
-zcat $CWD/screen.d_termname.envterm.buffersizeincrease.diff.gz | patch -p1 --verbose || exit 1
-
-# Patch for newer glibc that might return NULL from crypt():
-zcat $CWD/screen.crypt.diff.gz | patch -p2 --verbose || exit 1
-
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -68,17 +65,39 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+# Apply patches taken from Debian:
+for pf in \
+ 26source_encoding.patch.gz \
+ 45suppress_remap.patch.gz \
+ 52fix_screen_utf8_nfd.patch.gz \
+ 58-show-encoding-hardstatus.patch.gz \
+ ; do zcat $CWD/$pf | patch --verbose -p1 || exit 1
+done
+
+# Do not link against libelf:
+zcat $CWD/screen.no_libelf.diff.gz | patch -p1 --verbose || exit 1
+
+# Reconf after patching configure.ac:
+autoreconf -vif
+
+# Configure:
CFLAGS="$SLKCFLAGS" \
-./configure --prefix=/usr \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
--with-sys-screenrc=/etc/screenrc \
--with-pty-mode=0620 \
--with-pty-group=5 \
+ --disable-pam \
--enable-telnet \
--disable-socket-dir \
- --enable-locale \
+ --enable-use-locale \
--enable-colors256 \
--enable-rxvt_osc \
- --build=$ARCH-slackware-linux
+ --build=$ARCH-slackware-linux || exit 1
# Substitutions:
perl -pi -e 's|.*#undef HAVE_BRAILLE.*|#define HAVE_BRAILLE 1|' config.h
@@ -86,7 +105,7 @@ 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 || exit 1
+make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
# Prepare package:
@@ -94,6 +113,7 @@ make install DESTDIR=$PKG || exit 1
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
)
+
# Sorry, pal. Not around here.
chmod 755 $PKG/usr/bin/screen-$VERSION
mkdir -p $PKG/etc/skel
@@ -104,7 +124,7 @@ gzip -9 $PKG/usr/info/*
gzip -9 $PKG/usr/man/man1/*
mkdir -p $PKG/usr/doc/screen-$VERSION
chmod 644 doc/FAQ
-cp -a COPYING ChangeLog INSTALL NEWS README TODO \
+cp -a COPYING ChangeLog HACKING INSTALL NEWS README TODO \
doc/FAQ doc/README.DOTSCREEN \
$PKG/usr/doc/screen-$VERSION
mkdir -p $PKG/install