From 3b6d9b166297f07e27477792c0743bb679f19017 Mon Sep 17 00:00:00 2001 From: Bruno Date: Sun, 15 Dec 2024 16:55:07 -0300 Subject: [PATCH] build/windows: Generate 32-bit TWAIN dependencies list automatically Fixes #12537 Following e59dec50 --- build/windows/installer/3_dist-gimp-inno.ps1 | 15 ++++++ build/windows/installer/base_twain32on64.list | 47 +------------------ 2 files changed, 16 insertions(+), 46 deletions(-) diff --git a/build/windows/installer/3_dist-gimp-inno.ps1 b/build/windows/installer/3_dist-gimp-inno.ps1 index 0ebcfda5fc..594f68331e 100644 --- a/build/windows/installer/3_dist-gimp-inno.ps1 +++ b/build/windows/installer/3_dist-gimp-inno.ps1 @@ -172,6 +172,18 @@ Write-Output "$([char]27)[0Ksection_end:$(Get-Date -UFormat %s -Millisecond 0):i # 4. PREPARE GIMP FILES + +## Get 32-bit TWAIN deps list +Write-Output "$([char]27)[0Ksection_start:$(Get-Date -UFormat %s -Millisecond 0):installer_files[collapsed=true]$([char]13)$([char]27)[0KGenerating 32-bit TWAIN dependencies list" +$twain_list_file = 'build\windows\installer\base_twain32on64.list' +Copy-Item $twain_list_file "$twain_list_file.bak" +$twain_list = (python3 build/windows/2_bundle-gimp-uni_dep.py --debug debug-only $(Resolve-Path $GIMP32/lib/gimp/*/plug-ins/twain/twain.exe) $MSYS2_PREFIX/mingw32/ $GIMP32/ 32 | + Select-String 'Installed' -CaseSensitive -Context 0,1000) -replace " `t- ",'bin\' +(Get-Content $twain_list_file) | Foreach-Object {$_ -replace "@DEPS_GENLIST@","$twain_list"} | Set-Content $twain_list_file +(Get-Content $twain_list_file) | Select-string 'Installed' -notmatch | Set-Content $twain_list_file +Write-Output "$([char]27)[0Ksection_end:$(Get-Date -UFormat %s -Millisecond 0):installer_files$([char]13)$([char]27)[0K" + +## Do arch-specific things foreach ($bundle in $supported_archs) { Write-Output "$([char]27)[0Ksection_start:$(Get-Date -UFormat %s -Millisecond 0):${bundle}_files[collapsed=true]$([char]13)$([char]27)[0KPreparing GIMP files in $bundle bundle" @@ -227,6 +239,9 @@ foreach ($bundle in $supported_archs) fix_msg "$INNO_PATH" revert fix_msg "$INNO_PATH\Languages" revert fix_msg "$INNO_PATH\Languages\Unofficial" revert +## Revert change done in TWAIN list +Remove-Item $twain_list_file +Move-Item "$twain_list_file.bak" $twain_list_file ## We delete only unofficial langs because the downloaded official ones will be kept by Inno updates Remove-Item "$INNO_PATH\Languages\Unofficial" -Recurse -Force diff --git a/build/windows/installer/base_twain32on64.list b/build/windows/installer/base_twain32on64.list index caf90822d3..fcb2c1410e 100644 --- a/build/windows/installer/base_twain32on64.list +++ b/build/windows/installer/base_twain32on64.list @@ -4,50 +4,5 @@ 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\gegl*.dll -bin\libbabl-0.1-0.dll -bin\libbrotlicommon.dll -bin\libbrotlidec.dll -bin\libbz2-1.dll -bin\libcairo-2.dll -bin\libcrypto-3.dll -bin\libcurl-4.dll -bin\libdatrie-1.dll -bin\libexiv2-27.dll -bin\libexpat-1.dll -bin\libffi-8.dll -bin\libfontconfig-1.dll -bin\libfreetype-6.dll -bin\libfribidi-0.dll -bin\libgcc_s_dw2-1.dll -bin\libgdk_pixbuf-2.0-0.dll -bin\libgegl-0.4-0.dll -bin\libgexiv2-2.dll -bin\libgio-2.0-0.dll -bin\libglib-2.0-0.dll -bin\libgmodule-2.0-0.dll -bin\libgobject-2.0-0.dll -bin\libgomp-1.dll -bin\libgraphite2.dll -bin\libharfbuzz-0.dll -bin\libiconv-2.dll -bin\libidn2-0.dll -bin\libintl-8.dll -bin\libjson-glib-1.0-0.dll -bin\liblcms2-2.dll -bin\libnghttp2-14.dll -bin\libpango-1.0-0.dll -bin\libpcre2-8-0.dll -bin\libpixman-1-0.dll -bin\libpng16-16.dll -bin\libpsl-5.dll -bin\libssh2-1.dll -bin\libssl-3.dll -bin\libstdc++-6.dll -bin\libthai-0.dll -bin\libunistring-5.dll -bin\libwinpthread-1.dll -bin\libzstd.dll -bin\zlib1.dll -!GIMP -bin\libgimp*.dll +@DEPS_GENLIST@ !end