diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 79518e79bd60..3f1c017f121d 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -2282,10 +2282,22 @@ self: super: { # 2023-04-09: haskell-ci needs Cabal-syntax 3.10 # 2023-07-03: allow lattices-2.2, waiting on https://github.com/haskell-CI/haskell-ci/pull/664 + # 2024-03-21: pins specific version of ShellCheck haskell-ci = doJailbreak (super.haskell-ci.overrideScope (self: super: { Cabal-syntax = self.Cabal-syntax_3_10_2_0; + ShellCheck = self.ShellCheck_0_9_0; })); + # ShellCheck < 0.10.0 needs to be adjusted for changes in fgl >= 5.8 + # https://github.com/koalaman/shellcheck/issues/2677 + ShellCheck_0_9_0 = doJailbreak (appendPatches [ + (fetchpatch { + name = "shellcheck-fgl-5.8.1.1.patch"; + url = "https://github.com/koalaman/shellcheck/commit/c05380d518056189412e12128a8906b8ca6f6717.patch"; + sha256 = "0gbx46x1a2sh5mvgpqxlx9xkqcw4wblpbgqdkqccxdzf7vy50xhm"; + }) + ] super.ShellCheck_0_9_0); + # Too strict bound on hspec (<2.11) utf8-light = doJailbreak super.utf8-light; diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml index 983380cf8926..0fb11e5d839b 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml @@ -109,6 +109,7 @@ extra-packages: - shake-cabal < 0.2.2.3 # 2023-07-01: last version to support Cabal 3.6.* - algebraic-graphs < 0.7 # 2023-08-14: Needed for building weeder < 2.6.0 - fuzzyset == 0.2.4 # 2023-12-20: Needed for building postgrest > 10 + - ShellCheck == 0.9.0 # 2024-03-21: pinned by haskell-ci package-maintainers: abbradar: diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index c624f6bb69cc..a9ee8c83b217 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -19233,6 +19233,38 @@ self: { hydraPlatforms = lib.platforms.none; }) {}; + "ShellCheck_0_9_0" = callPackage + ({ mkDerivation, aeson, array, base, bytestring, containers + , deepseq, Diff, directory, fgl, filepath, mtl, parsec, process + , QuickCheck, regex-tdfa, transformers + }: + mkDerivation { + pname = "ShellCheck"; + version = "0.9.0"; + sha256 = "071k2gc8rzpg9lwq9g10c9xx0zm1wcgsf8v4n1csj9fm56vy7gmb"; + revision = "2"; + editedCabalFile = "1bc552vfv76jq1zmqywv7a2z322v9ncz3sc69xpj0w6qwb3sd224"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson array base bytestring containers deepseq Diff directory fgl + filepath mtl parsec process QuickCheck regex-tdfa transformers + ]; + executableHaskellDepends = [ + aeson array base bytestring containers deepseq Diff directory fgl + filepath mtl parsec QuickCheck regex-tdfa transformers + ]; + testHaskellDepends = [ + aeson array base bytestring containers deepseq Diff directory fgl + filepath mtl parsec QuickCheck regex-tdfa transformers + ]; + description = "Shell script analysis tool"; + license = lib.licenses.gpl3Only; + hydraPlatforms = lib.platforms.none; + mainProgram = "shellcheck"; + maintainers = [ lib.maintainers.zowoq ]; + }) {}; + "ShellCheck" = callPackage ({ mkDerivation, aeson, array, base, bytestring, containers , deepseq, Diff, directory, fgl, filepath, mtl, parsec, process