git: a15b4f2f0a9f - main - devel/radare2: add support for powerpc, powerpc64, powerpc64le and riscv64

From: Piotr Kubaj <pkubaj_at_FreeBSD.org>
Date: Fri, 18 Feb 2022 19:12:59 UTC
The branch main has been updated by pkubaj:

URL: https://cgit.FreeBSD.org/ports/commit/?id=a15b4f2f0a9f305fcf83690a2a3c9ed649c245a6

commit a15b4f2f0a9f305fcf83690a2a3c9ed649c245a6
Author:     Piotr Kubaj <pkubaj@FreeBSD.org>
AuthorDate: 2022-02-18 19:10:19 +0000
Commit:     Piotr Kubaj <pkubaj@FreeBSD.org>
CommitDate: 2022-02-18 19:10:19 +0000

    devel/radare2: add support for powerpc, powerpc64, powerpc64le and riscv64
---
 devel/radare2/Makefile                              |  9 +++++++--
 devel/radare2/files/patch-libr_core_vmenus.c        | 11 +++++++++++
 devel/radare2/files/patch-libr_debug_p_native_reg.c | 15 +++++++++++++++
 3 files changed, 33 insertions(+), 2 deletions(-)

diff --git a/devel/radare2/Makefile b/devel/radare2/Makefile
index 601b75bd8999..5fd961588dfe 100644
--- a/devel/radare2/Makefile
+++ b/devel/radare2/Makefile
@@ -11,8 +11,7 @@ COMMENT=	Tools to disasm, debug, analyze, and manipulate binary files
 LICENSE=	GPLv3
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-NOT_FOR_ARCHS=	armv6 armv7 mips mips64 powerpc powerpc64 powerpc64le \
-		powerpcspe riscv64 sparc64
+NOT_FOR_ARCHS=	armv6 armv7 mips mips64 powerpcspe sparc64
 NOT_FOR_ARCHS_REASON=	does not build: Unsupported BSD architecture
 
 LIB_DEPENDS=	libcapstone.so:devel/capstone4
@@ -39,6 +38,12 @@ DOCS_EXTRA_PATCHES_OFF=	${PATCHDIR}/extra-patch-Makefile
 # current directory, including .bak file left by ${REINPLACE_CMD}
 # called by pathfix.
 post-patch:
+	${CP} ${WRKSRC}/libr/debug/p/native/linux/reg/linux-ppc.h \
+		${WRKSRC}/libr/debug/p/native/reg/kfbsd-ppc.h
+	${CP} ${WRKSRC}/libr/debug/p/native/linux/reg/linux-ppc64.h \
+		${WRKSRC}/libr/debug/p/native/reg/kfbsd-ppc64.h
+	${CP} ${WRKSRC}/libr/debug/p/native/linux/reg/linux-riscv64.h \
+		${WRKSRC}/libr/debug/p/native/reg/kfbsd-riscv64.h
 	${RM} ${WRKSRC}/libr/flag/d/Makefile.bak
 
 .include <bsd.port.mk>
diff --git a/devel/radare2/files/patch-libr_core_vmenus.c b/devel/radare2/files/patch-libr_core_vmenus.c
new file mode 100644
index 000000000000..d05bf781a17a
--- /dev/null
+++ b/devel/radare2/files/patch-libr_core_vmenus.c
@@ -0,0 +1,11 @@
+--- libr/core/vmenus.c.orig	2022-02-18 17:27:13 UTC
++++ libr/core/vmenus.c
+@@ -3235,7 +3235,7 @@ R_API void r_core_visual_debugtraces(RCore *core, cons
+ 		//int rows = r_cons_get_size (NULL);
+ 		r_core_cmdf (core, "dtd %d", delta);
+ 		r_cons_visual_flush ();
+-		char ch ;
++		signed char ch ;
+ 		if (input && *input) {
+ 			ch = *input;
+ 			input++;
diff --git a/devel/radare2/files/patch-libr_debug_p_native_reg.c b/devel/radare2/files/patch-libr_debug_p_native_reg.c
new file mode 100644
index 000000000000..5f601f299c63
--- /dev/null
+++ b/devel/radare2/files/patch-libr_debug_p_native_reg.c
@@ -0,0 +1,15 @@
+--- libr/debug/p/native/reg.c.orig	2022-02-18 15:57:33 UTC
++++ libr/debug/p/native/reg.c
+@@ -49,6 +49,12 @@ static char *r_debug_native_reg_profile(RDebug *dbg) {
+ #include "reg/kfbsd-x64.h"
+ #elif __aarch64__
+ #include "reg/kfbsd-arm64.h"
++#elif __powerpc64__
++#include "reg/kfbsd-ppc64.h"
++#elif __powerpc__
++#include "reg/kfbsd-ppc.h"
++#elif __riscv
++#include "reg/kfbsd-riscv64.h"
+ #else
+ #error "Unsupported BSD architecture"
+ #endif