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

Avoid bytestring >= 0.11 with GHC < 8.0 #16

Merged
merged 1 commit into from
Sep 11, 2020

Conversation

vdukhovni
Copy link
Contributor

In bytestring 0.11 the PS constructor becomes a pattern synonym, only
available with GHC >= 8.0. Since this package depends on bytestring
internals, and in particular the PS constructor, with GHC < 8.0 it must
stick to older bytestring releases.

With GHC >= 8.0, this package will be compatible with the imminent
bytestring 0.11, so the dependency ceiling is for now set to < 0.12.

@vdukhovni
Copy link
Contributor Author

Pushed an update for Cabal < 2.2, older Cabal versions don't support elif.

@fosskers
Copy link
Collaborator

fosskers commented Sep 6, 2020

I'm going to get better CI going with this repo, and then we can run this PR through it.

@chessai
Copy link
Member

chessai commented Sep 6, 2020

MASTER has been updated to use haskell-ci, a more automatic and consistent way of handling travis ci for haskell projects. more and more core libraries are moving toward using haskell-ci, and i think haskell-streaming should too.

@chessai
Copy link
Member

chessai commented Sep 6, 2020

@fosskers to answer your question about github ci, i would consider using it if there were an automated/stable way of setting it up. don't know of one (haven't googled and about to run out the door).

additionally, the core libraries convering on using haskell-ci + travis makes it particularly attractive to me. let me know if you have any thoughts.

@chessai
Copy link
Member

chessai commented Sep 6, 2020

Most recent master now builds with the new CI: https://travis-ci.org/github/haskell-streaming/streaming-bytestring

@fosskers
Copy link
Collaborator

fosskers commented Sep 6, 2020

I happen to have written about it: https://www.fosskers.ca/en/blog/github-ci

What I like about it is that it is fairly minimal, and has first-class support from the Github UI.

@fosskers
Copy link
Collaborator

@vdukhovni can you rebase this onto master so that CI kicks in again?

In `bytestring` 0.11 the `PS` constructor becomes a pattern synonym, only
available with GHC >= 8.0.  Since this package depends on `bytestring`
internals, and in particular the `PS` constructor, with GHC < 8.0 it must
stick to older bytestring releases.

With GHC >= 8.0, this package will be compatible with the imminent
`bytestring` 0.11, so the dependency ceiling is for now set to < 0.12.
@vdukhovni
Copy link
Contributor Author

@vdukhovni can you rebase this onto master so that CI kicks in again?

Done, I rebased both this PR and #18.

@fosskers
Copy link
Collaborator

fosskers commented Sep 11, 2020

Alright, CI is now testing a huge range of GHCs (including the ones relevant to this PR), and things look good, so let's get this in.

Thanks for this!

@fosskers fosskers merged commit c57de61 into haskell-streaming:master Sep 11, 2020
@vdukhovni
Copy link
Contributor Author

Alright, CI is now testing a huge range of GHCs (including the ones relevant to this PR), and things look good, so let's get this in.

Thanks for this!

You're welcome. I should perhaps mention that in late-breaking news GHC 9.0 will require at least bytestring 0.11 and nothing older will build. Should that be reflected in the cabal files of packages using bytestring? For example, here we could also add a constraint on impl(ghc >= 9.0) requiring bytestring >= 0.11, or do we expect that to be handled automatically, or by other means?

http

Cc: @Bodigrim, @chessai , @bgamari

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.

None yet

4 participants