@@ -6,6 +6,61 @@ metaEnvironment:
66 GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception (tools), GFDL-1.3 (docs),
77 Apache-2.0, BSD-3-Clause, BSL-1.0, MIT
88
9+ Config :
10+ QT6_BASE_HOST_BUILD :
11+ type : bool
12+ default : False
13+ help : " Host tools build with reduced dependencies"
14+
15+ privateEnvironment :
16+ HOST_CONF : >-
17+ -DFEATURE_network=ON
18+ -DFEATURE_xml=ON
19+ -DFEATURE_gui=ON
20+ -DFEATURE_concurrent=ON
21+ -DFEATURE_freetype=OFF
22+ -DFEATURE_vulkan=OFF
23+ -DFEATURE_linuxfb=OFF
24+ -DFEATURE_xcb=OFF
25+ -DFEATURE_opengl=OFF -DINPUT_opengl=no
26+ -DFEATURE_harfbuzz=OFF
27+ -DFEATURE_png=OFF
28+ -DFEATURE_gif=OFF
29+ -DFEATURE_jpeg=OFF
30+ -DFEATURE_printsupport=OFF
31+ -DFEATURE_kms=OFF
32+ -DFEATURE_fontconfig=OFF
33+ -DFEATURE_widgets=OFF
34+ -DFEATURE_libinput=OFF
35+ -DFEATURE_tslib=OFF
36+ -DFEATURE_eglfs=OFF
37+ -DFEATURE_sql=OFF
38+ -DFEATURE_testlib=OFF
39+ -DFEATURE_dbus=OFF
40+ -DFEATURE_icu=OFF
41+ -DFEATURE_glib=OFF
42+ -DFEATURE_force_bundled_libs=ON
43+ DEFAULT_CONF : >-
44+ -DFEATURE_opengl=ON
45+ -DFEATURE_opengles2=ON
46+ -DFEATURE_opengl_desktop=OFF
47+ -DFEATURE_gui=ON
48+ -DFEATURE_kms=ON
49+ -DFEATURE_libinput=ON
50+ -DFEATURE_freetype=ON
51+ -DFEATURE_xml=ON
52+ -DFEATURE_network=ON
53+ -DFEATURE_concurrent=ON
54+ -DFEATURE_printsupport=OFF
55+ -DFEATURE_directfb=OFF
56+ -DFEATURE_vnc=OFF
57+ -DFEATURE_sql=OFF
58+ -DFEATURE_testlib=OFF
59+ -DFEATURE_dbus=OFF
60+ -DFEATURE_icu=OFF
61+ -DFEATURE_force_system_libs=ON
62+ -DQT_QPA_DEFAULT_PLATFORM=eglfs
63+
964checkoutSCM :
1065 scm : url
1166 url : ${QT6_MIRROR}/qtbase-everywhere-src-${PKG_VERSION}.tar.xz
@@ -15,39 +70,44 @@ checkoutSCM:
1570multiPackage :
1671 " " :
1772 depends :
18- - libs::zlib-dev
19- - libs::pcre2-dev
20- - libs::libb2-dev
21- - libs::glib-dev
22- - libs::libpng-dev
23- - virtual::libs::libjpeg-dev
24- - libs::freetype-dev
25- - libs::fontconfig-dev
26- - libs::harfbuzz-dev
27- - libs::double-conversion-dev
28- - libs::openssl-dev
29- - virtual::libs::libdrm-dev
30- - virtual::libs::libegl-dev
31- - virtual::libs::libgles-dev
32-
33- - use : []
73+ - if : !expr >
74+ !"${QT6_BASE_HOST_BUILD}"
3475 depends:
35- - libs::libc-openmp-tgt
36- - libs::libc-stdc++-tgt
37- - libs::zlib-tgt
38- - libs::pcre2-tgt
39- - libs::libb2-tgt
40- - libs::glib-tgt
41- - libs::libpng-tgt
42- - virtual::libs::libjpeg-tgt
43- - libs::freetype-tgt
44- - libs::fontconfig-tgt
45- - libs::harfbuzz-tgt
46- - libs::double-conversion-tgt
47- - libs::openssl-tgt
48- - virtual::libs::libdrm-tgt
49- - virtual::libs::libegl-tgt
50- - virtual::libs::libgles-tgt
76+ - libs::zlib-dev
77+ - libs::pcre2-dev
78+ - libs::libb2-dev
79+ - libs::glib-dev
80+ - libs::libinput-dev
81+ - libs::libpng-dev
82+ - virtual::libs::libjpeg-dev
83+ - libs::freetype-dev
84+ - libs::fontconfig-dev
85+ - libs::harfbuzz-dev
86+ - libs::double-conversion-dev
87+ - libs::openssl-dev
88+ - virtual::libs::libdrm-dev
89+ - virtual::libs::libegl-dev
90+ - virtual::libs::libgles-dev
91+
92+ - use: []
93+ depends:
94+ - libs::libc-openmp-tgt
95+ - libs::libc-stdc++-tgt
96+ - libs::zlib-tgt
97+ - libs::pcre2-tgt
98+ - libs::libb2-tgt
99+ - libs::glib-tgt
100+ - libs::libinput-tgt
101+ - libs::libpng-tgt
102+ - virtual::libs::libjpeg-tgt
103+ - libs::freetype-tgt
104+ - libs::fontconfig-tgt
105+ - libs::harfbuzz-tgt
106+ - libs::double-conversion-tgt
107+ - libs::openssl-tgt
108+ - virtual::libs::libdrm-tgt
109+ - virtual::libs::libegl-tgt
110+ - virtual::libs::libgles-tgt
51111
52112 # depend on our self for the host tools build
53113 - name : libs::qt6-base-tools
@@ -56,83 +116,46 @@ multiPackage:
56116 use : [tools]
57117
58118 buildTools : [qt6-base-tools]
119+ buildVars : [QT6_BASE_HOST_BUILD, HOST_CONF, DEFAULT_CONF]
59120 buildScript : |
60- qt6Build $1 \
61- -DQT_HOST_PATH=${BOB_TOOL_PATHS[qt6-base-tools]}/.. \
62- -DFEATURE_opengl=ON \
63- -DFEATURE_opengles2=ON \
64- -DFEATURE_opengl_desktop=OFF \
65- -DFEATURE_gui=ON \
66- -DFEATURE_kms=ON \
67- -DFEATURE_xml=ON \
68- -DFEATURE_network=ON \
69- -DFEATURE_concurrent=ON \
70- -DFEATURE_directfb=OFF \
71- -DFEATURE_vnc=OFF \
72- -DFEATURE_sql=OFF \
73- -DFEATURE_testlib=OFF \
74- -DFEATURE_dbus=OFF \
75- -DFEATURE_icu=OFF \
76- -DFEATURE_force_system_libs=ON \
77- -DQT_QPA_DEFAULT_PLATFORM=eglfs
121+ if [[ ${QT6_BASE_HOST_BUILD} -eq 1 ]] ; then
122+ qt6Build $1 \
123+ ${HOST_CONF}
124+ else
125+ qt6Build $1 \
126+ -DQT_HOST_PATH=${BOB_TOOL_PATHS[qt6-base-tools]}/.. \
127+ ${DEFAULT_CONF}
128+ fi
78129
79130 multiPackage :
80- # We are not supporting building Qt6 apps on the target right now.
81- # The Qt6 tools build here seem to refer build paths which do not
82- # exist on the target. Needs investigation if required later.
83- # "":
84- # depends:
85- # - name: libs::qt6-base-tgt
86- # use: []
87- # packageScript: qt6PackageBin
88- # provideDeps: [ "*-tgt" ]
89-
90131 dev :
91- packageScript : qt6PackageDev
132+ packageScript : |
133+ qt6PackageDev
134+ # we also need to install the bins even if they are not
135+ # used; Qt's cmake files to refer to them and the build
136+ # fails if they are missing
137+ qt6PackageBin
92138 provideDeps : [ "*-dev" ]
93139
94140 tgt :
95- packageScript : qt6PackageLib
141+ packageScript : |
142+ qt6PackageLib
96143 provideDeps : [ "*-tgt" ]
97144
98145 tools :
146+ buildVars : [HOST_CONF]
99147 buildScript : |
100148 # Unfortunately have we to turn on a lot of stuff (even GUI!) for
101149 # the host build. Lots of depending host tools from other Qt
102150 # packages are written in Qt and depend on this.
103151 qt6Build $1 \
104- -DFEATURE_network=ON \
105- -DFEATURE_xml=ON \
106- -DFEATURE_gui=ON \
107- -DFEATURE_freetype=OFF \
108- -DFEATURE_vulkan=OFF \
109- -DFEATURE_linuxfb=ON \
110- -DFEATURE_xcb=OFF \
111- -DFEATURE_opengl=OFF -DINPUT_opengl=no \
112- -DFEATURE_harfbuzz=OFF \
113- -DFEATURE_png=OFF \
114- -DFEATURE_gif=OFF \
115- -DFEATURE_jpeg=OFF \
116- -DFEATURE_printsupport=OFF \
117- -DFEATURE_kms=OFF \
118- -DFEATURE_fontconfig=OFF \
119- -DFEATURE_widgets=OFF \
120- -DFEATURE_libinput=OFF \
121- -DFEATURE_tslib=OFF \
122- -DFEATURE_eglfs=OFF \
123- -DFEATURE_concurrent=OFF \
124- -DFEATURE_sql=OFF \
125- -DFEATURE_testlib=OFF \
126- -DFEATURE_dbus=OFF \
127- -DFEATURE_icu=OFF \
128- -DFEATURE_glib=OFF \
129- -DFEATURE_force_bundled_libs=ON
152+ ${HOST_CONF}
130153
131154 packageScript : |
132- # We have to package everything for the tools, including cmake
133- # configs, ... files.
134- cmakePackageDev
135- cmakePackageBin
155+ # We have to supply more than just the bins:
156+ # 1. The tools itself are found by Qt with the corresponding cmake
157+ # files
158+ qt6PackageBin "" "/usr/lib/cmake/***"
136159
137160 provideTools :
138161 qt6-base-tools : " usr/bin"
0 commit comments