kumquat-buildroot/package/minetest/minetest.mk
Romain Naour f26f32882e package/minetest{-game}: bump to version 5.5.1
Release announcement:
5.5.0: https://forum.minetest.net/viewtopic.php?f=18&t=27754
5.1.1: https://forum.minetest.net/viewtopic.php?p=410344#p410344

Back in 2021, the minetest project forked the irrlicht library due to
lack of upstream release [1]. But the irrlicht upstream project is not
really halted since a stable 1.8.5 version has been released [2] and
there is still svn activity.

But the Mintest fork (called irrlichtMt) is attractive since:
  - It use a CMake build system instead of hand written makefiles [3]
  - Bundled libraries has been removed [4] [5]
  - It allows to remove the NEON support workaround for bundled libpng
  - It use git as VCS
  - Improve the licensing information

This irrlichtmt is required since mintest 5.5.0 version but contains
several changes specific to Minetest, so add irrlichtmt as additional
sources using EXTRA_DOWNLOADS.

minetest:
- Add zstd dependency for MapBlock compression [6]
- Freetype is now a build requirement for mintest client [7]
- gcc >= 5.x is now required [8]
- remove upstream patch [9]

minetest-game:
- Add new license files:
    mods/keys/license.txt
    mods/mtg_craftguide/license.txt
    mods/weather/license.txt

[1] https://forum.minetest.net/viewtopic.php?p=393565
[2] https://irrlicht.sourceforge.io/forum/viewtopic.php?f=2&t=52775
[3] 6ce98dce77
[4] 67f1402410
[5] 264f8b72c1
[6] d1624a5521
[7] 76dbd0d2d0
[8] a90b2a4d4f
[9] 7c2826cbc0

Signed-off-by: Romain Naour <romain.naour@gmail.com>
[Arnout: simplify symlink command]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-06-14 20:33:10 +02:00

100 lines
2.7 KiB
Makefile

################################################################################
#
# minetest
#
################################################################################
MINETEST_VERSION = 5.5.1
MINETEST_SITE = $(call github,minetest,minetest,$(MINETEST_VERSION))
MINETEST_LICENSE = LGPL-2.1+ (code), CC-BY-SA-3.0 (textures and sounds), Zlib (irrlicht)
MINETEST_LICENSE_FILES = LICENSE.txt lib/irrlichtmt/doc/irrlicht-license.txt
MINETEST_DEPENDENCIES = gmp jsoncpp luajit sqlite zlib zstd
MINETEST_IRRLICHTMT_VERSION = 1.9.0mt5
MINETEST_EXTRA_DOWNLOADS = $(call github,minetest,irrlicht,$(MINETEST_IRRLICHTMT_VERSION))/irrlicht-$(MINETEST_IRRLICHTMT_VERSION).tar.gz
define MINETEST_IRRLICHTMT_EXTRACT
mkdir -p $(@D)/lib
$(foreach f, $(notdir $(MINETEST_EXTRA_DOWNLOADS)), \
$(call suitable-extractor,$(f)) $(MINETEST_DL_DIR)/$(f) | \
$(TAR) -C $(@D)/lib $(TAR_OPTIONS) -
)
ln -sf irrlicht-$(MINETEST_IRRLICHTMT_VERSION) $(@D)/lib/irrlichtmt
endef
MINETEST_POST_EXTRACT_HOOKS += MINETEST_IRRLICHTMT_EXTRACT
MINETEST_CONF_OPTS = \
-DDEFAULT_RUN_IN_PLACE=OFF \
-DENABLE_GLES=OFF \
-DENABLE_LUAJIT=ON \
-DENABLE_CURSES=OFF \
-DAPPLY_LOCALE_BLACKLIST=OFF \
-DENABLE_SYSTEM_GMP=ON \
-DENABLE_SYSTEM_JSONCPP=ON \
-DBUILD_UNITTESTS=OFF
ifeq ($(BR2_PACKAGE_MINETEST_CLIENT),y)
MINETEST_DEPENDENCIES += bzip2 freetype 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
ifeq ($(BR2_PACKAGE_MINETEST_SOUND),y)
MINETEST_DEPENDENCIES += libvorbis openal
MINETEST_CONF_OPTS += -DENABLE_SOUND=ON
else
MINETEST_CONF_OPTS += -DENABLE_SOUND=OFF
endif
ifeq ($(BR2_PACKAGE_HIREDIS),y)
MINETEST_DEPENDENCIES += hiredis
MINETEST_CONF_OPTS += -DENABLE_REDIS=ON
else
MINETEST_CONF_OPTS += -DENABLE_REDIS=OFF
endif
ifeq ($(BR2_PACKAGE_LEVELDB),y)
MINETEST_DEPENDENCIES += leveldb
MINETEST_CONF_OPTS += -DENABLE_LEVELDB=ON
else
MINETEST_CONF_OPTS += -DENABLE_LEVELDB=OFF
endif
ifeq ($(BR2_PACKAGE_LIBCURL),y)
MINETEST_DEPENDENCIES += libcurl
MINETEST_CONF_OPTS += -DENABLE_CURL=ON
else
MINETEST_CONF_OPTS += -DENABLE_CURL=OFF
endif
ifeq ($(BR2_PACKAGE_LIBSPATIALINDEX),y)
MINETEST_DEPENDENCIES += libspatialindex
MINETEST_CONF_OPTS += -DENABLE_SPATIAL=ON
else
MINETEST_CONF_OPTS += -DENABLE_SPATIAL=OFF
endif
ifeq ($(BR2_PACKAGE_POSTGRESQL),y)
MINETEST_DEPENDENCIES += postgresql
MINETEST_CONF_OPTS += -DENABLE_POSTGRESQL=ON
else
MINETEST_CONF_OPTS += -DENABLE_POSTGRESQL=OFF
endif
ifeq ($(BR2_SYSTEM_ENABLE_NLS),y)
MINETEST_DEPENDENCIES += $(TARGET_NLS_DEPENDENCIES)
MINETEST_CONF_OPTS += -DENABLE_GETTEXT=ON
else
MINETEST_CONF_OPTS += -DENABLE_GETTEXT=OFF
endif
$(eval $(cmake-package))