I have commited support for vala-0.10 and vala-0.12 into valaswig using
conditional compilation with define directives depending on ${VALAC}

Here's the patch:

  http://hg.youterm.com/valaswig/rev/c563c3dfd655


On Tue, 26 Oct 2010 14:59:54 -0700
Evan Nemerson <[email protected]> wrote:

> On Tue, 2010-10-26 at 22:33 +0200, pancake wrote:
> > In the new versioning system of Vala many programs using libvala get broken
> > because of the internal API changes. What is the recommended way to release
> > and develop them?
> 
> First off, AFAIK Jürg hasn't made any API stability promises for
> libvala... it is considered unstable, and the API will change. I'd also
> like to point out that most programs written in vala don't have a
> runtime dependency on libvala and most release tarballs, including Vala
> itself, don't even have a compile time dependency on valac since they
> are distributed with the C. In other words, if you are making releases
> instead of forcing people to compile from git/svn/bzr/whatever they
> don't need any version of Vala on their computer.
> 
> Now, on to your question... the new versioning system should actually
> help with that because you can now have multiple instances of libvala
> installed to the same prefix at the same time. People don't need to
> choose between a stable release and an unstable release, they can have
> both.
> 
> All you have to do is depend on the version of Vala that your software
> works with... 0.10 is considered to be the stable release, with the 0.12
> branch (0.11.x) being unstable.
> 
> > I have been working lately in gtkaml in order to add support for vala 0.12
> > and add support to the new syntax 'gtkon'. Next work will be to add 'gtkaml'
> > like 'vala' (to compile+run) and fast vapi support.
> > 
> > Next release of gtkamlc will be for 0.12 only, and I would like to not
> > be limited to a single version of the compiler if the distributions does
> > not provide them.
> 
> If you use features that changed between 0.10 and 0.12, that's probably
> not going to happen. Like I said, libvala is unstable. You might be able
> to put something together in your build system where you have two
> versions of your code (one for 0.10, one for 0.12), but that will get
> very messy very quickly.
> 
> My suggestion would be to do what Vala is doing... branch your
> repository for 0.10 and continue new development against 0.12. You can
> release from the stable branch when you want to do a bugfix release
> (like vala did with 0.10.1), but most new development happens against
> the development branch which sees periodic releases as part of an
> even-numbered unstable development series.
> 
> For what it's worth, Florian has said that he intends to do this with
> valadoc. I believe VTG is also doing this but I haven't confirmed it.
> 
> > How are distros going to manage this? Is debian going to package vala-0.10
> > and vala-0.11 simultaneiously? Or do they will wait until 0.12 gets 
> > released?
> 
> Obviously that is up to them, but they will *probably* wait for 0.12 to
> be released before adding it to their main repositories, although this
> will likely vary a bit from distribution to distribution.
> 
> Debian might package 0.11 in experimental but keep it out of unstable
> until 0.12 is released (and likely keep 0.10 around for a while too).
> Ubuntu will probably package 0.11.x for 11.04 development but release
> with 0.12.x, especially considering the fact that they are planning on
> making Unity the default shell. Furthermore, I wouldn't be surprised if
> the Vala PPA maintains both versions simultaneously for the current
> stable Ubuntu release. I think Fedora does something similar with
> rawhide.
> 
> The situation is analogous to what happens for most of the rest of
> GNOME. GTK+ 2.31 is a development branch, 2.32 is stable... I think the
> development series that will become 3.0 is 2.90. Examining how your
> distro of choice handles that will probably provide a good indication of
> how they will handle vala development series releases.
> 
> > I personally prefer to keep my programs working with the latest version of
> > the compiler, but I understand that this may break many builds if the system
> > does not have the correct compiler version.
> 
> Again, the fact that two different versions are now parallel installable
> should help things here, not hurt. Your program can use the development
> branch while someone else uses the stable branch. Or you can use the
> current stable branch while other programs use an old stable branch.
> 
> -Evan
> 
_______________________________________________
vala-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to