From 3712f891aca71a94d6997f93460eafb039f1885a Mon Sep 17 00:00:00 2001 From: PremadeS <128969155+PremadeS@users.noreply.github.com> Date: Fri, 1 May 2026 12:00:28 +0500 Subject: [PATCH 1/4] Update to Qt 6.11.0 --- .github/workflows/ci.yml | 31 +++++++++++++++++-------------- scripts/fetch_deps.sh | 10 +++++----- 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e49c87ae77..57bad07501 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -45,14 +45,12 @@ jobs: cc-override: '/usr/bin/gcc-12' cxx-override: '/usr/bin/g++-12' - name: linux-x86_64 # main Appimage build - image: ubuntu:20.04 - python-version: 3.6.x + image: ubuntu:22.04 system-deps: false package: true tarball: false - name: tarball - python-version: 3.6.x - image: ubuntu:20.04 + image: ubuntu:22.04 system-deps: false package: false tarball: true @@ -126,20 +124,23 @@ jobs: llvm-8 ln -s /usr/bin/llvm-config-8 /usr/bin/llvm-config fi - if [ "${{ matrix.image }}" = "ubuntu:18.04" ] || [ "${{ matrix.image }}" = "ubuntu:20.04" ]; then + if [ "${{ matrix.image }}" = "ubuntu:18.04" ] || ([ "${{ matrix.image }}" = "ubuntu:22.04" ] && [ "${{ matrix.system-deps }}" = "false" ]); then # install additional packages needed for appimage apt-get -y install libxcb1-dev \ libxkbcommon-dev \ libxcb-*-dev \ libegl1 fi - if [ "${{ matrix.image }}" = "ubuntu:20.04" ] && [ "${{ matrix.system-deps }}" = "false" ]; then + if [ "${{ matrix.image }}" = "ubuntu:22.04" ] && [ "${{ matrix.system-deps }}" = "false" ]; then # install additional packages needed for appimage - apt-get -y install libclang-12-dev \ - llvm-12 \ - libsm6 \ + apt-get -y install libsm6 \ libwayland-dev \ - libgl1-mesa-dev + libgl1-mesa-dev \ + wget \ + software-properties-common \ + lsb-release \ + file + wget https://apt.llvm.org/llvm.sh -O /tmp/llvm-install.sh; chmod +x /tmp/llvm-install.sh; /tmp/llvm-install.sh 20 fi if [ "${{ matrix.image }}" = "ubuntu:18.04" ] && [ "${{ matrix.system-deps }}" = "true" ]; then apt-get -y install qt5-default \ @@ -147,7 +148,7 @@ jobs: qttools5-dev \ qttools5-dev-tools fi - if [ "${{ matrix.image }}" = "ubuntu:22.04" ]; then + if [ "${{ matrix.image }}" = "ubuntu:22.04" ] && [ "${{ matrix.system-deps }}" = "true" ]; then apt-get -y install libclang-12-dev \ llvm-12 \ qt6-base-dev \ @@ -169,7 +170,7 @@ jobs: python3 --version which python3 # https://github.com/rizinorg/cutter/runs/7170222817?check_suite_focus=true - python3 -m pip install meson==0.61.5 + python3 -m pip install meson # ==0.61.5 - name: Prepare package id shell: bash run: | @@ -188,7 +189,7 @@ jobs: then CUTTER_QT="${{ matrix.qt-major }}" scripts/fetch_deps.sh . cutter-deps/env.sh - export LD_LIBRARY_PATH="`llvm-config --libdir`:$LD_LIBRARY_PATH" + ln -sf "$PWD/cutter-deps/pyside/share/PySide6/"* "$PWD/cutter-deps/pyside/" fi set -e #TODO: move to top once cutter-deps doesn't fail if [ "${{ matrix.cc-override }}" != "default" ] @@ -437,6 +438,7 @@ jobs: brew bundle brew install pkg-config || brew link --overwrite pkgconf brew install kadwanev/brew/retry + brew install llvm@20 && brew link llvm@20 - name: py dependencies run: | #python3 -m pip install -U pip==21.3.1 @@ -459,8 +461,8 @@ jobs: run: | export MACOSX_DEPLOYMENT_TARGET=10.15 scripts/fetch_deps.sh - install_name_tool -delete_rpath /Users/runner/work/cutter-deps/cutter-deps/qt/lib ./cutter-deps/pyside/lib/libpyside6.cpython-312-darwin.6.7.2.dylib #TODO: do this in cutter-deps source cutter-deps/env.sh + ln -sf "$PWD/cutter-deps/pyside/share/PySide6/"* "$PWD/cutter-deps/pyside/" set -euo pipefail export PATH=/usr/local/opt/llvm/bin:$PATH mkdir build @@ -503,6 +505,7 @@ jobs: run: | pip install ninja scripts/fetch_deps.sh + ln -sf "$PWD/cutter-deps/pyside/share/PySide6/"* "$PWD/cutter-deps/pyside/" choco install winflexbison3 - name: windows cmake if: contains(matrix.os, 'windows') diff --git a/scripts/fetch_deps.sh b/scripts/fetch_deps.sh index cac15f1ebc..a6281d3456 100755 --- a/scripts/fetch_deps.sh +++ b/scripts/fetch_deps.sh @@ -5,7 +5,7 @@ set -e cd $(dirname "${BASH_SOURCE[0]}")/.. mkdir -p cutter-deps && cd cutter-deps -DEPS_BASE_URL=https://github.com/rizinorg/cutter-deps/releases/download/v16 +DEPS_BASE_URL=https://github.com/rizinorg/cutter-deps/releases/download/v18 if [ "$CUTTER_QT" == "5" ]; then DEPS_FILE_linux_x86_64=cutter-deps-q5-linux-x86_64.tar.gz @@ -13,18 +13,18 @@ if [ "$CUTTER_QT" == "5" ]; then DEPS_BASE_URL=https://github.com/rizinorg/cutter-deps/releases/download/qt5-v17 else DEPS_FILE_linux_x86_64=cutter-deps-linux-x86_64.tar.gz - DEPS_SHA256_linux_x86_64=f63c5af2d9872bc6538a94c839d6ef6645c7630c42cff30f1d9da8eefd9eb040 + DEPS_SHA256_linux_x86_64=204683c44e4824df7cb9925f1939544f081e64b7a701fe95fd03f67125a165b4 fi echo $DEPS_SHA256_linux_x86_64 DEPS_FILE_macos_x86_64=cutter-deps-macos-x86_64.tar.gz -DEPS_SHA256_macos_x86_64=bcdc214e34dc3fd720327ad42e03fe3ec996ca28a9987e99898f149a65299a8c +DEPS_SHA256_macos_x86_64=a46c2dee12d4160410237da848075fc87c41c3850021f583d3b469a59c386650 DEPS_FILE_macos_arm64=cutter-deps-macos-arm64.tar.gz -DEPS_SHA256_macos_arm64=aa3f5ae91b93c5176d6bd4313af0888a2b6dcdaa2ef1750dd7e2f98156882e0f +DEPS_SHA256_macos_arm64=1ca381b562d632a370e05a85b0fe60a591a261bba0f48d97a0e40b4307c2577a DEPS_FILE_win_x86_64=cutter-deps-win-x86_64.tar.gz -DEPS_SHA256_win_x86_64=710e40cf8329205d09535cc56a9fb155a56ff1a1ca112145864382fb3d4e8160 +DEPS_SHA256_win_x86_64=95a3cf676178b8c58442d22ee8b21ce2530bfdae86f514901310490a8f28867a ARCH=x86_64 From 07fea9c772dc573588dc2e5771f0740ee1883738 Mon Sep 17 00:00:00 2001 From: Premade <128969155+PremadeS@users.noreply.github.com> Date: Fri, 1 May 2026 15:43:36 +0500 Subject: [PATCH 2/4] PluginsManager: handle type index case for shiboken6 (#3606) --- src/plugins/PluginManager.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/plugins/PluginManager.cpp b/src/plugins/PluginManager.cpp index d1c5465da5..a4a4791fe4 100644 --- a/src/plugins/PluginManager.cpp +++ b/src/plugins/PluginManager.cpp @@ -215,10 +215,12 @@ CutterPlugin *PluginManager::loadPythonPlugin(const char *moduleName) } PythonToCppFunc pythonToCpp = Shiboken::Conversions::isPythonToCppPointerConvertible( -# if QT_VERSION < QT_VERSION_CHECK(6, 2, 0) +# if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) reinterpret_cast(SbkCutterBindingsTypes[SBK_CUTTERPLUGIN_IDX]), +# elif QT_VERSION < QT_VERSION_CHECK(6, 2, 0) + reinterpret_cast(SbkCutterBindingsTypes[SBK_CutterPlugin_IDX]), # else - reinterpret_cast(SbkCutterBindingsTypeStructs)[SBK_CUTTERPLUGIN_IDX], + reinterpret_cast(SbkCutterBindingsTypeStructs)[SBK_CutterPlugin_IDX], # endif pluginObject); if (!pythonToCpp) { From 493eafe1f1f52db5efe3ef34e61143370d4a8664 Mon Sep 17 00:00:00 2001 From: PremadeS <128969155+PremadeS@users.noreply.github.com> Date: Fri, 1 May 2026 17:30:29 +0500 Subject: [PATCH 3/4] add symbolic links in appveyor --- .appveyor.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.appveyor.yml b/.appveyor.yml index f49fc15204..dedbe96245 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -18,6 +18,9 @@ install: - ps: $env:path = ($env:path -split ";").Where({!($_ -like "*Microsoft SQL Server*")}) -join ";" - cmd: C:\msys64\usr\bin\bash -lc "cd $APPVEYOR_BUILD_FOLDER && scripts/fetch_deps.sh" - cmd: set "CUTTER_DEPS=%APPVEYOR_BUILD_FOLDER%\cutter-deps" + - cmd: mklink /D "%CUTTER_DEPS%\pyside\typesystems" "%CUTTER_DEPS%\pyside\share\PySide6\typesystems" + - cmd: mklink /D "%CUTTER_DEPS%\pyside\glue" "%CUTTER_DEPS%\pyside\share\PySide6\glue" + - cmd: mklink /D "%CUTTER_DEPS%\pyside\doc" "%CUTTER_DEPS%\pyside\share\PySide6\doc" - cmd: set "PATH=%CD%;%PYTHON%;%PATH%" - cmd: call "%VSVARSALLPATH%" %ARCH% - cmd: set "PATH=%CUTTER_DEPS%\qt\bin;%PYTHON%\Scripts\;%PATH%" From 3a76ff50c2ca59635d1d262b649f94abe47402d0 Mon Sep 17 00:00:00 2001 From: PremadeS <128969155+PremadeS@users.noreply.github.com> Date: Fri, 1 May 2026 18:26:21 +0500 Subject: [PATCH 4/4] Update appveyor to 2022 and python3.12 --- .appveyor.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index dedbe96245..5ed3f54b21 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -1,5 +1,5 @@ version: '2.4.0-git-{build}' -image: 'Visual Studio 2019' +image: 'Visual Studio 2022' clone_depth: 1 # Build configuration @@ -9,9 +9,9 @@ configuration: # Environment environment: NINJA_URL: https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja-win.zip - VSVARSALLPATH: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat' + VSVARSALLPATH: 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat' ARCH: x64 - PYTHON: 'C:\Python36-x64' + PYTHON: 'C:\Python312-x64' PACKAGE_NAME: cutter-git-x64.Windows install: