@@ -11,10 +11,10 @@ if [ "$DEBUG" != "" ]; then
11
11
verbose=" --verbose"
12
12
fi
13
13
14
- script= $( readlink -f " $0 " )
14
+ SCRIPT= " $( basename " $( readlink -f " $0 " ) " ) "
15
15
16
16
show_usage () {
17
- echo " Usage: $script --appdir <path to AppDir>"
17
+ echo " Usage: $SCRIPT --appdir <path to AppDir>"
18
18
echo
19
19
echo " Bundles resources for applications that use GTK into an AppDir"
20
20
echo
@@ -38,13 +38,13 @@ variable_is_true() {
38
38
get_pkgconf_variable () {
39
39
local variable=" $1 "
40
40
local library=" $2 "
41
- local default_path =" $3 "
41
+ local default_value =" $3 "
42
42
43
- path =" $( " $PKG_CONFIG " --variable=" $variable " " $library " ) "
44
- if [ -n " $path " ]; then
45
- echo " $path "
46
- elif [ -n " $default_path " ]; then
47
- echo " $default_path "
43
+ pkgconfig_ret =" $( " $PKG_CONFIG " --variable=" $variable " " $library " ) "
44
+ if [ -n " $pkgconfig_ret " ]; then
45
+ echo " $pkgconfig_ret "
46
+ elif [ -n " $default_value " ]; then
47
+ echo " $default_value "
48
48
else
49
49
echo " $0 : there is no '$variable ' variable for '$library ' library." > /dev/stderr
50
50
echo " Please check the '$library .pc' file is present in \$ PKG_CONFIG_PATH (you may need to install the appropriate -dev/-devel package)." > /dev/stderr
@@ -62,6 +62,20 @@ copy_tree() {
62
62
done
63
63
}
64
64
65
+ search_library_path () {
66
+ PATH_ARRAY=(
67
+ " /usr/lib/$( uname -m) -linux-gnu"
68
+ " /usr/lib"
69
+ )
70
+
71
+ for path in " ${PATH_ARRAY[@]} " ; do
72
+ if [ -d " $path " ]; then
73
+ echo " $path "
74
+ return 0
75
+ fi
76
+ done
77
+ }
78
+
65
79
search_tool () {
66
80
local tool=" $1 "
67
81
local directory=" $2 "
128
142
echo " $0 : pkg-config/pkgconf not found in PATH, aborting"
129
143
exit 1
130
144
fi
145
+ LD_GTK_LIBRARY_PATH=" ${LD_GTK_LIBRARY_PATH:- $(search_library_path)} "
131
146
132
147
if ! command -v find & > /dev/null && ! type find & > /dev/null; then
133
148
echo -e " $0 : find not found.\nInstall findutils then re-run the plugin."
@@ -195,7 +210,7 @@ export GSETTINGS_SCHEMA_DIR="\$APPDIR/$glib_schemasdir"
195
210
EOF
196
211
197
212
echo " Installing GIRepository Typelibs"
198
- gi_typelibsdir=" $( get_pkgconf_variable " typelibdir" " gobject-introspection-1.0" " /usr/lib/x86_64-linux-gnu /girepository-1.0" ) "
213
+ gi_typelibsdir=" $( get_pkgconf_variable " typelibdir" " gobject-introspection-1.0" " $LD_GTK_LIBRARY_PATH /girepository-1.0" ) "
199
214
copy_tree " $gi_typelibsdir " " $APPDIR /"
200
215
cat >> " $HOOKFILE " << EOF
201
216
export GI_TYPELIB_PATH="\$ APPDIR/$gi_typelibsdir "
@@ -209,7 +224,7 @@ case "$DEPLOY_GTK_VERSION" in
209
224
3)
210
225
echo " Installing GTK 3.0 modules"
211
226
gtk3_exec_prefix=" $( get_pkgconf_variable " exec_prefix" " gtk+-3.0" " /usr" ) "
212
- gtk3_libdir=" $( get_pkgconf_variable " libdir" " gtk+-3.0" " /usr/lib/x86_64-linux-gnu " ) /gtk-3.0"
227
+ gtk3_libdir=" $( get_pkgconf_variable " libdir" " gtk+-3.0" " $LD_GTK_LIBRARY_PATH " ) /gtk-3.0"
213
228
gtk3_path=" $gtk3_libdir "
214
229
gtk3_immodulesdir=" $gtk3_libdir /$( get_pkgconf_variable " gtk_binary_version" " gtk+-3.0" " 3.0.0" ) /immodules"
215
230
gtk3_printbackendsdir=" $gtk3_libdir /$( get_pkgconf_variable " gtk_binary_version" " gtk+-3.0" " 3.0.0" ) /printbackends"
@@ -251,10 +266,10 @@ EOF
251
266
esac
252
267
253
268
echo " Installing GDK PixBufs"
254
- gdk_libdir=" $( get_pkgconf_variable " libdir" " gdk-pixbuf-2.0" " /usr/lib/x86_64-linux-gnu " ) "
255
- gdk_pixbuf_binarydir=" $( get_pkgconf_variable " gdk_pixbuf_binarydir" " gdk-pixbuf-2.0" " $gdk_libdir " " /gdk-pixbuf-2.0/2.10.0" ) "
256
- gdk_pixbuf_cache_file=" $( get_pkgconf_variable " gdk_pixbuf_cache_file" " gdk-pixbuf-2.0" " $gdk_pixbuf_binarydir " " /loaders.cache" ) "
257
- gdk_pixbuf_moduledir=" $( get_pkgconf_variable " gdk_pixbuf_moduledir" " gdk-pixbuf-2.0" " $gdk_pixbuf_binarydir " " /loaders" ) "
269
+ gdk_libdir=" $( get_pkgconf_variable " libdir" " gdk-pixbuf-2.0" " $LD_GTK_LIBRARY_PATH " ) "
270
+ gdk_pixbuf_binarydir=" $( get_pkgconf_variable " gdk_pixbuf_binarydir" " gdk-pixbuf-2.0" " $gdk_libdir /gdk-pixbuf-2.0/2.10.0" ) "
271
+ gdk_pixbuf_cache_file=" $( get_pkgconf_variable " gdk_pixbuf_cache_file" " gdk-pixbuf-2.0" " $gdk_pixbuf_binarydir /loaders.cache" ) "
272
+ gdk_pixbuf_moduledir=" $( get_pkgconf_variable " gdk_pixbuf_moduledir" " gdk-pixbuf-2.0" " $gdk_pixbuf_binarydir /loaders" ) "
258
273
# Note: gdk_pixbuf_query_loaders variable is not defined on some systems
259
274
gdk_pixbuf_query=" $( search_tool " gdk-pixbuf-query-loaders" " gdk-pixbuf-2.0" ) "
260
275
copy_tree " $gdk_pixbuf_binarydir " " $APPDIR /"
273
288
sed -i " s|$gdk_pixbuf_moduledir /||g" " $APPDIR /$gdk_pixbuf_cache_file "
274
289
275
290
echo " Copying more libraries"
276
- gobject_libdir=" $( get_pkgconf_variable " libdir" " gobject-2.0" " /usr/lib/x86_64-linux-gnu " ) "
277
- gio_libdir=" $( get_pkgconf_variable " libdir" " gio-2.0" " /usr/lib/x86_64-linux-gnu " ) "
278
- librsvg_libdir=" $( get_pkgconf_variable " libdir" " librsvg-2.0" " /usr/lib/x86_64-linux-gnu " ) "
279
- pango_libdir=" $( get_pkgconf_variable " libdir" " pango" " /usr/lib/x86_64-linux-gnu " ) "
280
- pangocairo_libdir=" $( get_pkgconf_variable " libdir" " pangocairo" " /usr/lib/x86_64-linux-gnu " ) "
281
- pangoft2_libdir=" $( get_pkgconf_variable " libdir" " pangoft2" " /usr/lib/x86_64-linux-gnu " ) "
291
+ gobject_libdir=" $( get_pkgconf_variable " libdir" " gobject-2.0" " $LD_GTK_LIBRARY_PATH " ) "
292
+ gio_libdir=" $( get_pkgconf_variable " libdir" " gio-2.0" " $LD_GTK_LIBRARY_PATH " ) "
293
+ librsvg_libdir=" $( get_pkgconf_variable " libdir" " librsvg-2.0" " $LD_GTK_LIBRARY_PATH " ) "
294
+ pango_libdir=" $( get_pkgconf_variable " libdir" " pango" " $LD_GTK_LIBRARY_PATH " ) "
295
+ pangocairo_libdir=" $( get_pkgconf_variable " libdir" " pangocairo" " $LD_GTK_LIBRARY_PATH " ) "
296
+ pangoft2_libdir=" $( get_pkgconf_variable " libdir" " pangoft2" " $LD_GTK_LIBRARY_PATH " ) "
282
297
FIND_ARRAY=(
283
298
" $gdk_libdir " " libgdk_pixbuf-*.so*"
284
299
" $gobject_libdir " " libgobject-*.so*"
0 commit comments