diff --git a/dev-util/iaito/additional-files/iaito.rdef.in b/dev-util/iaito/additional-files/iaito.rdef.in new file mode 100644 index 000000000..4105acdda --- /dev/null +++ b/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"; + diff --git a/dev-util/iaito/iaito-5.8.8.recipe b/dev-util/iaito/iaito-5.8.8.recipe new file mode 100644 index 000000000..8520e7239 --- /dev/null +++ b/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 +}