summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-haskell/semirings')
-rw-r--r--dev-haskell/semirings/Manifest1
-rw-r--r--dev-haskell/semirings/metadata.xml40
-rw-r--r--dev-haskell/semirings/semirings-0.5.3.ebuild35
3 files changed, 76 insertions, 0 deletions
diff --git a/dev-haskell/semirings/Manifest b/dev-haskell/semirings/Manifest
new file mode 100644
index 000000000000..8f69d00a2c8b
--- /dev/null
+++ b/dev-haskell/semirings/Manifest
@@ -0,0 +1 @@
+DIST semirings-0.5.3.tar.gz 18622 BLAKE2B 70075ef121969652ec666531f42681af759863247811425e43eef590e73b6c0d139274fb57821d28f405f0bd44cc4bed1e48506f08f880aee71f0ff986a30136 SHA512 cd038746d1ce36eb04040954b0a969f17bf67ff45750a221284550724dd0ab563896fc3012c8d58aaf5c11a008b5526088711655e165895a4dead2d054cbf5e7
diff --git a/dev-haskell/semirings/metadata.xml b/dev-haskell/semirings/metadata.xml
new file mode 100644
index 000000000000..d2b34f62c61d
--- /dev/null
+++ b/dev-haskell/semirings/metadata.xml
@@ -0,0 +1,40 @@
+<?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="hashable">
+ Enisable the use of the `hashable` package. Disabling this may be useful
+ for accelerating builds in sandboxes for expert users.
+ Note: `-hashable` implies `-unordered-containers`, as we are necessarily
+ not able to supply those instances as well.
+ </flag>
+ <flag name="containers">
+ Enable the use of the `containers` package. Disabling this may be useful
+ for accelerating builds in sandboxes for expert users.
+ </flag>
+ <flag name="unordered-containers">
+ Enable the use of the `unordered-containers` package. Disabling this may
+ be useful for accelerating builds in sandboxes for expert users.
+ </flag>
+ </use>
+ <longdescription>
+ Haskellers are usually familiar with monoids and semigroups. A monoid has an appending operation `&lt;&gt;` (or `mappend`),
+ and an identity element, `mempty`. A semigroup has an appending `&lt;&gt;` operation, but does not require a `mempty` element.
+
+ A Semiring has two appending operations, `plus` and `times`, and two respective identity elements, `zero` and `one`.
+
+ More formally, a Semiring R is a set equipped with two binary relations `+` and `*`, such that:
+
+ (R,+) is a commutative monoid with identity element 0,
+
+ (R,*) is a monoid with identity element 1,
+
+ (*) left and right distributes over addition, and
+
+ multiplication by &#39;0&#39; annihilates R.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-haskell/semirings/semirings-0.5.3.ebuild b/dev-haskell/semirings/semirings-0.5.3.ebuild
new file mode 100644
index 000000000000..dae2250aaf6c
--- /dev/null
+++ b/dev-haskell/semirings/semirings-0.5.3.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# ebuild generated by hackport 0.6.4.9999
+
+CABAL_FEATURES="lib profile haddock hoogle hscolour"
+inherit haskell-cabal
+
+DESCRIPTION="two monoids as one, in holy haskimony"
+HOMEPAGE="https://github.com/chessai/semirings"
+SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="+containers +hashable +unordered-containers"
+
+RDEPEND=">=dev-haskell/nats-0.1:=[profile?] <dev-haskell/nats-2:=[profile?]
+ >=dev-haskell/semigroups-0.17:=[profile?]
+ >=dev-lang/ghc-7.8.2:=
+ hashable? ( >=dev-haskell/hashable-1.1:=[profile?] <dev-haskell/hashable-1.4:=[profile?]
+ unordered-containers? ( >=dev-haskell/unordered-containers-0.2:=[profile?] <dev-haskell/unordered-containers-0.3:=[profile?] ) )
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.18.1.3
+"
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag containers containers) \
+ $(cabal_flag hashable hashable) \
+ $(cabal_flag unordered-containers unordered-containers)
+}