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

cd /tmp # or wherever
tar xf icu4c-*-src.tgz # should unpack into icu/*
cd $Build/source/libs/icu/icu-src  # for whatever $Build directory
\cp -arf /tmp/icu/* .
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:
diff -qr . /tmp/icu/ | sed -n -e 's,^Only in \./\(.*\): ,\1/,p'
svn rm `!!`
diff ...			# 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.
# Run svn 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.)
# 
# 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/icudt58l.dat 
cd $Work/libs/icu/icu-build/data/out/build/icudt58l
indat=../../tmp/icudt58l.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=icudt58l.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.