Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Dec 2019 10:59:37 +0000 (UTC)
From:      David Griffith <dave@661.org>
To:        Marcin Cieslak <saper@saper.info>
Cc:        ports@FreeBSD.org
Subject:   Re: Frotz upgrade to 2.50
Message-ID:  <alpine.DEB.2.21.1912201033040.31648@hermes.661.org>
In-Reply-To: <alpine.DEB.2.21.1912190947340.11019@hermes.661.org>
References:  <alpine.DEB.2.21.1912160822540.30958@hermes.661.org> <nycvar.OFS.7.76.44444.807.1912182252390.2778@z.fncre.vasb> <alpine.DEB.2.21.1912190239230.2058@hermes.661.org> <nycvar.OFS.7.76.44444.807.1912190937300.2778@z.fncre.vasb> <alpine.DEB.2.21.1912190947340.11019@hermes.661.org>

next in thread | previous in thread | raw e-mail | index | archive | help

My reply is at the bottom.  Please put your reply there too.
On Thu, 19 Dec 2019, David Griffith wrote:
>
> My reply is at the bottom.  Please put your reply there too.
> On Thu, 19 Dec 2019, Marcin Cieslak wrote:
>> On Thu, 19 Dec 2019, David Griffith wrote:
>> 
>>> 
>>> My reply is at the bottom.  Please put your reply there too.
>>> On Wed, 18 Dec 2019, Marcin Cieslak wrote:
>>>> On Mon, 16 Dec 2019, David Griffith wrote:
>>>> 
>>>>> 
>>>>> I released version 2.50 of Frotz last month.  Would someone please 
>>>>> update ports to install this version?
>>>> 
>>>> I have never used that software but I gave it a try and:
>>>> 
>>>> * moved it to Gitlab
>>>> * applied fix for a https://gitlab.com/DavidGriffith/frotz/issues/180
>>>> * I think we do not need to generate soundcard.h manually anymore?
>>>> 
>>>> Now I am getting:
>>>> 
>>>> ===>  Building for frotz-2.50
>>>> gmake[2]: Entering directory 
>>>> '/usr/home/saper/sw/FreeBSD/ports/games/frotz/work/frotz-9867a1f14da1e9c0707492d2ac74d1e8ffdd3a64-9867a1f14da1e9c0707492d2ac74d1e8ffdd3a64'
>>>> ** Generating src/common/defs.h
>>>> ** Generating src/common/git_hash.h
>>>> ** ERROR UTF-8 support only works with ncursesw!
>>>> exit 2
>>>> gmake[2]: *** [Makefile:391: src/curses/ux_defines.h] Error 2
>>>> 
>>>> but then second "make" works just fine...
>>> 
>>> The OSS interface is deprecated for now.  There's no need to go hunting 
>>> around for soundcard.h anymore in favor of libao.  I've resisted removing 
>>> ux_audio_oss.c entirely because I'd like to someday reenable that for 
>>> older machines and massage it into something for older Sun workstations.
>> 
>> Thank you. Is there any quick way to test if sound is working?
>
> I have a couple sound-using games that should suffice.
> https://661.org/proj/if/uninvited/uninvited.zblorb
> https://661.org/proj/if/oldcode/soundtest.blb
>
> The first is a reimplementation of Uninvited 
> (https://en.wikipedia.org/wiki/Uninvited_(video_game)) and the second is 
> intended to quickly and easily test all of Frotz's audio capabilities.
>
>> What about that ncursesw thing? I think it is NetBSD-specific?
>
> It might be.  The distinction between old BSD curses and ncurses has been a 
> source of problems over the years.  I'm puzzled as to why it would complain 
> there because I went over curses stuff repeatedly with all the BSDs prior to 
> releasing 2.50 and it still compiles fine outside of the ports system.
>
>>> How is this patch supposed to be applied?
>> 
>> Just like as you did. Can you check if your ports tree is up to date?
>> 
>> The Makefile should have the following line:
>> 
>> # $FreeBSD: head/games/frotz/Makefile 442400 2017-06-02 15:43:42Z sunpoet $
>> 
>> If 442400 is a lower number, the ports tree needs updating, the way
>> to do it depends on the way you got it (I have used the portsnap method):
>> 
>> https://www.freebsd.org/doc/handbook/ports-using.html
>
> That's the same top line that I have.  I updated it with Subversion.
> After fixing them by hand, I noticed that the patch zeroed out 
> patch-src_curses_ux__audio__oss.c instead of deleting it.  That caused a 
> complaint from the ports Makefile.  After manually deleting that, I got the 
> same error you did.  So, now we're sort of on the same page.  I'll prod at 
> this over the next couple days.  NetBSD already has 2.50 commited. Maybe 
> borrowing from there will work.

I came up with a patch against the 2.44 ports entry that seems to work. 
Things have considerably changed since 2.44, so simply changing lines to 
point at Gitlab didn't work.  The strange complaint about ncurses came 
about because the CURSES variable in the Makefile no longer contains 
LDFLAGS, but just a simple string: [curses|ncurses|ncursesw].

With this patch applied, you get both frotz without audio support and dumb 
frotz.  For audio, some more libraries are required, but that should not 
pull in anything graphical.  For the graphics-capable variant of Frotz, 
SDL2 is needed among other things.

I propose to add two additional ports entries for Frotz.  One is 
"frotz-audio" which is simply curses Frotz with the audio subsystem 
compiled in and dumb Frotz along for the ride.  This would be 
mutually-exclusive from the regular silent "frotz" entry for obvious 
reasons.  The other would be "frotz-sdl" for the SDL interface.

For now, here's the patch for silent Frotz:

===cut here===
diff -ruP frotz-orig/Makefile frotz/Makefile
--- frotz-orig/Makefile	2017-06-02 08:43:42.000000000 -0700
+++ frotz/Makefile	2019-12-20 00:15:17.440596000 -0800
@@ -1,8 +1,8 @@
  # Created by: Andrey Zakhvatov
-# $FreeBSD: head/games/frotz/Makefile 442400 2017-06-02 15:43:42Z sunpoet $
+# $FreeBSD: tags/RELEASE_12_0_0/games/frotz/Makefile 442400 2017-06-02 15:43:42Z sunpoet $

  PORTNAME=	frotz
-PORTVERSION=	2.44
+PORTVERSION=	2.50
  CATEGORIES=	games

  MAINTAINER=	ports@FreeBSD.org
@@ -11,31 +11,29 @@
  LICENSE=	GPLv2+
  LICENSE_FILE=	${WRKSRC}/COPYING

-USE_GITHUB=	yes
-GH_ACCOUNT=	DavidGriffith
+USE_GITLAB=	yes
+GL_ACCOUNT=	DavidGriffith
+GL_COMMIT=	9867a1f14da1e9c0707492d2ac74d1e8ffdd3a64

  USES=		gmake ncurses

-MAKE_ARGS=	-e CURSES="${LDFLAGS} -lncurses"
  MAKE_ENV=	OPTS="${CFLAGS}" CONFIG_DIR="${PREFIX}/etc"

+ALL_TARGET=	nosound dumb
+INSTALL_TARGET=	frotz
+
  PLIST_FILES=	bin/frotz \
  		man/man6/frotz.6.gz

-PORTDOCS=	AUTHORS BUGS ChangeLog HOW_TO_PLAY README
+PORTDOCS=	AUTHORS ChangeLog HOW_TO_PLAY README
  PORTEXAMPLES=	frotz.conf-big frotz.conf-small

-OPTIONS_DEFINE=		DOCS EXAMPLES DUMB OSS
-OPTIONS_DEFAULT=	OSS
+OPTIONS_DEFINE=		DOCS EXAMPLES DUMB
  DUMB_DESC=		Install dfrotz (dumb frotz)

-OSS_MAKE_ENV=		SOUND_DEFS='-DOSS_SOUND -DSOUND_DEV=\"/dev/dsp\"'
  DUMB_PLIST_FILES=	bin/dfrotz \
  			man/man6/dfrotz.6.gz
  DUMB_PORTDOCS=	DUMB
-
-pre-build-OSS-on:
-	cd ${WRKSRC} && ${DO_MAKE_BUILD} soundcard.h

  do-install:
  	${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/
diff -ruP frotz-orig/distinfo frotz/distinfo
--- frotz-orig/distinfo	2015-05-26 11:50:09.000000000 -0700
+++ frotz/distinfo	2019-12-19 17:34:11.328960000 -0800
@@ -1,2 +1,3 @@
-SHA256 (DavidGriffith-frotz-2.44_GH0.tar.gz) = dbb5eb3bc95275dcb984c4bdbaea58bc1f1b085b20092ce6e86d9f0bf3ba858f
-SIZE (DavidGriffith-frotz-2.44_GH0.tar.gz) = 276815
+TIMESTAMP = 1576709471
+SHA256 (DavidGriffith-frotz-9867a1f14da1e9c0707492d2ac74d1e8ffdd3a64_GL0.tar.gz) = 0fdbf055edd31e2f07b52f720a74a098d81b766a00a4103955edb2171d13b0d6
+SIZE (DavidGriffith-frotz-9867a1f14da1e9c0707492d2ac74d1e8ffdd3a64_GL0.tar.gz) = 346458
diff -ruP frotz-orig/files/patch-Makefile frotz/files/patch-Makefile
--- frotz-orig/files/patch-Makefile	1969-12-31 16:00:00.000000000 -0800
+++ frotz/files/patch-Makefile	2019-12-19 17:34:11.329550000 -0800
@@ -0,0 +1,11 @@
+--- Makefile.orig	2019-12-18 22:55:03 UTC
++++ Makefile
+@@ -297,7 +297,7 @@ ifneq ($(and $(wildcard $(GIT_DIR)),$(sh
+ 		$(NAME)src/doc/*.6 $(NAME)src/doc/frotz.conf* \
+ 		$(NAME)src/doc/Xresources  > /dev/null
+ else
+-        @echo "Not in a git repository or git command not found.  Cannot make a tarball."
++	@echo "Not in a git repository or git command not found.  Cannot make a tarball."
+ endif
+ 
+ all: $(FROTZ_BIN) $(DFROTZ_BIN) $(SFROTZ_BIN)
Only in frotz-orig/files: patch-src_curses_ux__audio__oss.c
===cut here===

-- 
David Griffith
dave@661.org

A: Because it fouls the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.DEB.2.21.1912201033040.31648>