diff options
Diffstat (limited to 'third_party/overlays/haskell')
-rw-r--r-- | third_party/overlays/haskell/default.nix | 50 | ||||
-rw-r--r-- | third_party/overlays/haskell/extra-pkgs/brick-0.71.1.nix | 70 | ||||
-rw-r--r-- | third_party/overlays/haskell/extra-pkgs/graphmod-1.4.5.1.nix | 33 |
3 files changed, 144 insertions, 9 deletions
diff --git a/third_party/overlays/haskell/default.nix b/third_party/overlays/haskell/default.nix index 54d278a786cf..6116c5c33926 100644 --- a/third_party/overlays/haskell/default.nix +++ b/third_party/overlays/haskell/default.nix @@ -7,15 +7,19 @@ self: super: # overlay parameters for the nixpkgs overlay let - dhall-source = subdir: pkg: super.haskell.lib.overrideSrc pkg { - src = "${super.fetchFromGitHub { - owner = "Profpatsch"; - repo = "dhall-haskell"; - # https://github.com/dhall-lang/dhall-haskell/pull/2426 - rev = "82123817316192d39f9a3e68b8ce9c9cff0a48ed"; - sha256 = "sha256-gbHoUKIdLPIttqeV471jsT8OJz6uiI6LpHOwtLbBGHY="; - }}/${subdir}"; - }; + haskellLib = self.haskell.lib.compose; + dhall-source = subdir: pkg: + haskellLib.overrideSrc + { + src = "${super.fetchFromGitHub { + owner = "Profpatsch"; + repo = "dhall-haskell"; + # https://github.com/dhall-lang/dhall-haskell/pull/2426 + rev = "5e3a407d8ac826597d935d8398825a0ca73fc4e9"; + sha256 = "005plj6kgxlkm9npaq07kmsgmiqk50dpwb9li9w1ly4aj1zgfjnd"; + }}/${subdir}"; + } + (haskellLib.overrideCabal { patches = [ ]; } pkg); in @@ -25,6 +29,24 @@ in # TODO: this is to fix a bug in dhall-nix dhall = dhall-source "dhall" hsSuper.dhall; dhall-nix = dhall-source "dhall-nix" hsSuper.dhall-nix; + + # TODO(Profpatsch): move cas-serve off superrecord + # https://github.com/agrafix/superrecord/pull/35 + # https://github.com/agrafix/superrecord/pull/37 + superrecord = haskellLib.overrideSrc + { + src = self.fetchFromGitHub { + owner = "possehl-analytics"; + repo = "superrecord"; + rev = "05c8fdd724af5189a9a8be2f30dfa55a67f8b656"; + sha256 = "0p6a280kils12ycdlp6dd7392940yzzy6xi8pjar975j38fm3x5a"; + }; + } + hsSuper.superrecord; + + # Use recently-released version that has 9.2 support + graphmod = assert hsSuper.graphmod != "1.4.5.1"; + hsSelf.callPackage ./extra-pkgs/graphmod-1.4.5.1.nix { }; }; }; @@ -35,6 +57,16 @@ in # so we can use GHC 9.0.2 and benefit from upstream binary cache. random-fu = hsSelf.callPackage ./extra-pkgs/random-fu-0.2.nix { }; rvar = hsSelf.callPackage ./extra-pkgs/rvar-0.2.nix { }; + + # TODO(grfn): port to brick 1.4 + # Breaking changes since 0.68: + # - handleEditorEvent takes a BrickEvent (0.72) + # - EventM gains an additional type argument (1.0) + brick = hsSelf.callPackage ./extra-pkgs/brick-0.71.1.nix { }; + + # TODO(sterni): upstream into nixpkgs + binary-orphans = + haskellLib.addBuildDepends [ hsSelf.OneTuple ] hsSuper.binary-orphans; }; }; }; diff --git a/third_party/overlays/haskell/extra-pkgs/brick-0.71.1.nix b/third_party/overlays/haskell/extra-pkgs/brick-0.71.1.nix new file mode 100644 index 000000000000..e49be075c65b --- /dev/null +++ b/third_party/overlays/haskell/extra-pkgs/brick-0.71.1.nix @@ -0,0 +1,70 @@ +{ mkDerivation +, base +, bytestring +, config-ini +, containers +, contravariant +, data-clist +, deepseq +, directory +, dlist +, exceptions +, filepath +, lib +, microlens +, microlens-mtl +, microlens-th +, QuickCheck +, stm +, template-haskell +, text +, text-zipper +, transformers +, unix +, vector +, vty +, word-wrap +}: +mkDerivation { + pname = "brick"; + version = "0.71.1"; + sha256 = "49701466384534b131650bec0a2b3c4811b410a3e55a392edef8d5fa6322d254"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base + bytestring + config-ini + containers + contravariant + data-clist + deepseq + directory + dlist + exceptions + filepath + microlens + microlens-mtl + microlens-th + stm + template-haskell + text + text-zipper + transformers + unix + vector + vty + word-wrap + ]; + testHaskellDepends = [ + base + containers + microlens + QuickCheck + vector + vty + ]; + homepage = "https://github.com/jtdaugherty/brick/"; + description = "A declarative terminal user interface library"; + license = lib.licenses.bsd3; +} diff --git a/third_party/overlays/haskell/extra-pkgs/graphmod-1.4.5.1.nix b/third_party/overlays/haskell/extra-pkgs/graphmod-1.4.5.1.nix new file mode 100644 index 000000000000..d11e739cdd4b --- /dev/null +++ b/third_party/overlays/haskell/extra-pkgs/graphmod-1.4.5.1.nix @@ -0,0 +1,33 @@ +{ mkDerivation +, base +, Cabal +, containers +, directory +, dotgen +, filepath +, haskell-lexer +, lib +, pretty +}: +mkDerivation { + pname = "graphmod"; + version = "1.4.5.1"; + sha256 = "d72b70dd47ba85756e963681307d8dcf341e9d1f0c3b50bd34c33a4e429436cc"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base + Cabal + containers + directory + dotgen + filepath + haskell-lexer + pretty + ]; + executableHaskellDepends = [ base ]; + homepage = "http://github.com/yav/graphmod/wiki"; + description = "Present the module dependencies of a program as a \"dot\" graph"; + license = lib.licenses.bsd3; + mainProgram = "graphmod"; +} |