summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--network/js/README13
-rw-r--r--network/js/dynamic-link.patch13
-rw-r--r--network/js/js-1.5-rc6a+elinks.patch61
-rw-r--r--network/js/js.SlackBuild57
-rw-r--r--network/js/js.info10
-rw-r--r--network/js/slack-desc30
6 files changed, 80 insertions, 104 deletions
diff --git a/network/js/README b/network/js/README
index e101b47dab..9842a83b18 100644
--- a/network/js/README
+++ b/network/js/README
@@ -1,10 +1,9 @@
-js (SpiderMonkey JavaScript-C Engine)
+js (SpiderMonkey, Mozilla's JavaScript Engine)
-The SpiderMonkey engine is Mozilla's C implementation of JavaScript. It is
-intended to be embedded into other programs. In particular, it's used by ELinks
-for JavaScript support.
+SpiderMonkey is the code-name for the Mozilla's C implementation of
+JavaScript. It can be used by applications such as elinks and others.
-This version includes a patch (from the ELinks) project to compile it easier.
+This is the standalone version of the engine used by Firefox and other
+Mozilla applications.
-After installation, run: ldconfig -v | grep libjs.so
-and you should see: libjs.so -> libjs.so
+See /usr/doc/spidermonkey-1.7.0/README.html for examples.
diff --git a/network/js/dynamic-link.patch b/network/js/dynamic-link.patch
new file mode 100644
index 0000000000..5a62c74fbb
--- /dev/null
+++ b/network/js/dynamic-link.patch
@@ -0,0 +1,13 @@
+--- js.orig/src/Makefile.ref 2006-07-26 20:16:47.000000000 +0100
++++ js/src/Makefile.ref 2009-01-03 19:05:28.000000000 +0000
+@@ -335,8 +335,8 @@
+ $(PROGRAM): $(PROG_OBJS) $(LIBRARY)
+ link.exe -out:"$@" $(EXE_LINK_FLAGS) $^
+ else
+-$(PROGRAM): $(PROG_OBJS) $(LIBRARY)
+- $(CC) -o $@ $(CFLAGS) $(PROG_OBJS) $(LIBRARY) $(LDFLAGS) $(OTHER_LIBS) \
++$(PROGRAM): $(PROG_OBJS) $(SHARED_LIBRARY)
++ $(CC) -o $@ $(CFLAGS) $(PROG_OBJS) $(LIBRARY) $(LDFLAGS) -L$(OBJDIR) -ljs $(OTHER_LIBS) \
+ $(PROG_LIBS)
+ endif
+
diff --git a/network/js/js-1.5-rc6a+elinks.patch b/network/js/js-1.5-rc6a+elinks.patch
deleted file mode 100644
index fe8c06a555..0000000000
--- a/network/js/js-1.5-rc6a+elinks.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-This quick'n'dirty patch enables relatively painless SpiderMonkey installation.
-See doc/ecmascript.txt for details.
-
-diff -ru js-1.5-rc6a/src/config.mk js-1.5-rc6a+elinks/src/config.mk
---- js-1.5-rc6a/src/config.mk Sat Nov 15 01:10:55 2003
-+++ js-1.5-rc6a+elinks/src/config.mk Wed Sep 22 16:32:12 2004
-@@ -37,10 +37,15 @@
- #
- # ***** END LICENSE BLOCK *****
-
-+BUILD_OPT=1
-+ifndef PREFIX
-+PREFIX = /opt/spidermonkey
-+endif
-+
- ifdef JS_DIST
- DIST = $(JS_DIST)
- else
--DIST = $(DEPTH)/../../dist/$(OBJDIR)
-+DIST = dist/
- endif
-
- # Set os+release dependent make variables
-diff -ru js-1.5-rc6a/src/jsconfig.mk js-1.5-rc6a+elinks/src/jsconfig.mk
---- js-1.5-rc6a/src/jsconfig.mk Sat Nov 15 01:10:56 2003
-+++ js-1.5-rc6a+elinks/src/jsconfig.mk Wed Sep 22 16:34:28 2004
-@@ -104,8 +104,8 @@
- echo $(NSPR_VERSION) > $(NSPR_VERSIONFILE)
- endif
-
--SHIP_DIST = $(MOZ_DEPTH)/dist/$(OBJDIR)
--SHIP_DIR = $(SHIP_DIST)/SHIP
-+SHIP_DIST = $(DIST)
-+SHIP_DIR = $(PREFIX)
-
- SHIP_LIBS = libjs.$(SO_SUFFIX) libjs.a
- ifdef JS_LIVECONNECT
-@@ -117,7 +117,7 @@
- SHIP_LIBS += jsj.dll jsj.lib
- endif
- endif
--SHIP_LIBS += $(LCJAR)
-+#SHIP_LIBS += $(LCJAR)
- SHIP_LIBS := $(addprefix $(SHIP_DIST)/lib/, $(SHIP_LIBS))
-
- SHIP_INCS = js*.h prmjtime.h resource.h *.msg *.tbl
-@@ -144,6 +144,14 @@
- JSREFJAR = jsref_dbg.jar
- endif
- endif
-+
-+install:
-+ mkdir -p $(SHIP_DIR)/$(LIBDIR)
-+ mkdir -p $(SHIP_DIR)/include
-+ mkdir -p $(SHIP_DIR)/bin
-+ cp $(SHIP_LIBS) $(SHIP_DIR)/$(LIBDIR)
-+ cp $(SHIP_INCS) $(SHIP_DIR)/include
-+ cp $(SHIP_BINS) $(SHIP_DIR)/bin
-
- ship:
- mkdir -p $(SHIP_DIR)/$(LIBDIR)
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
diff --git a/network/js/js.info b/network/js/js.info
index 0fc795f1ed..b20e94c57a 100644
--- a/network/js/js.info
+++ b/network/js/js.info
@@ -1,8 +1,8 @@
PRGNAM="js"
-VERSION="1.60"
+VERSION="1.7.0"
HOMEPAGE="http://www.mozilla.org/js/spidermonkey/"
-DOWNLOAD="ftp://ftp.mozilla.org/pub/mozilla.org/js/js-1.60.tar.gz"
-MD5SUM="bd8f021e43a8fbbec55ac2cd3d483243"
-MAINTAINER="Dugan Chen"
-EMAIL="dugan_c@fastmail.fm"
+DOWNLOAD="http://ftp.mozilla.org/pub/mozilla.org/js/js-1.7.0.tar.gz"
+MD5SUM="5571134c3863686b623ebe4e6b1f6fe6"
+MAINTAINER="David Woodfall"
+EMAIL="dave@unrealize.co.uk"
APPROVED="rworkman"
diff --git a/network/js/slack-desc b/network/js/slack-desc
index 2ff3f95aed..b4c9fd547d 100644
--- a/network/js/slack-desc
+++ b/network/js/slack-desc
@@ -1,19 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|' on
-# the right side marks the last column you can put a character in. You must make
-# exactly 11 lines for the formatting to be correct. It's also customary to
-# leave one space after the ':'.
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
- |-----handy-ruler--------------------------------------------------------|
-js: js (SpiderMonkey JavaScript-C Engine)
+ |-----handy-ruler-------------------------------------------------------|
+js: SpiderMonkey, Mozilla's JavaScript Engine
+js:
+js: SpiderMonkey is the code-name for the Mozilla's C implementation of
+js: JavaScript. It can be used by applications such as elinks and others.
+js:
+js: This is the standalone version of the engine used by Firefox and other
+js: Mozilla applications.
+js:
+js: Homepage: http://www.mozilla.org/js/spidermonkey
+js:
js:
-js: The SpiderMonkey engine is Mozilla's C implementation of JavaScript.
-js: It is intended to be embedded into other programs. In particular,
-js: it's used by ELinks for JavaScript support.
-js:
-js: Homepage: http://www.mozilla.org/js/spidermonkey/
-js:
-js:
-js:
-js: