48 lines
1.5 KiB
Bash
Executable File
48 lines
1.5 KiB
Bash
Executable File
#! /bin/sh
|
|
|
|
# ICU File Structure
|
|
icu=https://github.com/unicode-org/icu/archive/refs/tags/release-version.zip
|
|
zip_file=release-version.zip
|
|
source_path=icu-release-version/icu4c/source
|
|
data_path=$source_path"/data"
|
|
|
|
#rm -rf build
|
|
set -e
|
|
mkdir -p build
|
|
pushd build
|
|
|
|
# download ICU 66
|
|
code_version=66-1
|
|
wget -nc ${icu/version/$code_version}
|
|
unzip -o ${zip_file/version/$code_version}
|
|
|
|
# download ICU 72 (replace with latest version)
|
|
data_version=72-1
|
|
wget -nc ${icu/version/$data_version}
|
|
unzip -o ${zip_file/version/$data_version}
|
|
|
|
# copy over the collation data
|
|
find ${data_path/version/$data_version} -type f ! -iname "*.txt" -delete
|
|
cp -r ${data_path/version/$data_version} ${source_path/version/$code_version}
|
|
|
|
# download IANA and copy the latest Time Zone Data
|
|
tz_version=2025b
|
|
rm -rf icu-data
|
|
git clone git@github.com:unicode-org/icu-data.git || true
|
|
cp icu-data/tzdata/icunew/${tz_version}/44/*.txt ${data_path/version/$code_version}/misc
|
|
|
|
# build the data, make sure to create "filters.json" first, see above
|
|
cp ../filters.json ${source_path/version/$code_version}
|
|
pushd ${source_path/version/$code_version}
|
|
ICU_DATA_FILTER_FILE=filters.json ./runConfigureICU Linux --with-data-packaging=archive
|
|
make
|
|
popd
|
|
|
|
# the data file will be located in icu-release-66-1/icu4c/source/data/out/icudt66l.dat
|
|
# copy over the data to the minimal-icu-collation data repository
|
|
# then run the following two commands:
|
|
popd
|
|
|
|
icudt=icudt${code_version/-[[:digit:]]/}l.dat
|
|
python3 scripts/inline-data.py < build/${data_path/version/$code_version}/out/${icudt} > third_party/icu/stubdata/stubdata.cpp
|