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 lugaru
48
  (package
49
    (name "lugaru")
50
    (version "1.2")
51
    (source (origin
52
              (method url-fetch)
53
              (uri (string-append "https://bitbucket.org/osslugaru/lugaru/downloads/"
54
                                  name "-" version ".tar.xz"))
55
              (sha256
56
               (base32
57
                "15zgcshy22q51rm72zi6y9z7qlgnz5iw3gczjdlir4bqmxy4gspk"))))
58
    (build-system cmake-build-system)
59
    (arguments
60
     `(#:configure-flags
61
       (list "-DSYSTEM_INSTALL=ON")
62
       #:tests? #f))
63
    (native-inputs
64
     `(("pkg-config" ,pkg-config)))
65
    (inputs
66
     `(("sdl2" ,sdl2)
67
       ("glu" ,glu)
68
       ("libjpeg" ,libjpeg-turbo)
69
       ("libpng" ,libpng)
70
       ("openal" ,openal)
71
       ("vorbis" ,libvorbis)
72
       ("zlib" ,zlib)))
73
    (home-page "https://osslugaru.gitlab.io")
74
    (synopsis "Cross-platform third-person action game")
75
    (description "The main character, Turner, is an anthropomorphic rebel bunny
76
rabbit with impressive combat skills.  In his quest to find those responsible
77
for slaughtering his village, he uncovers a far-reaching conspiracy involving
78
the corrupt leaders of the rabbit republic and the starving wolves from a
79
nearby den.  Turner takes it upon himself to fight against their plot and save
80
his fellow rabbits from slavery.")
81
    (license (list license:gpl2+ license:cc-by-sa3.0))))
82
83
(define-public ogre3d
84
  (package
85
    (name "ogre3d")
86
    (version "1.9.0")
87
    (source (origin
88
              (method url-fetch)
89
              (uri (string-append
90
                     "https://bitbucket.org/sinbad/ogre/get/v"
91
                     (string-map (lambda (x) (if (char=? x #\.) #\- x)) version)
92
                     ".tar.gz"))
93
              (file-name (string-append name "-" version ".tar.gz"))
94
              (sha256
95
               (base32
96
                "0p8gyn293qn3iyiy1smfmjd9zpnjb8h2zgvff8778fwh0ylbmlpa"))))
97
    (build-system cmake-build-system)
98
    (native-inputs
99
     `(("doxygen" ,doxygen)))
100
    (inputs
101
     `(("freetype" ,freetype)
102
       ("boost" ,boost)
103
       ("sdl2" ,sdl2)
104
       ("cppunit" ,cppunit)
105
       ("freeimage" ,freeimage)
106
       ("glu" ,glu)
107
       ("libxt" ,libxt)
108
       ("libxaw" ,libxaw)
109
       ("libxxf86vm" ,libxxf86vm)
110
       ("libxrandr" ,libxrandr)
111
       ("mesa" ,mesa)
112
       ("tbb" ,tbb)
113
       ("tinyxml" ,tinyxml)
114
       ("zziplib" ,zziplib)))
115
    (arguments
116
     `(#:tests? #f
117
       #:configure-flags
118
       (list (string-append "-DFREETYPE_FT2BUILD_INCLUDE_DIR="
119
               (assoc-ref %build-inputs "freetype")
120
               "/include"))
121
       #:phases
122
       (modify-phases %standard-phases
123
         (add-after 'build 'build-doc
124
           (lambda* _
125
             (zero? (system* "make" "OgreDoc")))))))
126
    (home-page "http://www.ogre3d.org")
127
    (synopsis "3D graphics engine")
128
    (description "3D graphics engine")
129
    (license license:expat)))
130
131
(define-public cegui
132
  (package
133
    (name "cegui")
134
    (version "0.8.7")
135
    (source (origin
136
              (method url-fetch)
137
              (uri (string-append
138
                     "http://prdownloads.sourceforge.net/crayzedsgui/cegui-"
139
                     version ".tar.bz2"))
140
              (sha256
141
               (base32
142
                "067562s71kfsnbp2zb2bmq8zj3jk96g5a4rcc5qc3n8nfyayhldk"))))
143
    (build-system cmake-build-system)
144
    (arguments
145
     `(#:tests? #f))
146
    (native-inputs
147
     `(("pkg-config" ,pkg-config)))
148
    (inputs
149
     `(("pcre" ,pcre)
150
       ("gl" ,mesa)
151
       ("freetype" ,freetype)
152
       ("fribidi" ,fribidi)
153
       ("glew" ,glew)
154
       ("sdl2" ,sdl2)
155
       ("irrlicht" ,irrlicht)
156
       ("ogre" ,ogre3d)
157
       ("epoxy" ,libepoxy)
158
       ("expat" ,expat)
159
       ("libxml2" ,libxml2)
160
       ("freeimage" ,freeimage)
161
       ("python" ,python)
162
       ("lua" ,lua-5.1)
163
       ("gtk" ,gtk+-2)
164
       ("boost" ,boost)
165
       ("minizip" ,minizip)
166
       ("tinyxml" ,tinyxml)))
167
    (home-page "http://cegui.org.uk/")
168
    (synopsis "Crazy Eddie's GUI system")
169
    (description "Crazy Eddie's GUI System is a free library providing windowing
170
and widgets for graphics APIs / engines where such functionality is not natively
171
available, or severely lacking.  The library is object-oriented, written in C++,
172
cross-platform, and targeted at game and application developers.  Additionally,
173
it offers a WYSIWYG editor for creating layouts and imagesets.")
174
    (license license:expat)))
175