Thanks a lot for quick reply, I've included the patch in Fedora package: https://src.fedoraproject.org/rpms/mozjs78/c/15ae20d569f6d11894a1e2fc29169d10432dfb6a?branch=rawhide . However, fun doesn't end here, it seems something has changed in between mozjs78.6 and mozjs78.8:
./../../source/scriptinterface/ScriptContext.cpp: In member function 'void ScriptContext::UnRegisterRealm(JS::Realm*)':
../../../source/scriptinterface/ScriptContext.cpp:136:46: error: cannot convert 'JS::Zone*' to 'JSContext*'
136 | JS::PrepareZoneForGC(js::GetRealmZone(realm));
| ~~~~~~~~~~~~~~~~^~~~~~~
| |
| JS::Zone*
In file included from /usr/include/mozjs-78/js/Value.h:25,
from /usr/include/mozjs-78/js/CallArgs.h:74,
from /usr/include/mozjs-78/jsapi.h:31,
from ../../../source/scriptinterface/ScriptTypes.h:63,
from ../../../source/scriptinterface/ScriptContext.h:21,
from ../../../source/scriptinterface/ScriptContext.cpp:20:
/usr/include/mozjs-78/js/GCAPI.h:539:55: note: initializing argument 1 of 'void JS::PrepareZoneForGC(JSContext*, JS::Zone*)'
539 | extern JS_PUBLIC_API void PrepareZoneForGC(JSContext* cx, Zone* zone);
| ~~~~~~~~~~~^~
In file included from /usr/include/mozjs-78/js/TraceKind.h:12,
from /usr/include/mozjs-78/jspubtd.h:18,
from ../../../source/scriptinterface/ScriptTypes.h:62,
from ../../../source/scriptinterface/ScriptContext.h:21,
from ../../../source/scriptinterface/ScriptContext.cpp:20:
/usr/include/mozjs-78/js/TypeDecls.h:55:21: note: class type 'JS::Zone' is incomplete
55 | class JS_PUBLIC_API Zone;
| ^~~~
../../../source/scriptinterface/ScriptContext.cpp: In member function 'void ScriptContext::PrepareZonesForIncrementalGC() const':
../../../source/scriptinterface/ScriptContext.cpp:254:54: error: cannot convert 'JS::Zone*' to 'JSContext*'
254 | JS::PrepareZoneForGC(js::GetRealmZone(realm));
| ~~~~~~~~~~~~~~~~^~~~~~~
| |
| JS::Zone*
In file included from /usr/include/mozjs-78/js/Value.h:25,
from /usr/include/mozjs-78/js/CallArgs.h:74,
from /usr/include/mozjs-78/jsapi.h:31,
from ../../../source/scriptinterface/ScriptTypes.h:63,
from ../../../source/scriptinterface/ScriptContext.h:21,
from ../../../source/scriptinterface/ScriptContext.cpp:20:
/usr/include/mozjs-78/js/GCAPI.h:539:55: note: initializing argument 1 of 'void JS::PrepareZoneForGC(JSContext*, JS::Zone*)'
539 | extern JS_PUBLIC_API void PrepareZoneForGC(JSContext* cx, Zone* zone);
| ~~~~~~~~~~~^~
In file included from /usr/include/mozjs-78/js/TraceKind.h:12,
from /usr/include/mozjs-78/jspubtd.h:18,
from ../../../source/scriptinterface/ScriptTypes.h:62,
from ../../../source/scriptinterface/ScriptContext.h:21,
from ../../../source/scriptinterface/ScriptContext.cpp:20:
/usr/include/mozjs-78/js/TypeDecls.h:55:21: note: class type 'JS::Zone' is incomplete
55 | class JS_PUBLIC_API Zone;
| ^~~~
make[1]: *** [scriptinterface.make:141: obj/scriptinterface_Release/ScriptContext.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: Leaving directory '/builddir/build/BUILD/0ad-0.0.24b-alpha/build/workspaces/gcc'
make: *** [Makefile:113: scriptinterface] Error 2
I can try and take a look, but no promises with my really basic C/C++ knowledge. Shall I report this to trac?