[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#784644: jessie-pu: package freeorion/0.4.4-2+b1



Package: release.debian.org
Severity: normal
Tags: jessie
User: release.debian.org@packages.debian.org
Usertags: pu

Dear release team,

it was reported that FreeOrion FTBFS in Jessie, apparently due to changes
in the freetype library. This is Debian bug

https://bugs.debian.org/783839

I have prepared a fix for this issue and would like to fix it an
upcoming point release for Jessie.

Please find attached the debdiff against the current version in
Jessie.


Regards,

Markus
diff -Nru freeorion-0.4.4/debian/changelog freeorion-0.4.4/debian/changelog
--- freeorion-0.4.4/debian/changelog	2014-10-01 02:15:49.000000000 +0200
+++ freeorion-0.4.4/debian/changelog	2015-05-07 13:17:14.000000000 +0200
@@ -1,3 +1,10 @@
+freeorion (0.4.4-2+deb8u1) jessie; urgency=medium
+
+  * Add fix-FTBFS.patch, fix compiler errors so that FreeOrion can be built
+    from source again. (Closes: #783839)
+
+ -- Markus Koschany <apo@gambaru.de>  Thu, 07 May 2015 13:15:29 +0200
+
 freeorion (0.4.4-2) unstable; urgency=medium
 
   * Switch build-dependency from libjpeg8-dev to libjpeg-dev due to the
diff -Nru freeorion-0.4.4/debian/patches/fix-FTBFS.patch freeorion-0.4.4/debian/patches/fix-FTBFS.patch
--- freeorion-0.4.4/debian/patches/fix-FTBFS.patch	1970-01-01 01:00:00.000000000 +0100
+++ freeorion-0.4.4/debian/patches/fix-FTBFS.patch	2015-05-07 13:17:14.000000000 +0200
@@ -0,0 +1,63 @@
+From: Markus Koschany <apo@gambaru.de>
+Date: Sun, 3 May 2015 21:39:23 +0200
+Subject: fix FTBFS
+
+Fixes some compiler errors due to a newer version of freetype.
+
+Bug: https://bugs.debian.org/783839
+Forwarded: no, already fixed
+---
+ FreeOrion/GG/src/Font.cpp | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/FreeOrion/GG/src/Font.cpp b/FreeOrion/GG/src/Font.cpp
+index 170863b..d3c501c 100644
+--- a/FreeOrion/GG/src/Font.cpp
++++ b/FreeOrion/GG/src/Font.cpp
+@@ -1286,16 +1286,16 @@ void Font::Init(FT_Face& face)
+         for (boost::uint32_t c = low; c < high; ++c) {
+             if (temp_glyph_data.find(c) == temp_glyph_data.end() && GenerateGlyph(face, c)) {
+                 const FT_Bitmap& glyph_bitmap = face->glyph->bitmap;
+-                if ((glyph_bitmap.width > BUF_WIDTH) | (glyph_bitmap.rows > BUF_HEIGHT)) {
++                if ((glyph_bitmap.width > Value(BUF_WIDTH)) | (glyph_bitmap.rows > Value(BUF_HEIGHT))) {
+                     ThrowBadGlyph("GG::Font::Init : Glyph too large for buffer'%1%'", c); // catch broken fonts
+                 }
+ 
+-                if (x + glyph_bitmap.width > BUF_WIDTH) { // start a new row of glyph images
++                if (Value(x) + glyph_bitmap.width > Value(BUF_WIDTH)) { // start a new row of glyph images
+                     if (x > max_x) max_x = x;
+                     x = X0;
+                     y = max_y;
+                 }
+-                if (y + glyph_bitmap.rows > BUF_HEIGHT) { // if there's not enough room, create a new buffer
++                if (Value(y) + glyph_bitmap.rows > Value(BUF_HEIGHT)) { // if there's not enough room, create a new buffer
+                     // cut off bottom and side of buffer just written, if it is possible to do so and maintain power-of-two height
+                     X pow_of_2_x(NextPowerOfTwo(max_x));
+                     Y pow_of_2_y(NextPowerOfTwo(max_y));
+@@ -1312,8 +1312,8 @@ void Font::Init(FT_Face& face)
+                     buffer_vec.push_back(temp_buf);
+                     buffer_sizes.push_back(Pt(BUF_WIDTH, BUF_HEIGHT));
+                 }
+-                if (y + glyph_bitmap.rows > max_y) {
+-                    max_y = y + glyph_bitmap.rows;
++                if (Value(y) + glyph_bitmap.rows > Value(max_y)) {
++                    max_y = y + Y(glyph_bitmap.rows);
+                 }
+ 
+                 boost::uint8_t*  src_start = glyph_bitmap.buffer;
+@@ -1334,13 +1334,13 @@ void Font::Init(FT_Face& face)
+                 // record info on how to find and use this glyph later
+                 temp_glyph_data[c] =
+                     TempGlyphData(static_cast<int>(buffer_vec.size()) - 1,
+-                                  Pt(x, y), Pt(x + glyph_bitmap.width, y + glyph_bitmap.rows),
++                                  Pt(x, y), Pt(x + X(glyph_bitmap.width), y + Y(glyph_bitmap.rows)),
+                                   Y(m_height - 1 + m_descent - face->glyph->bitmap_top),
+                                   X(static_cast<int>((std::ceil(face->glyph->metrics.horiBearingX / 64.0)))),
+                                   X(static_cast<int>((std::ceil(face->glyph->metrics.horiAdvance / 64.0)))));
+ 
+                 // advance buffer write-position
+-                x += glyph_bitmap.width;
++                x += X(glyph_bitmap.width);
+             }
+         }
+     }
diff -Nru freeorion-0.4.4/debian/patches/series freeorion-0.4.4/debian/patches/series
--- freeorion-0.4.4/debian/patches/series	2014-10-01 02:15:49.000000000 +0200
+++ freeorion-0.4.4/debian/patches/series	2015-05-07 13:17:14.000000000 +0200
@@ -1,2 +1,3 @@
 OISInput-config.patch
 GG-verbose-makefile.patch
+fix-FTBFS.patch

Reply to: