[yocto] [PATCH 1/2] libgdiplus: Fix build error relating to missing freetype/tttables.h, and update to libgdiplus 2.10.8

Alex J Lennon ajlennon at dynamicdevices.co.uk
Tue Feb 25 10:48:17 PST 2014


- libgdiplus 2.10 is fairly old, released 3 years ago (cea5a3f)
- libgdiplus 2.10.8 is curently the most recent release available on GitHub and is also old, released 2 years ago (5179dd3)
- there have been a substantial number of commits since these releases so it may be worth considering a recipe to build from a specific git commit (thoughts appreciated)

@see: https://github.com/mono/libgdiplus/releases

libgdiplus-2.10 and libgdiplus-2.10.8 recipes fail to build currently with an error

 gdiplus-private.h:33:31: fatal error: freetype/tttables.h: No such file or directory

This is a known issue addressed by commit 180c02e into master on 16/12/13. From the commit message,

"As of FreeType 2.1.6 (November 2003), using #include to include Freetype libraries directly is not supported.
This has come to a head, as in FreeType 2.5.0, the location of headers has been moved around, breaking building of libgdiplus.
This slight change uses the "official" way to include the required header file, without breaking building on older versions of the library."

Signed-off-by: Alex J Lennon <ajlennon at dynamicdevices.co.uk>
---
 ...gdiplus-2.10.x-use-freetype-include-macro.patch |   14 ++++++++++++++
 .../{libgdiplus_2.10.bb => libgdiplus_2.10.8.bb}   |    8 ++++----
 2 files changed, 18 insertions(+), 4 deletions(-)
 create mode 100644 recipes-mono/libgdiplus/files/libgdiplus-2.10/libgdiplus-2.10.x-use-freetype-include-macro.patch
 rename recipes-mono/libgdiplus/{libgdiplus_2.10.bb => libgdiplus_2.10.8.bb} (68%)

diff --git a/recipes-mono/libgdiplus/files/libgdiplus-2.10/libgdiplus-2.10.x-use-freetype-include-macro.patch b/recipes-mono/libgdiplus/files/libgdiplus-2.10/libgdiplus-2.10.x-use-freetype-include-macro.patch
new file mode 100644
index 0000000..bce4e9b
--- /dev/null
+++ b/recipes-mono/libgdiplus/files/libgdiplus-2.10/libgdiplus-2.10.x-use-freetype-include-macro.patch
@@ -0,0 +1,14 @@
+diff -ur libgdiplus-2.10.8.org/src/gdiplus-private.h libgdiplus-2.10.8/src/gdiplus-private.h
+--- libgdiplus-2.10.8.org/src/gdiplus-private.h 2014-02-05 17:50:30.979205246 +0000
++++ libgdiplus-2.10.8/src/gdiplus-private.h     2014-02-05 17:51:54.519205465 +0000
+@@ -30,7 +30,8 @@
+ #include <stdio.h>
+ #include <math.h>
+ #include <glib.h>
+-#include <freetype/tttables.h>
++#include <ft2build.h>
++#include FT_TRUETYPE_TABLES_H
+ #include <pthread.h>
+ #include <unistd.h>
+
+
diff --git a/recipes-mono/libgdiplus/libgdiplus_2.10.bb b/recipes-mono/libgdiplus/libgdiplus_2.10.8.bb
similarity index 68%
rename from recipes-mono/libgdiplus/libgdiplus_2.10.bb
rename to recipes-mono/libgdiplus/libgdiplus_2.10.8.bb
index 216e329..8326a88 100644
--- a/recipes-mono/libgdiplus/libgdiplus_2.10.bb
+++ b/recipes-mono/libgdiplus/libgdiplus_2.10.8.bb
@@ -6,9 +6,10 @@ SECTION = "libs"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=fe7364dfce9f3689eb6995e7cdd56879"
 
-SRC_URI = "http://download.mono-project.com/sources/libgdiplus/libgdiplus-${PV}.tar.bz2 \
+SRC_URI = "https://github.com/mono/libgdiplus/archive/${PV}.tar.gz \
            file://libgdiplus-2.10/cairo/configure.in.diff \
            file://libgdiplus-2.10/libgdiplus-2.10.1-libpng15.patch \
+	   file://libgdiplus-2.10/libgdiplus-2.10.x-use-freetype-include-macro.patch \
 	"
 
 inherit autotools pkgconfig
@@ -17,9 +18,8 @@ DEPENDS =+ "cairo freetype fontconfig libxft libpng"
 
 PR = "r1"
 
-SRC_URI[md5sum] = "451966e8f637e3a1f02d1d30f900255d"
-SRC_URI[sha256sum] = "2d9e0397ef5583ed855eaafcdac8cabbe1d58463ed1e4b545be6dde5b63712a4"
-
+SRC_URI[md5sum] = "6fd45bbb9843f5a8851b5f44e2a5dd04"
+SRC_URI[sha256sum] = "45c533dc72af0a24d1d3a8097873f5fe1670107fe7e6d08fb71ae586c87a0f1d"
 
 FILES_${PN} += "${libdir}/libgdiplus.so"
 INSANE_SKIP_${PN} += "dev-so"
-- 
1.7.9.5




More information about the yocto mailing list