Skip to content

[Fix #11850] Build dependencies of build tool on disk too#12084

Open
Saizan wants to merge 1 commit into
haskell:masterfrom
Saizan:issue11850
Open

[Fix #11850] Build dependencies of build tool on disk too#12084
Saizan wants to merge 1 commit into
haskell:masterfrom
Saizan:issue11850

Conversation

@Saizan

@Saizan Saizan commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

This PR fixes #11850 by taking the simple approach of ensuring the build tool can be properly built.

Checklist:

@Mikolaj

Mikolaj commented Jul 4, 2026

Copy link
Copy Markdown
Member

Thank you for the PR. Please mention the issue it fixes in the PR descriptions and please mark the PR with review_needed label once ready.

@Mikolaj

Mikolaj commented Jul 4, 2026

Copy link
Copy Markdown
Member

Oh, and please add the changelog snippet.

@Saizan
Saizan force-pushed the issue11850 branch 2 times, most recently from ef2430a to d9570c7 Compare July 12, 2026 19:54
@Saizan

Saizan commented Jul 20, 2026

Copy link
Copy Markdown
Contributor Author

@Mikolaj should be all there now, let me know if the changelog needs editing.

@Mikolaj Mikolaj left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The changelog is perfect, thank you.

What can go wrong? Does this impair performance in some scenarios? Can the location that is used for the build be read-only? Anything else?

@Saizan

Saizan commented Jul 22, 2026

Copy link
Copy Markdown
Contributor Author
  • The build of the tool can still fail for unrelated reasons (which is why it would be useful to have something like a "keep-going" switch that HLS could use to still have a session to load even if some things will fail/use a stale tool)
  • We do build some dependencies on disk which we also load at the repl, so extra time is spent doing that, but I don't see a way around it. Will not impact resource usage of the repl itself though.

Can the location that is used for the build be read-only?

Like the subdirectory for the unit under $builddir ? I suppose so once the build is done, but will need writing once cabal realizes it's stale and needs building again. Does Cabal make such dirs read-only?

  • Another concern will be to keep it so the repl doesn't pick up on the built on-disk version of the library, otherwise the repl won't be the same.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Local component build-tool-depends should work with multi-repl

3 participants