Index | Thread | Search

From:
Omar Polo <op@omarpolo.com>
Subject:
Re: [Maintainer update] Add FLAVOR to emulator/minivmac
To:
Jag Talon <jag@aangat.lahat.computer>
Cc:
ports@openbsd.org
Date:
Wed, 31 Jul 2024 20:54:11 +0200

Download raw body.

Thread
On 2024/07/30 20:40:15 -0400, Jag Talon <jag@aangat.lahat.computer> wrote:
> Thank you! Ok, one issue that I can't quite figure out is when I fake
> install, everything seems to go well:
> 
> https://okturing.com/src/20483/body
> 
> But when I actually try to install both of them, the flavors end up
> with collisions:
> 
> https://okturing.com/src/20484/body
> 
> Would people know why this is happening? I inspected the variables as
> well and they seem to be alright to me:
> 
> https://okturing.com/src/20485/body
> 
> I attached the tarball as well for reference. Thank you.

Not sure why you're getting that error.  Maybe you have to clean the
package?

	$ make clean='package plist'

If you've build a "bad" package and then fixed it without bumping
REVISION then subsequent `make package' will reuse the previously built
one and this could explain your error.  That's in part why we have to
bump REVISION when changing the content of a package, but usually during
development I believe it's better to just clean the package (and plist)
and re-build them.

Otherwise, except for a cosmetic thing the diff looks fine to me.  Here's
the minor tweak I'd do:

: --- Makefile.orig	Wed Jul 31 20:27:53 2024
: +++ Makefile	Wed Jul 31 20:28:21 2024
: @@ -37,13 +37,9 @@
:  FLAVORS = 		plus ii
:  FLAVOR ?=		plus
:  
: -# Macintosh Plus
: -.if ${FLAVOR:L:Mplus}
: +.if ${FLAVOR:Mplus}
:  MODEL = 		-m Plus
: -.endif
: -
: -# Macintosh II
: -.if ${FLAVOR:L:Mii}
: +.elif ${FLAVOR:Mii}
:  MODEL = 		-m II
:  SUFFIX = 		-${FLAVOR}
:  .endif

so:

 - drop :L as it's not really useful and could hide typos
 - use a .if / .elif

(ok, maybe I've also fmt(1)'ed your DESCR :P)

I'm also attaching a full diff, even if it's not enough since there is
an additional image...  Still, can be useful for review.

I'm not sure how useful is to install a README file per-flavor, but
there's no easy way around it: we either move that text to the DESCR or
do this.  skimming thru bsd.port.mk(5) I don't see a way to have
different README per flavor.

anyway, assuming the README situation is decent, this is ok op@,
although I haven't really tried it, I just checked that the port looks
good (and it does to me.)

(to whomever will commit it, remember to cvs add -ko the pngs :-)


Index: Makefile
===================================================================
RCS file: /home/cvs/ports/emulators/minivmac/Makefile,v
diff -u -p -r1.2 Makefile
--- Makefile	24 Jul 2024 01:02:27 -0000	1.2
+++ Makefile	31 Jul 2024 18:28:21 -0000
@@ -1,14 +1,15 @@
 ONLY_FOR_ARCHS =	i386 amd64 powerpc
 
 COMMENT =		early macintosh emulator
+
 V =			36.04
-REVISION =		0
+REVISION =		1
+
 DISTNAME =		minivmac-${V}
 
 CATEGORIES =		emulators
 
 HOMEPAGE = 		https://gryphel.com/c/minivmac/
-
 MAINTAINER =		Jag Talon <jag@aangat.lahat.computer>
 
 WANTLIB =		X11 c sndio
@@ -33,24 +34,37 @@ SETUP_FLAGS-amd64 = 	-t ob64
 SETUP_FLAGS-i386 = 	-t obsd
 SETUP_FLAGS-powerpc = 	-t obsd -cpu ppc
 
+FLAVORS = 		plus ii
+FLAVOR ?=		plus
+
+.if ${FLAVOR:Mplus}
+MODEL = 		-m Plus
+.elif ${FLAVOR:Mii}
+MODEL = 		-m II
+SUFFIX = 		-${FLAVOR}
+.endif
+
+FULLPKGNAME =		minivmac${SUFFIX}-${V}
+SUBST_VARS =		SUFFIX
+
 post-extract:
 	cp ${FILESDIR}/SGLUSNIO.h ${WRKSRC}/src
 
 do-gen:
 	cd ${WRKSRC}; cc setup/tool.c -o setup_t && \
-		./setup_t ${SETUP_FLAGS-${MACHINE_ARCH}} > gen && \
+		./setup_t ${SETUP_FLAGS-${MACHINE_ARCH}} ${MODEL} > gen && \
 		sh ./gen
 
 do-install:
-	${INSTALL_SCRIPT} ${WRKSRC}/minivmac ${PREFIX}/bin/minivmac
+	${INSTALL_SCRIPT} ${WRKSRC}/minivmac ${PREFIX}/bin/minivmac${SUFFIX}
 
 post-install:
 	${INSTALL_DATA_DIR} ${PREFIX}/share/pixmaps/
-	${INSTALL_DATA} ${FILESDIR}/minivmac.png \
-		${PREFIX}/share/pixmaps/
+	${INSTALL_DATA} ${FILESDIR}/minivmac${SUFFIX}.png \
+		${PREFIX}/share/pixmaps/minivmac${SUFFIX}.png
 
 	${INSTALL_DATA_DIR} ${PREFIX}/share/applications/
-	${INSTALL_DATA} ${FILESDIR}/minivmac.desktop \
-		${PREFIX}/share/applications/
+	${INSTALL_DATA} ${FILESDIR}/minivmac${SUFFIX}.desktop \
+		${PREFIX}/share/applications/minivmac${SUFFIX}.desktop
 
 .include <bsd.port.mk>
Index: files/minivmac-ii.desktop
===================================================================
RCS file: files/minivmac-ii.desktop
diff -N files/minivmac-ii.desktop
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/minivmac-ii.desktop	30 Jul 2024 18:21:58 -0000
@@ -0,0 +1,9 @@
+[Desktop Entry]
+GenericName=Macintosh Emulator
+Name=Mini vMac (Macintosh II)
+Comment=Early Macintosh emulator
+Exec=minivmac-ii
+Terminal=false
+Type=Application
+Categories=Emulator;Graphics;
+Icon=minivmac
Index: files/minivmac-ii.png
===================================================================
RCS file: files/minivmac-ii.png
diff -N files/minivmac-ii.png
Binary files /dev/null and minivmac-ii.png differ
Index: files/minivmac.desktop
===================================================================
RCS file: /home/cvs/ports/emulators/minivmac/files/minivmac.desktop,v
diff -u -p -r1.1.1.1 minivmac.desktop
--- files/minivmac.desktop	18 Jul 2024 01:58:15 -0000	1.1.1.1
+++ files/minivmac.desktop	30 Jul 2024 18:22:07 -0000
@@ -1,6 +1,6 @@
 [Desktop Entry]
 GenericName=Macintosh Emulator
-Name=Mini vMac
+Name=Mini vMac (Macintosh Plus)
 Comment=Early Macintosh emulator
 Exec=minivmac
 Terminal=false
Index: pkg/DESCR
===================================================================
RCS file: /home/cvs/ports/emulators/minivmac/pkg/DESCR,v
diff -u -p -r1.1.1.1 DESCR
--- pkg/DESCR	18 Jul 2024 01:58:15 -0000	1.1.1.1
+++ pkg/DESCR	31 Jul 2024 18:53:22 -0000
@@ -1 +1,6 @@
-Macintosh Plus emulator.
+Mini vMac is an emulator for computers that Apple sold from 1984 to 1996
+based on Motorola's 680x0 microprocessors. The default emulates the
+Macintosh Plus.
+
+Flavors:
+	ii	- Emulate the Macintosh II
Index: pkg/PLIST
===================================================================
RCS file: /home/cvs/ports/emulators/minivmac/pkg/PLIST,v
diff -u -p -r1.1.1.1 PLIST
--- pkg/PLIST	18 Jul 2024 01:58:15 -0000	1.1.1.1
+++ pkg/PLIST	30 Jul 2024 14:34:50 -0000
@@ -1,6 +1,6 @@
-@bin bin/minivmac
-share/applications/minivmac.desktop
+@bin bin/minivmac${SUFFIX}
+share/applications/minivmac${SUFFIX}.desktop
 share/doc/pkg-readmes/${PKGSTEM}
 share/pixmaps/
+share/pixmaps/minivmac${SUFFIX}.png
 @tag update-desktop-database
-share/pixmaps/minivmac.png
Index: pkg/README
===================================================================
RCS file: /home/cvs/ports/emulators/minivmac/pkg/README,v
diff -u -p -r1.2 README
--- pkg/README	24 Jul 2024 01:02:27 -0000	1.2
+++ pkg/README	30 Jul 2024 14:37:37 -0000
@@ -2,11 +2,12 @@
 | Running ${PKGSTEM} on OpenBSD
 +-----------------------------------------------------------------------
 
-Mini vMac can emulate the Macintosh Plus.
+Mini vMac can emulate early Macintoshes. The Macintosh Plus (minivmac)
+and the Macintosh II (minivmac-ii) are supported on OpenBSD.
 
-Mini vMac requires a correct ROM for the Mac model to emulate, named
-"vMac.ROM". This can be in the current directory before executing the
-"minivmac" command.
+Mini vMac requires a correct ROM for the Mac model to emulate, named either
+"vMac.ROM" or "MacII.ROM". This can be in the current directory before
+executing the "minivmac" command.
 
 Mini vMac can boot an image file (such as an OS). This can be named
 "disk1.dsk" and if placed in the current directory before executing