From: Robin van der Gracht <ro...@protonic.nl> The patches directory patches/pyside-qt4.8+1.2.2 is ready and compile-time tested with python2 and python3. Because we could not really test pyside qt4.8+1.2.2 (python2), we did not do a version bump for it.
Signed-off-by: Robin van der Gracht <ro...@protonic.nl> --- ...ccessibleevent_wrapper.cpp-if-accessible-.patch | 37 +++++++ .../0002-add-include-iostream.patch | 23 ++++ .../pyside-qt4.8+1.2.2/0003-add-qws-support.patch | 116 +++++++++++++++++++++ patches/pyside-qt4.8+1.2.2/series | 6 ++ rules/python3-pyside.in | 11 ++ rules/python3-pyside.make | 64 ++++++++++++ 6 files changed, 257 insertions(+) create mode 100644 patches/pyside-qt4.8+1.2.2/0001-only-add-qaccessibleevent_wrapper.cpp-if-accessible-.patch create mode 100644 patches/pyside-qt4.8+1.2.2/0002-add-include-iostream.patch create mode 100644 patches/pyside-qt4.8+1.2.2/0003-add-qws-support.patch create mode 100644 patches/pyside-qt4.8+1.2.2/series create mode 100644 rules/python3-pyside.in create mode 100644 rules/python3-pyside.make diff --git a/patches/pyside-qt4.8+1.2.2/0001-only-add-qaccessibleevent_wrapper.cpp-if-accessible-.patch b/patches/pyside-qt4.8+1.2.2/0001-only-add-qaccessibleevent_wrapper.cpp-if-accessible-.patch new file mode 100644 index 000000000..d3575867c --- /dev/null +++ b/patches/pyside-qt4.8+1.2.2/0001-only-add-qaccessibleevent_wrapper.cpp-if-accessible-.patch @@ -0,0 +1,37 @@ +From: Michael Olbrich <m.olbr...@pengutronix.de> +Date: Wed, 26 Jan 2011 01:20:31 +0100 +Subject: [PATCH] only add qaccessibleevent_wrapper.cpp if accessible is + enabled + +Signed-off-by: Michael Olbrich <m.olbr...@pengutronix.de> +--- + PySide/QtGui/CMakeLists.txt | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/PySide/QtGui/CMakeLists.txt b/PySide/QtGui/CMakeLists.txt +index 6e147067f8aa..94d4787d57ff 100644 +--- a/PySide/QtGui/CMakeLists.txt ++++ b/PySide/QtGui/CMakeLists.txt +@@ -86,6 +86,13 @@ check_qt_class(QtGui QMacStyle QtGui_OPTIONAL_SRC QtGui_DROPPED + + qt4_wrap_cpp(QPYTEXTOBJECT_MOC "${pyside_SOURCE_DIR}/qpytextobject.h") + ++if (QT_QCONFIG MATCHES "accessibility") ++set(QtGui_accessible_SRC ++${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qaccessibleevent_wrapper.cpp) ++else() ++set(QtGui_accessible_SRC ) ++endif () ++ + set(QtGui_SRC + ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qabstractbutton_wrapper.cpp + ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qabstractgraphicsshapeitem_wrapper.cpp +@@ -98,7 +105,7 @@ ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qabstractspinbox_wrapper.cpp + ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qabstracttextdocumentlayout_paintcontext_wrapper.cpp + ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qabstracttextdocumentlayout_selection_wrapper.cpp + ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qabstracttextdocumentlayout_wrapper.cpp +-${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qaccessibleevent_wrapper.cpp ++${QtGui_accessible_SRC} + ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qactionevent_wrapper.cpp + ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qactiongroup_wrapper.cpp + ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qaction_wrapper.cpp diff --git a/patches/pyside-qt4.8+1.2.2/0002-add-include-iostream.patch b/patches/pyside-qt4.8+1.2.2/0002-add-include-iostream.patch new file mode 100644 index 000000000..48c6b6b1b --- /dev/null +++ b/patches/pyside-qt4.8+1.2.2/0002-add-include-iostream.patch @@ -0,0 +1,23 @@ +From: Michael Olbrich <m.olbr...@pengutronix.de> +Date: Fri, 28 Jan 2011 16:03:10 +0100 +Subject: [PATCH] add "#include <iostream>" + +Without it std::copy() is undefined when Qt is build without stl. + +Signed-off-by: Michael Olbrich <m.olbr...@pengutronix.de> +--- + libpyside/dynamicqmetaobject.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libpyside/dynamicqmetaobject.cpp b/libpyside/dynamicqmetaobject.cpp +index e88e3dfdfcec..a2db462a0104 100644 +--- a/libpyside/dynamicqmetaobject.cpp ++++ b/libpyside/dynamicqmetaobject.cpp +@@ -35,6 +35,7 @@ + #include <QLinkedList> + #include <QObject> + #include <cstring> ++#include <iostream> + #include <QDebug> + #include <QMetaMethod> + #include <shiboken.h> diff --git a/patches/pyside-qt4.8+1.2.2/0003-add-qws-support.patch b/patches/pyside-qt4.8+1.2.2/0003-add-qws-support.patch new file mode 100644 index 000000000..ee13ed6e3 --- /dev/null +++ b/patches/pyside-qt4.8+1.2.2/0003-add-qws-support.patch @@ -0,0 +1,116 @@ +From: Michael Olbrich <m.olbr...@pengutronix.de> +Date: Mon, 20 Jun 2011 21:42:41 +0200 +Subject: [PATCH] add qws support + +based on a patch from OpenEmbedded: +http://cgit.openembedded.net/cgit.cgi/openembedded/tree/recipes/pyside/python-pyside-embedded/support-qws.patch + +Signed-off-by: Michael Olbrich <m.olbr...@pengutronix.de> +--- + CMakeLists.txt | 4 ++++ + PySide/QtCore/typesystem_core_qws.xml | 26 ++++++++++++++++++++++++++ + PySide/QtGui/typesystem_gui_common.xml | 2 ++ + PySide/QtGui/typesystem_gui_qws.xml | 26 ++++++++++++++++++++++++++ + 4 files changed, 58 insertions(+) + create mode 100644 PySide/QtCore/typesystem_core_qws.xml + create mode 100644 PySide/QtGui/typesystem_gui_qws.xml + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9e0e3d07e2e3..0e7d85025376 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -88,6 +88,7 @@ set(ENABLE_X11 "0") + set(ENABLE_MAC "0") + set(ENABLE_WIN "0") + set(ENABLE_SIMULATOR "0") ++set(ENABLE_QWS "0") + if(Q_WS_X11) + set(ENABLE_X11 "1") + if(Q_WS_MAEMO_5) +@@ -104,6 +105,9 @@ elseif(Q_WS_WIN) + elseif(Q_WS_SIMULATOR) + set(ENABLE_SIMULATOR "1") + set(AUTO_OS "simulator") ++elseif(Q_WS_QWS) ++ set(ENABLE_QWS "1") ++ set(AUTO_OS "qws") + else() + message(FATAL_ERROR "OS not supported") + endif() +diff --git a/PySide/QtCore/typesystem_core_qws.xml b/PySide/QtCore/typesystem_core_qws.xml +new file mode 100644 +index 000000000000..eba223c73097 +--- /dev/null ++++ b/PySide/QtCore/typesystem_core_qws.xml +@@ -0,0 +1,26 @@ ++<?xml version="1.0"?> ++<!-- ++ This file is part of PySide project. ++ Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). ++ Contact: PySide team <cont...@pyside.org> ++ ++ This library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ This library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with this library; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++--> ++<typesystem package="PySide.QtCore"> ++ <primitive-type name="Qt::HANDLE" target-lang-api-name="PyLong"> ++ <!-- FIXME APIExtractor or shiboken do not support multiple includes by primitive type --> ++ <include file-name="QTextDocument" location="global"/> ++ </primitive-type> ++</typesystem> +diff --git a/PySide/QtGui/typesystem_gui_common.xml b/PySide/QtGui/typesystem_gui_common.xml +index 711d7cc3a352..e7d00eac6df8 100644 +--- a/PySide/QtGui/typesystem_gui_common.xml ++++ b/PySide/QtGui/typesystem_gui_common.xml +@@ -5635,6 +5635,8 @@ + <modify-function signature="QApplication(int&,char**,bool,int)" remove="all"/> + <modify-function signature="QApplication(int&,char**,QApplication::Type,int)" remove="all"/> + <!-- ### --> ++ <!-- QWS: FIXME: really fix this --> ++ <modify-function signature="setArgs(int,char**)" remove="all"/> + + <!-- ownership control transfer to qApp --> + <modify-function signature="setStyle(QStyle*)"> +diff --git a/PySide/QtGui/typesystem_gui_qws.xml b/PySide/QtGui/typesystem_gui_qws.xml +new file mode 100644 +index 000000000000..d4a4793ad496 +--- /dev/null ++++ b/PySide/QtGui/typesystem_gui_qws.xml +@@ -0,0 +1,26 @@ ++<?xml version="1.0"?> ++<!-- ++ This file is part of PySide project. ++ Copyright (C) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). ++ Contact: PySide team <cont...@pyside.org> ++ ++ This library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ This library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with this library; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++--> ++<typesystem package="PySide.QtGui"> ++ <value-type name="QCursor"> ++ <!-- Does not exist on QWS --> ++ <modify-function signature="QCursor(Qt::HANDLE)" remove="all"/> ++ </value-type> ++</typesystem> diff --git a/patches/pyside-qt4.8+1.2.2/series b/patches/pyside-qt4.8+1.2.2/series new file mode 100644 index 000000000..cce9c351b --- /dev/null +++ b/patches/pyside-qt4.8+1.2.2/series @@ -0,0 +1,6 @@ +# generated by git-ptx-patches +#tag:base --start-number 1 +0001-only-add-qaccessibleevent_wrapper.cpp-if-accessible-.patch +0002-add-include-iostream.patch +0003-add-qws-support.patch +# edb0310fe7e30ecdc0404f3b02598af7 - git-ptx-patches magic diff --git a/rules/python3-pyside.in b/rules/python3-pyside.in new file mode 100644 index 000000000..cb8db5a1a --- /dev/null +++ b/rules/python3-pyside.in @@ -0,0 +1,11 @@ +## SECTION=qt + +config PYTHON3_PYSIDE + tristate + prompt "python3-pyside-qt4" + select QT4 + select PYTHON3_SHIBOKEN + select HOST_CMAKE + help + PySide provides Python bindings for the Qt cross-platform + application and UI framework. diff --git a/rules/python3-pyside.make b/rules/python3-pyside.make new file mode 100644 index 000000000..5d4bdddfb --- /dev/null +++ b/rules/python3-pyside.make @@ -0,0 +1,64 @@ +# -*-makefile-*- +# +# Copyright (C) 2016 by Robin van der Gracht <ro...@protonic.nl> +# +# See CREDITS for details about who has contributed to this project. +# +# For further information about the PTXdist project and license conditions +# see the README file. +# + +# +# We provide this package +# +PACKAGES-$(PTXCONF_PYTHON3_PYSIDE) += python3-pyside + +# +# Paths and names +# +PYTHON3_PYSIDE_VERSION := 4.8+1.2.2 +PYTHON3_PYSIDE_MD5 := 1969c2ff90eefaa4b200d234059d2287 +PYTHON3_PYSIDE := pyside-qt$(PYTHON3_PYSIDE_VERSION) +PYTHON3_PYSIDE_SUFFIX := tar.bz2 +PYTHON3_PYSIDE_URL := http://download.qt-project.org/official_releases/pyside/$(PYTHON3_PYSIDE).$(PYTHON3_PYSIDE_SUFFIX) +PYTHON3_PYSIDE_SOURCE := $(SRCDIR)/$(PYTHON3_PYSIDE).$(PYTHON3_PYSIDE_SUFFIX) +PYTHON3_PYSIDE_DIR := $(BUILDDIR)/$(PYTHON3_PYSIDE) +PYTHON3_PYSIDE_LICENSE := LGPL-2.1 + +# ---------------------------------------------------------------------------- +# Prepare +# ---------------------------------------------------------------------------- + +# +# cmake +# +PYSIDE_CONF_TOOL := cmake +PYSIDE_CONF_ENV := PATH=$(CROSS_PATH) +PYSIDE_CONF_OPT = \ + $(CROSS_CMAKE_USR) \ + -DUSE_PYTHON3:BOOL=ON + +# ---------------------------------------------------------------------------- +# Target-Install +# ---------------------------------------------------------------------------- + +$(STATEDIR)/python3-pyside.targetinstall: + @$(call targetinfo) + + @$(call install_init, python3-pyside) + @$(call install_fixup, python3-pyside, PRIORITY, optional) + @$(call install_fixup, python3-pyside, SECTION, base) + @$(call install_fixup, python3-pyside, AUTHOR, "Robin van der Gracht <ro...@protonic.nl>") + @$(call install_fixup, python3-pyside, DESCRIPTION, missing) + + @$(call install_lib, python3-pyside, 0, 0, 0644, \ + libpyside.cpython-*) + @$(call install_tree, python3-pyside, 0, 0, \ + $(PYTHON3_PYSIDE_PKGDIR)/usr/lib/python$(PYTHON3_MAJORMINOR)/site-packages/PySide, \ + /usr/lib/python$(PYTHON3_MAJORMINOR)/site-packages/PySide) + + @$(call install_finish, python3-pyside) + + @$(call touch) + +# vim: syntax=make -- 2.15.1 _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de