Thread overview | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
April 16, 2019 dub -> meson | ||||
---|---|---|---|---|
| ||||
Hi all, 'DUB - call to arms' post by Seb https://forum.dlang.org/post/unimbbqxosxcmjdhtzch@forum.dlang.org Hope we will move other direction and extend Meson build system with better D support and make a new Dlang registry. Reasons to move forward with Meson: 0. Progressive and large community 1. Has clear python source code: faster to extend, easier to maintain. 2. D+Meson already used in production: last year it is a major build system for all of Mir and its commercial applications. 3. Meson language is super cool. It is much better than dub for commercial projects, for large projects, for library distribution. 4. Ability to compile and configure D code with other languages like C/C++. 5. With Meson we don't need to catch up Rust, we can do better than Rust with fewer resources. Best, Ilya |
April 16, 2019 Re: dub -> meson | ||||
---|---|---|---|---|
| ||||
Posted in reply to 9il | On Tuesday, 16 April 2019 at 01:45:26 UTC, 9il wrote: > Hi all, > > 'DUB - call to arms' post by Seb > https://forum.dlang.org/post/unimbbqxosxcmjdhtzch@forum.dlang.org > > Hope we will move other direction and extend Meson build system with better D support and make a new Dlang registry. Is it just a build system? Isn't a package manager also needed? Why a *new* registry? > Reasons to move forward with Meson: > > 1. Has clear python source code: faster to extend, easier to maintain. Oh. Well it was certainly a mistake to try use D for something like dub. I've thought of D as a kind of competitor to Python but I sure don't want slow to extend, hard to maintain code. > 4. Ability to compile and configure D code with other languages like C/C++. That's a surprising oversight. Was it intentional? |
April 16, 2019 Re: dub -> meson | ||||
---|---|---|---|---|
| ||||
Posted in reply to Julian | On 16/04/2019 2:15 PM, Julian wrote:
>
>> 4. Ability to compile and configure D code with other languages like C/C++.
>
> That's a surprising oversight. Was it intentional?
Out of scope. Dub was only meant to handle D programs using minimal external dependencies and for this purpose it has succeeded.
|
April 16, 2019 Re: dub -> meson | ||||
---|---|---|---|---|
| ||||
Posted in reply to Julian | On Tuesday, 16 April 2019 at 02:15:13 UTC, Julian wrote: > On Tuesday, 16 April 2019 at 01:45:26 UTC, 9il wrote: >> Hi all, >> >> 'DUB - call to arms' post by Seb >> https://forum.dlang.org/post/unimbbqxosxcmjdhtzch@forum.dlang.org >> >> Hope we will move other direction and extend Meson build system with better D support and make a new Dlang registry. > > Is it just a build system? Isn't a package manager also needed? > Why a *new* registry? The current registry is based on dub.sdl, dub.json. They can be supported as a plugin though. >> Reasons to move forward with Meson: >> >> 1. Has clear python source code: faster to extend, easier to maintain. > > Oh. Well it was certainly a mistake to try use D for something > like dub. I've thought of D as a kind of competitor to Python > but I sure don't want slow to extend, hard to maintain code. > >> 4. Ability to compile and configure D code with other languages like C/C++. > > That's a surprising oversight. Was it intentional? I mean dub can compile only D sources. Meson can compile integrated projects, where some code is C, some C++, some D and etc. It is a killer feature to involve new companies. . |
April 16, 2019 Re: dub -> meson | ||||
---|---|---|---|---|
| ||||
Posted in reply to rikki cattermole | On Tuesday, 16 April 2019 at 02:30:25 UTC, rikki cattermole wrote: > On 16/04/2019 2:15 PM, Julian wrote: >> >>> 4. Ability to compile and configure D code with other languages like C/C++. >> >> That's a surprising oversight. Was it intentional? > > Out of scope. Dub was only meant to handle D programs using minimal external dependencies and for this purpose it has succeeded. I don't think so. For example, dub does not allow to compile selected dependencies in release builds, while the current project in debug mode. This is a common case for numeric libraries like mir-glas (blas), mir-optim and etc. So, we need to call dub as prebuild command https://github.com/libmir/mir-glas/blob/master/dub.json#L28 For simple system dependencies dub force users to define configuration monsters like that for mir-blas: https://github.com/libmir/mir-blas/blob/master/dub.sdl Maybe configurations for vibe.d and other packages looks no so monstrous, however for my uses cases, it adds a lot of pain. Also, this pain in inherited by dependencies: https://github.com/libmir/mir-lapack/blob/master/dub.sdl https://github.com/kaleidicassociates/lubeck/blob/master/dub.sdl |
April 16, 2019 Re: dub -> meson | ||||
---|---|---|---|---|
| ||||
Posted in reply to 9il | On Tuesday, 16 April 2019 at 05:11:29 UTC, 9il wrote:
> I don't think so. For example, dub does not allow to compile selected dependencies in release builds, while the current project in debug mode. This is a common case for numeric libraries like mir-glas (blas), mir-optim and etc.
> So, we need to call dub as prebuild command https://github.com/libmir/mir-glas/blob/master/dub.json#L28
>
> For simple system dependencies dub force users to define configuration monsters like that for mir-blas:
> https://github.com/libmir/mir-blas/blob/master/dub.sdl
>
> Maybe configurations for vibe.d and other packages looks no so monstrous, however for my uses cases, it adds a lot of pain. Also, this pain in inherited by dependencies:
> https://github.com/libmir/mir-lapack/blob/master/dub.sdl
> https://github.com/kaleidicassociates/lubeck/blob/master/dub.sdl
Those "configuration monsters" don't look that bad, compared to your average Ant or CMake build script (can't speak for Meson, never used it).
The problem with using anything else is that we're back to square one. If you push Meson as an official build tool, soon people will want to bring CMake, SCons, Gradle, makefiles etc. into the mix. Which will be problematic, especially on Windows. Right now you can download dub and hope that most of stuff will build, without having to chase down dependencies and additional build tools. And after a while someone will propose, why do we use all these tools, why not create a single build tool, written in D, that can support these usecases. And then we'll reinvent dub again :)
|
April 16, 2019 Re: dub -> meson | ||||
---|---|---|---|---|
| ||||
Posted in reply to 9il | On Tuesday, 16 April 2019 at 01:45:26 UTC, 9il wrote:
> Hi all,
>
> 'DUB - call to arms' post by Seb
> https://forum.dlang.org/post/unimbbqxosxcmjdhtzch@forum.dlang.org
>
> Hope we will move other direction and extend Meson build system with better D support and make a new Dlang registry.
>
> Reasons to move forward with Meson:
>
> 0. Progressive and large community
> 1. Has clear python source code: faster to extend, easier to maintain.
> 2. D+Meson already used in production: last year it is a major build system for all of Mir and its commercial applications.
> 3. Meson language is super cool. It is much better than dub for commercial projects, for large projects, for library distribution.
> 4. Ability to compile and configure D code with other languages like C/C++.
> 5. With Meson we don't need to catch up Rust, we can do better than Rust with fewer resources.
>
>
> Best,
> Ilya
Don't you think we send following message with this step:
You cannot use the D Programming Language without installing Python. Python is able to do things, D is not able to do.
In my opinion this is a rather bad advertising):
Kind regards
Andre
|
April 16, 2019 Re: dub -> meson | ||||
---|---|---|---|---|
| ||||
Posted in reply to 9il | On 16.04.2019 4:45, 9il wrote:
> Hi all,
>
> 'DUB - call to arms' post by Seb
> https://forum.dlang.org/post/unimbbqxosxcmjdhtzch@forum.dlang.org
>
> Hope we will move other direction and extend Meson build system with better D support and make a new Dlang registry.
>
> Reasons to move forward with Meson:
>
> 0. Progressive and large community
> 1. Has clear python source code: faster to extend, easier to maintain.
> 2. D+Meson already used in production: last year it is a major build system for all of Mir and its commercial applications.
> 3. Meson language is super cool. It is much better than dub for commercial projects, for large projects, for library distribution.
> 4. Ability to compile and configure D code with other languages like C/C++.
> 5. With Meson we don't need to catch up Rust, we can do better than Rust with fewer resources.
>
>
> Best,
> Ilya
Dub suppor for Meson (and other ones) is really useful thing, but it should be optional advanced feature.
|
April 16, 2019 Re: dub -> meson | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andre Pany | On Tuesday, 16 April 2019 at 08:25:17 UTC, Andre Pany wrote:
> On Tuesday, 16 April 2019 at 01:45:26 UTC, 9il wrote:
>
> Don't you think we send following message with this step:
> You cannot use the D Programming Language without installing Python. Python is able to do things, D is not able to do.
>
>
> In my opinion this is a rather bad advertising):
>
> Kind regards
> Andre
Well, bad advertising is advertising, I don't think it is really bad. --Ilya
|
April 16, 2019 Re: dub -> meson | ||||
---|---|---|---|---|
| ||||
Posted in reply to 9il | On Tuesday, 16 April 2019 at 01:45:26 UTC, 9il wrote:
> Hi all,
>
> 'DUB - call to arms' post by Seb
> https://forum.dlang.org/post/unimbbqxosxcmjdhtzch@forum.dlang.org
>
> Hope we will move other direction and extend Meson build system with better D support and make a new Dlang registry.
>
> Reasons to move forward with Meson:
>
> 0. Progressive and large community
> 1. Has clear python source code: faster to extend, easier to maintain.
> 2. D+Meson already used in production: last year it is a major build system for all of Mir and its commercial applications.
> 3. Meson language is super cool. It is much better than dub for commercial projects, for large projects, for library distribution.
> 4. Ability to compile and configure D code with other languages like C/C++.
> 5. With Meson we don't need to catch up Rust, we can do better than Rust with fewer resources.
>
>
> Best,
> Ilya
Just for the records, an alternative registry already exists. You can store your dub packages in Maven (Nexus, Artifactory, ...) and set the Maven url as Dub registry.
Works like a charme, Dub does here a perfect job.
Kind regards
Andre
|
Copyright © 1999-2021 by the D Language Foundation