diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 85d5c8529f45d4bb569c355f7010c4050d1730a5..0b7e7eae7dec86e9fe6fbc7879ea29d1833e6ce4 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: @@ -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: diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index 9888bc589b95f199eb41146bca19b9aedffbdc25..55f6a4dfa5adc7e8a6d0627ed7eda5b34171999e 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) diff --git a/buildtools/msys2checkdeps.py b/buildtools/msys2checkdeps.py index 31f7d5f0271fd2fe1f849be7e27b85a4a1b59fe3..b6e1f9c54b03cc6245e401211311a088de7d8257 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()