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="fb8b6501cae5462f7139a3fe86b60b3db8a6f9af45b9ccba87c6710907c671de" SOURCE_FILENAME="rizin-v$portVersion.tar.gz" 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_analysis$secondaryArchSuffix = $libVersionCompat lib:librz_asm$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_parse$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:libpython3.9$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_analysis$secondaryArchSuffix = $libVersionCompat devel:librz_asm$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_parse$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 " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel pyyaml_python310 devel:libcapstone$secondaryArchSuffix devel:libbz2$secondaryArchSuffix devel:libexecinfo$secondaryArchSuffix devel:liblz4$secondaryArchSuffix devel:liblzma$secondaryArchSuffix devel:libmagic$secondaryArchSuffix devel:libmspack$secondaryArchSuffix devel:libpcre2_8$secondaryArchSuffix >= 0.12.0 devel:libpython3.10$secondaryArchSuffix devel:libssl$secondaryArchSuffix 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=debugoptimized \ --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_analysis \ librz_asm \ 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_parse \ librz_reg \ librz_search \ librz_sign \ librz_socket \ librz_syscall \ librz_type \ librz_util fixPkgconfig 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 }