From 2330a1d07120ceb91a932020e1ff2918bee30934 Mon Sep 17 00:00:00 2001 From: Tommy Bidne Date: Thu, 5 Sep 2024 12:41:54 +1200 Subject: [PATCH] Update tools for ghc 9.10 --- .github/workflows/ci.yaml | 1 + CHANGELOG.md | 16 ++++++++++++++-- README.md | 14 ++++++++------ flake.lock | 36 +++++++++++++++--------------------- flake.nix | 39 ++++++++++++++++++++++++++++++++++++--- 5 files changed, 74 insertions(+), 32 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index f310d3a..9082db7 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -4,6 +4,7 @@ on: push: branches: - main + - ghc-9.10 pull_request: branches: diff --git a/CHANGELOG.md b/CHANGELOG.md index 37dfdb1..40ae1d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,19 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to the [Haskell Package Versioning Policy](https://pvp.haskell.org/). -## [Unreleased] +TODO: Check versions w/ final nixpkgs + +## [0.11] +### Changed +* Updated tools: + * `cabal-fmt: 0.1.11.0 -> 0.1.12` + * `cabal-plan: 0.7.3.0 -> 0.7.4.0` + * `fourmolu: 0.15.0.0 -> 0.16.2.0` + * `hlint: 3.8 -> ???` + * `nixfmt: 2024-03-01 -> 2024-08-16` + * `ormolu: 0.7.4.0 -> 0.7.7.0` + * `stylish: 0.14.6.0 -> ???` + ### Added * `prettier-3.2.5` * `yamllint-1.35.1` @@ -134,7 +146,7 @@ and this project adheres to the * First version. Released on an unsuspecting world. -[Unreleased]: https://github.com/tbidne/nix-hs-tools/compare/0.10.1...main +[0.11]: https://github.com/tbidne/nix-hs-tools/compare/0.10.1...0.11 [0.10.1]: https://github.com/tbidne/nix-hs-tools/compare/0.10...0.10.1 [0.10]: https://github.com/tbidne/nix-hs-tools/compare/0.9.1.0...0.10 [0.9.1.0]: https://github.com/tbidne/nix-hs-tools/compare/0.9.0.1...0.9.1.0 diff --git a/README.md b/README.md index 1671c8c..3485a78 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # nix-hs-tools [![GitHub release (latest SemVer)](https://img.shields.io/github/v/tag/tbidne/nix-hs-tools?include_prereleases&sort=semver)](https://github.com/tbidne/nix-hs-tools/releases/) -![haskell](https://img.shields.io/static/v1?label=&message=9.8&logo=haskell&logoColor=655889&labelColor=2f353e&color=655889) +![haskell](https://img.shields.io/static/v1?label=&message=9.10&logo=haskell&logoColor=655889&labelColor=2f353e&color=655889) [![ci](http://img.shields.io/github/actions/workflow/status/tbidne/nix-hs-tools/ci.yaml?branch=main&logoColor=85c5e7&labelColor=2f353c)](https://github.com/tbidne/nix-hs-tools/actions/workflows/ci.yaml) [![MIT](https://img.shields.io/github/license/tbidne/nix-hs-tools?color=blue)](https://opensource.org/licenses/MIT) @@ -15,21 +15,23 @@
+TODO: Check versions w/ final nixpkgs + ###### Haskell Formatters -[![Static Badge](https://img.shields.io/badge/cabal--fmt-0.1.11-orange)](#cabal-fmt) -[![Static Badge](https://img.shields.io/badge/fourmolu-0.15.0.0-orange)](#fourmolu) -[![Static Badge](https://img.shields.io/badge/ormolu-0.7.4.0-orange)](#ormolu) +[![Static Badge](https://img.shields.io/badge/cabal--fmt-0.1.12-orange)](#cabal-fmt) +[![Static Badge](https://img.shields.io/badge/fourmolu-0.16.2.0-orange)](#fourmolu) +[![Static Badge](https://img.shields.io/badge/ormolu-0.7.7.0-orange)](#ormolu) [![Static Badge](https://img.shields.io/badge/stylish-0.14.6.0-orange)](#stylish) ###### Haskell Linters [![Static Badge](https://img.shields.io/badge/hlint-3.8-orange)](#hlint) ###### Haskell Miscellaneous -[![Static Badge](https://img.shields.io/badge/cabal--plan-0.7.3.0-orange)](#cabal-plan) +[![Static Badge](https://img.shields.io/badge/cabal--plan-0.7.4.0-orange)](#cabal-plan) [![Static Badge](https://img.shields.io/badge/hie-0.1.4.0-orange)](#hie) ###### Nix Formatters -[![Static Badge](https://img.shields.io/badge/nixfmt-unstable--2024--03--01-orange)](#nixfmt) +[![Static Badge](https://img.shields.io/badge/nixfmt-unstable--2024--08--16-orange)](#nixfmt) [![Static Badge](https://img.shields.io/badge/nixpkgs--fmt-1.3.0-orange)](#nixpkgs-fmt) ###### Other diff --git a/flake.lock b/flake.lock index 11355ef..24e7639 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1712014858, - "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", + "lastModified": 1730504689, + "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", + "rev": "506278e768c2a08bec68eb62932193e341f55c90", "type": "github" }, "original": { @@ -20,11 +20,11 @@ }, "nix-hs-utils": { "locked": { - "lastModified": 1711761756, - "narHash": "sha256-6EDvx7k4B/1jbeaRRyOmyhuqxscUDZfoFdY3WkbbtS8=", + "lastModified": 1730940071, + "narHash": "sha256-jD05LQJNTRgqb2G2ejg+V28bmlAUW+QnX6gKTa9B80s=", "owner": "tbidne", "repo": "nix-hs-utils", - "rev": "22dd264852ad2c4970cc3154e15e3a16ce3cd66a", + "rev": "8df71273dac309aced37032f004dd9c0deb057de", "type": "github" }, "original": { @@ -35,11 +35,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1712963716, - "narHash": "sha256-WKm9CvgCldeIVvRz87iOMi8CFVB1apJlkUT4GGvA0iM=", + "lastModified": 1730785428, + "narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "cfd6b5fc90b15709b780a5a1619695a88505a176", + "rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7", "type": "github" }, "original": { @@ -51,20 +51,14 @@ }, "nixpkgs-lib": { "locked": { - "dir": "lib", - "lastModified": 1711703276, - "narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "d8fe5e6c92d0d190646fb9f1056741a229980089", - "type": "github" + "lastModified": 1730504152, + "narHash": "sha256-lXvH/vOfb4aGYyvFmZK/HlsNsr/0CVWlwYvo2rxJk3s=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz" }, "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz" } }, "root": { diff --git a/flake.nix b/flake.nix index 640adeb..de5ef8d 100644 --- a/flake.nix +++ b/flake.nix @@ -16,9 +16,42 @@ let hlib = pkgs.haskell.lib; - ghcVers = "ghc981"; + # FIXME: The following issues need to be resolved before we can release: + # + # - New hlint release + # - See https://github.com/ndmitchell/hlint/issues/1613 + # + # - cabal-plan is broken + # + # - New stylish release + # - https://github.com/haskell/stylish-haskell/issues/479 + # + ghcVers = "ghc9101"; compiler = pkgs.haskell.packages."${ghcVers}".override { - overrides = final: prev: { stylish-haskell = prev.stylish-haskell_0_14_6_0; }; + overrides = final: prev: { + # cabal-plan needs ansi-terminal > 1.0.2. Note that all of our + # haskell tools are OK with the default ansi-terminal, so make + # sure overriding this does not destory caching for other + # tools. + ansi-terminal = prev.ansi-terminal_1_1_1; + ansi-terminal-types = prev.ansi-terminal-types_1_1; + + # NOTE: Disabling test failures as the suite current fails + # due to different call stack output (i.e. it probably + # doesn't matter to us). + call-stack = hlib.dontCheck prev.call-stack; + + cabal-plan = prev.cabal-plan_0_7_4_0; + fourmolu = prev.fourmolu_0_16_2_0; + # FIXME: Need a newer version of hlint for GHC 9.10 + # (presumably 3.10). Currently waiting for this to be released + # to hackage, then make it to nixpkgs... + # + # https://github.com/ndmitchell/hlint/issues/1613 + hlint = prev.hlint_3_8; + ormolu = prev.ormolu_0_7_7_0; + stylish-haskell = prev.stylish-haskell_0_14_6_0; + }; }; pkgsUtils = { @@ -68,7 +101,7 @@ \t - version See github.com/tbidne/nix-hs-tools#readme. ''; - version = "0.10"; + version = "0.11"; in { apps = {