Skip to content

Commit ccc9250

Browse files
Merge branch 'develop-versions-dependencies'. Close #716.
**Description** In order to keep Copilot effectively working in the current Haskell ecosystem, as well as new versions of GHC, we need to extend the versions of dependencies that Copilot can be installed with. For example, `ogma-extra` has seen release 1.12, but `copilot-visualizer` needs versions strictly lower than 1.10. For those libraries that have introduced no breaking changes affecting Copilot, we should extend the version bounds. **Type** - Management: update versions of dependencies. **Additional context** None. **Requester** - Ivan Perez. **Method to check presence of bug** Not applicable (not a bug). **Expected result** Copilot can be installed with the most recent version of all dependencies published on hackage that do not require a change to the Haskell code. The following Dockerfile installs all Copilot libraries forcing the version of what4 and ogma-extra to be the latest major currently available, after which it prints the message "Success": ``` FROM ubuntu:noble ENV DEBIAN_FRONTEND=noninteractive SHELL ["/bin/bash", "-c"] RUN apt-get update RUN apt-get install --yes \ build-essential \ curl \ git \ libffi-dev \ libgmp3-dev \ libncurses-dev \ libz-dev \ pkg-config \ wget RUN mkdir -p $HOME/.ghcup/bin RUN curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_MINIMAL=1 BOOTSTRAP_HASKELL_NONINTERACTIVE=1 sh ENV PATH=$PATH:/root/.ghcup/bin/ RUN ghcup install ghc 9.8 RUN ghcup install cabal 3.16 RUN ghcup set ghc 9.8.4 RUN cabal update ENV PATH=$PATH:/root/.cabal/bin/ CMD git clone $REPO \ && cd $NAME \ && git checkout $COMMIT \ && echo " copilot-verifier/copilot-verifier.cabal" >> cabal.project \ && echo " copilot-visualizer/copilot-visualizer.cabal" >> cabal.project \ && cabal install --lib \ copilot/ \ copilot-bluespec/ \ copilot-c99/ \ copilot-core/ \ copilot-prettyprinter/ \ copilot-interpreter/ \ copilot-language/ \ copilot-libraries/ \ copilot-theorem/ \ copilot-verifier/ \ copilot-visualizer/ \ --constraint="ogma-extra>=1.12" \ --constraint="what4>=1.7" \ && echo Success ``` Command (substitute variables based on new path after merge): ``` $ docker run -e "REPO=https://github.com/Copilot-Language/copilot" -e "NAME=copilot" -e "COMMIT=<HASH>" -it copilot-verify-716 ``` **Solution implemented** Copilot can be installed with the most recent version of all dependencies published on hackage that do not require a change to the Haskell code. **Further notes** None.
2 parents 175ee43 + e3a0222 commit ccc9250

4 files changed

Lines changed: 8 additions & 2 deletions

File tree

copilot-verifier/CHANGELOG

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
2026-03-07
2+
* Relax version constraints on what4. (#716)
3+
14
2026-01-07
25
* Version bump (4.6.1). (#705)
36

copilot-verifier/copilot-verifier.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ common bldflags
6262
text,
6363
transformers,
6464
vector,
65-
what4 >= 1.6.1 && < 1.7
65+
what4 >= 1.6.1 && < 1.8
6666

6767
library
6868
import: bldflags

copilot-visualizer/CHANGELOG

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
2026-03-07
2+
* Relax version constraints on ogma-extra. (#716)
3+
14
2026-01-07
25
* Version bump (4.6.1). (#705)
36

copilot-visualizer/copilot-visualizer.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ library
6161
filepath >= 1.4.2 && < 1.6,
6262
hint >= 0.9.0 && < 1.10,
6363
pretty >= 1.0 && < 1.2,
64-
ogma-extra >= 1.6.0 && < 1.10,
64+
ogma-extra >= 1.6.0 && < 1.13,
6565
text >= 1.2.3.1 && < 2.2,
6666
websockets >= 0.12.7 && < 0.14,
6767

0 commit comments

Comments
 (0)