1 |
commit: 99bf853e60a2ae531eadd00a80a6fdef845c3f33 |
2 |
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Jun 27 09:14:35 2019 +0000 |
4 |
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Jun 27 10:47:27 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=99bf853e |
7 |
|
8 |
dev-libs/icu: Drop 58.2-r1, security cleanup |
9 |
|
10 |
Bug: https://bugs.gentoo.org/670456 |
11 |
Package-Manager: Portage-2.3.67, Repoman-2.3.16 |
12 |
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org> |
13 |
|
14 |
dev-libs/icu/Manifest | 1 - |
15 |
dev-libs/icu/files/icu-58.1-iterator.patch | 127 ----------------- |
16 |
dev-libs/icu/files/icu-58.2-CVE-2017-7867.patch | 155 --------------------- |
17 |
dev-libs/icu/files/icu-58.2-darwin.patch | 55 -------- |
18 |
dev-libs/icu/files/icu-58.2-glibc226.patch | 16 --- |
19 |
dev-libs/icu/icu-58.2-r1.ebuild | 172 ------------------------ |
20 |
6 files changed, 526 deletions(-) |
21 |
|
22 |
diff --git a/dev-libs/icu/Manifest b/dev-libs/icu/Manifest |
23 |
index efaf4e9e515..8e3d05e0d4d 100644 |
24 |
--- a/dev-libs/icu/Manifest |
25 |
+++ b/dev-libs/icu/Manifest |
26 |
@@ -1,2 +1 @@ |
27 |
-DIST icu4c-58_2-src.tgz 23369902 BLAKE2B cdd2e02c3aba050f5b7f8b38c5a3731e3e5f1cc1403ef86a50908b95560ea3cf8a2d47119fa60cf34f22a8b65eaa2392fd5bcbd3bc48b3da541fe3d9bd7392c0 SHA512 5c21af748f48b392e6c0412bd0aee92162ea931820dcbfab4ec6e0299868504b303d88f7586cc95de55c777ac0dca3a29d6c8ca0892c646ebc864c8a5b5a162a |
28 |
DIST icu4c-64_2-src.tgz 24013250 BLAKE2B 4a286e7a952f5faa74d942f6b6a73147a46aa10fe6d54d024e2d18d1e01056444d56118ded04b4fe084d6a0f9058d7d9e76973960ac8fe5bd9ee105d9e214318 SHA512 5ecb4c230ba45918747a1cf9aef86f555aa07d5b29b1d07ab674e8013f46dfb907a0e9d6945db41155f9dc3012fd94e1152ffc19f61a68b6dfcbabdcb8ae9d78 |
29 |
|
30 |
diff --git a/dev-libs/icu/files/icu-58.1-iterator.patch b/dev-libs/icu/files/icu-58.1-iterator.patch |
31 |
deleted file mode 100644 |
32 |
index 6f52375eb79..00000000000 |
33 |
--- a/dev-libs/icu/files/icu-58.1-iterator.patch |
34 |
+++ /dev/null |
35 |
@@ -1,127 +0,0 @@ |
36 |
-source: http://bugs.icu-project.org/trac/changeset/39484/ |
37 |
- |
38 |
- |
39 |
-Index: icu/common/ulist.c |
40 |
-=================================================================== |
41 |
---- icu/common/ulist.c (revision 39483) |
42 |
-+++ icu/common/ulist.c (revision 39484) |
43 |
-@@ -30,5 +30,4 @@ |
44 |
- |
45 |
- int32_t size; |
46 |
-- int32_t currentIndex; |
47 |
- }; |
48 |
- |
49 |
-@@ -52,5 +51,4 @@ |
50 |
- newList->tail = NULL; |
51 |
- newList->size = 0; |
52 |
-- newList->currentIndex = -1; |
53 |
- |
54 |
- return newList; |
55 |
-@@ -81,6 +79,7 @@ |
56 |
- p->next->previous = p->previous; |
57 |
- } |
58 |
-- list->curr = NULL; |
59 |
-- list->currentIndex = 0; |
60 |
-+ if (p == list->curr) { |
61 |
-+ list->curr = p->next; |
62 |
-+ } |
63 |
- --list->size; |
64 |
- if (p->forceDelete) { |
65 |
-@@ -151,5 +150,4 @@ |
66 |
- list->head->previous = newItem; |
67 |
- list->head = newItem; |
68 |
-- list->currentIndex++; |
69 |
- } |
70 |
- |
71 |
-@@ -194,5 +192,4 @@ |
72 |
- curr = list->curr; |
73 |
- list->curr = curr->next; |
74 |
-- list->currentIndex++; |
75 |
- |
76 |
- return curr->data; |
77 |
-@@ -210,5 +207,4 @@ |
78 |
- if (list != NULL) { |
79 |
- list->curr = list->head; |
80 |
-- list->currentIndex = 0; |
81 |
- } |
82 |
- } |
83 |
-@@ -273,3 +269,2 @@ |
84 |
- return (UList *)(en->context); |
85 |
- } |
86 |
-- |
87 |
-Index: icu/i18n/ucol_res.cpp |
88 |
-=================================================================== |
89 |
---- icu/i18n/ucol_res.cpp (revision 39483) |
90 |
-+++ icu/i18n/ucol_res.cpp (revision 39484) |
91 |
-@@ -681,4 +681,5 @@ |
92 |
- } |
93 |
- memcpy(en, &defaultKeywordValues, sizeof(UEnumeration)); |
94 |
-+ ulist_resetList(sink.values); // Initialize the iterator. |
95 |
- en->context = sink.values; |
96 |
- sink.values = NULL; // Avoid deletion in the sink destructor. |
97 |
-Index: icu/test/intltest/apicoll.cpp |
98 |
-=================================================================== |
99 |
---- icu/test/intltest/apicoll.cpp (revision 39483) |
100 |
-+++ icu/test/intltest/apicoll.cpp (revision 39484) |
101 |
-@@ -82,14 +82,7 @@ |
102 |
- col = Collator::createInstance(Locale::getEnglish(), success); |
103 |
- if (U_FAILURE(success)){ |
104 |
-- errcheckln(success, "Default Collator creation failed. - %s", u_errorName(success)); |
105 |
-- return; |
106 |
-- } |
107 |
-- |
108 |
-- StringEnumeration* kwEnum = col->getKeywordValuesForLocale("", Locale::getEnglish(),true,success); |
109 |
-- if (U_FAILURE(success)){ |
110 |
-- errcheckln(success, "Get Keyword Values for Locale failed. - %s", u_errorName(success)); |
111 |
-- return; |
112 |
-- } |
113 |
-- delete kwEnum; |
114 |
-+ errcheckln(success, "English Collator creation failed. - %s", u_errorName(success)); |
115 |
-+ return; |
116 |
-+ } |
117 |
- |
118 |
- col->getVersion(versionArray); |
119 |
-@@ -230,4 +223,27 @@ |
120 |
- delete aFrCol; |
121 |
- delete junk; |
122 |
-+} |
123 |
-+ |
124 |
-+void CollationAPITest::TestKeywordValues() { |
125 |
-+ IcuTestErrorCode errorCode(*this, "TestKeywordValues"); |
126 |
-+ LocalPointer<Collator> col(Collator::createInstance(Locale::getEnglish(), errorCode)); |
127 |
-+ if (errorCode.logIfFailureAndReset("English Collator creation failed")) { |
128 |
-+ return; |
129 |
-+ } |
130 |
-+ |
131 |
-+ LocalPointer<StringEnumeration> kwEnum( |
132 |
-+ col->getKeywordValuesForLocale("collation", Locale::getEnglish(), TRUE, errorCode)); |
133 |
-+ if (errorCode.logIfFailureAndReset("Get Keyword Values for English Collator failed")) { |
134 |
-+ return; |
135 |
-+ } |
136 |
-+ assertTrue("expect at least one collation tailoring for English", kwEnum->count(errorCode) > 0); |
137 |
-+ const char *kw; |
138 |
-+ UBool hasStandard = FALSE; |
139 |
-+ while ((kw = kwEnum->next(NULL, errorCode)) != NULL) { |
140 |
-+ if (strcmp(kw, "standard") == 0) { |
141 |
-+ hasStandard = TRUE; |
142 |
-+ } |
143 |
-+ } |
144 |
-+ assertTrue("expect at least the 'standard' collation tailoring for English", hasStandard); |
145 |
- } |
146 |
- |
147 |
-@@ -2467,4 +2483,5 @@ |
148 |
- TESTCASE_AUTO_BEGIN; |
149 |
- TESTCASE_AUTO(TestProperty); |
150 |
-+ TESTCASE_AUTO(TestKeywordValues); |
151 |
- TESTCASE_AUTO(TestOperators); |
152 |
- TESTCASE_AUTO(TestDuplicate); |
153 |
-Index: icu/test/intltest/apicoll.h |
154 |
-=================================================================== |
155 |
---- icu/test/intltest/apicoll.h (revision 39483) |
156 |
-+++ icu/test/intltest/apicoll.h (revision 39484) |
157 |
-@@ -36,4 +36,5 @@ |
158 |
- */ |
159 |
- void TestProperty(/* char* par */); |
160 |
-+ void TestKeywordValues(); |
161 |
- |
162 |
- /** |
163 |
|
164 |
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 |
165 |
deleted file mode 100644 |
166 |
index a34537bb6cb..00000000000 |
167 |
--- a/dev-libs/icu/files/icu-58.2-CVE-2017-7867.patch |
168 |
+++ /dev/null |
169 |
@@ -1,155 +0,0 @@ |
170 |
-Index: /trunk/icu4c/source/common/utext.cpp |
171 |
-=================================================================== |
172 |
---- a/common/utext.cpp (revision 39670) |
173 |
-+++ b/common/utext.cpp (revision 39671) |
174 |
-@@ -848,7 +848,13 @@ |
175 |
- |
176 |
- // Chunk size. |
177 |
--// Must be less than 85, because of byte mapping from UChar indexes to native indexes. |
178 |
--// Worst case is three native bytes to one UChar. (Supplemenaries are 4 native bytes |
179 |
--// to two UChars.) |
180 |
-+// Must be less than 42 (256/6), because of byte mapping from UChar indexes to native indexes. |
181 |
-+// Worst case there are six UTF-8 bytes per UChar. |
182 |
-+// obsolete 6 byte form fd + 5 trails maps to fffd |
183 |
-+// obsolete 5 byte form fc + 4 trails maps to fffd |
184 |
-+// non-shortest 4 byte forms maps to fffd |
185 |
-+// normal supplementaries map to a pair of utf-16, two utf8 bytes per utf-16 unit |
186 |
-+// mapToUChars array size must allow for the worst case, 6. |
187 |
-+// This could be brought down to 4, by treating fd and fc as pure illegal, |
188 |
-+// rather than obsolete lead bytes. But that is not compatible with the utf-8 access macros. |
189 |
- // |
190 |
- enum { UTF8_TEXT_CHUNK_SIZE=32 }; |
191 |
-@@ -890,5 +896,5 @@ |
192 |
- // one for a supplementary starting in the last normal position, |
193 |
- // and one for an entry for the buffer limit position. |
194 |
-- uint8_t mapToUChars[UTF8_TEXT_CHUNK_SIZE*3+6]; // Map native offset from bufNativeStart to |
195 |
-+ uint8_t mapToUChars[UTF8_TEXT_CHUNK_SIZE*6+6]; // Map native offset from bufNativeStart to |
196 |
- // correspoding offset in filled part of buf. |
197 |
- int32_t align; |
198 |
-@@ -1033,4 +1039,5 @@ |
199 |
- u8b = (UTF8Buf *)ut->p; // the current buffer |
200 |
- mapIndex = ix - u8b->toUCharsMapStart; |
201 |
-+ U_ASSERT(mapIndex < (int32_t)sizeof(UTF8Buf::mapToUChars)); |
202 |
- ut->chunkOffset = u8b->mapToUChars[mapIndex] - u8b->bufStartIdx; |
203 |
- return TRUE; |
204 |
-@@ -1299,4 +1306,8 @@ |
205 |
- // If index is at the end, there is no character there to look at. |
206 |
- if (ix != ut->b) { |
207 |
-+ // Note: this function will only move the index back if it is on a trail byte |
208 |
-+ // and there is a preceding lead byte and the sequence from the lead |
209 |
-+ // through this trail could be part of a valid UTF-8 sequence |
210 |
-+ // Otherwise the index remains unchanged. |
211 |
- U8_SET_CP_START(s8, 0, ix); |
212 |
- } |
213 |
-@@ -1312,5 +1323,8 @@ |
214 |
- uint8_t *mapToNative = u8b->mapToNative; |
215 |
- uint8_t *mapToUChars = u8b->mapToUChars; |
216 |
-- int32_t toUCharsMapStart = ix - (UTF8_TEXT_CHUNK_SIZE*3 + 1); |
217 |
-+ int32_t toUCharsMapStart = ix - sizeof(UTF8Buf::mapToUChars) + 1; |
218 |
-+ // Note that toUCharsMapStart can be negative. Happens when the remaining |
219 |
-+ // text from current position to the beginning is less than the buffer size. |
220 |
-+ // + 1 because mapToUChars must have a slot at the end for the bufNativeLimit entry. |
221 |
- int32_t destIx = UTF8_TEXT_CHUNK_SIZE+2; // Start in the overflow region |
222 |
- // at end of buffer to leave room |
223 |
-@@ -1339,4 +1353,5 @@ |
224 |
- // Special case ASCII range for speed. |
225 |
- buf[destIx] = (UChar)c; |
226 |
-+ U_ASSERT(toUCharsMapStart <= srcIx); |
227 |
- mapToUChars[srcIx - toUCharsMapStart] = (uint8_t)destIx; |
228 |
- mapToNative[destIx] = (uint8_t)(srcIx - toUCharsMapStart); |
229 |
-@@ -1368,4 +1383,5 @@ |
230 |
- mapToUChars[sIx-- - toUCharsMapStart] = (uint8_t)destIx; |
231 |
- } while (sIx >= srcIx); |
232 |
-+ U_ASSERT(toUCharsMapStart <= (srcIx+1)); |
233 |
- |
234 |
- // Set native indexing limit to be the current position. |
235 |
-@@ -1542,4 +1558,5 @@ |
236 |
- U_ASSERT(index<=ut->chunkNativeLimit); |
237 |
- int32_t mapIndex = index - u8b->toUCharsMapStart; |
238 |
-+ U_ASSERT(mapIndex < (int32_t)sizeof(UTF8Buf::mapToUChars)); |
239 |
- int32_t offset = u8b->mapToUChars[mapIndex] - u8b->bufStartIdx; |
240 |
- U_ASSERT(offset>=0 && offset<=ut->chunkLength); |
241 |
-Index: /trunk/icu4c/source/test/intltest/utxttest.cpp |
242 |
-=================================================================== |
243 |
---- a/test/intltest/utxttest.cpp (revision 39670) |
244 |
-+++ b/test/intltest/utxttest.cpp (revision 39671) |
245 |
-@@ -68,4 +68,6 @@ |
246 |
- case 7: name = "Ticket12130"; |
247 |
- if (exec) Ticket12130(); break; |
248 |
-+ case 8: name = "Ticket12888"; |
249 |
-+ if (exec) Ticket12888(); break; |
250 |
- default: name = ""; break; |
251 |
- } |
252 |
-@@ -1584,2 +1586,62 @@ |
253 |
- utext_close(&ut); |
254 |
- } |
255 |
-+ |
256 |
-+// Ticket 12888: bad handling of illegal utf-8 containing many instances of the archaic, now illegal, |
257 |
-+// six byte utf-8 forms. Original implementation had an assumption that |
258 |
-+// there would be at most three utf-8 bytes per UTF-16 code unit. |
259 |
-+// The five and six byte sequences map to a single replacement character. |
260 |
-+ |
261 |
-+void UTextTest::Ticket12888() { |
262 |
-+ const char *badString = |
263 |
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
264 |
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
265 |
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
266 |
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
267 |
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
268 |
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
269 |
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
270 |
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
271 |
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
272 |
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
273 |
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
274 |
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
275 |
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
276 |
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
277 |
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
278 |
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
279 |
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
280 |
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
281 |
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80" |
282 |
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"; |
283 |
-+ |
284 |
-+ UErrorCode status = U_ZERO_ERROR; |
285 |
-+ LocalUTextPointer ut(utext_openUTF8(NULL, badString, -1, &status)); |
286 |
-+ TEST_SUCCESS(status); |
287 |
-+ for (;;) { |
288 |
-+ UChar32 c = utext_next32(ut.getAlias()); |
289 |
-+ if (c == U_SENTINEL) { |
290 |
-+ break; |
291 |
-+ } |
292 |
-+ } |
293 |
-+ int32_t endIdx = utext_getNativeIndex(ut.getAlias()); |
294 |
-+ if (endIdx != (int32_t)strlen(badString)) { |
295 |
-+ errln("%s:%d expected=%d, actual=%d", __FILE__, __LINE__, strlen(badString), endIdx); |
296 |
-+ return; |
297 |
-+ } |
298 |
-+ |
299 |
-+ for (int32_t prevIndex = endIdx; prevIndex>0;) { |
300 |
-+ UChar32 c = utext_previous32(ut.getAlias()); |
301 |
-+ int32_t currentIndex = utext_getNativeIndex(ut.getAlias()); |
302 |
-+ if (c != 0xfffd) { |
303 |
-+ errln("%s:%d (expected, actual, index) = (%d, %d, %d)\n", |
304 |
-+ __FILE__, __LINE__, 0xfffd, c, currentIndex); |
305 |
-+ break; |
306 |
-+ } |
307 |
-+ if (currentIndex != prevIndex - 6) { |
308 |
-+ errln("%s:%d: wrong index. Expected, actual = %d, %d", |
309 |
-+ __FILE__, __LINE__, prevIndex - 6, currentIndex); |
310 |
-+ break; |
311 |
-+ } |
312 |
-+ prevIndex = currentIndex; |
313 |
-+ } |
314 |
-+} |
315 |
-Index: /trunk/icu4c/source/test/intltest/utxttest.h |
316 |
-=================================================================== |
317 |
---- a/test/intltest/utxttest.h (revision 39670) |
318 |
-+++ b/test/intltest/utxttest.h (revision 39671) |
319 |
-@@ -39,4 +39,5 @@ |
320 |
- void Ticket10983(); |
321 |
- void Ticket12130(); |
322 |
-+ void Ticket12888(); |
323 |
- |
324 |
- private: |
325 |
|
326 |
diff --git a/dev-libs/icu/files/icu-58.2-darwin.patch b/dev-libs/icu/files/icu-58.2-darwin.patch |
327 |
deleted file mode 100644 |
328 |
index e5a9000a346..00000000000 |
329 |
--- a/dev-libs/icu/files/icu-58.2-darwin.patch |
330 |
+++ /dev/null |
331 |
@@ -1,55 +0,0 @@ |
332 |
-same as 4.7, but retargetted to apply with eapply |
333 |
- |
334 |
---- a/config/mh-darwin |
335 |
-+++ b/config/mh-darwin |
336 |
-@@ -4,6 +4,13 @@ |
337 |
- ## Copyright (c) 1999-2011 International Business Machines Corporation and |
338 |
- ## others. All Rights Reserved. |
339 |
- |
340 |
-+ |
341 |
-+SO_TARGET = $(LIBDIR)/$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO) |
342 |
-+FINAL_SO_TARGET = $(LIBDIR)/$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO_TARGET_VERSION).$(SO) |
343 |
-+MIDDLE_SO_TARGET = $(LIBDIR)/$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO_TARGET_VERSION_MAJOR).$(SO) |
344 |
-+ |
345 |
-+IS_DARWIN = yes |
346 |
-+ |
347 |
- ## Flags for position independent code |
348 |
- SHAREDLIBCFLAGS = -dynamic |
349 |
- SHAREDLIBCXXFLAGS = -dynamic |
350 |
-@@ -28,7 +35,7 @@ |
351 |
- ifeq ($(ENABLE_RPATH),YES) |
352 |
- LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(libdir)/$(notdir $(MIDDLE_SO_TARGET)) |
353 |
- else |
354 |
--LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(notdir $(MIDDLE_SO_TARGET)) |
355 |
-+LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(libdir)/$(notdir $(MIDDLE_SO_TARGET)) |
356 |
- endif |
357 |
- |
358 |
- ## Compiler switch to embed a runtime search path |
359 |
---- a/stubdata/Makefile.in |
360 |
-+++ b/stubdata/Makefile.in |
361 |
-@@ -32,7 +32,11 @@ |
362 |
- |
363 |
- |
364 |
- ifneq ($(ENABLE_SHARED),) |
365 |
-+ifeq ($(IS_DARWIN),) |
366 |
- SO_TARGET = $(STUBDATA_LIBDIR)$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX)$(STUB_SUFFIX).$(SO) |
367 |
-+else |
368 |
-+SO_TARGET = $(LIBDIR)/$(STUBDATA_LIBDIR)$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX)$(STUB_SUFFIX).$(SO) |
369 |
-+endif |
370 |
- ALL_SO_TARGETS = $(FINAL_SO_TARGET) $(MIDDLE_SO_TARGET) $(SO_TARGET) $(BATCH_STUB_TARGET) $(SHARED_OBJECT) |
371 |
- endif |
372 |
- |
373 |
---- a/tools/ctestfw/Makefile.in |
374 |
-+++ b/tools/ctestfw/Makefile.in |
375 |
-@@ -31,7 +31,11 @@ |
376 |
- endif |
377 |
- |
378 |
- ifneq ($(ENABLE_SHARED),) |
379 |
-+ifeq ($(IS_DARWIN),) |
380 |
- SO_TARGET = $(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO) |
381 |
-+else |
382 |
-+SO_TARGET = $(LIBDIR)/$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO) |
383 |
-+endif |
384 |
- ALL_SO_TARGETS = $(SO_TARGET) $(MIDDLE_SO_TARGET) $(FINAL_SO_TARGET) $(SHARED_OBJECT) |
385 |
- endif |
386 |
- |
387 |
|
388 |
diff --git a/dev-libs/icu/files/icu-58.2-glibc226.patch b/dev-libs/icu/files/icu-58.2-glibc226.patch |
389 |
deleted file mode 100644 |
390 |
index 7003173a13f..00000000000 |
391 |
--- a/dev-libs/icu/files/icu-58.2-glibc226.patch |
392 |
+++ /dev/null |
393 |
@@ -1,16 +0,0 @@ |
394 |
-diff -ruN a/i18n/digitlst.cpp b/i18n/digitlst.cpp |
395 |
---- a/i18n/digitlst.cpp 2016-10-27 01:37:56.000000000 -0000 |
396 |
-+++ b/i18n/digitlst.cpp 2017-09-21 20:39:29.873030393 -0000 |
397 |
-@@ -61,11 +61,7 @@ |
398 |
- #endif |
399 |
- |
400 |
- #if U_USE_STRTOD_L |
401 |
--# if U_PLATFORM_USES_ONLY_WIN32_API || U_PLATFORM == U_PF_CYGWIN |
402 |
--# include <locale.h> |
403 |
--# else |
404 |
--# include <xlocale.h> |
405 |
--# endif |
406 |
-+# include <locale.h> |
407 |
- #endif |
408 |
- |
409 |
- // *************************************************************************** |
410 |
|
411 |
diff --git a/dev-libs/icu/icu-58.2-r1.ebuild b/dev-libs/icu/icu-58.2-r1.ebuild |
412 |
deleted file mode 100644 |
413 |
index cb2f808c5fc..00000000000 |
414 |
--- a/dev-libs/icu/icu-58.2-r1.ebuild |
415 |
+++ /dev/null |
416 |
@@ -1,172 +0,0 @@ |
417 |
-# Copyright 1999-2017 Gentoo Foundation |
418 |
-# Distributed under the terms of the GNU General Public License v2 |
419 |
- |
420 |
-EAPI=6 |
421 |
- |
422 |
-inherit eutils flag-o-matic toolchain-funcs autotools multilib-minimal |
423 |
- |
424 |
-DESCRIPTION="International Components for Unicode" |
425 |
-HOMEPAGE="http://www.icu-project.org/" |
426 |
-SRC_URI="http://download.icu-project.org/files/icu4c/${PV/_/}/icu4c-${PV//./_}-src.tgz" |
427 |
- |
428 |
-LICENSE="BSD" |
429 |
- |
430 |
-SLOT="0/${PV}" |
431 |
- |
432 |
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris ~x86-winnt" |
433 |
-IUSE="debug doc examples static-libs" |
434 |
- |
435 |
-DEPEND=" |
436 |
- virtual/pkgconfig |
437 |
- doc? ( |
438 |
- app-doc/doxygen[dot] |
439 |
- ) |
440 |
-" |
441 |
- |
442 |
-S="${WORKDIR}/${PN}/source" |
443 |
- |
444 |
-MULTILIB_CHOST_TOOLS=( |
445 |
- /usr/bin/icu-config |
446 |
-) |
447 |
- |
448 |
-PATCHES=( |
449 |
- "${FILESDIR}/${PN}-58.1-remove-bashisms.patch" |
450 |
- "${FILESDIR}/${PN}-58.1-iterator.patch" |
451 |
- "${FILESDIR}/${PN}-58.2-CVE-2017-7867.patch" |
452 |
- "${FILESDIR}/${PN}-58.2-glibc226.patch" |
453 |
- "${FILESDIR}/${PN}-58.2-darwin.patch" |
454 |
-) |
455 |
- |
456 |
-pkg_pretend() { |
457 |
- if tc-is-gcc ; then |
458 |
- if [[ $(gcc-major-version) == 4 && $(gcc-minor-version) -lt 9 \ |
459 |
- || $(gcc-major-version) -lt 4 ]] ; then |
460 |
- die "You need at least sys-devel/gcc-4.9" |
461 |
- fi |
462 |
- fi |
463 |
-} |
464 |
- |
465 |
-src_prepare() { |
466 |
- # apply patches |
467 |
- default |
468 |
- |
469 |
- local variable |
470 |
- |
471 |
- # Disable renaming as it is stupid thing to do |
472 |
- sed -i \ |
473 |
- -e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 1/" \ |
474 |
- common/unicode/uconfig.h || die |
475 |
- |
476 |
- # Fix linking of icudata |
477 |
- sed -i \ |
478 |
- -e "s:LDFLAGSICUDT=-nodefaultlibs -nostdlib:LDFLAGSICUDT=:" \ |
479 |
- config/mh-linux || die |
480 |
- |
481 |
- # Append doxygen configuration to configure |
482 |
- sed -i \ |
483 |
- -e 's:icudefs.mk:icudefs.mk Doxyfile:' \ |
484 |
- configure.ac || die |
485 |
- |
486 |
- # Fix compilation on Solaris due to enabling of conflicting standards |
487 |
- if [[ ${CHOST} == *-solaris* ]] ; then |
488 |
- sed -i -e '/define _XOPEN_SOURCE_EXTENDED/s/_XOPEN/no_XOPEN/' \ |
489 |
- common/uposixdefs.h || die |
490 |
- fi |
491 |
- |
492 |
- eautoreconf |
493 |
-} |
494 |
- |
495 |
-src_configure() { |
496 |
- # Use C++14 |
497 |
- append-cxxflags -std=c++14 |
498 |
- |
499 |
- if tc-is-gcc ; then |
500 |
- if [[ $(gcc-major-version) == 4 && $(gcc-minor-version) -lt 9 \ |
501 |
- || $(gcc-major-version) -lt 4 ]] ; then |
502 |
- die "You need at least sys-devel/gcc-4.9" |
503 |
- fi |
504 |
- fi |
505 |
- |
506 |
- if tc-is-cross-compiler; then |
507 |
- mkdir "${WORKDIR}"/host || die |
508 |
- pushd "${WORKDIR}"/host >/dev/null || die |
509 |
- |
510 |
- CFLAGS="" CXXFLAGS="" ASFLAGS="" LDFLAGS="" \ |
511 |
- CC="$(tc-getBUILD_CC)" CXX="$(tc-getBUILD_CXX)" AR="$(tc-getBUILD_AR)" \ |
512 |
- RANLIB="$(tc-getBUILD_RANLIB)" LD="$(tc-getBUILD_LD)" \ |
513 |
- "${S}"/configure --disable-renaming --disable-debug \ |
514 |
- --disable-samples --enable-static || die |
515 |
- emake |
516 |
- |
517 |
- popd >/dev/null || die |
518 |
- fi |
519 |
- |
520 |
- multilib-minimal_src_configure |
521 |
-} |
522 |
- |
523 |
-multilib_src_configure() { |
524 |
- local myeconfargs=( |
525 |
- --disable-renaming |
526 |
- --disable-samples |
527 |
- --disable-layoutex |
528 |
- $(use_enable debug) |
529 |
- $(use_enable static-libs static) |
530 |
- ) |
531 |
- |
532 |
- multilib_is_native_abi && myeconfargs+=( |
533 |
- $(use_enable examples samples) |
534 |
- ) |
535 |
- tc-is-cross-compiler && myeconfargs+=( |
536 |
- --with-cross-build="${WORKDIR}"/host |
537 |
- ) |
538 |
- |
539 |
- # icu tries to use clang by default |
540 |
- tc-export CC CXX |
541 |
- |
542 |
- # make sure we configure with the same shell as we run icu-config |
543 |
- # with, or ECHO_N, ECHO_T and ECHO_C will be wrongly defined |
544 |
- export CONFIG_SHELL=${EPREFIX}/bin/sh |
545 |
- # probably have no /bin/sh in prefix-chain |
546 |
- [[ -x ${CONFIG_SHELL} ]] || CONFIG_SHELL=${BASH} |
547 |
- |
548 |
- ECONF_SOURCE=${S} \ |
549 |
- econf "${myeconfargs[@]}" |
550 |
-} |
551 |
- |
552 |
-multilib_src_compile() { |
553 |
- default |
554 |
- |
555 |
- if multilib_is_native_abi && use doc; then |
556 |
- doxygen -u Doxyfile || die |
557 |
- doxygen Doxyfile || die |
558 |
- fi |
559 |
-} |
560 |
- |
561 |
-multilib_src_test() { |
562 |
- # INTLTEST_OPTS: intltest options |
563 |
- # -e: Exhaustive testing |
564 |
- # -l: Reporting of memory leaks |
565 |
- # -v: Increased verbosity |
566 |
- # IOTEST_OPTS: iotest options |
567 |
- # -e: Exhaustive testing |
568 |
- # -v: Increased verbosity |
569 |
- # CINTLTST_OPTS: cintltst options |
570 |
- # -e: Exhaustive testing |
571 |
- # -v: Increased verbosity |
572 |
- emake -j1 VERBOSE="1" check |
573 |
-} |
574 |
- |
575 |
-multilib_src_install() { |
576 |
- default |
577 |
- |
578 |
- if multilib_is_native_abi && use doc; then |
579 |
- docinto html |
580 |
- dodoc -r doc/html/* |
581 |
- fi |
582 |
-} |
583 |
- |
584 |
-multilib_src_install_all() { |
585 |
- einstalldocs |
586 |
- docinto html |
587 |
- dodoc ../readme.html |
588 |
-} |