{"id":16260197,"url":"https://github.com/wesgarland/gpsee","last_synced_at":"2025-03-19T22:31:08.614Z","repository":{"id":36941212,"uuid":"41248647","full_name":"wesgarland/gpsee","owner":"wesgarland","description":"General Purpose Spidermonkey Embedding Ecosystem","archived":false,"fork":false,"pushed_at":"2021-02-23T18:38:16.000Z","size":1462,"stargazers_count":4,"open_issues_count":36,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-28T21:32:25.758Z","etag":null,"topics":["commonjs","spidermonkey"],"latest_commit_sha":null,"homepage":"https://github.com/wesgarland/gpsee","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wesgarland.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"licenses/MPL-1.1.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-08-23T12:22:13.000Z","updated_at":"2023-09-08T17:00:52.000Z","dependencies_parsed_at":"2022-09-14T04:31:37.650Z","dependency_job_id":null,"html_url":"https://github.com/wesgarland/gpsee","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wesgarland%2Fgpsee","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wesgarland%2Fgpsee/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wesgarland%2Fgpsee/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wesgarland%2Fgpsee/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wesgarland","download_url":"https://codeload.github.com/wesgarland/gpsee/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244029429,"owners_count":20386406,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["commonjs","spidermonkey"],"created_at":"2024-10-10T16:06:41.235Z","updated_at":"2025-03-19T22:31:08.111Z","avatar_url":"https://github.com/wesgarland.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Thanks for downloading GPSEE!  This is version 0.2.1.\n\nPlease visit us on the web at http://code.google.com/p/gpsee/\nfor the most recent documentation and build instructions.\n\nThe most recent version of SpiderMonkey which has been tested and is \nknown to work with GPSEE is revision 4498af260a06 from the Mozilla-1.9.2 \n(FireFox 3.6) tree.\n\nThe GPSEE-0.2 will not work with post-fatvals JSAPI. GPSEE-0.3 is in\ndevelopment now and will support JS-1.8.5.\n\nTo select a specific version of SpiderMonkey, enter the repository directory\nand use the following command: hg revert --rev=XXX --all\n\nWhat is GPSEE?\n=========================================================================\n\n     * a platform for developing and running CommonJS programs\n     * a general-purpose C API for embedding SpiderMonkey + CommonJS\n     * a general-purpose C API for adding interoperability between JSAPI\n       projects\n     * licensed under the exact same terms as SpiderMonkey\n     * pronounced \"gypsy\"\n\n   GPSEE is written and maintained by PageMail, Inc. The primary\n   developers are Wes Garland and Donny Viszneki, however, we are actively\n   looking for contributions from the community! GPSEE is an offshoot of\n   earlier, proprietary research and development at PageMail. That\n   project's primary goal was to create an easy-to-embed JavaScript\n   language interpreter which can be used as glue and configuration logic\n   in large software systems, with interest in the ability to write batch\n   jobs and serve web content.\n\n   GPSEE is delivered as one unit, but compromises three main facets:\n    1. gsr, the GPSEE Script Runner, which executes CommonJS programs,\n       including via shell-script \"shebang\" facilities. GPSEE also ships\n       with some sample REPLs (shells), including a CommonJS-enabled\n       version of Mozilla's JS Shell.\n    2. GPSEE-core is a group of facilities which allow embedders to load\n       modules, and to use SpiderMonkey's limited-use facilities (e.g.\n       context private storage) without worrying about stepping on other\n       modules' toes. GPSEE-core is designed to be call-compatible with\n       SpiderMonkey, so that it may be turned on and off with a simple\n       header file change.\n    3. modules is a directory with \"stock\" modules, adding functionality\n       to the JavaScript language such as ByteString, ByteArray, POSIX\n       signals, CGI, and FFI (foreign-function interface). The FFI module\n       allows painless wrapping of C functions and datatypes for use in\n       creating new JavaScript modules.\n\n\n\nSupport\n=========================================================================\n\nGPSEE is provided as-is, without warranty of any kind, express or implied,\nincluding but not limited to the warranties of merchantability, or fitness\nfor any purpose. We do not guarantee that GPSEE does not infringe upon any\npatents or copyrights, although we try very hard to insure that it does not.\n\nThere is no support for GPSEE. However, you can often find the GPSEE\ndevelopers on irc://irc.freenode.org/#gpsee, and we're friendly.\n\n\n\nHow to build GPSEE\n=========================================================================\n\n*************************************************************************\n****\n**** The most recent version of these build instructions is \n**** available at http://code.google.com/p/gpsee/wiki/Building\n****\n*************************************************************************\n\n   Building GPSEE is very straightforward. GPSEE's build system knows how\n   to build SpiderMonkey, LibFFI, GPSEE, the included modules, and how to\n   install it all. There is no autoconf magic, you just need to edit three\n   files named local_config.mk (one for GPSEE, one for SpiderMonkey, one\n   for LibFFI) to let GPSEE know where you keep things and you're off to\n   the races.\n\nGeneral Prerequisites\n---------------------\n     * Solaris 10+, Recent Linux, or MacOS/X 10.5+\n     * Any UNIX(tm) conforming to SUSv3 should work\n     * BSD UNIX is also expected to work\n     * GCC 3.4\n     * GNU Make 3.81\n\n     * SpiderMonkey prerequisites for multi-threaded build (we've listed the\n       current ones below, but Mozilla could change them on us)\n     * autoconf-2.13 (exactly 2.13)\n     * NSPR 4.7\n     * https://developer.mozilla.org/en/Mozilla_Build_FAQ for more info\n\nSuggested Distro Packages\n-------------------------\nSolaris 10\n     * ftp://ftp.sunfreeware.com/pub/freeware/sparc/8/autoconf-2.13-sol8-sparc-local.gz\n     * NSPR in SUNWpr, SUNWprd packages which ship with Solaris 10u5\n\nMac Ports\n     * sudo port install autoconf213\n     * sudo port install nspr\n     * Note: Using Mac Ports GCC is not supported; use Apple's compiler\n       for a pain-free build\n\nFedora Core 10\n     * sudo yum install -y autoconf213\n\nUbuntu 9.10\n     * sudo apt-get install mercurial autoconf2.13 libnspr4-dev\n       libncurses5-dev libdb-dev\n\nBasic Steps\n-----------\n\nWhat follows is a point-form list of typical steps required to build and\ninstall GPSEE. If you're unable to build it for some reason, you can look for\nhelp in #gpsee on irc.freenode.org. We're often online at wierd hours of the\nday, and almost always available during EST (GMT-0500) business hours.\n\nGet the sources into your homedir\n     * cd\n     * wget ftp://sources.redhat.com/pub/libffi/libffi-3.0.10.tar.gz\n     * tar -zxvf libffi-3.0.10.tar.gz\n     * mkdir hg\n     * cd hg\n     * hg clone https://gpsee.googlecode.com/hg/ gpsee\n     * hg clone http://hg.mozilla.org/releases/mozilla-1.9.2/\n\nConfigure GPSEE, LibFFI, and SpiderMonkey\n     * cd gpsee\n     * cp local_config.mk.sample local_config.mk\n     * cp spidermonkey/local_config.mk.sample spidermonkey/local_config.mk\n     * cp libffi/local_config.mk.sample libffi/local_config.mk\n     * vi local_config.mk #edit suitably, then quit\n     * vi spidermonkey/local_config.mk #edit suitably, then quit\n     * vi libffi/local_config.mk #edit suitably, then quit\n\nBuild SpiderMonkey\n     * cd spidermonkey\n     * make build\n     * sudo make install\n     * cd ..\n\nBuild Libffi\n     * cd libffi\n     * make build\n     * sudo make install\n     * cd ..\n\nBuild GPSEE\n     * make build\n     * sudo make install\n\nTest\n     * /usr/bin/gsr -c 'print(\"Hello, World\");'\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwesgarland%2Fgpsee","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwesgarland%2Fgpsee","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwesgarland%2Fgpsee/lists"}