123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- # Copyright 1999-2017 Gentoo Foundation
- # Distributed under the terms of the GNU General Public License v2
- 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%%_*}"
- KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-solaris ~x86-solaris"
- __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 ukit wayland ${IUSE_E_MODULES[@]/#/+}"
- RDEPEND="
- pam? ( sys-libs/pam )
- systemd? ( sys-apps/systemd )
- wayland? (
- dev-libs/efl[wayland]
- >=dev-libs/wayland-1.8.0
- >=x11-libs/pixman-0.31.1
- >=x11-libs/libxkbcommon-0.3.1
- )
- >=dev-libs/efl-1.17[X]
- >=media-libs/elementary-1.17
- 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 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
- }
|