mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 12:10:06 +02:00
WideLands: add recipe
This commit is contained in:
41
games-strategy/widelands/additional-files/widelands.rdef.in
Normal file
41
games-strategy/widelands/additional-files/widelands.rdef.in
Normal 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"
|
||||
};
|
||||
77
games-strategy/widelands/patches/widelands-1.0~git.patchset
Normal file
77
games-strategy/widelands/patches/widelands-1.0~git.patchset
Normal 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
|
||||
|
||||
109
games-strategy/widelands/widelands-1.0~git.recipe
Normal file
109
games-strategy/widelands/widelands-1.0~git.recipe
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user