Files
haikuports/dev-util/capstone/capstone-3.0.5.recipe
2018-12-17 13:57:15 -05:00

68 lines
2.0 KiB
Bash

SUMMARY="Lightweight multi-platform, multi-architecture disassembly framework"
DESCRIPTION="* Multi-architectures: Arm, Arm64 (Armv8), Mips, PowerPC, Sparc, \
SystemZ, XCore & X86 (include X86_64) (details).
* Clean/simple/lightweight/intuitive architecture-neutral API.
* Provide details on disassembled instruction (called “decomposer” by some others).
* Provide some semantics of the disassembled instruction, such as list of \
implicit registers read & written.
* Implemented in pure C language, with bindings for Perl, Python, Ruby, C#, \
NodeJS, Java, GO, C++, OCaml, Lua, Rust, Delphi, Free Pascall & Vala available.
* Native support for Windows & *nix (with Mac OSX, iOS, Android, Linux, *BSD & \
Solaris confirmed).
* Thread-safe by design.
* Special support for embedding into firmware or OS kernel.
* High performance & suitable for malware analysis (capable of handling \
various X86 malware tricks)."
HOMEPAGE="http://www.capstone-engine.org"
COPYRIGHT="2013-2015, COSEINC"
LICENSE="BSD (3-clause)"
REVISION="1"
SOURCE_URI="https://github.com/aquynh/capstone/archive/$portVersion.tar.gz"
CHECKSUM_SHA256="913dd695e7c5a2b972a6f427cb31f2e93677ec1c38f39dda37d18a91c70b6df1"
PATCHES="capstone-$portVersion.patchset"
ARCHITECTURES="!x86_gcc2 ?x86 x86_64"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
capstone$secondaryArchSuffix = $portVersion
lib:libcapstone$secondaryArchSuffix = 3
"
REQUIRES="
haiku$secondaryArchSuffix
"
PROVIDES_devel="
capstone${secondaryArchSuffix}_devel = $portVersion
devel:libcapstone$secondaryArchSuffix = 3
"
REQUIRES_devel="
capstone$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:awk
cmd:gcc$secondaryArchSuffix
cmd:make
"
BUILD()
{
export LIBDIRARCH=$relativeLibDir
export MAKE_JOBS=$jobArgs
./make.sh default
}
INSTALL()
{
export PREFIX=$prefix
export LIBDIRARCH=$relativeLibDir
./make.sh install
prepareInstalledDevelLib libcapstone
fixPkgconfig
packageEntries devel $developDir
}