diff options
author | Joonas Niilola <juippis@gmail.com> | 2019-04-28 19:15:46 +0300 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2019-05-08 18:59:35 +0200 |
commit | 96945f261af856453c4d48d49c683f1294e3afec (patch) | |
tree | 4e934aa769cd0d923af13f08fdb1a470109232eb /x11-wm/enlightenment | |
parent | leechcraft.eclass: Revert revert add support for EAPI 7 (diff) | |
download | gentoo-96945f261af856453c4d48d49c683f1294e3afec.tar.gz gentoo-96945f261af856453c4d48d49c683f1294e3afec.tar.bz2 gentoo-96945f261af856453c4d48d49c683f1294e3afec.zip |
x11-wm/enlightenment: make wayland work with 0.22.4
- added a new USE flag for XWayland support,
- added a patch for wayland with efl-1.22,
- bumped EAPI to 7,
- restored KEYWORDS from enlightenment-0.22.3.
Closes: https://bugs.gentoo.org/684520
Package-Manager: Portage-2.3.64, Repoman-2.3.12
Signed-off-by: Joonas Niilola <juippis@gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/11846
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'x11-wm/enlightenment')
-rw-r--r-- | x11-wm/enlightenment/enlightenment-0.22.4-r1.ebuild | 102 | ||||
-rw-r--r-- | x11-wm/enlightenment/files/enlightenment-0.22.4-efl-1.22-wayland.patch | 65 | ||||
-rw-r--r-- | x11-wm/enlightenment/metadata.xml | 1 |
3 files changed, 168 insertions, 0 deletions
diff --git a/x11-wm/enlightenment/enlightenment-0.22.4-r1.ebuild b/x11-wm/enlightenment/enlightenment-0.22.4-r1.ebuild new file mode 100644 index 000000000000..99d2165d2e07 --- /dev/null +++ b/x11-wm/enlightenment/enlightenment-0.22.4-r1.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit meson xdg-utils + +DESCRIPTION="Enlightenment window manager" +HOMEPAGE="https://www.enlightenment.org" +SRC_URI="https://download.enlightenment.org/rel/apps/${PN}/${P}.tar.xz" + +LICENSE="BSD-2" +SLOT="0.17/${PV%%_*}" +KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86" +IUSE="acpi bluetooth connman doc geolocation nls packagekit pam systemd udisks wayland wifi xwayland" + +REQUIRED_USE="xwayland? ( wayland )" + +RDEPEND=" + >=dev-libs/efl-1.20.5[eet,X] + virtual/udev + x11-libs/libXext + x11-libs/libxcb + x11-libs/xcb-util-keysyms + x11-misc/xkeyboard-config + acpi? ( sys-power/acpid ) + bluetooth? ( net-wireless/bluez ) + connman? ( dev-libs/efl[connman] ) + geolocation? ( app-misc/geoclue:2.0 ) + packagekit? ( app-admin/packagekit-base ) + pam? ( sys-libs/pam ) + systemd? ( sys-apps/systemd ) + udisks? ( sys-fs/udisks:2 ) + wayland? ( + >=dev-libs/efl-1.22.0[drm,wayland] + dev-libs/wayland + x11-libs/libxkbcommon + x11-libs/pixman + ) + xwayland? ( + dev-libs/efl[X,wayland] + x11-base/xorg-server[wayland] + ) +" +BDEPEND=" + virtual/pkgconfig + nls? ( sys-devel/gettext ) +" +DEPEND="${RDEPEND}" + +PATCHES=( "${FILESDIR}/${P}-efl-1.22-wayland.patch" ) + +src_configure() { + local emesonargs=( + -D device-udev=true + -D install-sysactions=false + + $(meson_use udisks mount-udisks) + $(meson_use bluetooth bluez4) + $(meson_use connman) + $(meson_use geolocation) + $(meson_use nls) + $(meson_use packagekit) + $(meson_use pam) + $(meson_use systemd) + $(meson_use wayland) + $(meson_use wifi wireless) + $(meson_use xwayland) + ) + + if ! use wayland; then + emesonargs+=( + -D wl-buffer=false + -D wl-desktop-shell=false + -D wl-drm=false + -D wl-text-input=false + -D wl-weekeyboard=false + -D wl-wl=false + -D wl-x11=false + ) + fi + + meson_src_configure +} + +src_install() { + insinto /etc/enlightenment + newins "${FILESDIR}"/gentoo-sysactions.conf sysactions.conf + + use doc && local HTML_DOCS=( doc/. ) + meson_src_install +} + +pkg_postinst() { + xdg_desktop_database_update + xdg_mimeinfo_database_update +} + +pkg_postrm() { + xdg_desktop_database_update + xdg_mimeinfo_database_update +} diff --git a/x11-wm/enlightenment/files/enlightenment-0.22.4-efl-1.22-wayland.patch b/x11-wm/enlightenment/files/enlightenment-0.22.4-efl-1.22-wayland.patch new file mode 100644 index 000000000000..3321390cf62a --- /dev/null +++ b/x11-wm/enlightenment/files/enlightenment-0.22.4-efl-1.22-wayland.patch @@ -0,0 +1,65 @@ +From ea3f6ed68f948cea4b64432a6cdb72fca85e6987 Mon Sep 17 00:00:00 2001 +From: "Carsten Haitzler (Rasterman)" <raster@rasterman.com> +Date: Fri, 22 Feb 2019 11:12:00 +0000 +Subject: e - unbreak build due to efl changes + +--- + src/bin/e.h | 1 + + src/bin/e_comp_wl.c | 8 ++++---- + 2 files changed, 5 insertions(+), 4 deletions(-) + +diff --git a/src/bin/e.h b/src/bin/e.h +index 7d00d819e..abe5ed731 100644 +--- a/src/bin/e.h ++++ b/src/bin/e.h +@@ -17,6 +17,7 @@ + # endif + + #ifdef HAVE_WAYLAND ++# define EFL_EO_API_SUPPORT + # define EFL_BETA_API_SUPPORT + #endif + +diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c +index a9adad104..e56e4e6f8 100644 +--- a/src/bin/e_comp_wl.c ++++ b/src/bin/e_comp_wl.c +@@ -2188,7 +2188,7 @@ _cb_early_frame_cb(void *data, const Efl_Event *event EINA_UNUSED) + if (ec->comp_data->early_frame++ > 15) + { + ec->comp_data->early_frame = 0; +- efl_event_callback_del(e_comp->evas, EFL_EVENT_ANIMATOR_TICK, ++ efl_event_callback_del(e_comp->evas, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, + _cb_early_frame_cb, data); + } + } +@@ -2198,14 +2198,14 @@ _e_comp_wl_surface_early_frame(E_Client *ec) + { + if (e_comp_object_damage_exists(ec->frame)) + { +- efl_event_callback_del(e_comp->evas, EFL_EVENT_ANIMATOR_TICK, ++ efl_event_callback_del(e_comp->evas, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, + _cb_early_frame_cb, ec); + ec->comp_data->early_frame = 0; + return; + } + if (ec->on_post_updates) return; + if (!ec->comp_data->early_frame) +- efl_event_callback_add(e_comp->evas, EFL_EVENT_ANIMATOR_TICK, ++ efl_event_callback_add(e_comp->evas, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, + _cb_early_frame_cb, ec); + ec->comp_data->early_frame = 1; + } +@@ -2582,7 +2582,7 @@ _e_comp_wl_client_cb_del(void *data EINA_UNUSED, E_Client *ec) + /* make sure this is a wayland client */ + if (e_pixmap_type_get(ec->pixmap) != E_PIXMAP_TYPE_WL) return; + +- efl_event_callback_del(e_comp->evas, EFL_EVENT_ANIMATOR_TICK, ++ efl_event_callback_del(e_comp->evas, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, + _cb_early_frame_cb, ec); + ec->comp_data->early_frame = 0; + +-- +cgit v1.2.1 + + diff --git a/x11-wm/enlightenment/metadata.xml b/x11-wm/enlightenment/metadata.xml index f29f0f98962f..aca5ea1b717c 100644 --- a/x11-wm/enlightenment/metadata.xml +++ b/x11-wm/enlightenment/metadata.xml @@ -10,6 +10,7 @@ </maintainer> <use> <flag name="packagekit">Enable module for package manager integration</flag> + <flag name="xwayland">Enable XWayland application support</flag> </use> <longdescription> Enlightenment is classed as a "desktop shell" as it provides everything you need to |