Thread overview | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
December 06, 2018 Removing Meson as way of building dcd, d-scanner, etc | ||||
---|---|---|---|---|
| ||||
Do you use it ? Is it useful ? |
December 06, 2018 Re: Removing Meson as way of building dcd, d-scanner, etc | ||||
---|---|---|---|---|
| ||||
Posted in reply to Basile B. Attachments:
| On Thu, 2018-12-06 at 10:54 +0000, Basile B. via Digitalmars-d wrote: > Do you use it ? Is it useful ? Meson builds are increasingly the way forward for builds in the GTK, GStreamer, and Debian milieus. -- Russel. =========================================== Dr Russel Winder t: +44 20 7585 2200 41 Buckmaster Road m: +44 7770 465 077 London SW11 1EN, UK w: www.russel.org.uk |
December 06, 2018 Re: Removing Meson as way of building dcd, d-scanner, etc | ||||
---|---|---|---|---|
| ||||
Posted in reply to Russel Winder | On Thursday, 6 December 2018 at 12:11:06 UTC, Russel Winder wrote:
> On Thu, 2018-12-06 at 10:54 +0000, Basile B. via Digitalmars-d wrote:
>> Do you use it ? Is it useful ?
>
> Meson builds are increasingly the way forward for builds in the GTK, GStreamer, and Debian milieus.
If i remember correctly the idea behind the addition of Meson build files was to have some semi official packages for D-scanner and DCD. Where are they ?
Right now I'm a bit angry because of the maintenance required to support Meson. Usually i just don't care but today the CI is broken for some reasons (i just know it's related to Meson support. And this is not the first time.
|
December 07, 2018 Re: Removing Meson as way of building dcd, d-scanner, etc | ||||
---|---|---|---|---|
| ||||
Posted in reply to Basile B. | On Thu, 06 Dec 2018 10:54:48 +0000, Basile B. wrote:
> Do you use it ? Is it useful ?
I would consider touching Meson at all if it could fetch dependencies. But it can't, which sucks.
Though I'm amused to note that its documentation uses one of my libraries in an example.
|
December 07, 2018 Re: Removing Meson as way of building dcd, d-scanner, etc | ||||
---|---|---|---|---|
| ||||
Posted in reply to Neia Neutuladh | On Friday, 7 December 2018 at 04:59:32 UTC, Neia Neutuladh wrote:
> On Thu, 06 Dec 2018 10:54:48 +0000, Basile B. wrote:
>> Do you use it ? Is it useful ?
>
> I would consider touching Meson at all if it could fetch dependencies. But it can't, which sucks.
>
> Though I'm amused to note that its documentation uses one of my libraries in an example.
Hi Neia,
I began playing with meson (v 0.48.2) the other day (Terminix example has been very useful) and it seems to fetch and compile dependencies via dub.
On the other hand my pet-project compile times have downloaded from approx. 1m 10s. build time with dub to approx. 50s. build time with meson.
I.e. I declare dependencies to fetch with dub in meson.build like this:
################
# Dependencies #
################
gtkd_dep = dependency('gtk-d:gtkd', version: '>=3.8.4', method: 'dub')
xlib_dep = dependency('x11')
And use them like this:
dgtalib = static_library('dgtalib',
dgtalib_sources,
include_directories: sources_dir,
dependencies : [gtkd_dep, xlib_dep])
Hope this helps
Antonio
|
December 07, 2018 Re: Removing Meson as way of building dcd, d-scanner, etc | ||||
---|---|---|---|---|
| ||||
Posted in reply to Basile B. | On Thursday, 6 December 2018 at 13:10:53 UTC, Basile B. wrote:
> On Thursday, 6 December 2018 at 12:11:06 UTC, Russel Winder wrote:
>> On Thu, 2018-12-06 at 10:54 +0000, Basile B. via Digitalmars-d wrote:
>>> Do you use it ? Is it useful ?
>>
>> Meson builds are increasingly the way forward for builds in the GTK, GStreamer, and Debian milieus.
>
> If i remember correctly the idea behind the addition of Meson build files was to have some semi official packages for D-scanner and DCD. Where are they ?
>
> Right now I'm a bit angry because of the maintenance required to support Meson. Usually i just don't care but today the CI is broken for some reasons (i just know it's related to Meson support. And this is not the first time.
There was a problem with meson test build on travis when travis changed default python version. I solved it forcing install proper version via something like
- pyenv install 3.6.0
- pyenv global system 3.6.0
- pip3 install 'meson>=0.46'
in .travis.yml
Another problem is dependency, which I still didn't solve.
|
December 07, 2018 Re: Removing Meson as way of building dcd, d-scanner, etc | ||||
---|---|---|---|---|
| ||||
Posted in reply to ikod | On Friday, 7 December 2018 at 10:03:36 UTC, ikod wrote: > On Thursday, 6 December 2018 at 13:10:53 UTC, Basile B. wrote: >> On Thursday, 6 December 2018 at 12:11:06 UTC, Russel Winder wrote: >>> On Thu, 2018-12-06 at 10:54 +0000, Basile B. via Digitalmars-d wrote: >>>> Do you use it ? Is it useful ? >>> >>> Meson builds are increasingly the way forward for builds in the GTK, GStreamer, and Debian milieus. >> >> If i remember correctly the idea behind the addition of Meson build files was to have some semi official packages for D-scanner and DCD. Where are they ? >> >> Right now I'm a bit angry because of the maintenance required to support Meson. Usually i just don't care but today the CI is broken for some reasons (i just know it's related to Meson support. And this is not the first time. > > There was a problem with meson test build on travis when travis changed default python version. I solved it forcing install proper version via something like > > - pyenv install 3.6.0 This is slow and a waste of resources because (see later, about v 3.4.3) > - pyenv global system 3.6.0 > - pip3 install 'meson>=0.46' > > in .travis.yml Yes this is what we will do as well. But not right now because i suspect a regression, so this can be fixed in the next days. Travis has definitively version 3.4.3 installed by default but just pyenv global system 3.4.3 doesn't work (i even tried to use a script that extracted the python3 --version number, just in case of, and use this env var in the pyenv command) and this didn't work, leading to think that 3.4.3 is either not detected by pyenv or their default setup is not standard. > Another problem is dependency, which I still didn't solve. Package version is less convenient too (harcoded in file while DUB uses the git tags) but this is part of the stuff i ignore and i let the "Meson guy(s)" handle this when the build doesn't work for them anymore. |
December 07, 2018 Re: Removing Meson as way of building dcd, d-scanner, etc | ||||
---|---|---|---|---|
| ||||
Posted in reply to Antonio Corbi | On Fri, 07 Dec 2018 08:15:58 +0000, Antonio Corbi wrote: > On the other hand my pet-project compile times have downloaded from approx. 1m 10s. build time with dub to approx. 50s. build time with meson. That looks like the time difference I got from adding --no-deps to the command line for dub and depending on gtk-d as a shared library. > I.e. I declare dependencies to fetch with dub in meson.build like this: The meson documentation currently says that dub dependencies don't get fetched. If substituting `dub build` with `meson build` just worked, that would be fine. Instead, it's substituting `dub build` with `dub fetch pkgA versionA && dub fetch pkgB versionB && ... && meson build`. That's pretty unfriendly. So I'd end up having to write a meson build file and a build script, and I'd have to keep dependencies in sync between the two. |
December 09, 2018 Re: Removing Meson as way of building dcd, d-scanner, etc | ||||
---|---|---|---|---|
| ||||
Posted in reply to Neia Neutuladh | On Friday, 7 December 2018 at 17:29:45 UTC, Neia Neutuladh wrote: > On Fri, 07 Dec 2018 08:15:58 +0000, Antonio Corbi wrote: > The meson documentation currently says that dub dependencies don't get fetched. Yeah... Meson is a build system not a build system & package manager like dub. > If substituting `dub build` with `meson build` just worked, that would be fine. Instead, it's substituting `dub build` with `dub fetch pkgA versionA && dub fetch pkgB versionB && ... && meson build`. That's pretty unfriendly. So I'd end up having to write a meson build file and a build script, and I'd have to keep dependencies in sync between the two. Uh? Please show me your project. You can easily define the dependency version in meson and then call a prepare script that runs dub fetch and dub build. You can also have meson automatically update the dependencies in your dub file. |
December 09, 2018 Re: Removing Meson as way of building dcd, d-scanner, etc | ||||
---|---|---|---|---|
| ||||
Posted in reply to Basile B. | On Thursday, 6 December 2018 at 13:10:53 UTC, Basile B. wrote:
> If i remember correctly the idea behind the addition of Meson build files was to have some semi official packages for D-scanner and DCD. Where are they ?
>
> Right now I'm a bit angry because of the maintenance required to support Meson. Usually i just don't care but today the CI is broken for some reasons (i just know it's related to Meson support. And this is not the first time.
If you want I can step in and maintain meson. Also, we have official package for both D-Scanner and DCD in Archlinux.
|
Copyright © 1999-2021 by the D Language Foundation