www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Release D 2.093.0

reply Martin Nowak <code dawg.eu> writes:
Glad to announce D 2.093.0, ♥ to the 54 contributors.

This release comes with a preview for shared variable 
initialization, template instantiation statistics, better Windows 
support of the install.sh script, and higher accuracy GC memory 
options.

http://dlang.org/download.html
http://dlang.org/changelog/2.093.0.html

-Martin
Jul 12
next sibling parent Greatsam4sure <greatsam4sure yahoo.com> writes:
On Sunday, 12 July 2020 at 09:04:40 UTC, Martin Nowak wrote:
 Glad to announce D 2.093.0, ♥ to the 54 contributors.

 This release comes with a preview for shared variable 
 initialization, template instantiation statistics, better 
 Windows support of the install.sh script, and higher accuracy 
 GC memory options.

 http://dlang.org/download.html
 http://dlang.org/changelog/2.093.0.html

 -Martin
Thanks to all the great people behind this great release.The D community hold you, people, a lot.
Jul 12
prev sibling next sibling parent aberba <karabutaworld gmail.com> writes:
On Sunday, 12 July 2020 at 09:04:40 UTC, Martin Nowak wrote:
 Glad to announce D 2.093.0, ♥ to the 54 contributors.

 This release comes with a preview for shared variable 
 initialization, template instantiation statistics, better 
 Windows support of the install.sh script, and higher accuracy 
 GC memory options.

 http://dlang.org/download.html
 http://dlang.org/changelog/2.093.0.html

 -Martin
Big ups to everyone involved. Very well appreciated.
Jul 12
prev sibling next sibling parent Jacob Carlborg <doob me.com> writes:
On 2020-07-12 11:04, Martin Nowak wrote:
 Glad to announce D 2.093.0, ♥ to the 54 contributors.
I just tried to use this release in a GitHub Action using the "dlang-community/setup-dlang v1" action. I got an error about the signature is not trusted. I tried 2.092.0, that works fine. Here's the full output: Downloading http://downloads.dlang.org/releases/2.x/2.093.0/dmd.2.093.0.osx.tar.xz 7 Verifying the download with GPG 8 gpg: Signature made Tue Jul 7 13:27:08 2020 UTC 9 gpg: using RSA key 3AAF1A18E61F6FAA3B7193E4DB8C5218B9329CF8 10 gpg: directory '/Users/runner/.gnupg' created 11 gpg: /Users/runner/.gnupg/trustdb.gpg: trustdb created 12 gpg: Good signature from "Martin Nowak <code dawg.eu>" [unknown] 13 gpg: aka "Martin Nowak <martin.nowak 7learnings.com>" [unknown] 14 gpg: aka "Martin Nowak <martin dlang.org>" [unknown] 15 gpg: WARNING: This key is not certified with a trusted signature! 16 gpg: There is no indication that the signature belongs to the owner. 17 Primary key fingerprint: F46A 10D0 AB44 C3D1 5DD6 5797 BCDD 73FF C3EB 6146 18 Subkey fingerprint: 3AAF 1A18 E61F 6FAA 3B71 93E4 DB8C 5218 B932 9CF8 -- /Jacob Carlborg
Jul 12
prev sibling next sibling parent Walter Bright <newshound2 digitalmars.com> writes:
On 7/12/2020 2:04 AM, Martin Nowak wrote:
 Glad to announce D 2.093.0, ♥ to the 54 contributors.
 
 This release comes with a preview for shared variable initialization, template 
 instantiation statistics, better Windows support of the install.sh script, and 
 higher accuracy GC memory options.
 
 http://dlang.org/download.html
 http://dlang.org/changelog/2.093.0.html
 
 -Martin
 
Thank you, Martin! It's on hacker news now, second page. https://news.ycombinator.com/news
Jul 16
prev sibling parent reply jmh530 <john.michael.hall gmail.com> writes:
On Sunday, 12 July 2020 at 09:04:40 UTC, Martin Nowak wrote:
 Glad to announce D 2.093.0, ♥ to the 54 contributors.

 This release comes with a preview for shared variable 
 initialization, template instantiation statistics, better 
 Windows support of the install.sh script, and higher accuracy 
 GC memory options.

 http://dlang.org/download.html
 http://dlang.org/changelog/2.093.0.html

 -Martin
Thanks to everyone for this release. I just upgraded a machine to Linux Mint 20 on a fresh install and tried to run the install script. It fails with main: line 178: USERPROFILE: unbound variable This line should only be called on Windows, which I found strange. It turns out that this is driven by ``` posix_terminal() { argument to bash.exe, terminal, it will be > 1. if [ "$SHLVL" = 1 ]; then false else true fi } ``` Running `echo $SHLVL` prints `1` Running ``` bash echo $SHLVL ``` prints `2` Running `echo $SHELL` prints `/bin/bash` The issue seems to be related to an update to Ubuntu 16: https://askubuntu.com/questions/856532/why-is-shlvl-initially-2-in-ubuntu-16-10-but-not-earlier-versions
Jul 19
parent reply Bastiaan Veelo <Bastiaan Veelo.net> writes:
On Sunday, 19 July 2020 at 19:16:29 UTC, jmh530 wrote:
 I just upgraded a machine to Linux Mint 20 on a fresh install 
 and tried to run the install script. It fails with
 main: line 178: USERPROFILE: unbound variable

 This line should only be called on Windows, which I found 
 strange. It turns out that this is driven by

 ```
 posix_terminal() {

 argument to bash.exe,

 terminal, it will be > 1.
     if [ "$SHLVL" = 1 ]; then
         false
     else
         true
     fi
 }
 ```

 Running `echo $SHLVL` prints `1`

 Running
 ```
 bash
 echo $SHLVL
 ```
 prints `2`


 Running `echo $SHELL` prints `/bin/bash`

 The issue seems to be related to an update to Ubuntu 16:
 https://askubuntu.com/questions/856532/why-is-shlvl-initially-2-in-ubuntu-16-10-but-not-earlier-versions
I don't think it is related to the Ubuntu 16.10 issue, because the above test does not rely on SHLVL being 2 initially. If the script is called from the terminal, and the terminal is running bash (which it seems to do according to the output of $SHELL) SHLVL should be at least 1 on the terminal and one higher when the script is run (since running a script starts a new bash). Maybe the script is run in a way that breaks this assumption? Is it run using `call`? Is it run headless, without a terminal? Is it not run by real bash? There is a related conversation here, but not quite the same: https://github.com/dlang/installer/commit/e084815001390538bbd6fe5be7c2d4d81ee681b7#commitcomment-40487617 Please open an issue on https://issues.dlang.org/enter_bug.cgi and post a link here, if we need to drill deeper. I can imagine that the current `posix_terminal()` is flawed if the terminal is running a shell that is not bash, for which we should find a solution. --Bastiaan.
Jul 20
parent reply jmh530 <john.michael.hall gmail.com> writes:
On Monday, 20 July 2020 at 14:14:26 UTC, Bastiaan Veelo wrote:
 [snip]
Thanks for your reply. I have put some comments in line below.
 I don't think it is related to the Ubuntu 16.10 issue, because 
 the above test does not rely on SHLVL being 2 initially. If the 
 script is called from the terminal, and the terminal is running 
 bash (which it seems to do according to the output of $SHELL) 
 SHLVL should be at least 1 on the terminal and one higher when 
 the script is run (since running a script starts a new bash).
Hmm, ok. So your point is that its ok for it to start out of SHLVL 1, but then it should be incremented by calling bash as part of the curl pipe and detected? Is there a simple example of this behavior I could test?
 Maybe the script is run in a way that breaks this assumption? 
 Is it run using `call`? Is it run headless, without a terminal? 
 Is it not run by real bash?
As far as I can tell it is real bash (from above, "Running `echo $SHELL` prints `/bin/bash`")...but I primarily use Windows. All I did was install the operating system, update and restart as needed, open a terminal, and then went to the dlang downloads page and copy and pasted the line curl -fsS https://dlang.org/install.sh | bash -s dmd (I might have needed to make it sudo, I can't recall).
 There is a related conversation here, but not quite the same: 
 https://github.com/dlang/installer/commit/e084815001390538bbd6fe5be7c2d4d81ee681b7#commitcomment-40487617
nexor specifically mentioned docker being a problem. After getting Linux Mint 20 set up and failing to use the install.sh script, I switched to the package on the website and it installed without issue. However, I later tried to get docker working and then ran into this issue again and was not able to use the same workaround (I know very little about docker and did not want to push my luck). So not being able to use docker seems like a bigger issue than not being able to use the install.sh on Linux Mint 20.
 Please open an issue on https://issues.dlang.org/enter_bug.cgi 
 and post a link here, if we need to drill deeper.
See https://issues.dlang.org/show_bug.cgi?id=21059
 I can imagine that the current `posix_terminal()` is flawed if 
 the terminal is running a shell that is not bash, for which we 
 should find a solution.

 --Bastiaan.
Jul 20
parent Bastiaan Veelo <Bastiaan Veelo.net> writes:
On Monday, 20 July 2020 at 15:10:27 UTC, jmh530 wrote:
 See
 https://issues.dlang.org/show_bug.cgi?id=21059
Thanks, I will look into this. I posted a workaround there, which involves separate steps for downloading the script and running the script. --Bastiaan.
Jul 20