snowman: new recipe (#1269)

This commit is contained in:
Calvin Hill
2017-05-02 18:29:32 +01:00
committed by Scott McCreary
parent 6cd11a9512
commit e595e7ce4e

View File

@@ -0,0 +1,78 @@
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="1"
SOURCE_URI="https://github.com/yegord/snowman/archive/v$portVersion.zip"
CHECKSUM_SHA256="45a9bf4dd0805c1c42155b6c5ff1c86bb28273dbf1453e958cfeee3cec086bc0"
ARCHITECTURES="!x86_gcc2 ?x86 x86_64"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
snowman$secondaryArchSuffix
app:Snowman$secondaryArchSuffix
cmd:nocode$secondaryArchSuffix
"
REQUIRES="
haiku$secondaryArchSuffix
qt5$secondaryArchSuffix
lib:libcapstone$secondaryArchSuffix
lib:libboost_system$secondaryArchSuffix
lib:libboost_program_options$secondaryArchSuffix
lib:libboost_filesystem$secondaryArchSuffix
lib:libboost_iostreams$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
qt5$secondaryArchSuffix_devel
devel:libcapstone$secondaryArchSuffix
devel:libboost_system$secondaryArchSuffix
devel:libboost_filesystem$secondaryArchSuffix
devel:libboost_iostreams$secondaryArchSuffix
devel:libboost_program_options$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:qmake$secondaryArchSuffix
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
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
}