a cabal for D ?

Jonas Drewsen jdrewsen at nospam.com
Fri Mar 18 15:12:27 PDT 2011


On 18/03/11 09.52, Russel Winder wrote:
> On Thu, 2011-03-17 at 20:44 +0000, Jason E. Aten wrote:
>> Please correct me if I'm wrong, but I observe that there doesn't appear
>> to be a package management system / standard repository for D libraries.
>> Or is there?
>>
>> I'm talking about something as easy to use as R's CRAN,
>>> install.packages("rforest")
>>
>> or cpan for perl, ctan for latex, dpgk/apt for debian, cabal for Haskell/
>> Hackage, etc.
>
> Note that every language-specific package manager conflicts directly
> with every operating system package manager.  Thus RubyGems, CPAN,
> Cabal, Maven, Go, etc. conflicts with the package management of Debian,
> Fedora, SUSE, FreeBSD, MacPorts, etc. leading to pain.  Pain leads to
> anger.  Anger leads to hate.  Hate leads to suffering.
>
>> If there's not a commonly utilized one currently, perhaps we could
>> "borrow" cabal, with a trivial port.  cabal is Haskell's package manager.
>>
>> Not only does having a standard package install system facilitate
>> adoption, it greatly facilitates code sharing and library maturation.
>
> At the expense of easy system administration.
>
> I guess the only up side of language specific package management is that
> it enables people whose operating systems are not package structured to
> do things sensibly.  Alternatively Windows users could switch to a
> sensible operating system ;-)

The worst thing is that dependency tracking is lost when the sysadm uses 
another package system e.g CPAN. If the dependency problem could be 
solved in an elegant way I think a sysadm would be ok with it.

> Given that D has chosen to switch to Git for version control, doesn't
> this imply that package management transported over DVCS is the way
> forward.  Go has certainly taken this route.  It prioritizes Mercurial
> but supports Bazaar and Git as well.

I like how Go uses git but there is room for improvements.

No reason the limit the protocols as long a it can be resonable 
supported. It is just a place to download from. Put http, ftp, samba, 
torrent, dropbox, facebook... in there as well :)

DSSS was actually a nice solution. Maybe it could be brought up to date 
and improved to fit the needs?


/Jonas



More information about the Digitalmars-d mailing list