Subject: [bug#74756] [PATCH gnome-team 0/3] Update gjs to 1.82.1

From: André Batista <[email-masked]>
Date: Fri, 21 Feb 2025 14:31:50 -0300

qui 20 fev 2025 às 20:23:20 (1740093800), [email-masked] enviou:
> Hi,
> 
> Am Donnerstag, dem 20.02.2025 um 15:26 -0300 schrieb André Batista:
> > I've sent #76421 adding mozjs-128, but keeping mozjs as is to avoid
> > rebuilding current gjs and gnome.  I've tried building it with icu4c-
> > 75, but got unexpected errors on test phase.  Since v73 is the one
> > bundled with mozilla sources and it is enough for gnome, I gather
> > it's best to keep it that way.
> > 
> > Is that enough to help you get the gnome branch going forward?
> mozjs-128/icu4c-73 suffice for gnome-team, but being packaged as
> additional packages rather than having the default bumped is less than
> ideal.  If gjs does not build with the patch applied, we could pin it
> on the older version until gnome-team is merged.
> 
> WDYT?

Current gjs on master indeed does not build with v128:

-------
(...)
Found pkg-config: YES (/gnu/store/a3lsdsalcmg5wnk67869af7wljprkbam-pkg-config-0.29.2/bin/pkg-config) 0.29.2
Run-time dependency glib-2.0 found: YES 2.78.0
Run-time dependency gthread-2.0 found: YES 2.78.0
Run-time dependency gobject-2.0 found: YES 2.78.0
Run-time dependency gio-2.0 found: YES 2.78.0
Run-time dependency libffi found: YES 3.4.4
Run-time dependency gobject-introspection-1.0 found: YES 1.78.1
Did not find CMake 'cmake'
Found CMake: NO
Run-time dependency mozjs-102 found: NO (tried pkgconfig)

../gjs-1.76.3/meson.build:131:15: ERROR: Dependency "mozjs-102" not found, tried pkgconfig
(...)
-------

on line 131, meson.build fixes mozjs to 102:

spidermonkey = dependency('mozjs-102')

$ guix refresh -l mozjs, says 95 packages would be recompiled when
updating mozjs, but grepping the gnu/packages dir shows only gjs
declaring mozjs as a direct dependency, so I'm guessing the other
packages directly or indirectly depend on gjs itself.

If so, I think it would be reasonable to rename current mozjs to
mozjs-102 and create an alias pointing mozjs to it for now.  Then,
when the gnome branch gets merged, we can change it to point to
v128.

What bothers me is that I don't know if we could then get rid of
v128's inheritance (as per #76421) without triggering a useless
rebuild, though I suppose so.