1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
Changes applied to the icu tree as obtained from:
http://download.icu-project.org/files/icu4c/61.1/icu4c-61_1-src.tgz
and icu4c-61_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 must 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:
srcdat=$Build/source/libs/icu/icu-src/source/data/in/icudt60l.dat
cd $Work/libs/icu/icu-build/data/out/build/icudt61l
indat=../../tmp/icudt61l.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=icudt61l.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 much smaller
cp $indat $srcdat
# then commit.
|