Kei Kebreau (2016-10-04 16:01 -0400) wrote: [...] > All issues corrected! If you could check over it a second time to be > sure, that would be appreciated. Thanks for your assistance! :-)
I think it's OK now, thanks! And I've just lost an hour playing this game :-) > 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 Rather: ;; 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 -- Alex