blob: 452ca690a17d823c9657ec6934c266e3df3723d9 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
PORTNAME= RVVM
DISTVERSIONPREFIX= v
DISTVERSION= 0.6
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
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= -nox11
USES= gmake localbase:ldflags
USE_GITHUB= yes
GH_ACCOUNT= LekKit
USE_LDCONFIG= yes
BUILDDIR= ${WRKDIR}/.build
MAKE_ENV+= BUILDDIR=${BUILDDIR}
TEST_TARGET= test
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
MAKE_ENV+= USE_FB=1 USE_XSHM=1
USES+= xorg
USE_XORG+= x11 xext
.else
MAKE_ENV+= USE_FB=0 USE_XSHM=0
.endif
.include <bsd.port.pre.mk>
.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
pre-test:
${LN} -sf ${_DISTDIR}/riscv-tests.tar.gz ${BUILDDIR}/
.include <bsd.port.post.mk>
|