-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
For discussion: some significant changes to MinGHC #43
Comments
|
Forgot to mention: installer for this available at: https://s3.amazonaws.com/download.fpcomplete.com/minghc/minghc-7.10.1-i386-git.exe |
Btw, what's the motivation for bundling git? Installing it separately has never been that onerous for me... One possible line of attack would be that MinGHC could include enough to compile GHC itself, which would be a nice line in the sand as to what we do/do not include. |
Some of the Stackage tooling provides faster and more secure package index downloading by using Git. It's an optional dependency, but it will make users' lives better if present. |
Ah, that makes sense then. |
Your points about storing the executables in the repository are interesting. That could definitely simplify things: we would have a directory with a collection of .7z files, and just extract all of them to $INSTDIR/bin, am I correct? |
Thats roughly what I'm thinking - seems a bit easier than having half on amazon and half the stuff in git, plus that way I can update the pieces on my own. |
The one other thing I forgot to mention is that I'll need to manually unpack the bindist from GHC HQ and repack it as a 7z (or automate that process, either way). So we'll end up with I believe three sources for building this:
If you're OK with this, I'll move ahead with the rest of the changes for the |
GHC ships the bindist as an xz, can't 7zip open that? I thought it was 7zip under the hood. Other than that, all sounds good to me. Although we won't want to roll it out until network gets released, I guess. |
Right you are, I didn't realize 7z could handle that without extra DLLs. Cool, the makes my life much simpler (and the download a bit smaller too apparently). |
And you're right, we'll need to wait for the network release before doing this. |
Apparently 7zip can handle tons of formats, including xz, bz2, and gz. Neat.
|
OK, I think I've done enough damage on the git branch for one day. Diff at: https://github.com/fpco/minghc/compare/git?expand=1 I'm sure the Shake/nsis parts of this will make you cry @ndmitchell ;). I've also generated 4 installers (7.8.4/7.10.1 32/64 bit) and am uploading them to a temporary location on S3:
The first two are available now, the other two should be up in ~10 minutes (slow uploads right now for some reason). I've been using this, and it seems to be OK. Things to consider changing:
On that note, I think I'll finally have some dinner :) |
If everything's going in Roaming, IMO put it each part in its own directory On Wed, May 6, 2015 at 3:27 PM, Michael Snoyman notifications@github.com
|
@tejon One downside is that the uninstallers would no longer be able to get rid of PortableGit, since other installation may be using that. But maybe that's a good thing. I do lean towards doing this, so unless @ndmitchell is opposed we can move foward. |
Putting installs in $APPDATA feels wrong - it's not where I expect programs to be, and goes against the traditional Windows setup. I know Cabal gets installed in $APPDATA, but in a way that is data, as it was compiled on the users system. If we want to install PortableGit shared, I would have thought somewhere in Program Files was the right approach - e.g. MinGHC\7.10.1 for the version specific bits, and MinGHC\PortableGit for the other stuff. |
I agree that AppData is not correct, but program files isn't an option due On Thu, May 7, 2015, 8:50 AM Neil Mitchell notifications@github.com wrote:
|
Via StackOverflow I came to some Microsoft docs, which looks like a good place to install to (%LOCALAPPDATA%\Programs). |
Johan released s new version of network, so we can release whenever we're ready. |
I've updated the install to use $LOCALAPPDATA\Programs. I'm not longer certain about putting I'd rather not let that restructuring block the rest of this, so @tejon, if you want to continue the discussion on that, could you open it as a separate issue? @ndmitchell I'm going to close this issue and open a PR. Once this is merged to master, I'll regenerate all of the installers. I'll likely upload to a temporary location and ask for some testing before making it the official installer. |
I see no reason to share git - we don't share anything else. Why not just install lots of copies of Git inside each MinGHC? You are trading off disk-space (which is basically free and small in comparison to the size of GHC) for robustness (which we all like). |
I like the idea of keeping to having minghc being a self contained If the user wants Git, then the user should install Git and manage herself As Neil says, the cost is of course a bit of extra disk space, but that |
I thought we were talking about a mandatory location akin to Cabal's, not just a new default. If it's still under user control then I agree, keep it gathered. |
While I understand the need for MSYS2, I don't quite understand the need for git. Many people use the GitHub desktop tool, for example, which comes with it's own |
I miss |
The need for |
Some follow-ups on Git for Windows MSYS2 vs. vanilla MSYS2:
However that doesn't mean that GfW isn't better suited for MinGHC. For example, the writable By the way, should #20 now be closed? |
I was unaware of the .tar.xz version, that's what I was looking for. The writable /tmp would also be very nice. But getting a package which includes git and pacman seems ideal. On that note: I think #20 should remain open until we should pacman. |
GfW provides two environments:
Personally, I think this could work for MinGHC, too, but it requires maintaining a pacman repository with GHC (and cabal-install and others). |
I started off yesterday playing with the idea of bundling Git with MinGHC. A bunch of changes in that direction are on the
git
branch. Unfortunately going down this path ended up raising a lot of tangential issues, so I'd like to raise them here for discussion.git
branch, I took the approach of bundling the.7z
archives in the installer itself, together with 7z.exe and 7z.dll, and then decompressing from the nsis script. This makes the executable creation process faster, and reduces dependencies on the build system (no need for bzip2, gzip, or bsdtar)./tmp
directory is writable. I solved this by installing everything into $HOME/AppData/Roaming/minghc-7.10.1-i386. I'm leaning towards this being a good idea as opposed to just a hack to get PortableGit working..7z
archive containing all of the executables, which seems like an easier thing to manage.Sorry for the large, all-at-once braindump. I thought I'd be able to play with just Git, but I ended up unraveling many other things.
The text was updated successfully, but these errors were encountered: