mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-24 19:49:25 -05:00
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:
parent
9e016129e1
commit
40d2bddd01
5 changed files with 152 additions and 1 deletions
|
@ -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 \
|
||||
|
|
|
@ -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))))
|
||||
|
|
23
gnu/packages/patches/xmoto-remove-glext.patch
Normal file
23
gnu/packages/patches/xmoto-remove-glext.patch
Normal 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
|
24
gnu/packages/patches/xmoto-reproducible.patch
Normal file
24
gnu/packages/patches/xmoto-reproducible.patch
Normal 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);
|
16
gnu/packages/patches/xmoto-utf8.patch
Normal file
16
gnu/packages/patches/xmoto-utf8.patch
Normal 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>
|
Loading…
Reference in a new issue