efl: update to 1.23.3

Also import patches in the branch so far.
This commit is contained in:
q66 2020-03-01 21:43:36 +01:00
parent 1fdd919d3b
commit a1b1ba0e5e
6 changed files with 205 additions and 76 deletions

View file

@ -0,0 +1,64 @@
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

@ -0,0 +1,56 @@
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

@ -0,0 +1,42 @@
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

@ -0,0 +1,36 @@
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,70 +0,0 @@
From f3344941cd6cccb437a1bcd1f3ed6c2a35063f9f Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <d.kolesa@samsung.com>
Date: Sun, 20 Oct 2019 18:49:04 +0200
Subject: [PATCH 1/1] eina: fix network byte order swap funcs on big endian
---
src/lib/eina/eina_inline_cpu.x | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/lib/eina/eina_inline_cpu.x b/src/lib/eina/eina_inline_cpu.x
index 035e5b188b..0dd293c45f 100644
--- src/lib/eina/eina_inline_cpu.x
+++ src/lib/eina/eina_inline_cpu.x
@@ -83,7 +83,7 @@ eina_swap64(unsigned long long x)
static inline unsigned short
eina_htons(unsigned short host)
{
-#ifdef EINA_HAVE_BIGENDIAN
+#ifdef EINA_HAVE_WORDS_BIGENDIAN
return host;
#else
return eina_swap16(host);
@@ -93,7 +93,7 @@ eina_htons(unsigned short host)
static inline unsigned int
eina_htonl(unsigned int host)
{
-#ifdef EINA_HAVE_BIGENDIAN
+#ifdef EINA_HAVE_WORDS_BIGENDIAN
return host;
#else
return eina_swap32(host);
@@ -103,7 +103,7 @@ eina_htonl(unsigned int host)
static inline unsigned long long
eina_htonll(unsigned long long host)
{
-#ifdef EINA_HAVE_BIGENDIAN
+#ifdef EINA_HAVE_WORDS_BIGENDIAN
return host;
#else
return eina_swap64(host);
@@ -113,7 +113,7 @@ eina_htonll(unsigned long long host)
static inline unsigned short
eina_ntohs(unsigned short net)
{
-#ifdef EINA_HAVE_BIGENDIAN
+#ifdef EINA_HAVE_WORDS_BIGENDIAN
return net;
#else
return eina_swap16(net);
@@ -123,7 +123,7 @@ eina_ntohs(unsigned short net)
static inline unsigned int
eina_ntohl(unsigned int net)
{
-#ifdef EINA_HAVE_BIGENDIAN
+#ifdef EINA_HAVE_WORDS_BIGENDIAN
return net;
#else
return eina_swap32(net);
@@ -133,7 +133,7 @@ eina_ntohl(unsigned int net)
static inline unsigned long long
eina_ntohll(unsigned long long net)
{
-#ifdef EINA_HAVE_BIGENDIAN
+#ifdef EINA_HAVE_WORDS_BIGENDIAN
return net;
#else
return eina_swap64(net);
--
2.23.0

View file

@ -1,7 +1,7 @@
# Template file for 'efl'
pkgname=efl
version=1.23.1
revision=2
version=1.23.3
revision=1
build_style=meson
configure_args="
-Dsystemd=false
@ -51,7 +51,7 @@ 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=d62220cca16d434c18b36fe3acffa0f5c0e669da4931b133524183308f242f61
checksum=53cea69eaabe443a099fb204b7353e968e7bb62b41fbb0da24451403c7a56901
if [ "$XBPS_CHECK_PKGS" ]; then
configure_args+=" -Dbuild-tests=true"
@ -62,11 +62,12 @@ fi
if [ "$CROSS_BUILD" ]; then
hostmakedepends+=" gettext-devel efl-devel"
case "$XBPS_TARGET_MACHINE" in
mips*) CFLAGS="-Os";;
esac
fi
case "$XBPS_TARGET_MACHINE" in
mips*) CFLAGS="-Os";;
esac
# sanitize options
if [ -n "$build_option_wayland" -a -z "$build_option_drm" ]; then
broken="wayland requires drm"