git: 5439e5d17f96 - main - emulators/supermodel: New port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 30 Jun 2026 21:36:22 UTC
The branch main has been updated by kenrap:
URL: https://cgit.FreeBSD.org/ports/commit/?id=5439e5d17f96caf1e999167ecfc086ccff2e423d
commit 5439e5d17f96caf1e999167ecfc086ccff2e423d
Author: Hywel Andrews <owlandrews@protonmail.com>
AuthorDate: 2026-06-11 17:58:41 +0000
Commit: Kenneth Raplee <kenrap@FreeBSD.org>
CommitDate: 2026-06-30 21:36:03 +0000
emulators/supermodel: New port
A Sega Model 3 Arcade emulator
PR: 296011
Co-authored-by: Kenneth Raplee <kenrap@FreeBSD.org>
Approved by: makc (mentor)
---
emulators/Makefile | 1 +
emulators/supermodel/Makefile | 71 +++++++++++++++++++++++++++++++
emulators/supermodel/distinfo | 3 ++
emulators/supermodel/files/pkg-message.in | 7 +++
emulators/supermodel/pkg-descr | 9 ++++
emulators/supermodel/pkg-plist | 5 +++
6 files changed, 96 insertions(+)
diff --git a/emulators/Makefile b/emulators/Makefile
index 52250ab31c97..1fef28a05d58 100644
--- a/emulators/Makefile
+++ b/emulators/Makefile
@@ -141,6 +141,7 @@
SUBDIR += spim
SUBDIR += stella
SUBDIR += stonx
+ SUBDIR += supermodel
SUBDIR += teo
SUBDIR += tic-80
SUBDIR += tiemu3
diff --git a/emulators/supermodel/Makefile b/emulators/supermodel/Makefile
new file mode 100644
index 000000000000..8db1ad7c0324
--- /dev/null
+++ b/emulators/supermodel/Makefile
@@ -0,0 +1,71 @@
+PORTNAME= supermodel
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.3a-20260506
+DISTVERSIONSUFFIX= -git-9c9e7b7
+CATEGORIES= emulators
+
+MAINTAINER= owlandrews@protonmail.com
+COMMENT= Sega Model 3 arcade emulator
+WWW= https://github.com/trzy/Supermodel
+
+LICENSE= GPLv3+
+LICENSE_FILE= ${WRKSRC}/Docs/LICENSE.txt
+
+ONLY_FOR_ARCHS= amd64
+
+USES= compiler gl gmake localbase:ldflags sdl
+
+USE_GITHUB= yes
+GH_ACCOUNT= trzy
+
+USE_GL= glu opengl
+USE_SDL= net2 sdl2
+
+MAKEFILE= Makefiles/Makefile.UNIX
+
+DESKTOP_ENTRIES= "Supermodel" \
+ "${COMMENT}" \
+ "supermodel" \
+ "supermodel" \
+ "Game;ArcadeGame;Emulator;" \
+ false
+SUB_FILES= pkg-message
+
+WRKSRC= ${WRKDIR}/Supermodel-${DISTVERSION}${DISTVERSIONSUFFIX}
+
+PORTDOCS= README.txt
+
+OPTIONS_DEFINE= DEBUGGER DOCS EXTRA_DEBUGGING
+
+DEBUGGER_DESC= Include console-based debugger in emulator
+EXTRA_DEBUGGING_DESC= Enable extra debug logging and render state analyser for the legacy 3D engine
+
+DEBUGGER_MAKE_ARGS= ENABLE_DEBUGGER=1
+DEBUGGER_MAKE_ARGS_OFF= ENABLE_DEBUGGER=0
+
+EXTRA_DEBUGGING_MAKE_ARGS= EXTRA_DEBUG=1
+EXTRA_DEBUGGING_MAKE_ARGS_OFF= EXTRA_DEBUG=0
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|CC =|CC ?=|g' \
+ -e 's|CXX =|CXX ?=|g' \
+ -e 's|LD = gcc|LD = ${CC}|g' \
+ -e 's|^PLATFORM_LDFLAGS = \(.*\)|PLATFORM_LDFLAGS := \1 $$(LDFLAGS)|' \
+ ${WRKSRC}/${MAKEFILE}
+ @${REINPLACE_CMD} -e 's|^COMMON_CFLAGS = \(.*\)|COMMON_CFLAGS = \1 $$(CPPFLAGS)|' \
+ ${WRKSRC}/Makefiles/Rules.inc
+
+do-install:
+ ${MKDIR} ${STAGEDIR}${ETCDIR}
+ ${MKDIR} ${STAGEDIR}${DATADIR}
+ ${INSTALL_DATA} ${WRKSRC}/Config/Games.xml ${STAGEDIR}${ETCDIR}/Games.xml.sample
+ ${INSTALL_DATA} ${WRKSRC}/Config/Music.xml ${STAGEDIR}${ETCDIR}/Music.xml.sample
+ ${INSTALL_DATA} ${WRKSRC}/Assets/p1crosshair.bmp ${STAGEDIR}${DATADIR}/p1crosshair.bmp
+ ${INSTALL_DATA} ${WRKSRC}/Assets/p2crosshair.bmp ${STAGEDIR}${DATADIR}/p2crosshair.bmp
+ ${INSTALL_PROGRAM} ${WRKSRC}/bin/supermodel ${STAGEDIR}${PREFIX}/bin/supermodel
+
+do-install-DOCS-on:
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/Docs/${PORTDOCS} ${STAGEDIR}${DOCSDIR}/
+
+.include <bsd.port.mk>
diff --git a/emulators/supermodel/distinfo b/emulators/supermodel/distinfo
new file mode 100644
index 000000000000..8c8baa7437f2
--- /dev/null
+++ b/emulators/supermodel/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1778429383
+SHA256 (trzy-supermodel-v0.3a-20260506-git-9c9e7b7_GH0.tar.gz) = 74a6310ebe080b1de08ae92bbe6b4f5ca73babb7ef184e90b23079700133b710
+SIZE (trzy-supermodel-v0.3a-20260506-git-9c9e7b7_GH0.tar.gz) = 78913611
diff --git a/emulators/supermodel/files/pkg-message.in b/emulators/supermodel/files/pkg-message.in
new file mode 100644
index 000000000000..bbdc6bd6b054
--- /dev/null
+++ b/emulators/supermodel/files/pkg-message.in
@@ -0,0 +1,7 @@
+Now it is time to configure this package.
+
+ln -s %%DATADIR%% ${XDG_DATA_HOME}/supermodel/Assets
+
+Copy %%ETCDIR%%/Games.xml.sample and %%ETCDIR%%/Music.xml.sample
+into either a ${XDG_CONFIG_HOME}/%%PORTNAME%%/Config or
+$HOME/.%%PORTNAME%%/Config directory as Games.xml and Music.xml respectivly.
diff --git a/emulators/supermodel/pkg-descr b/emulators/supermodel/pkg-descr
new file mode 100644
index 000000000000..fd331d664211
--- /dev/null
+++ b/emulators/supermodel/pkg-descr
@@ -0,0 +1,9 @@
+Supermodel emulates Sega's Model 3 arcade platform, allowing you
+to relive state-of-the-art 3D arcade gaming as it existed from 1996
+through 1999. It uses OpenGL, SDL2, and can run on Windows, Linux, and
+macOS. It also supports network play on low-latency network connections.
+
+The aim of the Supermodel project is to develop an emulator that is
+both accurate and playable. As with virtually all arcade hardware, no
+public documentation for the Model 3 platform exists. What is known so
+far has been painstakingly reverse engineered from scratch.
diff --git a/emulators/supermodel/pkg-plist b/emulators/supermodel/pkg-plist
new file mode 100644
index 000000000000..de38b7c0c51f
--- /dev/null
+++ b/emulators/supermodel/pkg-plist
@@ -0,0 +1,5 @@
+bin/supermodel
+@sample %%ETCDIR%%/Games.xml.sample
+@sample %%ETCDIR%%/Music.xml.sample
+%%DATADIR%%/p1crosshair.bmp
+%%DATADIR%%/p2crosshair.bmp