summaryrefslogtreecommitdiff
path: root/dev-haskell/lens
diff options
context:
space:
mode:
Diffstat (limited to 'dev-haskell/lens')
-rw-r--r--dev-haskell/lens/Manifest7
-rw-r--r--dev-haskell/lens/lens-4.19.2-r2.ebuild (renamed from dev-haskell/lens/lens-4.19.1.ebuild)58
-rw-r--r--dev-haskell/lens/metadata.xml74
3 files changed, 38 insertions, 101 deletions
diff --git a/dev-haskell/lens/Manifest b/dev-haskell/lens/Manifest
index 19935dc28c78..4567fe6cb543 100644
--- a/dev-haskell/lens/Manifest
+++ b/dev-haskell/lens/Manifest
@@ -1,3 +1,4 @@
-DIST lens-4.19.1.tar.gz 704985 BLAKE2B ddb9f660ff6a1930f356ce915f653f81dfa4814f4956e89d1df213dd57e2cab85eeea7be9efb46553c36448b01579319e8bf1d4c739cdc3bc13608d54f9e43f0 SHA512 50a596ce919abc93b453189453abdbf0f455e0531e5b83397d1e61308842222433fd7d4c6c6f5ec74f98d8dd26eefe861a0d88d5faf56a7b896a0b083b920a10
-EBUILD lens-4.19.1.ebuild 3737 BLAKE2B 0e5c91e9d89a6d9bf77f49c0ad1bf6b910dd2ab169abb1a6c177b05ce82a085998c7115255bcb23c2fcda2072c2464df558215298b471e4159d0863374fc4a16 SHA512 f02ddf918cacacd131258e6cc6d2941b2906af1fb1b5775693cd7ea71527a6e2fadab70889611aaadd075c85a307455d3fa332dc335631148e4e90a8e71b4b80
-MISC metadata.xml 4596 BLAKE2B a45f6f80d686ab0d2b57ca0a9ff7d89184c98101b15b8d49ca6919b4245b46898ed345211ef3a0af8229faf05e62c2bcaf406510223f2048d05425150bad8e8d SHA512 8893b9987ac5842ab81c4b283f15c88490322fc6c79df801a32f90eeb6b69472bd491ccf982fb7885db5edceae632c4d1e6a9e9ebdb15cb289907f51d52461fa
+DIST lens-4.19.2-r2.cabal 16053 BLAKE2B 66e0c6048fea41a029780e481e102e1881e0fa381eecbdfb3de01295669abf2ffb91c9c116cfaa9439d027ac4340ff86a37d18333a4ae03f9996be7129b8327d SHA512 6c2a535af6e73026884e925abcb7bca556ebef9cdfd8d340e0d03226b5c4347a9b3dc1b641b4e3386355a4e3e02694b72d076fd7dfabdf995297a2d0dfbb9cd5
+DIST lens-4.19.2.tar.gz 705314 BLAKE2B 02de2b8515225c07b039774da06e848c4c1332cb1fc28fe6f782502e8d8b34d09b40bb2272af006157940513b4ce97d192edc45529dd497686cee32a90bfe80d SHA512 f1627c950457c38b0363a71717b76c0c84eafdcebaf14904da632ea295195dee1fd11db07ca524988729254b0e018da4417e40c0cb4f8ff086fbe412ce89f4c6
+EBUILD lens-4.19.2-r2.ebuild 3658 BLAKE2B 31c91da376263daec83d52b382c1cf6eb7b7b776789254756f0259e8c8faac9e00be324004ee8694666cdad611af46dd756b612793025c9aa941f2e1e409e800 SHA512 70de336a4b73caddc4ecf13ca6ab0b517190e774ba83fb831d921f7d55d0cdaaecfb336e2e573448a31c4c6670492b4fed7e407b1f40b6108dcf2b8baaacf80f
+MISC metadata.xml 1151 BLAKE2B 5dc84650d0b70607d44c431c762e000dfeaae831bdad6561f5970bb18e46b79aecf424ff4d41c4b6e58e5c054aaed0e3cbe20596bd5bc0c85e085e8bd5d1cb70 SHA512 b9943e18114b046ccd7345685555f342793d20b247b6c00372d2d7af602d56eb4d289b0f566865eb4a34203bf513f308b7c354b8011725163350695204197647
diff --git a/dev-haskell/lens/lens-4.19.1.ebuild b/dev-haskell/lens/lens-4.19.2-r2.ebuild
index 446a515c4d59..e11ba5a2e8a7 100644
--- a/dev-haskell/lens/lens-4.19.1.ebuild
+++ b/dev-haskell/lens/lens-4.19.2-r2.ebuild
@@ -1,66 +1,77 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-# ebuild generated by hackport 0.6.4.9999
-#hackport: flags: -lib-werror,+test-hunit,+test-properties
+# ebuild generated by hackport 0.6.7.9999
+#hackport: flags: -lib-werror,test-hunit:test,test-properties:test,test-templates:test,test-doctests:test
-CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
+CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite rebuild-after-doc-workaround"
inherit haskell-cabal
DESCRIPTION="Lenses, Folds and Traversals"
HOMEPAGE="https://github.com/ekmett/lens/"
-SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
+SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
+ https://hackage.haskell.org/package/${P}/revision/3.cabal -> ${PF}.cabal"
LICENSE="BSD-2"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~x86"
-IUSE="benchmark-uniplate dump-splices +inlining j old-inline-pragmas safe +test-doctests +test-templates +trustworthy"
+IUSE="benchmark-uniplate dump-splices +inlining j safe +trustworthy"
-RESTRICT=test # broken on USE=doc
+RESTRICT=test # Ambiguous occurrence 'foldmap': Vector.foldMap or Foldable.foldMap
RDEPEND=">=dev-haskell/base-orphans-0.5.2:=[profile?] <dev-haskell/base-orphans-1:=[profile?]
>=dev-haskell/bifunctors-5.1:=[profile?] <dev-haskell/bifunctors-6:=[profile?]
- >=dev-haskell/call-stack-0.1:=[profile?] <dev-haskell/call-stack-0.3:=[profile?]
+ >=dev-haskell/call-stack-0.1:=[profile?] <dev-haskell/call-stack-0.4:=[profile?]
>=dev-haskell/comonad-4:=[profile?] <dev-haskell/comonad-6:=[profile?]
>=dev-haskell/contravariant-1.3:=[profile?] <dev-haskell/contravariant-2:=[profile?]
>=dev-haskell/distributive-0.3:=[profile?] <dev-haskell/distributive-1:=[profile?]
>=dev-haskell/exceptions-0.1.1:=[profile?] <dev-haskell/exceptions-1:=[profile?]
>=dev-haskell/free-4:=[profile?] <dev-haskell/free-6:=[profile?]
- >=dev-haskell/generic-deriving-1.10:=[profile?] <dev-haskell/generic-deriving-2:=[profile?]
>=dev-haskell/hashable-1.1.2.3:=[profile?] <dev-haskell/hashable-1.4:=[profile?]
>=dev-haskell/kan-extensions-5:=[profile?] <dev-haskell/kan-extensions-6:=[profile?]
>=dev-haskell/mtl-2.0.1:=[profile?] <dev-haskell/mtl-2.3:=[profile?]
- >=dev-haskell/nats-0.1:=[profile?] <dev-haskell/nats-1.2:=[profile?]
>=dev-haskell/parallel-3.1.0.1:=[profile?] <dev-haskell/parallel-3.3:=[profile?]
>=dev-haskell/profunctors-5.2.1:=[profile?] <dev-haskell/profunctors-6:=[profile?]
>=dev-haskell/reflection-2.1:=[profile?] <dev-haskell/reflection-3:=[profile?]
>=dev-haskell/semigroupoids-5:=[profile?] <dev-haskell/semigroupoids-6:=[profile?]
- >=dev-haskell/semigroups-0.8.4:=[profile?] <dev-haskell/semigroups-1:=[profile?]
>=dev-haskell/tagged-0.4.4:=[profile?] <dev-haskell/tagged-1:=[profile?]
>=dev-haskell/text-0.11:=[profile?] <dev-haskell/text-1.3:=[profile?]
- >=dev-haskell/th-abstraction-0.3:=[profile?] <dev-haskell/th-abstraction-0.4:=[profile?]
+ >=dev-haskell/th-abstraction-0.3:=[profile?] <dev-haskell/th-abstraction-0.5:=[profile?]
>=dev-haskell/transformers-compat-0.4:=[profile?] <dev-haskell/transformers-compat-1:=[profile?]
>=dev-haskell/unordered-containers-0.2.4:=[profile?] <dev-haskell/unordered-containers-0.3:=[profile?]
>=dev-haskell/vector-0.9:=[profile?] <dev-haskell/vector-0.13:=[profile?]
- >=dev-haskell/void-0.5:=[profile?] <dev-haskell/void-1:=[profile?]
- >=dev-lang/ghc-7.8.2:=
+ >=dev-lang/ghc-8.4.3:=
"
DEPEND="${RDEPEND}
- >=dev-haskell/cabal-1.18.1.3 <dev-haskell/cabal-3.3
+ >=dev-haskell/cabal-2.2.0.1
>=dev-haskell/cabal-doctest-1 <dev-haskell/cabal-doctest-1.1
test? ( >=dev-haskell/hunit-1.2
>=dev-haskell/quickcheck-2.4
>=dev-haskell/test-framework-0.6
>=dev-haskell/test-framework-hunit-0.2
>=dev-haskell/test-framework-quickcheck2-0.2
- >=dev-haskell/test-framework-th-0.2
- test-doctests? ( >=dev-haskell/semigroups-0.9
- >=dev-haskell/simple-reflect-0.3.1
- >=dev-haskell/doctest-0.13 <dev-haskell/doctest-0.17 ) )
+ dev-haskell/generic-deriving
+ dev-haskell/nats
+ >=dev-haskell/semigroups-0.9
+ >=dev-haskell/simple-reflect-0.3.1
+ >=dev-haskell/doctest-0.11.4 <dev-haskell/doctest-0.18 )
"
+src_prepare() {
+ default
+
+ cabal_chdeps \
+ 'Cabal >= 1.10 && <3.3' 'Cabal >= 1.10'
+}
+
+src_prepare() {
+ default
+
+ cp "${DISTDIR}/${PF}.cabal" "${S}/${PN}.cabal" || die
+}
+
src_configure() {
haskell-cabal_src_configure \
$(cabal_flag benchmark-uniplate benchmark-uniplate) \
@@ -68,11 +79,10 @@ src_configure() {
$(cabal_flag inlining inlining) \
$(cabal_flag j j) \
--flag=-lib-werror \
- $(cabal_flag old-inline-pragmas old-inline-pragmas) \
$(cabal_flag safe safe) \
- $(cabal_flag test-doctests test-doctests) \
- --flag=test-hunit \
- --flag=test-properties \
- $(cabal_flag test-templates test-templates) \
+ $(cabal_flag test test-doctests) \
+ $(cabal_flag test test-hunit) \
+ $(cabal_flag test test-properties) \
+ $(cabal_flag test test-templates) \
$(cabal_flag trustworthy trustworthy)
}
diff --git a/dev-haskell/lens/metadata.xml b/dev-haskell/lens/metadata.xml
index 480622bff29c..b1e5405daf62 100644
--- a/dev-haskell/lens/metadata.xml
+++ b/dev-haskell/lens/metadata.xml
@@ -5,77 +5,6 @@
<email>haskell@gentoo.org</email>
<name>Gentoo Haskell</name>
</maintainer>
- <longdescription>
- This package comes \"Batteries Included\" with many useful lenses for the types
- commonly used from the Haskell Platform, and with tools for automatically
- generating lenses and isomorphisms for user-supplied data types.
-
- The combinators in @Control.Lens@ provide a highly generic toolbox for composing
- families of getters, folds, isomorphisms, traversals, setters and lenses and their
- indexed variants.
-
- An overview, with a large number of examples can be found in the @README@: &lt;https://github.com/ekmett/lens#lens-lenses-folds-and-traversals&gt;
-
- A video on how to use lenses and how they are constructed is available from youtube: &lt;http://youtu.be/cefnmjtAolY?hd=1&gt;
-
- Slides can be obtained here: &lt;http://comonad.com/haskell/Lenses-Folds-and-Traversals-NYC.pdf&gt;
-
- More information on the care and feeding of lenses, including a brief tutorial and motivation
- for their types can be found on the lens wiki: &lt;https://github.com/ekmett/lens/wiki&gt;
-
- A small game of @pong@ and other more complex examples that manage their state using lenses can be found in the example folder: &lt;https://github.com/ekmett/lens/blob/master/examples/&gt;
-
- /Lenses, Folds and Traversals/
-
- The core of the hierarchy of lens-like constructions looks like:
-
-
- &lt;&lt;http://i.imgur.com/4fHw3Fd.png&gt;&gt;
-
- Local copy (&lt;Hierarchy.png&gt;)
-
- You can compose any two elements of the hierarchy above using @(.)@ from the @Prelude@, and you can
- use any element of the hierarchy as any type it linked to above it.
-
- The result is their lowest upper bound in the hierarchy (or an error if that bound doesn't exist).
-
- For instance:
-
- * You can use any 'Traversal' as a 'Fold' or as a 'Setter'.
-
- * The composition of a 'Traversal' and a 'Getter' yields a 'Fold'.
-
- /Minimizing Dependencies/
-
- If you want to provide lenses and traversals for your own types in your own libraries, then you
- can do so without incurring a dependency on this (or any other) lens package at all.
-
- /e.g./ for a data type:
-
- &gt; data Foo a = Foo Int Int a
-
- You can define lenses such as
-
- &gt; -- bar :: Lens' (Foo a) Int
- &gt; bar :: Functor f =&gt; (Int -&gt; f Int) -&gt; Foo a -&gt; f (Foo a)
- &gt; bar f (Foo a b c) = fmap (\a' -&gt; Foo a' b c) (f a)
-
- &gt; -- baz :: Lens (Foo a) (Foo b) a b
- &gt; quux :: Functor f =&gt; (a -&gt; f b) -&gt; Foo a -&gt; f (Foo b)
- &gt; quux f (Foo a b c) = fmap (Foo a b) (f c)
-
- without the need to use any type that isn't already defined in the @Prelude@.
-
- And you can define a traversal of multiple fields with 'Control.Applicative.Applicative':
-
- &gt; -- traverseBarAndBaz :: Traversal' (Foo a) Int
- &gt; traverseBarAndBaz :: Applicative f =&gt; (Int -&gt; f Int) -&gt; Foo a -&gt; f (Foo a)
- &gt; traverseBarAndBaz f (Foo a b c) = Foo &lt;$&gt; f a &lt;*&gt; f b &lt;*&gt; pure c
-
- What is provided in this library is a number of stock lenses and traversals for
- common haskell types, a wide array of combinators for working them, and more
- exotic functionality, (/e.g./ getters, setters, indexed folds, isomorphisms).
- </longdescription>
<use>
<flag name="benchmark-uniplate">
Enable benchmarking against Neil Mitchell's
@@ -89,12 +18,9 @@
or as last ditch effort to address compile errors resulting
from the myriad versions of template-haskell that all purport to be 2.8.
</flag>
- <flag name="old-inline-pragmas">Some 7.6.1-rc1 users report their TH still uses old style inline pragmas. This lets them turn on inlining.</flag>
<flag name="safe">Disallow unsafeCoerce</flag>
<flag name="dump-splices">Build and run the doctests test-suite.</flag>
<flag name="j">Attempt a parallel build with GHC 7.8.</flag>
- <flag name="test-doctests">Build and run the doctests test-suite.</flag>
- <flag name="test-templates">Build the test templates if we're building tests</flag>
<flag name="trustworthy">Assert that we are trustworthy when we can</flag>
</use>
<upstream>