about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorsternenseemann2024-03-22 12:00:16 +0100
committersternenseemann2024-03-22 12:13:05 +0100
commit3bde60c0e39924d353203f9fb3513f55448dab20 (patch)
tree8cbd27188c513a629de9ca7aa2851fc84436c4b7 /pkgs
parentd899609c2a22bbd345d2ed200c6ebc08a772ccc9 (diff)
haskell-ci: build with pinned ShellCheck == 0.9.0
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix12
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml1
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix32
3 files changed, 45 insertions, 0 deletions
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