dub: should we make it the de jure package manager for D?

Dicebot public at dicebot.lv
Thu Sep 26 04:39:49 PDT 2013


On Thursday, 26 September 2013 at 06:57:34 UTC, Jacob Carlborg 
wrote:
> Instead I need to package my application and libraries for all 
> the various of package managers out there. Not to mention 
> neither Mac OS X or Windows comes with a package manager 
> installed by default.

No, you just let maintainers interested in target systems to take 
care of it. And package for 2-3 you care about _personally_. It 
is an obsolete idea that developer of a library/program should do 
any packaging at all. If your program is any good, there will 
always be volunteers to adapt it nicely for their beloved systems.

> It's like buying a car. I buy a car for getting from A to B. I 
> have bought my car and prepares to get from A to B. The car 
> won't start, hmm ..., oh it has no engine. I have to figure out 
> myself how to buy and install the engine. It's only half way 
> there.

Yeah and what you propose is like mandatory requirement to have a 
separate home for every single electronics vendor. Want to buy 
something from different one? You must buy new home for it, 
period. (Well, feels like we are actually going there in real 
like >_<)

> It's the same with dub. I install a package to use the tool. 
> But wait, it actually _don't_, it just clones the repository.  
> I have to figure out myself how to compile and install the 
> tool. It's only half way there.

This is just plain wrong. dub takes care of proper compilation of 
any tool that is contained in its registry, you don't need to do 
anything about it. But there is no possible legitimate reasons to 
install it. During development you can pretty much run in locally 
from the source dir. For end user distribution you must go 
system-specific way.

> There's nothing wrong with being a build tool. But currently 
> dub tries to be way more than a build tool. I don't think a 
> build tool should have any business in downloading packages, or 
> download anything.

It is neither a build tool nor package manager. It is a tool that 
aggregates different possible build tools backends and takes care 
of resolving build dependencies for them. Nothing more, nothing 
less.


More information about the Digitalmars-d mailing list