Archived
1
0
Fork 0

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/xf86-video-voodoo-pcitag.patch \
%D%/packages/patches/xfce4-panel-plugins.patch \ %D%/packages/patches/xfce4-panel-plugins.patch \
%D%/packages/patches/xfce4-settings-defaults.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-memory-leak.patch \
%D%/packages/patches/xsane-fix-pdf-floats.patch \ %D%/packages/patches/xsane-fix-pdf-floats.patch \
%D%/packages/patches/xsane-fix-snprintf-buffer-length.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, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org> ;;; 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 okapi <okapi@firemail.cc>
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de> ;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2018 Madalin Ionel-Patrascu <madalinionel.patrascu@mdc-berlin.de> ;;; Copyright © 2018 Madalin Ionel-Patrascu <madalinionel.patrascu@mdc-berlin.de>
@ -9463,3 +9463,88 @@ control of the board by capturing or adding to one square.
This package is part of the KDE games module.") This package is part of the KDE games module.")
(license (list license:gpl2+ license:fdl1.2+)))) (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>