diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index e0e73ba..125a27b 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -4,6 +4,7 @@ on: push: branches: - main + - ghc-9.6 pull_request: branches: diff --git a/CHANGELOG.md b/CHANGELOG.md index 3d96316..512e2e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,16 @@ 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/). +## [0.9] -- 2023-09-16 +### Changed +* Updated tools: + * `cabal-fmt: 0.1.6 -> 0.1.7` + * `fourmolu: 0.10.1.0 -> 0.13.1.0` + * `hlint: 3.5 -> 3.6.1` + * `implcit-hie: 0.1.2.7 -> 0.1.4.0` + * `ormolu: 0.5.3.0 -> 0.7.1.0` + * `stylish: 0.14.3.0 -> 0.14.5.0` + ## [0.8] -- 2023-02-20 ### Changed * Updated tools: @@ -94,6 +104,7 @@ and this project adheres to the * First version. Released on an unsuspecting world. +[0.9]: https://github.com/tbidne/nix-hs-tools/compare/0.8...0.9 [0.8]: https://github.com/tbidne/nix-hs-tools/compare/0.7...0.8 [0.7]: https://github.com/tbidne/nix-hs-tools/compare/0.6.1...0.7 [0.6.1]: https://github.com/tbidne/nix-hs-tools/compare/0.6...0.6.1 diff --git a/README.md b/README.md index 9b10e2a..1d99569 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.4&logo=haskell&logoColor=655889&labelColor=2f353e&color=655889) +![haskell](https://img.shields.io/static/v1?label=&message=9.6&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) @@ -74,7 +74,7 @@ nix run github:tbidne/nix-hs-tools/0.4.0.1# -- **Source:** https://github.com/phadej/cabal-fmt -**Version:** 0.1.6 +**Version:** 0.1.7 **Description:** The `cabal-fmt` formatter for `cabal` files. By default, searches the current directory for `*.cabal` files. Otherwise the search directory can be specified with `--dir DIR`. @@ -94,7 +94,7 @@ nix run github:tbidne/nix-hs-tools#cabal-fmt -- --dir ../foo --check **Source:** https://github.com/fourmolu/fourmolu -**Version:** 0.10.1.0 +**Version:** 0.13.1.0 **Description:** The `fourmolu` code formatter for haskell source files. Runs `fourmolu` recursively on all `hs` files in the specified directory, ignoring `dist-newstyle` and `.stack-work`. By default runs on the current directory, though it can be specified with `--dir`. @@ -117,7 +117,7 @@ nix run github:tbidne/nix-hs-tools#fourmolu -- --no-cabal --ghc-opt -XImportQual **Source:** https://github.com/tweag/ormolu -**Version:** 0.5.3.0 +**Version:** 0.7.1.0 **Description:** The `ormolu` code formatter for haskell source files. Runs `ormolu` recursively on all `hs` files in the specified directory, ignoring `dist-newstyle` and `.stack-work`. By default runs on the current directory, though it can be specified with `--dir`. @@ -140,7 +140,7 @@ nix run github:tbidne/nix-hs-tools#ormolu -- --no-cabal --ghc-opt -XImportQualif **Source:** https://github.com/haskell/stylish-haskell -**Version:** 0.14.3.0 +**Version:** 0.14.5.0 **Description:** The `stylish-haskell` code formatter for haskell source files. Runs `stylish-haskell` recursively on all `hs` files in the specified directory, ignoring `dist-newstyle` and `.stack-work`. By default runs on the current directory, though it can be specified with `--dir`. @@ -159,7 +159,7 @@ nix run github:tbidne/nix-hs-tools#stylish -- --inplace **Source:** https://github.com/ndmitchell/hlint -**Version:** 3.5 +**Version:** 3.6.1 **Description:** The `hlint` linter. Runs recursively on the current directory, though this can be overridden with `--dir`. Ignores `dist-newstyle` and `stack-work`. diff --git a/flake.lock b/flake.lock index 6f5f869..a7fe431 100644 --- a/flake.lock +++ b/flake.lock @@ -1,12 +1,15 @@ { "nodes": { "flake-utils": { + "inputs": { + "systems": "systems" + }, "locked": { - "lastModified": 1676283394, - "narHash": "sha256-XX2f9c3iySLCw54rJ/CZs+ZK6IQy7GXNY4nSOyu2QG4=", + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", "owner": "numtide", "repo": "flake-utils", - "rev": "3db36a8b464d0c4532ba1c7dda728f4576d6d073", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", "type": "github" }, "original": { @@ -17,11 +20,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1676721149, - "narHash": "sha256-mN2EpTGxxVNnFZLoLWRwh6f7UWhXy4qE+wO2CZyrXps=", + "lastModified": 1694767346, + "narHash": "sha256-5uH27SiVFUwsTsqC5rs3kS7pBoNhtoy9QfTP9BmknGk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5f4e07deb7c44f27d498f8df9c5f34750acf52d2", + "rev": "ace5093e36ab1e95cb9463863491bee90d5a4183", "type": "github" }, "original": { @@ -36,6 +39,21 @@ "flake-utils": "flake-utils", "nixpkgs": "nixpkgs" } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 9b93901..43cc022 100644 --- a/flake.nix +++ b/flake.nix @@ -11,19 +11,12 @@ let haskell-overlay = final: prev: let - hp = final.pkgs.haskell.packages.ghc944; + hp = final.pkgs.haskell.packages.ghc962; in { - # overrides - apply-refact = hp.apply-refact_0_11_0_0; - # TODO: Update - fourmolu = hp.fourmolu; - ormolu = hp.ormolu_0_5_3_0; - hlint = hp.hlint_3_5; - # adding to pkgs so we can easily access versions. cabal-fmt = hp.cabal-fmt; - implicit-hie = hp.implicit-hie; + implicit-hie = hp.implicit-hie_0_1_4_0; # disable all tests mkDerivation = args: prev.mkDerivation (args // { @@ -39,8 +32,7 @@ }; # convenient aliases used in multiple tools - excluded-dirs = "! -path \"./.*\" ! -path \"./*dist-newstyle/*\" ! -path \"./*stack-work/*\""; - find-hs-non-build = "${pkgs.findutils}/bin/find $dir -type f -name \"*.hs\" ${excluded-dirs}"; + find-hs-non-build = "${pkgs.fd}/bin/fd $dir -e hs"; # misc title = "nix-hs-tools"; @@ -80,7 +72,7 @@ version = "0.8"; # tools - cabal-fmt = import ./tools/cabal-fmt.nix { inherit pkgs excluded-dirs; }; + cabal-fmt = import ./tools/cabal-fmt.nix { inherit pkgs; }; fourmolu = import ./tools/fourmolu.nix { inherit pkgs find-hs-non-build; }; hie = import ./tools/hie.nix { inherit pkgs; }; hlint = import ./tools/hlint.nix { inherit find-hs-non-build pkgs; }; diff --git a/tools/cabal-fmt.nix b/tools/cabal-fmt.nix index ffd5dbf..4a676e7 100644 --- a/tools/cabal-fmt.nix +++ b/tools/cabal-fmt.nix @@ -1,9 +1,7 @@ -{ excluded-dirs -, pkgs -}: +{ pkgs }: let - find-cabal-non-build = "${pkgs.findutils}/bin/find $dir -type f -name \"*.cabal\" ${excluded-dirs}"; + find-cabal-non-build = "${pkgs.fd}/bin/fd $dir -e .cabal"; in pkgs.writeShellScript "cabal-fmt.sh" '' set -e @@ -22,6 +20,5 @@ pkgs.writeShellScript "cabal-fmt.sh" '' shift done - ${find-cabal-non-build} | ${pkgs.findutils}/bin/xargs \ - ${pkgs.haskellPackages.cabal-fmt}/bin/cabal-fmt ''${args[@]} + ${pkgs.haskellPackages.cabal-fmt}/bin/cabal-fmt ''${args[@]} $(${find-cabal-non-build}) '' diff --git a/tools/fourmolu.nix b/tools/fourmolu.nix index 0ce1c04..7947ecb 100644 --- a/tools/fourmolu.nix +++ b/tools/fourmolu.nix @@ -19,6 +19,5 @@ pkgs.writeShellScript "fourmolu.sh" '' shift done - ${find-hs-non-build} | ${pkgs.findutils}/bin/xargs \ - ${pkgs.fourmolu}/bin/fourmolu ''${args[@]} + ${pkgs.fourmolu}/bin/fourmolu ''${args[@]} $(${find-hs-non-build}) '' diff --git a/tools/ormolu.nix b/tools/ormolu.nix index 61178f8..d5354c7 100644 --- a/tools/ormolu.nix +++ b/tools/ormolu.nix @@ -19,6 +19,5 @@ pkgs.writeShellScript "ormolu.sh" '' shift done - ${find-hs-non-build} | ${pkgs.findutils}/bin/xargs \ - ${pkgs.ormolu}/bin/ormolu ''${args[@]} + ${pkgs.ormolu}/bin/ormolu ''${args[@]} $(${find-hs-non-build}) '' diff --git a/tools/stylish.nix b/tools/stylish.nix index f9fdd19..1cc5db9 100644 --- a/tools/stylish.nix +++ b/tools/stylish.nix @@ -19,6 +19,5 @@ pkgs.writeShellScript "stylish.sh" '' shift done - ${find-hs-non-build} | ${pkgs.findutils}/bin/xargs \ - ${pkgs.stylish-haskell}/bin/stylish-haskell ''${args[@]} + ${pkgs.stylish-haskell}/bin/stylish-haskell ''${args[@]} $(${find-hs-non-build}) ''