Import frobtads-1.2.3 as wip/frobtads.

FrobTADS has been written as a replacement for the "traditional"
Unix-port of TADS, which has many problems and limitations, and is
difficult to maintain and change.  The FrobTADS interpreter also
provides some features that the traditional Unix-port lacks, the most
important of them being:

  - Automatic configuration prior to building; no need to edit
    makefiles.
  - TADS 3 color support and configurable default colors.
  - Correct timing with timed operations (millisecond-precision).
  - Input like in Frotz; cursor keys, insert, delete, etc., instead
    of Emacs-like input.
  - TADS 3 banners look as they should.
  - You are not required to install the package prior to running the
    TADS 3 test suite.
  - File I/O initiated by the game will happen in the game's directory.
    This means that you don't have to change to the game's directory
    prior to starting the interpreter.
  - Less source code (and also less complex), more comments.
  - More portable.

The ultimate goal is to make FrobTADS compile and run out-of-the-box on
every system that has a curses library and a Unix-like shell available.
This commit is contained in:
Yorick Hardy 2015-08-17 21:11:24 +00:00 committed by Thomas Klausner
parent d7304bb166
commit 950c33aa31
6 changed files with 264 additions and 0 deletions

23
frobtads/DESCR Normal file
View File

@ -0,0 +1,23 @@
FrobTADS has been written as a replacement for the "traditional"
Unix-port of TADS, which has many problems and limitations, and is
difficult to maintain and change. The FrobTADS interpreter also
provides some features that the traditional Unix-port lacks, the most
important of them being:
- Automatic configuration prior to building; no need to edit
makefiles.
- TADS 3 color support and configurable default colors.
- Correct timing with timed operations (millisecond-precision).
- Input like in Frotz; cursor keys, insert, delete, etc., instead
of Emacs-like input.
- TADS 3 banners look as they should.
- You are not required to install the package prior to running the
TADS 3 test suite.
- File I/O initiated by the game will happen in the game's directory.
This means that you don't have to change to the game's directory
prior to starting the interpreter.
- Less source code (and also less complex), more comments.
- More portable.
The ultimate goal is to make FrobTADS compile and run out-of-the-box on
every system that has a curses library and a Unix-like shell available.

47
frobtads/LICENSE Normal file
View File

@ -0,0 +1,47 @@
TADS 3 FREEWARE SOURCE CODE LICENSE
The TADS 3 source code is Copyright 1998, 2012 by Michael J. Roberts.
The author hereby grants you permission to use, copy, and distribute
this software, if you agree to the following conditions:
1. You must include this license and the copyright notice with
all copies.
2. You may not require or collect a fee for copies of this
software, or any part of this software, that you give to
other people.
3. You may not include this software with any other software
for which a fee is collected.
4. You may not modify this software except as permitted below
(see "derivative works"), and each copy you make and
distribute must be a full and complete copy of the software
you originally received.
5. Anyone to whom you give a copy of this software receives
all of the same permissions that you did under this license
and is subject to all of the same restrictions.
6. You are not allowed to create derivative works, which are
works that contain or are based on all or part of this work,
except under the conditions described below.
7. Any derivative works are subject to this same license.
Derivative Works
----------------
This source code is distributed for the specific purpose of porting
TADS, so that you can run the software on any system of your choosing.
All other derivative works are prohibited without the written
permission of the author. I want to avoid the creation of variations
on the system, because it leads to confusion on the part of users if
there are multiple incompatible flavors floating around. However, if
you have a specific idea in mind, I'd be happy to at least consider
it. Please contact the author if you have any questions about this or
if you would like permission to create a derived work.
If you port TADS to a new platform, the author does grant permission
for you to distribute your ported version - I encourage it, in fact.
I ask that you include your contact information in any distribution
package you create, so that users of your version will know how to
contact you if they have any questions relating specifically to your
version.

16
frobtads/Makefile Normal file
View File

@ -0,0 +1,16 @@
# $NetBSD: Makefile,v 1.1 2015/08/17 21:11:24 yhardy Exp $
DISTNAME= frobtads-1.2.3
CATEGORIES= games
MASTER_SITES= http://www.tads.org/frobtads/
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.tads.org/
COMMENT= Portable TADS toolkit
#LICENSE= tads3
GNU_CONFIGURE= yes
USE_LANGUAGES= c c++
.include "../../www/curl/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

158
frobtads/PLIST Normal file
View File

@ -0,0 +1,158 @@
@comment $NetBSD: PLIST,v 1.1 2015/08/17 21:11:24 yhardy Exp $
bin/frob
bin/t3make
bin/tadsc
share/frobtads/tads2/adv.t
share/frobtads/tads2/gameinfo.t
share/frobtads/tads2/std.t
share/frobtads/tads3/doc/bkg.jpg
share/frobtads/tads3/doc/getacro.gif
share/frobtads/tads3/doc/gsgcover.jpg
share/frobtads/tads3/doc/htads_cover.jpg
share/frobtads/tads3/doc/index.htm
share/frobtads/tads3/doc/learning_cover.jpg
share/frobtads/tads3/doc/libcover.jpg
share/frobtads/tads3/doc/nodoc.htm
share/frobtads/tads3/doc/nolibref.htm
share/frobtads/tads3/doc/qstart_cover.jpg
share/frobtads/tads3/doc/syscover.jpg
share/frobtads/tads3/doc/t3QuickStart.htm
share/frobtads/tads3/doc/t3changes.htm
share/frobtads/tads3/doc/techcover.jpg
share/frobtads/tads3/doc/tgcover.jpg
share/frobtads/tads3/doc/title.jpg
share/frobtads/tads3/doc/title2.gif
share/frobtads/tads3/include/bignum.h
share/frobtads/tads3/include/bytearr.h
share/frobtads/tads3/include/charset.h
share/frobtads/tads3/include/date.h
share/frobtads/tads3/include/dict.h
share/frobtads/tads3/include/dynfunc.h
share/frobtads/tads3/include/file.h
share/frobtads/tads3/include/filename.h
share/frobtads/tads3/include/gramprod.h
share/frobtads/tads3/include/httpreq.h
share/frobtads/tads3/include/httpsrv.h
share/frobtads/tads3/include/lookup.h
share/frobtads/tads3/include/reflect.h
share/frobtads/tads3/include/strbuf.h
share/frobtads/tads3/include/strcomp.h
share/frobtads/tads3/include/systype.h
share/frobtads/tads3/include/t3.h
share/frobtads/tads3/include/t3test.h
share/frobtads/tads3/include/tads.h
share/frobtads/tads3/include/tadsgen.h
share/frobtads/tads3/include/tadsio.h
share/frobtads/tads3/include/tadsiox.h
share/frobtads/tads3/include/tadsnet.h
share/frobtads/tads3/include/tok.h
share/frobtads/tads3/include/vector.h
share/frobtads/tads3/lib/_main.t
share/frobtads/tads3/lib/adv3/action.t
share/frobtads/tads3/lib/adv3/actions.t
share/frobtads/tads3/lib/adv3/actor.t
share/frobtads/tads3/lib/adv3/adv3.h
share/frobtads/tads3/lib/adv3/adv3.tl
share/frobtads/tads3/lib/adv3/adv3web.tl
share/frobtads/tads3/lib/adv3/banner.t
share/frobtads/tads3/lib/adv3/browser.t
share/frobtads/tads3/lib/adv3/changes.htm
share/frobtads/tads3/lib/adv3/console.t
share/frobtads/tads3/lib/adv3/disambig.t
share/frobtads/tads3/lib/adv3/en_us/en_us.h
share/frobtads/tads3/lib/adv3/en_us/en_us.t
share/frobtads/tads3/lib/adv3/en_us/en_us.tl
share/frobtads/tads3/lib/adv3/en_us/instruct.t
share/frobtads/tads3/lib/adv3/en_us/msg_neu.t
share/frobtads/tads3/lib/adv3/events.t
share/frobtads/tads3/lib/adv3/exec.t
share/frobtads/tads3/lib/adv3/exits.t
share/frobtads/tads3/lib/adv3/extras.t
share/frobtads/tads3/lib/adv3/footnote.t
share/frobtads/tads3/lib/adv3/hintsys.t
share/frobtads/tads3/lib/adv3/input.t
share/frobtads/tads3/lib/adv3/lister.t
share/frobtads/tads3/lib/adv3/menucon.t
share/frobtads/tads3/lib/adv3/menusys.t
share/frobtads/tads3/lib/adv3/menuweb.t
share/frobtads/tads3/lib/adv3/misc.t
share/frobtads/tads3/lib/adv3/modid.t
share/frobtads/tads3/lib/adv3/numbers.t
share/frobtads/tads3/lib/adv3/objects.t
share/frobtads/tads3/lib/adv3/output.t
share/frobtads/tads3/lib/adv3/parser.t
share/frobtads/tads3/lib/adv3/pov.t
share/frobtads/tads3/lib/adv3/precond.t
share/frobtads/tads3/lib/adv3/report.t
share/frobtads/tads3/lib/adv3/resolver.t
share/frobtads/tads3/lib/adv3/score.t
share/frobtads/tads3/lib/adv3/sense.t
share/frobtads/tads3/lib/adv3/settings.t
share/frobtads/tads3/lib/adv3/status.t
share/frobtads/tads3/lib/adv3/thing.t
share/frobtads/tads3/lib/adv3/tips.t
share/frobtads/tads3/lib/adv3/travel.t
share/frobtads/tads3/lib/adv3/verify.t
share/frobtads/tads3/lib/dynfunc.t
share/frobtads/tads3/lib/extensions/CustomStatus.t
share/frobtads/tads3/lib/extensions/OpenState.t
share/frobtads/tads3/lib/extensions/SimpleAttachable.t
share/frobtads/tads3/lib/extensions/TCommand/TCommand.t
share/frobtads/tads3/lib/extensions/TCommand/doc/tcommand.htm
share/frobtads/tads3/lib/extensions/combineReports.t
share/frobtads/tads3/lib/extensions/cquotes.t
share/frobtads/tads3/lib/extensions/custmsg.t
share/frobtads/tads3/lib/extensions/customBanner.t
share/frobtads/tads3/lib/extensions/newNames.t
share/frobtads/tads3/lib/extensions/pathfind.t
share/frobtads/tads3/lib/extensions/showTranscript.t
share/frobtads/tads3/lib/extensions/smartAccompany.t
share/frobtads/tads3/lib/extensions/subtime.t
share/frobtads/tads3/lib/file.t
share/frobtads/tads3/lib/gameinfo.t
share/frobtads/tads3/lib/gramprod.t
share/frobtads/tads3/lib/multmeth.t
share/frobtads/tads3/lib/reflect.t
share/frobtads/tads3/lib/system.tl
share/frobtads/tads3/lib/tadsnet.t
share/frobtads/tads3/lib/tok.t
share/frobtads/tads3/lib/webui.t
share/frobtads/tads3/lib/webui.tl
share/frobtads/tads3/lib/webuires/TADS.swf
share/frobtads/tads3/lib/webuires/ckbox8pt-off.gif
share/frobtads/tads3/lib/webuires/ckbox8pt-on.gif
share/frobtads/tads3/lib/webuires/cmdwin.css
share/frobtads/tads3/lib/webuires/cmdwin.htm
share/frobtads/tads3/lib/webuires/cmdwin.js
share/frobtads/tads3/lib/webuires/comboarrow.gif
share/frobtads/tads3/lib/webuires/debuglog.css
share/frobtads/tads3/lib/webuires/debuglog.htm
share/frobtads/tads3/lib/webuires/debuglog.js
share/frobtads/tads3/lib/webuires/defaultPrefs.js
share/frobtads/tads3/lib/webuires/dlg-closebox.gif
share/frobtads/tads3/lib/webuires/dlg-closeboxA.gif
share/frobtads/tads3/lib/webuires/dlg-closeboxH.gif
share/frobtads/tads3/lib/webuires/dlg-corners.gif
share/frobtads/tads3/lib/webuires/dlg-title-corners.gif
share/frobtads/tads3/lib/webuires/dlgIconError.gif
share/frobtads/tads3/lib/webuires/dlgIconInfo.gif
share/frobtads/tads3/lib/webuires/dlgIconQuestion.gif
share/frobtads/tads3/lib/webuires/dlgIconWarning.gif
share/frobtads/tads3/lib/webuires/downloadPopupBkg.gif
share/frobtads/tads3/lib/webuires/errorPopupBkg.gif
share/frobtads/tads3/lib/webuires/layoutwin.css
share/frobtads/tads3/lib/webuires/layoutwin.htm
share/frobtads/tads3/lib/webuires/layoutwin.js
share/frobtads/tads3/lib/webuires/main.css
share/frobtads/tads3/lib/webuires/main.htm
share/frobtads/tads3/lib/webuires/main.js
share/frobtads/tads3/lib/webuires/menuarrow.png
share/frobtads/tads3/lib/webuires/modal-cover.png
share/frobtads/tads3/lib/webuires/netspinner.gif
share/frobtads/tads3/lib/webuires/statwin.css
share/frobtads/tads3/lib/webuires/statwin.htm
share/frobtads/tads3/lib/webuires/statwin.js
share/frobtads/tads3/lib/webuires/tads.css
share/frobtads/tads3/lib/webuires/util.js
share/frobtads/tads3/lib/webuires/warningPopupBkg.gif
share/frobtads/tads3/res/charmap/cmaplib.t3r

6
frobtads/distinfo Normal file
View File

@ -0,0 +1,6 @@
$NetBSD: distinfo,v 1.1 2015/08/17 21:11:24 yhardy Exp $
SHA1 (frobtads-1.2.3.tar.gz) = 330217c0b6ee298bf9db986bc4ce84b86aa5e3e2
RMD160 (frobtads-1.2.3.tar.gz) = 3e22c7db6dabc0544c84a09edbde618a18b35e1e
Size (frobtads-1.2.3.tar.gz) = 5227704 bytes
SHA1 (patch-src_osfrobtads.h) = 07179068d063628a08c8de5a6d3158ada6ca5605

View File

@ -0,0 +1,14 @@
$NetBSD: patch-src_osfrobtads.h,v 1.1 2015/08/17 21:11:24 yhardy Exp $
stdarg.h is required for va_list.
--- ./src/osfrobtads.h.orig 2013-05-17 19:46:51.000000000 +0000
+++ ./src/osfrobtads.h
@@ -24,6 +24,7 @@ extern "C++" {
#include <sys/stat.h>
#include <unistd.h>
#include <dirent.h>
+#include <stdarg.h>
#ifdef __cplusplus
}
#endif