diff options
-rw-r--r-- | gnu/local.mk | 3 | ||||
-rw-r--r-- | gnu/packages/games.scm | 187 | ||||
-rw-r--r-- | gnu/packages/patches/xmoto-remove-glext.patch | 23 | ||||
-rw-r--r-- | gnu/packages/patches/xmoto-reproducible.patch | 24 | ||||
-rw-r--r-- | gnu/packages/patches/xmoto-utf8.patch | 16 |
5 files changed, 104 insertions, 149 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 090d0eec36..347d4bbb17 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1609,9 +1609,6 @@ dist_patch_DATA = \ %D%/packages/patches/xf86-video-voodoo-pcitag.patch \ %D%/packages/patches/xfce4-panel-plugins.patch \ %D%/packages/patches/xfce4-settings-defaults.patch \ - %D%/packages/patches/xmoto-utf8.patch \ - %D%/packages/patches/xmoto-remove-glext.patch \ - %D%/packages/patches/xmoto-reproducible.patch \ %D%/packages/patches/xplanet-1.3.1-cxx11-eof.patch \ %D%/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch \ %D%/packages/patches/xplanet-1.3.1-libimage_gif.c.patch \ diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 39669ba1c9..d01d3fc8d9 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -10420,89 +10420,110 @@ This package is part of the KDE games module.") (license (list license:gpl2+ license:fdl1.2+)))) (define-public xmoto - (package - (name "xmoto") - (version "0.5.11") - (source - (origin - (method url-fetch) - (uri (string-append - "http://download.tuxfamily.org/xmoto/xmoto/" version "/" - "xmoto-" version "-src.tar.gz")) - (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))) - (snippet - `(begin - (delete-file-recursively "src/ode") - #t)))) - (build-system gnu-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") - #:phases - (modify-phases %standard-phases - (add-after 'install 'install-desktop-file - (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 - (lambda* (#:key outputs inputs #:allow-other-keys) - (let ((font-dir (string-append (assoc-ref inputs "font-dejavu") - "/share/fonts/truetype/")) - (target-dir (string-append (assoc-ref outputs "out") - "/share/xmoto/Textures/Fonts/"))) - (for-each (lambda (f) - (let ((font (string-append font-dir f)) - (target (string-append target-dir f))) - (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))))) - (native-inputs - `(("gettext" ,gettext-minimal))) - (inputs - `(("curl" ,curl) - ("font-dejavu" ,font-dejavu) - ("glu" ,glu) - ("libjpeg" ,libjpeg-turbo) - ("libpng" ,libpng) - ("libxdg-basedir" ,libxdg-basedir) - ("libxml2" ,libxml2) - ("lua" ,lua-5.2) - ("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.") - (license (list license:gpl2+ ;whole project - license:bsd-4 ;src/bzip - license:bsd-3 ;src/md5sum - license:lgpl2.1+ ;src/iqsort.h - license:expat)))) + ;; The commit below includes a fix to a build error. + (let ((commit "f7ca787d02bd876c6eb989a28b180a05220621ee") + (revision "0")) + (package + (name "xmoto") + (version (git-version "0.6.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/xmoto/xmoto.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1kiwqni58vjdqfb289d1dqcb758hdl2k970dawxq5vdaqrbnsxv4")) + (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. Likewise, Guix provides ODE, but + ;; using it induces rendering issues. Eventually, libccd is + ;; required to compile built-in ODE. + (snippet + `(begin + (let ((keep '("chipmunk" "glad" "libccd" "md5sum" "ode"))) + (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 cmake-build-system) + (arguments + `(#:tests? #f ;no test + #:phases + (modify-phases %standard-phases + ;; Install phase ignores this man page. Install it early, + ;; because the process moves to another directory shortly + ;; after. + (add-after 'unpack 'install-man-page + (lambda* (#:key outputs #:allow-other-keys) + (install-file "xmoto.6" + (string-append (assoc-ref outputs "out") + "/share/man/man6")) + #t)) + (add-after 'unpack 'fix-hard-coded-directory + (lambda* (#:key outputs #:allow-other-keys) + (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/")) + (target-dir (string-append (assoc-ref outputs "out") + "/share/xmoto/Textures/Fonts/"))) + (for-each (lambda (f) + (let ((font (string-append font-dir f)) + (target (string-append target-dir f))) + (delete-file target) + (symlink font target))) + '("DejaVuSans.ttf" "DejaVuSansMono.ttf")) + #t)))))) + (native-inputs + `(("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config))) + (inputs + `(("bzip2" ,bzip2) + ("curl" ,curl) + ("font-dejavu" ,font-dejavu) + ("glu" ,glu) + ("libjpeg" ,libjpeg-turbo) + ("libpng" ,libpng) + ("libxdg-basedir" ,libxdg-basedir) + ("libxml2" ,libxml2) + ("lua" ,lua-5.1) + ("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.") + (license (list license:gpl2+ ;whole project + license:bsd-3 ;vendor/md5sum + license:lgpl2.1+ + license:expat))))) (define-public eboard (package diff --git a/gnu/packages/patches/xmoto-remove-glext.patch b/gnu/packages/patches/xmoto-remove-glext.patch deleted file mode 100644 index ad0c848d1d..0000000000 --- a/gnu/packages/patches/xmoto-remove-glext.patch +++ /dev/null @@ -1,23 +0,0 @@ -Description: Allow building without upstream-supplied glext.h -Author: Stephen Kitt <steve@sk2.org> -Bug: http://todo.xmoto.tuxfamily.org/index.php?do=details&task_id=803 - ---- xmoto-0.5.9+dfsg.orig/src/include/xm_OpenGL.h -+++ xmoto-0.5.9+dfsg/src/include/xm_OpenGL.h -@@ -1,7 +1,6 @@ - #ifdef ENABLE_OPENGL - /* Pull in OpenGL headers */ - /* following scissored from SDL_opengl.h */ --#define __glext_h_ /* Don't let gl.h include glext.h */ - #ifdef HAVE_APPLE_OPENGL_FRAMEWORK - #include <OpenGL/gl.h> /* Header File For The OpenGL Library */ - #include <OpenGL/glu.h> /* Header File For The GLU Library */ -@@ -12,8 +11,5 @@ - #include <GL/gl.h> /* Header File For The OpenGL Library */ - #include <GL/glu.h> /* Header File For The GLU Library */ - #endif --#undef __glext_h_ -- --#include "../glext.h" - - #endif diff --git a/gnu/packages/patches/xmoto-reproducible.patch b/gnu/packages/patches/xmoto-reproducible.patch deleted file mode 100644 index 606f4ec714..0000000000 --- a/gnu/packages/patches/xmoto-reproducible.patch +++ /dev/null @@ -1,24 +0,0 @@ -Description: Avoid __DATE__ and __TIME__ to build reproducibly -Author: Stephen Kitt <skitt@debian.org> - ---- a/src/GameInit.cpp -+++ b/src/GameInit.cpp -@@ -248,7 +248,6 @@ - Logger::setActiv(XMSession::instance()->noLog() == false); /* apply log activ mode */ - - LogInfo(std::string("X-Moto " + XMBuild::getVersionString(true)).c_str()); -- LogInfo("compiled at "__DATE__" "__TIME__); - if(SwapEndian::bigendien) { - LogInfo("Systeme is bigendien"); - } else { ---- a/src/states/StateOptions.cpp -+++ b/src/states/StateOptions.cpp -@@ -1233,8 +1233,6 @@ - int p=25; - makeWindowOptions_infos_line(v_window, "Version", "X-Moto " + XMBuild::getVersionString(true), p); - p+=20; -- makeWindowOptions_infos_line(v_window, "Compilation date", __DATE__ " " __TIME__, p); -- p+=20; - makeWindowOptions_infos_line(v_window, "User data directory", XMFS::getUserDir(FDT_DATA), p); - p+=20; - makeWindowOptions_infos_line(v_window, "User config directory", XMFS::getUserDir(FDT_CONFIG), p); diff --git a/gnu/packages/patches/xmoto-utf8.patch b/gnu/packages/patches/xmoto-utf8.patch deleted file mode 100644 index e5d0dfb2a4..0000000000 --- a/gnu/packages/patches/xmoto-utf8.patch +++ /dev/null @@ -1,16 +0,0 @@ -Description: Build with g++'s new utf8.h -Author: Stephen Kitt <skitt@debian.org> - ---- a/src/helpers/utf8.h -+++ b/src/helpers/utf8.h -@@ -18,8 +18,8 @@ - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - =============================================================================*/ - --#ifndef __UTF8_H__ --#define __UTF8_H__ -+#ifndef __XMOTO_UTF8_H__ -+#define __XMOTO_UTF8_H__ - - #include <vector> - #include <string> |