libraries/xview: New maintainer, build tweaks.

Signed-off-by: B. Watson <yalhcru@gmail.com>

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
B. Watson 2020-05-25 01:21:56 -04:00 committed by Willy Sudiarto Raharjo
parent dd61c841ad
commit 649603fe64
No known key found for this signature in database
GPG Key ID: 3F617144D7238786
3 changed files with 74 additions and 32 deletions

View File

@ -1,4 +1,4 @@
XView (X11 toolkit for OPEN LOOK applications)
xview (X11 toolkit for OPEN LOOK applications)
XView is a cross-platform X11 toolkit which implements OPEN LOOK
specification. It was originally created by Sun Microsystems (now
@ -7,11 +7,8 @@ several OPEN LOOK applications, including window managers (olwm,
olvwm), text editors (oledit, textedit), clock (olclock) and a
simple calculator (olcalc).
!!! IMPORTANT !!!
Due to conflict with /sbin/clock, XView's clock was renamed to olclock.
If you are using one of certain, older Slackware versions, XView
applications may hang after first mouse button click. To prevent this
behaviour, build this SlackBuild in the following way:
XVIEW_BROKEN_X11_WORKAROUND=1 ./xview.SlackBuild
Note to 64-bit users: xview isn't "64-bit clean". The window managers
(olwm, olvwm) work, but the applications crash with a segfault on
startup.

View File

@ -2,7 +2,8 @@
# Slackware build script for XView
# Copyright 2014 Tomasz Konojacki <me@xenu.tk>
# Copyright 2014 Tomasz Konojacki <email removed>
# Copyright 2020 B. Watson <yalhcru@gmail.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@ -22,9 +23,16 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# 20200524 bkw:
# - take over maintenance, BUILD=2
# - add partial 64-bit support (olwm and olvwm work, apps don't)
# - add xinitrc.ol[v]wm
# - add MAKEFLAGS=-j1
# - remove XVIEW_BROKEN_X11_WORKAROUND from README, not needed on 14.2
PRGNAM=xview
VERSION=${VERSION:-3.2p4}
BUILD=${BUILD:-1}
BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@ -35,47 +43,84 @@ if [ -z "$ARCH" ]; then
esac
fi
if [ "$ARCH" != "i586" ] && [ "$ARCH" != "i686" ]; then
echo "$ARCH is not supported."
exit 1
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
if [ "${WARN64:-yes}" = "yes" ]; then
cat <<"EOF"
************************************************************************
Warning: xview doesn't fully support 64-bit systems. The window managers
(olwm and olvwm) work, but the applications (olclock, oledit, etc) crash
on startup. Please don't report this as a bug, we already know.
Press Enter or wait 5 seconds to continue, or press ^C to abort.
************************************************************************
EOF
read -t 5 || true
fi
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar Zxvf $CWD/$PRGNAM-$VERSION.tar.Z
tar xvf $CWD/$PRGNAM-$VERSION.tar.Z
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
\! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
DESTDIR=$PKG \
XVIEW_USE_GCC=1 \
bash Build-XView.bash libs clients contrib olvwm
# Apply our CFLAGS. There might be a simpler way to do it, but this works:
sed -i "s,-O2,$SLKCFLAGS,g" \
clients/olvwm-4.1/compiler.tmpl \
clients/olwm/Makefile.simple \
config/XView.tmpl
DESTDIR=$PKG \
bash Build-XView.bash instlibs instclients instcontrib instolvwm instfinish
script=Build-XView.bash
# it conflicts with /sbin/clock from Slackware
# lib64 support, and stop creating /usr/config outside of $TMP.
sed -i \
-e "s|/lib/X11/config|/lib$LIBDIRSUFFIX/X11/config|g" \
-e '/instlibs)/,+1s|install-sh|#&|' \
$script
# 20200524 bkw: Yes, we do need -j1 here.
X11DIR=/usr
OPENWINHOME=/usr
DESTDIR=$PKG
XVIEW_USE_GCC=1
MAKEFLAGS=-j1
export X11DIR OPENWINHOME DESTDIR XVIEW_USE_GCC MAKEFLAGS
# "all" builds/installs everything according to the env vars set above.
sh $script all
# This conflicts with /sbin/clock from Slackware:
mv $PKG/usr/bin/clock $PKG/usr/bin/olclock
mv $PKG/usr/man/man1/clock.1x $PKG/usr/man/man1/olclock.1x
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
gzip -9 $PKG/usr/man/man?/*
mkdir -p $PKG/etc/X11/xinit
install -m0755 -oroot -groot $CWD/xinitrc.* $PKG/etc/X11/xinit
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a README CHANGELOG LEGAL_NOTICE $PKG/usr/doc/$PRGNAM-$VERSION

View File

@ -1,10 +1,10 @@
PRGNAM="xview"
VERSION="3.2p4"
HOMEPAGE="https://physionet.org/physiotools/xview/"
HOMEPAGE="https://archive.physionet.org/physiotools/xview/"
DOWNLOAD="http://ponce.cc/slackware/sources/repo/xview-3.2p4.tar.Z"
MD5SUM="27b10252d53d2ccee12650221d873e2b"
DOWNLOAD_x86_64="UNSUPPORTED"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="Tomasz Konojacki"
EMAIL="me@xenu.tk"
MAINTAINER="B. Watson"
EMAIL="yalhcru@gmail.com"