summaryrefslogtreecommitdiff
path: root/dev-python/PythonQt
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-05-11 16:02:49 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-05-11 16:02:49 +0100
commit88ebe56470c37b02a044e1091cad6b2df0f3be8f (patch)
treed80b2d9337c01c4a0fe11a2ef9691fc3153ed6d3 /dev-python/PythonQt
parent4645b6f17f0da81e9fe84081fb126a37102ba153 (diff)
gentoo resync : 11.05.2018
Diffstat (limited to 'dev-python/PythonQt')
-rw-r--r--dev-python/PythonQt/Manifest4
-rw-r--r--dev-python/PythonQt/PythonQt-3.1-r1.ebuild88
-rw-r--r--dev-python/PythonQt/PythonQt-3.1.ebuild88
-rw-r--r--dev-python/PythonQt/files/PythonQt-3.1-commit-433-441.patch301
4 files changed, 0 insertions, 481 deletions
diff --git a/dev-python/PythonQt/Manifest b/dev-python/PythonQt/Manifest
index f512742ffd17..06acc1ace36e 100644
--- a/dev-python/PythonQt/Manifest
+++ b/dev-python/PythonQt/Manifest
@@ -1,8 +1,4 @@
-AUX PythonQt-3.1-commit-433-441.patch 15025 BLAKE2B 180a5e734a4434e0723b09dde5963cdde9eaaa8865603b33fa69dfe78468e3699e87748d92130d3b584c3791923d8b6bbec79c045cd29ca9ff8e22d10b3225de SHA512 c1cc65defa0b34df3299f6c6c2c36daa1c3e205fbbb1ee8d9a6e3a2571b58be2ea4e101a137dc867598ef289222c94f26f5142dbd2ec3fff226ddea47cf3ec59
-DIST PythonQt3.1.zip 4526699 BLAKE2B 37d79f4d12bc1e4909d08c0ba4c2b95c233aba5097898498575733f323a8d1a5079e85e35e6272d0271421cb945d8a359330ba5ac9854ebcc7b95030b6cf1ad1 SHA512 b3c208e3f909ebb15d40a6e83385f03e6196a8439e39cad4f924e7b1e774edbce83680298ab032161619d1358696a0d073028860f68540aadd8028b712ae8fc1
DIST PythonQt3.2.zip 4539058 BLAKE2B c50b8333b71b6cbce6f372a0292a0ccfe791dc7eae5c660d4e6d1f5f2b3355644e3fd8cce9a514f0500e935f96c46976d0046ddd716465adb35d225e3c4cfeca SHA512 1ee0f50f5035568b38e945108f5496ba64355c6357c1ea8dfc17ad90fa360540769f94e0b3e0e398176e8a21c8afe139607f0b5a2e82c63f1cbd40201a25e0f0
-EBUILD PythonQt-3.1-r1.ebuild 2029 BLAKE2B 8cfa824f0661bf1a64dee441ef65d8dbdc344eb3838fc2b52ab8ede4de35c09591d214b904290465cce34382808c1dcddded91f510f490855e6d11d538a7095b SHA512 e4a9ef97155c7dd32b850023827029a8cb2caf8f505054228d4f11a1518755551192a7bf8e9a3f3dba5b306135e352669a1a2a4d2f64d6ca983dbbe2ca0fb279
-EBUILD PythonQt-3.1.ebuild 1950 BLAKE2B e32ad4eb8b768628479946403713ef91f41419c97b9951b58c1e1b5ff3c310d0b085572660c22bbf3dc1d8efcc3aedfda1f29945cc56a95d3bb40cfbb35e1c27 SHA512 fd3b6db4306fb00df4be264a8bcc37390cf5cbe549177c0739e6a7be89c22c66935123a98640a1dd8ed37ccbd51088a25633bbddc6b3d69a84c64cf8a9908555
EBUILD PythonQt-3.2.ebuild 1847 BLAKE2B cba31bddadaa3b0035d54b131c3f4e22bb0aa4e6d7202485f496c36d81e637b48343e2447f5e86eaddae3fe14b20b86d70d19a5af7469820994b664d0f4b8787 SHA512 815486fd8e171e8abc06a0e6465473e070d043b2074871c084f4584b9a21ad01981c86632d1bcaf20a0e097ef86a3f863e3b6c23d2ea347aee707e96f0e6d6cb
EBUILD PythonQt-9999.ebuild 1864 BLAKE2B 14ada5f74d25d0797dbdeaccfa12746e89b5b27031e53d78dc4ff228b26766054a91af4b0025ccb1618ba42354d06ae6d1338a399fb23374d998b1f3d1a32d76 SHA512 3120052842008e64193375e20573194b637161534ba8a9a08e3572b6c777c3240724e28619bd80b9d6fbed8ff7fc6efe14005b4c690f0197c811cce8ecc0bb46
MISC metadata.xml 971 BLAKE2B 4a9f0fd3832f83eb46ef65a18774c998daeb9544b1ac6a23a189b909c7e4168031a68d56952d9ed2b7b76fb8fc3a912e77d162cb94e73405f285bd834644fb98 SHA512 565d8517faba162fa855acef4dc659af22954796a25da9479d7ec530afee16606904b6bfba9a568e6caa8c47f3195401eefc3a9048077e73582cf7357cafce5e
diff --git a/dev-python/PythonQt/PythonQt-3.1-r1.ebuild b/dev-python/PythonQt/PythonQt-3.1-r1.ebuild
deleted file mode 100644
index efab4efcc45e..000000000000
--- a/dev-python/PythonQt/PythonQt-3.1-r1.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
-
-MY_P=${PN}${PV}
-
-inherit qmake-utils python-single-r1
-
-DESCRIPTION="A dynamic Python binding for the Qt framework"
-HOMEPAGE="http://pythonqt.sourceforge.net/"
-SRC_URI="mirror://sourceforge/pythonqt/pythonqt/${P}/${MY_P}.zip"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc +extensions webkit"
-
-RDEPEND="${PYTHON_DEPS}
- <dev-qt/qtcore-5.9:5
- <dev-qt/qtgui-5.9:5
- <dev-qt/qtwidgets-5.9:5
- extensions? (
- <dev-qt/designer-5.9:5
- <dev-qt/qtdeclarative-5.9:5[widgets]
- <dev-qt/qtmultimedia-5.9:5[widgets]
- <dev-qt/qtnetwork-5.9:5
- <dev-qt/qtopengl-5.9:5
- <dev-qt/qtprintsupport-5.9:5
- <dev-qt/qtsql-5.9:5
- <dev-qt/qtsvg-5.9:5
- <dev-qt/qtxml-5.9:5
- <dev-qt/qtxmlpatterns-5.9:5
- webkit? ( <dev-qt/qtwebkit-5.9:5 )
- )"
-DEPEND="${RDEPEND}
- <dev-qt/qtxml-5.9:5
- virtual/pkgconfig
- doc? ( app-doc/doxygen )"
-
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="webkit? ( extensions ) ${PYTHON_REQUIRED_USE}"
-
-# Bring uitools back, backport other fixes from trunk
-PATCHES=( "${FILESDIR}/${P}-commit-433-441.patch" )
-
-src_prepare() {
- default
-
- if ! use extensions ; then
- sed -i '/SUBDIRS/s/extensions//' PythonQt.pro || die "sed for extensions"
- fi
- if ! use webkit ; then
- # Remove webkit support if not used
- sed -i '/qtHaveModule(webkit):CONFIG += PythonQtWebKit/d' \
- extensions/PythonQt_QtAll/PythonQt_QtAll.pro \
- || die "sed for webkit"
- fi
-
- # Unset python version to use python-config
- sed -i "/unix:PYTHON_VERSION=/s/2.7//" build/python.prf \
- || die "sed for python version"
-}
-
-src_configure() {
- eqmake5 PREFIX="${ED%/}"/usr
-}
-
-src_install() {
- einstalldocs
-
- # Includes
- insinto /usr/include/PythonQt
- doins -r src/*.h
- insinto /usr/include/PythonQt/gui
- doins -r src/gui/*.h
-
- if use extensions ; then
- insinto /usr/include/PythonQt/extensions/PythonQt_QtAll
- doins -r extensions/PythonQt_QtAll/*.h
- fi
-
- # Libraries
- dolib.so lib/libPythonQt*
-}
diff --git a/dev-python/PythonQt/PythonQt-3.1.ebuild b/dev-python/PythonQt/PythonQt-3.1.ebuild
deleted file mode 100644
index 147196f81ea7..000000000000
--- a/dev-python/PythonQt/PythonQt-3.1.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{2_7,3_4,3_5} )
-
-MY_P=${PN}${PV}
-
-inherit qmake-utils python-single-r1
-
-DESCRIPTION="A dynamic Python binding for the Qt framework"
-HOMEPAGE="http://pythonqt.sourceforge.net/"
-SRC_URI="mirror://sourceforge/pythonqt/pythonqt/${P}/${MY_P}.zip"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc +extensions webkit"
-
-RDEPEND="${PYTHON_DEPS}
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
- extensions? (
- dev-qt/designer:5
- dev-qt/qtdeclarative:5[widgets]
- dev-qt/qtmultimedia:5[widgets]
- dev-qt/qtnetwork:5
- dev-qt/qtopengl:5
- dev-qt/qtprintsupport:5
- dev-qt/qtsql:5
- dev-qt/qtsvg:5
- dev-qt/qtxml:5
- dev-qt/qtxmlpatterns:5
- webkit? ( dev-qt/qtwebkit:5 )
- )"
-DEPEND="${RDEPEND}
- dev-qt/qtxml:5
- virtual/pkgconfig
- doc? ( app-doc/doxygen )"
-
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="webkit? ( extensions ) ${PYTHON_REQUIRED_USE}"
-
-# Bring uitools back, backport other fixes from trunk
-PATCHES=( "${FILESDIR}/${P}-commit-433-441.patch" )
-
-src_prepare() {
- default
-
- if ! use extensions ; then
- sed -i '/SUBDIRS/s/extensions//' PythonQt.pro || die "sed for extensions"
- fi
- if ! use webkit ; then
- # Remove webkit support if not used
- sed -i '/qtHaveModule(webkit):CONFIG += PythonQtWebKit/d' \
- extensions/PythonQt_QtAll/PythonQt_QtAll.pro \
- || die "sed for webkit"
- fi
-
- # Unset python version to use python-config
- sed -i "/unix:PYTHON_VERSION=/s/2.7//" build/python.prf \
- || die "sed for python version"
-}
-
-src_configure() {
- eqmake5 PREFIX="${ED%/}"/usr
-}
-
-src_install() {
- einstalldocs
-
- # Includes
- insinto /usr/include/PythonQt
- doins -r src/*.h
- insinto /usr/include/PythonQt/gui
- doins -r src/gui/*.h
-
- if use extensions ; then
- insinto /usr/include/PythonQt/extensions/PythonQt_QtAll
- doins -r extensions/PythonQt_QtAll/*.h
- fi
-
- # Libraries
- dolib.so lib/libPythonQt*
-}
diff --git a/dev-python/PythonQt/files/PythonQt-3.1-commit-433-441.patch b/dev-python/PythonQt/files/PythonQt-3.1-commit-433-441.patch
deleted file mode 100644
index 90d3cb9d2ec9..000000000000
--- a/dev-python/PythonQt/files/PythonQt-3.1-commit-433-441.patch
+++ /dev/null
@@ -1,301 +0,0 @@
-diff -uprNEBZ --suppress-blank-empty a/extensions/PythonQt_QtAll/PythonQt_QtAll.cpp b/extensions/PythonQt_QtAll/PythonQt_QtAll.cpp
---- a/extensions/PythonQt_QtAll/PythonQt_QtAll.cpp 2016-06-09 06:46:16.000000000 -0500
-+++ b/extensions/PythonQt_QtAll/PythonQt_QtAll.cpp 2016-07-25 06:06:45.000000000 -0500
-@@ -45,6 +45,7 @@ void PythonQt_init_QtXmlPatterns(PyObjec
- void PythonQt_init_QtMultimedia(PyObject*);
- void PythonQt_init_QtQml(PyObject*);
- void PythonQt_init_QtQuick(PyObject*);
-+void PythonQt_init_QtUiTools(PyObject*);
-
- #ifdef PYTHONQT_WITH_WEBKIT
- void PythonQt_init_QtWebKit(PyObject*);
-@@ -67,6 +68,7 @@ namespace PythonQt_QtAll
- PythonQt_init_QtMultimedia(0);
- PythonQt_init_QtQml(0);
- PythonQt_init_QtQuick(0);
-+ PythonQt_init_QtUiTools(0);
- };
- };
-
-diff -uprNEBZ --suppress-blank-empty a/extensions/PythonQt_QtAll/PythonQt_QtAll.pro b/extensions/PythonQt_QtAll/PythonQt_QtAll.pro
---- a/extensions/PythonQt_QtAll/PythonQt_QtAll.pro 2016-06-09 07:00:18.000000000 -0500
-+++ b/extensions/PythonQt_QtAll/PythonQt_QtAll.pro 2016-07-25 06:06:45.000000000 -0500
-@@ -21,7 +21,7 @@ SOURCES += \
-
- QT += gui svg sql network xml xmlpatterns opengl
- QT += widgets printsupport multimedia multimediawidgets
--QT += quick qml quickwidgets
-+QT += quick qml quickwidgets uitools
-
- include ($$PYTHONQT_GENERATED_PATH/com_trolltech_qt_core/com_trolltech_qt_core.pri)
- include ($$PYTHONQT_GENERATED_PATH/com_trolltech_qt_gui/com_trolltech_qt_gui.pri)
-@@ -34,6 +34,7 @@ include ($$PYTHONQT_GENERATED_PATH/com_t
- include ($$PYTHONQT_GENERATED_PATH/com_trolltech_qt_multimedia/com_trolltech_qt_multimedia.pri)
- include ($$PYTHONQT_GENERATED_PATH/com_trolltech_qt_qml/com_trolltech_qt_qml.pri)
- include ($$PYTHONQT_GENERATED_PATH/com_trolltech_qt_quick/com_trolltech_qt_quick.pri)
-+include ($$PYTHONQT_GENERATED_PATH/com_trolltech_qt_uitools/com_trolltech_qt_uitools.pri)
-
- PythonQtWebKit {
- QT += webkit webkitwidgets
-diff -uprNEBZ --suppress-blank-empty a/generator/abstractmetalang.cpp b/generator/abstractmetalang.cpp
---- a/generator/abstractmetalang.cpp 2015-06-18 08:32:57.000000000 -0500
-+++ b/generator/abstractmetalang.cpp 2016-08-03 02:16:08.000000000 -0500
-@@ -838,14 +838,24 @@ AbstractMetaFunctionList AbstractMetaCla
- return returned;
- }
-
--bool AbstractMetaClass::hasDefaultIsNull() const
-+QString AbstractMetaClass::getDefaultNonZeroFunction() const
- {
-+ foreach(const AbstractMetaFunction* fun, queryFunctionsByName("isEmpty")) {
-+ if (fun->actualMinimumArgumentCount()==0 && fun->isPublic()) {
-+ return "isEmpty";
-+ }
-+ }
-+ foreach(const AbstractMetaFunction* fun, queryFunctionsByName("isValid")) {
-+ if (fun->actualMinimumArgumentCount() == 0 && fun->isPublic()) {
-+ return "isValid";
-+ }
-+ }
- foreach(const AbstractMetaFunction* fun, queryFunctionsByName("isNull")) {
-- if (fun->actualMinimumArgumentCount()==0) {
-- return true;
-+ if (fun->actualMinimumArgumentCount() == 0 && fun->isPublic()) {
-+ return "isNull";
- }
- }
-- return false;
-+ return QString();
- }
-
- /*******************************************************************************
-diff -uprNEBZ --suppress-blank-empty a/generator/abstractmetalang.h b/generator/abstractmetalang.h
---- a/generator/abstractmetalang.h 2014-09-25 05:51:32.000000000 -0500
-+++ b/generator/abstractmetalang.h 2016-08-01 04:12:32.000000000 -0500
-@@ -800,7 +800,8 @@ public:
- void setHasCloneOperator(bool on) { m_has_clone_operator = on; }
- bool hasCloneOperator() const { return m_has_clone_operator; }
-
-- bool hasDefaultIsNull() const;
-+ QString getDefaultNonZeroFunction() const;
-+
- void addPropertySpec(QPropertySpec *spec) { m_property_specs << spec; }
- QList<QPropertySpec *> propertySpecs() const { return m_property_specs; }
-
-diff -uprNEBZ --suppress-blank-empty a/generator/merge.sh b/generator/merge.sh
---- a/generator/merge.sh 1969-12-31 18:00:00.000000000 -0600
-+++ b/generator/merge.sh 2010-03-05 16:03:37.000000000 -0600
-@@ -0,0 +1,11 @@
-+#!/bin/sh
-+
-+xsltproc -o typesystem_core.xml --stringparam source 'typesystem_core-qtscript.xml' merge.xsl typesystem_core-common.xml
-+xsltproc -o typesystem_gui.xml --stringparam source 'typesystem_gui-qtscript.xml' merge.xsl typesystem_gui-common.xml
-+xsltproc -o typesystem_opengl.xml --stringparam source 'typesystem_opengl-qtscript.xml' merge.xsl typesystem_opengl-common.xml
-+xsltproc -o typesystem_network.xml --stringparam source 'typesystem_network-qtscript.xml' merge.xsl typesystem_network-common.xml
-+xsltproc -o typesystem_xml.xml --stringparam source 'typesystem_xml-qtscript.xml' merge.xsl typesystem_xml-common.xml
-+xsltproc -o typesystem_webkit.xml --stringparam source 'typesystem_webkit-qtscript.xml' merge.xsl typesystem_webkit-common.xml
-+xsltproc -o typesystem_sql.xml --stringparam source 'typesystem_sql-qtscript.xml' merge.xsl typesystem_sql-common.xml
-+xsltproc -o typesystem_svg.xml --stringparam source 'typesystem_svg-qtscript.xml' merge.xsl typesystem_svg-common.xml
-+xsltproc -o typesystem_xmlpatterns.xml --stringparam source 'typesystem_xmlpatterns-qtscript.xml' merge.xsl typesystem_xmlpatterns-common.xml
-\ No newline at end of file
-diff -uprNEBZ --suppress-blank-empty a/generator/setupgenerator.cpp b/generator/setupgenerator.cpp
---- a/generator/setupgenerator.cpp 2016-05-03 04:25:38.000000000 -0500
-+++ b/generator/setupgenerator.cpp 2016-08-01 04:12:32.000000000 -0500
-@@ -105,7 +105,7 @@ static QStringList getOperatorCodes(cons
- r.insert("PythonQt::Type_InplaceXor");
- }
- }
-- if (cls->hasDefaultIsNull()) {
-+ if (!cls->getDefaultNonZeroFunction().isEmpty()) {
- r.insert("PythonQt::Type_NonZero");
- }
-
-diff -uprNEBZ --suppress-blank-empty a/generator/shellheadergenerator.cpp b/generator/shellheadergenerator.cpp
---- a/generator/shellheadergenerator.cpp 2016-05-10 10:01:30.000000000 -0500
-+++ b/generator/shellheadergenerator.cpp 2016-08-09 07:20:29.000000000 -0500
-@@ -267,7 +267,11 @@ void ShellHeaderGenerator::write(QTextSt
- QList<FlagsTypeEntry*> flags;
- foreach(AbstractMetaEnum* enum1, enums1) {
- // catch gadgets and enums that are not exported on QObjects...
-- if ((enum1->wasProtected() || enum1->wasPublic()) && (!meta_class->isQObject() || !enum1->hasQEnumsDeclaration())) {
-+ // since we don't parse Q_FLAG(S), we also need to generate for Q_ENUM which might
-+ // have a missing Q_FLAG(S) declaration.
-+ if ((enum1->wasProtected() || enum1->wasPublic()) &&
-+ (!meta_class->isQObject() || !enum1->hasQEnumsDeclaration() || enum1->typeEntry()->flags()))
-+ {
- enums << enum1;
- if (enum1->typeEntry()->flags()) {
- flags << enum1->typeEntry()->flags();
-@@ -395,8 +399,13 @@ void ShellHeaderGenerator::write(QTextSt
- if (meta_class->hasDefaultToStringFunction() || meta_class->hasToStringCapability()) {
- s << " QString py_toString(" << meta_class->qualifiedCppName() << "*);" << endl;
- }
-- if (meta_class->hasDefaultIsNull()) {
-- s << " bool __nonzero__(" << meta_class->qualifiedCppName() << "* obj) { return !obj->isNull(); }" << endl;
-+ QString nonZeroFunc = meta_class->getDefaultNonZeroFunction();
-+ if (!nonZeroFunc.isEmpty()) {
-+ s << " bool __nonzero__(" << meta_class->qualifiedCppName() << "* obj) { return ";
-+ if (nonZeroFunc != "isValid") {
-+ s << "!";
-+ }
-+ s << "obj->" << nonZeroFunc << "(); }" << endl;
- }
-
- AbstractMetaFieldList fields = meta_class->fields();
-diff -uprNEBZ --suppress-blank-empty a/generator/typesystem_core.xml b/generator/typesystem_core.xml
---- a/generator/typesystem_core.xml 2016-05-30 07:33:59.000000000 -0500
-+++ b/generator/typesystem_core.xml 2016-06-13 04:54:38.000000000 -0500
-@@ -550,6 +550,8 @@
- <rejection class="QObject" function-name="disconnectNotify"/>
- <rejection class="QObject" function-name="registerUserData"/>
- <rejection class="QProcess" function-name="pid"/>
-+ <rejection class="QProcess" function-name="setInheritHandles"/>
-+ <rejection class="QProcess" function-name="inheritHandles"/>
- <rejection class="QRegion" function-name="cleanUp"/>
- <rejection class="QSettings" function-name="registerFormat"/>
- <rejection class="QVector" function-name="back"/>
-diff -uprNEBZ --suppress-blank-empty a/generator/typesystem_gui.xml b/generator/typesystem_gui.xml
---- a/generator/typesystem_gui.xml 2016-06-01 03:20:27.000000000 -0500
-+++ b/generator/typesystem_gui.xml 2016-06-20 04:58:59.000000000 -0500
-@@ -1307,6 +1307,17 @@ PyObject* constScanLine(QImage* image, i
- <object-type name="QWizard">
- <!-- ### Requires correct class name in meta object -->
- <modify-function signature="setDefaultProperty(const char *, const char *, const char *)" remove="all"/>
-+
-+ <modify-function signature="addPage(QWizardPage*)">
-+ <modify-argument index="1">
-+ <define-ownership owner="c++" />
-+ </modify-argument>
-+ </modify-function>
-+ <modify-function signature="setButton(QWizard::WizardButton, QAbstractButton*)">
-+ <modify-argument index="2">
-+ <define-ownership owner="c++" />
-+ </modify-argument>
-+ </modify-function>
- </object-type>
- <object-type name="QWizardPage">
- </object-type>
-diff -uprNEBZ --suppress-blank-empty a/src/PythonQtConversion.cpp b/src/PythonQtConversion.cpp
---- a/src/PythonQtConversion.cpp 2016-06-02 07:30:53.000000000 -0500
-+++ b/src/PythonQtConversion.cpp 2016-07-21 08:36:40.000000000 -0500
-@@ -746,9 +746,14 @@ QString PythonQtConv::PyObjGetRepresenta
- QString PythonQtConv::PyObjGetString(PyObject* val, bool strict, bool& ok) {
- QString r;
- ok = true;
-+#ifndef PY3K
-+ // in Python 3, we don't want to convert to QString, since we don't know anything about the encoding
-+ // in Python 2, we assume the default for str is latin-1
- if (val->ob_type == &PyBytes_Type) {
-- r = QString(PyBytes_AS_STRING(val));
-- } else if (PyUnicode_Check(val)) {
-+ r = QString::fromLatin1(PyBytes_AS_STRING(val));
-+ } else
-+#endif
-+ if (PyUnicode_Check(val)) {
- #ifdef PY3K
- r = QString::fromUtf8(PyUnicode_AsUTF8(val));
- #else
-@@ -976,8 +981,15 @@ QVariant PythonQtConv::PyObjToQVariant(P
- #endif
- ) {
- // no special type requested
-- if (PyBytes_Check(val) || PyUnicode_Check(val)) {
-- // NOTE: for compatibility reasons between Python 2/3 we don't use ByteArray for PyBytes_Type
-+ if (PyBytes_Check(val)) {
-+#ifdef PY3K
-+ // In Python 3, it is a ByteArray
-+ type = QVariant::ByteArray;
-+#else
-+ // In Python 2, we need to use String, since it might be a string
-+ type = QVariant::String;
-+#endif
-+ } else if (PyUnicode_Check(val)) {
- type = QVariant::String;
- } else if (val == Py_False || val == Py_True) {
- type = QVariant::Bool;
-@@ -1117,6 +1129,14 @@ QVariant PythonQtConv::PyObjToQVariant(P
- }
-
- case QVariant::ByteArray:
-+ {
-+ bool ok;
-+#ifdef PY3K
-+ v = QVariant(PyObjGetBytes(val, false, ok));
-+#else
-+ v = QVariant(PyObjGetString(val, false, ok));
-+#endif
-+ }
- case QVariant::String:
- {
- bool ok;
-@@ -1504,7 +1524,7 @@ QByteArray PythonQtConv::getCPPTypeName(
- bool PythonQtConv::isStringType(PyTypeObject* type)
- {
- #ifdef PY3K
-- return type == &PyUnicode_Type
-+ return type == &PyUnicode_Type;
- #else
- return type == &PyUnicode_Type || type == &PyString_Type;
- #endif
-diff -uprNEBZ --suppress-blank-empty a/src/PythonQt.cpp b/src/PythonQt.cpp
---- a/src/PythonQt.cpp 2016-05-23 02:31:11.000000000 -0500
-+++ b/src/PythonQt.cpp 2016-06-20 03:26:33.000000000 -0500
-@@ -1977,6 +1977,7 @@ void PythonQtPrivate::buildDynamicMetaOb
- // Now look for slots: (this is a bug in QMetaObjectBuilder, all signals need to be added first)
- while (PyDict_Next(dict, &pos, &key, &value)) {
- if (PythonQtProperty_Check(value)) {
-+ needsMetaObject = true;
- PythonQtProperty* prop = (PythonQtProperty*)value;
- QMetaPropertyBuilder newProp = builder.addProperty(PyString_AsString(key), prop->data->cppType);
- newProp.setReadable(true);
-diff -uprNEBZ --suppress-blank-empty a/src/PythonQtSlotDecorator.cpp b/src/PythonQtSlotDecorator.cpp
---- a/src/PythonQtSlotDecorator.cpp 2016-05-19 10:22:41.000000000 -0500
-+++ b/src/PythonQtSlotDecorator.cpp 2016-07-21 08:36:40.000000000 -0500
-@@ -42,9 +42,9 @@ int PythonQtSlotDecorator_init(PyObject
- char* argName = 0;
- PyObject* argResult = 0;
-
-- static char* kwlist[] = {"name", "result", 0};
-+ static const char* kwlist[] = {"name", "result", 0};
- static PyObject* emptyTuple = PyTuple_New(0);
-- if (!PyArg_ParseTupleAndKeywords(emptyTuple, kw, "|sO:QtCore.Slot", kwlist, &argName, &argResult)) {
-+ if (!PyArg_ParseTupleAndKeywords(emptyTuple, kw, "|sO:QtCore.Slot", (char**) kwlist, &argName, &argResult)) {
- return 0;
- }
-
-diff -uprNEBZ --suppress-blank-empty a/src/PythonQtStdDecorators.cpp b/src/PythonQtStdDecorators.cpp
---- a/src/PythonQtStdDecorators.cpp 2016-06-06 06:45:45.000000000 -0500
-+++ b/src/PythonQtStdDecorators.cpp 2016-06-20 03:26:33.000000000 -0500
-@@ -153,12 +153,12 @@ QVariant PythonQtStdDecorators::property
- return o->property(name);
- }
-
--QString PythonQtStdDecorators::tr(QObject* obj, const QByteArray& text, const QByteArray& ambig, int n)
-+QString PythonQtStdDecorators::tr(QObject* obj, const QString& text, const QString& ambig, int n)
- {
- #if( QT_VERSION >= QT_VERSION_CHECK(5,0,0) )
-- return QCoreApplication::translate(obj->metaObject()->className(), text.constData(), ambig.constData(), n);
-+ return QCoreApplication::translate(obj->metaObject()->className(), text.toUtf8().constData(), ambig.toUtf8().constData(), n);
- #else
-- return QCoreApplication::translate(obj->metaObject()->className(), text.constData(), ambig.constData(), QCoreApplication::CodecForTr, n);
-+ return QCoreApplication::translate(obj->metaObject()->className(), text.toUtf8().constData(), ambig.toUtf8().constData(), QCoreApplication::CodecForTr, n);
- #endif
- }
-
-diff -uprNEBZ --suppress-blank-empty a/src/PythonQtStdDecorators.h b/src/PythonQtStdDecorators.h
---- a/src/PythonQtStdDecorators.h 2016-06-06 06:45:45.000000000 -0500
-+++ b/src/PythonQtStdDecorators.h 2016-06-20 03:26:33.000000000 -0500
-@@ -106,10 +106,10 @@ public Q_SLOTS:
- int static_Qt_qrand() { return qrand(); }
- void static_Qt_qsrand(uint a) { qsrand(a); }
-
-- QString tr(QObject* obj, const QByteArray& text, const QByteArray& ambig = QByteArray(), int n = -1);
-+ QString tr(QObject* obj, const QString& text, const QString& ambig = QString(), int n = -1);
-
-- QByteArray static_Qt_SIGNAL(const QByteArray& s) { return QByteArray("2") + s; }
-- QByteArray static_Qt_SLOT(const QByteArray& s) { return QByteArray("1") + s; }
-+ QString static_Qt_SIGNAL(const QString& s) { return QString("2") + s; }
-+ QString static_Qt_SLOT(const QString& s) { return QString("1") + s; }
-
- void static_QTimer_singleShot(int msec, PyObject* callable);
-