summaryrefslogtreecommitdiff
blob: b637ae9ab613f8a6488d33a161d9e296e7fe54a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=6

inherit meson xdg-utils

DESCRIPTION="Enlightenment DR17 window manager"
HOMEPAGE="https://www.enlightenment.org/"
SRC_URI="https://download.enlightenment.org/rel/apps/${PN}/${P}.tar.xz"

LICENSE="BSD-2"
SLOT="0.17/${PV%%_*}"
KEYWORDS="~amd64 ~x86"

E_CONF_MODS=(
	applications bindings dialogs display
	interaction intl menus paths
	performance randr shelves theme
	window-manipulation window-remembers
)

E_NORM_MODS=(
	appmenu backlight battery bluez4
	clock conf connman cpufreq
	everything fileman fileman-opinfo gadman
	geolocation ibar ibox lokker
	luncher mixer msgbus music-control
	notification packagekit pager pager-plain
	quickaccess shot start syscon
	sysinfo systray tasks teamwork
	temperature tiling time vkbd
	winlist wireless wizard wl-buffer
	wl-desktop-shell wl-drm wl-text-input wl-weekeyboard
	wl-wl wl-x11 xkbswitch xwayland
)

IUSE_E_MODULES=(
	${E_CONF_MODS[@]/#/enlightenment_modules_conf-}
	${E_NORM_MODS[@]/#/enlightenment_modules_}
)

IUSE="doc nls pam systemd udisks wayland ${IUSE_E_MODULES[@]/#/+}"

RDEPEND="
	>=dev-libs/efl-1.20.5[eet,X]
	virtual/udev
	x11-libs/libXext
	x11-libs/libxcb
	x11-libs/xcb-util-keysyms
	x11-misc/xkeyboard-config
	pam? ( sys-libs/pam )
	systemd? ( sys-apps/systemd )
	udisks? ( sys-fs/udisks:2 )
	wayland? (
		dev-libs/efl[drm,wayland]
		>=dev-libs/wayland-1.12.0
		x11-libs/libxkbcommon
		x11-libs/pixman
	)
"
DEPEND="
	${RDEPEND}
	virtual/pkgconfig
	nls? ( sys-devel/gettext )
"

src_prepare() {
	default

	xdg_environment_reset

	# fix QA issues with .desktop files
	find data/desktop/ -type f -exec sed -i 's|OnlyShowIn=Enlightenment|OnlyShowIn=X-Enlightenment|g' {} \; || die
	sed -i 's/Categories=Audio/Categories=AudioVideo/g' src/modules/mixer/emixer.desktop || die
}

src_configure() {
	local emesonargs=(
		-D device-udev=true
		-D install-sysactions=false
		-D mount-udisks=$(usex udisks true false)
		-D nls=$(usex nls true false)
		-D pam=$(usex pam true false)
		-D systemd=$(usex systemd true false)
		-D wayland=$(usex wayland true false)
	)

	local u c
	for u in ${IUSE_E_MODULES[@]} ; do
		c=${u#enlightenment_modules_}

		case ${c} in
		wl-*|xwayland)
			if ! use wayland ; then
				emesonargs+=( -D ${c}=false )
				continue
			fi

		;;
		esac

		emesonargs+=( -D ${c}=$(usex ${u} true false) )

	done

	meson_src_configure
}

src_install() {
	insinto /etc/enlightenment
	newins "${FILESDIR}"/gentoo-sysactions.conf sysactions.conf

	if use doc ; then
		local HTML_DOCS=( doc/. )
	fi

	meson_src_install
}

pkg_postinst() {
	xdg_desktop_database_update
	xdg_mimeinfo_database_update
}

pkg_postrm() {
	xdg_desktop_database_update
	xdg_mimeinfo_database_update
}