<pre style='margin:0'>
Zhenfu Shi (i0ntempest) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/e8aee3602c4e6aaa32e3bdf74cbdff5ad581f61e">https://github.com/macports/macports-ports/commit/e8aee3602c4e6aaa32e3bdf74cbdff5ad581f61e</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new e8aee3602c4 cutter-rizin: use qt6, enable python support
</span>e8aee3602c4 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit e8aee3602c4e6aaa32e3bdf74cbdff5ad581f61e
</span>Author: i0ntempest <i0ntempest@i0ntempest.com>
AuthorDate: Fri Apr 25 19:50:14 2025 +1000
<span style='display:block; white-space:pre;color:#404040;'> cutter-rizin: use qt6, enable python support
</span>---
devel/cutter-rizin/Portfile | 79 ++++++++++++++--------
.../cutter-rizin/files/patch-3395_PySide_6.8.diff | 14 ++++
2 files changed, 64 insertions(+), 29 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/cutter-rizin/Portfile b/devel/cutter-rizin/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 0db5ead966f..2583d993081 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/cutter-rizin/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/cutter-rizin/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2,13 +2,13 @@
</span>
PortSystem 1.0
PortGroup github 1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup qt5 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup qt6 1.0
</span> PortGroup cmake 1.1
PortGroup app 1.1
github.setup rizinorg cutter 2.3.4 v
name cutter-rizin
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 3
</span> github.tarball_from releases
distname Cutter-v${version}-src
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -26,28 +26,32 @@ checksums rmd160 d74bbc32f6f319117deb40627396f2960492cb83 \
</span> sha256 edc266a5f7a1f1c7f71cf5c6c9727e05008b728eae3bb42beb7d0b24ce07c5c3 \
size 11608176
<span style='display:block; white-space:pre;background:#ffe0e0;'>-extract.rename yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:pkgconfig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append port:rizin \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:graphviz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+qt6.depends_build qttools
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib-append port:rizin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_run-append path:bin/dot:graphviz
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-qt5.depends_build_component \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- qttools
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#qt6.depends_build qttools
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-qt5.depends_component \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- qtsvg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#qt6.depends_lib qtsvg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+qt6.depends_lib qtsvg \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ qt5compat
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+extract.rename yes
</span>
compiler.cxx_standard \
2017
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patch.args -p1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-3395_PySide_6.8.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> configure.args-append \
-DCUTTER_USE_BUNDLED_RIZIN=NO \
-DCUTTER_ENABLE_GRAPHVIZ=YES \
-DCUTTER_ENABLE_DEPENDENCY_DOWNLOADS=NO \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- -DCUTTER_EXTRA_PLUGIN_DIRS=${prefix}/lib/rizin/plugins
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #-DCUTTER_QT6=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DCUTTER_EXTRA_PLUGIN_DIRS=${prefix}/lib/rizin/plugins \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DCUTTER_QT6=ON
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#cmake.module_path ${qt6.dir}/lib/cmake/Qt6LinguistTools
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Cannot build with Qt6 for now because we don't have pyside6 port
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmake.module_path ${qt6.dir}/lib/cmake/Qt6LinguistTools
</span>
app.name Cutter
app.identifier re.[string trimright ${github.author} "org"].${github.project}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -61,41 +65,58 @@ destroot.keepdirs ${destroot}${prefix}/lib/rizin/plugins
</span>
proc python-depends {python_branch} {
global frameworks_dir prefix
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set python_version [string map {. ""} ${python_branch}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set ::python_framework ${frameworks_dir}/Python.framework
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- global python_framework
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set python_version [string map {. ""} ${python_branch}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set ::python_prefix ${frameworks_dir}/Python.framework/Versions/${python_branch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global python_prefix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set ::python_pkgd ${python_prefix}/lib/python${python_branch}/site-packages
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global python_pkgd
</span> # same here, and creating an alias of the variable in proc namespace so we can use it here
depends_lib-append port:python${python_version} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${python_version}-pyside2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${python_version}-pyside6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> configure.args-append \
-DCUTTER_ENABLE_PYTHON=ON \
-DCUTTER_ENABLE_PYTHON_BINDINGS=ON \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- -DPYTHON_LIBRARY="${python_framework}/Versions/${python_branch}/lib/libpython${python_branch}.dylib" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DPYTHON_INCLUDE_DIR="${python_framework}/Versions/${python_branch}/include/python${python_branch}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPYTHON_LIBRARY="${python_prefix}/lib/libpython${python_branch}.dylib" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPYTHON_INCLUDE_DIR="${python_prefix}/include/python${python_branch}" \
</span> -DPYTHON_EXECUTABLE="${prefix}/bin/python${python_branch}"
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cmake.install_rpath-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${python_pkgd}/PySide6 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${python_pkgd}/shiboken6
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Python variants are currently broken due to https://trac.macports.org/ticket/65411
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-variant python39 conflicts python310 python311 description {Enable Python support and bindings using Python 3.9} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant python39 conflicts python310 python311 python312 python313 description {Enable Python support and bindings using Python 3.9} {
</span> set ::python_branch 3.9
# :: refers to global namespace, so the variable is created in global ns and is usable in pre-destroot
python-depends ${::python_branch}
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant python310 conflicts python39 python311 description {Enable Python support and bindings using Python 3.10} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant python310 conflicts python39 python311 python31 python3132 description {Enable Python support and bindings using Python 3.10} {
</span> set ::python_branch 3.10
# :: refers to global namespace, so the variable is created in global ns and is usable in pre-destroot
python-depends ${::python_branch}
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant python311 conflicts python39 python311 description {Enable Python support and bindings using Python 3.11} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant python311 conflicts python39 python310 python312 python313 description {Enable Python support and bindings using Python 3.11} {
</span> set ::python_branch 3.11
# :: refers to global namespace, so the variable is created in global ns and is usable in pre-destroot
python-depends ${::python_branch}
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#if {![variant_isset python39] && ![variant_isset python310]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# default_variants +python311
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant python312 conflicts python39 python310 python311 python313 description {Enable Python support and bindings using Python 3.11} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set ::python_branch 3.12
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # :: refers to global namespace, so the variable is created in global ns and is usable in pre-destroot
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ python-depends ${::python_branch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant python313 conflicts python39 python310 python311 python312 description {Enable Python support and bindings using Python 3.11} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set ::python_branch 3.13
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # :: refers to global namespace, so the variable is created in global ns and is usable in pre-destroot
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ python-depends ${::python_branch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![variant_isset python39] && ![variant_isset python310] && ![variant_isset python311] && ![variant_isset python312]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ default_variants +python313
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/cutter-rizin/files/patch-3395_PySide_6.8.diff b/devel/cutter-rizin/files/patch-3395_PySide_6.8.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..eb798425d64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/cutter-rizin/files/patch-3395_PySide_6.8.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/src/common/PythonManager.cpp b/src/common/PythonManager.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index eb43b018e..dca8fcba9 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/common/PythonManager.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/common/PythonManager.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -133,7 +133,9 @@ void PythonManager::shutdown()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Core()->setProperty("_PySideInvalidatePtr", QVariant());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // see PySide::destroyQCoreApplication()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# if QT_VERSION < QT_VERSION_CHECK(6, 8, 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PySide::SignalManager::instance().clear();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Shiboken::BindingManager &bm = Shiboken::BindingManager::instance();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SbkObject *pyQApp = bm.retrieveWrapper(QCoreApplication::instance());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PyTypeObject *pyQObjectType = Shiboken::Conversions::getPythonTypeObject("QObject*");
</span></pre><pre style='margin:0'>
</pre>