Proposal: DPM, the D Package Manager
David Nadlinger
see at klickverbot.at
Wed Jan 2 14:33:51 PST 2013
On Wednesday, 2 January 2013 at 21:02:51 UTC, Nathan M. Swan
wrote:
> Here's my proposal for a D Package Manager. I want to make sure
> it has a good design before I write any code, so here it is:
>
> http://wiki.dlang.org/User:Nathan_M._Swan/DPM_Proposal
Sorry for being a bit blunt, but: What advantages would this
provide over just using the package management facilities of
one's favorite distro? Keep in mind: http://xkcd.com/927/ ;)
The biggest problem one faces when trying to package D libraries
right now is that the different D compilers (DMD, GDC, LDC), but
also multiple versions of the _same_ compiler, are not binary
compatible to each other. So, if you don't want to use a build
tool like rdmd to build *everything* from scratch each time, you
need to manage multiple binaries around for any given library,
one for each compiler version.
As it is actually quite common to have multiple D compiler
versions installed side-by-side – e.g. DMD for fast iteration and
GDC/LDC for release builds, or transitioning one's projects one
by one to a new DMD version after the release – I think that any
design which doesn't address this issue isn't worth the effort
over just using an existing solution.
It might be a good idea to have an extensive look at the popular
package management systems of other languages like Ruby and Node
the issue, particularly the ability to easily "freeze" an
environment for deployment (see npm, bundler). The way Ruby
(resp. rvm/rbenv) handle the binary compatibility issue, though,
always seemed a bit backwards to me, which is probably a result
of needing to retrofit the feature over an already popular
package manager.
David
More information about the Digitalmars-d
mailing list