www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Who knows about https://github.com/D-Programming-Language/tools/blob/master/update.sh?

reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
We have a really nice script:

https://github.com/D-Programming-Language/tools/blob/master/update.sh

Basically fetching that script and running it creates a full dmd 
development rig, soup to nuts. It's a boon for would-be contributors. In 
addition, it's a really clean and nicely written script that can be 
easily followed and traced.

We should raise awareness of it. Ideas on how to do that?


Andrei
Jan 28 2015
next sibling parent "Daniel Murphy" <yebbliesnospam gmail.com> writes:
"Andrei Alexandrescu"  wrote in message 
news:mab24a$1gve$1 digitalmars.com...

 We have a really nice script:

 https://github.com/D-Programming-Language/tools/blob/master/update.sh

 Basically fetching that script and running it creates a full dmd 
 development rig, soup to nuts. It's a boon for would-be contributors. In 
 addition, it's a really clean and nicely written script that can be easily 
 followed and traced.

 We should raise awareness of it. Ideas on how to do that?
Feature it prominently in the repo readmes, and the wiki guides.
Jan 28 2015
prev sibling next sibling parent "H. S. Teoh via Digitalmars-d" <digitalmars-d puremagic.com> writes:
On Wed, Jan 28, 2015 at 08:18:18AM -0800, Andrei Alexandrescu via Digitalmars-d
wrote:
 We have a really nice script:
 
 https://github.com/D-Programming-Language/tools/blob/master/update.sh
 
 Basically fetching that script and running it creates a full dmd
 development rig, soup to nuts. It's a boon for would-be contributors.
 In addition, it's a really clean and nicely written script that can be
 easily followed and traced.
 
 We should raise awareness of it. Ideas on how to do that?
[...] Add it to: http://wiki.dlang.org/Building_DMD T -- Philosophy: how to make a career out of daydreaming.
Jan 28 2015
prev sibling next sibling parent reply "Benjamin Thaut" <code benjamin-thaut.de> writes:
On Wednesday, 28 January 2015 at 16:18:18 UTC, Andrei 
Alexandrescu wrote:
 We have a really nice script:

 https://github.com/D-Programming-Language/tools/blob/master/update.sh
And once again this only works for linux... DMDs test framework is also a hell to use on Windows. It takes 5 times as long to run on Windows compared to linux.
Jan 28 2015
next sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 1/28/15 9:01 AM, Benjamin Thaut wrote:
 On Wednesday, 28 January 2015 at 16:18:18 UTC, Andrei Alexandrescu wrote:
 We have a really nice script:

 https://github.com/D-Programming-Language/tools/blob/master/update.sh
And once again this only works for linux...
OSX too. What would be a good approach for Windows?
 DMDs test framework is also a hell to use on Windows. It takes 5 times
 as long to run on Windows compared to linux.
Interesting. Why would that be? Andrei
Jan 28 2015
next sibling parent reply Benjamin Thaut <code benjamin-thaut.de> writes:
Am 28.01.2015 um 18:05 schrieb Andrei Alexandrescu:
 On 1/28/15 9:01 AM, Benjamin Thaut wrote:
 On Wednesday, 28 January 2015 at 16:18:18 UTC, Andrei Alexandrescu wrote:
 We have a really nice script:

 https://github.com/D-Programming-Language/tools/blob/master/update.sh
And once again this only works for linux...
OSX too. What would be a good approach for Windows?
 DMDs test framework is also a hell to use on Windows. It takes 5 times
 as long to run on Windows compared to linux.
Interesting. Why would that be? Andrei
Because its a .sh script and windows sucks for starting tons of processes. (What a .sh script basically is) It would be great if the entire dmd testing process would be driven by a executable written in D. Same goes for the update.sh, why can't it be a D program? (Requiering that Git is in the PATH or maybe searching some standard locations).
Jan 28 2015
next sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 1/28/15 10:46 AM, Benjamin Thaut wrote:
 Same goes for the update.sh, why can't it be a D program? (Requiering
 that Git is in the PATH or maybe searching some standard locations).
Presumably because D is not yet available. -- Andrei
Jan 28 2015
parent reply Benjamin Thaut <code benjamin-thaut.de> writes:
Am 28.01.2015 um 19:52 schrieb Andrei Alexandrescu:
 On 1/28/15 10:46 AM, Benjamin Thaut wrote:
 Same goes for the update.sh, why can't it be a D program? (Requiering
 that Git is in the PATH or maybe searching some standard locations).
Presumably because D is not yet available. -- Andrei
I think its safe to assume, that everyone who wants to start contributing to D has at least some D compiler installed before actually hacking druntime / phobos or dmd.
Jan 28 2015
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 1/28/15 10:54 AM, Benjamin Thaut wrote:
 Am 28.01.2015 um 19:52 schrieb Andrei Alexandrescu:
 On 1/28/15 10:46 AM, Benjamin Thaut wrote:
 Same goes for the update.sh, why can't it be a D program? (Requiering
 that Git is in the PATH or maybe searching some standard locations).
Presumably because D is not yet available. -- Andrei
I think its safe to assume, that everyone who wants to start contributing to D has at least some D compiler installed before actually hacking druntime / phobos or dmd.
Ionno, I very much like the "I have nothing installed and I want to get my hands dirty". -- Andrei
Jan 28 2015
next sibling parent "Adam D. Ruppe" <destructionator gmail.com> writes:
On Wednesday, 28 January 2015 at 18:59:24 UTC, Andrei 
Alexandrescu wrote:
 Ionno, I very much like the "I have nothing installed and I 
 want to get my hands dirty". -- Andrei
If only D had some way of... I'm not sure what the word is... I think it is "compiling" the source code into a form that can be run without a preexisting development environment. I'm not sure it is even possible to run without getting the user to install a VM or something though. I've heard rumors that there's this thing called "native code" and even "static linking", whatever weird black magic that is, but I doubt D supports any of that either. So yeah... seriously just offer a binary download next to the source. Problem solved.
Jan 28 2015
prev sibling next sibling parent reply "H. S. Teoh via Digitalmars-d" <digitalmars-d puremagic.com> writes:
On Wed, Jan 28, 2015 at 10:59:26AM -0800, Andrei Alexandrescu via Digitalmars-d
wrote:
 On 1/28/15 10:54 AM, Benjamin Thaut wrote:
Am 28.01.2015 um 19:52 schrieb Andrei Alexandrescu:
On 1/28/15 10:46 AM, Benjamin Thaut wrote:
Same goes for the update.sh, why can't it be a D program?
(Requiering that Git is in the PATH or maybe searching some
standard locations).
Presumably because D is not yet available. -- Andrei
I think its safe to assume, that everyone who wants to start contributing to D has at least some D compiler installed before actually hacking druntime / phobos or dmd.
Ionno, I very much like the "I have nothing installed and I want to get my hands dirty". -- Andrei
That will no longer be an option once D becomes self-hosting (DDMD)... OTOH, just ship the binary! :-P T -- MACINTOSH: Most Applications Crash, If Not, The Operating System Hangs
Jan 28 2015
parent "Daniel Murphy" <yebbliesnospam gmail.com> writes:
"H. S. Teoh via Digitalmars-d"  wrote in message 
news:mailman.5522.1422473874.9932.digitalmars-d puremagic.com...

 That will no longer be an option once D becomes self-hosting (DDMD)...

 OTOH, just ship the binary! :-P
Exactly. A host D compiler is an inevitable requirement.
Jan 28 2015
prev sibling parent "Piotrek" <no_data no_data.pl> writes:
On Wednesday, 28 January 2015 at 18:59:24 UTC, Andrei 
Alexandrescu wrote:
 On 1/28/15 10:54 AM, Benjamin Thaut wrote:
 Am 28.01.2015 um 19:52 schrieb Andrei Alexandrescu:
 On 1/28/15 10:46 AM, Benjamin Thaut wrote:
 Same goes for the update.sh, why can't it be a D program? 
 (Requiering
 that Git is in the PATH or maybe searching some standard 
 locations).
Presumably because D is not yet available. -- Andrei
I think its safe to assume, that everyone who wants to start contributing to D has at least some D compiler installed before actually hacking druntime / phobos or dmd.
Ionno, I very much like the "I have nothing installed and I want to get my hands dirty". -- Andrei
Installing DMD is almost noop. OTOH, handling sh scripts is an oder of magnitude bigger problem (my subjective opinion). Piotrek
Jan 28 2015
prev sibling parent reply "Laeeth Isharc" <laeethnospam nospamlaeeth.com> writes:
On Wednesday, 28 January 2015 at 18:46:05 UTC, Benjamin Thaut 
wrote:
 Am 28.01.2015 um 18:05 schrieb Andrei Alexandrescu:
 On 1/28/15 9:01 AM, Benjamin Thaut wrote:
 On Wednesday, 28 January 2015 at 16:18:18 UTC, Andrei 
 Alexandrescu wrote:
 We have a really nice script:

 https://github.com/D-Programming-Language/tools/blob/master/update.sh
And once again this only works for linux...
OSX too. What would be a good approach for Windows?
 DMDs test framework is also a hell to use on Windows. It 
 takes 5 times
 as long to run on Windows compared to linux.
Interesting. Why would that be? Andrei
Because its a .sh script and windows sucks for starting tons of processes. (What a .sh script basically is) It would be great if the entire dmd testing process would be driven by a executable written in D. Same goes for the update.sh, why can't it be a D program? (Requiering that Git is in the PATH or maybe searching some standard locations).
Now the update.sh can be a D program. Ported it. Might need some tweaking before it works on Windows or OS X, and I do not claim it is pretty. https://github.com/D-Programming-Language/tools/pull/158 Laeeth.
Jan 29 2015
parent reply "Baz" <bb.temp gmx.com> writes:
On Thursday, 29 January 2015 at 08:05:28 UTC, Laeeth Isharc wrote:
 On Wednesday, 28 January 2015 at 18:46:05 UTC, Benjamin Thaut 
 wrote:
 Am 28.01.2015 um 18:05 schrieb Andrei Alexandrescu:
 On 1/28/15 9:01 AM, Benjamin Thaut wrote:
 On Wednesday, 28 January 2015 at 16:18:18 UTC, Andrei 
 Alexandrescu wrote:
 We have a really nice script:

 https://github.com/D-Programming-Language/tools/blob/master/update.sh
And once again this only works for linux...
OSX too. What would be a good approach for Windows?
 DMDs test framework is also a hell to use on Windows. It 
 takes 5 times
 as long to run on Windows compared to linux.
Interesting. Why would that be? Andrei
Because its a .sh script and windows sucks for starting tons of processes. (What a .sh script basically is) It would be great if the entire dmd testing process would be driven by a executable written in D. Same goes for the update.sh, why can't it be a D program? (Requiering that Git is in the PATH or maybe searching some standard locations).
Now the update.sh can be a D program. Ported it. Might need some tweaking before it works on Windows or OS X, and I do not claim it is pretty. https://github.com/D-Programming-Language/tools/pull/158 Laeeth.
It has been a source of inspiration to write a D script designed to build DMD-head for win32, though it'd need improvment: http://wiki.dlang.org/Building_DMD#Using_a_D_script - it clones or pulls dmd/runtime/phobos - it builds dmd/runtime/phobos with a few tweaking it could be cross-platform.
Feb 08 2015
parent "Laeeth Isharc" <Laeeth.nospam nospam-laeeth.com> writes:
On Sunday, 8 February 2015 at 10:58:40 UTC, Baz wrote:
 On Thursday, 29 January 2015 at 08:05:28 UTC, Laeeth Isharc 
 wrote:
 On Wednesday, 28 January 2015 at 18:46:05 UTC, Benjamin Thaut 
 wrote:
 Am 28.01.2015 um 18:05 schrieb Andrei Alexandrescu:
 On 1/28/15 9:01 AM, Benjamin Thaut wrote:
 On Wednesday, 28 January 2015 at 16:18:18 UTC, Andrei 
 Alexandrescu wrote:
 We have a really nice script:

 https://github.com/D-Programming-Language/tools/blob/master/update.sh
And once again this only works for linux...
OSX too. What would be a good approach for Windows?
 DMDs test framework is also a hell to use on Windows. It 
 takes 5 times
 as long to run on Windows compared to linux.
Interesting. Why would that be? Andrei
Because its a .sh script and windows sucks for starting tons of processes. (What a .sh script basically is) It would be great if the entire dmd testing process would be driven by a executable written in D. Same goes for the update.sh, why can't it be a D program? (Requiering that Git is in the PATH or maybe searching some standard locations).
Now the update.sh can be a D program. Ported it. Might need some tweaking before it works on Windows or OS X, and I do not claim it is pretty. https://github.com/D-Programming-Language/tools/pull/158 Laeeth.
It has been a source of inspiration to write a D script designed to build DMD-head for win32, though it'd need improvment: http://wiki.dlang.org/Building_DMD#Using_a_D_script - it clones or pulls dmd/runtime/phobos - it builds dmd/runtime/phobos with a few tweaking it could be cross-platform.
Nice. I will give it a go on linux when time (I know I would need to tweak).
Feb 12 2015
prev sibling parent "Vladimir Panteleev" <vladimir thecybershadow.net> writes:
On Wednesday, 28 January 2015 at 17:05:48 UTC, Andrei 
Alexandrescu wrote:
 On 1/28/15 9:01 AM, Benjamin Thaut wrote:
 On Wednesday, 28 January 2015 at 16:18:18 UTC, Andrei 
 Alexandrescu wrote:
 We have a really nice script:

 https://github.com/D-Programming-Language/tools/blob/master/update.sh
And once again this only works for linux...
OSX too. What would be a good approach for Windows?
Use Digger? It gets all dependencies and works on all major platforms.
Jan 28 2015
prev sibling next sibling parent reply "weaselcat" <weaselcat gmail.com> writes:
On Wednesday, 28 January 2015 at 17:01:07 UTC, Benjamin Thaut 
wrote:
 On Wednesday, 28 January 2015 at 16:18:18 UTC, Andrei 
 Alexandrescu wrote:
 We have a really nice script:

 https://github.com/D-Programming-Language/tools/blob/master/update.sh
And once again this only works for linux... DMDs test framework is also a hell to use on Windows. It takes 5 times as long to run on Windows compared to linux.
Should work fine on any POSIX compliant system with zsh. Use cygwin? Not really surprising windows isn't well supported, it's not a developer's platform. Does msvc C even support C99 yet?
Jan 28 2015
parent reply Benjamin Thaut <code benjamin-thaut.de> writes:
Am 28.01.2015 um 18:10 schrieb weaselcat:
 On Wednesday, 28 January 2015 at 17:01:07 UTC, Benjamin Thaut wrote:
 On Wednesday, 28 January 2015 at 16:18:18 UTC, Andrei Alexandrescu wrote:
 We have a really nice script:

 https://github.com/D-Programming-Language/tools/blob/master/update.sh
And once again this only works for linux... DMDs test framework is also a hell to use on Windows. It takes 5 times as long to run on Windows compared to linux.
Should work fine on any POSIX compliant system with zsh. Use cygwin? Not really surprising windows isn't well supported, it's not a developer's platform. Does msvc C even support C99 yet?
Microsoft does not have a offical C compiler. They only have a C++ compiler. And as a result they are also not supporting C99, they only support that part of C which is required by C++ and afaik C99 is not required by the C++ standard. Also saying that Windows is not a developers plattform might be true for your field of computer sience, but where I work everyone is using windows exclusivly for development, and linux is more or less a optional platform.
Jan 28 2015
parent reply ketmar <ketmar ketmar.no-ip.org> writes:
On Wed, 28 Jan 2015 19:53:09 +0100, Benjamin Thaut wrote:

 Microsoft does not have a offical C compiler. They only have a C++
 compiler. And as a result they are also not supporting C99, they only
 support that part of C which is required by C++ and afaik C99 is not
 required by the C++ standard.
=20
 Also saying that Windows is not a developers plattform might be true for
 your field of computer sience, but where I work everyone is using
 windows exclusivly for development, and linux is more or less a optional
 platform.
developement platform without official C compiler... o tempora, o mores...=
Jan 28 2015
parent "Piotrek" <no_data no_data.pl> writes:
On Wednesday, 28 January 2015 at 21:54:07 UTC, ketmar wrote:
 developement platform without official C compiler... o tempora, 
 o mores...
Please, mercy... This is D forum. Piotrek
Jan 28 2015
prev sibling parent "CraigDillabaugh" <craig.dillabaugh gmail.com> writes:
On Wednesday, 28 January 2015 at 17:01:07 UTC, Benjamin Thaut 
wrote:
 On Wednesday, 28 January 2015 at 16:18:18 UTC, Andrei 
 Alexandrescu wrote:
 We have a really nice script:

 https://github.com/D-Programming-Language/tools/blob/master/update.sh
And once again this only works for linux... DMDs test framework is also a hell to use on Windows. It takes 5 times as long to run on Windows compared to linux.
Hey well the script isn't too long. Someone should be able to port that baby to PowerShell in a few hours! Sadly, I don't have a Windows machine ... so I can't really help.
Jan 28 2015
prev sibling next sibling parent reply "David Soria Parra" <davidsp fb.com> writes:
On Wednesday, 28 January 2015 at 16:18:18 UTC, Andrei 
Alexandrescu wrote:
 We have a really nice script:

 https://github.com/D-Programming-Language/tools/blob/master/update.sh

 Basically fetching that script and running it creates a full 
 dmd development rig, soup to nuts. It's a boon for would-be 
 contributors. In addition, it's a really clean and nicely 
 written script that can be easily followed and traced.

 We should raise awareness of it. Ideas on how to do that?


 Andrei
Typical Rust, some ruby or php projects and for example clojures leinigen offer just the script to download like: http://get-dlang.org/install.sh and have get-dlang.org being a super simple site that explains how to download it. Then feature it in every announcement and make it one of the major ways of getting D.
Jan 28 2015
parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 1/28/15 10:41 AM, David Soria Parra wrote:
 On Wednesday, 28 January 2015 at 16:18:18 UTC, Andrei Alexandrescu wrote:
 We have a really nice script:

 https://github.com/D-Programming-Language/tools/blob/master/update.sh

 Basically fetching that script and running it creates a full dmd
 development rig, soup to nuts. It's a boon for would-be contributors.
 In addition, it's a really clean and nicely written script that can be
 easily followed and traced.

 We should raise awareness of it. Ideas on how to do that?


 Andrei
Typical Rust, some ruby or php projects and for example clojures leinigen offer just the script to download like: http://get-dlang.org/install.sh and have get-dlang.org being a super simple site that explains how to download it. Then feature it in every announcement and make it one of the major ways of getting D.
Hmmm... but this is for developers not installation. Aren't the examples you give referring to the installation? -- Andrei
Jan 28 2015
prev sibling parent reply "Ulrich =?UTF-8?B?S8O8dHRsZXIi?= <kuettler gmail.com> writes:
On Wednesday, 28 January 2015 at 16:18:18 UTC, Andrei 
Alexandrescu wrote:
 We have a really nice script:
The script overrides the dmd in the path. This does not get along well with binary installations or e.g. dvm. I was surprised to find $HOME/.dvm/compilers/dmd-2.066.1/linux/bin/dmd updated.
Jan 28 2015
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 1/28/15 12:13 PM, "Ulrich =?UTF-8?B?S8O8dHRsZXIi?= 
<kuettler gmail.com>" wrote:
 On Wednesday, 28 January 2015 at 16:18:18 UTC, Andrei Alexandrescu wrote:
 We have a really nice script:
The script overrides the dmd in the path. This does not get along well with binary installations or e.g. dvm. I was surprised to find $HOME/.dvm/compilers/dmd-2.066.1/linux/bin/dmd updated.
Yah I agree that's a bit harsh. PR to make it an option? -- Andrei
Jan 28 2015
parent "Ulrich =?UTF-8?B?S8O8dHRsZXIi?= <kuettler gmail.com> writes:
On Wednesday, 28 January 2015 at 20:35:17 UTC, Andrei 
Alexandrescu wrote:
 On 1/28/15 12:13 PM, "Ulrich =?UTF-8?B?S8O8dHRsZXIi?= 
 <kuettler gmail.com>" wrote:
 On Wednesday, 28 January 2015 at 16:18:18 UTC, Andrei 
 Alexandrescu wrote:
 We have a really nice script:
The script overrides the dmd in the path. This does not get along well with binary installations or e.g. dvm. I was surprised to find $HOME/.dvm/compilers/dmd-2.066.1/linux/bin/dmd updated.
Yah I agree that's a bit harsh. PR to make it an option? --
https://github.com/D-Programming-Language/tools/pull/157
Jan 28 2015