Showing with 128 additions and 0 deletions.
  1. +15 −0 dev-util/iaito/additional-files/iaito.rdef.in
  2. +113 −0 dev-util/iaito/iaito-5.8.8.recipe
15 changes: 15 additions & 0 deletions dev-util/iaito/additional-files/iaito.rdef.in
@@ -0,0 +1,15 @@

resource app_flags B_SINGLE_LAUNCH | B_ARGV_ONLY;

resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = @MINOR@,
variety = B_APPV_FINAL,
internal = 0,
short_info = "Official Qt frontend for radare2",
long_info = "A reverse engineering GUI"
};

resource app_signature "application/x-vnd.Iaito";

113 changes: 113 additions & 0 deletions dev-util/iaito/iaito-5.8.8.recipe
@@ -0,0 +1,113 @@
SUMMARY="Official Qt frontend for radare2"
DESCRIPTION="iaito is the official graphical interface for radare2, a libre reverse engineering \
framework.
* Requires radare2 and Qt-5/6
* Iaito was the original name of this GUI before being forked as Cutter.
* Use r2 plugins (f.ex: no need for r2ghidra-iaito plugin if r2ghidra is installed)
* Focus on simplicity, parity with commands, keybindings and r2-style workflows.
* Help with translations https://crowdin.com/project/iaito!
* Aims to cover other radare2 features, not just a disassembler forensics, networking, \
bindiffing, solvers ..."
HOMEPAGE="https://github.com/radareorg/iaito"
COPYRIGHT="2023 radare2 developers et all"
LICENSE="GNU GPL v3"
REVISION="1"
SOURCE_URI="$HOMEPAGE/archive/refs/tags/$portVersion.tar.gz"
CHECKSUM_SHA256="2a0865352b7ccab4e8eb065cbcc87f847e30f6418ad17bd5b1a30284822a62aa"
SOURCE_FILENAME="iaito-$portVersion.tar.gz"
#srcGitRev_2="e66b3a962a7fc7dfd730764180011ecffbb206bf"
#SOURCE_URI_2="https://github.com/radareorg/iaito-translations/archive/$srcGitRev_2.tar.gz"
#CHECKSUM_SHA256_2="11f170b87045b5bec23e398ba04994719a72f4573d4391396a3ac0011792e14a"
#SOURCE_FILENAME_2="iaito-translations-$srcGitRev_2.tar.gz"
ADDITIONAL_FILES="iaito.rdef.in"

ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"

PROVIDES="
iaito$secondaryArchSuffix = $portVersion
cmd:iaito = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcapstone$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libgvc$secondaryArchSuffix
lib:libpython3.9$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Core5Compat$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Svg$secondaryArchSuffix
lib:libQt6Widgets$secondaryArchSuffix
lib:libr_core$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.9$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:libr_core$secondaryArchSuffix
devel:libxxhash$secondaryArchSuffix
devel:liblz4$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:libzip$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:lrelease$secondaryArchSuffix >= 5
cmd:make
cmd:pkg_config$secondaryArchSuffix
cmd:python3.9
cmd:qmake6$secondaryArchSuffix
"

BUILD()
{
runConfigure ./configure
make $jobArgs
}

INSTALL()
{
mkdir -p $prefix/bin $manDir/man1
cp build/iaito $prefix/bin
cp src/iaito.1 $manDir/man1

# importing the translations still crashes
# mkdir -p $dataDir/Qt6/translations
# cp -rf $sourceDir2/iaito-translations-$srcGitRev_2 src/translations
# make -C src/translations build
# install -m 644 -C src/translations/*/*.qm $dataDir/Qt6/translations

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/iaito.rdef.in > iaito.rdef

addResourcesToBinaries iaito.rdef \
$prefix/bin/iaito

# crashes when launched from Terminal/Deskbar
# addAppDeskbarSymlink $prefix/bin/iaito Iaito
}