unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#32638] [PATCH] games.scm - add frotz packages
@ 2018-09-05  2:43 Benjamin Slade
  2018-09-06 18:20 ` Kei Kebreau
  2018-09-08  3:08 ` Benjamin Slade
  0 siblings, 2 replies; 5+ messages in thread
From: Benjamin Slade @ 2018-09-05  2:43 UTC (permalink / raw)
  To: 32638

[-- 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 )

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-09-08 17:49 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-05  2:43 [bug#32638] [PATCH] games.scm - add frotz packages Benjamin Slade
2018-09-06 18:20 ` 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

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).