More and more ebuilds are relying on a specific version of v8, leading to packages that cannot be built at the same time on the system (my current issue: chromium + mongodb). Apparently Google isn't good at keeping a stable API (surprise !). My naive understanding is that this could be solved by sloting the ebuild at the x.y or x.y.z level. Reproducible: Always
I happen to agree that having V8 installed as a system shared library is a bit pointless at the moment. It seems like the only project that actually keeps up with it is Chromium. I think we should either slot it, or remove it from the tree and have projects use bundled copies.
(In reply to Mike Gilbert from comment #1) > I think we should either slot it, or remove it from the tree and have > projects use bundled copies. IMHO there is value in keeping V8 installed as a shared library, because that way we can more easily catch regressions, which can be useful if in the future API is managed in a saner way. I tend to agree about switching dependent packages to bundled copies if they can't keep up. I don't think we have a good way to slot v8, and even then it probably shouldn't be done anyway. Slotting wasn't meant to compensate for wildly incompatible API, that'd defeat the purpose of having a shared library as explained above.
Ok, so here are the current reverse dependencies: * These packages depend on dev-lang/v8: dev-db/drizzle-7.2.4 (v8 ? dev-lang/v8) dev-db/mongodb-2.2.6 (v8 ? dev-lang/v8) dev-db/mongodb-2.4.6 (!embedded-v8 ? <dev-lang/v8-3.19) dev-lang/v8cgi-0.9.2 (dev-lang/v8) sci-geosciences/osgearth-2.4 (dev-lang/v8) www-client/chromium-29.0.1547.57 (>=dev-lang/v8-3.19.17) (=dev-lang/v8-3.19*) www-client/chromium-29.0.1547.65 (=dev-lang/v8-3.19*) www-client/chromium-30.0.1599.15 (>=dev-lang/v8-3.19.17) (=dev-lang/v8-3.20*) www-client/chromium-30.0.1599.22 (>=dev-lang/v8-3.19.17) (=dev-lang/v8-3.20*) www-client/chromium-31.0.1612.0 (>=dev-lang/v8-3.19.17) (=dev-lang/v8-3.21*) www-client/chromium-31.0.1622.0 (>=dev-lang/v8-3.19.17) (=dev-lang/v8-3.21*) www-client/chromium-9999-r1 (>=dev-lang/v8-3.19.17) (=dev-lang/v8-3.21*) The only problematic package seems to be mongodb, and they provide a use flag to enable bundled v8. So, I guess the situation isn't quite as bleak as I painted it. ^_^
It doesn't make sense to slot v8 in its current shape, please see https://groups.google.com/d/msg/linux.gentoo.dev/UTYTzr0eRHs/F5u1ZiLl3nIJ