summaryrefslogtreecommitdiff
blob: e4da52a8256c40960e7c3912ca849190efd3d07e (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
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/mate-base/mate-session-manager/mate-session-manager-1.6.1-r1.ebuild,v 1.7 2014/05/31 20:38:31 tomwij Exp $

EAPI="5"

GCONF_DEBUG="yes"

inherit autotools gnome2 versionator

MATE_BRANCH="$(get_version_component_range 1-2)"

SRC_URI="http://pub.mate-desktop.org/releases/${MATE_BRANCH}/${P}.tar.xz"
DESCRIPTION="MATE session manager"
HOMEPAGE="http://mate-desktop.org/"

LICENSE="GPL-2 LGPL-2 FDL-1.1"
SLOT="0"
KEYWORDS="amd64"

IUSE="ipv6 elibc_FreeBSD gnome-keyring systemd"

# x11-misc/xdg-user-dirs{,-gtk} are needed to create the various XDG_*_DIRs, and
# create .config/user-dirs.dirs which is read by glib to get G_USER_DIRECTORY_*
# xdg-user-dirs-update is run during login (see 10-user-dirs-update-gnome below).

RDEPEND=">=dev-libs/dbus-glib-0.76:0
	>=dev-libs/glib-2.25:2
	dev-libs/libxslt:0
	sys-apps/dbus:0
	|| (
		( >=sys-power/upower-0.9.0 <sys-power/upower-0.99 )
		sys-power/upower-pm-utils
	)
	x11-apps/xdpyinfo:0
	x11-libs/gdk-pixbuf:2
	>=x11-libs/gtk+-2.14:2
	x11-libs/libICE:0
	x11-libs/libSM:0
	x11-libs/libX11:0
	x11-libs/libXau:0
	x11-libs/libXext:0
	x11-libs/libXrender:0
	x11-libs/libXtst:0
	x11-libs/pango:0
	x11-libs/xtrans:0
	x11-misc/xdg-user-dirs:0
	x11-misc/xdg-user-dirs-gtk:0
	virtual/libintl:0
	elibc_FreeBSD? ( dev-libs/libexecinfo:0 )
	gnome-keyring? ( gnome-base/gnome-keyring:0 )"

DEPEND="${RDEPEND}
	>=dev-util/intltool-0.40:*
	>=dev-lang/perl-5:0
	>=mate-base/mate-common-1.6:0
	>=sys-devel/gettext-0.10.40:*
	virtual/pkgconfig:*
	!<gnome-base/gdm-2.20.4:0
	systemd? ( sys-apps/systemd:0 )"

src_prepare() {
	# Add "session saving" button back,
	# see https://bugzilla.gnome.org/show_bug.cgi?id=575544
	epatch "${FILESDIR}"/${PN}-1.5.2-save-session-ui.patch

	# Fix race condition in idle monitor, GNOME bug applies to MATE too,
	# see https://bugzilla.gnome.org/show_bug.cgi?id=627903
	epatch "${FILESDIR}"/${PN}-1.2.0-idle-transition.patch

	# Fix suspend support with systemd.
	if use systemd ; then
		epatch "${FILESDIR}"/${P}-login1.patch
	fi

	# Use gnome-keyring.
	if use gnome-keyring ; then
		epatch "${FILESDIR}"/${PN}-1.6-gnome-keyring.patch
	fi

	eautoreconf
	gnome2_src_prepare
}

src_configure() {
	gnome2_src_configure \
		--docdir="${EPREFIX}/usr/share/doc/${PF}" \
		--with-default-wm=mate-wm \
		--with-gtk=2.0 \
		$(use_enable ipv6) \
		$(use_with systemd)
}

DOCS="AUTHORS ChangeLog NEWS README"

src_install() {
	gnome2_src_install

	dodir /etc/X11/Sessions/
	exeinto /etc/X11/Sessions/
	doexe "${FILESDIR}"/MATE

	dodir /usr/share/mate/applications/
	insinto /usr/share/mate/applications/
	doins "${FILESDIR}"/defaults.list

	dodir /etc/X11/xinit/xinitrc.d/
	exeinto /etc/X11/xinit/xinitrc.d/
	doexe "${FILESDIR}"/15-xdg-data-mate

	# This should be done in MATE too, see Gentoo bug #270852
	doexe "${FILESDIR}"/10-user-dirs-update-mate
}