diff --git a/enlightenment-0.17.9999.ebuild b/usr/local/portage/x11-wm/enlightenment/enlightenment-9999.ebuild index 42602fa..9980fe0 100644 --- a/enlightenment-0.17.9999.ebuild +++ b/usr/local/portage/x11-wm/enlightenment/enlightenment-9999.ebuild @@ -1,125 +1,107 @@ # Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -EAPI="5" +EAPI=6 -MY_P=${P/_/-} +inherit eutils +[ "${PV}" = 9999 ] && inherit git-r3 meson xdg-utils -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" - 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" -fi - -inherit enlightenment - -DESCRIPTION="Enlightenment DR17 window manager" +DESCRIPTION="Enlightenment DR19 window manager" +HOMEPAGE="https://www.enlightenment.org/" +EGIT_REPO_URI="https://git.enlightenment.org/core/${PN}.git" +[ "${PV}" = 9999 ] || SRC_URI="http://download.enlightenment.org/rel/apps/${PN}/${P}.tar.bz2" LICENSE="BSD-2" +[ "${PV}" = 9999 ] || KEYWORDS="~amd64 ~x86" SLOT="0.17/${PV%%_*}" -__CONF_MODS=( - applications bindings dialogs display - interaction intl menus - paths performance randr shelves theme - window-manipulation window-remembers +E_MODULES_DEFAULT=( + conf-applications conf-bindings conf-dialogs conf-display conf-interaction + conf-intl conf-menus conf-paths conf-performance conf-randr conf-shelves + conf-theme conf-window-manipulation conf-window-remembers + + appmenu backlight battery bluez4 clock conf connman cpufreq everything + fileman fileman-opinfo gadman geolocation ibar ibox lokker mixer msgbus music-control + notification pager pager-plain quickaccess shot start syscon systray tasks time + teamwork temperature tiling winlist wireless wizard xkbswitch + wl-weekeyboard wl-wl wl-x11 ) -__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 time - winlist wireless wizard wl-desktop-shell wl-drm wl-text-input - wl-weekeyboard wl-wl wl-x11 xkbswitch xwayland +E_MODULES=( + packagekit wl-desktop-shell wl-drm wl-fb wl-x11 ) IUSE_E_MODULES=( - ${__CONF_MODS[@]/#/enlightenment_modules_conf-} - ${__NORM_MODS[@]/#/enlightenment_modules_} + "${E_MODULES_DEFAULT[@]/#/+enlightenment_modules_}" + "${E_MODULES[@]/#/enlightenment_modules_}" ) +IUSE="doc +eeze egl nls pam pm-utils static-libs systemd +udev udisks wayland xwayland ${IUSE_E_MODULES[@]}" -IUSE="pam spell static-libs systemd ukit wayland ${IUSE_E_MODULES[@]/#/+}" - +# maybe even dev-libs/wlc for wayland USE flag RDEPEND=" + >=dev-libs/efl-9999[X,egl?,wayland?] + virtual/udev + x11-libs/libxcb + x11-libs/xcb-util-keysyms + >=media-libs/alsa-lib-1.0.8 + nls? ( sys-devel/gettext ) pam? ( sys-libs/pam ) + pm-utils? ( sys-power/pm-utils ) systemd? ( sys-apps/systemd ) + udisks? ( sys-fs/udisks ) wayland? ( - dev-libs/efl[wayland] - >=dev-libs/wayland-1.10.0 + >=dev-libs/wayland-1.3.0 + >=dev-libs/weston-1.11.0 >=x11-libs/pixman-0.31.1 >=x11-libs/libxkbcommon-0.3.1 + )" +DEPEND="${RDEPEND} + doc? ( app-doc/doxygen )" + +S="${WORKDIR}/${P/_/-}" + +src_configure() { + local emesonargs=( +# --enable-install-enlightenment-menu +# --enable-install-sysactions + -Ddoc=$(usex doc true false) + -Ddevice-udev=$(usex udev true false) + -Degl=$(usex egl true false) +# -Dfiles=$(usex files true false) + -Dmount-udisks=$(usex udisks true false) + -Dnls=$(usex nls true false) + -Dpam=$(usex pam true false) + -Dstatic-libs=$(usex static-libs true false) + -Dsystemd=$(usex systemd true false) + -Deeze=$(usex eeze true false) + -Dwayland=$(usex wayland true false) + -Dxwayland=$(usex xwayland true false) ) - >=dev-libs/efl-1.18[X] - x11-libs/xcb-util-keysyms" -DEPEND="${RDEPEND}" -S=${WORKDIR}/${MY_P} + local i + for i in ${E_MODULES_DEFAULT} ${E_MODULES}; do + emesonargs+="-D${i}=$(usex enlightenment_modules_${i} true false)" + done -src_prepare() { - epatch "${FILESDIR}"/quickstart.diff - enlightenment_src_prepare -} + if use wayland; then + emesonargs+=( + -Dwl-desktop-shell=$(usex enlightenment_modules_wl-desktop-shell true false) + -Dwl-x11=$(usex enlightenment_modules_wl-x11 true false) + -Dwl-wl=$(usex enlightenment_modules_wl-wl true false) + -Dwl-drm=$(usex enlightenment_modules_wl-drm true false) + -Dwl-text-input=$(usex enlightenment_modules_wl-text-input true false) + -Dwl-weekeyboard=$(usex enlightenment_modules_wl-weekeyboard true false) + ) -# 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 + meson_src_configure +} - 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 +pkg_postinst() { + xdg_mimeinfo_database_update + xdg_desktop_database_update } -src_install() { - enlightenment_src_install - insinto /etc/enlightenment - newins "${FILESDIR}"/gentoo-sysactions.conf sysactions.conf +pkg_postrm() { + xdg_mimeinfo_database_update + xdg_desktop_database_update }