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/9] 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 26741c19da6eac456d0d686f8544a4f348062baf Mon Sep 17 00:00:00 2001 From: PremadeS <128969155+PremadeS@users.noreply.github.com> Date: Fri, 1 May 2026 16:16:35 +0500 Subject: [PATCH 2/9] wip --- .github/workflows/ci.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 57bad07501..6c8cc957c3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -189,7 +189,6 @@ jobs: then CUTTER_QT="${{ matrix.qt-major }}" scripts/fetch_deps.sh . cutter-deps/env.sh - 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" ] @@ -197,7 +196,8 @@ jobs: export CC="${{matrix.cc-override}}" export CXX="${{matrix.cxx-override}}" fi - + + PYSIDE6_DEPS="$PWD/cutter-deps/pyside/share/PySide6" mkdir build cd build if [ "${{ matrix.system-deps }}" = "false" ] @@ -227,6 +227,8 @@ jobs: -DCMAKE_INSTALL_PREFIX=appdir/usr \ -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON \ -DCUTTER_QT=${{ matrix.qt-major }} \ + -DPYSIDE_TYPESYSTEMS="$PYSIDE6_DEPS/typesystems" \ + -DPYSIDE_GLUE="$PYSIDE6_DEPS/glue" .. else cmake \ From f06e2192e2d3096c86514ac06f311554341f8d71 Mon Sep 17 00:00:00 2001 From: PremadeS <128969155+PremadeS@users.noreply.github.com> Date: Fri, 1 May 2026 16:20:25 +0500 Subject: [PATCH 3/9] syntax --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6c8cc957c3..8dcaf2454e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -228,7 +228,7 @@ jobs: -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON \ -DCUTTER_QT=${{ matrix.qt-major }} \ -DPYSIDE_TYPESYSTEMS="$PYSIDE6_DEPS/typesystems" \ - -DPYSIDE_GLUE="$PYSIDE6_DEPS/glue" + -DPYSIDE_GLUE="$PYSIDE6_DEPS/glue" \ .. else cmake \ From 3141e156a201f53cfdcc9948b3e4ef6b7417eab3 Mon Sep 17 00:00:00 2001 From: PremadeS <128969155+PremadeS@users.noreply.github.com> Date: Fri, 1 May 2026 16:26:23 +0500 Subject: [PATCH 4/9] prefix path --- .github/workflows/ci.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8dcaf2454e..0d1b8d2b2f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -227,8 +227,7 @@ jobs: -DCMAKE_INSTALL_PREFIX=appdir/usr \ -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON \ -DCUTTER_QT=${{ matrix.qt-major }} \ - -DPYSIDE_TYPESYSTEMS="$PYSIDE6_DEPS/typesystems" \ - -DPYSIDE_GLUE="$PYSIDE6_DEPS/glue" \ + -DCMAKE_PREFIX_PATH="$PYSIDE6_DEPS" \ .. else cmake \ From 36bceb12bf9a4c06b87069a3dbf97f3ae53e51eb Mon Sep 17 00:00:00 2001 From: PremadeS <128969155+PremadeS@users.noreply.github.com> Date: Fri, 1 May 2026 16:38:02 +0500 Subject: [PATCH 5/9] check two links --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0d1b8d2b2f..f2f8c419e0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -463,7 +463,8 @@ jobs: export MACOSX_DEPLOYMENT_TARGET=10.15 scripts/fetch_deps.sh source cutter-deps/env.sh - ln -sf "$PWD/cutter-deps/pyside/share/PySide6/"* "$PWD/cutter-deps/pyside/" + ln -sf "$PWD/cutter-deps/pyside/share/PySide6/typesystems" "$PWD/cutter-deps/pyside/typesystems" + ln -sf "$PWD/cutter-deps/pyside/share/PySide6/glue" "$PWD/cutter-deps/pyside/glue" set -euo pipefail export PATH=/usr/local/opt/llvm/bin:$PATH mkdir build From 7e507a4dbb391eaba473964be48b31003088cefc Mon Sep 17 00:00:00 2001 From: PremadeS <128969155+PremadeS@users.noreply.github.com> Date: Fri, 1 May 2026 16:41:50 +0500 Subject: [PATCH 6/9] check two links --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f2f8c419e0..1d66d21dd9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -507,7 +507,8 @@ jobs: run: | pip install ninja scripts/fetch_deps.sh - ln -sf "$PWD/cutter-deps/pyside/share/PySide6/"* "$PWD/cutter-deps/pyside/" + ln -sf "$PWD/cutter-deps/pyside/share/PySide6/typesystems" "$PWD/cutter-deps/pyside/typesystems" + ln -sf "$PWD/cutter-deps/pyside/share/PySide6/glue" "$PWD/cutter-deps/pyside/glue" choco install winflexbison3 - name: windows cmake if: contains(matrix.os, 'windows') From be96468b4ad1ecb9a41b488819dca919998cd4f4 Mon Sep 17 00:00:00 2001 From: PremadeS <128969155+PremadeS@users.noreply.github.com> Date: Fri, 1 May 2026 16:49:57 +0500 Subject: [PATCH 7/9] check three links --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1d66d21dd9..64d03b65f7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -465,6 +465,7 @@ jobs: source cutter-deps/env.sh ln -sf "$PWD/cutter-deps/pyside/share/PySide6/typesystems" "$PWD/cutter-deps/pyside/typesystems" ln -sf "$PWD/cutter-deps/pyside/share/PySide6/glue" "$PWD/cutter-deps/pyside/glue" + ln -sf "$PWD/cutter-deps/pyside/share/PySide6/doc" "$PWD/cutter-deps/pyside/doc" set -euo pipefail export PATH=/usr/local/opt/llvm/bin:$PATH mkdir build From 803aeee42642eb85a1fc037e9e18436bf5cf4da3 Mon Sep 17 00:00:00 2001 From: PremadeS <128969155+PremadeS@users.noreply.github.com> Date: Fri, 1 May 2026 16:51:22 +0500 Subject: [PATCH 8/9] check three links --- .github/workflows/ci.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 64d03b65f7..95e84fe581 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -196,8 +196,7 @@ jobs: export CC="${{matrix.cc-override}}" export CXX="${{matrix.cxx-override}}" fi - - PYSIDE6_DEPS="$PWD/cutter-deps/pyside/share/PySide6" + ln -sf "$PWD/cutter-deps/pyside/share/PySide6/"* "$PWD/cutter-deps/pyside/"* mkdir build cd build if [ "${{ matrix.system-deps }}" = "false" ] @@ -227,7 +226,6 @@ jobs: -DCMAKE_INSTALL_PREFIX=appdir/usr \ -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON \ -DCUTTER_QT=${{ matrix.qt-major }} \ - -DCMAKE_PREFIX_PATH="$PYSIDE6_DEPS" \ .. else cmake \ @@ -510,6 +508,7 @@ jobs: scripts/fetch_deps.sh ln -sf "$PWD/cutter-deps/pyside/share/PySide6/typesystems" "$PWD/cutter-deps/pyside/typesystems" ln -sf "$PWD/cutter-deps/pyside/share/PySide6/glue" "$PWD/cutter-deps/pyside/glue" + ln -sf "$PWD/cutter-deps/pyside/share/PySide6/doc" "$PWD/cutter-deps/pyside/doc" choco install winflexbison3 - name: windows cmake if: contains(matrix.os, 'windows') From 9591d024645fab126c8e6c2172f2029cf4c942fb Mon Sep 17 00:00:00 2001 From: PremadeS <128969155+PremadeS@users.noreply.github.com> Date: Fri, 1 May 2026 17:01:13 +0500 Subject: [PATCH 9/9] sbk_cutterplugin_idx --- src/plugins/PluginManager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/PluginManager.cpp b/src/plugins/PluginManager.cpp index d1c5465da5..645b1779d2 100644 --- a/src/plugins/PluginManager.cpp +++ b/src/plugins/PluginManager.cpp @@ -216,9 +216,9 @@ CutterPlugin *PluginManager::loadPythonPlugin(const char *moduleName) PythonToCppFunc pythonToCpp = Shiboken::Conversions::isPythonToCppPointerConvertible( # if QT_VERSION < QT_VERSION_CHECK(6, 2, 0) - reinterpret_cast(SbkCutterBindingsTypes[SBK_CUTTERPLUGIN_IDX]), + reinterpret_cast(SbkCutterBindingsTypes[SBK_CutterPlugin_IDX]), # else - reinterpret_cast(SbkCutterBindingsTypeStructs)[SBK_CUTTERPLUGIN_IDX], + reinterpret_cast(SbkCutterBindingsTypeStructs)[SBK_CutterPlugin_IDX], # endif pluginObject); if (!pythonToCpp) {