www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - SAOC Project

reply =?UTF-8?B?SW9udcib?= Mihalache <ipopescu46 gmail.com> writes:
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.
Aug 04
next sibling parent reply Andre Pany <andre s-e-a-p.de> writes:
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
Aug 04
parent reply Andre Pany <andre s-e-a-p.de> writes:
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
Aug 04
parent reply FeepingCreature <feepingcreature gmail.com> writes:
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. ;)
Aug 05
parent Seb <seb wilzba.ch> writes:
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.
Aug 05
prev sibling next sibling parent Seb <seb wilzba.ch> writes:
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!
Aug 04
prev sibling parent Robert Schadek <rschadek symmetryinvestments.com> writes:
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.
Aug 05