Page MenuHomeFreeBSD

D55356.id.diff
No OneTemporary

D55356.id.diff

diff --git a/emulators/Makefile b/emulators/Makefile
--- a/emulators/Makefile
+++ b/emulators/Makefile
@@ -129,6 +129,7 @@
SUBDIR += rpcs3
SUBDIR += rubygem-fission
SUBDIR += rvvm
+ SUBDIR += rvvm-devel
SUBDIR += sameboy
SUBDIR += simh
SUBDIR += simh-hp2100
diff --git a/emulators/rvvm-devel/Makefile b/emulators/rvvm-devel/Makefile
new file mode 100644
--- /dev/null
+++ b/emulators/rvvm-devel/Makefile
@@ -0,0 +1,76 @@
+PORTNAME= RVVM
+DISTVERSION= g20260217
+CATEGORIES= emulators
+MASTER_SITES= https://github.com/LekKit/patches-misc/releases/download/rvvm-uboot-2024.7/:fw
+PKGNAMESUFFIX= -devel
+DISTFILES= ${FWFILES:.bin=.bin:fw}
+EXTRACT_ONLY= ${DISTFILE_DEFAULT}
+
+MAINTAINER= fuz@FreeBSD.org
+COMMENT= RISC-V Virtual Machine
+
+LICENSE= GPLv2 GPLv3 MPL20
+LICENSE_COMB= multi
+LICENSE_FILE_GPLv3= ${WRKSRC}/LICENSE-GPL
+LICENSE_FILE_MPL20= ${WRKSRC}/LICENSE-MPL
+LICENSE_DISTFILES_GPLv2= ${FWFILES}
+LICENSE_DISTFILES_GPLv3= ${DISTFILE_DEFAULT}
+LICENSE_DISTFILES_MPL20= ${DISTFILE_DEFAULT}
+
+FLAVORS= x11 nox11
+FLAVOR?= ${FLAVORS:[1]}
+nox11_PKGNAMESUFFIX= -devel-nox11
+
+USES= gmake pkgconfig
+USE_GITHUB= yes
+GH_ACCOUNT= LekKit
+GH_TAGNAME= 31bf78ceb001632d01c0d4f23df3e7b981884183
+USE_LDCONFIG= yes
+
+BUILDDIR= ${WRKDIR}/.build
+MAKE_ENV+= BUILDDIR=${BUILDDIR} \
+ USE_LIB=1 \
+ USE_LIB_STATIC=1 \
+ USE_LIB_SHARING=1
+TEST_TARGET= test
+TEST_DEPENDS= curl:ftp/curl
+SUB_FILES= pkg-message
+
+OPTIONS_DEFINE= FDT FPU JIT JNI SPINLOCK_DEBUG NET PCI RV64
+OPTIONS_DEFAULT=FDT FPU JIT JNI SPINLOCK_DEBUG NET PCI RV64
+FDT_DESC= enable automatic FDT generation
+FPU_DESC= enable floating point (F/D) CPU extension
+JIT_DESC= enable RVJIT accelerator
+JNI_DESC= include native JNI bindings in shared librvvm
+NET_DESC= enable unprivileged userland networking stack
+PCI_DESC= enable PCI support in ATA, etc devices
+RV64_DESC= enable riscv64 CPU support
+SPINLOCK_DEBUG_DESC= enable deadlock debugging (minimal runtime overhead)
+
+FWFILES= fw_jump.bin fw_payload.bin
+
+.for o in ${OPTIONS_DEFINE}
+$o_MAKE_ENV= USE_$o=1
+$o_MAKE_ENV_OFF= USE_$o=0
+.endfor
+
+.if ${FLAVOR} == x11
+USES+= xorg
+USE_XORG+= x11 xext
+.else
+MAKE_ENV+= USE_GUI=0 USE_X11=0 USE_WAYLAND=0 USE_SDL=0
+.endif
+
+.if defined(WITH_DEBUG)
+MAKE_ENV+= USE_DEBUG=1
+.endif
+
+post-install:
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/rvvm
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/librvvm.so
+ ${MKDIR} ${STAGEDIR}${DATADIR}
+.for f in ${FWFILES}
+ ${INSTALL_DATA} ${_DISTDIR}/$f ${STAGEDIR}${DATADIR}/
+.endfor
+
+.include <bsd.port.mk>
diff --git a/emulators/rvvm-devel/distinfo b/emulators/rvvm-devel/distinfo
new file mode 100644
--- /dev/null
+++ b/emulators/rvvm-devel/distinfo
@@ -0,0 +1,7 @@
+TIMESTAMP = 1771430387
+SHA256 (fw_jump.bin) = 60f5aedaf90be271eef9e4f1a479171c183987f97f86208811e9212b121d5b45
+SIZE (fw_jump.bin) = 136776
+SHA256 (fw_payload.bin) = d97321ca71be85a98dcc1757b721616d6ed68304afe853336273cb19b424da6c
+SIZE (fw_payload.bin) = 2958016
+SHA256 (LekKit-RVVM-g20260217-31bf78ceb001632d01c0d4f23df3e7b981884183_GH0.tar.gz) = 02156a8b7178064683e4d134f549103cceaf910759e0c56eae621c5e26e5a23f
+SIZE (LekKit-RVVM-g20260217-31bf78ceb001632d01c0d4f23df3e7b981884183_GH0.tar.gz) = 524455
diff --git a/emulators/rvvm-devel/files/pkg-message.in b/emulators/rvvm-devel/files/pkg-message.in
new file mode 100644
--- /dev/null
+++ b/emulators/rvvm-devel/files/pkg-message.in
@@ -0,0 +1,11 @@
+RVVM has been installed.
+
+To execute a disk image, run
+
+ rvvm %%DATADIR%%/fw_payload.bin [flags] -i $disk.img
+
+To execute a custom kernel payload, run
+
+ rvvm %%DATADIR%%/fw_jump.bin [flags] -k $kernel.bin
+
+For further details, execute rvvm --help.
diff --git a/emulators/rvvm-devel/pkg-descr b/emulators/rvvm-devel/pkg-descr
new file mode 100644
--- /dev/null
+++ b/emulators/rvvm-devel/pkg-descr
@@ -0,0 +1,5 @@
+RVVM is a virtual machine / emulator for RISC-V guests, which emphasizes
+on performance, security, lean code and portability. It already runs a
+lot of guest operating systems, including Linux, Haiku, FreeBSD,
+OpenBSD, etc. It also aims to run RISC-V applications on a foreign-arch
+host without full OS guest & isolation (Userland emulation).
diff --git a/emulators/rvvm-devel/pkg-plist b/emulators/rvvm-devel/pkg-plist
new file mode 100644
--- /dev/null
+++ b/emulators/rvvm-devel/pkg-plist
@@ -0,0 +1,12 @@
+bin/rvvm
+include/rvvm/rvvm.h
+include/rvvm/rvvm_blk.h
+include/rvvm/rvvm_char.h
+include/rvvm/rvvm_fb.h
+include/rvvm/rvvm_gpio.h
+lib/librvvm.so
+lib/librvvm_static.a
+libdata/pkgconfig/rvvm-static.pc
+libdata/pkgconfig/rvvm.pc
+%%DATADIR%%/fw_jump.bin
+%%DATADIR%%/fw_payload.bin

File Metadata

Mime Type
text/plain
Expires
Thu, Apr 9, 9:50 AM (6 h, 32 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31150361
Default Alt Text
D55356.id.diff (4 KB)

Event Timeline