From owner-freebsd-ports@freebsd.org Sat Dec 21 04:43:22 2019 Return-Path: Delivered-To: freebsd-ports@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E49461EEF8F for ; Sat, 21 Dec 2019 04:43:22 +0000 (UTC) (envelope-from dave@661.org) Received: from mailman.nyi.freebsd.org (unknown [127.0.1.3]) by mx1.freebsd.org (Postfix) with ESMTP id 47ftKQ4T88z3N3x for ; Sat, 21 Dec 2019 04:43:22 +0000 (UTC) (envelope-from dave@661.org) Received: by mailman.nyi.freebsd.org (Postfix) id 998361EEF8E; Sat, 21 Dec 2019 04:43:22 +0000 (UTC) Delivered-To: ports@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 994DA1EEF8D for ; Sat, 21 Dec 2019 04:43:22 +0000 (UTC) (envelope-from dave@661.org) Received: from hermes.661.org (hermes.661.org [192.81.131.210]) by mx1.freebsd.org (Postfix) with ESMTP id 47ftKP59CKz3N3r for ; Sat, 21 Dec 2019 04:43:21 +0000 (UTC) (envelope-from dave@661.org) Received: by hermes.661.org (Postfix, from userid 1000) id 49C7C1E61C; Sat, 21 Dec 2019 04:43:20 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hermes.661.org (Postfix) with ESMTP id 46DB01E43A; Sat, 21 Dec 2019 04:43:20 +0000 (UTC) Date: Sat, 21 Dec 2019 04:43:20 +0000 (UTC) From: David Griffith To: Marcin Cieslak cc: ports@FreeBSD.org Subject: Re: Frotz upgrade to 2.50 In-Reply-To: Message-ID: References: User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Rspamd-Queue-Id: 47ftKP59CKz3N3r X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=none (mx1.freebsd.org: domain of dave@661.org has no SPF policy when checking 192.81.131.210) smtp.mailfrom=dave@661.org X-Spamd-Result: default: False [-1.00 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.92)[-0.918,0]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; NEURAL_HAM_LONG(-0.87)[-0.874,0]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[661.org]; AUTH_NA(1.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; R_SPF_NA(0.00)[]; RCVD_NO_TLS_LAST(0.10)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:63949, ipnet:192.81.131.0/24, country:US]; RCVD_COUNT_TWO(0.00)[2]; IP_SCORE(-0.21)[asn: 63949(-1.00), country: US(-0.05)] X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Dec 2019 04:43:23 -0000 My reply is at the bottom. Please put your reply there too. On Fri, 20 Dec 2019, Marcin Cieslak wrote: > On Fri, 20 Dec 2019, David Griffith wrote: > >> 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. > > I don't know frotz so I have no idea what the differences are but we > could decide to have more OPTIONS or FLAVOURS (pretty new facility in > FreeBSD ports) if really needed. I wonder why DUMB is optional really - > it does not take much to build I guess so it could always be shipped (or > never if one feels so). Dumb is built optionally because that's how things evolved. I started with the separated core and curses interface, then started adding additional interfaces. Each of them is built with a different target. So "make dumb" makes dfrotz and simply "make" builds curses frotz. I see no particular reason to change the ports installer such that it doesn't install dfrotz along with regular curses frotz. To explain things, Frotz is a modern reimplementation of the Z-machine. This is a virtual machine designed by Infocom in the last 1970s to play "interactive fiction" aka "text adventures". If you've heard of games like "Zork" and "Hitchhiker's Guide to the Galaxy", that's it. Infocom ported the virtual machine to pretty much all the home computers available in the 1980s and so just had to write the game once. Their stuff was also available for the PDP10 (their development systems) and PDP11 if you knew who to ask. Nowadays, there are some new languages for making new games. Many of those new games can be found at https://ifarchive.org/ The regular curses interface is more or less what you got with the classic Infocom games. The Dumb interface doesn't bother with screen and cursor control. The experience is akin to "adventure" in the bsd games package. The Dumb interface is intended to make chatbots that play text adventures through IRC, instant messengers, etc and for use on teletypes. The SDL interface allows one to play any of the four graphical Z-machine games as intended. The can be played with the curses or dumb interfaces, but with outlines drawn where graphics should go. The SDL interface can also play all nongraphical games as well. Two of Infocom's games included sound effects. The effects are brief audio samples that play at certain parts of the game. After the demise of Infocom, the Blorb standard was proposed to allow for Ogg-vorbis compressed audio and MOD music as well as uncompressed samples. The Blorb standard describes how everything a game needs: executable, graphics, audio, and metadata can be wrapped up into a single IFF container. > One can always decided to ship the tools with "all batteries included" > - I don't know what the users really want. Sadly this port has no maintainer > who would probably knew more. I could possibly take it over if nobody else wants to. >> For now, here's the patch for silent Frotz: >> >> ===cut here=== >> diff -ruP frotz-orig/Makefile frotz/Makefile > > can you add -N ? otherwise we only get: > >> Only in frotz-orig/files: patch-src_curses_ux__audio__oss.c That's because that patch is no longer necessary. I applied the changes in that patch to upstream a few years ago. When I ran your patch, I got an empty file named patch-src_curses_ux__audio__oss.c. The build process refused to continue unless I removed that file. -- 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?