kowainik / summoner

🔮 🔧 Tool for scaffolding batteries-included production-level Haskell projects
https://kowainik.github.io/projects/summoner
Mozilla Public License 2.0
702 stars 73 forks source link

summoner-tui constraints #554

Closed Anton-Latukha closed 2 years ago

Anton-Latukha commented 2 years ago

Current build result:

🅸 ~/s/h/m/l> cabal v2-update                                                                                  (1)
Downloading the latest package list from hackage.haskell.org
Updated package list of hackage.haskell.org to the index-state 2021-12-17T11:35:50Z
To revert to previous state run:
    cabal v2-update 'hackage.haskell.org,2021-12-13T13:24:36Z'
🅸 ~/s/h/m/l> cabal v2-install summoner-tui
Resolving dependencies...
cabal: Could not resolve dependencies:
[__0] trying: summoner-tui-2.0.1.1 (user goal)
[__1] next goal: brick (dependency of summoner-tui)
[__1] rejecting: brick-0.65 (conflict: summoner-tui => brick>=0.47 && <0.55)
[__1] skipping: brick-0.64.2, brick-0.64.1, brick-0.64, brick-0.63,
brick-0.62, brick-0.61, brick-0.60.2, brick-0.60.1, brick-0.60, brick-0.59,
brick-0.58.1, brick-0.58, brick-0.57.1, brick-0.57, brick-0.56, brick-0.55
(has the same characteristics that caused the previous version to fail:
excluded by constraint '>=0.47 && <0.55' from 'summoner-tui')
[__1] trying: brick-0.54
[__2] next goal: base (dependency of summoner-tui)
[__2] rejecting: base-4.14.3.0/installed-4.14.3.0 (conflict: brick =>
base<=4.14.0.0)
[__2] skipping: base-4.16.0.0, base-4.15.0.0, base-4.14.3.0, base-4.14.2.0,
base-4.14.1.0 (has the same characteristics that caused the previous version
to fail: excluded by constraint '<=4.14.0.0' from 'brick')
[__2] rejecting: base-4.14.0.0, base-4.13.0.0, base-4.12.0.0, base-4.11.1.0,
base-4.11.0.0, base-4.10.1.0, base-4.10.0.0, base-4.9.1.0, base-4.9.0.0,
base-4.8.2.0, base-4.8.1.0, base-4.8.0.0, base-4.7.0.2, base-4.7.0.1,
base-4.7.0.0, base-4.6.0.1, base-4.6.0.0, base-4.5.1.0, base-4.5.0.0,
base-4.4.1.0, base-4.4.0.0, base-4.3.1.0, base-4.3.0.0, base-4.2.0.2,
base-4.2.0.1, base-4.2.0.0, base-4.1.0.0, base-4.0.0.0, base-3.0.3.2,
base-3.0.3.1 (constraint from non-upgradeable package requires installed
instance)
[__2] fail (backjumping, conflict set: base, brick, summoner-tui)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: base, brick, summoner-tui

Seems like new versions of brick solve this.

mouse07410 commented 2 years ago

summoner can't be built by GHC newer than 8.10.7, and summoner-tui - by GHC newer than 8.8.4.

It would be great if one could build both under, e.g., GHC-9.0.2. Or at least, GHC-8.10.7. Thanks!

recursion-ninja commented 2 years ago

@mouse07410 the following all compiled successfully for me:

summoner-cli

✓ GHC 9.0.2

cabal update
cabal install summoner --with-compiler=ghc-9.0.2 --allow-newer=base,ghc-prim

summoner-tui

✓ GHC 8.10.7

cabal update
cabal install summoner-tui --with-compiler=ghc-8.10.7 --allow-newer=base

✓ GHC 9.0.2

cabal update
cabal install summoner-tui --with-compiler=ghc-9.0.2 --allow-newer=base,ghc-prim

This suggests that relaxing dependency upper bounds is all that is currently required in order for summoner-cli to support ghc-9.0.2 and summoner-tui to support ghc-8.10.7 and ghc-9.0.2.

Additionally, I would like to note that relude does not compile with base-4.16.* because it re-exports the deprecated Option type. I suspect that as soon as relude is updated to support base-4.16.*, then both summoner-cli and summoner-tuiwill also compile with ghc-9.2.2.

Perhaps a PR bumping bounds is in order!?

mouse07410 commented 2 years ago

the following all compiled successfully for me: . . .

I confirm that both summoner and summoner-tui compiled/installed fine with the flags you mentioned above. Cabal-3.6.2.0, GHC-9.0.2.

Thanks!

vrom911 commented 2 years ago

This should be solved in the main branch now 🙂

mouse07410 commented 2 years ago

@vrom911 thank you for adding support for GHC 9.0.2 and 9.2.4.

However, please note that the current latest stable released GHC is 9.4.2. It would be nice to see it supported too.

recursion-ninja commented 2 years ago

Yes, support for the current GHC-9.4. series, as well as planning for prompt support of the impending GHC-9.6. series would be greatly appreciated!