OLD | NEW |
1 Name: icu | 1 Name: icu |
2 URL: http://site.icu-project.org/ | 2 URL: http://site.icu-project.org/ |
3 Version: 4.6 | 3 Version: 4.6 |
4 License: MIT | 4 License: MIT |
5 Security Critical: yes | 5 Security Critical: yes |
6 | 6 |
7 Description: | 7 Description: |
8 This directory contains the source code of ICU 4.6 for C/C++ | 8 This directory contains the source code of ICU 4.6 for C/C++ |
9 | 9 |
10 1. It was obtained with the following: | 10 1. It was obtained with the following: |
(...skipping 16 matching lines...) Expand all Loading... |
27 In case the file has to be updated you can do: | 27 In case the file has to be updated you can do: |
28 cd /home/ports/textproc/icu4c && make configure | 28 cd /home/ports/textproc/icu4c && make configure |
29 | 29 |
30 - Rename it to 'plinux.h', 'pfreebsd.h', 'popenbsd.h' and 'pmac.h' | 30 - Rename it to 'plinux.h', 'pfreebsd.h', 'popenbsd.h' and 'pmac.h' |
31 | 31 |
32 - Apply patches/pmach.h.patch on Mac to pmac.h | 32 - Apply patches/pmach.h.patch on Mac to pmac.h |
33 | 33 |
34 - On Android, the pandroid.h was generated by copying plinux.h to | 34 - On Android, the pandroid.h was generated by copying plinux.h to |
35 pandroid.h and applying the patches/pandroid.h.patch. | 35 pandroid.h and applying the patches/pandroid.h.patch. |
36 | 36 |
| 37 - For NaCl (icu_untrusted), the pnacl.h was generated by copying plinux.h to |
| 38 pnacl.h and applying the patches/pnacl.h.patch. |
| 39 |
37 - Apply the CL at https://codereview.chromium.org/15973007/ to plinux.h | 40 - Apply the CL at https://codereview.chromium.org/15973007/ to plinux.h |
38 | 41 |
39 3. The following directories were removed because they're not used by Chromium | 42 3. The following directories were removed because they're not used by Chromium |
40 at the moment: | 43 at the moment: |
41 as_is | 44 as_is |
42 packaging | 45 packaging |
43 source/extra | 46 source/extra |
44 source/sample | 47 source/sample |
45 source/layout | 48 source/layout |
46 source/layoutex | 49 source/layoutex |
47 | 50 |
48 | 51 |
49 4. The word breaking for Chinese and Japanese were modified to use a word | 52 4. The word breaking for Chinese and Japanese were modified to use a word |
50 frequency list with the following patch and cjdict.txt. | 53 frequency list with the following patch and cjdict.txt. |
51 | 54 |
52 - patches/segmentation.patch : | 55 - patches/segmentation.patch : |
53 Adds a dictionary (word-frequency)-based word breaking for CJK | 56 Adds a dictionary (word-frequency)-based word breaking for CJK |
54 (Korean is supported in the code, but it does not do anything | 57 (Korean is supported in the code, but it does not do anything |
55 because we don't have a Korean word-list.) | 58 because we don't have a Korean word-list.) |
56 | 59 |
57 - source/data/brkitr/cjdict.txt : | 60 - source/data/brkitr/cjdict.txt : |
58 Chinese and Japanese word frequency list. | 61 Chinese and Japanese word frequency list. |
59 See the file for license/copyright notice | 62 See the file for license/copyright notice |
60 | 63 |
61 - source/data/brkitr/cc_edict.txt : | 64 - source/data/brkitr/cc_edict.txt : |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
168 Because we removed layout and layoutex directories in step 3, | 171 Because we removed layout and layoutex directories in step 3, |
169 'runConfigureICU Linux' will fail even with '--disable-layout'. A | 172 'runConfigureICU Linux' will fail even with '--disable-layout'. A |
170 work-around is to have a copy of our icu tree in a separate build directory | 173 work-around is to have a copy of our icu tree in a separate build directory |
171 and add back directories we removed in step 3 before | 174 and add back directories we removed in step 3 before |
172 running 'runConfigure'. | 175 running 'runConfigure'. |
173 | 176 |
174 'make' will fail in the 1st pass. Copy source/data/in/coll/invuca.icu | 177 'make' will fail in the 1st pass. Copy source/data/in/coll/invuca.icu |
175 to {BUILD_DIR_ROOT}/data/out/build/icudt46l/coll and re-run 'make' | 178 to {BUILD_DIR_ROOT}/data/out/build/icudt46l/coll and re-run 'make' |
176 in {BUILD_DIR_ROOT}/data. | 179 in {BUILD_DIR_ROOT}/data. |
177 | 180 |
178 'make' will fail again when pkgdata looks for css3transform.res. Edit | 181 'make' will fail again when pkgdata looks for css3transform.res. Edit |
179 data/out/tmp/icudata.lst to replace 'css3transform.res' with 'root.res'. | 182 data/out/tmp/icudata.lst to replace 'css3transform.res' with 'root.res'. |
180 (see http://bugs.icu-project.org/trac/ticket/10570 ) and run 'make' again. | 183 (see http://bugs.icu-project.org/trac/ticket/10570 ) and run 'make' again. |
181 | 184 |
182 | 185 |
183 - source/data/in/icudtl.dat : Built on Linux with all the patches | 186 - source/data/in/icudtl.dat : Built on Linux with all the patches |
184 above applied. icudt46l.dat is generated in | 187 above applied. icudt46l.dat is generated in |
185 {BUILD_DIR_ROOT}/data/out/tmp and copied to the above location with a | 188 {BUILD_DIR_ROOT}/data/out/tmp and copied to the above location with a |
186 version number (46) dropped. | 189 version number (46) dropped. |
187 | 190 |
188 - windows/icudt.dll : With icudt46l.dat in place, all the patches applied | 191 - windows/icudt.dll : With icudt46l.dat in place, all the patches applied |
189 and header files moved (#11 below), generated by building icudt_build | 192 and header files moved (#11 below), generated by building icudt_build |
190 project of build/icudt_build.sln on Windows. icudt46.dll is | 193 project of build/icudt_build.sln on Windows. icudt46.dll is |
191 generated in bin/{Release,Debug} and copied to windows/icudt.dll | 194 generated in bin/{Release,Debug} and copied to windows/icudt.dll |
192 and checked in. Note that we drop the version number ('46') from the | 195 and checked in. Note that we drop the version number ('46') from the |
193 dll name to avoind having to update our build scripts/configuration | 196 dll name to avoind having to update our build scripts/configuration |
194 files everytime ICU is upgraded to a new version. | 197 files everytime ICU is upgraded to a new version. |
195 | 198 |
196 - {mac,linux}/icudt46l_dat.S : Built on Linux with all the | 199 - {mac,linux}/icudt46l_dat.S : Built on Linux with all the |
197 patches above (except android/brkitr.patch) applied and checked in. | 200 patches above (except android/brkitr.patch) applied and checked in. |
198 This file will be generated in {BUILD_DIR_ROOT}/data/out/tmp. | 201 This file will be generated in {BUILD_DIR_ROOT}/data/out/tmp. |
199 | 202 |
200 mac/icudt46l_dat.S is identical to linux/icudt46l_dat.S. It's made | 203 mac/icudt46l_dat.S is identical to linux/icudt46l_dat.S. It's made |
201 by changing the header portion of the Linux version to read as following | 204 by changing the header portion of the Linux version to read as following |
202 (no leading whitespace) : | 205 (no leading whitespace) : |
203 | 206 |
204 .globl _icudt46_dat | 207 .globl _icudt46_dat |
205 #ifdef U_HIDE_DATA_SYMBOL | 208 #ifdef U_HIDE_DATA_SYMBOL |
206 .private_extern _icudt46_dat | 209 .private_extern _icudt46_dat |
207 #endif | 210 #endif |
208 .data | 211 .data |
209 .const | 212 .const |
210 .align 4 | 213 .align 4 |
211 _icudt46_dat: | 214 _icudt46_dat: |
212 | 215 |
213 | 216 |
214 - android/icudt46l_dat.S : Built on Linux with all the patches above and | 217 - android/icudt46l_dat.S : Built on Linux with all the patches above and |
215 android/brkitr.patch applied and android/patch_locale.sh executed, and | 218 android/brkitr.patch applied and android/patch_locale.sh executed, and |
216 checked in. | 219 checked in. |
217 - android/icudtl.dat : Generated as icudt46l.dat in | 220 - android/icudtl.dat : Generated as icudt46l.dat in |
218 {BUILD_DIR_ROOT}/data/out/tmp along with icudt46l_dat.S and | 221 {BUILD_DIR_ROOT}/data/out/tmp along with icudt46l_dat.S and |
219 copied to the above location with '46' dropped in its name. | 222 copied to the above location with '46' dropped in its name. |
220 | 223 |
221 | 224 |
222 12. Apply the fix found with static analysis tools such as PSV and coverity | 225 12. Apply the fix found with static analysis tools such as PSV and coverity |
223 | 226 |
224 - patches/static.analysis.patch | 227 - patches/static.analysis.patch |
225 - upstream trunk/4.8 do not have this code any more. | 228 - upstream trunk/4.8 do not have this code any more. |
226 | 229 |
227 13. Fix for msvs2010 applied: | 230 13. Fix for msvs2010 applied: |
228 --- D:/src/ent/src/third_party/icu/source/common/stringpiece.cpp | 231 --- D:/src/ent/src/third_party/icu/source/common/stringpiece.cpp |
(...skipping 24 matching lines...) Expand all Loading... |
253 - upstream bug: http://bugs.icu-project.org/trac/ticket/8290 | 256 - upstream bug: http://bugs.icu-project.org/trac/ticket/8290 |
254 | 257 |
255 17. Fix a use of uninitialized memory bug in regular expression matching | 258 17. Fix a use of uninitialized memory bug in regular expression matching |
256 - patches/rematch.patch | 259 - patches/rematch.patch |
257 - upstream bug: http://bugs.icu-project.org/trac/ticket/8824 | 260 - upstream bug: http://bugs.icu-project.org/trac/ticket/8824 |
258 | 261 |
259 18. Make it compile with -Werror on gcc 4.6 | 262 18. Make it compile with -Werror on gcc 4.6 |
260 - patches/gcc46.patch (ToT upstream does not have this code any more). | 263 - patches/gcc46.patch (ToT upstream does not have this code any more). |
261 | 264 |
262 19. Fix four out of bounds memory access error in common/uloc.c | 265 19. Fix four out of bounds memory access error in common/uloc.c |
263 and common/uresbund.c | 266 and common/uresbund.c |
264 - patches/uloc.patch | 267 - patches/uloc.patch |
265 - upstream bug: | 268 - upstream bug: |
266 1. http://bugs.icu-project.org/trac/ticket/8984 (_canonicalize) | 269 1. http://bugs.icu-project.org/trac/ticket/8984 (_canonicalize) |
267 2. http://bugs.icu-project.org/trac/ticket/9114 (_getKeywords) | 270 2. http://bugs.icu-project.org/trac/ticket/9114 (_getKeywords) |
268 3. http://bugs.icu-project.org/trac/ticket/8812 (uresbund) | 271 3. http://bugs.icu-project.org/trac/ticket/8812 (uresbund) |
269 http://bugs.icu-project.org/trac/ticket/8813 (uresbund) | 272 http://bugs.icu-project.org/trac/ticket/8813 (uresbund) |
270 4. http://bugs.icu-project.org/trac/ticket/10250 (_getKeywords) | 273 4. http://bugs.icu-project.org/trac/ticket/10250 (_getKeywords) |
271 | 274 |
272 20. Fix a null pointer error in ubrk_setText in ubrk.cpp. | 275 20. Fix a null pointer error in ubrk_setText in ubrk.cpp. |
273 - patches/ubrk.patch | 276 - patches/ubrk.patch |
274 - upstream bug : http://bugs.icu-project.org/trac/ticket/9115 | 277 - upstream bug : http://bugs.icu-project.org/trac/ticket/9115 |
275 | 278 |
(...skipping 13 matching lines...) Expand all Loading... |
289 24. Fix compilation errors on VS2012 and above. | 292 24. Fix compilation errors on VS2012 and above. |
290 - patches/vs2012.patch | 293 - patches/vs2012.patch |
291 | 294 |
292 25. Fix a buffer overflow in UTF-16/32 detection. | 295 25. Fix a buffer overflow in UTF-16/32 detection. |
293 - patches/csetdet.patch | 296 - patches/csetdet.patch |
294 - upstream bug: http://bugs.icu-project.org/trac/ticket/10318 | 297 - upstream bug: http://bugs.icu-project.org/trac/ticket/10318 |
295 | 298 |
296 26. Add BreakIterator::getRuleStatus | 299 26. Add BreakIterator::getRuleStatus |
297 - patches/breakiterator.patch | 300 - patches/breakiterator.patch |
298 - Copy and paste BreakIterator::getRuleStatus API from ICU 52 | 301 - Copy and paste BreakIterator::getRuleStatus API from ICU 52 |
OLD | NEW |