#!/bin/bash PKG_CONFIG="@PKG_CONFIG@" GTK_VERSION="gtk+-@GTK_VERSION@" GTK_PREFIX=$($PKG_CONFIG --variable=prefix $GTK_VERSION) TARGET_PATH=".bin/gtkruntime" # Clean target folder rm -fr "$TARGET_PATH/*" mkdir -p "$TARGET_PATH" copyFiles() { while read FILE do GTKPATH=$(find "$GTK_PREFIX/bin" -name "$FILE") SYSPATH=$(find "/bin" -name "$FILE") if [ ! -z "$GTKPATH" ]; then echo "$GTKPATH ..." cp $GTKPATH "$TARGET_PATH" if [ "$?" != "0" ]; then echo "Can´t copy $GTKPATH" exit -1 fi elif [ ! -z "$SYSPATH" ]; then echo "$SYSPATH ..." cp $SYSPATH "$TARGET_PATH" if [ "$?" != "0" ]; then echo "Can´t copy $SYSPATH" exit -1 fi else echo "Can´t find $FILE" fi done < $1 rm -f $1 } copy_locale() { rm -fr $TARGET_PATH/share/locale/pt_BR/LC_MESSAGES mkdir -p $TARGET_PATH/share/locale/pt_BR/LC_MESSAGES while read FILE do echo "$GTK_PREFIX/share/locale/pt_BR/LC_MESSAGES/$FILE ..." if [ -e "$GTK_PREFIX/share/locale/pt_BR/LC_MESSAGES/$FILE" ]; then cp "$GTK_PREFIX/share/locale/pt_BR/LC_MESSAGES/$FILE" "$TARGET_PATH/share/locale/pt_BR/LC_MESSAGES" if [ "$?" != "0" ]; then echo "Can´t copy $FILE" exit -1 fi fi done < $1 rm -f $1 } gtk3() { TEMPFILE="temp1.tmp" cat > $TEMPFILE << EOF libglib-*.dll libintl*.dll libgmodule*.dll libgobject*.dll libffi*.dll libgtk-*.dll libgdk-*.dll libcairo-gobject*.dll libcairo-2*.dll libfontconfig-1*.dll libfreetype-6*.dll zlib1.dll libxml2-*.dll libpixman-1*.dll libpng15-*.dll libgdk_pixbuf*.dll libgio-*.dll libjasper-*.dll libjpeg-8*.dll libtiff-5*.dll liblzma-5*.dll libpango-1*.dll libpangocairo-1*.dll libpangoft2-1*.dll libpangowin32-1*.dll libatk-*.dll libcrypto-*.dll libssl-*.dll libgcc_s_sjlj-1.dll libgcc_s_seh-1.dll libharfbuzz-0.dll icule51.dll icuuc51.dll icudata51.dll libstdc++-6.dll libgraphite2.dll gspawn-win32-helper-console.exe gspawn-win32-helper.exe gdk-pixbuf-query-loaders.exe EOF copyFiles $TEMPFILE # Build locale dirs cat > $TEMPFILE << EOF atk10.mo gdk-pixbuf.mo glib20.mo gtk30-properties.mo EOF copy_locale $TEMPFILE mkdir -p $TARGET_PATH/share/glib-2.0/schemas if [ "$?" != 0 ]; then echo "Can´t create schemas folder" exit -1 fi if [ ! -e $GTK_PREFIX/share/glib-2.0/schemas/gschemas.compiled ]; then glib-compile-schemas $GTK_PREFIX/share/glib-2.0/schemas fi cp $GTK_PREFIX/share/glib-2.0/schemas/gschemas.compiled $TARGET_PATH/share/glib-2.0/schemas/gschemas.compiled if [ "$?" != 0 ]; then echo "Can´t copy gshemas.compiled" exit -1 fi } gtk2() { # Build DLL list TEMPFILE="temp1.tmp" cat > $TEMPFILE << EOF intl.dll libatk-1.0-0.dll libcairo-2.dll libgailutil-18.dll libgdk_pixbuf-2.0-0.dll libgdk-win32-2.0-0.dll libgettextlib-0-*.dll libgettextpo*.dll libgettextsrc*.dll libgio-2.0-0.dll libglib-2.0-0.dll libgmodule-2.0-0.dll libgobject-2.0-0.dll libgthread-2.0-0.dll libgtk-win32-2.0-0.dll libpango-1.0-0.dll libpangocairo-1.0-0.dll libpangoft2-1.0-0.dll libpangowin32-1.0-0.dll zlib1.dll libpng*.dll libfontconfig*.dll libasprintf*.dll libgettextlib*.dll libexpat*.dll freetype*.dll gspawn-win32-helper-console.exe gspawn-win32-helper.exe gdk-pixbuf-query-loaders.exe EOF # jpeg62.dll # libtiff*.dll copyFiles $TEMPFILE # Build locale dirs cat > $TEMPFILE << EOF atk10.mo gdk-pixbuf.mo gettext-runtime.mo gettext-tools.mo glib20.mo gtk20-properties.mo gtk20.mo libiconv.mo EOF copy_locale $TEMPFILE # Copy default theme THEME_PATH="themes/MS-Windows/gtk-2.0" rm -fr "$TARGET_PATH/$THEME_PATH" mkdir -p "$TARGET_PATH/share/$THEME_PATH" echo "$GTK_PREFIX/share/$THEME_PATH/gtkrc ..." cp "$GTK_PREFIX/share/$THEME_PATH/gtkrc" "$TARGET_PATH/share/$THEME_PATH/gtkrc" if [ "$?" != "0" ]; then echo "Can´t copy default theme" exit -1 fi cat > $TEMPFILE << EOF engines loaders EOF rm -fr $TARGET_PATH/lib/gtk-2.0/$GTK_RUNTIME_VERSION/ mkdir -p $TARGET_PATH/lib/gtk-2.0/$GTK_RUNTIME_VERSION/ while read DIRNAME do if [ -d "$GTK_PREFIX/lib/gtk-2.0/$GTK_RUNTIME_VERSION/$DIRNAME" ]; then echo "$GTK_PREFIX/lib/gtk-2.0/$GTK_RUNTIME_VERSION/$DIRNAME ..." mkdir -p "$TARGET_PATH/lib/gtk-2.0/$GTK_RUNTIME_VERSION/$DIRNAME" cp -r "$GTK_PREFIX/lib/gtk-2.0/$GTK_RUNTIME_VERSION/$DIRNAME" "$TARGET_PATH/lib/gtk-2.0/$GTK_RUNTIME_VERSION" if [ "$?" != "0" ]; then echo "Can´t copy $DIRNAME" exit -1 fi fi done < $TEMPFILE rm -f $TEMPFILE mkdir -p $TARGET_PATH/etc/gtk-2.0/ echo "gtk-theme-name = \"MS-Windows\"" > $TARGET_PATH/etc/gtk-2.0/gtkrc if [ "$?" != "0" ]; then echo "Can´t set theme name" exit -1 fi } if [ "$GTK_VERSION" == "gtk+-3.0" ]; then gtk3 else gtk2 fi