News

0.9 Released

Added by Ash Berlin 39 days ago

Installing

Proudly announcing v0.9 of flusspferd, with lots of under the hood changes, a new subprocess and re-introduced curl and xml modules, and easy installation methods.

  • OSX via homebrew:
    brew install flusspferd

    Until the formula is in master, make sure you are using the fork linked above.

  • Ubuntu via the CommonJS PPA:
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 74EE6429
    sudo /bin/sh -c 'echo deb http://ppa.launchpad.net/ashb/ppa/ubuntu karmic main | cat >> /etc/apt/sources.list'
    sudo aptitude install flusspferd-all
    
  • Windows:

    Grab the binaries zip and uncompress it where ever you like. If you also want to compile modules for flusspferd, grab the dev zip and extract it over the top. It gives you a working make/gcc and related tools to compile on windows. \o/

Building modules

Building native plugins/modules for Flusspferd using cmake is now a doddle. Create a CMakeLists.txt like this one:

cmake_minimum_required(VERSION 2.6.4)
execute_process( COMMAND flusspferd --cmake OUTPUT_VARIABLE hippo_cmake) 
include("${hippo_cmake}")

FILE(GLOB_RECURSE sources 
     "${CMAKE_SOURCE_DIR}/src/*.cpp" 
     "${CMAKE_SOURCE_DIR}/src/*.hpp")

add_definitions("-Wall")
flusspferd_plugin("myplugin" SOURCES ${sources})

Then so long as flusspferd is in your path you can build and install it with a simple cmake . && make install. Wonderful!

Getting the source

Changes

This version has changed the C++ API in a backwards incompatbile fashion - sorry about that, but it's worth it. Check out the wiki page for details.

Major features:

  • JIT is now enabled by default. use the --no-jit option to disable it.
  • API for creating objects/values massively overhauled to be much more expresive. This is an API breaking change. See the wiki for details.
  • cURL module re-introduced after being improved to provide more of the functionality of libcurl.
  • Improved GMP module to be more JavaScript like.
  • Removed support for older spidermonkeys. We now require a recent version of spidermonkey. We define recent as no older than the version from Firefox 3.5! See the Spidermonkey wiki page
  • Boost 1.40 or newer required.
  • Added subprocess module for communicating with sub-processes. This module doesn't work on Windows in this release.
  • Re-introduces XML module using different XML backend.
  • Building plugins with cmake got a whole lot easier; See mailing list post for more info.

0.8 Released

Added by Ash Berlin 146 days ago

Download Flusspferd from Sourceforge.

This version is hot on the heels of 0.7 (relatively speaking) due to a lot of work Ash Berlin put in place to get features for the first release of Juice and Zest – the first implementation of a JSGI 0.3 webapp server and an app framework to go on top of it – which is due for its initial release any day now.

Major features:

  • Build trees are now relocatable – you can move the built tree to a different place on the filesystem and module loading will do the right thing.
  • Refactor of require() handling – this means modules are now JITable.
  • Implement most of the CommonJS `fs-base' (Filesystem/A/0) module (no permissions functions yet).
  • Treat source files as UTF-8 – this means you can have unicode literals in .js source files now.
  • REPL now prints debug/uneval representation, rather than .toString().
  • Enable Spidermonkey strict warnings for all modules.
  • SQLite3 plugin got an overhaul.
  • Immature plugins are no longer part of the main tree. This means no cURL, or XML plugins for now. If you want them back sooner, help us finish (designing) their APIs.
  • JSON top-level-object is now always available.

0.7 released

Added by Aristid Breitkreuz 186 days ago

Download Flusspferd from Sourceforge.

Major features:
  • Changed Flusspferd module system C++ API.
  • Dropped old proprietary 'blob' module in favor of 'binary' (conforming
    with CommonJS Binary/B).
  • Add CommonJS 'system' module, moving some functionality from other modules
    to it.
  • Replace option parsing with new 'getopt' module, which can also be used
    from Javascript.
  • Add support for permanent history to the shell.
  • Add optional support for GNU readline.

And other features and a lot of bug fixes.

Flusspferd on Mac OS X with Macports

Added by Rüdiger Sonderfeld 206 days ago

Flusspferd was finally accepted into Macports. It will be part of the next Macports release and can be already installed if the Macports SVN version is used. Flusspferd can then be installed on Mac OS X with a simple

 sudo port install flusspferd

Windows Support

Added by Ash Berlin 226 days ago

From the mailing list:

So, Aristid and myself have both been poking at this problem every so
often, trying to use MSVC. We didn't actually manage to get anything
running successfully.

So today I decided to try MinGW.

And after a lot of trial and error, I got it to run!

C:\>c:\flusspferd\bin\flusspferd.exe
> sys = require('system')
[object Object]
> sys.stdout
[object NativeObject]
> sys.env
[object sys.Environment]
> sys.env.PATH
C:\spidermonkey\lib;C:\MinGW\bin;C:\Program Files\CMake 2.6\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;
> require('os').system('dir')
 Volume in drive C has no label.
 Volume Serial Number is 5469-9BA6

 Directory of C:\

01/05/2009  15:15             6,148 .DS_Store
22/02/2009  02:28                 0 AUTOEXEC.BAT
22/02/2009  02:28                 0 CONFIG.SYS
22/02/2009  02:33    <DIR>          Documents and Settings
01/08/2009  19:50    <DIR>          flusspferd
01/08/2009  17:09    <DIR>          MinGW
22/07/2009  21:04    <DIR>          mozilla-build
01/08/2009  17:01    <DIR>          Program Files
30/04/2009  23:20    <DIR>          Python26
22/02/2009  03:08               573 RHDSetup.log
01/08/2009  14:42    <DIR>          spidermonkey
01/05/2009  04:44    <DIR>          strawberry
27/07/2009  22:25    <DIR>          WINDOWS
               4 File(s)          6,721 bytes
               9 Dir(s)  20,993,699,840 bytes free
0
> ^Z

C:\>

The steps are a little bit convoluted to build manually, but if anyone wants to duplicate my efforts, I've documented them on the wiki.

And of course, a zipfile so you can play yourselves! http://flusspferd.org/downloads/flusspferd-win32-0.6.1.129.g2699d.zip

Currently it needs to live in C:\flusspferd (so unpack the zip into c:\ root, it contains the flusspferd folder.) Hopefully I've put all the needed dlls in there, if I've missed it'll have to wait until next week some time - I'm traveling to a conference tomorrow morning and not sure when I'll be online.

0.6.1 released

Added by Aristid Breitkreuz 271 days ago

Download from Sourceforge.

Apart from some very minor tweaks, this release mainly brings the ability to manually enable and disable plugins in the build system.

0.6 released

Added by Aristid Breitkreuz 280 days ago

Download from Sourceforge.

Major features:

- FLUSSPFERD_CLASS_DESCRIPTION - an easy way of defining Javascript classes.
- Improved value and type conversions.
- More ServerJS compatible modules: 'binary' and 'encodings'.
- Changed build system to cmake (this should make it easier to get Windows
support).
- Other new modules, like (rudimentary) GMP support.

This list is not necessarily a complete list of features.

Also, there are many more bugfixes and some API breaking changes.

New server

Added by Aristid Breitkreuz 295 days ago

Our new server has more RAM (thanks a lot for hosting this, Ash!) has more RAM and so we hope that Redmine will be a little more responsive now.

A reachable bug tracker is vitally important for our development process, and we hope that this change will help us create the new 0.6 release, scheduled a few days before Ash's talk at BCS.

Talking At BCS's 'An evening of dynamic languages'

Added by Ash Berlin 297 days ago

Ash Berlin will be giving a lighting talk about Flusspferd and the ServerJS working group, its aims, why its needed, and of course why Flusspferd is the best ServerJS implementation to use :)

For more details check out the BCS event page.

Where: BCS, Southampton Street, London
When: Wednesday 10th June 2009
Cost: Free for everyone but it is still essential to book your place.

0.5.1 released

Added by Aristid Breitkreuz 321 days ago

Changes since 0.5:
- fix bug that made flusspferd not compile when spidermonkey was not compiled with JS_THREADSAFE
- change set of distributed files (include Makefile, don't include .configure)
- documentation improvements

1 2 Next »

Also available in: Atom