summaryrefslogtreecommitdiff
path: root/gnu/packages/games.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/games.scm')
-rw-r--r--gnu/packages/games.scm473
1 files changed, 404 insertions, 69 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index ddfff4db8d..a4e1bba5dc 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -146,6 +146,7 @@
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
+ #:use-module (gnu packages perl-compression)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
@@ -176,18 +177,88 @@
#:use-module (gnu packages messaging)
#:use-module (gnu packages networking)
#:use-module (guix build-system copy)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
- #:use-module (guix build-system scons)
+ #:use-module (guix build-system perl)
#:use-module (guix build-system python)
- #:use-module (guix build-system cmake)
#:use-module (guix build-system qt)
+ #:use-module (guix build-system scons)
#:use-module (guix build-system trivial)
#:use-module ((srfi srfi-1) #:hide (zip))
#:use-module (srfi srfi-26))
+(define-public abe
+ (package
+ (name "abe")
+ (version "1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/abe/abe/abe-" version
+ "/abe-" version ".tar.gz"))
+ (sha256
+ (base32 "1xvpnq1y6y48fn3pvn2lk0h1ilmalv7nb7awpid1g4jcq1sfmi6z"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list (string-append "--with-data-dir="
+ (assoc-ref %outputs "out")
+ "/share/abe"))
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'bootstrap
+ (lambda _ (invoke "sh" "autogen.sh")))
+ (add-before 'build 'set-SDL
+ ;; Set correct environment for SDL.
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "CPATH"
+ (string-append
+ (assoc-ref inputs "sdl") "/include/SDL:"
+ (or (getenv "CPATH") "")))
+ #t))
+ (add-after 'install 'finalize-install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((share (string-append (assoc-ref outputs "out") "/share")))
+ ;; Installation script does not copy game data files.
+ (let ((data (string-append share "/abe")))
+ (for-each (lambda (dir)
+ (let ((target (string-append data "/" dir)))
+ (mkdir-p target)
+ (copy-recursively dir target)))
+ '("images" "maps" "sounds")))
+ ;; Create desktop file.
+ (let ((apps (string-append share "/applications")))
+ (mkdir-p apps)
+ (make-desktop-entry-file
+ (string-append apps "/abe.desktop")
+ #:name "Abe's Amazing Adventure"
+ #:exec ,name
+ #:categories '("AdventureGame" "Game")
+ #:keywords
+ '("side-scrolling" "adventure" "pyramid" "singleplayer")
+ #:comment
+ '(("de" "Ein sich seitwärts bewegendes Abenteuerspiel")
+ (#f "Side-scrolling game")))))
+ #t)))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)))
+ (inputs
+ `(("libxi" ,libxi)
+ ("libxmu" ,libxmu)
+ ("libxt" ,libxt)
+ ("sdl" ,(sdl-union (list sdl sdl-mixer)))))
+ (home-page "http://abe.sourceforge.net")
+ (synopsis "Scrolling, platform-jumping, ancient pyramid exploring game")
+ (description
+ "Abe's Amazing Adventure is a scrolling,
+platform-jumping, key-collecting, ancient pyramid exploring game, vaguely in
+the style of similar games for the Commodore+4.")
+ (license license:gpl2+)))
+
;; Data package for adanaxisgpl.
(define adanaxis-mush
(let ((version "1.1.0"))
@@ -515,7 +586,7 @@ want what you have.")
(define-public corsix-th
(package
(name "corsix-th")
- (version "0.63")
+ (version "0.64")
(source
(origin
(method git-fetch)
@@ -524,7 +595,7 @@ want what you have.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1rkyk8g55xny276s0hr5k8mq6f4nzz56d3k2mp09dzfymrqb8hgi"))))
+ (base32 "0chh9cv2kdc39sr0x8hclcyzd8dz2y6grgagqzkvr7j570wa5cqh"))))
(build-system cmake-build-system)
(arguments
`(#:phases
@@ -979,7 +1050,7 @@ automata. The following features are available:
(define-public julius
(package
(name "julius")
- (version "1.4.0")
+ (version "1.4.1")
(source
(origin
(method git-fetch)
@@ -988,7 +1059,7 @@ automata. The following features are available:
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "01rygr592ar530qv1flmaiq8icl0qdxgc8lhkcdyn1g09941z47v"))
+ (base32 "12hhnhdwgz7hd3hlndbnk15pxggm1375qs0764ija4nl1gbpb110"))
;; Remove unused bundled libraries.
(modules '((guix build utils)))
(snippet
@@ -1011,6 +1082,45 @@ does not include game data.")
(license (list license:agpl3
license:zlib)))) ; ext/tinyfiledialogs
+(define-public augustus
+ (package
+ (inherit julius)
+ (name "augustus")
+ (version (package-version julius))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Keriew/augustus")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ii0w0iwa9zv5bbqfcps5mxifd796m6fw4gvjf09pkm3yjgqc0ag"))
+ ;; Remove unused bundled libraries.
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (with-directory-excursion "ext"
+ (for-each delete-file-recursively '("dirent" "png" "SDL2" "zlib")))
+ #t))))
+ (arguments
+ ;; No tests. See https://github.com/Keriew/augustus/issues/82.
+ `(#:tests? #f))
+ (home-page "https://github.com/Keriew/augustus")
+ (synopsis "Re-implementation of Caesar III game engine with gameplay changes")
+ (description
+ "Fork of Julius, an engine for the a city-building real-time strategy
+game Caesar III. Gameplay enhancements include:
+
+@itemize
+@item roadblocks;
+@item market special orders;
+@item global labour pool;
+@item partial warehouse storage;
+@item increased game limits;
+@item zoom controls.
+@end itemize\n")))
+
(define-public meandmyshadow
(package
(name "meandmyshadow")
@@ -1158,15 +1268,15 @@ destroying an ancient book using a special wand.")
(define-public gnome-chess
(package
(name "gnome-chess")
- (version "3.36.0")
+ (version "3.36.1")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
+ (uri (string-append "mirror://gnome/sources/gnome-chess/"
(version-major+minor version) "/"
- name "-" version ".tar.xz"))
+ "gnome-chess-" version ".tar.xz"))
(sha256
(base32
- "1a9fgi749gy1f60vbcyrqqkab9vqs42hji70q73k1xx8rv0agmg0"))))
+ "165bk8s3nngyqbikggspj4rff5nxxfkfcmgzjb4grmsrgbqwk5di"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t
@@ -1315,15 +1425,14 @@ Chess). It is similar to standard chess but this variant is far more complicate
(define-public ltris
(package
(name "ltris")
- (version "1.0.19")
+ (version "1.0.20")
(source
(origin
(method url-fetch)
(uri (string-append "http://prdownloads.sourceforge.net/lgames/"
"ltris-" version ".tar.gz"))
(sha256
- (base32
- "1895wv1fqklrj4apkz47rnkcfhfav7zjknskw6p0886j35vrwslg"))))
+ (base32 "16zbqsc4amx9g3yjv6054nh4ia09dgfp8k6q4qxpjicl3dw3z0in"))))
(build-system gnu-build-system)
(arguments
'(;; The code in LTris uses traditional GNU semantics for inline functions
@@ -1734,6 +1843,118 @@ can be explored and changed freely.")
license:gpl3+
license:silofl1.1))))
+(define-public seahorse-adventures
+ (package
+ (name "seahorse-adventures")
+ (version "1.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dulsi/seahorse-adventures.git")
+ (commit (string-append "release-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1rnvk06npaqcpjz5z6xcmssz61i32s422lydp49vrnf3j2g4yimd"))
+ (modules '((guix build utils)
+ (ice-9 ftw)
+ (srfi srfi-1)))
+ ;; Remove non-free (non-commercial) font.
+ (snippet
+ `(begin
+ (for-each delete-file (find-files "data/fonts" "."))
+ #t))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f ;no test
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'build) ;pure Python
+ (replace 'install ;no install script
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (share (string-append out "/share"))
+ (applications (string-append share "/applications"))
+ (data (string-append share "/seahorse-adventures")))
+ ;; Install data.
+ (for-each (lambda (f)
+ (chmod f #o555)
+ (install-file f data))
+ '("leveledit.py" "run_game.py" "tileedit.py"))
+ (for-each (lambda (dir)
+ (let ((target (string-append data "/" dir)))
+ (mkdir-p target)
+ (copy-recursively dir target)))
+ '("data" "lib"))
+ ;; Create executable.
+ (mkdir-p bin)
+ (let ((executable (string-append bin "/seahorse-adventures")))
+ (call-with-output-file executable
+ (lambda (p)
+ (format p
+ "#!~a~@
+ export PYTHONPATH=~a:~a~@
+ exec -a \"~a\" ~a \"$@\"~%"
+ (which "bash") data (getenv "PYTHONPATH")
+ (which "python3")
+ (string-append data "/run_game.py"))))
+ (chmod executable #o555))
+ ;; Add desktop file.
+ (mkdir-p applications)
+ (make-desktop-entry-file
+ (string-append applications "/seahorse-adventures.desktop")
+ #:name "Seahorse Adventures"
+ #:comment
+ '((#f "Help Barbie the seahorse float on bubbles to the moon"))
+ #:exec ,name
+ #:icon ,name
+ #:categories '("Game" "ActionGame")
+ #:keywords '("game" "retro" "platform"))
+ ;; Add icons.
+ (for-each
+ (lambda (size)
+ (let ((dir (string-append share "/icons/hicolor/"
+ size "x" size "/apps")))
+ (mkdir-p dir)
+ (copy-file
+ (string-append "icon" size ".png")
+ (string-append dir "/searhorse-adventures.png"))))
+ '("32" "64" "128")))
+ #t))
+ (add-after 'install 'unbundle-fonts
+ ;; Unbundle Bitstream Vera font and replace deleted one.
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (data (string-append out "/share/seahorse-adventures"))
+ (vera (string-append (assoc-ref inputs "font-bitstream-vera")
+ "/share/fonts/truetype/Vera.ttf")))
+ (let ((themes-dir (string-append data "/data/themes/")))
+ (for-each
+ (lambda (theme)
+ (let ((target (string-append themes-dir theme "/Vera.ttf")))
+ (delete-file target)
+ (symlink vera target)))
+ '("default" "gray")))
+ (symlink vera (string-append data "/data/fonts/04B_20__.TTF"))
+ (substitute* (string-append data "/lib/main.py")
+ (("f_scale = 0.35") "f_scale = 0.47")))
+ #t)))))
+ (inputs
+ `(("font-bitstream-vera" ,font-bitstream-vera)
+ ("python-pygame" ,python-pygame)))
+ (home-page "http://www.imitationpickles.org/barbie/")
+ (synopsis "Help Barbie the seahorse float on bubbles to the moon")
+ (description
+ "Barbie Seahorse Adventures is a retro style platform arcade game.
+You are Barbie the seahorse who travels through the jungle, up to the
+volcano until you float on bubbles to the moon. On the way to your
+final destination you will encounter various enemies, servants of the
+evil overlord who has stolen the galaxy crystal. Avoid getting hit
+and defeat them with your bubbles!")
+ ;; GPL2+ is for code, CC0 is for art.
+ (license (list license:gpl2+ license:cc0))))
+
(define-public superstarfighter
(package
(name "superstarfighter")
@@ -1892,16 +2113,15 @@ that beneath its ruins lay buried an ancient evil.")
(define-public angband
(package
(name "angband")
- (version "4.2.0")
+ (version "4.2.1")
(source
(origin
(method url-fetch)
- (uri (string-append "http://rephial.org/downloads/"
+ (uri (string-append "https://rephial.org/downloads/"
(version-major+minor version)
"/angband-" version ".tar.gz"))
(sha256
- (base32
- "0vdm1ymm28wawp94nl1p5q3lhc0k7cnn2kkvvrkfx962gif4kqfk"))
+ (base32 "03qdavkj2ik02mqjxmlm5bn17ba3yxb1rirp8ghnxy3bsk4kbmxc"))
(modules '((guix build utils)))
(snippet
;; So, some of the sounds/graphics/tilesets are under different
@@ -1934,7 +2154,7 @@ that beneath its ruins lay buried an ancient evil.")
`(("autoconf" ,autoconf)
("automake" ,automake)))
(inputs `(("ncurses" ,ncurses)))
- (home-page "http://rephial.org/")
+ (home-page "https://rephial.org/")
(synopsis "Dungeon exploration roguelike")
(description "Angband is a Classic dungeon exploration roguelike. Explore
the depths below Angband, seeking riches, fighting monsters, and preparing to
@@ -2972,7 +3192,7 @@ falling, themeable graphics and sounds, and replays.")
(define-public wesnoth
(package
(name "wesnoth")
- (version "1.14.11")
+ (version "1.14.13")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/wesnoth/wesnoth-"
@@ -2981,7 +3201,7 @@ falling, themeable graphics and sounds, and replays.")
"wesnoth-" version ".tar.bz2"))
(sha256
(base32
- "1i8mz6gw3qar09bscczhki0g4scj8pl58v85rp0g55r4bcq41l5v"))))
+ "1pmqj4rah0256qi9w394ksb9apid723i5f5agkg6x1lahb1ac91q"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ;no check target
@@ -3982,7 +4202,7 @@ tactics.")
(define-public starfighter
(package
(name "starfighter")
- (version "2.0.0.3")
+ (version "2.2")
(source (origin
(method url-fetch)
(uri (string-append
@@ -3991,7 +4211,7 @@ tactics.")
(version-major+minor version) "-src.tar.gz"))
(sha256
(base32
- "13vi5kh9ahws4f52421cbyw0jn7pmbnld358lqfmr6flql7ilj3b"))))
+ "1ldd9cbvl694ps4sapr8213m3zjrci7gii5x3kjjfalkikmndpd2"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -5227,7 +5447,7 @@ fish. The whole game is accompanied by quiet, comforting music.")
(define-public crawl
(package
(name "crawl")
- (version "0.24.0")
+ (version "0.25.0")
(source
(origin
(method url-fetch)
@@ -5240,8 +5460,18 @@ fish. The whole game is accompanied by quiet, comforting music.")
(string-append "http://crawl.develz.org/release/stone_soup-"
version "-nodeps.tar.xz")))
(sha256
- (base32 "0kdq6s12myxfdg75ma9x3ys2nd0xwb3xm2ynlmhg4628va0pnixr"))
- (patches (search-patches "crawl-upgrade-saves.patch"))))
+ (base32 "0rn1wjxdqw33caiwisfypm1j8cid3c9pz01ahicl17144zs29z3d"))
+ (patches (search-patches "crawl-upgrade-saves.patch"))
+ ;; The 0.25.0 -nodeps.tar.xz was built from an OSX machine; normally
+ ;; apparently it's built from a Debian machine before the Debian
+ ;; packages are made. These ._* files are binary and have the string
+ ;; "Mac OS X" in them... removing these seems to result in compilation
+ ;; again.
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (for-each delete-file (find-files "." "^\\._"))
+ #t))))
(build-system gnu-build-system)
(inputs
`(("lua51" ,lua-5.1)
@@ -6844,6 +7074,104 @@ when packaged in Blorb container files or optionally from individual files.")
(home-page "http://frotz.sourceforge.net")
(license license:gpl2+))))
+(define-public frozen-bubble
+ ;; Last official release is very outdated (2010). Use latest commit (2017).
+ (let ((commit "d6a029110ad6ab9e4960052e175addc98807fb7e")
+ (revision "1"))
+ (package
+ (name "frozen-bubble")
+ (version (git-version "2.2.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kthakore/frozen-bubble.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1rfrcym5lf4qac2qdklikb1ywijyxypq298azzxahy461dadl6cx"))))
+ (build-system perl-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; Build process needs to create files in the "server"
+ ;; directory.
+ (add-after 'unpack 'fix-permissions
+ (lambda _
+ (for-each make-file-writable
+ (find-files "server" "." #:directories? #t))))
+ ;; By default, build stops at warnings.
+ (add-after 'unpack 'prevent-build-error
+ (lambda _
+ (substitute* "inc/My/Builder.pm"
+ (("-Werror") ""))
+ #t))
+ (add-after 'install 'install-desktop-file-and-icons
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((share (string-append (assoc-ref outputs "out") "/share"))
+ (hicolor (string-append share "/icons/hicolor")))
+ ;; Create desktop entry.
+ (make-desktop-entry-file
+ (string-append share "/applications/" ,name ".desktop")
+ #:name "Frozen Bubble"
+ #:comment "Frozen Bubble arcade game"
+ #:exec ,name
+ #:icon ,name
+ #:categories '("Game" "ArcadeGame"))
+ ;; Add icons.
+ (with-directory-excursion "share/icons"
+ (for-each
+ (lambda (size)
+ (let* ((dim (string-append size "x" size))
+ (dir (string-append hicolor "/" dim "/apps")))
+ (mkdir-p dir)
+ (copy-file
+ (string-append "frozen-bubble-icon-" dim ".png")
+ (string-append dir "/frozen-bubble.png"))))
+ '("16" "32" "48" "64"))))
+ #t))
+ (add-after 'install 'wrap-perl-libs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (perl5lib (getenv "PERL5LIB")))
+ (for-each (lambda (prog)
+ (wrap-program (string-append out "/" prog)
+ `("PERL5LIB" ":" prefix
+ (,(string-append perl5lib ":" out
+ "/lib/perl5/site_perl")))))
+ (find-files "bin" ".")))
+ #t)))))
+ (native-inputs
+ `(("perl-alien-sdl" ,perl-alien-sdl)
+ ("perl-capture-tiny" ,perl-capture-tiny)
+ ("perl-locale-maketext-lexicon" ,perl-locale-maketext-lexicon)
+ ("perl-module-build" ,perl-module-build)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("glib" ,glib)
+ ("perl-compress-bzip2" ,perl-compress-bzip2)
+ ("perl-file-sharedir" ,perl-file-sharedir)
+ ("perl-file-slurp" ,perl-file-slurp)
+ ("perl-file-which" ,perl-file-which)
+ ("perl-ipc-system-simple" ,perl-ipc-system-simple)
+ ("perl-sdl" ,perl-sdl)
+ ("sdl" ,(sdl-union (list sdl sdl-image sdl-mixer sdl-pango sdl-ttf)))))
+ (home-page "http://frozen-bubble.org/")
+ (synopsis "Puzzle with bubbles")
+ (description
+ "Frozen-Bubble is a clone of the popular Puzzle Bobble game, in which
+you attempt to shoot bubbles into groups of the same color to cause them to
+pop.
+
+Players compete as penguins and must use the arrow keys to aim a colored
+bubble at groups of bubbles. The objective is to clear all the bubbles off
+the screen before a bubble passes below a line at the bottom.
+
+It features 100 single-player levels, a two-player mode, music and striking
+graphics. A level editor is also included to allow players to create and play
+their own levels.")
+ (license license:gpl2))))
+
(define-public libmanette
(package
(name "libmanette")
@@ -10275,43 +10603,54 @@ This package is part of the KDE games module.")
(define-public xmoto
(package
(name "xmoto")
- (version "0.5.11")
+ (version "0.6.1")
(source
(origin
- (method url-fetch)
- (uri (string-append
- "http://download.tuxfamily.org/xmoto/xmoto/" version "/"
- "xmoto-" version "-src.tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xmoto/xmoto.git")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "1ci6r8zd0l7z28cy92ddf9dmqbdqwinz2y1cny34c61b57wsd155"))
- (patches
- (search-patches
- "xmoto-remove-glext.patch" ;fixes licensing issue
- "xmoto-reproducible.patch"
- "xmoto-utf8.patch"))
- ;; Unbundle ODE.
- (modules '((guix build utils)))
+ (base32 "00f5ha79lfa2iiaz66wl0hl5dapa1l15qdr7m7knzi0ll7j6z66n"))
+ (modules '((guix build utils)
+ (ice-9 ftw)
+ (srfi srfi-1)))
+ ;; XXX: Remove some bundled libraries. Guix provides Chipmunk, but
+ ;; it appears to be incompatible with the (older) one bundled.
(snippet
`(begin
- (delete-file-recursively "src/ode")
+ (let ((keep '("chipmunk" "glad" "md5sum")))
+ (with-directory-excursion "vendor"
+ (for-each delete-file-recursively
+ (lset-difference string=?
+ (scandir ".")
+ (cons* "." ".." keep))))
+ (substitute* "src/CMakeLists.txt"
+ (("add_subdirectory\\(.*?/vendor/(.+?)\".*" line library)
+ (if (member library keep) line ""))))
#t))))
- (build-system gnu-build-system)
+ (build-system cmake-build-system)
(arguments
- ;; XXX: First flag prevents a build error with GCC7+. The second
- ;; flag works around missing text in game. Both are fixed
- ;; upstream. Remove once xmoto 0.5.12+ is released.
- `(#:make-flags '("CXXFLAGS=-fpermissive -D_GLIBCXX_USE_CXX11_ABI=0")
+ `(#:tests? #f ;no test
#:phases
(modify-phases %standard-phases
- (add-after 'install 'install-desktop-file
+ (add-after 'unpack 'fix-hard-coded-directory
(lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (apps (string-append out "/share/applications"))
- (pixmaps (string-append out "/share/pixmaps")))
- (install-file "extra/xmoto.desktop" apps)
- (install-file "extra/xmoto.xpm" pixmaps)
- #t)))
- (add-after 'install-desktop-file 'install-fonts
+ (substitute* "src/common/VFileIO.cpp"
+ (("/usr/share")
+ (string-append (assoc-ref outputs "out") "/share")))
+ #t))
+ (add-before 'build 'set-SDL
+ ;; Set correct environment for SDL.
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "CPATH"
+ (string-append
+ (assoc-ref inputs "sdl") "/include/SDL:"
+ (or (getenv "CPATH") "")))
+ #t))
+ (add-after 'install 'unbundle-fonts
+ ;; Unbundle DejaVuSans TTF files.
(lambda* (#:key outputs inputs #:allow-other-keys)
(let ((font-dir (string-append (assoc-ref inputs "font-dejavu")
"/share/fonts/truetype/"))
@@ -10323,38 +10662,34 @@ This package is part of the KDE games module.")
(delete-file target)
(symlink font target)))
'("DejaVuSans.ttf" "DejaVuSansMono.ttf"))
- #t)))
- (add-after 'install-fonts 'install-man-page
- (lambda* (#:key outputs #:allow-other-keys)
- (install-file "xmoto.6"
- (string-append (assoc-ref outputs "out")
- "/share/man/man6"))
- #t)))))
+ #t))))))
(native-inputs
- `(("gettext" ,gettext-minimal)))
+ `(("gettext" ,gettext-minimal)
+ ("pkg-config" ,pkg-config)))
(inputs
- `(("curl" ,curl)
+ `(("bzip2" ,bzip2)
+ ("curl" ,curl)
("font-dejavu" ,font-dejavu)
("glu" ,glu)
("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libxdg-basedir" ,libxdg-basedir)
("libxml2" ,libxml2)
- ("lua" ,lua-5.2)
+ ("lua" ,lua-5.1)
("ode" ,ode)
("sdl" ,(sdl-union (list sdl sdl-mixer sdl-net sdl-ttf)))
("sqlite" ,sqlite)
("zlib" ,zlib)))
(home-page "https://xmoto.tuxfamily.org/")
(synopsis "2D motocross platform game")
- (description "X-Moto is a challenging 2D motocross platform game, where
-physics play an all important role in the gameplay. You need to control your
-bike to its limit, if you want to have a chance finishing the more difficult
-challenges.")
+ (description
+ "X-Moto is a challenging 2D motocross platform game, where
+physics play an all important role in the gameplay. You need to
+control your bike to its limit, if you want to have a chance finishing
+the more difficult challenges.")
(license (list license:gpl2+ ;whole project
- license:bsd-4 ;src/bzip
- license:bsd-3 ;src/md5sum
- license:lgpl2.1+ ;src/iqsort.h
+ license:bsd-3 ;vendor/md5sum
+ license:lgpl2.1+
license:expat))))
(define-public eboard