(Explicitly Cc'ing people who have worked on gjs ABI breaks in the past)

On Mon, 30 Jul 2018 at 10:44:58 +0100, Simon McVittie wrote:
> gjs 1.53.90 requires mozjs60, so cannot be packaged immediately. Filing a
> bug to record that dependency.

I have uploaded mozjs60 to NEW.

gjs 1.53.90 is available from Salsa as the wip/mozjs60 branch. It seems
to work with the current experimental gnome-shell, if I force it to
install with the dependency on libgjs0-mozjs-52-0 unsatisfied.

I don't think we need to bump the pseudo-SONAME from libgjs0g to libgjs0h,
because mozjs52/mozjs60 do not appear to be exposed in the library ABI
any more, and abi-compliance-checker reports that the two versions are
compatible. Please could someone check my reasoning?

Similarly, I think the ${gjs:Provides} and libgjs0-$(LIBMOZJS) thing might
now be a relic of previous versions that can go away? Josselin introduced
it in 2011 (commit 825edc25) with this comment:

    * Generate a substitution variable for Provides that embeds the
      libmozjs version.
    * Add this variable to shlibs. Closes: #635174.
    * Remove symbols file, it’s useless as long as mozjs is part of the
      ABI.

#635174 was merged with #635175, which referred to gjs-internals-1.0.pc,
which no longer exists; and gnome-shell does not directly depend on
libmozjs-* any more, only on libgjs0g. So I think we can probably stop
doing this? gnome-shell, gnome-sushi and polari would still need one
rebuild against a gjs that does not have libgjs0-$(LIBMOZJS) in its
shlibs, but after that they would no longer need to be rebuilt every time
gjs changes its underlying mozjs, and new upstream GNOME releases in
experimental would become significantly less irritating to test.

(Note that gnome-shell, gnome-sushi and polari do all need changes for
mozjs60's increasingly-standardized JavaScript dialect, but those changes
can almost certainly be made in a way that leaves them compatible with
both mozjs52 and mozjs60.)

At this point we can probably also have a sensible symbols file again.

    smcv

Reply via email to