git: c8c8032a2fed - main - games/pacman.c: Add new port

From: Emanuel Haupt <ehaupt_at_FreeBSD.org>
Date: Sat, 22 Nov 2025 09:34:08 UTC
The branch main has been updated by ehaupt:

URL: https://cgit.FreeBSD.org/ports/commit/?id=c8c8032a2fede3622570ce0eca27cb2d579fc0f9

commit c8c8032a2fede3622570ce0eca27cb2d579fc0f9
Author:     Emanuel Haupt <ehaupt@FreeBSD.org>
AuthorDate: 2025-11-22 09:11:18 +0000
Commit:     Emanuel Haupt <ehaupt@FreeBSD.org>
CommitDate: 2025-11-22 09:11:18 +0000

    games/pacman.c: Add new port
    
    pacman.c is a simple Pac Man clone written in C99 with minimal
    dependencies.  It recreates the classic maze chase gameplay with ghosts,
    pellets and responsive controls, and serves as a compact, well commented
    example of a complete cross platform game.
---
 games/Makefile                        |  1 +
 games/pacman.c/Makefile               | 45 +++++++++++++++++++++++++++++++++++
 games/pacman.c/distinfo               |  5 ++++
 games/pacman.c/files/patch-pacman.c.6 | 17 +++++++++++++
 games/pacman.c/pkg-descr              |  4 ++++
 5 files changed, 72 insertions(+)

diff --git a/games/Makefile b/games/Makefile
index fb70389c312c..b21665deb41c 100644
--- a/games/Makefile
+++ b/games/Makefile
@@ -751,6 +751,7 @@
     SUBDIR += p5-Games-GuessWord
     SUBDIR += p5-Games-Tournament-RoundRobin
     SUBDIR += pachi
+    SUBDIR += pacman.c
     SUBDIR += pacmanarena
     SUBDIR += palapeli
     SUBDIR += pangzero
diff --git a/games/pacman.c/Makefile b/games/pacman.c/Makefile
new file mode 100644
index 000000000000..7591336f43b1
--- /dev/null
+++ b/games/pacman.c/Makefile
@@ -0,0 +1,45 @@
+PORTNAME=	pacman.c
+DISTVERSION=	g20251120
+CATEGORIES=	games
+MASTER_SITES=	LOCAL/ehaupt:icon
+DISTFILES=	${PORTNAME}-icon-${ICON_VERSION}${EXTRACT_SUFX}:icon
+
+MAINTAINER=	ehaupt@FreeBSD.org
+COMMENT=	Simple Pacman clone written in C99
+WWW=		https://floooh.github.io/pacman.c/pacman.html \
+		https://github.com/floooh/pacman.c
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+LIB_DEPENDS+=	libasound.so:audio/alsa-lib
+
+USES=		cmake gl localbase:ldflags xorg
+USE_GITHUB=	yes
+GH_ACCOUNT=	floooh
+GH_TAGNAME=	be5f12c
+USE_GL+=	gl
+USE_XORG=	x11 xcursor xi
+
+DESKTOP_ENTRIES=	"pacman.c" \
+			"${COMMENT}" \
+			"${PREFIX}/share/pixmaps/${PORTNAME}.png" \
+			"${PORTNAME}" \
+			"" \
+			false
+
+PLIST_FILES=	bin/pacman.c \
+		share/man/man6/pacman.c.6.gz \
+		share/pixmaps/pacman.c.png
+
+ICON_VERSION=	1
+
+do-install:
+	${INSTALL_PROGRAM} ${BUILD_WRKSRC}/pacman \
+		${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+	${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.6 \
+		${STAGEDIR}${PREFIX}/share/man/man6
+	${INSTALL_DATA} ${WRKDIR}/${PORTNAME}-icon-${ICON_VERSION}/${PORTNAME}.png \
+		${STAGEDIR}${PREFIX}/share/pixmaps/${PORTNAME}.png
+
+.include <bsd.port.mk>
diff --git a/games/pacman.c/distinfo b/games/pacman.c/distinfo
new file mode 100644
index 000000000000..3c3973813442
--- /dev/null
+++ b/games/pacman.c/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1763734580
+SHA256 (pacman.c-icon-1.tar.gz) = 94a97f799bc2dadb638931a4f66eeb1a8a491d90db30406f8cbc0e4f3240f859
+SIZE (pacman.c-icon-1.tar.gz) = 12852
+SHA256 (floooh-pacman.c-g20251120-be5f12c_GH0.tar.gz) = d313ccaebcc443b29056ab87cc5410faff1ce2c82cb193c73356694620751441
+SIZE (floooh-pacman.c-g20251120-be5f12c_GH0.tar.gz) = 1222734
diff --git a/games/pacman.c/files/patch-pacman.c.6 b/games/pacman.c/files/patch-pacman.c.6
new file mode 100644
index 000000000000..a5184865c9b8
--- /dev/null
+++ b/games/pacman.c/files/patch-pacman.c.6
@@ -0,0 +1,17 @@
+--- pacman.c.6.orig	2025-11-20 11:46:17 UTC
++++ pacman.c.6
+@@ -0,0 +1,14 @@
++.TH "Pacman" 6 "November 11th, 2025"
++.SH NAME
++pacman.c \- Simple Pacman clone
++.SH SYNOPSIS
++pacman.c
++.SH DESCRIPTION
++Pacman is a yellow, circular character that you move through a maze
++(arrow keys), eating small dots while avoiding colorful ghosts.
++When he eats special Power dots, he can temporarily turn the tables
++and eat the ghosts for extra points.
++
++You can switch between fullscreen and windowed mode using the f key.
++.SH AUTHORS
++This clone was written by Andre Weissflog.
diff --git a/games/pacman.c/pkg-descr b/games/pacman.c/pkg-descr
new file mode 100644
index 000000000000..d35b72c9c402
--- /dev/null
+++ b/games/pacman.c/pkg-descr
@@ -0,0 +1,4 @@
+pacman.c is a simple Pac Man clone written in C99 with minimal
+dependencies. It recreates the classic maze chase gameplay with ghosts,
+pellets and responsive controls, and serves as a compact, well commented
+example of a complete cross platform game.