lspitzner / brittany

haskell source code formatter
GNU Affero General Public License v3.0
692 stars 72 forks source link

building brittany with stack and ghc-8.10 needs allow-newer due to strict package bounds #328

Closed jneira closed 3 years ago

jneira commented 3 years ago

Hi, when you try to build the package using stack and ghc-8.10 last resolvers (nightly-2020-08-16 for ghc-8.10.1 or nightly-2020-12-09 for ghc-8.10.2) the build fails with (the example tries to build haskell-language-server commenting out allow-newer in stack-8.10.2.yaml):

D:\ws\haskell\hls>stack build --stack-yaml stack-8.10.2.yaml

Error: While constructing the build plan, the following exceptions were
encountered:

In the dependencies for brittany-0.12.1.1:
    strict-0.4.0.1 from stack configuration does not match >=0.3.2 && <0.4
                   (latest matching version is 0.3.2)
needed due to haskell-language-server-0.6.0.0 -> brittany-0.12.1.1

Some different approaches to resolving this:

  * Set 'allow-newer: true'
    in D:\sr\config.yaml to ignore all version constraints and build anyway.

  * Recommended action: try adding the following to your extra-deps
    in D:\ws\haskell\hls\stack-8.10.2.yaml:

- strict-0.3.2@sha256:3406721874ae342f1c7c10466313af673dfb4f6f64bbca25965dbe90383289d6,924

Plan construction failed.

The cause is those resolvers have strict-0.4.0.1 and the package has >= 0.3.2 && < 0.4.

Setting allow-newer: true builds brittany succesfully using strict-0.4.0.1 so likely (you know, if it compiles it works :stuck_out_tongue_closed_eyes:) bumping up upper bound will work.

Thanks in advance!

tfausak commented 3 years ago

I think that this will be solved by #324.

tfausak commented 3 years ago

Fixed with version 0.13.0.0.