diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2020-08-22 22:22:20 +0100 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2020-08-22 22:31:15 +0100 |
commit | 360d4307d0ef16b3685caabc441577faaabda5d7 (patch) | |
tree | 0ce283ffd2c1fe3cce50e30b13cfb1e03739556c /dev-haskell/quickcheck-classes-base | |
parent | dev-haskell/semirings: new package, a depend of arithmoi-0.11 (diff) | |
download | gentoo-360d4307d0ef16b3685caabc441577faaabda5d7.tar.gz gentoo-360d4307d0ef16b3685caabc441577faaabda5d7.tar.bz2 gentoo-360d4307d0ef16b3685caabc441577faaabda5d7.zip |
dev-haskell/quickcheck-classes-base: new package, a depend of arithmoi-0.11
Package-Manager: Portage-3.0.4, Repoman-3.0.1
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'dev-haskell/quickcheck-classes-base')
3 files changed, 73 insertions, 0 deletions
diff --git a/dev-haskell/quickcheck-classes-base/Manifest b/dev-haskell/quickcheck-classes-base/Manifest new file mode 100644 index 000000000000..4aab9890f14a --- /dev/null +++ b/dev-haskell/quickcheck-classes-base/Manifest @@ -0,0 +1 @@ +DIST quickcheck-classes-base-0.6.0.0.tar.gz 25760 BLAKE2B d09794c63da8311836e6422006d262fca21f7d71b473b69f57bd49b3ed2e39f29fcfd18b73fd311db4f6b1cca390cc579f2438481dbd680841c835d7d0d9f557 SHA512 3d0a7c68ab1cdaddbd272df633e0704f5ee3997b3a86fe79cb960f7c84f8546f3360b9d52ada45b9db6344135f0aab1093d5304935ae19f43d235790fba83216 diff --git a/dev-haskell/quickcheck-classes-base/metadata.xml b/dev-haskell/quickcheck-classes-base/metadata.xml new file mode 100644 index 000000000000..6b8592b1a5b8 --- /dev/null +++ b/dev-haskell/quickcheck-classes-base/metadata.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>haskell@gentoo.org</email> + <name>Gentoo Haskell</name> + </maintainer> + <use> + <flag name="unary-laws">Include infrastructure for testing class laws of unary type constructors.</flag> + <flag name="binary-laws">Include infrastructure for testing class laws of binary type constructors. +Disabling `unary-laws` while keeping `binary-laws` enabled is an unsupported +configuration.</flag> + </use> + <longdescription> + This libary is a minimal variant of `quickcheck-classes` that + only provides laws for typeclasses from `base`. The main purpose + of splitting this out is so that `primitive` can depend on + `quickcheck-classes-base` in its test suite, avoiding the circular + dependency that arises if `quickcheck-classes` is used instead. + + This library provides QuickCheck properties to ensure + that typeclass instances adhere to the set of laws that + they are supposed to. There are other libraries that do + similar things, such as `genvalidity-hspec` and `checkers`. + This library differs from other solutions by not introducing + any new typeclasses that the user needs to learn. + + /Note:/ on GHC < 8.5, this library uses the higher-kinded typeclasses + ('Data.Functor.Classes.Show1', 'Data.Functor.Classes.Eq1', 'Data.Functor.Classes.Ord1', etc.), + but on GHC >= 8.5, it uses `-XQuantifiedConstraints` to express these + constraints more cleanly. + </longdescription> +</pkgmetadata> diff --git a/dev-haskell/quickcheck-classes-base/quickcheck-classes-base-0.6.0.0.ebuild b/dev-haskell/quickcheck-classes-base/quickcheck-classes-base-0.6.0.0.ebuild new file mode 100644 index 000000000000..8b0c61a1e9d7 --- /dev/null +++ b/dev-haskell/quickcheck-classes-base/quickcheck-classes-base-0.6.0.0.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +# ebuild generated by hackport 0.6.2 + +CABAL_FEATURES="lib profile haddock hoogle hscolour" +inherit haskell-cabal + +DESCRIPTION="QuickCheck common typeclasses from 'base'" +HOMEPAGE="https://github.com/andrewthad/quickcheck-classes#readme" +SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~x86" +IUSE="+binary-laws +unary-laws" + +RDEPEND=">=dev-haskell/base-orphans-0.1:=[profile?] + dev-haskell/bifunctors:=[profile?] + dev-haskell/contravariant:=[profile?] + dev-haskell/fail:=[profile?] + >=dev-haskell/semigroups-0.17:=[profile?] + dev-haskell/tagged:=[profile?] + >=dev-lang/ghc-8.0.1:= + binary-laws? ( >=dev-haskell/quickcheck-2.10.0:2=[profile?] ) + unary-laws? ( >=dev-haskell/quickcheck-2.10.0:2=[profile?] ) + !unary-laws? ( !binary-laws? ( >=dev-haskell/quickcheck-2.7:2=[profile?] ) ) +" +DEPEND="${RDEPEND} + >=dev-haskell/cabal-1.24.0.0 +" + +src_configure() { + haskell-cabal_src_configure \ + $(cabal_flag binary-laws binary-laws) \ + $(cabal_flag unary-laws unary-laws) +} |