mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-29 11:38:52 +02:00
255 lines
7.8 KiB
Bash
255 lines
7.8 KiB
Bash
SUMMARY="A fork of the radare2 reverse engineering framework"
|
|
DESCRIPTION="Rizin is a fork of the radare2 reverse engineering framework with a focus on \
|
|
usability, working features and code cleanliness.
|
|
|
|
Rizin is portable and it can be used to analyze binaries, disassemble code, debug programs, as a \
|
|
forensics tool, as a scriptable command-line hexadecimal editor able to open disk files, and much \
|
|
more!"
|
|
HOMEPAGE="https://github.com/rizinorg/rizin"
|
|
COPYRIGHT="2022 RizinOrg et all"
|
|
LICENSE="Apache v2
|
|
CC-BY-SA-4.0
|
|
CC0 1.0
|
|
BSD (3-clause)
|
|
GNU LGPL v3
|
|
MIT
|
|
MPL v1.1
|
|
NCSA
|
|
RSA-MD"
|
|
REVISION="1"
|
|
SOURCE_URI="https://github.com/rizinorg/rizin/archive/refs/tags/v$portVersion.tar.gz"
|
|
CHECKSUM_SHA256="7dc451968f426e846c04430f7d6d45f1402db8eed1afa902f0631c03f19bc22e"
|
|
SOURCE_FILENAME="rizin-v$portVersion.tar.gz"
|
|
PATCHES="5149.patch"
|
|
|
|
ARCHITECTURES="all !x86_gcc2"
|
|
SECONDARY_ARCHITECTURES="x86"
|
|
|
|
commandBinDir=$binDir
|
|
commandSuffix=$secondaryArchSuffix
|
|
if [ "$targetArchitecture" = x86_gcc2 ]; then
|
|
commandSuffix=
|
|
commandBinDir=$prefix/bin
|
|
fi
|
|
|
|
libVersion="$portVersion"
|
|
libVersionCompat="$libVersion compat >= ${libVersion%.*}"
|
|
|
|
PROVIDES="
|
|
rizin$secondaryArchSuffix = $portVersion
|
|
cmd:rizin$commandSuffix
|
|
cmd:rz_agent$commandSuffix
|
|
cmd:rz_asm$commandSuffix
|
|
cmd:rz_ax$commandSuffix
|
|
cmd:rz_bin$commandSuffix
|
|
cmd:rz_diff$commandSuffix
|
|
cmd:rz_find$commandSuffix
|
|
cmd:rz_gg$commandSuffix
|
|
cmd:rz_hash$commandSuffix
|
|
cmd:rz_pm$commandSuffix
|
|
cmd:rz_run$commandSuffix
|
|
cmd:rz_sign$commandSuffix
|
|
cmd:rz_test$commandSuffix
|
|
lib:librz_arch$secondaryArchSuffix = $libVersionCompat
|
|
lib:librz_bin$secondaryArchSuffix = $libVersionCompat
|
|
lib:librz_bp$secondaryArchSuffix = $libVersionCompat
|
|
lib:librz_config$secondaryArchSuffix = $libVersionCompat
|
|
lib:librz_cons$secondaryArchSuffix = $libVersionCompat
|
|
lib:librz_core$secondaryArchSuffix = $libVersionCompat
|
|
lib:librz_crypto$secondaryArchSuffix = $libVersionCompat
|
|
lib:librz_debug$secondaryArchSuffix = $libVersionCompat
|
|
lib:librz_demangler$secondaryArchSuffix = $libVersionCompat
|
|
lib:librz_diff$secondaryArchSuffix = $libVersionCompat
|
|
lib:librz_egg$secondaryArchSuffix = $libVersionCompat
|
|
lib:librz_flag$secondaryArchSuffix = $libVersionCompat
|
|
lib:librz_hash$secondaryArchSuffix = $libVersionCompat
|
|
lib:librz_il$secondaryArchSuffix = $libVersionCompat
|
|
lib:librz_io$secondaryArchSuffix = $libVersionCompat
|
|
lib:librz_lang$secondaryArchSuffix = $libVersionCompat
|
|
lib:librz_magic$secondaryArchSuffix = $libVersionCompat
|
|
lib:librz_main$secondaryArchSuffix = $libVersionCompat
|
|
lib:librz_reg$secondaryArchSuffix = $libVersionCompat
|
|
lib:librz_search$secondaryArchSuffix = $libVersionCompat
|
|
lib:librz_sign$secondaryArchSuffix = $libVersionCompat
|
|
lib:librz_socket$secondaryArchSuffix = $libVersionCompat
|
|
lib:librz_syscall$secondaryArchSuffix = $libVersionCompat
|
|
lib:librz_type$secondaryArchSuffix = $libVersionCompat
|
|
lib:librz_util$secondaryArchSuffix = $libVersionCompat
|
|
"
|
|
REQUIRES="
|
|
haiku$secondaryArchSuffix
|
|
lib:libcapstone$secondaryArchSuffix
|
|
lib:libbz2$secondaryArchSuffix
|
|
lib:libexecinfo$secondaryArchSuffix
|
|
lib:liblz4$secondaryArchSuffix
|
|
lib:liblzma$secondaryArchSuffix
|
|
lib:libmagic$secondaryArchSuffix
|
|
lib:libmspack$secondaryArchSuffix
|
|
lib:libpcre2_8$secondaryArchSuffix
|
|
lib:libssl$secondaryArchSuffix
|
|
lib:libtree_sitter$secondaryArchSuffix
|
|
lib:libuv$secondaryArchSuffix
|
|
lib:libxxhash$secondaryArchSuffix
|
|
lib:libz$secondaryArchSuffix
|
|
lib:libzip$secondaryArchSuffix
|
|
lib:libzstd$secondaryArchSuffix
|
|
"
|
|
|
|
PROVIDES_devel="
|
|
rizin${secondaryArchSuffix}_devel = $portVersion
|
|
devel:librz_arch$secondaryArchSuffix = $libVersionCompat
|
|
devel:librz_bin$secondaryArchSuffix = $libVersionCompat
|
|
devel:librz_bp$secondaryArchSuffix = $libVersionCompat
|
|
devel:librz_config$secondaryArchSuffix = $libVersionCompat
|
|
devel:librz_cons$secondaryArchSuffix = $libVersionCompat
|
|
devel:librz_core$secondaryArchSuffix = $libVersionCompat
|
|
devel:librz_crypto$secondaryArchSuffix = $libVersionCompat
|
|
devel:librz_debug$secondaryArchSuffix = $libVersionCompat
|
|
devel:librz_demangler$secondaryArchSuffix = $libVersionCompat
|
|
devel:librz_diff$secondaryArchSuffix = $libVersionCompat
|
|
devel:librz_egg$secondaryArchSuffix = $libVersionCompat
|
|
devel:librz_flag$secondaryArchSuffix = $libVersionCompat
|
|
devel:librz_hash$secondaryArchSuffix = $libVersionCompat
|
|
devel:librz_il$secondaryArchSuffix = $libVersionCompat
|
|
devel:librz_io$secondaryArchSuffix = $libVersionCompat
|
|
devel:librz_lang$secondaryArchSuffix = $libVersionCompat
|
|
devel:librz_magic$secondaryArchSuffix = $libVersionCompat
|
|
devel:librz_main$secondaryArchSuffix = $libVersionCompat
|
|
devel:librz_reg$secondaryArchSuffix = $libVersionCompat
|
|
devel:librz_search$secondaryArchSuffix = $libVersionCompat
|
|
devel:librz_sign$secondaryArchSuffix = $libVersionCompat
|
|
devel:librz_socket$secondaryArchSuffix = $libVersionCompat
|
|
devel:librz_syscall$secondaryArchSuffix = $libVersionCompat
|
|
devel:librz_type$secondaryArchSuffix = $libVersionCompat
|
|
devel:librz_util$secondaryArchSuffix = $libVersionCompat
|
|
"
|
|
REQUIRES_devel="
|
|
rizin$secondaryArchSuffix == $portVersion base
|
|
devel:libcapstone$secondaryArchSuffix >= 5.0
|
|
devel:liblzma$secondaryArchSuffix
|
|
devel:libmspack$secondaryArchSuffix
|
|
devel:libpcre2_8$secondaryArchSuffix >= 0.12.0
|
|
devel:libssl$secondaryArchSuffix >= 3
|
|
devel:libtree_sitter$secondaryArchSuffix
|
|
devel:libxxhash$secondaryArchSuffix
|
|
devel:libz$secondaryArchSuffix
|
|
devel:libzip$secondaryArchSuffix
|
|
devel:libzstd$secondaryArchSuffix
|
|
"
|
|
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
pyyaml_python310
|
|
devel:libcapstone$secondaryArchSuffix >= 5.0
|
|
devel:libbz2$secondaryArchSuffix
|
|
devel:libexecinfo$secondaryArchSuffix
|
|
devel:liblz4$secondaryArchSuffix
|
|
devel:liblzma$secondaryArchSuffix
|
|
devel:libmagic$secondaryArchSuffix
|
|
devel:libmspack$secondaryArchSuffix
|
|
devel:libpcre2_8$secondaryArchSuffix >= 0.14.0
|
|
devel:libssl$secondaryArchSuffix >= 3
|
|
devel:libtree_sitter$secondaryArchSuffix
|
|
devel:libuv$secondaryArchSuffix
|
|
devel:libxxhash$secondaryArchSuffix
|
|
devel:libz$secondaryArchSuffix
|
|
devel:libzip$secondaryArchSuffix
|
|
devel:libzstd$secondaryArchSuffix
|
|
"
|
|
BUILD_PREREQUIRES="
|
|
cmd:cmake
|
|
cmd:git
|
|
cmd:make
|
|
cmd:meson
|
|
cmd:ninja
|
|
cmd:gcc$secondaryArchSuffix
|
|
cmd:pkg_config$secondaryArchSuffix
|
|
cmd:python3
|
|
cmd:tree_sitter
|
|
cmd:xxhsum
|
|
"
|
|
|
|
BUILD()
|
|
{
|
|
meson build \
|
|
--buildtype=release \
|
|
--wrap=default \
|
|
--prefix=$prefix \
|
|
--bindir=$commandBinDir \
|
|
--libdir=$libDir \
|
|
--includedir=$includeDir \
|
|
--datadir=$dataDir \
|
|
--mandir=$manDir \
|
|
-D default_library=shared \
|
|
-D rizin_plugins=$dataDir/rizin/cutter/plugins \
|
|
-D use_sys_capstone=enabled \
|
|
-D use_capstone_version=v5 \
|
|
-D use_sys_libmspack=enabled \
|
|
-D use_sys_libzip=enabled \
|
|
-D use_sys_libzstd=enabled \
|
|
-D use_sys_lz4=enabled \
|
|
-D use_sys_lzma=enabled \
|
|
-D use_sys_magic=enabled \
|
|
-D use_sys_openssl=enabled \
|
|
-D use_sys_pcre2=enabled \
|
|
-D use_sys_tree_sitter=enabled \
|
|
-D use_sys_xxhash=enabled \
|
|
-D use_sys_zlib=enabled \
|
|
-D use_zlib=true \
|
|
-D use_lzma=true \
|
|
-D local=disabled \
|
|
-D enable_tests=false \
|
|
-D enable_rz_test=false \
|
|
-D subprojects_check=false
|
|
|
|
ninja -C build
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
ninja -C build install
|
|
|
|
prepareInstalledDevelLibs \
|
|
librz_arch \
|
|
librz_bin \
|
|
librz_bp \
|
|
librz_config \
|
|
librz_cons \
|
|
librz_core \
|
|
librz_crypto \
|
|
librz_debug \
|
|
librz_demangler \
|
|
librz_diff \
|
|
librz_egg \
|
|
librz_flag \
|
|
librz_hash \
|
|
librz_il \
|
|
librz_io \
|
|
librz_lang \
|
|
librz_magic \
|
|
librz_main \
|
|
librz_reg \
|
|
librz_search \
|
|
librz_sign \
|
|
librz_socket \
|
|
librz_syscall \
|
|
librz_type \
|
|
librz_util
|
|
fixPkgconfig
|
|
|
|
# fix detection for Cutter/rzghidra
|
|
sed -i 's,\${PACKAGE_PREFIX_DIR}/lib,${PACKAGE_PREFIX_DIR}/develop/lib,g' \
|
|
$libDir/cmake/rz_*/rz_*Config.cmake
|
|
|
|
packageEntries devel \
|
|
$developDir \
|
|
$libDir/cmake
|
|
}
|
|
|
|
TEST()
|
|
{
|
|
#some test will fail, so far 3 tests crash also
|
|
#export PATH=$PATH/$sourceDir/build/binrz/rizzin
|
|
meson test --no-rebuild -v -C build
|
|
}
|