0
0
Fork 0
haikuports/app-forensics/snowman/snowman-0.1.3.recipe

83 lines
2.5 KiB
Bash

SUMMARY="A native code to C/C++ decompiler"
DESCRIPTION="Snowman is a native code to C/C++ decompiler, \
supporting x86, AMD64, and ARM architectures. You can use it \
as a standalone GUI application, command-line tool, IDA plug-in \
or a library. Snowman is free software.\
* Supports ARM, x86, and x86-64 architectures.
* Reads ELF, Mach-O, and PE file formats
* Reconstructs functions, their names and arguments, local and global variables,
expressions, integer, pointer and structural types, all types of control-flow
structures, including switch.
* Has a nice graphical user interface with one-click navigation between the
assembler code and the reconstructed program.
* Has a command-line interface for batch processing."
HOMEPAGE="https://derevenets.com"
COPYRIGHT="2010 Yegor Derevenets"
LICENSE="GNU GPL v3"
REVISION="3"
SOURCE_URI="https://github.com/yegord/snowman/archive/v$portVersion.zip"
CHECKSUM_SHA256="6baf2e2dc2e66e43f708b5ee7490b08676e0756a04f059b3b6be5fe3ec385cd5"
SOURCE_FILENAME="snowman-$portVersion.zip"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
snowman$secondaryArchSuffix
app:Snowman$secondaryArchSuffix
cmd:nocode$secondaryArchSuffix
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libboost_filesystem$secondaryArchSuffix
lib:libboost_iostreams$secondaryArchSuffix
lib:libboost_program_options$secondaryArchSuffix
lib:libboost_system$secondaryArchSuffix
lib:libcapstone$secondaryArchSuffix
lib:libQt5Core$secondaryArchSuffix
lib:libQt5Gui$secondaryArchSuffix
lib:libQt5Widgets$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libboost_filesystem$secondaryArchSuffix >= 1.69.0
devel:libboost_iostreams$secondaryArchSuffix >= 1.69.0
devel:libboost_program_options$secondaryArchSuffix >= 1.69.0
devel:libboost_system$secondaryArchSuffix >= 1.69.0
devel:libcapstone$secondaryArchSuffix
devel:libQt5Core$secondaryArchSuffix
devel:libQt5Gui$secondaryArchSuffix
devel:libQt5Widgets$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
cmd:qmake$secondaryArchSuffix >= 5
"
BUILD()
{
cmake src -DBOOST_ROOT=$portPackageLinksDir/devel~libboost_program_options/develop \
-DCMAKE_BUILD_TYPE=Release \
-DIDA_PLUGIN_ENABLED=NO \
-DNC_QT5=YES
make $jobArgs
}
INSTALL()
{
mkdir -p $binDir $appsDir
cp nocode/nocode $binDir
cp snowman/snowman $appsDir/Snowman
addAppDeskbarSymlink $appsDir/Snowman
}
TEST()
{
make test
}