Work around browser plugin flaw.
authorCarsten Lohrke <carlo@gentoo.org>
Thu, 19 Apr 2007 16:20:26 +0000 (16:20 +0000)
committerCarsten Lohrke <carlo@gentoo.org>
Thu, 19 Apr 2007 16:20:26 +0000 (16:20 +0000)
Package-Manager: portage-2.1.2.4

12 files changed:
kde-base/kdebase/ChangeLog
kde-base/kdebase/files/digest-kdebase-3.5.5-r4 [new file with mode: 0644]
kde-base/kdebase/files/digest-kdebase-3.5.6-r2 [new file with mode: 0644]
kde-base/kdebase/files/nsplugins-3.5.6-keyboard-handler.diff [new file with mode: 0644]
kde-base/kdebase/kdebase-3.5.5-r4.ebuild [new file with mode: 0644]
kde-base/kdebase/kdebase-3.5.6-r2.ebuild [new file with mode: 0644]
kde-base/nsplugins/ChangeLog
kde-base/nsplugins/files/digest-nsplugins-3.5.5-r2 [new file with mode: 0644]
kde-base/nsplugins/files/digest-nsplugins-3.5.6-r1 [new file with mode: 0644]
kde-base/nsplugins/files/nsplugins-3.5.6-keyboard-handler.diff [new file with mode: 0644]
kde-base/nsplugins/nsplugins-3.5.5-r2.ebuild [new file with mode: 0644]
kde-base/nsplugins/nsplugins-3.5.6-r1.ebuild [new file with mode: 0644]

index a815aec04cdc69d54d6d04c5c0fdb83694ab859a..9c1dcadb5558848faee79b6dc40ff2b7554ad9c3 100644 (file)
@@ -1,6 +1,14 @@
 # ChangeLog for kde-base/kdebase
 # Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/kde-base/kdebase/ChangeLog,v 1.353 2007/04/15 23:56:20 carlo Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kdebase/ChangeLog,v 1.354 2007/04/19 16:18:04 carlo Exp $
+
+*kdebase-3.5.6-r2 (19 Apr 2007)
+*kdebase-3.5.5-r4 (19 Apr 2007)
+
+  19 Apr 2007; Carsten Lohrke <carlo@gentoo.org>
+  +files/nsplugins-3.5.6-keyboard-handler.diff, +kdebase-3.5.5-r4.ebuild,
+  +kdebase-3.5.6-r2.ebuild:
+  Work around browser plugin flaw.
 
   15 Apr 2007; Carsten Lohrke <carlo@gentoo.org> kdebase-3.5.6-r1.ebuild:
   Missing dependency...
diff --git a/kde-base/kdebase/files/digest-kdebase-3.5.5-r4 b/kde-base/kdebase/files/digest-kdebase-3.5.5-r4
new file mode 100644 (file)
index 0000000..f51965c
--- /dev/null
@@ -0,0 +1,6 @@
+MD5 420445e2dbddfd83ebc25e85a9b9cdda kdebase-3.5-patchset-03.tar.bz2 21409
+RMD160 941b919097d03347b10bccb51db2fa5e89d7ba16 kdebase-3.5-patchset-03.tar.bz2 21409
+SHA256 59c691754627f78daf7693e82496d808cf1cc31e2d6f32af829ec4ccfd776574 kdebase-3.5-patchset-03.tar.bz2 21409
+MD5 0c685af1cbca75f9c77b3ed231ba0468 kdebase-3.5.5.tar.bz2 23851886
+RMD160 6cf804de0487347a3e1d4ea6e5ba5114d23d9806 kdebase-3.5.5.tar.bz2 23851886
+SHA256 f77632e44214648e2d0adfe1a79dd61a6a738c21fe5abb0baff16b72432baaa0 kdebase-3.5.5.tar.bz2 23851886
diff --git a/kde-base/kdebase/files/digest-kdebase-3.5.6-r2 b/kde-base/kdebase/files/digest-kdebase-3.5.6-r2
new file mode 100644 (file)
index 0000000..7f2b669
--- /dev/null
@@ -0,0 +1,6 @@
+MD5 420445e2dbddfd83ebc25e85a9b9cdda kdebase-3.5-patchset-03.tar.bz2 21409
+RMD160 941b919097d03347b10bccb51db2fa5e89d7ba16 kdebase-3.5-patchset-03.tar.bz2 21409
+SHA256 59c691754627f78daf7693e82496d808cf1cc31e2d6f32af829ec4ccfd776574 kdebase-3.5-patchset-03.tar.bz2 21409
+MD5 a53f589f58012e655a52220a6a151019 kdebase-3.5.6.tar.bz2 24155599
+RMD160 d3cbdcd148ea4c08d254f48faa10fc693517394c kdebase-3.5.6.tar.bz2 24155599
+SHA256 245b35f8b2e1533f9ae92b3b07bee5339a716dfb8db363d0126d2e7409b7bd7e kdebase-3.5.6.tar.bz2 24155599
diff --git a/kde-base/kdebase/files/nsplugins-3.5.6-keyboard-handler.diff b/kde-base/kdebase/files/nsplugins-3.5.6-keyboard-handler.diff
new file mode 100644 (file)
index 0000000..8d301d6
--- /dev/null
@@ -0,0 +1,77 @@
+------------------------------------------------------------------------
+r652585 | lunakl | 2007-04-11 16:26:32 +0200 (Wed, 11 Apr 2007) | 3 lines
+Changed paths:
+   M /branches/KDE/3.5/kdebase/nsplugins/viewer/qxteventloop.cpp
+
+Fix keyboard events handling.
+
+
+------------------------------------------------------------------------
+Index: nsplugins/viewer/qxteventloop.cpp
+===================================================================
+--- nsplugins/viewer/qxteventloop.cpp  (revision 652584)
++++ nsplugins/viewer/qxteventloop.cpp  (revision 652585)
+@@ -32,12 +32,16 @@
+ ** not clear to you.
+ **
+ **********************************************************************/
++
++#include <config.h>
++
+ #include "qxteventloop.h"
+ #if QT_VERSION >= 0x030100
+ #include <qapplication.h>
+ #include <qwidgetintdict.h>
++#include <kglobal.h>
+ // resolve the conflict between X11's FocusIn and QEvent::FocusIn
+ const int XFocusOut = FocusOut;
+@@ -52,6 +56,8 @@ const int XKeyRelease = KeyRelease;
+ Boolean qmotif_event_dispatcher( XEvent *event );
++static void handle_xquerykeymap( Display* dpy, XEvent* event );
++
+ class QXtEventLoopPrivate
+ {
+ public:
+@@ -147,6 +153,7 @@ void QXtEventLoopPrivate::unhook()
+ extern bool qt_try_modal( QWidget *, XEvent * ); // defined in qapplication_x11.cpp
+ Boolean qmotif_event_dispatcher( XEvent *event )
+ {
++    handle_xquerykeymap( qt_xdisplay(), event );
+     QApplication::sendPostedEvents();
+     QWidgetIntDict *mapper = &static_d->mapper;
+@@ -462,6 +469,29 @@ bool QXtEventLoop::processEvents( Proces
+     return ( (flags & WaitForMore) || ( pendingmask != 0 ) || nevents > 0 );
+ }
++#include <dlfcn.h>
++
++static char xquerykeymap_data[ 32 ];
++static int (*real_xquerykeymap)( Display*, char[32] ) = NULL;
++
++static void handle_xquerykeymap( Display* dpy, XEvent* event )
++{
++    if( real_xquerykeymap == NULL )
++        real_xquerykeymap = (int (*)( Display*, char[32] )) dlsym( RTLD_NEXT, "XQueryKeymap" );
++    if( event->type == XFocusIn || event->type == XKeyPress || event->type == XKeyRelease )
++        real_xquerykeymap( dpy, xquerykeymap_data );
++    if( event->type == XFocusOut )
++        memset( xquerykeymap_data, 0, 32 );
++}
++
++extern "C" KDE_EXPORT
++int XQueryKeymap( Display* , char k[32] )
++{
++    memcpy( k, xquerykeymap_data, 32 );
++    return 1;
++}
++
++
+ #include "qxteventloop.moc"
+ #endif
diff --git a/kde-base/kdebase/kdebase-3.5.5-r4.ebuild b/kde-base/kdebase/kdebase-3.5.5-r4.ebuild
new file mode 100644 (file)
index 0000000..cc72eaa
--- /dev/null
@@ -0,0 +1,188 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kdebase/kdebase-3.5.5-r4.ebuild,v 1.1 2007/04/19 16:18:04 carlo Exp $
+
+inherit kde-dist eutils flag-o-matic
+
+SRC_URI="${SRC_URI}
+       mirror://gentoo/kdebase-3.5-patchset-03.tar.bz2"
+
+DESCRIPTION="KDE base packages: the desktop, panel, window manager, konqueror..."
+
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="arts cups java ldap ieee1394 hal lm_sensors logitech-mouse openexr opengl
+pam samba ssl zeroconf xcomposite xscreensaver xinerama kdehiddenvisibility"
+# hal: enables hal backend for 'media:' ioslave
+
+DEPEND="arts? ( ~kde-base/arts-${PV} )
+       >=media-libs/freetype-2
+       media-libs/fontconfig
+       pam? ( kde-base/kdebase-pam )
+       >=dev-libs/cyrus-sasl-2
+       ldap? ( >=net-nds/openldap-2 )
+       cups? ( net-print/cups )
+       ssl? ( dev-libs/openssl )
+       opengl? ( virtual/opengl )
+       openexr? ( >=media-libs/openexr-1.2.2-r2 )
+       samba? ( >=net-fs/samba-3.0.4 )
+       lm_sensors? ( sys-apps/lm_sensors )
+       logitech-mouse? ( >=dev-libs/libusb-0.1.10a )
+       ieee1394? ( sys-libs/libraw1394 )
+       hal? ( || ( dev-libs/dbus-qt3-old ( <sys-apps/dbus-0.90 >=sys-apps/dbus-0.34 ) )
+                  =sys-apps/hal-0.5* )
+       zeroconf? ( net-misc/mDNSResponder )
+       xcomposite? ( x11-libs/libXcomposite x11-libs/libXdamage )
+       || ( (
+                       x11-libs/libX11
+                       x11-libs/libXau
+                       x11-libs/libXfixes
+                       x11-libs/libXrender
+                       x11-libs/libXtst
+                       x11-libs/libXext
+                       xscreensaver? ( x11-libs/libXScrnSaver )
+                       xinerama? ( x11-libs/libXinerama )
+               ) <virtual/x11-7 )"
+
+RDEPEND="${DEPEND}
+       sys-apps/usbutils
+       java? ( >=virtual/jre-1.4 )
+       kernel_linux? ( || ( >=sys-apps/eject-2.1.5 sys-block/unieject ) )
+       || ( (
+                       x11-apps/xmessage
+                       x11-apps/xsetroot
+                       x11-apps/xset
+                       x11-apps/xrandr
+                       x11-apps/mkfontdir
+                       x11-apps/xinit
+                       || ( x11-misc/xkeyboard-config x11-misc/xkbdata )
+                       x11-apps/setxkbmap
+                       x11-apps/xprop
+               ) <virtual/x11-7 )"
+
+DEPEND="${DEPEND}
+       xcomposite? ( x11-proto/compositeproto x11-proto/damageproto )
+       xscreensaver? ( x11-proto/scrnsaverproto )
+       xinerama? ( x11-proto/xineramaproto )
+       x11-apps/bdftopcf
+       dev-util/pkgconfig"
+
+PATCHES="${FILESDIR}/kdebase-startkde-3.5.3-xinitrcd.patch
+       ${FILESDIR}/kdebase-kioslaves-3.5.5-fstab.patch
+       ${FILESDIR}/kwin-3.5.5-input-shape.patch
+       ${FILESDIR}/nsplugins-3.5.5-npapi-64bit.patch
+       ${FILESDIR}/kate-3.5.5-visibility.patch
+       ${FILESDIR}/nsplugins-3.5.6-keyboard-handler.diff"
+
+pkg_setup() {
+       kde_pkg_setup
+       if use hal && has_version '<sys-apps/dbus-0.90' && ! built_with_use sys-apps/dbus qt3; then
+               eerror "To enable HAL support in this package is required to have"
+               eerror "sys-apps/dbus compiled with Qt 3 support."
+               eerror "Please reemerge sys-apps/dbus with USE=\"qt3\"."
+               die "Please reemerge sys-apps/dbus with USE=\"qt3\"."
+       fi
+}
+
+src_unpack() {
+       kde_src_unpack
+
+       # Avoid using imake (kde bug 114466).
+       epatch "${WORKDIR}/patches/kdebase-3.5.0_beta2-noimake.patch"
+       rm -f "${S}/configure"
+
+       # FIXME - disable broken tests
+       sed -i -e "s:TESTS =.*:TESTS =:" ${S}/kioslave/smtp/Makefile.am || die "sed failed"
+       sed -i -e "s:TESTS =.*:TESTS =:" ${S}/kioslave/trash/Makefile.am || die "sed failed"
+       sed -i -e "s:SUBDIRS = viewer test:SUBDIRS = viewer:" ${S}/nsplugins/Makefile.am || die "sed failed"
+}
+
+src_compile() {
+       local myconf="--with-dpms
+                                 $(use_with arts) $(use_with ldap)
+                                 $(use_with opengl gl) $(use_with ssl)
+                                 $(use_with samba) $(use_with openexr)
+                                 $(use_with lm_sensors sensors) $(use_with logitech-mouse libusb)
+                                 $(use_with ieee1394 libraw1394) $(use_with hal)
+                                 $(use_enable zeroconf dnssd)
+                                 $(use_with xcomposite composite)
+                                 $(use_with xscreensaver)
+                                 $(use_with xinerama)
+                                 --with-usbids=/usr/share/misc/usb.ids"
+
+       if use pam; then
+               myconf="${myconf} --with-pam=yes"
+       else
+               myconf="${myconf} --with-pam=no --with-shadow"
+       fi
+
+       # the java test is problematic (see kde bug 100729) and
+       # useless. All that's needed for java applets to work is
+       # to have the 'java' executable in PATH.
+       myconf="${myconf} --without-java"
+
+       export BINDNOW_FLAGS="$(bindnow-flags)"
+
+       kde_src_compile
+}
+
+src_install() {
+       kde_src_install
+       cd ${S}/kdm && make DESTDIR=${D} GENKDMCONF_FLAGS="--no-old --no-backup --no-in-notice" install
+
+       # startup and shutdown scripts
+       insinto ${KDEDIR}/env
+       doins "${FILESDIR}/agent-startup.sh"
+
+       exeinto ${KDEDIR}/shutdown
+       doexe "${FILESDIR}/agent-shutdown.sh"
+
+       # freedesktop environment variables
+       cat <<EOF > "${T}/xdg.sh"
+export XDG_DATA_DIRS="${KDEDIR}/share:/usr/share"
+export XDG_CONFIG_DIRS="${KDEDIR}/etc/xdg"
+EOF
+       insinto ${KDEDIR}/env
+       doins "${T}/xdg.sh"
+
+       # x11 session script
+       cat <<EOF > "${T}/kde-${SLOT}"
+#!/bin/sh
+exec ${KDEDIR}/bin/startkde
+EOF
+       exeinto /etc/X11/Sessions
+       doexe "${T}/kde-${SLOT}"
+
+       # freedesktop compliant session script
+       sed -e "s:@KDE_BINDIR@:${KDEDIR}/bin:g;s:Name=KDE:Name=KDE ${SLOT}:" \
+               "${S}/kdm/kfrontend/sessions/kde.desktop.in" > "${T}/kde-${SLOT}.desktop"
+       insinto /usr/share/xsessions
+       doins "${T}/kde-${SLOT}.desktop"
+
+       # Customize the kdmrc configuration
+       sed -i -e "s:#SessionsDirs=:SessionsDirs=/usr/share/xsessions\n#SessionsDirs=:" \
+               "${D}/${KDEDIR}/share/config/kdm/kdmrc" || die
+
+       rmdir "${D}/${KDEDIR}/share/templates/.source/emptydir"
+}
+
+pkg_postinst() {
+       # set the default kdm face icon if it's not already set by the system admin
+       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
+
+       mkdir -p "${ROOT}${KDEDIR}/share/templates/.source/emptydir"
+
+       echo
+       elog "To enable gpg-agent and/or ssh-agent in KDE sessions,"
+       elog "edit ${KDEDIR}/env/agent-startup.sh and"
+       elog "${KDEDIR}/shutdown/agent-shutdown.sh"
+       echo
+}
diff --git a/kde-base/kdebase/kdebase-3.5.6-r2.ebuild b/kde-base/kdebase/kdebase-3.5.6-r2.ebuild
new file mode 100644 (file)
index 0000000..2da150c
--- /dev/null
@@ -0,0 +1,192 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kdebase/kdebase-3.5.6-r2.ebuild,v 1.1 2007/04/19 16:18:04 carlo Exp $
+
+inherit kde-dist eutils flag-o-matic
+
+SRC_URI="${SRC_URI}
+       mirror://gentoo/kdebase-3.5-patchset-03.tar.bz2"
+
+DESCRIPTION="KDE base packages: the desktop, panel, window manager, konqueror..."
+
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="cups java ldap ieee1394 hal lm_sensors logitech-mouse openexr opengl
+pam samba ssl zeroconf xcomposite xscreensaver xinerama kdehiddenvisibility"
+# hal: enables hal backend for 'media:' ioslave
+
+DEPEND=">=media-libs/freetype-2
+       media-libs/fontconfig
+       pam? ( kde-base/kdebase-pam )
+       >=dev-libs/cyrus-sasl-2
+       ldap? ( >=net-nds/openldap-2 )
+       cups? ( net-print/cups )
+       ssl? ( dev-libs/openssl )
+       opengl? ( virtual/opengl )
+       openexr? ( >=media-libs/openexr-1.2.2-r2 )
+       samba? ( >=net-fs/samba-3.0.4 )
+       lm_sensors? ( sys-apps/lm_sensors )
+       logitech-mouse? ( >=dev-libs/libusb-0.1.10a )
+       ieee1394? ( sys-libs/libraw1394 )
+       hal? ( || ( dev-libs/dbus-qt3-old ( <sys-apps/dbus-0.90 >=sys-apps/dbus-0.34 ) )
+                  =sys-apps/hal-0.5* )
+       zeroconf? ( net-misc/mDNSResponder )
+       xcomposite? ( x11-libs/libXcomposite x11-libs/libXdamage )
+       || ( (
+                       x11-libs/libX11
+                       x11-libs/libXau
+                       x11-libs/libXfixes
+                       x11-libs/libXrender
+                       x11-libs/libXtst
+                       x11-libs/libXext
+                       xscreensaver? ( x11-libs/libXScrnSaver )
+                       xinerama? ( x11-libs/libXinerama )
+               ) <virtual/x11-7 )"
+
+RDEPEND="${DEPEND}
+       sys-apps/usbutils
+       sys-devel/gdb
+       java? ( >=virtual/jre-1.4 )
+       kernel_linux? ( || ( >=sys-apps/eject-2.1.5 sys-block/unieject ) )
+       || ( (
+                       x11-apps/xmessage
+                       x11-apps/xsetroot
+                       x11-apps/xset
+                       x11-apps/xrandr
+                       x11-apps/mkfontdir
+                       x11-apps/xinit
+                       || ( x11-misc/xkeyboard-config x11-misc/xkbdata )
+                       x11-apps/setxkbmap
+                       x11-apps/xprop
+               ) <virtual/x11-7 )"
+
+DEPEND="${DEPEND}
+       xcomposite? ( x11-proto/compositeproto x11-proto/damageproto )
+       xscreensaver? ( x11-proto/scrnsaverproto )
+       xinerama? ( x11-proto/xineramaproto )
+       x11-apps/bdftopcf
+       dev-util/pkgconfig
+       x11-apps/xhost"
+
+need-kde 3.5.6
+
+PATCHES="${FILESDIR}/kdebase-startkde-3.5.3-xinitrcd.patch
+       ${FILESDIR}/nsplugins-3.5.5-npapi-64bit.patch
+       ${FILESDIR}/nsplugins-3.5.6-keyboard-handler.diff"
+
+pkg_setup() {
+       kde_pkg_setup
+       if use hal && has_version '<sys-apps/dbus-0.90' && ! built_with_use sys-apps/dbus qt3; then
+               eerror "To enable HAL support in this package is required to have"
+               eerror "sys-apps/dbus compiled with Qt 3 support."
+               eerror "Please reemerge sys-apps/dbus with USE=\"qt3\"."
+               die "Please reemerge sys-apps/dbus with USE=\"qt3\"."
+       fi
+}
+
+src_unpack() {
+       kde_src_unpack
+
+       # Avoid using imake (kde bug 114466).
+       epatch "${WORKDIR}/patches/kdebase-3.5.0_beta2-noimake.patch"
+       rm -f "${S}/configure"
+
+       # FIXME - disable broken tests
+       sed -i -e "s:TESTS =.*:TESTS =:" ${S}/kioslave/smtp/Makefile.am || die "sed failed"
+       sed -i -e "s:TESTS =.*:TESTS =:" ${S}/kioslave/trash/Makefile.am || die "sed failed"
+       sed -i -e "s:SUBDIRS = viewer test:SUBDIRS = viewer:" ${S}/nsplugins/Makefile.am || die "sed failed"
+
+       if ! [[ $(xhost >> /dev/null 2>/dev/null) ]] ; then
+               einfo "User ${USER} has no X access, disabling some tests."
+               for ioslave in media remote home system ; do
+                       sed -e "s:check\: test${ioslave}::" -e "s:./test${ioslave}::" \
+                               -i kioslave/${ioslave}/Makefile.am || die "sed failed"
+               done
+       fi
+}
+
+src_compile() {
+       local myconf="--with-dpms $(use_with ldap)
+                                 $(use_with opengl gl) $(use_with ssl)
+                                 $(use_with samba) $(use_with openexr)
+                                 $(use_with lm_sensors sensors) $(use_with logitech-mouse libusb)
+                                 $(use_with ieee1394 libraw1394) $(use_with hal)
+                                 $(use_enable zeroconf dnssd)
+                                 $(use_with xcomposite composite)
+                                 $(use_with xscreensaver)
+                                 $(use_with xinerama) $(use_with pam)
+                                 --with-usbids=/usr/share/misc/usb.ids"
+
+       if ! use pam && use elibc_glibc; then
+               myconf="${myconf} --with-shadow"
+       fi
+
+       # the java test is problematic (see kde bug 100729) and
+       # useless. All that's needed for java applets to work is
+       # to have the 'java' executable in PATH.
+       myconf="${myconf} --without-java"
+
+       export BINDNOW_FLAGS="$(bindnow-flags)"
+
+       kde_src_compile
+}
+
+src_install() {
+       kde_src_install
+       cd ${S}/kdm && make DESTDIR=${D} GENKDMCONF_FLAGS="--no-old --no-backup --no-in-notice" install
+
+       # startup and shutdown scripts
+       insinto ${KDEDIR}/env
+       doins "${FILESDIR}/agent-startup.sh"
+
+       exeinto ${KDEDIR}/shutdown
+       doexe "${FILESDIR}/agent-shutdown.sh"
+
+       # freedesktop environment variables
+       cat <<EOF > "${T}/xdg.sh"
+export XDG_CONFIG_DIRS="${KDEDIR}/etc/xdg"
+EOF
+       insinto "${KDEDIR}/env"
+       doins "${T}/xdg.sh"
+
+       # x11 session script
+       cat <<EOF > "${T}/kde-${SLOT}"
+#!/bin/sh
+exec ${KDEDIR}/bin/startkde
+EOF
+       exeinto /etc/X11/Sessions
+       doexe "${T}/kde-${SLOT}"
+
+       # freedesktop compliant session script
+       sed -e "s:@KDE_BINDIR@:${KDEDIR}/bin:g;s:Name=KDE:Name=KDE ${SLOT}:" \
+               "${S}/kdm/kfrontend/sessions/kde.desktop.in" > "${T}/kde-${SLOT}.desktop"
+       insinto /usr/share/xsessions
+       doins "${T}/kde-${SLOT}.desktop"
+
+       # Customize the kdmrc configuration
+       sed -i -e "s:#SessionsDirs=:SessionsDirs=/usr/share/xsessions\n#SessionsDirs=:" \
+               "${D}/${KDEDIR}/share/config/kdm/kdmrc" || die
+
+       rmdir "${D}/${KDEDIR}/share/templates/.source/emptydir"
+}
+
+pkg_postinst() {
+       # set the default kdm face icon if it's not already set by the system admin
+       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
+
+       mkdir -p "${ROOT}${KDEDIR}/share/templates/.source/emptydir"
+
+       echo
+       elog "To enable gpg-agent and/or ssh-agent in KDE sessions,"
+       elog "edit ${KDEDIR}/env/agent-startup.sh and"
+       elog "${KDEDIR}/shutdown/agent-shutdown.sh"
+       echo
+}
index 691342e24f5fc13cab1b07518b3e5ba94e4ba4ca..758a286d385a303eb22d8de4a1c5ffe8da0b50f4 100644 (file)
@@ -1,6 +1,14 @@
 # ChangeLog for kde-base/nsplugins
 # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/kde-base/nsplugins/ChangeLog,v 1.78 2007/03/26 20:47:59 armin76 Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/nsplugins/ChangeLog,v 1.79 2007/04/19 16:20:26 carlo Exp $
+
+*nsplugins-3.5.6-r1 (19 Apr 2007)
+*nsplugins-3.5.5-r2 (19 Apr 2007)
+
+  19 Apr 2007; Carsten Lohrke <carlo@gentoo.org>
+  +files/nsplugins-3.5.6-keyboard-handler.diff, +nsplugins-3.5.5-r2.ebuild,
+  +nsplugins-3.5.6-r1.ebuild:
+  Work around browser plugin flaw.
 
   26 Mar 2007; Raúl Porcel <armin76@gentoo.org> nsplugins-3.5.5-r1.ebuild:
   ia64 stable wrt bug 164080
diff --git a/kde-base/nsplugins/files/digest-nsplugins-3.5.5-r2 b/kde-base/nsplugins/files/digest-nsplugins-3.5.5-r2
new file mode 100644 (file)
index 0000000..f51965c
--- /dev/null
@@ -0,0 +1,6 @@
+MD5 420445e2dbddfd83ebc25e85a9b9cdda kdebase-3.5-patchset-03.tar.bz2 21409
+RMD160 941b919097d03347b10bccb51db2fa5e89d7ba16 kdebase-3.5-patchset-03.tar.bz2 21409
+SHA256 59c691754627f78daf7693e82496d808cf1cc31e2d6f32af829ec4ccfd776574 kdebase-3.5-patchset-03.tar.bz2 21409
+MD5 0c685af1cbca75f9c77b3ed231ba0468 kdebase-3.5.5.tar.bz2 23851886
+RMD160 6cf804de0487347a3e1d4ea6e5ba5114d23d9806 kdebase-3.5.5.tar.bz2 23851886
+SHA256 f77632e44214648e2d0adfe1a79dd61a6a738c21fe5abb0baff16b72432baaa0 kdebase-3.5.5.tar.bz2 23851886
diff --git a/kde-base/nsplugins/files/digest-nsplugins-3.5.6-r1 b/kde-base/nsplugins/files/digest-nsplugins-3.5.6-r1
new file mode 100644 (file)
index 0000000..7f2b669
--- /dev/null
@@ -0,0 +1,6 @@
+MD5 420445e2dbddfd83ebc25e85a9b9cdda kdebase-3.5-patchset-03.tar.bz2 21409
+RMD160 941b919097d03347b10bccb51db2fa5e89d7ba16 kdebase-3.5-patchset-03.tar.bz2 21409
+SHA256 59c691754627f78daf7693e82496d808cf1cc31e2d6f32af829ec4ccfd776574 kdebase-3.5-patchset-03.tar.bz2 21409
+MD5 a53f589f58012e655a52220a6a151019 kdebase-3.5.6.tar.bz2 24155599
+RMD160 d3cbdcd148ea4c08d254f48faa10fc693517394c kdebase-3.5.6.tar.bz2 24155599
+SHA256 245b35f8b2e1533f9ae92b3b07bee5339a716dfb8db363d0126d2e7409b7bd7e kdebase-3.5.6.tar.bz2 24155599
diff --git a/kde-base/nsplugins/files/nsplugins-3.5.6-keyboard-handler.diff b/kde-base/nsplugins/files/nsplugins-3.5.6-keyboard-handler.diff
new file mode 100644 (file)
index 0000000..8d301d6
--- /dev/null
@@ -0,0 +1,77 @@
+------------------------------------------------------------------------
+r652585 | lunakl | 2007-04-11 16:26:32 +0200 (Wed, 11 Apr 2007) | 3 lines
+Changed paths:
+   M /branches/KDE/3.5/kdebase/nsplugins/viewer/qxteventloop.cpp
+
+Fix keyboard events handling.
+
+
+------------------------------------------------------------------------
+Index: nsplugins/viewer/qxteventloop.cpp
+===================================================================
+--- nsplugins/viewer/qxteventloop.cpp  (revision 652584)
++++ nsplugins/viewer/qxteventloop.cpp  (revision 652585)
+@@ -32,12 +32,16 @@
+ ** not clear to you.
+ **
+ **********************************************************************/
++
++#include <config.h>
++
+ #include "qxteventloop.h"
+ #if QT_VERSION >= 0x030100
+ #include <qapplication.h>
+ #include <qwidgetintdict.h>
++#include <kglobal.h>
+ // resolve the conflict between X11's FocusIn and QEvent::FocusIn
+ const int XFocusOut = FocusOut;
+@@ -52,6 +56,8 @@ const int XKeyRelease = KeyRelease;
+ Boolean qmotif_event_dispatcher( XEvent *event );
++static void handle_xquerykeymap( Display* dpy, XEvent* event );
++
+ class QXtEventLoopPrivate
+ {
+ public:
+@@ -147,6 +153,7 @@ void QXtEventLoopPrivate::unhook()
+ extern bool qt_try_modal( QWidget *, XEvent * ); // defined in qapplication_x11.cpp
+ Boolean qmotif_event_dispatcher( XEvent *event )
+ {
++    handle_xquerykeymap( qt_xdisplay(), event );
+     QApplication::sendPostedEvents();
+     QWidgetIntDict *mapper = &static_d->mapper;
+@@ -462,6 +469,29 @@ bool QXtEventLoop::processEvents( Proces
+     return ( (flags & WaitForMore) || ( pendingmask != 0 ) || nevents > 0 );
+ }
++#include <dlfcn.h>
++
++static char xquerykeymap_data[ 32 ];
++static int (*real_xquerykeymap)( Display*, char[32] ) = NULL;
++
++static void handle_xquerykeymap( Display* dpy, XEvent* event )
++{
++    if( real_xquerykeymap == NULL )
++        real_xquerykeymap = (int (*)( Display*, char[32] )) dlsym( RTLD_NEXT, "XQueryKeymap" );
++    if( event->type == XFocusIn || event->type == XKeyPress || event->type == XKeyRelease )
++        real_xquerykeymap( dpy, xquerykeymap_data );
++    if( event->type == XFocusOut )
++        memset( xquerykeymap_data, 0, 32 );
++}
++
++extern "C" KDE_EXPORT
++int XQueryKeymap( Display* , char k[32] )
++{
++    memcpy( k, xquerykeymap_data, 32 );
++    return 1;
++}
++
++
+ #include "qxteventloop.moc"
+ #endif
diff --git a/kde-base/nsplugins/nsplugins-3.5.5-r2.ebuild b/kde-base/nsplugins/nsplugins-3.5.5-r2.ebuild
new file mode 100644 (file)
index 0000000..8452ff5
--- /dev/null
@@ -0,0 +1,23 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/kde-base/nsplugins/nsplugins-3.5.5-r2.ebuild,v 1.1 2007/04/19 16:20:26 carlo Exp $
+
+KMNAME=kdebase
+MAXKDEVER=$PV
+KM_DEPRANGE="$PV $MAXKDEVER"
+inherit kde-meta eutils
+
+SRC_URI="${SRC_URI}
+       mirror://gentoo/kdebase-3.5-patchset-03.tar.bz2"
+
+DESCRIPTION="Netscape plugins support for Konqueror."
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="kdehiddenvisibility"
+
+PATCHES="${FILESDIR}/${P}-npapi-64bit.patch
+       ${FILESDIR}/nsplugins-3.5.6-keyboard-handler.diff"
+
+src_unpack() {
+       kde-meta_src_unpack
+       sed -i -e "s:SUBDIRS = viewer test:SUBDIRS = viewer:" ${S}/nsplugins/Makefile.am || die "sed failed"
+}
diff --git a/kde-base/nsplugins/nsplugins-3.5.6-r1.ebuild b/kde-base/nsplugins/nsplugins-3.5.6-r1.ebuild
new file mode 100644 (file)
index 0000000..6b03c6b
--- /dev/null
@@ -0,0 +1,23 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/kde-base/nsplugins/nsplugins-3.5.6-r1.ebuild,v 1.1 2007/04/19 16:20:26 carlo Exp $
+
+KMNAME=kdebase
+MAXKDEVER=$PV
+KM_DEPRANGE="$PV $MAXKDEVER"
+inherit kde-meta eutils
+
+SRC_URI="${SRC_URI}
+       mirror://gentoo/kdebase-3.5-patchset-03.tar.bz2"
+
+DESCRIPTION="Netscape plugins support for Konqueror."
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="kdehiddenvisibility"
+
+PATCHES="${FILESDIR}/${PN}-3.5.5-npapi-64bit.patch
+       ${FILESDIR}/nsplugins-3.5.6-keyboard-handler.diff"
+
+src_unpack() {
+       kde-meta_src_unpack
+       sed -i -e "s:SUBDIRS = viewer test:SUBDIRS = viewer:" ${S}/nsplugins/Makefile.am || die "sed failed"
+}