1SUMMARY="A native code to C/C++ decompiler"
2DESCRIPTION="Snowman is a native code to C/C++ decompiler, \
3supporting x86, AMD64, and ARM architectures. You can use it \
4as a standalone GUI application, command-line tool, IDA plug-in \
5or a library. Snowman is free software.\
6* Supports ARM, x86, and x86-64 architectures.
7* Reads ELF, Mach-O, and PE file formats
8* Reconstructs functions, their names and arguments, local and global variables,
9expressions, integer, pointer and structural types, all types of control-flow
10structures, including switch.
11* Has a nice graphical user interface with one-click navigation between the
12assembler code and the reconstructed program.
13* Has a command-line interface for batch processing."
14HOMEPAGE="https://derevenets.com"
15COPYRIGHT="2010 Yegor Derevenets"
16LICENSE="GNU GPL v3"
17REVISION="2"
18SOURCE_URI="https://github.com/yegord/snowman/archive/v$portVersion.zip"
19CHECKSUM_SHA256="45a9bf4dd0805c1c42155b6c5ff1c86bb28273dbf1453e958cfeee3cec086bc0"
20
21ARCHITECTURES="all !x86_gcc2 ?x86"
22SECONDARY_ARCHITECTURES="x86"
23
24PROVIDES="
25	snowman$secondaryArchSuffix
26	app:Snowman$secondaryArchSuffix
27	cmd:nocode$secondaryArchSuffix
28	"
29REQUIRES="
30	haiku$secondaryArchSuffix
31	qt5$secondaryArchSuffix
32	lib:libboost_filesystem$secondaryArchSuffix
33	lib:libboost_iostreams$secondaryArchSuffix
34	lib:libboost_program_options$secondaryArchSuffix
35	lib:libboost_system$secondaryArchSuffix
36	lib:libcapstone$secondaryArchSuffix
37	"
38
39BUILD_REQUIRES="
40	haiku${secondaryArchSuffix}_devel
41	qt5${secondaryArchSuffix}_devel
42	devel:libboost_filesystem$secondaryArchSuffix
43	devel:libboost_iostreams$secondaryArchSuffix
44	devel:libboost_program_options$secondaryArchSuffix
45	devel:libboost_system$secondaryArchSuffix
46	devel:libcapstone$secondaryArchSuffix
47	"
48BUILD_PREREQUIRES="
49	cmd:cmake
50	cmd:gcc$secondaryArchSuffix
51	cmd:ld$secondaryArchSuffix
52	cmd:make
53	cmd:pkg_config$secondaryArchSuffix
54	cmd:qmake$secondaryArchSuffix >= 5
55	"
56
57BUILD()
58{
59	cmake src -DBOOST_ROOT=$portPackageLinksDir/devel~libboost_program_options/develop \
60				-DCMAKE_BUILD_TYPE=Release \
61				-DIDA_PLUGIN_ENABLED=NO \
62				-DNC_QT5=YES
63	make $jobArgs
64}
65
66INSTALL()
67{
68	mkdir -p $binDir
69	mkdir -p $appsDir
70	cp nocode/nocode $binDir
71	cp snowman/snowman $appsDir/Snowman
72	addAppDeskbarSymlink $appsDir/Snowman
73}
74
75TEST()
76{
77	make test
78}
79