Gentoo Archives: gentoo-commits

From: Sergei Trofimovich <slyfox@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-haskell/lens-family-th/, dev-haskell/lens-family-th/files/
Date: Thu, 16 Feb 2017 10:22:17
Message-Id: 1487240515.941c47b24d3eab6b10f53b16cb406f069700506b.slyfox@gentoo
1 commit: 941c47b24d3eab6b10f53b16cb406f069700506b
2 Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
3 AuthorDate: Thu Feb 16 08:37:25 2017 +0000
4 Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
5 CommitDate: Thu Feb 16 10:21:55 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=941c47b2
7
8 dev-haskell/lens-family-th: new package, a depend of dev-haskell/persistent-2.6
9
10 Generate lens-family style lenses
11
12 Package-Manager: Portage-2.3.3, Repoman-2.3.1
13
14 dev-haskell/lens-family-th/Manifest | 1 +
15 .../files/lens-family-th-0.4.1.0-ghc-8.patch | 40 ++++++++++++++++++++++
16 .../lens-family-th/lens-family-th-0.4.1.0.ebuild | 29 ++++++++++++++++
17 dev-haskell/lens-family-th/metadata.xml | 17 +++++++++
18 4 files changed, 87 insertions(+)
19
20 diff --git a/dev-haskell/lens-family-th/Manifest b/dev-haskell/lens-family-th/Manifest
21 new file mode 100644
22 index 0000000000..b39ed65a6a
23 --- /dev/null
24 +++ b/dev-haskell/lens-family-th/Manifest
25 @@ -0,0 +1 @@
26 +DIST lens-family-th-0.4.1.0.tar.gz 4562 SHA256 754fdc4c7c292b160a87974ec3690b755fb93f3877c8080d331cfa6ec4b39e20 SHA512 ab4283fcb833c68a838f006a71d30ed129c1d5f8ba030c4cbec6443ebeedc83e09a707a609c3c30c4420675bf5187227ce11f39218a3afb7ee563ad26104b774 WHIRLPOOL c8b76e3edea0575383dbeaff63427fab59af66a46b48fb5fe89d1258311ca6b38d38debecd79cdd05eda0809020c652757153465d679f51a3671d9952d0d406c
27
28 diff --git a/dev-haskell/lens-family-th/files/lens-family-th-0.4.1.0-ghc-8.patch b/dev-haskell/lens-family-th/files/lens-family-th-0.4.1.0-ghc-8.patch
29 new file mode 100644
30 index 0000000000..06be29a813
31 --- /dev/null
32 +++ b/dev-haskell/lens-family-th/files/lens-family-th-0.4.1.0-ghc-8.patch
33 @@ -0,0 +1,40 @@
34 +diff --git a/Lens/Family/THCore.hs b/Lens/Family/THCore.hs
35 +index d4f2740..2f53db6 100644
36 +--- a/Lens/Family/THCore.hs
37 ++++ b/Lens/Family/THCore.hs
38 +@@ -1 +1,2 @@
39 ++{-# LANGUAGE CPP #-}
40 + {-# LANGUAGE TemplateHaskell #-}
41 +@@ -52,4 +53,9 @@ extractLensTypeInfo datatype = do
42 + return $ case i of
43 ++#if MIN_VERSION_template_haskell(2,11,0)
44 ++ TyConI (DataD _ n ts _ _ _) -> (n, ts)
45 ++ TyConI (NewtypeD _ n ts _ _ _) -> (n, ts)
46 ++#else
47 + TyConI (DataD _ n ts _ _) -> (n, ts)
48 + TyConI (NewtypeD _ n ts _ _) -> (n, ts)
49 ++#endif
50 + _ -> error $ "Can't derive Lens for: " ++ datatypeStr
51 +@@ -63,2 +69,8 @@ extractConstructorFields datatype = do
52 + return $ case i of
53 ++#if MIN_VERSION_template_haskell(2,11,0)
54 ++ TyConI (DataD _ _ _ _ [RecC _ fs] _) -> fs
55 ++ TyConI (NewtypeD _ _ _ _ (RecC _ fs) _) -> fs
56 ++ TyConI (DataD _ _ _ _ [_] _) ->
57 ++ error $ "Can't derive Lens without record selectors: " ++ datatypeStr
58 ++#else
59 + TyConI (DataD _ _ _ [RecC _ fs] _) -> fs
60 +@@ -67,2 +79,3 @@ extractConstructorFields datatype = do
61 + error $ "Can't derive Lens without record selectors: " ++ datatypeStr
62 ++#endif
63 + TyConI NewtypeD{} ->
64 +@@ -134,4 +147,9 @@ extractConstructorInfo datatype = do
65 + return $ case i of
66 ++#if MIN_VERSION_template_haskell(2,11,0)
67 ++ TyConI (DataD _ _ _ _ fs _) -> fs
68 ++ TyConI (NewtypeD _ _ _ _ f _) -> [f]
69 ++#else
70 + TyConI (DataD _ _ _ fs _) -> fs
71 + TyConI (NewtypeD _ _ _ f _) -> [f]
72 ++#endif
73 + _ -> error $ "Can't derive traversal for: " ++ datatypeStr
74
75 diff --git a/dev-haskell/lens-family-th/lens-family-th-0.4.1.0.ebuild b/dev-haskell/lens-family-th/lens-family-th-0.4.1.0.ebuild
76 new file mode 100644
77 index 0000000000..082c451542
78 --- /dev/null
79 +++ b/dev-haskell/lens-family-th/lens-family-th-0.4.1.0.ebuild
80 @@ -0,0 +1,29 @@
81 +# Copyright 1999-2017 Gentoo Foundation
82 +# Distributed under the terms of the GNU General Public License v2
83 +# $Id$
84 +
85 +EAPI=5
86 +
87 +# ebuild generated by hackport 0.4.7.9999
88 +
89 +CABAL_FEATURES="lib profile haddock hoogle hscolour"
90 +inherit haskell-cabal
91 +
92 +DESCRIPTION="Generate lens-family style lenses"
93 +HOMEPAGE="https://github.com/DanBurton/lens-family-th#readme"
94 +SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz"
95 +
96 +LICENSE="BSD"
97 +SLOT="0/${PV}"
98 +KEYWORDS="~amd64 ~x86"
99 +IUSE=""
100 +
101 +RDEPEND=">=dev-lang/ghc-7.4.1:=
102 +"
103 +DEPEND="${RDEPEND}
104 + >=dev-haskell/cabal-1.8
105 +"
106 +
107 +src_prepare() {
108 + epatch "${FILESDIR}"/${P}-ghc-8.patch
109 +}
110
111 diff --git a/dev-haskell/lens-family-th/metadata.xml b/dev-haskell/lens-family-th/metadata.xml
112 new file mode 100644
113 index 0000000000..ead3c316a4
114 --- /dev/null
115 +++ b/dev-haskell/lens-family-th/metadata.xml
116 @@ -0,0 +1,17 @@
117 +<?xml version="1.0" encoding="UTF-8"?>
118 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
119 +<pkgmetadata>
120 + <maintainer type="project">
121 + <email>haskell@g.o</email>
122 + <name>Gentoo Haskell</name>
123 + </maintainer>
124 + <longdescription>
125 + Due to a cabal/hackage defect, curly braces cannot be
126 + adequately displayed here. Please see
127 + &lt;http://github.com/DanBurton/lens-family-th#readme&gt;
128 + for a proper description of this package.
129 +
130 + (See &lt;https://github.com/haskell/cabal/issues/968&gt;
131 + for the ticket I created regarding the defect.)
132 + </longdescription>
133 +</pkgmetadata>