gnu: Add xmoto.

* gnu/packages/games.scm (xmoto): New variable.
* gnu/packages/patches/xmoto-remove-glext.patch: New file.
* gnu/packages/patches/xmoto-reproducible.patch: New file.
* gnu/packages/patches/xmoto-utf8.patch: New file.
* gnu/local.mk (dist_patch_DATA): Reference new files.
This commit is contained in:
Nicolas Goaziou 2020-01-05 02:20:35 +01:00
parent 9e016129e1
commit 40d2bddd01
No known key found for this signature in database
GPG key ID: DA00B4F048E92F2D
5 changed files with 152 additions and 1 deletions

View file

@ -1483,6 +1483,9 @@ 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/xsane-fix-memory-leak.patch \
%D%/packages/patches/xsane-fix-pdf-floats.patch \
%D%/packages/patches/xsane-fix-snprintf-buffer-length.patch \

View file

@ -30,7 +30,7 @@
;;; Copyright © 2017, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2017, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 okapi <okapi@firemail.cc>
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2018 Madalin Ionel-Patrascu <madalinionel.patrascu@mdc-berlin.de>
@ -9463,3 +9463,88 @@ (define-public kjumpingcube
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)
("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 of the 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))))

View file

@ -0,0 +1,23 @@
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

View file

@ -0,0 +1,24 @@
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);

View file

@ -0,0 +1,16 @@
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>