summaryrefslogtreecommitdiff
blob: db6f570628192f654bd09ba22dda9640bc5e7d26 (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
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

PYTHON_COMPAT=( python3_{7..9} )
PYTHON_REQ_USE="xml"

VALA_MAX_API_VERSION="0.50"

inherit gnome.org gnome2-utils python-single-r1 vala

DESCRIPTION="Input assistive technology intended for switch and pointer users"
HOMEPAGE="https://wiki.gnome.org/Projects/Caribou"

LICENSE="LGPL-2.1"
SLOT="0"
IUSE=""
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc x86"

COMMON_DEPEND="
	${PYTHON_DEPS}
	app-accessibility/at-spi2-core
	$(python_gen_cond_dep '
		>=dev-python/pygobject-2.90.3:3[${PYTHON_USEDEP}]
	')
	>=dev-libs/gobject-introspection-0.10.7:=
	dev-libs/libgee:0.8
	dev-libs/libxml2
	>=media-libs/clutter-1.5.11:1.0[introspection]
	>=x11-libs/gtk+-3:3[introspection]
	x11-libs/libX11
	x11-libs/libxklavier
	x11-libs/libXtst
"
# gsettings-desktop-schemas is needed for the 'toolkit-accessibility' key
# pyatspi-2.1.90 needed to run caribou if pygobject:3 is installed
# librsvg needed to load svg images in css styles
RDEPEND="
	${COMMON_DEPEND}
	dev-libs/glib[dbus]
	$(python_gen_cond_dep '
		>=dev-python/pyatspi-2.1.90[${PYTHON_USEDEP}]
	')
	>=gnome-base/gsettings-desktop-schemas-3
	gnome-base/librsvg:2
	sys-apps/dbus
	!<x11-base/xorg-server-1.20.10
"
DEPEND="
	${COMMON_DEPEND}
	dev-libs/libxslt
"
BDEPEND="
	$(vala_depend)
	>=dev-util/intltool-0.35.5
	virtual/pkgconfig
"

PATCHES=(
	"${FILESDIR}/${PN}-fix-compilation-error.patch"
	"${FILESDIR}/${PN}-fix-subkey-popmenu.patch"
	"${FILESDIR}/${PN}-fix-xadapter-xkb-calls.patch"
	"${FILESDIR}/${PN}-fix-antler-style-css.patch"
	"${FILESDIR}/${PN}-fix-python-env.patch"
)

src_prepare() {
	default
	vala_src_prepare
	gnome2_disable_deprecation_warning
}

src_configure() {
	econf \
		--disable-maintainer-mode \
		--disable-schemas-compile \
		--disable-docs \
		--disable-static \
		--disable-gtk2-module \
		--enable-gtk3-module
}

src_install() {
	DOCS="AUTHORS NEWS README"
	default
	find "${D}" -name '*.la' -delete || die
	python_optimize
}

pkg_postinst() {
	gnome2_schemas_update
}

pkg_postrm() {
	gnome2_schemas_update
}