blob: 4cd21bfd0e55737cecd1637c8df7152b73b6bbf0 [file] [log] [blame]
SUMMARY = "EFL"
LICENSE = "MIT & BSD & LGPL-2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=ca7873210523dcfd32694b94286dca60"
DEPENDS_class-native = "freetype-native libxext-native libpng-native jpeg-native tiff-native libfribidi-native glib-2.0-native dbus-native openssl-native"
DEPENDS = "virtual/libiconv tslib curl glib-2.0 gnutls pkgconfig zlib jpeg openssl libsndfile1 dbus libexif librsvg freetype libpng tiff libxext virtual/libx11 libxdamage libxrender fontconfig libfribidi giflib udev libxcursor libxcomposite libxinerama libxrandr libxtst libxscrnsaver efl-native util-linux libunwind"
inherit efl gettext pkgconfig
BBCLASSEXTEND = "native"
PROVIDES += "ecore edje eet eeze efreet eina eio embryo emotion ethumb evas eldbus"
# we don't have bullet for physics
# You have chosen to disable physics support. This disables lots of
# core functionality and is effectively never tested. You are going
# to find features that suddenly don't work and as a result cause
# a series of breakages. This is simply not tested so you are on
# your own in terms of ensuring everything works if you do this
EXTRA_OECONF = " \
--disable-physics \
--enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-aba \
"
EXTRA_OECONF_append_class-target = " \
--with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \
--with-eolian-gen=${STAGING_BINDIR_NATIVE}/eolian_gen \
--with-eolian-cxx=${STAGING_BINDIR_NATIVE}/eolian_cxx \
--with-elua=${STAGING_BINDIR_NATIVE}/elua \
"
EXTRA_OECONF_append_class-native = " \
--disable-fontconfig \
--disable-audio \
--disable-physics \
--disable-multisense \
--disable-cserve \
--disable-libeeze \
--with-x11=none \
--disable-image-loader-bmp \
--disable-image-loader-eet \
--disable-image-loader-generic \
--disable-image-loader-gif \
--disable-image-loader-ico \
--disable-image-loader-jp2k \
--disable-image-loader-pmaps \
--disable-image-loader-psd \
--disable-image-loader-tga \
--disable-image-loader-wbmp \
--disable-image-loader-webp \
--disable-image-loader-xpm \
--disable-image-loader-tgv \
--disable-image-loader-dds \
"
PACKAGECONFIG ?= "egl opengl-es gstreamer1 pulseaudio luajit ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}"
PACKAGECONFIG_class-native = "luajit"
PACKAGECONFIG[wayland] = "--enable-wayland --enable-wayland-ivi-shell,--disable-wayland --disable-wayland-ivi-shell,wayland"
PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,virtual/egl"
# sort of tri-state
PACKAGECONFIG[opengl-full] = "--with-opengl=full,,virtual/libgl"
PACKAGECONFIG[opengl-es] = "--with-opengl=es,,virtual/libgles2"
PACKAGECONFIG[opengl-none] = "--with-opengl=none,,"
# be aware when enabling this for efl-native, we don't provide gcc-native so you need to make
# sure that all your builders have g++ which supports -std=gnu++11
PACKAGECONFIG[c++11] = "--enable-cxx-bindings,--disable-cxx-bindings"
PACKAGECONFIG[gstreamer] = "--enable-gstreamer,--disable-gstreamer,gstreamer"
PACKAGECONFIG[gstreamer1] = "--enable-gstreamer1,--disable-gstreamer1,gstreamer1.0 gstreamer1.0-plugins-base"
PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio"
PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
PACKAGECONFIG[luajit] = "--disable-lua-old,--enable-lua-old,luajit"
PACKAGECONFIG[lua-old] = "--enable-lua-old,--disable-lua-old,lua"
PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
# currently we don't provide doxygen-native
PACKAGECONFIG[doc] = "--enable-doc,--disable-doc,doxygen-native"
do_install_append() {
# don't ship precompiled lua files
rm -f ${datadir}/elua/*/*.luac
}
PACKAGES =+ "edje-utils embryo-utils embryo-tests efreet-trash efreet-mime libeet libefreet ecore-audio ecore-input-evas ecore-input ecore-imf-evas ecore-imf ecore-file ecore-con ecore-ipc ecore-x ecore-evas libemotion eo ecore edje eet eeze efreet eina eio embryo emotion ethumb evas eldbus elua"
# upgrade path from 1.7
DEBIAN_NOAUTONAME_ecore-audio = "1"
DEBIAN_NOAUTONAME_ecore-input-evas = "1"
DEBIAN_NOAUTONAME_ecore-input = "1"
DEBIAN_NOAUTONAME_ecore-imf-evas = "1"
DEBIAN_NOAUTONAME_ecore-imf = "1"
DEBIAN_NOAUTONAME_ecore-file = "1"
DEBIAN_NOAUTONAME_ecore-con = "1"
DEBIAN_NOAUTONAME_ecore-ipc = "1"
DEBIAN_NOAUTONAME_ecore-x = "1"
DEBIAN_NOAUTONAME_ecore-evas = "1"
DEBIAN_NOAUTONAME_embryo = "1"
ALLOW_EMPTY_ecore = "1"
RDEPENDS_ecore = "ecore-audio ecore-input-evas ecore-input ecore-imf-evas ecore-imf ecore-file ecore-con ecore-ipc ecore-x ecore-evas"
python populate_packages_prepend () {
for plugin_type in "engines loaders savers".split():
bb.note( "splitting packages for evas %s..." % plugin_type )
basedir = d.expand( '${libdir}/evas/modules/%s' % plugin_type)
do_split_packages(d, basedir, '^(.*)',
output_pattern = 'evas-' + plugin_type[:-1] + "-%s",
description = 'Evas module %s',
allow_dirs=True, recursive=False, extra_depends="" )
plugin_type = "cserve2"
bb.note( "splitting packages for evas %s..." % plugin_type )
basedir = d.expand( '${libdir}/evas/%s/loaders' % plugin_type)
do_split_packages(d, basedir, '^(.*)',
output_pattern = 'evas-' + plugin_type + "-%s",
description = 'Evas csever2 loader module %s',
allow_dirs=True, recursive=False, extra_depends="" )
}
PACKAGES += "evas-loader-png evas-engine-software-generic evas-engine-fb"
PACKAGES_DYNAMIC += "^evas-engine-.* ^evas-loader-.* ^evas-saver-.* ^evas-cserve2-.*"
# PACKAGES_DYNAMIC + do_split_packages isn't used for all libe libs,
# because PACKAGES_DYNAMIC would be catching too many patterns
# (or need to list all possible prefixes) and not all original packages
# were splitted like that, so it would need RCONFLICTS/RPROVIDES/RREPLACES
# combos at least in few places for upgrade path.
FILES_efreet-trash = " \
${libdir}/libefreet_trash${SOLIBS} \
"
FILES_efreet-mime = " \
${libdir}/libefreet_mime${SOLIBS} \
"
FILES_libeet = " \
${libdir}/libeet${SOLIBS} \
"
FILES_libefreet = " \
${libdir}/libefreet${SOLIBS} \
"
FILES_ecore-audio = "\
${libdir}/libecore_audio${SOLIBS} \
"
FILES_ecore-input-evas = "\
${libdir}/libecore_input_evas${SOLIBS} \
"
FILES_ecore-input = "\
${libdir}/libecore_input${SOLIBS} \
"
FILES_ecore-imf-evas = "\
${libdir}/libecore_imf_evas${SOLIBS} \
${libdir}/ecore-imf/modules/*/*/module.so \
"
FILES_ecore-imf = "\
${libdir}/libecore_imf${SOLIBS} \
"
FILES_ecore-file = "\
${libdir}/libecore_file${SOLIBS} \
"
FILES_ecore-con = "\
${libdir}/libecore_con${SOLIBS} \
"
FILES_ecore-ipc = "\
${libdir}/libecore_ipc${SOLIBS} \
"
FILES_ecore-x = "\
${libdir}/libecore_x${SOLIBS} \
${libdir}/ecore_x/bin/v-*/ecore_x_vsync \
"
FILES_ecore-evas = "\
${libdir}/libecore_evas${SOLIBS} \
${libdir}/ecore-evas/engines/*/*/module.so \
"
FILES_eio = "\
${libdir}/libeio${SOLIBS} \
"
FILES_eina = "\
${libdir}/libeina${SOLIBS} \
${bindir}/eina-bench-cmp \
"
FILES_edje-utils = "\
${bindir}/edje_* \
${datadir}/edje/include/edje.inc \
"
FILES_eldbus = "\
${libdir}/libeldbus${SOLIBS} \
"
FILES_eo = "\
${libdir}/libeo${SOLIBS} \
"
FILES_libemotion = "\
${libdir}/libemotion${SOLIBS} \
"
FILES_efreet = " \
${datadir}/dbus-1/services/*Efreet* \
${libdir}/efreet/*/efreet*create \
${bindir}/efreetd \
${datadir}/efreet \
"
FILES_eet = " \
${bindir}/eet \
${bindir}/eetpack \
${bindir}/vieet \
${bindir}/diffeet \
${libdir}/libeet${SOLIBS} \
"
FILES_emotion = " \
${datadir}/emotion \
${libdir}/emotion/modules/gstreamer1/*/module.so \
"
FILES_embryo-tests = " \
${datadir}/embryo/ \
"
FILES_embryo-utils = " \
${binddir}/embryo_* \
"
FILES_embryo = " \
${libdir}/libembryo${SOLIBS} \
"
FILES_ethumb = " \
${datadir}/dbus-1/services/*Ethumb* \
${libdir}/libethumb${SOLIBS} \
${libdir}/libethumb_client${SOLIBS} \
${bindir}/ethumbd \
${bindir}/ethumbd_client \
${bindir}/ethumb \
${libdir}/ethumb/*/*/*/module.so \
${libdir}/ethumb/*/*/*/*.edj \
${libdir}/ethumb_client/utils/*/ethumbd_slave \
${datadir}/ethumb* \
"
FILES_ecore = " \
${libdir}/libecore${SOLIBS} \
${libdir}/ecore*/*/*/*/module.so \
${datadir}/ecore* \
"
FILES_evas = " \
${libdir}/libevas${SOLIBS} \
${libdir}/evas*/*/*/*/*/module.so \
${libdir}/evas*/*/*/*/*/*.edj \
${libdir}/evas/cserve2/bin/*/evas_cserve2* \
${datadir}/evas* \
${bindir}/evas_cserve2_* \
"
FILES_eeze = " \
${libdir}/libeeze${SOLIBS} \
${libdir}/eeze*/*/*/*/*/module.so \
${datadir}/eeze \
${bindir}/eeze_* \
"
FILES_edje = " \
${libdir}/libedje${SOLIBS} \
${libdir}/edje*/*/*/*/module.so \
${libdir}/edje/utils/*/epp \
${datadir}/edje \
${datadir}/mime \
"
FILES_elua = " \
${bindir}/elua \
${datadir}/elua \
"
FILES_${PN}-dbg += " \
${libdir}/efreet/*/.debug \
${libdir}/ecore*/*/*/*/.debug \
${libdir}/ecore*/*/*/.debug \
${libdir}/evas*/*/*/*/*/.debug \
${libdir}/evas/cserve2/bin/*/.debug \
${libdir}/eeze*/*/*/*/*/.debug \
${libdir}/edje*/*/*/*/.debug \
${libdir}/edje/utils/*/.debug \
${libdir}/ethumb/*/*/*/.debug \
${libdir}/ethumb_client/utils/*/.debug \
${libdir}/emotion/modules/gstreamer1/*/.debug \
"
FILES_${PN}-dev += " \
${libdir}/cmake \
${libdir}/ecore*/*/*/*/module.la \
${libdir}/evas*/*/*/*/*/module.la \
${libdir}/ethumb*/*/*/*/module.la \
${libdir}/eeze*/*/*/*/*/module.la \
${libdir}/edje*/*/*/*/module.la \
${libdir}/emotion/modules/gstreamer1/*/module.la \
${datadir}/gdb/auto-load \
${datadir}/eo/gdb \
${bindir}/eldbus-codegen \
"
PNBLACKLIST[efl] ?= "Depends on broken efl-native - the recipe will be removed on 2017-09-01 unless the issue is fixed"
PNBLACKLIST[efl-native] ?= "Broken: fails to build with http://errors.yoctoproject.org/Errors/Details/138240/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"