/[packages]/updates/8/chromium-browser-stable/current/SPECS/chromium-browser-stable.spec
ViewVC logotype

Contents of /updates/8/chromium-browser-stable/current/SPECS/chromium-browser-stable.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1581606 - (show annotations) (download)
Thu May 7 22:06:49 2020 UTC (3 years, 11 months ago) by cjw
Original Path: cauldron/chromium-browser-stable/current/SPECS/chromium-browser-stable.spec
File size: 25647 byte(s)
- 81.0.4044.138

1 # eu-strip crashes on chrome binary from this build
2 %define _enable_debug_packages %{nil}
3 %global debug_package %{nil}
4 %global __debug_install_post %{nil}
5
6 %global use_clang 0
7 %global system_icu 1
8 %global system_openjpeg 1
9 %global system_libtiff 1
10 %global system_libvpx 1
11 %global system_dav1d 1
12 # libaom is not actually used (even if configured in gn_config)
13 %global system_libaom 1
14 # system libevent causes the renderer to get stuck
15 %global system_libevent 0
16
17 %if %{system_icu}
18 %define gn_icu icu
19 %endif
20 %if %{system_libvpx}
21 %define gn_libvpx libvpx
22 %endif
23 %if %{system_libaom}
24 %define gn_libaom libaom
25 %endif
26 %if %{system_dav1d}
27 %define gn_dav1d dav1d
28 %endif
29 %if %{system_libevent}
30 %define gn_libevent libevent
31 %endif
32 %if %{use_clang}
33 %define gn_clang is_clang=true
34 %else
35 %define gn_clang is_clang=false
36 %endif
37
38 %define crname chromium-browser
39 %define _crdir %{_libdir}/%{crname}
40 %define __requires_exclude_from ^%{_crdir}/libwidevinecdmadapter.so$
41
42 # eol 'fix' corrupts some .bin
43 %define dont_fix_eol 1
44
45 # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys
46 # Note: these are for Mageia use ONLY.
47 # For your own builds, please get your own set of keys.
48 %define google_api_key AIzaSyDhhIHB_kQZodiWr8yDAm8E3GwEyiXmuDU
49 %define google_default_client_id 1039996407057-q599ngv7i6ni4sbkd2fsns30246r9s9v.apps.googleusercontent.com
50 %define google_default_client_secret mRHXPjlS4cLpp1beCiXoYbLZ
51
52 Name: chromium-browser-stable
53 Version: 81.0.4044.138
54 Release: %mkrel 1
55 Summary: A fast webkit-based web browser
56 Group: Networking/WWW
57 License: BSD, LGPL
58 URL: http://www.chromium.org/Home
59 # http://omahaproxy.appspot.com/
60 # http://googlechromereleases.blogspot.com/
61 Source0: http://commondatastorage.googleapis.com/chromium-browser-official/chromium-%{version}.tar.xz
62 Source1: chromium-wrapper
63 Source2: chromium-browser.desktop
64 Source4: widevine_cdm_version.h.in
65 # from gentoo: compiler setup
66 Patch1: chromium-compiler-r4.patch
67 # fix googleisms in man page
68 Patch2: chromium-mageia.patch
69 # (cjw) Recognize mimetypes for matroska (.mkv) and AVI (.avi) formats (video/x-matroska and audio/x-matroska, video/x-msvideo) + handle A52 "AC3" and DTS compressed audio.
70 Patch6: chromium-55-extra-media.patch
71 # (cjw) [1/2] Recognize mimetypes for WMV (.wmv), FLV (.flv) and MPEG (.mpg) videos
72 Patch7: chromium-40-wmvflvmpg.patch
73 # (cjw) [2/2] Handle more video codecs.
74 Patch8: chromium-40-sorenson-spark.patch
75 # (cjw) disable external components -- this stops chromium from downloading hotword stuff, for example
76 Patch10: chromium-45-no-external-components.patch
77 # (debian) disable third party cookies by default
78 Patch11: chromium-third-party-cookies-off-by-default.patch
79 # (cjw) fix build error due to android-specific code
80 Patch19: chromium-50-codec-warnings.patch
81 # (cjw) remove assertion on "chromium" branding in combination with enabled "proprietary codecs"
82 Patch22: chromium-54-proprietary-codecs-assert.patch
83 # (cjw) disable werror for a compilation warning that causes the build to fail
84 Patch23: chromium-53-bignum-werror-fix.patch
85 # (cjw) add -Wno-error=depecated-declarations because ffmpeg deprecations cause the build to fail
86 Patch24: chromium-53-ffmpeg-no-deprecation-errors.patch
87 # (cjw) link several libraries directly instead of loading them using dlopen()
88 Patch27: chromium-53-link-libgio-libpci-libudev-libbrlapi.patch
89 # (cjw) add missing unbundle gn files (1)
90 Patch28: chromium-53-gn-system-icu-jsoncpp.patch
91 # (cjw) add missing unbundle gn files (2)
92 Patch29: chromium-53-gn-system-opus.patch
93 %if %{system_libtiff}
94 # (cjw) build pdfium with system libtiff
95 Patch30: chromium-52-pdfium-system-libtiff-libpng.patch
96 %endif
97 %if %{system_openjpeg}
98 # (cjw) fix pdfium build with system openjpeg
99 Patch31: chromium-74-pdfium-system-libopenjpeg2.patch
100 %endif
101 # (cjw) fix build with current glib...
102 Patch36: chromium-58-glib.patch
103 # (cjw) use system nodejs to fix build
104 Patch37: chromium-58-system-nodejs.patch
105 # (cjw) redefined macro
106 Patch40: chromium-59-gcc5.patch
107 # (cjw) system libvpx
108 Patch42: chromium-60-system-libvpx.patch
109 # (cjw) fix coding errors resulting in gcc 7 warning
110 Patch54: chromium-62-gcc7.patch
111 # (cjw) fix gcc errors and warnings
112 Patch177: chromium-64-gcc7.patch
113 # (cjw) fix even more gcc warnings
114 Patch179: chromium-65-gcc7.patch
115 # (cjw) fix yet mmore gcc warnings
116 Patch182: chromium-66-gcc7.patch
117 # (cjw) fix a few more gcc warnings
118 Patch184: chromium-67-gcc7.patch
119 # (cjw) more gcc warnings
120 Patch186: chromium-68-gcc7.patch
121 # (cjw) moore gcc warnings
122 Patch188: chromium-68-gcc8.patch
123 # (cjw) and more gcc warnings
124 Patch189: chromium-69-gcc7.patch
125 # (cjw) fix gn bootstrapping with gcc
126 Patch190: chromium-69-gn-bootstrap.patch
127 # (cjw) moooore gcc warnings
128 Patch192: chromium-70-gcc8.patch
129 # (cjw) build fixes for 64-bit arm
130 Patch193: chromium-70-aarch64.patch
131 # (cjw) gn bootstrap fix
132 Patch195: chromium-72-gn-bootstrap.patch
133 # (cjw) yet more gcc warnings
134 Patch196: chromium-72-gcc8.patch
135 # (cjw) use system closure compiler
136 Patch197: chromium-72-system-closure-compiler.patch
137 # (cjw) fix i586 build
138 Patch198: chromium-72-i586.patch
139 # (cjw) some more gcc warnings
140 Patch199: chromium-73-gcc8.patch
141 # (cjw) gcc warnings
142 Patch200: chromium-74-gcc8.patch
143 # (cjw) gcc warnings
144 Patch201: chromium-75-gcc8.patch
145 # (cjw) fixes for gcc warnings that do not work with clang
146 %if !%{use_clang}
147 Patch203: chromium-75-gcc-only.patch
148 %endif
149 # (cjw) gcc warnings
150 Patch205: chromium-76-gcc8.patch
151 # (cjw) gcc warnings
152 Patch207: chromium-77-gcc9.patch
153 # (cjw) fix build with system icu
154 Patch209: chromium-77-system-icu.patch
155 # (cjw) fixes for gcc warnings that do not work with clang
156 %if !%{use_clang}
157 Patch211: chromium-77-gcc-only.patch
158 %endif
159 # (cjw) force use of python2, since python3 does not work
160 Patch215: chromium-77-python2.patch
161 # (cjw) gcc warnings
162 Patch216: chromium-78-gcc.patch
163 # (cjw) support using system libaom
164 Patch219: chromium-79-system-libaom.patch
165 # (cjw) gcc warnings
166 Patch220: chromium-79-gcc.patch
167 %if !%{use_clang}
168 # fixes for gcc warnings that do not work with clang
169 Patch221: chromium-79-gcc-only.patch
170 %endif
171 # (cjw) support using system dav1d
172 Patch224: chromium-79-system-dav1d.patch
173 # (cjw) gcc warnings
174 Patch226: chromium-80-gcc.patch
175 %if !%{use_clang}
176 # fixes for gcc warnings that do not work with clang
177 Patch230: chromium-80-gcc-only.patch
178 %endif
179 # (cjw) gcc warnings
180 Patch231: chromium-81-gcc.patch
181
182 Provides: %{crname}
183 Obsoletes: chromium-browser-unstable < 26.0.1410.51
184 Obsoletes: chromium-browser-beta < 26.0.1410.51
185 Obsoletes: chromium-browser < 1:9.0.597.94
186 BuildRequires: bison
187 BuildRequires: flex
188 BuildRequires: gperf
189 %if %{system_icu}
190 BuildRequires: icu
191 %endif
192 BuildRequires: ninja
193 BuildRequires: python2
194 BuildRequires: yasm
195 BuildRequires: bzip2-devel
196 #BuildRequires: closure-compiler
197 BuildRequires: cups-devel
198 BuildRequires: elfutils-devel
199 BuildRequires: ffmpeg-devel
200 BuildRequires: glib2-devel
201 BuildRequires: gtk3-devel
202 BuildRequires: libatomic-devel
203 %if %{system_libevent}
204 BuildRequires: libevent-devel
205 %endif
206 BuildRequires: libmesagl-devel
207 BuildRequires: libpam-devel
208 BuildRequires: libpulseaudio-devel
209 BuildRequires: mesaglesv2-devel
210 %if %mgaver >= 6
211 BuildRequires: nodejs
212 %endif
213 BuildRequires: osmesa-devel
214 #BuildRequires: protobuf-devel
215 BuildRequires: snappy-devel
216 BuildRequires: perl(Switch)
217 BuildRequires: pkgconfig(alsa)
218 BuildRequires: pkgconfig(atk)
219 %if %{system_dav1d}
220 BuildRequires: pkgconfig(dav1d)
221 %endif
222 BuildRequires: pkgconfig(dbus-glib-1)
223 BuildRequires: pkgconfig(expat)
224 BuildRequires: pkgconfig(flac)
225 BuildRequires: pkgconfig(fontconfig)
226 BuildRequires: pkgconfig(freetype2)
227 BuildRequires: pkgconfig(glu)
228 BuildRequires: pkgconfig(gnome-keyring-1)
229 BuildRequires: pkgconfig(gnutls)
230 %if %mgaver >= 7
231 BuildRequires: pkgconfig(harfbuzz)
232 %endif
233 %if %{system_icu}
234 BuildRequires: pkgconfig(icu-i18n)
235 %endif
236 BuildRequires: pkgconfig(jsoncpp)
237 BuildRequires: pkgconfig(libcap)
238 BuildRequires: pkgconfig(libdrm)
239 BuildRequires: pkgconfig(libexif)
240 BuildRequires: pkgconfig(libjpeg)
241 BuildRequires: pkgconfig(libopenjp2)
242 BuildRequires: pkgconfig(libpci)
243 BuildRequires: pkgconfig(libpng)
244 %if %{system_libtiff}
245 BuildRequires: pkgconfig(libtiff-4)
246 %endif
247 BuildRequires: pkgconfig(libusb-1.0)
248 %if %{system_libvpx}
249 BuildRequires: pkgconfig(libvpx)
250 %endif
251 BuildRequires: pkgconfig(libwebp)
252 BuildRequires: pkgconfig(libxml-2.0)
253 BuildRequires: pkgconfig(libxslt)
254 BuildRequires: pkgconfig(minizip)
255 BuildRequires: pkgconfig(nspr)
256 BuildRequires: pkgconfig(nss)
257 BuildRequires: pkgconfig(opus)
258 BuildRequires: pkgconfig(speech-dispatcher)
259 BuildRequires: pkgconfig(speex)
260 BuildRequires: pkgconfig(udev)
261 BuildRequires: pkgconfig(xscrnsaver)
262 BuildRequires: pkgconfig(xt)
263 BuildRequires: pkgconfig(xtst)
264 BuildRequires: pkgconfig(zlib)
265 %if %{use_clang}
266 BuildRequires: clang
267 %endif
268
269 # Unused but building gn wants it to be present
270 BuildRequires: pkgconfig(gconf-2.0)
271 BuildRequires: git
272 ExclusiveArch: i586 x86_64
273 # aarch64 does not build without fewer than default parallel jobs config
274 # armv5tl armv7hl
275
276 %description
277 Chromium is a browser that combines a minimal design with sophisticated
278 technology to make the web faster, safer, and easier.
279
280 For certain media playback features - AAC decoding - this package
281 currently assumes decoder support is available, while that is only true if
282 the 'tainted' variety of the libavcodec package is installed. When the 'core'
283 variety of libavcodec is installed, chromium may output noise for AAC audio.
284
285 %ifarch %{ix86}
286 The i586 build of this package does not work on machines that do not
287 support the SSE2 instruction set extension.
288 %endif
289
290 %package -n chromium-browser
291 Summary: A fast webkit-based web browser (transition package)
292 Epoch: 1
293 Group: Networking/WWW
294 Requires: %{name} = %{version}-%{release}
295
296 %description -n chromium-browser
297 Chromium is a browser that combines a minimal design with sophisticated
298 technology to make the web faster, safer, and easier.
299
300 This is a transition package that installs the stable channel Chromium
301 browser.
302
303 %prep
304 %setup -q -n chromium-%{version}
305 %autopatch -p1
306
307 # files we do not want from upstream source bundles
308 rm -r --interactive=never third_party/breakpad/breakpad/src/processor/testdata/
309 rm -r --interactive=never third_party/breakpad/breakpad/src/tools
310 rm -r --interactive=never chrome/common/extensions/docs/
311 rm -r --interactive=never chrome/test/data/{android,app_shim,apptest,ash,autofill,automation,automation_proxy_snapshot,banners,bookmark_html_reader,bookmarks,captive_portal,chromedriver,chrome_endure,chromeos,click_modifier,components,constrained_files,content,content_setting_bubble,devtools,diagnostics,dom_automation,dom_checker,dom_distiller,downloads,drive_first_run,dromaeo,durable,edge_database_reader,edge_profile,encoding_tests,extensions,fast_shutdown,fast_tab_close,favicon,feeds,file_select_helper,find_in_page,firefox320_profile,firefox35_profile,firefox3_nss,firefox3_nss_mac,firefox3_profile,firefox_profile,firefox_searchplugins,focus,frame_dom_access,frame_tree,ftp,fullscreen_mouselock,geolocation,google,gpu,History,image_decoding,image_search,import,indexeddb,inspector,installer,interstitial_page,login,native_messaging,navigation_interception,notifications,page_cycler,page_load_metrics,password,pdf,pepper,perf,permissions,plugin_power_saver,policy,popup_blocker,predictor,prefs,pref_service,prerender,printing,profiles,push_messaging,referrer_policy,safe_browsing,save_page,scroll,session_history,session_restore,sessions,settings,speech,ssl,subresource_filter,sunspider,sync,template_url_scraper,textinput,third_party,top_sites,translate,unit,v8_benchmark_v6,viewsource,web_app_info,webrtc,websocket,webui_test_resources.grd,whitelists,workers}
312 rm -r --interactive=never chrome/test/data/nacl/{pnacl_error_handling,cross_origin,irt_exception,pnacl_request_header,nonsfi,pnacl_url_loader,pnacl_hw_eh_disabled,pnacl_nmf_options,pnacl_dyncode_syscall_disabled,extension_mime_handler,ppapi_test_lib,bad,ppapi,manifest,pnacl_debug_url,extension_validation_cache,exit_status,progress_events,manifest_file,sysconf_nprocessors_onln,crash,pnacl_mime_type}
313 rmdir chrome/test/data/webui/{settings,extensions}/a11y
314 rmdir chrome/test/data/webui/settings/chromeos/app_management
315 rmdir chrome/test/data/webui/settings/chromeos
316 rmdir chrome/test/data/webui/{engagement,extensions,print_preview,history,net_internals}
317 rm -r --interactive=never components/test/data/update_client/jebgalgnebhfojomionfpkfelancnnkf/component1.dll
318 rm -r --interactive=never content/test/data/
319 rm -r --interactive=never ppapi/native_client/tests/
320 rm -r --interactive=never third_party/apache-win32/
321 rm -r --interactive=never third_party/binutils/
322 rm -r --interactive=never third_party/expat/{fuzz,include,src}
323 rm -r --interactive=never third_party/ffmpeg/*/*
324 rm -r --interactive=never third_party/flac/{include,src}
325 %if %{system_icu}
326 rm -r --interactive=never third_party/icu/{android,android_small,common,patches,source,chromeos,ios}
327 %endif
328 rm -r --interactive=never third_party/jsoncpp/source
329 rm -r --interactive=never third_party/lcov
330 %if %{system_libevent}
331 rm -r --interactive=never base/third_party/libevent/*/*
332 rm -r --interactive=never base/third_party/libevent/*.[ch]
333 %endif
334 %if %{system_libvpx}
335 rm -r --interactive=never third_party/libvpx/source/{libvpx,config}
336 %endif
337 %if %{system_libaom}
338 rm -r --interactive=never third_party/libaom/source
339 %endif
340 %if %{system_dav1d}
341 rm -r --interactive=never third_party/dav1d/{libdav1d,version}
342 %endif
343 rm -r --interactive=never third_party/libjpeg_turbo/*.[ch]
344 rm -r --interactive=never third_party/libpng/*.[ch]
345 rm -r --interactive=never third_party/libxslt/{linux,mac,src,win32}
346 rm -r --interactive=never third_party/xdg-utils/tests/
347 rm -r --interactive=never third_party/yasm/source/
348 rm -r --interactive=never third_party/zlib/{*.[ch],contrib/minizip}
349 rm -r --interactive=never native_client_sdk/src/tools/lib/tests/data
350 rm -r --interactive=never buildtools/third_party/eu-strip/bin
351 rm -r --interactive=never third_party/pdfium/third_party/eu-strip
352 rm --interactive=never third_party/pdfium/third_party/libopenjpeg20/*.[ch]
353 rm -r --interactive=never third_party/pdfium/third_party/libpng16
354 %if %{system_libtiff}
355 rm --interactive=never third_party/pdfium/third_party/libtiff/*.[ch]
356 %endif
357 rm -r --interactive=never third_party/pdfium/third_party/yasm/source
358 rm --interactive=never third_party/swiftshader/third_party/PowerVR_SDK/Utilities/Filewrap/Windows_x86_32/Filewrap.exe
359 rm --interactive=never native_client/tools/redirector.exe
360 rm --interactive=never third_party/webrtc/data/voice_engine/stereo_rtp_files/rtpplay.exe
361 rm -r --interactive=never third_party/llvm
362 rm --interactive=never third_party/webgl/src/sdk/demos/google/san-angeles/gles/t/SanOGLES-Gerbera.exe
363 rm --interactive=never third_party/webgl/src/sdk/demos/google/san-angeles/gles/t/SanOGLES-PVRSDK.exe
364 rm --interactive=never third_party/webgl/src/sdk/demos/google/san-angeles/gles/t/libGLES_CM.dll
365 rm --interactive=never third_party/webgl/src/sdk/demos/google/san-angeles/gles/bob/bob
366 rm --interactive=never third_party/webgl/src/sdk/demos/google/san-angeles/glut/SanOGLES
367 rm --interactive=never third_party/lzma_sdk/Executable/7za.exe
368 rm --interactive=never third_party/lzma_sdk/7zr.exe
369 rm --interactive=never third_party/breakpad/symupload.exe
370 rm -r --interactive=never third_party/catapult/third_party/google-endpoints/setuptools
371 rm -r --interactive=never third_party/catapult/third_party/vinn/third_party/v8
372 rm --interactive=never third_party/depot_tools/ninja.exe
373 rm --interactive=never third_party/depot_tools/ninja-linux32
374 rm --interactive=never third_party/depot_tools/ninja-linux64
375 rm -r --interactive=never native_client/tools/hermetic_cygwin
376 rm -r --interactive=never base/test/data/pe_image/
377 rm -r --interactive=never base/test/data/file_version_info_unittest
378 rm -r --interactive=never chrome/chrome_cleaner/test/resources/signed_dll
379 rm --interactive=never third_party/crashpad/crashpad/handler/win/z7_test.dll
380 rm -r --interactive=never third_party/crashpad/crashpad/snapshot/elf/elf_image_reader_fuzzer_corpus
381 rm -r --interactive=never third_party/boringssl/src/util/ar/testdata
382 rm -r --interactive=never third_party/pyelftools/test/testfiles_for_unittests
383 rm -r --interactive=never third_party/pyelftools/test/external_tools
384 rm -r --interactive=never third_party/pyelftools/test/testfiles_for_readelf
385 rm -r --interactive=never third_party/pyelftools/examples
386 rm -r --interactive=never third_party/skia/platform_tools/android/bin
387 rm --interactive=never third_party/nasm/travis/test/tmap.o.t
388 rm -r --interactive=never third_party/chromite/lib/datafiles
389 rm -r --interactive=never components/test/data/update_client
390 rm -r --interactive=never build/android/tests/symbolize
391
392 rm --interactive=never third_party/skia/platform_tools/android/apps/gradle/wrapper/gradle-wrapper.jar
393 rm --interactive=never third_party/libphonenumber/dist/tools/java/java-build/target/java-build-1.0-SNAPSHOT-jar-with-dependencies.jar
394 rm --interactive=never third_party/libphonenumber/dist/tools/java/cpp-build/target/cpp-build-1.0-SNAPSHOT-jar-with-dependencies.jar
395 rm -r --interactive=never third_party/libphonenumber/dist/java/demo/war/WEB-INF/lib
396 rm -r --interactive=never third_party/libphonenumber/dist/java/lib
397 rm --interactive=never third_party/webrtc/examples/androidapp/third_party/autobanh/lib/autobanh.jar
398 rm -r --interactive=never third_party/cacheinvalidation/src/example-app-build/libs
399 rm --interactive=never third_party/closure_compiler/compiler/compiler.jar
400 rm --interactive=never third_party/flatbuffers/src/android/gradle/wrapper/gradle-wrapper.jar
401 rm --interactive=never third_party/flatbuffers/src/samples/android/gradle/wrapper/gradle-wrapper.jar
402 rm --interactive=never third_party/devtools-frontend/src/scripts/closure/compiler.jar
403 rm --interactive=never third_party/devtools-frontend/src/scripts/closure/closure_runner/closure_runner.jar
404 rm --interactive=never third_party/devtools-frontend/src/scripts/jsdoc_validator/jsdoc_validator.jar
405 rm --interactive=never third_party/gradle_wrapper/gradle/wrapper/gradle-wrapper.jar
406 rm --interactive=never third_party/webgl/src/conformance-suites/2.0.0/deqp/compiler.jar
407
408 %if %{system_libevent}
409 find base/third_party/libevent -type f \! -regex '.*\.\(gn\|gni\|isolate\)' -delete
410 %endif
411
412 %if %{system_icu}
413 # Remove bundled ICU; its header files appear to get picked up instead of
414 # the system ones, leading to errors during the final link stage.
415 # https://groups.google.com/a/chromium.org/d/topic/chromium-packagers/BNGvJc08B6Q
416 find third_party/icu -type f \! -regex '.*\.\(gn\|gni\|isolate\)' -delete
417 %endif
418
419 # Hard code extra version
420 FILE=chrome/common/channel_info_posix.cc
421 sed -i.orig -re 's/char\s*\*(.*)getenv\("CHROME_VERSION_EXTRA"\)/char const *\1"%{product_vendor} %{product_version}"/' $FILE
422 if diff -u $FILE $FILE.orig >/dev/null; then
423 exit 1
424 fi
425
426 # version taken from: strings opt/google/chrome-unstable/chrome | grep -C 1 " (version:"
427 %define widevine_version 1.4.8.1008
428 for chrome_arch in ia32 x64; do
429 mkdir -p third_party/widevine/cdm/linux/${chrome_arch}
430 sed -e "s/@WIDEVINE_VERSION@/%{widevine_version}/" %{SOURCE4} > third_party/widevine/cdm/linux/${chrome_arch}/widevine_cdm_version.h
431 done
432
433 %build
434 %define system_gn_list ffmpeg flac libwebp libxml libxslt snappy yasm %{?gn_libvpx} libpng %{?gn_icu} zlib jsoncpp opus libdrm %{?gn_libaom} %{?gn_dav1d} %{?gn_libevent}
435 # handled by upstream regular build scripts? : freetype harfbuzz-ng
436 # mesa
437
438 # v NO TABS IN HERE!
439 %define gn_config use_sysroot=false \
440 system_libdir="%{_lib}" \
441 icu_use_data_file=true \
442 enable_nacl=false \
443 is_nacl_glibc=false \
444 binutils_path="%{_bindir}" \
445 linux_use_bundled_binutils=false \
446 custom_toolchain="//build/toolchain/linux/unbundle:default" \
447 host_toolchain="//build/toolchain/linux/unbundle:default" \
448 proprietary_codecs=true \
449 linux_link_libudev = true \
450 linux_link_libspeechd = true \
451 enable_platform_ac3_eac3_audio = true \
452 enable_mse_mpeg2ts_stream_parser=true \
453 enable_platform_hevc=true \
454 use_system_libjpeg=true \
455 use_system_libopenjpeg2=true \
456 use_libjpeg_turbo=false \
457 enable_widevine=true \
458 pdf_enable_xfa=true \
459 gtk_version=3 \
460 fatal_linker_warnings=false \
461 use_libpci = true \
462 use_pulseaudio=true \
463 use_allocator="none" \
464 is_debug=false \
465 %{?gn_clang} \
466 clang_use_chrome_plugins=false \
467 use_lld=false \
468 use_system_freetype=true \
469 use_system_harfbuzz=true \
470 use_system_libpng=true \
471 enable_dav1d_decoder=true enable_libaom_decoder=false \
472 use_custom_libcxx=false \
473 closure_compile=false \
474 google_api_key="%{google_api_key}" \
475 google_default_client_id="%{google_default_client_id}" \
476 google_default_client_secret="%{google_default_client_secret}"
477
478
479 # enable_browser_cdms=true \
480
481 build/linux/unbundle/replace_gn_files.py --system-libraries %{system_gn_list}
482 third_party/libaddressinput/chromium/tools/update-strings.py
483
484 %set_build_flags
485 %if %{use_clang}
486 CC=clang; export CC
487 CXX=clang++; export CXX
488 %else
489 CC=%{__cc}; export CC
490 CXX=%{__cxx}; export CXX
491 %endif
492 AR=%{__ar}; export AR
493 NM=%{__nm}; export NM
494 LD="%{__cxx} -fuse-ld=gold"; export LD
495
496 # filter out -g from CFLAGS and CXXFLAGS to fix builds
497 CFLAGS=$(echo "$CFLAGS"|sed -e 's/-g //')
498 CXXFLAGS=$(echo "$CXXFLAGS"|sed -e 's/-g //')
499 CXXFLAGS="$CXXFLAGS -faligned-new -Wno-attributes"
500 %if %{use_clang}
501 CFLAGS="$CFLAGS -Wno-error=unused-result"
502 CXXFLAGS="$CXXFLAGS -Wno-error=deprecated-declarations"
503 %else
504 CXXFLAGS="$CXXFLAGS -Wno-error=class-memaccess -Wno-error=unknown-pragmas -Wno-error=array-bounds"
505 %endif
506 %ifarch %ix86
507 LDFLAGS="$LDFLAGS -Wl,--no-keep-files-mapped"
508 %endif
509
510 %ifarch %{ix86}
511 CFLAGS="$CFLAGS -msse2"
512 CXXFLAGS="$CXXFLAGS -msse2"
513 %endif
514
515 python2 tools/gn/bootstrap/bootstrap.py --gn-gen-args='%{gn_config}'
516
517 out/Release/gn gen --script-executable=/usr/bin/python2 --args='%{gn_config}' out/Release
518
519 pushd out/Release
520 ninja %{_smp_mflags} chrome chrome_sandbox
521 popd
522
523 # man page
524 sed -e "s/@@PACKAGE@@/chromium/" -e "s/@@MENUNAME@@/Chromium Web Browser/" chrome/app/resources/manpage.1.in >out/Release/chromium.1
525
526 %install
527 ls out/Release
528 mkdir -p %{buildroot}%{_bindir}
529 mkdir -p %{buildroot}%{_crdir}/locales
530 mkdir -p %{buildroot}%{_crdir}/themes
531 mkdir -p %{buildroot}%{_mandir}/man1
532 install -m 755 %{_sourcedir}/chromium-wrapper %{buildroot}%{_crdir}/
533 install -m 755 out/Release/chrome %{buildroot}%{_crdir}/
534 install -m 4755 out/Release/chrome_sandbox %{buildroot}%{_crdir}/chrome-sandbox
535 install -m 644 out/Release/chromium.1 %{buildroot}%{_mandir}/man1/%{crname}.1
536 install -m 644 out/Release/chrome_100_percent.pak %{buildroot}%{_crdir}/
537 install -m 644 out/Release/chrome_200_percent.pak %{buildroot}%{_crdir}/
538 install -m 644 out/Release/resources.pak %{buildroot}%{_crdir}/
539 install -m 644 out/Release/snapshot_blob.bin %{buildroot}%{_crdir}/
540 install -m 755 out/Release/mksnapshot %{buildroot}%{_crdir}/
541 install -m 644 out/Release/locales/*.pak %{buildroot}%{_crdir}/locales/
542 install -m 644 out/Release/v8_context_snapshot.bin %{buildroot}%{_crdir}/
543 install -m 755 out/Release/libEGL.so %{buildroot}%{_crdir}/
544 install -m 755 out/Release/libGLESv2.so %{buildroot}%{_crdir}/
545 ln -s %{_crdir}/chromium-wrapper %{buildroot}%{_bindir}/%{crname}
546
547 %ifarch %{ix86} x86_64
548 mkdir -p %{buildroot}%{_crdir}/swiftshader
549 install -m 755 out/Release/swiftshader/*.so %{buildroot}%{_crdir}/swiftshader/
550 %endif
551
552 find out/Release/resources/ -name "*.d" -exec rm {} \;
553 cp -r out/Release/resources %{buildroot}%{_crdir}
554
555 # desktop file
556 mkdir -p %{buildroot}%{_datadir}/applications
557 install -m 644 %{_sourcedir}/%{crname}.desktop %{buildroot}%{_datadir}/applications/
558
559 %if %{system_icu}
560 # symlink to ICU data file
561 ICUDATADIR=$(icuinfo | grep \"icudata.path\" | sed -re 's/^.*>(.*)<.*$/\1/')
562 ICUDATANAME=$(icuinfo | grep \"icudata.name\" | sed -re 's/^.*>(.*)<.*$/\1/')
563 ICUDATAFILE=$(realpath --relative-to=%{_crdir}/ ${ICUDATADIR}/${ICUDATANAME}.dat)
564 ln -s ${ICUDATAFILE} %{buildroot}%{_crdir}/icudtl.dat
565 %else
566 install -m 644 out/Release/icudtl.dat %{buildroot}%{_crdir}/
567 %endif
568
569 # icon
570 for i in 22_mono 24 32 48 64 128 256; do
571 mkdir -p %{buildroot}%{_iconsdir}/hicolor/${i}x${i}/apps
572 if [ -f chrome/app/theme/chromium/product_logo_$i.png ]; then
573 install -m 644 chrome/app/theme/chromium/product_logo_$i.png \
574 %{buildroot}%{_iconsdir}/hicolor/${i}x${i}/apps/%{crname}.png
575 else
576 install -m 644 chrome/app/theme/chromium/linux/product_logo_$i.xpm \
577 %{buildroot}%{_iconsdir}/hicolor/${i}x${i}/apps/%{crname}.xpm
578 fi
579 done
580
581 %files -n chromium-browser
582
583 %files
584 %{_bindir}/%{crname}
585 %dir %{_crdir}
586 %{_crdir}/chromium-wrapper
587 %{_crdir}/chrome
588 %attr(4755,root,root) %{_crdir}/chrome-sandbox
589 %{_crdir}/icudtl.dat
590 %{_crdir}/locales
591 %{_crdir}/snapshot_blob.bin
592 %{_crdir}/resources.pak
593 %{_crdir}/resources
594 %{_crdir}/chrome_100_percent.pak
595 %{_crdir}/chrome_200_percent.pak
596 %{_crdir}/mksnapshot
597 %{_crdir}/themes
598 %{_crdir}/libEGL.so
599 %{_crdir}/libGLESv2.so
600 %ifarch %{ix86} x86_64
601 %{_crdir}/swiftshader
602 %endif
603 %{_crdir}/v8_context_snapshot.bin
604 %{_mandir}/man1/%{crname}*
605 %{_datadir}/applications/*.desktop
606 %{_iconsdir}/hicolor/*/apps/%{crname}.png
607 %{_iconsdir}/hicolor/*/apps/%{crname}.xpm

  ViewVC Help
Powered by ViewVC 1.1.30