I cannot build Rhapsode on GHC 9.4.7 on my Alpine Linux machine. There appears to be a conflict between aeson-1.5 and newer GHC versions.
$ cabal run Resolving dependencies... Error: cabal: Could not resolve dependencies: [__0] trying: rhapsode-0.5.0.0 (user goal) [__1] trying: base-4.17.2.0/installed-4.17.2.0 (dependency of rhapsode) [__2] next goal: aeson (dependency of rhapsode) [__2] rejecting: aeson-2.2.1.0 (conflict: rhapsode => aeson>=1.5 && <1.6) [__2] skipping: aeson-2.2.0.0, aeson-2.1.2.1, aeson-2.1.2.0, aeson-2.1.1.0, aeson-2.1.0.0, aeson-2.0.3.0, aeson-2.0.2.0, aeson-2.0.1.0, aeson-2.0.0.0 (has the same characteristics that caused the previous version to fail: excluded by constraint '>=1.5 && <1.6' from 'rhapsode') [__2] rejecting: aeson-1.5.6.0, aeson-1.5.5.1 (conflict: base => ghc-prim==0.9.1/installed-0.9.1, aeson => ghc-prim>=0.2 && <0.8) [__2] rejecting: aeson-1.5.5.0 (conflict: base==4.17.2.0/installed-4.17.2.0, aeson => base(>=4.7.0.0 && <5) && <0) [__2] rejecting: aeson-1.5.4.1, aeson-1.5.4.0 (conflict: base => ghc-prim==0.9.1/installed-0.9.1, aeson => ghc-prim>=0.2 && <0.8) [__2] rejecting: aeson-1.5.3.0, aeson-1.5.2.0, aeson-1.5.1.0, aeson-1.5.0.0 (conflict: base => ghc-prim==0.9.1/installed-0.9.1, aeson => ghc-prim>=0.2 && <0.7) [__2] rejecting: aeson-1.4.7.1 (conflict: rhapsode => aeson>=1.5 && <1.6) [__2] skipping: aeson-1.4.7.0, aeson-1.4.6.0, aeson-1.4.5.0, aeson-1.4.4.0, aeson-1.4.3.0, aeson-1.4.2.0, aeson-1.4.1.0, aeson-1.4.0.0, aeson-1.3.1.1, aeson-1.3.1.0, aeson-1.3.0.0, aeson-1.2.4.0, aeson-1.2.3.0, aeson-1.2.2.0, aeson-1.2.1.0, aeson-1.2.0.0, aeson-1.1.2.0, aeson-1.1.1.0, aeson-1.1.0.0, aeson-1.0.2.1, aeson-1.0.2.0, aeson-1.0.1.0, aeson-1.0.0.0, aeson-0.11.3.0, aeson-0.11.2.1, aeson-0.11.2.0, aeson-0.11.1.4, aeson-0.11.1.3, aeson-0.11.1.2, aeson-0.11.1.1, aeson-0.11.1.0, aeson-0.11.0.0, aeson-0.9.0.1, aeson-0.9.0.0, aeson-0.8.1.1, aeson-0.8.1.0, aeson-0.8.0.2, aeson-0.7.0.6, aeson-0.7.0.4, aeson-0.6.2.1, aeson-0.6.2.0, aeson-0.6.1.0, aeson-0.6.0.2, aeson-0.6.0.1, aeson-0.6.0.0, aeson-0.5.0.0, aeson-0.4.0.1, aeson-0.4.0.0, aeson-0.3.2.14, aeson-0.3.2.13, aeson-0.3.2.12, aeson-0.3.2.11, aeson-0.3.2.10, aeson-0.3.2.9, aeson-0.3.2.8, aeson-0.3.2.7, aeson-0.3.2.6, aeson-0.3.2.5, aeson-0.3.2.4, aeson-0.3.2.3, aeson-0.3.2.2, aeson-0.3.2.1, aeson-0.3.2.0, aeson-0.3.1.1, aeson-0.3.1.0, aeson-0.3.0.0, aeson-0.2.0.0, aeson-0.1.0.0, aeson-0.10.0.0, aeson-0.8.0.1, aeson-0.8.0.0, aeson-0.7.0.5, aeson-0.7.0.3, aeson-0.7.0.2, aeson-0.7.0.1, aeson-0.7.0.0 (has the same characteristics that caused the previous version to fail: excluded by constraint '>=1.5 && <1.6' from 'rhapsode') [__2] fail (backjumping, conflict set: aeson, base, rhapsode) After searching the rest of the dependency tree exhaustively, these were the goals I've had most trouble fulfilling: aeson, rhapsode, base
Most recently I was testing on GHC 9.2.8, and but I'm now testing on 9.4.1. Neither of which is working with Rhapsode.
It turns out that bumping version numbers requires some minor code changes, including a change to how we look up JSON properties (Rhapsode receives JSON from Voice2JSON). I'm currently looking up the new API...
I've updated my code to depend on Aeson >= 2.0.
Please see if building the latest code works for you now? With the minor fixes I've just published, it now works for me. It didn't before.
I've just started a build; dependencies resolved fine, so this problem seems fixed. There might be other issues but they'll probably be to do with my OS. If I do find something else in Rhapsode I'll start a separate ticket.
Cool!