From: Benjamin Slade <slade@jnanam.net>
To: 32638@debbugs.gnu.org
Subject: [bug#32638] [PATCH] games.scm - add frotz packages
Date: Tue, 04 Sep 2018 20:43:47 -0600 [thread overview]
Message-ID: <874lf48xzw.fsf@jnanam.net> (raw)
[-- Attachment #1: Type: text/plain, Size: 210 bytes --]
gnu: Add frotz, frotz-dumb-terminal, frotz-sdl
* gnu/packages/games.scm (frotz): New variable.
* gnu/packages/games.scm (frotz-dumb-terminal): New variable.
* gnu/packages/games.scm (frotz-sdl): New variable.
[-- Attachment #2: add frotz pkgs to games.scm --]
[-- Type: text/x-patch, Size: 7604 bytes --]
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 728f76380..0ae2d0548 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -34,6 +34,7 @@
;;; Copyright © 2018 okapi <okapi@firemail.cc>
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2018 Madalin Ionel-Patrascu <madalinionel.patrascu@mdc-berlin.de>
+;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -5553,3 +5554,153 @@ open-source FPS of its kind.")
(license (list license:gpl2+
license:bsd-3 ; /source/d0_blind_id folder and others
(license:x11-style "" "See file rcon.pl.")))))
+
+(define-public frotz
+ (package
+ (name "frotz")
+ (version "2.44")
+ (source (origin
+ (method url-fetch)
+ (uri (list (string-append
+ "http://www.ifarchive.org/if-archive/infocom/interpreters/"
+ name "/" name "-" version ".tar.gz")
+ (string-append
+ "ftp://ftp.ifarchive.org/if-archive/infocom/interpreters/"
+ name "/" name "-" version ".tar.gz")))
+ (sha256
+ (base32
+ "1v735xr3blznac8fnwa27s1vhllx4jpz7kw7qdw1bsfj6kq21v3k"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; there are no tests
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'curses
+ (lambda _
+ (substitute* "Makefile"
+ (("lcurses") "lncurses"))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (man (string-append out "/share/man/man6")))
+ (install-file "frotz" bin)
+ (mkdir-p man)
+ (install-file "doc/frotz.6" man)
+ #t))))))
+ (inputs `(("libmodplug" ,libmodplug)
+ ("libsamplerate" ,libsamplerate)
+ ("libsndfile" ,libsndfile)
+ ("libvorbis" ,libvorbis)
+ ("ncurses" ,ncurses)))
+ (synopsis "Portable Z-machine interpreter (ncurses version) for text adventure games")
+ (description "Frotz is an interpreter for Infocom games and
+other Z-machine games in the text adventure/interactive fiction genre. This version
+of Frotz complies with standard 1.0 of Graham Nelson's specification. It plays all
+Z-code games V1-V8, including V6, with sound support through libao, and uses ncurses
+for text display.")
+ (home-page "http://frotz.sourceforge.net")
+ (license license:gpl2)))
+
+(define-public frotz-dumb-terminal
+ (package
+ (name "frotz-dumb-terminal")
+ (version "2.44")
+ (source (origin
+ (method url-fetch)
+ (uri (list (string-append
+ "http://www.ifarchive.org/if-archive/infocom/interpreters/"
+ "frotz" "/" "frotz" "-" version ".tar.gz")
+ (string-append
+ "ftp://ftp.ifarchive.org/if-archive/infocom/interpreters/"
+ "frotz" "/" "frotz" "-" version ".tar.gz")))
+ (sha256
+ (base32
+ "1v735xr3blznac8fnwa27s1vhllx4jpz7kw7qdw1bsfj6kq21v3k"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; there are no tests
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+ (lambda _
+ (invoke "make" "dumb")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (man (string-append out "/share/man/man6")))
+ (install-file "dfrotz" bin)
+ (mkdir-p man)
+ (install-file "doc/dfrotz.6" man)
+ #t))))))
+ (synopsis "Portable Z-machine dumb interpreter for text adventure games")
+ (description "Frotz is an interpreter for Infocom games and
+other Z-machine games in the text adventure/interactive fiction genre. dfrotz is the
+dumb interface version. You get no screen control; everything is just printed to the
+terminal line by line. The terminal handles all the scrolling. Maybe you'd like to
+experience what it's like to play Adventure on a teletype. A much cooler use for
+compiling Frotz with the dumb interface is that it can be wrapped in CGI scripting,
+PHP, and the like to allow people to play games on webpages. It can also be made
+into a chat bot.")
+ (home-page "http://frotz.sourceforge.net")
+ (license license:gpl2)))
+
+(define-public frotz-sdl
+ (let* ((commit "4de8c34f2116fff554af6216c30ec9d41bf50b24"))
+ (package
+ (name "frotz-sdl")
+ (version "2.45pre")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/DavidGriffith/frotz")
+ (commit commit)))
+ (sha256
+ (base32
+ "18ms21pcrl7ipcnyqnf8janamkryzx78frsgd9kfk67jvbj0z2k8"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; there are no tests
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'curses
+ (lambda _
+ (substitute* "Makefile"
+ (("lcurses") "lncurses"))))
+ (replace 'build
+ (lambda _
+ (invoke "make" "sdl")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (man (string-append out "/share/man/man6")))
+ (install-file "sfrotz" bin)
+ (mkdir-p man)
+ (install-file "doc/sfrotz.6" man)
+ #t))))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("which" ,which)))
+ (inputs `(("sdl2" ,sdl2)
+ ("sdl2-mixer" ,sdl2-mixer)
+ ("libmodplug" ,libmodplug)
+ ("libsamplerate" ,libsamplerate)
+ ("libsndfile" ,libsndfile)
+ ("libvorbis" ,libvorbis)
+ ("ncurses" ,ncurses)
+ ("freetype" ,freetype)
+ ("libjpeg-turbo" ,libjpeg-turbo)))
+ (synopsis "Portable Z-machine interpreter (SDL-port) for text adventure games")
+ (description "Frotz is an interpreter for Infocom games and other Z-machine
+games in the text adventure/interactive fiction genre. This version of Frotz using
+SDL fully supports all these versions of the Z-Machine including the graphical
+version 6. Graphics and sound are created through the use of the SDL libraries.
+AIFF sound effects and music in MOD and OGG formats are supported when packaged in
+Blorb container files or optionally from individual files.")
+ (home-page "http://frotz.sourceforge.net")
+ (license license:gpl2))))
[-- Attachment #3: Type: text/plain, Size: 247 bytes --]
--
Benjamin Slade - https://babbagefiles.xyz
`(pgp_fp: ,(21BA 2AE1 28F6 DF36 110A 0E9C A320 BBE8 2B52 EE19))
'(sent by mu4e on Emacs running under GNU/Linux . https://gnu.org )
`(Choose Linux ,(Choose Freedom) . https://linux.com )
next reply other threads:[~2018-09-05 2:45 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-05 2:43 Benjamin Slade [this message]
2018-09-06 18:20 ` [bug#32638] [PATCH] games.scm - add frotz packages Kei Kebreau
2018-09-06 19:25 ` Benjamin Slade
2018-09-08 3:08 ` Benjamin Slade
2018-09-08 17:47 ` bug#32638: " Kei Kebreau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=874lf48xzw.fsf@jnanam.net \
--to=slade@jnanam.net \
--cc=32638@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).