Issues Building lambdabot Due to Outdated Dependency Versions

Hi Haskell community,

I am trying to build the lambdabot package, but I am encountering issues due to outdated dependency versions. The build process fails because several dependencies have versions that are too old and are not compatible with the current Haskell ecosystem.

What can I do to resolve this issue? Are there any recommended steps or best practices for updating the dependencies or working around this problem?

Thank you in advance for your help!

Looking at the current CI configuration, it is tested with GHC 8.2 through 8.10, though recent commits to the master branch result in CI failures.

To test, I cloned the repo, checked out the latest tagged release, configured the GHC version, and built all packages. All packages built successfully.

$ git clone https://github.com/lambdabot/lambdabot.git
$ cd lambdabot
$ git checkout -b 5.3.1.2 5.3.1.2
$ echo 'with-compiler: ghc-8.10.7' > cabal.project.local
$ cabal build all

The .cabal files indicate compatibility with up to GHC 9.6, but I get dependency issues when testing with 9.6.5, as well as 9.4.8. Testing with 9.2.8, all projects built successfully.

As a workaround, might you be able to simply use GHC 9.2.8 to build it?

3 Likes

It also builds fine with --allow-newer. This works, for example:

cabal build -w ghc-9.6 all --allow-newer

(Relatedly, a reminder: keeping bounds up to date is the highest leverage tasks a Haskell maintainer can perform. It’s boring though. So I volunteer to become a comaintainer of any Haskell package for the special purpose of keeping bounds up-to-date.)

2 Likes

For example, if I want to help with the lambdabot package, what can I do? Should I fork the repository, make some changes, and submit a PR?

1 Like

Yes, that sounds like a great idea. A PR to simply bump dependency bounds to the latest working versions would be really useful. Feel free to tag me (@tomjaguarpaw on GitHub) and I can help out too.

1 Like