From: Bastian Stender <bst@pengutronix.de>
To: ptxdist@pengutronix.de
Cc: Robin van der Gracht <robin@protonic.nl>
Subject: [ptxdist] [PATCH 3/3] python3-pyside: new package
Date: Wed, 31 Jan 2018 12:16:45 +0100 [thread overview]
Message-ID: <20180131111645.19171-3-bst@pengutronix.de> (raw)
In-Reply-To: <20180131111645.19171-1-bst@pengutronix.de>
From: Robin van der Gracht <robin@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 <robin@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.olbrich@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.olbrich@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.olbrich@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.olbrich@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.olbrich@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.olbrich@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 <contact@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 <contact@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 <robin@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 <robin@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
prev parent reply other threads:[~2018-01-31 11:16 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-31 11:16 [ptxdist] [PATCH 1/3] python3-shiboken: " Bastian Stender
2018-01-31 11:16 ` [ptxdist] [PATCH 2/3] host-python3-shiboken: " Bastian Stender
2018-01-31 11:16 ` Bastian Stender [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180131111645.19171-3-bst@pengutronix.de \
--to=bst@pengutronix.de \
--cc=ptxdist@pengutronix.de \
--cc=robin@protonic.nl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox