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.83k stars 200 forks source link

PPA / Packages #96

Closed andrewtch closed 9 years ago

andrewtch commented 10 years ago

Hi guys, for some time I've been playing with deb packaging and there's a question:

stesie commented 10 years ago

@andrewtch sorry for not answering for so long

For my dev work I most recently switched to using docker containers, these help me not mixing up different installations (i.e. many different v8 versions, different php versions, zts on/off) ...

On production we have a Debian/wheezy setup with v8 and v8js packages. However those packages are not in good shape, hence I didn't share them yet :) v8js package is okay, but libv8 definitely isn't since libv8 builds own versions of libicui18n.so and libicuuc.so which probably should be packaged independently ... especially they shouldn't conflict with the rest of the system (which happens if you install something like boost which pulls in libicu as well)

Long story short, I personally would appreciate packages for Debian/wheezy and Ubuntu/trusty ... and I think they'd definitely simplify trying v8js out for others.

cheers ~stesie

andrewtch commented 10 years ago

Maybe you can share current packages with me so I can figure out and possibly make some auto - build jenkins instance? )

stesie commented 10 years ago

Hey,

okay, I uploaded my first v8js deb packaging draft to http://gitlab.brokenpipe.de/stesie/debian-v8js But it's in bad shape, it has .local email addresses etc.pp ... but might help as inspiration :)

For libv8 you might want to look at git://anonscm.debian.org/collab-maint/libv8.git (linked from debian pts https://packages.debian.org/source/wheezy-backports/libv8-3.14); so far I solely imported a new v8 version from upstream to it. The problem to solve are the libicu*.so libraries which might conflict (easiest solution would be to put those below /usr/lib/libv8/libicu and rpath against them -- but that's way against debian packaging guidelines I think)

Regarding Jenkins, I already have a installation for V8Js over at http://jenkins.brokenpipe.de/ ... in case you don't know that. It probably makes sense to use that for both, testing and packaging. Let me know if I shall grant you access rights there (register first, then I'll grant on the existing user). I recently changed that installation to use Docker containers (currently one with Ubuntu Trusty for each of the eight PHP versions I test against). Might make sense to have containers for various Debian + Ubuntu versions there

stesie commented 9 years ago

Hey,

just FYI, I had another go at the packaging wrt. Debian & Ubuntu, the php5-v8js package now has libv8 & libicu in a non-standard path (/usr/lib/v8js/) and v8js.so has a rpath to there. Jenkins is able to automatically build the packages for Wheezy, Jessie, Precise & Trusty and pushes these to local APT repos.

However there's (so far, but todo) no auto-building after changes are made to v8js (and regular rebuilds because of new v8 versions).

please let me know what you think of that way of packaging

Debian source repo is at https://gitlab.brokenpipe.de/stesie/debian-v8js, it includes depot_tools, v8 & v8js as git submodules. Compiled stuff is linked from the jenkins frontpage at https://jenkins.brokenpipe.de/

cheers ~stesie