November 11, 2015
On Wednesday, 11 November 2015 at 09:48:14 UTC, Jacob Carlborg wrote:

>
> The issue is that they (the core developers) don't want Tango in any of the core tools and I don't feel like replacing Tango with Phobos for something that is working perfectly fine as it is. It's even working better, because it doesn't depend on libcurl which has caused a lot of problems. It's not even available by default on Windows.
>
> On the other hand. I would like to rewrite DVM from scratch and add support for LDC and GDC as well. That could be an opportunity to remove that dependency on Tango, as long as no new dependencies are added, like libcurl.

I see, but if you're going to rewrite DVM anyway, we might as well start brainstorming now and see what needs to be done, how a possible toolchain integration could / should like and so on. Are there any additional features you or anyone else would like?
November 11, 2015
On Wednesday, 11 November 2015 at 09:57:26 UTC, Chris wrote:

>
> I see, but if you're going to rewrite DVM anyway, we might as well start brainstorming now and see what needs to be done, how a possible toolchain integration could / should like and so on. Are there any additional features you or anyone else would like?

Maybe it's time to have a dedicated tool team, something like a DTools project.
November 11, 2015
On 11/10/2015 02:12 PM, Márcio Martins wrote:
> 
> I also think curl | sh is bad, but the idea to have a quick no-brain "just works" installation is great. One good step would be providing packages for all major distros and providing a wget | pkginstall command which effectively does the same thing: wget DMD.deb && dpkg -i DMD.deb for Debian/Ubuntu

Unfortunately it's

sudo dpkg -i dmd.deb || true
sudo apt-get -fy install

because dpkg doesn't resolve/install dependencies on it's own and apt-get can't install local packages.

It's simpler with rpm based packages.

sudo yum localinstall dmd.rpm
sudo dnf install dmd.rpm

November 11, 2015
On 11/10/2015 12:07 AM, Andrei Alexandrescu wrote:
> Rust has a nice way to download at https://www.rust-lang.org/downloads.html for Posix:
> 
> $ curl -sSf https://static.rust-lang.org/rustup.sh | sh -s --
> 
> The method is simple and transparent. An optional --channel=beta or --channel=nightly parameter chooses between a stable release (default), beta, or nightly build.
> 
> Should we do something similar?
> 
> 
> Andrei

Yes, such an installer would be helpful and I already wrote it twice.

https://github.com/travis-ci/travis-build/blob/master/lib/travis/build/script/d.rb https://github.com/MartinNowak/heroku-buildpack-d/blob/master/bin/compile

This would be fairly simple to adopt (choosing a good default install location, e.g. ~/.dlang) and can already install the latest dmd, gdc, ldc, any specific dmd-2.068.2, ldc-0.16.1-alpha1 version, and dub.

This does not replace a good package installer, but is great for simply
downloading and testing without doing a system wide installation.
For the necessary env changes we could adopt something like virtualenv's
activate/deactive, i.e. `source ~/.dlang/dmd-2.069.0/activate` to use
dmd-2.069.0. And of course we can activate the env after the download.

Disclaimer: I did not just volunteer to write the script but I'm glad to help anyone doing so.
November 11, 2015
On Wednesday, 11 November 2015 at 10:26:09 UTC, Martin Nowak wrote:
> Disclaimer: I did not just volunteer to write the script but I'm glad to help anyone doing so.

Nice effect an installer script that makes working with tarballs a snap, would allows us to easily distribute nightlies.
http://forum.dlang.org/post/n1vgtk$161g$1@digitalmars.com
November 11, 2015
On 2015-11-11 10:57, Chris wrote:

> I see, but if you're going to rewrite DVM anyway, we might as well start
> brainstorming now and see what needs to be done, how a possible
> toolchain integration could / should like and so on. Are there any
> additional features you or anyone else would like?

I'm pretty satisfied with the feature set, except for the missing support for LDC and GDC. There are a bunch of minor things that could be implemented as well.

-- 
/Jacob Carlborg
November 13, 2015
On Tue, Nov 10, 2015 at 6:56 PM, Steven Schveighoffer via Digitalmars-d < digitalmars-d@puremagic.com> wrote:

>
> I've been using dvm, and do like it a lot. But I couple issues:
>
> 1. Every time I type dvm use, my path adds another directory. Couldn't you
> just replace the existing dvm path?
> 2. Every incorrect command given to dvm results in a stack trace.
>
> Otherwise, I thoroughly enjoy being able to switch/install compiler versions on a whim.
>
> -Steve
>


I don't use DVM but I do switch compilers fairly easily with: rm /usr/local/dmd/current; ln -s /usr/local/dmd/2.069.0;

To install a new compiler I just download the latest .tar.xz and place in /usr/local/dmd/; and then rename "dmd2" directory to version number.

Didn't see anyone else post a similar install process. It obviously doesn't have to be installed system wide, I just don't really like installed executables to be writeable by my own user.

A bash script based installer for the system I use would be very short and simple.


November 14, 2015
On Friday, 13 November 2015 at 21:30:35 UTC, Rory McGuire wrote:
> On Tue, Nov 10, 2015 at 6:56 PM, Steven Schveighoffer via Digitalmars-d < digitalmars-d@puremagic.com> wrote:
>
> To install a new compiler I just download the latest .tar.xz and place in /usr/local/dmd/; and then rename "dmd2" directory to version number.
>

The same here... the most easy way.

/P
November 18, 2015
On Wednesday, 11 November 2015 at 10:26:09 UTC, Martin Nowak wrote:
> For the necessary env changes we could adopt something like virtualenv's
> activate/deactive, i.e. `source ~/.dlang/dmd-2.069.0/activate` to use
> dmd-2.069.0. And of course we can activate the env after the download.

There is a pull request, try it out and provide feedback.
https://trello.com/c/loy1eCRj/136-install-script
https://github.com/D-Programming-Language/installer/pull/162
November 19, 2015
On 2015-11-11 11:24, Martin Nowak wrote:

> Yes, such an installer would be helpful and I already wrote it twice.
>
> https://github.com/travis-ci/travis-build/blob/master/lib/travis/build/script/d.rb
> https://github.com/MartinNowak/heroku-buildpack-d/blob/master/bin/compile
>
> This would be fairly simple to adopt (choosing a good default install
> location, e.g. ~/.dlang) and can already install the latest dmd, gdc,
> ldc, any specific dmd-2.068.2, ldc-0.16.1-alpha1 version, and dub.
>
> This does not replace a good package installer, but is great for simply
> downloading and testing without doing a system wide installation.
> For the necessary env changes we could adopt something like virtualenv's
> activate/deactive, i.e. `source ~/.dlang/dmd-2.069.0/activate` to use
> dmd-2.069.0. And of course we can activate the env after the download.
>
> Disclaimer: I did not just volunteer to write the script but I'm glad to
> help anyone doing so.

DVM already does all this. Why reinvent the wheel?

-- 
/Jacob Carlborg