On May 18, 2013 12:21 AM, "Rory McGuire" <rjmcguire@gmail.com> wrote:
>
> Hi all,
>
> I've started working on a little experimental package manager https://github.com/rjmcguire/dip that works similar to golang's go command.
> I've only tested it on linux amd64.
>
> At the moment the commands that work are (these are examples):
>
> # to fetch a repo using git (only works for github.com at the mo'), files placed in $DPATH[0]/src/
> dip get github.com/D-Programming-Deimos/openssl
>
> # to build
> dip github.com/D-Programming-Deimos/openssl
> # or from a packages directory:
> dip
>
> # to install in the first path found in DPATH, $DPATH[0]/bin for executables:
> dip -i
> # or
> dip install github.com/D-Programming-Deimos/openssl
>
> Program expects a environment variable DPATH to exist, it will tell you:
> $ dip
> WARNING DPATH NOT SET, suggest DPATH="~/d/:/usr/local/d"
>
> Program assumes dmd is in /usr/local/d/bin/dmd unless you set DROOT to something else such as "/usr/" in which case it will use /usr/bin/dmd.
>
> Config is in README.md example (excluding ====== lines):
> =========================================
> # vibe.d - The vibe.d web services framework
>
> ## Dependencies:
> * github.com/D-Programming-Deimos/openssl: >=0
> * github.com/D-Programming-Deimos/libevent: >=0
>
> ## Flags:
> * Library
> * -version=VibeLibeventDriver - options are VibeLibevDriver, VibeLibeventDriver
> =========================================
>
>
> todo:
> * handle dub packages, their dependencies are not fully qualified in package.json so I can't just load them from the file, if you put qualified dependencies in "dip-dependencies" in package.json it does work.
> * support sourceforge etc...
> * most likely I'll be changing the way config works because it doesn't look nice in github's md viewer.
> * check versions of packages and enforce them
> * output help
> * Fix bugs :)
>
> Thanks.
>
> Kind regards,
>
Rory... so we meet again. :)
Looks like a nifty tool. However many projects use wildly different build system's - all mine use make, some people prefer waf or cmake - or may provide configuration files for one of the vagary of package managers out there's for D that are out there roaming around.
So do you cater for all these mix match of tools out there, or is your focus thise specific to the d tool chain.
Also, only dmd support?
Regards
--
Iain Buclaw
*(p < e ? p++ : p) = (c & 0x0f) + '0';