commit: d3f9fea057b6344b3de1b209a64c705b5839a4d5
Author: Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 30 19:13:03 2015 +0000
Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Wed Dec 30 20:40:36 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d3f9fea0
x11-wm/enlightenment: update configure flags and module lists
.../enlightenment/enlightenment-0.17.9999.ebuild | 85 ++++++++++++++++------
x11-wm/enlightenment/metadata.xml | 13 ++++
2 files changed, 74 insertions(+), 24 deletions(-)
diff --git a/x11-wm/enlightenment/enlightenment-0.17.9999.ebuild
b/x11-wm/enlightenment/enlightenment-0.17.9999.ebuild
index 7d245d5..3b6c43a 100644
--- a/x11-wm/enlightenment/enlightenment-0.17.9999.ebuild
+++ b/x11-wm/enlightenment/enlightenment-0.17.9999.ebuild
@@ -21,25 +21,29 @@ DESCRIPTION="Enlightenment DR17 window manager"
LICENSE="BSD-2"
SLOT="0.17/${PV%%_*}"
-# The @ is just an anchor to expand from
-__EVRY_MODS=""
-__CONF_MODS="
- +@applications +@comp +@dialogs +@display
- +@interaction +@intl +@menus
- +@paths +@performance +@randr +@shelves +@theme +@wallpaper2
- +@window-manipulation +@window-remembers"
-__NORM_MODS="
- @access +@appmenu +@backlight +@bluez4 +@battery +@clock
- +@connman +@contact +@cpufreq +@everything +@fileman
- +@fileman-opinfo +@gadman +@ibar +@ibox +@illume2 +@mixer +@msgbus
- +@music-control +@notification +@pager +@quickaccess +@shot
- +@start +@syscon +@systray +@tasks +@teamwork +@temperature +@tiling
- +@winlist +@wizard @wl-desktop-shell @wl-screenshot +@xkbswitch"
-IUSE_E_MODULES="
- ${__CONF_MODS//@/enlightenment_modules_conf-}
- ${__NORM_MODS//@/enlightenment_modules_}"
+__CONF_MODS=(
+ applications bindings dialogs display
+ interaction intl menus
+ paths performance randr shelves theme
+ window-manipulation window-remembers
+)
+__NORM_MODS=(
+ appmenu backlight bluez4 battery
+ clock conf connman cpufreq everything
+ fileman fileman-opinfo gadman geolocation
+ ibar ibox lokker
+ mixer msgbus music-control notification
+ pager packagekit pager-plain policy-mobile quickaccess
+ shot start syscon systray tasks teamwork temperature tiling
+ winlist wizard wl-desktop-shell wl-drm wl-text-input
+ wl-weekeyboard wl-wl wl-x11 xkbswitch xwayland
+)
+IUSE_E_MODULES=(
+ ${__CONF_MODS[@]/#/enlightenment_modules_conf-}
+ ${__NORM_MODS[@]/#/enlightenment_modules_}
+)
-IUSE="pam spell static-libs systemd +udev ukit wayland ${IUSE_E_MODULES}"
+IUSE="pam spell static-libs systemd +udev ukit wayland
${IUSE_E_MODULES[@]/#/+}"
RDEPEND="
pam? ( sys-libs/pam )
@@ -50,8 +54,8 @@ RDEPEND="
>=x11-libs/pixman-0.31.1
>=x11-libs/libxkbcommon-0.3.1
)
- >=dev-libs/efl-${PV}[X]
- >=media-libs/elementary-${PV}
+ >=dev-libs/efl-1.16[X]
+ >=media-libs/elementary-1.16
x11-libs/xcb-util-keysyms"
DEPEND="${RDEPEND}"
@@ -62,23 +66,56 @@ src_prepare() {
enlightenment_src_prepare
}
+# Sanity check to make sure module lists are kept up-to-date.
+check_modules() {
+ local detected=$(
+ awk -F'[\\[\\](, ]' '$1 == "AC_E_OPTIONAL_MODULE" { print $3 }'
\
+ configure.ac | sed 's:_:-:g' | LC_COLLATE=C sort
+ )
+ local sorted=$(
+ printf '%s\n' ${IUSE_E_MODULES[@]/#enlightenment_modules_} | \
+ LC_COLLATE=C sort
+ )
+ if [[ ${detected} != "${sorted}" ]] ; then
+ local out new old
+ eerror "The ebuild needs to be kept in sync."
+ echo "${sorted}" > ebuild-iuse
+ echo "${detected}" > configure-detected
+ out=$(diff -U 0 ebuild-iuse configure-detected | sed -e '1,2d'
-e '/^@@/d')
+ new=$(echo "${out}" | sed -n '/^+/{s:^+::;p}')
+ old=$(echo "${out}" | sed -n '/^-/{s:^-::;p}')
+ eerror "Add these modules: $(echo ${new})"
+ eerror "Drop these modules: $(echo ${old})"
+ die "please update the ebuild"
+ fi
+}
+
src_configure() {
+ check_modules
+
E_ECONF=(
--disable-install-sysactions
$(use_enable doc)
- --disable-device-hal
$(use_enable nls)
$(use_enable pam)
$(use_enable systemd)
--enable-device-udev
$(use_enable udev mount-eeze)
$(use_enable ukit mount-udisks)
- $(use_enable wayland wayland-clients)
+ $(use_enable wayland)
)
local u c
- for u in ${IUSE_E_MODULES} ; do
- u=${u#+}
+ for u in ${IUSE_E_MODULES[@]} ; do
c=${u#enlightenment_modules_}
+ # Disable modules by hand since we default to enabling them all.
+ case ${c} in
+ wl-*|xwayland)
+ if ! use wayland ; then
+ E_ECONF+=( --disable-${c} )
+ continue
+ fi
+ ;;
+ esac
E_ECONF+=( $(use_enable ${u} ${c}) )
done
enlightenment_src_configure
diff --git a/x11-wm/enlightenment/metadata.xml
b/x11-wm/enlightenment/metadata.xml
index 41964c0..2ebc721 100644
--- a/x11-wm/enlightenment/metadata.xml
+++ b/x11-wm/enlightenment/metadata.xml
@@ -68,14 +68,19 @@ Enlightenment Features:
<flag name="enlightenment_modules_fileman">Enlightenment's integrated file
manager</flag>
<flag name="enlightenment_modules_fileman-opinfo">Can be placed on the
desktop or in a shelf</flag>
<flag name="enlightenment_modules_gadman">Module to manage gadgets on the
desktop</flag>
+ <flag name="enlightenment_modules_geolocation">Geolocation</flag>
<flag name="enlightenment_modules_ibar">Iconic application launcher</flag>
<flag name="enlightenment_modules_ibox">A home for your iconified
applications</flag>
<flag name="enlightenment_modules_illume2">Illume2 - next generation of
illume - special WM mode for embedded devices and set of plugins with same
purpose</flag>
+ <flag name="enlightenment_modules_lokker">Screen locker</flag>
<flag name="enlightenment_modules_mixer">A module to provide a mixer for
changing volume</flag>
<flag name="enlightenment_modules_msgbus">DBus Extension</flag>
<flag name="enlightenment_modules_music-control">Control your music in
your shelf</flag>
<flag name="enlightenment_modules_notification">notification-daemon
alternative. Popup if an event occur</flag>
+ <flag name="enlightenment_modules_packagekit">Package manager
integration</flag>
<flag name="enlightenment_modules_pager">Gadget to allow you to visualize
your virtual desktops and the windows they contain</flag>
+ <flag name="enlightenment_modules_pager-plain">A simpler desktop
pager</flag>
+ <flag name="enlightenment_modules_policy-mobile"></flag>
<flag name="enlightenment_modules_quickaccess">Enlightenment Quickaccess
Launcher</flag>
<flag name="enlightenment_modules_shot">Simple screenshot+save/upload
module</flag>
<flag name="enlightenment_modules_start">Enlightenment's "Start" button
equivalent</flag>
@@ -88,9 +93,17 @@ Enlightenment Features:
<flag name="enlightenment_modules_winlist">A module to show the list of
client applications presently running</flag>
<flag name="enlightenment_modules_wizard">First Run Wizard</flag>
<flag name="enlightenment_modules_wl-desktop-shell">Enlightenment Wayland
Desktop Shell</flag>
+ <flag name="enlightenment_modules_wl-drm">Wayland DRM (Direct Rendering
Manager) compositing module</flag>
<flag name="enlightenment_modules_wl-screenshot">Enlightenment Wayland
Screenshot module</flag>
+ <flag name="enlightenment_modules_wl-text-input">Wayland text input
support</flag>
+ <flag name="enlightenment_modules_wl-weekeyboard">Wayland virtual
keyboard</flag>
+ <flag name="enlightenment_modules_wl-wl">Wayland-in-Wayland module</flag>
+ <flag name="enlightenment_modules_wl-x11">Wayland-in-X11 module</flag>
<flag name="enlightenment_modules_xkbswitch">Keyboard layout configuration
and switcher</flag>
+ <flag name="enlightenment_modules_xwayland">X/Wayland integration</flag>
+ <flag name="enlightenment_modules_conf">Settings Panel</flag>
<flag name="enlightenment_modules_conf-applications">Allows configuration
of Ibar, Restart, and Startup applications</flag>
+ <flag name="enlightenment_modules_conf-bindings">Input Control
Settings</flag>
<flag name="enlightenment_modules_conf-comp">Configure default dialog
properties</flag>
<flag name="enlightenment_modules_conf-dialogs">Configure default dialog
properties</flag>
<flag name="enlightenment_modules_conf-display">Used to configure your
screen</flag>