Skip to content

Commit 090925a

Browse files
committed
ICU 74.1 sources included
1 parent c9e4146 commit 090925a

File tree

954 files changed

+511665
-374
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

954 files changed

+511665
-374
lines changed

.devel/icu_upgrade_patches-74.md

+33-12
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# ICU 74 Patching Info
22

3-
## Diffs for ICU69 (Patches applied in due course)
3+
## Diffs for ICU 69 (Patches applied in due course)
44

55
```bash
66
COMMIT_ORIGINAL=bbbf25bbe6e1aa198389dd08636a3360b5788213
@@ -40,26 +40,47 @@ done
4040
```
4141

4242

43-
## TODO: Download ICU
43+
## Fetch ICU4C
4444

45-
https://github.com/unicode-org/icu/releases/tag/release-74-1
45+
1. Download https://github.com/unicode-org/icu/releases/download/release-74-1/icu4c-74_1-src.zip
4646

47-
https://github.com/unicode-org/icu/releases/download/release-74-1/icu4c-74_1-src.zip
47+
2. From the extracted archive, copy source/common, i18n, stubdata to ./src/icu74
4848

49-
icudt is available for download from:
49+
3. Move ./src/icu74/i18n/unicode and ./src/icu74/common/unicode to ./src/icu74/unicode (together)
5050

51-
https://github.com/unicode-org/icu/releases/download/release-74-1/icu4c-74_1-data-bin-b.zip
52-
https://github.com/unicode-org/icu/releases/download/release-74-1/icu4c-74_1-data-bin-l.zip
51+
4. Update ./LICENSE
5352

54-
Compress icudt-l with xz, include in the source bundle
53+
5. Create ./src/icu74/LICENSE
5554

56-
icudt-b should be downloaded on demand during install
55+
7. Execute from ./src/icu74/:
5756

57+
```bash
58+
rm -f **/*.rc **/*.vcproj **/*.vcxproj **/*filters **/BUILD* **/Makefile.in
59+
mv i18n/sources.txt ../icu74_i18n_cpp.txt
60+
mv common/sources.txt ../icu74_common_cpp.txt
61+
mv stubdata/sources.txt ../icu74_stubdata_cpp.txt
62+
```
5863

59-
! Use `#ifdef U_STRINGI_PATCHES`
6064

65+
# ICU data
6166

62-
## TODO: Patch ICU
67+
Destination: ./src/icu74/data
68+
69+
```{bash}
70+
for endian in l b; do
71+
wget -nc https://github.com/unicode-org/icu/releases/download/release-74-1/icu4c-74_1-data-bin-${endian}.zip
72+
unzip -o icu4c-74_1-data-bin-${endian}.zip
73+
sha256sum -b icudt74${endian}.dat > icudt74${endian}.dat.sha256sum
74+
xz -z -e -9 icudt74${endian}.dat
75+
done
76+
```
77+
78+
Only include icudt74l.dat.xz in the source bundle.
79+
icudt74b.dat should be downloaded on demand during install.
6380

6481

65-
? use sources.txt.
82+
83+
84+
## TODO: Patch ICU
85+
86+
! Use `#ifdef U_STRINGI_PATCHES`

CODE_OF_CONDUCT.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@ act of charity to make this world an (even) better place.
66
It will most likely pass unnoticed, but if you happen to find it useful,
77
informative, amusing, or stimulating, we're happy for you.
88

9-
All nice contributions/comments/remarks are welcome.
9+
All quality contributions/comments/remarks are welcome.
1010

1111
Please spread the news about this package.

INSTALL

+15-19
Original file line numberDiff line numberDiff line change
@@ -2,47 +2,43 @@
22

33
In most cases, installing *stringi* is as simple as calling:
44

5-
65
```r
76
install.packages("stringi")
87
```
98

10-
119
However, due to the overwhelming complexity of the ICU4C library,
12-
upon which *stringi* is based, and the colourful diversity of operating systems,
13-
their flavours, and particular setups, some users may still experience
14-
a few issues that hopefully can be resolved with the help of this short manual.
10+
upon which *stringi* is based, and the colourful diversity of environments
11+
it operates on, you might still experience a few issues.
12+
Hopefully, they can be resolved with the help of this short manual.
1513

16-
Also, some build tweaks are possible.
14+
Below we also describe some available build process tweaks.
1715

1816

1917
## ICU4C
2018

2119
The stringi package depends on the ICU4C >= 61 library.
2220

23-
24-
If we install the package from sources and either:
21+
If we install the package from sources and one of the following is true:
2522

2623
* this requirement is not met (check out <https://icu.unicode.org/download>,
27-
the `libicu-devel` rpm on Fedora/CentOS/OpenSUSE,
28-
`libicu-dev` on Ubuntu/Debian, etc.),
24+
the `libicu-devel` package on Fedora/CentOS/OpenSUSE,
25+
`libicu-dev` on Ubuntu/Debian, etc.), or
2926

3027
* `pkg-config` fails to find appropriate build settings
31-
for ICU-based projects, or
28+
for ICU-based projects, or
3229

3330
* `R CMD INSTALL` is called with the `--configure-args='--disable-pkg-config'`
34-
argument, or environment variable `STRINGI_DISABLE_PKG_CONFIG` is
35-
set to non-zero or
31+
argument, or the `STRINGI_DISABLE_PKG_CONFIG` environment variable
32+
is set to non-zero or
3633
`install.packages("stringi", configure.args="--disable-pkg-config")`
3734
is executed,
3835

39-
then ICU will be built together with stringi.
40-
A custom subset of ICU4C 74.1 is shipped with the package.
41-
36+
then ICU will be built together with stringi based on the customised
37+
ICU4C 74.1 source bundle that is shipped with the package.
4238

43-
> To get the most out of stringi, you are strongly encouraged to rely on our
44-
> ICU4C package bundle. This ensures maximum portability across all platforms
45-
> (Windows and macOS users by default fetch the pre-compiled binaries
39+
> Actually, to get the most out of stringi, you are strongly encouraged to rely
40+
> on our ICU4C bundle. This ensures maximum portability across all platforms
41+
> (Windows and macOS users fetch the pre-compiled binaries
4642
> from CRAN built precisely this way).
4743

4844

0 commit comments

Comments
 (0)