diff --git a/pkgs/development/libraries/haskell/hspec2/default.nix b/pkgs/development/libraries/haskell/hspec2/default.nix new file mode 100644 index 00000000000..be49f612aaa --- /dev/null +++ b/pkgs/development/libraries/haskell/hspec2/default.nix @@ -0,0 +1,29 @@ +{ cabal, ansiTerminal, async, deepseq, doctest, filepath, ghcPaths +, hspecExpectations, hspecMeta, HUnit, ioMemoize, QuickCheck +, quickcheckIo, random, setenv, silently, tfRandom, time +, transformers +}: + +cabal.mkDerivation (self: { + pname = "hspec2"; + version = "0.3.0"; + sha256 = "0ia19jraz2di31c48lh0kswkb2573jxm7msf33i8d5a5yq8y9wwp"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + ansiTerminal async deepseq filepath hspecExpectations HUnit + ioMemoize QuickCheck quickcheckIo random setenv tfRandom time + transformers + ]; + testDepends = [ + ansiTerminal async deepseq doctest filepath ghcPaths + hspecExpectations hspecMeta HUnit ioMemoize QuickCheck quickcheckIo + random setenv silently tfRandom time transformers + ]; + meta = { + homepage = "http://hspec.github.io/"; + description = "Alpha version of Hspec 2.0"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/io-memoize/default.nix b/pkgs/development/libraries/haskell/io-memoize/default.nix new file mode 100644 index 00000000000..bba2cd3b1e0 --- /dev/null +++ b/pkgs/development/libraries/haskell/io-memoize/default.nix @@ -0,0 +1,13 @@ +{ cabal, spawn }: + +cabal.mkDerivation (self: { + pname = "io-memoize"; + version = "1.0.0.0"; + sha256 = "1z6aimyg7wasaqmacpch7skfm9iyl7khd54lfmb8iwghyfvah5d0"; + buildDepends = [ spawn ]; + meta = { + description = "Memoize IO actions"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/spawn/default.nix b/pkgs/development/libraries/haskell/spawn/default.nix new file mode 100644 index 00000000000..a69b7fd2641 --- /dev/null +++ b/pkgs/development/libraries/haskell/spawn/default.nix @@ -0,0 +1,12 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "spawn"; + version = "0.3"; + sha256 = "0xkkl0w30rqif2jwdzjv239raly4yaf0116vkqcwh1i41jqn7ij8"; + meta = { + description = "Tiny library for concurrent computations"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index a928ab30fba..ed1445e2e44 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1156,6 +1156,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in hspec = callPackage ../development/libraries/haskell/hspec {}; + hspec2 = callPackage ../development/libraries/haskell/hspec2 {}; + hspecExpectations = callPackage ../development/libraries/haskell/hspec-expectations {}; hspecExpectationsLens = callPackage ../development/libraries/haskell/hspec-expectations-lens {}; @@ -1236,6 +1238,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in ioChoice = callPackage ../development/libraries/haskell/io-choice {}; + ioMemoize = callPackage ../development/libraries/haskell/io-memoize {}; + IORefCAS = callPackage ../development/libraries/haskell/IORefCAS {}; IOSpec = callPackage ../development/libraries/haskell/IOSpec {}; @@ -1982,6 +1986,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in sparse = callPackage ../development/libraries/haskell/sparse {}; + spawn = callPackage ../development/libraries/haskell/spawn {}; + speculation = callPackage ../development/libraries/haskell/speculation {}; spoon = callPackage ../development/libraries/haskell/spoon {};