Jump to page: 1 2
Thread overview
dub -> meson
Apr 16, 2019
9il
Apr 16, 2019
Julian
Apr 16, 2019
rikki cattermole
Apr 16, 2019
9il
Apr 16, 2019
JN
Apr 16, 2019
H. S. Teoh
Apr 16, 2019
psycha0s
Apr 16, 2019
JN
Apr 17, 2019
rikki cattermole
Apr 17, 2019
Atila Neves
Apr 17, 2019
Schrom, Brian T
Apr 16, 2019
9il
Apr 16, 2019
Andre Pany
Apr 16, 2019
9il
Apr 16, 2019
drug
Apr 16, 2019
Andre Pany
Apr 16, 2019
Atila Neves
Apr 16, 2019
Russel Winder
April 16, 2019
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
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
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
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
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
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
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
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
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
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
« First   ‹ Prev
1 2