Revision bump. Add upstream backport patch to fix non standard global keyboard layout...
authorJohannes Huber <johu@gentoo.org>
Tue, 13 Dec 2011 15:32:16 +0000 (15:32 +0000)
committerJohannes Huber <johu@gentoo.org>
Tue, 13 Dec 2011 15:32:16 +0000 (15:32 +0000)
Package-Manager: portage-2.2.0_alpha80/cvs/Linux x86_64

kde-base/systemsettings/ChangeLog
kde-base/systemsettings/Manifest
kde-base/systemsettings/files/systemsettings-4.7.3-fix-keyboard-layout-switch.patch [new file with mode: 0644]
kde-base/systemsettings/systemsettings-4.7.3-r1.ebuild [new file with mode: 0644]

index 304698ca993fcfa31012c59e38a5b6b7727ff341..fbfaf8334c5b1ab15efb2c75a66a59a842b8b8fb 100644 (file)
@@ -1,6 +1,15 @@
 # ChangeLog for kde-base/systemsettings
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/kde-base/systemsettings/ChangeLog,v 1.125 2011/12/11 18:52:33 alexxy Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/systemsettings/ChangeLog,v 1.126 2011/12/13 15:32:16 johu Exp $
+
+*systemsettings-4.7.3-r1 (13 Dec 2011)
+
+  13 Dec 2011; Johannes Huber <johu@gentoo.org>
+  +files/systemsettings-4.7.3-fix-keyboard-layout-switch.patch,
+  +systemsettings-4.7.3-r1.ebuild:
+  Revision bump. Add upstream backport patch to fix non standard global keyboard
+  layout switch. Fixes bug #394491 Thanks to Denis Scherbakov
+  <denis_scherbakov@yahoo.comi>.
 
 *systemsettings-4.7.4 (11 Dec 2011)
 
index 67b5a624d9891703942339aeb6f1d82b8e6cdb10..f7ff8736bbb66a6ac45334d5ab706866412389c7 100644 (file)
@@ -1,31 +1,27 @@
 -----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
+Hash: SHA512
 
 AUX systemsettings-4.4.2-xinerama_cmake_automagic.patch 923 RMD160 45519a7e51001e6f16cf4bc13f7ef99eeaff793a SHA1 22102eaa95aa07bce19262842fcda69e0bc751f0 SHA256 c1f605148ba9ea606924c934a3b79bb7b415346a3fbe2e7c1732cc6956a44157
+AUX systemsettings-4.7.3-fix-keyboard-layout-switch.patch 3944 RMD160 df7141b0096e93cadad539108d2ede2d1e751ba0 SHA1 1de7289c0d986196604f093d3a3fb71038b0a03a SHA256 0d3ab5f702853c2537a9f932308b1103678b8d676cf84ec42dff940f64736fc9
 DIST kde-workspace-4.7.3.tar.bz2 20556738 RMD160 c7298c81c978a722f54e033afe169111d2dfd438 SHA1 f3ed24e3e70671033718a5139cb61d0d7e2e709e SHA256 7403fc5ff78de55b1f9b6a1116001be3ad7906720521959d1f5de8c86677ac5e
 DIST kde-workspace-4.7.4.tar.bz2 20557567 RMD160 94f1a36b3881276663a559a57dbd210d50ede06b SHA1 b7810ba13f6f2a1c4783b153ad9349a1dd27b495 SHA256 175cdc6a72e89b3b0f859fd06712947f485aecf507896f637e49f3dbac4d43b6
 DIST kdebase-workspace-4.6.3.tar.bz2 69349331 RMD160 ae7928eb7f524564890181a8862e657cf13727f6 SHA1 50103b7752defbab08965b665fa95361bb5b3ff6 SHA256 ab11dbfc48b94a4cb867436d91aa80a3677bdb6e49a6df8cc1c70a4f8dd5868d
 DIST kdebase-workspace-4.6.5.tar.bz2 69241659 RMD160 580bcfe80aeb70dc7c2ef559338a58c41227e476 SHA1 bdcdbf235b3e3941b968f57afd3d490e7ca106e5 SHA256 4df66edf88df327d10d131536e6daebdeae449fb75eebc6bfae67cf3128093c0
 EBUILD systemsettings-4.6.3.ebuild 2133 RMD160 5d5c18a1bf6476c9d67896e7ce3f25f4d2edb246 SHA1 db68165d7be88738be36d119b9ee4caecfe4928c SHA256 3f6ac90a9a857e5d337a804a8fd40b4dbecf1b90ce4d4010c21f7d0db409ec8b
 EBUILD systemsettings-4.6.5.ebuild 2134 RMD160 6f96e69f037c37210686340dd2454c5175a766f5 SHA1 5c2b5bc09d4de69e39eecefe2f61fdee6e829ba3 SHA256 70f74d28d21f398b4427c3e7528181ca6267e103b36e90e2b74ab0f6ab4ae41d
+EBUILD systemsettings-4.7.3-r1.ebuild 2207 RMD160 a302c618cd9e0fde5605ae41490730010df16be8 SHA1 e232c05e1b1eacfde85387f0246d099ee5826fc9 SHA256 add2ceef7154423224d338ff2008b322d36bebe15ef53b6f6a35e70f97c5fcd7
 EBUILD systemsettings-4.7.3.ebuild 2151 RMD160 ba82aba86d1a95a3ad75ddb1f24ad1517afcabc7 SHA1 5b51ba29af6779bbf3290b37f15b86c2b27524b2 SHA256 889f1655fda94e819581dae06cf1ff11ae80fb7945a016489cba866edb682007
 EBUILD systemsettings-4.7.4.ebuild 2151 RMD160 ad00339ebaba6bef7e2b8655adffba2f6367c3cd SHA1 cf0700dbad3183263b0c2c8ecfa3e3ad18f15a0b SHA256 a00ebe980227f904a7064d8736635e294582f5a98edaf59b38008dfee2f4787d
-MISC ChangeLog 18105 RMD160 752c6497e4a3dbcb7d31ff4483eaf2b4e8d2ebe5 SHA1 cbc1c662f56bc4187f843ea49fd53383251b3283 SHA256 d7c7b51f9c55fffb958bb571bbbd8a8c79b7b91f650eb33e7959473be6f1a863
+MISC ChangeLog 18467 RMD160 3debe37f7e6f897e6dfc09000710b2863471fd75 SHA1 6173a591ab24ff94027cd5efb901376158d1cb42 SHA256 c68dde7c221f36102bc0726480aa3939b825bf24ccd95557eabce9d67eceecc4
 MISC metadata.xml 156 RMD160 ecce3b981f150c45ae1e84e2d208e678d6124259 SHA1 b64f7c0b4e5db816d82ad19848f72118af129d35 SHA256 2f4da28506b9d4185f320f67a6191d30c7a921217ed4447ed46ea0bc4aefc79a
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.18 (GNU/Linux)
 
-iQIcBAEBCAAGBQJO5Pz1AAoJEOf+E+/4L5LmKxkP/0wxIEkUQAlLSzbq0jS17MbB
-Aos6KJDsjh2ndhKDFTWROTEk9RosOiWOvAifLMcRI1JXkbyXqE3Uuy45D6O/tUql
-6cYtxTc5nmNKcGsv8DCI11K7eKVn8MycyT+G4+JbD8nVcqbugH8mbxDSGlmgLjrU
-Qk8WMWdM8JqCXlq9W2W7BF5miSEzwtVD0PYrU6RgvWpg4KMCDpIQOmL4+NeGBAbd
-pMHYTB7yyCmvJhxwKcDyFm9JxwnaReVlIT73SFQnLPB0cd74h2bTzI+IZbQjT/Nj
-ZC83afPWLa51bjaDF9BnWoBDn0sdJyNIvaTpWKR+FFOwAbvMTYNv5luSKB7+Vwhz
-GjhWnVFZ3TXFuh6VneBcWp8i+AF5Yq7ihlt+eaZMd4dfnA3OB+qo+OG3AVDOWYGQ
-yImnlpj9kBh8s0d6lxR7O15DiWwLY6+jKBhK5srMMKq7CicKMZfw/xj6PovmL1j1
-uBJVw8DM9YRZTNSO0LO79PU/GhPZ21cHvQEmuB7f4QjYMDmmK6rFiUoob3yfMjTN
-zqQlL5yWkK3MLWpCNCtKpT0tg/hOYKXGR7msKFFBs1OTASOas6mEbWEK/uhl+hcx
-OsHXT273qDKnxslZIqM6cJ9fU/YBaGuweTk5/Ze4ufaKp/QVqwrDegvOxYc1vo4p
-TSZG7trA0XXNof4f38K3
-=/6wA
+iQEcBAEBCgAGBQJO52/6AAoJEO+t9ga+3I3acXcH/ib23SDEjfu1pUjYxc0P65aE
+rKKpW6zELm8NYcIl46OAJrYgQB1Bb7NjSoJ27G5JSxQXN7RxGJ1lW+02nn2nII2A
+vCg439d+g3Seo/sk5AqY9nC2isRMMuuC80VaewlKSGuiHSZTcs7bgMZ8qMyW5dDB
+w+8GR607u1gDHVu9MKzVAvrmZatNaY3PJ9K5MKYWrjWLXLctamq/Mhn/1U1dyOS7
+cIlTAjfIGBA6+Zdpcz68TAqvNm8PhCJhs6u5wplPTvjoJBAVDn6WUFIzDjGPLgDt
+l5lquBtHnrQi2A1DwOAF0lXnBCuL6qXlVIuiPtRCrsx8Rzsq7PdZjxqdkjFo26c=
+=QUl5
 -----END PGP SIGNATURE-----
diff --git a/kde-base/systemsettings/files/systemsettings-4.7.3-fix-keyboard-layout-switch.patch b/kde-base/systemsettings/files/systemsettings-4.7.3-fix-keyboard-layout-switch.patch
new file mode 100644 (file)
index 0000000..6a00155
--- /dev/null
@@ -0,0 +1,96 @@
+commit 1ac5ebe482f633295fb4a79eb1c5236561e9ca70
+Author: Andriy Rysin <arysin@gmail.com>
+Date:   Fri Nov 18 23:12:14 2011 -0500
+
+    Fix keyboard layout global shortcuts
+    BUG: 286302
+
+diff --git a/kcontrol/keyboard/bindings.cpp b/kcontrol/keyboard/bindings.cpp
+index 6f5af7b..ac20dd9 100644
+--- a/kcontrol/keyboard/bindings.cpp
++++ b/kcontrol/keyboard/bindings.cpp
+@@ -103,8 +103,11 @@ void KeyboardLayoutActionCollection::setLayoutShortcuts(QList<LayoutUnit>& layou
+ {
+       for (QList<LayoutUnit>::iterator i = layoutUnits.begin(); i != layoutUnits.end(); ++i) {
+               LayoutUnit& layoutUnit = *i;
+-              createLayoutShortcutActon(layoutUnit, rules, false);
++              if( ! layoutUnit.getShortcut().isEmpty() ) {
++                      createLayoutShortcutActon(layoutUnit, rules, false);
++              }
+       }
++      kDebug() << "Cleaning component shortcuts on save" << KGlobalAccel::cleanComponent(COMPONENT_NAME);
+ }
+ void KeyboardLayoutActionCollection::loadLayoutShortcuts(QList<LayoutUnit>& layoutUnits, const Rules* rules)
+@@ -112,19 +115,27 @@ void KeyboardLayoutActionCollection::loadLayoutShortcuts(QList<LayoutUnit>& layo
+       for (QList<LayoutUnit>::iterator i = layoutUnits.begin(); i != layoutUnits.end(); ++i) {
+               LayoutUnit& layoutUnit = *i;
+               KAction* action = createLayoutShortcutActon(layoutUnit, rules, true);
+-              layoutUnit.setShortcut(action->globalShortcut(KAction::ActiveShortcut).primary());      // shortcut was restored
++              QKeySequence shortcut = action->globalShortcut(KAction::ActiveShortcut).primary();      // shortcut was restored
++              if( ! shortcut.isEmpty() ) {
++                      kDebug() << "Restored shortcut for" << layoutUnit.toString() << shortcut;
++                      layoutUnit.setShortcut(shortcut);
++              }
++              else {
++                      kDebug() << "Skipping empty shortcut for" << layoutUnit.toString();
++                      removeAction(action);
++              }
+       }
+       kDebug() << "Cleaning component shortcuts on load" << KGlobalAccel::cleanComponent(COMPONENT_NAME);
+ }
+-KAction* KeyboardLayoutActionCollection::getAction(const LayoutUnit& layoutUnit)
+-{
+-      for(int i=1; i<actions().size(); i++) {
+-              if( action(i)->data() == layoutUnit.toString() )
+-                      return static_cast<KAction*>(action(i));
+-      }
+-      return NULL;
+-}
++//KAction* KeyboardLayoutActionCollection::getAction(const LayoutUnit& layoutUnit)
++//{
++//    for(int i=1; i<actions().size(); i++) {
++//            if( action(i)->data() == layoutUnit.toString() )
++//                    return static_cast<KAction*>(action(i));
++//    }
++//    return NULL;
++//}
+ void KeyboardLayoutActionCollection::resetLayoutShortcuts()
+ {
+diff --git a/kcontrol/keyboard/bindings.h b/kcontrol/keyboard/bindings.h
+index f60656b..09a9bdc 100644
+--- a/kcontrol/keyboard/bindings.h
++++ b/kcontrol/keyboard/bindings.h
+@@ -36,7 +36,7 @@ public:
+       virtual ~KeyboardLayoutActionCollection();
+       KAction* getToggeAction();
+-      KAction* getAction(const LayoutUnit& layoutUnit);
++//    KAction* getAction(const LayoutUnit& layoutUnit);
+       KAction* createLayoutShortcutActon(const LayoutUnit& layoutUnit, const Rules* rules, bool autoload);
+ //    KAction* setShortcut(LayoutUnit& layoutUnit, const QKeySequence& keySequence, const Rules* rules);
+       void setLayoutShortcuts(QList<LayoutUnit>& layoutUnits, const Rules* rules);
+diff --git a/kcontrol/keyboard/keyboard_daemon.cpp b/kcontrol/keyboard/keyboard_daemon.cpp
+index 1618d2a..7126268 100644
+--- a/kcontrol/keyboard/keyboard_daemon.cpp
++++ b/kcontrol/keyboard/keyboard_daemon.cpp
+@@ -214,12 +214,16 @@ void KeyboardDaemon::layoutMapChanged()
+ void KeyboardDaemon::switchToNextLayout()
+ {
++      kDebug() << "Toggling layout";
+       X11Helper::switchToNextLayout();
+ }
+ bool KeyboardDaemon::setLayout(QAction* action)
+ {
+-      LayoutUnit layoutUnit(LayoutUnit(action->data().toString()));
++      if( action == actionCollection->getToggeAction() )
++              return false;
++
++      LayoutUnit layoutUnit(action->data().toString());
+       return LayoutsMenu::switchToLayout(layoutUnit, keyboardConfig); // need this to be able to switch to spare layouts
+ //    return X11Helper::setLayout(LayoutUnit(action->data().toString()));
+ }
diff --git a/kde-base/systemsettings/systemsettings-4.7.3-r1.ebuild b/kde-base/systemsettings/systemsettings-4.7.3-r1.ebuild
new file mode 100644 (file)
index 0000000..0931d11
--- /dev/null
@@ -0,0 +1,97 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/kde-base/systemsettings/systemsettings-4.7.3-r1.ebuild,v 1.1 2011/12/13 15:32:16 johu Exp $
+
+EAPI=4
+
+KDE_HANDBOOK="optional"
+KMNAME="kde-workspace"
+OPENGL_REQUIRED="optional"
+inherit kde4-meta
+
+DESCRIPTION="System settings utility"
+IUSE="debug gtk +usb xinerama"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+
+COMMONDEPEND="
+       dev-libs/glib:2
+       $(add_kdebase_dep libkworkspace)
+       media-libs/fontconfig
+       >=media-libs/freetype-2
+       >=x11-libs/libxklavier-3.2
+       x11-libs/libXcursor
+       x11-libs/libXext
+       x11-libs/libXfixes
+       x11-libs/libXft
+       x11-libs/libXrandr
+       x11-libs/libXtst
+       opengl? ( virtual/opengl )
+       usb? ( =virtual/libusb-0* )
+       xinerama? ( x11-libs/libXinerama )
+"
+DEPEND="${COMMONDEPEND}
+       x11-proto/kbproto
+       x11-proto/xextproto
+       xinerama? ( x11-proto/xineramaproto )
+"
+RDEPEND="${COMMONDEPEND}
+       sys-libs/timezone-data
+       x11-apps/setxkbmap
+       x11-misc/xkeyboard-config
+       gtk? ( kde-misc/kcm-gtk-config )
+"
+
+RESTRICT="test"
+# bug 393133
+
+KMEXTRA="
+       kcontrol/
+"
+KMEXTRACTONLY="
+       krunner/dbus/org.kde.krunner.App.xml
+       krunner/dbus/org.kde.screensaver.xml
+       kwin/
+       libs/
+       plasma/
+"
+
+add_blocker kdeaccessibility-colorschemes '<4.6.50'
+
+PATCHES=( 
+       "${FILESDIR}/${PN}-4.4.2-xinerama_cmake_automagic.patch"
+       "${FILESDIR}/${P}-fix-keyboard-layout-switch.patch"
+)
+
+src_unpack() {
+       if use handbook; then
+               KMEXTRA+="
+                       doc/kcontrol
+                       doc/kfontview
+               "
+       fi
+
+       kde4-meta_src_unpack
+}
+
+src_prepare() {
+       sed -i -e 's/systemsettingsrc DESTINATION ${SYSCONF_INSTALL_DIR}/systemsettingsrc DESTINATION ${CONFIG_INSTALL_DIR}/' \
+               systemsettings/CMakeLists.txt \
+               || die "Failed to fix systemsettingsrc install location"
+
+       kde4-meta_src_prepare
+}
+
+# FIXME: is have_openglxvisual found without screensaver
+src_configure() {
+       # Old keyboard-detection code is unmaintained,
+       # so we force the new stuff, using libxklavier.
+       mycmakeargs=(
+               -DUSE_XKLAVIER=ON -DWITH_LibXKlavier=ON
+               -DWITH_GLIB2=ON -DWITH_GObject=ON
+               $(cmake-utils_use_with opengl OpenGL)
+               $(cmake-utils_use_with usb)
+               $(cmake-utils_use_with xinerama X11_Xinerama)
+       )
+
+       kde4-meta_src_configure
+}