diff --git a/pkgs/development/libraries/haskell/hybrid-vectors/default.nix b/pkgs/development/libraries/haskell/hybrid-vectors/default.nix new file mode 100644 index 000000000000..56fd36fbe87d --- /dev/null +++ b/pkgs/development/libraries/haskell/hybrid-vectors/default.nix @@ -0,0 +1,14 @@ +{ cabal, deepseq, primitive, vector }: + +cabal.mkDerivation (self: { + pname = "hybrid-vectors"; + version = "0.1"; + sha256 = "0a5ry6xmkr0zjz0kp7qbm7kdz5yr9842gy116902djppmdn5dq05"; + buildDepends = [ deepseq primitive vector ]; + meta = { + homepage = "http://github.com/ekmett/hybrid-vectors"; + description = "Hybrid vectors e.g. Mixed Boxed/Unboxed vectors"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/linear/default.nix b/pkgs/development/libraries/haskell/linear/default.nix index a0d1e67ee6f3..5b8f42d5420c 100644 --- a/pkgs/development/libraries/haskell/linear/default.nix +++ b/pkgs/development/libraries/haskell/linear/default.nix @@ -17,6 +17,7 @@ cabal.mkDerivation (self: { binary doctest filepath HUnit lens simpleReflect testFramework testFrameworkHunit ]; + doCheck = false; meta = { homepage = "http://github.com/ekmett/linear/"; description = "Linear Algebra"; diff --git a/pkgs/development/libraries/haskell/sparse/default.nix b/pkgs/development/libraries/haskell/sparse/default.nix new file mode 100644 index 000000000000..6af05d19379b --- /dev/null +++ b/pkgs/development/libraries/haskell/sparse/default.nix @@ -0,0 +1,28 @@ +{ cabal, contravariant, deepseq, doctest, filepath, hlint +, hybridVectors, lens, linear, mtl, primitive, QuickCheck +, semigroups, simpleReflect, testFramework +, testFrameworkQuickcheck2, testFrameworkTh, transformers, vector +, vectorAlgorithms +}: + +cabal.mkDerivation (self: { + pname = "sparse"; + version = "0.9"; + sha256 = "0v0z7kjgmcdx9ajlhr9pc1i3qqghd60s02xnlmj4hcxby8k0r8mc"; + buildDepends = [ + contravariant deepseq hybridVectors lens primitive transformers + vector vectorAlgorithms + ]; + testDepends = [ + deepseq doctest filepath hlint hybridVectors lens linear mtl + QuickCheck semigroups simpleReflect testFramework + testFrameworkQuickcheck2 testFrameworkTh transformers vector + ]; + doCheck = false; + meta = { + homepage = "http://github.com/ekmett/sparse"; + description = "A playground of sparse linear algebra primitives using Morton ordering"; + 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 766a8d7d3094..282f36ac9cd0 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1449,6 +1449,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x hxtUnicode = callPackage ../development/libraries/haskell/hxt-unicode {}; + hybridVectors = callPackage ../development/libraries/haskell/hybrid-vectors {}; + iCalendar = callPackage ../development/libraries/haskell/iCalendar {}; idna = callPackage ../development/libraries/haskell/idna {}; @@ -2128,6 +2130,11 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x socks = callPackage ../development/libraries/haskell/socks {}; + sparse = callPackage ../development/libraries/haskell/sparse { + lens = self.lens_4_0_1; + linear = self.linear.override { lens = self.lens_4_0_1; }; + }; + srcloc = callPackage ../development/libraries/haskell/srcloc {}; stateref = callPackage ../development/libraries/haskell/stateref {};