From e595e7ce4eedb8ca47a1c39dd2a45ef0c6bc0238 Mon Sep 17 00:00:00 2001 From: Calvin Hill Date: Tue, 2 May 2017 18:29:32 +0100 Subject: [PATCH] snowman: new recipe (#1269) --- app-forensics/snowman/snowman-0.1.0.recipe | 78 ++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 app-forensics/snowman/snowman-0.1.0.recipe diff --git a/app-forensics/snowman/snowman-0.1.0.recipe b/app-forensics/snowman/snowman-0.1.0.recipe new file mode 100644 index 000000000..3cb903fc2 --- /dev/null +++ b/app-forensics/snowman/snowman-0.1.0.recipe @@ -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 +}