Showing with 129 additions and 45 deletions.
  1. +87 −0 dev-util/radare2/patches/radare2-5.8.8.patchset
  2. +42 −45 dev-util/radare2/{radare2-5.7.2.recipe → radare2-5.8.8.recipe}
87 changes: 87 additions & 0 deletions dev-util/radare2/patches/radare2-5.8.8.patchset
@@ -0,0 +1,87 @@
From 25a8698403844bd36fc2def2e785e13955e2e01a Mon Sep 17 00:00:00 2001
From: Begasus <begasus@gmail.com>
Date: Fri, 16 Jun 2023 09:57:13 +0200
Subject: Use system header for lz4


diff --git a/libr/util/zip.c b/libr/util/zip.c
index bb1c383..83571ae 100644
--- a/libr/util/zip.c
+++ b/libr/util/zip.c
@@ -2,7 +2,7 @@

#include <r_util.h>
#include <zlib.h>
-#include "../../../shlr/lz4/lz4.h"
+#include <lz4.h>

// set a maximum output buffer of 50MB
#define MAXOUT 50000000
--
2.37.3


From f385442963b5a5ffd253ab0e22b46a8991ebadb9 Mon Sep 17 00:00:00 2001
From: Begasus <begasus@gmail.com>
Date: Fri, 16 Jun 2023 10:13:18 +0200
Subject: Fix linking with libnetwork


diff --git a/libr/io/meson.build b/libr/io/meson.build
index fa7891f..53bc8a4 100644
--- a/libr/io/meson.build
+++ b/libr/io/meson.build
@@ -72,6 +72,12 @@ r_io_deps = [
pth
]

+if host_machine.system() == 'haiku'
+ r_io_deps += [
+ cc.find_library('network')
+ ]
+endif
+
if host_machine.system() == 'linux' or host_machine.system() == 'android'
r_io_sources += [
'p/io_r2k_linux.c',
diff --git a/libr/socket/meson.build b/libr/socket/meson.build
index 135c7b5..bb2c263 100644
--- a/libr/socket/meson.build
+++ b/libr/socket/meson.build
@@ -18,6 +18,12 @@ if get_option('blob')
endif
endif

+if host_machine.system() == 'haiku'
+ r_util_deps += [
+ cc.find_library('network')
+ ]
+endif
+
if use_sys_openssl
r_util_deps += [sys_openssl]
endif
--
2.37.3


From 34a91499a9db996b9177da484b1886d5ce69ccbd Mon Sep 17 00:00:00 2001
From: Begasus <begasus@gmail.com>
Date: Fri, 16 Jun 2023 10:42:06 +0200
Subject: Haiku doesn't have ptrace


diff --git a/meson.build b/meson.build
index 654d8df..ead01b3 100644
--- a/meson.build
+++ b/meson.build
@@ -321,7 +321,7 @@ else
endif

has_debugger = get_option('debugger')
-have_ptrace = not ['windows', 'cygwin', 'sunos'].contains(host_machine.system())
+have_ptrace = not ['windows', 'cygwin', 'haiku', 'sunos'].contains(host_machine.system())
can_ptrace_wrap = ['linux'].contains(host_machine.system())

have_ptrace = have_ptrace and has_debugger

Expand Up @@ -4,7 +4,7 @@ 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
COPYRIGHT="2007-2023 pancake
2007-2015 Skia
2012-2015 pof
2008-2015 nibble
Expand Down Expand Up @@ -98,7 +98,9 @@ LICENSE="GNU GPL v3
GNU LGPL v3"
REVISION="1"
SOURCE_URI="https://github.com/radare/radare2/archive/$portVersion.tar.gz"
CHECKSUM_SHA256="281ae85012b4d067ba43e7639b0c5c5067657517f4fa029b28995de2bb16ff82"
CHECKSUM_SHA256="4f88c33e4391f492c7d0073df9bffcc666cc1e2ca0a95d6e1035decdaa227b26"
SOURCE_FILENAME="radare2-$portVersion.tar.gz"
PATCHES="radare2-$portVersion.patchset"

ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
Expand Down Expand Up @@ -134,6 +136,7 @@ PROVIDES="
cmd:ravc2$commandSuffix = $portVersion
cmd:rax2$commandSuffix = $portVersion
lib:libr_anal$secondaryArchSuffix = $libVersionCompat
lib:libr_arch$secondaryArchSuffix = $libVersionCompat
lib:libr_asm$secondaryArchSuffix = $libVersionCompat
lib:libr_bin$secondaryArchSuffix = $libVersionCompat
lib:libr_bp$secondaryArchSuffix = $libVersionCompat
Expand All @@ -143,14 +146,13 @@ PROVIDES="
lib:libr_crypto$secondaryArchSuffix = $libVersionCompat
lib:libr_debug$secondaryArchSuffix = $libVersionCompat
lib:libr_egg$secondaryArchSuffix = $libVersionCompat
lib:libr_esil$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
Expand All @@ -160,19 +162,18 @@ PROVIDES="
REQUIRES="
haiku$secondaryArchSuffix
lib:libcapstone$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libexecinfo$secondaryArchSuffix
lib:liblz4$secondaryArchSuffix
lib:libgmp$secondaryArchSuffix
lib:libmagic$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libxxhash$secondaryArchSuffix
lib:libz$secondaryArchSuffix
lib:libzip$secondaryArchSuffix
"

PROVIDES_devel="
radare2${secondaryArchSuffix}_devel = $portVersion
devel:arm64dis$secondaryArchSuffix
devel:armv7dis$secondaryArchSuffix
devel:libr_anal$secondaryArchSuffix = $libVersionCompat
devel:libr_arch$secondaryArchSuffix = $libVersionCompat
devel:libr_asm$secondaryArchSuffix = $libVersionCompat
devel:libr_bin$secondaryArchSuffix = $libVersionCompat
devel:libr_bp$secondaryArchSuffix = $libVersionCompat
Expand All @@ -182,14 +183,13 @@ PROVIDES_devel="
devel:libr_crypto$secondaryArchSuffix = $libVersionCompat
devel:libr_debug$secondaryArchSuffix = $libVersionCompat
devel:libr_egg$secondaryArchSuffix = $libVersionCompat
devel:libr_esil$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
Expand All @@ -202,24 +202,19 @@ REQUIRES_devel="

BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcapstone$secondaryArchSuffix
devel:libcrypto$secondaryArchSuffix
devel:libcapstone$secondaryArchSuffix >= 5.0
devel:libexecinfo$secondaryArchSuffix
devel:liblz4$secondaryArchSuffix
devel:libgmp$secondaryArchSuffix
devel:liblua$secondaryArchSuffix
devel:libmagic$secondaryArchSuffix
devel:libssl$secondaryArchSuffix
devel:libxxhash$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:libzip$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:find
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:git
cmd:make
cmd:sh
cmd:patch
cmd:meson
cmd:ninja
cmd:pkg_config$secondaryArchSuffix
"

Expand All @@ -237,6 +232,7 @@ defineDebugInfoPackage radare2$secondaryArchSuffix \
"$commandBinDir"/ravc2\
"$commandBinDir"/rax2 \
"$libDir"/libr_anal.so.$libVersion \
"$libDir"/libr_arch.so.$libVersion \
"$libDir"/libr_asm.so.$libVersion \
"$libDir"/libr_bin.so.$libVersion \
"$libDir"/libr_bp.so.$libVersion \
Expand All @@ -246,14 +242,13 @@ defineDebugInfoPackage radare2$secondaryArchSuffix \
"$libDir"/libr_crypto.so.$libVersion \
"$libDir"/libr_debug.so.$libVersion \
"$libDir"/libr_egg.so.$libVersion \
"$libDir"/libr_esil.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 \
Expand All @@ -262,30 +257,34 @@ defineDebugInfoPackage radare2$secondaryArchSuffix \

BUILD()
{
CFLAGS="-lbsd" LDFLAGS="-lbsd" \
runConfigure --omit-dirs docdir,datarootdir,bindir ./configure \
# no need for these here, using system packages
rm -rf shlr/zip/{zip,zlib,include}
rm -rf shlr/lz4/{deps.mk,LICENSE,lz4.*,Makefile,README.md}
rm -f libr/hash/xxhash.c libr/hash/xxhash.h

meson build --buildtype=release \
--prefix=$prefix \
--bindir=$commandBinDir \
--with-sysmagic \
--with-syscapstone \
--with-sysxxhash \
--with-openssl
make $jobArgs
--libdir=$libDir \
--includedir=$includeDir \
-Duse_sys_capstone=true \
-Duse_sys_zip=true \
-Duse_sys_zlib=true \
-Duse_sys_lz4=true \
-Duse_sys_magic=true \
-Denable_tests=true \
-Duse_webui=false --reconfigure
ninja -C build $jobArgs
}

INSTALL()
{
make install
cp libr/*/libr_*.so $libDir
ninja -C build install

mkdir -p `dirname $docDir`
mv $prefix/data/radare2 $docDir
rm -rf $prefix/share

prepareInstalledDevelLibs arm64dis armv7dis libr_anal libr_asm libr_bin \
prepareInstalledDevelLibs libr_anal libr_arch 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

libr_esil libr_flag libr_fs libr_io libr_lang libr_magic libr_main \
libr_reg libr_search libr_socket libr_syscall libr_util
fixPkgconfig

packageEntries devel \
Expand All @@ -294,8 +293,6 @@ INSTALL()

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
unset meson
meson test --no-rebuild --print-errorlogs -C build
}