[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] gnu: Add Glulxe.
From: |
宋文武 |
Subject: |
[PATCH] gnu: Add Glulxe. |
Date: |
Wed, 19 Nov 2014 00:01:21 +0800 |
* gnu/packages/games.scm (glkterm, glulxe): New variables.
---
gnu/packages/games.scm | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 79 insertions(+)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index c9bb678..5859cbc 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -733,3 +733,82 @@ single player. Mods and texture packs allow players to
personalize the game
in different ways.")
(home-page "http://minetest.net")
(license license:lgpl2.1+)))
+
+(define glkterm
+ (package
+ (name "glkterm")
+ (version "1.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://www.ifarchive.org/if-archive/programming/"
+ "glk/implementations/glkterm-104.tar.gz"))
+ (sha256
+ (base32
+ "0zlj9nlnkdlvgbiliczinirqygiq8ikg5hzh5vgcmnpg9pvnwga7"))))
+ (build-system gnu-build-system)
+ (propagated-inputs `(("ncurses" ,ncurses)))
+ (arguments
+ '(#:tests? #f ; no check target
+ #:phases
+ (alist-replace
+ 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (mkdir out)
+ (mkdir (string-append out "/include"))
+ (copy-file "glk.h" (string-append out "/include/glk.h"))
+ (copy-file "glkstart.h" (string-append out "/include/glkstart.h"))
+ (copy-file "gi_blorb.h" (string-append out "/include/gi_blorb.h"))
+ (copy-file "gi_dispa.h" (string-append out "/include/gi_dispa.h"))
+ (copy-file "Make.glkterm" (string-append out
"/include/Make.glkterm"))
+ (mkdir (string-append out "/lib"))
+ (copy-file "libglkterm.a" (string-append out "/lib/libglkterm.a"))))
+ (alist-delete 'configure %standard-phases))))
+ (home-page "http://www.eblong.com/zarf/glk/")
+ (synopsis "Curses.h Implementation of the Glk API")
+ (description
+ "Glk defines a portable API for applications with text UIs. It was
+primarily designed for interactive fiction, but it should be suitable for many
+interactive text utilities, particularly those based on a command line.
+This is an implementation of the Glk library which runs in a terminal window,
+using the curses.h library for screen control.")
+ (license (license:fsf-free "file://README"))))
+
+(define-public glulxe
+ (package
+ (name "glulxe")
+ (version "0.5.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://www.ifarchive.org/if-archive/programming/"
+ "glulx/interpreters/glulxe/glulxe-052.tar.gz"))
+ (sha256
+ (base32
+ "19iw6kl8ncqcy9pv4gsqfh3xsa1n94zd234rqavvmxccnf3nj19g"))))
+ (build-system gnu-build-system)
+ (inputs `(("glk" ,glkterm)))
+ (arguments
+ '(#:tests? #f ; no check target
+ #:make-flags
+ (let* ((glk (assoc-ref %build-inputs "glk")))
+ (list (string-append "GLKINCLUDEDIR=" glk "/include")
+ (string-append "GLKLIBDIR=" glk "/lib")
+ (string-append "GLKMAKEFILE=" "Make.glkterm")))
+ #:phases
+ (alist-replace
+ 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+ (mkdir-p bin)
+ (copy-file "glulxe" (string-append bin "/glulxe"))))
+ (alist-delete 'configure %standard-phases))))
+ (home-page "http://www.eblong.com/zarf/glulx/")
+ (synopsis "Interpreter for Glulx VM")
+ (description
+ "Glulx is a 32-bit portable virtual machine intended for writing and
+playing interactive fiction. It was designed by Andrew Plotkin to relieve
+some of the restrictions in the venerable Z-machine format. This is the
+reference interpreter, using Glk API.")
+ (license (license:fsf-free "file://README"))))
--
1.9.2
- [PATCH] gnu: Add Glulxe.,
宋文武 <=