Git, the D package manager

ketmar via Digitalmars-d digitalmars-d at puremagic.com
Fri Feb 6 03:03:42 PST 2015


On Thu, 05 Feb 2015 18:12:56 +0100, Sönke Ludwig wrote:

>> 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...).

so strip out all the building duties from dub, and let it be just a 
package manager. and then include dub package manager in D distribution 
and teach rdmd how to use it. bingo! now D has a package manager, a 
simple build tool, and a way to use it's package manager in other build 
tools.

>> 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.

that is not what dub needs, i believe. not another hard-coded support for 
some language, but a mechanics to add support for *any* language and tool 
without hard-coding it.

> The "preBuildCommands" feature *is* a way to make hard things possible.

it's in no way making possible building the things without resorting to 
another build tool. so it's twice as much pain for project author: now he 
has to learn both tools instead of only one.

> 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.

everything dub does is doable with shell scripts too. hm. maybe dub is 
wrongly designed from the start, and it should be just a set of shell 
scripts for various tasks...

> The development approach has been to try to get those features in first
> that enable the most common use cases. 

most of the time simply invoking rdmd with corresponding arguments is 
enough. augmenting rdmd with package management is cool. having another 
rdmd is not cool.

> 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.

...or simply decouple package descriptions from package build 
instructions, and stop using dub for package building. the ONLY thing dub 
has to know is "execute this command to build the package". that's all. 
ah, and there must be a way to ask dub about environment, package list 
and so on.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20150206/7ec6a777/attachment.sig>


More information about the Digitalmars-d mailing list