summaryrefslogtreecommitdiff
path: root/network/js/js.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'network/js/js.SlackBuild')
-rw-r--r--network/js/js.SlackBuild57
1 files changed, 41 insertions, 16 deletions
diff --git a/network/js/js.SlackBuild b/network/js/js.SlackBuild
index 61485c1423..aebc298c0e 100644
--- a/network/js/js.SlackBuild
+++ b/network/js/js.SlackBuild
@@ -1,15 +1,20 @@
#!/bin/sh
-# Slackware build script for js (SpiderMonkey)
+# Slackware build script for SpiderMonkey
-# Written by Dugan Chen (dugan_c@fastmail.fm)
-# Modified by Robby Workman <rworkman@slackbuilds.org>
+# Written by David Woodfall dave@unrealize.co.uk
+# aka dive irc.freenode.net #slackware & #slackbuilds
+
+# Feel free to edit this script as you feel fit but
+# please acknowledge me somewhere in it and contact
+# me if you make any nice improvements.
PRGNAM=js
-VERSION=1.60
+VERSION=${VERSION:-1.7.0}
ARCH=${ARCH:-i486}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
@@ -17,34 +22,54 @@ OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
-elif [ "$ARCH" = "i687" ]; then
+elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
fi
-set -e
+set -e # Exit on most errors
+
+SOURCE=$TMP/$PRGNAM # For convenience
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM
+rm -rf $SOURCE
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
-cd $PRGNAM
+cd $SOURCE
chown -R root:root .
chmod -R u+w,go+r-w,a-s .
+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 {} \;
-patch -p1 < $CWD/js-1.5-rc6a+elinks.patch
+# Dynamic linking patch
+patch -p1 < $CWD/dynamic-link.patch
+
+# Set some flags
+CFLAGS="$SLKCFLAGS" ; export CFLAGS
+CXXFLAGS="$SLKCFLAGS" ; export CXXFLAGS
+XLDFLAGS="-s" ; export XLDFLAGS
+OPTIMIZER="$SLKCFLAGS" ; export OPTIMIZER
cd src
-sed -i 's#^PREFIX = /opt/spidermonkey#PREFIX = /usr#' config.mk
-CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" make -f Makefile.ref
-CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" make -f Makefile.ref export
+gmake -f Makefile.ref all export BUILD_OPT=1
+mv -v ../../dist $PKG/usr
+
+unset CFLAGS CXXFLAGS XLDFLAGS OPTIMIZER
-mkdir -p $PKG/usr
-cp -a dist/* $PKG/usr
-strip --strip-unneeded $PKG/usr/bin/js $PKG/usr/lib/libjs.so
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null || true
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+)
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp $TMP/$PRGNAM/README $PKG/usr/doc/$PRGNAM-$VERSION
+cp ../README README.html $PKG/usr/doc/$PRGNAM-$VERSION/
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install