cairo: update to 1.12.16
authorGrazvydas Ignotas <notasas@gmail.com>
Thu, 2 Oct 2014 23:51:03 +0000 (02:51 +0300)
committerGrazvydas Ignotas <notasas@gmail.com>
Thu, 2 Oct 2014 23:55:16 +0000 (02:55 +0300)
conf/distro/include/angstrom-2008-preferred-versions.inc
recipes/cairo/cairo_1.12.16.bb [new file with mode: 0644]
recipes/cairo/files/0001-Remove-LTO-support.patch [new file with mode: 0644]

index 168e1dc..3ee1cc0 100644 (file)
@@ -4,7 +4,7 @@ PREFERRED_VERSION_autoconf = "2.65"
 PREFERRED_VERSION_autoconf-native = "2.65"
 PREFERRED_VERSION_automake-native = "1.11.1"
 PREFERRED_VERSION_busybox      = "1.13.2"
-PREFERRED_VERSION_cairo                = "1.8.10"
+PREFERRED_VERSION_cairo                = "1.12.16"
 PREFERRED_VERSION_dbus                 = "1.2.22"
 PREFERRED_VERSION_dropbear      = "0.51"
 PREFERRED_VERSION_fontconfig   = "2.8.0"
diff --git a/recipes/cairo/cairo_1.12.16.bb b/recipes/cairo/cairo_1.12.16.bb
new file mode 100644 (file)
index 0000000..4c4bfc7
--- /dev/null
@@ -0,0 +1,76 @@
+SUMMARY = "The Cairo 2D vector graphics library"
+DESCRIPTION = "Cairo is a multi-platform library providing anti-aliased \
+vector-based rendering for multiple target backends. Paths consist \
+of line segments and cubic splines and can be rendered at any width \
+with various join and cap styles. All colors may be specified with \
+optional translucence (opacity/alpha) and combined using the \
+extended Porter/Duff compositing algebra as found in the X Render \
+Extension."
+HOMEPAGE = "http://cairographics.org"
+BUGTRACKER = "http://bugs.freedesktop.org"
+SECTION = "libs"
+LICENSE = "MPL-1 LGPLv2.1"
+DEPENDS = "libpng fontconfig pixman glib-2.0 zlib virtual/libx11 libsm libxrender libxext"
+
+#check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points 
+require cairo-fpu.inc
+EXTRA_OECONF += "${@get_cairo_fpu_setting(bb, d)} \
+                 --enable-tee --with-x=yes --disable-egl --disable-glesv2 \
+                "
+
+inherit autotools pkgconfig
+
+# We don't depend on binutils so we need to disable this
+export ac_cv_lib_bfd_bfd_openr="no"
+# Ensure we don't depend on LZO
+export ac_cv_lib_lzo2_lzo2a_decompress="no"
+
+BBCLASSEXTEND = "native"
+
+# CFLAGS += "-ffat-lto-objects"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77"
+
+SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.xz \
+    file://0001-Remove-LTO-support.patch;patch=1 \
+"
+
+SRC_URI[md5sum] = "a1304edcdc99282f478b995ee5f8f854"
+SRC_URI[sha256sum] = "2505959eb3f1de3e1841023b61585bfd35684b9733c7b6a3643f4f4cbde6d846"
+
+PACKAGES =+ "cairo-gobject cairo-script-interpreter cairo-perf-utils"
+
+SUMMARY_${PN} = "The Cairo 2D vector graphics library"
+DESCRIPTION_${PN} = "Cairo is a multi-platform library providing anti-aliased \
+vector-based rendering for multiple target backends. Paths consist \
+of line segments and cubic splines and can be rendered at any width \
+with various join and cap styles. All colors may be specified with \
+optional translucence (opacity/alpha) and combined using the \
+extended Porter/Duff compositing algebra as found in the X Render \
+Extension."
+
+SUMMARY_cairo-gobject = "The Cairo library GObject wrapper library"
+DESCRIPTION_cairo-gobject = "A GObject wrapper library for the Cairo API."
+
+SUMMARY_cairo-script-interpreter = "The Cairo library script interpreter"
+DESCRIPTION_cairo-script-interpreter = "The Cairo script interpreter implements \
+CairoScript.  CairoScript is used by tracing utilities to enable the ability \
+to replay rendering."
+
+DESCRIPTION_cairo-perf-utils = "The Cairo library performance utilities"
+
+FILES_${PN} = "${libdir}/libcairo.so.*"
+FILES_${PN}-dev += "${libdir}/cairo/*.la ${libdir}/cairo/*.so"
+#FILES_${PN}-dbg += "${libdir}/cairo/.debug"
+#FILES_${PN}-staticdev += "${libdir}/cairo/*.a"
+FILES_cairo-gobject = "${libdir}/libcairo-gobject.so.*"
+FILES_cairo-script-interpreter = "${libdir}/libcairo-script-interpreter.so.*"
+FILES_cairo-perf-utils = "${bindir}/cairo-trace ${libdir}/cairo/libcairo-trace.so.*"
+
+do_install_append () {
+       rm -rf ${D}${bindir}/cairo-sphinx
+       rm -rf ${D}${libdir}/cairo/cairo-fdr*
+       rm -rf ${D}${libdir}/cairo/cairo-sphinx*
+       rm -rf ${D}${libdir}/cairo/.debug/cairo-fdr*
+       rm -rf ${D}${libdir}/cairo/.debug/cairo-sphinx*
+}
diff --git a/recipes/cairo/files/0001-Remove-LTO-support.patch b/recipes/cairo/files/0001-Remove-LTO-support.patch
new file mode 100644 (file)
index 0000000..87297b2
--- /dev/null
@@ -0,0 +1,60 @@
+From bdf15c249130568093676ed3b6c91f6f5e06f089 Mon Sep 17 00:00:00 2001
+From: Uli Schlachter <psychon@znc.in>
+Date: Mon, 21 Jul 2014 17:10:16 +0200
+Subject: [PATCH] Remove LTO support
+
+This just never worked too well and caused too many issues. I don't think anyone
+will miss this.
+
+As mentioned in the below bug report, proper LTO support also requires using
+special versions of ranlib, nm and ar which support the LTO object files.
+Otherwise, calling the normal ranlib on an .a library breaks the list of
+exported symbols and thus completely breaks the static library.
+
+This (partly) reverts the following commits:
+
+c3645d97ebd24c6f7ad850785d585aebc706a11c configure.ac: Add a --disable-lto configure option
+d486ea30f1a58640a1178de74f705a73845b1cda configure: Conditionally include -flto
+0870c6fb5b39dcc04fa376123848adde2d06d2ce gcc-4.5 warnings and optimisation flags.
+
+(The last commit is the one which brought us -flto in the first place even
+though it doesn't talk about this. It's also the one which is only reverted
+partly.)
+
+Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=77060
+CC: Chris Wilson <chris@chris-wilson.co.uk>
+Signed-off-by: Uli Schlachter <psychon@znc.in>
+Reviewed-by: Bryce Harrington <b.harrington@samsung.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+Upstream-Status: Backport (will be in 1.14*)
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ build/configure.ac.warnings | 11 -----------
+ 1 file changed, 11 deletions(-)
+
+diff --git a/build/configure.ac.warnings b/build/configure.ac.warnings
+index f984eb2..2c4e34d 100644
+--- a/build/configure.ac.warnings
++++ b/build/configure.ac.warnings
+@@ -35,17 +35,6 @@ MAYBE_WARN="$MAYBE_WARN -erroff=E_ENUM_TYPE_MISMATCH_ARG \
+ dnl We also abuse the warning-flag facility to enable other compiler
+ dnl options.  Namely, the following:
+-
+-dnl -flto working really needs a test link, not just a compile
+-
+-safe_MAYBE_WARN="$MAYBE_WARN"
+-MAYBE_WARN="$MAYBE_WARN -flto"
+-AC_TRY_LINK([],[
+-      int main(int argc, char **argv) { return 0; }
+-],[],[
+-      MAYBE_WARN="$safe_MAYBE_WARN"
+-])
+-
+ MAYBE_WARN="$MAYBE_WARN -fno-strict-aliasing -fno-common"
+ dnl Also to turn various gcc/glibc-specific preprocessor checks
+-- 
+2.0.2
+