From e476e3fefe9cace4f2c8eecea8f1c56659c610beefe4dcd501d2cdba9f70d7ef Mon Sep 17 00:00:00 2001 From: Martin Pluskal Date: Tue, 7 Jan 2025 09:29:33 +0000 Subject: [PATCH] Cutter is a free and open-source reverse engineering platform powered by rizin. It aims at being an advanced and customizable reverse engineering platform while keeping the user experience in mind. OBS-URL: https://build.opensuse.org/package/show/devel:tools/rz-cutter?expand=0&rev=1 --- .gitattributes | 23 ++++++ .gitignore | 1 + Cutter-v2.3.4-src.tar.gz | 3 + Fix-build-failure-against-PySide-6.8.patch | 14 ++++ rz-cutter.changes | 4 + rz-cutter.spec | 94 ++++++++++++++++++++++ 6 files changed, 139 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 Cutter-v2.3.4-src.tar.gz create mode 100644 Fix-build-failure-against-PySide-6.8.patch create mode 100644 rz-cutter.changes create mode 100644 rz-cutter.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/Cutter-v2.3.4-src.tar.gz b/Cutter-v2.3.4-src.tar.gz new file mode 100644 index 0000000..47541b1 --- /dev/null +++ b/Cutter-v2.3.4-src.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:edc266a5f7a1f1c7f71cf5c6c9727e05008b728eae3bb42beb7d0b24ce07c5c3 +size 11608176 diff --git a/Fix-build-failure-against-PySide-6.8.patch b/Fix-build-failure-against-PySide-6.8.patch new file mode 100644 index 0000000..dce4bc4 --- /dev/null +++ b/Fix-build-failure-against-PySide-6.8.patch @@ -0,0 +1,14 @@ +diff --git a/src/common/PythonManager.cpp b/src/common/PythonManager.cpp +index eb43b018e065..85a7ec191d1b 100644 +--- a/src/common/PythonManager.cpp ++++ b/src/common/PythonManager.cpp +@@ -133,7 +133,9 @@ void PythonManager::shutdown() + Core()->setProperty("_PySideInvalidatePtr", QVariant()); + + // see PySide::destroyQCoreApplication() ++# if QT_VERSION < QT_VERSION_CHECK(6, 8, 0) + PySide::SignalManager::instance().clear(); ++# endif + Shiboken::BindingManager &bm = Shiboken::BindingManager::instance(); + SbkObject *pyQApp = bm.retrieveWrapper(QCoreApplication::instance()); + PyTypeObject *pyQObjectType = Shiboken::Conversions::getPythonTypeObject("QObject*"); diff --git a/rz-cutter.changes b/rz-cutter.changes new file mode 100644 index 0000000..db9a590 --- /dev/null +++ b/rz-cutter.changes @@ -0,0 +1,4 @@ +------------------------------------------------------------------- +Sun Sep 8 06:14:29 UTC 2024 - Jianhua Lu + +- new package rz-cutter diff --git a/rz-cutter.spec b/rz-cutter.spec new file mode 100644 index 0000000..dc513f2 --- /dev/null +++ b/rz-cutter.spec @@ -0,0 +1,94 @@ +# +# spec file for package rz-cutter +# +# Copyright (c) 2025 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: rz-cutter +Version: 2.3.4 +Release: 0 +Summary: GUI for Rizin reverse engineering framework +License: GPL-3.0-only +URL: https://github.com/rizinorg/cutter +Source0: https://github.com/rizinorg/cutter/releases/download/v%{version}/Cutter-v%{version}-src.tar.gz +# FIX-UPSTREAM, https://github.com/rizinorg/cutter/commit/93a06f5edd6fe5d6dc74eab564b93b9b0968c6f8 +Patch0: Fix-build-failure-against-PySide-6.8.patch +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: hicolor-icon-theme +BuildRequires: cmake(Clang) +BuildRequires: cmake(KF6SyntaxHighlighting) +BuildRequires: cmake(PySide6) +BuildRequires: cmake(Qt6Core) +BuildRequires: cmake(Qt6Core5Compat) +BuildRequires: cmake(Qt6Gui) +BuildRequires: cmake(Qt6LinguistTools) +BuildRequires: cmake(Qt6Network) +BuildRequires: cmake(Qt6OpenGLWidgets) +BuildRequires: cmake(Qt6Svg) +BuildRequires: cmake(Qt6SvgWidgets) +BuildRequires: cmake(Qt6Widgets) +BuildRequires: cmake(Rizin) +BuildRequires: cmake(Shiboken6) +BuildRequires: pkgconfig(libgvc) +BuildRequires: pkgconfig(python3) + +%description +Cutter is a Qt and C++ GUI for Rizin. Its goal is making an advanced, +customizable and FOSS reverse-engineering platform while keeping the user +experience at mind. Cutter is created by reverse engineers for reverse +engineers. + +%package devel +Summary: Development files for the cutter-re package +Requires: %{name} = %{version} + +%description devel +Development files for the cutter-re package. See cutter-re package for more +information. + +%prep +%autosetup -p1 -n Cutter-v%{version} + +%build +%cmake \ + -DCUTTER_USE_BUNDLED_RIZIN=OFF \ + -DCUTTER_ENABLE_PYTHON=ON \ + -DCUTTER_ENABLE_PYTHON_BINDINGS=ON \ + -DCUTTER_ENABLE_GRAPHVIZ=ON \ + -DCUTTER_QT6=ON +%cmake_build + +%install +%cmake_install + +%check + +%files +%license COPYING src/img/icons/Iconic-LICENSE +%doc README.md +%{_bindir}/cutter +%{_datadir}/applications/re.rizin.cutter.desktop +%{_datadir}/icons/hicolor/scalable/apps/cutter.svg +%dir %{_datadir}/rizin/cutter +%dir %{_datadir}/rizin/cutter/translations +%{_datadir}/rizin/cutter/translations/*.qm + +%files devel +%{_includedir}/cutter +%dir %{_libdir}/cmake/Cutter +%{_libdir}/cmake/Cutter/*.cmake + +%changelog