1 |
commit: c0682ce0cce6f5dd55da71c9b445dd137147aa0a |
2 |
Author: Aric Belsito <lluixhi <AT> gmail <DOT> com> |
3 |
AuthorDate: Fri May 26 17:32:50 2017 +0000 |
4 |
Commit: Aric Belsito <lluixhi <AT> gmail <DOT> com> |
5 |
CommitDate: Fri May 26 17:32:50 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=c0682ce0 |
7 |
|
8 |
dev-libs/icu: version bump to 58.2-r1 |
9 |
|
10 |
dev-libs/icu/Manifest | 6 +- |
11 |
dev-libs/icu/files/icu-58.2-CVE-2017-7867.patch | 155 +++++++++++++++++++++ |
12 |
dev-libs/icu/icu-58.1-r1.ebuild | 21 ++- |
13 |
.../icu/{icu-58.2.ebuild => icu-58.2-r1.ebuild} | 20 ++- |
14 |
dev-libs/icu/icu-58.2.ebuild | 19 ++- |
15 |
5 files changed, 212 insertions(+), 9 deletions(-) |
16 |
|
17 |
diff --git a/dev-libs/icu/Manifest b/dev-libs/icu/Manifest |
18 |
index eadde47..c6bd433 100644 |
19 |
--- a/dev-libs/icu/Manifest |
20 |
+++ b/dev-libs/icu/Manifest |
21 |
@@ -1,9 +1,11 @@ |
22 |
AUX icu-58.1-iterator.patch 4097 SHA256 468bba2185584c30a5b096d7c85d0afa739067594f0883b6f8f448b1bf996801 SHA512 46c51629fb5ff14cdfcbc355bff6cceb7132fc79176ec7fcf76bd9ac8553fccbf6528508753b73a0a4301721260ad60a359bf56c66e3bd0151415a4a226ff21c WHIRLPOOL 4268216dad6ed8a2ce3e00cb1a9d7e7a8bcb2922ce1f02b5f50d07632a843d1bb8e1dea9710acff1cbc943a41940c22fc453faafe39fa3bb8bad068d0ca01588 |
23 |
AUX icu-58.1-no-xlocale.patch 465 SHA256 ead33ba16d6fb9cabb77c4ee8b13390f8ac925ab40568053f136254f05985369 SHA512 60833baee65232a5312baff4a7221d215af05596ae4aa3372ff0bf3190f37f5a6c5597a4b0f40a20da0303a216927141174ff1bfd22c85ca63d9e46c8ed2eb12 WHIRLPOOL f8ee2a29415624d1b50bd5c7378c618539e77c6ef8b15d53e60fdab3db9ecea30effeab083acbee428183db94f413024706d70150cd14afdbdb5295c7f596706 |
24 |
AUX icu-58.1-remove-bashisms.patch 5888 SHA256 8a2177d5f549168d5680d6477381a9f6f5ca0bd8f6bd23cc30d7f953e10907bc SHA512 54835db4db5bca704aed015a911a1f5285fbd3f6d09493cdcf98493d87a03851c9ee79cc9cbcb45da409513ad5b3af38b302aa5d164992d94af1f80c6349aeb8 WHIRLPOOL 8f0d95fe666a3de52ebf4511b0792add819e4dbf3e5e259e2f80bd1fce28e21bd046084a18c3130dc16ad1bc3c73cb912c8bb1d0d8bb387b0587d8748c656824 |
25 |
+AUX icu-58.2-CVE-2017-7867.patch 8934 SHA256 2dfef95f7f0ac9f769a8d221ba2572f30bbbb84c0566bfe5b0594287f8cfad87 SHA512 6e29326f378461ae07b253c59550447096352be1247e575d974839cea37ec326f7fa8dca58caab63544582ef9f4b3c71c9e3fa0eceb2e85fb7380ee71b138c5a WHIRLPOOL 43d1163e4e53db31929c380964b8ef1ad5dbdcf6d6f7d20cebf28b1959509783a4feaa42782af7fc3c3f555dbba4be6c4e18deaac096f0ea6ba031ac68891061 |
26 |
AUX icu-58.2-no-xlocale.patch 464 SHA256 450510c2c946974e9e70dec067bc2a14b5c50b23312c01255f5adbdcc3fc21d9 SHA512 ff2a0846302a215c0b36dc705cb5eb5386ef972d8d16d06a5901140d9809f3c7fee989c9151c51530f4771a353297f5dee8473004b04ce12689d68bdbca5fb60 WHIRLPOOL 0c49b90b37ba64edaabc1c8b3cedf612bc7a289cd6d4f6755eb31335a0af87004f5af4313af4c4f46b797f092c710b283c46f191765c74429cf171625d4da5d3 |
27 |
DIST icu4c-58_1-src.tgz 23366443 SHA256 0eb46ba3746a9c2092c8ad347a29b1a1b4941144772d13a88667a7b11ea30309 SHA512 59b2a76834192a35125fda326587e613ef4486152cf0278c6f22568d4ae02c4b2d897efcea2654ef2b11bd1c3154aecd38cb68a70f69430736f343689f94c155 WHIRLPOOL faf2624a83f0d6f874166b328522dc9c89088db2690433ab05e96371722b635b81fd5210c7e87fe8e5df6681e881cf10204832925b448552affe8c2f6c851e37 |
28 |
DIST icu4c-58_2-src.tgz 23369902 SHA256 2b0a4410153a9b20de0e20c7d8b66049a72aef244b53683d0d7521371683da0c SHA512 5c21af748f48b392e6c0412bd0aee92162ea931820dcbfab4ec6e0299868504b303d88f7586cc95de55c777ac0dca3a29d6c8ca0892c646ebc864c8a5b5a162a WHIRLPOOL 25829f8ee870b703fd604ae5b9b584390a142f5011e2a5db18332453e2f1640d81270086f243318eeb93f187b04ea23dab14901ab81c8d924c8d47b1f77aee5a |
29 |
-EBUILD icu-58.1-r1.ebuild 2995 SHA256 59fee71afba6047825cd515fa809c9f243fba862b93025b270ed1651ab4b26a6 SHA512 5e87466528ee0ad1789e94a9004163525b10e92ed21413c79ce07a1c965f5786dffd571fb5829df83039de346c7df8cfa38b2c7e071c23f592a8282841b67708 WHIRLPOOL 4c4ced486a67dca79355730e4eb2c3f697d4e7b4ea23be0f0c40a24b2457d01022df82c9f12881755ea6d144631ff0217b4ccf24863ecabd40738d3e953d649a |
30 |
-EBUILD icu-58.2.ebuild 3002 SHA256 46d635320ce0e39cce0ddd735d5a10e98c583823dd41818891adf4962150432b SHA512 76cfb0e4f20e6161923e52fe9703ef5cccbe0b4145a86778711eddfd8960329c81ecc7c23a846af66b9d8248293e083ba4a9db7daeefb5bca06856378e963f75 WHIRLPOOL e14f86525233ed6053808ba68d17a730d77dc67cc686de26717332e4600cb456347f7a8695aef940028ce349cb96d96f52a2ef8b1506ce51140f64cd771a56f8 |
31 |
+EBUILD icu-58.1-r1.ebuild 3375 SHA256 ab02bc4f595c342de9eb6c1c970c0db874f8c979b1ba9391172a330fac4c0e23 SHA512 e97c42dffbf27cebf2c6380b199f2ae01884322a8cdeb0a56669f6e017673175f3c12f41e4a3344fd7ddb54e442c2987a5e9d975f457579cbd39949ff9ffda75 WHIRLPOOL 881c33e01d00742a3bdb76595f60d9c0a366fb7e3b764ef40d5ad09636b4726b23f38357650b2fe4e2138850fe2103a55746726b39b08dda2a3bc504f2e9d641 |
32 |
+EBUILD icu-58.2-r1.ebuild 3431 SHA256 4c6c334a879e147daec1c32fe7a3ffa605f9c7d1e6c3f7335835c116f8e29a0d SHA512 50ed9b0fe325f991409fd8445d52e6de05330965cc4fc86e135ac84ee6245bf3f85a3beeebd9dbbf5f56a3c1e93320e5083d61aa5000c13deb8c8c63ced97a6b WHIRLPOOL 9243d7ca6691d4eae13f2e668869696541d4f011ac0665fea17d4183cf4e4790df42caf1d7eb106c10bf7e6491c90867c0ace43bb9414f4993f741ebc68df7e7 |
33 |
+EBUILD icu-58.2.ebuild 3385 SHA256 1e18328e726e0009dcb9647e0a15bb38f5b1340fba007cd34c8be5f30f2ed40e SHA512 608070d11d128eaba89674c006d1567886156071c0cf4cd75dd00cebd6bcfe504412713f81ee704f75f14080940d427ba9f97e60ae9d973c6b64f8b5447221aa WHIRLPOOL 9be176bfc25aadcf230775faa67257419cabbd36f85b4d16ff427104c23a3ec753425b5ccfeac56734a39e57e20b171664fedbd975deb5fea8d209eac41fc271 |
34 |
MISC metadata.xml 255 SHA256 34d028c790cfe86c47c5c3dcf8655fcefc3e23ff52fed38a400ce42d678c8c5e SHA512 ac646e8ac676faf0aac283e4be31c5f2b29e98ccf07327073ed05e688ce696caf639bdfea63e4aed141a90e84c0a86892bc717a52b95cdf1739aaa15240013c3 WHIRLPOOL 87f7199996948fe95e5417f8da0c4c90cd51a68f246ac8ae87a2e2a31c11c709f220d664eb893b34692577415e5f5eb351dd7e310dbc59f508fa40c7edb8ceeb |
35 |
|
36 |
diff --git a/dev-libs/icu/files/icu-58.2-CVE-2017-7867.patch b/dev-libs/icu/files/icu-58.2-CVE-2017-7867.patch |
37 |
new file mode 100644 |
38 |
index 0000000..a34537b |
39 |
--- /dev/null |
40 |
+++ b/dev-libs/icu/files/icu-58.2-CVE-2017-7867.patch |
41 |
@@ -0,0 +1,155 @@ |
42 |
+Index: /trunk/icu4c/source/common/utext.cpp |
43 |
+=================================================================== |
44 |
+--- a/common/utext.cpp (revision 39670) |
45 |
++++ b/common/utext.cpp (revision 39671) |
46 |
+@@ -848,7 +848,13 @@ |
47 |
+ |
48 |
+ // Chunk size. |
49 |
+-// Must be less than 85, because of byte mapping from UChar indexes to native indexes. |
50 |
+-// Worst case is three native bytes to one UChar. (Supplemenaries are 4 native bytes |
51 |
+-// to two UChars.) |
52 |
++// Must be less than 42 (256/6), because of byte mapping from UChar indexes to native indexes. |
53 |
++// Worst case there are six UTF-8 bytes per UChar. |
54 |
++// obsolete 6 byte form fd + 5 trails maps to fffd |
55 |
++// obsolete 5 byte form fc + 4 trails maps to fffd |
56 |
++// non-shortest 4 byte forms maps to fffd |
57 |
++// normal supplementaries map to a pair of utf-16, two utf8 bytes per utf-16 unit |
58 |
++// mapToUChars array size must allow for the worst case, 6. |
59 |
++// This could be brought down to 4, by treating fd and fc as pure illegal, |
60 |
++// rather than obsolete lead bytes. But that is not compatible with the utf-8 access macros. |
61 |
+ // |
62 |
+ enum { UTF8_TEXT_CHUNK_SIZE=32 }; |
63 |
+@@ -890,5 +896,5 @@ |
64 |
+ // one for a supplementary starting in the last normal position, |
65 |
+ // and one for an entry for the buffer limit position. |
66 |
+- uint8_t mapToUChars[UTF8_TEXT_CHUNK_SIZE*3+6]; // Map native offset from bufNativeStart to |
67 |
++ uint8_t mapToUChars[UTF8_TEXT_CHUNK_SIZE*6+6]; // Map native offset from bufNativeStart to |
68 |
+ // correspoding offset in filled part of buf. |
69 |
+ int32_t align; |
70 |
+@@ -1033,4 +1039,5 @@ |
71 |
+ u8b = (UTF8Buf *)ut->p; // the current buffer |
72 |
+ mapIndex = ix - u8b->toUCharsMapStart; |
73 |
++ U_ASSERT(mapIndex < (int32_t)sizeof(UTF8Buf::mapToUChars)); |
74 |
+ ut->chunkOffset = u8b->mapToUChars[mapIndex] - u8b->bufStartIdx; |
75 |
+ return TRUE; |
76 |
+@@ -1299,4 +1306,8 @@ |
77 |
+ // If index is at the end, there is no character there to look at. |
78 |
+ if (ix != ut->b) { |
79 |
++ // Note: this function will only move the index back if it is on a trail byte |
80 |
++ // and there is a preceding lead byte and the sequence from the lead |
81 |
++ // through this trail could be part of a valid UTF-8 sequence |
82 |
++ // Otherwise the index remains unchanged. |
83 |
+ U8_SET_CP_START(s8, 0, ix); |
84 |
+ } |
85 |
+@@ -1312,5 +1323,8 @@ |
86 |
+ uint8_t *mapToNative = u8b->mapToNative; |
87 |
+ uint8_t *mapToUChars = u8b->mapToUChars; |
88 |
+- int32_t toUCharsMapStart = ix - (UTF8_TEXT_CHUNK_SIZE*3 + 1); |
89 |
++ int32_t toUCharsMapStart = ix - sizeof(UTF8Buf::mapToUChars) + 1; |
90 |
++ // Note that toUCharsMapStart can be negative. Happens when the remaining |
91 |
++ // text from current position to the beginning is less than the buffer size. |
92 |
++ // + 1 because mapToUChars must have a slot at the end for the bufNativeLimit entry. |
93 |
+ int32_t destIx = UTF8_TEXT_CHUNK_SIZE+2; // Start in the overflow region |
94 |
+ // at end of buffer to leave room |
95 |
+@@ -1339,4 +1353,5 @@ |
96 |
+ // Special case ASCII range for speed. |
97 |
+ buf[destIx] = (UChar)c; |
98 |
++ U_ASSERT(toUCharsMapStart <= srcIx); |
99 |
+ mapToUChars[srcIx - toUCharsMapStart] = (uint8_t)destIx; |
100 |
+ mapToNative[destIx] = (uint8_t)(srcIx - toUCharsMapStart); |
101 |
+@@ -1368,4 +1383,5 @@ |
102 |
+ mapToUChars[sIx-- - toUCharsMapStart] = (uint8_t)destIx; |
103 |
+ } while (sIx >= srcIx); |
104 |
++ U_ASSERT(toUCharsMapStart <= (srcIx+1)); |
105 |
+ |
106 |
+ // Set native indexing limit to be the current position. |
107 |
+@@ -1542,4 +1558,5 @@ |
108 |
+ U_ASSERT(index<=ut->chunkNativeLimit); |
109 |
+ int32_t mapIndex = index - u8b->toUCharsMapStart; |
110 |
++ U_ASSERT(mapIndex < (int32_t)sizeof(UTF8Buf::mapToUChars)); |
111 |
+ int32_t offset = u8b->mapToUChars[mapIndex] - u8b->bufStartIdx; |
112 |
+ U_ASSERT(offset>=0 && offset<=ut->chunkLength); |
113 |
+Index: /trunk/icu4c/source/test/intltest/utxttest.cpp |
114 |
+=================================================================== |
115 |
+--- a/test/intltest/utxttest.cpp (revision 39670) |
116 |
++++ b/test/intltest/utxttest.cpp (revision 39671) |
117 |
+@@ -68,4 +68,6 @@ |
118 |
+ case 7: name = "Ticket12130"; |
119 |
+ if (exec) Ticket12130(); break; |
120 |
++ case 8: name = "Ticket12888"; |
121 |
++ if (exec) Ticket12888(); break; |
122 |
+ default: name = ""; break; |
123 |
+ } |
124 |
+@@ -1584,2 +1586,62 @@ |
125 |
+ utext_close(&ut); |
126 |
+ } |
127 |
++ |
128 |
++// Ticket 12888: bad handling of illegal utf-8 containing many instances of the archaic, now illegal, |
129 |
++// six byte utf-8 forms. Original implementation had an assumption that |
130 |
++// there would be at most three utf-8 bytes per UTF-16 code unit. |
131 |
++// The five and six byte sequences map to a single replacement character. |
132 |
++ |
133 |
++void UTextTest::Ticket12888() { |
134 |
++ const char *badString = |
135 |
++ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
136 |
++ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
137 |
++ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
138 |
++ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
139 |
++ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
140 |
++ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
141 |
++ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
142 |
++ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
143 |
++ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
144 |
++ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
145 |
++ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
146 |
++ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
147 |
++ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
148 |
++ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
149 |
++ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
150 |
++ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
151 |
++ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
152 |
++ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
153 |
++ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
154 |
++ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"; |
155 |
++ |
156 |
++ UErrorCode status = U_ZERO_ERROR; |
157 |
++ LocalUTextPointer ut(utext_openUTF8(NULL, badString, -1, &status)); |
158 |
++ TEST_SUCCESS(status); |
159 |
++ for (;;) { |
160 |
++ UChar32 c = utext_next32(ut.getAlias()); |
161 |
++ if (c == U_SENTINEL) { |
162 |
++ break; |
163 |
++ } |
164 |
++ } |
165 |
++ int32_t endIdx = utext_getNativeIndex(ut.getAlias()); |
166 |
++ if (endIdx != (int32_t)strlen(badString)) { |
167 |
++ errln("%s:%d expected=%d, actual=%d", __FILE__, __LINE__, strlen(badString), endIdx); |
168 |
++ return; |
169 |
++ } |
170 |
++ |
171 |
++ for (int32_t prevIndex = endIdx; prevIndex>0;) { |
172 |
++ UChar32 c = utext_previous32(ut.getAlias()); |
173 |
++ int32_t currentIndex = utext_getNativeIndex(ut.getAlias()); |
174 |
++ if (c != 0xfffd) { |
175 |
++ errln("%s:%d (expected, actual, index) = (%d, %d, %d)\n", |
176 |
++ __FILE__, __LINE__, 0xfffd, c, currentIndex); |
177 |
++ break; |
178 |
++ } |
179 |
++ if (currentIndex != prevIndex - 6) { |
180 |
++ errln("%s:%d: wrong index. Expected, actual = %d, %d", |
181 |
++ __FILE__, __LINE__, prevIndex - 6, currentIndex); |
182 |
++ break; |
183 |
++ } |
184 |
++ prevIndex = currentIndex; |
185 |
++ } |
186 |
++} |
187 |
+Index: /trunk/icu4c/source/test/intltest/utxttest.h |
188 |
+=================================================================== |
189 |
+--- a/test/intltest/utxttest.h (revision 39670) |
190 |
++++ b/test/intltest/utxttest.h (revision 39671) |
191 |
+@@ -39,4 +39,5 @@ |
192 |
+ void Ticket10983(); |
193 |
+ void Ticket12130(); |
194 |
++ void Ticket12888(); |
195 |
+ |
196 |
+ private: |
197 |
|
198 |
diff --git a/dev-libs/icu/icu-58.1-r1.ebuild b/dev-libs/icu/icu-58.1-r1.ebuild |
199 |
index c6700f9..d49d557 100644 |
200 |
--- a/dev-libs/icu/icu-58.1-r1.ebuild |
201 |
+++ b/dev-libs/icu/icu-58.1-r1.ebuild |
202 |
@@ -1,6 +1,5 @@ |
203 |
-# Copyright 1999-2016 Gentoo Foundation |
204 |
+# Copyright 1999-2017 Gentoo Foundation |
205 |
# Distributed under the terms of the GNU General Public License v2 |
206 |
-# $Id$ |
207 |
|
208 |
EAPI=6 |
209 |
|
210 |
@@ -14,7 +13,7 @@ LICENSE="BSD" |
211 |
|
212 |
SLOT="0/${PV}" |
213 |
|
214 |
-KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~m68k ~mips ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd" |
215 |
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd" |
216 |
IUSE="debug doc examples static-libs" |
217 |
|
218 |
DEPEND=" |
219 |
@@ -36,6 +35,15 @@ PATCHES=( |
220 |
"${FILESDIR}/${PN}-58.1-no-xlocale.patch" |
221 |
) |
222 |
|
223 |
+pkg_pretend() { |
224 |
+ if tc-is-gcc ; then |
225 |
+ if [[ $(gcc-major-version) == 4 && $(gcc-minor-version) -lt 9 \ |
226 |
+ || $(gcc-major-version) -lt 4 ]] ; then |
227 |
+ die "You need at least sys-devel/gcc-4.9" |
228 |
+ fi |
229 |
+ fi |
230 |
+} |
231 |
+ |
232 |
src_prepare() { |
233 |
# apply patches |
234 |
default |
235 |
@@ -64,6 +72,13 @@ src_configure() { |
236 |
# Use C++14 |
237 |
append-cxxflags -std=c++14 |
238 |
|
239 |
+ if tc-is-gcc ; then |
240 |
+ if [[ $(gcc-major-version) == 4 && $(gcc-minor-version) -lt 9 \ |
241 |
+ || $(gcc-major-version) -lt 4 ]] ; then |
242 |
+ die "You need at least sys-devel/gcc-4.9" |
243 |
+ fi |
244 |
+ fi |
245 |
+ |
246 |
if tc-is-cross-compiler; then |
247 |
mkdir "${WORKDIR}"/host || die |
248 |
pushd "${WORKDIR}"/host >/dev/null || die |
249 |
|
250 |
diff --git a/dev-libs/icu/icu-58.2.ebuild b/dev-libs/icu/icu-58.2-r1.ebuild |
251 |
similarity index 86% |
252 |
copy from dev-libs/icu/icu-58.2.ebuild |
253 |
copy to dev-libs/icu/icu-58.2-r1.ebuild |
254 |
index 86c8276..21e2004 100644 |
255 |
--- a/dev-libs/icu/icu-58.2.ebuild |
256 |
+++ b/dev-libs/icu/icu-58.2-r1.ebuild |
257 |
@@ -1,6 +1,5 @@ |
258 |
-# Copyright 1999-2016 Gentoo Foundation |
259 |
+# Copyright 1999-2017 Gentoo Foundation |
260 |
# Distributed under the terms of the GNU General Public License v2 |
261 |
-# $Id$ |
262 |
|
263 |
EAPI=6 |
264 |
|
265 |
@@ -33,9 +32,19 @@ MULTILIB_CHOST_TOOLS=( |
266 |
PATCHES=( |
267 |
"${FILESDIR}/${PN}-58.1-remove-bashisms.patch" |
268 |
"${FILESDIR}/${PN}-58.1-iterator.patch" |
269 |
+ "${FILESDIR}/${PN}-58.2-CVE-2017-7867.patch" |
270 |
"${FILESDIR}/${PN}-58.2-no-xlocale.patch" |
271 |
) |
272 |
|
273 |
+pkg_pretend() { |
274 |
+ if tc-is-gcc ; then |
275 |
+ if [[ $(gcc-major-version) == 4 && $(gcc-minor-version) -lt 9 \ |
276 |
+ || $(gcc-major-version) -lt 4 ]] ; then |
277 |
+ die "You need at least sys-devel/gcc-4.9" |
278 |
+ fi |
279 |
+ fi |
280 |
+} |
281 |
+ |
282 |
src_prepare() { |
283 |
# apply patches |
284 |
default |
285 |
@@ -64,6 +73,13 @@ src_configure() { |
286 |
# Use C++14 |
287 |
append-cxxflags -std=c++14 |
288 |
|
289 |
+ if tc-is-gcc ; then |
290 |
+ if [[ $(gcc-major-version) == 4 && $(gcc-minor-version) -lt 9 \ |
291 |
+ || $(gcc-major-version) -lt 4 ]] ; then |
292 |
+ die "You need at least sys-devel/gcc-4.9" |
293 |
+ fi |
294 |
+ fi |
295 |
+ |
296 |
if tc-is-cross-compiler; then |
297 |
mkdir "${WORKDIR}"/host || die |
298 |
pushd "${WORKDIR}"/host >/dev/null || die |
299 |
|
300 |
diff --git a/dev-libs/icu/icu-58.2.ebuild b/dev-libs/icu/icu-58.2.ebuild |
301 |
index 86c8276..4eaa113 100644 |
302 |
--- a/dev-libs/icu/icu-58.2.ebuild |
303 |
+++ b/dev-libs/icu/icu-58.2.ebuild |
304 |
@@ -1,6 +1,5 @@ |
305 |
-# Copyright 1999-2016 Gentoo Foundation |
306 |
+# Copyright 1999-2017 Gentoo Foundation |
307 |
# Distributed under the terms of the GNU General Public License v2 |
308 |
-# $Id$ |
309 |
|
310 |
EAPI=6 |
311 |
|
312 |
@@ -36,6 +35,15 @@ PATCHES=( |
313 |
"${FILESDIR}/${PN}-58.2-no-xlocale.patch" |
314 |
) |
315 |
|
316 |
+pkg_pretend() { |
317 |
+ if tc-is-gcc ; then |
318 |
+ if [[ $(gcc-major-version) == 4 && $(gcc-minor-version) -lt 9 \ |
319 |
+ || $(gcc-major-version) -lt 4 ]] ; then |
320 |
+ die "You need at least sys-devel/gcc-4.9" |
321 |
+ fi |
322 |
+ fi |
323 |
+} |
324 |
+ |
325 |
src_prepare() { |
326 |
# apply patches |
327 |
default |
328 |
@@ -64,6 +72,13 @@ src_configure() { |
329 |
# Use C++14 |
330 |
append-cxxflags -std=c++14 |
331 |
|
332 |
+ if tc-is-gcc ; then |
333 |
+ if [[ $(gcc-major-version) == 4 && $(gcc-minor-version) -lt 9 \ |
334 |
+ || $(gcc-major-version) -lt 4 ]] ; then |
335 |
+ die "You need at least sys-devel/gcc-4.9" |
336 |
+ fi |
337 |
+ fi |
338 |
+ |
339 |
if tc-is-cross-compiler; then |
340 |
mkdir "${WORKDIR}"/host || die |
341 |
pushd "${WORKDIR}"/host >/dev/null || die |