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

79 lines
2.3 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="2"
SOURCE_URI="https://github.com/yegord/snowman/archive/v$portVersion.zip"
CHECKSUM_SHA256="45a9bf4dd0805c1c42155b6c5ff1c86bb28273dbf1453e958cfeee3cec086bc0"
ARCHITECTURES="all !x86_gcc2 ?x86"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
snowman$secondaryArchSuffix
app:Snowman$secondaryArchSuffix
cmd:nocode$secondaryArchSuffix
"
REQUIRES="
haiku$secondaryArchSuffix
qt5$secondaryArchSuffix
lib:libboost_filesystem$secondaryArchSuffix
lib:libboost_iostreams$secondaryArchSuffix
lib:libboost_program_options$secondaryArchSuffix
lib:libboost_system$secondaryArchSuffix
lib:libcapstone$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
qt5${secondaryArchSuffix}_devel
devel:libboost_filesystem$secondaryArchSuffix
devel:libboost_iostreams$secondaryArchSuffix
devel:libboost_program_options$secondaryArchSuffix
devel:libboost_system$secondaryArchSuffix
devel:libcapstone$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
mkdir -p $appsDir
cp nocode/nocode $binDir
cp snowman/snowman $appsDir/Snowman
addAppDeskbarSymlink $appsDir/Snowman
}
TEST()
{
make test
}