summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkos Chandras <hwoarang@gentoo.org>2009-02-10 15:03:10 +0000
committerMarkos Chandras <hwoarang@gentoo.org>2009-02-10 15:03:10 +0000
commit56f93f778e3eea2938c3834217c256670dd0ebc8 (patch)
tree674c25b96ca7ce8d9fa88340bf7d323e20d3b923 /kde-base/kdm
parent Spacing. (diff)
downloadgentoo-2-56f93f778e3eea2938c3834217c256670dd0ebc8.tar.gz
gentoo-2-56f93f778e3eea2938c3834217c256670dd0ebc8.tar.bz2
gentoo-2-56f93f778e3eea2938c3834217c256670dd0ebc8.zip
Apply patches to prevent crash with Qt-4.5
(Portage version: 2.2_rc23/cvs/Linux x86_64)
Diffstat (limited to 'kde-base/kdm')
-rw-r--r--kde-base/kdm/ChangeLog9
-rw-r--r--kde-base/kdm/files/kdm-4.2.0-qt4.5.patch27
-rw-r--r--kde-base/kdm/files/kdm-4.2.0-qt4.5_h.patch11
-rw-r--r--kde-base/kdm/kdm-4.2.0-r1.ebuild85
4 files changed, 131 insertions, 1 deletions
diff --git a/kde-base/kdm/ChangeLog b/kde-base/kdm/ChangeLog
index dbd0f317cb03..94b9d3540533 100644
--- a/kde-base/kdm/ChangeLog
+++ b/kde-base/kdm/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for kde-base/kdm
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/kde-base/kdm/ChangeLog,v 1.147 2009/02/01 07:09:00 jmbsvicetto Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kdm/ChangeLog,v 1.148 2009/02/10 15:03:10 hwoarang Exp $
+
+*kdm-4.2.0-r1 (10 Feb 2009)
+
+ 10 Feb 2009; Markos Chandras <hwoarang@gentoo.org>
+ +files/kdm-4.2.0-qt4.5_h.patch, +files/kdm-4.2.0-qt4.5.patch,
+ +kdm-4.2.0-r1.ebuild:
+ Apply patches to prevent crashes with Qt-4.5
01 Feb 2009; Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
kdm-4.2.0.ebuild:
diff --git a/kde-base/kdm/files/kdm-4.2.0-qt4.5.patch b/kde-base/kdm/files/kdm-4.2.0-qt4.5.patch
new file mode 100644
index 000000000000..f452135bfb0b
--- /dev/null
+++ b/kde-base/kdm/files/kdm-4.2.0-qt4.5.patch
@@ -0,0 +1,27 @@
+--- kdm/kfrontend/kgapp.cpp 2009/01/06 17:13:38 906699
++++ kdm/kfrontend/kgapp.cpp 2009/02/07 15:59:44 922805
+@@ -70,7 +70,7 @@
+
+ }
+
+-GreeterApp::GreeterApp( int argc, char **argv ) :
++GreeterApp::GreeterApp( int &argc, char **argv ) :
+ inherited( argc, argv ),
+ regrabPtr( false ), regrabKbd( false ),
+ dragWidget( 0 )
+@@ -296,13 +296,14 @@
+ }
+
+ static char *fakeArgv[] = { (char *)"kdmgreet", 0 };
++ static int fakeArgc = as(fakeArgv) - 1;
+
+ KCrash::setFlags( KCrash::KeepFDs | KCrash::SaferDialog | KCrash::AlwaysDirectly );
+ KCrash::setApplicationName( QLatin1String( fakeArgv[0] ) );
+ KCrash::setCrashHandler( KCrash::defaultCrashHandler );
+ XSetIOErrorHandler( xIOErr );
+ KComponentData inst( fakeArgv[0] );
+- GreeterApp app( as(fakeArgv) - 1, fakeArgv );
++ GreeterApp app( fakeArgc, fakeArgv );
+ foreach (const QString &dir, KGlobal::dirs()->resourceDirs( "qtplugins" ))
+ app.addLibraryPath( dir );
+ initQAppConfig();
diff --git a/kde-base/kdm/files/kdm-4.2.0-qt4.5_h.patch b/kde-base/kdm/files/kdm-4.2.0-qt4.5_h.patch
new file mode 100644
index 000000000000..c8f4576eef93
--- /dev/null
+++ b/kde-base/kdm/files/kdm-4.2.0-qt4.5_h.patch
@@ -0,0 +1,11 @@
+--- kdm/kfrontend/kgapp.h 2009/01/06 17:13:38 906699
++++ kdm/kfrontend/kgapp.h 2009/02/07 15:59:44 922805
+@@ -35,7 +35,7 @@
+ typedef QApplication inherited;
+
+ public:
+- GreeterApp(int argc, char **argv);
++ GreeterApp(int &argc, char **argv);
+ virtual bool x11EventFilter( XEvent * );
+
+ protected:
diff --git a/kde-base/kdm/kdm-4.2.0-r1.ebuild b/kde-base/kdm/kdm-4.2.0-r1.ebuild
new file mode 100644
index 000000000000..1a46b6193d2e
--- /dev/null
+++ b/kde-base/kdm/kdm-4.2.0-r1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kdm/kdm-4.2.0-r1.ebuild,v 1.1 2009/02/10 15:03:10 hwoarang Exp $
+
+EAPI="2"
+
+KMNAME="kdebase-workspace"
+inherit kde4-meta
+
+DESCRIPTION="KDE login manager, similar to xdm and gdm"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="consolekit debug htmlhandbook kerberos pam"
+
+DEPEND="x11-libs/libXau
+ x11-libs/libXdmcp
+ x11-libs/libXtst
+ kerberos? ( virtual/krb5 )
+ pam? (
+ >=kde-base/kcheckpass-${PV}:${SLOT}
+ sys-libs/pam
+ )
+ consolekit? (
+ >=sys-apps/dbus-1.0.2
+ sys-auth/consolekit
+ )"
+RDEPEND="${DEPEND}
+ >=kde-base/kdepasswd-${PV}:${SLOT}
+ >=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}/kdm-4.2.0-qt4.5_h.patch"
+ "${FILESDIR}/kdm-4.2.0-qt4.5.patch")
+
+src_configure() {
+ mycmakeargs="${mycmakeargs}
+ $(use kerberos && echo "-DKDE4_KRB5AUTH=ON" || echo "-DKDE4_KRB5AUTH=OFF")
+ $(cmake-utils_use_with pam 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
+ sed -i -e "s:^.*SessionsDirs=.*$:#&\nSessionsDirs=/usr/share/xsessions:" \
+ "${D}"/${PREFIX}/share/config/kdm/kdmrc \
+ || die "Failed to set SessionsDirs correctly."
+
+ # Don't install empty dir
+ rmdir "${D}${KDEDIR}"/share/config/kdm/sessions
+}
+
+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 "${ROOT}${KDEDIR}/share/apps/kdm/faces/.default.face.icon" ]]; then
+ mkdir -p "${ROOT}${KDEDIR}/share/apps/kdm/faces"
+ cp "${ROOT}${KDEDIR}/share/apps/kdm/pics/users/default1.png" \
+ "${ROOT}${KDEDIR}/share/apps/kdm/faces/.default.face.icon"
+ fi
+ if [[ ! -e "${ROOT}${KDEDIR}/share/apps/kdm/faces/root.face.icon" ]]; then
+ mkdir -p "${ROOT}${KDEDIR}/share/apps/kdm/faces"
+ cp "${ROOT}${KDEDIR}/share/apps/kdm/pics/users/root1.png" \
+ "${ROOT}${KDEDIR}/share/apps/kdm/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
+}