Re: meson ground rules!

2016-11-23 Thread Patrick Griffis via desktop-devel-list
On Wed, 2016-11-23 at 14:35 +0530, Nirbheek Chauhan wrote:
> From what I can understand, this is done specifically because distros
> such as Ubuntu and F23 do not ship a new-enough version of Meson
> quickly? Please correct me if I'm wrong.

In particular, Ubuntu, yes. Fedora ships meson updates aggressively so
it's not really a problem here.

> If so, what's stopping us from adding a `meson` module to jhbuild
> instead of always using the system-provided package? Meson is pure
> Python so the module should be trivial to maintain.

It's certainly possible, but someone has to make it happen. Currently
meson and ninja are both "virtual sysdeps" which means the dependency
is added automatically for all meson modules, and there's no support
for doing that with non-sysdep modules. It could be done by removing
the virtual sysdep and manually adding a dependency from every meson
module to a meson module in core-deps, but it'd be better to have it
built-in like the dependencies for all other module types. Either way,
we could indeed drop the version requirement if you were to make this
happen.

> Meson has a very swift pace of development, and a one-year delay in
> the version that can be used is a bit harsh, don't you think? For
> instance, as existing modules are having experimental ports to Meson,
> we're finding that enhancements are necessary which necessitates the
> use of a new release. If modules have to continue to default to
> Autotools because of that, the Meson port won't get wider testing and
> we'll continue to be stuck with Autotools.
>
> I'd be happy to maintain the meson module in jhbuild if that's
> necessary.

Keep in mind that the version requirement only affects modules that
remove the Autotools build system.

Thanks,

Michael
Meson is very easy to install and distribute though. For a developer its a 
`pip3 install --user meson` away. For distributing it you can make a Python 
zipapp so it is a single file you store in the tarball (smaller than autotools 
output ever was). 0.36.0 is a very major release IMO, I put a lot of work into 
it getting gnome-builder and sysprof building and most gnome apps would 
certainly want to target that.___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list

Re: meson ground rules!

2016-11-23 Thread Michael Catanzaro
On Wed, 2016-11-23 at 14:35 +0530, Nirbheek Chauhan wrote:
> From what I can understand, this is done specifically because distros
> such as Ubuntu and F23 do not ship a new-enough version of Meson
> quickly? Please correct me if I'm wrong.

In particular, Ubuntu, yes. Fedora ships meson updates aggressively so
it's not really a problem here.

> If so, what's stopping us from adding a `meson` module to jhbuild
> instead of always using the system-provided package? Meson is pure
> Python so the module should be trivial to maintain.

It's certainly possible, but someone has to make it happen. Currently
meson and ninja are both "virtual sysdeps" which means the dependency
is added automatically for all meson modules, and there's no support
for doing that with non-sysdep modules. It could be done by removing
the virtual sysdep and manually adding a dependency from every meson
module to a meson module in core-deps, but it'd be better to have it
built-in like the dependencies for all other module types. Either way,
we could indeed drop the version requirement if you were to make this
happen.

> Meson has a very swift pace of development, and a one-year delay in
> the version that can be used is a bit harsh, don't you think? For
> instance, as existing modules are having experimental ports to Meson,
> we're finding that enhancements are necessary which necessitates the
> use of a new release. If modules have to continue to default to
> Autotools because of that, the Meson port won't get wider testing and
> we'll continue to be stuck with Autotools.
> 
> I'd be happy to maintain the meson module in jhbuild if that's
> necessary.

Keep in mind that the version requirement only affects modules that
remove the Autotools build system.

Thanks,

Michael
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: meson ground rules!

2016-11-22 Thread Bastien Nocera
On Tue, 2016-11-22 at 11:07 -0600, Michael Catanzaro wrote:
> Hi,
> 
> Some GNOME modules have started to experiment with switching to the
> meson build system instead of Autotools. Personally, I want to
> encourage this; even though as a project we haven't come to any
> consensus on whether we want to do a wholesale migration to meson, I
> think it's starting to look likely as its advantages over Autotools
> and
> CMake are pretty clear to me. But we still need to make sure it's
> easy
> for contributors to build GNOME. So a couple ground rules for this
> from
> release team:
> 
>  * Projects using meson are encouraged (although not required) to
> continue maintaining the Autotools build in parallel for GNOME 3.24
> as
> meson continues to mature. We will consider recommending the removal
> of
> Autotools builds in the GNOME 3.26 timeframe.
> 
>  * Projects that choose to remove the Autotools build system must not
> require meson newer than 0.34.0. We'll set a higher permissible
> version
> requirement for GNOME 3.26 next spring.
> 
>  * Make sure your module builds in JHBuild. Important: do not switch
> JHBuild to use the meson module type until you have released a
> tarball
> that includes the meson build system.
> 
>  * For GNOME 3.24, make sure your module builds in Continuous. You'll
> have to add a patch that adds a fake configure script and a fake
> Makefile. I do not believe this requirement is desirable going
> forward
> -- if we do a large scale switch to meson, then Continuous is just
> going to have to learn to grok our new build system -- but let's not
> break it now.

* Ditto for Flatpak nightly applications

> Thanks for helping make sure our release process goes smoothly,
> 
> Michael
> ___
> desktop-devel-list mailing list
> desktop-devel-list@gnome.org
> https://mail.gnome.org/mailman/listinfo/desktop-devel-list
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list

Re: meson ground rules!

2016-11-22 Thread Michael Catanzaro
On Tue, 2016-11-22 at 12:48 -0600, Michael Catanzaro wrote:
> On Tue, 2016-11-22 at 11:07 -0600, Michael Catanzaro wrote:
> >  * Projects that choose to remove the Autotools build system must
> not
> > require meson newer than 0.34.0. We'll set a higher permissible
> > version
> > requirement for GNOME 3.26 next spring.
> 
> In the interest of clarity: meson 0.34.0 will be the max dependency
> for
> GNOME 3.24.

(If you switch the JHBuild moduleset to use meson. If you keep the
Autotools build and do not switch JHBuild to use meson, then you can of
course require whatever version of meson you please.)

Michael
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list