From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41918) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fyhM2-0002Ao-1y for guix-patches@gnu.org; Sat, 08 Sep 2018 13:49:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fyhLy-0007LF-Ab for guix-patches@gnu.org; Sat, 08 Sep 2018 13:49:05 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:45553) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fyhLy-0007L2-2f for guix-patches@gnu.org; Sat, 08 Sep 2018 13:49:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fyhLy-0000fQ-0R for guix-patches@gnu.org; Sat, 08 Sep 2018 13:49:02 -0400 Subject: bug#32638: [PATCH] games.scm - add frotz packages Resent-To: guix-patches@gnu.org Resent-Message-ID: From: Kei Kebreau References: <87ftyky9cw.fsf@jnanam.net> Date: Sat, 08 Sep 2018 13:47:57 -0400 In-Reply-To: <87ftyky9cw.fsf@jnanam.net> (Benjamin Slade's message of "Fri, 07 Sep 2018 21:08:15 -0600") Message-ID: <87h8izanjm.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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: Benjamin Slade Cc: 32638-done@debbugs.gnu.org Benjamin Slade writes: > 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. > > 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/i= nterpreters/" > + name "/" name "-" version ".tar.gz") > + (string-append > + "ftp://ftp.ifarchive.org/if-archive/infocom/in= terpreters/" > + 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") I don't know that we prefer line breaks in the synopsis, so I removed it. > + (description "Frotz is an interpreter for Infocom games > +and other Z-machine games in the text adventure/interactive fiction genr= e. > +This version of Frotz complies with standard 1.0 of Graham Nelson's spec= ification. > +It plays all Z-code games V1-V8, including V6, with sound support throug= h libao, > +and uses ncurses for text display.") I adjusted the line breaks here to make them more consistent with the other two frotz package descriptions. > + (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/i= nterpreters/" > + "frotz" "/" "frotz" "-" version ".tar.gz") > + (string-append > + "ftp://ftp.ifarchive.org/if-archive/infocom/in= terpreters/" > + "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 ga= mes") > + (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; everyt= hing > +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 Advent= ure on > +a teletype. A much cooler use for compiling Frotz with the dumb interfa= ce is > +that it can be wrapped in CGI scripting, PHP, and the like to allow peop= le > +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"= )))) I added a file-name field here because the linter complained about it. I wonder if it complained the first time and I just missed it? > + (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)) I renamed this phase to "patch-makefile", as the reproducibility change doesn't have to do with the curses change. > + (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 adve= nture 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 t= he > +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 supp= orted > +when packaged in Blorb container files or optionally from individual fil= es.") > + (home-page "http://frotz.sourceforge.net") > + (license license:gpl2+)))) Thanks again! I've pushed this to master with the mentioned changes!