From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:32814) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fyTcP-0006TY-O7 for guix-patches@gnu.org; Fri, 07 Sep 2018 23:09:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fyTcM-00031L-Gq for guix-patches@gnu.org; Fri, 07 Sep 2018 23:09:05 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:44941) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fyTcM-0002zJ-90 for guix-patches@gnu.org; Fri, 07 Sep 2018 23:09:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fyTcM-00040r-0T for guix-patches@gnu.org; Fri, 07 Sep 2018 23:09:02 -0400 Subject: [bug#32638] [PATCH] games.scm - add frotz packages References: <874lf48xzw.fsf@jnanam.net> In-Reply-To: <874lf48xzw.fsf@jnanam.net> Resent-Message-ID: From: Benjamin Slade Date: Fri, 07 Sep 2018 21:08:15 -0600 Message-ID: <87ftyky9cw.fsf@jnanam.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 32638@debbugs.gnu.org Cc: Kei Kebreau --=-=-= Content-Type: text/plain 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. --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=frotz-games.scm.patch Content-Transfer-Encoding: quoted-printable Content-Description: games.scm - add frotz pkgs diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 728f76380..eb8ce7e8e 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -34,6 +34,7 @@ ;;; Copyright =C2=A9 2018 okapi ;;; Copyright =C2=A9 2018 Tim Gesthuizen ;;; Copyright =C2=A9 2018 Madalin Ionel-Patrascu +;;; Copyright =C2=A9 2018 Benjamin Slade ;;; ;;; 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/int= erpreters/" + name "/" name "-" version ".tar.gz") + (string-append + "ftp://ftp.ifarchive.org/if-archive/infocom/inte= rpreters/" + 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 specif= ication. +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/int= erpreters/" + "frotz" "/" "frotz" "-" version ".tar.gz") + (string-append + "ftp://ftp.ifarchive.org/if-archive/infocom/inte= rpreters/" + "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 game= s") + (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; everythi= ng +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 Adventur= e 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") + (("^BUILD_DATE_TIME =3D.*$") + "BUILD_DATE_TIME =3D \"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 advent= ure games") + (description "Frotz is an interpreter for Infocom games and other Z-= machine +games in the text adventure/interactive fiction genre. This version of Fr= otz +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 th= e SDL +libraries. AIFF sound effects and music in MOD and OGG formats are suppor= ted +when packaged in Blorb container files or optionally from individual files= .") + (home-page "http://frotz.sourceforge.net") + (license license:gpl2+)))) --=-=-= Content-Type: text/plain -- Dr Benjamin Slade - Uni of Utah, Linguistics ( https://slade.jnanam.net . 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 ) --=-=-=--