Alex Kost <alez...@gmail.com> writes: > Kei Kebreau (2016-10-03 19:15 -0400) wrote: > >> If anyone would like to check this for fun, that would be great. The >> geometry >> makes this game especially interesting. > > Wow, indeed! Psychodelic game :-) > > Overall the patch looks good to me, except the music files are not > installed and configured to be used (see below). Did you check the > music? It looks like you were trying to fix these music stuff but > didn't finish it, perhaps you sent a wrong patch, no? > >> From e0171e159612c12419de1c6f9a230843ff8d826a Mon Sep 17 00:00:00 2001 >> From: Kei Kebreau <k...@openmailbox.org> >> Date: Mon, 3 Oct 2016 19:09:35 -0400 >> Subject: [PATCH] gnu: Add hyperrogue. >> >> * gnu/packages/games.scm (hyperrogue): New variable. >> --- >> gnu/packages/games.scm | 88 >> ++++++++++++++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 88 insertions(+) >> >> diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm >> index cd5cf6f..e9b11a7 100644 >> --- a/gnu/packages/games.scm >> +++ b/gnu/packages/games.scm >> @@ -2896,3 +2896,91 @@ extinguishing action, intense boss battles, a catchy >> soundtrack and lots of >> throwing people around in pseudo-randomly generated buildings.") >> (license (list license:zlib ; for source code >> license:cc-by-sa3.0)))) ; for graphics and music assets >> + >> +(define-public hyperrogue >> + (package >> + (name "hyperrogue") >> + (version "8.3j") >> + (source (origin >> + (method url-fetch) >> + (uri (string-append >> + "http://www.roguetemple.com/z/hyper/" >> + name "-83j.zip")) >> + (sha256 >> + (base32 >> + "1ag95d84m4j0rqyn9hj7655znixw2j57bpf93nk14nfy02xz1g6p")) >> + (modules '((guix build utils))) >> + ;; remove .exe and .dll files >> + (snippet >> + '(begin >> + (for-each delete-file (find-files "." >> "\\.(exe|dll)$")))))) > > 'begin' is not needed here, just: (snippet '(for-each ...)) > >> + (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 >> + (lambda* (#:key inputs #:allow-other-keys) >> + (setenv "CPATH" >> + (string-append (assoc-ref inputs "sdl-union") >> + "/include/SDL")))) >> + ;; fix font and music paths > > By convention such comments (commented lines starting with ;;) are full > phrases, i.e. they begin with uppercase letters and end with periods: > > ;; 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")) >> + (chdir "src") >> + (substitute* "graph.cpp" >> + ((dejavu-font) >> + (string-append dejavu-dir "/" dejavu-font)) >> + (((string-append "\\./" music-file)) >> + (string-append out "/share/hyperrogue" music-file))) > ^ > There should be a trailing "/" here, otherwise the file name will be: > > ".../share/hyperroguehyperrogue-music.txt" > >> + (substitute* music-file >> + (("\\*/") >> + (string-append out "/share/music"))) > ^ > And a trailing "/" here for the same reason. But actually since you > copy .ogg files into "/share/hyperrogue/" then you should use this > directory instead of "/share/music/". > >> + (chdir "..")) > > Instead of chdir-ing into "src" and back, you can use: > > (with-directory-excursion "src" > (substitute* "graph.cpp" > ...)) > >> + #t)) >> + (replace 'install >> + (lambda* (#:key inputs outputs #:allow-other-keys) >> + (let* ((out (assoc-ref outputs "out")) >> + (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$"))) > > I think you meant: (find-files "." "\\.ogg$") > > With your regexp the music files are not found (and not installed). > >> + #t))))) >> + (inputs >> + `(("font-dejavu" ,font-dejavu) >> + ("glew" ,glew) >> + ("libpng" ,libpng) >> + ("sdl-union" ,(sdl-union (list sdl >> + sdl-gfx >> + sdl-mixer >> + sdl-ttf))))) >> + (home-page "http://www.roguetemple.com/z/hyper/") >> + (synopsis "Non-euclidean graphical rogue-like game") >> + (description >> + "HyperRogue is a game in which the player collects treasures and >> fights >> +monsters -- rogue-like but for the fact that it is played on the hyperbolic > > "--" looks unusual to me, I would just write "-" although the right > would probably be "---", but I actually don't know; nevermind, it's not > worth bothering. > >> +plane and not in euclidean space. >> + >> +In HyperRogue, the player can move through different parts of the >> world, which >> +are home to particular creatures and may be subject to own rules of >> \"physics\". >> + >> +While it can use ASCII characters to display the world the classical rogue >> +symbols, the game needs graphics to render the non-euclidean world.") >> + (license (list license:bsd-3 ; src/glew.c, src/mtrand.* >> + license:cc-by-sa3.0 ; *.ogg >> + license:public-domain ; src/direntx.* >> + license:zlib ; src/savepng.* >> + license:gpl2+)))) ; remaining files > > Thanks, great work on this package!
All issues corrected! If you could check over it a second time to be sure, that would be appreciated. Thanks for your assistance! :-)
From bff2f006ca78a54955857afc5559e5662e21c7e1 Mon Sep 17 00:00:00 2001 From: Kei Kebreau <k...@openmailbox.org> Date: Tue, 4 Oct 2016 15:58:21 -0400 Subject: [PATCH] gnu: Add hyperrogue. * gnu/packages/games.scm (hyperrogue): New variable. --- gnu/packages/games.scm | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index cd5cf6f..5d61487 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -2896,3 +2896,89 @@ extinguishing action, intense boss battles, a catchy soundtrack and lots of throwing people around in pseudo-randomly generated buildings.") (license (list license:zlib ; for source code license:cc-by-sa3.0)))) ; for graphics and music assets + +(define-public hyperrogue + (package + (name "hyperrogue") + (version "8.3j") + (source (origin + (method url-fetch) + (uri (string-append + "http://www.roguetemple.com/z/hyper/" + name "-83j.zip")) + (sha256 + (base32 + "1ag95d84m4j0rqyn9hj7655znixw2j57bpf93nk14nfy02xz1g6p")) + (modules '((guix build utils))) + ;; remove .exe and .dll files + (snippet + '(for-each delete-file (find-files "." "\\.(exe|dll)$"))))) + (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 + (lambda* (#:key inputs #:allow-other-keys) + (setenv "CPATH" + (string-append (assoc-ref inputs "sdl-union") + "/include/SDL")))) + ;; 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/"))))) + #t)) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (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$"))) + #t))))) + (inputs + `(("font-dejavu" ,font-dejavu) + ("glew" ,glew) + ("libpng" ,libpng) + ("sdl-union" ,(sdl-union (list sdl + sdl-gfx + sdl-mixer + sdl-ttf))))) + (home-page "http://www.roguetemple.com/z/hyper/") + (synopsis "Non-euclidean graphical rogue-like game") + (description + "HyperRogue is a game in which the player collects treasures and fights +monsters -- rogue-like but for the fact that it is played on the hyperbolic +plane and not in euclidean space. + +In HyperRogue, the player can move through different parts of the world, which +are home to particular creatures and may be subject to own rules of \"physics\". + +While it can use ASCII characters to display the world the classical rogue +symbols, the game needs graphics to render the non-euclidean world.") + (license (list license:bsd-3 ; src/glew.c, src/mtrand.* + license:cc-by-sa3.0 ; *.ogg + license:public-domain ; src/direntx.* + license:zlib ; src/savepng.* + license:gpl2+)))) ; remaining files -- 2.10.0
signature.asc
Description: PGP signature