From 8bfac8f41b4e6569f225ab2c21de207249b0bbc7 Mon Sep 17 00:00:00 2001 From: "U-YGGDRASIL\\ender" Date: Fri, 3 Mar 2023 15:21:46 +0100 Subject: [PATCH] Installer: speed up installation by rearranging the order of included files --- build/windows/installer/32on64.list | 25 ++++++++++++------------- build/windows/installer/compile.bat | 21 +++++++++++++++------ build/windows/installer/files.isi | 17 ++++++++--------- build/windows/installer/gimp3264.iss | 10 ++++++---- 4 files changed, 41 insertions(+), 32 deletions(-) diff --git a/build/windows/installer/32on64.list b/build/windows/installer/32on64.list index dfefd7d389..35b23f34b7 100644 --- a/build/windows/installer/32on64.list +++ b/build/windows/installer/32on64.list @@ -1,17 +1,16 @@ #list of 32bit files to install on x64 -!GTK -etc\fonts\ -lib\gtk-2.0\2.10.0\engines\*.dll -#lib\gtk-2.0\2.10.0\loaders\*.dll -lib\gtk-2.0\modules\*.dll -lib\gdk-pixbuf-2.0\2.10.0\loaders\*.dll -lib\gdk-pixbuf-2.0\2.10.0\loaders.cache -lib\babl-0.1\*.dll -lib\gegl-0.4\*.dll -lib\gio\modules\*.dll -share\themes\ -bin\gspawn*.exe -bin\*.dll !GIMP bin\*.dll +!GTK +bin\*.dll +bin\gspawn*.exe +lib\babl-0.1\*.dll +lib\gdk-pixbuf-2.0\2.10.0\loaders\*.dll +lib\gdk-pixbuf-2.0\2.10.0\loaders.cache +lib\gegl-0.4\*.dll +lib\gio\modules\*.dll +lib\gtk-2.0\2.10.0\engines\*.dll +lib\gtk-2.0\modules\*.dll +etc\fonts\ +share\themes\ !end diff --git a/build/windows/installer/compile.bat b/build/windows/installer/compile.bat index 047f5cd488..49c3fa19ac 100755 --- a/build/windows/installer/compile.bat +++ b/build/windows/installer/compile.bat @@ -3,15 +3,22 @@ if [%1]==[] goto help if [%2]==[] goto help if [%3]==[] goto help if [%4]==[] goto help +if [%4]==[] goto help +if [%5]==[] goto help +if [%6]==[] goto help +if [%7]==[] goto help +if [%8]==[] goto help set VER=%~1 set GIMP_BASE=%~2 set GIMP32=%~3 set GIMP64=%~4 -set DEPS_BASE=%~5 -set DEPS32=%~6 -set DEPS64=%~7 +set GIMPA64=%~5 +set DEPS_BASE=%~6 +set DEPS32=%~7 +set DEPS64=%~8 +set DEPSA64=%~9 -if [%INNOPATH%]==[] ( +if ["%INNOPATH%"]==[""] ( FOR /F "usebackq tokens=5,* skip=2" %%A IN (`REG QUERY "HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\Inno Setup 6_is1" /v "Inno Setup: App Path" /reg:32`) DO set INNOPATH=%%B ) if not exist "%INNOPATH%\iscc.exe" goto noinno @@ -24,6 +31,8 @@ shift shift shift shift +shift +shift set PARAMS= :doparams if "%1"=="" goto paramsdone @@ -32,11 +41,11 @@ shift goto doparams :paramsdone -"%INNOPATH%\iscc.exe" -DVERSION="%VER%" -DGIMP_DIR="%GIMP_BASE%" -DDIR32="%GIMP32%" -DDIR64="%GIMP64%" -DDEPS_DIR="%DEPS_BASE%" -DDDIR32="%DEPS32%" -DDDIR64="%DEPS64%" %PARAMS% gimp3264.iss +"%INNOPATH%\iscc.exe" -DVERSION="%VER%" -DGIMP_DIR="%GIMP_BASE%" -DDIR32="%GIMP32%" -DDIR64="%GIMP64%" -DDIRA64="%GIMPA64%" -DDEPS_DIR="%DEPS_BASE%" -DDDIR32="%DEPS32%" -DDDIR64="%DEPS64%" -DDDIRA64="%DEPSA64%" %PARAMS% gimp3264.iss goto :eof :help -echo Usage: %~n0%~x0 ver.si.on gimp_base_dir gimp_x86_dir gimp_x64_dir deps_base_dir deps_x86_dir deps_x64_dir [iscc_parameters] +echo Usage: %~n0%~x0 ver.si.on gimp_base_dir gimp_x86_dir gimp_x64_dir gimp_arm64_dir deps_base_dir deps_x86_dir deps_x64_dir deps_arm64_dir [iscc_parameters] echo Example: %~n0%~x0 2.9.4 X:\gimp-output\2.9-dev x86 x64 x:\gimp-deps x86 x64 -DPYTHON -DDEBUG_SYMBOLS goto :eof :noinno diff --git a/build/windows/installer/files.isi b/build/windows/installer/files.isi index d64be7b2d6..645b9b34fb 100644 --- a/build/windows/installer/files.isi +++ b/build/windows/installer/files.isi @@ -18,20 +18,13 @@ #error "Unknown PLATFORM:" + PLATFORM #endif -Source: "{#GIMP_DIR}\{#DIR}\*.dll"; DestDir: "{app}"; Components: gimp{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete +Source: "{#GIMP_DIR}\{#DIR}\*.dll"; DestDir: "{app}"; Components: gimp{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete solidbreak Source: "{#GIMP_DIR}\{#DIR}\*.exe"; DestDir: "{app}"; Excludes: "\lib\gimp\2.0\plug-ins\twain\twain.exe,\lib\gimp\2.0\plug-ins\file-ps\file-ps.exe,\bin\gimp.exe,\bin\gimp-console.exe"; Components: gimp{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete -#ifdef DEBUG_SYMBOLS -Source: "{#GIMP_DIR}\{#DIR}\*.debug"; DestDir: "{app}"; Components: gimp{#COMPONENT} and debug; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion -#endif Source: "{#GIMP_DIR}\{#DIR}\lib\gimp\2.0\plug-ins\file-ps\file-ps.exe"; DestDir: "{app}\lib\gimp\2.0\plug-ins\file-ps"; Components: gs and gimp{#COMPONENT}; Flags: restartreplace ignoreversion uninsrestartdelete Source: "{#DEPS_DIR}\{#DDIR}\bin\*.dll"; DestDir: "{app}\bin"; Excludes: "\bin\libgs*.dll"; Components: deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete Source: "{#DEPS_DIR}\{#DDIR}\bin\libgs*.dll"; DestDir: "{app}\bin"; Components: gs and deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete -#ifdef DEBUG_SYMBOLS -Source: "{#DEPS_DIR}\{#DDIR}\bin\.debug\*.dll.debug"; DestDir: "{app}\bin\.debug"; Components: deps{#COMPONENT} and debug; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete skipifsourcedoesntexist -Source: "{#DEPS_DIR}\{#DDIR}\lib\*.debug"; DestDir: "{app}\lib"; Components: deps{#COMPONENT} and debug; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete skipifsourcedoesntexist -#endif Source: "{#DEPS_DIR}\{#DDIR}\bin\gspawn-win*.exe"; DestDir: "{app}\bin"; Components: deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete Source: "{#DEPS_DIR}\{#DDIR}\bin\gdk-pixbuf-query-loaders.exe"; DestDir: "{app}\bin"; Components: deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete @@ -53,10 +46,16 @@ Source: "{#DEPS_DIR}\{#DDIR}\bin\libpython2.7.dll"; DestDir: "{app}\bin"; Compon Source: "{#DEPS_DIR}\{#DDIR}\lib\python2.7\*"; DestDir: "{app}\lib\python2.7"; Components: py and gimp{#COMPONENT}; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion #else ;no AArch64 Python 2.7 -Source: "{#GIMP_DIR}\{#DIR32}\lib\gimp\2.0\python\*.p*"; Excludes: "*.debug"; DestDir: "{app}\32\lib\gimp\2.0\python"; Components: gimp32on64\py; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#GIMP_DIR}\{#DIR32}\lib\gimp\2.0\python\*.p*"; Excludes: "*.debug"; DestDir: "{app}\32\lib\gimp\2.0\python"; Components: gimp32on64\py; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion solidbreak Source: "{#DEPS_DIR}\{#DDIR32}\bin\python2w.exe"; DestDir: "{app}\32\bin"; DestName: "pythonw.exe"; Components: gimp32on64\py; Flags: restartreplace uninsrestartdelete ignoreversion Source: "{#DEPS_DIR}\{#DDIR32}\bin\python2.exe"; DestDir: "{app}\32\bin"; DestName: "python.exe"; Components: gimp32on64\py; Flags: restartreplace uninsrestartdelete ignoreversion Source: "{#DEPS_DIR}\{#DDIR32}\bin\libpython2.7.dll"; DestDir: "{app}\32\bin"; Components: gimp32on64\py; Flags: restartreplace uninsrestartdelete ignoreversion Source: "{#DEPS_DIR}\{#DDIR32}\lib\python2.7\*"; DestDir: "{app}\32\lib\python2.7"; Components: gimp32on64\py; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion #endif #endif + +#ifdef DEBUG_SYMBOLS +Source: "{#GIMP_DIR}\{#DIR}\*.debug"; DestDir: "{app}"; Components: gimp{#COMPONENT} and debug; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#DEPS_DIR}\{#DDIR}\bin\.debug\*.dll.debug"; DestDir: "{app}\bin\.debug"; Components: deps{#COMPONENT} and debug; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete skipifsourcedoesntexist +Source: "{#DEPS_DIR}\{#DDIR}\lib\*.debug"; DestDir: "{app}\lib"; Components: deps{#COMPONENT} and debug; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete skipifsourcedoesntexist +#endif diff --git a/build/windows/installer/gimp3264.iss b/build/windows/installer/gimp3264.iss index f6ea10ce5f..d1c58b15cd 100755 --- a/build/windows/installer/gimp3264.iss +++ b/build/windows/installer/gimp3264.iss @@ -320,17 +320,19 @@ Source: "{#GIMP_DIR32}\lib\gimp\2.0\plug-ins\*.py"; DestDir: "{app}\lib\gimp\2.0 ;32-on-64bit #include "32on64.isi" -;prefer 32bit twain plugin over 64bit because 64bit twain drivers are rare -Source: "{#GIMP_DIR32}\lib\gimp\2.0\plug-ins\twain\twain.exe"; DestDir: "{app}\lib\gimp\2.0\plug-ins\twain"; Components: gimp32on64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion -Source: "{#GIMP_DIR64}\lib\gimp\2.0\plug-ins\twain\twain.exe"; DestDir: "{app}\lib\gimp\2.0\plug-ins\twain"; Components: (not gimp32on64) and gimp64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion -Source: "{#GIMP_DIRA64}\lib\gimp\2.0\plug-ins\twain\twain.exe"; DestDir: "{app}\lib\gimp\2.0\plug-ins\twain"; Components: (not gimp32on64) and gimpARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion + ;plugins not available for AArch64 Source: "{#GIMP_DIR32}\lib\gimp\2.0\plug-ins\help-browser\help-browser.exe"; DestDir: "{app}\lib\gimp\2.0\plug-ins\help-browser"; Components: gimp32on64 and gimpARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion Source: "{#GIMP_DIR32}\lib\gimp\2.0\plug-ins\web-page\web-page.exe"; DestDir: "{app}\lib\gimp\2.0\plug-ins\web-page"; Components: gimp32on64 and gimpARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +;prefer 32bit twain plugin over 64bit because 64bit twain drivers are rare +Source: "{#GIMP_DIR32}\lib\gimp\2.0\plug-ins\twain\twain.exe"; DestDir: "{app}\lib\gimp\2.0\plug-ins\twain"; Components: gimp32on64 or gimp32; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion solidbreak +Source: "{#GIMP_DIR64}\lib\gimp\2.0\plug-ins\twain\twain.exe"; DestDir: "{app}\lib\gimp\2.0\plug-ins\twain"; Components: (not gimp32on64) and gimp64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#GIMP_DIRA64}\lib\gimp\2.0\plug-ins\twain\twain.exe"; DestDir: "{app}\lib\gimp\2.0\plug-ins\twain"; Components: (not gimp32on64) and gimpARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion ;special case due to MS-Windows engine Source: "{#DEPS_DIR32}\etc\gtk-2.0\*"; DestDir: "{app}\32\etc\gtk-2.0"; Excludes: gtkrc; Components: gimp32on64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion Source: "{#DEPS_DIR32}\etc\gtk-2.0\gtkrc"; DestDir: "{app}\32\etc\gtk-2.0"; Components: gimp32on64 and deps64\wimp; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion ;compat libraries +Source: "{#DEPS_DIR}\compat\*.dll"; DestDir: "{app}"; Components: compat; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion Source: "{#DEPS_DIR}\compat\*.dll"; DestDir: "{app}\32\"; Components: gimp32on64\compat; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion ;upgrade zlib1.dll in System32 if it's present there to avoid breaking plugins