phpv8 / v8js

V8 Javascript Engine for PHP — This PHP extension embeds the Google V8 Javascript Engine
http://pecl.php.net/package/v8js
MIT License
1.84k stars 200 forks source link

Packaging #170

Closed kynx closed 9 years ago

kynx commented 9 years ago

First off, congrats on 0.3.0 (stable). Nice work.

I've got a PR open over on homebrew-php so I can share this goodness with other folks in the office. But brew is the only "distro" I've found that is actually shipping v8 >= 3.24.6.

Short term for me this is mostly going to be a problem with travis / ubuntu 12.04. Compiling v8 is kinda weird, and doing it every time I need a run over my shitty little handlebars.js wrapper would be an abuse of hospitality.

Is there anyone out there with debian packaging smarts that could make v8 available in a PPA or whatever? I'd be happy to pick up version-bumping v8 on RHEL and start nagging EPEL - I'm OK with rpmbuild and if things go to plan will be writing the .specs at work anyway.

Failing that, is the 3.24.6 requirement because of API changes or some other reason? I mean, for running on travis, would I be OK patching config.m4 and running on 3.17?

Thanks.

stesie commented 9 years ago

First of all thank you for creating a homebrew recipe for V8Js!

Regarding Debian & Ubuntu packages, I don't have exactly a PPA but nevertheless APT repositories for various distributions at http://packages.brokenpipe.de/apt/ ... though currently there are no packages for 0.3.0 (as of yet). The packages don't touch the system V8 version but place another V8 library off the normal load path and link via rpath, so they don't follow packaging best practices (but shouldn't cause any trouble due to changed system library versions)

The 3.24.6 requirement is a hard one, earlier versions don't compile any longer ... and it isn't easy to make it compile with earlier versions. 3.17 might still work, but especially 3.14, which is shipped with most Debian & Ubuntu distributions, will not work at all. The reason is that V8 introduced isolates meanwhile and V8Js requires them (especially for ZTS builds; others should be possible without, but that'd be a lot of work)

Contrary everything older than 4.6 isn't supported by V8 team anyways ... so if you'd like to sandbox stuff and wan security updates, using such a old version isn't recommended at all

rosmo commented 9 years ago

@kynx, I've also created some RPM specs for V8: https://github.com/rosmo/v8-rpm (should build on el6 and el7)

kynx commented 9 years ago

Thanks for that. Yes, I gave 3.17 a try and quickly realised it wasn't going to work. I'm not suggesting spending any effort on getting it working on old versions, just trying to understand what's needed.

Thanks for the package links - that'll make things easier. We already maintain an RPM repo at work, so for us it won't be much of an issue. But I'd really like to see v8js easier for other users to try.

Digging back through the v8 tickets on the redhat's bugzilla I get the feeling they think v8 moves too fast - and I guess a branch release every six weeks is pretty speedy ;) But there aren't many packages depending on it (mongodb, an ancient nodejs and ruby193-v8 from what I can tell). I'll see if they're open to persuasion.