Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

install: create hls hardlinks instead of copies except on Windows #451

Merged
merged 1 commit into from
Oct 2, 2020

Conversation

juhp
Copy link
Contributor

@juhp juhp commented Oct 2, 2020

This saves quite a bit of diskspace for linux, by using hardlinks to avoid having 3 copies of the main executable on disk.
I guess it should also work for MacOS (that would be "darwin"?).

I built this locally and it tested it for a Stack install.

Copy link
Member

@jneira jneira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@juhp
Copy link
Contributor Author

juhp commented Oct 2, 2020

Maybe it is better to only use copyFile on Windows ("mingw32")?

@jneira
Copy link
Member

jneira commented Oct 2, 2020

@juhp yeah, maybe someone developing in macos could confirm it (@bubba?)

@lukel97
Copy link
Collaborator

lukel97 commented Oct 2, 2020

@juhp Yeah that command should work on Mac as well 👍

@juhp
Copy link
Contributor Author

juhp commented Oct 2, 2020

Okay thanks, I made the change to only use copyFile on Windows now,
ln -f should work on any posix system.

@lukel97
Copy link
Collaborator

lukel97 commented Oct 2, 2020

Thanks!

@juhp juhp changed the title install: on Linux create hardlinks instead of copies install: create hls hardlinks instead of copies except on Windows Oct 2, 2020
@jneira jneira merged commit 623da0a into haskell:master Oct 2, 2020
@juhp
Copy link
Contributor Author

juhp commented Oct 3, 2020

Thanks @jneira

@juhp juhp deleted the exe-hardlinks branch October 3, 2020 04:15
pepeiborra added a commit that referenced this pull request Dec 27, 2020
Now guess missing imports also works for:

- Type names
- Data constructors
- Operators
- qualified things

Avoiding:

- internal modules
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants