aboutsummaryrefslogtreecommitdiff
path: root/development/xa/xa.SlackBuild
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2013-10-27 21:14:00 -0500
committerRobby Workman <rworkman@slackbuilds.org>2013-10-27 23:39:07 -0500
commitb9dcd6d7c4c71a41152ea989987bd1125f630a24 (patch)
tree330a8a10d71bbc166a36d97287adfc51de018d61 /development/xa/xa.SlackBuild
parentabda283987c4cce0c6b024a89420f35d9d0f7623 (diff)
development/xa: Added (Andre Fachat's open-source 6502 cross assembler)
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
Diffstat (limited to 'development/xa/xa.SlackBuild')
-rw-r--r--development/xa/xa.SlackBuild92
1 files changed, 92 insertions, 0 deletions
diff --git a/development/xa/xa.SlackBuild b/development/xa/xa.SlackBuild
new file mode 100644
index 0000000000000..cf2c3f1c99df9
--- /dev/null
+++ b/development/xa/xa.SlackBuild
@@ -0,0 +1,92 @@
+#!/bin/bash
+
+# Slackware build script for xa
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+PRGNAM=xa
+VERSION=${VERSION:-2.3.5}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+# dxa is a separate distribution with its own version number
+DXAVER=0.1.3
+
+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.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+
+# tarball permissions are worse than usual.
+find . -type d -exec chmod 755 {} \; -o -type f -exec chmod 644 {} \;
+
+sed -i "s,-O2,$SLKCFLAGS," Makefile
+
+# Note: non-standard use of DESTDIR
+make DESTDIR=/usr
+make install DESTDIR=$PKG/usr MANDIR=$PKG/usr/man/man1
+strip $PKG/usr/bin/*
+
+# man pages are installed +x, ugh
+chmod -x $PKG/usr/man/man?/*.?
+gzip -9 $PKG/usr/man/man?/*.?
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a README* COPYING ChangeLog TODO doc/* examples tests mkrom.sh \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+# now build dxa
+tar xvf $CWD/dxa-$DXAVER.tar.gz
+cd dxa-$DXAVER
+
+# These patches took a minute to figure out how to apply
+patch -l < $CWD/dxa-valgrind-patch.txt
+patch -p0 < $CWD/dxa-malloc-patch.txt
+
+# Can't see a disadvantage to enabling the --long-options
+sed -i "s,-O6,$SLKCFLAGS -DLONG_OPTIONS," Makefile
+
+make
+install -s -m0755 dxa $PKG/usr/bin
+gzip -9c < dxa.1 > $PKG/usr/man/man1/dxa.1.gz
+
+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}