mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH 1/3] python3-shiboken: new package
@ 2018-01-31 11:16 Bastian Stender
  2018-01-31 11:16 ` [ptxdist] [PATCH 2/3] host-python3-shiboken: " Bastian Stender
  2018-01-31 11:16 ` [ptxdist] [PATCH 3/3] python3-pyside: " Bastian Stender
  0 siblings, 2 replies; 3+ messages in thread
From: Bastian Stender @ 2018-01-31 11:16 UTC (permalink / raw)
  To: ptxdist; +Cc: Robin van der Gracht

From: Robin van der Gracht <robin@protonic.nl>

The patches directory patches/shiboken-1.2.2 is ready and compile-time
tested with python2 and python3. Because we could not really test
shiboken 1.2.2 (python2), we did not do a version bump for it.

Signed-off-by: Robin van der Gracht <robin@protonic.nl>
---
 ...-specifying-the-preferred-Python2-version.patch | 19 +++++
 ...-specifying-the-preferred-Python3-version.patch | 47 +++++++++++
 patches/shiboken-1.2.2/series                      |  5 ++
 rules/python3-shiboken.in                          | 13 ++++
 rules/python3-shiboken.make                        | 90 ++++++++++++++++++++++
 5 files changed, 174 insertions(+)
 create mode 100644 patches/shiboken-1.2.2/0001-cmake-allow-specifying-the-preferred-Python2-version.patch
 create mode 100644 patches/shiboken-1.2.2/0002-cmake-allow-specifying-the-preferred-Python3-version.patch
 create mode 100644 patches/shiboken-1.2.2/series
 create mode 100644 rules/python3-shiboken.in
 create mode 100644 rules/python3-shiboken.make

diff --git a/patches/shiboken-1.2.2/0001-cmake-allow-specifying-the-preferred-Python2-version.patch b/patches/shiboken-1.2.2/0001-cmake-allow-specifying-the-preferred-Python2-version.patch
new file mode 100644
index 000000000..2a7dd2232
--- /dev/null
+++ b/patches/shiboken-1.2.2/0001-cmake-allow-specifying-the-preferred-Python2-version.patch
@@ -0,0 +1,19 @@
+From: Michael Olbrich <m.olbrich@pengutronix.de>
+Date: Thu, 15 Mar 2012 08:55:26 +0100
+Subject: [PATCH] cmake: allow specifying the preferred Python2 version
+
+Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
+---
+ cmake/Modules/FindPythonInterpWithDebug.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cmake/Modules/FindPythonInterpWithDebug.cmake b/cmake/Modules/FindPythonInterpWithDebug.cmake
+index 7722d956917e..06c5aff02580 100644
+--- a/cmake/Modules/FindPythonInterpWithDebug.cmake
++++ b/cmake/Modules/FindPythonInterpWithDebug.cmake
+@@ -1,4 +1,4 @@
+-find_program(PYTHON_EXECUTABLE NAMES python2.7 python2.6 python2.5)
++find_program(PYTHON_EXECUTABLE NAMES ${Python_PREFERRED_VERSION} python2.7 python2.6 python2.5)
+ 
+ if (NOT PYTHON_EXECUTABLE)
+     find_package(PythonInterp REQUIRED)
diff --git a/patches/shiboken-1.2.2/0002-cmake-allow-specifying-the-preferred-Python3-version.patch b/patches/shiboken-1.2.2/0002-cmake-allow-specifying-the-preferred-Python3-version.patch
new file mode 100644
index 000000000..2d985e42d
--- /dev/null
+++ b/patches/shiboken-1.2.2/0002-cmake-allow-specifying-the-preferred-Python3-version.patch
@@ -0,0 +1,47 @@
+From: Bastian Stender <bst@pengutronix.de>
+Date: Fri, 26 Jan 2018 14:27:23 +0100
+Subject: [PATCH] cmake: allow specifying the preferred Python3 version
+
+Signed-off-by: Bastian Stender <bst@pengutronix.de>
+---
+ cmake/Modules/FindPython3Interp.cmake | 4 ++--
+ cmake/Modules/FindPython3Libs.cmake   | 4 +++-
+ 2 files changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/cmake/Modules/FindPython3Interp.cmake b/cmake/Modules/FindPython3Interp.cmake
+index 373982e210a3..ad38c6697bc8 100644
+--- a/cmake/Modules/FindPython3Interp.cmake
++++ b/cmake/Modules/FindPython3Interp.cmake
+@@ -20,7 +20,7 @@
+ #  License text for the above reference.)
+ 
+ FIND_PROGRAM(PYTHON3_EXECUTABLE
+-  NAMES python3.2mu python3.2m python3.2u python3.2 python3.1 python3.0 python3
++  NAMES ${Python3_PREFERRED_VERSION} python3.2mu python3.2m python3.2u python3.2 python3.1 python3.0 python3
+   PATHS
+   [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\3.2\\InstallPath]
+   [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\3.1\\InstallPath]
+@@ -28,7 +28,7 @@ FIND_PROGRAM(PYTHON3_EXECUTABLE
+   )
+ 
+ FIND_PROGRAM(PYTHON3_DBG_EXECUTABLE
+-  NAMES python3.2dmu python3.2dm python3.2du python3.2d python3.1-dbg python3.0-dbg python3-dbg
++  NAMES ${Python3_PREFERRED_VERSION} python3.2dmu python3.2dm python3.2du python3.2d python3.1-dbg python3.0-dbg python3-dbg
+   PATHS
+   [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\3.2\\InstallPath]
+   [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\3.1\\InstallPath]
+diff --git a/cmake/Modules/FindPython3Libs.cmake b/cmake/Modules/FindPython3Libs.cmake
+index 20a82ba07d59..e1789438a4b9 100644
+--- a/cmake/Modules/FindPython3Libs.cmake
++++ b/cmake/Modules/FindPython3Libs.cmake
+@@ -27,7 +27,9 @@ INCLUDE(CMakeFindFrameworks)
+ # Search for the python framework on Apple.
+ # CMAKE_FIND_FRAMEWORKS(Python)
+ 
+-FOREACH(_CURRENT_VERSION 3.4 3.3 3.2 3.1 3.0)
++STRING(REPLACE "python" "" Python3_PREFERRED_VERSION_NUMBER ${Python3_PREFERRED_VERSION})
++
++FOREACH(_CURRENT_VERSION ${Python3_PREFERRED_VERSION_NUMBER} 3.4 3.3 3.2 3.1 3.0)
+   IF(_CURRENT_VERSION GREATER 3.1)
+       SET(_32FLAGS "m" "u" "mu" "dm" "du" "dmu" "")
+   ELSE()
diff --git a/patches/shiboken-1.2.2/series b/patches/shiboken-1.2.2/series
new file mode 100644
index 000000000..35630db2b
--- /dev/null
+++ b/patches/shiboken-1.2.2/series
@@ -0,0 +1,5 @@
+# generated by git-ptx-patches
+#tag:base --start-number 1
+0001-cmake-allow-specifying-the-preferred-Python2-version.patch
+0002-cmake-allow-specifying-the-preferred-Python3-version.patch
+# 51481bffa6f992fb0f955bd13139b6db  - git-ptx-patches magic
diff --git a/rules/python3-shiboken.in b/rules/python3-shiboken.in
new file mode 100644
index 000000000..ccdcf17fc
--- /dev/null
+++ b/rules/python3-shiboken.in
@@ -0,0 +1,13 @@
+## SECTION=qt
+
+config PYTHON3_SHIBOKEN
+	tristate
+	prompt "python3-shiboken"
+	select HOST_CMAKE
+	select HOST_PYTHON3_SHIBOKEN
+	select LIBXML2
+	select LIBXSLT
+	select PYTHON3
+	select QT4
+	help
+	  Shiboken generates bindings for C++ libraries using CPython source code.
diff --git a/rules/python3-shiboken.make b/rules/python3-shiboken.make
new file mode 100644
index 000000000..ffbbdfba8
--- /dev/null
+++ b/rules/python3-shiboken.make
@@ -0,0 +1,90 @@
+# -*-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_SHIBOKEN) += python3-shiboken
+
+#
+# Paths and names
+#
+PYTHON3_SHIBOKEN_VERSION	:= 1.2.2
+PYTHON3_SHIBOKEN_MD5		:= 9f5bee9d414ce51be07ff7a20054a48d
+PYTHON3_SHIBOKEN		:= shiboken-$(PYTHON3_SHIBOKEN_VERSION)
+PYTHON3_SHIBOKEN_SUFFIX		:= tar.bz2
+PYTHON3_SHIBOKEN_URL		:= https://download.qt.io/official_releases/pyside/shiboken-$(PYTHON3_SHIBOKEN_VERSION).$(PYTHON3_SHIBOKEN_SUFFIX)
+PYTHON3_SHIBOKEN_SOURCE		:= $(SRCDIR)/$(PYTHON3_SHIBOKEN).$(PYTHON3_SHIBOKEN_SUFFIX)
+PYTHON3_SHIBOKEN_DIR		:= $(BUILDDIR)/$(PYTHON3_SHIBOKEN)
+PYTHON3_SHIBOKEN_LICENSE	:= GPL-2.0
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+#
+# cmake
+#
+PYTHON3_SHIBOKEN_CONF_TOOL		:= cmake
+PYTHON3_SHIBOKEN_CONF_OPT	= \
+	$(CROSS_CMAKE_USR) \
+	-DBUILD_TESTS:BOOL=OFF \
+	-DUSE_PYTHON3:BOOL=ON \
+	-DPython3_PREFERRED_VERSION=python$(PYTHON3_MAJORMINOR)
+
+PYTHON3_SHIBOKEN_MAKE_OPT		:= -C libshiboken
+PYTHON3_SHIBOKEN_INSTALL_OPT	:= -C libshiboken install
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/python3-shiboken.install:
+	@$(call targetinfo)
+	@$(call world/install, PYTHON3_SHIBOKEN)
+	@cd $(PYTHON3_SHIBOKEN_DIR)-build && $(MAKE) -C data install DESTDIR='$(PYTHON3_SHIBOKEN_PKGDIR)'
+	@sed -i -e 's,"$(SYSROOT)/usr,"SYSROOT/usr,g' \
+		-e 's,"$(PTXCONF_SYSROOT_CROSS),"SYSROOT_CROSS,g' \
+		$(PYTHON3_SHIBOKEN_PKGDIR)/usr/lib/cmake/Shiboken-$(PYTHON3_SHIBOKEN_VERSION)/ShibokenConfig.cpython*.cmake
+	@$(call touch)
+
+$(STATEDIR)/python3-shiboken.install.post:
+	@$(call targetinfo)
+	@$(call world/install.post, PYTHON3_SHIBOKEN)
+	@sed -i -e 's,(/usr,($(SYSROOT)/usr,g' \
+		'$(SYSROOT)/usr/lib/cmake/Shiboken-$(PYTHON3_SHIBOKEN_VERSION)/ShibokenConfig.cmake'
+	@sed -i -e 's,"SYSROOT_CROSS,"$(PTXCONF_SYSROOT_CROSS),g' \
+		-e 's,"SYSROOT/usr,"$(SYSROOT)/usr,g' \
+		-e 's,"/usr/bin,"$(PTXCONF_SYSROOT_HOST)/bin,g' \
+		-e 's,"/usr,"$(SYSROOT)/usr,g' \
+		$(SYSROOT)/usr/lib/cmake/Shiboken-$(PYTHON3_SHIBOKEN_VERSION)/ShibokenConfig.cpython*.cmake
+	@$(call touch)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/python3-shiboken.targetinstall:
+	@$(call targetinfo)
+
+	@$(call install_init, python3-shiboken)
+	@$(call install_fixup, python3-shiboken, PRIORITY, optional)
+	@$(call install_fixup, python3-shiboken, SECTION, base)
+	@$(call install_fixup, python3-shiboken, AUTHOR, "Robin van der Gracht <robin@protonic.nl>")
+	@$(call install_fixup, python3-shiboken, DESCRIPTION, missing)
+
+	@$(call install_lib, python3-shiboken, 0, 0, 0644, \
+		libshiboken.cpython-*)
+
+	@$(call install_finish, python3-shiboken)
+
+	@$(call touch)
+
+# vim: syntax=make
-- 
2.15.1


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-01-31 11:16 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-31 11:16 [ptxdist] [PATCH 1/3] python3-shiboken: new package Bastian Stender
2018-01-31 11:16 ` [ptxdist] [PATCH 2/3] host-python3-shiboken: " Bastian Stender
2018-01-31 11:16 ` [ptxdist] [PATCH 3/3] python3-pyside: " Bastian Stender

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox