diff options
authorSergei Trofimovich <>2021-07-26 23:11:41 +0100
committerSergei Trofimovich <>2021-07-26 23:11:49 +0100
commit7953138db86269fd7e6e27632e9042022383c1c6 (patch)
treee1e2676b7dedf56b5c3e360463448a0b58866a5f /dev-haskell/semigroupoids
parentnet-libs/libsearpc: adjust comment (diff)
dev-haskell/semigroupoids: unconditionally enable IUSE=containers
Reported-by: Toralf Förster Closes: Package-Manager: Portage-3.0.20, Repoman-3.0.3 Signed-off-by: Sergei Trofimovich <>
Diffstat (limited to 'dev-haskell/semigroupoids')
2 files changed, 4 insertions, 42 deletions
diff --git a/dev-haskell/semigroupoids/metadata.xml b/dev-haskell/semigroupoids/metadata.xml
index 97b788ac85d..c1f941bd846 100644
--- a/dev-haskell/semigroupoids/metadata.xml
+++ b/dev-haskell/semigroupoids/metadata.xml
@@ -5,38 +5,6 @@
<name>Gentoo Haskell</name>
- <longdescription>
- Provides a wide array of semigroupoids and operations for working with semigroupds.
- A Semigroupoid is a Category without the requirement of identity arrows for every object in the category.
- When working with comonads you often have the @\&lt;*\&gt;@ portion of an @Applicative@, but
- not the @pure@. This was captured in Uustalu and Vene's \"Essence of Dataflow Programming\"
- in the form of the @ComonadZip@ class in the days before @Applicative@. Apply provides a weaker invariant, but for the comonads used for data flow programming (found in the streams package), this invariant is preserved. Applicative function composition forms a semigroupoid.
- Similarly many structures are nearly a comonad, but not quite, for instance lists provide a reasonable 'extend' operation in the form of 'tails', but do not always contain a value.
- Ideally the following relationships would hold:
- &gt; Traversable &lt;---- Foldable &lt;--- Functor ------&gt; Alt ---------&gt; Plus Semigroupoid
- &gt; | | | | |
- &gt; v v v v v
- &gt; Traversable1 &lt;--- Foldable1 Apply --------&gt; Applicative -&gt; Alternative Category
- &gt; | | | |
- &gt; v v v v
- &gt; Bind ---------&gt; Monad -------&gt; MonadPlus Arrow
- &gt;
- Apply, Bind, and Extract give rise the Static, Kleisli and Cokleisli semigroupoids respectively.
- This lets us remove many of the restrictions from various monad transformers
- as in many cases the binding operation or @\&lt;*\&gt;@ operation does not require them.
- Finally, to work with these weaker structures it is beneficial to have containers
- that can provide stronger guarantees about their contents, so versions of 'Traversable'
- and 'Foldable' that can be folded with just a 'Semigroup' are added.
- </longdescription>
<flag name="comonad">
You can disable the use of the `comonad` package using
@@ -44,11 +12,6 @@
useful for accelerating builds in sandboxes for expert users. If disabled we
will not supply instances of `Comonad`
- <flag name="containers">
- You can disable the use of the `containers` package
- using `-f-containers`. Disabing this is an unsupported configuration, but it
- may be useful for accelerating builds in sandboxes for expert users.
- </flag>
<flag name="contravariant">
You can disable the use of the `contravariant`
package using `-f-contravariant`. Disabling this is an unsupported
diff --git a/dev-haskell/semigroupoids/semigroupoids-5.3.4.ebuild b/dev-haskell/semigroupoids/semigroupoids-5.3.4.ebuild
index 9ac5ac13aff..f213497d45c 100644
--- a/dev-haskell/semigroupoids/semigroupoids-5.3.4.ebuild
+++ b/dev-haskell/semigroupoids/semigroupoids-5.3.4.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# ebuild generated by hackport
-#hackport: flags: +doctests
+#hackport: flags: +doctests,+containers
CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
inherit haskell-cabal
@@ -16,13 +16,12 @@ SRC_URI="${P}/${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
-IUSE="+comonad +containers +contravariant +distributive +tagged +unordered-containers"
+IUSE="+comonad +contravariant +distributive +tagged +unordered-containers"
RESTRICT=test # broken on USE=doc
RDEPEND=">=dev-haskell/base-orphans-0.8:=[profile?] <dev-haskell/base-orphans-1:=[profile?]
>=dev-haskell/bifunctors-5:=[profile?] <dev-haskell/bifunctors-6:=[profile?]
- >=dev-haskell/semigroups-0.16.2:=[profile?] <dev-haskell/semigroups-1:=[profile?]
>=dev-haskell/transformers-compat-0.5:=[profile?] <dev-haskell/transformers-compat-0.7:=[profile?]
comonad? ( >=dev-haskell/comonad-4.2.6:=[profile?] <dev-haskell/comonad-6:=[profile?] )
@@ -41,7 +40,7 @@ DEPEND="${RDEPEND}
src_configure() {
haskell-cabal_src_configure \
$(cabal_flag comonad comonad) \
- $(cabal_flag containers containers) \
+ --flag=containers \
$(cabal_flag contravariant contravariant) \
$(cabal_flag distributive distributive) \
--flag=doctests \