From 9b29cc35be45bfec779bba1632a9d513dc323c54 Mon Sep 17 00:00:00 2001 From: Bruno Date: Sun, 16 Jun 2024 15:37:11 -0300 Subject: [PATCH] build/windows: Reduce redundancy on [Files] flags --- build/windows/installer/base_executables.isi | 34 ++++++++++---------- build/windows/installer/base_gimp3264.iss | 29 +++++++++-------- 2 files changed, 32 insertions(+), 31 deletions(-) diff --git a/build/windows/installer/base_executables.isi b/build/windows/installer/base_executables.isi index 2c636d2ffc..bfefb2a715 100644 --- a/build/windows/installer/base_executables.isi +++ b/build/windows/installer/base_executables.isi @@ -21,37 +21,37 @@ ;Required arch-specific components (minimal install) -Source: "{#GIMP_DIR}\{#DIR}\*.dll"; DestDir: "{app}"; Excludes: "bin\libgs*.dll,bin\lua*.dll,gluas.dll,bin\libpython*.dll"; Components: gimp{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete -Source: "{#GIMP_DIR}\{#DIR}\*.exe"; DestDir: "{app}"; Excludes: "\lib\gimp\{#GIMP_API_VERSION}\plug-ins\file-ps\file-ps.exe,\bin\gegl*.exe,\bin\lua*.exe,\bin\python*.exe,\lib\gimp\{#GIMP_API_VERSION}\plug-ins\twain\twain.exe"; Components: gimp{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete -Source: "{#GIMP_DIR}\{#DIR}\lib\gimp\{#GIMP_API_VERSION}\extensions\*.*"; DestDir: "{app}\lib\gimp\{#GIMP_API_VERSION}\extensions"; Excludes: "*.debug,*.lua,*.py"; Components: gimp{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete -Source: "{#GIMP_DIR}\{#DIR}\lib\girepository-1.0\*.*"; DestDir: "{app}\lib\girepository-1.0"; Components: gimp{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete +Source: "{#GIMP_DIR}\{#DIR}\*.dll"; DestDir: "{app}"; Excludes: "bin\libgs*.dll,bin\lua*.dll,gluas.dll,bin\libpython*.dll"; Components: gimp{#COMPONENT}; Flags: {#COMMON_FLAGS} +Source: "{#GIMP_DIR}\{#DIR}\*.exe"; DestDir: "{app}"; Excludes: "\lib\gimp\{#GIMP_API_VERSION}\plug-ins\file-ps\file-ps.exe,\bin\gegl*.exe,\bin\lua*.exe,\bin\python*.exe,\lib\gimp\{#GIMP_API_VERSION}\plug-ins\twain\twain.exe"; Components: gimp{#COMPONENT}; Flags: {#COMMON_FLAGS} +Source: "{#GIMP_DIR}\{#DIR}\lib\gimp\{#GIMP_API_VERSION}\extensions\*.*"; DestDir: "{app}\lib\gimp\{#GIMP_API_VERSION}\extensions"; Excludes: "*.debug,*.lua,*.py"; Components: gimp{#COMPONENT}; Flags: {#COMMON_FLAGS} +Source: "{#GIMP_DIR}\{#DIR}\lib\girepository-1.0\*.*"; DestDir: "{app}\lib\girepository-1.0"; Components: gimp{#COMPONENT}; Flags: {#COMMON_FLAGS} -Source: "{#DEPS_DIR}\{#DDIR}\bin\*.dll"; DestDir: "{app}\bin"; Excludes: "libgimp*.dll,libgs*.dll,lua*.dll,libpython*.dll"; Components: deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete -Source: "{#DEPS_DIR}\{#DDIR}\bin\*.exe"; DestDir: "{app}\bin"; Excludes: "gimp*.exe,lua*.exe,python*.exe"; Components: deps{#COMPONENT}; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion -Source: "{#DEPS_DIR}\{#DDIR}\lib\*"; DestDir: "{app}\lib"; Excludes: "*.debug,gluas.dll,\gimp\*,\lua\*,\python3.11\*"; Components: deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete +Source: "{#DEPS_DIR}\{#DDIR}\bin\*.dll"; DestDir: "{app}\bin"; Excludes: "libgimp*.dll,libgs*.dll,lua*.dll,libpython*.dll"; Components: deps{#COMPONENT}; Flags: {#COMMON_FLAGS} +Source: "{#DEPS_DIR}\{#DDIR}\bin\*.exe"; DestDir: "{app}\bin"; Excludes: "gimp*.exe,lua*.exe,python*.exe"; Components: deps{#COMPONENT}; Flags: {#COMMON_FLAGS} +Source: "{#DEPS_DIR}\{#DDIR}\lib\*"; DestDir: "{app}\lib"; Excludes: "*.debug,gluas.dll,\gimp\*,\lua\*,\python3.11\*"; Components: deps{#COMPONENT}; Flags: {#COMMON_FLAGS} ;Optional arch-specific components (complete install) #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: "{#GIMP_DIR}\{#DIR}\lib\gimp\{#GIMP_API_VERSION}\extensions\*.debug"; DestDir: "{app}\lib\gimp\{#GIMP_API_VERSION}\extensions"; Components: gimp{#COMPONENT} and debug; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete -Source: "{#DEPS_DIR}\{#DDIR}\lib\*.debug"; DestDir: "{app}\lib"; Components: deps{#COMPONENT} and debug; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete skipifsourcedoesntexist +Source: "{#GIMP_DIR}\{#DIR}\*.debug"; DestDir: "{app}"; Components: gimp{#COMPONENT} and debug; Flags: {#COMMON_FLAGS} +Source: "{#DEPS_DIR}\{#DDIR}\bin\.debug\*.dll.debug"; DestDir: "{app}\bin\.debug"; Components: deps{#COMPONENT} and debug; Flags: {#COMMON_FLAGS} skipifsourcedoesntexist +Source: "{#GIMP_DIR}\{#DIR}\lib\gimp\{#GIMP_API_VERSION}\extensions\*.debug"; DestDir: "{app}\lib\gimp\{#GIMP_API_VERSION}\extensions"; Components: gimp{#COMPONENT} and debug; Flags: {#COMMON_FLAGS} +Source: "{#DEPS_DIR}\{#DDIR}\lib\*.debug"; DestDir: "{app}\lib"; Components: deps{#COMPONENT} and debug; Flags: {#COMMON_FLAGS} skipifsourcedoesntexist #endif -Source: "{#DEPS_DIR}\{#DDIR}\bin\libgs*.dll"; DestDir: "{app}\bin"; Components: gs and deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete +Source: "{#DEPS_DIR}\{#DDIR}\bin\libgs*.dll"; DestDir: "{app}\bin"; Components: gs and deps{#COMPONENT}; Flags: {#COMMON_FLAGS} Source: "{#GIMP_DIR}\{#DIR}\lib\gimp\{#GIMP_API_VERSION}\plug-ins\file-ps\file-ps.exe"; DestDir: "{app}\lib\gimp\{#GIMP_API_VERSION}\plug-ins\file-ps"; Components: gs and gimp{#COMPONENT}; Flags: restartreplace ignoreversion uninsrestartdelete #ifdef LUA Source: "{#DEPS_DIR}\{#DDIR}\bin\lua*.dll"; DestDir: "{app}\bin"; Components: lua and gimp{#COMPONENT}; Flags: restartreplace uninsrestartdelete ignoreversion Source: "{#DEPS_DIR}\{#DDIR}\bin\lua*.exe"; DestDir: "{app}\bin"; Components: lua and gimp{#COMPONENT}; Flags: restartreplace uninsrestartdelete ignoreversion -Source: "{#DEPS_DIR}\{#DDIR}\lib\lua\*"; DestDir: "{app}\lib\lua"; Excludes: "*.debug"; Components: lua and gimp{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete -Source: "{#DEPS_DIR}\{#DDIR}\lib\gegl-0.4\gluas.dll"; DestDir: "{app}\lib\gegl-0.4"; Components: lua and deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete -Source: "{#GIMP_DIR}\{#DIR}\lib\gimp\{#GIMP_API_VERSION}\extensions\*.lua"; DestDir: "{app}\lib\gimp\{#GIMP_API_VERSION}\extensions"; Components: lua and gimp{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete +Source: "{#DEPS_DIR}\{#DDIR}\lib\lua\*"; DestDir: "{app}\lib\lua"; Excludes: "*.debug"; Components: lua and gimp{#COMPONENT}; Flags: {#COMMON_FLAGS} +Source: "{#DEPS_DIR}\{#DDIR}\lib\gegl-0.4\gluas.dll"; DestDir: "{app}\lib\gegl-0.4"; Components: lua and deps{#COMPONENT}; Flags: {#COMMON_FLAGS} +Source: "{#GIMP_DIR}\{#DIR}\lib\gimp\{#GIMP_API_VERSION}\extensions\*.lua"; DestDir: "{app}\lib\gimp\{#GIMP_API_VERSION}\extensions"; Components: lua and gimp{#COMPONENT}; Flags: {#COMMON_FLAGS} #endif #ifdef PYTHON Source: "{#DEPS_DIR}\{#DDIR}\bin\libpython*.dll"; DestDir: "{app}\bin"; Components: py and gimp{#COMPONENT}; Flags: restartreplace uninsrestartdelete ignoreversion Source: "{#DEPS_DIR}\{#DDIR}\bin\python*.exe"; DestDir: "{app}\bin"; Components: py and gimp{#COMPONENT}; Flags: restartreplace uninsrestartdelete ignoreversion -Source: "{#DEPS_DIR}\{#DDIR}\lib\python3.11\*"; DestDir: "{app}\lib\python3.11"; Excludes: "*.debug"; Components: py and gimp{#COMPONENT}; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion -Source: "{#GIMP_DIR}\{#DIR}\lib\gimp\{#GIMP_API_VERSION}\extensions\*.py"; DestDir: "{app}\lib\gimp\{#GIMP_API_VERSION}\extensions"; Components: py and gimp{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete +Source: "{#DEPS_DIR}\{#DDIR}\lib\python3.11\*"; DestDir: "{app}\lib\python3.11"; Excludes: "*.debug"; Components: py and gimp{#COMPONENT}; Flags: {#COMMON_FLAGS} +Source: "{#GIMP_DIR}\{#DIR}\lib\gimp\{#GIMP_API_VERSION}\extensions\*.py"; DestDir: "{app}\lib\gimp\{#GIMP_API_VERSION}\extensions"; Components: py and gimp{#COMPONENT}; Flags: {#COMMON_FLAGS} #endif diff --git a/build/windows/installer/base_gimp3264.iss b/build/windows/installer/base_gimp3264.iss index edb5e34ac8..76ed0b27c8 100644 --- a/build/windows/installer/base_gimp3264.iss +++ b/build/windows/installer/base_gimp3264.iss @@ -290,28 +290,29 @@ Source: "installsplash.bmp"; Flags: dontcopy Source: "installsplash_small.bmp"; Flags: dontcopy #ifndef NOFILES +#define COMMON_FLAGS="recursesubdirs restartreplace uninsrestartdelete ignoreversion" ;Required neutral components (minimal install) #define GIMP_ARCHS="gimp32 or gimp64 or gimpARM64" -Source: "{#GIMP_DIR32}\etc\*"; DestDir: "{app}\etc"; Components: {#GIMP_ARCHS}; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion -Source: "{#GIMP_DIR32}\lib\gimp\{#GIMP_API_VERSION}\environ\*"; DestDir: "{app}\lib\gimp\{#GIMP_API_VERSION}\environ"; Components: {#GIMP_ARCHS}; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion -Source: "{#GIMP_DIR32}\lib\gimp\{#GIMP_API_VERSION}\interpreters\gimp-script-fu-interpreter.interp"; DestDir: "{app}\lib\gimp\{#GIMP_API_VERSION}\interpreters"; Components: {#GIMP_ARCHS}; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion -Source: "{#GIMP_DIR32}\share\gimp\*"; DestDir: "{app}\share\gimp"; Components: {#GIMP_ARCHS}; Flags: recursesubdirs createallsubdirs restartreplace uninsrestartdelete ignoreversion -Source: "{#GIMP_DIR32}\share\metainfo\*"; DestDir: "{app}\share\metainfo"; Components: {#GIMP_ARCHS}; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#GIMP_DIR32}\etc\*"; DestDir: "{app}\etc"; Components: {#GIMP_ARCHS}; Flags: {#COMMON_FLAGS} +Source: "{#GIMP_DIR32}\lib\gimp\{#GIMP_API_VERSION}\environ\*"; DestDir: "{app}\lib\gimp\{#GIMP_API_VERSION}\environ"; Components: {#GIMP_ARCHS}; Flags: {#COMMON_FLAGS} +Source: "{#GIMP_DIR32}\lib\gimp\{#GIMP_API_VERSION}\interpreters\gimp-script-fu-interpreter.interp"; DestDir: "{app}\lib\gimp\{#GIMP_API_VERSION}\interpreters"; Components: {#GIMP_ARCHS}; Flags: {#COMMON_FLAGS} +Source: "{#GIMP_DIR32}\share\gimp\*"; DestDir: "{app}\share\gimp"; Components: {#GIMP_ARCHS}; Flags: {#COMMON_FLAGS} createallsubdirs +Source: "{#GIMP_DIR32}\share\metainfo\*"; DestDir: "{app}\share\metainfo"; Components: {#GIMP_ARCHS}; Flags: {#COMMON_FLAGS} #define DEPS_ARCHS="deps32 or deps64 or depsARM64" -Source: "{#DEPS_DIR32}\etc\*"; DestDir: "{app}\etc"; Excludes: "\gimp"; Components: {#DEPS_ARCHS}; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion -Source: "{#DEPS_DIR32}\share\*"; DestDir: "{app}\share"; Excludes: "\gimp\*,\metainfo\*,\locale\*,\mypaint-data\*,"; Components: {#DEPS_ARCHS}; Flags: recursesubdirs createallsubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#DEPS_DIR32}\etc\*"; DestDir: "{app}\etc"; Excludes: "\gimp"; Components: {#DEPS_ARCHS}; Flags: {#COMMON_FLAGS} +Source: "{#DEPS_DIR32}\share\*"; DestDir: "{app}\share"; Excludes: "\gimp\*,\metainfo\*,\locale\*,\mypaint-data\*,"; Components: {#DEPS_ARCHS}; Flags: {#COMMON_FLAGS} createallsubdirs ;Optional neutral components (complete install) -Source: "{#GIMP_DIR32}\share\locale\*"; DestDir: "{app}\share\locale"; Components: loc; Flags: dontcopy recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#GIMP_DIR32}\share\locale\*"; DestDir: "{app}\share\locale"; Components: loc; Flags: dontcopy {#COMMON_FLAGS} #include "base_po-files.list" #ifdef LUA -Source: "{#GIMP_DIR32}\lib\gimp\{#GIMP_API_VERSION}\interpreters\lua.interp"; DestDir: "{app}\lib\gimp\{#GIMP_API_VERSION}\interpreters"; Components: lua and ({#GIMP_ARCHS}); Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#GIMP_DIR32}\lib\gimp\{#GIMP_API_VERSION}\interpreters\lua.interp"; DestDir: "{app}\lib\gimp\{#GIMP_API_VERSION}\interpreters"; Components: lua and ({#GIMP_ARCHS}); Flags: {#COMMON_FLAGS} #endif -Source: "{#DEPS_DIR32}\share\mypaint-data\*"; DestDir: "{app}\share\mypaint-data"; Components: mypaint; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#DEPS_DIR32}\share\mypaint-data\*"; DestDir: "{app}\share\mypaint-data"; Components: mypaint; Flags: {#COMMON_FLAGS} #ifdef PYTHON -Source: "{#GIMP_DIR32}\lib\gimp\{#GIMP_API_VERSION}\interpreters\pygimp.interp"; DestDir: "{app}\lib\gimp\{#GIMP_API_VERSION}\interpreters"; Components: py and ({#GIMP_ARCHS}); Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion -Source: "{#GIMP_DIR32}\lib\gimp\{#GIMP_API_VERSION}\plug-ins\*.py"; DestDir: "{app}\lib\gimp\{#GIMP_API_VERSION}\plug-ins"; Components: py; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#GIMP_DIR32}\lib\gimp\{#GIMP_API_VERSION}\interpreters\pygimp.interp"; DestDir: "{app}\lib\gimp\{#GIMP_API_VERSION}\interpreters"; Components: py and ({#GIMP_ARCHS}); Flags: {#COMMON_FLAGS} +Source: "{#GIMP_DIR32}\lib\gimp\{#GIMP_API_VERSION}\plug-ins\*.py"; DestDir: "{app}\lib\gimp\{#GIMP_API_VERSION}\plug-ins"; Components: py; Flags: {#COMMON_FLAGS} #endif @@ -320,7 +321,7 @@ Source: "{#GIMP_DIR32}\lib\gimp\{#GIMP_API_VERSION}\plug-ins\*.py"; DestDir: "{a #define PLATFORM X86 #include "base_executables.isi" ;special case, since 64bit version doesn't work, and is excluded in base_executables.isi -Source: "{#GIMP_DIR32}\lib\gimp\{#GIMP_API_VERSION}\plug-ins\twain.exe"; DestDir: "{app}\lib\gimp\{#GIMP_API_VERSION}\plug-ins"; Components: gimp32; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#GIMP_DIR32}\lib\gimp\{#GIMP_API_VERSION}\plug-ins\twain.exe"; DestDir: "{app}\lib\gimp\{#GIMP_API_VERSION}\plug-ins"; Components: gimp32; Flags: {#COMMON_FLAGS} ;x86_64 #define PLATFORM X64 @@ -333,7 +334,7 @@ Source: "{#GIMP_DIR32}\lib\gimp\{#GIMP_API_VERSION}\plug-ins\twain.exe"; DestDir ;32-on-64bit #include "base_twain32on64.isi" ;prefer 32bit twain plugin over 64bit because 64bit twain drivers are rare -Source: "{#GIMP_DIR32}\lib\gimp\{#GIMP_API_VERSION}\plug-ins\twain\twain.exe"; DestDir: "{app}\lib\gimp\{#GIMP_API_VERSION}\plug-ins\twain"; Components: gimp32on64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#GIMP_DIR32}\lib\gimp\{#GIMP_API_VERSION}\plug-ins\twain\twain.exe"; DestDir: "{app}\lib\gimp\{#GIMP_API_VERSION}\plug-ins\twain"; Components: gimp32on64; Flags: {#COMMON_FLAGS} ;upgrade zlib1.dll in System32 if it's present there to avoid breaking plugins ;sharedfile flag will ensure that the upgraded file is left behind on uninstall to avoid breaking other programs that use the file