* [Buildroot] [PATCH v3 1/2] python-sip: new package
@ 2015-04-19 8:03 Gwenhael Goavec-Merou
2015-04-19 8:03 ` [Buildroot] [PATCH v3 2/2] python-pyqt: " Gwenhael Goavec-Merou
2015-04-19 13:02 ` [Buildroot] [PATCH v3 1/2] python-sip: " Thomas Petazzoni
0 siblings, 2 replies; 5+ messages in thread
From: Gwenhael Goavec-Merou @ 2015-04-19 8:03 UTC (permalink / raw)
To: buildroot
From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Based on http://lists.busybox.net/pipermail/buildroot/2013-October/080830.html
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Cc: Sergey Kostanbaev <sergey.kostanbaev@gmail.com>
---
Changes v2 -> v3:
* bump version.
* suppress patch, --sysroot is enough.
* use qmake for configuration instead of sed.
* corrects LICENSE variable
* add depends on Qt
Changes v1 -> v2:
* renames patch.
* add depends on BR2_INSTALL_LIBSTDCPP.
* add hash file.
* add license informations.
---
package/Config.in | 1 +
package/python-sip/Config.in | 12 ++++++++++
package/python-sip/python-sip.hash | 4 ++++
package/python-sip/python-sip.mk | 45 ++++++++++++++++++++++++++++++++++++++
4 files changed, 62 insertions(+)
create mode 100644 package/python-sip/Config.in
create mode 100644 package/python-sip/python-sip.hash
create mode 100644 package/python-sip/python-sip.mk
diff --git a/package/Config.in b/package/Config.in
index 248e18b..546a9e5 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -605,6 +605,7 @@ menu "external python modules"
source "package/python-serial/Config.in"
source "package/python-setuptools/Config.in"
source "package/python-simplejson/Config.in"
+ source "package/python-sip/Config.in"
source "package/python-six/Config.in"
source "package/python-spidev/Config.in"
source "package/python-thrift/Config.in"
diff --git a/package/python-sip/Config.in b/package/python-sip/Config.in
new file mode 100644
index 0000000..3ee6c2a
--- /dev/null
+++ b/package/python-sip/Config.in
@@ -0,0 +1,12 @@
+comment "python-sip needs a toolchain w/ C++"
+ depends on !BR2_INSTALL_LIBSTDCPP
+
+config BR2_PACKAGE_PYTHON_SIP
+ bool "python-sip"
+ depends on BR2_INSTALL_LIBSTDCPP
+ select BR2_PACKAGE_QT
+ help
+ SIP is a tool for C/C++ libraries binding. It was developed
+ to create PyQt
+
+ http://www.riverbankcomputing.com/software/sip/intro
diff --git a/package/python-sip/python-sip.hash b/package/python-sip/python-sip.hash
new file mode 100644
index 0000000..aba5470
--- /dev/null
+++ b/package/python-sip/python-sip.hash
@@ -0,0 +1,4 @@
+# From http://sourceforge.net/projects/pyqt/files/sip/sip-4.16.7/
+md5 32abc003980599d33ffd789734de4c36 sip-4.16.7.tar.gz
+# Locally calculated:
+sha256 4caa8d52e4403bae5c4c64f44de03a2cfd0bb10b6d96c5fb771133516df9abbd sip-4.16.7.tar.gz
diff --git a/package/python-sip/python-sip.mk b/package/python-sip/python-sip.mk
new file mode 100644
index 0000000..f91b426
--- /dev/null
+++ b/package/python-sip/python-sip.mk
@@ -0,0 +1,45 @@
+################################################################################
+#
+# python-sip
+#
+################################################################################
+
+PYTHON_SIP_VERSION = 4.16.7
+PYTHON_SIP_SOURCE = sip-$(PYTHON_SIP_VERSION).tar.gz
+PYTHON_SIP_SITE = http://downloads.sourceforge.net/project/pyqt/sip/sip-$(PYTHON_SIP_VERSION)
+PYTHON_SIP_LICENSE = Riverbank license for SIP and GPLv2 and GPLv3
+PYTHON_SIP_LICENSE_FILES = LICENSE LICENSE-GPL2 LICENSE-GPL3
+
+PYTHON_SIP_DEPENDENCIES = python host-python-sip qt
+HOST_PYTHON_SIP_DEPENDENCIES = host-python
+
+define HOST_PYTHON_SIP_CONFIGURE_CMDS
+ (cd $(@D); \
+ $(HOST_CONFIGURE_OPTS) $(HOST_DIR)/usr/bin/python configure.py \
+ )
+endef
+
+define PYTHON_SIP_CONFIGURE_CMDS
+ ( cd $(@D); \
+ $(TARGET_CONFIGURE_OPTS) \
+ $(HOST_DIR)/usr/bin/python configure.py \
+ --bindir $(TARGET_DIR)/usr/bin \
+ --destdir $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages \
+ --incdir $(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR) \
+ --sipdir $(TARGET_DIR)/usr/share/sip \
+ --sysroot $(STAGING_DIR)/usr \
+ --use-qmake; \
+ $(HOST_DIR)/usr/bin/qmake \
+ )
+endef
+
+define PYTHON_SIP_INSTALL_TARGET_CMDS
+ $(TARGET_CONFIGURE_OPTS) $(MAKE) install -C $(@D)
+endef
+
+define HOST_PYTHON_SIP_INSTALL_CMDS
+ $(HOST_CONFIGURE_OPTS) $(MAKE) install -C $(@D)
+endef
+
+$(eval $(generic-package))
+$(eval $(host-generic-package))
--
2.0.5
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v3 2/2] python-pyqt: new package
2015-04-19 8:03 [Buildroot] [PATCH v3 1/2] python-sip: new package Gwenhael Goavec-Merou
@ 2015-04-19 8:03 ` Gwenhael Goavec-Merou
2015-04-19 17:23 ` Thomas Petazzoni
2015-04-19 13:02 ` [Buildroot] [PATCH v3 1/2] python-sip: " Thomas Petazzoni
1 sibling, 1 reply; 5+ messages in thread
From: Gwenhael Goavec-Merou @ 2015-04-19 8:03 UTC (permalink / raw)
To: buildroot
From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Cc: Sergey Kostanbaev <sergey.kostanbaev@gmail.com>
---
Changes v2 -> v3:
* bump version.
* corrects LICENSE variable
* review patches (suppress, renames, add SoB and comments)
* add a way to select Qt mode
* use foreach instead for to generate qtdetail.out
* add qt mode configuration
* add sysroot option
* use long options
* add __init__.pyc generation
Changes v1 -> v2:
* renames patch.
* add missing dependencies
* add hash file.
* add license informations.
---
package/Config.in | 1 +
.../python-pyqt/0001-configure-skip-qtdetail.patch | 25 +++++++
package/python-pyqt/0002-configure-set-qws.patch | 40 +++++++++++
package/python-pyqt/0003-sip-add_qws.patch | 44 ++++++++++++
...004-sip-QtGuit-hide-qfont-cachestatistics.patch | 16 +++++
package/python-pyqt/0005-sip-fix_qws_handle.patch | 23 ++++++
package/python-pyqt/Config.in | 17 +++++
package/python-pyqt/python-pyqt.hash | 5 ++
package/python-pyqt/python-pyqt.mk | 84 ++++++++++++++++++++++
9 files changed, 255 insertions(+)
create mode 100644 package/python-pyqt/0001-configure-skip-qtdetail.patch
create mode 100644 package/python-pyqt/0002-configure-set-qws.patch
create mode 100644 package/python-pyqt/0003-sip-add_qws.patch
create mode 100644 package/python-pyqt/0004-sip-QtGuit-hide-qfont-cachestatistics.patch
create mode 100644 package/python-pyqt/0005-sip-fix_qws_handle.patch
create mode 100644 package/python-pyqt/Config.in
create mode 100644 package/python-pyqt/python-pyqt.hash
create mode 100644 package/python-pyqt/python-pyqt.mk
diff --git a/package/Config.in b/package/Config.in
index 546a9e5..a7f05de 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -592,6 +592,7 @@ menu "external python modules"
source "package/python-pyinotify/Config.in"
source "package/python-pyparsing/Config.in"
source "package/python-pypcap/Config.in"
+ source "package/python-pyqt/Config.in"
source "package/python-pyro/Config.in"
source "package/python-pysendfile/Config.in"
source "package/python-pysnmp/Config.in"
diff --git a/package/python-pyqt/0001-configure-skip-qtdetail.patch b/package/python-pyqt/0001-configure-skip-qtdetail.patch
new file mode 100644
index 0000000..85fee40
--- /dev/null
+++ b/package/python-pyqt/0001-configure-skip-qtdetail.patch
@@ -0,0 +1,25 @@
+qtdetail generates qtdetail.out. Since this app is cross-compiled, it's not
+possible to run it on a host.
+Consequently, python-pyqt.mk generates qtdetail.out before calling
+configure-ng.py.
+In this situation removing this file is not a good idea and running qtdetail
+will fail.
+
+Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
+Signed-off-by: Sergey Kostanbaev <sergey.kostanbaev@gmail.com>
+---
+Index: PyQt-x11-gpl-4.11.3/configure-ng.py
+===================================================================
+--- PyQt-x11-gpl-4.11.3.orig/configure-ng.py
++++ PyQt-x11-gpl-4.11.3/configure-ng.py
+@@ -672,10 +672,6 @@ int main(int argc, char **argv)
+ if cmd is None:
+ error("Failed to determine the detail of your Qt installation. Try again using the --verbose flag to see more detail about the problem.")
+
+- # Create the output file, first making sure it doesn't exist.
+- remove_file(out_file)
+- run_command(cmd, verbose)
+-
+ if not os.access(out_file, os.F_OK):
+ error("%s failed to create %s. Make sure your Qt installation is correct." % (cmd, out_file))
+
diff --git a/package/python-pyqt/0002-configure-set-qws.patch b/package/python-pyqt/0002-configure-set-qws.patch
new file mode 100644
index 0000000..45719f0
--- /dev/null
+++ b/package/python-pyqt/0002-configure-set-qws.patch
@@ -0,0 +1,40 @@
+Qt has two flavors: X11 and embedded (QWS). QWS has some limitations compared to
+X11. This patch adds an option to select which version to use.
+
+Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
+---
+Index: PyQt-x11-gpl-4.11.3/configure-ng.py
+===================================================================
+--- PyQt-x11-gpl-4.11.3.orig/configure-ng.py
++++ PyQt-x11-gpl-4.11.3/configure-ng.py
+@@ -960,6 +960,9 @@ int main(int argc, char **argv)
+ if opts.vendlibdir is not None:
+ self.vend_lib_dir = opts.vendlibdir
+
++ if opts.qtflavor is not None:
++ self.qt_flavor = opts.qtflavor
++
+ # Handle any conflicts.
+ if self.qt_shared:
+ if len(self.static_plugins) != 0:
+@@ -1177,6 +1180,11 @@ def create_optparser(target_config):
+ dest="notools",
+ help="disable the building of pyuic5, pyrcc5 and pylupdate5 "
+ "[default: enabled]")
++ g.add_option("--qt-flavor", dest='qtflavor', type='string',
++ default="WS_X11", metavar='QTFLAVOR', action='store',
++ help="select Qt flavor beetween WS_X11 and WS_QWS "
++ "only available on Linux)"
++ "[default: WS_X11]")
+ p.add_option_group(g)
+
+ # Vendor ID.
+@@ -2088,7 +2096,7 @@ def get_sip_flags(target_config):
+ elif target_config.py_platform == 'darwin':
+ plattag = 'WS_MACX'
+ else:
+- plattag = 'WS_X11'
++ plattag = target_config.qt_flavor
+
+ sip_flags.append('-t')
+ sip_flags.append(plattag)
diff --git a/package/python-pyqt/0003-sip-add_qws.patch b/package/python-pyqt/0003-sip-add_qws.patch
new file mode 100644
index 0000000..18e93ed
--- /dev/null
+++ b/package/python-pyqt/0003-sip-add_qws.patch
@@ -0,0 +1,44 @@
+Add WS_QWS on Platforms variable and to define some type.
+
+Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
+Signed-off-by: Sergey Kostanbaev <sergey.kostanbaev@gmail.com>
+---
+Index: PyQt-x11-gpl-4.11.3/sip/QtCore/QtCoremod.sip
+===================================================================
+--- PyQt-x11-gpl-4.11.3.orig/sip/QtCore/QtCoremod.sip
++++ PyQt-x11-gpl-4.11.3/sip/QtCore/QtCoremod.sip
+@@ -29,7 +29,7 @@
+
+ %Timeline {Qt_4_1_0 Qt_4_1_1 Qt_4_1_2 Qt_4_1_3 Qt_4_2_0 Qt_4_2_1 Qt_4_2_2 Qt_4_2_3 Qt_4_3_0 Qt_4_3_1 Qt_4_3_2 Qt_4_3_3 Qt_4_3_4 Qt_4_4_0 Qt_4_4_1 Qt_4_4_2 Qt_4_5_0 Qt_4_5_1 Qt_4_5_2 Qt_4_5_3 Qt_4_6_0 Qt_4_6_1 Qt_4_6_2 Qt_4_6_3 Qt_4_7_0 Qt_4_7_1 Qt_4_7_2 Qt_4_7_3 Qt_4_7_4 Qt_4_8_0 Qt_4_8_1 Qt_4_8_2 Qt_4_8_3 Qt_4_8_4 Qt_4_8_5 Qt_4_8_6 Qt_5_0_0}
+
+-%Platforms {WS_X11 WS_WIN WS_MACX}
++%Platforms {WS_X11 WS_QWS WS_WIN WS_MACX}
+
+ %Feature PyQt_Accessibility
+ %Feature PyQt_SessionManager
+Index: PyQt-x11-gpl-4.11.3/sip/QtCore/qprocess.sip
+===================================================================
+--- PyQt-x11-gpl-4.11.3.orig/sip/QtCore/qprocess.sip
++++ PyQt-x11-gpl-4.11.3/sip/QtCore/qprocess.sip
+@@ -28,7 +28,7 @@
+ %If (WS_WIN)
+ typedef void *Q_PID;
+ %End
+-%If (WS_X11 || WS_MACX)
++%If (WS_X11 || WS_QWS || WS_MACX)
+ typedef qint64 Q_PID;
+ %End
+
+Index: PyQt-x11-gpl-4.11.3/sip/QtGui/qwindowdefs.sip
+===================================================================
+--- PyQt-x11-gpl-4.11.3.orig/sip/QtGui/qwindowdefs.sip
++++ PyQt-x11-gpl-4.11.3/sip/QtGui/qwindowdefs.sip
+@@ -27,7 +27,7 @@
+
+ typedef QList<QWidget*> QWidgetList;
+ %If (- Qt_5_0_0)
+-%If (WS_X11)
++%If (WS_X11 || WS_QWS)
+ // X11 specific definitions.
+ typedef unsigned long WId;
+ %End
diff --git a/package/python-pyqt/0004-sip-QtGuit-hide-qfont-cachestatistics.patch b/package/python-pyqt/0004-sip-QtGuit-hide-qfont-cachestatistics.patch
new file mode 100644
index 0000000..677f56d
--- /dev/null
+++ b/package/python-pyqt/0004-sip-QtGuit-hide-qfont-cachestatistics.patch
@@ -0,0 +1,16 @@
+Hide QFont::cacheStatistics which itn't available in QWS
+
+Signed-off-by: Sergey Kostanbaev <sergey.kostanbaev@gmail.com>
+diff -ur PyQt-x11-gpl-4.9.6/sip/QtGui/qfont.sip pyqt-4.9.6/sip/QtGui/qfont.sip
+--- PyQt-x11-gpl-4.9.6/sip/QtGui/qfont.sip 2012-12-08 13:51:38.000000000 +0400
++++ pyqt-4.9.6/sip/QtGui/qfont.sip 2013-05-22 14:06:38.335000022 +0400
+@@ -185,7 +185,9 @@
+ %End
+ static void initialize();
+ static void cleanup();
++%If (!WS_QWS)
+ static void cacheStatistics();
++%End
+ QString defaultFamily() const;
+ QString lastResortFamily() const;
+ QString lastResortFont() const;
diff --git a/package/python-pyqt/0005-sip-fix_qws_handle.patch b/package/python-pyqt/0005-sip-fix_qws_handle.patch
new file mode 100644
index 0000000..bdd5ea2
--- /dev/null
+++ b/package/python-pyqt/0005-sip-fix_qws_handle.patch
@@ -0,0 +1,23 @@
+Change HANDLE to void* to get rid of :
+buildroot/output/build/python-pyqt-4.11.3/QtCore/sipQtCoreQThread.cpp:318:50:
+error: invalid conversion from 'Qt::HANDLE {aka void*}' to 'long unsigned int'
+[-fpermissive]
+error during compilation.
+
+Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
+Signed-off-by: Sergey Kostanbaev <sergey.kostanbaev@gmail.com>
+---
+Index: PyQt-x11-gpl-4.11.3/sip/QtCore/qnamespace.sip
+===================================================================
+--- PyQt-x11-gpl-4.11.3.orig/sip/QtCore/qnamespace.sip
++++ PyQt-x11-gpl-4.11.3/sip/QtCore/qnamespace.sip
+@@ -1673,6 +1673,9 @@ namespace Qt
+ %If (WS_X11)
+ typedef unsigned long HANDLE;
+ %End
++%If (WS_QWS)
++ typedef void* HANDLE;
++%End
+ %End
+ %If (PyQt_Deprecated_5_0)
+ typedef Qt::WindowFlags WFlags;
diff --git a/package/python-pyqt/Config.in b/package/python-pyqt/Config.in
new file mode 100644
index 0000000..9250c8e
--- /dev/null
+++ b/package/python-pyqt/Config.in
@@ -0,0 +1,17 @@
+comment "python-pyqt needs a toolchain w/ C++, threads"
+ depends on BR2_USE_MMU
+ depends on !BR2_INSTALL_LIBSTDCPP || \
+ !BR2_TOOLCHAIN_HAS_THREADS
+
+
+config BR2_PACKAGE_PYTHON_PYQT
+ bool "python-pyqt"
+ depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_TOOLCHAIN_HAS_THREADS # qt
+ depends on BR2_USE_MMU # qt
+ select BR2_PACKAGE_QT
+ select BR2_PACKAGE_PYTHON_SIP
+ help
+ PyQt4 for Qt Embedded 4 bindings.
+
+ http://www.riverbankcomputing.com/software/pyqt/
diff --git a/package/python-pyqt/python-pyqt.hash b/package/python-pyqt/python-pyqt.hash
new file mode 100644
index 0000000..1709b66
--- /dev/null
+++ b/package/python-pyqt/python-pyqt.hash
@@ -0,0 +1,5 @@
+# From http://http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.11.3/
+md5 997c3e443165a89a559e0d96b061bf70 PyQt-x11-gpl-4.11.3.tar.gz
+
+# Locally calculated:
+sha256 853780dcdbe2e6ba785d703d059b096e1fc49369d3e8d41a060be874b8745686 PyQt-x11-gpl-4.11.3.tar.gz
diff --git a/package/python-pyqt/python-pyqt.mk b/package/python-pyqt/python-pyqt.mk
new file mode 100644
index 0000000..689617c
--- /dev/null
+++ b/package/python-pyqt/python-pyqt.mk
@@ -0,0 +1,84 @@
+################################################################################
+#
+# python-pyqt
+#
+################################################################################
+
+PYTHON_PYQT_VERSION = 4.11.3
+PYTHON_PYQT_SOURCE = PyQt-x11-gpl-$(PYTHON_PYQT_VERSION).tar.gz
+PYTHON_PYQT_SITE = http://downloads.sourceforge.net/project/pyqt/PyQt4/PyQt-$(PYTHON_PYQT_VERSION)
+PYTHON_PYQT_LICENSE = GPLv2 or GPLv3
+PYTHON_PYQT_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3
+
+PYTHON_PYQT_DEPENDENCIES = python python-sip qt
+
+ifeq ($(BR2_PACKAGE_QT_EMBEDDED),y)
+ PYTHON_PYQT_QTFLAVOR = "WS_QWS"
+else
+ PYTHON_PYQT_QTFLAVOR = "WS_X11"
+endif
+
+define PYTHON_PYQT_QTDETAIL
+ echo $(1) >> $(2)/qtdetail.out
+endef
+
+PYTHON_PYQT_QTDETAIL_LIC = "Open Source"
+
+ifeq ($(BR2_PACKAGE_QT_SHARED),y)
+ PYTHON_PYQT_QTDETAIL_TYPE = "shared"
+else
+ PYTHON_PYQT_QTDETAIL_TYPE = ""
+endif
+
+# Turn off features that aren't available in QWS and current qt configuration.
+PYTHON_PYQT_QTDETAIL_DISABLE_FEATURES = PyQt_Accessibility PyQt_SessionManager PyQt_qreal_double PyQt_Shortcut PyQt_RawFont
+
+ifeq ($(BR2_PACKAGE_QT_OPENSSL),)
+ PYTHON_PYQT_QTDETAIL_DISABLE_FEATURES += PyQt_OpenSSL
+endif
+
+# Since we can't run generate qtdetail.out by running qtdetail on target device
+# we must generate the configuration.
+define PYTHON_PYQT_GENERATE_QTDETAIL
+ rm -f $(1)/qtdetail.out
+
+ $(call PYTHON_PYQT_QTDETAIL,$(PYTHON_PYQT_QTDETAIL_LIC),$(1))
+ $(call PYTHON_PYQT_QTDETAIL,$(PYTHON_PYQT_QTDETAIL_TYPE),$(1))
+
+ $(foreach disable_feature,$(PYTHON_PYQT_QTDETAIL_DISABLE_FEATURES),
+ $(call PYTHON_PYQT_QTDETAIL, $(disable_feature), $(1)) \
+ )
+endef
+
+define PYTHON_PYQT_CONFIGURE_CMDS
+ $(call PYTHON_PYQT_GENERATE_QTDETAIL, $(@D))
+
+ ( cd $(@D); \
+ $(TARGET_CONFIGURE_OPTS) \
+ $(HOST_DIR)/usr/bin/python configure-ng.py \
+ --bindir $(TARGET_DIR)/usr/bin \
+ --destdir $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages \
+ --vendorid-incdir $(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR) \
+ --vendorid-libdir $(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/config \
+ --qmake $(HOST_DIR)/usr/bin/qmake \
+ --sysroot $(STAGING_DIR)/usr \
+ --spec $(BUILD_DIR)/qt-$(QT_VERSION)/mkspecs/qws/linux-$(QT_EMB_PLATFORM)-g++ \
+ -w --confirm-license \
+ --no-designer-plugin \
+ --no-docstrings \
+ --no-sip-files \
+ --qt-flavor=$(PYTHON_PYQT_QTFLAVOR) \
+ )
+endef
+
+# __init__.py is needed to import PyQt4
+# __init__.pyc is needed if BR2_PACKAGE_PYTHON_PYC_ONLY is set
+define PYTHON_PYQT_INSTALL_TARGET_CMDS
+ $(TARGET_CONFIGURE_OPTS) $(MAKE) install -C $(@D)
+ ( cd $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages/PyQt4; \
+ touch __init__.py; \
+ $(HOST_DIR)/usr/bin/python -c "import __init__" \
+ )
+endef
+
+$(eval $(generic-package))
--
2.0.5
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v3 1/2] python-sip: new package
2015-04-19 8:03 [Buildroot] [PATCH v3 1/2] python-sip: new package Gwenhael Goavec-Merou
2015-04-19 8:03 ` [Buildroot] [PATCH v3 2/2] python-pyqt: " Gwenhael Goavec-Merou
@ 2015-04-19 13:02 ` Thomas Petazzoni
1 sibling, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2015-04-19 13:02 UTC (permalink / raw)
To: buildroot
Dear Gwenhael Goavec-Merou,
On Sun, 19 Apr 2015 10:03:52 +0200, Gwenhael Goavec-Merou wrote:
> From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
>
> Based on http://lists.busybox.net/pipermail/buildroot/2013-October/080830.html
>
> Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> Cc: Sergey Kostanbaev <sergey.kostanbaev@gmail.com>
> ---
> Changes v2 -> v3:
> * bump version.
> * suppress patch, --sysroot is enough.
> * use qmake for configuration instead of sed.
> * corrects LICENSE variable
> * add depends on Qt
> Changes v1 -> v2:
> * renames patch.
> * add depends on BR2_INSTALL_LIBSTDCPP.
> * add hash file.
> * add license informations.
> ---
> package/Config.in | 1 +
> package/python-sip/Config.in | 12 ++++++++++
> package/python-sip/python-sip.hash | 4 ++++
> package/python-sip/python-sip.mk | 45 ++++++++++++++++++++++++++++++++++++++
> 4 files changed, 62 insertions(+)
> create mode 100644 package/python-sip/Config.in
> create mode 100644 package/python-sip/python-sip.hash
> create mode 100644 package/python-sip/python-sip.mk
I've applied, but after doing a certain amount of changes:
[Thomas:
- fix license information: it is a "or" between the SIP license,
GPLv2 and GPLv3
- the target version of python-sip does *not* need the host version
of python-sip, it can build perfectly fine without it. python-qt
will need host-python-sip, but there's no need to have this
dependency between python-sip and host-python-sip.
- add support for Python 3, since the package could also be enabled
for Python 3.
- add <pkg>_BUILD_CMDS for host and target variants, so that the
build does not take place when doing the installation.
- use HOST_MAKE_ENV and TARGET_MAKE_ENV where appropriate.
- fix indentation.
- propagate the thread and mmu dependencies from Qt.
- extend the Config.in help text.]
See the final result at
http://git.buildroot.net/buildroot/commit/?id=72578e1883c98cea00d5f0cdac8d49ee6f93f532.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v3 2/2] python-pyqt: new package
2015-04-19 8:03 ` [Buildroot] [PATCH v3 2/2] python-pyqt: " Gwenhael Goavec-Merou
@ 2015-04-19 17:23 ` Thomas Petazzoni
2015-04-20 7:34 ` gwenhael.goavec
0 siblings, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2015-04-19 17:23 UTC (permalink / raw)
To: buildroot
Gwenhael,
On Sun, 19 Apr 2015 10:03:53 +0200, Gwenhael Goavec-Merou wrote:
> From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
>
> Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> Cc: Sergey Kostanbaev <sergey.kostanbaev@gmail.com>
Patch applied, after doing some additional changes:
[Thomas:
- Remove dependency on python (already a dependency of python-sip),
and add a dependency on host-python-sip, since python-sip no longer
depends on host-python-sip.
- Make the code Python 2 / Python 3 compatible (both have been
tested).
- Fix indentation all over the place.
- Remove double quotes when defining variable values, not needed.
- Add <pkg>_BUILD_CMDS to do the build process separately from the
installation.
- Create a PYTHON_PYQT_CONF_OPTS variable with all the config
options, since some of them are now conditional.
- Use 'compileall' to byte-compile the dummy __init__.py.]
I also made a fix on python-sip to make things build properly on Python 3.
I tested PyQt with both Python 2 and Python 3, and I was able to run:
>>> from PyQt4 import QtCore
>>> QtCore.QDateTime.currentDateTime()
PyQt4.QtCore.QDateTime(2015, 4, 19, 16, 59, 12, 794)
in both cases. Don't hesitate to test with bigger applications to
confirm that everything is still working fine.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v3 2/2] python-pyqt: new package
2015-04-19 17:23 ` Thomas Petazzoni
@ 2015-04-20 7:34 ` gwenhael.goavec
0 siblings, 0 replies; 5+ messages in thread
From: gwenhael.goavec @ 2015-04-20 7:34 UTC (permalink / raw)
To: buildroot
Thomas.
Thank for review and corrections.
Regards
Gwenhael
On Sun, 19 Apr 2015 19:23:45 +0200
Thomas Petazzoni <thomas.petazzoni@free-electrons.com> wrote:
> Gwenhael,
>
> On Sun, 19 Apr 2015 10:03:53 +0200, Gwenhael Goavec-Merou wrote:
> > From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> >
> > Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> > Cc: Sergey Kostanbaev <sergey.kostanbaev@gmail.com>
>
> Patch applied, after doing some additional changes:
>
> [Thomas:
> - Remove dependency on python (already a dependency of python-sip),
> and add a dependency on host-python-sip, since python-sip no longer
> depends on host-python-sip.
> - Make the code Python 2 / Python 3 compatible (both have been
> tested).
> - Fix indentation all over the place.
> - Remove double quotes when defining variable values, not needed.
> - Add <pkg>_BUILD_CMDS to do the build process separately from the
> installation.
> - Create a PYTHON_PYQT_CONF_OPTS variable with all the config
> options, since some of them are now conditional.
> - Use 'compileall' to byte-compile the dummy __init__.py.]
>
> I also made a fix on python-sip to make things build properly on Python 3.
>
> I tested PyQt with both Python 2 and Python 3, and I was able to run:
>
> >>> from PyQt4 import QtCore
> >>> QtCore.QDateTime.currentDateTime()
> PyQt4.QtCore.QDateTime(2015, 4, 19, 16, 59, 12, 794)
>
> in both cases. Don't hesitate to test with bigger applications to
> confirm that everything is still working fine.
>
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-04-20 7:34 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-19 8:03 [Buildroot] [PATCH v3 1/2] python-sip: new package Gwenhael Goavec-Merou
2015-04-19 8:03 ` [Buildroot] [PATCH v3 2/2] python-pyqt: " Gwenhael Goavec-Merou
2015-04-19 17:23 ` Thomas Petazzoni
2015-04-20 7:34 ` gwenhael.goavec
2015-04-19 13:02 ` [Buildroot] [PATCH v3 1/2] python-sip: " Thomas Petazzoni
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.