From 47a036a6ec80f6a8274d032dae8d009a54160628 Mon Sep 17 00:00:00 2001 From: Andreas Abel Date: Sun, 11 May 2025 17:42:25 +0200 Subject: [PATCH 01/10] Bump to Cabal 3.14 and GHC 9.12 --- .github/workflows/haskell-ci.yml | 25 +++++++++++++++---------- hackage-server.cabal | 25 +++++++++++++------------ 2 files changed, 28 insertions(+), 22 deletions(-) diff --git a/.github/workflows/haskell-ci.yml b/.github/workflows/haskell-ci.yml index abc97cb0..3d7f9ba6 100644 --- a/.github/workflows/haskell-ci.yml +++ b/.github/workflows/haskell-ci.yml @@ -8,9 +8,9 @@ # # For more information, see https://github.com/haskell-CI/haskell-ci # -# version: 0.19.20250330 +# version: 0.19.20250506 # -# REGENDATA ("0.19.20250330",["github","hackage-server.cabal"]) +# REGENDATA ("0.19.20250506",["github","hackage-server.cabal"]) # name: Haskell-CI on: @@ -32,19 +32,24 @@ jobs: strategy: matrix: include: - - compiler: ghc-9.10.1 + - compiler: ghc-9.12.2 compilerKind: ghc - compilerVersion: 9.10.1 + compilerVersion: 9.12.2 setup-method: ghcup allow-failure: false - - compiler: ghc-9.8.2 + - compiler: ghc-9.10.2 compilerKind: ghc - compilerVersion: 9.8.2 + compilerVersion: 9.10.2 setup-method: ghcup allow-failure: false - - compiler: ghc-9.6.5 + - compiler: ghc-9.8.4 compilerKind: ghc - compilerVersion: 9.6.5 + compilerVersion: 9.8.4 + setup-method: ghcup + allow-failure: false + - compiler: ghc-9.6.7 + compilerKind: ghc + compilerVersion: 9.6.7 setup-method: ghcup allow-failure: false - compiler: ghc-9.4.8 @@ -86,8 +91,8 @@ jobs: chmod a+x "$HOME/.ghcup/bin/ghcup" - name: Install cabal-install run: | - "$HOME/.ghcup/bin/ghcup" install cabal 3.14.1.1-p1 || (cat "$HOME"/.ghcup/logs/*.* && false) - echo "CABAL=$HOME/.ghcup/bin/cabal-3.14.1.1-p1 -vnormal+nowrap" >> "$GITHUB_ENV" + "$HOME/.ghcup/bin/ghcup" install cabal 3.14.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false) + echo "CABAL=$HOME/.ghcup/bin/cabal-3.14.2.0 -vnormal+nowrap" >> "$GITHUB_ENV" - name: Install GHC (GHCup) if: matrix.setup-method == 'ghcup' run: | diff --git a/hackage-server.cabal b/hackage-server.cabal index 6ef76b48..5e6630a2 100644 --- a/hackage-server.cabal +++ b/hackage-server.cabal @@ -28,9 +28,10 @@ license: BSD-3-Clause license-file: LICENSE tested-with: - GHC == 9.10.1 - GHC == 9.8.2 - GHC == 9.6.5 + GHC == 9.12.2 + GHC == 9.10.2 + GHC == 9.8.4 + GHC == 9.6.7 GHC == 9.4.8 GHC == 9.2.8 GHC == 9.0.2 @@ -130,10 +131,10 @@ common defaults -- see `cabal.project.local-ghc-${VERSION}` files build-depends: , array >= 0.5 && < 0.6 - , base >= 4.13 && < 4.21 + , base >= 4.13 && < 4.22 , binary >= 0.8 && < 0.9 , bytestring >= 0.10 && < 0.13 - , containers >= 0.6.0 && < 0.8 + , containers >= 0.6.0 && < 0.9 , deepseq >= 1.4 && < 1.6 , directory >= 1.3 && < 1.4 , filepath >= 1.4 && < 1.6 @@ -142,15 +143,15 @@ common defaults , pretty >= 1.1 && < 1.2 , process >= 1.6 && < 1.7 , text ^>= 1.2.5.0 || >= 2.0 && < 2.2 - , time >= 1.9 && < 1.13 + , time >= 1.9 && < 1.15 , transformers >= 0.5 && < 0.7 , unix >= 2.7 && < 2.9 , scientific -- other dependencies shared by most components build-depends: , aeson >= 2.1.0.0 && < 2.3 - , Cabal >= 3.12.1.0 && < 3.14 - , Cabal-syntax >= 3.12.1.0 && < 3.14 + , Cabal >= 3.14.2.0 && < 3.16 + , Cabal-syntax >= 3.14.2.0 && < 3.16 -- Cabal-syntax needs to be bound to constrain hackage-security -- see https://github.com/haskell/hackage-server/issues/1130 , fail ^>= 4.9.0 @@ -444,12 +445,12 @@ library -- haddock-library-1.11.0 changed type of markupOrderedList -- see https://github.com/haskell/hackage-server/issues/1128 , happstack-server ^>= 7.7.1 || ^>= 7.8.0 || ^>= 7.9.0 - , hashable ^>= 1.3 || ^>= 1.4 + , hashable >= 1.3 && < 1.6 , hs-captcha ^>= 1.0 , hslogger ^>= 1.3.1 , lifted-base ^>= 0.2.1 , mime-mail ^>= 0.5 - , random ^>= 1.2 + , random >= 1.2 && < 1.4 , rss ^>= 3000.2.0.7 , safecopy ^>= 0.10 , semigroups ^>= 0.20 @@ -458,7 +459,7 @@ library , stringsearch ^>= 0.3.6.6 , tagged ^>= 0.8.5 , transformers ^>= 0.6 - , xhtml >= 3000.2.0.0 && < 3000.4 + , xhtml >= 3000.2.0.0 && < 3000.5 , xmlgen ^>= 0.6 , xss-sanitize ^>= 0.3.6 @@ -600,7 +601,7 @@ test-suite ReverseDependenciesTest , tasty-hedgehog ^>= 1.4 , tasty-hunit ^>= 0.10 , HUnit ^>= 1.6 - , hedgehog ^>= 1.4 + , hedgehog >= 1.4 && < 1.6 , exceptions , bimap , mime-mail From 016598f8f5596ca4ba1bde77247316f209196e5c Mon Sep 17 00:00:00 2001 From: Andreas Abel Date: Sun, 11 May 2025 17:53:29 +0200 Subject: [PATCH 02/10] Temporarily switch off other workflows than Haskell CI --- .github/workflows/dependabot-auto-approve.yml | 22 ---------- .github/workflows/nix-flake.yml | 42 ------------------- .github/workflows/update-flake-lock.yml | 22 ---------- 3 files changed, 86 deletions(-) delete mode 100644 .github/workflows/dependabot-auto-approve.yml delete mode 100644 .github/workflows/nix-flake.yml delete mode 100644 .github/workflows/update-flake-lock.yml diff --git a/.github/workflows/dependabot-auto-approve.yml b/.github/workflows/dependabot-auto-approve.yml deleted file mode 100644 index 6e7e31f8..00000000 --- a/.github/workflows/dependabot-auto-approve.yml +++ /dev/null @@ -1,22 +0,0 @@ -# https://docs.github.com/en/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions#approve-a-pull-request -name: Dependabot auto-approve -on: pull_request - -permissions: - pull-requests: write - -jobs: - dependabot: - runs-on: ubuntu-latest - if: github.actor == 'dependabot[bot]' - steps: - - name: Dependabot metadata - id: metadata - uses: dependabot/fetch-metadata@v2 - with: - github-token: "${{ secrets.GITHUB_TOKEN }}" - - name: Approve a PR - run: gh pr review --approve "$PR_URL" - env: - PR_URL: ${{github.event.pull_request.html_url}} - GH_TOKEN: ${{secrets.GITHUB_TOKEN}} diff --git a/.github/workflows/nix-flake.yml b/.github/workflows/nix-flake.yml deleted file mode 100644 index e00d1bb8..00000000 --- a/.github/workflows/nix-flake.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: "Test Nix Flake" -on: - push: - branches: - - master - pull_request: - branches: - - master -jobs: - nix: - strategy: - fail-fast: true - matrix: - os: - - ubuntu-latest - - ubuntu-24.04-arm - - macos-latest - name: Nix on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - uses: cachix/install-nix-action@v31 - with: - extra_nix_config: | - trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hackage-server.cachix.org-1:iw0iRh6+gsFIrxROFaAt5gKNgIHejKjIfyRdbpPYevY= - substituters = https://cache.nixos.org/ https://hackage-server.cachix.org/ - - uses: cachix/cachix-action@v16 - with: - # https://nix.dev/tutorials/continuous-integration-github-actions#setting-up-github-actions - name: hackage-server - authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' - - - name: "Check `nix develop` shell" - run: nix develop --check - - - name: "Check `nix develop` shell can run command" - run: nix develop --command "echo" - - - run: nix build - - - continue-on-error: false - run: nix flake check diff --git a/.github/workflows/update-flake-lock.yml b/.github/workflows/update-flake-lock.yml deleted file mode 100644 index 320ffdab..00000000 --- a/.github/workflows/update-flake-lock.yml +++ /dev/null @@ -1,22 +0,0 @@ -# https://github.com/DeterminateSystems/update-flake-lock -name: update-flake-lock -on: - workflow_dispatch: # allows manual triggering - schedule: - - cron: '0 0 1 * *' # runs on first day of the month - -jobs: - lockfile: - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - name: Install Nix - uses: DeterminateSystems/nix-installer-action@main - - name: Update flake.lock - uses: DeterminateSystems/update-flake-lock@main - with: - pr-title: "Update flake.lock" # Title of PR to be created - pr-labels: | # Labels to be set on the PR - dependencies - automated From 3473e174cb391086eae47bbf861901c6beed6dfa Mon Sep 17 00:00:00 2001 From: Andreas Abel Date: Sun, 11 May 2025 17:53:56 +0200 Subject: [PATCH 03/10] Haskell CI: allow older transformers --- .github/workflows/haskell-ci.yml | 2 +- cabal.haskell-ci | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/haskell-ci.yml b/.github/workflows/haskell-ci.yml index 3d7f9ba6..62eaa870 100644 --- a/.github/workflows/haskell-ci.yml +++ b/.github/workflows/haskell-ci.yml @@ -196,7 +196,7 @@ jobs: echo " ghc-options: -Werror=missing-methods" >> cabal.project cat >> cabal.project <> cabal.project.local + $HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: any.$_ installed\n" unless /^(Cabal|Cabal-syntax|hackage-server|parsec|process|text|transformers)$/; }' >> cabal.project.local cat cabal.project cat cabal.project.local - name: dump install plan diff --git a/cabal.haskell-ci b/cabal.haskell-ci index 391b2ebb..ab3045f6 100644 --- a/cabal.haskell-ci +++ b/cabal.haskell-ci @@ -1,6 +1,6 @@ branches: master -installed: +all -Cabal -Cabal-syntax -text -parsec -process +installed: +all -Cabal -Cabal-syntax -text -parsec -process -transformers -- Does not work with GHA: -- -- allow failures with ghc-7.6 and ghc-7.8 From 68ece86a7567944071288ee95f16f9ca89a83102 Mon Sep 17 00:00:00 2001 From: Andreas Abel Date: Sun, 11 May 2025 18:28:08 +0200 Subject: [PATCH 04/10] Drop GHC 9.4 and lower --- .github/workflows/haskell-ci.yml | 27 +-------------------------- cabal.haskell-ci | 6 +++--- hackage-server.cabal | 8 ++------ 3 files changed, 6 insertions(+), 35 deletions(-) diff --git a/.github/workflows/haskell-ci.yml b/.github/workflows/haskell-ci.yml index 62eaa870..ecc1c91d 100644 --- a/.github/workflows/haskell-ci.yml +++ b/.github/workflows/haskell-ci.yml @@ -52,31 +52,6 @@ jobs: compilerVersion: 9.6.7 setup-method: ghcup allow-failure: false - - compiler: ghc-9.4.8 - compilerKind: ghc - compilerVersion: 9.4.8 - setup-method: ghcup - allow-failure: false - - compiler: ghc-9.2.8 - compilerKind: ghc - compilerVersion: 9.2.8 - setup-method: ghcup - allow-failure: false - - compiler: ghc-9.0.2 - compilerKind: ghc - compilerVersion: 9.0.2 - setup-method: ghcup - allow-failure: false - - compiler: ghc-8.10.7 - compilerKind: ghc - compilerVersion: 8.10.7 - setup-method: ghcup - allow-failure: false - - compiler: ghc-8.8.4 - compilerKind: ghc - compilerVersion: 8.8.4 - setup-method: ghcup - allow-failure: false fail-fast: false steps: - name: apt-get install @@ -196,7 +171,7 @@ jobs: echo " ghc-options: -Werror=missing-methods" >> cabal.project cat >> cabal.project <> cabal.project.local + $HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: any.$_ installed\n" unless /^(Cabal|Cabal-syntax|hackage-server|parsec|process|text)$/; }' >> cabal.project.local cat cabal.project cat cabal.project.local - name: dump install plan diff --git a/cabal.haskell-ci b/cabal.haskell-ci index ab3045f6..bdf6a02d 100644 --- a/cabal.haskell-ci +++ b/cabal.haskell-ci @@ -1,13 +1,13 @@ branches: master -installed: +all -Cabal -Cabal-syntax -text -parsec -process -transformers +installed: +all -Cabal -Cabal-syntax -text -parsec -process -- Does not work with GHA: -- -- allow failures with ghc-7.6 and ghc-7.8 -- allow-failures: <7.9 --- Use Ubuntu 22.04 -distribution: jammy +-- -- Use Ubuntu 22.04 +-- distribution: jammy apt: libbrotli-dev libgd-dev -- libgd-dev is for gd via hs-captcha diff --git a/hackage-server.cabal b/hackage-server.cabal index 5e6630a2..5d9c0445 100644 --- a/hackage-server.cabal +++ b/hackage-server.cabal @@ -32,11 +32,7 @@ tested-with: GHC == 9.10.2 GHC == 9.8.4 GHC == 9.6.7 - GHC == 9.4.8 - GHC == 9.2.8 - GHC == 9.0.2 - GHC == 8.10.7 - GHC == 8.8.4 + -- Constraint transformers >= 0.6 forces GHC >= 9.6 for CI data-dir: datafiles data-files: @@ -131,7 +127,7 @@ common defaults -- see `cabal.project.local-ghc-${VERSION}` files build-depends: , array >= 0.5 && < 0.6 - , base >= 4.13 && < 4.22 + , base >= 4.18 && < 4.22 , binary >= 0.8 && < 0.9 , bytestring >= 0.10 && < 0.13 , containers >= 0.6.0 && < 0.9 From 0e4afba14216a36dad1c9fd2aa6643f15719a260 Mon Sep 17 00:00:00 2001 From: Andreas Abel Date: Wed, 21 May 2025 08:37:20 +0200 Subject: [PATCH 05/10] Warning flags -W... rather than -fwarn... --- hackage-server.cabal | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/hackage-server.cabal b/hackage-server.cabal index 5d9c0445..c31d9afc 100644 --- a/hackage-server.cabal +++ b/hackage-server.cabal @@ -162,11 +162,13 @@ common defaults ghc-options: -funbox-strict-fields - -Wall -fwarn-tabs -fno-warn-unused-do-bind -fno-warn-deprecated-flags - -Werror=incomplete-patterns -Werror=missing-methods - - if impl(ghc >= 8.10) - ghc-options: -Wno-unused-record-wildcards + -Wall + -Wtabs + -Wno-deprecated-flags + -Wno-unused-do-bind + -Wno-unused-record-wildcards + -Werror=incomplete-patterns + -Werror=missing-methods default-extensions: LambdaCase, TupleSections other-extensions: CPP, TemplateHaskell @@ -538,7 +540,10 @@ common test-defaults build-depends: hackage-server hs-source-dirs: tests - ghc-options: -threaded -rtsopts -fno-warn-orphans + ghc-options: + -threaded + -rtsopts + -Wno-orphans other-modules: Paths_hackage_server autogen-modules: Paths_hackage_server From 3d1ba7069dadc32814f223d51337989ed7a1d68e Mon Sep 17 00:00:00 2001 From: Andreas Abel Date: Wed, 21 May 2025 08:37:52 +0200 Subject: [PATCH 06/10] Bump doctest-parallel --- hackage-server.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hackage-server.cabal b/hackage-server.cabal index c31d9afc..0c18e1d0 100644 --- a/hackage-server.cabal +++ b/hackage-server.cabal @@ -698,7 +698,7 @@ test-suite DocTests main-is: DocTestMain.hs build-depends: , hackage-server - , doctest-parallel ^>= 0.3.0 + , doctest-parallel ^>= 0.3.1.1 -- doctest-parallel-0.2.2 is the first to filter out autogen-modules if !flag(doctests) From 2a0bcf91bc82cee95c4c43681c022e6c186628c3 Mon Sep 17 00:00:00 2001 From: Andreas Abel Date: Wed, 21 May 2025 08:38:27 +0200 Subject: [PATCH 07/10] Revert "Temporarily switch off other workflows than Haskell CI" This reverts commit 016598f8f5596ca4ba1bde77247316f209196e5c. --- .github/workflows/dependabot-auto-approve.yml | 22 ++++++++++ .github/workflows/nix-flake.yml | 42 +++++++++++++++++++ .github/workflows/update-flake-lock.yml | 22 ++++++++++ 3 files changed, 86 insertions(+) create mode 100644 .github/workflows/dependabot-auto-approve.yml create mode 100644 .github/workflows/nix-flake.yml create mode 100644 .github/workflows/update-flake-lock.yml diff --git a/.github/workflows/dependabot-auto-approve.yml b/.github/workflows/dependabot-auto-approve.yml new file mode 100644 index 00000000..6e7e31f8 --- /dev/null +++ b/.github/workflows/dependabot-auto-approve.yml @@ -0,0 +1,22 @@ +# https://docs.github.com/en/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions#approve-a-pull-request +name: Dependabot auto-approve +on: pull_request + +permissions: + pull-requests: write + +jobs: + dependabot: + runs-on: ubuntu-latest + if: github.actor == 'dependabot[bot]' + steps: + - name: Dependabot metadata + id: metadata + uses: dependabot/fetch-metadata@v2 + with: + github-token: "${{ secrets.GITHUB_TOKEN }}" + - name: Approve a PR + run: gh pr review --approve "$PR_URL" + env: + PR_URL: ${{github.event.pull_request.html_url}} + GH_TOKEN: ${{secrets.GITHUB_TOKEN}} diff --git a/.github/workflows/nix-flake.yml b/.github/workflows/nix-flake.yml new file mode 100644 index 00000000..e00d1bb8 --- /dev/null +++ b/.github/workflows/nix-flake.yml @@ -0,0 +1,42 @@ +name: "Test Nix Flake" +on: + push: + branches: + - master + pull_request: + branches: + - master +jobs: + nix: + strategy: + fail-fast: true + matrix: + os: + - ubuntu-latest + - ubuntu-24.04-arm + - macos-latest + name: Nix on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - uses: cachix/install-nix-action@v31 + with: + extra_nix_config: | + trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hackage-server.cachix.org-1:iw0iRh6+gsFIrxROFaAt5gKNgIHejKjIfyRdbpPYevY= + substituters = https://cache.nixos.org/ https://hackage-server.cachix.org/ + - uses: cachix/cachix-action@v16 + with: + # https://nix.dev/tutorials/continuous-integration-github-actions#setting-up-github-actions + name: hackage-server + authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' + + - name: "Check `nix develop` shell" + run: nix develop --check + + - name: "Check `nix develop` shell can run command" + run: nix develop --command "echo" + + - run: nix build + + - continue-on-error: false + run: nix flake check diff --git a/.github/workflows/update-flake-lock.yml b/.github/workflows/update-flake-lock.yml new file mode 100644 index 00000000..320ffdab --- /dev/null +++ b/.github/workflows/update-flake-lock.yml @@ -0,0 +1,22 @@ +# https://github.com/DeterminateSystems/update-flake-lock +name: update-flake-lock +on: + workflow_dispatch: # allows manual triggering + schedule: + - cron: '0 0 1 * *' # runs on first day of the month + +jobs: + lockfile: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Install Nix + uses: DeterminateSystems/nix-installer-action@main + - name: Update flake.lock + uses: DeterminateSystems/update-flake-lock@main + with: + pr-title: "Update flake.lock" # Title of PR to be created + pr-labels: | # Labels to be set on the PR + dependencies + automated From f249f43c849147993d4e0d13acebfc0e2554f72b Mon Sep 17 00:00:00 2001 From: Peter Becich Date: Thu, 29 May 2025 23:19:14 -0700 Subject: [PATCH 08/10] update Nix Flake for Cabal 3.14 --- flake.lock | 24 ++++++++++++------------ flake.nix | 40 ++++++++++++++++++++++++++++++++++------ 2 files changed, 46 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index a5c503a1..6b84937b 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1719994518, - "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", + "lastModified": 1743550720, + "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", + "rev": "c621e8422220273271f52058f618c94e405bb0f5", "type": "github" }, "original": { @@ -22,11 +22,11 @@ }, "flake-root": { "locked": { - "lastModified": 1713493429, - "narHash": "sha256-ztz8JQkI08tjKnsTpfLqzWoKFQF4JGu2LRz8bkdnYUk=", + "lastModified": 1723604017, + "narHash": "sha256-rBtQ8gg+Dn4Sx/s+pvjdq3CB2wQNzx9XGFq/JVGCB6k=", "owner": "srid", "repo": "flake-root", - "rev": "bc748b93b86ee76e2032eecda33440ceb2532fcd", + "rev": "b759a56851e10cb13f6b8e5698af7b59c44be26e", "type": "github" }, "original": { @@ -37,11 +37,11 @@ }, "haskell-flake": { "locked": { - "lastModified": 1721530802, - "narHash": "sha256-eUMmQKXjt4WQq+IBscftg/Y9bXWiOYhasfeH5Yb9Psc=", + "lastModified": 1748249016, + "narHash": "sha256-VezZGWRqCG7JXacHDhONNHGjacn3Y405RzNvx0mM374=", "owner": "srid", "repo": "haskell-flake", - "rev": "f8f38ecd259338167cc0c85fd541479297a315af", + "rev": "d91a3893c867a4e6702862a751c1e24ed3dbde89", "type": "github" }, "original": { @@ -52,11 +52,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1721952842, - "narHash": "sha256-B6Fm/e+2Iq1LB0ITtdaVS/lxkckCwPNpgBuduuv1HzY=", + "lastModified": 1748650983, + "narHash": "sha256-zaRssm81Ma4YT5k4HEVPpNhfofbkYjLvApv73iAEs2o=", "owner": "nixos", "repo": "nixpkgs", - "rev": "574f1a6205e63e9870c6e6132c393f9082d58d2a", + "rev": "c8fe7786a1c661dc76f4398dbf952939f4aed378", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 82158c3a..54ffa9bb 100644 --- a/flake.nix +++ b/flake.nix @@ -42,25 +42,53 @@ }; packages.default = config.packages.hackage-server; haskellProjects.default = { + basePackages = pkgs.haskell.packages.ghc910; settings = { hackage-server.check = false; - ap-normalize.check = false; + + cabal-add.jailbreak = true; + cabal-install-parsers.jailbreak = true; # https://community.flake.parts/haskell-flake/dependency#nixpkgs - tar = { super, ... }: - { custom = _: super.tar_0_6_3_0; }; - hackage-security = { super, ... }: - { custom = _: super.hackage-security_0_6_2_6; }; + Cabal-syntax = { super, ... }: + { custom = _: super.Cabal-syntax_3_14_2_0; }; + Cabal = { super, ... }: + { custom = _: super.Cabal_3_14_2_0; }; + fourmolu.check = false; + hls-plugin-api.jailbreak = true; + ghcide.jailbreak = true; + haskell-language-server.jailbreak = true; + + Diff = { super, ... }: + { custom = _: super.Diff_1_0_2; }; + + ormolu = { super, ... }: + { custom = _: super.ormolu_0_8_0_0; + check = false; + }; + extensions = { super, ... }: + { custom = _: super.extensions_0_1_0_3; + jailbreak = true; + }; + + hlint = { super, ... }: + { custom = _: super.hlint_3_10; }; + ghc-lib-parser-ex = { super, ... }: + { custom = _: super.ghc-lib-parser-ex_9_12_0_0; }; + ghc-lib-parser = { super, ... }: + { + custom = _: super.ghc-lib-parser_9_12_2_20250421; + }; }; packages = { # https://community.flake.parts/haskell-flake/dependency#path # tls.source = "1.9.0"; + fourmolu.source = "0.18.0.0"; }; devShell = { tools = hp: { inherit (pkgs) cabal-install ghc - # https://github.com/haskell/hackage-server/pull/1219#issuecomment-1597140858 # glibc icu67 From adb4d37a08d12a18d83fd37534f18eb08055b9ce Mon Sep 17 00:00:00 2001 From: Peter Becich Date: Sat, 31 May 2025 23:42:26 -0700 Subject: [PATCH 09/10] disable fail fast for Nix Flake GitHub Action --- .github/workflows/nix-flake.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nix-flake.yml b/.github/workflows/nix-flake.yml index e00d1bb8..7e1458a0 100644 --- a/.github/workflows/nix-flake.yml +++ b/.github/workflows/nix-flake.yml @@ -9,7 +9,7 @@ on: jobs: nix: strategy: - fail-fast: true + fail-fast: false matrix: os: - ubuntu-latest From 4a9ecccc192c11955000d9b9c97dac4441976f65 Mon Sep 17 00:00:00 2001 From: Peter Becich Date: Sun, 1 Jun 2025 10:00:46 -0700 Subject: [PATCH 10/10] disuse `haskell-updates` --- flake.lock | 7 +++---- flake.nix | 8 ++++++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 6b84937b..f690d105 100644 --- a/flake.lock +++ b/flake.lock @@ -52,16 +52,15 @@ }, "nixpkgs": { "locked": { - "lastModified": 1748650983, - "narHash": "sha256-zaRssm81Ma4YT5k4HEVPpNhfofbkYjLvApv73iAEs2o=", + "lastModified": 1748795728, + "narHash": "sha256-QtwbTB5MmP7UoLQbaw+g2at/DQaJbn48RxAPVIQgf8Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c8fe7786a1c661dc76f4398dbf952939f4aed378", + "rev": "9858755c272002ce525a4de5d9ec9560b2154fba", "type": "github" }, "original": { "owner": "nixos", - "ref": "haskell-updates", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index 54ffa9bb..cfafb29e 100644 --- a/flake.nix +++ b/flake.nix @@ -1,6 +1,6 @@ { inputs = { - nixpkgs.url = "github:nixos/nixpkgs/haskell-updates"; + nixpkgs.url = "github:nixos/nixpkgs"; flake-parts.url = "github:hercules-ci/flake-parts"; haskell-flake.url = "github:srid/haskell-flake"; flake-root.url = "github:srid/flake-root"; @@ -61,6 +61,9 @@ Diff = { super, ... }: { custom = _: super.Diff_1_0_2; }; + threads.check = false; + tree-diff.check = false; + ormolu = { super, ... }: { custom = _: super.ormolu_0_8_0_0; check = false; @@ -76,7 +79,8 @@ { custom = _: super.ghc-lib-parser-ex_9_12_0_0; }; ghc-lib-parser = { super, ... }: { - custom = _: super.ghc-lib-parser_9_12_2_20250421; + # custom = _: super.ghc-lib-parser_9_12_2_20250421; + custom = _: super.ghc-lib-parser_9_12_2_20250320; }; }; packages = {