mirror of
https://github.com/void-linux/void-packages.git
synced 2025-06-07 23:53:51 +02:00
efl: fixes from git, use gles by default, backtraces on musl
This unbreaks accelerated E with Wayland for one. Also, gles2 is now a suboption of opengl, as that makes more sense.
This commit is contained in:
parent
45f6c64e08
commit
0c87bf36c2
8 changed files with 409 additions and 33 deletions
|
@ -0,0 +1,39 @@
|
||||||
|
From e917e3111b2d2b27db21b47c9586d231c5785be5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Carsten Haitzler (Rasterman)" <raster@rasterman.com>
|
||||||
|
Date: Tue, 26 May 2020 12:16:09 +0100
|
||||||
|
Subject: [PATCH 1/7] evas - csd and wl csd - fix alpha zeroing to avoid
|
||||||
|
framespace junk
|
||||||
|
|
||||||
|
i noticed some junk in framespace... this happesn when solid objects
|
||||||
|
are outside the normal window content area and their solid areas are
|
||||||
|
not clipped to this inner frame area thus those areas are not "zeroed
|
||||||
|
out" next render.
|
||||||
|
|
||||||
|
@fix
|
||||||
|
---
|
||||||
|
src/lib/evas/canvas/evas_render.c | 9 +++++++++
|
||||||
|
1 file changed, 9 insertions(+)
|
||||||
|
|
||||||
|
diff --git src/lib/evas/canvas/evas_render.c src/lib/evas/canvas/evas_render.c
|
||||||
|
index 1d47ba06af..567461d1dd 100644
|
||||||
|
--- src/lib/evas/canvas/evas_render.c
|
||||||
|
+++ src/lib/evas/canvas/evas_render.c
|
||||||
|
@@ -2722,6 +2722,15 @@ _evas_render_cutout_add(Evas_Public_Data *evas, void *context,
|
||||||
|
obj->cur->cache.clip.w, obj->cur->cache.clip.h);
|
||||||
|
}
|
||||||
|
else return;
|
||||||
|
+ if (!_is_obj_in_framespace(obj, evas))
|
||||||
|
+ {
|
||||||
|
+ int fw, fh;
|
||||||
|
+
|
||||||
|
+ fw = evas->viewport.w - evas->framespace.w;
|
||||||
|
+ fh = evas->viewport.h - evas->framespace.h;
|
||||||
|
+ RECTS_CLIP_TO_RECT(cox, coy, cow, coh,
|
||||||
|
+ 0, 0, fw, fh);
|
||||||
|
+ }
|
||||||
|
if (cutout_margin)
|
||||||
|
{
|
||||||
|
cox += cutout_margin->l;
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
|
@ -0,0 +1,104 @@
|
||||||
|
From af2fd2ead002b10e9b1f56b41f4a9e24b56bfca4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Carsten Haitzler (Rasterman)" <raster@rasterman.com>
|
||||||
|
Date: Thu, 4 Jun 2020 20:25:46 +0100
|
||||||
|
Subject: [PATCH 2/7] evas - genetic update regions smart merge - merge v
|
||||||
|
adjacent regions
|
||||||
|
|
||||||
|
regions sometimes produce box sets like:
|
||||||
|
// +---+
|
||||||
|
// | |
|
||||||
|
// +---+ +-------+
|
||||||
|
// | | | |
|
||||||
|
// +---+ +-------+---------+
|
||||||
|
// | |
|
||||||
|
// | |
|
||||||
|
// +-----------------+
|
||||||
|
|
||||||
|
so the upper-left 2 boxes can be merged into 1 and they have the same
|
||||||
|
x coords and are flush-aligned one above the other. that is what
|
||||||
|
this does - find these and merge them to have fewer rects
|
||||||
|
|
||||||
|
@fix
|
||||||
|
---
|
||||||
|
.../engines/software_generic/evas_engine.c | 54 ++++++++++++++++---
|
||||||
|
1 file changed, 48 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git src/modules/evas/engines/software_generic/evas_engine.c src/modules/evas/engines/software_generic/evas_engine.c
|
||||||
|
index 0309d620e9..19b60f6621 100644
|
||||||
|
--- src/modules/evas/engines/software_generic/evas_engine.c
|
||||||
|
+++ src/modules/evas/engines/software_generic/evas_engine.c
|
||||||
|
@@ -3958,7 +3958,6 @@ _smart_merge(Tilebuf *tb, Tilebuf_Rect *rects)
|
||||||
|
}
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
- n2 = n;
|
||||||
|
free(box);
|
||||||
|
box = box2;
|
||||||
|
if (!did_merge) break;
|
||||||
|
@@ -3976,15 +3975,58 @@ _smart_merge(Tilebuf *tb, Tilebuf_Rect *rects)
|
||||||
|
box = region_rects(region);
|
||||||
|
n = region_rects_num(region);
|
||||||
|
merged = calloc(1, n * sizeof(Tilebuf_Rect));
|
||||||
|
+ j = 0;
|
||||||
|
+#if 1
|
||||||
|
+ // regions sometimes produce box sets like:
|
||||||
|
+ // +---+
|
||||||
|
+ // | |
|
||||||
|
+ // +---+ +-------+
|
||||||
|
+ // | | | |
|
||||||
|
+ // +---+ +-------+---------+
|
||||||
|
+ // | |
|
||||||
|
+ // | |
|
||||||
|
+ // +-----------------+
|
||||||
|
+ // so the upper-left 2 boxes can be merged into 1 and they have the same
|
||||||
|
+ // x coords and are flush-aligned one above the other. that is what
|
||||||
|
+ // this does - find these and merge them to have fewer rects
|
||||||
|
for (i = 0; i < n; i++)
|
||||||
|
{
|
||||||
|
- merged[i].x = box[i].x1;
|
||||||
|
- merged[i].y = box[i].y1;
|
||||||
|
- merged[i].w = box[i].x2 - box[i].x1;
|
||||||
|
- merged[i].h = box[i].y2 - box[i].y1;
|
||||||
|
+ // skip empty boxes
|
||||||
|
+ if (box[i].x1 == box[i].x2) continue;
|
||||||
|
+ // walk all following boxes after this and see if they can be merged
|
||||||
|
+ // into box i
|
||||||
|
+ for (k = i + 1; k < n; k++)
|
||||||
|
+ {
|
||||||
|
+ // skip empty boxes after i
|
||||||
|
+ if (box[k].x1 == box[k].x2) continue;
|
||||||
|
+ // match x coords
|
||||||
|
+ if ((box[i].x1 == box[k].x1) && // if aligned vertically
|
||||||
|
+ (box[i].x2 == box[k].x2)) // exactly above/below
|
||||||
|
+ {
|
||||||
|
+ // right below, or right above
|
||||||
|
+ if (box[i].y2 == box[k].y1) // this box flush below
|
||||||
|
+ {
|
||||||
|
+ box[i].y2 = box[k].y2; // merge below i
|
||||||
|
+ box[k].x2 = box[k].x1; // empty this box - merged
|
||||||
|
+ }
|
||||||
|
+ else if (box[i].y1 == box[k].y2) // this box flush above
|
||||||
|
+ {
|
||||||
|
+ box[i].y2 = box[k].y2; // merge above i
|
||||||
|
+ box[k].x2 = box[k].x1; // empty this box - merged
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ // i may have expanded but will not be empty. future boxes after
|
||||||
|
+ // this may be empty though but handled at top of loop
|
||||||
|
+ merged[j].x = box[i].x1;
|
||||||
|
+ merged[j].y = box[i].y1;
|
||||||
|
+ merged[j].w = box[i].x2 - box[i].x1;
|
||||||
|
+ merged[j].h = box[i].y2 - box[i].y1;
|
||||||
|
mergelist = (Tilebuf_Rect *)eina_inlist_append
|
||||||
|
- (EINA_INLIST_GET(mergelist), EINA_INLIST_GET(&(merged[i])));
|
||||||
|
+ (EINA_INLIST_GET(mergelist), EINA_INLIST_GET(&(merged[j])));
|
||||||
|
+ j++;
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
region_free(region);
|
||||||
|
rects = mergelist;
|
||||||
|
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
|
@ -0,0 +1,94 @@
|
||||||
|
From 7ef58c47d3184c04bd9b0d477b8c7bd342384189 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Carsten Haitzler (Rasterman)" <raster@rasterman.com>
|
||||||
|
Date: Tue, 9 Jun 2020 10:13:04 +0100
|
||||||
|
Subject: [PATCH 3/7] efreet - handle runtime relocation right with default
|
||||||
|
XDG_DATA_DIRS
|
||||||
|
|
||||||
|
XDG_DATA_DIRS was only set up to a default including where efl was
|
||||||
|
installed prefix-wise as the compiled-=in prefix, not runtime
|
||||||
|
determined prefix. it shouldn't actually affect most people except
|
||||||
|
those making use of this.
|
||||||
|
|
||||||
|
@fix
|
||||||
|
---
|
||||||
|
src/lib/efreet/efreet_base.c | 33 +++++++++++++++++++++++++++++----
|
||||||
|
1 file changed, 29 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git src/lib/efreet/efreet_base.c src/lib/efreet/efreet_base.c
|
||||||
|
index 6497e8d955..736a3a05fc 100644
|
||||||
|
--- src/lib/efreet/efreet_base.c
|
||||||
|
+++ src/lib/efreet/efreet_base.c
|
||||||
|
@@ -51,6 +51,8 @@ static const char *xdg_pictures_dir = NULL;
|
||||||
|
static const char *xdg_videos_dir = NULL;
|
||||||
|
static const char *hostname = NULL;
|
||||||
|
|
||||||
|
+static Eina_Prefix *pfx= NULL;
|
||||||
|
+
|
||||||
|
static void efreet_dirs_init(void);
|
||||||
|
static const char *efreet_dir_get(const char *key, const char *fallback);
|
||||||
|
static Eina_List *efreet_dirs_get(const char *key,
|
||||||
|
@@ -72,6 +74,9 @@ efreet_base_init(void)
|
||||||
|
EINA_LOG_ERR("Efreet: Could not create a log domain for efreet_base.\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
+ if (!pfx) pfx = eina_prefix_new
|
||||||
|
+ (NULL, efreet_init, "EFREET", "efreet", "checkme",
|
||||||
|
+ PACKAGE_BIN_DIR, PACKAGE_LIB_DIR, PACKAGE_DATA_DIR, PACKAGE_DATA_DIR);
|
||||||
|
efreet_dirs_init();
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
@@ -105,6 +110,11 @@ efreet_base_shutdown(void)
|
||||||
|
|
||||||
|
IF_RELEASE(hostname);
|
||||||
|
|
||||||
|
+ if (pfx)
|
||||||
|
+ {
|
||||||
|
+ eina_prefix_free(pfx);
|
||||||
|
+ pfx = NULL;
|
||||||
|
+ }
|
||||||
|
eina_log_domain_unregister(_efreet_base_log_dom);
|
||||||
|
_efreet_base_log_dom = -1;
|
||||||
|
}
|
||||||
|
@@ -280,6 +290,7 @@ efreet_dirs_reset(void)
|
||||||
|
static void
|
||||||
|
efreet_dirs_init(void)
|
||||||
|
{
|
||||||
|
+ char *data_dir = DATA_DIR;
|
||||||
|
char buf[PATH_MAX];
|
||||||
|
|
||||||
|
/* efreet_home_dir */
|
||||||
|
@@ -294,13 +305,27 @@ efreet_dirs_init(void)
|
||||||
|
xdg_cache_home = efreet_dir_get("XDG_CACHE_HOME", "/.cache");
|
||||||
|
|
||||||
|
/* xdg_data_dirs */
|
||||||
|
+ if (pfx)
|
||||||
|
+ {
|
||||||
|
+ const char *dir = eina_prefix_get(pfx);
|
||||||
|
+ if (dir)
|
||||||
|
+ {
|
||||||
|
+ size_t len = strlen(dir);
|
||||||
|
+
|
||||||
|
+ data_dir = alloca(len + 1 + 5 /*"share" */ + 1);
|
||||||
|
#ifdef _WIN32
|
||||||
|
- snprintf(buf, sizeof(buf), "%s\\Efl;" DATA_DIR ";", getenv("APPDATA"));
|
||||||
|
- xdg_data_dirs = efreet_dirs_get("XDG_DATA_DIRS", buf);
|
||||||
|
+ snprintf(data_dir, len + 1 + 5 + 1, "%s\\share", dir);
|
||||||
|
#else
|
||||||
|
- xdg_data_dirs = efreet_dirs_get("XDG_DATA_DIRS",
|
||||||
|
- DATA_DIR ":/usr/share:/usr/local/share");
|
||||||
|
+ snprintf(data_dir, len + 1 + 5 + 1, "%s/share", dir);
|
||||||
|
#endif
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+#ifdef _WIN32
|
||||||
|
+ snprintf(buf, sizeof(buf), "%s\\Efl;%s;", data_dir, getenv("APPDATA"));
|
||||||
|
+#else
|
||||||
|
+ snprintf(buf, sizeof(buf), "%s:/usr/share:/usr/local/share", data_dir);
|
||||||
|
+#endif
|
||||||
|
+ xdg_data_dirs = efreet_dirs_get("XDG_DATA_DIRS", buf);
|
||||||
|
/* xdg_config_dirs */
|
||||||
|
#ifdef _WIN32
|
||||||
|
xdg_config_dirs = efreet_dirs_get("XDG_CONFIG_DIRS", getenv("APPDATA"));
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
From b03baef4b52483ac6ca7d9371224273b60455432 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Carsten Haitzler (Rasterman)" <raster@rasterman.com>
|
||||||
|
Date: Wed, 27 May 2020 14:10:33 +0100
|
||||||
|
Subject: [PATCH 4/7] build - systemd service files - install fix if systemd
|
||||||
|
not found
|
||||||
|
|
||||||
|
so if systemd is not found - installe in PREFIX/lib/systemd/user which
|
||||||
|
allows build to work without disabling systemd.
|
||||||
|
---
|
||||||
|
systemd-services/meson.build | 17 ++++++++++-------
|
||||||
|
1 file changed, 10 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git systemd-services/meson.build systemd-services/meson.build
|
||||||
|
index 18be63c5ef..a17790e857 100644
|
||||||
|
--- systemd-services/meson.build
|
||||||
|
+++ systemd-services/meson.build
|
||||||
|
@@ -1,13 +1,16 @@
|
||||||
|
if get_option('systemd') == true
|
||||||
|
- dep = dependency('systemd')
|
||||||
|
+ sys_dep = dependency('systemd', required: false)
|
||||||
|
+ if sys_dep.found()
|
||||||
|
+ sys_dir = sys_dep.get_pkgconfig_variable('systemduserunitdir')
|
||||||
|
+ else
|
||||||
|
+ sys_dir = join_paths(dir_lib, 'systemd', 'user')
|
||||||
|
+ endif
|
||||||
|
|
||||||
|
ethumb_service_config = configuration_data()
|
||||||
|
-
|
||||||
|
ethumb_service_config.set('prefix', dir_prefix)
|
||||||
|
|
||||||
|
- configure_file(
|
||||||
|
- input: 'ethumb.service.in',
|
||||||
|
- output: 'ethumb.service',
|
||||||
|
- configuration: ethumb_service_config,
|
||||||
|
- install_dir: dep.get_pkgconfig_variable('systemduserunitdir'))
|
||||||
|
+ configure_file(input : 'ethumb.service.in',
|
||||||
|
+ output : 'ethumb.service',
|
||||||
|
+ configuration : ethumb_service_config,
|
||||||
|
+ install_dir : sys_dir)
|
||||||
|
endif
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
From 8f59fb469fc47b2ee64453407b7d4ce4d8f29f63 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Daniel Kolesa <d.kolesa@samsung.com>
|
||||||
|
Date: Thu, 11 Jun 2020 02:18:50 +0200
|
||||||
|
Subject: [PATCH 5/7] eina: only enable EINA_LOG_BACKTRACE when backtrace API
|
||||||
|
is present
|
||||||
|
|
||||||
|
This prevents build breakage on platforms that either don't have
|
||||||
|
backtrace() or don't have the appropriate library for it installed.
|
||||||
|
---
|
||||||
|
src/lib/eina/eina_log.c | 3 +++
|
||||||
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
|
diff --git src/lib/eina/eina_log.c src/lib/eina/eina_log.c
|
||||||
|
index 7c66ee0b53..531faba093 100644
|
||||||
|
--- src/lib/eina/eina_log.c
|
||||||
|
+++ src/lib/eina/eina_log.c
|
||||||
|
@@ -42,7 +42,10 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "eina_debug_private.h"
|
||||||
|
+
|
||||||
|
+#ifdef HAVE_BACKTRACE
|
||||||
|
#define EINA_LOG_BACKTRACE
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
#include "eina_config.h"
|
||||||
|
#include "eina_private.h"
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
From f5d371d6ecdbb84acf0de34cd80ddaee2493ca72 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Daniel Kolesa <d.kolesa@samsung.com>
|
||||||
|
Date: Thu, 11 Jun 2020 02:32:07 +0200
|
||||||
|
Subject: [PATCH 6/7] ecore: use standard LC_ALL instead of __LC_ALL in systemd
|
||||||
|
module
|
||||||
|
|
||||||
|
The former is a POSIX name, the latter is non-standard. I don't
|
||||||
|
know why the latter was used, considering glibc literally has
|
||||||
|
just #define LC_ALL __LC_ALL, but change it and unbreak build
|
||||||
|
on musl and other systems.
|
||||||
|
---
|
||||||
|
src/modules/ecore/system/systemd/ecore_system_systemd.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git src/modules/ecore/system/systemd/ecore_system_systemd.c src/modules/ecore/system/systemd/ecore_system_systemd.c
|
||||||
|
index 78e3185287..ab19ff36cd 100644
|
||||||
|
--- src/modules/ecore/system/systemd/ecore_system_systemd.c
|
||||||
|
+++ src/modules/ecore/system/systemd/ecore_system_systemd.c
|
||||||
|
@@ -163,7 +163,7 @@ static void _locale_get(void *data EINA_UNUSED, const Eldbus_Message *msg,
|
||||||
|
|
||||||
|
setenv(type, value, 1);
|
||||||
|
}
|
||||||
|
- setlocale(__LC_ALL, "");
|
||||||
|
+ setlocale(LC_ALL, "");
|
||||||
|
|
||||||
|
end:
|
||||||
|
ecore_event_add(ECORE_EVENT_LOCALE_CHANGED, NULL, NULL, NULL);
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
From 2620295542d1b3867875056c8d0ca9fbcd0546a0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Daniel Kolesa <d.kolesa@samsung.com>
|
||||||
|
Date: Thu, 11 Jun 2020 15:14:03 +0200
|
||||||
|
Subject: [PATCH 7/7] modules: only build gl_drm evas engine when using es-egl
|
||||||
|
|
||||||
|
This module does not work with desktop opengl contexts,
|
||||||
|
and needs EGL to work.
|
||||||
|
---
|
||||||
|
src/modules/evas/engines/meson.build | 10 +++++-----
|
||||||
|
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git src/modules/evas/engines/meson.build src/modules/evas/engines/meson.build
|
||||||
|
index 2504a761a9..7bb4211cf2 100644
|
||||||
|
--- src/modules/evas/engines/meson.build
|
||||||
|
+++ src/modules/evas/engines/meson.build
|
||||||
|
@@ -16,10 +16,7 @@ endif
|
||||||
|
have_gl_engine = false
|
||||||
|
|
||||||
|
if get_option('opengl') != 'none'
|
||||||
|
- engines += [
|
||||||
|
- ['gl_x11', ['x11']],
|
||||||
|
- ['gl_drm', ['drm']]
|
||||||
|
- ]
|
||||||
|
+ engines += [['gl_x11', ['x11']]]
|
||||||
|
have_gl_engine = true
|
||||||
|
endif
|
||||||
|
|
||||||
|
@@ -29,7 +26,10 @@ if get_option('opengl') == 'full'
|
||||||
|
endif
|
||||||
|
|
||||||
|
if get_option('opengl') == 'es-egl'
|
||||||
|
- engines += [['wayland_egl', ['wl']]]
|
||||||
|
+ engines += [
|
||||||
|
+ ['wayland_egl', ['wl']],
|
||||||
|
+ ['gl_drm', ['drm']]
|
||||||
|
+ ]
|
||||||
|
have_gl_engine = true
|
||||||
|
endif
|
||||||
|
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
|
@ -1,10 +1,9 @@
|
||||||
# Template file for 'efl'
|
# Template file for 'efl'
|
||||||
pkgname=efl
|
pkgname=efl
|
||||||
version=1.24.2
|
version=1.24.2
|
||||||
revision=1
|
revision=2
|
||||||
build_style=meson
|
build_style=meson
|
||||||
configure_args="
|
configure_args="
|
||||||
-Dopengl=$(vopt_if opengl full $(vopt_if gles2 es-egl none))
|
|
||||||
-Dembedded-lz4=false
|
-Dembedded-lz4=false
|
||||||
-Dcrypto=openssl
|
-Dcrypto=openssl
|
||||||
-Dnetwork-backend=none
|
-Dnetwork-backend=none
|
||||||
|
@ -12,6 +11,7 @@ configure_args="
|
||||||
-Devas-loaders-disabler=$(vopt_if lottie '[]' json)
|
-Devas-loaders-disabler=$(vopt_if lottie '[]' json)
|
||||||
-Demotion-loaders-disabler=$(vopt_if gstreamer '' gstreamer1,)$(vopt_if vlc '' libvlc,)gstreamer,xine
|
-Demotion-loaders-disabler=$(vopt_if gstreamer '' gstreamer1,)$(vopt_if vlc '' libvlc,)gstreamer,xine
|
||||||
-Demotion-generic-loaders-disabler=vlc
|
-Demotion-generic-loaders-disabler=vlc
|
||||||
|
-Dopengl=$(vopt_if opengl $(vopt_if gles2 es-egl full) none)
|
||||||
$(vopt_bool elogind systemd)
|
$(vopt_bool elogind systemd)
|
||||||
$(vopt_bool x11 x11)
|
$(vopt_bool x11 x11)
|
||||||
$(vopt_bool x11 xpresent)
|
$(vopt_bool x11 xpresent)
|
||||||
|
@ -36,7 +36,6 @@ makedepends="
|
||||||
$(vopt_if elogind elogind-devel)
|
$(vopt_if elogind elogind-devel)
|
||||||
$(vopt_if gstreamer gst-plugins-base1-devel)
|
$(vopt_if gstreamer gst-plugins-base1-devel)
|
||||||
$(vopt_if opengl MesaLib-devel)
|
$(vopt_if opengl MesaLib-devel)
|
||||||
$(vopt_if gles2 MesaLib-devel)
|
|
||||||
$(vopt_if vlc vlc-devel)
|
$(vopt_if vlc vlc-devel)
|
||||||
$(vopt_if wayland 'wayland-protocols wayland-devel')
|
$(vopt_if wayland 'wayland-protocols wayland-devel')
|
||||||
$(vopt_if x11 'libXcomposite-devel libXcursor-devel libXp-devel
|
$(vopt_if x11 'libXcomposite-devel libXcursor-devel libXp-devel
|
||||||
|
@ -62,6 +61,11 @@ else
|
||||||
configure_args+=" -Dbuild-tests=false"
|
configure_args+=" -Dbuild-tests=false"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# for backtrace support
|
||||||
|
if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
|
||||||
|
makedepends+=" libexecinfo-devel"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$CROSS_BUILD" ]; then
|
if [ "$CROSS_BUILD" ]; then
|
||||||
hostmakedepends+=" gettext-devel efl-devel"
|
hostmakedepends+=" gettext-devel efl-devel"
|
||||||
fi
|
fi
|
||||||
|
@ -70,6 +74,18 @@ case "$XBPS_TARGET_MACHINE" in
|
||||||
mips*) CFLAGS="-Os";;
|
mips*) CFLAGS="-Os";;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
# TODO: add option for scim (don't have it packaged)
|
||||||
|
build_options="elogind harfbuzz pulseaudio gstreamer vlc x11 wayland
|
||||||
|
opengl gles2 drm framebuffer simd lottie glib ibus"
|
||||||
|
# wayland_egl and gl_drm need gles, so use that by default
|
||||||
|
build_options_default="elogind harfbuzz pulseaudio gstreamer x11 wayland
|
||||||
|
opengl gles2 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)"
|
||||||
|
|
||||||
# sanitize options
|
# sanitize options
|
||||||
if [ -n "$build_option_wayland" -a -z "$build_option_drm" ]; then
|
if [ -n "$build_option_wayland" -a -z "$build_option_drm" ]; then
|
||||||
broken="wayland requires drm"
|
broken="wayland requires drm"
|
||||||
|
@ -77,29 +93,9 @@ fi
|
||||||
if [ -n "$build_option_ibus" -a -z "$build_option_glib" ]; then
|
if [ -n "$build_option_ibus" -a -z "$build_option_glib" ]; then
|
||||||
broken="ibus requires glib integration"
|
broken="ibus requires glib integration"
|
||||||
fi
|
fi
|
||||||
|
if [ -n "$build_option_gles2" -a -z "$build_option_opengl" ]; then
|
||||||
# TODO: add option for scim (don't have it packaged)
|
broken="gles2 needs opengl"
|
||||||
build_options="elogind harfbuzz pulseaudio gstreamer vlc x11 wayland
|
fi
|
||||||
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
|
|
||||||
i686*|x86_64*|ppc*)
|
|
||||||
# Enable desktop OpenGL on x86/ppc systems
|
|
||||||
build_options_default+=" opengl"
|
|
||||||
;;
|
|
||||||
aarch64*|armv7l*)
|
|
||||||
# Enable OpenGL ES on modern ARM systems
|
|
||||||
build_options_default+=" gles2"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# Architecture optimizations
|
# Architecture optimizations
|
||||||
case "$XBPS_TARGET_MACHINE" in
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
|
@ -113,13 +109,11 @@ case "$XBPS_TARGET_MACHINE" in
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
post_extract() {
|
post_install() {
|
||||||
# systemd option applies to elogind but we don't want to install services
|
# don't want service file junk
|
||||||
vsed -i '/systemd-services/d' meson.build
|
rm -rf ${DESTDIR}/usr/lib/systemd
|
||||||
# disable journald code, not used and breaks musl
|
# don't want systemd system module
|
||||||
vsed -i 's/ifdef HAVE_SYSTEMD/if 0/g' src/lib/eina/eina_log.c
|
rm -rf ${DESTDIR}/usr/lib/ecore/system/systemd
|
||||||
# disable systemd ecore module, not used and breaks musl
|
|
||||||
vsed -i "/'systemd',/d" src/modules/ecore/meson.build
|
|
||||||
}
|
}
|
||||||
|
|
||||||
efl-devel_package() {
|
efl-devel_package() {
|
||||||
|
|
Loading…
Add table
Reference in a new issue