gnu: Add frotz, frotz-dumb-terminal, and frotz-sdl.
* gnu/packages/games.scm (frotz, frotz-dumb-terminal, frotz-sdl): New variables. Signed-off-by: Kei Kebreau <kkebreau@posteo.net>
This commit is contained in:
parent
090e3768e8
commit
39b5d8fd9d
|
@ -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,159 @@ 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"))
|
||||
#t))
|
||||
(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"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; there are no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-before 'build 'patch-makefile
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("lcurses") "lncurses")
|
||||
(("^BUILD_DATE_TIME =.*$")
|
||||
"BUILD_DATE_TIME = \"2.45pre-20180907.00000\"\n"))
|
||||
#t))
|
||||
(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)
|
||||
("perl" ,perl)))
|
||||
(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+))))
|
||||
|
|
Loading…
Reference in New Issue