Index: head/games/minetest/Makefile =================================================================== --- head/games/minetest/Makefile (revision 507741) +++ head/games/minetest/Makefile (revision 507742) @@ -1,94 +1,118 @@ # Created by: Dmitry Marakasov # $FreeBSD$ PORTNAME= minetest -PORTVERSION= 0.4.17.1 +PORTVERSION= 5.0.1 CATEGORIES= games MAINTAINER= amdmi3@FreeBSD.org COMMENT= Near-infinite-world block sandbox game LICENSE= LGPL21+ LICENSE_FILE= ${WRKSRC}/doc/lgpl-2.1.txt LIB_DEPENDS= libsqlite3.so:databases/sqlite3 \ libgmp.so:math/gmp USE_GITHUB= yes GH_ACCOUNT= minetest USES= cmake iconv:wchar_t LLD_UNSAFE= yes CMAKE_ARGS= -DCUSTOM_MANDIR="${PREFIX}/man" \ -DCUSTOM_EXAMPLE_CONF_DIR="${PREFIX}/etc" PORTDATA= * PORTDOCS= * -OPTIONS_DEFINE= CLIENT SERVER CURL NLS SOUND DOCS EXAMPLES FREETYPE LEVELDB REDIS LUAJIT SPATIAL PGSQL -OPTIONS_DEFAULT=CLIENT SERVER CURL SOUND FREETYPE LUAJIT -OPTIONS_SUB= yes +OPTIONS_DEFINE= CURL SOUND FREETYPE NCURSES LUAJIT \ + DOCS EXAMPLES NLS +OPTIONS_MULTI= COMP +OPTIONS_GROUP= DATABASE -CLIENT_DESC= Build client -SERVER_DESC= Build server -CURL_DESC= Enable cURL support for fetching media -SOUND_DESC= Enable sound -LEVELDB_DESC= Enable LevelDB backend -REDIS_DESC= Enable Redis backend -FREETYPE_DESC= Support for TrueType fonts with unicode -LUAJIT_DESC= LuaJIT support -SPATIAL_DESC= Enable SpatialIndex AreaStore backend +COMP_DESC= Software components +OPTIONS_MULTI_COMP= CLIENT SERVER -CLIENT_CMAKE_ON= -DBUILD_CLIENT=1 -CLIENT_CMAKE_OFF= -DBUILD_CLIENT=0 +DATABASE_DESC= Database support +OPTIONS_GROUP_DATABASE= PGSQL LEVELDB REDIS SPATIAL + +OPTIONS_DEFAULT= CLIENT SERVER \ + CURL SOUND FREETYPE NCURSES LUAJIT +OPTIONS_EXCLUDE_powerpc64= LUAJIT +OPTIONS_SUB= yes + +CLIENT_DESC= Build client +CLIENT_CMAKE_BOOL= BUILD_CLIENT CLIENT_LIB_DEPENDS= libpng.so:graphics/png \ libIrrlicht.so:x11-toolkits/irrlicht -CLIENT_USES= jpeg -CLIENT_USE= GL=gl XORG=x11,xext +CLIENT_USES= gl jpeg +CLIENT_USE= GL=gl XORG=x11,xext,xxf86vm +SERVER_DESC= Build server SERVER_CMAKE_BOOL= BUILD_SERVER + +CURL_DESC= Enable cURL support for fetching media CURL_CMAKE_BOOL= ENABLE_CURL CURL_LIB_DEPENDS= libcurl.so:ftp/curl -NLS_CMAKE_BOOL= ENABLE_GETTEXT -NLS_USES= gettext -NLS_LDFLAGS= -L${LOCALBASE}/lib +SOUND_DESC= Enable sound SOUND_CMAKE_BOOL= ENABLE_SOUND -LEVELDB_CMAKE_BOOL= ENABLE_LEVELDB -LEVELDB_LIB_DEPENDS= libleveldb.so:databases/leveldb -REDIS_CMAKE_BOOL= ENABLE_REDIS -REDIS_LIB_DEPENDS= libhiredis.so:databases/hiredis +FREETYPE_DESC= Support for TrueType fonts with unicode FREETYPE_CMAKE_BOOL= ENABLE_FREETYPE FREETYPE_LIB_DEPENDS= libfreetype.so:print/freetype2 +NCURSES_DESC= Enable ncurses console +NCURSES_CMAKE_BOOL= ENABLE_CURSES +NCURSES_USES= ncurses + +LUAJIT_DESC= LuaJIT support LUAJIT_CMAKE_BOOL= ENABLE_LUAJIT REQUIRE_LUAJIT LUAJIT_LIB_DEPENDS= libluajit-5.1.so:lang/luajit -SPATIAL_LIB_DEPENDS= libspatialindex.so:devel/spatialindex -SPATIAL_CMAKE_BOOL= ENABLE_SPATIAL + PGSQL_USES= pgsql PGSQL_CMAKE_BOOL= ENABLE_POSTGRESQL +LEVELDB_DESC= Enable LevelDB backend +LEVELDB_CMAKE_BOOL= ENABLE_LEVELDB +LEVELDB_LIB_DEPENDS= libleveldb.so:databases/leveldb +REDIS_DESC= Enable Redis backend +REDIS_CMAKE_BOOL= ENABLE_REDIS +REDIS_LIB_DEPENDS= libhiredis.so:databases/hiredis +SPATIAL_DESC= Enable SpatialIndex AreaStore backend +SPATIAL_LIB_DEPENDS= libspatialindex.so:devel/spatialindex +SPATIAL_CMAKE_BOOL= ENABLE_SPATIAL +NLS_CMAKE_BOOL= ENABLE_GETTEXT +NLS_USES= gettext +NLS_LDFLAGS= -L${LOCALBASE}/lib + .include .if ${PORT_OPTIONS:MCLIENT} && ${PORT_OPTIONS:MSOUND} USES+= openal LIB_DEPENDS+= libvorbis.so:audio/libvorbis \ libogg.so:audio/libogg .endif .if ${PORT_OPTIONS:MSERVER} USE_RC_SUBR= ${PORTNAME} USERS= ${PORTNAME} GROUPS= ${PORTNAME} .endif # hacky way to not bring irrlicht and X11 depends for server only .if ! ${PORT_OPTIONS:MCLIENT} && ${PORT_OPTIONS:MSERVER} BUILD_DEPENDS+= ${NONEXISTENT}:x11-toolkits/irrlicht:patch IRRLICHT_INCLUDE_DIR= `${MAKE} -C ${PORTSDIR}/x11-toolkits/irrlicht -V WRKSRC`/include CMAKE_ARGS+= -DIRRLICHT_INCLUDE_DIR:STRING="${IRRLICHT_INCLUDE_DIR}" EXTRA_PATCHES+= ${FILESDIR}/extra-patch-irrlichtdepend .endif + +post-extract: +# make sure no bundled gmp is used + @${RM} -rf ${WRKSRC}/lib/gmp +# bundled jsoncpp is OK, see comment in cmake/Modules/FindJson.cmake +# (not sure if it affects FreeBSD, but too lazy to investigate) +# bundled lua is OK, there's no option to use system one post-patch: @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' \ ${WRKSRC}/cmake/Modules/*.cmake .include Index: head/games/minetest/distinfo =================================================================== --- head/games/minetest/distinfo (revision 507741) +++ head/games/minetest/distinfo (revision 507742) @@ -1,3 +1,3 @@ -TIMESTAMP = 1528743956 -SHA256 (minetest-minetest-0.4.17.1_GH0.tar.gz) = cd25d40c53f492325edabd2f6397250f40a61cb9fe4a1d4dd6eb030e0d1ceb59 -SIZE (minetest-minetest-0.4.17.1_GH0.tar.gz) = 7758675 +TIMESTAMP = 1554132616 +SHA256 (minetest-minetest-5.0.1_GH0.tar.gz) = aa771cf178ad1b436d5723e5d6dd24e42b5d56f1cfe9c930f6426b7f24bb1635 +SIZE (minetest-minetest-5.0.1_GH0.tar.gz) = 8761122 Index: head/games/minetest/files/minetest.in =================================================================== --- head/games/minetest/files/minetest.in (revision 507741) +++ head/games/minetest/files/minetest.in (revision 507742) @@ -1,76 +1,76 @@ #!/bin/sh # $FreeBSD$ # # PROVIDE: minetest # REQUIRE: LOGIN # KEYWORD: shutdown # # Add the following line to /etc/rc.conf[.local] to enable minetest server # # minetest_enable (bool): Set to "NO" by default # Set it to "YES" to enable minetest server # minetest_conffile (str): Path to config file (required). # (default: /usr/local/etc/minetest.conf) # minetest_rundir (str): Path to directory holding a pidfile. # (default: /var/run/minetest) # minetest_user (str): User to run as # (default: minetest) # minetest_group (str): Group to run as # (default: minetest) # minetest_logdir (str): Path to log directory # (default: /var/log/minetest) # minetest_dbdir (str): Path to world database directory # (default: /var/db/minetest) . /etc/rc.subr name=minetest rcvar=minetest_enable load_rc_config ${name} : ${minetest_enable="NO"} : ${minetest_config="/usr/local/etc/minetest.conf"} : ${minetest_rundir="/var/run/minetest"} : ${minetest_user="minetest"} : ${minetest_group="minetest"} : ${minetest_logdir="/var/log/minetest"} : ${minetest_dbdir="/var/db/minetest"} : ${minetest_args:="--logfile ${minetest_logdir}/debug.log --world ${minetest_dbdir}/world ${minetest_flags}"} pidfile= case "${minetest_args}" in *--config\ *) echo "Warning \$minetest_args includes --config option." \ "Please use \$minetest_conffile instead." ;; *) minetest_args="--config ${minetest_config} ${minetest_args}" ;; esac command=/usr/sbin/daemon procname=/usr/local/bin/minetestserver pidfile=${minetest_rundir}/minetest.pid -command_args="-c -f -p ${pidfile} ${procname} ${minetest_args}" +command_args="-c -f -p ${pidfile} /usr/bin/env HOME='${minetest_dbdir}' ${procname} ${minetest_args}" required_files=${minetest_config} start_precmd=minetest_prestart minetest_prestart () { if [ ! -d ${minetest_rundir} ]; then mkdir -m 755 -p ${minetest_rundir} chown -R ${minetest_user}:${minetest_group} ${minetest_rundir} fi if [ ! -d ${minetest_logdir} ]; then mkdir -m 755 -p ${minetest_logdir} chown -R ${minetest_user}:${minetest_group} ${minetest_logdir} fi if [ ! -d ${minetest_dbdir} ]; then mkdir -m 755 -p ${minetest_dbdir}/data chown -R ${minetest_user}:${minetest_group} ${minetest_dbdir} fi } run_rc_command "$1" Index: head/games/minetest/files/patch-src_CMakeLists.txt =================================================================== --- head/games/minetest/files/patch-src_CMakeLists.txt (revision 507741) +++ head/games/minetest/files/patch-src_CMakeLists.txt (revision 507742) @@ -1,10 +1,12 @@ ---- src/CMakeLists.txt.orig 2018-06-03 15:35:20 UTC +Fixes random crashes (especially reproducible when moving in dense +forests), still relevant for 5.0.1 +--- src/CMakeLists.txt.orig 2019-03-31 20:57:45 UTC +++ src/CMakeLists.txt -@@ -758,7 +758,6 @@ else() +@@ -729,7 +729,6 @@ else() set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG ${RELEASE_WARNING_FLAGS} ${WARNING_FLAGS} ${OTHER_FLAGS} -Wall -pipe -funroll-loops") - if(CMAKE_SYSTEM_NAME MATCHES "(Darwin|FreeBSD)") + if(CMAKE_SYSTEM_NAME MATCHES "(Darwin|BSD|DragonFly)") - set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Os") else() set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -ffast-math -fomit-frame-pointer") - endif(CMAKE_SYSTEM_NAME MATCHES "(Darwin|FreeBSD)") + endif(CMAKE_SYSTEM_NAME MATCHES "(Darwin|BSD|DragonFly)") Index: head/games/minetest/pkg-descr =================================================================== --- head/games/minetest/pkg-descr (revision 507741) +++ head/games/minetest/pkg-descr (revision 507742) @@ -1,4 +1,4 @@ Minetest is a near-infinite-world block sandbox game and a game engine, inspired by InfiniMiner, Minecraft, and the like. -WWW: http://www.minetest.net/ +WWW: https://www.minetest.net/