games-sports/xmoto: add 0.6.3

update HOMEPAGE (redirect)

release with SDL2 and cmake_min=3.12

update EAPI 7->8
update LUA_COMPAT w/ lua5-4
add pkgconfig

patches :
use pkg_check glu instead of find_package(OpenGL) which requires libglvnd[X]
upstream removed support for system ode to prevent incompatibility w/ >=ode0.16
because it's not in tree, restore system-ode w/ a version blocker,
otherwise use the bundled lib.
missing includes

add optfeature for the chinese font

Closes: https://bugs.gentoo.org/831879
Closes: https://bugs.gentoo.org/923904
Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr>
Part-of: https://github.com/gentoo/gentoo/pull/43688
Closes: https://github.com/gentoo/gentoo/pull/43688
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Nicolas PARLANT
2025-09-06 07:00:58 +02:00
committed by Sam James
parent 5a3b573f1f
commit 1982708ff7
6 changed files with 211 additions and 0 deletions

View File

@@ -1 +1,2 @@
DIST xmoto-0.6.1.tar.gz 41623870 BLAKE2B a26b89266b05513f2a48a2516ffdd39f05d584e70aa1fb18d463c754acd438cef0b0f1664cc577ebb89012f86dc37e2d52cd9d1310217941f16c9a4085dc3894 SHA512 809e5f149e5679adc2f82313afe654dbd027c0c10292c90e6c1982bdd3f7d0f1305e30b974bba94a92e18aeeff5faa6f0d24be225d4755ae73ad03274adaf60b
DIST xmoto-0.6.3.tar.gz 42113475 BLAKE2B b820c79c65113bab4d349e1251316b608f00ee16c60f587205b4181673783602e6bd7a5079482c5f5ffbf4d7ac1ca673e38f94f4a961610bccc0e4f887d0289b SHA512 7c261058059cd4495fc79cd48fbf729f02bbc5678cbbb340baf2691d52cb8a5a30af89b788facb51991323f9630cff7416388d218f1713033dc4ea58e0727c3e

View File

@@ -0,0 +1,13 @@
avoid find_package(OpenGL) that requires GLX
check glu because that's what xmoto uses
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -39,7 +39,7 @@ find_package(LibLZMA)
find_package(LibXml2 REQUIRED)
if(USE_OPENGL)
- find_package(OpenGL REQUIRED)
+ pkg_check_modules(OPENGL glu REQUIRED)
endif()
if(APPLE)

View File

@@ -0,0 +1,53 @@
merged in upstream
https://bugs.gentoo.org/923904
https://github.com/xmoto/xmoto/pull/213.patch
From 6a54426ce112a585238c3feca0b7ab5a3ac0fe51 Mon Sep 17 00:00:00 2001
From: nikekson <imbatman0xff@gmail.com>
Date: Wed, 27 Aug 2025 13:56:30 +0300
Subject: [PATCH] Add missing <cstdint> includes
Fixes MSYS2 build
---
src/common/DBuffer.cpp | 2 ++
src/common/VFileIO.cpp | 1 +
src/helpers/utf8.h | 1 +
3 files changed, 4 insertions(+)
diff --git a/src/common/DBuffer.cpp b/src/common/DBuffer.cpp
index a49d28dc..093726c5 100644
--- a/src/common/DBuffer.cpp
+++ b/src/common/DBuffer.cpp
@@ -23,7 +23,9 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include "DBuffer.h"
#include "helpers/SwapEndian.h"
+
#include <algorithm>
+#include <cstdint>
void DBuffer::_FreeDBuffer(void) {
/* Free stuff if anything */
diff --git a/src/common/VFileIO.cpp b/src/common/VFileIO.cpp
index 42a4d367..75f8d03c 100644
--- a/src/common/VFileIO.cpp
+++ b/src/common/VFileIO.cpp
@@ -49,6 +49,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#include "XMSession_default.h"
#include "xmoto/UserConfig.h"
+#include <cstdint>
#include <iostream>
#ifdef WIN32
diff --git a/src/helpers/utf8.h b/src/helpers/utf8.h
index 9a58dd93..6dddb49a 100644
--- a/src/helpers/utf8.h
+++ b/src/helpers/utf8.h
@@ -21,6 +21,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#ifndef __XMOTO_UTF8_H__
#define __XMOTO_UTF8_H__
+#include <cstdint>
#include <string>
#include <vector>

View File

@@ -0,0 +1,54 @@
see https://github.com/xmoto/xmoto/commit/bd78a394174df2737da5e90153e6e7e198b0272a
restore system-ode because versions in tree are <0.16
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -4,6 +4,7 @@ option(USE_SDLGFX "Build with SDL2 for g
option(USE_GETTEXT "Build with Gettext for internationalization" ON)
option(PREFER_SYSTEM_BZip2 "Prefer system BZip2" ON)
option(PREFER_SYSTEM_Lua "Prefer system Lua" ON)
+option(PREFER_SYSTEM_ODE "Prefer system ODE" ON)
option(PREFER_SYSTEM_XDG "Prefer system XDG" ON)
option(ALLOW_DEV "Enable some development/debug features" OFF)
option(BUILD_MACOS_BUNDLE "Build xmoto as a macOS Bundle" OFF)
@@ -38,6 +39,8 @@ find_package(JPEG REQUIRED)
find_package(LibLZMA)
find_package(LibXml2 REQUIRED)
+find_package(ODE)
+set(USE_SYSTEM_ODE $<AND:$<BOOL:${PREFER_SYSTEM_ODE}>,$<BOOL:${ODE_FOUND}>>)
if(USE_OPENGL)
find_package(OpenGL REQUIRED)
endif()
@@ -98,10 +101,12 @@ check_prototype_definition(mkdir
MS_MKDIR
)
-add_subdirectory("${PROJECT_SOURCE_DIR}/vendor/libccd" libccd)
+if(NOT PREFER_SYSTEM_ODE)
+ add_subdirectory("${PROJECT_SOURCE_DIR}/vendor/libccd" libccd)
+ add_subdirectory("${PROJECT_SOURCE_DIR}/vendor/ode" ode)
+endif()
add_subdirectory("${PROJECT_SOURCE_DIR}/vendor/chipmunk" chipmunk)
add_subdirectory("${PROJECT_SOURCE_DIR}/vendor/md5sum" md5sum)
-add_subdirectory("${PROJECT_SOURCE_DIR}/vendor/ode" ode)
add_subdirectory("${PROJECT_SOURCE_DIR}/vendor/glad" glad)
configure_file(common/XMBuildConfig.h.in common/XMBuildConfig.h)
@@ -510,7 +515,8 @@ target_link_libraries(xmoto PUBLIC
"$<${USE_SYSTEM_Lua}:${LUA_LIBRARIES}>"
$<$<NOT:${USE_SYSTEM_Lua}>:lua>
md5sum
- ode
+ $<${USE_SYSTEM_ODE}:${ODE_LIBRARY}>
+ $<$<NOT:${USE_SYSTEM_ODE}>:ode>
glad
${CMAKE_DL_LIBS}
${OPENGL_LIBRARIES}
@@ -714,6 +720,7 @@ message("Jpeg libraries: ${JPEG_LI
message("LibXml2 libraries: ${LIBXML2_LIBRARIES}")
message("LibLZMA libraries: ${LIBLZMA_LIBRARIES}")
message("Lua libraries: ${LUA_LIBRARIES}")
+message("Ode libraries: ${ODE_LIBRARY}")
message("OpenGL libraries: ${OPENGL_LIBRARIES}")
message("Png libraries: ${PNG_LIBRARIES}")
message("SDL2 libraries: ${SDL2_LIBRARIES}")

View File

@@ -7,6 +7,7 @@
</maintainer>
<use>
<flag name="double-precision">more precise calculations at the expense of speed</flag>
<flag name="system-ode">Use system <pkg>dev-games/ode</pkg> instead of the bundled one</flag>
</use>
<upstream>
<remote-id type="github">xmoto/xmoto</remote-id>

View File

@@ -0,0 +1,89 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LUA_COMPAT=( lua5-{1..4} )
inherit cmake lua-single optfeature
DESCRIPTION="A challenging 2D motocross platform game, where physics play an important role"
HOMEPAGE="https://xmoto.org"
SRC_URI="https://github.com/xmoto/xmoto/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="double-precision +nls +system-ode"
REQUIRED_USE="${LUA_REQUIRED_USE}"
RDEPEND="
${LUA_DEPS}
app-arch/bzip2
dev-db/sqlite:3
dev-libs/libxdg-basedir
dev-libs/libxml2:=
media-fonts/dejavu
media-libs/glu
media-libs/libglvnd
media-libs/libjpeg-turbo:=
media-libs/libpng:0=
media-libs/libsdl2[joystick,opengl]
media-libs/sdl2-mixer[vorbis]
media-libs/sdl2-net
media-libs/sdl2-ttf
net-misc/curl
sys-libs/zlib:=
nls? ( virtual/libintl )
system-ode? ( <dev-games/ode-0.16[double-precision=] )
"
DEPEND="${RDEPEND}"
BDEPEND="
app-arch/xz-utils
virtual/pkgconfig
nls? ( sys-devel/gettext )
"
PATCHES=(
"${FILESDIR}"/${PN}-0.6.3-system_ode.patch
"${FILESDIR}"/${PN}-0.6.3-find_opengl.patch
"${FILESDIR}"/${PN}-0.6.3-missing_includes.patch
)
src_prepare() {
# fix fonts path
sed -e 's:ASIAN_TTF_FILE=.*)$:ASIAN_TTF_FILE=\\\"'"${EPREFIX}"'/usr/share/fonts/arphicfonts/bkai00mp.ttf\\\"):' \
-i src/CMakeLists.txt || die
sed -e 's:Textures/Fonts/DejaVu:'"${EPREFIX}"'/usr/share/fonts/dejavu/DejaVu:' \
-i src/drawlib/DrawLib.cpp || die
sed -e "/add_subdirectory.*\(bzip2\|lua\|xdgbasedir\)/d" -i src/CMakeLists.txt || die
rm -r vendor/{bzip2,lua,xdgbasedir} || die
if use system-ode; then
rm -r vendor/{ode,libccd} || die
fi
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DLUA_INCLUDE_DIR="$(lua_get_include_dir)"
-DPREFER_SYSTEM_ODE=$(usex system-ode)
-DUSE_GETTEXT=$(usex nls)
)
cmake_src_configure
}
src_install() {
cmake_src_install
# remove bundled fonts
rm -f "${ED}/usr/share/xmoto"/Textures/Fonts/DejaVuSans{Mono,}.ttf || die
}
pkg_postinst() {
optfeature "Chinese font support" media-fonts/arphicfonts
}