Skip to content

Conversation

ivanperez-keera
Copy link
Member

Relax version constraint on ogma-extra to allow installation with ogma-extra-1.9, as prescribed in the solution proposed for #645.

@ivanperez-keera
Copy link
Member Author

Change Manager: Rebase changes on top of master.

…pilot-Language#645.

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. The package
`ogma-extra` has seen release 1.9, but copilot-visualizer depend on
versions prior to 1.7.

This commit relaxes the version constraint of on `ogma-extra` to allow
installation of `copilot-visualizer` with versions in the 1.9 series.
@ivanperez-keera
Copy link
Member Author

Implementor: Fix implemented, review requested.

@ivanperez-keera
Copy link
Member Author

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/276237413
    • The solution proposed produces the expected result. Details:
      The following Dockerfile installs copilot forcing the version of ogma-extra to be greater than or equal to 1.9, after which it prints the message "Success":
      FROM ubuntu:jammy
      
      ENV DEBIAN_FRONTEND=noninteractive
      RUN apt-get update
      
      RUN apt-get install --yes \
            libz-dev \
            git \
            curl \
            gcc \
            g++ \
            make \
            libgmp3-dev  \
            pkg-config
      
      RUN mkdir -p $HOME/.ghcup/bin
      RUN curl https://downloads.haskell.org/~ghcup/0.1.40.0/x86_64-linux-ghcup-0.1.40.0 -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/
      
      SHELL ["/bin/bash", "-c"]
      
      RUN ghcup install ghc 9.8.4
      RUN ghcup install cabal 3.2
      RUN ghcup set ghc 9.8.4
      RUN cabal update
      
      SHELL ["/bin/bash", "-c"]
      CMD git clone $REPO && cd $NAME && git checkout $COMMIT && cd .. \
        && cabal v1-sandbox init \
        && cabal v1-install alex happy --constraint='happy <= 2' \
        && cabal v1-install --constraint='ogma-extra >= 1.9' \
                            $NAME/copilot/ \
                            $NAME/copilot-bluespec/ \
                            $NAME/copilot-c99/ \
                            $NAME/copilot-core/ \
                            $NAME/copilot-prettyprinter/ \
                            $NAME/copilot-interpreter/ \
                            $NAME/copilot-language/ \
                            $NAME/copilot-libraries/ \
                            $NAME/copilot-theorem/ \
                            $NAME/copilot-verifier/ \
                            $NAME/copilot-visualizer/ \
        && 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=7f6042049506600a59edcb153cf532dee64fd154 copilot-verify-645
      
  • Implementation is documented. Details:
    No updates needed; change is to the dependencies.
  • Change history is clear.
  • Commit messages are clear.
  • Changelogs are updated.
  • Examples are updated. Details:
    No updates needed; change is to the dependencies.
  • Author is internal or has provided signed CLA.
  • Required version bumps are evaluated. Details:
    Bump not needed; relaxes version constraints but does not affect Copilot's public API.

@ivanperez-keera ivanperez-keera merged commit f887b3c into Copilot-Language:master Sep 7, 2025
1 check passed
@ivanperez-keera ivanperez-keera deleted the develop-bump-ogma-extra branch September 7, 2025 03:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

1 participant