summaryrefslogtreecommitdiffstats
path: root/gfx/graphite2/moz-gr-update.sh
blob: b14102d1f64abbd8d3e753a825646938b778a059 (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
#!/bin/bash

# Script used to update the Graphite2 library in the mozilla source tree

# This script lives in gfx/graphite2, along with the library source,
# but must be run from the top level of the mozilla-central tree.

# Run as
#
#    ./gfx/graphite2/moz-gr-update.sh RELEASE
#
# where RELEASE is the graphite2 release to be used, e.g. "1.3.4".

RELEASE=$1

if [ "x$RELEASE" == "x" ]
then
    echo "Must provide the version number to be used."
    exit 1
fi

TARBALL="https://github.com/silnrsi/graphite/releases/download/$RELEASE/graphite2-minimal-$RELEASE.tgz"

foo=`basename $0`
TMPFILE=`mktemp -t ${foo}` || exit 1

curl -L "$TARBALL" -o "$TMPFILE"
tar -x -z -C gfx/graphite2/ --strip-components 1 -f "$TMPFILE" || exit 1
rm "$TMPFILE"

echo "This directory contains the Graphite2 library release $RELEASE from" > gfx/graphite2/README.mozilla
echo "$TARBALL" >> gfx/graphite2/README.mozilla
echo ""
echo "See" $0 "for update procedure." >> gfx/graphite2/README.mozilla

# fix up includes because of BZ bug 721839 (cstdio) and BZ bug 803066 (Windows.h)
# Additional issue with inclusion of <cstring> in non-unified mode (Issue #80)
find gfx/graphite2/ -name "*.cpp" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/<cstring>/<string.h>/;s/Windows.h/windows.h/;" {} \;
find gfx/graphite2/ -name "*.h" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/<cstring>/<string.h>/;s/Windows.h/windows.h/;" {} \;

# summarize what's been touched
echo Updated to $RELEASE.
echo Here is what changed in the gfx/graphite2 directory:
echo

hg stat gfx/graphite2

echo
echo If gfx/graphite2/src/files.mk has changed, please make corresponding
echo changes to gfx/graphite2/src/moz.build
echo

echo
echo Now use hg commands to create a patch for the mozilla tree.
echo