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>