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.