Skip to content
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

Use partial SHA1 instead of full platform name and Cabal version on Windows #1027

Merged
merged 1 commit into from
Sep 27, 2015
Merged

Use partial SHA1 instead of full platform name and Cabal version on Windows #1027

merged 1 commit into from
Sep 27, 2015

Conversation

anton-dessiatov
Copy link
Contributor

I've had problems using Stack with our project on Windows. The issue was that when installing dependencies (in particular, aeson-pretty-0.7.2), Stack failed to compile Paths_aeson_pretty module because full path to intermediate files exceeded Windows 260 characters limit.

This pull request makes build artifacts path shorter by replacing "platform/cabal" part of it with first 8 characters of Base16-encoded SHA1 of it. In my case, this helped to get aeson-pretty succesfully installed.

…n Windows with first 8 symbols of its SHA1 hash. This is done to decrease chances of hitting 260 symbol path limit.
@snoyberg
Copy link
Contributor

This has two downsides:

  • Paths on Windows will be less user friendly
  • Existing built libraries will be affected (likely unusable)

This is still probably a good move, but would you mind emailing the Stack
mailing list for feedback first?

On Tue, Sep 22, 2015, 2:30 PM Anton Dessiatov [email protected]
wrote:

I've had problems using Stack with our project on Windows. The issue was
that when installing dependencies (in particular, aeson-pretty-0.7.2),
Stack failed to compile Paths_aeson_pretty module because full path to
intermediate files exceeded Windows 260 characters limit.

This pull request makes build artifacts path shorter by replacing
"platform/cabal" part of it with first 8 characters of Base16-encoded SHA1

of it. In my case, this helped to get aeson-pretty succesfully installed.

You can view, comment on, or merge this pull request online at:

#1027
Commit Summary

  • Replace full platform name and cabal version in build artifact path
    on Windows with first 8 symbols of its SHA1 hash. This is done to decrease
    chances of hitting 260 symbol path limit.

File Changes

Patch Links:


Reply to this email directly or view it on GitHub
#1027.

@snoyberg snoyberg merged commit 11716a6 into commercialhaskell:master Sep 27, 2015
snoyberg added a commit that referenced this pull request Sep 27, 2015
@snoyberg
Copy link
Contributor

This is becoming enough of a problem on Windows that I've gone ahead and merged without discussion. The testing we get before the next release will be sufficient.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants