efl: update to 1.24.2, add new options, disable lottie by default

I'm tired of rlottie not having releases or stable ABI or anything
else, so disable it by default.
This commit is contained in:
q66 2020-06-10 20:02:30 +02:00
parent 3ac7e09768
commit 3ed5e0dbc5
6 changed files with 35 additions and 210 deletions

View file

@ -1513,6 +1513,8 @@ libecore_input.so.1 efl-1.12.0_1
libecore_ipc.so.1 efl-1.12.0_1
libecore.so.1 efl-1.12.0_1
libecore_x.so.1 efl-1.12.0_1
libecore_wl2.so.1 efl-1.24.2_1
libecore_drm2.so.1 efl-1.24.2_1
libedje.so.1 efl-1.12.0_1
libeet.so.1 efl-1.12.0_1
libeeze.so.1 efl-1.12.0_1
@ -1522,6 +1524,7 @@ libefreet_trash.so.1 efl-1.12.0_1
libeina.so.1 efl-1.12.0_1
libeio.so.1 efl-1.12.0_1
libeldbus.so.1 efl-1.12.0_1
libelput.so.1 efl-1.24.2_1
libembryo.so.1 efl-1.12.0_1
libemotion.so.1 efl-1.12.0_1
libeo.so.1 efl-1.12.0_1
@ -1529,6 +1532,7 @@ libethumb_client.so.1 efl-1.12.0_1
libethumb.so.1 efl-1.12.0_1
libevas.so.1 efl-1.12.0_1
libefl.so.1 efl-1.12.0_1
libefl_canvas_wl.so.1 efl-1.24.2_1
libelua.so.1 efl-1.13.0_1
libelocation.so.1 efl-1.13.0_1
libelementary.so.1 efl-1.18.0_1

View file

@ -1,64 +0,0 @@
From c6465dae30295d1b4adaaef83a62674dcc25c1d6 Mon Sep 17 00:00:00 2001
From: "Carsten Haitzler (Rasterman)" <raster@rasterman.com>
Date: Mon, 2 Dec 2019 19:53:31 +0000
Subject: [PATCH 1/4] fix jpeg loading which freed the wrong ptr
fixes T8497
@fix
---
src/lib/emile/emile_image.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git src/lib/emile/emile_image.c src/lib/emile/emile_image.c
index 4f6e11905e..21317cbe15 100644
--- src/lib/emile/emile_image.c
+++ src/lib/emile/emile_image.c
@@ -1750,8 +1750,8 @@ _emile_jpeg_data(Emile_Image *image,
uint8_t *ptr, *line[16], *data;
volatile uint32_t *ptr2 = NULL;
uint32_t *ptr_rotate = NULL;
- uint16_t *ptrag = NULL, *ptrag_rotate = NULL;
- uint8_t *ptrg = NULL, *ptrg_rotate = NULL;
+ uint16_t *ptrag = NULL, *ptrag2 = NULL, *ptrag_rotate = NULL;
+ uint8_t *ptrg = NULL, *ptrg2 = NULL, *ptrg_rotate = NULL;
unsigned int y, l, i, scans;
volatile int region = 0;
/* rotation setting */
@@ -2113,6 +2113,8 @@ _emile_jpeg_data(Emile_Image *image,
/* We finally handle RGB with 1 component */
else if (cinfo.output_components == 1)
{
+ ptrg2 = ptrg;
+ ptrag2 = ptrag;
for (i = 0; (int)i < cinfo.rec_outbuf_height; i++)
line[i] = data + (i * w);
for (l = 0; l < h; l += cinfo.rec_outbuf_height)
@@ -2132,10 +2134,10 @@ _emile_jpeg_data(Emile_Image *image,
switch (prop->cspace)
{
case EMILE_COLORSPACE_GRY8:
- _jpeg_gry8_convert_copy(&ptrg, &ptr, w);
+ _jpeg_gry8_convert_copy(&ptrg2, &ptr, w);
break;
case EMILE_COLORSPACE_AGRY88:
- _jpeg_agry88_convert_copy(&ptrag, &ptr, w);
+ _jpeg_agry88_convert_copy(&ptrag2, &ptr, w);
break;
default:
_jpeg_argb8888_convert_copy(&ptr2, &ptr, w);
@@ -2168,10 +2170,10 @@ _emile_jpeg_data(Emile_Image *image,
switch (prop->cspace)
{
case EMILE_COLORSPACE_GRY8:
- _jpeg_gry8_convert_copy(&ptrg, &ptr, opts_region.w);
+ _jpeg_gry8_convert_copy(&ptrg2, &ptr, opts_region.w);
break;
case EMILE_COLORSPACE_AGRY88:
- _jpeg_agry88_convert_copy(&ptrag, &ptr, opts_region.w);
+ _jpeg_agry88_convert_copy(&ptrag2, &ptr, opts_region.w);
break;
default:
_jpeg_argb8888_convert_copy(&ptr2, &ptr, opts_region.w);
--
2.25.1

View file

@ -1,56 +0,0 @@
From 387947f6b151f5dd65c6c38d99e762e612281269 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <d.kolesa@samsung.com>
Date: Wed, 4 Dec 2019 15:30:17 +0100
Subject: [PATCH 2/4] eolian: account for entire inheritance trees when
compositing
When a class composites an interface, we need to ignore all of
its extends (and extends of those) as well as the main interface
when doing API checks, as composites essentially provides a
guarantee that this *will* be implemented at runtime, which
further extends to the whole inheritance tree of that interface.
Fixes T8491.
---
src/lib/eolian/database_validate.c | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git src/lib/eolian/database_validate.c src/lib/eolian/database_validate.c
index 4e51718ecd..b1af2185ef 100644
--- src/lib/eolian/database_validate.c
+++ src/lib/eolian/database_validate.c
@@ -1247,6 +1247,17 @@ _add_composite(Eolian_Class *cl, const Eolian_Class *icl, Eina_Hash *ch)
}
}
+static void
+_add_implicit_composite(Eolian_Class *icl, Eina_Hash *ch, Eina_Bool try_tree)
+{
+ eina_hash_set(ch, &icl, icl);
+ if (!try_tree)
+ return;
+ Eina_List *l;
+ EINA_LIST_FOREACH(icl->extends, l, icl)
+ _add_implicit_composite(icl, ch, try_tree);
+}
+
static Eina_Bool
_db_fill_inherits(Validate_State *vals, Eolian_Class *cl, Eina_Hash *fhash,
Eina_Hash *errh)
@@ -1325,7 +1336,12 @@ _db_fill_inherits(Validate_State *vals, Eolian_Class *cl, Eina_Hash *fhash,
cl->composite = eina_list_append(cl->composite, out_cl);
succ = _db_fill_inherits(vals, out_cl, fhash, errh);
++ncomp;
- eina_hash_set(ch, &out_cl, out_cl);
+ /* for each thing that is composited, we need to add the entire
+ * inheritance tree of it into composite hash to check, so e.g.
+ * class A -> composites B -> extends C does not complain about
+ * A not implementing C
+ */
+ _add_implicit_composite(out_cl, ch, out_cl->type == EOLIAN_CLASS_INTERFACE);
}
/* parent can be abstract, those are not checked for unimplemented,
--
2.25.1

View file

@ -1,42 +0,0 @@
From 266f0a57169efe672db44921665a05e73cc0eb58 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <d.kolesa@samsung.com>
Date: Wed, 4 Dec 2019 16:04:19 +0100
Subject: [PATCH 3/4] eolian: fix a parse bug where composites was treated as
implements
In the specific case where you had "class A extends B composites C"
the correct composites branch was ignored and instead the implements
branch was used. This was entirely wrong/an oversight that did not
appear until now. Other combinations were handled correctly.
---
src/lib/eolian/eo_parser.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git src/lib/eolian/eo_parser.c src/lib/eolian/eo_parser.c
index 706d6c1c37..6c45f19907 100644
--- src/lib/eolian/eo_parser.c
+++ src/lib/eolian/eo_parser.c
@@ -2301,8 +2301,11 @@ tags_done:
{
/* regular class can have a parent, but just one */
_inherit_dep(ls, ibuf, EINA_TRUE);
+ /* followed by composites */
+ if (ls->t.kw == KW_composites)
+ goto noimp_comp;
/* if not followed by implements, we're done */
- if ((ls->t.kw != KW_implements) && (ls->t.kw != KW_composites))
+ if (ls->t.kw != KW_implements)
{
eo_lexer_dtor_pop(ls);
goto inherit_done;
@@ -2314,6 +2317,7 @@ tags_done:
while (test_next(ls, ','));
}
+noimp_comp:
if (ls->t.kw == KW_composites)
{
if (type == EOLIAN_CLASS_INTERFACE)
--
2.25.1

View file

@ -1,36 +0,0 @@
From ad912c805123b84c939da6a76158fef563809101 Mon Sep 17 00:00:00 2001
From: "Carsten Haitzler (Rasterman)" <raster@rasterman.com>
Date: Tue, 24 Dec 2019 00:22:37 +0000
Subject: [PATCH 4/4] ecore-x - fix fallbacks to use capital X in lib name
thanks peter. fixes T8543
@fix
---
src/lib/ecore_x/meson.build | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git src/lib/ecore_x/meson.build src/lib/ecore_x/meson.build
index 0e16bd7385..262538bd95 100644
--- src/lib/ecore_x/meson.build
+++ src/lib/ecore_x/meson.build
@@ -75,7 +75,7 @@ endif
x11 = dependency('x11', required: false)
if x11.found() == false
- x11 = cc.find_library('x11', required: true)
+ x11 = cc.find_library('X11', required: true)
endif
xcb = dependency('xcb', required: false)
@@ -85,7 +85,7 @@ endif
x11_xcb = dependency('x11-xcb', required: false)
if x11_xcb.found() == false
- x11_xcb = cc.find_library('x11-xcb', required: true)
+ x11_xcb = cc.find_library('X11-xcb', required: true)
endif
foreach ecore_x_check : ecore_x_checks
--
2.25.1

View file

@ -1,19 +1,18 @@
# Template file for 'efl'
pkgname=efl
version=1.23.3
version=1.24.2
revision=1
build_style=meson
configure_args="
-Dsystemd=false
-Dopengl=$(vopt_if opengl full $(vopt_if gles2 es-egl none))
-Dembedded-lz4=false
-Dcrypto=openssl
-Dnetwork-backend=none
-Devas-loaders-disabler=[]
-Decore-imf-loaders-disabler=scim
-Decore-imf-loaders-disabler=$(vopt_if ibus '' ibus,)scim
-Devas-loaders-disabler=$(vopt_if lottie '[]' json)
-Demotion-loaders-disabler=$(vopt_if gstreamer '' gstreamer1,)$(vopt_if vlc '' libvlc,)gstreamer,xine
-Demotion-generic-loaders-disabler=vlc
$(vopt_bool elogind elogind)
$(vopt_bool elogind systemd)
$(vopt_bool x11 x11)
$(vopt_bool x11 xpresent)
$(vopt_bool x11 xinput2) $(vopt_bool x11 xinput22)
@ -23,15 +22,16 @@ configure_args="
$(vopt_bool gstreamer gstreamer)
$(vopt_bool pulseaudio pulseaudio)
$(vopt_bool harfbuzz harfbuzz)
$(vopt_bool simd native-arch-optimization)"
$(vopt_bool simd native-arch-optimization)
$(vopt_bool glib glib)"
hostmakedepends="pkg-config gettext"
makedepends="
gettext-devel libressl-devel liblz4-devel glib-devel ibus-devel
fontconfig-devel fribidi-devel $(vopt_if harfbuzz harfbuzz-devel)
libjpeg-turbo-devel libpng-devel giflib-devel tiff-devel libwebp-devel
rlottie-devel avahi-libs-devel eudev-libudev-devel bullet-devel
avahi-libs-devel eudev-libudev-devel bullet-devel
libsndfile-devel libmount-devel LuaJIT-devel poppler-cpp-devel
librsvg-devel libspectre-devel libraw-devel
librsvg-devel libspectre-devel libraw-devel libopenjpeg2-devel
$(vopt_if drm 'libdrm-devel libinput-devel libxkbcommon-devel')
$(vopt_if elogind elogind-devel)
$(vopt_if gstreamer gst-plugins-base1-devel)
@ -44,14 +44,16 @@ makedepends="
libXrender-devel libXi-devel libXinerama-devel libXpresent-devel
xcb-util-devel xcb-util-keysyms-devel xcb-util-image-devel
xcb-util-renderutil-devel xcb-util-wm-devel xorgproto')
$(vopt_if pulseaudio pulseaudio-devel)"
$(vopt_if pulseaudio pulseaudio-devel)
$(vopt_if lottie rlottie-devel)
$(vopt_if ibus ibus-devel)"
short_desc="Enlightenment Foundation Libraries"
maintainer="q66 <daniel@octaforge.org>"
license="LGPL-2.1-only"
homepage="https://enlightenment.org"
changelog="https://git.enlightenment.org/core/efl.git/plain/NEWS"
distfiles="https://download.enlightenment.org/rel/libs/efl/efl-${version}.tar.xz"
checksum=53cea69eaabe443a099fb204b7353e968e7bb62b41fbb0da24451403c7a56901
checksum=e1f91dfe8b8171f182f474eb9cfb13d9176c21f1879983fb896e92f7e2ce7a70
if [ "$XBPS_CHECK_PKGS" ]; then
configure_args+=" -Dbuild-tests=true"
@ -72,12 +74,20 @@ esac
if [ -n "$build_option_wayland" -a -z "$build_option_drm" ]; then
broken="wayland requires drm"
fi
if [ -n "$build_option_ibus" -a -z "$build_option_glib" ]; then
broken="ibus requires glib integration"
fi
# TODO: add option for scim (don't have it packaged)
build_options="elogind harfbuzz pulseaudio gstreamer vlc x11 wayland
opengl gles2 drm framebuffer simd"
build_options_default="elogind harfbuzz pulseaudio gstreamer x11 wayland drm"
opengl gles2 drm framebuffer simd lottie glib ibus"
build_options_default="elogind harfbuzz pulseaudio gstreamer x11 wayland drm
glib ibus"
desc_option_simd="Enable support for SSE3/NEON/AltiVec"
desc_option_vlc="Enable support for VLC multimedia backend"
desc_option_lottie="Enable support for Lottie JSON"
desc_option_glib="Enable GLib integration"
desc_option_ibus="Enable IBus input method support (needs glib)"
# OpenGL acceleration support
case "$XBPS_TARGET_MACHINE" in
@ -103,6 +113,15 @@ case "$XBPS_TARGET_MACHINE" in
;;
esac
post_extract() {
# systemd option applies to elogind but we don't want to install services
vsed -i '/systemd-services/d' meson.build
# disable journald code, not used and breaks musl
vsed -i 's/ifdef HAVE_SYSTEMD/if 0/g' src/lib/eina/eina_log.c
# disable systemd ecore module, not used and breaks musl
vsed -i "/'systemd',/d" src/modules/ecore/meson.build
}
efl-devel_package() {
short_desc+=" - development files"
depends="${makedepends} efl>=${version}_${revision}"