guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] gnu: Add hyperrogue.


From: Alex Kost
Subject: Re: [PATCH] gnu: Add hyperrogue.
Date: Wed, 05 Oct 2016 11:04:25 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.95 (gnu/linux)

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 <address@hidden>
> 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]