<div dir="ltr"><div dir="ltr"><div>Hi Andrey<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jan 27, 2019 at 10:49 PM Andrey Mokhov <<a href="mailto:andrey.mokhov@newcastle.ac.uk">andrey.mokhov@newcastle.ac.uk</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div lang="EN-GB">
<div class="gmail-m_-4970382326741306751WordSection1">
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">Hi Tamar,</span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"> </span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">Here is the relevant bullet point from the README:
</span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"> </span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">> On Windows, if you do not want to install MSYS, you can</span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">> use the Stack-based build script (Stack provides a managed
</span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">> MSYS environment), as described in these instructions.</span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">> If you don't mind installing MSYS yourself or already have it,</span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">> you can use the Cabal-based build script.</span></p></div></div></blockquote><div><br></div>Yes, I was referring to the "My first build" heading which had a call to build.bat, but it seems my branch was just old and the file was updated 11 days ago to use cabal instead of stack.</div><div class="gmail_quote">Now the rest of the file also makes sense. Apologies for that, I thought I had updated</div><div class="gmail_quote"><br></div><div class="gmail_quote"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"></span><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-GB"><div class="gmail-m_-4970382326741306751WordSection1">
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">This claim is based on my experience. Installing the MSYS environment has never worked out smoothly for me. Doing this via Stack was
indeed more robust (especially, when struggling with building GHC on Windows CI!). Has this been different in your experience?<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><u></u> </span></p></div></div></blockquote><div><br></div><div>Yes, stack does nothing special than just un-tar the binary distribution of msys2. The problem is that this binary distribution is not kept up to date unless things break. By that point they may have gotten so out of date that the distribution simply can't even be upgraded. e.g. A while ago they used a distribution that's so old it couldn't deal with pacman's invalidating old certificates, which means you couldn't use it to update ca-certificates.<br></div><div><br></div><div>It also can't handle when msys upstream changes core dependencies. One such update is a change in march that introduced a cyclic dependency between
<span class="gmail-blob-code-inner gmail-blob-code-marker"><span class="gmail-pl-s">catgets libcatgets</span></span> and some packages. Or when they change the package layout as they did removing the old shell scripts and making Mingw32.exe and Mingw64.exe. I can name many more. The fact is the msys2 installers are set up to work around these updates, or you must work around them when initializing the environment to fix these.</div><div><br></div><div>And I see no evidence based on past issues that stack actually keeps their msys2 installs up to date. So I don't want to go into the business of managing stack msys2 issues for ghc builds.<br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-GB"><div class="gmail-m_-4970382326741306751WordSection1"><p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">> I'm just confused when it was decided to switch the defaults,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">> and why, without any consultation.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">I’m not sure what you mean. Could you clarify? The file `doc/windows.md` is 3 years old and hasn’t changed much since creation. The
default build script `build.bat` currently uses Cabal:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">```<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">rem By default on Windows we build Hadrian using Cabal<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">hadrian/build.cabal.bat %*<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">```</span></p></div></div></blockquote><div><br></div><div>Yes.. I'm pretty sure when I looked at it before today it was pointing to build.stack.bat, but that seems to be a two week old tree. So my fault there.</div><div><br></div><div>Sorry, should have checked on gitlab!</div><div><br></div><div>Regards,</div><div>Tamar<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-GB"><div class="gmail-m_-4970382326741306751WordSection1"><p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">P.S.: I’ve just noticed that `doc/windows.md` hasn’t been updated when moving to GitLab, and created this MR to fix this:
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><a href="https://gitlab.haskell.org/ghc/ghc/merge_requests/239" target="_blank">https://gitlab.haskell.org/ghc/ghc/merge_requests/239</a><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">Please jump into the comments there if you’d like me to fix/clarify anything.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">Thanks for reaching out!<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">Cheers,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">Andrey<u></u><u></u></span></p>
<p class="MsoNormal"><a name="m_-4970382326741306751__MailEndCompose"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></a></p>
<p class="MsoNormal"><b><span style="font-size:11pt;font-family:"Calibri",sans-serif" lang="EN-US">From:</span></b><span style="font-size:11pt;font-family:"Calibri",sans-serif" lang="EN-US"> Phyx [mailto:<a href="mailto:lonetiger@gmail.com" target="_blank">lonetiger@gmail.com</a>]
<br>
<b>Sent:</b> 27 January 2019 21:11<br>
<b>To:</b> Andrey Mokhov <<a href="mailto:andrey.mokhov@newcastle.ac.uk" target="_blank">andrey.mokhov@newcastle.ac.uk</a>>; Ben Gamari <<a href="mailto:ben@well-typed.com" target="_blank">ben@well-typed.com</a>><br>
<b>Cc:</b> GHC developers <<a href="mailto:ghc-devs@haskell.org" target="_blank">ghc-devs@haskell.org</a>><br>
<b>Subject:</b> Re: [ANNOUNCE] You should try Hadrian<u></u><u></u></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<div>
<div>
<p class="MsoNormal">Hi Andrey,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I'm looking at <a href="https://gitlab.haskell.org/ghc/ghc/blob/master/hadrian/README.md" target="_blank">
https://gitlab.haskell.org/ghc/ghc/blob/master/hadrian/README.md</a> and <a href="https://gitlab.haskell.org/ghc/ghc/blob/master/hadrian/doc/windows.md" target="_blank">
https://gitlab.haskell.org/ghc/ghc/blob/master/hadrian/doc/windows.md</a><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">wondering why the default instructions for Windows are using stack, this isn't currently the case.<u></u><u></u></p>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">In order for ./boot and configure to work already you need to be in an msys2 environment. So having stack install its own, un-updated msys2 is not a workflow I would recommend.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">There's a dubious claim there that using stack is "more robust", what is this claim based on?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">I'm just confused when it was decided to switch the defaults, and why, without any consultation.
<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Regards,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Tamar<u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote></div></div></div>