I don't know if this thread is dead but...

I have some comments/suggestions because I am considering implementing something as well and if you want some help I'd be willing. My thought would be to model it on Perl's CPAN. A package should be a bare bones gzip of the source, a makefile, some unit tests, a way to identify depends, a readme and some kind of license identifier. A client side application (hopefully) (eventually) would be packaged with the various D compilers would provide a shell/command line system for saying:

dpm install <package>, it fetches the latest gzip, and proceeds to compile for the architecture that you are on. Installing it someplace local for you to import at a later time.

It would probably be nice if we could secure a 'contrib' namespace for this. So individuals would go and submit their work to some repository of packages, next time people run dpm it would let them know that a new package list is available and using these packages in your D programs becomes as simple as doing this:

dpm install some.package
<bunch of downloading/compiling/installing happens>

then in your project where you want to use this thing you add:

import contrib.some.package; and voila its done.

What I like about this approach:
1) its simple/easy/there is already a working pattern that this can be modeled after 2) it actually helps different OSes maintainers create packages because you've already done a fair bit of work for them. 3) it could provide a community supported repository of D code, that encourages contribution and puts useful things in a single place making D development that much better of an experience. 4) its cross platform without having to really worry to much about it

Just some thoughts from a D newb who is really loving the language but wish I could just install user contributed modules from a repository and contribute back some of the things that I am working on.

Reply via email to