0
0
Fork 0
haikuports/dev-util/radare2/radare2-5.4.0.recipe

300 lines
9.2 KiB
Bash

SUMMARY="UNIX-like reverse engineering framework and commandline tools"
DESCRIPTION="Forensics tool, scriptable commandline hexadecimal editor, \
able to open disk files, analyzing binaries in several common and less common \
formats, disassemble code for several CPU architectures, debug programs, \
attach to remote GDB servers, and much more."
HOMEPAGE="https://radare.org/"
COPYRIGHT="2007-2021 pancake
2007-2015 Skia
2012-2015 pof
2008-2015 nibble
2007-2015 ret2libc
2009-2016 defragger
2005-2006 Matt Mackall
2009-2015 earada
2009-2015 Jody Frankowski
2009-2015 Anton Kochkov
2011-2015 RoValles
2009-2015 dso
2013-2016 condret
2012-2015 Fedor Sakharov
2012-2015 Bhootravi
2013-2015 th0rpe
2015 julien (jvoisin) voisin
2014-2015 jn
2009-2015 montekki
2009-2015 ninjahacker
2015 riq
2015 qnix
2015 danielps
2015 dkreuter
2015 ampotos
2008 Anant Narayanan
2008-2015 inisider
2015 nodepad
2008-2013 xvilka
2013-2015 sghctoma
2013-2014 batchdrake
2010-2015 Adam Pridgen
2010-2013 eloi
2014 jfrankowski
2009-2015 The Lemon Man
2013-2015 fenugrec
2004 Philippe Biondi
2015 aaronpuchert
2010-2015 dark_k3y
2015 Felix Held
2012-2013 Alexander
2014 Jonathan Neuschöfer
2016 bobby.smiles
2015-2016 oddcoder
2009-2016 Alexandru Caciulescu
2015-2016 javierprtd
2016 SkUaTeR
2009-2016 madprogrammer
2016 moritz
2016 n4x0r
2016 soez
2013 Daniel Holden
2010 Bean Lee
2014-2016 defragger
2014-2016 madprogrammer
1986-2016 Free Software Foundation, Inc.
2005 QNX Software Systems.
2001-2004 Fabrice Bellard
2009 Intel Corporation
1988-2004 Keith Packard
1988-2004 Bart Massey
2007-2015 dso
2002-2013 Vivek Thampi
1999-2013 Dieter Baron and Thomas Klausner
1995-2013 Jean-loup Gailly
2012 Alexander Demin
2005 Jan Wilmans
2002-2009 Bas Wijnen
2014-2016 condret
2016 unlogic
2012 Karl Hobley
2007 Vanya A. Sergeev
2007-2012 Synopsys Inc
1994-1995 Myricom, Inc.
1986-1995 Ian F. Darwin
2003 Christos Zoulas
1992-1994 Henry Spencer
2011 Remy Oukaour
2000-2001 Markus Friedl
2008 Nadia Heninger
2008 J. Alex Halderman
2003-2010 University of Illinois at Urbana-Champaign
1987-1994 The Regents of the University of California
2000-2001 Aaron D. Gifford
1991-1992 RSA Data Security, Inc.
2012 Yann Collet
1995-1999 Cryptography Research, Inc. All
1997-1998 Andrew Tridgell
2002-2003 Steve French
2010-2016 Sebastian Reichel"
LICENSE="GNU GPL v3
GNU LGPL v3"
REVISION="3"
SOURCE_URI="https://github.com/radare/radare2/archive/$portVersion.tar.gz"
CHECKSUM_SHA256="21ddae80a18d5ceef4bcd3a7cae1ba09d14b510d68ac9134681e1e9967123b23"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
commandBinDir=$binDir
commandSuffix=$secondaryArchSuffix
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandBinDir=$prefix/bin
commandSuffix=
fi
libVersion="$portVersion"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
radare2$secondaryArchSuffix = $portVersion
cmd:r2$commandSuffix = $portVersion
cmd:r2agent$commandSuffix = $portVersion
cmd:r2p$commandSuffix = $portVersion
cmd:r2pm$commandSuffix = $portVersion
cmd:r2r$commandSuffix = $portVersion
cmd:rabin2$commandSuffix = $portVersion
cmd:radare2$commandSuffix = $portVersion
cmd:radiff2$commandSuffix = $portVersion
cmd:rafind2$commandSuffix = $portVersion
cmd:ragg2$commandSuffix = $portVersion
cmd:ragg2_cc$commandSuffix = $portVersion
cmd:rahash2$commandSuffix = $portVersion
cmd:rasign2$commandSuffix = $portVersion
cmd:rarun2$commandSuffix = $portVersion
cmd:rasm2$commandSuffix = $portVersion
cmd:ravc2$commandSuffix = $portVersion
cmd:rax2$commandSuffix = $portVersion
lib:libr_anal$secondaryArchSuffix = $libVersionCompat
lib:libr_asm$secondaryArchSuffix = $libVersionCompat
lib:libr_bin$secondaryArchSuffix = $libVersionCompat
lib:libr_bp$secondaryArchSuffix = $libVersionCompat
lib:libr_config$secondaryArchSuffix = $libVersionCompat
lib:libr_cons$secondaryArchSuffix = $libVersionCompat
lib:libr_core$secondaryArchSuffix = $libVersionCompat
lib:libr_crypto$secondaryArchSuffix = $libVersionCompat
lib:libr_debug$secondaryArchSuffix = $libVersionCompat
lib:libr_egg$secondaryArchSuffix = $libVersionCompat
lib:libr_flag$secondaryArchSuffix = $libVersionCompat
lib:libr_fs$secondaryArchSuffix = $libVersionCompat
lib:libr_hash$secondaryArchSuffix = $libVersionCompat
lib:libr_io$secondaryArchSuffix = $libVersionCompat
lib:libr_lang$secondaryArchSuffix = $libVersionCompat
lib:libr_magic$secondaryArchSuffix = $libVersionCompat
lib:libr_main$secondaryArchSuffix = $libVersionCompat
lib:libr_parse$secondaryArchSuffix = $libVersionCompat
lib:libr_reg$secondaryArchSuffix = $libVersionCompat
lib:libr_search$secondaryArchSuffix = $libVersionCompat
lib:libr_socket$secondaryArchSuffix = $libVersionCompat
lib:libr_syscall$secondaryArchSuffix = $libVersionCompat
lib:libr_util$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcapstone$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libexecinfo$secondaryArchSuffix
lib:libgmp$secondaryArchSuffix
lib:libmagic$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libxxhash$secondaryArchSuffix
"
PROVIDES_devel="
radare2${secondaryArchSuffix}_devel = $portVersion
devel:arm64dis$secondaryArchSuffix
devel:libr_anal$secondaryArchSuffix = $libVersionCompat
devel:libr_asm$secondaryArchSuffix = $libVersionCompat
devel:libr_bin$secondaryArchSuffix = $libVersionCompat
devel:libr_bp$secondaryArchSuffix = $libVersionCompat
devel:libr_config$secondaryArchSuffix = $libVersionCompat
devel:libr_cons$secondaryArchSuffix = $libVersionCompat
devel:libr_core$secondaryArchSuffix = $libVersionCompat
devel:libr_crypto$secondaryArchSuffix = $libVersionCompat
devel:libr_debug$secondaryArchSuffix = $libVersionCompat
devel:libr_egg$secondaryArchSuffix = $libVersionCompat
devel:libr_flag$secondaryArchSuffix = $libVersionCompat
devel:libr_fs$secondaryArchSuffix = $libVersionCompat
devel:libr_hash$secondaryArchSuffix = $libVersionCompat
devel:libr_io$secondaryArchSuffix = $libVersionCompat
devel:libr_lang$secondaryArchSuffix = $libVersionCompat
devel:libr_magic$secondaryArchSuffix = $libVersionCompat
devel:libr_main$secondaryArchSuffix = $libVersionCompat
devel:libr_parse$secondaryArchSuffix = $libVersionCompat
devel:libr_reg$secondaryArchSuffix = $libVersionCompat
devel:libr_search$secondaryArchSuffix = $libVersionCompat
devel:libr_socket$secondaryArchSuffix = $libVersionCompat
devel:libr_syscall$secondaryArchSuffix = $libVersionCompat
devel:libr_util$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
radare2${secondaryArchSuffix} == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcapstone$secondaryArchSuffix
devel:libcrypto$secondaryArchSuffix
devel:libexecinfo$secondaryArchSuffix
devel:libgmp$secondaryArchSuffix
devel:liblua$secondaryArchSuffix
devel:libmagic$secondaryArchSuffix
devel:libssl$secondaryArchSuffix
devel:libxxhash$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:find
cmd:gcc$secondaryArchSuffix
cmd:git
cmd:make
cmd:sh
cmd:patch
cmd:pkg_config$secondaryArchSuffix
"
# What happend with libr2.so?
defineDebugInfoPackage radare2$secondaryArchSuffix \
"$commandBinDir"/r2agent \
"$commandBinDir"/rabin2 \
"$commandBinDir"/radare2 \
"$commandBinDir"/radiff2 \
"$commandBinDir"/rafind2 \
"$commandBinDir"/ragg2 \
"$commandBinDir"/rahash2 \
"$commandBinDir"/rarun2 \
"$commandBinDir"/rasm2 \
"$commandBinDir"/ravc2\
"$commandBinDir"/rax2 \
"$libDir"/libr_anal.so.$libVersion \
"$libDir"/libr_asm.so.$libVersion \
"$libDir"/libr_bin.so.$libVersion \
"$libDir"/libr_bp.so.$libVersion \
"$libDir"/libr_config.so.$libVersion \
"$libDir"/libr_cons.so.$libVersion \
"$libDir"/libr_core.so.$libVersion \
"$libDir"/libr_crypto.so.$libVersion \
"$libDir"/libr_debug.so.$libVersion \
"$libDir"/libr_egg.so.$libVersion \
"$libDir"/libr_flag.so.$libVersion \
"$libDir"/libr_fs.so.$libVersion \
"$libDir"/libr_hash.so.$libVersion \
"$libDir"/libr_io.so.$libVersion \
"$libDir"/libr_lang.so.$libVersion \
"$libDir"/libr_magic.so.$libVersion \
"$libDir"/libr_main.so.$libVersion \
"$libDir"/libr_parse.so.$libVersion \
"$libDir"/libr_reg.so.$libVersion \
"$libDir"/libr_search.so.$libVersion \
"$libDir"/libr_socket.so.$libVersion \
"$libDir"/libr_syscall.so.$libVersion \
"$libDir"/libr_util.so.$libVersion
BUILD()
{
CFLAGS="-lbsd" LDFLAGS="-lbsd" \
runConfigure --omit-dirs docdir,datarootdir,bindir ./configure \
--bindir=$commandBinDir \
--with-sysmagic \
--with-syscapstone \
--with-sysxxhash \
--with-openssl
make $jobArgs
}
INSTALL()
{
make install
cp libr/*/libr_*.so $libDir
mkdir -p `dirname $docDir`
mv $prefix/data/radare2 $docDir
rm -rf $prefix/share
prepareInstalledDevelLibs arm64dis libr_anal libr_asm libr_bin \
libr_bp libr_config libr_cons libr_core libr_crypto libr_debug libr_egg \
libr_flag libr_fs libr_hash libr_io libr_lang libr_magic libr_main \
libr_parse libr_reg libr_search libr_socket libr_syscall libr_util
fixPkgconfig
packageEntries devel \
$developDir
}
TEST()
{
# Be warned, it will clone the regressions repo with git.
# It will try to use the installed radare2 executable, which is
# not available in PATH in chroot.
make tests
}