| 38 else |
40 else |
| 39 exit 0 |
41 exit 0 |
| 40 fi |
42 fi |
| 41 |
43 |
| 42 |
44 |
| 43 ATK="http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.32/atk_1.32.0-2_win32.zip ATK 1.32.0-2 sha1sum:3c31c9d6b19af840e2bd8ccbfef4072a6548dc4e" |
45 #Format for packages is "binary_url name version binary_validation src_url src_validation" |
| |
46 ATK="http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.32/atk_1.32.0-2_win32.zip ATK 1.32.0-2 sha1sum:3c31c9d6b19af840e2bd8ccbfef4072a6548dc4e http://ftp.gnome.org/pub/gnome/sources/atk/1.32/atk-1.32.0.tar.bz2|https://raw.githubusercontent.com/dieterv/legacynativebuilds/692072d1c571ef50f8bbe01cd005313d2302bef0/devel/src/dieterv/packaging/atk_1.32.0-2_win32.sh sha256sum:e9a3e598f75c4db1af914f8b052dd9f7e89e920a96cc187c18eb06b8339cb16e|sha256sum:94cf905cee30b461194fa4cdfebedb0013bca46cdc52228ea2f23ef595de158b" |
| 44 #Cairo 1.10.2 has a bug that can be seen when selecting text |
47 #Cairo 1.10.2 has a bug that can be seen when selecting text |
| 45 #CAIRO="http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/cairo_1.10.2-2_win32.zip Cairo 1.10.2-2 sha1sum:d44cd66a9f4d7d29a8f2c28d1c1c5f9b0525ba44" |
48 #CAIRO="http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/cairo_1.10.2-2_win32.zip Cairo 1.10.2-2 sha1sum:d44cd66a9f4d7d29a8f2c28d1c1c5f9b0525ba44" |
| 46 CAIRO="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.10-1_win32.zip Cairo 1.8.10-1 sha1sum:a08476cccd807943958610977a138c4d6097c7b8" |
49 CAIRO="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.10-1_win32.zip Cairo 1.8.10-1 sha1sum:a08476cccd807943958610977a138c4d6097c7b8 http://cairographics.org/releases/cairo-1.8.10.tar.gz|https://developer.pidgin.im/static/win32/cairo_1.8.10-1_win32.sh sha1sum:fd5e8ca82ff0e8542ea4c51612cad387f2a49df3|sha1sum:b2ac2ae06a5ea9f15802209707607fd40b4aa47d" |
| 47 EXPAT="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.1.0-1_win32.zip Expat 2.1.0-1 gpg:0x71D4DDE53F188CBE" |
50 EXPAT="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.1.0-1_win32.zip Expat 2.1.0-1 gpg:0x71D4DDE53F188CBE http://downloads.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz|https://raw.githubusercontent.com/dieterv/legacynativebuilds/692072d1c571ef50f8bbe01cd005313d2302bef0/devel/src/dieterv/packaging/expat_2.1.0-1_win32.sh sha1sum:b08197d146930a5543a7b99e871cba3da614f6f0|sha1sum:5b1c345147bbbabeae0bc6649c19ea11fab3902c" |
| 48 FONTCONFIG="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/fontconfig_2.8.0-2_win32.zip Fontconfig 2.8.0-2 sha1sum:37a3117ea6cc50c8a88fba9b6018f35a04fa71ce" |
51 FONTCONFIG="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/fontconfig_2.8.0-2_win32.zip Fontconfig 2.8.0-2 sha1sum:37a3117ea6cc50c8a88fba9b6018f35a04fa71ce http://www.fontconfig.org/release/fontconfig-2.8.0.tar.gz|https://raw.githubusercontent.com/dieterv/legacynativebuilds/692072d1c571ef50f8bbe01cd005313d2302bef0/devel/src/tml/packaging/fontconfig_2.8.0-2_win32.sh sha1sum:570fb55eb14f2c92a7b470b941e9d35dbfafa716|sha1sum:2e8a0e473344b68c440f1a56f33eb669ccd0bf87" |
| 49 FREETYPE="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/freetype_2.4.10-1_win32.zip Freetype 2.4.10-1 gpg:0x71D4DDE53F188CBE" |
52 FREETYPE="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/freetype_2.4.10-1_win32.zip Freetype 2.4.10-1 gpg:0x71D4DDE53F188CBE http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/freetype-2.4.2.tar.bz2|https://raw.githubusercontent.com/dieterv/legacynativebuilds/692072d1c571ef50f8bbe01cd005313d2302bef0/devel/src/dieterv/packaging/freetype_2.4.10-1_win32.sh sha1sum:cc257ceda2950b8c80950d780ccf3ce665a815d1|sha1sum:3c3c97099f0b1e7c25d55d6d3614b9cdb2da83e7" |
| 50 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 sha1sum:a7cc1ce2b99b408d1bbea9a3b4520fcaf26783b3" |
53 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 sha1sum:a7cc1ce2b99b408d1bbea9a3b4520fcaf26783b3 http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-0.18.1.1.tar.gz|https://raw.githubusercontent.com/dieterv/legacynativebuilds/692072d1c571ef50f8bbe01cd005313d2302bef0/devel/src/tml/packaging/gettext_0.18.1.1-2_win32.sh sha1sum:5009deb02f67fc3c59c8ce6b82408d1d35d4e38f|sha1sum:8a7c1bb692c8d4f589c077c8b332c74040bca31c" |
| 51 GLIB="http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.28/glib_2.28.8-1_win32.zip Glib 2.28.8-1 sha1sum:5d158f4c77ca0b5508e1042955be573dd940b574" |
54 GLIB="http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.28/glib_2.28.8-1_win32.zip Glib 2.28.8-1 sha1sum:5d158f4c77ca0b5508e1042955be573dd940b574 http://ftp.gnome.org/pub/gnome/sources/glib/2.28/glib-2.28.8.tar.bz2|https://raw.githubusercontent.com/dieterv/legacynativebuilds/692072d1c571ef50f8bbe01cd005313d2302bef0/devel/src/dieterv/packaging/glib_2.28.8-1_win32.sh sha256sum:222f3055d6c413417b50901008c654865e5a311c73f0ae918b0a9978d1f9466f|sha256sum:907ebd40af90ea92fdafca44f4c3792ed6c041b7cd9e8d98ae534f51283ab164" |
| 52 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 sha1sum:012853e6de814ebda0cc4459f9eed8ae680e6d17" |
55 GTK="http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.16/gtk+_2.16.6-2_win32.zip GTK+ 2.16.6-2 sha1sum:012853e6de814ebda0cc4459f9eed8ae680e6d17 http://ftp.acc.umu.se/pub/gnome/sources/gtk+/2.16/gtk+-2.16.6.tar.bz2|https://developer.pidgin.im/static/win32/gtk+_2.16.6-2_win32.sh sha256sum:18e0f9792028e6cc5108447678f17d396f9a2cdfec1e6ab5dca98cb844f954af|sha256sum:47ac17cf3f638464ae8ed54a0a9532693373b5f81752cf92590e3d79c5c976ec" |
| 53 LIBPNG="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.4.12-1_win32.zip libpng 1.4.12-1 gpg:0x71D4DDE53F188CBE" |
56 LIBPNG="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.4.12-1_win32.zip libpng 1.4.12-1 gpg:0x71D4DDE53F188CBE http://download.sourceforge.net/libpng/libpng-1.4.12.tar.gz|https://raw.githubusercontent.com/dieterv/legacynativebuilds/cff4e06f877242f8db485318eccd5f8aa01fb199/devel/src/dieterv/packaging/libpng_1.4.12-1_win32.sh sha1sum:d22b339f3261140fb9de83784d05ce5b86c077fb|sha1sum:e00bc64d84ca50127c0233c045ff0147175f705b" |
| 54 PANGO="https://developer.pidgin.im/static/win32/pango_1.29.4-1daa_win32.zip Pango 1.29.4-1daa gpg:0x86723FEEDE890574" |
57 PANGO="https://developer.pidgin.im/static/win32/pango_1.29.4-1daa_win32.zip Pango 1.29.4-1daa gpg:0x86723FEEDE890574 http://ftp.gnome.org/pub/gnome/sources/pango/1.29/pango-1.29.4.tar.bz2|https://raw.githubusercontent.com/dieterv/legacynativebuilds/692072d1c571ef50f8bbe01cd005313d2302bef0/devel/src/dieterv/packaging/pango_1.29.4-1_win32.sh|https://developer.pidgin.im/static/win32/pango_1.29.4-1daa_win32.zip.patch sha256sum:f15deecaecf1e9dcb7db0e4947d12b5bcff112586434f8d30a5afd750747ff2b|sha256sum:743bb703b36f367b5569e031a107fff51eef409650e635e1a48a23f9ac38ef71|sha256sum:4d241c3835217deab280a8c1f2154932a4fba118f0b02a22c10fa041359381cf" |
| 55 ZLIB="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib_1.2.5-2_win32.zip zlib 1.2.5-2 sha1sum:568907188761df2d9309196e447d91bbc5555d2b" |
58 ZLIB="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib_1.2.5-2_win32.zip zlib 1.2.5-2 sha1sum:568907188761df2d9309196e447d91bbc5555d2b http://zlib.net/fossils/zlib-1.2.5.tar.gz|https://raw.githubusercontent.com/dieterv/legacynativebuilds/692072d1c571ef50f8bbe01cd005313d2302bef0/devel/src/tml/packaging/zlib_1.2.5-2_win32.sh sha1sum:8e8b93fa5eb80df1afe5422309dca42964562d7e|sha1sum:e0ad8ae6db31577240ba13fc2b3f9823a70ce556" |
| 56 |
59 |
| 57 ALL="ATK CAIRO EXPAT FONTCONFIG FREETYPE GETTEXT GLIB GTK LIBPNG PANGO ZLIB" |
60 ALL="ATK CAIRO EXPAT FONTCONFIG FREETYPE GETTEXT GLIB GTK LIBPNG PANGO ZLIB" |
| 58 |
61 |
| 59 mkdir -p $STAGE_DIR |
62 mkdir -p $STAGE_DIR |
| |
63 mkdir -p $STAGE_DIR/src |
| 60 cd $STAGE_DIR |
64 cd $STAGE_DIR |
| 61 |
65 |
| 62 rm -rf $INSTALL_DIR |
66 rm -rf $INSTALL_DIR |
| 63 mkdir $INSTALL_DIR |
67 mkdir $INSTALL_DIR |
| 64 |
68 |
| |
69 rm -rf $SRC_INSTALL_DIR |
| |
70 mkdir $SRC_INSTALL_DIR |
| |
71 |
| 65 #new CONTENTS file |
72 #new CONTENTS file |
| 66 echo Bundle Version $BUNDLE_VERSION > $CONTENTS_FILE |
73 echo Bundle Version $BUNDLE_VERSION > $CONTENTS_FILE |
| 67 |
74 |
| 68 function download_and_extract { |
75 function validate_file { |
| 69 URL=${1%%\ *} |
76 VALIDATION=$1 |
| 70 VALIDATION=${1##*\ } |
77 FILE=$2 |
| 71 NAME=${1%\ *} |
|
| 72 NAME=${NAME#*\ } |
|
| 73 FILE=$(basename $URL) |
|
| 74 if [ ! -e $FILE ]; then |
|
| 75 echo Downloading $NAME |
|
| 76 wget $URL || exit 1 |
|
| 77 fi |
|
| 78 VALIDATION_TYPE=${VALIDATION%%:*} |
78 VALIDATION_TYPE=${VALIDATION%%:*} |
| 79 VALIDATION_VALUE=${VALIDATION##*:} |
79 VALIDATION_VALUE=${VALIDATION##*:} |
| 80 if [ $VALIDATION_TYPE == 'sha1sum' ]; then |
80 VALIDATION_TYPE=${VALIDATION%%:*} |
| 81 CHECK_SHA1SUM=`sha1sum $FILE` |
81 VALIDATION_VALUE=${VALIDATION##*:} |
| 82 CHECK_SHA1SUM=${CHECK_SHA1SUM%%\ *} |
82 |
| 83 if [ "$CHECK_SHA1SUM" != "$VALIDATION_VALUE" ]; then |
83 if [ $VALIDATION_TYPE == 'sha1sum' -o $VALIDATION_TYPE == 'sha256sum' ]; then |
| 84 echo "sha1sum ($CHECK_SHA1SUM) for $FILE doesn't match expected value of $VALIDATION_VALUE" |
84 CHECK_SUM=`$VALIDATION_TYPE "$FILE"` |
| |
85 CHECK_SUM=${CHECK_SUM%%\ *} |
| |
86 if [ "$CHECK_SUM" != "$VALIDATION_VALUE" ]; then |
| |
87 echo "$VALIDATION_TYPE ($CHECK_SUM) for $FILE doesn't match expected value of $VALIDATION_VALUE" |
| 85 exit 1 |
88 exit 1 |
| 86 fi |
89 fi |
| 87 elif [ $VALIDATION_TYPE == 'gpg' ]; then |
90 elif [ $VALIDATION_TYPE == 'gpg' ]; then |
| 88 if [ ! -e "$FILE.asc" ]; then |
91 if [ ! -e "$FILE.asc" ]; then |
| 89 echo Downloading GPG key for $NAME |
92 echo Downloading GPG key for $NAME |
| 90 wget "$URL.asc" || exit 1 |
93 wget "$URL.asc" || exit 1 |
| 91 fi |
94 fi |
| 92 #Use our own keyring to avoid adding stuff to the main keyring |
95 #Use our own keyring to avoid adding stuff to the main keyring |
| 93 #This doesn't use $GPG_SIGN because we don't this validation to be bypassed when people are skipping signing output |
96 #This doesn't use $GPG_SIGN because we don't this validation to be bypassed when people are skipping signing output |
| 94 GPG_BASE="gpg -q --keyring $STAGE_DIR/$VALIDATION_VALUE-keyring.gpg" |
97 GPG_BASE="gpg -q --keyring $STAGE_DIR/$VALIDATION_VALUE-keyring.gpg" |
| 95 if [[ ! -e $STAGE_DIR/$VALIDATION_VALUE-keyring.gpg \ |
98 if [[ ! -e "$STAGE_DIR/$VALIDATION_VALUE-keyring.gpg" \ |
| 96 || `$GPG_BASE --list-keys "$VALIDATION_VALUE" > /dev/null && echo -n "0"` -ne 0 ]]; then |
99 || `$GPG_BASE --list-keys "$VALIDATION_VALUE" > /dev/null && echo -n "0"` -ne 0 ]]; then |
| 97 touch $STAGE_DIR/$VALIDATION_VALUE-keyring.gpg |
100 touch "$STAGE_DIR/$VALIDATION_VALUE-keyring.gpg" |
| 98 $GPG_BASE --no-default-keyring --keyserver pgp.mit.edu --recv-key "$VALIDATION_VALUE" || exit 1 |
101 $GPG_BASE --no-default-keyring --keyserver pgp.mit.edu --recv-key "$VALIDATION_VALUE" || exit 1 |
| 99 fi |
102 fi |
| 100 $GPG_BASE --verify "$FILE.asc" || (echo "$FILE failed signature verification"; exit 1) || exit 1 |
103 $GPG_BASE --verify "$FILE.asc" || (echo "$FILE failed signature verification"; exit 1) || exit 1 |
| 101 else |
104 else |
| 102 echo "Unrecognized validation type of $VALIDATION_TYPE" |
105 echo "Unrecognized validation type of $VALIDATION_TYPE" |
| 103 exit 1 |
106 exit 1 |
| 104 fi |
107 fi |
| 105 EXTENSION=${FILE##*.} |
108 } |
| 106 #This is an OpenSuSE build service RPM |
109 |
| 107 if [ $EXTENSION == 'rpm' ]; then |
110 function download_and_validate { |
| 108 echo "Generating zip from $FILE" |
111 PREFIX=$1 |
| 109 FILE=$(../rpm2zip.sh $FILE) |
112 URLS=$2 |
| 110 fi |
113 VALIDATIONS=$3 |
| 111 unzip -q $FILE -d $INSTALL_DIR || exit 1 |
114 EXTRACT=$4 |
| |
115 OLD_IFS=$IFS |
| |
116 IFS='|' |
| |
117 URL_SPLIT=($URLS) |
| |
118 VALIDATION_SPLIT=($VALIDATIONS) |
| |
119 IFS=$OLD_IFS |
| |
120 |
| |
121 if [ ${#URL_SPLIT[@]} -ne ${#VALIDATION_SPLIT[@]} ]; then |
| |
122 echo "URL and validation counts don't match for $VAL" |
| |
123 exit 1 |
| |
124 fi |
| |
125 |
| |
126 if [ "x$PREFIX" != "x" ]; then |
| |
127 mkdir -p "$PREFIX" |
| |
128 fi |
| |
129 |
| |
130 LEN=${#URL_SPLIT[@]} |
| |
131 for (( i = 0; i < ${LEN}; i++ )); do |
| |
132 URL=${URL_SPLIT[$i]} |
| |
133 VALIDATION=${VALIDATION_SPLIT[$i]} |
| |
134 FILE=${PREFIX}$(basename $URL) |
| |
135 if [ ! -e "$FILE" ]; then |
| |
136 echo Downloading $FILE for $NAME ... |
| |
137 wget -P "$PREFIX" $URL || exit 1 |
| |
138 fi |
| |
139 validate_file "$VALIDATION" "$FILE" |
| |
140 EXTENSION=${FILE##*.} |
| |
141 #This is an OpenSuSE build service RPM |
| |
142 if [ $EXTENSION == 'rpm' ]; then |
| |
143 echo "Generating zip from $FILE" |
| |
144 FILE=$(../rpm2zip.sh $FILE) |
| |
145 fi |
| |
146 if [ $EXTRACT == "1" ]; then |
| |
147 unzip -q "$FILE" -d "$INSTALL_DIR" || exit 1 |
| |
148 else |
| |
149 mkdir -p "$SRC_INSTALL_DIR/$PREFIX" |
| |
150 cp "$FILE" "$SRC_INSTALL_DIR/$FILE" |
| |
151 fi |
| |
152 done |
| |
153 } |
| |
154 |
| |
155 function process_package { |
| |
156 SPLIT=($1) |
| |
157 URL=${SPLIT[0]} |
| |
158 NAME="${SPLIT[1]} ${SPLIT[2]}" |
| |
159 VALIDATION=${SPLIT[3]} |
| |
160 download_and_validate "" "$URL" "$VALIDATION" "1" |
| |
161 |
| |
162 SRC_URL=${SPLIT[4]} |
| |
163 SRC_VALIDATION=${SPLIT[5]} |
| |
164 download_and_validate "src/$NAME/" "$SRC_URL" "$SRC_VALIDATION" "0" |
| |
165 |
| 112 echo "$NAME" >> $CONTENTS_FILE |
166 echo "$NAME" >> $CONTENTS_FILE |
| 113 } |
167 } |
| 114 |
168 |
| 115 for VAL in $ALL |
169 for VAL in $ALL |
| 116 do |
170 do |
| 117 VAR=${!VAL} |
171 VAR=${!VAL} |
| 118 download_and_extract "$VAR" |
172 SPLIT=($VAR) |
| |
173 if [ ${#SPLIT[@]} -lt 6 ]; then |
| |
174 echo "$VAL has only ${#SPLIT[@]} attributes" |
| |
175 exit 1 |
| |
176 fi |
| |
177 process_package "$VAR" |
| 119 done |
178 done |
| 120 |
179 |
| 121 #Default GTK+ Theme to MS-Windows |
180 #Default GTK+ Theme to MS-Windows |
| 122 echo gtk-theme-name = \"MS-Windows\" > $INSTALL_DIR/etc/gtk-2.0/gtkrc |
181 echo gtk-theme-name = \"MS-Windows\" > $INSTALL_DIR/etc/gtk-2.0/gtkrc |
| 123 |
182 |