Modified the binary files to use MSYS2 environment of GTK (mingw64 folder)

Also added a script which copies all necessary files from the appropriate MSYS2/mingw64 folders to the bin folder of the install environment
Updated GTK3 NSI script
This commit is contained in:
peterbud 2016-09-05 21:21:51 +02:00
parent 9ee00261c1
commit eb4d5b4717
69 changed files with 149 additions and 14 deletions

1
.gitignore vendored
View File

@ -2,3 +2,4 @@
gtk2-runtime*-ts-win64*exe
gtk3-runtime*-ts-win64*exe
*.swp
/.vscode

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,118 @@
#!/bin/sh
# ---------------------------------------------------------------------------
# Set default values to option vars
# ---------------------------------------------------------------------------
INSTALL_SRC_DIR=$(dirname "$0")
INSTALL_SRC_MSYS2="/mingw64/"
_DATE=$(date +'%Y-%m-%d')
_VERSION="3.20.2"
_ARCH="win64"
# ---------------------------------------------------------------------------
# Check source directory and prepare binary and lib destination directory
# in the NSIS source tree
# ---------------------------------------------------------------------------
test "${INSTALL_SRC_DIR}" = "." && INSTALL_SRC_DIR=${PWD}
INSTALL_SRC_BIN="${INSTALL_SRC_DIR}"/bin
INSTALL_SRC_MSYS2_BIN=${INSTALL_SRC_MSYS2}/bin
INSTALL_SRC_MSYS2_LIB=${INSTALL_SRC_MSYS2}/lib
# Create installer file name
INSTALLER_FILENAME=gtk3-runtime-${_VERSION}-${_DATE}-${_ARCH}.msi
echo $INSTALLER_FILENAME
# ---------------------------------------------------------------------------
# Copy relevant GTK files to the binary destination directory
# ---------------------------------------------------------------------------
echo "Copying all GTK files from : " $INSTALL_SRC_MSYS2
echo " to NSIS source directory: " $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libatk-1.0-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libatkmm-1.6-1.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libcairo-2.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libcairo-gobject-2.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libcairo-script-interpreter-2.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libcairomm-1.0-1.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libepoxy-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libexslt-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libffi-6.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libfontconfig-1.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libfreetype-6.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libgailutil-3-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libgdk_pixbuf-2.0-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libgdk-3-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libgdkmm-3.0-1.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libgio-2.0-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libglib-2.0-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libglibmm-2.4-1.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libgiomm-2.4-1.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libsigc-2.0-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libglibmm_generate_extra_defs-2.4-1.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libgmodule-2.0-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libgobject-2.0-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libgthread-2.0-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libgtk-3-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libgtksourceview-3.0-1.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libgtksourceviewmm-3.0-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libgtkmm-3.0-1.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libharfbuzz-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libintl-8.dll $INSTALL_SRC_BIN
# I'm not sure that this is needed...:
cp $INSTALL_SRC_MSYS2_BIN/libiconv-2.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libjson-glib-1.0-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libpango-1.0-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libpangocairo-1.0-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libpangowin32-1.0-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libpangoft2-1.0-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libpangomm-1.4-1.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libpixman-1-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libpng16-16.dll $INSTALL_SRC_BIN
# No need for this IMHO, at least fontconfig is not dependent on these
# cp $INSTALL_SRC_MSYS2_BIN/libxml++-2.6-2.dll $INSTALL_SRC_BIN
# cp $INSTALL_SRC_MSYS2_BIN/libxml++-3.0-1.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libxml2-2.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libxslt-1.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libpcre-1.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/zlib1.dll $INSTALL_SRC_BIN
# These six additional one seems to me that is needed for my test GTK app,
# as I see mainly needed for fontconfig package and dlls
cp $INSTALL_SRC_MSYS2_BIN/libgtk-win32-2.0-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libgdk-win32-2.0-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libexpat-1.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libbz2-1.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libgraphite2.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/librsvg-2-2.dll $INSTALL_SRC_BIN
# Standrard MSYS2 libraries
cp $INSTALL_SRC_MSYS2_BIN/libstdc++-6.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libgcc_s_seh-1.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libwinpthread-1.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/fc-cache.exe $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/fc-cat.exe $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/fc-list.exe $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/fc-match.exe $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/fc-pattern.exe $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/fc-query.exe $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/fc-scan.exe $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/fc-validate.exe $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/gdk-pixbuf-query-loaders.exe $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/gspawn-win64-helper.exe $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/gspawn-win64-helper-console.exe $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/gtk-query-immodules-3.0.exe $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/gtk-update-icon-cache.exe $INSTALL_SRC_BIN
# Should we also include libpixbufloader*. dll files under /lib/gdk-pixbuf-2.0, ie: libpixbufloader-svg.dll
echo "Done with copying all binary relevant GTK files to the binary destination directory"
echo "Now you can initiate the creation of the installer package with NSIS"

View File

@ -1,3 +1,7 @@
[Settings]
gtk-theme-name = gtk-win32
gtk-icon-theme-name = Adwaita
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintfull
gtk-xft-rgba=rgb

View File

@ -13,7 +13,7 @@
!define GTK_VERSION "3.20.2"
!define GTK_BIN_VERSION "3.0.0"
!define PRODUCT_VERSION "${GTK_VERSION}-2016-04-09-ts-win64"
!define PRODUCT_VERSION "${GTK_VERSION}-2016-09-05-ts-win64"
!define PRODUCT_NAME "GTK3-Runtime Win64"
!define PRODUCT_PUBLISHER "Tom Schoonjans"
!define PRODUCT_WEB_SITE "https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer"
@ -89,7 +89,7 @@ ShowUnInstDetails show
; Only useful for BZIP2 compression
ReserveFile "nsi_pathpage.ini"
ReserveFile "nsi_configpage.ini"
ReserveFile "${NSISDIR}\Plugins\InstallOptions.dll"
ReserveFile "${NSISDIR}\Plugins\x86-unicode\InstallOptions.dll"
; Pages to show during installation
@ -261,7 +261,7 @@ SectionIn 1 2 RO
File bin\libgtkmm-3.0-1.dll
File bin\libharfbuzz-0.dll
File bin\libintl-8.dll ; gettext, needed by all i18n libs
File bin\iconv.dll
File bin\libiconv-2.dll
File bin\libjson-glib-1.0-0.dll ; gettext, needed by all i18n libs
File bin\libpango-1.0-0.dll ; pango, needed by gtk
File bin\libpangocairo-1.0-0.dll ; pango, needed by gtk
@ -270,15 +270,21 @@ SectionIn 1 2 RO
File bin\libpangomm-1.4-1.dll
File bin\libpixman-1-0.dll ; libpixman, needed by cairo
File bin\libpng16-16.dll ; for gdk_pixbuf loader.
File bin\libxml++-2.6-2.dll ; fontconfig needs this
File bin\libxml++-3.0-1.dll
; File bin\libxml++-2.6-2.dll ; fontconfig needs this
; File bin\libxml++-3.0-1.dll
File bin\libxml2-2.dll ; fontconfig needs this
File bin\libxslt-1.dll ; fontconfig needs this
File bin\libpcre-1.dll ; fontconfig needs this
File bin\zlib1.dll ; png and many others need this
File bin\libstdc++_64-6.dll
File bin\libgcc_s_seh_64-1.dll
File bin\libwinpthread_64-1.dll
File bin\libgtk-win32-2.0-0.dll
File bin\libgdk-win32-2.0-0.dll
File bin\libexpat-1.dll
File bin\libbz2-1.dll
File bin\libgraphite2.dll
File bin\librsvg-2-2.dll
File bin\libstdc++-6.dll
File bin\libgcc_s_seh-1.dll
File bin\libwinpthread-1.dll
; We install this into the same place as the DLLs to avoid any PATH manipulation.
SetOutPath "$LIB_INSTDIR"
@ -614,7 +620,7 @@ Function un.DeleteDlls
Delete $LIB_INSTDIR\libgtkmm-3.0-1.dll
Delete $LIB_INSTDIR\libharfbuzz-0.dll
Delete $LIB_INSTDIR\libintl-8.dll ; gettext, needed by all i18n libs
Delete $LIB_INSTDIR\iconv.dll
Delete $LIB_INSTDIR\libiconv-2.dll
Delete $LIB_INSTDIR\libjson-glib-1.0-0.dll
Delete $LIB_INSTDIR\libpango-1.0-0.dll ; pango, needed by gtk
Delete $LIB_INSTDIR\libpangocairo-1.0-0.dll ; pango, needed by gtk
@ -626,12 +632,18 @@ Function un.DeleteDlls
Delete $LIB_INSTDIR\libxslt-1.dll ; fontconfig needs this
Delete $LIB_INSTDIR\libpcre-1.dll ; fontconfig needs this
Delete $LIB_INSTDIR\libxml2-2.dll ; fontconfig needs this
Delete $LIB_INSTDIR\libxml++-2.6-2.dll ; fontconfig needs this
Delete $LIB_INSTDIR\libxml++-3.0-1.dll
; Delete $LIB_INSTDIR\libxml++-2.6-2.dll ; fontconfig needs this
; Delete $LIB_INSTDIR\libxml++-3.0-1.dll
Delete $LIB_INSTDIR\zlib1.dll ; png and many others need this
Delete $LIB_INSTDIR\libstdc++_64-6.dll
Delete $LIB_INSTDIR\libgcc_s_seh_64-1.dll
Delete $LIB_INSTDIR\libwinpthread_64-1.dll
Delete $LIB_INSTDIR\libgtk-win32-2.0-0.dll
Delete $LIB_INSTDIR\libgdk-win32-2.0-0.dll
Delete $LIB_INSTDIR\libexpat-1.dll
Delete $LIB_INSTDIR\libbz2-1.dll
Delete $LIB_INSTDIR\libgraphite2.dll
Delete $LIB_INSTDIR\librsvg-2-2.dll
Delete $LIB_INSTDIR\libstdc++-6.dll
Delete $LIB_INSTDIR\libgcc_s_seh-1.dll
Delete $LIB_INSTDIR\libwinpthread-1.dll
FunctionEnd