Skip to content
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,6 @@ packages:
codeworld-server/
codeworld-base/
funblocks-client/

constraints:
haskell-src-meta ==0.8.7
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this can go anywhere else, because it is a transient dependency.

haskell-src-meta is only used directly by codeworld-available-pkgs, which is not in this cabal.project file.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think reflex fails to build with haskell-src-meta-0.8.8, but only as a dependency of CodeWorld. I can't reproduce the error in reflex by itself.

The transitive dependency is here
https://github.com/peterbecich/reflex/blob/823afd9424234cbe0134051f09a6710e54509cec/reflex.cabal#L183-L189

cabal build all --flags="use-template-haskell"

succeeds with haskell-src-meta-0.8.8.

Copy link
Contributor

@cdsmith cdsmith Jan 20, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, I'll try to reproduce the failure and understand what's going on. If this is the case, though, I still think the constraint should be added in codeworld-api.cabal By adding it in cabal.project, you make builds initially appear to succeed, but then the codeworld-api that gets deployed to hackage may still fail to build for actual users. Honestly, I'd rather know that it's broken than make it appear to work in development and then break when deployed.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here is the error with haskell-src-meta-0.8.8:


src/Language/Haskell/Meta/Syntax/Translate.hs:493:19: error:
    Not in scope: data constructor ‘Exts.DerivVia’
    Perhaps you meant ‘Exts.Deriving’ (imported from Language.Haskell.Exts.Syntax)
    Module ‘Language.Haskell.Exts.Syntax’ does not export ‘DerivVia’.
    |
493 | toDerivStrategy d@Exts.DerivVia{}      = noTHyet "toDerivStrategy" "2.14" d
    |                   ^^^^^^^^^^^^^
cabal: Failed to build haskell-src-meta-0.8.8 (which is required by
test:unit-tests from codeworld-api-0.7.0, exe:codeworld-game-bot from
codeworld-game-server-0.1 and others). See the build log above for details.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this will solve it: haskell-party/haskell-src-meta#32

2 changes: 1 addition & 1 deletion codeworld-auth/codeworld-auth.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ library
, directory
, filepath
, http-conduit
, jwt >= 0.10.0
, jwt == 0.10.*
, snap-core
, split
, text
Expand Down
4 changes: 2 additions & 2 deletions funblocks-client/funblocks-client.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,11 @@ Executable funblocks-client
Build-depends: ghcjs-base,
text,
containers,
ghcjs-dom,
ghcjs-dom >= 0.9.5,
mtl
else
Build-depends: ghcjs-base-stub,
text,
containers,
ghcjs-dom,
ghcjs-dom >= 0.9.5,
mtl