# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=6

# ebuild generated by hackport 0.5.9999

CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
inherit haskell-cabal

DESCRIPTION="Numbers represented using scientific notation"
HOMEPAGE="https://github.com/basvandijk/scientific"
SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz"

LICENSE="BSD"
SLOT="0/${PV}"
KEYWORDS="*"
IUSE=""

RDEPEND=">=dev-haskell/binary-0.4.1:=[profile?] <dev-haskell/binary-0.9:=[profile?]
	>=dev-haskell/bytestring-builder-0.10.4:=[profile?] <dev-haskell/bytestring-builder-0.11:=[profile?]
	>=dev-haskell/hashable-1.1.2:=[profile?] <dev-haskell/hashable-1.3:=[profile?]
	>=dev-haskell/text-0.8:=[profile?] <dev-haskell/text-1.3:=[profile?]
	>=dev-haskell/vector-0.5:=[profile?] <dev-haskell/vector-0.12:=[profile?]
	>=dev-lang/ghc-7.4.1:=
"
DEPEND="${RDEPEND}
	>=dev-haskell/cabal-1.10
	test? ( >=dev-haskell/quickcheck-2.5 <dev-haskell/quickcheck-2.10
		>=dev-haskell/smallcheck-1.0 <dev-haskell/smallcheck-1.2
		>=dev-haskell/tasty-0.5 <dev-haskell/tasty-0.12
		>=dev-haskell/tasty-ant-xml-1.0 <dev-haskell/tasty-ant-xml-1.1
		>=dev-haskell/tasty-hunit-0.8 <dev-haskell/tasty-hunit-0.10
		>=dev-haskell/tasty-quickcheck-0.8 <dev-haskell/tasty-quickcheck-0.9
		>=dev-haskell/tasty-smallcheck-0.2 <dev-haskell/tasty-smallcheck-0.9 )
"
