summaryrefslogtreecommitdiff
path: root/Build/source/libs/icu/TLpatches/TL-Changes
blob: b6b2426cc45d0572320b1b69c8faa9bef68e7dc5 (plain)
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
Changes applied to the icu-60.2 tree as obtained from:
	http://download.icu-project.org/files/icu4c/60.2/icu4c-60_2-src.tgz
        and icu4c-60_2-data.zip

cd $Build/source/libs/icu       # for whatever $Build directory
tar xf /tmp/icu4c-*-src.tgz     # should unpack into icu/*
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 `!!`
svn status | sed -n 's/^\?//p'  # rerun, should be empty now
#
# files to remove:
svn status | sed -n 's/^\!//p'
svn rm `!!`
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; 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/icudt60l
indat=../../tmp/icudt60l.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, namely
# bibtexu (in texk/bibtex-x), upmendex, and xetex (in texk/web2c/xetexdir).
outdat=icudt60l.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.