[Buildroot] [PATCH v2 03/13] package/minetest: new package
Romain Naour
romain.naour at gmail.com
Mon Jun 12 20:54:00 UTC 2017
Signed-off-by: Romain Naour <romain.naour at gmail.com>
---
v2: add package dependencies comments
add hash file (Bernd)
bump to 0.4.16 (Bernd)
version 0.4.15 Tested-by Bernd
Add a new patch fixing linking with libintl when necessary
---
DEVELOPERS | 1 +
package/Config.in | 1 +
.../0001-CMake-link-with-Intl-when-necessary.patch | 55 +++++++++++++++++
package/minetest/Config.in | 70 ++++++++++++++++++++++
package/minetest/minetest.hash | 2 +
package/minetest/minetest.mk | 44 ++++++++++++++
6 files changed, 173 insertions(+)
create mode 100644 package/minetest/0001-CMake-link-with-Intl-when-necessary.patch
create mode 100644 package/minetest/Config.in
create mode 100644 package/minetest/minetest.hash
create mode 100644 package/minetest/minetest.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index dd12cfe..6ef7b23 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1389,6 +1389,7 @@ F: package/libspatialindex/
F: package/linux-syscall-support/
F: package/lugaru/
F: package/mcelog/
+F: package/minetest/
F: package/openpowerlink/
F: package/physfs/
F: package/stress-ng/
diff --git a/package/Config.in b/package/Config.in
index 75b2436..4d59a68 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -226,6 +226,7 @@ menu "Games"
source "package/lbreakout2/Config.in"
source "package/ltris/Config.in"
source "package/lugaru/Config.in"
+ source "package/minetest/Config.in"
source "package/opentyrian/Config.in"
source "package/opentyrian-data/Config.in"
source "package/prboom/Config.in"
diff --git a/package/minetest/0001-CMake-link-with-Intl-when-necessary.patch b/package/minetest/0001-CMake-link-with-Intl-when-necessary.patch
new file mode 100644
index 0000000..61083f9
--- /dev/null
+++ b/package/minetest/0001-CMake-link-with-Intl-when-necessary.patch
@@ -0,0 +1,55 @@
+From 45ed3aa6be6d70cf76a4f10c81684ab86cb5017f Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour at gmail.com>
+Date: Mon, 12 Jun 2017 21:57:05 +0200
+Subject: [PATCH] CMake: link with Intl when necessary
+
+On non Glibc system linking with Intl library may be needed when
+Gettext support is enabled.
+
+Fixes:
+clientlauncher.cpp:(.text+0xcac): undefined reference to `libintl_gettext'
+clientlauncher.cpp:(.text+0xdf0): undefined reference to `libintl_gettext'
+
+Signed-off-by: Romain Naour <romain.naour at gmail.com>
+---
+ src/CMakeLists.txt | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 7c1a4ee..3f6b3f0 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -70,6 +70,14 @@ if(ENABLE_GETTEXT)
+ endif()
+ set(USE_GETTEXT TRUE)
+ message(STATUS "GetText enabled; locales found: ${GETTEXT_AVAILABLE_LOCALES}")
++ # On some platforms, such as Linux with GNU libc, the gettext
++ # functions are present in the C standard library and libintl
++ # is not required. For other libc (uClibc-ng or musl) libintl
++ # may be required.
++ find_package(Intl)
++ if(NOT Intl_LIBRARIES STREQUAL "")
++ message(STATUS "GetText Intl : ${Intl_LIBRARIES}")
++ endif()
+ endif(GETTEXT_FOUND)
+ else()
+ mark_as_advanced(GETTEXT_ICONV_DLL GETTEXT_INCLUDE_DIR GETTEXT_LIBRARY GETTEXT_MSGFMT)
+@@ -585,6 +593,7 @@ if(BUILD_CLIENT)
+ ${PNG_LIBRARIES}
+ ${X11_LIBRARIES}
+ ${GETTEXT_LIBRARY}
++ ${Intl_LIBRARIES}
+ ${SOUND_LIBRARIES}
+ ${SQLITE3_LIBRARY}
+ ${LUA_LIBRARY}
+@@ -650,6 +659,7 @@ if(BUILD_SERVER)
+ ${SQLITE3_LIBRARY}
+ ${JSON_LIBRARY}
+ ${GETTEXT_LIBRARY}
++ ${Intl_LIBRARIES}
+ ${LUA_LIBRARY}
+ ${GMP_LIBRARY}
+ ${PLATFORM_LIBS}
+--
+2.9.4
+
diff --git a/package/minetest/Config.in b/package/minetest/Config.in
new file mode 100644
index 0000000..d0613a2
--- /dev/null
+++ b/package/minetest/Config.in
@@ -0,0 +1,70 @@
+config BR2_PACKAGE_MINETEST
+ bool "minetest"
+ depends on BR2_INSTALL_LIBSTDCPP # irrlicht
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # jsoncpp
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on BR2_PACKAGE_XORG7 # irrlicht
+ depends on BR2_PACKAGE_HAS_LIBGL # irrlicht
+ depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS
+ select BR2_PACKAGE_IRRLICHT
+ select BR2_PACKAGE_GMP
+ select BR2_PACKAGE_JSONCPP
+ select BR2_PACKAGE_LUAJIT
+ select BR2_PACKAGE_SQLITE
+ select BR2_PACKAGE_ZLIB
+ help
+ Minetest is a near-infinite-world block sandbox game and a
+ game engine, inspired by InfiniMiner, Minecraft, and the
+ like.
+
+ http://www.minetest.net
+
+if BR2_PACKAGE_MINETEST
+
+config BR2_PACKAGE_MINETEST_CLIENT
+ bool
+ select BR2_PACKAGE_BZIP2
+ select BR2_PACKAGE_LIBPNG
+ select BR2_PACKAGE_JPEG
+ select BR2_PACKAGE_XLIB_LIBXXF86VM
+
+config BR2_PACKAGE_MINETEST_SERVER
+ bool
+
+choice
+ prompt "minetest build"
+
+config BR2_PACKAGE_MINETEST_CLIENT_ONLY
+ bool "client only"
+ select BR2_PACKAGE_MINETEST_CLIENT
+ help
+ Build Minetest client only.
+
+config BR2_PACKAGE_MINETEST_SERVER_ONLY
+ bool "server only"
+ select BR2_PACKAGE_MINETEST_SERVER
+ help
+ Build Minetest server only.
+
+config BR2_PACKAGE_MINETEST_CLIENT_SERVER
+ bool "client and server"
+ select BR2_PACKAGE_MINETEST_CLIENT
+ select BR2_PACKAGE_MINETEST_SERVER
+ help
+ Build Minetest client and server.
+
+endchoice
+
+endif
+
+comment "minetest needs a toolchain w/ C++, gcc >= 4.7, threads"
+ depends on !BR2_INSTALL_LIBSTDCPP \
+ || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 \
+ || !BR2_TOOLCHAIN_HAS_THREADS
+
+comment "minetest needs X11, an OpenGL provider, luajit"
+ depends on (BR2_INSTALL_LIBSTDCPP \
+ && BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 \
+ && BR2_TOOLCHAIN_HAS_THREADS)
+ depends on !BR2_PACKAGE_HAS_LIBGL || !BR2_PACKAGE_XORG7 \
+ || !BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS
diff --git a/package/minetest/minetest.hash b/package/minetest/minetest.hash
new file mode 100644
index 0000000..e4276c6
--- /dev/null
+++ b/package/minetest/minetest.hash
@@ -0,0 +1,2 @@
+# Locally calculated
+sha256 0ef3793de9f569746ea78af7a66fe96ef65400019e5e64a04a5c3fa26a707655 minetest-0.4.16.tar.gz
diff --git a/package/minetest/minetest.mk b/package/minetest/minetest.mk
new file mode 100644
index 0000000..929016a
--- /dev/null
+++ b/package/minetest/minetest.mk
@@ -0,0 +1,44 @@
+################################################################################
+#
+# minetest
+#
+################################################################################
+
+MINETEST_VERSION = 0.4.16
+MINETEST_SITE = $(call github,minetest,minetest,$(MINETEST_VERSION))
+MINETEST_LICENSE = LGPL-2.1+, CC-BY-SA-3.0
+MINETEST_LICENSE_FILES = README.txt
+
+MINETEST_DEPENDENCIES = irrlicht gmp jpeg jsoncpp luajit sqlite zlib
+
+MINETEST_CONF_OPTS = \
+ -DDEFAULT_RUN_IN_PLACE=OFF \
+ -DENABLE_CURL=OFF \
+ -DENABLE_GETTEXT=OFF \
+ -DENABLE_SOUND=OFF \
+ -DENABLE_GLES=OFF \
+ -DENABLE_FREETYPE=OFF \
+ -DENABLE_LUAJIT=ON \
+ -DENABLE_CURSES=OFF \
+ -DENABLE_POSTGRESQL=OFF \
+ -DENABLE_LEVELDB=OFF \
+ -DENABLE_REDIS=OFF \
+ -DENABLE_SPATIAL=OFF \
+ -DAPPLY_LOCALE_BLACKLIST=OFF \
+ -DENABLE_SYSTEM_GMP=ON \
+ -DENABLE_SYSTEM_JSONCPP=ON
+
+ifeq ($(BR2_PACKAGE_MINETEST_CLIENT),y)
+MINETEST_DEPENDENCIES += bzip2 jpeg libgl libpng xlib_libXxf86vm
+MINETEST_CONF_OPTS += -DBUILD_CLIENT=ON
+else
+MINETEST_CONF_OPTS += -DBUILD_CLIENT=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_MINETEST_SERVER),y)
+MINETEST_CONF_OPTS += -DBUILD_SERVER=ON
+else
+MINETEST_CONF_OPTS += -DBUILD_SERVER=OFF
+endif
+
+$(eval $(cmake-package))
--
2.9.4
More information about the buildroot
mailing list