From 0d19dfe16bd4bd0ef5b0df0977f56b94d6cab7e4 Mon Sep 17 00:00:00 2001 From: fervi Date: Tue, 20 May 2025 09:27:26 +0200 Subject: [PATCH 1/5] Newpkg: Lugaru --- ...matched-usage-length-build-fail-on-g.patch | 53 +++++++++++++++++++ tur/lugaru/build.sh | 18 +++++++ tur/lugaru/install_appdata_in_metainfo.patch | 14 +++++ tur/lugaru/lugaru-data.subpackage.sh | 6 +++ 4 files changed, 91 insertions(+) create mode 100644 tur/lugaru/Fix-mismatched-usage-length-build-fail-on-g.patch create mode 100644 tur/lugaru/build.sh create mode 100644 tur/lugaru/install_appdata_in_metainfo.patch create mode 100644 tur/lugaru/lugaru-data.subpackage.sh diff --git a/tur/lugaru/Fix-mismatched-usage-length-build-fail-on-g.patch b/tur/lugaru/Fix-mismatched-usage-length-build-fail-on-g.patch new file mode 100644 index 0000000000..a9557b836f --- /dev/null +++ b/tur/lugaru/Fix-mismatched-usage-length-build-fail-on-g.patch @@ -0,0 +1,53 @@ +From dd685fe9080c2853422d8272792691358ea07dfc Mon Sep 17 00:00:00 2001 +From: Martin Erik Werner +Date: Wed, 8 Mar 2017 22:51:16 +0100 +Subject: [PATCH] Fix mismatched usage length, build fail on g++ +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The length of const option::Descriptor usage[] is intended to be +inferred based on the initialisation in Source/main.cpp, however, the +extern declaration in Source/Game.hpp hard-codes it to 13. + +Remove the hard-coded 13 in the extern declaration, in favour of the +inferred length. + +This also fixes the following build failure with g++ (Debian 4.9.2-10) +4.9.2: +(...)/Source/main.cpp:602:5: error: uninitialized const member ‘option::Descriptor::index’ + }; + ^ +(...)/Source/main.cpp:602:5: warning: missing initializer for member ‘option::Descriptor::index’ [-Wmissing-field-initializers] +(...)/Source/main.cpp:602:5: error: uninitialized const member ‘option::Descriptor::type’ +(...)/Source/main.cpp:602:5: warning: missing initializer for member ‘option::Descriptor::type’ [-Wmissing-field-initializers] +(...)/Source/main.cpp:602:5: error: uninitialized const member ‘option::Descriptor::shortopt’ +(...)/Source/main.cpp:602:5: warning: missing initializer for member ‘option::Descriptor::shortopt’ [-Wmissing-field-initializers] +(...)/Source/main.cpp:602:5: error: uninitialized const member ‘option::Descriptor::longopt’ +(...)/Source/main.cpp:602:5: warning: missing initializer for member ‘option::Descriptor::longopt’ [-Wmissing-field-initializers] +(...)/Source/main.cpp:602:5: error: uninitialized const member ‘option::Descriptor::check_arg’ +(...)/Source/main.cpp:602:5: warning: missing initializer for member ‘option::Descriptor::check_arg’ [-Wmissing-field-initializers] +(...)/Source/main.cpp:602:5: warning: missing initializer for member ‘option::Descriptor::help’ [-Wmissing-field-initializers] +CMakeFiles/lugaru.dir/build.make:54: recipe for target 'CMakeFiles/lugaru.dir/Source/main.cpp.o' failed + +Signed-off-by: Martin Erik Werner +--- + Source/Game.hpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Source/Game.hpp b/Source/Game.hpp +index 51232cc..9bb6adb 100644 +--- a/Source/Game.hpp ++++ b/Source/Game.hpp +@@ -234,7 +234,7 @@ enum optionIndex + /* Number of options + 1 */ + const int commandLineOptionsNumber = 10; + +-extern const option::Descriptor usage[13]; ++extern const option::Descriptor usage[]; + + extern option::Option commandLineOptions[commandLineOptionsNumber]; + extern option::Option* commandLineOptionsBuffer; +-- +2.1.4 + diff --git a/tur/lugaru/build.sh b/tur/lugaru/build.sh new file mode 100644 index 0000000000..c25e6fe03d --- /dev/null +++ b/tur/lugaru/build.sh @@ -0,0 +1,18 @@ +TERMUX_PKG_HOMEPAGE=https://osslugaru.gitlab.io +TERMUX_PKG_DESCRIPTION="Lugaru HD, free and open source ninja rabbit fighting game" +TERMUX_PKG_LICENSE="GPL-2.0" +TERMUX_PKG_MAINTAINER="@termux-user-repository" +TERMUX_PKG_VERSION="1.2" +TERMUX_PKG_SRCURL=https://github.com/osslugaru/lugaru/releases/download/${TERMUX_PKG_VERSION}/lugaru-${TERMUX_PKG_VERSION}.tar.xz +TERMUX_PKG_SHA256=f3ea477caf78911c69939fbdc163f9f6517c7ef2267e716a0e050be1a166ef97 +TERMUX_PKG_DEPENDS="sdl2, glu, openal-soft, lugaru-data" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" +-DCMAKE_INSTALL_PREFIX=/data/data/com.termux/files/usr +-DSYSTEM_INSTALL=ON +-DCMAKE_INSTALL_BINDIR=bin +-DCMAKE_INSTALL_DATADIR=share/games +" + +termux_step_pre_configure() { + export LDFLAGS+=" -Wl,--no-as-needed,-lOpenSLES,--as-needed" +} diff --git a/tur/lugaru/install_appdata_in_metainfo.patch b/tur/lugaru/install_appdata_in_metainfo.patch new file mode 100644 index 0000000000..2ce287e9de --- /dev/null +++ b/tur/lugaru/install_appdata_in_metainfo.patch @@ -0,0 +1,14 @@ +Author: Vincent Prat +Description: Change the destination of AppData files from /usr/share/metadata to /usr/share/metainfo +Forwarded: not-needed +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -306,7 +306,7 @@ + install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/lugaru DESTINATION ${CMAKE_INSTALL_BINDIR}) + # Trailing '/' is significant, it installs and _renames_ Data/ as the destination folder + install(DIRECTORY ${CMAKE_SOURCE_DIR}/Data/ DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}) +- install(FILES ${CMAKE_SOURCE_DIR}/Dist/Linux/lugaru.appdata.xml DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/appdata) ++ install(FILES ${CMAKE_SOURCE_DIR}/Dist/Linux/lugaru.appdata.xml DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/metainfo) + install(FILES ${CMAKE_SOURCE_DIR}/Dist/Linux/lugaru.desktop DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications) + install(FILES ${CMAKE_SOURCE_DIR}/Dist/Linux/lugaru.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/128x128/apps) + install(FILES ${CMAKE_SOURCE_DIR}/Dist/Linux/lugaru.6 DESTINATION ${CMAKE_INSTALL_MANDIR}/man6) diff --git a/tur/lugaru/lugaru-data.subpackage.sh b/tur/lugaru/lugaru-data.subpackage.sh new file mode 100644 index 0000000000..ce3525c74b --- /dev/null +++ b/tur/lugaru/lugaru-data.subpackage.sh @@ -0,0 +1,6 @@ +TERMUX_SUBPKG_DESCRIPTION="Data files for Lugaru" +TERMUX_SUBPKG_PLATFORM_INDEPENDENT=true +TERMUX_SUBPKG_DEPEND_ON_PARENT=no +TERMUX_SUBPKG_INCLUDE=" +share/games/lugaru +" From 7f70e4468b3ee248cd860e1b89a8e7b9c72afd0f Mon Sep 17 00:00:00 2001 From: IntinteDAO Date: Tue, 10 Jun 2025 21:53:51 +0200 Subject: [PATCH 2/5] Lugaru: Fix Prefix --- tur/lugaru/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tur/lugaru/build.sh b/tur/lugaru/build.sh index c25e6fe03d..d7ed553e69 100644 --- a/tur/lugaru/build.sh +++ b/tur/lugaru/build.sh @@ -7,7 +7,7 @@ TERMUX_PKG_SRCURL=https://github.com/osslugaru/lugaru/releases/download/${TERMUX TERMUX_PKG_SHA256=f3ea477caf78911c69939fbdc163f9f6517c7ef2267e716a0e050be1a166ef97 TERMUX_PKG_DEPENDS="sdl2, glu, openal-soft, lugaru-data" TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" --DCMAKE_INSTALL_PREFIX=/data/data/com.termux/files/usr +-DCMAKE_INSTALL_PREFIX=$TERMUX_PREFIX -DSYSTEM_INSTALL=ON -DCMAKE_INSTALL_BINDIR=bin -DCMAKE_INSTALL_DATADIR=share/games From 56d3bfc232c76c6f98c20cfe15f75fc534836fb5 Mon Sep 17 00:00:00 2001 From: Fervi Date: Sun, 6 Jul 2025 13:44:20 +0200 Subject: [PATCH 3/5] Lugaru: Fix Sound loading on Android --- tur/lugaru/fix-sound-loading-on-android.patch | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 tur/lugaru/fix-sound-loading-on-android.patch diff --git a/tur/lugaru/fix-sound-loading-on-android.patch b/tur/lugaru/fix-sound-loading-on-android.patch new file mode 100644 index 0000000000..1f2101733c --- /dev/null +++ b/tur/lugaru/fix-sound-loading-on-android.patch @@ -0,0 +1,12 @@ +diff -ur orig/Source/Audio/openal_wrapper.cpp mod/Source/Audio/openal_wrapper.cpp +--- orig/Source/Audio/openal_wrapper.cpp 2017-02-11 20:09:37.000000000 +0100 ++++ mod/Source/Audio/openal_wrapper.cpp 2025-07-06 10:30:30.359535461 +0200 +@@ -316,7 +316,7 @@ + // !!! FIXME: if it's not Ogg, we don't have a decoder. I'm lazy. :/ + char* fname = (char*)alloca(strlen(_fname) + 16); + strcpy(fname, _fname); +- char* ptr = strchr(fname, '.'); ++ char* ptr = strrchr(fname, '.'); + if (ptr) { + *ptr = '\0'; + } From 98fec8e07c68b5c60e97dcb38664af4fbbdb82d3 Mon Sep 17 00:00:00 2001 From: IntinteDAO Date: Sat, 12 Jul 2025 13:16:01 +0200 Subject: [PATCH 4/5] Update PKG Maintainer --- tur/lugaru/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tur/lugaru/build.sh b/tur/lugaru/build.sh index d7ed553e69..b57379b8dd 100644 --- a/tur/lugaru/build.sh +++ b/tur/lugaru/build.sh @@ -1,7 +1,7 @@ TERMUX_PKG_HOMEPAGE=https://osslugaru.gitlab.io TERMUX_PKG_DESCRIPTION="Lugaru HD, free and open source ninja rabbit fighting game" TERMUX_PKG_LICENSE="GPL-2.0" -TERMUX_PKG_MAINTAINER="@termux-user-repository" +TERMUX_PKG_MAINTAINER="@IntinteDAO" TERMUX_PKG_VERSION="1.2" TERMUX_PKG_SRCURL=https://github.com/osslugaru/lugaru/releases/download/${TERMUX_PKG_VERSION}/lugaru-${TERMUX_PKG_VERSION}.tar.xz TERMUX_PKG_SHA256=f3ea477caf78911c69939fbdc163f9f6517c7ef2267e716a0e050be1a166ef97 From ca1d1072bdfe2f2066c86617114ceb6f49f20c21 Mon Sep 17 00:00:00 2001 From: IntinteDAO Date: Sun, 20 Jul 2025 22:28:31 +0200 Subject: [PATCH 5/5] Enforcing backward compatibility of CMake with version 3.5 --- tur/lugaru/build.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/tur/lugaru/build.sh b/tur/lugaru/build.sh index b57379b8dd..7d29a16e16 100644 --- a/tur/lugaru/build.sh +++ b/tur/lugaru/build.sh @@ -11,6 +11,7 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" -DSYSTEM_INSTALL=ON -DCMAKE_INSTALL_BINDIR=bin -DCMAKE_INSTALL_DATADIR=share/games +-DCMAKE_POLICY_VERSION_MINIMUM=3.5 " termux_step_pre_configure() {