`copilot-theorem`: Extend range of versions `what4` to include 1.6
ivanperez-keera opened this issue · 7 comments
Description
what4
has seen a new release 1.6, but copilot-theorem
needs versions strictly lower than 1.6. This version is API-compatible for all features used by copilot-theorem
, but it includes support for GHC 9.8, which we want to also support.
Type
- Management: update versions of dependencies.
Additional context
None.
Requester
- Ryan Scott.
Method to check presence of bug
Not applicable (not a bug).
Expected result
Copilot can be installed with what4-1.6
.
Desired result
Copilot can be installed with what4-1.6
.
Proposed solution
Modify copilot-theorem
's cabal file to also accept what4
versions >= 1.6
and <1.7
.
Adjust copilot-theorem
as needed to work with that version of what4
.
Further notes
None.
I made a preliminary solution for this issue: https://github.com/fdedden/copilot/tree/develop-bump-what4-dependency.
Change Manager: Confirmed that the issue exists.
Technical Lead: Confirmed that the issue should be addressed.
Technical Lead: Issue scheduled for fixing in Copilot 3.20.
Fix assigned to: @ivanperez-keera together with @fdedden .
Implementor: Solution implemented, review requested.
Change Manager: Verified that:
- Solution is implemented:
-
The code proposed compiles and passes all tests. Details:
Build log: https://app.travis-ci.com/github/Copilot-Language/copilot/builds/271304528 -
The solution proposed produces the expected result. Details:
The following Dockerfile installscopilot
forcing the version ofwhat4
to be 1.6:FROM ubuntu:focal RUN apt-get update RUN apt-get install --yes libz-dev RUN apt-get install --yes git RUN apt-get install --yes wget RUN mkdir -p $HOME/.ghcup/bin RUN wget https://downloads.haskell.org/~ghcup/0.1.19.2/x86_64-linux-ghcup-0.1.19.2 -O $HOME/.ghcup/bin/ghcup RUN chmod a+x $HOME/.ghcup/bin/ghcup ENV PATH=$PATH:/root/.ghcup/bin/ ENV PATH=$PATH:/root/.cabal/bin/ RUN apt-get install --yes curl RUN apt-get install --yes gcc g++ make libgmp3-dev SHELL ["/bin/bash", "-c"] RUN ghcup install ghc 9.4 RUN ghcup install cabal 3.8 RUN ghcup set ghc 9.4.8 RUN cabal update CMD git clone $REPO \ && cd $NAME \ && git checkout $COMMIT \ && cabal install --lib copilot**/ \ --constraint="what4>=1.6" \ && echo Success
Command (substitute variables based on new path after merge):
$ docker run -e "REPO=https://github.com/ivanperez-keera/copilot" -e "NAME=copilot" -e "COMMIT=4cf2dce291b7e111f76cba26c89a39d1b197f34a" -it copilot-verify-514
-
- Implementation is documented. Details:
No updates needed. - Change history is clear.
- Commit messages are clear.
- Changelogs are updated.
- Examples are updated. Details:
No updates needed. - Required version bumps are evaluated. Details:
Bump not needed (relaxes version constraints).
Change Manager: Implementation ready to be merged.