Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

GHC 9.8 #600

Open
jchia opened this issue Nov 4, 2024 · 0 comments
Open

GHC 9.8 #600

jchia opened this issue Nov 4, 2024 · 0 comments

Comments

@jchia
Copy link
Contributor

jchia commented Nov 4, 2024

Describe the bug
The project is described in taffybar.cabal as having been tested with GHC 9.8.2. But apparently it does not work with GHC 9.8.2.

To Reproduce
cabal build fails because broadcast-chan does not support GHC 9.8.2:

$ cabal build
Resolving dependencies...
Error: [Cabal-7107]
Could not resolve dependencies:
[__0] trying: my-taffybar-0.1.0.0 (user goal)
[__1] trying: base-4.19.1.0/installed-c38a (dependency of my-taffybar)
[__2] trying: taffybar-4.0.3 (user goal)
[__3] next goal: broadcast-chan (dependency of taffybar)
[__3] rejecting: broadcast-chan-0.2.1.2 (conflict: base==4.19.1.0/installed-c38a, broadcast-chan => base>=4.8 && <4.19)
[__3] skipping: broadcast-chan; 0.2.1.1, 0.2.1, 0.2.0.2, 0.2.0.1, 0.2.0 (has the same characteristics that caused the previous version to fail: excludes 'base' version 4.19.1.0)
[__3] rejecting: broadcast-chan-0.1.1 (conflict: taffybar => broadcast-chan>=0.2.0.2)
[__3] skipping: broadcast-chan-0.1.0 (has the same characteristics that caused the previous version to fail: excluded by constraint '>=0.2.0.2' from 'taffybar')
[__3] fail (backjumping, conflict set: base, broadcast-chan, taffybar)
After searching the rest of the dependency tree exhaustively, these were the goals I've had most trouble fulfilling: base, taffybar, broadcast-chan, my-taffybar
Try running with --minimize-conflict-set to improve the error message.

However, even after commenting out broadcast-chan from taffybar.cabal, cabal build inexplicably fails on tls:

[39 of 76] Compiling Network.TLS.Parameters ( Network/TLS/Parameters.hs, dist/build/Network/TLS/Parameters.o, dist/build/Network/TLS/Parameters.dyn_o )

Network/TLS/Parameters.hs:424:35: error: [GHC-39999]
    • No instance for ‘Default ValidationCache’
        arising from a use of ‘def’
    • In the ‘sharedValidationCache’ field of a record
      In the expression:
        Shared
          {sharedCredentials = mempty,
           sharedSessionManager = noSessionManager, sharedCAStore = mempty,
           sharedValidationCache = def, sharedHelloExtensions = []}
      In an equation for ‘defaultShared’:
          defaultShared
            = Shared
                {sharedCredentials = mempty,
                 sharedSessionManager = noSessionManager, sharedCAStore = mempty,
                 sharedValidationCache = def, sharedHelloExtensions = []}
    |
424 |         , sharedValidationCache = def
    |                                   ^^^
Error: [Cabal-7125]
Failed to build tls-2.1.3 (which is required by exe:taffybar from taffybar-4.0.3). See the build log above for details.

I find it inexplicable because the Default instance exists AFAICT and building tls directly from within its own project works (using https://github.com/haskell-tls/hs-tls/tree/01766fbef097537eadad26f86c74ae7e38fe3ade).

Expected behavior
cabal build just works with GHC 9.8, or tested-with be fixed. I think enabling building the project with GHC 9.8 is preferable and required sooner or later as older GHC versions become out-of-date. However, for GHC 9.8, since broadcast-chan does not work with it and appears to be practically unmaintained, replacing it with something else first is needed. I'm not sure about the considerations for which broadcast-chan was chosen over other similar packages.

Version information
Taffybar version (or git sha if building from source): d400932
GHC version: 9.8.2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant