diff options
-rw-r--r-- | x11-wm/enlightenment/enlightenment-0.17.9999.ebuild | 85 | ||||
-rw-r--r-- | 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 7d245d57f6e1..3b6c43a8c67c 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 41964c0b346f..2ebc72107bbb 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> |