benmills / robotskirt

A node wrapper for the awesome C markdown parser, sundown.
benmills.org/robotskirt
MIT License
165 stars 21 forks source link

install failure on 0.11.x #32

Open timoxley opened 10 years ago

timoxley commented 10 years ago

Just FYI, robotskirt currently refuses to build on Node 0.11.8.

Looks like hitting against some changes to v8 api.

e.g.

error: no type named 'Arguments' in namespace 'v8'
...
error: 'New' is a private member of 'v8::Persistent<v8::Context, v8::NonCopyablePersistentTraits<v8::Context> >'
...
In file included from ../src/robotskirt.cc:1:
../src/v8u.hpp:87:109: error: too few arguments to function call, expected 2, have 1
    throw v8::Persistent<v8::Value>::New(v8::Exception::RangeError(v8::String::New("Not enough arguments.")));

Full error output from build here: https://gist.github.com/timoxley/7478954

mildsunrise commented 10 years ago

:+1: Thanks, I'll look at it today.

mildsunrise commented 10 years ago

Okay, so, starting with joyent/node@a53c763c16eeabb0901a05dbcf38a72fa96d2f26 (v0.11.8):

There are many other changes in subsequent upgrades as well. I'll add support for all of them.

mildsunrise commented 10 years ago

Can you please verify that Robotskirt builds in 0.11.7 and older?

timoxley commented 10 years ago

Doesn't build in 0.11.7 either:

https://gist.github.com/timoxley/7478954#file-0-11-7

mildsunrise commented 10 years ago

Ugh, more changes. This is gonna take some time...

mildsunrise commented 10 years ago

After all, I've decided I'm gonna rewrite Robotskirt.

I need to do that for v3 anyway, since it'll use Hoedown instead of the abandoned Sundown.

timoxley commented 10 years ago

:tada:

mildsunrise commented 10 years ago

yeah, v2 of hoedown just released. :blush:

mildsunrise commented 10 years ago

@timoxley okay, I've adressed lots of incompatibilities in V8U (the V8 micro-utility set used by Robotskirt), especially in commits jmendeth/v8u@3fa6c22bff78f84a077eac66fa65f1161103a91b and jmendeth/v8u@fda52fd8d4160dfe7f7cac815d676602b0420e6b, but I'm a bit lost with the last ones.

It's not clear how to create a handle scope in node, the original v8::HandleScope scope; doesn't work and Node source code uses v8::HandleScope scope (node_internal) but node_internal isn't available to me (it's in internals.h).

When V8U fully supports 0.11.x and gets tested and released, I can start the rewrite of Robotskirt using the new V8U and Hoedown.

timoxley commented 10 years ago

@jmendeth perhaps you could consider something like https://github.com/rvagg/nan

mildsunrise commented 10 years ago

Whoa, that's awesome! And it has the support in place! Will consider deprecating V8U in favor of NAN.

timoxley commented 10 years ago

:+1:

balupton commented 9 years ago

Now that node 0.12 is out, robotskirt is now broken on the latest stable node.

mildsunrise commented 9 years ago

Basically I wanted to wait before Node.JS 0.12 was released, because the API changed very frequently between unstable versions, leading to confusion and me throwing the monitor out of the window.

Robotskirt is now deprecated, so I don't plan on updating it. node-hoedown is the successor and I'll probably switch to NAN on it soon.

balupton commented 9 years ago

Okie good to know. I'll update docpad-plugin-robotskirt to reflect that.