should be it
This commit is contained in:
47
external/duckdb/extension/icu/scripts/makedata.sh
vendored
Executable file
47
external/duckdb/extension/icu/scripts/makedata.sh
vendored
Executable file
@@ -0,0 +1,47 @@
|
||||
#! /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
|
||||
Reference in New Issue
Block a user