Skip to content

Conversation

@byorgey
Copy link

@byorgey byorgey commented Dec 30, 2021

Seems to work fine (including the test suite) with no changes.

  • Updating bytestring is necessary to get graphviz to build with base-4.16 (GHC 9.2), because bytestring-0.10 does not allow base-4.16 and is unlikely to be updated.
  • In addition, the updates to fgl and hspec are needed to work with base-4.17 (GHC 9.4).

@juhp
Copy link

juhp commented Mar 20, 2022

(You could even just drop the upperbound completely.)

@juhp
Copy link

juhp commented Mar 20, 2022

A Hackage revision would be really helpful

@juhp
Copy link

juhp commented Apr 1, 2022

Could we have a Hackage revision, please?

cc @hackage-trustees

@juhp
Copy link

juhp commented Apr 30, 2022

Ping :)

@santiweight
Copy link

ping from me too :)

RyanGlScott added a commit to GaloisInc/saw-script that referenced this pull request Aug 1, 2022
This contains a variety of minor changes needed to make `saw` and its
supporting libraries compile with GHC 9.2:

* One place in `heapster-saw` matches on a GADT using a `let` binding, which no
  longer typechecks in GHC 9.2. While somewhat mysterious, using `let` bindings
  to match on GADTs is fragile anyway, so I opted to simply replace this with a
  monadic `do` match, which does not exhibit the same fragility.
* GHC now includes `-Wincomplete-uni-patterns` in `-Wall` as of 9.2, so much
  of this patch is dedicated to silencing these sorts of warnings, usually by
  adding explicit fall-through cases for partial pattern matches.
* GHC now inclues `-Wnoncanonical-monad-instances` in `-Wall` as of 9.2, so I
  had to refactor some `Applicative`/`Monad` instances to fix these warnings.
* GHC 9.2 now defines `readBin` in `Numeric`, which clashes with a function of
  the same name in `SAWScript.Lexer`. Using explicit imports avoids this.
* GHC's pattern-match coverage checker is smarter in 9.2 (see
  [here](https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.2?version_id=63085dd8a5b56370571bda428848e7098765f7f8#improved-pattern-match-coverage-checker)),
  so I had to use `EmptyCase` to silence some of the new
  `-Wincomplete-patterns` warnings that were uncovered in `heapster-saw`.

This is still a draft because:

* [ ] There are various `-Wincomplete-uni-patterns` warnings in `saw` and
      `heapster-saw` that I have not yet had time to address. (See also a
      `TODO RGS` in `exe:saw` that should be fixed.)
* [ ] I am temporarily including an `allow-newer` section in the
      `cabal.project` file to allow `graphviz` (a `verif-viewer` dependency)
      to build with GHC 9.2. See ivan-m/graphviz#53.
      Once that is merged upstream, we can remove this hack.
@Bodigrim
Copy link

As a Hackage trustee I made the appropriate revision: https://hackage.haskell.org/package/graphviz-2999.20.1.0/revisions/

@juhp
Copy link

juhp commented Aug 30, 2022

Just noting that graphviz is back in Stackage Nightly now

RyanGlScott added a commit to GaloisInc/saw-script that referenced this pull request Aug 31, 2022
This contains a variety of minor changes needed to make `saw` and its
supporting libraries compile with GHC 9.2:

* One place in `heapster-saw` matches on a GADT using a `let` binding, which no
  longer typechecks in GHC 9.2. While somewhat mysterious, using `let` bindings
  to match on GADTs is fragile anyway, so I opted to simply replace this with a
  monadic `do` match, which does not exhibit the same fragility.
* GHC now includes `-Wincomplete-uni-patterns` in `-Wall` as of 9.2, so much
  of this patch is dedicated to silencing these sorts of warnings, usually by
  adding explicit fall-through cases for partial pattern matches.
* GHC now inclues `-Wnoncanonical-monad-instances` in `-Wall` as of 9.2, so I
  had to refactor some `Applicative`/`Monad` instances to fix these warnings.
* GHC 9.2 now defines `readBin` in `Numeric`, which clashes with a function of
  the same name in `SAWScript.Lexer`. Using explicit imports avoids this.
* GHC's pattern-match coverage checker is smarter in 9.2 (see
  [here](https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.2?version_id=63085dd8a5b56370571bda428848e7098765f7f8#improved-pattern-match-coverage-checker)),
  so I had to use `EmptyCase` to silence some of the new
  `-Wincomplete-patterns` warnings that were uncovered in `heapster-saw`.

This is still a draft because:

* [ ] There are various `-Wincomplete-uni-patterns` warnings in `saw` and
      `heapster-saw` that I have not yet had time to address. (See also a
      `TODO RGS` in `exe:saw` that should be fixed.)
* [ ] I am temporarily including an `allow-newer` section in the
      `cabal.project` file to allow `graphviz` (a `verif-viewer` dependency)
      to build with GHC 9.2. See ivan-m/graphviz#53.
      Once that is merged upstream, we can remove this hack.

[ci skip]
@byorgey byorgey changed the title allow bytestring-0.11 allow bytestring-0.11, fgl-5.8, hspec-2.10 Sep 28, 2022
@byorgey
Copy link
Author

byorgey commented Sep 28, 2022

@Bodigrim @hackage-trustees I've now also included updates to upper bounds for fgl and hspec in this PR to enable support GHC 9.4; could those also be revised on Hackage?

@Bodigrim
Copy link

@byorgey done in https://hackage.haskell.org/package/graphviz-2999.20.1.0/revisions/, but honestly this is not sustainable in a long term. If the package is unmaintained, please initiate a takeover.

@byorgey
Copy link
Author

byorgey commented Sep 28, 2022

@Bodigrim thanks! And you're right of course. I'm not really interested in maintaining it personally, just trying to prod the ecosystem along a bit. But anyone else reading this who wants to try maintaining it, go for it!

@Bodigrim
Copy link

Bodigrim commented Aug 4, 2023

@Daniel-Diaz
Copy link

I would happily maintain this package, although I would probably just keep it building and review PRs.

@byorgey
Copy link
Author

byorgey commented Sep 18, 2023

@Daniel-Diaz great! See the process here: https://wiki.haskell.org/Taking_over_a_package

@Daniel-Diaz
Copy link

Daniel-Diaz commented Sep 18, 2023

@Daniel-Diaz great! See the process here: https://wiki.haskell.org/Taking_over_a_package

Thank you. I will first try to contact him through his e-mail to see if I can be granted contributor access.

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.

5 participants