Changes applied to the icu tree as obtained from: https://github.com/unicode-org/icu/releases/download/release-65-1/icu4c-65_1-src.tgz and icu4c-65_1-data.zip cd $Build/source/libs/icu # for whatever $Build directory # update version.ac tar xf /tmp/icu4c-*-src.tgz # should unpack into icu/* mv icu-src icu-prev mv icu icu-src cd icu-src rm -r as_is packaging # don't bother including these in our tree # # files to add: svn status | sed -n 's/^\?//p' svn add `!!` # if looks reasonable svn status | sed -n 's/^\?//p' # rerun, should be empty now # # files to remove: svn status | sed -n 's/^\!//p' svn rm `!!` # if looks reasonable svn status | sed -n 's/^\!//p' # rerun, should be empty now # update generic files (still in icu-src): aux=$Build/source/build-aux cp -p $aux/config.guess $aux/config.sub $aux/install-sh source # patch -p0 for all ../TLpatches/patch-* files, as needed. # Save original and diff after each, update patch-* file. # Don't lose our leading comments. # autoreconf in the TL directory (Build/source/libs/icu); don't run # autoreconf in the icu-src/source/ directory, it fails due to missing # pkg-config prerequisites. (Thus we patch configure, not just # configure.ac; not worth more effort for our small change of preferring gcc.) # # rebuild; must rerun configure (not just config.status), # so easiest is to just do a whole new build. # That will also test use of the new icu version by our programs. # Assuming all seems ok, reduce size of source/data/in/icudt*.dat # to decrease data segment size, e.g., for old BSD. First, check # that we successfully built the full .dat: ver=65 srcdat=$Build/source/libs/icu/icu-src/source/data/in/icudt${ver}l.dat cd $Work/libs/icu/icu-build/data/out/build/icudt${ver}l indat=../../tmp/icudt${ver}l.dat diff $srcdat $indat # should be identical, amazingly enough. # we need to use icupkg, which may need LD_LIBRARY_PATH since it is a # C++ binary and we didn't cxx-hack it. icupkg="env LD_LIBRARY_PATH=$gnu/lib ../../../../bin/icupkg" # then remove some elements unused by the icu clients in our tree, which are # bibtexu (in texk/bibtex-x), upmendex, and xetex (in texk/web2c/xetexdir). outdat=icudt${ver}l.dat $icupkg -r 'curr/*' $indat $outdat && \mv $outdat $indat $icupkg -r 'lang/*' $indat $outdat && \mv $outdat $indat $icupkg -r 'region/*' $indat $outdat && \mv $outdat $indat $icupkg -r 'rfc*.spp' $indat $outdat && \mv $outdat $indat $icupkg -r 'zone/*' $indat $outdat && \mv $outdat $indat ls -l $indat $srcdat # indat should be smaller cp $indat $srcdat # update icu/ChangeLog and icu/TLpatches/ChangeLog. # then commit.