diff --git a/emulators/rvvm-devel/Makefile b/emulators/rvvm-devel/Makefile index 55cc23e8e8c8..913f7dfbf539 100644 --- a/emulators/rvvm-devel/Makefile +++ b/emulators/rvvm-devel/Makefile @@ -1,93 +1,96 @@ PORTNAME= RVVM -PORTVERSION= 0.7.g20260226 +PORTVERSION= 0.7.g20260826 CATEGORIES= emulators MASTER_SITES= https://github.com/LekKit/patches-misc/releases/download/rvvm-uboot-2024.7/:fw \ https://github.com/LekKit/riscv-tests/releases/download/rvvm-tests/:tests DISTFILES= ${FWFILES:.bin=.bin:fw} riscv-tests.tar.gz:tests DIST_SUBDIR= rvvm-${DISTVERSION} EXTRACT_ONLY= ${DISTFILE_DEFAULT} MAINTAINER= fuz@FreeBSD.org COMMENT= RISC-V Virtual Machine (development version) 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]} x11_PKGNAMESUFFIX= -devel nox11_PKGNAMESUFFIX= -devel-nox11 USES= gmake pkgconfig USE_GITHUB= yes GH_ACCOUNT= LekKit -GH_TAGNAME= 44b1f500987041d07a8f313ad524b8509868997b +GH_TAGNAME= a662c0edd507b4e04f20d44490c514b683007ae7 USE_LDCONFIG= yes BUILDDIR= ${WRKDIR}/.build MAKE_ENV+= BUILDDIR=${BUILDDIR} \ VERBOSE=1 \ GIT_DESCRIBE="v${PKGVERSION} (FreeBSD ports)" \ USE_LIB_SHARING=1 TEST_TARGET= test SUB_FILES= pkg-message OPTIONS_DEFINE= FDT FPU GDBSTUB JIT JNI LOCK_DEBUG NET PCI RV64 RVV SOUND OPTIONS_DEFAULT= FDT FPU JIT JNI LOCK_DEBUG NET PCI RV64 +# src/bindings/jni/rvvm_jni.c:8:10: fatal error: 'devices/riscv-aclint.h' file not found +OPTIONS_EXCLUDE= JNI FDT_DESC= enable automatic FDT generation FPU_DESC= enable floating point (F/D) CPU extension GDBSTUB_DESC= enable GDB remote protocol support JIT_DESC= enable RVJIT accelerator JNI_DESC= include native JNI bindings in shared librvvm LOCK_DEBUG_DESC= enable deadlock debugging (minimal runtime overhead) NET_DESC= enable unprivileged userland networking stack PCI_DESC= enable PCI support in ATA, etc devices RV64_DESC= enable riscv64 CPU support RVV_DESC= enable vector (V) CPU extension # opened via dlopen() SOUND_LIB_DEPENDS= libasound.so:audio/alsa-lib 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 MAKE_ENV+= USE_GUI=1 USE_X11=1 OPTIONS_DEFAULT+= SOUND USES+= xorg USE_XORG+= x11 xext .else MAKE_ENV+= USE_GUI=0 USE_X11=0 .endif .include .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 - ${MV} ${STAGEDIR}${PREFIX}/lib/librvvm.so ${STAGEDIR}${PREFIX}/lib/librvvm.so.0 - ${RLN} ${STAGEDIR}${PREFIX}/lib/librvvm.so.0 ${STAGEDIR}${PREFIX}/lib/librvvm.so + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/librvvm.so.0.0 ${MKDIR} ${STAGEDIR}${DATADIR} .for f in ${FWFILES} ${INSTALL_DATA} ${_DISTDIR}/$f ${STAGEDIR}${DATADIR}/ .endfor pre-test: @${ECHO_MSG} "=====> Make sure the port is installed before the test suite is run!" @${RM} -r ${BUILDDIR}/riscv-tests @${TAR} -C ${BUILDDIR} -xf ${_DISTDIR}/riscv-tests.tar.gz +post-test: + @tput me || true + .include diff --git a/emulators/rvvm-devel/distinfo b/emulators/rvvm-devel/distinfo index 4c0fde2fdf15..c41a27c73f7a 100644 --- a/emulators/rvvm-devel/distinfo +++ b/emulators/rvvm-devel/distinfo @@ -1,9 +1,9 @@ -TIMESTAMP = 1772998518 -SHA256 (rvvm-0.7.g20260226/fw_jump.bin) = 60f5aedaf90be271eef9e4f1a479171c183987f97f86208811e9212b121d5b45 -SIZE (rvvm-0.7.g20260226/fw_jump.bin) = 136776 -SHA256 (rvvm-0.7.g20260226/fw_payload.bin) = d97321ca71be85a98dcc1757b721616d6ed68304afe853336273cb19b424da6c -SIZE (rvvm-0.7.g20260226/fw_payload.bin) = 2958016 -SHA256 (rvvm-0.7.g20260226/riscv-tests.tar.gz) = 8ae000badcadc883f46572e75895cc4d2d05f2c07fac3e5f86896ab51888de39 -SIZE (rvvm-0.7.g20260226/riscv-tests.tar.gz) = 151450 -SHA256 (rvvm-0.7.g20260226/LekKit-RVVM-0.7.g20260226-44b1f500987041d07a8f313ad524b8509868997b_GH0.tar.gz) = 5ab16413cbd4a3c74c627878be66c8b258476885a7118932ed5d1554c62dfb10 -SIZE (rvvm-0.7.g20260226/LekKit-RVVM-0.7.g20260226-44b1f500987041d07a8f313ad524b8509868997b_GH0.tar.gz) = 526332 +TIMESTAMP = 1788958872 +SHA256 (rvvm-0.7.g20260826/fw_jump.bin) = 60f5aedaf90be271eef9e4f1a479171c183987f97f86208811e9212b121d5b45 +SIZE (rvvm-0.7.g20260826/fw_jump.bin) = 136776 +SHA256 (rvvm-0.7.g20260826/fw_payload.bin) = d97321ca71be85a98dcc1757b721616d6ed68304afe853336273cb19b424da6c +SIZE (rvvm-0.7.g20260826/fw_payload.bin) = 2958016 +SHA256 (rvvm-0.7.g20260826/riscv-tests.tar.gz) = 8ae000badcadc883f46572e75895cc4d2d05f2c07fac3e5f86896ab51888de39 +SIZE (rvvm-0.7.g20260826/riscv-tests.tar.gz) = 151450 +SHA256 (rvvm-0.7.g20260826/LekKit-RVVM-0.7.g20260826-a662c0edd507b4e04f20d44490c514b683007ae7_GH0.tar.gz) = 6a0657eb6615a3e535a08f856544a9305d32996eeee89f91c63c55553737372a +SIZE (rvvm-0.7.g20260826/LekKit-RVVM-0.7.g20260826-a662c0edd507b4e04f20d44490c514b683007ae7_GH0.tar.gz) = 642445 diff --git a/emulators/rvvm-devel/files/patch-Makefile b/emulators/rvvm-devel/files/patch-Makefile deleted file mode 100644 index e186f70c8a32..000000000000 --- a/emulators/rvvm-devel/files/patch-Makefile +++ /dev/null @@ -1,12 +0,0 @@ ---- Makefile.orig 2026-03-08 19:25:25 UTC -+++ Makefile -@@ -1033,7 +1033,8 @@ $(call path_shell,$(BIN_TARGETS): $(BIN_OBJ) $(BIN_LIB - - - # Set -Wl,--out-implib,$@.a for Windows libraries --override shared_extra = $(if $(filter windows,$(OS)),-Wl$(COMMA)--out-implib$(COMMA)$(patsubst %$(LIB_EXT),%.a,$1)) -+#override shared_extra = $(if $(filter windows,$(OS)),-Wl$(COMMA)--out-implib$(COMMA)$(patsubst %$(LIB_EXT),%.a,$1)) -+override shared_extra = -Wl$(COMMA)-soname$(COMMA)$(notdir $1).0 - - # Shared libraries - $(call path_shell,$(LIB_TARGETS): $(LIB_OBJ) $(CC_TRIGGER) $(LD_TRIGGER)) diff --git a/emulators/rvvm-devel/files/patch-src_rvjit_rvjit__arm.h b/emulators/rvvm-devel/files/patch-src_rvjit_rvjit__arm.h new file mode 100644 index 000000000000..287a790d9b1b --- /dev/null +++ b/emulators/rvvm-devel/files/patch-src_rvjit_rvjit__arm.h @@ -0,0 +1,22 @@ +--- src/rvjit/rvjit_arm.h.orig 2026-09-09 13:39:25 UTC ++++ src/rvjit/rvjit_arm.h +@@ -12,7 +12,7 @@ file, You can obtain one at https://mozilla.org/MPL/2. + #include "mem_ops.h" + #include "bit_ops.h" + +-#if defined(__linux__) ++#if defined(__linux__) || defined(__FreeBSD__) + #include + #else + #warning No RVJIT ARM CPU flags detection for target OS +@@ -44,7 +44,10 @@ static inline void rvjit_a32_test_cpu(void) + { + #ifdef __linux__ + rvjit_a32_hwcaps = getauxval(AT_HWCAP); ++#elif defined(__FreeBSD__) ++ elf_aux_info(AT_HWCAP, &rvjit_a32_hwcaps, sizeof rvjit_a32_hwcaps); + #endif ++ + if (rvjit_a32_hwcaps & RVJIT_ARM_IDIVA) { + rvvm_info("RVJIT detected ARM IDIV/UDIV extension"); + } diff --git a/emulators/rvvm-devel/pkg-plist b/emulators/rvvm-devel/pkg-plist index 7e328ef46035..72d526aa512b 100644 --- a/emulators/rvvm-devel/pkg-plist +++ b/emulators/rvvm-devel/pkg-plist @@ -1,11 +1,23 @@ bin/rvvm include/rvvm/rvvm.h +include/rvvm/rvvm_base.h include/rvvm/rvvm_blk.h +include/rvvm/rvvm_board.h include/rvvm/rvvm_char.h include/rvvm/rvvm_fb.h +include/rvvm/rvvm_fdt.h include/rvvm/rvvm_gpio.h +include/rvvm/rvvm_hid.h +include/rvvm/rvvm_i2c.h +include/rvvm/rvvm_irq.h +include/rvvm/rvvm_pci.h +include/rvvm/rvvm_region.h +include/rvvm/rvvm_snapshot.h +include/rvvm/rvvm_usb.h +include/rvvm/rvvm_vmm.h lib/librvvm.so lib/librvvm.so.0 +lib/librvvm.so.0.0 libdata/pkgconfig/rvvm.pc %%DATADIR%%/fw_jump.bin %%DATADIR%%/fw_payload.bin