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

Add Semigroup Form instance #68

Closed
wants to merge 4 commits into from
Closed

Add Semigroup Form instance #68

wants to merge 4 commits into from

Conversation

RyanGlScott
Copy link
Contributor

This is needed to fix the build on GHC 8.4, where Semigroup is now a superclass of Monoid.

This declares a dependency on semigroups, but http-api-data was already transitively depending on semigroups via attoparsec.

@phadej
Copy link
Collaborator

phadej commented Feb 5, 2018

Attoparsec (and IIRC all other deps) have GHC-conditional dependency on semigroups: https://hackage.haskell.org/package/attoparsec-0.13.2.2/dependencies

@RyanGlScott
Copy link
Contributor Author

OK. Should I interpret that statement as "please change the semigroups dependency in http-api-data.cabal to be conditional as well"?

@phadej
Copy link
Collaborator

phadej commented Feb 5, 2018

And we need to bump lower bound on unordered containers, don't we? https://hackage.haskell.org/package/unordered-containers-0.2.8.0/changelog

@RyanGlScott
Copy link
Contributor Author

...erm, I don't know? I'm not affiliated with unordered-containers in any way.

@RyanGlScott
Copy link
Contributor Author

After getting some sleep, I realize that I might have wildly misinterpreted #68 (comment). I believe what you're asking is for me to change http-api-data.cabal such that:

  • The dependency on semigroups is conditional on if !impl(ghc >= 8.0).
  • The lower version bounds for unordered-containers is 0.2.6.

Can you confirm if this is correct?

@phadej
Copy link
Collaborator

phadej commented Feb 5, 2018

@RyanGlScott yes! sorry for being cryptic myself, I hadn't enough sleep myself!

@RyanGlScott
Copy link
Contributor Author

Hm, the build is apparently failing due to this line:

- if [ $HCNUMVER -eq 70804 ]; then cabal new-build -w ${HC} --disable-tests --disable-benchmarks --constraint='attoparsec ==0.13.0.1' --constraint='attoparsec-iso8601 ==1.0.0.0' --constraint='bytestring ==0.10.4.0' --constraint='containers ==0.5.5.1' --constraint='hashable ==1.1.2.4' --constraint='http-types ==0.8.6' --constraint='text ==1.1.1.3' --constraint='time ==1.4.2' --constraint='time-local-compat ==0.1.1.0' --constraint='unordered-containers ==0.2.5.0' --constraint='uri-bytestring ==0.1.7' --constraint='uuid-types ==1.0.2' all; else echo skipping...; fi

which hardcodes a version number for unordered-containers that is older than 2.6.0. Is there a particular motivation for using this version number?

@phadej
Copy link
Collaborator

phadej commented Feb 5, 2018

@RyanGlScott yes, I want to check lowerbounds, and seems I have to check them on newer GHCs too, as that check didn't catch incorrect lowerbound (as lowerbounds were tested only on GHC-7.8.4 and GHC-7.10.3)

@RyanGlScott
Copy link
Contributor Author

OK, I'll try changing those lower bounds to 0.2.6.0.

@RyanGlScott
Copy link
Contributor Author

...oops, I just noticed that this may be superseded by #69 now.

@phadej
Copy link
Collaborator

phadej commented Feb 6, 2018

Sorry for not notifying, merged as part of #69

@phadej phadej closed this Feb 6, 2018
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

Successfully merging this pull request may close these issues.

2 participants