1 |
commit: 8e83b7e39bbc510a81c477d4dfa95adf1b7240ae |
2 |
Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Aug 29 13:12:12 2020 +0000 |
4 |
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Aug 29 13:15:55 2020 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8e83b7e3 |
7 |
|
8 |
dev-haskell/encoding: bump up to 0.8.5 |
9 |
|
10 |
Package-Manager: Portage-3.0.4, Repoman-3.0.1 |
11 |
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org> |
12 |
|
13 |
dev-haskell/encoding/Manifest | 1 + |
14 |
dev-haskell/encoding/encoding-0.8.5.ebuild | 46 ++++++++++++++++++++++ |
15 |
.../encoding/files/encoding-0.8.2-overflow.patch | 41 +++++++++++++++++++ |
16 |
3 files changed, 88 insertions(+) |
17 |
|
18 |
diff --git a/dev-haskell/encoding/Manifest b/dev-haskell/encoding/Manifest |
19 |
index cc09d809b16..32b45d0e6b4 100644 |
20 |
--- a/dev-haskell/encoding/Manifest |
21 |
+++ b/dev-haskell/encoding/Manifest |
22 |
@@ -2,4 +2,5 @@ DIST encoding-0.6.7.2.tar.gz 832564 BLAKE2B b61a113be8ac4d26c85343d5e459c35a4cdf |
23 |
DIST encoding-0.7.0.2.tar.gz 320988 BLAKE2B f1fdef3e4b9d247c03f9669b7506cbd9082acdd85bd2d96e988c8731b3e9c774bb498717e49089cf4030d50a94e24bc461d65ef3923a14a0212d4e8741547c91 SHA512 60ede0397d68bcea292ed9fb09fe2bafcbc0afdd7d374b098049afe9a7146cc4be5615a83dbfb13c1a44db2e52a77f231fbac3ab2249398d3fb9921041aadd04 |
24 |
DIST encoding-0.8.1.tar.gz 1034198 BLAKE2B 67bcc5c36698e21eeb827d19585bafe4a8ce599703863295097c83b1c6908bec82bcf98c2d9b9c4ea492bfd79435d064330a7d1d1e57f7d7ea27f587145bcbbb SHA512 f77088138888673f0802b57cba3f14cf84a1bee15ad013a1335d8a9e8d7206d716078c3b2ab299545f49174d9de9db4c67089f1b01664c86337c31ec91c5cf46 |
25 |
DIST encoding-0.8.2.tar.gz 412630 BLAKE2B 2e6fd3599d4c1062c85389a1d12d332e982beecfb4f98b92ee8b1618e50ed1f91ec65b94273a325995bcbaa8fc6f41878870069c6400365e899b946592b740da SHA512 e8cbb1b64f3555945c185485688bfb7e73ca7104cbbbf5bec8ec55937656df1e3b99bae24aa1513c0c690d3521bca9c111f0258f2245637c7c8d706709cdcd62 |
26 |
+DIST encoding-0.8.5.tar.gz 380798 BLAKE2B 0b8ccca2de17e00c59b114c8b6b7107a80e92e376cc3bf9d5e95eadf2a2c1e5a2d2a12294e7ec669b1203d4b4c6809c8a129aaf17f1022f361b64542fcf45d9b SHA512 2ae2f44007735bdcb6b7cd35614ffcb5fe211321d516350555b03d9074c679995260f30de1df788b800711613bfdca037cb9c24cf90afc88d32a706c237df386 |
27 |
DIST encoding-0.8.tar.gz 321410 BLAKE2B ee87c14457c3474c571ebe25b5f98d50713b85666aeb5e099767d787bfaa9b10d03feb0e596c6c93ddf68bfc583285971f30d8e526cdc12d7570ae63b9b80f77 SHA512 c1f05333fa34eb0dc9ed1e1c82bc4d84e9fb3d0252a45519998a199ef1eafd49e9dea7ad60e8ae855b4efdaf4977f8a9aa6324d7b73bfd122bdef60341dea1e0 |
28 |
|
29 |
diff --git a/dev-haskell/encoding/encoding-0.8.5.ebuild b/dev-haskell/encoding/encoding-0.8.5.ebuild |
30 |
new file mode 100644 |
31 |
index 00000000000..48de713accc |
32 |
--- /dev/null |
33 |
+++ b/dev-haskell/encoding/encoding-0.8.5.ebuild |
34 |
@@ -0,0 +1,46 @@ |
35 |
+# Copyright 1999-2020 Gentoo Authors |
36 |
+# Distributed under the terms of the GNU General Public License v2 |
37 |
+ |
38 |
+EAPI=7 |
39 |
+ |
40 |
+# ebuild generated by hackport 0.6.6.9999 |
41 |
+ |
42 |
+CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite" |
43 |
+inherit haskell-cabal |
44 |
+ |
45 |
+DESCRIPTION="A library for various character encodings" |
46 |
+HOMEPAGE="http://code.haskell.org/encoding/" |
47 |
+SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz" |
48 |
+ |
49 |
+LICENSE="BSD" |
50 |
+SLOT="0/${PV}" |
51 |
+KEYWORDS="~amd64 ~x86" |
52 |
+IUSE="+systemencoding" |
53 |
+ |
54 |
+RDEPEND=">=dev-haskell/extensible-exceptions-0.1:=[profile?] <dev-haskell/extensible-exceptions-0.2:=[profile?] |
55 |
+ >=dev-haskell/mtl-2.0:=[profile?] <dev-haskell/mtl-2.3:=[profile?] |
56 |
+ >=dev-haskell/regex-compat-0.71:=[profile?] |
57 |
+ >=dev-lang/ghc-7.8.2:= |
58 |
+" |
59 |
+DEPEND="${RDEPEND} |
60 |
+ >=dev-haskell/cabal-2.0 |
61 |
+ >=dev-haskell/haxml-1.22 <dev-haskell/haxml-1.26 |
62 |
+ test? ( dev-haskell/hunit |
63 |
+ dev-haskell/quickcheck ) |
64 |
+" |
65 |
+PATCHES=( |
66 |
+ "${FILESDIR}"/${PN}-0.8.2-overflow.patch |
67 |
+) |
68 |
+ |
69 |
+src_prepare() { |
70 |
+ default |
71 |
+ |
72 |
+ cabal_chdeps \ |
73 |
+ 'regex-compat >=0.71 && <0.95' 'regex-compat >=0.71' \ |
74 |
+ 'containers >=0.4 && <0.6' 'containers >=0.4 && <0.7' |
75 |
+} |
76 |
+ |
77 |
+src_configure() { |
78 |
+ haskell-cabal_src_configure \ |
79 |
+ $(cabal_flag systemencoding systemencoding) |
80 |
+} |
81 |
|
82 |
diff --git a/dev-haskell/encoding/files/encoding-0.8.2-overflow.patch b/dev-haskell/encoding/files/encoding-0.8.2-overflow.patch |
83 |
new file mode 100644 |
84 |
index 00000000000..c8085c82719 |
85 |
--- /dev/null |
86 |
+++ b/dev-haskell/encoding/files/encoding-0.8.2-overflow.patch |
87 |
@@ -0,0 +1,41 @@ |
88 |
+https://github.com/dmwit/encoding/pull/11 |
89 |
+ |
90 |
+From ce27249d4260c7eb3f514c95d5edd762804dd4f3 Mon Sep 17 00:00:00 2001 |
91 |
+From: Sergei Trofimovich <slyfox@g.o> |
92 |
+Date: Sat, 29 Aug 2020 13:52:33 +0100 |
93 |
+Subject: [PATCH] Data/Map/Static/Builder.hs: avoid shiftL with negative offset |
94 |
+ |
95 |
+On ghc-8.8 building `encoding` fails as: |
96 |
+ |
97 |
+``` |
98 |
+Preprocessing library for encoding-0.8.5.. |
99 |
+arithmetic overflow |
100 |
+``` |
101 |
+ |
102 |
+This happens because `findSplitSize` can't handle |
103 |
+small values, like `findSplitSize 1` and calls `shiftL` |
104 |
+with negative value, which is forbdden: |
105 |
+ https://hackage.haskell.org/package/base-4.14.0.0/docs/Data-Bits.html#v:shiftL |
106 |
+ |
107 |
+Work it around by always passing non-negative offset. |
108 |
+ |
109 |
+Signed-off-by: Sergei Trofimovich <slyfox@g.o> |
110 |
+--- |
111 |
+ Data/Map/Static/Builder.hs | 2 +- |
112 |
+ 1 file changed, 1 insertion(+), 1 deletion(-) |
113 |
+ |
114 |
+diff --git a/Data/Map/Static/Builder.hs b/Data/Map/Static/Builder.hs |
115 |
+index 486e19c..61851cd 100644 |
116 |
+--- a/Data/Map/Static/Builder.hs |
117 |
++++ b/Data/Map/Static/Builder.hs |
118 |
+@@ -37,6 +37,6 @@ treeDepth sz = find' [0..] |
119 |
+ findSplitSize :: Int -> Int |
120 |
+ findSplitSize len = let depth = treeDepth len |
121 |
+ free = (maxSize depth) - len |
122 |
+- in if free <= (1 `shiftL` (depth - 2)) |
123 |
++ in if 2 * free <= (1 `shiftL` (depth - 1)) |
124 |
+ then maxSize (depth - 1) |
125 |
+ else len - (maxSize (depth - 2)) - 1 |
126 |
+-- |
127 |
+2.28.0 |
128 |
+ |