;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
-;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
-;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
+;;; Copyright © 2015, 2016, 2017 David Thompson <davet@gnu.org>
+;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2016 Julian Graham <joolean@gmail.com>
+;;; Copyright © 2016, 2017 Julian Graham <joolean@gmail.com>
+;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module (guix utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages boost)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages documentation)
+ #:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
+ #:use-module (gnu packages freedesktop)
#:use-module (gnu packages fribidi)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnunet)
+ #:use-module (gnu packages graphics)
+ #:use-module (gnu packages graphviz)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages m4)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages music)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages qt)
#:use-module (gnu packages video)
#:use-module (gnu packages compression)
- #:use-module (gnu packages zip)
#:use-module (gnu packages gl)
#:use-module (gnu packages linux)
#:use-module (gnu packages xorg)
(define-public bullet
(package
(name "bullet")
- (version "2.85.1")
+ (version "2.86.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/bulletphysics/bullet3/"
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0qpd37ws0xlxwy55dg058a5b4yw2jxiz09yyc3lc0frpa05pq5bf"))))
+ "0nghzcl84p8di215p7xj0gy1hyy072hw2xk9cnmav9hv6bjb4n60"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags (list (string-append
is used in some video games and movies.")
(license license:zlib)))
+(define-public deutex
+ (package
+ (name "deutex")
+ (version "5.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/Doom-Utils/" name
+ "/releases/download/v" version "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1jvffcpq64hk3jysz4q6zi9hqkksy151ci9553h8q7wrrkbw0i9z"))))
+ (build-system gnu-build-system)
+ (native-inputs `(("asciidoc" ,asciidoc)))
+ (home-page "https://github.com/Doom-Utils/deutex")
+ (synopsis "WAD file composer for Doom and related games")
+ (description
+ "DeuTex is a wad composer for Doom, Heretic, Hexen and Strife. It can be
+used to extract the lumps of a wad and save them as individual files.
+Conversely, it can also build a wad from separate files. When extracting a
+lump to a file, it does not just copy the raw data, it converts it to an
+appropriate format (such as PPM for graphics, Sun audio for samples, etc.).
+Conversely, when it reads files for inclusion in pwads, it does the necessary
+conversions (for example, from PPM to Doom picture format). In addition,
+DeuTex has functions such as merging wads, etc.")
+ (license license:gpl2+)))
+
+(define-public grfcodec
+ (package
+ (name "grfcodec")
+ (version "6.0.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://binaries.openttd.org/extra/"
+ name "/" version "/" name "-" version
+ "-source.tar.xz"))
+ (sha256
+ (base32
+ "08admgnpqcsifpicbm56apgv360fxapqpbbsp10qyk8i22w1ivsk"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f ; no check target
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; no configure script
+ (replace 'install ; no install target
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (doc (string-append out "/share/doc"))
+ (man (string-append out "/share/man/man1")))
+ (for-each (lambda (file)
+ (install-file file bin))
+ '("grfcodec" "grfid" "grfstrip" "nforenum"))
+ (install-file "COPYING" doc)
+ (with-directory-excursion "docs"
+ (for-each (lambda (file)
+ (install-file (string-append file ".txt") doc))
+ '("auto_correct" "commands" "grf" "grfcodec" "grftut"
+ "readme" "readme.rpn"))
+ (for-each (lambda (file)
+ (install-file file man))
+ (find-files "." "\\.1"))))
+ #t)))))
+ (inputs
+ `(("boost" ,boost)
+ ("libpng" ,libpng)
+ ("zlib" ,zlib)))
+ (synopsis "GRF development tools")
+ (description
+ "The @dfn{Graphics Resource File} (GRF) development tools are a set of
+tools for developing (New)GRFs. It includes a number of smaller programs, each
+with a specific task:
+@enumerate
+@item @code{grfcodec} decodes and encodes GRF files for OpenTTD.
+@item @code{grfid} extracts the so-called \"GRF ID\" from a GRF.
+@item @code{grfstrip} strips all sprites from a GRF.
+@item @code{nforenum} checks NFO code for errors, making corrections when
+necessary.
+@end enumerate")
+ (home-page "http://dev.openttdcoop.org/projects/grfcodec")
+ ;; GRFCodec, GRFID, and GRFStrip are exclusively under the GPL2.
+ ;; NFORenum is under the GPL2+.
+ ;; The MD5 implementation contained in GRFID is under the zlib license.
+ (license (list license:gpl2 license:gpl2+ license:zlib))))
+
(define-public gzochi
(package
(name "gzochi")
- (version "0.10.1")
+ (version "0.11.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/gzochi/gzochi-"
version ".tar.gz"))
(sha256
(base32
- "166rawdal45kvanhvi0bkzy1d2pwf1p0lzslb287lcnm9vdw97yy"))))
+ "13j1m92zhxwkaaja3lg5x0h0b28mrrawdzk9d3hd19031akfxwb3"))))
(build-system gnu-build-system)
- (arguments
- '(#:phases (modify-phases %standard-phases
- (add-before 'configure 'remove-Werror
- (lambda _
- ;; We can't build with '-Werror', notably
- ;; because deprecated functions of
- ;; libmicrohttpd are being used.
- (substitute* (find-files "." "^Makefile\\.in$")
- (("-Werror")
- ""))
- #t)))))
(native-inputs `(("pkgconfig" ,pkg-config)))
(inputs `(("bdb" ,bdb)
("glib" ,glib)
provide connectivity for client applications written in any language.")
(license license:gpl3+)))
+(define-public nml
+ (package
+ (name "nml")
+ (version "0.4.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://bundles.openttdcoop.org/nml/releases/"
+ version "/nml-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0wk9ls5qyjwkra54rkj1gg94xbwzi7b84a5fh1ma1q7pbimi8rmg"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-pillow" ,python-pillow)
+ ("python-ply" ,python-ply)))
+ (home-page "http://dev.openttdcoop.org/projects/nml")
+ (synopsis "NML compiler")
+ (description
+ "@dfn{NewGRF Meta Language} (NML) is a python-based compiler, capable of
+compiling NML files (along with their associated language, sound and graphic
+files) into @file{.grf} and/or @file{.nfo} files.")
+ (license license:gpl2+)))
+
+(define-public python-sge-pygame
+ (package
+ (name "python-sge-pygame")
+ (version "1.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "sge-pygame" version))
+ (sha256
+ (base32
+ "0g0n722md6nfayiqzadwf0dh821hzqv0alp4by0vjfwr1xzv49mc"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-pygame" ,python-pygame)
+ ("python-six" ,python-six)
+ ("python-uniseg" ,python-uniseg)))
+ (home-page "http://stellarengine.nongnu.org")
+ (synopsis "2D game engine for Python")
+ (description
+ "The SGE Game Engine (\"SGE\", pronounced like \"Sage\") is a
+general-purpose 2D game engine. It takes care of several details fro you so
+you can focus on the game itself. This makes more rapid game development
+possible, and it also makes the SGE easy to learn.")
+ (license license:lgpl3+)))
+
+(define-public python2-sge-pygame
+ (package-with-python2 python-sge-pygame))
+
+(define-public python-tmx
+ (package
+ (name "python-tmx")
+ (version "1.9.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://savannah/python-tmx/"
+ (version-major+minor version) "/tmx-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1is107sx3lr09dqjiyn10xqhyv5x54c2ryhys9mb9j3mxjbm227l"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-six" ,python-six)))
+ (home-page "http://python-tmx.nongnu.org")
+ (synopsis "Python library for the @code{Tiled} TMX format")
+ (description
+ "Python TMX reads and writes the @code{Tiled} TMX format in a simple way.
+This is useful for map editors or generic level editors, and it's also useful
+for using a map editor or generic level editor like Tiled to edit your game's
+levels.")
+ (license (list license:asl2.0
+ ;; Documentation (only available in the source tarball) is
+ ;; under the CC0 license.
+ license:cc0))))
+
+(define-public python2-tmx
+ (let ((python2-tmx (package-with-python2 python-tmx)))
+ (package
+ (inherit python2-tmx)
+ (propagated-inputs
+ `(("python2-pathlib" ,python2-pathlib)
+ ,@(package-propagated-inputs python2-tmx))))))
+
+(define-public python-xsge
+ (package
+ (name "python-xsge")
+ (version "2017.06.09")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://savannah/xsge/xsge/xsge-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1vy7c2y7ihvmggs93zgfv2h3049s384wid8a5snzrrba8bhbb89p"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ ;; xSGE's setup.py script does not support one of the Python build
+ ;; system's default flags, "--single-version-externally-managed".
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (zero?
+ (system* "python" "setup.py" "install"
+ (string-append "--prefix=" (assoc-ref outputs "out"))
+ "--root=/")))))
+ #:tests? #f)) ; no check target
+ (propagated-inputs
+ `(("python-sge-pygame" ,python-sge-pygame)
+ ("python-pygame" ,python-pygame)
+ ("python-six" ,python-six)
+ ("python-tmx" ,python-tmx)))
+ (home-page "http://xsge.nongnu.org")
+ (synopsis "Extensions for the SGE Game Engine")
+ (description
+ "xSGE is a collection of modules that make doing certain tasks with the SGE
+Game Engine easier. In addition to SGE's conveniences, the user has access to a
+GUI toolkit, lighting and physics frameworks and @code{Tiled} TMX format
+support.")
+ (license license:gpl3+)))
+
+(define-public python2-xsge
+ (package-with-python2 python-xsge))
+
(define-public tiled
(package
(name "tiled")
- (version "0.17.0")
+ (version "1.0.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/bjorn/tiled/archive/v"
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0c9gykxmq0sk0yyfdq81g9psd922scqzn5asskjydj84d80f5z7p"))))
+ "1qj7l34y5zv2iazmwbix8wdpp88zv7fswbc4arqpp1wak2yna1ix"))))
(build-system gnu-build-system)
- (inputs `(("qt" ,qt)
- ("zlib" ,zlib)))
+ (inputs
+ `(("qtbase" ,qtbase)
+ ("qtsvg" ,qtsvg)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("qttools" ,qttools)))
(arguments
'(#:phases
(modify-phases %standard-phases
(replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* "translations/translations.pro"
+ (("LRELEASE =.*")
+ (string-append "LRELEASE = "
+ (assoc-ref inputs "qttools")
+ "/bin/lrelease\n")))
(let ((out (assoc-ref outputs "out")))
(system* "qmake"
(string-append "PREFIX=" out))))))))
("libjpeg" ,libjpeg)
("libsndfile" ,libsndfile)
("openal" ,openal)))
- (home-page "http://www.sfml-dev.org")
+ (home-page "https://www.sfml-dev.org")
(synopsis "Simple and Fast Multimedia Library")
(description
"SFML provides a simple interface to the various computer components,
(source (origin
(method url-fetch)
(uri (string-append
- "http://icculus.org/physfs/downloads/physfs-"
+ "https://icculus.org/physfs/downloads/physfs-"
version ".tar.bz2"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
`(("zlib" ,zlib)))
(native-inputs
`(("doxygen" ,doxygen)))
- (home-page "http://icculus.org/physfs")
+ (home-page "https://icculus.org/physfs")
(synopsis "File system abstraction library")
(description
"PhysicsFS is a library to provide abstract access to various archives.
(version "4.4.2")
(source (origin
(method url-fetch)
- (uri (string-append "http://download.gna.org/allegro/allegro/"
- version "/allegro-" version ".tar.gz"))
+ (uri (string-append "https://github.com/liballeg/allegro5/"
+ "releases/download/" version "/allegro-"
+ version ".tar.gz"))
(sha256
(base32
"1p0ghkmpc4kwij1z9rzxfv7adnpy4ayi0ifahlns1bdzgmbyf88v"))))
(define-public allegro
(package
(name "allegro")
- (version "5.2.0")
+ (version "5.2.2.0")
(source (origin
(method url-fetch)
- (uri (string-append "http://download.gna.org/allegro/allegro/"
- version "/allegro-" version ".tar.gz"))
+ (uri (string-append "https://github.com/liballeg/allegro5/releases"
+ "/download/" version "/allegro-"
+ (if (equal? "0" (string-take-right version 1))
+ (string-drop-right version 2)
+ version)
+ ".tar.gz"))
(sha256
(base32
- "1mwzgzc4nb5k5zkbq7yrc6hg63yxq3wk69lmjag1h19x8b6njnmg"))))
+ "1z4lrrlmn471wb7vzbd9iw7g379vj0k964vy1s64hcvv5bhvk1g2"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; there are no tests
(inputs
(version "5.0.11")
(source (origin
(method url-fetch)
- (uri (string-append "http://download.gna.org/allegro/allegro/"
- version "/allegro-" version ".tar.gz"))
+ (uri (string-append "https://github.com/liballeg/allegro5/releases"
+ "/download/" version "/allegro-"
+ (if (equal? "0" (string-take-right version 1))
+ (string-drop-right version 2)
+ version)
+ ".tar.gz"))
(sha256
(base32
"0cd51qrh97jrr0xdmnivqgwljpmizg8pixsgvc4blqqlaz4i9zj9"))))))
(define-public aseprite
(package
(name "aseprite")
- (version "1.1.1")
- ;; The release tarball isn't good enough because it's missing some
- ;; necessary code that is only in git submodules.
+ (version "1.1.7") ; After 1.1.7 the source is no longer distributed under the GPL.
+ ;; TODO: Unbundle third party software.
(source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/aseprite/aseprite.git")
- (commit "v1.1.1")
- (recursive? #t)))
+ (method url-fetch/zipbomb)
+ (uri (string-append "https://github.com/aseprite/aseprite"
+ "/releases/download/v" version
+ "/Aseprite-v" version "-Source.zip"))
(sha256
(base32
- "1yr0l3bc68lyrffrzxgw98zznv8yz5ldl98lyvp6s5grny4s4jyk"))))
+ "1plss4i1lfxcznv9p0pip1bkhj7ipw7jlhsh5avd6dzw079l4nvv"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags
(description "Aseprite is a tool for creating 2D pixel art for video
games. In addition to basic pixel editing features, Aseprite can assist in
the creation of animations, tiled graphics, texture atlases, and more.")
- (home-page "http://www.aseprite.org/")
+ (home-page "https://www.aseprite.org/")
(license license:gpl2+)))
(define-public qqwing
(define-public python-pygame
(package
(name "python-pygame")
- (version "1.9.1")
+ (version "1.9.3")
(source (origin
(method url-fetch)
- (uri (string-append "http://pygame.org/ftp/pygame-"
- version "release.tar.gz"))
+ (uri (pypi-uri "pygame" version))
(sha256
(base32
- "0cyl0ww4fjlf289pjxa53q4klyn55ajvkgymw0qrdgp4593raq52"))))
+ "1hlydiyygl444bq5m5g8n3jsxsgrdyxlm42ipmfbw36wkf0j243m"))))
(build-system python-build-system)
(arguments
- `(#:python ,python-2
- #:tests? #f ; Tests require pygame to be installed first.
+ `(#:tests? #f ; Tests require pygame to be installed first.
#:phases
(modify-phases %standard-phases
;; Set the paths to the dependencies manually because
(smpeg-ref (assoc-ref inputs "libsmpeg"))
(png-ref (assoc-ref inputs "libpng"))
(jpeg-ref (assoc-ref inputs "libjpeg"))
+ (freetype-ref (assoc-ref inputs "freetype"))
(v4l-ref (assoc-ref inputs "v4l-utils"))
(out-ref (assoc-ref outputs "out")))
(substitute* "Setup.in"
(("JPEG = -ljpeg")
(string-append "JPEG = -I" jpeg-ref "/include -L"
jpeg-ref "/lib -ljpeg")))
+
+ (substitute* "Setup.in"
+ (("FREETYPE = -lfreetype")
+ (string-append "FREETYPE = -I" freetype-ref "/include/freetype2 -L"
+ freetype-ref "/lib -lfreetype")))
+
(substitute* "Setup.in"
(("^pypm") "#pypm"))
- (substitute* "src/movie.c")
;; Create a path to a header file provided by v4l-utils.
(system* "mkdir" "linux")
(system* "ln" "--symbolic"
(string-append v4l-ref "/include/libv4l1-videodev.h")
"linux/videodev.h")
(system* "ln" "--symbolic" "Setup.in" "Setup")))))))
- (native-inputs
- `(("python-setuptools" ,python-setuptools)))
(inputs
- `(("sdl" ,sdl)
+ `(("freetype" ,freetype)
+ ("sdl" ,sdl)
("sdl-image" ,sdl-image)
("sdl-mixer" ,sdl-mixer)
("sdl-ttf" ,sdl-ttf)
("libsmpeg" ,libsmpeg)
("portmidi" ,portmidi)
("v4l-utils" ,v4l-utils)))
- (home-page "http://www.pygame.org")
+ (home-page "https://www.pygame.org")
(synopsis "SDL wrapper for Python")
(description "Pygame is a set of Python modules designed for writing games.
Pygame adds functionality on top of the excellent SDL library. This allows you
license:psfl
license:public-domain
license:lgpl2.1+))))
+
+(define-public python2-pygame
+ (package-with-python2 python-pygame))
+
+(define-public grafx2
+ (package
+ (name "grafx2")
+ (version "2.4")
+ (source (origin
+ (method url-fetch)
+ ;; XXX: There is no URL that contains the version. :(
+ (uri "http://pulkomandy.tk/projects/GrafX2/downloads/21")
+ (sha256
+ (base32
+ "0svsy6rqmdj11b400c242i2ixihyz0hds0dgicqz6g6dcgmcl62q"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; no configure script
+ (add-before 'build 'change-to-src-directory
+ (lambda _
+ (chdir "src")
+ #t)))
+ #:make-flags
+ ;; SDL header files are referenced without the preceeding "SDL/".
+ (list (string-append "CFLAGS=-I"
+ (assoc-ref %build-inputs "sdl-union")
+ "/include/SDL")
+ (string-append "prefix="
+ (assoc-ref %outputs "out")))
+ #:tests? #f)) ; no check target
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libpng" ,libpng)
+ ("lua" ,lua-5.1)
+ ("sdl-union" ,(sdl-union (list sdl sdl-image sdl-ttf)))))
+ (synopsis "Bitmap paint program")
+ (description "GrafX2 is a bitmap paint program inspired by the Amiga
+programs Deluxe Paint and Brilliance. Specializing in 256-color drawing, it
+includes a very large number of tools and effects that make it particularly
+suitable for pixel art, game graphics, and generally any detailed graphics
+painted with a mouse.")
+ (home-page "http://pulkomandy.tk/projects/GrafX2")
+ (license license:gpl2))) ; GPLv2 only
+
+(define-public ois
+ (package
+ (name "ois")
+ (version "1.3")
+ (source
+ (origin
+ ;; Development has moved to github and there are no recent tarball
+ ;; releases.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/wgois/OIS.git")
+ (commit "bb75ccc1aabc1c547195579963601ff6080ca2f2")))
+ (file-name (string-append name "-" version))
+ (sha256
+ (base32
+ "0w0pamjc3vj0jr718hysrw8x076fq6n9rd6wcb36sn2jd0lqvi98"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'bootstrap
+ (lambda _ (zero? (system* "sh" "bootstrap")))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("m4" ,m4)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libxaw" ,libxaw)))
+ (synopsis "Object Oriented Input System")
+ (description
+ "Cross Platform Object Oriented Input Lib System is a cross platform,
+simple solution for using all kinds of Input Devices (Keyboards, Mice,
+Joysticks, etc) and feedback devices (e.g. force feedback). Meant to be very
+robust and compatible with many systems and operating systems.")
+ (home-page "https://github.com/wgois/OIS")
+ (license license:zlib)))
+
+(define-public mygui
+ (package
+ (name "mygui")
+ (version "3.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://github.com/MyGUI/" name
+ "/archive/MyGUI" version ".tar.gz"))
+ (sha256
+ (base32
+ "13x7cydmj7gjmsg702sqjbfi53z265iv6j7binv3r6a7ibndfa0a"))))
+ (build-system cmake-build-system)
+ (arguments
+ '(#:tests? #f ; No test target
+ #:configure-flags
+ (list "-DMYGUI_INSTALL_DOCS=TRUE"
+ (string-append "-DOGRE_INCLUDE_DIR="
+ (assoc-ref %build-inputs "ogre")
+ "/include/OGRE"))))
+ (native-inputs
+ `(("boost" ,boost)
+ ("doxygen" ,doxygen)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("font-dejavu" ,font-dejavu)
+ ("freetype" ,freetype)
+ ("graphviz" ,graphviz)
+ ("libx11" ,libx11)
+ ("ogre" ,ogre)
+ ("ois" ,ois)))
+ (synopsis "Fast, flexible and simple GUI")
+ (description
+ "MyGUI is a library for creating Graphical User Interfaces (GUIs) for games
+and 3D applications. The main goals of mygui are: speed, flexibility and ease
+of use.")
+ (home-page "http://mygui.info/")
+ (license license:expat)))
+
+(define-public openmw
+ (package
+ (name "openmw")
+ (version "0.42.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://github.com/OpenMW/openmw/archive/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1pla8016lpbg8cgm9kia318a860f26dmiayc72p3zl35mqrc7g7w"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; No test target
+ #:configure-flags
+ (list "-DDESIRED_QT_VERSION=5")))
+ (native-inputs
+ `(("boost" ,boost)
+ ("doxygen" ,doxygen)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("bullet" ,bullet)
+ ("ffmpeg" ,ffmpeg)
+ ("libxt" ,libxt)
+ ("mygui" ,mygui)
+ ("openal" ,openal)
+ ("openscenegraph" ,openscenegraph)
+ ("qtbase" ,qtbase)
+ ("sdl" ,sdl2)
+ ("unshield" ,unshield)))
+ (synopsis "Free software re-implementation of the RPG Morrowind engine")
+ (description
+ "OpenMW is a free, open source and modern engine which reimplements and
+extends the one that runs the 2002 open-world RPG Morrowind. The engine comes
+with its own editor, called OpenMW-CS which allows the user to edit or create
+their own original games.")
+ (home-page "https://openmw.org")
+ (license license:gpl3)))