@@ -5,6 +5,7 @@
5, semigroups, split, stdenv, stm, syb, template-haskell
5, semigroups, split, stdenv, stm, syb, template-haskell
6, these, transformers, transformers-compat, prim-uniq
6, these, transformers, transformers-compat, prim-uniq
7, data-default
7, data-default
8+, useTemplateHaskell ? true
9mkDerivation {
10mkDerivation {
10 pname = "reflex";
11 pname = "reflex";
@@ -12,16 +13,21 @@ mkDerivation {
12 src = builtins.filterSource (path: type: baseNameOf path != ".git") ./.;
13 src = builtins.filterSource (path: type: baseNameOf path != ".git") ./.;
13 libraryHaskellDepends = [
14 libraryHaskellDepends = [
14 base bifunctors containers dependent-map dependent-sum
15 base bifunctors containers dependent-map dependent-sum
15− exception-transformers haskell-src-exts haskell-src-meta lens
16+ exception-transformers lens
16 MemoTrie monad-control mtl primitive ref-tf semigroupoids
17 MemoTrie monad-control mtl primitive ref-tf semigroupoids
17 semigroups stm syb template-haskell these transformers
18 semigroups stm syb template-haskell these transformers
18 transformers-compat prim-uniq
19 transformers-compat prim-uniq
19 base bifunctors containers deepseq dependent-map dependent-sum
20 base bifunctors containers deepseq dependent-map dependent-sum
20 mtl ref-tf split transformers data-default
21 mtl ref-tf split transformers data-default
22+ ] ++ (if !useTemplateHaskell then [] else [
23+ haskell-src-exts haskell-src-meta
22 testHaskellDepends = if ghc.isGhcjs or false then [] else [
25 testHaskellDepends = if ghc.isGhcjs or false then [] else [
28+ configureFlags = if useTemplateHaskell then [] else [
29+ "-f-use-template-haskell"
25 homepage = "https://github.com/reflex-frp/reflex";
31 homepage = "https://github.com/reflex-frp/reflex";
26 description = "Higher-order Functional Reactive Programming";
32 description = "Higher-order Functional Reactive Programming";
27 license = stdenv.lib.licenses.bsd3;
33 license = stdenv.lib.licenses.bsd3;