summaryrefslogtreecommitdiff
path: root/x11-libs/libqxt
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /x11-libs/libqxt
reinit the tree, so we can have metadata
Diffstat (limited to 'x11-libs/libqxt')
-rw-r--r--x11-libs/libqxt/Manifest10
-rw-r--r--x11-libs/libqxt/files/libqxt-gcc6-fix.patch12
-rw-r--r--x11-libs/libqxt/files/libqxt-invoke-prev-filter.patch14
-rw-r--r--x11-libs/libqxt/files/libqxt-media-keys.patch407
-rw-r--r--x11-libs/libqxt/files/libqxt-use-system-qdoc3.patch24
-rw-r--r--x11-libs/libqxt/files/libqxt-xrandr-missing-lib.patch9
-rw-r--r--x11-libs/libqxt/libqxt-0.6.2-r2.ebuild89
-rw-r--r--x11-libs/libqxt/metadata.xml14
8 files changed, 579 insertions, 0 deletions
diff --git a/x11-libs/libqxt/Manifest b/x11-libs/libqxt/Manifest
new file mode 100644
index 000000000000..836b23e247aa
--- /dev/null
+++ b/x11-libs/libqxt/Manifest
@@ -0,0 +1,10 @@
+AUX libqxt-gcc6-fix.patch 495 SHA256 95ba674f6679efea0d77ec24c58a355f7717b3f701b492dec5712c8baa49c7cb SHA512 53e325aa9f9e54ce1831900c0683eabd91d3848e7012e036710444efa0f3263458b220494bcb02c62da4bf3e6a8af8ee3773bd37682e738d940feb188dd49185 WHIRLPOOL 76660764b905c008be5430fa59c436b3dc2ccaca9367d765a34cd150fd3b0ba120f77220f7b65430d3463750894153f1d156ad116c3d6754da7b79ae0a4051ce
+AUX libqxt-invoke-prev-filter.patch 545 SHA256 17c08c8ffc14d6c2d0dc7cfd05c31859380e466f27035657f5457a898cee22aa SHA512 952645fca90eb5e45a2dc2b10a51600ea40800b2d43a2d25257bdf126cd2e36f58adb74ec5e94dff38f87b8a52f5426465c097b5943547ba46e8ad73d050032a WHIRLPOOL bc7b17abab2974381a267d206d09bba722071b96c706bb49fc5755ee034d2608cf5c6c5bfa48a3e78341839a426db8e6e00405ab37943522c5aff7a9b3bc43eb
+AUX libqxt-media-keys.patch 15834 SHA256 2696813b70ddaea284228901fd545213c0b8dacc8aa0cd0f2a7e10537ff1e3cc SHA512 35c5374d86f5a16a2e1bf002a4e02e2f33aa819db0ec568a73822daf5174a23b6496d96977ca319b0c3d2f312f2e31d75cd6b9983a87c8cd1b20520d20d504a3 WHIRLPOOL 536473280984ba1341895d303c14e7c92af8edbd34e6d6e0f0e5536b8f65f3e7f5bcf5a2252dfa721ce40afd8749b4d4d70a0665c978c3d386a0c600a303fbf7
+AUX libqxt-use-system-qdoc3.patch 944 SHA256 cbd383b3dc9c749eb51c8947c0ce58336a7fbc5183385d9e59412aa4238aa065 SHA512 7c768228ddec02d1d49dc80e729f2f041fadd3baed27263efa5ea8a351298cb023933c4b347685044fab36936cd797b5df72d83760a5a252bd2b2bd4f70c21a1 WHIRLPOOL 81027d4944109d17cedfe7cd0fe08fc0a2694210a2b855fe4c976b21839e7a3271a18b86219175a239911b78b78f69ac43f1c90a35271aaca999282479f21108
+AUX libqxt-xrandr-missing-lib.patch 433 SHA256 0cf394f6431593bac944662367ce0b4dd7060c94e98cdc21fd878610cef27e0d SHA512 38bc6bd912c349c7778f6c9f1919493f48a8b4e6c99ace1b26bbbe8e42dbe27469cf5298948c8293fec99f4bfc8763a7799c2839861acf7cde408566bdef8ead WHIRLPOOL 8317e5493adbe4c1b8fc04a9c0d623164ad4d336944364dcf40fddb4e4637a3fd38677dc726891f5e2e3c909f6d0dcb615f15457c62f916aa57ced4ce5926be6
+DIST libqxt-0.6.2.tar.bz2 2197939 SHA256 c59d01373e6bf1bf7072d5e80b95fb803a884ecd19997d3a25903f3fb7f0658a SHA512 45be88acaf7e77b8db2c60130fd6a7209a1d06140bf8aeb2cfa288652b36ecda0fb6917ad8060b03e7e8a0f6c4ca34f0c97bc2d73d9ec0d100beaa1a46df51ae WHIRLPOOL 6457b374dc8d85a4260296b3cdb3f3d12b59fa19475d17c020818fbb99a2380a9cd54eac71a7de58af0ec07d02b40fe224a2394a2e2c1d098ffdfd61d29223c4
+EBUILD libqxt-0.6.2-r2.ebuild 2281 SHA256 19555636046c86637e8a2c5e84718b0b133e8b97bfcf8821959baa9f8452b6a3 SHA512 8ed0f9a793cd1a77fdde205cb75685c7bd7fed67385ef3b7038653448f497d50a6b06609998b292a4294bdcaa6dd7beb82f480b288f8ffea0d48fdca7c44676f WHIRLPOOL 4aa35e75a2cc95e67777a5d99341065fd23c400679999f31172c00cf11f552c2b582a1f26594184d3e7efb6b64c355d36c2e723c3e618f3e9e90bfb569cfe278
+MISC ChangeLog 3031 SHA256 55066f83275e9b9be86425856eb326a330caeda888321dad383caa38119deb34 SHA512 467a5a74060a0d898a7425281cd57bbb2c00f67bffd4631269bb68cb2fc71f67f9c1acc5cf29df086e73b038eaad986c5e2693d2f90c18af57ab240a339e954c WHIRLPOOL 72df0adecc5556ac45eb6ab81c122a8898470c15c5c7bfd218fab2fa7c76707b445d3f2fbd2b4bf1269688b2a0ed32cf9244930c6ed1c1682229b83d5d34c54d
+MISC ChangeLog-2015 5682 SHA256 e154fb55245cb5fd6d6d7d187cc9c71e5ceb689cac44d19a08b381306a35d203 SHA512 4109f379525768b350184f81a42a100e99c3c220aa8f5e84a802c764765f06be3e2526b62496d5147c7a4200955d1a54569f9d8344cc9c616b1968a18da1d485 WHIRLPOOL ee5dfb7a8aa9dfbfefdbc8ca29b7adc91f67fd6cae04d4727b98f457181f03b792c970eaa105fb5ee0ccb95cd1f8f931679f97199546703baa4a58030bc06dac
+MISC metadata.xml 470 SHA256 8778d58a442f9c5c4afff65f2268ad6e85392a3436aeece05e2c9797a0afe3b1 SHA512 c69d6d2ad1f4e3635c0f28521087184862a9ef858e1a5d124fd647ba0f8b88cd22f7862793f000c7364a46a80afff32b43d5ce41d456a99c6bbe0291f2d849fc WHIRLPOOL e54e78e213cae268321da6d378e286cad30c689503e79a1c293d3482477274039c83c7434ad8c2fa5a55bc73487d9ae79d2bd5f27cbfcc6cf0a667d6d4562845
diff --git a/x11-libs/libqxt/files/libqxt-gcc6-fix.patch b/x11-libs/libqxt/files/libqxt-gcc6-fix.patch
new file mode 100644
index 000000000000..23adc1dca78f
--- /dev/null
+++ b/x11-libs/libqxt/files/libqxt-gcc6-fix.patch
@@ -0,0 +1,12 @@
+diff -ru libqxt-libqxt-v0.6.2/src/core/qxtslotjob.cpp libqxt-libqxt-v0.6.2.new/src/core/qxtslotjob.cpp
+--- libqxt-libqxt-v0.6.2/src/core/qxtslotjob.cpp 2011-11-24 17:10:32.000000000 -0500
++++ libqxt-libqxt-v0.6.2.new/src/core/qxtslotjob.cpp 2016-12-08 18:07:07.460538282 -0500
+@@ -174,7 +174,7 @@
+
+ QVariant QxtFuture::delayedResult(int msec)
+ {
+- if (!waiter->wait(msec, false))
++ if (!waiter->wait(msec, QEventLoop::AllEvents))
+ return QVariant();
+ return job->result();
+ }
diff --git a/x11-libs/libqxt/files/libqxt-invoke-prev-filter.patch b/x11-libs/libqxt/files/libqxt-invoke-prev-filter.patch
new file mode 100644
index 000000000000..4910fe403ae1
--- /dev/null
+++ b/x11-libs/libqxt/files/libqxt-invoke-prev-filter.patch
@@ -0,0 +1,14 @@
+--- src/gui/qxtglobalshortcut_x11.cpp.orig 2013-12-17 15:03:25.388283632 +0400
++++ src/gui/qxtglobalshortcut_x11.cpp 2013-12-17 15:04:31.566286818 +0400
+@@ -59,7 +59,11 @@
+ // Mod1Mask == Alt, Mod4Mask == Meta
+ key->state & (ShiftMask | ControlMask | Mod1Mask | Mod4Mask));
+ }
++#if QT_VERSION < QT_VERSION_CHECK(5,0,0)
++ return prevEventFilter ? prevEventFilter(message) : false;
++#else
+ return false;
++#endif
+ }
+
+ quint32 QxtGlobalShortcutPrivate::nativeModifiers(Qt::KeyboardModifiers modifiers)
diff --git a/x11-libs/libqxt/files/libqxt-media-keys.patch b/x11-libs/libqxt/files/libqxt-media-keys.patch
new file mode 100644
index 000000000000..a2f39b173187
--- /dev/null
+++ b/x11-libs/libqxt/files/libqxt-media-keys.patch
@@ -0,0 +1,407 @@
+diff -rupN libqxt.old/src/gui/keymapper_x11.h libqxt/src/gui/keymapper_x11.h
+--- libqxt.old/src/gui/keymapper_x11.h 1969-12-31 19:00:00.000000000 -0500
++++ libqxt/src/gui/keymapper_x11.h 2010-07-18 15:37:16.000000000 -0400
+@@ -0,0 +1,364 @@
++#ifndef KEYMAPPER_X11_H
++#define KEYMAPPER_X11_H
++
++// (davidsansome) Nicked from qkeymapper_x11.cpp
++
++#include <Qt>
++
++#define XK_MISCELLANY
++#define XK_LATIN1
++#define XK_KOREAN
++#define XK_XKB_KEYS
++#include <X11/keysymdef.h>
++
++//
++// Keyboard event translation
++//
++
++#ifndef XK_ISO_Left_Tab
++#define XK_ISO_Left_Tab 0xFE20
++#endif
++
++#ifndef XK_dead_hook
++#define XK_dead_hook 0xFE61
++#endif
++
++#ifndef XK_dead_horn
++#define XK_dead_horn 0xFE62
++#endif
++
++#ifndef XK_Codeinput
++#define XK_Codeinput 0xFF37
++#endif
++
++#ifndef XK_Kanji_Bangou
++#define XK_Kanji_Bangou 0xFF37 /* same as codeinput */
++#endif
++
++// Fix old X libraries
++#ifndef XK_KP_Home
++#define XK_KP_Home 0xFF95
++#endif
++#ifndef XK_KP_Left
++#define XK_KP_Left 0xFF96
++#endif
++#ifndef XK_KP_Up
++#define XK_KP_Up 0xFF97
++#endif
++#ifndef XK_KP_Right
++#define XK_KP_Right 0xFF98
++#endif
++#ifndef XK_KP_Down
++#define XK_KP_Down 0xFF99
++#endif
++#ifndef XK_KP_Prior
++#define XK_KP_Prior 0xFF9A
++#endif
++#ifndef XK_KP_Next
++#define XK_KP_Next 0xFF9B
++#endif
++#ifndef XK_KP_End
++#define XK_KP_End 0xFF9C
++#endif
++#ifndef XK_KP_Insert
++#define XK_KP_Insert 0xFF9E
++#endif
++#ifndef XK_KP_Delete
++#define XK_KP_Delete 0xFF9F
++#endif
++
++// the next lines are taken from XFree > 4.0 (X11/XF86keysyms.h), defining some special
++// multimedia keys. They are included here as not every system has them.
++#define XF86XK_Standby 0x1008FF10
++#define XF86XK_AudioLowerVolume 0x1008FF11
++#define XF86XK_AudioMute 0x1008FF12
++#define XF86XK_AudioRaiseVolume 0x1008FF13
++#define XF86XK_AudioPlay 0x1008FF14
++#define XF86XK_AudioStop 0x1008FF15
++#define XF86XK_AudioPrev 0x1008FF16
++#define XF86XK_AudioNext 0x1008FF17
++#define XF86XK_HomePage 0x1008FF18
++#define XF86XK_Calculator 0x1008FF1D
++#define XF86XK_Mail 0x1008FF19
++#define XF86XK_Start 0x1008FF1A
++#define XF86XK_Search 0x1008FF1B
++#define XF86XK_AudioRecord 0x1008FF1C
++#define XF86XK_Back 0x1008FF26
++#define XF86XK_Forward 0x1008FF27
++#define XF86XK_Stop 0x1008FF28
++#define XF86XK_Refresh 0x1008FF29
++#define XF86XK_Favorites 0x1008FF30
++#define XF86XK_AudioPause 0x1008FF31
++#define XF86XK_AudioMedia 0x1008FF32
++#define XF86XK_MyComputer 0x1008FF33
++#define XF86XK_OpenURL 0x1008FF38
++#define XF86XK_Launch0 0x1008FF40
++#define XF86XK_Launch1 0x1008FF41
++#define XF86XK_Launch2 0x1008FF42
++#define XF86XK_Launch3 0x1008FF43
++#define XF86XK_Launch4 0x1008FF44
++#define XF86XK_Launch5 0x1008FF45
++#define XF86XK_Launch6 0x1008FF46
++#define XF86XK_Launch7 0x1008FF47
++#define XF86XK_Launch8 0x1008FF48
++#define XF86XK_Launch9 0x1008FF49
++#define XF86XK_LaunchA 0x1008FF4A
++#define XF86XK_LaunchB 0x1008FF4B
++#define XF86XK_LaunchC 0x1008FF4C
++#define XF86XK_LaunchD 0x1008FF4D
++#define XF86XK_LaunchE 0x1008FF4E
++#define XF86XK_LaunchF 0x1008FF4F
++// end of XF86keysyms.h
++
++// Special keys used by Qtopia, mapped into the X11 private keypad range.
++#define QTOPIAXK_Select 0x11000601
++#define QTOPIAXK_Yes 0x11000602
++#define QTOPIAXK_No 0x11000603
++#define QTOPIAXK_Cancel 0x11000604
++#define QTOPIAXK_Printer 0x11000605
++#define QTOPIAXK_Execute 0x11000606
++#define QTOPIAXK_Sleep 0x11000607
++#define QTOPIAXK_Play 0x11000608
++#define QTOPIAXK_Zoom 0x11000609
++#define QTOPIAXK_Context1 0x1100060A
++#define QTOPIAXK_Context2 0x1100060B
++#define QTOPIAXK_Context3 0x1100060C
++#define QTOPIAXK_Context4 0x1100060D
++#define QTOPIAXK_Call 0x1100060E
++#define QTOPIAXK_Hangup 0x1100060F
++#define QTOPIAXK_Flip 0x11000610
++
++// keyboard mapping table
++static const unsigned int KeyTbl[] = {
++
++ // misc keys
++
++ XK_Escape, Qt::Key_Escape,
++ XK_Tab, Qt::Key_Tab,
++ XK_ISO_Left_Tab, Qt::Key_Backtab,
++ XK_BackSpace, Qt::Key_Backspace,
++ XK_Return, Qt::Key_Return,
++ XK_Insert, Qt::Key_Insert,
++ XK_Delete, Qt::Key_Delete,
++ XK_Clear, Qt::Key_Delete,
++ XK_Pause, Qt::Key_Pause,
++ XK_Print, Qt::Key_Print,
++ 0x1005FF60, Qt::Key_SysReq, // hardcoded Sun SysReq
++ 0x1007ff00, Qt::Key_SysReq, // hardcoded X386 SysReq
++
++ // cursor movement
++
++ XK_Home, Qt::Key_Home,
++ XK_End, Qt::Key_End,
++ XK_Left, Qt::Key_Left,
++ XK_Up, Qt::Key_Up,
++ XK_Right, Qt::Key_Right,
++ XK_Down, Qt::Key_Down,
++ XK_Prior, Qt::Key_PageUp,
++ XK_Next, Qt::Key_PageDown,
++
++ // modifiers
++
++ XK_Shift_L, Qt::Key_Shift,
++ XK_Shift_R, Qt::Key_Shift,
++ XK_Shift_Lock, Qt::Key_Shift,
++ XK_Control_L, Qt::Key_Control,
++ XK_Control_R, Qt::Key_Control,
++ XK_Meta_L, Qt::Key_Meta,
++ XK_Meta_R, Qt::Key_Meta,
++ XK_Alt_L, Qt::Key_Alt,
++ XK_Alt_R, Qt::Key_Alt,
++ XK_Caps_Lock, Qt::Key_CapsLock,
++ XK_Num_Lock, Qt::Key_NumLock,
++ XK_Scroll_Lock, Qt::Key_ScrollLock,
++ XK_Super_L, Qt::Key_Super_L,
++ XK_Super_R, Qt::Key_Super_R,
++ XK_Menu, Qt::Key_Menu,
++ XK_Hyper_L, Qt::Key_Hyper_L,
++ XK_Hyper_R, Qt::Key_Hyper_R,
++ XK_Help, Qt::Key_Help,
++ 0x1000FF74, Qt::Key_Backtab, // hardcoded HP backtab
++ 0x1005FF10, Qt::Key_F11, // hardcoded Sun F36 (labeled F11)
++ 0x1005FF11, Qt::Key_F12, // hardcoded Sun F37 (labeled F12)
++
++ // numeric and function keypad keys
++
++ XK_KP_Space, Qt::Key_Space,
++ XK_KP_Tab, Qt::Key_Tab,
++ XK_KP_Enter, Qt::Key_Enter,
++ //XK_KP_F1, Qt::Key_F1,
++ //XK_KP_F2, Qt::Key_F2,
++ //XK_KP_F3, Qt::Key_F3,
++ //XK_KP_F4, Qt::Key_F4,
++ XK_KP_Home, Qt::Key_Home,
++ XK_KP_Left, Qt::Key_Left,
++ XK_KP_Up, Qt::Key_Up,
++ XK_KP_Right, Qt::Key_Right,
++ XK_KP_Down, Qt::Key_Down,
++ XK_KP_Prior, Qt::Key_PageUp,
++ XK_KP_Next, Qt::Key_PageDown,
++ XK_KP_End, Qt::Key_End,
++ XK_KP_Begin, Qt::Key_Clear,
++ XK_KP_Insert, Qt::Key_Insert,
++ XK_KP_Delete, Qt::Key_Delete,
++ XK_KP_Equal, Qt::Key_Equal,
++ XK_KP_Multiply, Qt::Key_Asterisk,
++ XK_KP_Add, Qt::Key_Plus,
++ XK_KP_Separator, Qt::Key_Comma,
++ XK_KP_Subtract, Qt::Key_Minus,
++ XK_KP_Decimal, Qt::Key_Period,
++ XK_KP_Divide, Qt::Key_Slash,
++
++ // International input method support keys
++
++ // International & multi-key character composition
++ XK_ISO_Level3_Shift, Qt::Key_AltGr,
++ XK_Multi_key, Qt::Key_Multi_key,
++ XK_Codeinput, Qt::Key_Codeinput,
++ XK_SingleCandidate, Qt::Key_SingleCandidate,
++ XK_MultipleCandidate, Qt::Key_MultipleCandidate,
++ XK_PreviousCandidate, Qt::Key_PreviousCandidate,
++
++ // Misc Functions
++ XK_Mode_switch, Qt::Key_Mode_switch,
++ XK_script_switch, Qt::Key_Mode_switch,
++
++ // Japanese keyboard support
++ XK_Kanji, Qt::Key_Kanji,
++ XK_Muhenkan, Qt::Key_Muhenkan,
++ //XK_Henkan_Mode, Qt::Key_Henkan_Mode,
++ XK_Henkan_Mode, Qt::Key_Henkan,
++ XK_Henkan, Qt::Key_Henkan,
++ XK_Romaji, Qt::Key_Romaji,
++ XK_Hiragana, Qt::Key_Hiragana,
++ XK_Katakana, Qt::Key_Katakana,
++ XK_Hiragana_Katakana, Qt::Key_Hiragana_Katakana,
++ XK_Zenkaku, Qt::Key_Zenkaku,
++ XK_Hankaku, Qt::Key_Hankaku,
++ XK_Zenkaku_Hankaku, Qt::Key_Zenkaku_Hankaku,
++ XK_Touroku, Qt::Key_Touroku,
++ XK_Massyo, Qt::Key_Massyo,
++ XK_Kana_Lock, Qt::Key_Kana_Lock,
++ XK_Kana_Shift, Qt::Key_Kana_Shift,
++ XK_Eisu_Shift, Qt::Key_Eisu_Shift,
++ XK_Eisu_toggle, Qt::Key_Eisu_toggle,
++ //XK_Kanji_Bangou, Qt::Key_Kanji_Bangou,
++ //XK_Zen_Koho, Qt::Key_Zen_Koho,
++ //XK_Mae_Koho, Qt::Key_Mae_Koho,
++ XK_Kanji_Bangou, Qt::Key_Codeinput,
++ XK_Zen_Koho, Qt::Key_MultipleCandidate,
++ XK_Mae_Koho, Qt::Key_PreviousCandidate,
++
++#ifdef XK_KOREAN
++ // Korean keyboard support
++ XK_Hangul, Qt::Key_Hangul,
++ XK_Hangul_Start, Qt::Key_Hangul_Start,
++ XK_Hangul_End, Qt::Key_Hangul_End,
++ XK_Hangul_Hanja, Qt::Key_Hangul_Hanja,
++ XK_Hangul_Jamo, Qt::Key_Hangul_Jamo,
++ XK_Hangul_Romaja, Qt::Key_Hangul_Romaja,
++ //XK_Hangul_Codeinput, Qt::Key_Hangul_Codeinput,
++ XK_Hangul_Codeinput, Qt::Key_Codeinput,
++ XK_Hangul_Jeonja, Qt::Key_Hangul_Jeonja,
++ XK_Hangul_Banja, Qt::Key_Hangul_Banja,
++ XK_Hangul_PreHanja, Qt::Key_Hangul_PreHanja,
++ XK_Hangul_PostHanja, Qt::Key_Hangul_PostHanja,
++ //XK_Hangul_SingleCandidate,Qt::Key_Hangul_SingleCandidate,
++ //XK_Hangul_MultipleCandidate,Qt::Key_Hangul_MultipleCandidate,
++ //XK_Hangul_PreviousCandidate,Qt::Key_Hangul_PreviousCandidate,
++ XK_Hangul_SingleCandidate, Qt::Key_SingleCandidate,
++ XK_Hangul_MultipleCandidate,Qt::Key_MultipleCandidate,
++ XK_Hangul_PreviousCandidate,Qt::Key_PreviousCandidate,
++ XK_Hangul_Special, Qt::Key_Hangul_Special,
++ //XK_Hangul_switch, Qt::Key_Hangul_switch,
++ XK_Hangul_switch, Qt::Key_Mode_switch,
++#endif // XK_KOREAN
++
++ // dead keys
++ XK_dead_grave, Qt::Key_Dead_Grave,
++ XK_dead_acute, Qt::Key_Dead_Acute,
++ XK_dead_circumflex, Qt::Key_Dead_Circumflex,
++ XK_dead_tilde, Qt::Key_Dead_Tilde,
++ XK_dead_macron, Qt::Key_Dead_Macron,
++ XK_dead_breve, Qt::Key_Dead_Breve,
++ XK_dead_abovedot, Qt::Key_Dead_Abovedot,
++ XK_dead_diaeresis, Qt::Key_Dead_Diaeresis,
++ XK_dead_abovering, Qt::Key_Dead_Abovering,
++ XK_dead_doubleacute, Qt::Key_Dead_Doubleacute,
++ XK_dead_caron, Qt::Key_Dead_Caron,
++ XK_dead_cedilla, Qt::Key_Dead_Cedilla,
++ XK_dead_ogonek, Qt::Key_Dead_Ogonek,
++ XK_dead_iota, Qt::Key_Dead_Iota,
++ XK_dead_voiced_sound, Qt::Key_Dead_Voiced_Sound,
++ XK_dead_semivoiced_sound, Qt::Key_Dead_Semivoiced_Sound,
++ XK_dead_belowdot, Qt::Key_Dead_Belowdot,
++ XK_dead_hook, Qt::Key_Dead_Hook,
++ XK_dead_horn, Qt::Key_Dead_Horn,
++
++ // Special multimedia keys
++ // currently only tested with MS internet keyboard
++
++ // browsing keys
++ XF86XK_Back, Qt::Key_Back,
++ XF86XK_Forward, Qt::Key_Forward,
++ XF86XK_Stop, Qt::Key_Stop,
++ XF86XK_Refresh, Qt::Key_Refresh,
++ XF86XK_Favorites, Qt::Key_Favorites,
++ XF86XK_AudioMedia, Qt::Key_LaunchMedia,
++ XF86XK_OpenURL, Qt::Key_OpenUrl,
++ XF86XK_HomePage, Qt::Key_HomePage,
++ XF86XK_Search, Qt::Key_Search,
++
++ // media keys
++ XF86XK_AudioLowerVolume, Qt::Key_VolumeDown,
++ XF86XK_AudioMute, Qt::Key_VolumeMute,
++ XF86XK_AudioRaiseVolume, Qt::Key_VolumeUp,
++ XF86XK_AudioPlay, Qt::Key_MediaPlay,
++ XF86XK_AudioStop, Qt::Key_MediaStop,
++ XF86XK_AudioPrev, Qt::Key_MediaPrevious,
++ XF86XK_AudioNext, Qt::Key_MediaNext,
++ XF86XK_AudioRecord, Qt::Key_MediaRecord,
++
++ // launch keys
++ XF86XK_Mail, Qt::Key_LaunchMail,
++ XF86XK_MyComputer, Qt::Key_Launch0,
++ XF86XK_Calculator, Qt::Key_Launch1,
++ XF86XK_Standby, Qt::Key_Standby,
++
++ XF86XK_Launch0, Qt::Key_Launch2,
++ XF86XK_Launch1, Qt::Key_Launch3,
++ XF86XK_Launch2, Qt::Key_Launch4,
++ XF86XK_Launch3, Qt::Key_Launch5,
++ XF86XK_Launch4, Qt::Key_Launch6,
++ XF86XK_Launch5, Qt::Key_Launch7,
++ XF86XK_Launch6, Qt::Key_Launch8,
++ XF86XK_Launch7, Qt::Key_Launch9,
++ XF86XK_Launch8, Qt::Key_LaunchA,
++ XF86XK_Launch9, Qt::Key_LaunchB,
++ XF86XK_LaunchA, Qt::Key_LaunchC,
++ XF86XK_LaunchB, Qt::Key_LaunchD,
++ XF86XK_LaunchC, Qt::Key_LaunchE,
++ XF86XK_LaunchD, Qt::Key_LaunchF,
++
++ // Qtopia keys
++ QTOPIAXK_Select, Qt::Key_Select,
++ QTOPIAXK_Yes, Qt::Key_Yes,
++ QTOPIAXK_No, Qt::Key_No,
++ QTOPIAXK_Cancel, Qt::Key_Cancel,
++ QTOPIAXK_Printer, Qt::Key_Printer,
++ QTOPIAXK_Execute, Qt::Key_Execute,
++ QTOPIAXK_Sleep, Qt::Key_Sleep,
++ QTOPIAXK_Play, Qt::Key_Play,
++ QTOPIAXK_Zoom, Qt::Key_Zoom,
++ QTOPIAXK_Context1, Qt::Key_Context1,
++ QTOPIAXK_Context2, Qt::Key_Context2,
++ QTOPIAXK_Context3, Qt::Key_Context3,
++ QTOPIAXK_Context4, Qt::Key_Context4,
++ QTOPIAXK_Call, Qt::Key_Call,
++ QTOPIAXK_Hangup, Qt::Key_Hangup,
++ QTOPIAXK_Flip, Qt::Key_Flip,
++
++ 0, 0
++};
++
++#endif // KEYMAPPER_X11_H
+diff -rupN libqxt.old/src/gui/qxtglobalshortcut_x11.cpp libqxt/src/gui/qxtglobalshortcut_x11.cpp
+--- libqxt.old/src/gui/qxtglobalshortcut_x11.cpp 2010-07-18 15:32:53.000000000 -0400
++++ libqxt/src/gui/qxtglobalshortcut_x11.cpp 2010-07-18 15:41:25.000000000 -0400
+@@ -26,6 +26,8 @@
+ #include <QX11Info>
+ #include <X11/Xlib.h>
+
++#include "keymapper_x11.h"
++
+ static int (*original_x_errhandler)(Display* display, XErrorEvent* event);
+
+ static int qxt_x_errhandler(Display* display, XErrorEvent *event)
+@@ -83,8 +85,25 @@ quint32 QxtGlobalShortcutPrivate::native
+
+ quint32 QxtGlobalShortcutPrivate::nativeKeycode(Qt::Key key)
+ {
++ // (davidsansome) Try the table from QKeyMapper first - this seems to be
++ // the only way to get Keysyms for the media keys.
++ unsigned int keysym = 0;
++ int i = 0;
++ while (KeyTbl[i]) {
++ if (KeyTbl[i+1] == static_cast<uint>(key)) {
++ keysym = KeyTbl[i];
++ break;
++ }
++ i += 2;
++ }
++
++ // If that didn't work then fall back on XStringToKeysym
++ if (!keysym) {
++ keysym = XStringToKeysym(QKeySequence(key).toString().toLatin1().data());
++ }
++
+ Display* display = QX11Info::display();
+- return XKeysymToKeycode(display, XStringToKeysym(QKeySequence(key).toString().toLatin1().data()));
++ return XKeysymToKeycode(display, keysym);
+ }
+
+ bool QxtGlobalShortcutPrivate::registerShortcut(quint32 nativeKey, quint32 nativeMods)
diff --git a/x11-libs/libqxt/files/libqxt-use-system-qdoc3.patch b/x11-libs/libqxt/files/libqxt-use-system-qdoc3.patch
new file mode 100644
index 000000000000..99f7650913f3
--- /dev/null
+++ b/x11-libs/libqxt/files/libqxt-use-system-qdoc3.patch
@@ -0,0 +1,24 @@
+--- libqxt~orig/doc/doc.pri 2010-08-19 17:06:12.000000000 +0200
++++ libqxt/doc/doc.pri 2010-08-19 17:08:16.000000000 +0200
+@@ -1,5 +1,3 @@
+-SUBDIRS += tools/3rdparty/qdoc3
+-
+ win32 {
+ QXT_WINCONFIG = release/
+ !CONFIG(release, debug|release) {
+@@ -16,14 +14,13 @@
+ }
+
+ $$unixstyle {
+- QDOC = QXT_SOURCE_TREE=$$QXT_SOURCE_TREE QXT_BUILD_TREE=$$QXT_BUILD_TREE $$QXT_BUILD_TREE/tools/3rdparty/qdoc3/$${QXT_WINCONFIG}qdoc3
++ QDOC = QXT_SOURCE_TREE=$$QXT_SOURCE_TREE QXT_BUILD_TREE=$$QXT_BUILD_TREE $$[QT_INSTALL_BINS]/qdoc3
+ } else {
+ QDOC = set QXT_SOURCE_TREE=$$QXT_SOURCE_TREE&& set QXT_BUILD_TREE=$$QXT_BUILD_TREE&& $$QXT_BUILD_TREE/tools/3rdparty/qdoc3/$${QXT_WINCONFIG}qdoc3.exe
+ QDOC = $$replace(QDOC, "/", "\\\\")
+ }
+
+ adp_docs.commands = ($$QDOC -DQXT_DOXYGEN_RUN $$QXT_SOURCE_TREE/doc/src/qxt.qdocconf)
+-adp_docs.depends += sub-tools-3rdparty-qdoc3
+ docs.depends = adp_docs
+ QMAKE_EXTRA_TARGETS += adp_docs docs
+
diff --git a/x11-libs/libqxt/files/libqxt-xrandr-missing-lib.patch b/x11-libs/libqxt/files/libqxt-xrandr-missing-lib.patch
new file mode 100644
index 000000000000..b53c7ff10c1f
--- /dev/null
+++ b/x11-libs/libqxt/files/libqxt-xrandr-missing-lib.patch
@@ -0,0 +1,9 @@
+diff -Naur libqxt-libqxt-v0.6.2-orig/config.tests/xrandr/xrandr.pro libqxt-libqxt-v0.6.2/config.tests/xrandr/xrandr.pro
+--- libqxt-libqxt-v0.6.2-orig/config.tests/xrandr/xrandr.pro 2013-12-26 01:57:00.691752845 +0100
++++ libqxt-libqxt-v0.6.2/config.tests/xrandr/xrandr.pro 2013-12-26 01:57:21.705969462 +0100
+@@ -4,4 +4,4 @@
+ DEPENDPATH += .
+ INCLUDEPATH += .
+ SOURCES += main.cpp
+-!win32:LIBS+=-lXrandr
++!win32:LIBS+=-lXrandr -lX11
diff --git a/x11-libs/libqxt/libqxt-0.6.2-r2.ebuild b/x11-libs/libqxt/libqxt-0.6.2-r2.ebuild
new file mode 100644
index 000000000000..afb072588478
--- /dev/null
+++ b/x11-libs/libqxt/libqxt-0.6.2-r2.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit multilib qmake-utils qt4-r2
+
+DESCRIPTION="Extension library providing cross-platform utility classes for the Qt toolkit"
+HOMEPAGE="http://libqxt.org/"
+HOMEPAGE="https://bitbucket.org/libqxt/libqxt/wiki/Home"
+SRC_URI="http://dev.libqxt.org/libqxt/get/v${PV}.tar.bz2 -> ${P}.tar.bz2"
+
+LICENSE="|| ( CPL-1.0 LGPL-2.1 )"
+SLOT="0"
+KEYWORDS="amd64 ~arm x86"
+IUSE="berkdb debug doc sql web xscreensaver zeroconf"
+
+COMMON_DEPEND="
+ dev-qt/designer:4
+ dev-qt/qtcore:4[ssl]
+ dev-qt/qtgui:4
+ x11-libs/libXrandr
+ berkdb? ( >=sys-libs/db-4.6 )
+ sql? ( dev-qt/qtsql:4 )
+ zeroconf? ( net-dns/avahi[mdnsresponder-compat] )
+"
+DEPEND="${COMMON_DEPEND}
+ doc? ( dev-qt/qthelp:4 )
+"
+RDEPEND="${COMMON_DEPEND}
+ xscreensaver? ( x11-libs/libXScrnSaver )
+"
+
+S=${WORKDIR}/${PN}-${PN}-v${PV}
+
+DOCS=( AUTHORS CHANGES README )
+PATCHES=(
+ "${FILESDIR}/${PN}-use-system-qdoc3.patch"
+ "${FILESDIR}/${PN}-invoke-prev-filter.patch" # bug 494448
+ "${FILESDIR}/${PN}-media-keys.patch" # bug 495984
+ "${FILESDIR}/${PN}-xrandr-missing-lib.patch"
+ "${FILESDIR}/${PN}-gcc6-fix.patch"
+)
+
+src_prepare() {
+ qt4-r2_src_prepare
+
+ # remove insecure runpath
+ sed -i -e '/^QMAKE_RPATHDIR /d' src/qxtlibs.pri || die
+}
+
+src_configure() {
+ # custom configure script
+ local myconf=(
+ ./configure -verbose
+ -prefix "${EPREFIX}/usr"
+ -libdir "${EPREFIX}/usr/$(get_libdir)"
+ -docdir "${EPREFIX}/usr/share/doc/${PF}"
+ -qmake-bin "${EPREFIX}/$(qt4_get_bindir)/qmake"
+ $(use debug && echo -debug || echo -release)
+ $(use berkdb || echo -no-db -nomake berkeley)
+ $(use doc || echo -nomake docs)
+ $(use sql || echo -nomake sql)
+ $(use web || echo -nomake web)
+ $(use zeroconf || echo -no-zeroconf -nomake zeroconf)
+ )
+ echo "${myconf[@]}"
+ "${myconf[@]}" || die "./configure failed"
+
+ eqmake4 -recursive
+}
+
+src_compile() {
+ qt4-r2_src_compile
+
+ use doc && emake docs
+}
+
+pkg_postinst() {
+ if use doc; then
+ einfo
+ einfo "In case you want to browse ${PN} documentation using"
+ einfo "Qt Assistant, perform the following steps:"
+ einfo " 1. Open the Assistant"
+ einfo " 2. Edit -> Preferences -> Documentation -> Add"
+ einfo " 3. Add this path: ${EPREFIX}/usr/share/doc/${PF}/qxt.qch"
+ einfo
+ fi
+}
diff --git a/x11-libs/libqxt/metadata.xml b/x11-libs/libqxt/metadata.xml
new file mode 100644
index 000000000000..74322c998664
--- /dev/null
+++ b/x11-libs/libqxt/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>qt@gentoo.org</email>
+ <name>Gentoo Qt Project</name>
+</maintainer>
+<use>
+ <flag name="berkdb">Build the QxtBerkeley module</flag>
+ <flag name="sql">Build the QxtSql module</flag>
+ <flag name="web">Build the QxtWeb module</flag>
+ <flag name="zeroconf">Build the QxtZeroconf module</flag>
+</use>
+</pkgmetadata>