`copilot`: Extend range of versions `optparse-applicative`
ivanperez-keera opened this issue · 6 comments
Description
optparse-applicative
has seen a new release 0.18.1.0, but copilot
needs versions strictly lower than 1.8. This could prevent copilot
from being installed in certain systems or with certain LTSs.
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 optparse-applicative>=0.18
.
Desired result
Copilot can be installed with optparse-applicative>=0.18
.
Proposed solution
Modify copilot
's cabal file to accept optparse-applicative
versions >= 0.18
and <0.19
.
Adjust copilot
as needed to work with that version of optparse-applicative
.
Further notes
None.
Change Manager: Confirmed that versions are overly constrained and upper bounds should be relaxed.
Technical Lead: Confirmed that the issue should be addressed.
Technical Lead: Issue scheduled for fixing in Copilot 3.18.
Fix assigned to: @ivanperez-keera.
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/268176278 -
The solution proposed produces the expected result. Details:
The following Dockerfile checks Copilot can be installed withoptparse-applicative>=0.18
, in which case it prints the messageSuccess
:
Command (substitute variables based on new path after merge):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="optparse-applicative>=0.18" \ && echo Success
$ docker run -e "REPO=https://github.com/ivanperez-keera/copilot" -e "NAME=copilot" -e "COMMIT=2f92b7f84e42e15b041f88e54656a4fdfa577072" -it copilot-verify-488
-
- Implementation is documented. Details:
No documentation 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 (new versions allowed but not required).
Change Manager: Implementation ready to be merged.