pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Import Mighty Mike 3.0.0 as wip/mightymike



Module Name:	pkgsrc-wip
Committed By:	Charlotte Koch <dressupgeekout%gmail.com@localhost>
Pushed By:	cfkoch
Date:		Mon Apr 11 14:55:15 2022 -0700
Changeset:	27ccadae6fe87fa6d63a77646deddd791129160c

Modified Files:
	Makefile
Added Files:
	mightymike/DESCR
	mightymike/Makefile
	mightymike/PLIST
	mightymike/TODO
	mightymike/distinfo
	mightymike/files/mightymike.template
	mightymike/patches/patch-extern_Pomme_src_Files_HostVolume.cpp
	mightymike/patches/patch-extern_Pomme_src_PommeDebug.cpp

Log Message:
Import Mighty Mike 3.0.0 as wip/mightymike

This is Pangea Software's Mighty Mike updated to run on modern systems. Set
in a toy store, this top-down action game is a staple of 90's Macintosh
games. It was initially published in 1995 under the name Power Pete.

Note: it currently does NOT run on my NetBSD/amd64 9.2 -- I'm betting it's
related to one of the patches I've applied which ignores some code that
fails at build-time due to C++ std mismatch

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=27ccadae6fe87fa6d63a77646deddd791129160c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile                                           |  1 +
 mightymike/DESCR                                   |  3 +
 mightymike/Makefile                                | 32 ++++++++
 mightymike/PLIST                                   | 87 ++++++++++++++++++++++
 mightymike/TODO                                    |  7 ++
 mightymike/distinfo                                |  4 +
 mightymike/files/mightymike.template               |  6 ++
 .../patch-extern_Pomme_src_Files_HostVolume.cpp    | 18 +++++
 .../patches/patch-extern_Pomme_src_PommeDebug.cpp  | 13 ++++
 9 files changed, 171 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index 1dcfca519f..dd1b36995a 100644
--- a/Makefile
+++ b/Makefile
@@ -2407,6 +2407,7 @@ SUBDIR+=	micropolis
 SUBDIR+=	microsynteny-tools
 SUBDIR+=	microtetris
 SUBDIR+=	mid2gmc
+SUBDIR+=	mightymike
 SUBDIR+=	miktex
 SUBDIR+=	milou
 SUBDIR+=	milter-greylist-devel
diff --git a/mightymike/DESCR b/mightymike/DESCR
new file mode 100644
index 0000000000..9ff230b704
--- /dev/null
+++ b/mightymike/DESCR
@@ -0,0 +1,3 @@
+This is Pangea Software's Mighty Mike updated to run on modern systems. Set
+in a toy store, this top-down action game is a staple of 90's Macintosh
+games. It was initially published in 1995 under the name Power Pete.
diff --git a/mightymike/Makefile b/mightymike/Makefile
new file mode 100644
index 0000000000..e6dda0ef53
--- /dev/null
+++ b/mightymike/Makefile
@@ -0,0 +1,32 @@
+# $NetBSD$
+
+DISTNAME=	mightymike-3.0.0
+CATEGORIES=	games
+GIT_REPO=	https://github.com/jorio/MightyMike.git
+GIT_TAG=	v${PKGVERSION_NOREV}
+
+MAINTAINER=	dressupgeekout%gmail.com@localhost
+HOMEPAGE=	https://www.pangeasoft.net/nano/index.html
+COMMENT=	Pangea Software's Mighty Mike (Power Pete) for modern systems
+LICENSE=	cc-by-sa-v4.0 # XXX Actually it's cc-nc-by-sa-v4.0
+
+USE_CMAKE=	yes
+USE_LANGUAGES=	c c++
+USE_TOOLS+=	pkg-config
+
+INSTALLATION_DIRS+=	bin
+INSTALLATION_DIRS+=	libexec
+INSTALLATION_DIRS+=	share/mightymike/Data
+
+pre-configure:
+	${SED} -e 's,@@PREFIX@@,${PREFIX},g' \
+		${FILESDIR}/mightymike.template > ${WRKDIR}/mightymike
+
+do-install:
+	${INSTALL_SCRIPT} ${WRKDIR}/mightymike ${DESTDIR}${PREFIX}/bin/mightymike
+	${INSTALL_PROGRAM} ${WRKSRC}/MightyMike ${DESTDIR}${PREFIX}/libexec
+	(cd ${WRKSRC}/Data && ${PAX} -r -w . ${DESTDIR}${PREFIX}/share/mightymike/Data)
+
+.include "../../devel/SDL2/buildlink3.mk"
+.include "../../wip/mk/git-package.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/mightymike/PLIST b/mightymike/PLIST
new file mode 100644
index 0000000000..1b08d85376
--- /dev/null
+++ b/mightymike/PLIST
@@ -0,0 +1,87 @@
+@comment $NetBSD$
+bin/mightymike
+libexec/MightyMike
+share/mightymike/Data/Audio/Bargain.sounds.rsrc
+share/mightymike/Data/Audio/Candy.sounds.rsrc
+share/mightymike/Data/Audio/Clown.sounds.rsrc
+share/mightymike/Data/Audio/Fairy.sounds.rsrc
+share/mightymike/Data/Audio/General.sounds.rsrc
+share/mightymike/Data/Audio/Jurassic.sounds.rsrc
+share/mightymike/Data/Audio/Music.rsrc
+share/mightymike/Data/Audio/Weapon.sounds.rsrc
+share/mightymike/Data/Images/bargainscene.tga
+share/mightymike/Data/Images/bonus.tga
+share/mightymike/Data/Images/border.tga
+share/mightymike/Data/Images/border2.tga
+share/mightymike/Data/Images/border832.tga
+share/mightymike/Data/Images/candyscene.tga
+share/mightymike/Data/Images/charging.tga
+share/mightymike/Data/Images/clownscene.tga
+share/mightymike/Data/Images/credits1.tga
+share/mightymike/Data/Images/diff.tga
+share/mightymike/Data/Images/dinoscene.tga
+share/mightymike/Data/Images/fairyscene.tga
+share/mightymike/Data/Images/head.tga
+share/mightymike/Data/Images/legal.tga
+share/mightymike/Data/Images/lose.tga
+share/mightymike/Data/Images/overheadmap.tga
+share/mightymike/Data/Images/overheadmap2.tga
+share/mightymike/Data/Images/overheadmap3.tga
+share/mightymike/Data/Images/playerchoose.tga
+share/mightymike/Data/Images/radarmap.tga
+share/mightymike/Data/Images/scores.tga
+share/mightymike/Data/Images/titlepage.tga
+share/mightymike/Data/Images/titlepagepp.tga
+share/mightymike/Data/Images/view68k.tga
+share/mightymike/Data/Images/viewppc.tga
+share/mightymike/Data/Images/win.tga
+share/mightymike/Data/Images/winbw.tga
+share/mightymike/Data/Maps/Bargain.Tileset
+share/mightymike/Data/Maps/Bargain.map-1
+share/mightymike/Data/Maps/Bargain.map-2
+share/mightymike/Data/Maps/Bargain.map-3
+share/mightymike/Data/Maps/Candy.Map-1
+share/mightymike/Data/Maps/Candy.Map-2
+share/mightymike/Data/Maps/Candy.map-3
+share/mightymike/Data/Maps/Candy.tileset
+share/mightymike/Data/Maps/Clown.Map-1
+share/mightymike/Data/Maps/Clown.tileset
+share/mightymike/Data/Maps/Fairy.Map-1
+share/mightymike/Data/Maps/Fairy.Tileset
+share/mightymike/Data/Maps/Fairy.map-2
+share/mightymike/Data/Maps/Fairy.map-3
+share/mightymike/Data/Maps/Jurassic.map-1
+share/mightymike/Data/Maps/Jurassic.map-2
+share/mightymike/Data/Maps/Jurassic.map-3
+share/mightymike/Data/Maps/Jurassic.tileset
+share/mightymike/Data/Maps/clown.map-2
+share/mightymike/Data/Maps/clown.map-3
+share/mightymike/Data/Movies/Pangea.spin
+share/mightymike/Data/Shapes/Bonus.shapes
+share/mightymike/Data/Shapes/Difficulty.shapes
+share/mightymike/Data/Shapes/OverheadMap.shapes
+share/mightymike/Data/Shapes/Win.shapes
+share/mightymike/Data/Shapes/bargain1.shapes
+share/mightymike/Data/Shapes/bargain2.shapes
+share/mightymike/Data/Shapes/candy1.shapes
+share/mightymike/Data/Shapes/candy2.shapes
+share/mightymike/Data/Shapes/clown1.shapes
+share/mightymike/Data/Shapes/clown2.shapes
+share/mightymike/Data/Shapes/fairy1.shapes
+share/mightymike/Data/Shapes/fairy2.shapes
+share/mightymike/Data/Shapes/highscore.shapes
+share/mightymike/Data/Shapes/infobar.shapes
+share/mightymike/Data/Shapes/infobar2.shapes
+share/mightymike/Data/Shapes/jurassic1.shapes
+share/mightymike/Data/Shapes/jurassic2.shapes
+share/mightymike/Data/Shapes/main.shapes
+share/mightymike/Data/Shapes/playerchoose.shapes
+share/mightymike/Data/Shapes/title.shapes
+share/mightymike/Data/Shapes/view.shapes
+share/mightymike/Data/Shapes/weapon.shapes
+share/mightymike/Data/System/Application.rsrc
+share/mightymike/Data/System/credits.txt
+share/mightymike/Data/System/gamecontrollerdb.txt
+share/mightymike/Data/System/win1.txt
+share/mightymike/Data/System/win2.txt
+share/mightymike/Data/System/win3.txt
diff --git a/mightymike/TODO b/mightymike/TODO
new file mode 100644
index 0000000000..16db91a0f8
--- /dev/null
+++ b/mightymike/TODO
@@ -0,0 +1,7 @@
+Mighty Mike TODO:
+
+- I'm pretty sure patch-extern_Pomme_src_Files_HostVolume.cpp breaks the
+  game at runtime
+- I'm not certain about the LICENSE field
+- We depend on wip/mk/git-package.git because we need the Git submodules
+  (GitHub's 'archive' feature doesn't recurse into submodules)
diff --git a/mightymike/distinfo b/mightymike/distinfo
new file mode 100644
index 0000000000..b0223154d5
--- /dev/null
+++ b/mightymike/distinfo
@@ -0,0 +1,4 @@
+$NetBSD$
+
+SHA1 (patch-extern_Pomme_src_Files_HostVolume.cpp) = e40c15b984db4a9cf404d7d7280c6d43858d62ea
+SHA1 (patch-extern_Pomme_src_PommeDebug.cpp) = 6e4f19c2db32aa0cd3c94c4aad5146e36bab981b
diff --git a/mightymike/files/mightymike.template b/mightymike/files/mightymike.template
new file mode 100644
index 0000000000..1ffad93ef6
--- /dev/null
+++ b/mightymike/files/mightymike.template
@@ -0,0 +1,6 @@
+#!/bin/sh
+#
+# $NetBSD$
+# Launcher script for Mighty Mike.
+set -e
+cd @@PREFIX@@/share/mightymike && @@PREFIX@@/libexec/MightyMike
diff --git a/mightymike/patches/patch-extern_Pomme_src_Files_HostVolume.cpp b/mightymike/patches/patch-extern_Pomme_src_Files_HostVolume.cpp
new file mode 100644
index 0000000000..29cfafe665
--- /dev/null
+++ b/mightymike/patches/patch-extern_Pomme_src_Files_HostVolume.cpp
@@ -0,0 +1,18 @@
+$NetBSD$
+
+ends_with() should be available in C++20 but this still doesn't DTRT :\
+--- extern/Pomme/src/Files/HostVolume.cpp.orig	2022-04-11 12:53:32.279806408 -0700
++++ extern/Pomme/src/Files/HostVolume.cpp	2022-04-11 12:53:38.633225776 -0700
+@@ -186,12 +186,6 @@
+ 		auto f = FromU8(candidate.path().filename().u8string());
+ #endif
+ 
+-		// It might be an AppleDouble resource fork ("file.rsrc")
+-		if (candidate.is_regular_file() && f.ends_with(".rsrc"))
+-		{
+-			f = f.substr(0, f.length() - 5);
+-		}
+-
+ 		if (ELEMENT == UppercaseCopy(f))
+ 		{
+ 			path /= AsU8(f);
diff --git a/mightymike/patches/patch-extern_Pomme_src_PommeDebug.cpp b/mightymike/patches/patch-extern_Pomme_src_PommeDebug.cpp
new file mode 100644
index 0000000000..59fb24b3f4
--- /dev/null
+++ b/mightymike/patches/patch-extern_Pomme_src_PommeDebug.cpp
@@ -0,0 +1,13 @@
+$NetBSD$
+
+Missing #include for C++20 support.
+--- extern/Pomme/src/PommeDebug.cpp.orig	2022-04-11 12:42:52.834341110 -0700
++++ extern/Pomme/src/PommeDebug.cpp	2022-04-11 12:42:39.586446895 -0700
+@@ -1,6 +1,7 @@
+ #include "PommeDebug.h"
+ 
+ #include <SDL.h>
++#include <algorithm>
+ #include <sstream>
+ #include <iostream>
+ 


Home | Main Index | Thread Index | Old Index