digitalmars.D - Removing Meson as way of building dcd, d-scanner, etc
- Basile B. (1/1) Dec 06 2018 Do you use it ? Is it useful ?
- Russel Winder (10/11) Dec 06 2018 Meson builds are increasingly the way forward for builds in the GTK,
- Basile B. (8/13) Dec 06 2018 If i remember correctly the idea behind the addition of Meson
- ikod (9/24) Dec 07 2018 There was a problem with meson test build on travis when travis
- Basile B. (17/43) Dec 07 2018 This is slow and a waste of resources because (see later, about v
- Filipe =?UTF-8?B?TGHDrW5z?= (3/10) Dec 09 2018 If you want I can step in and maintain meson. Also, we have
- Basile B. (13/24) Dec 12 2018 I'm thinking about inviting you to dlang-community then. Do you
- Basile B. (6/31) Dec 12 2018 Just 3 minutes to install a python version at Travis, that will
- kinke (7/12) Dec 12 2018 What's even more silly is building Python manually first, then
- Filipe =?UTF-8?B?TGHDrW5z?= (9/21) Dec 14 2018 That's fine by me. I may not be as active as I would wish at
- Basile B. (9/35) Dec 14 2018 I didn't know that meson 0.29 is available on their xenial-based
- Filipe =?UTF-8?B?TGHDrW5z?= (7/16) Jan 03 2019 Sorry for the super late reply! I have been really busy with the
- Neia Neutuladh (5/6) Dec 06 2018 I would consider touching Meson at all if it could fetch dependencies. B...
- Antonio Corbi (23/29) Dec 07 2018 Hi Neia,
- Neia Neutuladh (10/14) Dec 07 2018 That looks like the time difference I got from adding --no-deps to the
- Filipe =?UTF-8?B?TGHDrW5z?= (7/16) Dec 09 2018 Yeah... Meson is a build system not a build system & package
- bioinfornatics (3/4) Dec 17 2018 At Fedora we use meson to build these projects. So yes it is
- Ralph Amissah (20/24) Dec 17 2018 Debian uses meson to build things D as well and it appears to fit
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. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 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
Dec 06 2018
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: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.Do you use it ? Is it useful ?Meson builds are increasingly the way forward for builds in the GTK, GStreamer, and Debian milieus.
Dec 06 2018
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: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.On Thu, 2018-12-06 at 10:54 +0000, Basile B. via Digitalmars-d 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.Do you use it ? Is it useful ?Meson builds are increasingly the way forward for builds in the GTK, GStreamer, and Debian milieus.
Dec 07 2018
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:This is slow and a waste of resources because (see later, about v 3.4.3)On Thursday, 6 December 2018 at 12:11:06 UTC, Russel Winder wrote: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.0On Thu, 2018-12-06 at 10:54 +0000, Basile B. via Digitalmars-d 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.Do you use it ? Is it useful ?Meson builds are increasingly the way forward for builds in the GTK, GStreamer, and Debian milieus.- pyenv global system 3.6.0 - pip3 install 'meson>=0.46' in .travis.ymlYes 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.
Dec 07 2018
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.
Dec 09 2018
On Sunday, 9 December 2018 at 16:53:22 UTC, Filipe Laíns wrote:On Thursday, 6 December 2018 at 13:10:53 UTC, Basile B. wrote:I'm thinking about inviting you to dlang-community then. Do you think you can fix at least the stupid stuff we have to do right know (install python 3 while it's already setup). Again today i have to do this: https://github.com/dlang-community/tinyendian/pull/18/files Which is awfully slow. Most of the time is spent on setup python 3.6.3, which is not correct. CI tests for this product should not spend more than 30 secs. Now they raise to 4 minutes. The problem right now is that i handle this while i should not. I have zero python+its ecosystem knowledge, i just use "dub" "make" or my own exotic way of building, so the fix has chances to be be stupid.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.
Dec 12 2018
On Wednesday, 12 December 2018 at 12:23:40 UTC, Basile B. wrote:On Sunday, 9 December 2018 at 16:53:22 UTC, Filipe Laíns wrote:Just 3 minutes to install a python version at Travis, that will work to use Meson https://travis-ci.org/dlang-community/tinyendian/jobs/466966513#L122 That's **silly**.On Thursday, 6 December 2018 at 13:10:53 UTC, Basile B. wrote:I'm thinking about inviting you to dlang-community then. Do you think you can fix at least the stupid stuff we have to do right know (install python 3 while it's already setup). Again today i have to do this: https://github.com/dlang-community/tinyendian/pull/18/files Which is awfully slow. Most of the time is spent on setup python 3.6.3, which is not correct. CI tests for this product should not spend more than 30 secs. Now they raise to 4 minutes. The problem right now is that i handle this while i should not. I have zero python+its ecosystem knowledge, i just use "dub" "make" or my own exotic way of building, so the fix has chances to be be stupid.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.
Dec 12 2018
On Wednesday, 12 December 2018 at 12:40:35 UTC, Basile B. wrote:Just 3 minutes to install a python version at Travis, that will work to use Meson https://travis-ci.org/dlang-community/tinyendian/jobs/466966513#L122 That's **silly**.What's even more silly is building Python manually first, then doing `homebrew update` (taking 290 secs!) before brewing ninja and Python again (the latter not working). If you just need homebrew for Ninja, then do yourself a favor and download the prebuilt https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-mac.zip, that's what we do for LDC CI too. This `homebrew update` is ridiculous, at least for Travis.
Dec 12 2018
On Wednesday, 12 December 2018 at 12:23:40 UTC, Basile B. wrote:I'm thinking about inviting you to dlang-community then. Do you think you can fix at least the stupid stuff we have to do right know (install python 3 while it's already setup). Again today i have to do this: https://github.com/dlang-community/tinyendian/pull/18/files Which is awfully slow. Most of the time is spent on setup python 3.6.3, which is not correct. CI tests for this product should not spend more than 30 secs. Now they raise to 4 minutes. The problem right now is that i handle this while i should not. I have zero python+its ecosystem knowledge, i just use "dub" "make" or my own exotic way of building, so the fix has chances to be be stupid.That's fine by me. I may not be as active as I would wish at times so if that happens just give me a mention or send me an email. Regarding your issue, it seems that meson 0.29.0 is available in xenial's repo so that might be worth installing directly. To avoid installing python each CI run, you might want to cache it[1]. That should speed up the CI quite a bit. [1] https://docs.travis-ci.com/user/caching/
Dec 14 2018
On Saturday, 15 December 2018 at 00:47:34 UTC, Filipe Laíns wrote:On Wednesday, 12 December 2018 at 12:23:40 UTC, Basile B. wrote:I didn't know that meson 0.29 is available on their xenial-based VMs but i was adviced yesterday to use xenial because it has python 3.5 which is good enough for meson. This is what i did, everywhere([1],[2],...), so everything is fine now. By the way meson 0.29 is probably not capable of building D. This looks like a very old release. [1] https://github.com/dlang-community/libdparse/pull/332/files [2] https://github.com/dlang-community/containers/pull/132/filesI'm thinking about inviting you to dlang-community then. Do you think you can fix at least the stupid stuff we have to do right know (install python 3 while it's already setup). Again today i have to do this: https://github.com/dlang-community/tinyendian/pull/18/files Which is awfully slow. Most of the time is spent on setup python 3.6.3, which is not correct. CI tests for this product should not spend more than 30 secs. Now they raise to 4 minutes. The problem right now is that i handle this while i should not. I have zero python+its ecosystem knowledge, i just use "dub" "make" or my own exotic way of building, so the fix has chances to be be stupid.That's fine by me. I may not be as active as I would wish at times so if that happens just give me a mention or send me an email. Regarding your issue, it seems that meson 0.29.0 is available in xenial's repo so that might be worth installing directly. To avoid installing python each CI run, you might want to cache it[1]. That should speed up the CI quite a bit. [1] https://docs.travis-ci.com/user/caching/
Dec 14 2018
On Saturday, 15 December 2018 at 04:55:53 UTC, Basile B. wrote:I didn't know that meson 0.29 is available on their xenial-based VMs but i was adviced yesterday to use xenial because it has python 3.5 which is good enough for meson. This is what i did, everywhere([1],[2],...), so everything is fine now. By the way meson 0.29 is probably not capable of building D. This looks like a very old release. [1] https://github.com/dlang-community/libdparse/pull/332/files [2] https://github.com/dlang-community/containers/pull/132/filesSorry for the super late reply! I have been really busy with the holidays. At the time I didn't realize meson 0.29 was **that** outdated. If we cache the package contents' meson doesn't need to be installed on each CI run. I'll try to open some pull requests with this hopefully working.
Jan 03 2019
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.
Dec 06 2018
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: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: 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 AntonioDo 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.
Dec 07 2018
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.
Dec 07 2018
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.
Dec 09 2018
On Thursday, 6 December 2018 at 10:54:48 UTC, Basile B. wrote:Do you use it ? Is it useful ?At Fedora we use meson to build these projects. So yes it is useful
Dec 17 2018
Debian uses meson to build things D as well and it appears to fit elegantly with their package creation tools, related work is already in place. Fedora it appears uses meson too. My understanding use of meson integrates with the rest of Debian package creation system and more or less automates the process... anything to make use of meson more straightforward makes the packaging and distribution of D tools, libraries and applications more likely, and should be positive with regard to the adoption of things D within Linux infrastructure (Debian + its many derivatives and Red Hat / Fedora). Reiteration of previous post. More with meson (and to assist its use with things D) please, not less. (reiteration of earlier posts:) https://github.com/mesonbuild/meson/pull/685 https://forum.dlang.org/post/ezwgtwhrmxtggejboogn forum.dlang.org https://forum.dlang.org/post/dpakidboblzgbdtejilz forum.dlang.org https://forum.dlang.org/post/wfzvzberakgfvdspqzro forum.dlang.org https://forum.dlang.org/post/gafxocanzszlqrrofcjw forum.dlang.org https://forum.dlang.org/post/mailman.1087.1482453335.9448.digitalmars-d-bugs puremagic.com On Mon, Dec 17, 2018 at 4:20 AM bioinfornatics via Digitalmars-d <digitalmars-d puremagic.com> wrote:On Thursday, 6 December 2018 at 10:54:48 UTC, Basile B. wrote:Do you use it ? Is it useful ?At Fedora we use meson to build these projects. So yes it is useful
Dec 17 2018