summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'kde-base/kdm/kdm-4.5.2.ebuild')
-rw-r--r--kde-base/kdm/kdm-4.5.2.ebuild122
1 files changed, 122 insertions, 0 deletions
diff --git a/kde-base/kdm/kdm-4.5.2.ebuild b/kde-base/kdm/kdm-4.5.2.ebuild
new file mode 100644
index 000000000000..162bb3703289
--- /dev/null
+++ b/kde-base/kdm/kdm-4.5.2.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kdm/kdm-4.5.2.ebuild,v 1.1 2010/10/06 09:17:35 alexxy Exp $
+
+EAPI="3"
+
+KDE_HANDBOOK="optional"
+KMNAME="kdebase-workspace"
+inherit kde4-meta flag-o-matic
+
+DESCRIPTION="KDE login manager, similar to xdm and gdm"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="consolekit debug kerberos pam"
+
+DEPEND="
+ x11-libs/libXau
+ x11-libs/libXdmcp
+ x11-libs/libXtst
+ consolekit? (
+ >=sys-apps/dbus-1.0.2
+ sys-auth/consolekit
+ )
+ kerberos? ( virtual/krb5 )
+ pam? (
+ $(add_kdebase_dep kcheckpass)
+ virtual/pam
+ )
+"
+RDEPEND="${DEPEND}
+ $(add_kdebase_dep kdepasswd)
+ >=x11-apps/xinit-1.0.5-r2
+ x11-apps/xmessage
+"
+
+KMEXTRACTONLY="
+ kcontrol/kdm/
+"
+KMEXTRA="
+ libs/kdm/
+"
+
+PATCHES=(
+ "${FILESDIR}/kdebase-4.0.2-pam-optional.patch"
+ "${FILESDIR}/${PN}-4-gentoo-xinitrc.d.patch"
+)
+
+pkg_setup() {
+ kde4-meta_pkg_setup
+
+ # Create kdm:kdm user
+ KDM_HOME=/var/lib/kdm-${SLOT}
+ enewgroup kdm
+ enewuser kdm -1 -1 "${KDM_HOME}" kdm
+}
+
+src_configure() {
+ # genkdmconf breaks with -O3
+ # last checked in 4.2.95
+ replace-flags -O3 -O2
+
+ mycmakeargs=(
+ $(cmake-utils_use kerberos KDE4_KRB5AUTH)
+ $(cmake-utils_use_with pam)
+ $(cmake-utils_use_with consolekit CkConnector)
+ )
+
+ kde4-meta_src_configure
+}
+
+src_install() {
+ export GENKDMCONF_FLAGS="--no-old --no-backup"
+
+ kde4-meta_src_install
+
+ # Customize the kdmrc configuration:
+ # - SessionDirs set to /usr/share/xsessions
+ # - increase server timeout to 30s
+ # - TerminateServer=true to workaround X server regen bug, bug 278473
+ # - DataDir set to /var/lib/kdm-${SLOT}
+ # - FaceDir set to /var/lib/kdm-${SLOT}/faces
+ sed -e "s|^.*SessionsDirs=.*$|#&\nSessionsDirs=${EPREFIX}/usr/share/xsessions|" \
+ -e "/#ServerTimeout=/s/^.*$/ServerTimeout=30/" \
+ -e "/#TerminateServer=/s/^.*$/TerminateServer=true/" \
+ -e "s|^.*DataDir=.*$|#&\nDataDir=${EPREFIX}${KDM_HOME}|" \
+ -e "s|^.*FaceDir=.*$|#&\nFaceDir=${EPREFIX}${KDM_HOME}/faces|" \
+ -i "${ED}"/${KDEDIR}/share/config/kdm/kdmrc \
+ || die "Failed to set ServerTimeout and SessionsDirs correctly in kdmrc."
+
+ # Don't install empty dir
+ rmdir "${ED}${KDEDIR}"/share/config/kdm/sessions
+
+ # Set up permissions to kdm work directory
+ keepdir "${KDM_HOME}"
+ fowners root:kdm "${KDM_HOME}"
+ fperms 1770 "${KDM_HOME}"
+}
+
+pkg_postinst() {
+ kde4-meta_pkg_postinst
+
+ # Set the default kdm face icon if it's not already set by the system admin
+ # because this is user-overrideable in that way, it's not in src_install
+ if [[ ! -e "${EPREFIX}${KDM_HOME}/faces/.default.face.icon" ]]; then
+ mkdir -p "${EPREFIX}${KDM_HOME}/faces"
+ cp "${EROOT}${KDEDIR}/share/apps/kdm/pics/users/default1.png" \
+ "${EPREFIX}${KDM_HOME}/faces/.default.face.icon"
+ fi
+ if [[ ! -e "${EPREFIX}${KDM_HOME}/faces/root.face.icon" ]]; then
+ mkdir -p "${EPREFIX}${KDM_HOME}/faces"
+ cp "${EROOT}${KDEDIR}/share/apps/kdm/pics/users/root1.png" \
+ "${EPREFIX}${KDM_HOME}/faces/root.face.icon"
+ fi
+
+ if use consolekit; then
+ echo
+ elog "You have compiled 'kdm' with consolekit support. If you want to use kdm,"
+ elog "make sure consolekit daemon is running and started at login time"
+ elog
+ elog "rc-update add consolekit default && /etc/init.d/consolekit start"
+ echo
+ fi
+}