diff options
author | B. Watson <yalhcru@gmail.com> | 2020-05-25 01:21:56 -0400 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2020-06-01 08:46:38 +0700 |
commit | 649603fe641875235195300a01df08e600f75a04 (patch) | |
tree | 8dfffa6a40b631302f289805f195bc15d5d5c52e /libraries/xview/xview.SlackBuild | |
parent | dd61c841ad348bc9b5c8d7c75c1c3d6ac60834e4 (diff) |
libraries/xview: New maintainer, build tweaks.
Signed-off-by: B. Watson <yalhcru@gmail.com>
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'libraries/xview/xview.SlackBuild')
-rw-r--r-- | libraries/xview/xview.SlackBuild | 93 |
1 files changed, 69 insertions, 24 deletions
diff --git a/libraries/xview/xview.SlackBuild b/libraries/xview/xview.SlackBuild index e3a5c4ab5c435..d5e643a36cc83 100644 --- a/libraries/xview/xview.SlackBuild +++ b/libraries/xview/xview.SlackBuild @@ -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 {} \; - -DESTDIR=$PKG \ -XVIEW_USE_GCC=1 \ -bash Build-XView.bash libs clients contrib olvwm - -DESTDIR=$PKG \ -bash Build-XView.bash instlibs instclients instcontrib instolvwm instfinish - -# it conflicts with /sbin/clock from Slackware +find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \ + \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+ + +# 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 + +script=Build-XView.bash + +# 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 |