summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuli Piippo <samuli.piippo@qt.io>2019-08-15 10:34:32 +0300
committerSamuli Piippo <samuli.piippo@qt.io>2019-08-15 10:35:01 +0300
commit5fdfbec8369f990bd4b9def1294ade6bbf60e143 (patch)
tree890bd6a48788264d34994beaadbc0881c162f21c
parent63dec9bbd826a4afafa7177aaa3439467f25d80a (diff)
parent0d0eca50521fcde987be3b97ffd29442db7435ff (diff)
downloadmeta-qt5-5fdfbec8369f990bd4b9def1294ade6bbf60e143.tar.gz
Merge remote-tracking branch 'origin/5.12' into 5.13
* origin/5.12: qt5: update to Qt 5.12.5 Add CI build instructions qt5-creator: fix build with musl ogl-runtime: fix build on musl libc Change-Id: Ia5d0e73a06489bebf70897805bb0aa314ba5a663
-rw-r--r--.gitattributes1
-rw-r--r--coin/module_config.yaml180
-rw-r--r--recipes-qt/qt5/ogl-runtime/0003-Fix-build-on-musl-libc.patch26
-rw-r--r--recipes-qt/qt5/ogl-runtime_git.bb1
4 files changed, 208 insertions, 0 deletions
diff --git a/.gitattributes b/.gitattributes
index cb2381c0..f6a86105 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,2 +1,3 @@
1/coin export-ignore
1# linguist overrides 2# linguist overrides
2recipes-*/**/*.inc linguist-language=BitBake 3recipes-*/**/*.inc linguist-language=BitBake
diff --git a/coin/module_config.yaml b/coin/module_config.yaml
new file mode 100644
index 00000000..263d8f04
--- /dev/null
+++ b/coin/module_config.yaml
@@ -0,0 +1,180 @@
1version: 1
2accept_configuration:
3 condition: and
4 conditions:
5 - condition: property
6 property: host.osVersion
7 equals_value: Ubuntu_18_04
8 - condition: property
9 property: target.osVersion
10 equals_value: QEMU
11 - condition: property
12 property: target.arch
13 in_values: [ARMv7, ARM64]
14
15environment: &environment
16 type: Group
17 instructions:
18 - type: EnvironmentVariable
19 variableName: POKY_SHA1
20 variableValue: 38d5c8ea98cfa49825c473eba8984c12edf062be
21 - type: EnvironmentVariable
22 variableName: OE_SHA1
23 variableValue: 8d5dcd6522e9d15e68637b6d7dda0401f9bb91d0
24 - type: EnvironmentVariable
25 variableName: MACHINE
26 variableValue: qemuarm64
27 enable_if:
28 condition: property
29 property: target.arch
30 equals_value: ARM64
31 - type: EnvironmentVariable
32 variableName: MACHINE
33 variableValue: qemux86
34 enable_if:
35 condition: property
36 property: target.arch
37 equals_value: ARMv7
38
39build_instructions:
40 - *environment
41 - type: SetBuildDirectory
42 directory: "{{.AgentWorkingDir}}/build"
43 - type: MakeDirectory
44 directory: "{{.BuildDir}}"
45 - type: ChangeDirectory
46 directory: "{{.BuildDir}}"
47 - type: ExecuteCommand
48 command: ["sudo", "mkdir", "-p", "/mnt/yocto-cache"]
49 userMessageOnFailure: "Could not create '/mnt/yocto-cache' directory"
50 - type: ExecuteCommand
51 command: ["sudo", "mount", "yocto-cache.intra.qt.io:/srv/yocto-cache", "/mnt/yocto-cache"]
52 userMessageOnFailure: "Could not mount yocto cache."
53 - type: WriteFile
54 fileContents: |
55 # https://github.com/shr-project/jenkins-jobs/blob/master/jenkins-job.sh
56 INHERIT += "reproducible_build_simple"
57 # We want musl and glibc to share the same tmpfs, so instead of appending default "-${TCLIBC}" we append "fs"
58 TCLIBCAPPEND = "fs"
59 PREFERRED_PROVIDER_udev = "systemd"
60 PREFERRED_PROVIDER_virtual/fftw = "fftw"
61 # use gold
62 DISTRO_FEATURES_append = " ld-is-gold"
63 # use ptest
64 DISTRO_FEATURES_append = " ptest"
65 # use systemd
66 DISTRO_FEATURES_append = " systemd"
67 DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"
68 VIRTUAL-RUNTIME_init_manager = "systemd"
69 VIRTUAL-RUNTIME_initscripts = ""
70 # use opengl
71 DISTRO_FEATURES_append = " opengl"
72 # use wayland to fix building weston and qtwayland
73 DISTRO_FEATURES_append = " wayland"
74 PREFERRED_PROVIDER_jpeg = "libjpeg-turbo"
75 PREFERRED_PROVIDER_jpeg-native = "libjpeg-turbo-native"
76 PREFERRED_PROVIDER_gpsd = "gpsd"
77 PREFERRED_PROVIDER_e-wm-sysactions = "e-wm"
78 ESYSACTIONS = "e-wm-sysactions"
79 # don't pull libhybris unless explicitly asked for
80 PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
81 PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa"
82 PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
83 PREFERRED_PROVIDER_virtual/egl ?= "mesa"
84 # to fix fsoaudiod, alsa-state conflict in shr-image-all
85 VIRTUAL-RUNTIME_alsa-state = ""
86 # to prevent alsa-state being pulled into -dev or -dbg images
87 RDEPENDS_${PN}-dev_pn-alsa-state = ""
88 RDEPENDS_${PN}-dbg_pn-alsa-state = ""
89 # to fix dependency on conflicting x11-common from packagegroup-core-x11
90 VIRTUAL-RUNTIME_xserver_common ?= "xserver-common"
91 RDEPENDS_${PN}-dev_pn-x11-common = ""
92 RDEPENDS_${PN}-dbg_pn-x11-common = ""
93 # to fix apm, fso-apm conflict in shr-image-all
94 VIRTUAL-RUNTIME_apm = "fso-apm"
95 # require conf/distro/include/qt5-versions.inc
96 # QT5_VERSION = "5.4.0+git%"
97 # for qtwebkit etc
98 # see https://bugzilla.yoctoproject.org/show_bug.cgi?id=5013
99 # DEPENDS_append_pn-qtbase = " mesa"
100 PACKAGECONFIG_append_pn-qtbase = " icu gl accessibility freetype fontconfig"
101 # qtwayland doesn't like egl and xcomposite-glx enabled at the same time
102 # http://lists.openembedded.org/pipermail/openembedded-devel/2016-December/110444.html
103 PACKAGECONFIG_remove_pn-qtwayland = "xcomposite-egl xcomposite-glx"
104 # for webkit-efl
105 PACKAGECONFIG_append_pn-harfbuzz = " icu"
106 inherit blacklist
107 # PNBLACKLIST[samsung-rfs-mgr] = "needs newer libsamsung-ipc with negative D_P: Requested 'samsung-ipc-1.0 >= 0.2' but version of libsamsung-ipc is 0.1.0"
108 PNBLACKLIST[android-system] = "depends on lxc from meta-virtualiazation which isn't included in my world builds"
109 PNBLACKLIST[bigbuckbunny-1080p] = "big and doesn't really need to be tested so much"
110 PNBLACKLIST[bigbuckbunny-480p] = "big and doesn't really need to be tested so much"
111 PNBLACKLIST[bigbuckbunny-720p] = "big and doesn't really need to be tested so much"
112 PNBLACKLIST[bigbuckbunny-720p] = "big and doesn't really need to be tested so much"
113 PNBLACKLIST[tearsofsteel-1080p] = "big and doesn't really need to be tested so much"
114 PNBLACKLIST[build-appliance-image] = "tries to include whole downloads directory in /home/builder/poky :/"
115 # enable reporting
116 # needs http://patchwork.openembedded.org/patch/68735/
117 #ERR_REPORT_SERVER = "errors.yoctoproject.org"
118 #ERR_REPORT_PORT = "80"
119 #ERR_REPORT_USERNAME = "Martin Jansa"
120 #ERR_REPORT_EMAIL = "Martin.Jansa@gmail.com"
121 #ERR_REPORT_UPLOAD_FAILURES = "1"
122 #INHERIT += "report-error"
123 # needs patch with buildstats-summary.bbclass
124 INHERIT += "buildstats buildstats-summary"
125 # be more strict with QA warnings, turn them all to errors:
126 ERROR_QA_append = " ldflags useless-rpaths rpaths staticdev libdir xorg-driver-abi textrel already-stripped incompatible-license files-invalid installed-vs-shipped compile-host-path install-host-path pn-overrides infodir build-deps unknown-configure-option symlink-to-sysroot multilib invalid-packageconfig host-user-contaminated uppercase-pn"
127 WARN_QA_remove = " ldflags useless-rpaths rpaths staticdev libdir xorg-driver-abi textrel already-stripped incompatible-license files-invalid installed-vs-shipped compile-host-path install-host-path pn-overrides infodir build-deps unknown-configure-option symlink-to-sysroot multilib invalid-packageconfig host-user-contaminated uppercase-pn"
128 # enable thumb for broader test coverage (oe-core autobuilder doesn't have thumb enabled)
129 PREFERRED_ARM_INSTRUCTION_SET ?= "thumb"
130 ARM_INSTRUCTION_SET = "${PREFERRED_ARM_INSTRUCTION_SET}"
131 # use musl for qemux86 and qemux86copy
132 TCLIBC_qemux86 = "musl"
133 TCLIBC_qemux86copy = "musl"
134 # limit parallel make to avoid OOM
135 PARALLEL_MAKE_pn-qtwebkit = "-j 8"
136 filename: "{{.BuildDir}}/world_fixes.inc"
137 fileMode: 420
138 - type: WriteFile
139 fileContents: |
140 #!/bin/bash -xe
141 git clone git://git.yoctoproject.org/poky --reference /mnt/yocto-cache/mirror/poky.git
142 (cd poky; git checkout ${POKY_SHA1})
143 git clone git://github.com/openembedded/meta-openembedded --reference /mnt/yocto-cache/mirror/meta-openembedded.git
144 (cd meta-openembedded; git checkout ${OE_SHA1})
145
146 source ./poky/oe-init-build-env
147 export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE SSTATE_DIR DL_DIR"
148 export DL_DIR=/mnt/yocto-cache/downloads
149 export BB_GENERATE_MIRROR_TARBALLS=1
150 export SSTATE_DIR=/mnt/yocto-cache/sstate-caches/$(sed -n -e "s/DISTRO_CODENAME.*\"\(.*\)\"/\1/p" ../poky/meta-*/conf/distro/poky.conf)
151 bitbake-layers add-layer ../meta-openembedded/meta-oe
152 bitbake-layers add-layer ${SOURCE_DIR}
153
154 echo 'require ../world_fixes.inc' >> conf/local.conf
155
156 # EXCLUDE_FROM_WORLD
157 rm -f ${SOURCE_DIR}/recipes-qt/examples/qt5-opengles2-test_git.bb
158
159 bitbake $(find ${SOURCE_DIR} -name *.bb | xargs -n1 basename | sed -e 's/\([^._]*\).*/\1/')
160 filename: "{{.BuildDir}}/start-build"
161 fileMode: 420
162 - type: ExecuteCommand
163 command: ["chmod", "+x", "{{.BuildDir}}/start-build"]
164 userMessageOnFailure: "Could not add execution right to the start-build."
165 - type: EnvironmentVariable
166 variableName: DL_DIR
167 variableValue: "/mnt/yocto-cache/downloads"
168 - type: EnvironmentVariable
169 variableName: SOURCE_DIR
170 variableValue: "{{.SourceDir}}"
171 - type: ExecuteCommand
172 command: ["{{.BuildDir}}/start-build"]
173 maxTimeInSeconds: 28800
174 maxTimeBetweenOutput: 28800
175 userMessageOnFailure: "Build failed."
176 - type: ExecuteCommand
177 command: ["sudo", "umount", "/mnt/yocto-cache"]
178 userMessageOnFailure: "Unmounting cache failed."
179
180test_instructions: []
diff --git a/recipes-qt/qt5/ogl-runtime/0003-Fix-build-on-musl-libc.patch b/recipes-qt/qt5/ogl-runtime/0003-Fix-build-on-musl-libc.patch
new file mode 100644
index 00000000..5fe840a0
--- /dev/null
+++ b/recipes-qt/qt5/ogl-runtime/0003-Fix-build-on-musl-libc.patch
@@ -0,0 +1,26 @@
1From f654a25f9df6583532798f30181d149d51b23808 Mon Sep 17 00:00:00 2001
2From: Samuli Piippo <samuli.piippo@qt.io>
3Date: Thu, 8 Aug 2019 08:34:47 +0300
4Subject: [PATCH] Fix build on musl libc
5
6Use bits/local_lim.h only with glibc as it's not available
7on musl libc.
8
9Change-Id: Ibffa4ab5649b544664f99b16e94d6865148eeeb5
10---
11 src/foundation/linux/Qt3DSLinuxThread.cpp | 2 +-
12 1 file changed, 1 insertion(+), 1 deletion(-)
13
14diff --git a/src/foundation/linux/Qt3DSLinuxThread.cpp b/src/foundation/linux/Qt3DSLinuxThread.cpp
15index fa6e069..99c4c3a 100644
16--- a/src/foundation/linux/Qt3DSLinuxThread.cpp
17+++ b/src/foundation/linux/Qt3DSLinuxThread.cpp
18@@ -35,7 +35,7 @@
19 #include "foundation/Qt3DSAssert.h"
20 #include "foundation/Qt3DSIntrinsics.h"
21 #include "foundation/Qt3DSBroadcastingAllocator.h"
22-#if !defined(QT3DS_APPLE) && !defined(ANDROID) && !defined(__CYGWIN__) && !defined(__QNX__) && !defined(__INTEGRITY)
23+#if !defined(QT3DS_APPLE) && !defined(ANDROID) && !defined(__CYGWIN__) && !defined(__QNX__) && !defined(__INTEGRITY) && defined(__GLIBC__)
24 #include <bits/local_lim.h> // PTHREAD_STACK_MIN
25 #endif
26 #include <stdio.h>
diff --git a/recipes-qt/qt5/ogl-runtime_git.bb b/recipes-qt/qt5/ogl-runtime_git.bb
index ecc8ba2b..049f885a 100644
--- a/recipes-qt/qt5/ogl-runtime_git.bb
+++ b/recipes-qt/qt5/ogl-runtime_git.bb
@@ -18,6 +18,7 @@ SRC_URI += " \
18 ${QT_GIT}/qt3dstudio-eastl.git;name=EASTL;branch=${QT_MODULE_BRANCH_EASTL};protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty/EASTL \ 18 ${QT_GIT}/qt3dstudio-eastl.git;name=EASTL;branch=${QT_MODULE_BRANCH_EASTL};protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty/EASTL \
19 file://0001-Fix-examples-build-error.patch \ 19 file://0001-Fix-examples-build-error.patch \
20 file://0002-Fix-format-security-issues.patch \ 20 file://0002-Fix-format-security-issues.patch \
21 file://0003-Fix-build-on-musl-libc.patch \
21" 22"
22 23
23SRCREV_ogl-runtime = "a41270dced230d90e0e07f2ebb880e4f97317a7f" 24SRCREV_ogl-runtime = "a41270dced230d90e0e07f2ebb880e4f97317a7f"