Thread overview
SAOC Project
Aug 04, 2019
Ionuț Mihalache
Aug 04, 2019
Andre Pany
Aug 04, 2019
Andre Pany
Aug 05, 2019
FeepingCreature
Aug 05, 2019
Seb
Aug 04, 2019
Seb
Aug 05, 2019
Robert Schadek
August 04, 2019
Hi everyone,

My name is Ionuț and I am interested in one of the SAOC projects, the one about DUB: D's package manager. What I would like to know are the parts about git support and C/C++ support. Can you tell me which one is more important for the community and what are the next steps for SAOC and maybe more details about what exactly is already implemented if there is something, in order for me to know where to start exactly.

Thank you.
August 04, 2019
On Sunday, 4 August 2019 at 16:06:59 UTC, Ionuț Mihalache wrote:
> Hi everyone,
>
> My name is Ionuț and I am interested in one of the SAOC projects, the one about DUB: D's package manager. What I would like to know are the parts about git support and C/C++ support. Can you tell me which one is more important for the community and what are the next steps for SAOC and maybe more details about what exactly is already implemented if there is something, in order for me to know where to start exactly.
>
> Thank you.

Hi Ionuț,

While I really prefer git support I vote for C/C++ support. I heard a lot developers complaining that they can't use dub at all due to bad or missing support of building multi language applications with Dub.
So far I wasn't in the need of building such applications therefore I can't say what exactly is missing and what's the best solution would be.

In any case dub should be able to also serve this scenario.

Kind regards
Andre
August 04, 2019
On Sunday, 4 August 2019 at 19:20:15 UTC, Andre Pany wrote:
> On Sunday, 4 August 2019 at 16:06:59 UTC, Ionuț Mihalache wrote:
>> [...]
>
> Hi Ionuț,
>
> While I really prefer git support I vote for C/C++ support. I heard a lot developers complaining that they can't use dub at all due to bad or missing support of building multi language applications with Dub.
> So far I wasn't in the need of building such applications therefore I can't say what exactly is missing and what's the best solution would be.
>
> In any case dub should be able to also serve this scenario.
>
> Kind regards
> Andre

Also please note, Funkwerk also plan writing a pull request for the git support:
https://forum.dlang.org/thread/islsavwproncrxzmgdra@forum.dlang.org

Kind regards
Andre
August 04, 2019
On Sunday, 4 August 2019 at 16:06:59 UTC, Ionuț Mihalache wrote:
> Hi everyone,
>
> My name is Ionuț and I am interested in one of the SAOC projects, the one about DUB: D's package manager. What I would like to know are the parts about git support and C/C++ support. Can you tell me which one is more important for the community and what are the next steps for SAOC and maybe more details about what exactly is already implemented if there is something, in order for me to know where to start exactly.
>
> Thank you.

Hi Ionuț,

thanks a lot for your interest!

As you probably saw on https://github.com/dlang/projects/issues/3, there are quite a few potential projects.

As Andre already answered on the git steps, let me give try to give an answer for C/C++ support:

- start with https://github.com/dlang/dub/wiki/DEP5
- look at how other package managers deal with this (e.g. cargo)
- study dub's existing code
  - you probably have to change the Compiler interface to "DCompiler" (https://github.com/dlang/dub/blob/master/source/dub/compilers/compiler.d) and introduce a C/C++ compiler abstraction.

- start with a simple example (e.g. linenoise). Instead of L14 in the dub.sdl (https://github.com/MartinNowak/linenoise/blob/master/dub.sdl#L14), dub should be able to handle this more elegantly
- provide more advanced examples and settings (cflags, cppflags)

I hope this helps to get you started. Please feel free to ask more questions here, on the DUB repository or on Slack/IRC.

Good luck!
August 05, 2019
IMHO, dub should receive some love before another thing is added on top.

The issue list alone is long enough to give you sleepless nights.
From what I have seen so far, much of dub is very tightly coupled together.
IMO, splitting it up into more distinct parts (sub packages) would be a more valuable step (aka. dub as a library).
For example:
I recently was trying to add dip25 and dip1000 to all packages on code.dlang.org.
And found myself writing a dub.json and dub.sdl parser.

What I wanted to do was.
```
auto c = loadConfig("pathToDubProject");
c.addDflag("dip1000");
c.addDflag("dip25");
saveConfig("pathToDubProject, c);
```
But I couldn't.

I hope I just overlook this something, but that in itself is not a good sign with
regards to the documentation, or my skills. Hopefully, the first though.

That being said, I think working on dub is extremely valuable for D.


As talk is cheap. I'm by no means a dub expert, but having used it quite
extensively even before joining Symmetry, I'm willing/able to at least co-memtor
a dub project. Giving it is selected as a project for SAOC.
August 05, 2019
On Sunday, 4 August 2019 at 20:41:45 UTC, Andre Pany wrote:
> Also please note, Funkwerk also plan writing a pull request for the git support:
> https://forum.dlang.org/thread/islsavwproncrxzmgdra@forum.dlang.org
>
> Kind regards
> Andre

Just to clarify, we're going to be doing this if we're going with dub as the version resolution tool. This is not totally settled yet, and there's internal debate about it due to the amount of effort involved. If we're going with it, we'll do git as a package supplier, but I'll note that we're on it as a separate post when that happens.

I didn't realize git package supplier was a GSOC topic. I didn't mean to collide with that effort, and naturally, as any company does we'd prefer if somebody else did the work. ;)
August 05, 2019
On Monday, 5 August 2019 at 10:39:26 UTC, FeepingCreature wrote:
> On Sunday, 4 August 2019 at 20:41:45 UTC, Andre Pany wrote:
>> Also please note, Funkwerk also plan writing a pull request for the git support:
>> https://forum.dlang.org/thread/islsavwproncrxzmgdra@forum.dlang.org
>>
>> Kind regards
>> Andre
>
> Just to clarify, we're going to be doing this if we're going with dub as the version resolution tool. This is not totally settled yet, and there's internal debate about it due to the amount of effort involved. If we're going with it, we'll do git as a package supplier, but I'll note that we're on it as a separate post when that happens.
>
> I didn't realize git package supplier was a GSOC topic. I didn't mean to collide with that effort, and naturally, as any company does we'd prefer if somebody else did the work. ;)

FWIW just adding a git package supplier wouldn't be an adequate SAoC topic as it definitely doesn't take three months to get done. However, it's one of the many areas where dub could be improved and students are free to pick up such ideas and combine them into their project proposal.