[Vala] Call For Help: Switch to Gio Gir



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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]