Files
haikuports/dev-util/cutter/cutter-2.3.2.recipe
2023-09-21 09:40:49 +00:00

163 lines
5.2 KiB
Bash

SUMMARY="A Qt and C++ GUI for rizin reverse engineering framework"
DESCRIPTION="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. Cutter is created by reverse \
engineers for reverse engineers."
HOMEPAGE="https://github.com/rizinorg/cutter"
COPYRIGHT="2021 xarkes, thestr4ng3r, ballessay, Hugo Teso"
LICENSE="GNU GPL v3"
REVISION="1"
SOURCE_URI="$HOMEPAGE/archive/refs/tags/v$portVersion.tar.gz"
CHECKSUM_SHA256="6968899225f863dccadc68d010060517a084a72758d6258823856069f87e25d6"
SOURCE_FILENAME="cutter-$portVersion.tar.gz"
srcGitRev_2="0c92dc939a0aa74e6b5c8770bf50aa5719e4de2b"
SOURCE_URI_2="https://github.com/rizinorg/cutter-translations/archive/$srcGitRev_2.tar.gz"
CHECKSUM_SHA256_2="5e43146b111b16d30e1c2e4d77a19b8cde18adf570171f9f4fcb5083951d48db"
SOURCE_FILENAME_2="translations-$srcGitRev_2.tar.gz"
PATCHES="cutter-$portVersion.patchset"
ADDITIONAL_FILES="cutter.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
cutter$secondaryArchSuffix = $portVersion
app:Cutter$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcapstone$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libgvc$secondaryArchSuffix
lib:libpython3.10$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Core5Compat$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Svg$secondaryArchSuffix
lib:libQt6Widgets$secondaryArchSuffix
lib:librz_analysis$secondaryArchSuffix
lib:librz_asm$secondaryArchSuffix
lib:librz_bin$secondaryArchSuffix
lib:librz_bp$secondaryArchSuffix
lib:librz_config$secondaryArchSuffix
lib:librz_cons$secondaryArchSuffix
lib:librz_core$secondaryArchSuffix
lib:librz_crypto$secondaryArchSuffix
lib:librz_debug$secondaryArchSuffix
lib:librz_diff$secondaryArchSuffix
lib:librz_egg$secondaryArchSuffix
lib:librz_flag$secondaryArchSuffix
lib:librz_hash$secondaryArchSuffix
lib:librz_io$secondaryArchSuffix
lib:librz_lang$secondaryArchSuffix
lib:librz_magic$secondaryArchSuffix
lib:librz_main$secondaryArchSuffix
lib:librz_parse$secondaryArchSuffix
lib:librz_reg$secondaryArchSuffix
lib:librz_search$secondaryArchSuffix
lib:librz_socket$secondaryArchSuffix
lib:librz_syscall$secondaryArchSuffix
lib:librz_type$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libtree_sitter$secondaryArchSuffix
lib:libuv$secondaryArchSuffix
lib:libxxhash$secondaryArchSuffix
lib:liblz4$secondaryArchSuffix
lib:libz$secondaryArchSuffix
lib:libzip$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcapstone$secondaryArchSuffix
devel:libgvc$secondaryArchSuffix
devel:libpython3.10$secondaryArchSuffix
devel:libQt6Core5Compat$secondaryArchSuffix
devel:libQt6Core$secondaryArchSuffix
devel:libQt6DBus$secondaryArchSuffix
devel:libQt6Gui$secondaryArchSuffix
devel:libQt6UiTools$secondaryArchSuffix
devel:libQt6Network$secondaryArchSuffix
devel:libQt6Svg$secondaryArchSuffix
devel:libQt6Widgets$secondaryArchSuffix
devel:librz_analysis$secondaryArchSuffix
devel:librz_asm$secondaryArchSuffix
devel:librz_bin$secondaryArchSuffix
devel:librz_bp$secondaryArchSuffix
devel:librz_config$secondaryArchSuffix
devel:librz_cons$secondaryArchSuffix
devel:librz_core$secondaryArchSuffix
devel:librz_crypto$secondaryArchSuffix
devel:librz_debug$secondaryArchSuffix
devel:librz_diff$secondaryArchSuffix
devel:librz_egg$secondaryArchSuffix
devel:librz_flag$secondaryArchSuffix
devel:librz_hash$secondaryArchSuffix
devel:librz_io$secondaryArchSuffix
devel:librz_lang$secondaryArchSuffix
devel:librz_magic$secondaryArchSuffix
devel:librz_main$secondaryArchSuffix
devel:librz_parse$secondaryArchSuffix
devel:librz_reg$secondaryArchSuffix
devel:librz_search$secondaryArchSuffix
devel:librz_socket$secondaryArchSuffix
devel:librz_syscall$secondaryArchSuffix
devel:librz_type$secondaryArchSuffix
devel:libssl$secondaryArchSuffix
devel:libtree_sitter$secondaryArchSuffix
devel:libuv$secondaryArchSuffix
devel:libxxhash$secondaryArchSuffix
devel:liblz4$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:libzip$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:lrelease$secondaryArchSuffix >= 5
cmd:make
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:qmake$secondaryArchSuffix >= 5
"
BUILD()
{
cp -rf $sourceDir2/cutter-translations-$srcGitRev_2/* src/translations
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release \
$cmakeDirArgs \
-DCMAKE_INSTALL_BINDIR=$appsDir \
-DCUTTER_ENABLE_PYTHON=ON \
-DCUTTER_USE_BUNDLED_RIZIN=OFF \
-DCUTTER_QT6=ON \
-DCMAKE_CXX_FLAGS="-fpermissive"
make -C build $jobArgs
}
INSTALL()
{
make -C build install
mv $appsDir/cutter $appsDir/Cutter
# we are not linux
rm -rf $prefix/share
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
sed \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
$portDir/additional-files/cutter.rdef.in > cutter.rdef
addResourcesToBinaries cutter.rdef \
$appsDir/Cutter
addAppDeskbarSymlink $appsDir/Cutter
}