;;; Copyright © 2014 Tomáš Čech <sleep_walker@suse.cz>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2018 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2015, 2018 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015, 2016, 2017 David Thompson <davet@gnu.org>
-;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2016, 2017 Julian Graham <joolean@gmail.com>
-;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016, 2017, 2018 Julian Graham <joolean@gmail.com>
+;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module (guix svn-download)
#:use-module (guix utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
- #:use-module (gnu packages databases)
#:use-module (gnu packages documentation)
#:use-module (gnu packages fltk)
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages fribidi)
+ #:use-module (gnu packages dbm)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages sdl)
+ #:use-module (gnu packages stb)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
#:use-module (gnu packages video)
(define-public bullet
(package
(name "bullet")
- (version "2.87")
+ (version "2.88")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/bulletphysics/bullet3/"
- "archive/" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bulletphysics/bullet3/")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "15azjc1jj8ak9ad7c5sbp9nv5gpqjsa0s9pc0bwy63w490f1b323"))))
+ "00qkif245yj7n2f262bgjaxv1bz3wmmcsfnjgy3qpzvlpzpns5z8"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (for-each delete-file (find-files "build3" "premake*"))
+ (with-directory-excursion "examples/ThirdPartyLibs"
+ (for-each delete-file-recursively
+ '("Gwen" "clsocket" "enet" "glad" "imgui"
+ "lua-5.2.3" "midi" "minizip" "openvr"
+ "optionalX11" "serial" "zlib")))
+ ;; These need files from ThirdPartyLibs
+ (substitute* "Extras/CMakeLists.txt"
+ (("BulletRobotics") "")
+ (("obj2sdf") ""))
+ ;; Tests fail on linking, cannot find -lBussIK
+ (substitute* "test/CMakeLists.txt"
+ ((" InverseDynamics")
+ "../examples/ThirdPartyLibs/BussIK InverseDynamics"))
+ ; (("SharedMemory") ""))
+ #t))))
(build-system cmake-build-system)
(arguments
- '(#:configure-flags (list (string-append
- "-DBUILD_SHARED_LIBS=ON "
- "-DCMAKE_CXX_FLAGS=-fPIC "
- (or (getenv "CXXFLAGS") "")))))
+ '(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON"
+ "-DBUILD_CPU_DEMOS=OFF"
+ "-DBUILD_OPENGL3_DEMOS=OFF"
+ "-DBUILD_BULLET2_DEMOS=OFF"
+ (string-append "-DCMAKE_CXX_FLAGS=-fPIC "
+ (or (getenv "CXXFLAGS") "")))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-failing-tests
+ ;; These tests fail specifically after removing 3rd party code
+ (lambda _
+ (substitute* "test/SharedMemory/CMakeLists.txt"
+ (("ADD_TEST") "# ADD_TEST"))
+ (substitute* "test/InverseDynamics/CMakeLists.txt"
+ (("ADD_TEST\\(Test_BulletInverseForward")
+ "# ADD_TEST(Test_BulletInverseForward"))
+ #t)))))
(inputs
`(("glu" ,glu)
("libx11" ,libx11)
(define-public deutex
(package
(name "deutex")
- (version "5.1.1")
+ (version "5.1.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/Doom-Utils/" name
name "-" version ".tar.xz"))
(sha256
(base32
- "0yqzlb3imkdzy8yd7xc69xk9ajf4dhiz3a9ssphyf4c9rcr440wj"))))
+ "1rj3w4xa0n4jixy4j7p6gbclylbgxvhdnji7xnkydrqii9rxnbp4"))))
(build-system gnu-build-system)
(native-inputs `(("asciidoc" ,asciidoc)))
(home-page "https://github.com/Doom-Utils/deutex")
(define-public gzochi
(package
(name "gzochi")
- (version "0.11.1")
+ (version "0.12")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/gzochi/gzochi-"
version ".tar.gz"))
(sha256
(base32
- "13j1m92zhxwkaaja3lg5x0h0b28mrrawdzk9d3hd19031akfxwb3"))))
+ "0h8yvk7154kd8zdfa9nqy73blrjq2x19kv305jcnwlmm09vvss59"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(define-public nml
(package
(name "nml")
- (version "0.4.4")
+ (version "0.4.5")
(source
(origin
(method url-fetch)
version "/nml-" version ".tar.gz"))
(sha256
(base32
- "0wk9ls5qyjwkra54rkj1gg94xbwzi7b84a5fh1ma1q7pbimi8rmg"))))
+ "1pmvvm3sgnpngfa7884mqhq3fwdjh9sr0ca07ypnidcg0y341w53"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pillow" ,python-pillow)
("python-ply" ,python-ply)))
- (home-page "http://dev.openttdcoop.org/projects/nml")
+ (home-page "https://dev.openttdcoop.org/projects/nml")
(synopsis "NML compiler")
(description
"@dfn{NewGRF Meta Language} (NML) is a python-based compiler, capable of
(define-public python-xsge
(package
(name "python-xsge")
- (version "2017.06.09")
+ (version "2018.02.26")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/xsge/xsge/xsge-"
version ".tar.gz"))
(sha256
(base32
- "1vy7c2y7ihvmggs93zgfv2h3049s384wid8a5snzrrba8bhbb89p"))))
+ "0bx93hgf7cgdw2gsygbh59y8vpw37pgsa279rajw3fkdpl8vrc40"))))
(build-system python-build-system)
(arguments
'(#:phases
;; 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=/")))))
+ (invoke "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)
(define-public tiled
(package
(name "tiled")
- (version "1.1.5")
+ (version "1.2.3")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/bjorn/tiled/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bjorn/tiled.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1zrq1nhb50mwqzw3fln6vj49ljddil1v7yby3ahjbcm94s25ll1y"))))
+ "1nfyigfkl10n9r82p1qxhpr09jn2kwalh9n5r209bcaj8dxspph8"))))
(build-system gnu-build-system)
(inputs
`(("qtbase" ,qtbase)
(assoc-ref inputs "qttools")
"/bin/lrelease\n")))
(let ((out (assoc-ref outputs "out")))
- (system* "qmake"
- (string-append "PREFIX=" out))))))))
+ (invoke "qmake"
+ (string-append "PREFIX=" out))))))))
(home-page "http://www.mapeditor.org/")
(synopsis "Tile map editor")
(description
(define-public sfml
(package
(name "sfml")
- (version "2.3.2")
+ (version "2.5.1")
(source (origin
- (method url-fetch)
+ (method git-fetch)
;; Do not fetch the archives from
;; http://mirror0.sfml-dev.org/files/ because files there seem
;; to be changed in place.
- (uri (string-append "https://github.com/SFML/SFML/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (uri (git-reference
+ (url "https://github.com/SFML/SFML.git")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0k2fl5xk3ni2q8bsxl0551inx26ww3w6cp6hssvww0wfjdjcirsm"))))
+ "0abr8ri2ssfy9ylpgjrr43m6rhrjy03wbj9bn509zqymifvq5pay"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Ensure system libraries are used.
+ (delete-file-recursively "extlibs")
+ #t))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags
- (list "-DSFML_INSTALL_PKGCONFIG_FILES=TRUE")
+ (list "-DSFML_INSTALL_PKGCONFIG_FILES=TRUE"
+ "-DSFML_OS_PKGCONFIG_DIR=lib/pkgconfig")
#:tests? #f)) ; no tests
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
(inputs
`(("mesa" ,mesa)
("glew" ,glew)
- ("flac" ,flac)
- ("libvorbis" ,libvorbis)
("libx11" ,libx11)
("xcb-util-image" ,xcb-util-image)
("libxrandr" ,libxrandr)
("eudev" ,eudev)
- ("freetype" ,freetype)
("libjpeg" ,libjpeg)
("libsndfile" ,libsndfile)
+ ("stb-image" ,stb-image)
+ ("stb-image-write" ,stb-image-write)))
+ (propagated-inputs
+ ;; In Requires.private of pkg-config files.
+ `(("flac" ,flac)
+ ("freetype" ,freetype)
+ ("libvorbis" ,libvorbis)
("openal" ,openal)))
(home-page "https://www.sfml-dev.org")
(synopsis "Simple and Fast Multimedia Library")
(define-public physfs
(package
(name "physfs")
- (version "2.0.3")
+ (version "3.0.2")
(source (origin
(method url-fetch)
(uri (string-append
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0sbbyqzqhyf0g68fcvvv20n3928j0x6ik1njmhn1yigvq2bj11na"))))
+ "0qzqz4r88gvd8m7sh2z5hvqcr0jfr4wb2f77c19xycyn0rigfk9h"))))
(build-system cmake-build-system)
(arguments
- '(#:tests? #f)) ; no check target
+ '(#:tests? #f ; no check target
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'patch-CMakeLists.txt
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ ;; XXX: For some reason CMakeLists.txt disables
+ ;; RUNPATH manipulation when the compiler is GCC.
+ (("CMAKE_COMPILER_IS_GNUCC") "FALSE"))
+ #t)))))
(inputs
`(("zlib" ,zlib)))
(native-inputs
(define-public allegro-4
(package
(name "allegro")
- (version "4.4.2")
+ (version "4.4.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/liballeg/allegro5/"
version ".tar.gz"))
(sha256
(base32
- "1p0ghkmpc4kwij1z9rzxfv7adnpy4ayi0ifahlns1bdzgmbyf88v"))))
+ "1d5ws3ihvpa6f4qc6a6drq31pajw6bblxifr4kcxzqj9br1nw28y"))))
(build-system cmake-build-system)
(arguments
'(#:phases
(define-public allegro
(package
(name "allegro")
- (version "5.2.2.0")
+ (version "5.2.4.0")
(source (origin
(method url-fetch)
(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"))
+ version ".tar.gz"))
+ (patches (search-patches
+ "allegro-mesa-18.2.5-and-later.patch"))
(sha256
(base32
- "1z4lrrlmn471wb7vzbd9iw7g379vj0k964vy1s64hcvv5bhvk1g2"))))
+ "1w9a5yqi5q03b2qvmx5ff90paz0xbr9cy7i7f0xiqa65ava66q9l"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; there are no tests
(inputs
(string-drop-right version 2)
version)
".tar.gz"))
+ (patches (search-patches
+ "allegro-mesa-18.2.5-and-later.patch"))
(sha256
(base32
"0cd51qrh97jrr0xdmnivqgwljpmizg8pixsgvc4blqqlaz4i9zj9"))))))
(define-public python-pygame
(package
(name "python-pygame")
- (version "1.9.3")
+ (version "1.9.4")
(source (origin
(method url-fetch)
(uri (pypi-uri "pygame" version))
(sha256
(base32
- "1hlydiyygl444bq5m5g8n3jsxsgrdyxlm42ipmfbw36wkf0j243m"))))
+ "1dn0nb86jl7yr8709cncxdr0yrmviqakw7zx3g8jbbwrr60if3bh"))))
(build-system python-build-system)
(arguments
- `(#: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
(substitute* "Setup.in"
(("FONT = -lSDL_ttf")
(string-append "FONT = -I" font-ref "/include/SDL -L"
- font-ref "/lib -lSDL_ttf")))
+ font-ref "/lib -lSDL_ttf")))
(substitute* "Setup.in"
(("IMAGE = -lSDL_image")
(string-append "IMAGE = -I" image-ref "/include/SDL -L"
- image-ref "/lib -lSDL_image")))
+ image-ref "/lib -lSDL_image")))
(substitute* "Setup.in"
(("MIXER = -lSDL_mixer")
(string-append "MIXER = -I" mixer-ref "/include/SDL -L"
- mixer-ref "/lib -lSDL_mixer")))
+ mixer-ref "/lib -lSDL_mixer")))
(substitute* "Setup.in"
(("SMPEG = -lsmpeg")
(string-append "SMPEG = -I" smpeg-ref "/include/smpeg -L"
- smpeg-ref "/lib -lsmpeg")))
+ smpeg-ref "/lib -lsmpeg")))
(substitute* "Setup.in"
(("PNG = -lpng")
(string-append "PNG = -I" png-ref "/include -L"
- png-ref "/lib -lpng")))
+ png-ref "/lib -lpng")))
(substitute* "Setup.in"
(("JPEG = -ljpeg")
(string-append "JPEG = -I" jpeg-ref "/include -L"
(define-public ois
(package
(name "ois")
- (version "1.3")
+ (version "1.5")
(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))
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "0w0pamjc3vj0jr718hysrw8x076fq6n9rd6wcb36sn2jd0lqvi98"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)
- ("m4" ,m4)
- ("pkg-config" ,pkg-config)))
+ (base32 "0g8krgq5bdx2rw7ig0xva4kqv4x815672i7z6lljp3n8847wmypa"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f)) ; no test suite
(inputs
- `(("libxaw" ,libxaw)))
+ `(("libx11" ,libx11)))
(synopsis "Object Oriented Input System")
(description
"Cross Platform Object Oriented Input Lib System is a cross platform,
(define-public openmw
(package
(name "openmw")
- (version "0.43.0")
+ (version "0.44.0")
(source
(origin
(method url-fetch)
name "-" version ".tar.gz"))
(sha256
(base32
- "11phjx7b3mv4n295xgq25lkcwq0mgr35i5k05hf1h77y6n6jbw64"))))
+ "03fgm2f2r7y0aqlgp038pdlnllgvm3jimrp968p4nhz1sffvjzcy"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; No test target
(define-public godot
(package
(name "godot")
- (version "3.0.4")
+ (version "3.0.6")
(source (origin
- (method url-fetch)
- (uri
- (string-append "https://github.com/godotengine/godot/archive/"
- version "-stable.tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/godotengine/godot")
+ (commit (string-append version "-stable"))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0khnj9rf24g56imwl78a89f2agxi6arbh804zrv54k79rm71dlpb"))
+ "0g64h0x8dlv6aa9ggfcidk2mknkfl5li7z1phcav8aqp9srj8avf"))
(modules '((guix build utils)))
(snippet
'(begin
(define-public eureka
(package
(name "eureka")
- (version "1.21")
+ (version "1.24")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/eureka-editor/Eureka/"
"-source.tar.gz"))
(sha256
(base32
- "1a7pf7xi56fcz7jc8layih5gq5m66g2ss4x5j61kzgip07j6rkir"))))
+ "1x4idjniz9sma3j9ss6ni7fafmz22zs2jnpsqw4my9rsnmra5d9v"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f
(define-public guile-chickadee
(package
(name "guile-chickadee")
- (version "0.2.0")
+ (version "0.3.0")
(source (origin
(method url-fetch)
(uri (string-append "https://files.dthompson.us/chickadee/"
"chickadee-" version ".tar.gz"))
(sha256
(base32
- "10qx0ha5gsayybd186r1my7vc7rf5fbzp9jvmc4xg9a8wz8rqhah"))))
+ "0jl223dybsj5gvs7z4q60gnafj1b7kgi5mx0kj58m5knrp8qwg5h"))))
(build-system gnu-build-system)
(arguments
- '(#:make-flags '("GUILE_AUTO_COMPILE=0")))
+ '(#:make-flags '("GUILE_AUTO_COMPILE=0")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'patch-godir
+ (lambda _
+ ;; Install compiled '.go' files into the site directory.
+ (substitute* "Makefile.in"
+ (("/ccache") "/site-ccache")))))))
(propagated-inputs
`(("guile-opengl" ,guile-opengl)
("guile-sdl2" ,guile-sdl2)))
@item REPL-driven development model
@end enumerate\n")
(license license:gpl3+)))
+
+(define-public bennu-game-development
+ (package
+ (name "bennu-game-development")
+ (version "348")
+ (source (origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url "http://svn.code.sf.net/p/bennugd/code")
+ (revision (string->number version))))
+ (file-name (string-append name "-" version))
+ (sha256
+ (base32
+ "0wpzsbh4zi3931493dnyl5ffmh1b7fj2sx3mzrq304z9zs4d6lqq"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (delete-file-recursively "3rdparty") #t))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-configure-to-use-openssl
+ (lambda* (#:key outputs #:allow-other-keys)
+ (chdir "core")
+ (delete-file "configure")
+ (substitute* "configure.in"
+ (("i\\*86\\)")
+ "*)
+ COMMON_CFLAGS=\"$COMMON_CFLAGS -DUSE_OPENSSL\"
+ COMMON_LDFLAGS=\"$COMMON_LDFLAGS\"
+ LIBSSL=\"crypto\"
+ USE_OPENSSL=yes
+ ;;
+
+ i*86)"))
+ #t)))))
+ (inputs `(("openssl" ,openssl)
+ ("zlib" ,zlib)))
+ (native-inputs `(("pkg-config" ,pkg-config)
+ ("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)))
+ (synopsis "Programming language to create games")
+ (description "Bennu Game Development, also known as bennudg, is a
+programming language tailored at game development. It is the successor of
+Fenix.")
+ (home-page "https://sourceforge.net/projects/bennugd/")
+ (license license:zlib)))
+
+(define-public bennu-game-development-modules
+ (package
+ (inherit bennu-game-development)
+ (name "bennu-game-development-modules")
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-conflicting-definitions
+ (lambda _
+ (with-fluids ((%default-port-encoding #f))
+ (substitute* "core/include/fmath.h"
+ (("extern fixed fmul\\( int x, int y \\);") "")
+ (("extern fixed fdiv\\( int x, int y \\);") "")))
+ (chdir "modules"))))))
+ (inputs `(("zlib" ,zlib)
+ ("libpng" ,libpng)
+ ("openssl" ,openssl)
+ ("sdl-mixer" ,sdl-mixer)
+ ("bennu-game-development" ,bennu-game-development)))
+ (synopsis "Modules for the Bennu Game Developement programming language")
+ (description "This package contains a collection of modules for the Bennu
+Game Developement programming language, from CD handling through SDL to
+joystick support.")))