#!/bin/bash # Slackware build script for fsviewer # Written by B. Watson (urchlay@slackware.uk) # Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. # 20240122 bkw: switch to roblillack's fork, v0.2.6+20220428_38b38a6. # Get rid of old patches (no longer needed), and add a new patch to # give the window a working close button. # 20230708 bkw: BUILD=3, install to the same Applications dir as # windowmaker's WPrefs.app (and no creating /usr/GNUstep, which was # never a good idea). # 20210825 bkw: fix build on -current, BUILD=2. cd $(dirname $0) ; CWD=$(pwd) PRGNAM=fsviewer VERSION=${VERSION:-0.2.6+20220428_38b38a6} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} if [ -z "$ARCH" ]; then case "$( uname -m )" in i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac fi if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" exit 0 fi 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 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 xvf $CWD/$PRGNAM-$VERSION.tar.xz cd $PRGNAM-$VERSION chown -R root:root . find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} + -o \ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} + # 20240123 bkw: add a close button to the top-level window. patch -p1 < $CWD/close_button.diff # 20240122 bkw: install to /usr/lib(64), then mv the bin dir. mkdir -p build cd build cmake \ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ -DCMAKE_INSTALL_PREFIX=/usr/lib$LIBDIRSUFFIX \ -DLIB_SUFFIX=${LIBDIRSUFFIX} \ -DMAN_INSTALL_DIR=/usr/man \ -DCMAKE_BUILD_TYPE=Release .. make make install/strip DESTDIR=$PKG cd .. mv $PKG/usr/lib*/bin $PKG/usr/bin # 20240123 bkw: symlink to the binary, same as the package name. ln -s FSViewer $PKG/usr/bin/$PRGNAM # 20240123 bkw: cmake doesn't build this, it was in the old package, # fortunately it's easy enough to include in the new one. I have no # idea what it's good for... sed -i '/config\.h/d' defs/chdef.c make -C defs chdef LDFLAGS="-lWINGs -lWUtil" install -s -m0755 defs/chdef $PKG/usr/bin mkdir -p $PKG/usr/man/man1 for i in man/*.1x; do gzip -9 < $i > $PKG/usr/man/man1/$( basename $i ).gz done # .desktop file comes from the Polish Linux Distro, and has been modified # to add the icon and to pass desktop-file-validate. mkdir -p $PKG/usr/share/applications cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop # I like the look of FSViewer2.xpm better. You could use FSViewer.xpm if # you prefer. mkdir -p $PKG/usr/share/pixmaps ln -s ../../lib$LIBDIRSUFFIX/GNUstep/Apps/FSViewer.app/xpm/FSViewer2.xpm \ $PKG/usr/share/pixmaps/$PRGNAM.xpm PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION mkdir -p $PKGDOC cp -a AUTHORS COPYING ChangeLog NEWS README* docs/* $PKGDOC cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE