guix-more/more/packages/games.scm

games.scm

1
;;; GNU Guix --- Functional package management for GNU
2
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
3
;;;
4
;;; This file is part of GNU Guix.
5
;;;
6
;;; GNU Guix is free software; you can redistribute it and/or modify it
7
;;; under the terms of the GNU General Public License as published by
8
;;; the Free Software Foundation; either version 3 of the License, or (at
9
;;; your option) any later version.
10
;;;
11
;;; GNU Guix is distributed in the hope that it will be useful, but
12
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
;;; GNU General Public License for more details.
15
;;;
16
;;; You should have received a copy of the GNU General Public License
17
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
18
19
(define-module (more packages games)
20
  #:use-module (guix packages)
21
  #:use-module (guix download)
22
  #:use-module (guix build-system cmake)
23
  #:use-module ((guix licenses) #:prefix license:)
24
  #:use-module (gnu packages)
25
  #:use-module (gnu packages audio)
26
  #:use-module (gnu packages boost)
27
  #:use-module (gnu packages check)
28
  #:use-module (gnu packages compression)
29
  #:use-module (gnu packages documentation)
30
  #:use-module (gnu packages fontutils)
31
  #:use-module (gnu packages fribidi)
32
  #:use-module (gnu packages games)
33
  #:use-module (gnu packages gl)
34
  #:use-module (gnu packages gtk)
35
  #:use-module (gnu packages image)
36
  #:use-module (gnu packages lua)
37
  #:use-module (gnu packages pcre)
38
  #:use-module (gnu packages pkg-config)
39
  #:use-module (gnu packages python)
40
  #:use-module (gnu packages sdl)
41
  #:use-module (gnu packages tbb)
42
  #:use-module (gnu packages xiph)
43
  #:use-module (gnu packages xml)
44
  #:use-module (gnu packages xorg)
45
  #:use-module (gnu packages zip))
46
47
(define-public ogre3d
48
  (package
49
    (name "ogre3d")
50
    (version "1.9.0")
51
    (source (origin
52
              (method url-fetch)
53
              (uri (string-append
54
                     "https://bitbucket.org/sinbad/ogre/get/v"
55
                     (string-map (lambda (x) (if (char=? x #\.) #\- x)) version)
56
                     ".tar.gz"))
57
              (file-name (string-append name "-" version ".tar.gz"))
58
              (sha256
59
               (base32
60
                "0p8gyn293qn3iyiy1smfmjd9zpnjb8h2zgvff8778fwh0ylbmlpa"))))
61
    (build-system cmake-build-system)
62
    (native-inputs
63
     `(("doxygen" ,doxygen)))
64
    (inputs
65
     `(("freetype" ,freetype)
66
       ("boost" ,boost)
67
       ("sdl2" ,sdl2)
68
       ("cppunit" ,cppunit)
69
       ("freeimage" ,freeimage)
70
       ("glu" ,glu)
71
       ("libxt" ,libxt)
72
       ("libxaw" ,libxaw)
73
       ("libxxf86vm" ,libxxf86vm)
74
       ("libxrandr" ,libxrandr)
75
       ("mesa" ,mesa)
76
       ("tbb" ,tbb)
77
       ("tinyxml" ,tinyxml)
78
       ("zziplib" ,zziplib)))
79
    (arguments
80
     `(#:tests? #f
81
       #:configure-flags
82
       (list (string-append "-DFREETYPE_FT2BUILD_INCLUDE_DIR="
83
               (assoc-ref %build-inputs "freetype")
84
               "/include"))
85
       #:phases
86
       (modify-phases %standard-phases
87
         (add-after 'build 'build-doc
88
           (lambda* _
89
             (zero? (system* "make" "OgreDoc")))))))
90
    (home-page "http://www.ogre3d.org")
91
    (synopsis "3D graphics engine")
92
    (description "3D graphics engine")
93
    (license license:expat)))
94
95
(define-public cegui
96
  (package
97
    (name "cegui")
98
    (version "0.8.7")
99
    (source (origin
100
              (method url-fetch)
101
              (uri (string-append
102
                     "http://prdownloads.sourceforge.net/crayzedsgui/cegui-"
103
                     version ".tar.bz2"))
104
              (sha256
105
               (base32
106
                "067562s71kfsnbp2zb2bmq8zj3jk96g5a4rcc5qc3n8nfyayhldk"))))
107
    (build-system cmake-build-system)
108
    (arguments
109
     `(#:tests? #f))
110
    (native-inputs
111
     `(("pkg-config" ,pkg-config)))
112
    (inputs
113
     `(("pcre" ,pcre)
114
       ("gl" ,mesa)
115
       ("freetype" ,freetype)
116
       ("fribidi" ,fribidi)
117
       ("glew" ,glew)
118
       ("sdl2" ,sdl2)
119
       ("irrlicht" ,irrlicht)
120
       ("ogre" ,ogre3d)
121
       ("epoxy" ,libepoxy)
122
       ("expat" ,expat)
123
       ("libxml2" ,libxml2)
124
       ("freeimage" ,freeimage)
125
       ("python" ,python)
126
       ("lua" ,lua-5.1)
127
       ("gtk" ,gtk+-2)
128
       ("boost" ,boost)
129
       ("minizip" ,minizip)
130
       ("tinyxml" ,tinyxml)))
131
    (home-page "http://cegui.org.uk/")
132
    (synopsis "Crazy Eddie's GUI system")
133
    (description "Crazy Eddie's GUI System is a free library providing windowing
134
and widgets for graphics APIs / engines where such functionality is not natively
135
available, or severely lacking.  The library is object-oriented, written in C++,
136
cross-platform, and targeted at game and application developers.  Additionally,
137
it offers a WYSIWYG editor for creating layouts and imagesets.")
138
    (license license:expat)))
139