diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e49c87ae7..76a272937 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -45,14 +45,14 @@ 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 + python-version: 3.12.x system-deps: false package: true tarball: false - name: tarball - python-version: 3.6.x - image: ubuntu:20.04 + image: ubuntu:22.04 + python-version: 3.12.x system-deps: false package: false tarball: true @@ -126,20 +126,22 @@ 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 + 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 +149,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 +171,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,6 +190,7 @@ 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/" export LD_LIBRARY_PATH="`llvm-config --libdir`:$LD_LIBRARY_PATH" fi set -e #TODO: move to top once cutter-deps doesn't fail @@ -437,6 +440,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 +463,9 @@ 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 + install_name_tool -delete_rpath /Users/runner/work/cutter-deps/cutter-deps/qt/lib ./cutter-deps/pyside/lib/libpyside6.cpython-312-darwin.6.11.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 +508,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 cac15f1eb..1a6767f97 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/premades/cutter-deps/releases/download/v2 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=019b12730b55d57c8352b1b2603ce009b3c837cb78d1f7594d557ce26815fa2e 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=4713ca125fdb56ff788aa50b94abf12af1342fd8bb5851c1f79a905431144699 DEPS_FILE_macos_arm64=cutter-deps-macos-arm64.tar.gz -DEPS_SHA256_macos_arm64=aa3f5ae91b93c5176d6bd4313af0888a2b6dcdaa2ef1750dd7e2f98156882e0f +DEPS_SHA256_macos_arm64=ee7ae89c06c190464cd84386fe1683147cf9d93a2bab0113a0250aa5d7f124f7 DEPS_FILE_win_x86_64=cutter-deps-win-x86_64.tar.gz -DEPS_SHA256_win_x86_64=710e40cf8329205d09535cc56a9fb155a56ff1a1ca112145864382fb3d4e8160 +DEPS_SHA256_win_x86_64=0dbd73f5f83f7bc40aef6dd3d5254d7a7151d07abdaf08d84150c1ec37b520e2 ARCH=x86_64 diff --git a/src/plugins/PluginManager.cpp b/src/plugins/PluginManager.cpp index d1c5465da..645b1779d 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) {