slackbuilds_ponce/system/rox-filer/rox-filer.SlackBuild
slakmagik 8467c8e112 system/rox-filer: Miscellaneous cleanups
Clarify a point in the README that some users are interested in. Update
the doinst.sh to the new template. Remove unneeded comments. Comment why
there's no strip code. Fix indentation. Remove bashism (brace
expansion). Replace a 'cd...cd -' with a subshell. Tighten up other
one-line subshells so it's consistent with the rest of the one-line
subshells.

Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
2011-03-01 09:54:14 -06:00

121 lines
3.2 KiB
Bash

#!/bin/sh
# Slackware build script for rox-filer
# Written by slakmagik <slakmagik@gmail.com>
# Released under the WTFPL
PRGNAM=rox-filer
VERSION=${VERSION:-2.9}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -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.bz2
cd $PRGNAM-$VERSION
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 \
-o -perm 400 \) -exec chmod 644 {} \;
# this autostrips the non-debug binary
CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" ./ROX-Filer/AppRun --compile
# begin poor man's 'make install' (*heavily* adapted from rox's interactive
# prefix-less install.sh)
APPDIR=/usr/libexec
BINDIR=/usr/bin
CHOICESDIR=/etc/rox/xdg/rox.sourceforge.net/MIME-types
DOCDIR=/usr/doc
MANDIR=/usr/man/man1
MIMEDIR=/usr/share/mime
mkdir -p \
$PKG/$APPDIR \
$PKG/$BINDIR \
$PKG/$CHOICESDIR \
$PKG/$DOCDIR \
$PKG/$MANDIR \
$PKG/$MIMEDIR/packages
(cd ROX-Filer/src && make clean) > /dev/null 2>&1
cp -a ROX-Filer $PKG/$APPDIR
# the actual original files of symlink.png and mime-application:x-jar.png,
# which also have symlinks to them, are executable and shouldn't be.
chmod 0644 $PKG/$APPDIR/ROX-Filer/images/* $PKG/$APPDIR/ROX-Filer/ROX/MIME/*
# the APP_DIR isn't on the path, so this lets the user run the filer with a
# simple 'rox' invocation.
cat > $PKG/$BINDIR/rox << EOF
#!/bin/sh
exec $APPDIR/ROX-Filer/AppRun "\$@"
EOF
chmod 0755 $PKG/$BINDIR/rox
# Don't clobber these on upgrades
( cd Choices/MIME-types
for file in * ; do
mv $file $PKG/$CHOICESDIR/$file.new ;
done )
# The doc files are accessible through the UI, so need to be left here, but
# there also need to be docs in the usual /usr/doc dir, so we link. The
# build script ends up in ROX's help dir, too, but that's actually kinda cool.
# ;)
(cd $PKG/$DOCDIR && ln -sf $APPDIR/ROX-Filer/Help $PRGNAM-$VERSION)
cat $CWD/$PRGNAM.SlackBuild > $PKG/$APPDIR/ROX-Filer/Help/$PRGNAM.SlackBuild
gzip -9c rox.1 > $PKG/$MANDIR/rox.1.gz
(cd $PKG/$MANDIR; ln -sf rox.1.gz ROX-Filer.1.gz)
cp rox.xml $PKG/$MIMEDIR/packages/rox.xml
# end poor man's 'make install'
mkdir -p $PKG/etc/profile.d
install -m 0755 $CWD/$PRGNAM.sh $PKG/etc/profile.d/$PRGNAM.sh.new
install -m 0755 $CWD/$PRGNAM.csh $PKG/etc/profile.d/$PRGNAM.csh.new
mkdir -p $PKG/usr/share/applications
cat $CWD/rox-filer.desktop > $PKG/usr/share/applications/rox-filer.desktop
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:-tgz}