From 96945f261af856453c4d48d49c683f1294e3afec Mon Sep 17 00:00:00 2001 From: Joonas Niilola Date: Sun, 28 Apr 2019 19:15:46 +0300 Subject: 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 Closes: https://github.com/gentoo/gentoo/pull/11846 Signed-off-by: Andreas Sturmlechner --- .../enlightenment/enlightenment-0.22.4-r1.ebuild | 102 +++++++++++++++++++++ .../enlightenment-0.22.4-efl-1.22-wayland.patch | 65 +++++++++++++ x11-wm/enlightenment/metadata.xml | 1 + 3 files changed, 168 insertions(+) create mode 100644 x11-wm/enlightenment/enlightenment-0.22.4-r1.ebuild create mode 100644 x11-wm/enlightenment/files/enlightenment-0.22.4-efl-1.22-wayland.patch (limited to 'x11-wm/enlightenment') 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)" +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 @@ Enable module for package manager integration + Enable XWayland application support Enlightenment is classed as a "desktop shell" as it provides everything you need to -- cgit v1.2.3-65-gdbad