Package: release.debian.org Severity: normal Tags: jessie User: release.debian....@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 <a...@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 <a...@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