Kei Kebreau wrote 8 years ago
(address . guix-patches@gnu.org)(name . Kei Kebreau)(address . kei@openmailbox.org)
* gnu/packages/games.scm (hyperrogue): Update to 9.4c.
---
gnu/packages/games.scm | 89 ++++++++++++++++++++++++++++++++------------------
1 file changed, 58 insertions(+), 31 deletions(-)
Toggle diff (132 lines)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 67fcb7b49..fcfa656e3 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -3163,23 +3163,19 @@ throwing people around in pseudo-randomly generated buildings.")
(define-public hyperrogue
(package
(name "hyperrogue")
- (version "8.3j")
+ (version "9.4c")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.roguetemple.com/z/hyper/"
- name "-83j.zip"))
+ name (string-join (string-split version #\.) "")
+ "-src.tgz"))
(sha256
(base32
- "1ag95d84m4j0rqyn9hj7655znixw2j57bpf93nk14nfy02xz1g6p"))
- (modules '((guix build utils)))
- ;; Remove .exe and .dll files.
- (snippet
- '(for-each delete-file (find-files "." "\\.(exe|dll)$")))))
+ "1ri5fllnhqjm3dlnl1xbb9mlv79iigc940vbvcnk0v5k6p58pavq"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no check target
- #:make-flags '("-Csrc")
#:phases
(modify-phases %standard-phases
(add-after 'set-paths 'set-sdl-paths
@@ -3190,21 +3186,24 @@ throwing people around in pseudo-randomly generated buildings.")
;; Fix font and music paths.
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (dejavu-dir (string-append
- (assoc-ref inputs "font-dejavu")
- "/share/fonts/truetype"))
- (dejavu-font "DejaVuSans-Bold.ttf")
- (music-file "hyperrogue-music.txt"))
- (with-directory-excursion "src"
- (substitute* "graph.cpp"
- ((dejavu-font)
- (string-append dejavu-dir "/" dejavu-font))
- (((string-append "\\./" music-file))
- (string-append out "/share/hyperrogue/" music-file)))
- (substitute* music-file
- (("\\*/")
- (string-append out "/share/hyperrogue/")))))
+ (let* ((out (assoc-ref outputs "out"))
+ (share-dir (string-append out "/share/hyperrogue"))
+ (dejavu-dir (string-append
+ (assoc-ref inputs "font-dejavu")
+ "/share/fonts/truetype"))
+ (dejavu-font "DejaVuSans-Bold.ttf")
+ (music-file "hyperrogue-music.txt"))
+ (substitute* "graph.cpp"
+ ((dejavu-font)
+ (string-append dejavu-dir "/" dejavu-font)))
+ (substitute* "sound.cpp"
+ (((string-append "\\./" music-file))
+ (string-append share-dir "/" music-file))
+ (("sounds/")
+ (string-append share-dir "/sounds/")))
+ (substitute* music-file
+ (("\\*/")
+ (string-append share-dir "/sounds/"))))
#t))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -3212,13 +3211,25 @@ throwing people around in pseudo-randomly generated buildings.")
(bin (string-append out "/bin"))
(share-dir (string-append out "/share/hyperrogue")))
(mkdir-p bin)
- (copy-file "src/hyper" (string-append bin "/hyperrogue"))
- (mkdir-p share-dir)
- (copy-file "src/hyperrogue-music.txt"
- (string-append share-dir "/hyperrogue-music.txt"))
- (for-each (lambda (file)
- (copy-file file (string-append share-dir "/" file)))
- (find-files "." "\\.ogg$")))
+ (copy-file "hyper" (string-append bin "/hyperrogue"))
+ (install-file "hyperrogue-music.txt" share-dir))
+ #t))
+ (add-after 'install 'install-data
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((data (assoc-ref inputs "hyperrogue-data"))
+ (out (assoc-ref outputs "out"))
+ (share-dir (string-append out "/share/hyperrogue")))
+ (system* "tar" "xvf" data "-C" ".")
+ (with-directory-excursion "hyperrogue94c-win"
+ (for-each
+ (lambda (file)
+ (install-file file (string-append share-dir "/sounds")))
+ (append (find-files "." "\\.ogg$")
+ (find-files "sounds" ".*$")))
+ (for-each
+ (lambda (file)
+ (install-file file share-dir))
+ '("papermodeldata.txt" "papermodeldata-help.txt"))))
#t)))))
(inputs
`(("font-dejavu" ,font-dejavu)
@@ -3227,7 +3238,23 @@ throwing people around in pseudo-randomly generated buildings.")
("sdl-union" ,(sdl-union (list sdl
sdl-gfx
sdl-mixer
- sdl-ttf)))))
+ sdl-ttf)))
+ ("hyperrogue-data"
+ ,(origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "http://www.roguetemple.com/z/hyper/" name
+ (string-join (string-split version #\.) "")
+ "-win.zip"))
+ (sha256
+ (base32
+ "1cyyrsnrixygg3zyz97hpsm6jzwbhydiwk3kl0lm7qjnw2nzkhhh"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Remove .exe and .dll files.
+ (for-each delete-file (find-files "." "\\.(exe|dll)$"))))))))
(home-page "http://www.roguetemple.com/z/hyper/")
(synopsis "Non-euclidean graphical rogue-like game")
(description
--
2.12.0