* [Buildroot] [PATCH] package/qt5webkit: needs host-python
@ 2016-07-25 22:33 Yann E. MORIN
2016-07-26 7:58 ` Thomas Petazzoni
2016-07-27 19:41 ` Thomas Petazzoni
0 siblings, 2 replies; 5+ messages in thread
From: Yann E. MORIN @ 2016-07-25 22:33 UTC (permalink / raw)
To: buildroot
The Qt5Webkit build system hard-codes calls to 'python', but only really
supports python2.
We fix that similarly as we did in nodejs, by adding a python->python2
symlink early in the PATH when configuring/building Qt5Webkit, and
adding host-python in the dependency list.
Fixes:
http://autobuild.buildroot.org/results/ea4/ea4dd00ee585f9f9ea1927b8b5fd9035e6733420/
http://autobuild.buildroot.org/results/323/323ba220fae70d94c81bab9a348be844e90ace91/
http://autobuild.buildroot.org/results/6c2/6c20c9e222f94e6b70b97b87e1393dd16da2718c/
Also slightly reorganise the dependency list, now that it no longer fits
on a single line.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/qt5/qt5webkit/qt5webkit.mk | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/package/qt5/qt5webkit/qt5webkit.mk b/package/qt5/qt5webkit/qt5webkit.mk
index e6e8fe3..a47a235 100644
--- a/package/qt5/qt5webkit/qt5webkit.mk
+++ b/package/qt5/qt5webkit/qt5webkit.mk
@@ -8,7 +8,9 @@ QT5WEBKIT_VERSION = b889f460280ad98c89ede179bd3b9ce9cb02002b
# Using GitHub since it supports downloading tarballs from random commits.
# The http://code.qt.io/cgit/qt/qtwebkit.git/ repo doesn't allow to do so.
QT5WEBKIT_SITE = $(call github,qtproject,qtwebkit,$(QT5WEBKIT_VERSION))
-QT5WEBKIT_DEPENDENCIES = qt5base sqlite host-ruby host-gperf host-bison host-flex
+QT5WEBKIT_DEPENDENCIES = \
+ host-bison host-flex host-gperf host-python host-ruby \
+ qt5base sqlite
QT5WEBKIT_INSTALL_STAGING = YES
QT5WEBKIT_LICENSE_FILES = Source/WebCore/LICENSE-LGPL-2 Source/WebCore/LICENSE-LGPL-2.1
@@ -31,6 +33,16 @@ ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y)
QT5WEBKIT_DEPENDENCIES += qt5declarative
endif
+# QtWebkit's build system uses python, but only supports python2. We work
+# around this by forcing python2 early in the PATH, via a python->python2
+# symlink.
+QT5WEBKIT_ENV = PATH=$(@D)/bin:$(BR_PATH)
+define QT5WEBKIT_PYTHON2_SYMLINK
+ mkdir -p $(@D)/bin
+ ln -sf $(HOST_DIR)/usr/bin/python2 $(@D)/bin/python
+endef
+QT5WEBKIT_PRE_CONFIGURE_HOOKS += QT5WEBKIT_PYTHON2_SYMLINK
+
# Since we get the source from git, generated header files are not included.
# qmake detects that header file generation (using the syncqt tool) must be
# done based on the existence of a .git directory (cfr. the git_build config
@@ -39,15 +51,15 @@ endif
# create an empty .git directory.
define QT5WEBKIT_CONFIGURE_CMDS
mkdir -p $(@D)/.git
- (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
+ (cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBKIT_ENV) $(HOST_DIR)/usr/bin/qmake)
endef
define QT5WEBKIT_BUILD_CMDS
- $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+ $(TARGET_MAKE_ENV) $(QT5WEBKIT_ENV) $(MAKE) -C $(@D)
endef
define QT5WEBKIT_INSTALL_STAGING_CMDS
- $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
+ $(TARGET_MAKE_ENV) $(QT5WEBKIT_ENV) $(MAKE) -C $(@D) install
$(QT5_LA_PRL_FILES_FIXUP)
endef
--
2.7.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH] package/qt5webkit: needs host-python
2016-07-25 22:33 [Buildroot] [PATCH] package/qt5webkit: needs host-python Yann E. MORIN
@ 2016-07-26 7:58 ` Thomas Petazzoni
2016-07-26 16:11 ` Yann E. MORIN
2016-07-27 19:41 ` Thomas Petazzoni
1 sibling, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2016-07-26 7:58 UTC (permalink / raw)
To: buildroot
Hello,
Cc'ing Qt5 folks: Peter Seiderer and Julien Corjon.
On Tue, 26 Jul 2016 00:33:31 +0200, Yann E. MORIN wrote:
> The Qt5Webkit build system hard-codes calls to 'python', but only really
> supports python2.
>
> We fix that similarly as we did in nodejs, by adding a python->python2
> symlink early in the PATH when configuring/building Qt5Webkit, and
> adding host-python in the dependency list.
>
> Fixes:
> http://autobuild.buildroot.org/results/ea4/ea4dd00ee585f9f9ea1927b8b5fd9035e6733420/
> http://autobuild.buildroot.org/results/323/323ba220fae70d94c81bab9a348be844e90ace91/
> http://autobuild.buildroot.org/results/6c2/6c20c9e222f94e6b70b97b87e1393dd16da2718c/
>
> Also slightly reorganise the dependency list, now that it no longer fits
> on a single line.
>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
I know the hack of creating a dummy "bin" directory, with a
python->python2 symlink is a trick already used by nodejs, but I don't
like it very much.
Is "python" hardcoded is so many places in Qt5Webkit ? If not, what
about patching it instead, and submitting the patch upstream (though
I'm not sure qtwebkit is still maintained, since they moved to
qtwebengine I believe).
Peter, Julien?
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] package/qt5webkit: needs host-python
2016-07-26 7:58 ` Thomas Petazzoni
@ 2016-07-26 16:11 ` Yann E. MORIN
2016-07-26 19:20 ` Thomas Petazzoni
0 siblings, 1 reply; 5+ messages in thread
From: Yann E. MORIN @ 2016-07-26 16:11 UTC (permalink / raw)
To: buildroot
Thomas, All,
On 2016-07-26 09:58 +0200, Thomas Petazzoni spake thusly:
> On Tue, 26 Jul 2016 00:33:31 +0200, Yann E. MORIN wrote:
> > The Qt5Webkit build system hard-codes calls to 'python', but only really
> > supports python2.
> >
> > We fix that similarly as we did in nodejs, by adding a python->python2
> > symlink early in the PATH when configuring/building Qt5Webkit, and
> > adding host-python in the dependency list.
> >
> > Fixes:
> > http://autobuild.buildroot.org/results/ea4/ea4dd00ee585f9f9ea1927b8b5fd9035e6733420/
> > http://autobuild.buildroot.org/results/323/323ba220fae70d94c81bab9a348be844e90ace91/
> > http://autobuild.buildroot.org/results/6c2/6c20c9e222f94e6b70b97b87e1393dd16da2718c/
> >
> > Also slightly reorganise the dependency list, now that it no longer fits
> > on a single line.
> >
> > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
>
> I know the hack of creating a dummy "bin" directory, with a
> python->python2 symlink is a trick already used by nodejs, but I don't
> like it very much.
Neither do I, but see below...
> Is "python" hardcoded is so many places in Qt5Webkit ?
$ grep -r -E '(^|[[:space:]])python([[:space:]]|$)' |grep -v ChangeLog |wc -l
153
A lot of them are just doc or such, but there are still a lot of places
that are indeed calls to the python interpreter:
Tools/gtk/jhbuildrc:#!/usr/bin/env python
Tools/gtk/common.py:#!/usr/bin/env python
Tools/gtk/generate-gtkdoc:#!/usr/bin/env python
Tools/gtk/generate-feature-defines-files:#!/usr/bin/env python
Tools/CygwinDownloader/cygwin-downloader.py:#!/usr/bin/env python
Tools/efl/jhbuildrc:#!/usr/bin/env python
Tools/efl/common.py:#!/usr/bin/env python
Tools/BuildSlaveSupport/build.webkit.org-config/committer_auth_unittest.py:#!/usr/bin/env python
Tools/BuildSlaveSupport/wait-for-SVN-server.py:#!/usr/bin/env python
Tools/jhbuild/jhbuild-wrapper:#!/usr/bin/env python
Tools/QueueStatusServer/app.yaml:runtime: python
Tools/Scripts/new-run-webkit-tests:#!/usr/bin/env python
Tools/Scripts/validate-committer-lists:#!/usr/bin/env python
Tools/Scripts/run-qtwebkit-tests:#!/usr/bin/env python
Tools/Scripts/lint-webkitpy:#!/usr/bin/env python
Tools/Scripts/generate-win32-export-forwards:#!/usr/bin/env python
Tools/Scripts/import-w3c-tests:#!/usr/bin/env python
Tools/Scripts/webkitpy/layout_tests/views/buildbot_results.py:#!/usr/bin/env python
Tools/Scripts/webkitpy/layout_tests/views/buildbot_results_unittest.py:#!/usr/bin/env python
[...]
Source/WebCore/DerivedSources.make: python $(WebCore)/html/parser/create-html-entity-table -o HTMLEntityTable.cpp $(WebCore)/html/parser/HTMLEntityNames.in
Source/WebCore/DerivedSources.make: python $(WebCore)/inspector/generate-inspector-protocol-version -o InspectorProtocolVersion.h $(WebCore)/inspector/Inspector.json
Source/WebCore/DerivedSources.make: python $(WebCore)/inspector/CodeGeneratorInspector.py $(WebCore)/inspector/Inspector.json --output_h_dir . --output_cpp_dir .
Source/WebCore/html/parser/create-html-entity-table:#!/usr/bin/env python
Source/JavaScriptCore/DerivedSources.pri:retgen.commands = python $$retgen.script > ${QMAKE_FILE_OUT}
Source/JavaScriptCore/DerivedSources.pri:klgen.commands = python $$klgen.script ${QMAKE_FILE_NAME} > ${QMAKE_FILE_OUT}
Source/JavaScriptCore/DerivedSources.pri: disassembler.commands = python $$disassembler.script ${QMAKE_FILE_NAME} --outputDir ${QMAKE_FUNC_FILE_OUT_PATH}
Source/JavaScriptCore/DerivedSources.make: python $^ > $@
Source/JavaScriptCore/DerivedSources.make: python $^ > $@
Source/JavaScriptCore/DerivedSources.make: (PYTHONPATH=$(JavaScriptCore)/disassembler/udis86 python $(JavaScriptCore)/disassembler/udis86/itab.py $(JavaScriptCore)/disassembler/udis86/optable.xml || exit 1)
[...]
So, I'm not gonna patch it either...
> If not, what
> about patching it instead, and submitting the patch upstream (though
> I'm not sure qtwebkit is still maintained, since they moved to
> qtwebengine I believe).
Yes, upstream is not maintaining it anymore, but it's still being
maintained by "the community", and they are now even compatible with
Qt-5.7.
See also the commit log of e8dbdbd (qt5webkit: restore package). ;-)
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH] package/qt5webkit: needs host-python
2016-07-26 16:11 ` Yann E. MORIN
@ 2016-07-26 19:20 ` Thomas Petazzoni
0 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2016-07-26 19:20 UTC (permalink / raw)
To: buildroot
Hello,
On Tue, 26 Jul 2016 18:11:51 +0200, Yann E. MORIN wrote:
> Neither do I, but see below...
>
> > Is "python" hardcoded is so many places in Qt5Webkit ?
>
> $ grep -r -E '(^|[[:space:]])python([[:space:]]|$)' |grep -v ChangeLog |wc -l
> 153
>
> A lot of them are just doc or such, but there are still a lot of places
> that are indeed calls to the python interpreter:
>
> Tools/gtk/jhbuildrc:#!/usr/bin/env python
> Tools/gtk/common.py:#!/usr/bin/env python
> Tools/gtk/generate-gtkdoc:#!/usr/bin/env python
> Tools/gtk/generate-feature-defines-files:#!/usr/bin/env python
> Tools/CygwinDownloader/cygwin-downloader.py:#!/usr/bin/env python
> Tools/efl/jhbuildrc:#!/usr/bin/env python
> Tools/efl/common.py:#!/usr/bin/env python
> Tools/BuildSlaveSupport/build.webkit.org-config/committer_auth_unittest.py:#!/usr/bin/env python
> Tools/BuildSlaveSupport/wait-for-SVN-server.py:#!/usr/bin/env python
> Tools/jhbuild/jhbuild-wrapper:#!/usr/bin/env python
> Tools/QueueStatusServer/app.yaml:runtime: python
> Tools/Scripts/new-run-webkit-tests:#!/usr/bin/env python
> Tools/Scripts/validate-committer-lists:#!/usr/bin/env python
> Tools/Scripts/run-qtwebkit-tests:#!/usr/bin/env python
> Tools/Scripts/lint-webkitpy:#!/usr/bin/env python
> Tools/Scripts/generate-win32-export-forwards:#!/usr/bin/env python
> Tools/Scripts/import-w3c-tests:#!/usr/bin/env python
> Tools/Scripts/webkitpy/layout_tests/views/buildbot_results.py:#!/usr/bin/env python
> Tools/Scripts/webkitpy/layout_tests/views/buildbot_results_unittest.py:#!/usr/bin/env python
> [...]
> Source/WebCore/DerivedSources.make: python $(WebCore)/html/parser/create-html-entity-table -o HTMLEntityTable.cpp $(WebCore)/html/parser/HTMLEntityNames.in
> Source/WebCore/DerivedSources.make: python $(WebCore)/inspector/generate-inspector-protocol-version -o InspectorProtocolVersion.h $(WebCore)/inspector/Inspector.json
> Source/WebCore/DerivedSources.make: python $(WebCore)/inspector/CodeGeneratorInspector.py $(WebCore)/inspector/Inspector.json --output_h_dir . --output_cpp_dir .
> Source/WebCore/html/parser/create-html-entity-table:#!/usr/bin/env python
> Source/JavaScriptCore/DerivedSources.pri:retgen.commands = python $$retgen.script > ${QMAKE_FILE_OUT}
> Source/JavaScriptCore/DerivedSources.pri:klgen.commands = python $$klgen.script ${QMAKE_FILE_NAME} > ${QMAKE_FILE_OUT}
> Source/JavaScriptCore/DerivedSources.pri: disassembler.commands = python $$disassembler.script ${QMAKE_FILE_NAME} --outputDir ${QMAKE_FUNC_FILE_OUT_PATH}
> Source/JavaScriptCore/DerivedSources.make: python $^ > $@
> Source/JavaScriptCore/DerivedSources.make: python $^ > $@
> Source/JavaScriptCore/DerivedSources.make: (PYTHONPATH=$(JavaScriptCore)/disassembler/udis86 python $(JavaScriptCore)/disassembler/udis86/itab.py $(JavaScriptCore)/disassembler/udis86/optable.xml || exit 1)
> [...]
>
> So, I'm not gonna patch it either...
OK, makes sense!
> Yes, upstream is not maintaining it anymore, but it's still being
> maintained by "the community", and they are now even compatible with
> Qt-5.7.
>
> See also the commit log of e8dbdbd (qt5webkit: restore package). ;-)
In this case, could you submit a bug report upstream to ask them to
provide a way to configure the Python to use?
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] package/qt5webkit: needs host-python
2016-07-25 22:33 [Buildroot] [PATCH] package/qt5webkit: needs host-python Yann E. MORIN
2016-07-26 7:58 ` Thomas Petazzoni
@ 2016-07-27 19:41 ` Thomas Petazzoni
1 sibling, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2016-07-27 19:41 UTC (permalink / raw)
To: buildroot
Hello,
On Tue, 26 Jul 2016 00:33:31 +0200, Yann E. MORIN wrote:
> The Qt5Webkit build system hard-codes calls to 'python', but only really
> supports python2.
>
> We fix that similarly as we did in nodejs, by adding a python->python2
> symlink early in the PATH when configuring/building Qt5Webkit, and
> adding host-python in the dependency list.
>
> Fixes:
> http://autobuild.buildroot.org/results/ea4/ea4dd00ee585f9f9ea1927b8b5fd9035e6733420/
> http://autobuild.buildroot.org/results/323/323ba220fae70d94c81bab9a348be844e90ace91/
> http://autobuild.buildroot.org/results/6c2/6c20c9e222f94e6b70b97b87e1393dd16da2718c/
>
> Also slightly reorganise the dependency list, now that it no longer fits
> on a single line.
>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> ---
> package/qt5/qt5webkit/qt5webkit.mk | 20 ++++++++++++++++----
> 1 file changed, 16 insertions(+), 4 deletions(-)
Applied to master, 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:[~2016-07-27 19:41 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-25 22:33 [Buildroot] [PATCH] package/qt5webkit: needs host-python Yann E. MORIN
2016-07-26 7:58 ` Thomas Petazzoni
2016-07-26 16:11 ` Yann E. MORIN
2016-07-26 19:20 ` Thomas Petazzoni
2016-07-27 19:41 ` 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.