commercialhaskell / commercialhaskell/stack

Add back in a reconfigure / rebuild optimization for `allow-newer: true`

Open
#2,049 1 comment 0 reactions 0 assignees View on GitHub
type: enhancement type: performance
Dominant language
Haskell
Stars
4.1k
Forks
850
Avg merge
10h 37m
Merged PRs (30d)
4

Description

The fix for https://github.com/commercialhaskell/stack/issues/1579 requires us to pass all dependencies in to the configure step. We currently have a clever optimization that passes in `--enable-tests` or `--enable-benchmarks` if their dependencies are present. This reduces rebuilds due to changing `cabal_macros.h` files.

I spent some time trying to figure out how to move this decision to earlier in the build process. However, it got a bit head-scratching. I'll keep it in mind as I make more changes atop this.

For now, `--exact-configuration` is only enabled when `allow-newer` is set to `true`. The optimization is only disabled when `allow-newer` is set. Once this is fixed, I think `--exact-configuration` should always get passed.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.