summaryrefslogtreecommitdiff
blob: 8b2eb6ff7491c6e19780aa6566df38fe35c8f8f1 (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
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-misc/lightdm/Attic/lightdm-0.2.3.ebuild,v 1.3 2011/04/29 13:52:00 ssuominen dead $

EAPI=4
inherit autotools eutils pam

DESCRIPTION="A lightweight display manager"
HOMEPAGE="http://www.freedesktop.org/wiki/Software/LightDM"
SRC_URI="http://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz
	gtk? ( http://dev.gentoo.org/~hwoarang/distfiles/${PN}-gentoo-patch.tar.gz )"

LICENSE="GPL-3 LGPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="branding +gtk +introspection qt4"

RDEPEND="dev-libs/glib:2
	virtual/pam
	x11-libs/libxklavier
	x11-libs/libX11
	dev-libs/libxml2
	gtk? ( x11-libs/gtk+:3
		x11-themes/gnome-themes-standard
		x11-themes/gnome-icon-theme )
	qt4? ( x11-libs/qt-core:4
		x11-libs/qt-dbus:4 )
	sys-apps/accountsservice"
DEPEND="${RDEPEND}
	dev-lang/vala:0.12
	dev-util/intltool
	dev-util/pkgconfig
	sys-devel/gettext
	introspection? ( dev-libs/gobject-introspection )"

REQUIRED_USE="branding? ( gtk )"
DOCS=( NEWS )

pkg_setup() {
	if ! use gtk && ! use qt4; then
		eerror
		eerror "You have neither 'gtk' nor 'qt4' useflags enabled."
		eerror "Please enable at least one of the two available greeter"
		eerror "options"
		die "Neither gtk nor qt4 useflag is enabled"
	fi
}

src_prepare() {
	# Make gtk greeter optional
	epatch "${FILESDIR}/${P}-gtk.patch"
	# remove GNOME_COMPILE_WARNING reference which requires
	# gnome-base/gnome-common dependency.
	sed -i -e "/GNOME_COMPILE_WARNING/d" "${S}"/configure.ac || die
	# Hide users with uid < 1000
	sed -i -e "/minimum-uid/s:500:1000:" "${S}"/data/users.conf	|| die
	eautoreconf
}

src_configure() {
	local default=gnome greeter=
	# gtk has higher priority because Qt4 interface sucks
	use qt4 && greeter=lightdm-qt-greeter
	use gtk && greeter=ligthdm-gtk-greeter
	econf --localstatedir=/var \
		--disable-static \
		$(use_enable introspection) \
		$(use_enable qt4 liblightdm-qt) \
		$(use_enable gtk liblightdm-gtk) \
		--with-user-session=${default} \
		--with-greeter-session=${greeter} \
		--with-greeter-user=root \
		--with-html-dir="${EPREFIX}"/usr/share/doc/${PF}/html
}

src_install() {
	default
	# remove .la files
	find "${ED}" -name "*.la" -exec rm -rf {} +
	rm -Rf "${ED}"/etc/init || die

	if use gtk; then
		insinto /etc/${PN}/
		doins "${WORKDIR}"/${PN}-gtk-greeter.conf
		if use branding; then
			insinto /usr/share/${PN}/backgrounds/
			doins "${WORKDIR}"/gentoo1024x768.png
			sed -i -e "/background/s:=.*:=/usr/share/${PN}/backgrounds/gentoo1024x768.png:" \
				"${D}"/etc/${PN}/${PN}-gtk-greeter.conf || die
		fi
	fi
	pamd_mimic system-local-login lightdm auth account session
}

pkg_postinst() {
	elog
	elog "Even though the default /etc/${PN}/${PN}.conf will work for"
	elog "most users, make sure you configure it to suit your needs"
	elog "before using ${PN} for the first time."
	elog "You can test the configuration file using the following"
	elog "command: ${PN} --test-mode -c /etc/${PN}/${PN}.conf. This"
	elog "requires xorg-server to be built with the 'kdrive' useflag."
	elog
}