DVM - D Version Manager 0.5.0

2019-03-31 Thread Jacob Carlborg via Digitalmars-d-announce
I would like to announce a new release of DVM, 0.5.0. This release 
contains two important bug fixes: making the Dub binary executable and 
downloading the latest compiler, i.e. the `-l` flag now works again.


The release and binaries are available here [1]. I might upload a 
FreeBSD binary later, if I get that to work.


For those not familiar with DVM:

DVM allows you to easily download and install D compilers and manage 
different versions of the compilers.


Full changelog:

New/Changed Features:
  * Add a flag to print the version of DVM, `--version`

Bugs Fixed:
  * Fixed installing the latest compiler, that is using the `-l` flag
  * Issue 44: Make dub executable
  * Issue 42: Doesn't compile with recent compilers (e.g. dmd-2.074.1)

[1] https://github.com/jacob-carlborg/dvm/releases/tag/v0.5.0

--
/Jacob Carlborg


Re: DVM - D Version Manager 0.4.4

2018-07-05 Thread Tony via Digitalmars-d-announce

On Wednesday, 4 July 2018 at 19:14:57 UTC, Jacob Carlborg wrote:

On 2018-07-03 03:34, Tony wrote:


Thanks, that worked!

It doesn't announce where it put the compiler, which turns out 
to be:


C:\Users\\AppData\Roaming\dvm\


You're not supposed to know where it puts the compiler. You're 
activating it with "dvm use " where "" is the 
version you want to activate. This will persist for the end of 
the shell session. To set a default compiler use "dvm use 
 -d". This allows to use separate versions 
simultaneously in different shell sessions. See the usage 
information [1].


[1] https://github.com/jacob-carlborg/dvm#use-a-compiler


I should have done a little more reading. Thanks, and thanks for 
writing it!


Re: DVM - D Version Manager 0.4.4

2018-07-04 Thread Jacob Carlborg via Digitalmars-d-announce

On 2018-07-03 03:34, Tony wrote:


Thanks, that worked!

It doesn't announce where it put the compiler, which turns out to be:

C:\Users\\AppData\Roaming\dvm\


You're not supposed to know where it puts the compiler. You're 
activating it with "dvm use " where "" is the version 
you want to activate. This will persist for the end of the shell 
session. To set a default compiler use "dvm use  -d". This 
allows to use separate versions simultaneously in different shell 
sessions. See the usage information [1].


[1] https://github.com/jacob-carlborg/dvm#use-a-compiler

--
/Jacob Carlborg


Re: DVM - D Version Manager 0.4.4

2018-07-02 Thread Tony via Digitalmars-d-announce
On Monday, 2 July 2018 at 18:31:50 UTC, Steven Schveighoffer 
wrote:



I still use dvm (this version 0.4.4 is the latest I believe).

It still works, at least on OSX. But the errors it throws are 
not very user friendly, most of the time you get a stack trace.


I've never used the --latest switch (which BTW fails on OSX as 
well). Likely it's a change in how the metadata is stored on 
the server. Just install by name:


dvm install 2.080.1


Thanks, that worked!

It doesn't announce where it put the compiler, which turns out to 
be:


C:\Users\\AppData\Roaming\dvm\




Re: DVM - D Version Manager 0.4.4

2018-07-02 Thread Steven Schveighoffer via Digitalmars-d-announce

On 7/2/18 3:36 AM, Tony wrote:

On Monday, 2 July 2018 at 07:12:47 UTC, Basile B. wrote:

On Monday, 2 July 2018 at 06:21:53 UTC, Tony wrote:

On Sunday, 13 September 2015 at 16:26:04 UTC, Jacob Carlborg wrote:

I just released a new version of DVM, 0.4.4. The most important


I am on Windows 10. Is:

dvm --latest install

a valid way to get the latest dmd? When I try that I get an exception




Seems unmaintained. Try Cybershadow's Digger which can handle building 
several versions of DMD too (https://github.com/CyberShadow/Digger), 
even from locally served webpage as UI.


OK, thanks! I saw DVM mentioned in a thread recently and I went back and 
couldn't find it and found this one via a search. The one I saw may have 
been a very old thread that someone revived.


I still use dvm (this version 0.4.4 is the latest I believe).

It still works, at least on OSX. But the errors it throws are not very 
user friendly, most of the time you get a stack trace.


I've never used the --latest switch (which BTW fails on OSX as well). 
Likely it's a change in how the metadata is stored on the server. Just 
install by name:


dvm install 2.080.1

-Steve


Re: DVM - D Version Manager 0.4.4

2018-07-02 Thread Tony via Digitalmars-d-announce

On Monday, 2 July 2018 at 07:12:47 UTC, Basile B. wrote:

On Monday, 2 July 2018 at 06:21:53 UTC, Tony wrote:
On Sunday, 13 September 2015 at 16:26:04 UTC, Jacob Carlborg 
wrote:
I just released a new version of DVM, 0.4.4. The most 
important


I am on Windows 10. Is:

dvm --latest install

a valid way to get the latest dmd? When I try that I get an 
exception





Seems unmaintained. Try Cybershadow's Digger which can handle 
building several versions of DMD too 
(https://github.com/CyberShadow/Digger), even from locally 
served webpage as UI.


OK, thanks! I saw DVM mentioned in a thread recently and I went 
back and couldn't find it and found this one via a search. The 
one I saw may have been a very old thread that someone revived.


Re: DVM - D Version Manager 0.4.4

2018-07-02 Thread Basile B. via Digitalmars-d-announce

On Monday, 2 July 2018 at 07:12:47 UTC, Basile B. wrote:

On Monday, 2 July 2018 at 06:21:53 UTC, Tony wrote:
On Sunday, 13 September 2015 at 16:26:04 UTC, Jacob Carlborg 
wrote:
I just released a new version of DVM, 0.4.4. The most 
important


I am on Windows 10. Is:

dvm --latest install

a valid way to get the latest dmd? When I try that I get an 
exception





Seems unmaintained. Try Cybershadow's Digger which can handle 
building several versions of DMD too 
(https://github.com/CyberShadow/Digger), even from locally 
served webpage as UI.


There's this too https://dlang.org/install.html.
Maybe it would work with w10 linux subsystem, i cant say by 
complete lack of win10 experience.


Re: DVM - D Version Manager 0.4.4

2018-07-02 Thread Basile B. via Digitalmars-d-announce

On Monday, 2 July 2018 at 06:21:53 UTC, Tony wrote:
On Sunday, 13 September 2015 at 16:26:04 UTC, Jacob Carlborg 
wrote:

I just released a new version of DVM, 0.4.4. The most important


I am on Windows 10. Is:

dvm --latest install

a valid way to get the latest dmd? When I try that I get an 
exception





Seems unmaintained. Try Cybershadow's Digger which can handle 
building several versions of DMD too 
(https://github.com/CyberShadow/Digger), even from locally served 
webpage as UI.


Re: DVM - D Version Manager 0.4.4

2018-07-02 Thread Tony via Digitalmars-d-announce
On Sunday, 13 September 2015 at 16:26:04 UTC, Jacob Carlborg 
wrote:

I just released a new version of DVM, 0.4.4. The most important


I am on Windows 10. Is:

dvm --latest install

a valid way to get the latest dmd? When I try that I get an 
exception


--
dvm --latest install
An unknown error occurred:
tango.core.Exception.IOException@C:\Users\doob\AppData\Roaming\dub\packages\tango-1.0.1_2.067\tango\core\Exception.d(59):
 truncated response

0x004421D4
0x00441ECD
0x00441688
0x0040A637
0x0040A4F5
0x004334EA
0x0044FC5B
0x0044FB71
0x004021E8
0x769B8484 in BaseThreadInitThunk
0x77252FEA in RtlValidSecurityDescriptor
0x77252FBA in RtlValidSecurityDescriptor


Re: DVM - D Version Manager 0.4.3

2014-09-05 Thread Jacob Carlborg via Digitalmars-d-announce

On 04/09/14 21:50, Jordi Sayol via Digitalmars-d-announce wrote:

El 03/09/14 a les 08:10, Jacob Carlborg via Digitalmars-d-announce ha escrit:

I only chose Debian because it's a stable/old system with a high chance of 
being binary compatible with other distributions.


On Debian 7.6 64-bit I got this error:

$ dvm
dvm: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required 
by dvm)

libc6 on Debian 7.6 (stable) is v2.13.


Hmm, ok. I'm pretty sure I'm using a vanilla Debian 7 for building the 
64bit release. I'm not sure the exact minor version.



On Debian testing:


$ dvm install 2.065.0
Fetching: http://ftp.digitalmars.com/dmd.2.065.0.zip
[] 50581/49347 KB

Installing: dmd-2.065.0
An unknown error occurred:
tango.core.Exception.IOException@/home/doob/development/d/tango/tango/core/Exception.d(59):
 /home/jordi/.dvm/bin/dmd-2.065.0 :: No such file or directory
...


After manually created this directory and properly install dmd 2.065.0:


$ dvm use 2.065.0
$ dmd
bash: dmd: command not found


What I'm doing wrong?


You need to install DVM first: dvm install dvm.

--
/Jacob Carlborg


Re: DVM - D Version Manager 0.4.3

2014-09-05 Thread Jacob Carlborg via Digitalmars-d-announce

On 05/09/14 00:30, Nick Sabalausky wrote:


Then again, I'm not sure that should matter if you're manually running
dvm use 


Yes it will matter. It's the DVM bash function that makes everything 
work with the PATH variable.


--
/Jacob Carlborg


Re: DVM - D Version Manager 0.4.3

2014-09-05 Thread Jacob Carlborg via Digitalmars-d-announce

On 04/09/14 22:51, Jordi Sayol via Digitalmars-d-announce wrote:


On Debian testing (mate desktop) without ~/.dvm dir, dmd still not found:

$ dvm install dvm
$ dvm install 2.065.0
Fetching: http://ftp.digitalmars.com/dmd.2.065.0.zip
[] 50581/49347 KB

Installing: dmd-2.065.0
$ dvm use 2.065.0
$ dmd
bash: dmd: command not found


BTW Is there a reason to mandatory copy dvm to ~/.dvm/bin directory?


Yes. DVM works like this:

* When invoking dvm on the command line a bash function is actually called

* The bash function will forward to the dvm executable located in 
~/.dvm/bin


* When running dvm use 2.065.0 the executable it will write a shell 
script setting up the PATH variable to point to path of the install 
compiler with the specified version. In this case which will be 
~/.dvm/compilers/dmd-2.065.0/linux/bin


* When the dvm executable has finished running the dvm function will 
source the shell script which modifies the PATH variable in the current 
session


This is the only why I found to propagate environment variables from a 
child process (dvm) to the parent process (the shell)


When running dvm install dvm, dvm will do the following:

* Setup the necessary directory structure in ~/.dvm

* Install the shell script containing [1] the dvm bash function to 
~/.dvm/scripts


* Copy itself to ~/.dvm/bin

* Add a couple of lines to .bash_profile or .bashrc that sources the 
dvm script:


if [ -s ~/.dvm/scripts/dvm ] ; then
  . ~/.dvm/scripts/dvm
fi

I wanted the installation process to be as easy as possible, what's why 
I wrote an installer in the tool. Yes I know, that's not how most tools 
work like. But it do require some special setup and most tools don't 
require.


[1] https://github.com/jacob-carlborg/dvm/blob/master/resources/dvm.sh

--
/Jacob Carlborg


Re: DVM - D Version Manager 0.4.3

2014-09-05 Thread Jacob Carlborg via Digitalmars-d-announce

On 05/09/14 01:02, Jordi Sayol via Digitalmars-d-announce wrote:


GNU bash, version 4.3.24(1)-release (i586-pc-linux-gnu)


You can validate the installation by running:

$ type dvm | head -n 1

It should print dvm is a function. If it doesn't, dvm is not installed 
correctly.


--
/Jacob Carlborg


Re: DVM - D Version Manager 0.4.3

2014-09-05 Thread Jacob Carlborg via Digitalmars-d-announce

On 04/09/14 21:53, Jordi Sayol via Digitalmars-d-announce wrote:

Sorry, i forget to mention that on Debian testing, my desktop is Mate 
http://mate-desktop.org/


Actually, I'm using Mate as well. Perhaps that's the issue.

--
/Jacob Carlborg


Re: DVM - D Version Manager 0.4.3

2014-09-05 Thread via Digitalmars-d-announce

On Friday, 5 September 2014 at 06:26:30 UTC, Jacob Carlborg wrote:

On 04/09/14 21:53, Jordi Sayol via Digitalmars-d-announce wrote:
Sorry, i forget to mention that on Debian testing, my desktop 
is Mate http://mate-desktop.org/


Actually, I'm using Mate as well. Perhaps that's the issue.


Unlikely. DVM seems to work really the same as RVM (for Ruby). 
Similar problems with RVM usually come from problems with the 
shell profile. Mostly it can be solved by starting a new shell or 
sourcing the .bash_profile script in your current shell (it's 
only read at startup):


. ~/.bash_profile
or
. ~/.bashrc


Re: DVM - D Version Manager 0.4.3

2014-09-05 Thread Chris via Digitalmars-d-announce
On Thursday, 4 September 2014 at 18:24:10 UTC, Jacob Carlborg 
wrote:

On 2014-09-04 10:40, Chris wrote:

Weird, I did try the zero at the end (as described on the 
homepage*),
yet I got an error. Maybe I typed a comma instead of a . 
without
realizing it. However, I'm almost sure I didn't type the zero 
when

installing 2.066 and I got the right version.


DVM just takes the argument you give it, in this case 2.066. 
Then it prepends dmd. and appends .zip forming something 
like this:


dmd.2.066.zip

Then it prepends ftp://ftp.digitalmars.com/; to that filename. 
If there is a file matching that name in the Digital Mars FTP 
it will work. As you can see, there is no file named 
dmd.2.066.zip, so you must have used 2.066.0.


Chances are I did, yeah. It's hard to remember later what I typed 
exactly once the shell is closed. Would there be a way to 
download the latest version by default, if the user types 
install 2.066 or just install [dmd]? If there isn't, what 
could be done on the dmd side of things to facilitate this? DVM 
is a pretty handy tool, but it still has some rough edges. I 
think it could one day be part of a D Development Framework 
(DDF). Please keep it up.


If you've seen this mistake several times, maybe it would be 
good to
point it out under Usage. And maybe having/trying more than 
one mirror

would be good too, if it makes sense for DVM.


There is no mirror, as far as I know.




Re: DVM - D Version Manager 0.4.3

2014-09-05 Thread Jacob Carlborg via Digitalmars-d-announce

On 05/09/14 10:27, Marc Schütz schue...@gmx.net wrote:

On Friday, 5 September 2014 at 06:26:30 UTC, Jacob Carlborg wrote:

On 04/09/14 21:53, Jordi Sayol via Digitalmars-d-announce wrote:

Sorry, i forget to mention that on Debian testing, my desktop is Mate
http://mate-desktop.org/


Actually, I'm using Mate as well. Perhaps that's the issue.


Unlikely. DVM seems to work really the same as RVM (for Ruby). Similar
problems with RVM usually come from problems with the shell profile.
Mostly it can be solved by starting a new shell or sourcing the
.bash_profile script in your current shell (it's only read at startup):

 . ~/.bash_profile
or
 . ~/.bashrc


Yes, it works basically the same as RVM, but it's written in D (mostly) 
instead of shell script.


I was more thinking of the issue with wrong version of Glibc, which is 
unrelated to the shell.


--
/Jacob Carlborg


Re: DVM - D Version Manager 0.4.3

2014-09-05 Thread Jacob Carlborg via Digitalmars-d-announce

On 05/09/14 11:32, Chris wrote:


Chances are I did, yeah. It's hard to remember later what I typed
exactly once the shell is closed. Would there be a way to download the
latest version by default, if the user types install 2.066 or just
install [dmd]?


Just run dvm install -l and it will install the latest version.


If there isn't, what could be done on the dmd side of
things to facilitate this?


Be consistent with the versioning scheme. But since Andrew has been 
responsible for the releases and the release process is mostly automated 
I think this is solved now (hopefully).



DVM is a pretty handy tool, but it still has
some rough edges. I think it could one day be part of a D Development
Framework (DDF). Please keep it up.


Thanks.

--
/Jacob Carlborg


Re: DVM - D Version Manager 0.4.3

2014-09-04 Thread Jacob Carlborg via Digitalmars-d-announce

On 03/09/14 17:55, Chris wrote:


Methinks DVM doesn't get it right. 2.065.zip is available here:

ftp://ftp.digitalmars.com/dmd.2.065.0.zip

(cf. http://forum.dlang.org/thread/ebvumaoniuukgjbow...@forum.dlang.org)

But DVM tries to access it via http:

Fetching: http://ftp.digitalmars.com/dmd.2.065.zip
An unknown error occurred:
tango.core.Exception.IOException@/home/doob/development/d/tango/tango/core/Exception.d(59):
The resource with URL http://ftp.digitalmars.com/dmd.2.065.zip; could
not be found.


DVM will try to fetch the exact version you specify. The version, in 
this particular case, is 2.065.0. Note the extra zero at the end.


--
/Jacob Carlborg


Re: DVM - D Version Manager 0.4.3

2014-09-04 Thread Jacob Carlborg via Digitalmars-d-announce

On 03/09/14 21:58, Sean Kelly wrote:


For what it's worth, if you do dvm install 2.065.0 it will find
it.  Not sure if DVM should try alternates or not though.


I've seen this mistake several times, missing the extra zero at the end. 
Perhaps adding a special case for that.


--
/Jacob Carlborg


Re: DVM - D Version Manager 0.4.3

2014-09-04 Thread Chris via Digitalmars-d-announce
On Thursday, 4 September 2014 at 06:06:04 UTC, Jacob Carlborg 
wrote:

On 03/09/14 21:58, Sean Kelly wrote:

For what it's worth, if you do dvm install 2.065.0 it will 
find

it.  Not sure if DVM should try alternates or not though.


I've seen this mistake several times, missing the extra zero at 
the end. Perhaps adding a special case for that.


Weird, I did try the zero at the end (as described on the 
homepage*), yet I got an error. Maybe I typed a comma instead of 
a . without realizing it. However, I'm almost sure I didn't 
type the zero when installing 2.066 and I got the right version.


If you've seen this mistake several times, maybe it would be good 
to point it out under Usage. And maybe having/trying more than 
one mirror would be good too, if it makes sense for DVM.


* https://github.com/jacob-carlborg/dvm


Re: DVM - D Version Manager 0.4.3

2014-09-04 Thread Jacob Carlborg via Digitalmars-d-announce

On 2014-09-04 10:40, Chris wrote:


Weird, I did try the zero at the end (as described on the homepage*),
yet I got an error. Maybe I typed a comma instead of a . without
realizing it. However, I'm almost sure I didn't type the zero when
installing 2.066 and I got the right version.


DVM just takes the argument you give it, in this case 2.066. Then it 
prepends dmd. and appends .zip forming something like this:


dmd.2.066.zip

Then it prepends ftp://ftp.digitalmars.com/; to that filename. If there 
is a file matching that name in the Digital Mars FTP it will work. As 
you can see, there is no file named dmd.2.066.zip, so you must have 
used 2.066.0.



If you've seen this mistake several times, maybe it would be good to
point it out under Usage. And maybe having/trying more than one mirror
would be good too, if it makes sense for DVM.


There is no mirror, as far as I know.

--
/Jacob Carlborg


Re: DVM - D Version Manager 0.4.3

2014-09-04 Thread Jordi Sayol via Digitalmars-d-announce
El 03/09/14 a les 08:10, Jacob Carlborg via Digitalmars-d-announce ha escrit:
 I only chose Debian because it's a stable/old system with a high chance of 
 being binary compatible with other distributions.

On Debian 7.6 64-bit I got this error:

$ dvm
dvm: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required 
by dvm)

libc6 on Debian 7.6 (stable) is v2.13.


On Debian testing:


$ dvm install 2.065.0
Fetching: http://ftp.digitalmars.com/dmd.2.065.0.zip
[] 50581/49347 KB

Installing: dmd-2.065.0
An unknown error occurred:
tango.core.Exception.IOException@/home/doob/development/d/tango/tango/core/Exception.d(59):
 /home/jordi/.dvm/bin/dmd-2.065.0 :: No such file or directory
...


After manually created this directory and properly install dmd 2.065.0:


$ dvm use 2.065.0
$ dmd
bash: dmd: command not found


What I'm doing wrong?

Regards,
-- 
Jordi Sayol


Re: DVM - D Version Manager 0.4.3

2014-09-04 Thread Jordi Sayol via Digitalmars-d-announce
Sorry, i forget to mention that on Debian testing, my desktop is Mate 
http://mate-desktop.org/

Regards,
-- 
Jordi Sayol


Re: DVM - D Version Manager 0.4.3

2014-09-04 Thread Nick Sabalausky via Digitalmars-d-announce

On 9/4/2014 3:50 PM, Jordi Sayol via Digitalmars-d-announce wrote:


On Debian testing:


$ dvm install 2.065.0
Fetching: http://ftp.digitalmars.com/dmd.2.065.0.zip
[] 50581/49347 KB

Installing: dmd-2.065.0
An unknown error occurred:
tango.core.Exception.IOException@/home/doob/development/d/tango/tango/core/Exception.d(59):
 /home/jordi/.dvm/bin/dmd-2.065.0 :: No such file or directory
...


After manually created this directory and properly install dmd 2.065.0:


$ dvm use 2.065.0
$ dmd
bash: dmd: command not found


What I'm doing wrong?


dvm install dvm



Re: DVM - D Version Manager 0.4.3

2014-09-04 Thread Jordi Sayol via Digitalmars-d-announce
El 04/09/14 a les 22:17, Nick Sabalausky via Digitalmars-d-announce ha escrit:
 What I'm doing wrong?
 
 dvm install dvm

On Debian testing (mate desktop) without ~/.dvm dir, dmd still not found:

$ dvm install dvm
$ dvm install 2.065.0
Fetching: http://ftp.digitalmars.com/dmd.2.065.0.zip
[] 50581/49347 KB

Installing: dmd-2.065.0 
$ dvm use 2.065.0
$ dmd
bash: dmd: command not found 


BTW Is there a reason to mandatory copy dvm to ~/.dvm/bin directory?

-- 
Jordi Sayol


Re: DVM - D Version Manager 0.4.3

2014-09-04 Thread Nick Sabalausky via Digitalmars-d-announce

On 9/4/2014 4:51 PM, Jordi Sayol via Digitalmars-d-announce wrote:

El 04/09/14 a les 22:17, Nick Sabalausky via Digitalmars-d-announce ha escrit:

What I'm doing wrong?


dvm install dvm


On Debian testing (mate desktop) without ~/.dvm dir, dmd still not found:

$ dvm install dvm
$ dvm install 2.065.0
Fetching: http://ftp.digitalmars.com/dmd.2.065.0.zip
[] 50581/49347 KB

Installing: dmd-2.065.0
$ dvm use 2.065.0
$ dmd
bash: dmd: command not found


BTW Is there a reason to mandatory copy dvm to ~/.dvm/bin directory?



Hmm, may wanna check your .bashrc. Unless it's changed since last time I 
looked, the Posix versions of dvm work by adding code to .bashrc which 
set up dmd as an alias.


Then again, I'm not sure that should matter if you're manually running 
dvm use 


Are you maybe not using bash?



Re: DVM - D Version Manager 0.4.3

2014-09-04 Thread Jordi Sayol via Digitalmars-d-announce
El 05/09/14 a les 00:30, Nick Sabalausky via Digitalmars-d-announce ha escrit:
 On 9/4/2014 4:51 PM, Jordi Sayol via Digitalmars-d-announce wrote:
 El 04/09/14 a les 22:17, Nick Sabalausky via Digitalmars-d-announce ha 
 escrit:
 What I'm doing wrong?

 dvm install dvm

 On Debian testing (mate desktop) without ~/.dvm dir, dmd still not found:
 
 $ dvm install dvm
 $ dvm install 2.065.0
 Fetching: http://ftp.digitalmars.com/dmd.2.065.0.zip
 [] 50581/49347 KB

 Installing: dmd-2.065.0
 $ dvm use 2.065.0
 $ dmd
 bash: dmd: command not found
 

 BTW Is there a reason to mandatory copy dvm to ~/.dvm/bin directory?

 
 Hmm, may wanna check your .bashrc. Unless it's changed since last time I 
 looked, the Posix versions of dvm work by adding code to .bashrc which set up 
 dmd as an alias.
 
 Then again, I'm not sure that should matter if you're manually running dvm 
 use 
 
 Are you maybe not using bash?
 
 

GNU bash, version 4.3.24(1)-release (i586-pc-linux-gnu)

-- 
Jordi Sayol


Re: DVM - D Version Manager 0.4.3

2014-09-03 Thread Jacob Carlborg via Digitalmars-d-announce

On 02/09/14 22:05, eles wrote:


Thank you. I see that you provide packages for Debian (albeit they are
BIN files). Would it be a huge effort to add DVM to this repository of D?:


I have no idea. Linux is not my main platform. I only chose Debian 
because it's a stable/old system with a high chance of being binary 
compatible with other distributions.


Perhaps you would like to contact the maintainer of that repository?

--
/Jacob Carlborg


Re: DVM - D Version Manager 0.4.3

2014-09-03 Thread Jacob Carlborg via Digitalmars-d-announce

On 03/09/14 11:08, Chris wrote:


If I install dmd 2.066 with dvm, it won't overwrite or change anything?


No, the whole idea is to have multiple compilers installed simultaneous.


I'll soon be moving my code from 2.065 to 2.066, but I want to keep
2.065 around for a while to maintain existing code till the transition
is complete.


Yes, that's the whole idea.


And how do I integrate it with dub?


It doesn't have a direct integration with Dub. But that's the other part 
of the idea. Just run dvm use compiler_version to set the version 
you want to use. When Dub runs DMD it will use the one you chose 
earlier. It works with any tool invoking DMD in the same session as you 
run dvm use.


This all works on the command line. If you have some form of IDE chose 
the location where DVM installs the compilers. On Posix this will be 
~/.dvm and on Windows this will be 
C:\Users\username\AppData\Roaming\dvm. Then either pick any of the 
following:


* path_to_dvm/bin/dmd-version - for a specific compiler version

* path_to_dvm/bin/dvm-current-dc - the compiler you chose last time 
with dvm use version


* path_to_dvm/bin/dvm-default-dc - the default compiler, set with dvm 
use version -d


--
/Jacob Carlborg


Re: DVM - D Version Manager 0.4.3

2014-09-03 Thread Chris via Digitalmars-d-announce
On Wednesday, 3 September 2014 at 13:10:28 UTC, Jacob Carlborg 
wrote:

On 03/09/14 11:08, Chris wrote:

If I install dmd 2.066 with dvm, it won't overwrite or change 
anything?


No, the whole idea is to have multiple compilers installed 
simultaneous.


I'll soon be moving my code from 2.065 to 2.066, but I want to 
keep
2.065 around for a while to maintain existing code till the 
transition

is complete.


Yes, that's the whole idea.


And how do I integrate it with dub?


It doesn't have a direct integration with Dub. But that's the 
other part of the idea. Just run dvm use compiler_version 
to set the version you want to use. When Dub runs DMD it will 
use the one you chose earlier. It works with any tool invoking 
DMD in the same session as you run dvm use.


Thanks. I thought so, I just wanted to be 100% sure it really 
works this way, before doing anything. Hit-and-miss can cause 
some serious headaches when dealing with different dmd compilers.


Thanks also for the great tool. This will make the transition a 
lot easier.


This all works on the command line. If you have some form of 
IDE chose the location where DVM installs the compilers. On 
Posix this will be ~/.dvm and on Windows this will be 
C:\Users\username\AppData\Roaming\dvm. Then either pick any 
of the following:


* path_to_dvm/bin/dmd-version - for a specific compiler 
version


* path_to_dvm/bin/dvm-current-dc - the compiler you chose 
last time with dvm use version


* path_to_dvm/bin/dvm-default-dc - the default compiler, set 
with dvm use version -d


Re: DVM - D Version Manager 0.4.3

2014-09-03 Thread Chris via Digitalmars-d-announce

On Wednesday, 3 September 2014 at 13:18:50 UTC, Chris wrote:
On Wednesday, 3 September 2014 at 13:10:28 UTC, Jacob Carlborg 
wrote:

On 03/09/14 11:08, Chris wrote:

If I install dmd 2.066 with dvm, it won't overwrite or change 
anything?


No, the whole idea is to have multiple compilers installed 
simultaneous.


I'll soon be moving my code from 2.065 to 2.066, but I want 
to keep
2.065 around for a while to maintain existing code till the 
transition

is complete.


Yes, that's the whole idea.


And how do I integrate it with dub?


It doesn't have a direct integration with Dub. But that's the 
other part of the idea. Just run dvm use compiler_version 
to set the version you want to use. When Dub runs DMD it will 
use the one you chose earlier. It works with any tool invoking 
DMD in the same session as you run dvm use.


Thanks. I thought so, I just wanted to be 100% sure it really 
works this way, before doing anything. Hit-and-miss can cause 
some serious headaches when dealing with different dmd 
compilers.


Thanks also for the great tool. This will make the transition a 
lot easier.


This all works on the command line. If you have some form of 
IDE chose the location where DVM installs the compilers. On 
Posix this will be ~/.dvm and on Windows this will be 
C:\Users\username\AppData\Roaming\dvm. Then either pick any 
of the following:


* path_to_dvm/bin/dmd-version - for a specific compiler 
version


* path_to_dvm/bin/dvm-current-dc - the compiler you chose 
last time with dvm use version


* path_to_dvm/bin/dvm-default-dc - the default compiler, set 
with dvm use version -d


Methinks DVM doesn't get it right. 2.065.zip is available here:

ftp://ftp.digitalmars.com/dmd.2.065.0.zip

(cf. 
http://forum.dlang.org/thread/ebvumaoniuukgjbow...@forum.dlang.org)


But DVM tries to access it via http:

Fetching: http://ftp.digitalmars.com/dmd.2.065.zip
An unknown error occurred:
tango.core.Exception.IOException@/home/doob/development/d/tango/tango/core/Exception.d(59): 
The resource with URL http://ftp.digitalmars.com/dmd.2.065.zip; 
could not be found.


Re: DVM - D Version Manager 0.4.3

2014-09-03 Thread Sean Kelly via Digitalmars-d-announce

On Wednesday, 3 September 2014 at 15:55:47 UTC, Chris wrote:


Methinks DVM doesn't get it right. 2.065.zip is available here:

ftp://ftp.digitalmars.com/dmd.2.065.0.zip

(cf. 
http://forum.dlang.org/thread/ebvumaoniuukgjbow...@forum.dlang.org)


But DVM tries to access it via http:

Fetching: http://ftp.digitalmars.com/dmd.2.065.zip
An unknown error occurred:
tango.core.Exception.IOException@/home/doob/development/d/tango/tango/core/Exception.d(59): 
The resource with URL 
http://ftp.digitalmars.com/dmd.2.065.zip; could not be found.


The link for 2.065 on http://dlang.org/changelog.html is broken
as well.  I don't think this particular issue can be blamed on
DVM.


Re: DVM - D Version Manager 0.4.3

2014-09-03 Thread Chris via Digitalmars-d-announce

On Wednesday, 3 September 2014 at 19:02:05 UTC, Sean Kelly wrote:

On Wednesday, 3 September 2014 at 15:55:47 UTC, Chris wrote:


Methinks DVM doesn't get it right. 2.065.zip is available here:

ftp://ftp.digitalmars.com/dmd.2.065.0.zip

(cf. 
http://forum.dlang.org/thread/ebvumaoniuukgjbow...@forum.dlang.org)


But DVM tries to access it via http:

Fetching: http://ftp.digitalmars.com/dmd.2.065.zip
An unknown error occurred:
tango.core.Exception.IOException@/home/doob/development/d/tango/tango/core/Exception.d(59): 
The resource with URL 
http://ftp.digitalmars.com/dmd.2.065.zip; could not be found.


The link for 2.065 on http://dlang.org/changelog.html is broken
as well.  I don't think this particular issue can be blamed on
DVM.


I know, but I thought maybe DVM tries different addresses, if one 
is not working. Anyway it should be on dlang.org/changelog.html.


Re: DVM - D Version Manager 0.4.3

2014-09-03 Thread Sean Kelly via Digitalmars-d-announce

On Wednesday, 3 September 2014 at 19:34:26 UTC, Chris wrote:


I know, but I thought maybe DVM tries different addresses, if 
one is not working. Anyway it should be on 
dlang.org/changelog.html.


For what it's worth, if you do dvm install 2.065.0 it will find
it.  Not sure if DVM should try alternates or not though.


Re: DVM - D Version Manager 0.4.3

2014-09-02 Thread Nick Sabalausky via Digitalmars-d-announce

On 9/2/2014 3:46 PM, Jacob Carlborg wrote:

I just released a new version of DVM, 0.4.3.
[...]
Version 0.4.3
   New/Changed Features
* Add support for Dub
* Since issue 23 has been fixed this means that now both 32 and
64bit libraries are supported simultaneously

   Bugs Fixed
* Fix issue unexpected redirect for method GET
* Issue 23: Leave DMD directory structure as-is



Sweet!!! Been looking forward to this.



Re: DVM - D Version Manager 0.4.3

2014-09-02 Thread eles via Digitalmars-d-announce

On Tuesday, 2 September 2014 at 20:05:21 UTC, eles wrote:
On Tuesday, 2 September 2014 at 19:46:32 UTC, Jacob Carlborg 
wrote:




That would indeed make install even easier.


And, especially, updates.



Re: DVM - D Version Manager 0.4.2

2014-01-04 Thread evilrat

On Friday, 3 January 2014 at 12:04:33 UTC, Jacob Carlborg wrote:
I just released a new version of DVM, 0.4.2. The biggest news 
for this release is that the source code has been ported to D2 
and I'm bringing back support for 64bit platforms. Except from 
this it's mostly a minor release.


For pre-compiled binaries and changelog (or below) see: 
https://github.com/jacob-carlborg/dvm/releases/tag/v0.4.2


For those not familiar with DVM:

DVM allows you to easily download and install D compilers and 
manage different versions of the compilers.


Changelog:

Version 0.4.2
  New/Changed Features
   * Ported to D2
   * Add support for fetching the latest version of the compiler
   * Bring back support for 64bit

  Bugs Fixed
   * Fails to get the latest version of the compiler


so this is a tool which could build dmd  phobos from git master 
branch(or any else) and later switch between that newly build 
version and 2.064 release?


Re: DVM - D Version Manager 0.4.2

2014-01-04 Thread Jacob Carlborg

On 2014-01-04 13:21, evilrat wrote:


so this is a tool which could build dmd  phobos from git master
branch(or any else) and later switch between that newly build version
and 2.064 release?


Unfortunately no. It can build DMD and Phobos from git master but you 
cannot currently install that. It's mostly focused on installing 
releases of DMD. But you can install the build from git master manually. 
Have a look in ~/.dvm. What you need is ~/.dvm/compiler/dmd-name and 
~/.dvm/env/dmd-name where name is a name or version number for the 
specific compiler.


--
/Jacob Carlborg


Re: DVM - D Version Manager 0.4.2

2014-01-04 Thread evilrat

On Saturday, 4 January 2014 at 14:41:02 UTC, Jacob Carlborg wrote:

On 2014-01-04 13:21, evilrat wrote:

so this is a tool which could build dmd  phobos from git 
master
branch(or any else) and later switch between that newly build 
version

and 2.064 release?


Unfortunately no. It can build DMD and Phobos from git master 
but you cannot currently install that. It's mostly focused on 
installing releases of DMD. But you can install the build from 
git master manually. Have a look in ~/.dvm. What you need is 
~/.dvm/compiler/dmd-name and ~/.dvm/env/dmd-name where 
name is a name or version number for the specific compiler.


ok, thanks. will try later.


DVM - D Version Manager 0.4.2

2014-01-03 Thread Jacob Carlborg
I just released a new version of DVM, 0.4.2. The biggest news for this 
release is that the source code has been ported to D2 and I'm bringing 
back support for 64bit platforms. Except from this it's mostly a minor 
release.


For pre-compiled binaries and changelog (or below) see: 
https://github.com/jacob-carlborg/dvm/releases/tag/v0.4.2


For those not familiar with DVM:

DVM allows you to easily download and install D compilers and manage 
different versions of the compilers.


Changelog:

Version 0.4.2
  New/Changed Features
   * Ported to D2
   * Add support for fetching the latest version of the compiler
   * Bring back support for 64bit

  Bugs Fixed
   * Fails to get the latest version of the compiler

--
/Jacob Carlborg


Re: DVM - D Version Manager 0.4.1

2012-11-30 Thread Rob T

On Friday, 30 November 2012 at 07:31:51 UTC, Jacob Carlborg wrote:

On 2012-11-30 08:31, Jacob Carlborg wrote:

As 1100110 said, if you install ia32-libs it will work. I 
compiled it on

Debian 6 64bit.


That is, you can download the 32bit version of DVM.


OK thanks, I was just checking to make sure before trying it out.





Re: DVM - D Version Manager 0.4.1

2012-11-29 Thread Thomas Koch
Jacob Carlborg wrote:

 I just released a new version of DVM, 0.4.1. This is mostly a bug fix

On planet-scala they have the habit of adding a one-liner description of 
what the software is about. This helps newcomers to get into the loop.

Regards, Thomas Koch



Re: DVM - D Version Manager 0.4.1

2012-11-29 Thread Jacob Carlborg

On 2012-11-29 13:33, Thomas Koch wrote:

Jacob Carlborg wrote:


I just released a new version of DVM, 0.4.1. This is mostly a bug fix


On planet-scala they have the habit of adding a one-liner description of
what the software is about. This helps newcomers to get into the loop.


Right, sorry. Here's the description:

DVM allows you to easily download and install D compilers and manage 
different versions of the compilers.


When you switch D compiler with the use command the compiler will only 
be available in the current shell. This allows you to have one version 
of the compiler in one shell and another version in another shell. For 
example, have a D1 version in one shell and a D2 version in another.


--
/Jacob Carlborg


Re: DVM - D Version Manager 0.4.1

2012-11-29 Thread Jacob Carlborg

On 2012-11-30 01:07, Rob T wrote:


I'm using Debian Wheezy 64 bit, in a nut shell, do you know if it can be
made to work in this environment?


As 1100110 said, if you install ia32-libs it will work. I compiled it on 
Debian 6 64bit.


--
/Jacob Carlborg


Re: DVM - D Version Manager 0.4.1

2012-11-29 Thread Jacob Carlborg

On 2012-11-30 08:31, Jacob Carlborg wrote:


As 1100110 said, if you install ia32-libs it will work. I compiled it on
Debian 6 64bit.


That is, you can download the 32bit version of DVM.

--
/Jacob Carlborg


DVM - D Version Manager 0.4.1

2012-11-25 Thread Jacob Carlborg
I just released a new version of DVM, 0.4.1. This is mostly a bug fix 
release. Unfortunately there won't be a 64it version for Linux. This is 
due to a bug in the regular expression module in Tango. The Linux binary 
is now built with Debian 6 instead of the old Ubuntu 6, I hope this will 
still work for most other distributions.


DVM also officially has a new home, at github: 
https://github.com/jacob-carlborg/dvm


Changelog:

Version 0.4.1
  New/Changed Features
   * Issue 2: Fetch zips from github for DMD 2.057+

  Bugs Fixed
   * Issue 5: Missing executable permission on some files
   * Issue 9: dvm list throw an Exception when no compiler is yet installed
   * Issue 11: Fails when version not explicitly specified
   * Issue 13: Segmentation fault with -l

For instructions how to install and downloads see: 
https://github.com/jacob-carlborg/dvm


For a complete and nicely formatted changelog see: 
https://github.com/jacob-carlborg/dvm/blob/d1/changelog.md


--
/Jacob Carlborg


Re: DVM - D Version Manager 0.4.0

2012-02-01 Thread Robert Clipsham

On 06/01/2012 21:29, Jacob Carlborg wrote:

I just released a new version of DVM, 0.4.0. The only thing new in this
release in the compile command. This allows to compile DMD, druntime
and Phobos from github. Create a folder, clone DMD, druntime and Phobos
in the newly create folder, run dvm compile folder to compile
everything. The compiler is placed in the DMD directory.

For installation instructions see: https://bitbucket.org/doob/dvm

Changelog:

Version 0.4.0
New/Change Features
* Added a compile command for compiling DMD, druntime and Phobos from
github



When using a compiled dmd is there some way to allow dvm to manage it?

Even if it requires some manual intervention to set up, I'd like to be 
able to do:


$ dvm use master

Thanks,

--
Robert
http://octarineparrot.com/


Re: DVM - D Version Manager 0.4.0

2012-01-13 Thread Russel Winder
Nick,

'scuse me butting in...

On Mon, 2012-01-09 at 04:14 -0500, Nick Sabalausky wrote:
[...]
 Heck, maybe if we're lucky that OSX desktop interface to github will someday 
 get ported to Lin or Win :)
[...]

Is there any need for a GUI to GitHub?  Isn't having a GUI for the local
clone all you need along with the browser UI to GitHub?  Using remote
tracking branches allows almost all activity other than pull requests to
be done locally with gitg or somesuch.

-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@russel.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


signature.asc
Description: This is a digitally signed message part


Re: DVM - D Version Manager 0.4.0

2012-01-13 Thread Jacob Carlborg

On 2012-01-13 10:58, Russel Winder wrote:

Nick,

'scuse me butting in...

On Mon, 2012-01-09 at 04:14 -0500, Nick Sabalausky wrote:
[...]

Heck, maybe if we're lucky that OSX desktop interface to github will someday
get ported to Lin or Win :)

[...]

Is there any need for a GUI to GitHub?  Isn't having a GUI for the local
clone all you need along with the browser UI to GitHub?  Using remote
tracking branches allows almost all activity other than pull requests to
be done locally with gitg or somesuch.



I have never had a use for a GUI for git.

--
/Jacob Carlborg


Re: DVM - D Version Manager 0.4.0

2012-01-13 Thread Don Clugston

On 09/01/12 13:09, Jacob Carlborg wrote:

On 2012-01-09 10:30, Don Clugston wrote:

On 06/01/12 22:29, Jacob Carlborg wrote:

I just released a new version of DVM, 0.4.0. The only thing new in this
release in the compile command. This allows to compile DMD, druntime
and Phobos from github. Create a folder, clone DMD, druntime and Phobos
in the newly create folder, run dvm compile folder to compile
everything. The compiler is placed in the DMD directory.

For installation instructions see: https://bitbucket.org/doob/dvm

Changelog:

Version 0.4.0
New/Change Features
* Added a compile command for compiling DMD, druntime and Phobos from
github


I found that I needed to do:
cd .dvm
mkdir bin
before dvm install would work.


Hmm, that's strange. On which platform? Is it when installing DVM itself
or compilers?


Linux64 (Ubuntu). When installing compilers.




Re: DVM - D Version Manager 0.4.0

2012-01-13 Thread Jacob Carlborg

On 2012-01-13 16:53, Don Clugston wrote:

On 09/01/12 13:09, Jacob Carlborg wrote:

On 2012-01-09 10:30, Don Clugston wrote:

On 06/01/12 22:29, Jacob Carlborg wrote:

I just released a new version of DVM, 0.4.0. The only thing new in this
release in the compile command. This allows to compile DMD, druntime
and Phobos from github. Create a folder, clone DMD, druntime and Phobos
in the newly create folder, run dvm compile folder to compile
everything. The compiler is placed in the DMD directory.

For installation instructions see: https://bitbucket.org/doob/dvm

Changelog:

Version 0.4.0
New/Change Features
* Added a compile command for compiling DMD, druntime and Phobos from
github


I found that I needed to do:
cd .dvm
mkdir bin
before dvm install would work.


Hmm, that's strange. On which platform? Is it when installing DVM itself
or compilers?


Linux64 (Ubuntu). When installing compilers.


Thanks, I'll take care of it.

--
/Jacob Carlborg


Re: DVM - D Version Manager 0.4.0

2012-01-09 Thread Nick Sabalausky
Jacob Carlborg d...@me.com wrote in message 
news:jee58o$54v$1...@digitalmars.com...
 On 2012-01-08 21:34, Nick Sabalausky wrote:
 Jacob Carlborgd...@me.com  wrote in message
 news:jec1j6$2rbu$1...@digitalmars.com...
 * Move to github

 It's ultimately up to you, but personally I can't stand Github. My vote
 would be to stick with Bitbucket.

 Granted, I haven't actually tried Bitbucket's Git support yet. But just
 yesterday I started the process of converting a couple of my projects 
 from
 SVN/Dsource to Git/Bitbucket, so we'll see how it goes, and I'll let you
 know.

 I'm asking you since you're the main contributor next to me. I prefer 
 Github, many D project are moving to Github, DMD, Phobos and druntime are 
 already there. But certainly don't want to push you away, that wouldn't be 
 good for the Windows port :)


While I would find github more painful, it wouldn't make me decrease my 
contributions to DVM. DVM's too important a tool, IMO (Much like RDMD, which 
I also contribute too).

Heck, maybe if we're lucky that OSX desktop interface to github will someday 
get ported to Lin or Win :)

I'm on my way to bed so I'll check out those links later. (FWIW, I don't 
think Ruby's all that bad as far as dynamic langauges go. Probably one of 
the best, actually. It's just no D ;) )




Re: DVM - D Version Manager 0.4.0

2012-01-09 Thread Don Clugston

On 06/01/12 22:29, Jacob Carlborg wrote:

I just released a new version of DVM, 0.4.0. The only thing new in this
release in the compile command. This allows to compile DMD, druntime
and Phobos from github. Create a folder, clone DMD, druntime and Phobos
in the newly create folder, run dvm compile folder to compile
everything. The compiler is placed in the DMD directory.

For installation instructions see: https://bitbucket.org/doob/dvm

Changelog:

Version 0.4.0
New/Change Features
* Added a compile command for compiling DMD, druntime and Phobos from
github


I found that I needed to do:
cd .dvm
mkdir bin
before dvm install would work.


Re: DVM - D Version Manager 0.4.0

2012-01-09 Thread Jacob Carlborg

On 2012-01-09 10:30, Don Clugston wrote:

On 06/01/12 22:29, Jacob Carlborg wrote:

I just released a new version of DVM, 0.4.0. The only thing new in this
release in the compile command. This allows to compile DMD, druntime
and Phobos from github. Create a folder, clone DMD, druntime and Phobos
in the newly create folder, run dvm compile folder to compile
everything. The compiler is placed in the DMD directory.

For installation instructions see: https://bitbucket.org/doob/dvm

Changelog:

Version 0.4.0
New/Change Features
* Added a compile command for compiling DMD, druntime and Phobos from
github


I found that I needed to do:
cd .dvm
mkdir bin
before dvm install would work.


Hmm, that's strange. On which platform? Is it when installing DVM itself 
or compilers?


--
/Jacob Carlborg


Re: DVM - D Version Manager 0.4.0

2012-01-09 Thread Jacob Carlborg

On 2012-01-09 10:14, Nick Sabalausky wrote:

Jacob Carlborgd...@me.com  wrote in message
news:jee58o$54v$1...@digitalmars.com...

On 2012-01-08 21:34, Nick Sabalausky wrote:

Jacob Carlborgd...@me.com   wrote in message
news:jec1j6$2rbu$1...@digitalmars.com...

* Move to github


It's ultimately up to you, but personally I can't stand Github. My vote
would be to stick with Bitbucket.

Granted, I haven't actually tried Bitbucket's Git support yet. But just
yesterday I started the process of converting a couple of my projects
from
SVN/Dsource to Git/Bitbucket, so we'll see how it goes, and I'll let you
know.


I'm asking you since you're the main contributor next to me. I prefer
Github, many D project are moving to Github, DMD, Phobos and druntime are
already there. But certainly don't want to push you away, that wouldn't be
good for the Windows port :)



While I would find github more painful, it wouldn't make me decrease my
contributions to DVM. DVM's too important a tool, IMO (Much like RDMD, which
I also contribute too).


I'm glad to hear to. I'll have to think about it then.


Heck, maybe if we're lucky that OSX desktop interface to github will someday
get ported to Lin or Win :)

I'm on my way to bed so I'll check out those links later. (FWIW, I don't
think Ruby's all that bad as far as dynamic langauges go. Probably one of
the best, actually. It's just no D ;) )


Hehe, ok.

--
/Jacob Carlborg


Re: DVM - D Version Manager 0.4.0

2012-01-08 Thread Jacob Carlborg

On 2012-01-07 21:39, Nick Sabalausky wrote:

Nick Sabalauskya@a.a  wrote in message
news:jeaaae$304r$1...@digitalmars.com...

Jacob Carlborgd...@me.com  wrote in message
news:je9fbv$1heb$2...@digitalmars.com...


I would really like to do a complete rewrite of the tool, the internals.
Well actually more of a complete refactoring so DVM can be built as a
library and the tool uses the library. This would make things like the
above much easier to integrate.



Interesting. Do you have any sort of idea on when, or a rough roadmap? Or
is it one of those One of things days if I get around to it sort of
thing (that I'm all too familiar with myself!)?



I guess what I'm really getting at is: Is the refactoring you have in mind
something that should ideally come before other new features? Or would that
not really matter?


Ideally it should come before other new features. I mean, the more stuff 
we put in there the more mess it will be. The point of the refactoring 
is of course to make it easier to add new features and to understand the 
code.


I'm not really sure about the road map. I'm currently focusing on Orbit, 
the package manager I'm developing. Also the main goal of DVM is already 
done. Hopefully I can squeeze in some time to work on DVM before the 
first release of Orbit.


About the refactoring, what to you think about these:

* Move to git
* Move to github
* Port to D2, still using Tango

--
/Jacob Carlborg


Re: DVM - D Version Manager 0.4.0

2012-01-08 Thread Nick Sabalausky
Jacob Carlborg d...@me.com wrote in message 
news:jec1j6$2rbu$1...@digitalmars.com...

 Ideally it should come before other new features. I mean, the more stuff 
 we put in there the more mess it will be. The point of the refactoring is 
 of course to make it easier to add new features and to understand the 
 code.

Yea, that makes sense. I guess I just wasn't sure how deep the refactoring 
you were envisioning was going to be.

Something possibly releated I've been meaning to bring up: I've been 
thinking that DVM's commands and options should work more like, say, git or 
svn. By that I mean: Right now DVM has a set of commands, and a set of 
global DVM options. Problem is, some of the options only apply to some of 
the commands. This sugegsts a few changes:

1. dvm --help should only show globally-applicable options. (--verbose 
and --help are probably only ones right now.)

2. dvm [command] --help (and maybe dvm --help [command], too) should 
show a command-specific help screen.

This isn't a *huge* need right now, but I think it'll only become more and 
more important as DVM progresses. I don't know if this is something that 
should be taken into account in the refactoring, or just left until after.

Another thing that might need to be considered in the refactoring: On Linux, 
DVM doesn't currently work inside a shell script. It's just not recognized. 
I'm sure it probably has something to do with the dvm shell-function. 
Maybe it's because it's set to only be defined on interactive prompts? I 
don't really know for certain what the problem or the solution is, so 
depending on whatever the right solution is, this might be a take into 
account in the refactoring matter.


 About the refactoring, what to you think about these:

 * Move to git

I don't have a really strong opinion on that. While I kind of like Hg a 
little better, I normally use the Tortoise tools, and I like TortoiseGit 
much better than TortoiseHg. Also branching is built into Git rather than 
being a grafted-on extra, which is nice. (And of course, DVM goes 
hand-in-hand with DMD and DMD is Git). So I guess I would lean more towards 
Git, but either way works.


 * Move to github

It's ultimately up to you, but personally I can't stand Github. My vote 
would be to stick with Bitbucket.

Granted, I haven't actually tried Bitbucket's Git support yet. But just 
yesterday I started the process of converting a couple of my projects from 
SVN/Dsource to Git/Bitbucket, so we'll see how it goes, and I'll let you 
know.


 * Port to D2, still using Tango


I'm definitely in favor of switching to D2. In fact, I took the leap from 
D1/Tango straight to D2/Phobos on my own projects about a year or so ago, so 
I have some experience in that (and D2's only gotten better since), and I'd 
be happy to take the lead converting it to D2. I found that the vast 
majority of changes I needed to make were Tango-Phobos because, while there 
are some breaking changes from D1-D2, most of the changes are additive, and 
D1-style code works fine in D2 with only very little change.

As far as Tango: I have no idea what the state of D2's Tango is, and 
personally I'd prefer Phobos. But if you have reason to believe D2's Tango 
is ready to use and you'd prefer that, then I'm perfectly fine with it. 
Actually, heck, if we're going to switch to D2, we may as well at least give 
D2's Tango a try along the way. If it works, it works, if it doesn't we can 
help out D2's Tango or just do Phobos (especially since 2.058 will have that 
new curl module).




Re: DVM - D Version Manager 0.4.0

2012-01-08 Thread Nick Sabalausky
Nick Sabalausky a@a.a wrote in message 
news:jecuno$18e6$1...@digitalmars.com...

 Something possibly releated I've been meaning to bring up: I've been 
 thinking that DVM's commands and options should work more like, say, git 
 or svn. By that I mean: Right now DVM has a set of commands, and a set of 
 global DVM options. Problem is, some of the options only apply to some 
 of the commands. This sugegsts a few changes:

 1. dvm --help should only show globally-applicable options. (--verbose 
 and --help are probably only ones right now.)

 2. dvm [command] --help (and maybe dvm --help [command], too) should 
 show a command-specific help screen.


3. Use of inapplicable options, like dvm --default fetch 2.057, should be 
an error.

 This isn't a *huge* need right now, but I think it'll only become more and 
 more important as DVM progresses. I don't know if this is something that 
 should be taken into account in the refactoring, or just left until after.





Re: DVM - D Version Manager 0.4.0

2012-01-08 Thread Jacob Carlborg

On 2012-01-08 21:34, Nick Sabalausky wrote:

Jacob Carlborgd...@me.com  wrote in message
news:jec1j6$2rbu$1...@digitalmars.com...


Ideally it should come before other new features. I mean, the more stuff
we put in there the more mess it will be. The point of the refactoring is
of course to make it easier to add new features and to understand the
code.


Yea, that makes sense. I guess I just wasn't sure how deep the refactoring
you were envisioning was going to be.


Quite deep. I want to have it look more like Orbit: 
https://github.com/jacob-carlborg/orbit


Instead of having all code in the commands I want to have a single class 
for a single task. The commands would then basically just create a new 
instance of the needed classes.



Something possibly releated I've been meaning to bring up: I've been
thinking that DVM's commands and options should work more like, say, git or
svn. By that I mean: Right now DVM has a set of commands, and a set of
global DVM options. Problem is, some of the options only apply to some of
the commands. This sugegsts a few changes:

1. dvm --help should only show globally-applicable options. (--verbose
and --help are probably only ones right now.)

2. dvm [command] --help (and maybe dvm --help [command], too) should
show a command-specific help screen.

This isn't a *huge* need right now, but I think it'll only become more and
more important as DVM progresses. I don't know if this is something that
should be taken into account in the refactoring, or just left until after.


Yeah, I know. That would be another reason to do the refactoring.


Another thing that might need to be considered in the refactoring: On Linux,
DVM doesn't currently work inside a shell script. It's just not recognized.
I'm sure it probably has something to do with the dvm shell-function.
Maybe it's because it's set to only be defined on interactive prompts? I
don't really know for certain what the problem or the solution is, so
depending on whatever the right solution is, this might be a take into
account in the refactoring matter.


I didn't know about that. I'll take a look at that.


About the refactoring, what to you think about these:

* Move to git


I don't have a really strong opinion on that. While I kind of like Hg a
little better, I normally use the Tortoise tools, and I like TortoiseGit
much better than TortoiseHg. Also branching is built into Git rather than
being a grafted-on extra, which is nice. (And of course, DVM goes
hand-in-hand with DMD and DMD is Git). So I guess I would lean more towards
Git, but either way works.


I've moved all my projects to git, use it at work, so I prefer it over 
mercurial.



* Move to github


It's ultimately up to you, but personally I can't stand Github. My vote
would be to stick with Bitbucket.

Granted, I haven't actually tried Bitbucket's Git support yet. But just
yesterday I started the process of converting a couple of my projects from
SVN/Dsource to Git/Bitbucket, so we'll see how it goes, and I'll let you
know.


I'm asking you since you're the main contributor next to me. I prefer 
Github, many D project are moving to Github, DMD, Phobos and druntime 
are already there. But certainly don't want to push you away, that 
wouldn't be good for the Windows port :)



* Port to D2, still using Tango



I'm definitely in favor of switching to D2. In fact, I took the leap from
D1/Tango straight to D2/Phobos on my own projects about a year or so ago, so
I have some experience in that (and D2's only gotten better since), and I'd
be happy to take the lead converting it to D2. I found that the vast
majority of changes I needed to make were Tango-Phobos because, while there
are some breaking changes from D1-D2, most of the changes are additive, and
D1-style code works fine in D2 with only very little change.

As far as Tango: I have no idea what the state of D2's Tango is, and
personally I'd prefer Phobos. But if you have reason to believe D2's Tango
is ready to use and you'd prefer that, then I'm perfectly fine with it.
Actually, heck, if we're going to switch to D2, we may as well at least give
D2's Tango a try along the way. If it works, it works, if it doesn't we can
help out D2's Tango or just do Phobos (especially since 2.058 will have that
new curl module).


I'm pretty sure Tango for D2 is ready enough. I got help porting my 
package manager, Orbit, to D2 using Tango. Everything compiles but not 
everything works, probably something D2 and Ruby related (TLS or 
something like that). But it was surprisingly few changes that needed to 
be done and that is all to Tango working with D2. The biggest problem 
would be to port the tool to use Phobos instead of Tango.


I guess it would be best to start by adding some high level tests to 
DVM. You probably won't like this but there's a great Ruby tool for 
testing these kind of things called Cucumber. I'm already using it in 
Orbit: https://github.com/jacob-carlborg/orbit/tree/master/features


--
/Jacob 

Re: DVM - D Version Manager 0.4.0

2012-01-07 Thread Jacob Carlborg

On 2012-01-06 23:38, Nick Sabalausky wrote:

Jacob Carlborgd...@me.com  wrote in message
news:je7p3p$1pl1$1...@digitalmars.com...

I just released a new version of DVM, 0.4.0. The only thing new in this
release in the compile command. This allows to compile DMD, druntime and
Phobos from github. Create a folder, clone DMD, druntime and Phobos in the
newly create folder, run dvm compile folder to compile everything. The
compiler is placed in the DMD directory.



In other words:

$ git clone https://github.com/D-Programming-Language/dmd.git
$ git clone https://github.com/D-Programming-Language/druntime.git
$ git clone https://github.com/D-Programming-Language/phobos.git
$ git clone https://github.com/D-Programming-Language/tools.git  # for RDMD,
but this is optional
$ dvm compile
$ ./dmd/bin32/dmd  # or ./dmd/bin64/dmd
DMD32 D Compiler v2.0...
...etc...

If you notice it downloading the latest DMD release before compiling,
there's a reason for that: There are some files (from the bin and lib
directories) that aren't in github, so it grabs them from the latest DMD
release.

BTW, This isn't just for Git DMD, it can also recompile release versions of
DMD:

$ wget https://github.com/downloads/D-Programming-Language/dmd/dmd.2.057.zip
$ unzip dmd.2.057.zip
$ dvm compile ./dmd2  # the directory is optional, DVM's default is .
$ ./dmd2/linux/bin32/dmd   # or ./dmd2/osx/bin64/dmd, etc...

DVM will automatically detect whether you have a git-style or release-style
project structure and act accordingly. Use DVM's -v (verbose) flag to see
which it detects. It also detects D1 vs D2, so it can be used to compile
D1/Phobos as well.

Be aware, it might have some trouble will really old releases of DMD 1 and 2
due to changes in the project structure and/or makefiles. But anything
remotely recent should work fine (if not, please file a bug).

If you're on Windows, it will automatically download and install DMC if DMC
isn't detected on the PATH (you can also do it with dvm install dmc). But
you may run into some paths with spaces trouble with the DMC toolchain
that I wasn't able to fully track down, so if that happens, you should
download DMC to a directory with no spaces:

$ dvm fetch dmc

and extract/install it manually.




Thanks for the elaborated explanation.

--
/Jacob Carlborg


Re: DVM - D Version Manager 0.4.0

2012-01-07 Thread Jacob Carlborg

On 2012-01-07 00:58, Nick Sabalausky wrote:

Robert Clipshamrob...@octarineparrot.com  wrote in message
news:je7qkg$1s8f$1...@digitalmars.com...


Would it be possible to get something like this working?

$ dvm install git-master # install everything from git master
$ dvm update git-master  # update to the latest dmd/druntime/phobos
  # revision
$ dvm use git-master # switch to git master



Yea, both Jacob and I wanted to get that sort of thing in, and it shouldn't
be too hard. But neither of us have quite gotten around to it yet.


I would really like to do a complete rewrite of the tool, the internals. 
Well actually more of a complete refactoring so DVM can be built as a 
library and the tool uses the library. This would make things like the 
above much easier to integrate.


--
/Jacob Carlborg


Re: DVM - D Version Manager 0.4.0

2012-01-07 Thread Nick Sabalausky
Jacob Carlborg d...@me.com wrote in message 
news:je9fbv$1heb$2...@digitalmars.com...
 On 2012-01-07 00:58, Nick Sabalausky wrote:
 Robert Clipshamrob...@octarineparrot.com  wrote in message
 news:je7qkg$1s8f$1...@digitalmars.com...

 Would it be possible to get something like this working?

 $ dvm install git-master # install everything from git master
 $ dvm update git-master  # update to the latest dmd/druntime/phobos
   # revision
 $ dvm use git-master # switch to git master


 Yea, both Jacob and I wanted to get that sort of thing in, and it 
 shouldn't
 be too hard. But neither of us have quite gotten around to it yet.

 I would really like to do a complete rewrite of the tool, the internals. 
 Well actually more of a complete refactoring so DVM can be built as a 
 library and the tool uses the library. This would make things like the 
 above much easier to integrate.


Interesting. Do you have any sort of idea on when, or a rough roadmap? Or is 
it one of those One of things days if I get around to it sort of thing 
(that I'm all too familiar with myself!)?




Re: DVM - D Version Manager 0.4.0

2012-01-07 Thread Nick Sabalausky
Nick Sabalausky a@a.a wrote in message 
news:jeaaae$304r$1...@digitalmars.com...
 Jacob Carlborg d...@me.com wrote in message 
 news:je9fbv$1heb$2...@digitalmars.com...

 I would really like to do a complete rewrite of the tool, the internals. 
 Well actually more of a complete refactoring so DVM can be built as a 
 library and the tool uses the library. This would make things like the 
 above much easier to integrate.


 Interesting. Do you have any sort of idea on when, or a rough roadmap? Or 
 is it one of those One of things days if I get around to it sort of 
 thing (that I'm all too familiar with myself!)?


I guess what I'm really getting at is: Is the refactoring you have in mind 
something that should ideally come before other new features? Or would that 
not really matter? 




DVM - D Version Manager 0.4.0

2012-01-06 Thread Jacob Carlborg
I just released a new version of DVM, 0.4.0. The only thing new in this 
release in the compile command. This allows to compile DMD, druntime 
and Phobos from github. Create a folder, clone DMD, druntime and Phobos 
in the newly create folder, run dvm compile folder to compile 
everything. The compiler is placed in the DMD directory.


For installation instructions see: https://bitbucket.org/doob/dvm

Changelog:

Version 0.4.0
  New/Change Features
* Added a compile command for compiling DMD, druntime and Phobos 
from github


--
/Jacob Carlborg


Re: DVM - D Version Manager 0.4.0

2012-01-06 Thread Robert Clipsham

On 06/01/2012 21:29, Jacob Carlborg wrote:

I just released a new version of DVM, 0.4.0. The only thing new in this
release in the compile command. This allows to compile DMD, druntime
and Phobos from github. Create a folder, clone DMD, druntime and Phobos
in the newly create folder, run dvm compile folder to compile
everything. The compiler is placed in the DMD directory.

For installation instructions see: https://bitbucket.org/doob/dvm

Changelog:

Version 0.4.0
New/Change Features
* Added a compile command for compiling DMD, druntime and Phobos from
github



This is excellent, can't wait to try it out!

Would it be possible to get something like this working?

$ dvm install git-master # install everything from git master
$ dvm update git-master  # update to the latest dmd/druntime/phobos
 # revision
$ dvm use git-master # switch to git master

--
Robert
http://octarineparrot.com/


Re: DVM - D Version Manager 0.4.0

2012-01-06 Thread Nick Sabalausky
Jacob Carlborg d...@me.com wrote in message 
news:je7p3p$1pl1$1...@digitalmars.com...
I just released a new version of DVM, 0.4.0. The only thing new in this 
release in the compile command. This allows to compile DMD, druntime and 
Phobos from github. Create a folder, clone DMD, druntime and Phobos in the 
newly create folder, run dvm compile folder to compile everything. The 
compiler is placed in the DMD directory.


In other words:

$ git clone https://github.com/D-Programming-Language/dmd.git
$ git clone https://github.com/D-Programming-Language/druntime.git
$ git clone https://github.com/D-Programming-Language/phobos.git
$ git clone https://github.com/D-Programming-Language/tools.git  # for RDMD, 
but this is optional
$ dvm compile
$ ./dmd/bin32/dmd  # or ./dmd/bin64/dmd
DMD32 D Compiler v2.0...
...etc...

If you notice it downloading the latest DMD release before compiling, 
there's a reason for that: There are some files (from the bin and lib 
directories) that aren't in github, so it grabs them from the latest DMD 
release.

BTW, This isn't just for Git DMD, it can also recompile release versions of 
DMD:

$ wget https://github.com/downloads/D-Programming-Language/dmd/dmd.2.057.zip
$ unzip dmd.2.057.zip
$ dvm compile ./dmd2  # the directory is optional, DVM's default is .
$ ./dmd2/linux/bin32/dmd   # or ./dmd2/osx/bin64/dmd, etc...

DVM will automatically detect whether you have a git-style or release-style 
project structure and act accordingly. Use DVM's -v (verbose) flag to see 
which it detects. It also detects D1 vs D2, so it can be used to compile 
D1/Phobos as well.

Be aware, it might have some trouble will really old releases of DMD 1 and 2 
due to changes in the project structure and/or makefiles. But anything 
remotely recent should work fine (if not, please file a bug).

If you're on Windows, it will automatically download and install DMC if DMC 
isn't detected on the PATH (you can also do it with dvm install dmc). But 
you may run into some paths with spaces trouble with the DMC toolchain 
that I wasn't able to fully track down, so if that happens, you should 
download DMC to a directory with no spaces:

$ dvm fetch dmc

and extract/install it manually.




Re: DVM - D Version Manager 0.4.0

2012-01-06 Thread Nick Sabalausky
Robert Clipsham rob...@octarineparrot.com wrote in message 
news:je7qkg$1s8f$1...@digitalmars.com...

 Would it be possible to get something like this working?

 $ dvm install git-master # install everything from git master
 $ dvm update git-master  # update to the latest dmd/druntime/phobos
  # revision
 $ dvm use git-master # switch to git master


Yea, both Jacob and I wanted to get that sort of thing in, and it shouldn't 
be too hard. But neither of us have quite gotten around to it yet.




DVM - D Version Manager 0.3.1

2011-08-10 Thread Jacob Carlborg
I just released a new version of DVM, 0.3.1. This is purely a bug fix 
release for Windows. I didn't bother compiling for Linux or Mac OS X.


Changelog:

Version 0.3.1
  Bugs Fixed
   * dvm use changes the default compiler on Windows
   * Can't install on Windows without administrator rights

For instructions how to install and downloads see: 
https://bitbucket.org/doob/dvm


--
/Jacob Carlborg


Re: DVM - D Version Manager 0.3.0 (including support for Windows)

2011-08-01 Thread Andrej Mitrovic
I know this is maybe obvious for linux geeks, but your shell command
won't work like this:
wget -O dvm https://bitbucket.org/doob/dvm/downloads/dvm-0.3.0-linux-32
 chmod +x dvm  ./dvm install dvm

Because you have to call this before executing dvm:
chmod +x dvm


Re: DVM - D Version Manager 0.3.0 (including support for Windows)

2011-08-01 Thread Daniel Gibson

Am 01.08.2011 22:53, schrieb Andrej Mitrovic:

I know this is maybe obvious for linux geeks, but your shell command
won't work like this:
wget -O dvm https://bitbucket.org/doob/dvm/downloads/dvm-0.3.0-linux-32
  chmod +x dvm  ./dvm install dvm

Because you have to call this before executing dvm:
chmod +x dvm


This is included in the command above?


Re: DVM - D Version Manager 0.3.0 (including support for Windows)

2011-08-01 Thread Andrej Mitrovic
Wow! Indeed it is. I really don't know what to say. It didn't work
when I tried it, but it does if I manually call chmod. Hillarious.


Re: DVM - D Version Manager 0.3.0 (including support for Windows)

2011-07-19 Thread Andrej Mitrovic
No I think I've only tested the beta.


Re: DVM - D Version Manager 0.3.0 (including support for Windows)

2011-07-19 Thread Johann MacDonagh

On 7/19/2011 5:52 AM, Andrej Mitrovic wrote:

No I think I've only tested the beta.


Yeah, the beta didn't complain either, only this new version. Also, it 
won't trigger UAC (because we're not asking to elevate), it just fails 
to open.


Re: DVM - D Version Manager 0.3.0 (including support for Windows)

2011-07-18 Thread Jacob Carlborg

On 2011-07-18 06:51, Mike Parker wrote:

On 7/18/2011 5:10 AM, Jacob Carlborg wrote:

I just released a new version of DVM, 0.3.0. Now with support for
Windows :), thanks to Nick Sabalausky. For installation instructions
see: https://bitbucket.org/doob/dvm


The project page still says Currently no Windows version under the
Limitations heading.


Good point, fixed.

--
/Jacob Carlborg


Re: DVM - D Version Manager 0.3.0 (including support for Windows)

2011-07-18 Thread Lars T. Kyllingstad
On Sun, 17 Jul 2011 22:10:39 +0200, Jacob Carlborg wrote:

 I just released a new version of DVM, 0.3.0. Now with support for
 Windows :), thanks to Nick Sabalausky. For installation instructions
 see: https://bitbucket.org/doob/dvm

Cool!  This is a great tool, very useful.

-Lars


Re: DVM - D Version Manager 0.3.0 (including support for Windows)

2011-07-18 Thread Jacob Carlborg

On 2011-07-18 11:31, Lars T. Kyllingstad wrote:

On Sun, 17 Jul 2011 22:10:39 +0200, Jacob Carlborg wrote:


I just released a new version of DVM, 0.3.0. Now with support for
Windows :), thanks to Nick Sabalausky. For installation instructions
see: https://bitbucket.org/doob/dvm


Cool!  This is a great tool, very useful.

-Lars


Thanks.

--
/Jacob Carlborg


Re: DVM - D Version Manager 0.3.0 (including support for Windows)

2011-07-18 Thread Johann MacDonagh

On 7/17/2011 6:41 PM, Nick Sabalausky wrote:

Johann MacDonaghjohann.macdonagh...@spam.gmail.com  wrote in message
news:ivvhtr$2j94$1...@digitalmars.com...
- Did you get that after it prompted you for a yes/no, or did it not get
that far?

- Was that message displayed in the cmd prompt or in a dialog box?


No prompt at all, and it was in the console window.

You can always create a restricted account for yourself to test it out. 
It will fire if you try dvm-installer.exe install dvm on a machine that 
already has dvm installed.


Re: DVM - D Version Manager 0.3.0 (including support for Windows)

2011-07-18 Thread Nick Sabalausky
Johann MacDonagh johann.macdonagh...@spam.gmail.com wrote in message 
news:j02dmi$1t2c$1...@digitalmars.com...
 On 7/17/2011 6:41 PM, Nick Sabalausky wrote:
 Johann MacDonaghjohann.macdonagh...@spam.gmail.com  wrote in message
 news:ivvhtr$2j94$1...@digitalmars.com...
 - Did you get that after it prompted you for a yes/no, or did it not 
 get
 that far?

 - Was that message displayed in the cmd prompt or in a dialog box?

 No prompt at all, and it was in the console window.


Thanks. There's a point where it checks the registry to see if DMD already 
exists in the system PATH (and will prompt the user for further action if 
it's there, because it would get in the way of DVM's default compiler 
feature). Turns out I forgot to use read-only access (instead of read/write) 
to open the key for that check.

 You can always create a restricted account for yourself to test it out.

Yea, clearly I should have done that ;)

 It will fire if you try dvm-installer.exe install dvm on a machine that 
 already has dvm installed.

Turns out the problem occurs when trying to install DVM on any limited 
Windows user account, regardless of an existing DVM or DMD, and regardless 
of XP/Win7 or 32bit/64bit. Pretty bad since DVM currently only installs 
per-user. /facepalm

I've fixed it and submitted a pull request (and this time I tested it with 
limited user accounts on both XP and Vista):

https://bitbucket.org/doob/dvm/pull-request/2/





Re: DVM - D Version Manager 0.3.0 (including support for Windows)

2011-07-18 Thread Andrej Mitrovic
Interesting.. I've tested it on win7 with admin rights but with UAC
set to max, and it didn't complain, so I assumed it would work without
admin rights too.


Re: DVM - D Version Manager 0.3.0 (including support for Windows)

2011-07-17 Thread Nick Sabalausky
Jacob Carlborg d...@me.com wrote in message 
news:ivvftq$2fvd$1...@digitalmars.com...
I just released a new version of DVM, 0.3.0. Now with support for Windows 
:), thanks to Nick Sabalausky. For installation instructions see: 
https://bitbucket.org/doob/dvm
 Changelog:

 Version 0.3.0
   New/Change Features
* Added an option for installing the latest compiler
* Better compatibility between different shell implementations
* Added Windows support. Thanks to Nick Sabalausky
* Added a list command for listing installed compilers
* Added a uninstall command for uninstalling compilers

   Bugs Fixed
* Can't link using DMD 1.068.
* Issue 2: The '.dvm/bin/dmd-{ver}' scripts don't work on Ubuntu 10.04
* Issue 7: No error on invalid command
* Issue 13: Tmp dir should be deleted before running DVM binary (not 
 just after)
* Issue 5: Invalid character in .dvm/env files
* Issue 12: dvm -h and dvm --help print nothing


 Upgrading from 0.2.0 to 0.3.0:

 It might be necessary to do a complete clean installation by removing 
 ~/.dvm.

And also by removing the DVM stuff that was auto-added to .bashrc (if any).

 This is in particular if you had any problems with the previous shell 
 scripts not working.


If you haven't had such problems, then you should be good without wiping 
~/.dvm. The most likely problem was with invoking a specific version of DMD 
directly via dvm-{version}, so that should be a good test. (At least that 
was my experience on Kubuntu 10.04, YMMV.)

This issue shouldn't affect people who used the Windows betas since Windows 
already uses completely different scripts with completely different syntax.





Re: DVM - D Version Manager 0.3.0 (including support for Windows)

2011-07-17 Thread Mike Parker

On 7/18/2011 5:10 AM, Jacob Carlborg wrote:

I just released a new version of DVM, 0.3.0. Now with support for
Windows :), thanks to Nick Sabalausky. For installation instructions
see: https://bitbucket.org/doob/dvm


The project page still says Currently no Windows version under the 
Limitations heading.


Re: DVM - D Version Manager 0.2.0

2011-05-31 Thread Lars T. Kyllingstad
On Tue, 17 May 2011 23:15:42 +0200, Jacob Carlborg wrote:

 I just released a new version of DVM, 0.2.0. For installation
 instructions see: https://bitbucket.org/doob/dvm
 
 Changelog:
 
 Version 0.2.0
 
 New/Change Features
   * 64bit version now available on Linux * It's now possible to update
   an already existing DVM installation * Added an option for installing
   32bit compilers, useful on 64bit
 platforms
   * Added support for the new structure of the DMD zip, appeared in
 version 1.068 and 2.053
   * Added a current wrapper which points to the current compiler *
   Added an option for specifying a default compiler * Better compatible
   between different shells * Added support for installing Tango
   * Added support for installing 64bit compilers (default on 64bit
 platforms)
   * The fetch/install command now shows progress when downloading.
 Thanks to jdrewsen.
   * Added support for the new structure of the DMD zip, appeared in
 version 1.067 and 2.052.
   * Added a changelog.
 
 Bugs Fixed
   * RDMD now has executable permission
   * Exit if the DVM executable cannot be found * Always remove the temp
   path
   * Don't use exit in the DVM shell script * Added dmd.conf patch for
   druntime as well. * Fixed: DMD2 was incorrectly handled. * Bump
   version number.
 
 
 Sorry, still no version for Windows. I've seen another application that
 does the same but for Ruby, on Windows, so now I know it should be
 possible at least.

I just installed DVM, and it seems like a very useful tool.  It works 
pretty well, but I ran into an issue for which I created a bug report:

https://bitbucket.org/doob/dvm/issue/5/invalid-character-in-dvm-env-files

Also, I have some suggestions for features you may want to add in the 
future.  I'll add enhancement requests for these.

Thanks for making a nice tool!

-Lars


Re: DVM - D Version Manager 0.2.0

2011-05-31 Thread Jacob Carlborg

On 2011-05-31 12:25, Lars T. Kyllingstad wrote:

On Tue, 17 May 2011 23:15:42 +0200, Jacob Carlborg wrote:


I just released a new version of DVM, 0.2.0. For installation
instructions see: https://bitbucket.org/doob/dvm

Changelog:

Version 0.2.0

New/Change Features
   * 64bit version now available on Linux * It's now possible to update
   an already existing DVM installation * Added an option for installing
   32bit compilers, useful on 64bit
platforms
   * Added support for the new structure of the DMD zip, appeared in
version 1.068 and 2.053
   * Added a current wrapper which points to the current compiler *
   Added an option for specifying a default compiler * Better compatible
   between different shells * Added support for installing Tango
   * Added support for installing 64bit compilers (default on 64bit
platforms)
   * The fetch/install command now shows progress when downloading.
Thanks to jdrewsen.
   * Added support for the new structure of the DMD zip, appeared in
version 1.067 and 2.052.
   * Added a changelog.

Bugs Fixed
   * RDMD now has executable permission
   * Exit if the DVM executable cannot be found * Always remove the temp
   path
   * Don't use exit in the DVM shell script * Added dmd.conf patch for
   druntime as well. * Fixed: DMD2 was incorrectly handled. * Bump
   version number.


Sorry, still no version for Windows. I've seen another application that
does the same but for Ruby, on Windows, so now I know it should be
possible at least.


I just installed DVM, and it seems like a very useful tool.  It works
pretty well, but I ran into an issue for which I created a bug report:

https://bitbucket.org/doob/dvm/issue/5/invalid-character-in-dvm-env-files

Also, I have some suggestions for features you may want to add in the
future.  I'll add enhancement requests for these.

Thanks for making a nice tool!

-Lars


I'll have a look, thanks.

--
/Jacob Carlborg


Re: DVM - D Version Manager 0.2.0

2011-05-19 Thread Jacob Carlborg

On 2011-05-18 13:27, Jacob Carlborg wrote:

On 2011-05-18 10:21, Nick Sabalausky wrote:

Nick Sabalauskya@a.a wrote in message
news:iqvru7$cnu$1...@digitalmars.com...

Jacob Carlborgd...@me.com wrote in message
news:iqvpon$6p0$1...@digitalmars.com...

On 2011-05-18 06:35, Nick Sabalausky wrote:


Sounds cool, but dvm-0.2.0-linux-32 is just giving me Illegal
instruction
on Kubuntu 10.04 x86-32. And I don't see any instructions for how to
build
it anywhere in the source tree or on the homepage.


Ok, strange. I built the tool on Ubuntu 11.04, maybe it's too new. How
can I build it to work on as many platforms as possible? The runtime
dependencies are just the same as a regular C application and zlib.

Added build instructions at the bottom of:
https://bitbucket.org/doob/dvm



Thanks :) I think I'm almost there. I've been using D2/Phobos/RDMD
for the
past year or so (plus my usual machine is a windows box), so I had a lot
of setting up to do, but I think I've almost got it now. When I do, I'll
post the final binary in case it helps anyone else (I can only make a
32-bit binary though).



Done. Here's the binary, it works for me:

http://www.semitwist.com/download/app/dvm-0.2.0-linux-32


Thanks, I'll upload it when I get a chance.


I've uploaded your version now, thanks again.

--
/Jacob Carlborg


Re: DVM - D Version Manager 0.2.0

2011-05-19 Thread Jacob Carlborg

On 2011-05-18 22:33, Nick Sabalausky wrote:

Jacob Carlborgd...@me.com  wrote in message
news:ir0o9o$1st5$1...@digitalmars.com...

On 2011-05-18 14:21, Steven Schveighoffer wrote:

On Wed, 18 May 2011 03:15:50 -0400, Nick Sabalauskya@a.a  wrote:


But the bottom line seems to be: Linux is in a bigger DLL hell than
windows
has ever been, and I don't think *anyone* actually knows how to do it.


This is one of the side effects of having open source software. Since
everything on linux is expected to be open source, it's expected that
you simply recompile everything for your system. In this respect,
Windows has Linux beat hands down. A hardware company that builds a
driver needs only to support one compiled driver that just keeps working
no matter how many times XP is updated.


The problem I have with my tool is like the chicken and the egg problem.
The tool installs D compilers and you're supposed to use the tool without
the requirement of an pre-existing DMD compiler.



I've been thinking it would probably be possible to bootstrap DVM with a
shell script that would wget some specific DMD, set it up, at least enough
to build DVM (possibly even automatically building
DMD/druntime/phobos/tango - which is something we really need a more
automated way to do anway, especially for trunk versions (or whatever the
Git-lingo for trunk is)), and then use that to build DVM.

I may give it a try myself.


In the case I just could have written the tool in shell script in the 
first place and that's what I want to avoid. I hate shell scripts and it 
would make it even harder to create a version for Windows.


I think the right approach is to provied pre-compiled binaries. I 
downloaded Ubuntu 4.10, or something like that. I'll install it in a 
virtual machine and try it out.


--
/Jacob Carlborg


Re: DVM - D Version Manager 0.2.0

2011-05-18 Thread Jacob Carlborg

On 2011-05-18 06:35, Nick Sabalausky wrote:

Jacob Carlborgd...@me.com  wrote in message
news:iquopl$1l9u$1...@digitalmars.com...

I just released a new version of DVM, 0.2.0.
For installation instructions see: https://bitbucket.org/doob/dvm

Changelog:

Version 0.2.0

New/Change Features
  * 64bit version now available on Linux
  * It's now possible to update an already existing DVM installation
  * Added an option for installing 32bit compilers, useful on 64bit
platforms
  * Added support for the new structure of the DMD zip, appeared in version
1.068 and 2.053
  * Added a current wrapper which points to the current compiler
  * Added an option for specifying a default compiler
  * Better compatible between different shells
  * Added support for installing Tango
  * Added support for installing 64bit compilers (default on 64bit
platforms)
  * The fetch/install command now shows progress when downloading. Thanks
to jdrewsen.
  * Added support for the new structure of the DMD zip, appeared in version
1.067 and 2.052.
  * Added a changelog.

Bugs Fixed
  * RDMD now has executable permission
  * Exit if the DVM executable cannot be found
  * Always remove the temp path
  * Don't use exit in the DVM shell script
  * Added dmd.conf patch for druntime as well.
  * Fixed: DMD2 was incorrectly handled.
  * Bump version number.


Sorry, still no version for Windows. I've seen another application that
does the same but for Ruby, on Windows, so now I know it should be
possible at least.



Sounds cool, but dvm-0.2.0-linux-32 is just giving me Illegal instruction
on Kubuntu 10.04 x86-32. And I don't see any instructions for how to build
it anywhere in the source tree or on the homepage.


Ok, strange. I built the tool on Ubuntu 11.04, maybe it's too new. How 
can I build it to work on as many platforms as possible? The runtime 
dependencies are just the same as a regular C application and zlib.


Added build instructions at the bottom of: https://bitbucket.org/doob/dvm

--
/Jacob Carlborg


Re: DVM - D Version Manager 0.2.0

2011-05-18 Thread Nick Sabalausky
Jacob Carlborg d...@me.com wrote in message 
news:iqvpon$6p0$1...@digitalmars.com...
 On 2011-05-18 06:35, Nick Sabalausky wrote:

 Sounds cool, but dvm-0.2.0-linux-32 is just giving me Illegal 
 instruction
 on Kubuntu 10.04 x86-32. And I don't see any instructions for how to 
 build
 it anywhere in the source tree or on the homepage.

 Ok, strange. I built the tool on Ubuntu 11.04, maybe it's too new. How can 
 I build it to work on as many platforms as possible? The runtime 
 dependencies are just the same as a regular C application and zlib.


You know, I'm far from a Linux expert, but making compatible linux binaries 
seems to be quite a nightmare. In fact, I just recently went through hell 
myself trying to figure out how to compile a Hello World CGI app on my linux 
system and have it actually work on another linux system.

You can follow my fun-filled adventures through it with these discussions:

digitalmars.D.learn: D CGI test: linux.so.2: bad ELF interpreter: No such 
file or directory (2011/04/25)
digitalmars.D.learn: Linux: How to statically link against system libs? 
(2011/04/26)
http://ubuntuforums.org/showthread.php?t=1740277

But the bottom line seems to be: Linux is in a bigger DLL hell than windows 
has ever been, and I don't think *anyone* actually knows how to do it.

In my case, I ended up just installing an older version of linux in a VM and 
compiling inside that (CentOS 4, largely because I needed to be able to run 
on a CentOS server that wasn't happy with my Kubuntu 10.04 executables). The 
resulting binaries did work on my Kubuntu 10.04 machine, too, so I guess the 
trick is to just compile on the oldest machine you can. Go figure: All the 
focus everyone puts on updating to newer versions, and it ends up best to 
stick with the older versions - not because the older ones were better, but 
just *because* they're older. Meh. Anyway, pardon the rant :/

You'd think there'd be a way to compile in a backwards-compatible way on 
linux, but I'm getting the impression that if it's possible, no one actually 
knows how.

 Added build instructions at the bottom of: https://bitbucket.org/doob/dvm


Thanks :) I think I'm almost there. I've been using D2/Phobos/RDMD for the 
past year or so (plus my usual machine is a windows box), so I had a lot of 
setting up to do, but I think I've almost got it now. When I do, I'll post 
the final binary in case it helps anyone else (I can only make a 32-bit 
binary though).





Re: DVM - D Version Manager 0.2.0

2011-05-18 Thread Nick Sabalausky
Nick Sabalausky a@a.a wrote in message 
news:iqvru7$cnu$1...@digitalmars.com...
 Jacob Carlborg d...@me.com wrote in message 
 news:iqvpon$6p0$1...@digitalmars.com...
 On 2011-05-18 06:35, Nick Sabalausky wrote:

 Sounds cool, but dvm-0.2.0-linux-32 is just giving me Illegal 
 instruction
 on Kubuntu 10.04 x86-32. And I don't see any instructions for how to 
 build
 it anywhere in the source tree or on the homepage.

 Ok, strange. I built the tool on Ubuntu 11.04, maybe it's too new. How 
 can I build it to work on as many platforms as possible? The runtime 
 dependencies are just the same as a regular C application and zlib.

 Added build instructions at the bottom of: https://bitbucket.org/doob/dvm


 Thanks :) I think I'm almost there. I've been using D2/Phobos/RDMD for the 
 past year or so (plus my usual machine is a windows box), so I had a lot 
 of setting up to do, but I think I've almost got it now. When I do, I'll 
 post the final binary in case it helps anyone else (I can only make a 
 32-bit binary though).


Done. Here's the binary, it works for me:

http://www.semitwist.com/download/app/dvm-0.2.0-linux-32





Re: DVM - D Version Manager 0.2.0

2011-05-18 Thread Jonas Drewsen

On 17/05/11 23.15, Jacob Carlborg wrote:

I just released a new version of DVM, 0.2.0.
For installation instructions see: https://bitbucket.org/doob/dvm

Changelog:

Version 0.2.0

New/Change Features
* 64bit version now available on Linux
* It's now possible to update an already existing DVM installation
* Added an option for installing 32bit compilers, useful on 64bit platforms
* Added support for the new structure of the DMD zip, appeared in
version 1.068 and 2.053
* Added a current wrapper which points to the current compiler
* Added an option for specifying a default compiler
* Better compatible between different shells
* Added support for installing Tango
* Added support for installing 64bit compilers (default on 64bit platforms)
* The fetch/install command now shows progress when downloading. Thanks
to jdrewsen.
* Added support for the new structure of the DMD zip, appeared in
version 1.067 and 2.052.
* Added a changelog.

Bugs Fixed
* RDMD now has executable permission
* Exit if the DVM executable cannot be found
* Always remove the temp path
* Don't use exit in the DVM shell script
* Added dmd.conf patch for druntime as well.
* Fixed: DMD2 was incorrectly handled.
* Bump version number.


Sorry, still no version for Windows. I've seen another application that
does the same but for Ruby, on Windows, so now I know it should be
possible at least.


This is a very nice tool. Keep up the good work!

/Jonas



Re: DVM - D Version Manager 0.2.0

2011-05-18 Thread Jacob Carlborg

On 2011-05-18 09:15, Nick Sabalausky wrote:

Jacob Carlborgd...@me.com  wrote in message
news:iqvpon$6p0$1...@digitalmars.com...

On 2011-05-18 06:35, Nick Sabalausky wrote:


Sounds cool, but dvm-0.2.0-linux-32 is just giving me Illegal
instruction
on Kubuntu 10.04 x86-32. And I don't see any instructions for how to
build
it anywhere in the source tree or on the homepage.


Ok, strange. I built the tool on Ubuntu 11.04, maybe it's too new. How can
I build it to work on as many platforms as possible? The runtime
dependencies are just the same as a regular C application and zlib.



You know, I'm far from a Linux expert, but making compatible linux binaries
seems to be quite a nightmare. In fact, I just recently went through hell
myself trying to figure out how to compile a Hello World CGI app on my linux
system and have it actually work on another linux system.

You can follow my fun-filled adventures through it with these discussions:


Yeah, I read parts of those threads.


digitalmars.D.learn: D CGI test: linux.so.2: bad ELF interpreter: No such
file or directory (2011/04/25)
digitalmars.D.learn: Linux: How to statically link against system libs?
(2011/04/26)
http://ubuntuforums.org/showthread.php?t=1740277

But the bottom line seems to be: Linux is in a bigger DLL hell than windows
has ever been, and I don't think *anyone* actually knows how to do it.

In my case, I ended up just installing an older version of linux in a VM and
compiling inside that (CentOS 4, largely because I needed to be able to run
on a CentOS server that wasn't happy with my Kubuntu 10.04 executables). The
resulting binaries did work on my Kubuntu 10.04 machine, too, so I guess the
trick is to just compile on the oldest machine you can. Go figure: All the
focus everyone puts on updating to newer versions, and it ends up best to
stick with the older versions - not because the older ones were better, but
just *because* they're older. Meh. Anyway, pardon the rant :/


Hehe.


You'd think there'd be a way to compile in a backwards-compatible way on
linux, but I'm getting the impression that if it's possible, no one actually
knows how.


Wouldn't it just be possible to use an older version of GCC?


Added build instructions at the bottom of: https://bitbucket.org/doob/dvm



Thanks :) I think I'm almost there. I've been using D2/Phobos/RDMD for the
past year or so (plus my usual machine is a windows box), so I had a lot of
setting up to do, but I think I've almost got it now. When I do, I'll post
the final binary in case it helps anyone else (I can only make a 32-bit
binary though).

--
/Jacob Carlborg


Re: DVM - D Version Manager 0.2.0

2011-05-18 Thread Jacob Carlborg

On 2011-05-18 10:21, Nick Sabalausky wrote:

Nick Sabalauskya@a.a  wrote in message
news:iqvru7$cnu$1...@digitalmars.com...

Jacob Carlborgd...@me.com  wrote in message
news:iqvpon$6p0$1...@digitalmars.com...

On 2011-05-18 06:35, Nick Sabalausky wrote:


Sounds cool, but dvm-0.2.0-linux-32 is just giving me Illegal
instruction
on Kubuntu 10.04 x86-32. And I don't see any instructions for how to
build
it anywhere in the source tree or on the homepage.


Ok, strange. I built the tool on Ubuntu 11.04, maybe it's too new. How
can I build it to work on as many platforms as possible? The runtime
dependencies are just the same as a regular C application and zlib.

Added build instructions at the bottom of: https://bitbucket.org/doob/dvm



Thanks :) I think I'm almost there. I've been using D2/Phobos/RDMD for the
past year or so (plus my usual machine is a windows box), so I had a lot
of setting up to do, but I think I've almost got it now. When I do, I'll
post the final binary in case it helps anyone else (I can only make a
32-bit binary though).



Done. Here's the binary, it works for me:

http://www.semitwist.com/download/app/dvm-0.2.0-linux-32


Thanks, I'll upload it when I get a chance.


--
/Jacob Carlborg


Re: DVM - D Version Manager 0.2.0

2011-05-18 Thread Daniel Gibson
Am 18.05.2011 14:21, schrieb Steven Schveighoffer:
 On Wed, 18 May 2011 03:15:50 -0400, Nick Sabalausky a@a.a wrote:
 
 But the bottom line seems to be: Linux is in a bigger DLL hell than
 windows
 has ever been, and I don't think *anyone* actually knows how to do it.
 
 This is one of the side effects of having open source software.  Since
 everything on linux is expected to be open source, it's expected that
 you simply recompile everything for your system.  In this respect,
 Windows has Linux beat hands down.  A hardware company that builds a
 driver needs only to support one compiled driver that just keeps working
 no matter how many times XP is updated.

Drivers are completely different from normal applications on Linux.
Because the Kernel changes all the time you have to change drivers quite
often.
The userspace should be more stable - AFAIK the kernel ABI is backwards
compatible since kernel 0.99 or something, i.e. programs from back than
should still work.
In practice there is some kind of DLL hell because old software may rely
on old libs that are not available on newer distributions (or only in
not backward-compatible versions).
For Open Source software that is not that much of a problem, often it's
sufficient to recompile..
Closed source software on Linux often supplies almost all needed
libraries to avoid problems with preinstalled libs - or is even
statically linked. I think this is the same on Windows..

Also, as Nick mentioned, it helps to compile software on a older
distribution, because many libs are at least backwards compatible (to a
certain degree), but not the other way round, so it still works on
newer/recent distributions - while compiling on your newest bleeding
edge beta Ubuntu (or Debian unstable or whatever) will quite likely
produce binaries that won't work on older distributions.
I maintain Debian/Ubuntu packages for a Quake2 port (Yamagi Quake2) and
building them on a old Debian etch chroot jail produces binaries that
work on about any Debian/Ubuntu from the last years (at least there
never have been complaints that it doesn't work).

 
 I think reading some of the issues with MacOSX breaking dmd builds by
 going through a *point* revision, it sounds like MacOSX is just as bad.
 

Strange, considering that MacOSX isn't open and there are not a several
different distributions of it.

 At my previous company, we integrated software from pure software
 companies into their required OSes and hardware, and did all the
 OS/hardware dirty work for them (i.e. we turned pure software into an
 appliance).  One of the *worst* problems was when the customer wanted
 some version of Linux, and let's say they had a specific kernel build. 
 Because of the expectation from the Linux kernel that you just recompile
 all your drivers, any RAID card (a very common requirement) which had
 proprietary driver code would require us to contact the hardware vendor,
 and have them rebuild the RAID driver on their specific kernel (for a
 not-so-nominal fee of course, with very little support).
 

That's why you should use hardware that doesn't rely on proprietary
drivers on Linux. If the driver is integrated in the Kernel you don't
have to worry if it still works after minor or major upgrades.
On Windows you may have hardware that is supported on Windows XP, but
not on Win7 etc.
I think using hardware with free/open drivers is realistic for about any
hardware besides video cards - although the open drivers for AMD/Ati are
getting better. And the proprietary drivers for them are compatible to
any recent kernels (apart from maybe the most recent one, but you won't
find that in distributions anyway). You just have to be a bit careful
and choose your hardware accordingly.


 I fantasized about building my own linux kernel that had zero
 configuration options, and would never break driver compatibility
 between point revisions.  Such a kernel would allow hardware companies
 to release one driver and have it work for any system that used their
 hardware and that kernel.  

Like Redhats 2.6.18 fork they maintained forever?

 I can't imagine hardware companies love
 supporting umpteen driver versions multiplied by umpteen linux vendors
 (generally they only pick one vendor and support that).  

Yeah, they should just donate the driver to the kernel (or at least
release HW specs so somebody else can write an open driver) and let the
kernel developers maintain it.

 Of course, that
 dream would be impossible to realize without tremendous effort, which I
 don't have.
 
 Ah well.
 
 -Steve

Cheers,
- Daniel


Re: DVM - D Version Manager 0.2.0

2011-05-18 Thread Jacob Carlborg

On 2011-05-18 14:21, Steven Schveighoffer wrote:

On Wed, 18 May 2011 03:15:50 -0400, Nick Sabalausky a@a.a wrote:


But the bottom line seems to be: Linux is in a bigger DLL hell than
windows
has ever been, and I don't think *anyone* actually knows how to do it.


This is one of the side effects of having open source software. Since
everything on linux is expected to be open source, it's expected that
you simply recompile everything for your system. In this respect,
Windows has Linux beat hands down. A hardware company that builds a
driver needs only to support one compiled driver that just keeps working
no matter how many times XP is updated.


The problem I have with my tool is like the chicken and the egg problem. 
The tool installs D compilers and you're supposed to use the tool 
without the requirement of an pre-existing DMD compiler.



I think reading some of the issues with MacOSX breaking dmd builds by
going through a *point* revision, it sounds like MacOSX is just as bad.


I have only had that issue with DMD. I guess it somewhat special since 
it needs to be compatible with GCC and the linker in another way than 
regular applications need to be. As far as I know a DMD compiled on an 
older version will run on a newer version but it's another thing with 
the executables produced by dmd.


I'm still using a very old version of synergy on Mac OS X, I think it 
was compiled around 2006 on Mac OS X 10.4. I'm using it without any 
problems on Mac OS X 10.7.


--
/Jacob Carlborg


Re: DVM - D Version Manager 0.2.0

2011-05-18 Thread Steven Schveighoffer
On Wed, 18 May 2011 10:47:02 -0400, Daniel Gibson metalcae...@gmail.com  
wrote:



Am 18.05.2011 14:21, schrieb Steven Schveighoffer:



At my previous company, we integrated software from pure software
companies into their required OSes and hardware, and did all the
OS/hardware dirty work for them (i.e. we turned pure software into an
appliance).  One of the *worst* problems was when the customer wanted
some version of Linux, and let's say they had a specific kernel build.
Because of the expectation from the Linux kernel that you just recompile
all your drivers, any RAID card (a very common requirement) which had
proprietary driver code would require us to contact the hardware vendor,
and have them rebuild the RAID driver on their specific kernel (for a
not-so-nominal fee of course, with very little support).



That's why you should use hardware that doesn't rely on proprietary
drivers on Linux. If the driver is integrated in the Kernel you don't
have to worry if it still works after minor or major upgrades.
On Windows you may have hardware that is supported on Windows XP, but
not on Win7 etc.


I don't want to get into a philosophical debate here, but this is truly  
unrealistic.  I think it's one of the main reasons many hardware companies  
don't support Linux.  Opening the source does not mean you will not  
support it, and then you have to deal with 8 million configuration options  
for the kernel to test against your driver.  As a hardware company whose  
main purpose is not writing drivers, that sounds like a QA nightmare.


Yes, XP drivers don't work on Windows 7, but they work on XP, and there is  
only *one* XP.  Furthermore, Microsoft *purposely* does not invalidate  
existing drivers.  Compare that to Linux, where not only do the interfaces  
in the kernel change from revision to revision, but someone is  
*rebuilding* the entire kernel and all the drivers on every revision.  I'm  
surprised it works as well as it does.


Case in point, while I was using Linux as my main OS, an upgrade of the  
Fedora kernel simply broke my sound card driver.  There was no changes to  
the driver, and I really never figured out what happened, but an upgrade  
to the next major release fixed the problem.  There is absolutely no  
reason for existing drivers to break on a minor upgrade.



I think using hardware with free/open drivers is realistic for about any
hardware besides video cards - although the open drivers for AMD/Ati are
getting better. And the proprietary drivers for them are compatible to
any recent kernels (apart from maybe the most recent one, but you won't
find that in distributions anyway). You just have to be a bit careful
and choose your hardware accordingly.


Printer support is woefully missing.  My 2-year old printer still isn't  
supported on Linux.






I fantasized about building my own linux kernel that had zero
configuration options, and would never break driver compatibility
between point revisions.  Such a kernel would allow hardware companies
to release one driver and have it work for any system that used their
hardware and that kernel.


Like Redhats 2.6.18 fork they maintained forever?


Not really.  I mean freeze the configuration options for the kernel --  
they can never change except for a major release.  Then, don't recompile  
the drivers for every kernel update.  Maintain *binary* compatibility for  
drivers, so one never has to recompile them unless the driver itself has a  
bug.



I can't imagine hardware companies love
supporting umpteen driver versions multiplied by umpteen linux vendors
(generally they only pick one vendor and support that).


Yeah, they should just donate the driver to the kernel (or at least
release HW specs so somebody else can write an open driver) and let the
kernel developers maintain it.


This isn't always possible, many companies do not own all the software in  
their drivers, and especially many of the RAID card companies put a lot of  
the RAID code into their drivers -- that's their IP, and they would be  
giving away their trade secrets to make it open source.


-Steve


Re: DVM - D Version Manager 0.2.0

2011-05-18 Thread Daniel Gibson
Am 18.05.2011 17:20, schrieb Steven Schveighoffer:
 On Wed, 18 May 2011 10:47:02 -0400, Daniel Gibson
 metalcae...@gmail.com wrote:
 
 Am 18.05.2011 14:21, schrieb Steven Schveighoffer:
 
 At my previous company, we integrated software from pure software
 companies into their required OSes and hardware, and did all the
 OS/hardware dirty work for them (i.e. we turned pure software into an
 appliance).  One of the *worst* problems was when the customer wanted
 some version of Linux, and let's say they had a specific kernel build.
 Because of the expectation from the Linux kernel that you just recompile
 all your drivers, any RAID card (a very common requirement) which had
 proprietary driver code would require us to contact the hardware vendor,
 and have them rebuild the RAID driver on their specific kernel (for a
 not-so-nominal fee of course, with very little support).


 That's why you should use hardware that doesn't rely on proprietary
 drivers on Linux. If the driver is integrated in the Kernel you don't
 have to worry if it still works after minor or major upgrades.
 On Windows you may have hardware that is supported on Windows XP, but
 not on Win7 etc.
 
 I don't want to get into a philosophical debate here, but this is truly
 unrealistic.  I think it's one of the main reasons many hardware
 companies don't support Linux.  Opening the source does not mean you
 will not support it, and then you have to deal with 8 million
 configuration options for the kernel to test against your driver.  As a
 hardware company whose main purpose is not writing drivers, that sounds
 like a QA nightmare.
 

I don't know much about coding for the kernel, but I guess that most of
the configuration options shouldn't affect your driver.
Of course there may still be a lot of options left that could affect
your driver.

 Yes, XP drivers don't work on Windows 7, but they work on XP, and there
 is only *one* XP.  Furthermore, Microsoft *purposely* does not
 invalidate existing drivers.  Compare that to Linux, where not only do
 the interfaces in the kernel change from revision to revision, but
 someone is *rebuilding* the entire kernel and all the drivers on every
 revision.  I'm surprised it works as well as it does.
 
 Case in point, while I was using Linux as my main OS, an upgrade of the
 Fedora kernel simply broke my sound card driver.  There was no changes
 to the driver, and I really never figured out what happened, but an
 upgrade to the next major release fixed the problem.  There is
 absolutely no reason for existing drivers to break on a minor upgrade.
 

Are you sure that it wasn't some userspace fuckup?
Also: bugs in the kernel and drivers are always possible, especially
when using a bleeding edge distribution like Fedora.

 I think using hardware with free/open drivers is realistic for about any
 hardware besides video cards - although the open drivers for AMD/Ati are
 getting better. And the proprietary drivers for them are compatible to
 any recent kernels (apart from maybe the most recent one, but you won't
 find that in distributions anyway). You just have to be a bit careful
 and choose your hardware accordingly.
 
 Printer support is woefully missing.  My 2-year old printer still isn't
 supported on Linux.

As I said, you have to choose your hardware accordingly.
There are a lot of printers that have really good Linux support - more
expensive ones via postscript and/or PCL, cheap ones (especially
inkjets) often need some proprietary libs, that are however independent
of the kernel and tend to work, even when they haven't been updated for
some years (cheap HP printers are often supported via HPs open source
hplip driver).

http://www.openprinting.org/printers is pretty helpful and the
proprietary drivers are available from the printer vendors (for example
Brother supports many of their printers), so it's a good idea to look on
that page and on the vendors page for linux support before buying a
printer ;-)


 I fantasized about building my own linux kernel that had zero
 configuration options, and would never break driver compatibility
 between point revisions.  Such a kernel would allow hardware companies
 to release one driver and have it work for any system that used their
 hardware and that kernel.

 Like Redhats 2.6.18 fork they maintained forever?
 
 Not really.  I mean freeze the configuration options for the kernel --
 they can never change except for a major release.  Then, don't recompile
 the drivers for every kernel update.  Maintain *binary* compatibility
 for drivers, so one never has to recompile them unless the driver itself
 has a bug.
 
 I can't imagine hardware companies love
 supporting umpteen driver versions multiplied by umpteen linux vendors
 (generally they only pick one vendor and support that).

 Yeah, they should just donate the driver to the kernel (or at least
 release HW specs so somebody else can write an open driver) and let the
 kernel developers maintain it.
 
 This isn't 

Re: DVM - D Version Manager 0.2.0

2011-05-18 Thread Robert Clipsham

On 18/05/2011 16:20, Steven Schveighoffer wrote:

Printer support is woefully missing. My 2-year old printer still isn't
supported on Linux.


Now this is beyond me. Everyone I've talked to says printer support in 
Linux sucks, but I've been through several printers, and Linux has been 
the only operating system I've used that's had no problems with it. 
Regardless of the distro, it picks up a local or network printer and 
allows me to print without any configuration whatsoever - apparently it 
doesn't 'just work' for anyone else though. In OS X and Windows I have 
to manually find network printers and find drivers online, only the 
latter for local printers. Even then they don't always work.


--
Robert
http://octarineparrot.com/


Re: DVM - D Version Manager 0.2.0

2011-05-18 Thread Steven Schveighoffer
On Wed, 18 May 2011 14:51:18 -0400, Robert Clipsham  
rob...@octarineparrot.com wrote:



On 18/05/2011 16:20, Steven Schveighoffer wrote:

Printer support is woefully missing. My 2-year old printer still isn't
supported on Linux.


Now this is beyond me. Everyone I've talked to says printer support in  
Linux sucks, but I've been through several printers, and Linux has been  
the only operating system I've used that's had no problems with it.  
Regardless of the distro, it picks up a local or network printer and  
allows me to print without any configuration whatsoever - apparently it  
doesn't 'just work' for anyone else though. In OS X and Windows I have  
to manually find network printers and find drivers online, only the  
latter for local printers. Even then they don't always work.




At work, since I've been here (almost 2 years), my laptop always cuts off  
about 1/8 of an inch from the left of the page.  Until the latest upgrade  
to ubuntu 11, I would have to adjust the image quality to 1200 dpi every  
time I printed (even from the same application) or else any graphics on a  
page would be super-grainy like I printed it in 1995.


I'm sure it works great in some cases.  Just not in general.  And mostly  
not for me :(


-Steve


Re: DVM - D Version Manager 0.2.0

2011-05-18 Thread Daniel Gibson
Am 18.05.2011 21:22, schrieb Steven Schveighoffer:
 On Wed, 18 May 2011 14:51:18 -0400, Robert Clipsham
 rob...@octarineparrot.com wrote:
 
 On 18/05/2011 16:20, Steven Schveighoffer wrote:
 Printer support is woefully missing. My 2-year old printer still isn't
 supported on Linux.

 Now this is beyond me. Everyone I've talked to says printer support in
 Linux sucks, but I've been through several printers, and Linux has
 been the only operating system I've used that's had no problems with
 it. Regardless of the distro, it picks up a local or network printer
 and allows me to print without any configuration whatsoever -
 apparently it doesn't 'just work' for anyone else though. In OS X and
 Windows I have to manually find network printers and find drivers
 online, only the latter for local printers. Even then they don't
 always work.

 
 At work, since I've been here (almost 2 years), my laptop always cuts
 off about 1/8 of an inch from the left of the page.  Until the latest
 upgrade to ubuntu 11, I would have to adjust the image quality to 1200
 dpi every time I printed (even from the same application) or else any
 graphics on a page would be super-grainy like I printed it in 1995.
 
 I'm sure it works great in some cases.  Just not in general.  And mostly
 not for me :(
 
 -Steve

http://localhost:631

Printers - click on that printer - Administration - Set Default
Options - General - Print Quality



Re: DVM - D Version Manager 0.2.0

2011-05-18 Thread Nick Sabalausky
Jacob Carlborg d...@me.com wrote in message 
news:ir0o9o$1st5$1...@digitalmars.com...
 On 2011-05-18 14:21, Steven Schveighoffer wrote:
 On Wed, 18 May 2011 03:15:50 -0400, Nick Sabalausky a@a.a wrote:

 But the bottom line seems to be: Linux is in a bigger DLL hell than
 windows
 has ever been, and I don't think *anyone* actually knows how to do it.

 This is one of the side effects of having open source software. Since
 everything on linux is expected to be open source, it's expected that
 you simply recompile everything for your system. In this respect,
 Windows has Linux beat hands down. A hardware company that builds a
 driver needs only to support one compiled driver that just keeps working
 no matter how many times XP is updated.

 The problem I have with my tool is like the chicken and the egg problem. 
 The tool installs D compilers and you're supposed to use the tool without 
 the requirement of an pre-existing DMD compiler.


I've been thinking it would probably be possible to bootstrap DVM with a 
shell script that would wget some specific DMD, set it up, at least enough 
to build DVM (possibly even automatically building 
DMD/druntime/phobos/tango - which is something we really need a more 
automated way to do anway, especially for trunk versions (or whatever the 
Git-lingo for trunk is)), and then use that to build DVM.

I may give it a try myself.





  1   2   >