Hello, the gir support in vala is getting more complete nowadays and we think it's reasonable to start the real switch to gir: port bindings from gidl to gir. So with Evan with thought to start with gio, which is: 1) Huge, so that we can find more bugs in gir parser 2) A lot used thus we can hopefully get more feedback Current status: - The switch-to-gir branch contains ultimate changes to the gir parser. - The switch-to-gir-gio branch is based upon switch-to-gir and contains Gio-2.0.metadata in order to build gio-2.0.vapi from Gio-2.0.gir. - The new gio-2.0.vapi is really in good shape The switch-to-gir branch is a base for bindings work and it must always be ready for merge, that's why we work on the gio bindings in a separate branch. On IRC with Evan we discussed about putting all the .metadata and -custom.vala files into a common directory since gir requires only two files compared to the current .gi infrastructure. Also this way one can use a single value for --metadatadir. The directory is called vapi/metadata/, the definitive name has not been decided yet. The plan is to make the gio-2.0.vapi generated from the gir close to the current one so that we can: 1) Test and improve the gir parser 2) Have backward compatibility and less breakage as possible if a day we'll really switch to Gio-2.0.gir 3) Forward bugs to upstream glib/gio and to gobject-introspection I'm requesting help because gio has a big vapi and it will take forever to get the new gio-2.0.vapi in shape. Workflow: 1) Create the switch-to-gir-gio local branch and build it, say your vala source dir is $SRC 2) If you don't have the latest 1.2 gir, download them from http://code.coeusgroup.com/gir-1.0/ into $SRC/gir 3) cd $SRC/gir and build the new gio-2.0.vapi with the following command: ../vapigen/vapigen --girdir . --metadatadir ../vapi/metadata --library gio-2.0 Gio-2.0.gir ../vapi/metadata/gio-2.0-custom.vala 4) Generate a diff with the old gio vapi: diff -urN ../vapi/gio-2.0.vapi gio-2.0.vapi 5) Read the diff, choose a simple thing to fix and send a patch here in the mailing list (possibly in reply to this thread). Note: many diff lines could apparently be wrong in the new gio but they are not: in fact gir could fix bugs from gidl. Therefore the gio API reference (and code if necessary) has to be often consulted. Feel free to hack the gir parser itself, work on whatever bindings you want and/or help with gio bindings :) Questions? Suggestions? Complaints? :) Best regards, -- http://www.debian.org - The Universal Operating System
Attachment:
signature.asc
Description: Digital signature