| # Copyright 1999-2015 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| EAPI="5" |
| |
| MY_P=${P/_/-} |
| |
| if [[ ${PV} == *9999 ]] ; then |
| EGIT_SUB_PROJECT="core" |
| EGIT_URI_APPEND="${PN}" |
| else |
| SRC_URI="https://download.enlightenment.org/rel/apps/${PN}/${MY_P}.tar.xz" |
| EKEY_STATE="snap" |
| fi |
| |
| inherit enlightenment |
| |
| DESCRIPTION="Enlightenment DR17 window manager" |
| |
| LICENSE="BSD-2" |
| SLOT="0.17/${PV%%_*}" |
| |
| __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[@]/#/+}" |
| |
| RDEPEND=" |
| pam? ( sys-libs/pam ) |
| systemd? ( sys-apps/systemd ) |
| wayland? ( |
| dev-libs/efl[wayland] |
| >=dev-libs/wayland-1.2.0 |
| >=x11-libs/pixman-0.31.1 |
| >=x11-libs/libxkbcommon-0.3.1 |
| ) |
| >=dev-libs/efl-1.16[X] |
| >=media-libs/elementary-1.16 |
| x11-libs/xcb-util-keysyms" |
| DEPEND="${RDEPEND}" |
| |
| S=${WORKDIR}/${MY_P} |
| |
| src_prepare() { |
| epatch "${FILESDIR}"/quickstart.diff |
| 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) |
| $(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) |
| ) |
| local u c |
| 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 |
| } |
| |
| src_install() { |
| enlightenment_src_install |
| insinto /etc/enlightenment |
| newins "${FILESDIR}"/gentoo-sysactions.conf sysactions.conf |
| } |