From 431507d11a29a02176b7d21deb2d9e2b3b1d4e50 Mon Sep 17 00:00:00 2001 From: Renzo Carbonara Date: Thu, 24 Sep 2015 16:11:29 -0300 Subject: [PATCH] ghcjs packages: reflex, reflex-dom, dependent-sum_0_2_0_1, dependent-map_0_1_1_3, dependent-sum-template --- .../haskell-modules/configuration-ghcjs.nix | 75 +++++++++++++++++-- 1 file changed, 69 insertions(+), 6 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-ghcjs.nix b/pkgs/development/haskell-modules/configuration-ghcjs.nix index 59fb8b285bbb..7e45edabc4a1 100644 --- a/pkgs/development/haskell-modules/configuration-ghcjs.nix +++ b/pkgs/development/haskell-modules/configuration-ghcjs.nix @@ -91,12 +91,75 @@ self: super: { patches = [ ./patches/ghc-paths-nix-ghcjs.patch ]; }); - reflex-dom = overrideCabal super.reflex-dom (drv: { - buildDepends = [ - self.aeson self.base self.bytestring self.containers self.data-default - self.dependent-map self.dependent-sum self.ghcjs-dom self.lens self.mtl - self.ref-tf self.reflex self.safe self.semigroups self.text self.these - self.time self.transformers + # reflex 0.3, made compatible with the newest GHCJS. + reflex = overrideCabal super.reflex (drv: { + src = pkgs.fetchFromGitHub { + owner = "k0001"; + repo = "reflex"; + rev = "e9b2f777ad07875149614e8337507afd5b1a2466"; + sha256 = "005hr3s6y369pxfdlixi4wabgav0bb653j98788kq9q9ssgijlwn"; + }; + libraryHaskellDepends = [ + self.base self.containers self.dependent-map_0_1_1_3 + self.dependent-sum_0_2_0_1 self.exception-transformers self.mtl + self.primitive self.ref-tf self.semigroups self.template-haskell + self.these self.transformers self.transformers-compat ]; }); + + # reflex-dom 0.2, made compatible with the newest GHCJS. + reflex-dom = overrideCabal super.reflex-dom (drv: { + src = pkgs.fetchFromGitHub { + owner = "k0001"; + repo = "reflex-dom"; + rev = "a117eae8e101198977611f87605a5cb2ae752fc7"; + sha256 = "18m8ng2fgsfbqdvx5jxy23ndyyhafnxflq8apg5psdz3aqkfimzh"; + }; + libraryHaskellDepends = [ + self.aeson self.base self.bifunctors self.bytestring self.containers + self.data-default self.dependent-map_0_1_1_3 self.dependent-sum_0_2_0_1 + self.dependent-sum-template self.directory + self.exception-transformers self.ghcjs-dom self.lens self.mtl self.ref-tf + self.reflex self.safe self.semigroups self.text self.these self.time + self.transformers + ]; + }); + + # required by reflex, reflex-dom + dependent-map_0_1_1_3 = self.callPackage ( + { mkDerivation, base, containers, dependent-sum_0_2_0_1, stdenv + }: + mkDerivation { + pname = "dependent-map"; + version = "0.1.1.3"; + sha256 = "1by83rrv8dfn5lxrpx3qzs1lg31fhnzlqy979h8ampyxd0w93pa4"; + libraryHaskellDepends = [ base containers dependent-sum_0_2_0_1 ]; + homepage = "https://github.com/mokus0/dependent-map"; + description = "Dependent finite maps (partial dependent products)"; + license = "unknown"; + } + ) {}; + + # required by reflex, reflex-dom + dependent-sum_0_2_0_1 = self.callPackage ( + { mkDerivation, base, stdenv + }: + mkDerivation { + pname = "dependent-sum"; + version = "0.2.1.0"; + sha256 = "1h6wsrh206k6q3jcfdxvlsswbm47x30psp6x30l2z0j9jyf7jpl3"; + libraryHaskellDepends = [ base ]; + homepage = "https://github.com/mokus0/dependent-sum"; + description = "Dependent sum type"; + license = stdenv.lib.licenses.publicDomain; + } + ) {}; + + # required by reflex-dom + dependent-sum-template = overrideCabal super.dependent-sum-template (drv: { + libraryHaskellDepends = [ + self.base self.dependent-sum_0_2_0_1 self.template-haskell self.th-extras + ]; + }); + }