Commit af9050ee authored by Tiago Gasiba's avatar Tiago Gasiba Committed by Vladimir Druzenko
Browse files

emulators/86Box: New port: low level x86 emulator based on PCem

86Box is a low level x86 emulator that runs older operating systems and
software designed for IBM PC systems and compatibles from 1981 through
fairly recent system designs based on the PCI bus.
https://86box.net
https://github.com/86Box/86Box

PR:	280205
parent 53873951
Loading
Loading
Loading
Loading
+74 −0
Original line number Diff line number Diff line
PORTNAME=	86Box
DISTVERSIONPREFIX=	v
DISTVERSION=	4.2
CATEGORIES=	emulators

MAINTAINER=	tiago.gasiba@gmail.com
COMMENT=	Emulator of x86-based machines based on PCem
WWW=		https://86box.net/

LICENSE=	GPLv2
LICENSE_FILE=	${WRKSRC}/COPYING

ONLY_FOR_ARCHS=	amd64

BUILD_DEPENDS=	evdev-proto>=5.8:devel/evdev-proto
LIB_DEPENDS=	libevdev.so:devel/libevdev \
		libfluidsynth.so:audio/fluidsynth \
		libfreetype.so:print/freetype2 \
		libopenal.so:audio/openal-soft \
		libpng.so:graphics/png \
		librtmidi.so:audio/rtmidi \
		libslirp.so:net/libslirp \
		libsndfile.so:audio/libsndfile \
		libxkbcommon.so:x11/libxkbcommon

FLAVORS=		qt5 qt6
FLAVOR?=		${FLAVORS:[2]}
qt5_PKGNAMESUFFIX=	-qt5
qt6_PKGNAMESUFFIX=	-qt6

USES=		cmake compiler gnome pkgconfig qmake sdl xorg
USE_GITHUB=	yes
USE_GNOME=	glib20
USE_SDL=	sdl2
USE_XORG=	x11 xcb xext xi

.if ${FLAVOR} == qt5
USES+=		qt:5
USE_QT=		core gui network opengl widgets buildtools:build linguisttools:build
.else
BUILD_DEPENDS+=	vulkan-headers>0:graphics/vulkan-headers
USES+=		gl qt:6
USE_GL=		opengl
USE_QT=		base tools:build
CMAKE_ON=	USE_QT6
CXXFLAGS+=	-I${LOCALBASE}/include/qt6/QtGui/`pkg-config --modversion Qt6Gui`/QtGui
.endif

OPTIONS_DEFINE=		NLS WAYLAND
OPTIONS_DEFAULT=	WAYLAND

NLS_USES=		gettext-runtime
NLS_CONFIGURE_ENABLE=	nls

WAYLAND_LIB_DEPENDS=	libwayland-client.so:graphics/wayland
WAYLAND_USES=		kde:5
WAYLAND_USE=		kde=ecm:build
WAYLAND_CMAKE_OFF=	-DCMAKE_DISABLE_FIND_PACKAGE_Wayland:BOOL=ON

ICON_RESOLUTIONS=	128x128 192x192 256x256 48x48 512x512 64x64 72x72 96x96

do-install:
	${INSTALL_PROGRAM} ${WRKDIR}/.build/src/86Box ${STAGEDIR}${PREFIX}/bin
	${REINPLACE_CMD} -e 's|Exec=86Box|Exec=/bin/sh -c "${PREFIX}/bin/86Box -C $${HOME}/86box.cfg"|' \
		${WRKSRC}/src/unix/assets/net.86box.86Box.desktop
	${INSTALL_DATA} ${WRKSRC}/src/unix/assets/net.86box.86Box.desktop \
		${STAGEDIR}${PREFIX}/share/applications
.for F in ${ICON_RESOLUTIONS}
	${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/${F}/apps
	${INSTALL_DATA} ${WRKSRC}/src/unix/assets/${F}/net.86box.86Box.png \
		${STAGEDIR}${PREFIX}/share/icons/hicolor/${F}/apps
.endfor

.include <bsd.port.mk>
+3 −0
Original line number Diff line number Diff line
TIMESTAMP = 1722535296
SHA256 (86Box-86Box-v4.2_GH0.tar.gz) = 891787580b67607490aa2257c0efa8b6a8afe954fa6fdb7c0db574caf307d615
SIZE (86Box-86Box-v4.2_GH0.tar.gz) = 5297797
+10 −0
Original line number Diff line number Diff line
--- cmake/flags-gcc-aarch64.cmake.orig	2024-07-26 18:14:45 UTC
+++ cmake/flags-gcc-aarch64.cmake
@@ -14,7 +14,4 @@
 #          Copyright 2021 David Hrdlička.
 #
 
-string(APPEND CMAKE_C_FLAGS_INIT    " -march=armv8-a")
-string(APPEND CMAKE_CXX_FLAGS_INIT  " -march=armv8-a")
-
 include(${CMAKE_CURRENT_LIST_DIR}/flags-gcc.cmake)
+10 −0
Original line number Diff line number Diff line
--- cmake/flags-gcc-armv7.cmake.orig	2024-07-26 18:16:08 UTC
+++ cmake/flags-gcc-armv7.cmake
@@ -14,7 +14,4 @@
 #          Copyright 2021 David Hrdlička.
 #
 
-string(APPEND CMAKE_C_FLAGS_INIT    " -march=armv7-a+fp -mfloat-abi=hard")
-string(APPEND CMAKE_CXX_FLAGS_INIT  " -march=armv7-a+fp -mfloat-abi=hard")
-
 include(${CMAKE_CURRENT_LIST_DIR}/flags-gcc.cmake)
+12 −0
Original line number Diff line number Diff line
--- cmake/flags-gcc-x86_64.cmake.orig	2024-07-26 18:16:26 UTC
+++ cmake/flags-gcc-x86_64.cmake
@@ -14,7 +14,7 @@
 #          Copyright 2021 David Hrdlička.
 #
 
-string(APPEND CMAKE_C_FLAGS_INIT    " -m64 -march=x86-64 -msse2 -mfpmath=sse -mstackrealign")
-string(APPEND CMAKE_CXX_FLAGS_INIT  " -m64 -march=x86-64 -msse2 -mfpmath=sse -mstackrealign")
+string(APPEND CMAKE_C_FLAGS_INIT    " -mstackrealign")
+string(APPEND CMAKE_CXX_FLAGS_INIT  " -mstackrealign")
 
 include(${CMAKE_CURRENT_LIST_DIR}/flags-gcc.cmake)
Loading