games/freeorion: Fix build.

Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
JK Wood 2021-07-11 09:27:39 +02:00 committed by Willy Sudiarto Raharjo
parent 04daf541c3
commit e99d3b8224
No known key found for this signature in database
GPG key ID: 3F617144D7238786
2 changed files with 105 additions and 0 deletions

View file

@ -74,6 +74,8 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
patch -p0 < $CWD/ftb.patch
# tell cmake to use clang
export CC=/usr/bin/clang
export CXX=/usr/bin/clang++

103
games/freeorion/ftb.patch Normal file
View file

@ -0,0 +1,103 @@
--- UI/CombatReport/GraphicalSummary.cpp 2021-07-10 14:11:25.281161865 -0500
+++ UI/CombatReport/GraphicalSummary.cpp 2021-07-10 14:11:34.010981701 -0500
@@ -409,91 +409,6 @@
m_y_axis_label->MoveTo(GG::Pt(-m_y_axis_label->MinUsableSize().x / 2 - AXIS_WIDTH, Height()/2 - m_y_axis_label->Height()/2));
}
- void DrawArrow(GG::Pt begin, GG::Pt end) {
- double head_width = 5.0;
- // A vector (math) of the arrow we wish to draw
- GG::Pt direction = end - begin;
- double length = sqrt(1.0*(Value(direction.x)*Value(direction.x) +
- Value(direction.y)*Value(direction.y)));
- if (length == 0) {
- return;
- }
-
- // The point in the main line of the arrow,
- // paraller to which the head ends
- // \.
- // \.
- // --------h-->
- // /.
- // /.
- // h is at the handle
- GG::Pt handle;
- // How much to move off the handle to get to
- // the end point of one of the head lines
- GG::X delta_x;
- GG::Y delta_y;
-
- if (direction.x != 0 && direction.y != 0) {
- // In a skewed arrow we need
- // a bit of geometry to figure out the head
- double x = Value(direction.x);
- double y = Value(direction.y);
- double normalizer = head_width / sqrt(1 + x*x / (y*y));
- delta_x = GG::X(normalizer);
- delta_y = GG::Y(- x / y * normalizer);
-
- handle = end - GG::Pt((head_width / length) * direction.x, (head_width / length) * direction.y);
- } else if (direction.x == 0) {
- // Vertical arrow
- handle = end;
- handle.y -= boost::math::sign(Value(direction.y))*GG::Y(head_width);
- delta_x = GG::X(head_width);
- delta_y = GG::Y0;
- } else {
- //horizontal arrow
- handle = end;
- handle.x -= boost::math::sign(Value(direction.x)) * GG::X(head_width);
- delta_x = GG::X0;
- delta_y = GG::Y(head_width);
- }
-
- GG::Pt left_head = handle;
- GG::Pt right_head = handle;
-
- left_head.x += delta_x;
- left_head.y += delta_y;
- // The other line is on the opposite side of the handle
- right_head.x -= delta_x;
- right_head.y -= delta_y;
-
- GG::glColor(GG::CLR_WHITE);
- glLineWidth(2);
- glDisable(GL_TEXTURE_2D);
-
- GG::GL2DVertexBuffer verts;
- verts.reserve(6);
- verts.store(Value(begin.x), Value(begin.y));
- verts.store(Value(end.x), Value(end.y));
- verts.store(Value(end.x), Value(end.y));
- verts.store(Value(left_head.x), Value(left_head.y));
- verts.store(Value(end.x), Value(end.y));
- verts.store(Value(right_head.x),Value(right_head.y));
- verts.activate();
-
- glDrawArrays(GL_LINES, 0, verts.size());
-
- glEnable(GL_TEXTURE_2D);
- }
-
- void Render() override {
- // Draw the axes outside th3e client area
- GG::Pt begin(ClientUpperLeft().x - AXIS_WIDTH/2, ClientLowerRight().y + AXIS_HEIGHT/2);
- GG::Pt x_end(ClientLowerRight().x, begin.y);
- GG::Pt y_end(begin.x, ClientUpperLeft().y);
- DrawArrow(begin, x_end);
- DrawArrow(begin, y_end);
- }
-
void SizeMove(const GG::Pt& ul, const GG::Pt& lr) override {
GG::Wnd::SizeMove(ul, lr);
DoLayout();
--- universe/Conditions.cpp 2021-07-10 14:11:05.049579392 -0500
+++ universe/Conditions.cpp 2021-07-10 14:13:39.582389758 -0500
@@ -1,5 +1,6 @@
#include "Conditions.h"
+#include <cfloat>
#include "../util/Logger.h"
#include "../util/Random.h"
#include "../util/i18n.h"