RFS: 0ad

Philip Taylor excors at gmail.com
Tue Apr 5 15:36:14 UTC 2011


On Tue, Apr 5, 2011 at 6:15 AM, Vincent Cheng <vincentc1208 at gmail.com> wrote:
> On Mon, Apr 4, 2011 at 5:43 AM, Karl Goetz <karl at kgoetz.id.au> wrote:
>> On Sun, 3 Apr 2011 12:08:39 +0100
>> Philip Taylor <excors at gmail.com> wrote:
>> > now, since https://bugzilla.mozilla.org/show_bug.cgi?id=628723 gives a
>> > relatively stable modern version - just need to do a bit of work to
>> > port the game to the latest version of the API. I can probably get
>> > that done for the next alpha release of the game.
>>
>> Vincent, how do you feel about ITPing that too?
>>
> Isn't spidermonkey already available in Debian? If possible, I would rather
> avoid filing an ITP; rather, I'd prefer including libmozjs-dev as a build
> dependency for 0 A.D (and work with the Debian Mozilla crew if any changes
> have to be made to libmozjs in order for 0 A.D. to get along with it).

SpiderMonkey doesn't provide any guarantees of API compatibility. (If
they can make Firefox improve by 5% on a benchmark by breaking the API
then they'll do so. The API was designed ~15 years ago so it's not
surprising they have to tweak it to remain competitive). It also
doesn't provide any guarantees of functional compatibility - its
JavaScript language feature support might grow or shrink between
releases. 0 A.D. depends on some relatively advanced SpiderMonkey
features, and functional differences may cause mysterious out-of-sync
errors in multiplayer games if players have different versions, so
compatibility is important here.

The idea behind the SpiderMonkey 1.8.5 release is that *does* provide
compatibility, but only within the 1.8.5 series. They've released
js185-1.0.0.tar.gz and might do a js185-1.0.1.tar.gz with backported
bug fixes or security patches etc. Then at some point in the future
there will probably be a js190-1.0.0.tar.gz based on the latest
upstream code which will be totally incompatible. js190 and js185
should be separate packages, installed side-by-side, so applications
can use whichever stable series they were designed for, instead of
forcing every application to upgrade simultaneously whenever there's a
new major release. (They all ought to upgrade eventually, but it
should be possible to do that gradually.)

So libmozjs-dev won't work since it doesn't provide the necessary
compatibility, but a libmozjs185-dev would probably be okay (once 0
A.D. gets ported to the latest API changes in it).

> Actually, I have to repack the tarball anyways in order to have 0ad and
> 0ad-data build from the same source package, although they're offered as 2
> separate source packages upstream.

It should be possible to build the two packages completely
independently (and the -data package is architecture-independent so it
can be built less frequently). The tests in the -build release package
optionally run some scripts that are in the -data package, but those
script tests are only useful for development and not needed when
packaging, so you can just ignore their harmless warning message, and
otherwise there should be no build-time dependencies between them.

-- 
Philip Taylor
excors at gmail.com



More information about the Pkg-games-devel mailing list