python/python-spidermonkey: Removed

Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
Larry Hajali 2013-11-13 23:46:21 -06:00 committed by Robby Workman
parent 62ea31f9d8
commit 133a98557e
5 changed files with 0 additions and 299 deletions

View file

@ -1,8 +0,0 @@
Python/JavaScript bridge module, making use of Mozilla's spidermonkey
JavaScript implementation. Allows implementation of JavaScript classes,
objects and functions in Python, and evaluation and calling of JavaScript
scripts and functions respectively. Borrows heavily from Claes Jacobssen's
Javascript Perl module, in turn based on Mozilla's 'PerlConnect' Perl binding.
Code is taken from the mozjs185-port branch of
https://github.com/garywiz/python-spidermonkey

View file

@ -1,200 +0,0 @@
Execute arbitrary JavaScript code from Python. Allows you to reference
arbitrary Python objects and functions in the JavaScript VM
Having issues?
==============
The project support site can be found at [lighthouseapp.com][lh].
Requirements
============
Pkg-Config
----------
Mac OS X:
This should be installed by default. If not there is a port package:
$ sudo port install pkgconfig
Debian/Ubuntu:
This is also generally installed by default, but I have reports of it being
otherwise.
$ sudo apt-get install pkg-config
Gentoo:
$ sudo emerge dev-util/pkgconfig
Python Development Files
------------------------
Mac OS X:
If you installed Python via port then the headers should already be installed.
I have not heard reports of problems from people using the bundled
interpreters.
Debian/Ubuntu:
$ sudo apt-get install pythonX.X-dev
Where X.X is the version of Python you are using. I have not tested
python-spidermonkey on Py3K so it may be horribly broken there.
Gentoo:
If you have python installed, then the headers should already be installed.
Netscape Portable Runtime (nspr)
--------------------------------
The nspr library is required for building the Spidermonkey sources. You should
be able to grab it from your package manager of choice with something like the
following:
Mac OS X:
$ sudo port install nspr
Debian/Ubuntu:
$ sudo apt-get install libnspr4-dev
Gentoo:
$ sudo emerge dev-libs/nspr
Alternatively you can build from [source][nspr]. If you choose this route make
sure that the nspr-config command is on your $PATH when running the install
commands below.
If you choose this route make
sure that the pkg-config command is on your `$PATH` when running the install
commands below. Additionally, make sure that `$PKG_CONFIG_PATH` is properly
set.
XULRunner (optional)
--------------------
You can optionally build the extension linked to your system's spidermonkey
library, which is installed with XULRunner. You should be able to grab it from
your package manager of choice with something like the following:
Mac OS X:
$ sudo port install xulrunner
Debian/Ubuntu:
$ sudo apt-get install xulrunner-1.9-dev
Gentoo:
$ sudo emerge net-libs/xulrunner
As with [nspr][nspr], you can also build [xulrunner][xulrunner] from source. And as with [nspr][nspr] you need to make sure hat `$PATH` and `$PKG_CONFIG_PATH` are properly set when building the module.
Installation
============
$ git clone git://github.com/davisp/python-spidermonkey.git
$ cd python-spidermonkey
$ python setup.py build
$ python setup.py test
$ sudo python setup.py install
*OR*
$ sudo python setup.py develop
If you want to build with the system spidermonkey library, replace the build
command with the following:
$ python setup.py --system-library build
Examples
========
Basics
------
>>> import spidermonkey
>>> rt = spidermonkey.Runtime()
>>> cx = rt.new_context()
>>> cx.execute("var x = 3; x *= 4; x;")
12
>>> class Orange(object):
... def is_ripe(self,arg):
... return "ripe %s" % arg
...
>>> fruit = Orange()
>>> cx.add_global("apple", fruit)
>>> cx.execute('"Show me the " + apple.is_ripe("raisin");')
u'Show me the ripe raisin'
Playing with Classes
--------------------
>>> import spidermonkey
>>> class Monkey(object):
... def __init__(self):
... self.baz = "blammo"
... def wrench(self, arg):
... return "%s now wrenched" % arg
...
>>> rt = spidermonkey.Runtime()
>>> cx = rt.new_context()
>>> cx.add_global("Monkey", Monkey)
>>> monkey = cx.execute('var x = new Monkey(); x.baz = "schmammo"; x;')
>>> monkey.baz
u'schmammo'
>>> monkey.__class__.__name__
'Monkey'
JavaScript Functions
--------------------
>>> import spidermonkey
>>> rt = spidermonkey.Runtime()
>>> cx = rt.new_context()
>>> func = cx.execute('function(val) {return "whoosh: " + val;}')
>>> func("zipper!");
u'whoosh: zipper!'
Filtering access to Python
--------------------------
>>> import spidermonkey
>>> rt = spidermonkey.Runtime()
>>> def checker(obj, name):
... return not name.startswith("_")
...
>>> cx = rt.new_context(access=checker)
>>> # Alternatively:
>>> cx.set_access() #doctest: +ELLIPSIS
<function checker at ...>
>>> cx.set_access(checker) #doctest: +ELLIPSIS
<function checker at ...>
>>> cx.add_global("fish", {"gold": "gone", "_old_lady": "huzza"})
>>> cx.execute('fish["_old_lady"];')
Traceback (most recent call last):
...
JSError: Error executing JavaScript.
Previous Authors
================
* John J. Lee
* Atul Varma
[lh]: http://davisp.lighthouseapp.com/projects/26898-python-spidermonkey/overview
[nspr]: ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases
[xulrunner]: ftp://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases

View file

@ -1,62 +0,0 @@
#!/bin/sh
# Slackware build script for python-spidermonkey
# Written by Larry Hajali <larryhaja[at]gmail[dot]com>
PRGNAM=python-spidermonkey
VERSION=${VERSION:-20120725_7c9b4d6}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.?z*
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 {} \;
# Get rid of ez_setup.
sed -i '/ez_setup/d' setup.py MANIFEST.in
export CFLAGS="$(pkg-config --cflags mozjs185 mozilla-nspr)"
export LDFLAGS="$(pkg-config --libs mozjs185 mozilla-nspr)"
python setup.py install --root=$PKG
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a LICENSE $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/README.md > $PKG/usr/doc/$PRGNAM-$VERSION/README.md
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
chmod 0644 $PKG/usr/doc/$PRGNAM-$VERSION/*
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}

View file

@ -1,10 +0,0 @@
PRGNAM="python-spidermonkey"
VERSION="20120725_7c9b4d6"
HOMEPAGE="http://pypi.python.org/pypi/python-spidermonkey"
DOWNLOAD="http://ponce.cc/slackware/sources/repo/python-spidermonkey-20120725_7c9b4d6.tar.xz"
MD5SUM="9df778f41228aec873d1644c33b44b47"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="nose"
MAINTAINER="Larry Hajali"
EMAIL="larryhaja[at]gmail[dot]com"

View file

@ -1,19 +0,0 @@
# 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 ':'.
|-----handy-ruler------------------------------------------------------|
python-spidermonkey: python-spidermonkey
python-spidermonkey:
python-spidermonkey: Python/JavaScript bridge module, making use of Mozilla's spidermonkey
python-spidermonkey: JavaScript implementation.
python-spidermonkey:
python-spidermonkey: Homepage: http://pypi.python.org/pypi/python-spidermonkey
python-spidermonkey:
python-spidermonkey:
python-spidermonkey:
python-spidermonkey:
python-spidermonkey: