package/efl/libefl: new package
authorRomain Naour <romain.naour@openwide.fr>
Tue, 15 Dec 2015 22:40:13 +0000 (23:40 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 17 Dec 2015 22:50:51 +0000 (23:50 +0100)
commitc24da887d4ef91bc789d4d2c4a17f31ad7714a03
treefaecf7e2760d2739115da3f6716a360027550b30
parentc93805207e24df082495f4d050bc2f29f3d19dd6
package/efl/libefl: new package

Add the libefl package which contains an updated version of the following
libraries:
libecore, libedje, libeet, libfreet, libeina, libeio, libembryo, libthumb
and libevas. It also contains eldbus, ephysics, and escape, see [1].

The name libefl is transitional in order to bump smoothly all packages
that use efl libraries and remove the old package libecore, libevas...
The package libefl will be renamed to efl in a followup patch at the end
of the series.

For now, the bump to efl 1.15.x is not complete.
This allows to build at least a default configuration without X11 support
or graphics acceleration.
This support will be added by a follow up patches in the series.

Here is some notes about libefl dependencies:
  - alsa:
    At the end of the configure script, the summary tab will show that
    alsa support is allways disabled even if alsa-utils has been build
    before efl-core package.
    "Ecore_Audio.....: yes (-alsa +pulseaudio +sndfile)"
    This is intentional.

  - util-linux:
    libefl select util-linux libblkid since it's listed as an dependency
    in the README [2].

  - threads support:
    Add a dependency on threads support since clearly efl libraries are
    not even built without thread support [3].

  - Curl:
    Curl is listed as an dependency in the README because it's a runtime
    dependency since efl 1.8 [4].

We need to regenerate the configure script to workaround a build issue with
eldbus-codegen:

  CCLD     bin/eldbus/eldbus-codegen
  CXXLD    bin/eolian_cxx/eolian_cxx
  CCLD     lib/ecore_x/ecore_x_vsync
  CCLD     lib/evas/common/libevas_op_blend_sse3.la
  CCLD     lib/evas/common/libevas_convert_rgb_32.la
  CCLD     lib/ecore_ipc/libecore_ipc.la
[...]/i686-ctng-linux-gnu/bin/ld: warning: libefl.so.1, needed by lib/ecore/.libs/libecore.so, not found (try using -rpath or -rpath-link)
lib/ecore/.libs/libecore.so: undefined reference to `efl_control_suspend_set'
lib/ecore/.libs/libecore.so: undefined reference to `efl_control_interface_get'
collect2: error: ld returned 1 exit status
Makefile:19135: recipe for target 'bin/eldbus/eldbus-codegen' failed
make[6]: *** [bin/eldbus/eldbus-codegen] Error 1

A dependency on libefl seems to be missing for eldbus but by
regenerating eldbus-codegen build correctly.

Reported upstream [6].

Also, gettextize is needed since *.po files were generated with
an "old" gettext version (0.18):

Making all in po
*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version 0.18 but the autoconf macros are from gettext version 0.19
Makefile:149: recipe for target 'check-macro-version' failed

[1] See https://phab.enlightenment.org/phame/live/3/post/efl_1_8/
[2] https://git.enlightenment.org/core/efl.git/tree/README?id=v1.15.2#n478
[3] https://git.enlightenment.org/core/efl.git/tree/configure.ac#n5032
[4] https://git.enlightenment.org/core/efl.git/tree/README?id=v1.15.2#n453
    https://git.enlightenment.org/core/efl.git/commit/?id=2c1c6b9335e38c6e52b06829a95d9b58d780c99e
[5] http://mailman.uclibc-ng.org/pipermail/devel/2015-August/000432.html
[6] https://phab.enlightenment.org/T2718

[Thomas:
 - make the BR2_PACKAGE_LIBEFL_RECOMMENDED_CONFIG hidden and rename it
   to BR2_PACKAGE_LIBEFL_HAS_RECOMMENDED_CONFIG.
 - rewrap Config.in help text where needed.]

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Tested-by: Vicente Bergas <vicencb@gmail.com>
Cc: Vicente Bergas <vicencb@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/efl/Config.in
package/efl/libefl/Config.in [new file with mode: 0644]
package/efl/libefl/libefl.mk