/[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 1477743 - (show annotations) (download)
Sun Jan 12 18:56:04 2020 UTC (4 years, 3 months ago) by cjw
Original Path: cauldron/chromium-browser-stable/current/SPECS/chromium-browser-stable.spec
File size: 26406 byte(s)
- 79.0.3945.117

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: 79.0.3945.117
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) fix coding errors resulting in gcc 7 warning
108 Patch54: chromium-62-gcc7.patch
109 # (cjw) fix gcc errors and warnings
110 Patch177: chromium-64-gcc7.patch
111 # (cjw) fix even more gcc warnings
112 Patch179: chromium-65-gcc7.patch
113 # (cjw) fix yet mmore gcc warnings
114 Patch182: chromium-66-gcc7.patch
115 # (cjw) fix a few more gcc warnings
116 Patch184: chromium-67-gcc7.patch
117 # (cjw) more gcc warnings
118 Patch186: chromium-68-gcc7.patch
119 # (cjw) moore gcc warnings
120 Patch188: chromium-68-gcc8.patch
121 # (cjw) and more gcc warnings
122 Patch189: chromium-69-gcc7.patch
123 # (cjw) fix gn bootstrapping with gcc
124 Patch190: chromium-69-gn-bootstrap.patch
125 # (cjw) moooore gcc warnings
126 Patch192: chromium-70-gcc8.patch
127 # (cjw) build fixes for 64-bit arm
128 Patch193: chromium-70-aarch64.patch
129 # (joequant) fix crash on cinnamon
130 Patch194: chromium-69-cinnamon.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 Patch218: chromium-78-icu-65.patch
166 # (cjw) support using system libaom
167 Patch219: chromium-79-system-libaom.patch
168 # (cjw) gcc warnings
169 Patch220: chromium-79-gcc.patch
170 %if !%{use_clang}
171 # fixes for gcc warnings that do not work with clang
172 Patch221: chromium-79-gcc-only.patch
173 %endif
174 # fix compilation of base/bind.h with gcc in C++14 mode for components/services/leveldb/leveldb_database_impl.cc
175 Patch222: chromium-79-528e9a3e1f25bd264549c4c7779748abfd16bb1c.patch
176 # fix compilation of third_party/blink/public/platform/web_theme_engine.h after third_party/blink/public/common/css/forced_colors.h
177 Patch223: chromium-79-forcedcolors.patch
178 # (cjw) support using system dav1d
179 Patch224: chromium-79-system-dav1d.patch
180
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,settings,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/*.[ch]
344 rm -r --interactive=never third_party/libjpeg_turbo/*.[ch]
345 rm -r --interactive=never third_party/libpng/*.[ch]
346 rm -r --interactive=never third_party/libxslt/{linux,mac,src,win32}
347 rm -r --interactive=never third_party/xdg-utils/tests/
348 rm -r --interactive=never third_party/yasm/source/
349 rm -r --interactive=never third_party/zlib/{*.[ch],contrib/minizip}
350 rm -r --interactive=never native_client_sdk/src/tools/lib/tests/data
351 rm -r --interactive=never buildtools/third_party/eu-strip/bin
352 rm -r --interactive=never third_party/pdfium/third_party/eu-strip
353 rm --interactive=never third_party/pdfium/third_party/libopenjpeg20/*.[ch]
354 rm -r --interactive=never third_party/pdfium/third_party/libpng16
355 %if %{system_libtiff}
356 rm --interactive=never third_party/pdfium/third_party/libtiff/*.[ch]
357 %endif
358 rm -r --interactive=never third_party/pdfium/third_party/yasm/source
359 rm --interactive=never third_party/swiftshader/third_party/PowerVR_SDK/Utilities/Filewrap/Windows_x86_32/Filewrap.exe
360 rm --interactive=never native_client/tools/redirector.exe
361 rm --interactive=never third_party/webrtc/data/voice_engine/stereo_rtp_files/rtpplay.exe
362 rm -r --interactive=never third_party/llvm
363 rm --interactive=never third_party/webgl/src/sdk/demos/google/san-angeles/gles/t/SanOGLES-Gerbera.exe
364 rm --interactive=never third_party/webgl/src/sdk/demos/google/san-angeles/gles/t/SanOGLES-PVRSDK.exe
365 rm --interactive=never third_party/webgl/src/sdk/demos/google/san-angeles/gles/t/libGLES_CM.dll
366 rm --interactive=never third_party/webgl/src/sdk/demos/google/san-angeles/gles/bob/bob
367 rm --interactive=never third_party/webgl/src/sdk/demos/google/san-angeles/glut/SanOGLES
368 rm --interactive=never third_party/lzma_sdk/Executable/7za.exe
369 rm --interactive=never third_party/lzma_sdk/7zr.exe
370 rm --interactive=never third_party/breakpad/symupload.exe
371 rm -r --interactive=never third_party/catapult/third_party/google-endpoints/setuptools
372 rm -r --interactive=never third_party/catapult/third_party/vinn/third_party/v8
373 rm --interactive=never third_party/depot_tools/ninja.exe
374 rm --interactive=never third_party/depot_tools/ninja-linux32
375 rm --interactive=never third_party/depot_tools/ninja-linux64
376 rm -r --interactive=never native_client/tools/hermetic_cygwin
377 rm -r --interactive=never base/test/data/pe_image/
378 rm -r --interactive=never base/test/data/file_version_info_unittest
379 rm -r --interactive=never chrome/chrome_cleaner/test/resources/signed_dll
380 rm --interactive=never third_party/crashpad/crashpad/handler/win/z7_test.dll
381 rm -r --interactive=never third_party/crashpad/crashpad/snapshot/elf/elf_image_reader_fuzzer_corpus
382 rm -r --interactive=never third_party/boringssl/src/util/ar/testdata
383 rm -r --interactive=never third_party/pyelftools/test/testfiles_for_unittests
384 rm -r --interactive=never third_party/pyelftools/test/external_tools
385 rm -r --interactive=never third_party/pyelftools/test/testfiles_for_readelf
386 rm -r --interactive=never third_party/pyelftools/examples
387 rm -r --interactive=never third_party/skia/platform_tools/android/bin
388 rm --interactive=never third_party/nasm/travis/test/tmap.o.t
389 rm -r --interactive=never third_party/chromite/lib/datafiles
390 rm -r --interactive=never components/test/data/update_client
391 rm -r --interactive=never build/android/tests/symbolize
392
393 rm --interactive=never third_party/skia/platform_tools/android/apps/gradle/wrapper/gradle-wrapper.jar
394 rm -r --interactive=never third_party/sfntly/src/java/lib
395 rm --interactive=never third_party/libphonenumber/dist/tools/java/java-build/target/java-build-1.0-SNAPSHOT-jar-with-dependencies.jar
396 rm --interactive=never third_party/libphonenumber/dist/tools/java/cpp-build/target/cpp-build-1.0-SNAPSHOT-jar-with-dependencies.jar
397 rm -r --interactive=never third_party/libphonenumber/dist/java/demo/war/WEB-INF/lib
398 rm -r --interactive=never third_party/libphonenumber/dist/java/lib
399 rm --interactive=never third_party/webrtc/examples/androidapp/third_party/autobanh/lib/autobanh.jar
400 rm -r --interactive=never third_party/cacheinvalidation/src/example-app-build/libs
401 rm --interactive=never third_party/closure_compiler/compiler/compiler.jar
402 rm -r --interactive=never third_party/sfntly/src/cpp/ext
403 rm --interactive=never third_party/bazel/desugar/Desugar-runtime.jar
404 rm --interactive=never third_party/flatbuffers/src/android/gradle/wrapper/gradle-wrapper.jar
405 rm --interactive=never third_party/flatbuffers/src/samples/android/gradle/wrapper/gradle-wrapper.jar
406 rm --interactive=never third_party/blink/renderer/devtools/scripts/closure/compiler.jar
407 rm --interactive=never third_party/blink/renderer/devtools/scripts/closure/closure_runner/closure_runner.jar
408 rm --interactive=never third_party/blink/renderer/devtools/scripts/jsdoc_validator/jsdoc_validator.jar
409 rm --interactive=never third_party/gradle_wrapper/gradle/wrapper/gradle-wrapper.jar
410 rm --interactive=never third_party/webgl/src/conformance-suites/2.0.0/deqp/compiler.jar
411
412 %if %{system_libevent}
413 find base/third_party/libevent -type f \! -regex '.*\.\(gn\|gni\|isolate\)' -delete
414 %endif
415
416 %if %{system_icu}
417 # Remove bundled ICU; its header files appear to get picked up instead of
418 # the system ones, leading to errors during the final link stage.
419 # https://groups.google.com/a/chromium.org/d/topic/chromium-packagers/BNGvJc08B6Q
420 find third_party/icu -type f \! -regex '.*\.\(gn\|gni\|isolate\)' -delete
421 %endif
422
423 # Hard code extra version
424 FILE=chrome/common/channel_info_posix.cc
425 sed -i.orig -re 's/char\s*\*(.*)getenv\("CHROME_VERSION_EXTRA"\)/char const *\1"%{product_vendor} %{product_version}"/' $FILE
426 if diff -u $FILE $FILE.orig >/dev/null; then
427 exit 1
428 fi
429
430 # version taken from: strings opt/google/chrome-unstable/chrome | grep -C 1 " (version:"
431 %define widevine_version 1.4.8.1008
432 for chrome_arch in ia32 x64; do
433 mkdir -p third_party/widevine/cdm/linux/${chrome_arch}
434 sed -e "s/@WIDEVINE_VERSION@/%{widevine_version}/" %{SOURCE4} > third_party/widevine/cdm/linux/${chrome_arch}/widevine_cdm_version.h
435 done
436
437 %build
438 %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}
439 # handled by upstream regular build scripts? : freetype harfbuzz-ng
440 # mesa
441
442 # v NO TABS IN HERE!
443 %define gn_config use_sysroot=false \
444 system_libdir="%{_lib}" \
445 icu_use_data_file=true \
446 enable_nacl=false \
447 is_nacl_glibc=false \
448 binutils_path="%{_bindir}" \
449 linux_use_bundled_binutils=false \
450 custom_toolchain="//build/toolchain/linux/unbundle:default" \
451 host_toolchain="//build/toolchain/linux/unbundle:default" \
452 proprietary_codecs=true \
453 linux_link_libudev = true \
454 linux_link_libspeechd = true \
455 enable_platform_ac3_eac3_audio = true \
456 enable_mse_mpeg2ts_stream_parser=true \
457 enable_platform_hevc=true \
458 use_system_libjpeg=true \
459 use_system_libopenjpeg2=true \
460 use_libjpeg_turbo=false \
461 enable_widevine=true \
462 pdf_enable_xfa=true \
463 gtk_version=3 \
464 fatal_linker_warnings=false \
465 use_libpci = true \
466 use_pulseaudio=true \
467 use_allocator="none" \
468 is_debug=false \
469 %{?gn_clang} \
470 clang_use_chrome_plugins=false \
471 use_lld=false \
472 use_system_freetype=true \
473 use_system_harfbuzz=true \
474 use_system_libpng=true \
475 enable_dav1d_decoder=true enable_libaom_decoder=false \
476 use_custom_libcxx=false \
477 closure_compile=false \
478 google_api_key="%{google_api_key}" \
479 google_default_client_id="%{google_default_client_id}" \
480 google_default_client_secret="%{google_default_client_secret}"
481
482
483 # enable_browser_cdms=true \
484
485 build/linux/unbundle/replace_gn_files.py --system-libraries %{system_gn_list}
486 third_party/libaddressinput/chromium/tools/update-strings.py
487
488 %set_build_flags
489 %if %{use_clang}
490 CC=clang; export CC
491 CXX=clang++; export CXX
492 %else
493 CC=%{__cc}; export CC
494 CXX=%{__cxx}; export CXX
495 %endif
496 AR=%{__ar}; export AR
497 NM=%{__nm}; export NM
498 LD="%{__cxx} -fuse-ld=gold"; export LD
499
500 # filter out -g from CFLAGS and CXXFLAGS to fix builds
501 CFLAGS=$(echo "$CFLAGS"|sed -e 's/-g //')
502 CXXFLAGS=$(echo "$CXXFLAGS"|sed -e 's/-g //')
503 CXXFLAGS="$CXXFLAGS -faligned-new -Wno-attributes"
504 %if %{use_clang}
505 CFLAGS="$CFLAGS -Wno-error=unused-result"
506 CXXFLAGS="$CXXFLAGS -Wno-error=deprecated-declarations"
507 %else
508 CXXFLAGS="$CXXFLAGS -Wno-error=class-memaccess -Wno-error=unknown-pragmas -Wno-error=array-bounds"
509 %endif
510 %ifarch %ix86
511 LDFLAGS="$LDFLAGS -Wl,--no-keep-files-mapped"
512 %endif
513
514 %ifarch %{ix86}
515 CFLAGS="$CFLAGS -msse2"
516 CXXFLAGS="$CXXFLAGS -msse2"
517 %endif
518
519 python2 tools/gn/bootstrap/bootstrap.py --gn-gen-args='%{gn_config}'
520
521 out/Release/gn gen --script-executable=/usr/bin/python2 --args='%{gn_config}' out/Release
522
523 pushd out/Release
524 ninja %{_smp_mflags} chrome chrome_sandbox
525 popd
526
527 # man page
528 sed -e "s/@@PACKAGE@@/chromium/" -e "s/@@MENUNAME@@/Chromium Web Browser/" chrome/app/resources/manpage.1.in >out/Release/chromium.1
529
530 %install
531 ls out/Release
532 mkdir -p %{buildroot}%{_bindir}
533 mkdir -p %{buildroot}%{_crdir}/locales
534 mkdir -p %{buildroot}%{_crdir}/themes
535 mkdir -p %{buildroot}%{_crdir}/default_apps
536 mkdir -p %{buildroot}%{_mandir}/man1
537 install -m 755 %{_sourcedir}/chromium-wrapper %{buildroot}%{_crdir}/
538 install -m 755 out/Release/chrome %{buildroot}%{_crdir}/
539 install -m 4755 out/Release/chrome_sandbox %{buildroot}%{_crdir}/chrome-sandbox
540 install -m 644 out/Release/chromium.1 %{buildroot}%{_mandir}/man1/%{crname}.1
541 install -m 644 out/Release/chrome_100_percent.pak %{buildroot}%{_crdir}/
542 install -m 644 out/Release/chrome_200_percent.pak %{buildroot}%{_crdir}/
543 install -m 644 out/Release/resources.pak %{buildroot}%{_crdir}/
544 install -m 644 out/Release/natives_blob.bin %{buildroot}%{_crdir}/
545 install -m 644 out/Release/snapshot_blob.bin %{buildroot}%{_crdir}/
546 install -m 755 out/Release/mksnapshot %{buildroot}%{_crdir}/
547 install -m 644 out/Release/locales/*.pak %{buildroot}%{_crdir}/locales/
548 install -m 644 chrome/browser/resources/default_apps/* %{buildroot}%{_crdir}/default_apps/
549 install -m 644 out/Release/v8_context_snapshot.bin %{buildroot}%{_crdir}/
550 install -m 755 out/Release/libEGL.so %{buildroot}%{_crdir}/
551 install -m 755 out/Release/libGLESv2.so %{buildroot}%{_crdir}/
552 ln -s %{_crdir}/chromium-wrapper %{buildroot}%{_bindir}/%{crname}
553
554 %ifarch %{ix86} x86_64
555 mkdir -p %{buildroot}%{_crdir}/swiftshader
556 install -m 755 out/Release/swiftshader/*.so %{buildroot}%{_crdir}/swiftshader/
557 %endif
558
559 find out/Release/resources/ -name "*.d" -exec rm {} \;
560 cp -r out/Release/resources %{buildroot}%{_crdir}
561
562 # desktop file
563 mkdir -p %{buildroot}%{_datadir}/applications
564 install -m 644 %{_sourcedir}/%{crname}.desktop %{buildroot}%{_datadir}/applications/
565
566 %if %{system_icu}
567 # symlink to ICU data file
568 ICUDATADIR=$(icuinfo | grep \"icudata.path\" | sed -re 's/^.*>(.*)<.*$/\1/')
569 ICUDATANAME=$(icuinfo | grep \"icudata.name\" | sed -re 's/^.*>(.*)<.*$/\1/')
570 ICUDATAFILE=$(realpath --relative-to=%{_crdir}/ ${ICUDATADIR}/${ICUDATANAME}.dat)
571 ln -s ${ICUDATAFILE} %{buildroot}%{_crdir}/icudtl.dat
572 %else
573 install -m 644 out/Release/icudtl.dat %{buildroot}%{_crdir}/
574 %endif
575
576 # icon
577 for i in 22_mono 24 32 48 64 128 256; do
578 mkdir -p %{buildroot}%{_iconsdir}/hicolor/${i}x${i}/apps
579 if [ -f chrome/app/theme/chromium/product_logo_$i.png ]; then
580 install -m 644 chrome/app/theme/chromium/product_logo_$i.png \
581 %{buildroot}%{_iconsdir}/hicolor/${i}x${i}/apps/%{crname}.png
582 else
583 install -m 644 chrome/app/theme/chromium/linux/product_logo_$i.xpm \
584 %{buildroot}%{_iconsdir}/hicolor/${i}x${i}/apps/%{crname}.xpm
585 fi
586 done
587
588 %files -n chromium-browser
589
590 %files
591 %{_bindir}/%{crname}
592 %dir %{_crdir}
593 %{_crdir}/chromium-wrapper
594 %{_crdir}/chrome
595 %attr(4755,root,root) %{_crdir}/chrome-sandbox
596 %{_crdir}/icudtl.dat
597 %{_crdir}/locales
598 %{_crdir}/natives_blob.bin
599 %{_crdir}/snapshot_blob.bin
600 %{_crdir}/resources.pak
601 %{_crdir}/resources
602 %{_crdir}/chrome_100_percent.pak
603 %{_crdir}/chrome_200_percent.pak
604 %{_crdir}/mksnapshot
605 %{_crdir}/themes
606 %{_crdir}/default_apps
607 %{_crdir}/libEGL.so
608 %{_crdir}/libGLESv2.so
609 %ifarch %{ix86} x86_64
610 %{_crdir}/swiftshader
611 %endif
612 %{_crdir}/v8_context_snapshot.bin
613 %{_mandir}/man1/%{crname}*
614 %{_datadir}/applications/*.desktop
615 %{_iconsdir}/hicolor/*/apps/%{crname}.png
616 %{_iconsdir}/hicolor/*/apps/%{crname}.xpm

  ViewVC Help
Powered by ViewVC 1.1.30