From 972dcfcdbfe75dcfeb777150c136576cf1a71e99 Mon Sep 17 00:00:00 2001 From: Tudor Florea Date: Fri, 9 Oct 2015 22:59:03 +0200 Subject: initial commit for Enea Linux 5.0 arm Signed-off-by: Tudor Florea --- meta/recipes-graphics/cairo/cairo-fpu.inc | 6 +++ meta/recipes-graphics/cairo/cairo.inc | 39 ++++++++++++++ .../cairo/cairo/0001-Remove-LTO-support.patch | 60 ++++++++++++++++++++++ meta/recipes-graphics/cairo/cairo_1.12.16.bb | 47 +++++++++++++++++ 4 files changed, 152 insertions(+) create mode 100644 meta/recipes-graphics/cairo/cairo-fpu.inc create mode 100644 meta/recipes-graphics/cairo/cairo.inc create mode 100644 meta/recipes-graphics/cairo/cairo/0001-Remove-LTO-support.patch create mode 100644 meta/recipes-graphics/cairo/cairo_1.12.16.bb (limited to 'meta/recipes-graphics/cairo') diff --git a/meta/recipes-graphics/cairo/cairo-fpu.inc b/meta/recipes-graphics/cairo/cairo-fpu.inc new file mode 100644 index 0000000000..ef72e8904b --- /dev/null +++ b/meta/recipes-graphics/cairo/cairo-fpu.inc @@ -0,0 +1,6 @@ + +def get_cairo_fpu_setting(bb, d): + if d.getVar('TARGET_FPU', True) in [ 'soft' ]: + return "--disable-some-floating-point" + return "" + diff --git a/meta/recipes-graphics/cairo/cairo.inc b/meta/recipes-graphics/cairo/cairo.inc new file mode 100644 index 0000000000..cd375597f0 --- /dev/null +++ b/meta/recipes-graphics/cairo/cairo.inc @@ -0,0 +1,39 @@ +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" +X11DEPENDS = "virtual/libx11 libsm libxrender libxext" +DEPENDS = "libpng fontconfig pixman glib-2.0 zlib" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}" +PACKAGECONFIG[x11] = "--with-x=yes,--without-x,${X11DEPENDS}" +PACKAGECONFIG[directfb] = "--enable-directfb=yes,,directfb" +PACKAGECONFIG[valgrind] = "--enable-valgrind=yes,--disable-valgrind,valgrind" +PACKAGECONFIG[egl] = "--enable-egl=yes,--disable-egl,virtual/egl" +PACKAGECONFIG[glesv2] = "--enable-glesv2,--disable-glesv2,virtual/libgles2" + +#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 \ + " + +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" diff --git a/meta/recipes-graphics/cairo/cairo/0001-Remove-LTO-support.patch b/meta/recipes-graphics/cairo/cairo/0001-Remove-LTO-support.patch new file mode 100644 index 0000000000..87297b25b4 --- /dev/null +++ b/meta/recipes-graphics/cairo/cairo/0001-Remove-LTO-support.patch @@ -0,0 +1,60 @@ +From bdf15c249130568093676ed3b6c91f6f5e06f089 Mon Sep 17 00:00:00 2001 +From: Uli Schlachter +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 +Signed-off-by: Uli Schlachter +Reviewed-by: Bryce Harrington +Signed-off-by: Martin Jansa + +Upstream-Status: Backport (will be in 1.14*) +Signed-off-by: Martin Jansa +--- + 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 + diff --git a/meta/recipes-graphics/cairo/cairo_1.12.16.bb b/meta/recipes-graphics/cairo/cairo_1.12.16.bb new file mode 100644 index 0000000000..42f7682607 --- /dev/null +++ b/meta/recipes-graphics/cairo/cairo_1.12.16.bb @@ -0,0 +1,47 @@ +require cairo.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77" + +SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.xz \ + file://0001-Remove-LTO-support.patch \ +" + +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* +} -- cgit v1.2.3-54-g00ecf