From 03b251fe86821b3830c25abc4c2937f841950f83 Mon Sep 17 00:00:00 2001 From: Marc Jeanmougin Date: Sat, 24 May 2025 16:35:36 +0200 Subject: [PATCH 1/4] Add check for windows library dependencies to CI This should prevent packaging mishaps like 1.4.2 --- .gitlab-ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 85d5c8529f..f6e1bb8302 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -216,7 +216,7 @@ inkscape:windows: # 'C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\signtool.exe' - if ( $Env:DIST -ne "7z" ) { choco install windows-sdk-10.1 -y } # configure with CMake - - . "C:/$Env:IDW_NAME/msys2_shell.cmd" -defterm -no-start -ucrt64 -here -c "cmake -B build -G Ninja -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache" + - . "C:/$Env:IDW_NAME/msys2_shell.cmd" -defterm -no-start -ucrt64 -here -c 'cmake -B build -G Ninja -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_INSTALL_PREFIX="$CI_PROJECT_DIR/install"' # If we are building the MSI package, install extra build dependencies - if ("${DIST}" -eq "msi") { & "$Env:CI_PROJECT_DIR\buildtools\windows-deps-install-wix4.ps1" } # Kill the job before hitting runner's timeout. This way we can preserve the cache so the next retry @@ -228,6 +228,8 @@ inkscape:windows: # 120 minutes runner timeout - Start-Job -ScriptBlock{sleep 4800; taskkill /t /F /IM "ninja.exe"} # build with Ninja + - . "C:/$Env:IDW_NAME/msys2_shell.cmd" -defterm -no-start -ucrt64 -here -c "ninja -C build install" + - . "C:/$Env:IDW_NAME/msys2_shell.cmd" -defterm -no-start -ucrt64 -here -c 'python3 "$CI_PROJECT_DIR/buildtools/msys2checkdeps.py" check "$CI_PROJECT_DIR/install" -w "$CI_PROJECT_DIR/install/bin"' - . "C:/$Env:IDW_NAME/msys2_shell.cmd" -defterm -no-start -ucrt64 -here -c "ninja -C build dist-win-${DIST}" artifacts: paths: -- GitLab From 493a7554b6ac9188cadc93e62983c2fadaa74a6d Mon Sep 17 00:00:00 2001 From: Marc Jeanmougin Date: Tue, 13 May 2025 23:45:38 +0200 Subject: [PATCH 2/4] Update windows installed library list --- CMakeScripts/InstallMSYS2.cmake | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index 9888bc589b..55f6a4dfa5 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -9,11 +9,12 @@ if(WIN32) file(GLOB MINGW_LIBS ${MINGW_BIN}/LIBEAY32.dll ${MINGW_BIN}/SSLEAY32.dll - ${MINGW_BIN}/imagequant.dll + ${MINGW_BIN}/libimagequant.dll ${MINGW_BIN}/lib2geom.dll ${MINGW_BIN}/libLerc.dll ${MINGW_BIN}/libaom.dll ${MINGW_BIN}/libaspell-[0-9]*.dll + ${MINGW_BIN}/libavif-[0-9]*.dll ${MINGW_BIN}/libboost_filesystem-mt.dll ${MINGW_BIN}/libbrotlicommon.dll ${MINGW_BIN}/libbrotlidec.dll @@ -28,6 +29,7 @@ if(WIN32) ${MINGW_BIN}/libcurl-[0-9]*.dll ${MINGW_BIN}/libdatrie-[0-9]*.dll ${MINGW_BIN}/libdav1d.dll + ${MINGW_BIN}/libdav1d-[0-9]*.dll ${MINGW_BIN}/libde265-[0-9]*.dll ${MINGW_BIN}/libdeflate.dll ${MINGW_BIN}/libdouble-conversion.dll @@ -45,7 +47,7 @@ if(WIN32) ${MINGW_BIN}/libgfortran-[0-9]*.dll ${MINGW_BIN}/libgio-2.0-[0-9]*.dll ${MINGW_BIN}/libgiomm-2.68-[0-9]*.dll - ${MINGW_BIN}/libgirepository-1.0-[0-9].dll + ${MINGW_BIN}/libgirepository-2.0-[0-9].dll ${MINGW_BIN}/libglib-2.0-[0-9]*.dll ${MINGW_BIN}/libglibmm-2.68-[0-9]*.dll ${MINGW_BIN}/libgmodule-2.0-[0-9]*.dll @@ -82,7 +84,6 @@ if(WIN32) ${MINGW_BIN}/libnspr[0-9]*.dll ${MINGW_BIN}/libopenblas.dll ${MINGW_BIN}/libopenjp2-[0-9]*.dll - ${MINGW_BIN}/libpanelw6.dll ${MINGW_BIN}/libpango-1.0-[0-9]*.dll ${MINGW_BIN}/libpangocairo-1.0-[0-9]*.dll ${MINGW_BIN}/libpangoft2-1.0-[0-9]*.dll @@ -110,6 +111,7 @@ if(WIN32) ${MINGW_BIN}/libssl-1_[0-9]*.dll ${MINGW_BIN}/libssl-3*.dll ${MINGW_BIN}/libstdc++-[0-9]*.dll + ${MINGW_BIN}/libSvtAv1Enc-[0-9]*.dll ${MINGW_BIN}/libtermcap-[0-9]*.dll ${MINGW_BIN}/libthai-[0-9]*.dll ${MINGW_BIN}/libtiff-[0-9]*.dll @@ -126,13 +128,16 @@ if(WIN32) ${MINGW_BIN}/libxml2-[0-9]*.dll ${MINGW_BIN}/libxslt-[0-9]*.dll ${MINGW_BIN}/libx265.dll + ${MINGW_BIN}/libyuv.dll ${MINGW_BIN}/libzstd.dll ${MINGW_BIN}/nss[0-9]*.dll ${MINGW_BIN}/nssutil[0-9]*.dll - ${MINGW_BIN}/rav1e.dll + ${MINGW_BIN}/OPENGL32.dll + ${MINGW_BIN}/librav1e.dll ${MINGW_BIN}/smime[0-9]*.dll ${MINGW_BIN}/tcl[0-9]*.dll ${MINGW_BIN}/tk[0-9]*.dll + ${MINGW_BIN}/vulkan-[0-9]*.dll ${MINGW_BIN}/zlib1.dll) INSTALL(FILES ${MINGW_LIBS} DESTINATION bin) # There are differences for 64-Bit and 32-Bit build environments. @@ -162,11 +167,11 @@ if(WIN32) PATTERN "*.la" PATTERN "filters" EXCLUDE) file(GLOB MAGICK_LIBS - ${MINGW_BIN}/libGraphicsMagick*.dll + ${MINGW_BIN}/libGraphicsMagick-[0-9]*.dll + ${MINGW_BIN}/libGraphicsMagick++-[0-9]*.dll ${MINGW_BIN}/libjxl.dll ${MINGW_BIN}/libjxl_cms.dll ${MINGW_BIN}/libjxl_threads.dll - ${MINGW_BIN}/libltdl-[0-9]*.dll ${MINGW_BIN}/libhwy.dll ${MINGW_BIN}/libbrotlienc.dll) install(FILES ${MAGICK_LIBS} DESTINATION bin) -- GitLab From 862d201ae41d671d2198e2e2857d04f5e14c8530 Mon Sep 17 00:00:00 2001 From: Marc Jeanmougin Date: Mon, 26 May 2025 23:20:10 +0200 Subject: [PATCH 3/4] Ignore OPENGL32.dll from libraries in msys2checkdeps This is a system library but can be absent from CI systems --- buildtools/msys2checkdeps.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/buildtools/msys2checkdeps.py b/buildtools/msys2checkdeps.py index 31f7d5f027..b6e1f9c54b 100644 --- a/buildtools/msys2checkdeps.py +++ b/buildtools/msys2checkdeps.py @@ -62,7 +62,10 @@ def get_dependencies(filename, deps): # which is indicated by the string '=>' followed by the determined location or 'not found' if ('=>' in line): (lib, location) = line.lstrip().split(' => ') - if location == 'not found': + if lib == "OPENGL32.dll": #ignored since it's a system library but is absent from the CI (no display) + skip_indent = indent + continue + elif location == 'not found': location = None else: location = location.rsplit('(', 1)[0].strip() -- GitLab From 943274ec44e48c8e79ba89e94a46ba61bc469609 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=CC=81=20de=20Hesselle?= Date: Thu, 29 May 2025 20:29:09 +0200 Subject: [PATCH 4/4] Update Windows dependencies to r118 Reduce ccache size to 250M. --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f6e1bb8302..0b7e7eae7d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -188,9 +188,9 @@ inkscape:macos: variables: MSYSTEM: UCRT64 CCACHE_DIR: $CI_PROJECT_DIR/ccache - CCACHE_MAXSIZE: "500M" + CCACHE_MAXSIZE: "250M" # IDW = Inkscape Deps Windows, https://gitlab.com/inkscape/deps/windows - IDW_VERSION: 115 + IDW_VERSION: 118 IDW_NAME: ink$IDW_VERSION IDW_RELEASE_URL: $CI_API_V4_URL/projects/46863172/packages/generic/windows/r$IDW_VERSION/${IDW_NAME}_$MSYSTEM.7z before_script: -- GitLab