summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Busch <morphis@gravedo.de>2014-06-25 09:55:17 +0200
committerMartin Jansa <Martin.Jansa@gmail.com>2014-07-06 19:45:45 +0200
commit0663bcdddf0311329e607416cd51ce55b9557240 (patch)
treeb2d30fcd83f064111addbe4e68020982f87a5c82
parenta608ef4d63ddc58528eb7defa6a7f89c71ea7033 (diff)
downloadmeta-qt5-0663bcdddf0311329e607416cd51ce55b9557240.tar.gz
qtwebengine: add initial recipe for git version only
Signed-off-by: Simon Busch <morphis@gravedo.de> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-rw-r--r--recipes-qt/qt5/qtwebengine.inc44
-rw-r--r--recipes-qt/qt5/qtwebengine/0001-Drop-build-time-only-dependency-on-x11-libraries.patch137
-rw-r--r--recipes-qt/qt5/qtwebengine/0001-Strip-unwanted-echo-compiling-prefix-from-CC.patch38
-rw-r--r--recipes-qt/qt5/qtwebengine/0002-Use-ninja-supplied-by-environment-variable-NINJA_PAT.patch36
-rw-r--r--recipes-qt/qt5/qtwebengine_git.bb24
5 files changed, 279 insertions, 0 deletions
diff --git a/recipes-qt/qt5/qtwebengine.inc b/recipes-qt/qt5/qtwebengine.inc
new file mode 100644
index 00000000..b6f56ae2
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine.inc
@@ -0,0 +1,44 @@
1SUMMARY = "QtWebEngine combines the power of Chromium and Qt"
2LICENSE = "LGPL-2.1 & BSD"
3LIC_FILES_CHKSUM = " \
4 file://src/core/browser_context_qt.cpp;md5=c23e24b6a534c8b6cc879a397b35db29;beginline=1;endline=40 \
5 file://src/3rdparty/chromium/LICENSE;md5=d2d164565cc10f298390174d9cb6d18d \
6"
7DEPENDS += " \
8 ninja-native \
9 qtbase qtdeclarative qtxmlpatterns qtquickcontrols \
10 libdrm fontconfig pixman openssl pango cairo icu pciutils \
11"
12
13inherit qmake5
14inherit gettext
15inherit pythonnative
16inherit perlnative
17
18require recipes-qt/qt5/qt5.inc
19
20S = "${WORKDIR}/git"
21
22# To avoid trouble start with not separated build directory
23SEPB = "${S}"
24B = "${SEPB}"
25
26do_configure() {
27 # replace LD with CXX, to workaround a possible gyp inheritssue?
28 LD="${CXX}" export LD
29 CC="${CC}" export CC
30 CXX="${CXX}" export CXX
31 CC_host="gcc" export CC_host
32 CXX_host="g++" export CXX_host
33
34 # qmake can't find the OE_QMAKE_* variables on it's own so directly passing them as
35 # arguments here
36 ${OE_QMAKE_QMAKE} -r QTWEBENGINE_ROOT="${S}" NINJA_PATH="${STAGING_BINDIR_NATIVE}/ninja" \
37 QMAKE_CXX="${OE_QMAKE_CXX}" QMAKE_CC="${OE_QMAKE_CC}" \
38 QMAKE_LINK="${OE_QMAKE_LINK}" \
39 QMAKE_CFLAGS="${OE_QMAKE_CFLAGS}" \
40 QMAKE_CXXFLAGS="${OE_QMAKE_CXXFLAGS}" \
41 QMAKE_AR="${OE_QMAKE_AR}"
42}
43
44PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src"
diff --git a/recipes-qt/qt5/qtwebengine/0001-Drop-build-time-only-dependency-on-x11-libraries.patch b/recipes-qt/qt5/qtwebengine/0001-Drop-build-time-only-dependency-on-x11-libraries.patch
new file mode 100644
index 00000000..7ee38d0c
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/0001-Drop-build-time-only-dependency-on-x11-libraries.patch
@@ -0,0 +1,137 @@
1From f5c8e973f0a246691b71c256361bfa82619ee2ef Mon Sep 17 00:00:00 2001
2From: Simon Busch <morphis@gravedo.de>
3Date: Fri, 20 Jun 2014 09:05:12 +0200
4Subject: [PATCH 1/2] Drop build time only dependency on x11 libraries
5
6Signed-off-by: Simon Busch <morphis@gravedo.de>
7---
8 src/3rdparty/chromium/build/linux/system.gyp | 114 ---------------------------
9 1 file changed, 114 deletions(-)
10
11diff --git a/src/3rdparty/chromium/build/linux/system.gyp b/src/3rdparty/chromium/build/linux/system.gyp
12index 9911317..85016b8 100644
13--- a/src/3rdparty/chromium/build/linux/system.gyp
14+++ b/src/3rdparty/chromium/build/linux/system.gyp
15@@ -786,119 +786,5 @@
16 }],
17 ],
18 },
19- {
20- 'target_name': 'x11',
21- 'type': 'none',
22- 'toolsets': ['host', 'target'],
23- 'conditions': [
24- ['_toolset=="target"', {
25- 'direct_dependent_settings': {
26- 'cflags': [
27- '<!@(<(pkg-config) --cflags x11)',
28- ],
29- },
30- 'link_settings': {
31- 'ldflags': [
32- '<!@(<(pkg-config) --libs-only-L --libs-only-other x11 xi)',
33- ],
34- 'libraries': [
35- '<!@(<(pkg-config) --libs-only-l x11 xi)',
36- ],
37- },
38- }, {
39- 'direct_dependent_settings': {
40- 'cflags': [
41- '<!@(pkg-config --cflags x11)',
42- ],
43- },
44- 'link_settings': {
45- 'ldflags': [
46- '<!@(pkg-config --libs-only-L --libs-only-other x11 xi)',
47- ],
48- 'libraries': [
49- '<!@(pkg-config --libs-only-l x11 xi)',
50- ],
51- },
52- }],
53- ],
54- },
55- {
56- 'target_name': 'xext',
57- 'type': 'none',
58- 'conditions': [
59- ['_toolset=="target"', {
60- 'direct_dependent_settings': {
61- 'cflags': [
62- '<!@(<(pkg-config) --cflags xext)',
63- ],
64- },
65- 'link_settings': {
66- 'ldflags': [
67- '<!@(<(pkg-config) --libs-only-L --libs-only-other xext)',
68- ],
69- 'libraries': [
70- '<!@(<(pkg-config) --libs-only-l xext)',
71- ],
72- },
73- }],
74- ],
75- },
76- {
77- 'target_name': 'xfixes',
78- 'type': 'none',
79- 'conditions': [
80- ['_toolset=="target"', {
81- 'direct_dependent_settings': {
82- 'cflags': [
83- '<!@(<(pkg-config) --cflags xfixes)',
84- ],
85- },
86- 'link_settings': {
87- 'ldflags': [
88- '<!@(<(pkg-config) --libs-only-L --libs-only-other xfixes)',
89- ],
90- 'libraries': [
91- '<!@(<(pkg-config) --libs-only-l xfixes)',
92- ],
93- },
94- }],
95- ],
96- },
97- {
98- 'target_name': 'xrandr',
99- 'type': 'none',
100- 'toolsets': ['host', 'target'],
101- 'conditions': [
102- ['_toolset=="target"', {
103- 'direct_dependent_settings': {
104- 'cflags': [
105- '<!@(<(pkg-config) --cflags xrandr)',
106- ],
107- },
108- 'link_settings': {
109- 'ldflags': [
110- '<!@(<(pkg-config) --libs-only-L --libs-only-other xrandr)',
111- ],
112- 'libraries': [
113- '<!@(<(pkg-config) --libs-only-l xrandr)',
114- ],
115- },
116- }, {
117- 'direct_dependent_settings': {
118- 'cflags': [
119- '<!@(pkg-config --cflags xrandr)',
120- ],
121- },
122- 'link_settings': {
123- 'ldflags': [
124- '<!@(pkg-config --libs-only-L --libs-only-other xrandr)',
125- ],
126- 'libraries': [
127- '<!@(pkg-config --libs-only-l xrandr)',
128- ],
129- },
130- }],
131- ],
132- },
133 ],
134 }
135--
1361.9.1
137
diff --git a/recipes-qt/qt5/qtwebengine/0001-Strip-unwanted-echo-compiling-prefix-from-CC.patch b/recipes-qt/qt5/qtwebengine/0001-Strip-unwanted-echo-compiling-prefix-from-CC.patch
new file mode 100644
index 00000000..6b315985
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/0001-Strip-unwanted-echo-compiling-prefix-from-CC.patch
@@ -0,0 +1,38 @@
1From 7a3179fee9c88ce3dd018b2f159e1b5df74fc7cc Mon Sep 17 00:00:00 2001
2From: Simon Busch <morphis@gravedo.de>
3Date: Fri, 20 Jun 2014 19:04:14 +0200
4Subject: [PATCH] Strip unwanted "@echo compiling &&" prefix from ${CC}
5
6Causes problems when called from a perl script:
7
8@echo compiling && arm-webos-linux-gnueabi-gcc -march=armv7-a -mthumb-interwork -mfloat-abi=softfp -mfpu=neon --sysroot=/home/morphis/work/wop/webos-ports/tmp-eglibc/sysroots/tenderloinCan't exec "@echo": No such file or directory at /home/morphis/work/wop/webos-ports/tmp-eglibc/sysroots/x86_64-linux/usr/lib/perl-native/perl/5.14.3/IPC/Open3.pm line 288.
9open2: exec of @echo compiling && arm-webos-linux-gnueabi-gcc -march=armv7-a -mthumb-interwork -mfloat-abi=softfp -mfpu=neon --sysroot=/home/morphis/work/wop/webos-ports/tmp-eglibc/sysroots/tenderloin -E -P -x c++ -DENABLE_CUSTOM_SCHEME_HANDLER=0 -DENABLE_SVG_FONTS=1 -DENABLE_GDI_FONTS_ON_WINDOWS=0 -DENABLE_HARFBUZZ_ON_WINDOWS=1 -DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1 -DENABLE_INPUT_SPEECH=1 -DENABLE_INPUT_MULTIPLE_FIELDS_UI=1 -DENABLE_LEGACY_NOTIFICATIONS=1 -DENABLE_MEDIA_CAPTURE=0 -DENABLE_NAVIGATOR_CONTENT_UTILS=1 -DENABLE_ORIENTATION_EVENTS=0 -DENABLE_WEB_AUDIO=1 -DWTF_USE_WEBAUDIO_FFMPEG=1 -DENABLE_OPENTYPE_VERTICAL=1 -DWTF_USE_DEFAULT_RENDER_THEME=1 css/html.css failed at ../build/scripts/preprocessor.pm line 81
10Traceback (most recent call last):
11 File "../build/scripts/action_useragentstylesheets.py", line 124, in <module>
12 sys.exit(main(sys.argv))
13 File "../build/scripts/action_useragentstylesheets.py", line 118, in main
14 assert returnCode == 0
15AssertionError
16
17Signed-off-by: Simon Busch <morphis@gravedo.de>
18---
19 .../WebKit/Source/build/scripts/action_useragentstylesheets.py | 3 +++
20 1 file changed, 3 insertions(+)
21
22diff --git a/src/3rdparty/chromium/third_party/WebKit/Source/build/scripts/action_useragentstylesheets.py b/src/3rdparty/chromium/third_party/WebKit/Source/build/scripts/action_useragentstylesheets.py
23index c0712b3..8460637 100644
24--- a/src/3rdparty/chromium/third_party/WebKit/Source/build/scripts/action_useragentstylesheets.py
25+++ b/src/3rdparty/chromium/third_party/WebKit/Source/build/scripts/action_useragentstylesheets.py
26@@ -112,6 +112,9 @@ def main(args):
27 command.extend([outputH, outputCpp])
28 command.extend(styleSheets)
29
30+ if os.environ["CC"].startswith("@echo"):
31+ os.environ["CC"] = os.environ["CC"].replace("@echo compiling &&", "")
32+
33 # Do it. check_call is new in 2.5, so simulate its behavior with call and
34 # assert.
35 returnCode = subprocess.call(command)
36--
371.9.1
38
diff --git a/recipes-qt/qt5/qtwebengine/0002-Use-ninja-supplied-by-environment-variable-NINJA_PAT.patch b/recipes-qt/qt5/qtwebengine/0002-Use-ninja-supplied-by-environment-variable-NINJA_PAT.patch
new file mode 100644
index 00000000..c64b32a4
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/0002-Use-ninja-supplied-by-environment-variable-NINJA_PAT.patch
@@ -0,0 +1,36 @@
1From 2fe53c4c28f91941ee3b446e88f519feb2edc457 Mon Sep 17 00:00:00 2001
2From: Simon Busch <morphis@gravedo.de>
3Date: Fri, 20 Jun 2014 09:09:12 +0200
4Subject: [PATCH 2/2] Use ninja supplied by environment variable NINJA_PATH
5
6Signed-off-by: Simon Busch <morphis@gravedo.de>
7---
8 tools/qmake/mkspecs/features/functions.prf | 14 ++------------
9 1 file changed, 2 insertions(+), 12 deletions(-)
10
11diff --git a/tools/qmake/mkspecs/features/functions.prf b/tools/qmake/mkspecs/features/functions.prf
12index 4dcd8ed..8725fd2 100644
13--- a/tools/qmake/mkspecs/features/functions.prf
14+++ b/tools/qmake/mkspecs/features/functions.prf
15@@ -84,16 +84,6 @@ defineReplace(which) {
16 }
17
18 defineReplace(findOrBuildNinja) {
19- git_chromium_src_dir = $$system("git config qtwebengine.chromiumsrcdir")
20- # Fall back to the snapshot path if git does not know about chromium sources (i.e. init-repository.py has not been used)
21- isEmpty(git_chromium_src_dir): git_chromium_src_dir = "src/3rdparty/chromium"
22-
23- out = $$absolute_path("$$git_chromium_src_dir/../ninja/ninja", "$$QTWEBENGINE_ROOT")
24- win32: out = $$system_path($${out}.exe)
25-
26- # If we did not find ninja, then we bootstrap it.
27- !exists($$out) {
28- system("python $$dirname(out)/bootstrap.py")
29- }
30- return($$out)
31+ message(Using ninja from path $$NINJA_PATH)
32+ return($$NINJA_PATH)
33 }
34--
351.9.1
36
diff --git a/recipes-qt/qt5/qtwebengine_git.bb b/recipes-qt/qt5/qtwebengine_git.bb
new file mode 100644
index 00000000..f4964bf7
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine_git.bb
@@ -0,0 +1,24 @@
1require qt5-git.inc
2require ${PN}.inc
3
4# QtWebEngine has it's own version format currently and doesn't follow the major Qt
5# versions (but it's release are at the same time as of major Qt releases). We're tracking
6# the master branch which will lead to 1.0 when Qt 5.4 is released here.
7PV = "0.9.99+git${SRCPV}"
8
9QT_MODULE_BRANCH = "master"
10
11# For now we have to define SRC_URI here again as qt5-git.inc points to
12# qt.gitorious.org/qt/ but qtwebengine is still on qt.gitorious.org/qt-labs/ which will
13# switch soon.
14SRC_URI = " \
15 git://gitorious.org/qt-labs/qtwebengine.git;name=qtwebengine;protocol=git;branch=${QT_MODULE_BRANCH} \
16 git://gitorious.org/qt-labs/chromium.git;name=chromium;protocol=git;branch=${QT_MODULE_BRANCH};destsuffix=git/src/3rdparty \
17 file://0001-Drop-build-time-only-dependency-on-x11-libraries.patch \
18 file://0002-Use-ninja-supplied-by-environment-variable-NINJA_PAT.patch \
19 file://0001-Strip-unwanted-echo-compiling-prefix-from-CC.patch \
20"
21SRCREV_qtwebengine = "21f6ce84ecca9a4ff2aa980b21d2e5174c78d14b"
22SRCREV_chromium = "1f3cc8c2618979b557d60ef1ad984a49dca83bff"
23
24SRCREV_FORMAT = "qtwebengine"