Git, the D package manager

Sönke Ludwig via Digitalmars-d digitalmars-d at puremagic.com
Thu Feb 5 09:12:56 PST 2015


Am 05.02.2015 um 16:35 schrieb ketmar:
> On Thu, 05 Feb 2015 16:12:51 +0100, Sönke Ludwig wrote:
>
>>>> Such as "preBuildCommands" [1]?
>>>>
>>>> [1]: http://code.dlang.org/package-format#build-settings
>>>
>>> nope. such as "'a' depends of 'b', 'b' depends of c, here are commands
>>> to generate 'a' and 'b', don't call that commands if it's not
>>> necessary". "...always before the project is built" is not what i
>>> excepting from decent build tool.
>>>
>>>
>> Okay, so '"preBuildCommands": ["cd something && make"]' (or some other
>> generic build tool instead of make)
>
> so i'll use "make" for everything else too. "make" can be wordy, but at
> least i'll have only one build tool to care about, not two.

If you just want to have a build tool, that's fine (if you want to do 
all the dependency tracking and cross platform/compiler compatibility 
stuff by hand). But the main point is that you can seamlessly use 
foreign packages, which is not really possible with make (well, of 
course it is...).

>
> there is nothing wrong in making easy things easy ;-), but dub has no way
> to make hard things possible. i can't teach it new tricks, and i
> definitely don't want "build systems explosion" in my projects. and dub
> can't be easily used like "pkg-config", so even it's package management
> part is not good for non-dub people.
>

It will gain C/C++ build support, so that particular issue should at 
that point be a thing of the past. The "preBuildCommands" feature *is* a 
way to make hard things possible. It may not hit the sweet spot in your 
particular case, because it requires another tool to achieve the job, 
but it's definitely doable.

The development approach has been to try to get those features in first 
that enable the most common use cases. Certain things will always 
require the use of external tools/scripts (maybe some kind of embedded 
scripting functionality as an alternative to the command feature would 
also be an option), but it should be no problem to push the boundary of 
what's possible within the package description format to a level where 
 >99% of people can be happy.


More information about the Digitalmars-d mailing list