mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-18 22:54:00 +00:00
extra/kdelibs fixes
This commit is contained in:
parent
4cce306f8a
commit
39f859fdc1
3 changed files with 165 additions and 59 deletions
|
@ -1,55 +0,0 @@
|
||||||
From: David Faure <faure@kde.org>
|
|
||||||
Date: Wed, 18 Jun 2014 18:29:04 +0000
|
|
||||||
Subject: Don't require a job to handle messageboxes.
|
|
||||||
X-Git-Url: http://quickgit.kde.org/?p=kdelibs.git&a=commitdiff&h=bbae87dc1be3ae063796a582774bd5642cacdd5d
|
|
||||||
---
|
|
||||||
Don't require a job to handle messageboxes.
|
|
||||||
|
|
||||||
The POP3 ioslave doesn't have a job when it gets here.
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
--- a/kio/kio/usernotificationhandler.cpp
|
|
||||||
+++ b/kio/kio/usernotificationhandler.cpp
|
|
||||||
@@ -19,7 +19,7 @@
|
|
||||||
#include "usernotificationhandler_p.h"
|
|
||||||
|
|
||||||
#include "slave.h"
|
|
||||||
-#include "job_p.h"
|
|
||||||
+#include "jobuidelegate.h"
|
|
||||||
|
|
||||||
#include <kdebug.h>
|
|
||||||
|
|
||||||
@@ -76,19 +76,18 @@
|
|
||||||
|
|
||||||
if (m_cachedResults.contains(key)) {
|
|
||||||
result = *(m_cachedResults[key]);
|
|
||||||
- } else if (r->slave->job()) {
|
|
||||||
- SimpleJobPrivate* jobPrivate = SimpleJobPrivate::get(r->slave->job());
|
|
||||||
- if (jobPrivate) {
|
|
||||||
- result = jobPrivate->requestMessageBox(r->type,
|
|
||||||
- r->data.value(MSG_TEXT).toString(),
|
|
||||||
- r->data.value(MSG_CAPTION).toString(),
|
|
||||||
- r->data.value(MSG_YES_BUTTON_TEXT).toString(),
|
|
||||||
- r->data.value(MSG_NO_BUTTON_TEXT).toString(),
|
|
||||||
- r->data.value(MSG_YES_BUTTON_ICON).toString(),
|
|
||||||
- r->data.value(MSG_NO_BUTTON_ICON).toString(),
|
|
||||||
- r->data.value(MSG_DONT_ASK_AGAIN).toString(),
|
|
||||||
- r->data.value(MSG_META_DATA).toMap());
|
|
||||||
- }
|
|
||||||
+ } else {
|
|
||||||
+ JobUiDelegate ui;
|
|
||||||
+ const JobUiDelegate::MessageBoxType type = static_cast<JobUiDelegate::MessageBoxType>(r->type);
|
|
||||||
+ result = ui.requestMessageBox(type,
|
|
||||||
+ r->data.value(MSG_TEXT).toString(),
|
|
||||||
+ r->data.value(MSG_CAPTION).toString(),
|
|
||||||
+ r->data.value(MSG_YES_BUTTON_TEXT).toString(),
|
|
||||||
+ r->data.value(MSG_NO_BUTTON_TEXT).toString(),
|
|
||||||
+ r->data.value(MSG_YES_BUTTON_ICON).toString(),
|
|
||||||
+ r->data.value(MSG_NO_BUTTON_ICON).toString(),
|
|
||||||
+ r->data.value(MSG_DONT_ASK_AGAIN).toString(),
|
|
||||||
+ r->data.value(MSG_META_DATA).toMap());
|
|
||||||
m_cachedResults.insert(key, new int(result));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
|
|
|
@ -21,7 +21,7 @@ install=${pkgname}.install
|
||||||
source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz"
|
source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz"
|
||||||
'kde-applications-menu.patch' 'archlinux-menu.patch' 'qt4.patch'
|
'kde-applications-menu.patch' 'archlinux-menu.patch' 'qt4.patch'
|
||||||
'arm-coronaoffscreen-input-fixes.diff'
|
'arm-coronaoffscreen-input-fixes.diff'
|
||||||
'CVE-2014-3494.patch')
|
'pyqt.patch')
|
||||||
sha1sums=('9c0e963fa2db119ac37e15f31c05d18d3043a58e'
|
sha1sums=('9c0e963fa2db119ac37e15f31c05d18d3043a58e'
|
||||||
'86ee8c8660f19de8141ac99cd6943964d97a1ed7'
|
'86ee8c8660f19de8141ac99cd6943964d97a1ed7'
|
||||||
'63a850ab4196b9d06934f2b4a13acd9f7739bc67'
|
'63a850ab4196b9d06934f2b4a13acd9f7739bc67'
|
||||||
|
@ -40,9 +40,9 @@ prepare() {
|
||||||
patch -p1 -i "${srcdir}"/qt4.patch
|
patch -p1 -i "${srcdir}"/qt4.patch
|
||||||
# fix unclickable plasmoid buttons on ARM
|
# fix unclickable plasmoid buttons on ARM
|
||||||
patch -p1 -i "${srcdir}"/arm-coronaoffscreen-input-fixes.diff
|
patch -p1 -i "${srcdir}"/arm-coronaoffscreen-input-fixes.diff
|
||||||
# fix build with giflib 5.1.0
|
|
||||||
sed -i "/DGifCloseFile/s:file:&, NULL:g" khtml/imload/decoders/gifloader.cpp
|
# support newer PyQt build system
|
||||||
patch -p1 -i "${srcdir}"/CVE-2014-3494.patch
|
patch -p1 -i "${srcdir}"/pyqt.patch
|
||||||
}
|
}
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
|
|
161
extra/kdelibs/pyqt.patch
Normal file
161
extra/kdelibs/pyqt.patch
Normal file
|
@ -0,0 +1,161 @@
|
||||||
|
From: Raphael Kubo da Costa <rakuco@FreeBSD.org>
|
||||||
|
Date: Wed, 16 Jul 2014 19:29:40 +0000
|
||||||
|
Subject: Make FindPyQt4 work with PyQt's new build system.
|
||||||
|
X-Git-Tag: v4.13.90
|
||||||
|
X-Git-Url: http://quickgit.kde.org/?p=kdelibs.git&a=commitdiff&h=a7e47438d4e3469dc9df70d613826cb360fc8d19
|
||||||
|
---
|
||||||
|
Make FindPyQt4 work with PyQt's new build system.
|
||||||
|
|
||||||
|
Since PyQt 4.10, PyQt.pyqtconfig is deprecated and not available unless
|
||||||
|
PyQt is built using the old configure script.
|
||||||
|
|
||||||
|
There is no direct replacement for it, as PyQt's new build system does
|
||||||
|
not provide as much information as before by design. Luckily, most of
|
||||||
|
the variables we are interested in can be obtained from PyQt's QtCore
|
||||||
|
module itself even if its old build system is used.
|
||||||
|
|
||||||
|
The only exception is pyqt_sip_dir, which cannot be determined at all if
|
||||||
|
pyqtconfig is not available. In this case, the most we can do is guess
|
||||||
|
the default path like QScintilla2 does, and fail if it does not exist.
|
||||||
|
The user then needs to specify it manually via CMake with something like
|
||||||
|
-DPYQT4_SIP_DIR=/usr/share/sip/PyQt4. To this effect, all variables set
|
||||||
|
by FindPyQt4.cmake have been made cache variables, which means their
|
||||||
|
values can be overriden by the user, thus ignoring the contents read via
|
||||||
|
FindPyQt.py.
|
||||||
|
|
||||||
|
BUG: 337462
|
||||||
|
FIXED-IN: 4.14.0
|
||||||
|
REVIEW: 119302
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
--- a/cmake/modules/FindPyQt4.cmake
|
||||||
|
+++ b/cmake/modules/FindPyQt4.cmake
|
||||||
|
@@ -9,16 +9,20 @@
|
||||||
|
# Find the installed version of PyQt4. FindPyQt4 should only be called after
|
||||||
|
# Python has been found.
|
||||||
|
#
|
||||||
|
-# This file defines the following variables:
|
||||||
|
+# This file defines the following variables, which can also be overriden by
|
||||||
|
+# users:
|
||||||
|
#
|
||||||
|
# PYQT4_VERSION - The version of PyQt4 found expressed as a 6 digit hex number
|
||||||
|
# suitable for comparison as a string
|
||||||
|
#
|
||||||
|
# PYQT4_VERSION_STR - The version of PyQt4 as a human readable string.
|
||||||
|
#
|
||||||
|
-# PYQT4_VERSION_TAG - The PyQt version tag using by PyQt's sip files.
|
||||||
|
+# PYQT4_VERSION_TAG - The Qt4 version tag used by PyQt's sip files.
|
||||||
|
#
|
||||||
|
-# PYQT4_SIP_DIR - The directory holding the PyQt4 .sip files.
|
||||||
|
+# PYQT4_SIP_DIR - The directory holding the PyQt4 .sip files. This can be unset
|
||||||
|
+# if PyQt4 was built using its new build system and pyqtconfig.py is not
|
||||||
|
+# present on the system, as in this case its value cannot be determined
|
||||||
|
+# automatically.
|
||||||
|
#
|
||||||
|
# PYQT4_SIP_FLAGS - The SIP flags used to build PyQt.
|
||||||
|
|
||||||
|
@@ -31,13 +35,27 @@
|
||||||
|
|
||||||
|
EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${_find_pyqt_py} OUTPUT_VARIABLE pyqt_config)
|
||||||
|
IF(pyqt_config)
|
||||||
|
- STRING(REGEX REPLACE "^pyqt_version:([^\n]+).*$" "\\1" PYQT4_VERSION ${pyqt_config})
|
||||||
|
- STRING(REGEX REPLACE ".*\npyqt_version_str:([^\n]+).*$" "\\1" PYQT4_VERSION_STR ${pyqt_config})
|
||||||
|
- STRING(REGEX REPLACE ".*\npyqt_version_tag:([^\n]+).*$" "\\1" PYQT4_VERSION_TAG ${pyqt_config})
|
||||||
|
- STRING(REGEX REPLACE ".*\npyqt_sip_dir:([^\n]+).*$" "\\1" PYQT4_SIP_DIR ${pyqt_config})
|
||||||
|
- STRING(REGEX REPLACE ".*\npyqt_sip_flags:([^\n]+).*$" "\\1" PYQT4_SIP_FLAGS ${pyqt_config})
|
||||||
|
+ STRING(REGEX MATCH "^pyqt_version:([^\n]+).*$" _dummy ${pyqt_config})
|
||||||
|
+ SET(PYQT4_VERSION "${CMAKE_MATCH_1}" CACHE STRING "PyQt4's version as a 6-digit hexadecimal number")
|
||||||
|
|
||||||
|
- SET(PYQT4_FOUND TRUE)
|
||||||
|
+ STRING(REGEX MATCH ".*\npyqt_version_str:([^\n]+).*$" _dummy ${pyqt_config})
|
||||||
|
+ SET(PYQT4_VERSION_STR "${CMAKE_MATCH_1}" CACHE STRING "PyQt4's version as a human-readable string")
|
||||||
|
+
|
||||||
|
+ STRING(REGEX MATCH ".*\npyqt_version_tag:([^\n]+).*$" _dummy ${pyqt_config})
|
||||||
|
+ SET(PYQT4_VERSION_TAG "${CMAKE_MATCH_1}" CACHE STRING "The Qt4 version tag used by PyQt4's .sip files")
|
||||||
|
+
|
||||||
|
+ STRING(REGEX MATCH ".*\npyqt_sip_dir:([^\n]+).*$" _dummy ${pyqt_config})
|
||||||
|
+ SET(PYQT4_SIP_DIR "${CMAKE_MATCH_1}" CACHE FILEPATH "The base directory where PyQt4's .sip files are installed")
|
||||||
|
+
|
||||||
|
+ STRING(REGEX MATCH ".*\npyqt_sip_flags:([^\n]+).*$" _dummy ${pyqt_config})
|
||||||
|
+ SET(PYQT4_SIP_FLAGS "${CMAKE_MATCH_1}" CACHE STRING "The SIP flags used to build PyQt4")
|
||||||
|
+
|
||||||
|
+ IF(NOT IS_DIRECTORY "${PYQT4_SIP_DIR}")
|
||||||
|
+ MESSAGE(WARNING "The base directory where PyQt4's SIP files are installed could not be determined. This usually means PyQt4 was built with its new build system and pyqtconfig.py is not present.\n"
|
||||||
|
+ "Please set the PYQT4_SIP_DIR variable manually.")
|
||||||
|
+ ELSE(NOT IS_DIRECTORY "${PYQT4_SIP_DIR}")
|
||||||
|
+ SET(PYQT4_FOUND TRUE)
|
||||||
|
+ ENDIF(NOT IS_DIRECTORY "${PYQT4_SIP_DIR}")
|
||||||
|
ENDIF(pyqt_config)
|
||||||
|
|
||||||
|
IF(PYQT4_FOUND)
|
||||||
|
|
||||||
|
--- kdelibs-4.13.3/cmake/modules/FindPyQt.py~ 2014-07-11 06:42:13.000000000 +0000
|
||||||
|
+++ kdelibs-4.13.3/cmake/modules/FindPyQt.py 2014-07-18 13:04:32.070296111 +0000
|
||||||
|
@@ -1,24 +1,49 @@
|
||||||
|
# Copyright (c) 2007, Simon Edwards <simon@simonzone.com>
|
||||||
|
+# Copyright (c) 2014, Raphael Kubo da Costa <rakuco@FreeBSD.org>
|
||||||
|
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||||
|
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||||
|
|
||||||
|
-import PyQt4.pyqtconfig
|
||||||
|
+import PyQt4.QtCore
|
||||||
|
+import os
|
||||||
|
+import sys
|
||||||
|
|
||||||
|
-pyqtcfg = PyQt4.pyqtconfig.Configuration()
|
||||||
|
-print("pyqt_version:%06.0x" % pyqtcfg.pyqt_version)
|
||||||
|
-print("pyqt_version_str:%s" % pyqtcfg.pyqt_version_str)
|
||||||
|
-
|
||||||
|
-pyqt_version_tag = ""
|
||||||
|
-in_t = False
|
||||||
|
-for item in pyqtcfg.pyqt_sip_flags.split(' '):
|
||||||
|
- if item=="-t":
|
||||||
|
- in_t = True
|
||||||
|
- elif in_t:
|
||||||
|
- if item.startswith("Qt_4"):
|
||||||
|
- pyqt_version_tag = item
|
||||||
|
+def get_default_sip_dir():
|
||||||
|
+ # This is based on QScintilla's configure.py, and only works for the
|
||||||
|
+ # default case where installation paths have not been changed in PyQt's
|
||||||
|
+ # configuration process.
|
||||||
|
+ if sys.platform == 'win32':
|
||||||
|
+ pyqt_sip_dir = os.path.join(sys.platform, 'sip', 'PyQt4')
|
||||||
|
else:
|
||||||
|
- in_t = False
|
||||||
|
-print("pyqt_version_tag:%s" % pyqt_version_tag)
|
||||||
|
+ pyqt_sip_dir = os.path.join(sys.platform, 'share', 'sip', 'PyQt4')
|
||||||
|
+ return pyqt_sip_dir
|
||||||
|
+
|
||||||
|
+def get_qt4_tag(sip_flags):
|
||||||
|
+ in_t = False
|
||||||
|
+ for item in sip_flags.split(' '):
|
||||||
|
+ if item == '-t':
|
||||||
|
+ in_t = True
|
||||||
|
+ elif in_t:
|
||||||
|
+ if item.startswith('Qt_4'):
|
||||||
|
+ return item
|
||||||
|
+ else:
|
||||||
|
+ in_t = False
|
||||||
|
+ raise ValueError('Cannot find Qt\'s tag in PyQt4\'s SIP flags.')
|
||||||
|
+
|
||||||
|
+if __name__ == '__main__':
|
||||||
|
+ try:
|
||||||
|
+ import PyQt4.pyqtconfig
|
||||||
|
+ pyqtcfg = PyQt4.pyqtconfig.Configuration()
|
||||||
|
+ sip_dir = pyqtcfg.pyqt_sip_dir
|
||||||
|
+ sip_flags = pyqtcfg.pyqt_sip_flags
|
||||||
|
+ except ImportError:
|
||||||
|
+ # PyQt4 >= 4.10.0 was built with configure-ng.py instead of
|
||||||
|
+ # configure.py, so pyqtconfig.py is not installed.
|
||||||
|
+ sip_dir = get_default_sip_dir()
|
||||||
|
+ sip_flags = PyQt4.QtCore.PYQT_CONFIGURATION['sip_flags']
|
||||||
|
+
|
||||||
|
+ print('pyqt_version:%06.x' % PyQt4.QtCore.PYQT_VERSION)
|
||||||
|
+ print('pyqt_version_str:%s' % PyQt4.QtCore.PYQT_VERSION_STR)
|
||||||
|
+ print('pyqt_version_tag:%s' % get_qt4_tag(sip_flags))
|
||||||
|
+ print('pyqt_sip_dir:%s' % sip_dir)
|
||||||
|
+ print('pyqt_sip_flags:%s' % sip_flags)
|
||||||
|
|
||||||
|
-print("pyqt_sip_dir:%s" % pyqtcfg.pyqt_sip_dir)
|
||||||
|
-print("pyqt_sip_flags:%s" % pyqtcfg.pyqt_sip_flags)
|
Loading…
Reference in a new issue