summaryrefslogtreecommitdiff
path: root/emulators/qemu-cheri/Makefile
blob: 9b972fab3d0fb5abb5620a3badbe47133f2787a1 (plain)
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

PORTNAME=	qemu
PORTVERSION=	0.d${SNAPDATE}
PORTREVISION=	1
CATEGORIES=	emulators devel
PKGNAMESUFFIX=	-cheri

MAINTAINER=	brooks@FreeBSD.org
COMMENT?=	QEMU emulator with CHERI CPU support

# XXX: disabling gnutls doesn't work so depend on it to avoid breakage.
LIB_DEPENDS=	libcapstone.so:devel/capstone3 \
		libdrm.so:graphics/libdrm \
		libepoxy.so:graphics/libepoxy \
		libgnutls.so:security/gnutls \
		libnettle.so:security/nettle
RUN_DEPENDS=	qemu-system-i386:emulators/qemu

LICENSE=	GPLv2

USE_GITHUB=	yes
GH_TUPLE=	CTSRD-CHERI:qemu:${QEMU_COMMIT} \
		CTSRD-CHERI:dtc:${DTC_COMMIT}:dtc/dtc \
		CTSRD-CHERI:libslirp:${LIBSLIRP_COMMIT}:libslirp/slirp \
		qemu:keycodemapdb:6b3d716:qemu/ui/keycodemapdb \

HAS_CONFIGURE=	yes
USES=		compiler:c11 gettext-runtime gl gmake gnome iconv:wchar_t perl5 \
		pkgconfig python:build xorg
USE_XORG=	pixman
USE_GNOME+=	glib20 libxml2
USE_PERL5=	build
USE_GL+=	gl
ONLY_FOR_ARCHS=	amd64 powerpc64 powerpc64le

OPTIONS_DEFINE=	DOCS

.include "Makefile.snapshot"

CONFIGURE_ARGS+= \
		--target-list=cheri128-softmmu,cheri128magic-softmmu,riscv64cheri-softmmu \
		--disable-curl \
		--disable-git-update \
		--disable-gtk \
		--disable-linux-user \
		--disable-linux-aio \
		--disable-kvm \
		--disable-opengl \
		--disable-vnc-png \
		--disable-sdl \
		--disable-vte \
		--disable-xen \
		--smbd=${LOCALBASE}/sbin/smbd \
		--extra-cflags="-g ${EXTRA_CFLAGS}" \
		--localstatedir=/var
EXTRA_CFLAGS=	-DCHERI_UNALIGNED

PLIST_FILES=	bin/qemu-system-cheri128 \
		bin/qemu-system-cheri128magic \
		bin/qemu-system-riscv64cheri

do-install:
	${INSTALL_PROGRAM} ${WRKSRC}/cheri128-softmmu/qemu-system-cheri128 \
	    ${WRKSRC}/cheri128magic-softmmu/qemu-system-cheri128magic \
	    ${WRKSRC}/riscv64cheri-softmmu/qemu-system-riscv64cheri \
	    ${STAGEDIR}${PREFIX}/bin/

.include <bsd.port.mk>