/[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 1558027 - (show annotations) (download)
Thu Mar 19 15:37:38 2020 UTC (4 years, 1 month ago) by cjw
Original Path: cauldron/chromium-browser-stable/current/SPECS/chromium-browser-stable.spec
File size: 26286 byte(s)
- 80.0.3987.149

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: 80.0.3987.149
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) system zlib build fix
152 Patch206: chromium-77-system-zlib.patch
153 # (cjw) gcc warnings
154 Patch207: chromium-77-gcc9.patch
155 # (cjw) fix build with system icu
156 Patch209: chromium-77-system-icu.patch
157 # (cjw) fixes for gcc warnings that do not work with clang
158 %if !%{use_clang}
159 Patch211: chromium-77-gcc-only.patch
160 %endif
161 # (cjw) force use of python2, since python3 does not work
162 Patch215: chromium-77-python2.patch
163 # (cjw) gcc warnings
164 Patch216: chromium-78-gcc.patch
165 # (cjw) support using system libaom
166 Patch219: chromium-79-system-libaom.patch
167 # (cjw) gcc warnings
168 Patch220: chromium-79-gcc.patch
169 %if !%{use_clang}
170 # fixes for gcc warnings that do not work with clang
171 Patch221: chromium-79-gcc-only.patch
172 %endif
173 # (cjw) support using system dav1d
174 Patch224: chromium-79-system-dav1d.patch
175 # (cjw) from gentoo: fix libxml unbundling for chromium libxml wrapper
176 Patch225: chromium-80-unbundle-libxml.patch
177 # (cjw) gcc warnings
178 Patch226: chromium-80-gcc.patch
179 # (cjw) upstream fix for gcc build error
180 Patch227: chromium-80-22cd5f5f9f8af1f343e9fa747c03fc79667a60ea.patch
181 # (cjw) upstream fix for gcc build error
182 Patch228: chromium-80-cdf3e81ff49b200213d67d65558f2919222b60ab.patch
183 # (cjw) upstream fix for gcc build error
184 Patch229: chromium-80-5633ce55ffd8e3df4a2c8c29c597b48aa7676435.patch
185 %if !%{use_clang}
186 # fixes for gcc warnings that do not work with clang
187 Patch230: chromium-80-gcc-only.patch
188 %endif
189
190 Provides: %{crname}
191 Obsoletes: chromium-browser-unstable < 26.0.1410.51
192 Obsoletes: chromium-browser-beta < 26.0.1410.51
193 Obsoletes: chromium-browser < 1:9.0.597.94
194 BuildRequires: bison
195 BuildRequires: flex
196 BuildRequires: gperf
197 %if %{system_icu}
198 BuildRequires: icu
199 %endif
200 BuildRequires: ninja
201 BuildRequires: python2
202 BuildRequires: yasm
203 BuildRequires: bzip2-devel
204 #BuildRequires: closure-compiler
205 BuildRequires: cups-devel
206 BuildRequires: elfutils-devel
207 BuildRequires: ffmpeg-devel
208 BuildRequires: glib2-devel
209 BuildRequires: gtk3-devel
210 BuildRequires: libatomic-devel
211 %if %{system_libevent}
212 BuildRequires: libevent-devel
213 %endif
214 BuildRequires: libmesagl-devel
215 BuildRequires: libpam-devel
216 BuildRequires: libpulseaudio-devel
217 BuildRequires: mesaglesv2-devel
218 %if %mgaver >= 6
219 BuildRequires: nodejs
220 %endif
221 BuildRequires: osmesa-devel
222 #BuildRequires: protobuf-devel
223 BuildRequires: snappy-devel
224 BuildRequires: perl(Switch)
225 BuildRequires: pkgconfig(alsa)
226 BuildRequires: pkgconfig(atk)
227 %if %{system_dav1d}
228 BuildRequires: pkgconfig(dav1d)
229 %endif
230 BuildRequires: pkgconfig(dbus-glib-1)
231 BuildRequires: pkgconfig(expat)
232 BuildRequires: pkgconfig(flac)
233 BuildRequires: pkgconfig(fontconfig)
234 BuildRequires: pkgconfig(freetype2)
235 BuildRequires: pkgconfig(glu)
236 BuildRequires: pkgconfig(gnome-keyring-1)
237 BuildRequires: pkgconfig(gnutls)
238 %if %mgaver >= 7
239 BuildRequires: pkgconfig(harfbuzz)
240 %endif
241 %if %{system_icu}
242 BuildRequires: pkgconfig(icu-i18n)
243 %endif
244 BuildRequires: pkgconfig(jsoncpp)
245 BuildRequires: pkgconfig(libcap)
246 BuildRequires: pkgconfig(libdrm)
247 BuildRequires: pkgconfig(libexif)
248 BuildRequires: pkgconfig(libjpeg)
249 BuildRequires: pkgconfig(libopenjp2)
250 BuildRequires: pkgconfig(libpci)
251 BuildRequires: pkgconfig(libpng)
252 %if %{system_libtiff}
253 BuildRequires: pkgconfig(libtiff-4)
254 %endif
255 BuildRequires: pkgconfig(libusb-1.0)
256 %if %{system_libvpx}
257 BuildRequires: pkgconfig(libvpx)
258 %endif
259 BuildRequires: pkgconfig(libwebp)
260 BuildRequires: pkgconfig(libxml-2.0)
261 BuildRequires: pkgconfig(libxslt)
262 BuildRequires: pkgconfig(minizip)
263 BuildRequires: pkgconfig(nspr)
264 BuildRequires: pkgconfig(nss)
265 BuildRequires: pkgconfig(opus)
266 BuildRequires: pkgconfig(speech-dispatcher)
267 BuildRequires: pkgconfig(speex)
268 BuildRequires: pkgconfig(udev)
269 BuildRequires: pkgconfig(xscrnsaver)
270 BuildRequires: pkgconfig(xt)
271 BuildRequires: pkgconfig(xtst)
272 BuildRequires: pkgconfig(zlib)
273 %if %{use_clang}
274 BuildRequires: clang
275 %endif
276
277 # Unused but building gn wants it to be present
278 BuildRequires: pkgconfig(gconf-2.0)
279 BuildRequires: git
280 ExclusiveArch: i586 x86_64
281 # aarch64 does not build without fewer than default parallel jobs config
282 # armv5tl armv7hl
283
284 %description
285 Chromium is a browser that combines a minimal design with sophisticated
286 technology to make the web faster, safer, and easier.
287
288 For certain media playback features - AAC decoding - this package
289 currently assumes decoder support is available, while that is only true if
290 the 'tainted' variety of the libavcodec package is installed. When the 'core'
291 variety of libavcodec is installed, chromium may output noise for AAC audio.
292
293 %ifarch %{ix86}
294 The i586 build of this package does not work on machines that do not
295 support the SSE2 instruction set extension.
296 %endif
297
298 %package -n chromium-browser
299 Summary: A fast webkit-based web browser (transition package)
300 Epoch: 1
301 Group: Networking/WWW
302 Requires: %{name} = %{version}-%{release}
303
304 %description -n chromium-browser
305 Chromium is a browser that combines a minimal design with sophisticated
306 technology to make the web faster, safer, and easier.
307
308 This is a transition package that installs the stable channel Chromium
309 browser.
310
311 %prep
312 %setup -q -n chromium-%{version}
313 %autopatch -p1
314
315 # files we do not want from upstream source bundles
316 rm -r --interactive=never third_party/breakpad/breakpad/src/processor/testdata/
317 rm -r --interactive=never third_party/breakpad/breakpad/src/tools
318 rm -r --interactive=never chrome/common/extensions/docs/
319 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}
320 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}
321 rmdir chrome/test/data/webui/{settings,extensions}/a11y
322 rmdir chrome/test/data/webui/settings/chromeos/app_management
323 rmdir chrome/test/data/webui/settings/chromeos
324 rmdir chrome/test/data/webui/{engagement,extensions,print_preview,settings,history,net_internals}
325 rm -r --interactive=never components/test/data/update_client/jebgalgnebhfojomionfpkfelancnnkf/component1.dll
326 rm -r --interactive=never content/test/data/
327 rm -r --interactive=never ppapi/native_client/tests/
328 rm -r --interactive=never third_party/apache-win32/
329 rm -r --interactive=never third_party/binutils/
330 rm -r --interactive=never third_party/expat/{fuzz,include,src}
331 rm -r --interactive=never third_party/ffmpeg/*/*
332 rm -r --interactive=never third_party/flac/{include,src}
333 %if %{system_icu}
334 rm -r --interactive=never third_party/icu/{android,android_small,common,patches,source,chromeos,ios}
335 %endif
336 rm -r --interactive=never third_party/jsoncpp/source
337 rm -r --interactive=never third_party/lcov
338 %if %{system_libevent}
339 rm -r --interactive=never base/third_party/libevent/*/*
340 rm -r --interactive=never base/third_party/libevent/*.[ch]
341 %endif
342 %if %{system_libvpx}
343 rm -r --interactive=never third_party/libvpx/source/{libvpx,config}
344 %endif
345 %if %{system_libaom}
346 rm -r --interactive=never third_party/libaom/source
347 %endif
348 %if %{system_dav1d}
349 rm -r --interactive=never third_party/dav1d/{libdav1d,version}
350 %endif
351 rm -r --interactive=never third_party/libjpeg/*.[ch]
352 rm -r --interactive=never third_party/libjpeg_turbo/*.[ch]
353 rm -r --interactive=never third_party/libpng/*.[ch]
354 rm -r --interactive=never third_party/libxslt/{linux,mac,src,win32}
355 rm -r --interactive=never third_party/xdg-utils/tests/
356 rm -r --interactive=never third_party/yasm/source/
357 rm -r --interactive=never third_party/zlib/{*.[ch],contrib/minizip}
358 rm -r --interactive=never native_client_sdk/src/tools/lib/tests/data
359 rm -r --interactive=never buildtools/third_party/eu-strip/bin
360 rm -r --interactive=never third_party/pdfium/third_party/eu-strip
361 rm --interactive=never third_party/pdfium/third_party/libopenjpeg20/*.[ch]
362 rm -r --interactive=never third_party/pdfium/third_party/libpng16
363 %if %{system_libtiff}
364 rm --interactive=never third_party/pdfium/third_party/libtiff/*.[ch]
365 %endif
366 rm -r --interactive=never third_party/pdfium/third_party/yasm/source
367 rm --interactive=never third_party/swiftshader/third_party/PowerVR_SDK/Utilities/Filewrap/Windows_x86_32/Filewrap.exe
368 rm --interactive=never native_client/tools/redirector.exe
369 rm --interactive=never third_party/webrtc/data/voice_engine/stereo_rtp_files/rtpplay.exe
370 rm -r --interactive=never third_party/llvm
371 rm --interactive=never third_party/webgl/src/sdk/demos/google/san-angeles/gles/t/SanOGLES-Gerbera.exe
372 rm --interactive=never third_party/webgl/src/sdk/demos/google/san-angeles/gles/t/SanOGLES-PVRSDK.exe
373 rm --interactive=never third_party/webgl/src/sdk/demos/google/san-angeles/gles/t/libGLES_CM.dll
374 rm --interactive=never third_party/webgl/src/sdk/demos/google/san-angeles/gles/bob/bob
375 rm --interactive=never third_party/webgl/src/sdk/demos/google/san-angeles/glut/SanOGLES
376 rm --interactive=never third_party/lzma_sdk/Executable/7za.exe
377 rm --interactive=never third_party/lzma_sdk/7zr.exe
378 rm --interactive=never third_party/breakpad/symupload.exe
379 rm -r --interactive=never third_party/catapult/third_party/google-endpoints/setuptools
380 rm -r --interactive=never third_party/catapult/third_party/vinn/third_party/v8
381 rm --interactive=never third_party/depot_tools/ninja.exe
382 rm --interactive=never third_party/depot_tools/ninja-linux32
383 rm --interactive=never third_party/depot_tools/ninja-linux64
384 rm -r --interactive=never native_client/tools/hermetic_cygwin
385 rm -r --interactive=never base/test/data/pe_image/
386 rm -r --interactive=never base/test/data/file_version_info_unittest
387 rm -r --interactive=never chrome/chrome_cleaner/test/resources/signed_dll
388 rm --interactive=never third_party/crashpad/crashpad/handler/win/z7_test.dll
389 rm -r --interactive=never third_party/crashpad/crashpad/snapshot/elf/elf_image_reader_fuzzer_corpus
390 rm -r --interactive=never third_party/boringssl/src/util/ar/testdata
391 rm -r --interactive=never third_party/pyelftools/test/testfiles_for_unittests
392 rm -r --interactive=never third_party/pyelftools/test/external_tools
393 rm -r --interactive=never third_party/pyelftools/test/testfiles_for_readelf
394 rm -r --interactive=never third_party/pyelftools/examples
395 rm -r --interactive=never third_party/skia/platform_tools/android/bin
396 rm --interactive=never third_party/nasm/travis/test/tmap.o.t
397 rm -r --interactive=never third_party/chromite/lib/datafiles
398 rm -r --interactive=never components/test/data/update_client
399 rm -r --interactive=never build/android/tests/symbolize
400
401 rm --interactive=never third_party/skia/platform_tools/android/apps/gradle/wrapper/gradle-wrapper.jar
402 rm -r --interactive=never third_party/sfntly/src/java/lib
403 rm --interactive=never third_party/libphonenumber/dist/tools/java/java-build/target/java-build-1.0-SNAPSHOT-jar-with-dependencies.jar
404 rm --interactive=never third_party/libphonenumber/dist/tools/java/cpp-build/target/cpp-build-1.0-SNAPSHOT-jar-with-dependencies.jar
405 rm -r --interactive=never third_party/libphonenumber/dist/java/demo/war/WEB-INF/lib
406 rm -r --interactive=never third_party/libphonenumber/dist/java/lib
407 rm --interactive=never third_party/webrtc/examples/androidapp/third_party/autobanh/lib/autobanh.jar
408 rm -r --interactive=never third_party/cacheinvalidation/src/example-app-build/libs
409 rm --interactive=never third_party/closure_compiler/compiler/compiler.jar
410 rm -r --interactive=never third_party/sfntly/src/cpp/ext
411 rm --interactive=never third_party/flatbuffers/src/android/gradle/wrapper/gradle-wrapper.jar
412 rm --interactive=never third_party/flatbuffers/src/samples/android/gradle/wrapper/gradle-wrapper.jar
413 rm --interactive=never third_party/devtools-frontend/src/scripts/closure/compiler.jar
414 rm --interactive=never third_party/devtools-frontend/src/scripts/closure/closure_runner/closure_runner.jar
415 rm --interactive=never third_party/devtools-frontend/src/scripts/jsdoc_validator/jsdoc_validator.jar
416 rm --interactive=never third_party/gradle_wrapper/gradle/wrapper/gradle-wrapper.jar
417 rm --interactive=never third_party/webgl/src/conformance-suites/2.0.0/deqp/compiler.jar
418
419 %if %{system_libevent}
420 find base/third_party/libevent -type f \! -regex '.*\.\(gn\|gni\|isolate\)' -delete
421 %endif
422
423 %if %{system_icu}
424 # Remove bundled ICU; its header files appear to get picked up instead of
425 # the system ones, leading to errors during the final link stage.
426 # https://groups.google.com/a/chromium.org/d/topic/chromium-packagers/BNGvJc08B6Q
427 find third_party/icu -type f \! -regex '.*\.\(gn\|gni\|isolate\)' -delete
428 %endif
429
430 # Hard code extra version
431 FILE=chrome/common/channel_info_posix.cc
432 sed -i.orig -re 's/char\s*\*(.*)getenv\("CHROME_VERSION_EXTRA"\)/char const *\1"%{product_vendor} %{product_version}"/' $FILE
433 if diff -u $FILE $FILE.orig >/dev/null; then
434 exit 1
435 fi
436
437 # version taken from: strings opt/google/chrome-unstable/chrome | grep -C 1 " (version:"
438 %define widevine_version 1.4.8.1008
439 for chrome_arch in ia32 x64; do
440 mkdir -p third_party/widevine/cdm/linux/${chrome_arch}
441 sed -e "s/@WIDEVINE_VERSION@/%{widevine_version}/" %{SOURCE4} > third_party/widevine/cdm/linux/${chrome_arch}/widevine_cdm_version.h
442 done
443
444 %build
445 %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}
446 # handled by upstream regular build scripts? : freetype harfbuzz-ng
447 # mesa
448
449 # v NO TABS IN HERE!
450 %define gn_config use_sysroot=false \
451 system_libdir="%{_lib}" \
452 icu_use_data_file=true \
453 enable_nacl=false \
454 is_nacl_glibc=false \
455 binutils_path="%{_bindir}" \
456 linux_use_bundled_binutils=false \
457 custom_toolchain="//build/toolchain/linux/unbundle:default" \
458 host_toolchain="//build/toolchain/linux/unbundle:default" \
459 proprietary_codecs=true \
460 linux_link_libudev = true \
461 linux_link_libspeechd = true \
462 enable_platform_ac3_eac3_audio = true \
463 enable_mse_mpeg2ts_stream_parser=true \
464 enable_platform_hevc=true \
465 use_system_libjpeg=true \
466 use_system_libopenjpeg2=true \
467 use_libjpeg_turbo=false \
468 enable_widevine=true \
469 pdf_enable_xfa=true \
470 gtk_version=3 \
471 fatal_linker_warnings=false \
472 use_libpci = true \
473 use_pulseaudio=true \
474 use_allocator="none" \
475 is_debug=false \
476 %{?gn_clang} \
477 clang_use_chrome_plugins=false \
478 use_lld=false \
479 use_system_freetype=true \
480 use_system_harfbuzz=true \
481 use_system_libpng=true \
482 enable_dav1d_decoder=true enable_libaom_decoder=false \
483 use_custom_libcxx=false \
484 closure_compile=false \
485 google_api_key="%{google_api_key}" \
486 google_default_client_id="%{google_default_client_id}" \
487 google_default_client_secret="%{google_default_client_secret}"
488
489
490 # enable_browser_cdms=true \
491
492 build/linux/unbundle/replace_gn_files.py --system-libraries %{system_gn_list}
493 third_party/libaddressinput/chromium/tools/update-strings.py
494
495 %set_build_flags
496 %if %{use_clang}
497 CC=clang; export CC
498 CXX=clang++; export CXX
499 %else
500 CC=%{__cc}; export CC
501 CXX=%{__cxx}; export CXX
502 %endif
503 AR=%{__ar}; export AR
504 NM=%{__nm}; export NM
505 LD="%{__cxx} -fuse-ld=gold"; export LD
506
507 # filter out -g from CFLAGS and CXXFLAGS to fix builds
508 CFLAGS=$(echo "$CFLAGS"|sed -e 's/-g //')
509 CXXFLAGS=$(echo "$CXXFLAGS"|sed -e 's/-g //')
510 CXXFLAGS="$CXXFLAGS -faligned-new -Wno-attributes"
511 %if %{use_clang}
512 CFLAGS="$CFLAGS -Wno-error=unused-result"
513 CXXFLAGS="$CXXFLAGS -Wno-error=deprecated-declarations"
514 %else
515 CXXFLAGS="$CXXFLAGS -Wno-error=class-memaccess -Wno-error=unknown-pragmas -Wno-error=array-bounds"
516 %endif
517 %ifarch %ix86
518 LDFLAGS="$LDFLAGS -Wl,--no-keep-files-mapped"
519 %endif
520
521 %ifarch %{ix86}
522 CFLAGS="$CFLAGS -msse2"
523 CXXFLAGS="$CXXFLAGS -msse2"
524 %endif
525
526 python2 tools/gn/bootstrap/bootstrap.py --gn-gen-args='%{gn_config}'
527
528 out/Release/gn gen --script-executable=/usr/bin/python2 --args='%{gn_config}' out/Release
529
530 pushd out/Release
531 ninja %{_smp_mflags} chrome chrome_sandbox
532 popd
533
534 # man page
535 sed -e "s/@@PACKAGE@@/chromium/" -e "s/@@MENUNAME@@/Chromium Web Browser/" chrome/app/resources/manpage.1.in >out/Release/chromium.1
536
537 %install
538 ls out/Release
539 mkdir -p %{buildroot}%{_bindir}
540 mkdir -p %{buildroot}%{_crdir}/locales
541 mkdir -p %{buildroot}%{_crdir}/themes
542 mkdir -p %{buildroot}%{_mandir}/man1
543 install -m 755 %{_sourcedir}/chromium-wrapper %{buildroot}%{_crdir}/
544 install -m 755 out/Release/chrome %{buildroot}%{_crdir}/
545 install -m 4755 out/Release/chrome_sandbox %{buildroot}%{_crdir}/chrome-sandbox
546 install -m 644 out/Release/chromium.1 %{buildroot}%{_mandir}/man1/%{crname}.1
547 install -m 644 out/Release/chrome_100_percent.pak %{buildroot}%{_crdir}/
548 install -m 644 out/Release/chrome_200_percent.pak %{buildroot}%{_crdir}/
549 install -m 644 out/Release/resources.pak %{buildroot}%{_crdir}/
550 install -m 644 out/Release/snapshot_blob.bin %{buildroot}%{_crdir}/
551 install -m 755 out/Release/mksnapshot %{buildroot}%{_crdir}/
552 install -m 644 out/Release/locales/*.pak %{buildroot}%{_crdir}/locales/
553 install -m 644 out/Release/v8_context_snapshot.bin %{buildroot}%{_crdir}/
554 install -m 755 out/Release/libEGL.so %{buildroot}%{_crdir}/
555 install -m 755 out/Release/libGLESv2.so %{buildroot}%{_crdir}/
556 ln -s %{_crdir}/chromium-wrapper %{buildroot}%{_bindir}/%{crname}
557
558 %ifarch %{ix86} x86_64
559 mkdir -p %{buildroot}%{_crdir}/swiftshader
560 install -m 755 out/Release/swiftshader/*.so %{buildroot}%{_crdir}/swiftshader/
561 %endif
562
563 find out/Release/resources/ -name "*.d" -exec rm {} \;
564 cp -r out/Release/resources %{buildroot}%{_crdir}
565
566 # desktop file
567 mkdir -p %{buildroot}%{_datadir}/applications
568 install -m 644 %{_sourcedir}/%{crname}.desktop %{buildroot}%{_datadir}/applications/
569
570 %if %{system_icu}
571 # symlink to ICU data file
572 ICUDATADIR=$(icuinfo | grep \"icudata.path\" | sed -re 's/^.*>(.*)<.*$/\1/')
573 ICUDATANAME=$(icuinfo | grep \"icudata.name\" | sed -re 's/^.*>(.*)<.*$/\1/')
574 ICUDATAFILE=$(realpath --relative-to=%{_crdir}/ ${ICUDATADIR}/${ICUDATANAME}.dat)
575 ln -s ${ICUDATAFILE} %{buildroot}%{_crdir}/icudtl.dat
576 %else
577 install -m 644 out/Release/icudtl.dat %{buildroot}%{_crdir}/
578 %endif
579
580 # icon
581 for i in 22_mono 24 32 48 64 128 256; do
582 mkdir -p %{buildroot}%{_iconsdir}/hicolor/${i}x${i}/apps
583 if [ -f chrome/app/theme/chromium/product_logo_$i.png ]; then
584 install -m 644 chrome/app/theme/chromium/product_logo_$i.png \
585 %{buildroot}%{_iconsdir}/hicolor/${i}x${i}/apps/%{crname}.png
586 else
587 install -m 644 chrome/app/theme/chromium/linux/product_logo_$i.xpm \
588 %{buildroot}%{_iconsdir}/hicolor/${i}x${i}/apps/%{crname}.xpm
589 fi
590 done
591
592 %files -n chromium-browser
593
594 %files
595 %{_bindir}/%{crname}
596 %dir %{_crdir}
597 %{_crdir}/chromium-wrapper
598 %{_crdir}/chrome
599 %attr(4755,root,root) %{_crdir}/chrome-sandbox
600 %{_crdir}/icudtl.dat
601 %{_crdir}/locales
602 %{_crdir}/snapshot_blob.bin
603 %{_crdir}/resources.pak
604 %{_crdir}/resources
605 %{_crdir}/chrome_100_percent.pak
606 %{_crdir}/chrome_200_percent.pak
607 %{_crdir}/mksnapshot
608 %{_crdir}/themes
609 %{_crdir}/libEGL.so
610 %{_crdir}/libGLESv2.so
611 %ifarch %{ix86} x86_64
612 %{_crdir}/swiftshader
613 %endif
614 %{_crdir}/v8_context_snapshot.bin
615 %{_mandir}/man1/%{crname}*
616 %{_datadir}/applications/*.desktop
617 %{_iconsdir}/hicolor/*/apps/%{crname}.png
618 %{_iconsdir}/hicolor/*/apps/%{crname}.xpm

  ViewVC Help
Powered by ViewVC 1.1.30