Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions .appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
version: '2.4.0-git-{build}'
image: 'Visual Studio 2019'
image: 'Visual Studio 2022'
clone_depth: 1

# Build configuration
Expand All @@ -9,15 +9,18 @@ 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:
- 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%"
Expand Down
31 changes: 17 additions & 14 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -126,28 +124,31 @@ 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 \
libqt5svg5-dev \
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 \
Expand All @@ -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: |
Expand All @@ -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" ]
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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')
Expand Down
10 changes: 5 additions & 5 deletions scripts/fetch_deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,26 +5,26 @@ 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
DEPS_SHA256_linux_x86_64=ab3099fe699db100f2d00e1b70cdf77dec6b8fdd9cd1709c96e123a15fb62571
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
Expand Down
6 changes: 4 additions & 2 deletions src/plugins/PluginManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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<SbkObjectType *>(SbkCutterBindingsTypes[SBK_CUTTERPLUGIN_IDX]),
# elif QT_VERSION < QT_VERSION_CHECK(6, 2, 0)
reinterpret_cast<SbkObjectType *>(SbkCutterBindingsTypes[SBK_CutterPlugin_IDX]),
# else
reinterpret_cast<PyTypeObject **>(SbkCutterBindingsTypeStructs)[SBK_CUTTERPLUGIN_IDX],
reinterpret_cast<PyTypeObject **>(SbkCutterBindingsTypeStructs)[SBK_CutterPlugin_IDX],
# endif
pluginObject);
if (!pythonToCpp) {
Expand Down
Loading