Minetest: add recipe for 0.4.17.1 version

This commit is contained in:
Gerasim Troeglazov
2018-09-14 23:45:57 +10:00
parent 3d18e2591c
commit 7190ad99c1
3 changed files with 386 additions and 0 deletions

View File

@@ -0,0 +1,66 @@
resource app_flags B_SINGLE_LAUNCH;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = @MINOR@,
variety = B_APPV_FINAL,
internal = 0,
short_info = "MineTest",
long_info = "@LONG_INFO@"
};
resource app_signature "@APP_SIGNATURE@";
resource vector_icon array {
$"6E6369661403E9B96E03573A0D032E34360355575303FCE94F036258020373D2"
$"1603325B0903729FCF0319314B012E34363F04003F03C17D11038F5902034E9A"
$"060331600403EF292903888A8505000400801C0A06B4D7BEB0B4D7C50E4360CB"
$"2CC4EBCB2CBED346300A06B4D7BEB0B4D7C50E4360CB2CC4EBCB2CBED346300A"
$"0AB782C36BB674C2CEB674C5FEBC3358BC33C83EBB4754BB47C6A632C60432C3"
$"E4B782C25A0A0AB782C36BB674C2CEB674C5FEBC3358BC33C83EBB4754BB47C6"
$"A632C60432C3E4B782C25A0A07B6AE50B885C50EBA5C50BB3AC6A0BB3AC7B1BC"
$"4CC84EBC4CC95E0A07B6AE50B885C50EBA5C50BB3AC6A0BB3AC7B1BC4CC84EBC"
$"4CC95E0A09C0CDBD184ABEC94ABFD9C73BC1DEC914C0D0CB2CBF9ACB2CC0F3CB"
$"2CBED3C47A340A09C0CDBD184ABEC94ABFD9C73BC1DEC914C0D0CB2CBF9ACB2C"
$"C0F3CB2CBED3C47A340A04C031BCBEC4CCBA15C4CCBB26C031BDCE0A04C031BC"
$"BEC4CCBA15C4CCBB26C031BDCE0A064530B4D7BEB0BC4CC2FE4ABEC9C031BCBE"
$"4B320A06462FB4D7BEB0BC4CC2FE4ABEC9C031BCBEC4CCBA150A0ABC4CC40DBC"
$"4CC51EBD1EC598BD1EC6A64356C664C490C664C36EC772C2D0C772C1FF4ABFD9"
$"0A0ABC4CC40DBC4CC51EBD1EC598BD1EC6A64356C664C490C664C36EC772C2D0"
$"C772C1FF4ABFD90A04BA5CBD9EBE0A40BA5CC1DEB6AE400A04BA5CBD9EBE0A40"
$"BA5CC1DEB6AE400A06B96FBF36BA5C40BB47BF36BB47BC06BA5CBB80B96FBC06"
$"0A06B96FBF36BA5C40BB47BF36BB47BC06BA5CBB80B96FBC060A06B67435BA5C"
$"BD9EBDE4BB95BDE4B728BA5CB520B674B7610A06B67435BA5CBD9EBDE4BB95BD"
$"E4B728BA5CB520B674B7610A04C73DBD9ECA00BF36C73DC0D0C47ABF360A06C6"
$"64BF40C73D40C7FBBF51C7FBBADDC73DBA6EC664BB010A06C664BF40C73D40C7"
$"FBBF51C7FBBADDC73DBA6EC664BB010802B96F4C2FC4420A08CB2CC133C90AC2"
$"6DC90AC2F4C7FCC391C7FCC4A152C53E52C75FCB2CC4EB0A08CB2CC133C90AC2"
$"6DC90AC2F4C7FCC391C7FCC4A152C53E52C75FCB2CC4EB06136A9A6A9B29243D"
$"2D3928352A32243C2A32462D4E314D345035325331C69131C810315632385E3C"
$"4E4361244E0A06435C475E5D4D5F4A5F40593C1C0A13011B000A12011A123FAD"
$"6B0000000000003FD0BCBF5AD6BFA17901178422040A000100023FAD6B000000"
$"0000003FD0BCBF5AD6BFA1790A010101123FAD6B0000000000003FD0BCBF5AD6"
$"BFA17901178110040A020102023FAD6B0000000000003FD0BCBF5AD6BFA1790A"
$"020103123FAD6B0000000000003FD0BCBF5AD6BFA17901178120040A03010402"
$"3FAD6B0000000000003FD0BCBF5AD6BFA1790A020105123FAD6B000000000000"
$"3FD0BCBF5AD6BFA17901178100040A040106023FAD6B0000000000003FD0BCBF"
$"5AD6BFA1790A050107123FAD6B0000000000003FD0BCBF5AD6BFA17901178122"
$"040A000108023FAD6B0000000000003FD0BCBF5AD6BFA1790A010109123FAD6B"
$"0000000000003FD0BCBF5AD6BFA17901178122040A06010A023FAD6B00000000"
$"00003FD0BCBF5AD6BFA1790A07010B123FAD6B0000000000003FD0BCBF5AD6BF"
$"A17901178112040A08010C023FAD6B0000000000003FD0BCBF5AD6BFA1790A09"
$"010D123FAD6B0000000000003FD0BCBF5AD6BFA17901178120040A0A010E023F"
$"AD6B0000000000003FD0BCBF5AD6BFA1790A0B010F123FAD6B0000000000003F"
$"D0BCBF5AD6BFA17901178120040A0C0110023FAD6B0000000000003FD0BCBF5A"
$"D6BFA1790A0D0111123FAD6B0000000000003FD0BCBF5AD6BFA1790117812004"
$"0A0E0112023FAD6B0000000000003FD0BCBF5AD6BFA1790A0F0113123FAD6B00"
$"00000000003FD0BCBF5AD6BFA17901178120040A0A0114023FAD6B0000000000"
$"003FD0BCBF5AD6BFA1790A0E0115023FAD6B0000000000003FD0BCBF5AD6BFA1"
$"790A0F0116123FAD6B0000000000003FD0BCBF5AD6BFA17901178120040A1001"
$"17123FAD6B0000000000003FD0BCBF5AD6BFA17901178000040A110118023FAD"
$"6B0000000000003FD0BCBF5AD6BFA1790A020119123FAD6B0000000000003FD0"
$"BCBF5AD6BFA1790117812004"
};

View File

@@ -0,0 +1,130 @@
SUMMARY="An InfiniMiner/Minecraft inspired game"
DESCRIPTION="Minetest, an open source infinite-world block sandbox game engine with support for survival and crafting."
HOMEPAGE="https://www.minetest.net/"
COPYRIGHT="2018 The Minetest Team"
LICENSE="GNU LGPL v2.1
Apache v2"
REVISION="1"
SOURCE_URI="https://github.com/minetest/minetest/archive/$portVersion.tar.gz"
CHECKSUM_SHA256="cd25d40c53f492325edabd2f6397250f40a61cb9fe4a1d4dd6eb030e0d1ceb59"
SOURCE_FILENAME="minetest-$portVersion.tar.gz"
SOURCE_DIR="minetest-$portVersion"
gameVersion="0.4.17"
SOURCE_URI_2="https://github.com/minetest/minetest_game/archive/$gameVersion.tar.gz"
CHECKSUM_SHA256_2="f0ab07cb47c1540b2016bf76a36e2eec28b0ea7827bf66fc5447e0c5e5d4495d"
SOURCE_FILENAME_2="minetest_game-$portVersion.tar.gz"
SOURCE_DIR_2="minetest_game-$gameVersion"
PATCHES="minetest-$portVersion.patchset"
ADDITIONAL_FILES="minetest.rdef.in"
ARCHITECTURES="!x86_gcc2 x86_64"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
minetest$secondaryArchSuffix = $portVersion
app:Minetest$secondaryArchSuffix
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libbz2$secondaryArchSuffix
lib:libcurl$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libgmp$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libIrrlicht$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:libjsoncpp$secondaryArchSuffix
lib:libluajit_5.1$secondaryArchSuffix
lib:libncurses$secondaryArchSuffix
lib:libogg$secondaryArchSuffix
lib:libopenal$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libsqlite3$secondaryArchSuffix
lib:libvorbis$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libbz2$secondaryArchSuffix
devel:libcurl$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
devel:libGL$secondaryArchSuffix
devel:libgmp$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libintl$secondaryArchSuffix
devel:libIrrlicht$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix
devel:libjsoncpp$secondaryArchSuffix
devel:libluajit_5.1$secondaryArchSuffix
devel:libncurses$secondaryArchSuffix
devel:libogg$secondaryArchSuffix
devel:libopenal$secondaryArchSuffix
devel:libpng$secondaryArchSuffix
devel:libsqlite3$secondaryArchSuffix
devel:libvorbis$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:cmake
cmd:make
cmd:pkg_config
"
BUILD()
{
rm -rf $sourceDir/games/minetest_game
cp -rf $sourceDir2 $sourceDir/games/minetest_game
cmake . \
-DCMAKE_BUILD_TYPE=Release \
-DCUSTOM_BINDIR="$appsDir/Minetest" \
-DCUSTOM_DOCDIR="$docDir" \
-DCUSTOM_MANDIR="$docDir" \
-DCUSTOM_EXAMPLE_CONF_DIR="$docDir" \
-DCUSTOM_LOCALEDIR="$appsDir/Minetest/locale" \
-DCUSTOM_SHAREDIR="$appsDir/Minetest" \
-DRUN_IN_PLACE=OFF \
-DBUILD_CLIENT=ON \
-DENABLE_CURL=ON \
-DENABLE_CURSES=ON \
-DENABLE_FREETYPE=ON \
-DENABLE_GETTEXT=ON \
-DENABLE_GLES=OFF \
-DENABLE_LEVELDB=OFF \
-DENABLE_LUAJIT=ON \
-DENABLE_POSTGRESQL=OFF \
-DENABLE_REDIS=OFF \
-DENABLE_SPATIAL=OFF \
-DENABLE_SOUND=ON \
-DENABLE_SYSTEM_JSONCPP=ON
make $jobArgs
}
INSTALL()
{
make install
mv $appsDir/Minetest/minetest $appsDir/Minetest/Minetest
local APP_SIGNATURE="application/x-vnd.minetest"
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
local LONG_INFO="$SUMMARY"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/minetest.rdef.in > $sourceDir/minetest.rdef
addResourcesToBinaries $sourceDir/minetest.rdef \
"$appsDir/Minetest/Minetest"
addAppDeskbarSymlink "$appsDir/Minetest/Minetest"
}

View File

@@ -0,0 +1,190 @@
From 680087f6e70369dca3c4a3bbaf19109d83d5fa62 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Fri, 14 Sep 2018 21:41:28 +1000
Subject: Fix build for Haiku
diff --git a/cmake/Modules/FindIrrlicht.cmake b/cmake/Modules/FindIrrlicht.cmake
index 8dda157..b1cfeea 100644
--- a/cmake/Modules/FindIrrlicht.cmake
+++ b/cmake/Modules/FindIrrlicht.cmake
@@ -42,12 +42,16 @@ else()
PATHS
/usr/local/include/irrlicht
/usr/include/irrlicht
+ /system/develop/headers/x86/irrlicht
+ /system/develop/headers/irrlicht
)
find_library(IRRLICHT_LIBRARY NAMES libIrrlicht.so libIrrlicht.a Irrlicht
PATHS
/usr/local/lib
/usr/lib
+ /system/develop/lib/x86
+ /system/develop/lib
)
endif()
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 6663b3c..05b2e5b 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -254,6 +254,12 @@ if(NOT MSVC)
set(USE_GPROF FALSE CACHE BOOL "Use -pg flag for g++")
endif()
+# Haiku endian support
+if(HAIKU)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_BSD_SOURCE")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_BSD_SOURCE")
+endif()
+
# Use cmake_config.h
add_definitions(-DUSE_CMAKE_CONFIG_H)
@@ -297,7 +303,9 @@ if(WIN32)
else()
# Unix probably
if(BUILD_CLIENT)
- find_package(X11 REQUIRED)
+ if (NOT HAIKU)
+ find_package(X11 REQUIRED)
+ endif()
find_package(OpenGL REQUIRED)
find_package(JPEG REQUIRED)
find_package(BZip2 REQUIRED)
@@ -315,7 +323,11 @@ else()
endif(APPLE)
endif(BUILD_CLIENT)
find_package(ZLIB REQUIRED)
- set(PLATFORM_LIBS -lpthread ${CMAKE_DL_LIBS})
+ if(HAIKU)
+ set(PLATFORM_LIBS ${PLATFORM_LIBS} -lintl -lnetwork)
+ else()
+ set(PLATFORM_LIBS -lpthread ${CMAKE_DL_LIBS})
+ endif(HAIKU)
if(APPLE)
set(PLATFORM_LIBS "-framework CoreFoundation" ${PLATFORM_LIBS})
else()
@@ -325,12 +337,12 @@ else()
endif(HAVE_LIBRT)
endif(APPLE)
- if(NOT APPLE)
+ if(NOT APPLE AND NOT HAIKU)
# This way Xxf86vm is found on OpenBSD too
find_library(XXF86VM_LIBRARY Xxf86vm)
mark_as_advanced(XXF86VM_LIBRARY)
set(CLIENT_PLATFORM_LIBS ${CLIENT_PLATFORM_LIBS} ${XXF86VM_LIBRARY})
- endif(NOT APPLE)
+ endif(NOT APPLE AND NOT HAIKU)
# Prefer local iconv if installed
find_library(ICONV_LIBRARY iconv)
diff --git a/src/porting.cpp b/src/porting.cpp
index 0a9de2a..bfa7ecb 100644
--- a/src/porting.cpp
+++ b/src/porting.cpp
@@ -43,7 +43,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <sys/pstat.h>
#endif
#if !defined(_WIN32) && !defined(__APPLE__) && \
- !defined(__ANDROID__) && !defined(SERVER)
+ !defined(__ANDROID__) && !defined(SERVER) && !defined(__HAIKU__)
#define XORG_USED
#endif
#ifdef XORG_USED
@@ -238,7 +238,10 @@ bool getCurrentWorkingDir(char *buf, size_t len)
bool getExecPathFromProcfs(char *buf, size_t buflen)
{
-#ifndef _WIN32
+#if defined(__HAIKU__)
+ sprintf(buf, "/boot/system/apps/Minetest/Minetest");
+ return true;
+#elif defined(_WIN32)
buflen--;
ssize_t len;
--
2.19.0
From 2c6a5e5a93abf41392be44a0ad8fa9dfd6bba268 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Fri, 14 Sep 2018 23:06:52 +1000
Subject: Disable install man
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 95f1f28..39521c8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -177,7 +177,7 @@ install(FILES "doc/texture_packs.txt" DESTINATION "${DOCDIR}")
install(FILES "doc/world_format.txt" DESTINATION "${DOCDIR}")
install(FILES "minetest.conf.example" DESTINATION "${EXAMPLE_CONF_DIR}")
-if(UNIX AND NOT APPLE)
+if(UNIX AND NOT APPLE AND NOT HAIKU)
install(FILES "doc/minetest.6" "doc/minetestserver.6" DESTINATION "${MANDIR}/man6")
install(FILES "misc/net.minetest.minetest.desktop" DESTINATION "${XDG_APPS_DIR}")
install(FILES "misc/net.minetest.minetest.appdata.xml" DESTINATION "${APPDATADIR}")
--
2.19.0
From 2e975d60e6b08c11d24728ff9c1dfdfff9725cfb Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Fri, 14 Sep 2018 23:29:14 +1000
Subject: Default settings for Haiku
diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp
index 181a12b..116a4cd 100644
--- a/src/defaultsettings.cpp
+++ b/src/defaultsettings.cpp
@@ -361,6 +361,11 @@ void set_default_settings(Settings *settings)
settings->setDefault("high_precision_fpu", "true");
settings->setDefault("enable_console", "false");
+#ifdef __HAIKU__
+ settings->setDefault("enable_shaders", "false");
+ settings->setDefault("video_driver", "burningsvideo");
+#endif
+
#ifdef __ANDROID__
settings->setDefault("screenW", "0");
settings->setDefault("screenH", "0");
--
2.19.0
From 568546787f697349f3d91892d10de1c4b29b7b99 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Fri, 14 Sep 2018 23:29:43 +1000
Subject: Path for settings
diff --git a/src/porting.cpp b/src/porting.cpp
index bfa7ecb..ce4bb7e 100644
--- a/src/porting.cpp
+++ b/src/porting.cpp
@@ -471,6 +471,15 @@ bool setSystemPaths()
return true;
}
+//// Haiku
+#elif defined(__HAIKU__)
+
+bool setSystemPaths()
+{
+ path_share = STATIC_SHAREDIR;
+ path_user = std::string(getenv("HOME")) + "/config/settings/" + lowercase(PROJECT_NAME);
+ return true;
+}
#else
--
2.19.0