This site has been retired. For up to date information, see handbook.gnome.org or gitlab.gnome.org.


[Home] [TitleIndex] [WordIndex

Introspection Roadmap

Move gobject-introspection into one of GObject or Gio

Various tradeoffs; GObject probably makes the most sense. We aren't a very large amount of runtime code.

Actually upstream introspection in various bits of the stack

Namely GTK+ and dependencies. Mostly blocked on ensuring gtk-doc formats it nicely, and lots of grunt work on analyzing the annotations.

Create GScript specification

Create a document describing semantics that should be common to any JavaScript engine backed by GObject. This includes things like how name mapping is handled, type mappings, subclassing, as well as several custom modules like Mainloop and Signals. We should take this opportunity to add a binary array type.

Rewrite alex' gscript module as a generic interface with explicitly pluggable engine backends

This means a new shared library libgscript and /usr/bin/gscript binary, where you can theoretically not care whether it's Spidermonkey, V8, or JSCore underneath as long as you stick to the spec.

Rename gjs to gscript-spidermonkey, and seed to gscript-jscore

These packages are what libgscript links to. Extras such as gjs' "debugger" module, Seed's "posix" module are non-standard and turn into custom modules which live in the individual packages.

Create modules gscript-spidermonkey-module-cairo, gscript-spidermonkey-module-jscore

To avoid having GScript depend on cairo and X, split off this module.

Move standard GTypes for cairo into GDK

Somewhat of an ancillary issue, but these gtypes are probably needed in the -module-cairo, so we should standardize on them here. This means -module-cairo depends on GTK+, but I don't consider that a problem.


2024-10-23 11:36