pidgin/win32/nsis/generate_gtk_zip.sh

Wed, 26 Sep 2012 18:35:46 -0400

author
Daniel Atallah <datallah@pidgin.im>
date
Wed, 26 Sep 2012 18:35:46 -0400
branch
release-2.x.y
changeset 33408
8e037a7b4ccd
parent 33396
d0ec164c8f20
child 33409
fb9fe934688e
permissions
-rwxr-xr-x

Update various win32 dependencies - the new GTK+ bundle will be called 2.16.6.1
Thanks goes to Dieter Verfaillie for helping get the GTK+ dependencies updated.
Fixes #14571, #15285, #15286

* ATK 1.32.0-2
* expat 2.1.0-1
* freetype 2.4.10-1
* gettext 0.18.1.1-2
* Glib 2.28.8-1
* libpng 1.4.12-1
* Pango 1.29.4-1
* libxml2 2.9.0-1
* zlib 1.2.5-2

29798
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
1 #!/bin/bash
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
2 # Script to generate zip file for GTK+ runtime to be included in Pidgin installer
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
3
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
4 PIDGIN_BASE=$1
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
5
30305
00c325754ef7 Add support for the binaries built by the opensuse build service to the
Daniel Atallah <datallah@pidgin.im>
parents: 29862
diff changeset
6 if [ ! -e $PIDGIN_BASE/ChangeLog ]; then
00c325754ef7 Add support for the binaries built by the opensuse build service to the
Daniel Atallah <datallah@pidgin.im>
parents: 29862
diff changeset
7 echo $(basename $0) must must have the pidgin base dir specified as a parameter.
29798
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
8 exit 1
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
9 fi
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
10
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
11 STAGE_DIR=$PIDGIN_BASE/pidgin/win32/nsis/gtk_runtime_stage
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
12 #Subdirectory of $STAGE_DIR
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
13 INSTALL_DIR=Gtk
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
14 CONTENTS_FILE=$INSTALL_DIR/CONTENTS
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
15
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
16 #This needs to be changed every time there is any sort of change.
33408
8e037a7b4ccd Update various win32 dependencies - the new GTK+ bundle will be called 2.16.6.1
Daniel Atallah <datallah@pidgin.im>
parents: 33396
diff changeset
17 BUNDLE_VERSION=2.16.6.1
29798
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
18
33408
8e037a7b4ccd Update various win32 dependencies - the new GTK+ bundle will be called 2.16.6.1
Daniel Atallah <datallah@pidgin.im>
parents: 33396
diff changeset
19 ATK="http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.32/atk_1.32.0-2_win32.zip ATK 1.32.0-2 3c31c9d6b19af840e2bd8ccbfef4072a6548dc4e"
8e037a7b4ccd Update various win32 dependencies - the new GTK+ bundle will be called 2.16.6.1
Daniel Atallah <datallah@pidgin.im>
parents: 33396
diff changeset
20 #Cairo 1.10.2 has a bug that can be seen when selecting text
8e037a7b4ccd Update various win32 dependencies - the new GTK+ bundle will be called 2.16.6.1
Daniel Atallah <datallah@pidgin.im>
parents: 33396
diff changeset
21 #CAIRO="http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/cairo_1.10.2-2_win32.zip Cairo 1.10.2-2 d44cd66a9f4d7d29a8f2c28d1c1c5f9b0525ba44"
33391
e56515365c37 Add sha1sum checking to the gtk bundle components that are downloaded
Daniel Atallah <datallah@pidgin.im>
parents: 30312
diff changeset
22 CAIRO="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.10-1_win32.zip Cairo 1.8.10-1 a08476cccd807943958610977a138c4d6097c7b8"
33408
8e037a7b4ccd Update various win32 dependencies - the new GTK+ bundle will be called 2.16.6.1
Daniel Atallah <datallah@pidgin.im>
parents: 33396
diff changeset
23 EXPAT="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.1.0-1_win32.zip Expat 2.1.0-1 607ba00b8c7c4be5f1701f914b972c2b12005062"
33391
e56515365c37 Add sha1sum checking to the gtk bundle components that are downloaded
Daniel Atallah <datallah@pidgin.im>
parents: 30312
diff changeset
24 FONTCONFIG="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/fontconfig_2.8.0-2_win32.zip Fontconfig 2.8.0-2 37a3117ea6cc50c8a88fba9b6018f35a04fa71ce"
33408
8e037a7b4ccd Update various win32 dependencies - the new GTK+ bundle will be called 2.16.6.1
Daniel Atallah <datallah@pidgin.im>
parents: 33396
diff changeset
25 FREETYPE="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/freetype_2.4.10-1_win32.zip Freetype 2.4.10-1 e4655cf2a590fd5fbe8861a9fcbfd32131e61cac"
8e037a7b4ccd Update various win32 dependencies - the new GTK+ bundle will be called 2.16.6.1
Daniel Atallah <datallah@pidgin.im>
parents: 33396
diff changeset
26 GETTEXT="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime_0.18.1.1-2_win32.zip Gettext 0.18.1.1-2 a7cc1ce2b99b408d1bbea9a3b4520fcaf26783b3"
8e037a7b4ccd Update various win32 dependencies - the new GTK+ bundle will be called 2.16.6.1
Daniel Atallah <datallah@pidgin.im>
parents: 33396
diff changeset
27 GLIB="http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.28/glib_2.28.8-1_win32.zip Glib 2.28.8-1 5d158f4c77ca0b5508e1042955be573dd940b574"
33391
e56515365c37 Add sha1sum checking to the gtk bundle components that are downloaded
Daniel Atallah <datallah@pidgin.im>
parents: 30312
diff changeset
28 GTK="http://ftp.acc.umu.se/pub/gnome/binaries/win32/gtk+/2.16/gtk+_2.16.6-2_win32.zip GTK+ 2.16.6-2 012853e6de814ebda0cc4459f9eed8ae680e6d17"
33408
8e037a7b4ccd Update various win32 dependencies - the new GTK+ bundle will be called 2.16.6.1
Daniel Atallah <datallah@pidgin.im>
parents: 33396
diff changeset
29 LIBPNG="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.4.12-1_win32.zip libpng 1.4.12-1 64f271ca9ae5dc6e5fc0a8129b9ef4297df7959f"
8e037a7b4ccd Update various win32 dependencies - the new GTK+ bundle will be called 2.16.6.1
Daniel Atallah <datallah@pidgin.im>
parents: 33396
diff changeset
30 PANGO="http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.29/pango_1.29.4-1_win32.zip Pango 1.29.4-1 3959319bd04fbce513458857f334ada279b8cdd4"
8e037a7b4ccd Update various win32 dependencies - the new GTK+ bundle will be called 2.16.6.1
Daniel Atallah <datallah@pidgin.im>
parents: 33396
diff changeset
31 ZLIB="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib_1.2.5-2_win32.zip zlib 1.2.5-2 568907188761df2d9309196e447d91bbc5555d2b"
29798
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
32
29862
e48ceabf7676 Increase win32 GTK+ to 2.16.6. If people have issues, it can be reverted.
Daniel Atallah <datallah@pidgin.im>
parents: 29817
diff changeset
33 ALL="ATK CAIRO EXPAT FONTCONFIG FREETYPE GETTEXT GLIB GTK LIBPNG PANGO ZLIB"
29798
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
34
29806
aface02b85bc mkdir -p is better than checking for directory existence
Daniel Atallah <datallah@pidgin.im>
parents: 29798
diff changeset
35 mkdir -p $STAGE_DIR
29798
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
36 cd $STAGE_DIR
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
37
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
38 rm -rf $INSTALL_DIR
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
39 mkdir $INSTALL_DIR
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
40
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
41 #new CONTENTS file
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
42 echo Bundle Version $BUNDLE_VERSION > $CONTENTS_FILE
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
43
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
44 function download_and_extract {
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
45 URL=${1%%\ *}
33391
e56515365c37 Add sha1sum checking to the gtk bundle components that are downloaded
Daniel Atallah <datallah@pidgin.im>
parents: 30312
diff changeset
46 SHA1SUM=${1##*\ }
e56515365c37 Add sha1sum checking to the gtk bundle components that are downloaded
Daniel Atallah <datallah@pidgin.im>
parents: 30312
diff changeset
47 NAME=${1%\ *}
e56515365c37 Add sha1sum checking to the gtk bundle components that are downloaded
Daniel Atallah <datallah@pidgin.im>
parents: 30312
diff changeset
48 NAME=${NAME#*\ }
30305
00c325754ef7 Add support for the binaries built by the opensuse build service to the
Daniel Atallah <datallah@pidgin.im>
parents: 29862
diff changeset
49 FILE=$(basename $URL)
29798
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
50 if [ ! -e $FILE ]; then
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
51 echo Downloading $NAME
33391
e56515365c37 Add sha1sum checking to the gtk bundle components that are downloaded
Daniel Atallah <datallah@pidgin.im>
parents: 30312
diff changeset
52 wget $URL || exit 1
e56515365c37 Add sha1sum checking to the gtk bundle components that are downloaded
Daniel Atallah <datallah@pidgin.im>
parents: 30312
diff changeset
53 fi
e56515365c37 Add sha1sum checking to the gtk bundle components that are downloaded
Daniel Atallah <datallah@pidgin.im>
parents: 30312
diff changeset
54 CHECK_SHA1SUM=`sha1sum $FILE`
e56515365c37 Add sha1sum checking to the gtk bundle components that are downloaded
Daniel Atallah <datallah@pidgin.im>
parents: 30312
diff changeset
55 CHECK_SHA1SUM=${CHECK_SHA1SUM%%\ *}
e56515365c37 Add sha1sum checking to the gtk bundle components that are downloaded
Daniel Atallah <datallah@pidgin.im>
parents: 30312
diff changeset
56 if [ "$CHECK_SHA1SUM" != "$SHA1SUM" ]; then
e56515365c37 Add sha1sum checking to the gtk bundle components that are downloaded
Daniel Atallah <datallah@pidgin.im>
parents: 30312
diff changeset
57 echo "sha1sum ($CHECK_SHA1SUM) for $FILE doesn't match expected value of $SHA1SUM"
e56515365c37 Add sha1sum checking to the gtk bundle components that are downloaded
Daniel Atallah <datallah@pidgin.im>
parents: 30312
diff changeset
58 exit 1
29798
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
59 fi
30305
00c325754ef7 Add support for the binaries built by the opensuse build service to the
Daniel Atallah <datallah@pidgin.im>
parents: 29862
diff changeset
60 EXTENSION=${FILE##*.}
00c325754ef7 Add support for the binaries built by the opensuse build service to the
Daniel Atallah <datallah@pidgin.im>
parents: 29862
diff changeset
61 #This is an OpenSuSE build service RPM
00c325754ef7 Add support for the binaries built by the opensuse build service to the
Daniel Atallah <datallah@pidgin.im>
parents: 29862
diff changeset
62 if [ $EXTENSION == 'rpm' ]; then
30312
d2cb1662df79 Improve error handling
Daniel Atallah <datallah@pidgin.im>
parents: 30305
diff changeset
63 echo "Generating zip from $FILE"
30305
00c325754ef7 Add support for the binaries built by the opensuse build service to the
Daniel Atallah <datallah@pidgin.im>
parents: 29862
diff changeset
64 FILE=$(../rpm2zip.sh $FILE)
00c325754ef7 Add support for the binaries built by the opensuse build service to the
Daniel Atallah <datallah@pidgin.im>
parents: 29862
diff changeset
65 fi
30312
d2cb1662df79 Improve error handling
Daniel Atallah <datallah@pidgin.im>
parents: 30305
diff changeset
66 unzip -q $FILE -d $INSTALL_DIR || exit 1
29798
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
67 echo "$NAME" >> $CONTENTS_FILE
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
68 }
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
69
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
70 for VAL in $ALL
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
71 do
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
72 VAR=${!VAL}
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
73 download_and_extract "$VAR"
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
74 done
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
75
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
76 #Default GTK+ Theme to MS-Windows
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
77 echo gtk-theme-name = \"MS-Windows\" > $INSTALL_DIR/etc/gtk-2.0/gtkrc
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
78
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
79 #Blow away translations that we don't have in Pidgin
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
80 for LOCALE_DIR in $INSTALL_DIR/share/locale/*
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
81 do
30305
00c325754ef7 Add support for the binaries built by the opensuse build service to the
Daniel Atallah <datallah@pidgin.im>
parents: 29862
diff changeset
82 LOCALE=$(basename $LOCALE_DIR)
29798
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
83 if [ ! -e $PIDGIN_BASE/po/$LOCALE.po ]; then
30305
00c325754ef7 Add support for the binaries built by the opensuse build service to the
Daniel Atallah <datallah@pidgin.im>
parents: 29862
diff changeset
84 echo Removing $LOCALE translation as it is missing from Pidgin
29798
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
85 rm -r $LOCALE_DIR
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
86 fi
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
87 done
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
88
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
89 #Generate zip file to be included in installer
33396
d0ec164c8f20 Make sure to generate a fresh zip file for the Gtk bundle.
Daniel Atallah <datallah@pidgin.im>
parents: 33391
diff changeset
90 ZIPFILE=../gtk-runtime-$BUNDLE_VERSION.zip
d0ec164c8f20 Make sure to generate a fresh zip file for the Gtk bundle.
Daniel Atallah <datallah@pidgin.im>
parents: 33391
diff changeset
91 rm -f $ZIPFILE
d0ec164c8f20 Make sure to generate a fresh zip file for the Gtk bundle.
Daniel Atallah <datallah@pidgin.im>
parents: 33391
diff changeset
92 zip -9 -r $ZIPFILE Gtk
29798
7e57f09e0b2e The rest of the plumbing needed to build the GTK+ Runtime zip included in the installer
Daniel Atallah <datallah@pidgin.im>
parents:
diff changeset
93
30312
d2cb1662df79 Improve error handling
Daniel Atallah <datallah@pidgin.im>
parents: 30305
diff changeset
94 exit 0
d2cb1662df79 Improve error handling
Daniel Atallah <datallah@pidgin.im>
parents: 30305
diff changeset
95

mercurial