mirror of
https://github.com/yann64/haikuports.git
synced 2026-03-19 01:46:00 +01:00
x86_64 is used as a baseline: the "x86_64" entry, whatever status it has, is transformed into "all", and then the other entries in ARCHITECTURES either dropped or rearranged appropriately.
79 lines
2.3 KiB
Bash
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
|
|
}
|