Tizen:Common: Group GL substitutions
[scm/meta/obs.git] / Tizen:Common / _config
1 Substitute: python-accel-armv7l-cross-arm python-accel-armv7l
2 Substitute: python-accel-aarch64-cross-aarch64 python-accel-aarch64
3 ################################################################################
4 # OBS Project config for Tizen:Common
5 #
6 # RE contacts:
7 # Maciej Wereski <m.wereski@partner.samsung.com>
8 # Pawel Wieczorek <p.wieczorek2@samsung.com>
9 #
10 # Git mirror for OBS config: review.tizen.org:scm/meta/build-config / branch tizen_common
11 #
12 # vim: set syntax=spec:
13 ################################################################################
14
15 Patterntype: rpm-md comps
16 Release: <CI_CNT>.<B_CNT>
17 Support: build
18 Support: build-compare build-mkbaselibs
19 Support: rpmlint-mini rpmlint-tizen
20
21 ############################# conflicts resolution #############################
22
23 FileProvides: /usr/sbin/groupadd shadow-utils
24 Prefer: util-linux
25 Prefer: libtapi-devel
26 Prefer: libpci-devel
27 Prefer: bluetooth-tools-no-firmware
28
29 Prefer: vconf-buxton
30 Prefer: vconf-buxton-devel
31 Prefer: vconf-buxton-keys-devel
32
33 ############################# profile definition ###############################
34
35 %define profile common
36 %define _with_tizen 1
37
38 # %release_name and %tizen_full_version are used in platform/upstream/tizen-release
39
40 Macros:
41 %profile common
42 %release_name Tizen3/Common
43
44 %tizen_version_major 3
45 %tizen_version_minor 0
46 %tizen_version_patch 0
47
48 %tizen_version %{tizen_version_major}.%{tizen_version_minor}
49 %tizen_full_version %{tizen_version}.%{tizen_version_patch}
50 %tizen %tizen_version
51 %vendor tizen
52 %_vendor tizen
53 %_with_tizen 1
54
55 %check exit 0
56 %run_check_section 0
57 %opensuse_bs 1
58 %_default_patch_fuzz   2
59 :Macros
60
61 ########## RDP flag ##########
62
63 # enable/disable RDP (remote desktop protocol) for wayland
64 # flag: _with_rdp, used in repositories
65 # Affects: weston, freerdp
66 # Owner: Manuel <manuel.bachmann@open.eurogiciel.org>
67
68 ########## mesa activation ##########
69
70 %define _with_mesa 1
71 Macros:
72 %_with_mesa 1
73 :Macros
74
75 Substitute: mesa-devel pkgconfig(glesv2)
76 Substitute: pkgconfig(gles20)  pkgconfig(egl) pkgconfig(glesv2)
77 Substitute: pkgconfig(gles11)  pkgconfig(egl) pkgconfig(glesv1) pkgconfig(gl)
78
79 ############################# wayland repositories #############################
80
81 %if "%_repository" == "arm-wayland" || "%_repository" == "arm64-wayland" || "%_repository" == "ia32-wayland" || "%_repository" == "x86_64-wayland"
82
83 Prefer: coregl coregl-devel
84 Prefer: libwayland-egl libwayland-egl-devel
85 Prefer: mesa libgbm
86 Substitute: mesa-libGLESv2 coregl
87 Substitute: mesa-libEGL coregl
88
89 %define _with_wayland 1
90 %define _with_rdp 1
91
92 Macros:
93 %_with_wayland 1
94 %_with_rdp 1
95 :Macros
96
97 %endif
98
99 ############################# emulator repositories ############################
100
101 %if "%_repository" == "emulator32-wayland"
102
103 Prefer: libgbm
104 Prefer: coregl coregl-devel
105 Prefer: emulator-yagl emulator-yagl-devel
106 Prefer: libwayland-egl libwayland-egl-devel
107
108 %define _with_wayland 1
109 %define _with_emulator 1
110
111 Macros:
112 %_with_wayland 1
113 %_with_emulator 1
114 :Macros
115
116 %endif
117
118
119 ############################# misc config flags ################################
120
121 ########## USAGE ##########
122 #
123 # IMPORTANT: please follow the following rules when playing with flags
124 # ********************************************************************
125 #
126 # In spec file, call %bcond_with macro at the beginning and test with %with:
127 # -------------------------
128 # | %bcond_with myfeature
129 # | [...]
130 # | %if %{with myfeature}
131 # | [...]
132 # | %endif
133 # | [...]
134 # -------------------------
135 #
136 # To activate an option, use:
137 # -------------------------
138 # | %define _with_myfeature 1
139 # | Macros:
140 # | %_with_myfeature 1
141 # | :Macros
142 # -------------------------
143 #
144 # To disable an option, DON'T set the values to 0, as the option would still be defined
145 # but simply comment the lines: this will undefine the option.
146 # -------------------------
147 # | #%define _with_myfeature 1
148 # | #Macros:
149 # | #%_with_myfeature 1
150 # | #:Macros
151 # -------------------------
152 #
153 # More information here:
154 # https://en.opensuse.org/openSUSE:Build_Service_prjconf#.25bcond
155 #
156
157 ########## flags ##########
158
159 # This build macro controls the libdlog output. If enabled,
160 # libdlog writes to Systemd Journal. If disabled, libdlog writes to kernel Android
161 # logger FIFO. Affects: dlog.
162 # Owner: Mikko <mikko.ylinen@intel.com>
163 Macros:
164 %_with_dlog_to_systemd_journal 1
165 :Macros
166
167 # Macro used to handle bluetooth popups without syspopup/bt-syspopup which needs OSP .
168 # In IVI, this macro permits to address bluetooth notifications (using C API) to notification-service daemon.
169 # Then homescreen is supposed to deal with those notifications and display relevant popups.
170 # Affects: bluetooth-frwk
171 # Owner: Corentin Lecouvey <corentin.lecouvey@open.eurogiciel.org>
172 Macros:
173 %_with_bluetooth_frwk_libnotification 1
174 :Macros
175
176 # Macro used for testing gstreamer 1.X API
177 # Used: qt*
178 # Owner: Philippe Coval <philippe.coval@open.eurogiciel.org>
179 %define _with_gstreamer1 1
180 Macros:
181 %_with_gstreamer1 1
182 :Macros
183
184 # Macro used for testing libva availability
185 # Used: weston
186 # Owner: Philippe Coval <philippe.coval@open.eurogiciel.org>
187 %ifarch x86_64 i586
188 %define _with_libva 1
189 Macros:
190 %_with_libva 1
191 :Macros
192 %endif
193
194 # Macro used for testing Input methods
195 # Used: qt*
196 # Owner: Philippe Coval <philippe.coval@open.eurogiciel.org>
197 #%define _with_tizenscim 1
198 #Macros:
199 #%_with_tizenscim 1
200 #:Macros
201
202 # This build macro controls whether the OS uses
203 # legacy nfc-manager or neard enabled nfc-manager-neard. If enabled,
204 # nfc-manager-neard is used. Affects: nfc CAPI, emulator-plugin-nfc
205 # Owner: Arron Wang <arron.wang@intel.com>
206 Macros:
207 %_with_neard_nfc 1
208 :Macros
209
210 # Uses mobile-specific Samsung patches for PulseAudio. Tizen Mobile needs
211 # this -> Tizen Mobile is compiled with this option.
212 # Owner: Ismo Puustinen <ismo.puustinen@intel.com>
213 # FIXME: Why this extra define in the obs config ?
214 %define _with_pulseaudio_samsung_policy 1
215 Macros:
216 %_with_pulseaudio_samsung_policy 1
217 :Macros
218
219 # Activate introspection
220 # This is needed on GuPNP to build Rygel correctly in IVI
221 # Impacts potentially packages that use gobject-introspection
222 # Owner: Mikko <mikko.ylinen@intel.com>
223 Macros:
224 %_with_introspection 1
225 :Macros
226
227 # Activate KDBUS
228 # This configuration flag enables the support of KDBUS
229 # Used: platform/upstream/setup
230 # Owner: Stephane Desneux <stephane.desneux@open.eurogiciel.org>
231 #%define _with_kdbus 1
232 #Macros:
233 #%_with_kdbus 1
234 #:Macros
235
236 ############################# build config #####################################
237
238 %define gcc_version 49
239 Macros:
240 %gcc_version 49
241 :Macros
242
243 ########## targets ##########
244
245 %ifarch i586
246 Target: i686-tizen-linux
247 %endif
248
249 %ifarch armv7hl
250 Target: armv7hl-tizen-linux
251 %endif
252
253 %ifarch armv7l
254 Target: armv7l-tizen-linux
255 %endif
256
257 %ifarch aarch64
258 Target: aarch64-tizen-linux
259 %endif
260
261 ########## cross build ##########
262
263 %ifarch %arm armv7l aarch64
264 Hostarch: x86_64
265 # cross build support for the build hosts
266 Preinstall: qemu-linux-user-cross
267 Runscripts: qemu-linux-user-cross
268 Keep: qemu-linux-user-cross
269 %endif
270
271 %ifarch armv7l
272 Preinstall: qemu-accel-armv7l
273 Runscripts: qemu-accel-armv7l
274 Preinstall: libmount libblkid libuuid
275 %endif
276
277 %ifarch aarch64
278 Preinstall: qemu-accel-aarch64
279 Runscripts: qemu-accel-aarch64
280 Preinstall: libmount libblkid libuuid
281 %endif # aarch64
282
283 ########## exports for different architectures ##########
284
285 ExportFilter: \.armv7l\.rpm$ armv7l
286 ExportFilter: \.aarch64\.rpm$ aarch64
287 ExportFilter: \.x86_64\.rpm$ x86_64
288
289 ########## buildroot config ##########
290
291 Preinstall: setup filesystem
292 RunScripts: setup
293
294 Preinstall: bash bzip2 coreutils diffutils grep rpm
295 Preinstall: glibc libacl libattr
296 Preinstall: libcap
297 Preinstall: libgcc
298 Preinstall: libpopt sed tar zlib
299 Preinstall: libncurses libreadline
300 Preinstall: libelf libbz2
301 Preinstall: liblzma
302 Preinstall: nss nspr libfreebl3 libsoftokn3
303 Preinstall: libmagic
304 Preinstall: liblua
305 Preinstall: smack libsmack libxml2 libmagic  libmagic-data
306 Preinstall: libsqlite
307 Preinstall: util-linux
308
309 VMinstall: perl libmount libblkid libext2fs libuuid  grep libpcre util-linux libsmartcols
310
311
312 Required: binutils gcc glibc rpm-build libtool
313 Required: gcc-c++
314
315 Support: glibc-locale
316 Support: perl
317 Support: hostname
318 Support: cpio findutils
319 Support: file findutils zlib bzip2
320 Support: gzip hostname net-tools
321 Support: make  patch sed  gawk tar grep coreutils pkg-config
322 Support: m4  tzdata
323 Support: util-linux
324 Support: less
325 Support: which  elfutils
326 Support: update-alternatives
327 Support: libstdc++-devel
328 Support: cpp
329 Support: libatomic
330 Support: libgomp
331 Support: libitm
332
333 Keep: libstdc++-devel
334 Keep: cpp gcc libstdc++
335 Keep: pam
336 Keep: binutils cpp  libmagic-data file findutils gawk gcc  gcc-c++
337 Keep: gdbm gzip libada libunwind  glibc-devel libpcre xz-lzma-compat
338 Keep: make  gmp libcap groff cpio
339 Keep: patch rpm-build  nss nspr elfutils python grep libgcc gcc-c++
340 Keep: kernel-headers  perl-libs perl
341 Keep: pkgconfig glib2 tizen-rpm-config
342 Keep: libmpc libmpfr libppl libgmp libppl_c
343 Keep: libcloog libppl libgmpxx
344 Keep: nss-softokn-freebl libmagic libmagic-data
345 Keep: setup
346 Keep: update-alternatives
347 Keep: cpp
348 Keep: gcc-c++
349 Keep: libatomic
350 Keep: libgomp
351 Keep: libitm
352
353 Substitute: gettext gettext-tools
354
355 %ifarch x86_64
356 Substitute: glibc-devel-32bit glibc-devel-32bit glibc-32bit
357 Substitute: libgcc_s1-32bit libgcc-32bit
358 %else
359 Substitute: glibc-devel-32bit
360 %endif
361
362 ########## compilation flags ##########
363 # derived from Tizen:Base
364 #######################################