WideLands: add recipe

This commit is contained in:
Gerasim Troeglazov
2021-04-11 23:05:54 +10:00
parent 8a7f301872
commit 1487934391
3 changed files with 227 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
resource app_flags B_SINGLE_LAUNCH;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = 0,
variety = B_APPV_FINAL,
internal = 0,
short_info = "WideLands",
long_info = "@LONG_INFO@"
};
resource app_signature "@APP_SIGNATURE@";
resource vector_icon array {
$"6E6369660B04016B050002000602311C573B1E06BD9F8B339D964AAACD497246"
$"008BD105FF2192070200160237D7DA21C59FA313763922544AD49B4B186D00E2"
$"FFB00535020016023865FE225A9EA3076D3916114B9AE44CED1D008DFF790200"
$"06023E31113C8301BADBD93C7E964A5BB547E8C800FFFFFFFF86EE6D03FFAA00"
$"020006023D2773392270B8881F3C8C2C4B0EA44A32CD00BC7105FF7F4C000200"
$"0603BB4EA8B9C1B73AF1A9BC977E4A91944BE15D48E2870650BB7004FF7F4C00"
$"0200060237A86C3B60E0BB9EA737EB4F4BD69148D91200FFFFFFFFFFAA00100A"
$"04B402B880B8D7BA45BA9BBEE1B99AC8DA0A04BBFEB7F9BE83BE30BAE9C21AB8"
$"4DB90B0A04C4E4BA95C61EC0BAC047C5F0C184BA6D0A03B9D4C915C195C11ABD"
$"C0BF1A0A04B3DDB878B797B685BC09B801B8ABBA260604EBBC65BC17BE0FBC95"
$"BC65BC17C088B92DC4D3BA8FC117BD5DC117BD5DBF6CBCDE0A045B41CDA4BD7A"
$"C8E1BBF7C563BE8B060BAAAF2A2D323241393643394848C27BC2F3C326C2ED4F"
$"3EC570BF29C602BEBD5B4047643D433159222E00000A064A3B513C4650535553"
$"5C3D520A044A3B50365738513C0A04513C46504A4D56390A0446504A4D585253"
$"550A04535C5355585158580A102D4A232E292B312D3433392F40314338483456"
$"384A4D58525858535C3D5237410A08545E5C5E6058604D51462E422D4C3D4C0D"
$"0A00010F000A01010E1001178502040A050101023ED7EC0000000000003EAB88"
$"4030E8445BEF0A050102023ED7EC0000000000003EAB884030E8445BEF0A0501"
$"03023ED7EC0000000000003EAB884030E8445BEF0A060104023ED7EC00000000"
$"00003EAB884030E8445BEF0A060105023ED7EC0000000000003EAB884030E844"
$"5BEF0A060106023ED7EC0000000000003EAB884030E8445BEF0A020107023ED7"
$"EC0000000000003EAB884030E8445BEF0A070109000A0A010A000A08020D0B00"
$"0A09010C00"
};

View File

@@ -0,0 +1,77 @@
From b075822dac169dcccb7b1450a75883043210077f Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sun, 11 Apr 2021 21:38:33 +1000
Subject: Fix haiku build
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8091a17..b9799c0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -122,11 +122,7 @@ if (OPTION_BUILD_WINSTATIC)
endif()
set (Boost_USE_MULTITHREADED ON)
set (Boost_DETAILED_FAILURE_MSG ON)
-find_package(Boost 1.48
- COMPONENTS
- unit_test_framework
- REQUIRED
- system)
+find_package(Boost 1.48 REQUIRED)
find_package (PythonInterp REQUIRED)
diff --git a/src/logic/map_objects/backtrace.cc b/src/logic/map_objects/backtrace.cc
index 71e1f4e..16794e8 100644
--- a/src/logic/map_objects/backtrace.cc
+++ b/src/logic/map_objects/backtrace.cc
@@ -21,15 +21,18 @@
#ifndef _WIN32
#ifndef __APPLE__
+#ifndef __HAIKU__
#include <execinfo.h>
#endif
#endif
+#endif
std::string get_backtrace() {
std::string result("Backtrace:\n");
#ifndef _WIN32
#ifndef __APPLE__
+#ifndef __HAIKU__
#define BACKTRACE_STACKSIZE 24
void* stack[BACKTRACE_STACKSIZE];
@@ -41,6 +44,7 @@ std::string get_backtrace() {
}
free(list);
#endif
+#endif
#endif
return result;
}
diff --git a/src/network/network.h b/src/network/network.h
index 7b61b01..b634a3c 100644
--- a/src/network/network.h
+++ b/src/network/network.h
@@ -22,7 +22,15 @@
#include <functional>
+#ifdef __HAIKU__
+#undef _BSD_SOURCE
+#undef _DEFAULT_SOURCE
#include <boost/asio.hpp>
+#define _DEFAULT_SOURCE
+#define _BSD_SOURCE
+#else
+#include <boost/asio.hpp>
+#endif
#include <boost/lexical_cast.hpp>
#include "base/wexception.h"
--
2.30.2

View File

@@ -0,0 +1,109 @@
SUMMARY="A game similar to Settlers 2"
DESCRIPTION="Widelands is a free, open source real-time strategy \
game with singleplayer campaigns and a multiplayer mode. The game \
was inspired by Settlers II™ (© Bluebyte) but has significantly \
more variety and depth to it. Still, it is easy to get started \
through playable tutorials."
HOMEPAGE="https://www.widelands.org/"
COPYRIGHT="2009-2021 By the Widelands Development Team"
LICENSE="GNU GPL v2"
REVISION="1"
srcGitRev="af1afc6d80af17b992570039de3b33ca65eedb98"
SOURCE_URI="https://github.com/widelands/widelands/archive/$srcGitRev.tar.gz"
CHECKSUM_SHA256="1347f5f76c45ef8d71cd9ff85b57281e5a09bddbbcbaebb1fa31f9ff8541ac80"
SOURCE_DIR="widelands-$srcGitRev"
PATCHES="widelands-$portVersion.patchset"
ADDITIONAL_FILES="widelands.rdef.in"
ARCHITECTURES="!x86_gcc2 x86_64"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
widelands$secondaryArchSuffix = $portVersion
app:WideLands$secondaryArchSuffix
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcurl$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libglew$secondaryArchSuffix
lib:libGLU$secondaryArchSuffix
lib:libicuuc$secondaryArchSuffix
lib:libicudata$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:libopenal$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libSDL2_2.0$secondaryArchSuffix
lib:libSDL2_image_2.0$secondaryArchSuffix
lib:libSDL2_ttf$secondaryArchSuffix
lib:libSDL2_mixer_2.0$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libboost_system$secondaryArchSuffix
devel:libcurl$secondaryArchSuffix
devel:libgl$secondaryArchSuffix
devel:libglew$secondaryArchSuffix
devel:libGLU$secondaryArchSuffix
devel:libicuuc$secondaryArchSuffix >= 66
devel:libjpeg$secondaryArchSuffix
devel:libopenal$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:libSDL2$secondaryArchSuffix
devel:libSDL2_image$secondaryArchSuffix
devel:libSDL2_ttf$secondaryArchSuffix
devel:libSDL2_mixer$secondaryArchSuffix
devel:libvorbis$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
BUILD()
{
mkdir -p build
cd build
LDFLAGS="-lbsd -lnetwork -lintl" \
cmake .. \
-DCMAKE_INSTALL_PREFIX=$appsDir/WideLands \
-DWL_INSTALL_DATADIR=$appsDir/WideLands/data \
-DOPTION_BUILD_WEBSITE_TOOLS=OFF \
-DOPTION_BUILD_TESTS=OFF \
-DOPTION_BUILD_CODECHECK=OFF \
-DCMAKE_CXX_FLAGS="-D_BSD_SOURCE" \
-DCMAKE_C_FLAGS="-D_BSD_SOURCE" \
-DCMAKE_BUILD_TYPE=Release
make $jobArgs
}
INSTALL()
{
cd build
make install
mv $appsDir/WideLands/widelands $appsDir/WideLands/WideLands
rm -rf $appsDir/share
local APP_SIGNATURE="application/x-vnd.widelands"
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2 | cut -d~ -f1`"
local LONG_INFO="$SUMMARY"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/widelands.rdef.in > $sourceDir/widelands.rdef
addResourcesToBinaries $sourceDir/widelands.rdef \
$appsDir/WideLands/WideLands
addAppDeskbarSymlink $appsDir/WideLands/WideLands
}