aboutsummaryrefslogtreecommitdiff
path: root/development/icon/icon.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'development/icon/icon.SlackBuild')
-rw-r--r--development/icon/icon.SlackBuild86
1 files changed, 86 insertions, 0 deletions
diff --git a/development/icon/icon.SlackBuild b/development/icon/icon.SlackBuild
new file mode 100644
index 000000000000..5f2e30a49565
--- /dev/null
+++ b/development/icon/icon.SlackBuild
@@ -0,0 +1,86 @@
+#!/bin/sh
+
+# Slackware build script for icon
+# Written by Kyle Guinn <elyk03@gmail.com>
+
+PRGNAM=icon
+VERSION=${VERSION:-9.5.0}
+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-$VERSION
+OUTPUT=${OUTPUT:-/tmp}
+
+# Removed "-O2"; enabling optimization seems to cause
+# "Run-time error 302", "memory violation"
+# whenever running icon programs.
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS=""
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+PKGVERSION=$(echo $VERSION | tr -d .)
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-v${PKGVERSION}src
+tar xvf $CWD/$PRGNAM-v${PKGVERSION}src.tgz
+cd $PRGNAM-v${PKGVERSION}src
+chown -R root:root .
+chmod -R u+w,go+r-w,a-st .
+
+# Let's put the package in /opt/icon instead of filling /usr/lib
+# (and not a '/usr/lib/icon' subdirectory) with icon-related files.
+# The makefile will attempt to create the /opt/icon directory, but
+# doesn't use the -p option with mkdir, so we have to create only
+# its parent directory first.
+mkdir -p $PKG/opt
+make X-Configure name=linux
+make CFLAGS="$SLKCFLAGS"
+make Install dest=$PKG/opt/icon
+
+# Create symlinks from /usr/bin to /opt/icon/bin.
+mkdir -p $PKG/usr/bin
+for i in icon icont iconx vib; do
+ ln -s ../../opt/icon/bin/$i $PKG/usr/bin/$i
+done
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+# Move man pages and docs to their usual locations.
+mkdir -p $PKG/usr/doc
+mv $PKG/opt/icon/man $PKG/usr/man
+mv $PKG/opt/icon/doc $PKG/usr/doc/$PRGNAM-$VERSION
+mv $PKG/opt/icon/README $PKG/usr/doc/$PRGNAM-$VERSION
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}