Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Bump Stackage to LTS-22.32 #304

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
Open

WIP: Bump Stackage to LTS-22.32 #304

wants to merge 10 commits into from

Conversation

int-index
Copy link
Member

WIP

Here to see the CI output.

int-index and others added 9 commits September 11, 2024 19:44
Problem:

1. Running `nix develop` in the project root does not provide a
   development environment of any sort, as evidenced by:
       ghc-pkg list
   printing only boot libraries.

2. Tests can fail with this error:
       xrefcheck-tests: Network.Socket.bind: resource busy (Address already in use)
   due to a potential conflict with an already running application.

Solution:

1. flake.nix: inherit devShells
2. tests: configurable mock server port

With these changes I've been able to build the project and run its tests
as follows:

    nix shell nixpkgs#haskellPackages.hpack nixpkgs#cabal-install
    nix develop -c $SHELL
    hpack
    vsftpd \
       -orun_as_launching_user=yes \
       -olisten_port=2221 \
       -olisten=yes \
       -oftp_username=$(whoami) \
       -oanon_root=./ftp-tests/ftp_root \
       -opasv_min_port=2222 \
       -ohide_file='{.*}' \
       -odeny_file='{.*}' \
       -oseccomp_sandbox=no \
       -olog_ftp_protocol=yes \
       -oxferlog_enable=yes \
       -ovsftpd_log_file=./ftp.log &
    cabal test ftp-tests --test-options="--ftp-host ftp://127.0.0.1:2221"
    cabal test xrefcheck-tests --test-options="--mock-server-port 3001"
Problem: we take nyan-interpolation from GitHub, which is harder
to manage than if we take it from Hackage.
Fortunately, the latest version is now available and suits us.

Solution: specify Hackage version of nyan-interpoation[-core]
in extra-deps.
Problem: this is a new warning which wants us to provide an explicit
kind signature for each type we define. It sounds too verbose to do.

Solution: disable this warning.
Problem: retryAfterInfo doesn't compile because the type of
readMaybe got more polymorphic in Universum.

Solution: specify explicitly that the argument is Text.
N.B. In the previous version it was String (due to the old type of
readMaybe), but Text is generally preferable, so we're changing it.
Problem: some lens-related things that we use got deprecated in
Universum.
Solution: do not use them, import them from Control.Lens instead.
…etty

Problem: build failure with newer versions of optparse-applicative
  Module ‘Options.Applicative.Help.Pretty’ does not export ‘displayS’
  Module ‘Options.Applicative.Help.Pretty’ does not export ‘renderPretty’
  Module ‘Options.Applicative.Help.Pretty’ does not export ‘text’

Solution: stop using functions that have been removed.
Problem: Cross-compilation to windows is broken.

Solution: Build 'bitvec' without 'simd' flag
@serokell-bot
Copy link
Contributor

3 Warnings
⚠️ In commit 2821257 message is too long (73 chars), please keep its length within 72 characters.
See also [Note].
⚠️ Inappropriate title for PR.
Should start from issue ID (e.g. [#123]), [Chore] or [Style] tag.
Note: please use [Chore] also for tickets tracked internally on YouTrack.
⚠️ Bad issue ID in branch name.
Valid format for issue IDs: #123 or chore.

[Note]: Skip this check by adding wip, tmp or [temporary] to the commit subject. Fixup commits (marked with fixup! or squash!) are also exempt from this check.

Generated by 🚫 Danger

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.

4 participants