16 # Please submit bugfixes or comments via https://bugs.opensuse.org/ |
16 # Please submit bugfixes or comments via https://bugs.opensuse.org/ |
17 # |
17 # |
18 |
18 |
19 |
19 |
20 # changed with every update |
20 # changed with every update |
21 %define major 63 |
21 %define major 64 |
22 %define mainver %major.0.3 |
22 %define mainver %major.0 |
23 %define orig_version 63.0.3 |
23 %define orig_version 64.0 |
24 %define orig_suffix %{nil} |
24 %define orig_suffix %{nil} |
25 %define update_channel release |
25 %define update_channel release |
26 %define branding 1 |
26 %define branding 1 |
27 %define releasedate 20181114214635 |
27 %define releasedate 20181206201918 |
28 %define source_prefix firefox-%{orig_version} |
28 %define source_prefix firefox-%{orig_version} |
|
29 |
|
30 # use clang (upstream default since 64.0) |
|
31 %if 0%{?suse_version} > 1320 |
|
32 %define clang_build 1 |
|
33 %endif |
29 |
34 |
30 # PIE, full relro (x86_64 for now) |
35 # PIE, full relro (x86_64 for now) |
31 %define build_hardened 1 |
36 %define build_hardened 1 |
32 |
37 |
33 # Firefox only supports i686 |
38 # Firefox only supports i686 |
64 %if 0%{?suse_version} <= 1320 |
69 %if 0%{?suse_version} <= 1320 |
65 BuildRequires: gcc7-c++ |
70 BuildRequires: gcc7-c++ |
66 %else |
71 %else |
67 BuildRequires: gcc-c++ |
72 BuildRequires: gcc-c++ |
68 %endif |
73 %endif |
69 BuildRequires: cargo >= 1.28 |
|
70 BuildRequires: libXcomposite-devel |
74 BuildRequires: libXcomposite-devel |
71 BuildRequires: libcurl-devel |
75 BuildRequires: libcurl-devel |
72 BuildRequires: libidl-devel |
76 BuildRequires: libidl-devel |
73 BuildRequires: libiw-devel |
77 BuildRequires: libiw-devel |
74 BuildRequires: libnotify-devel |
78 BuildRequires: libnotify-devel |
75 BuildRequires: libproxy-devel |
79 BuildRequires: libproxy-devel |
76 BuildRequires: makeinfo |
80 BuildRequires: makeinfo |
77 BuildRequires: mozilla-nspr-devel >= 4.20 |
81 BuildRequires: mozilla-nspr-devel >= 4.20 |
78 BuildRequires: mozilla-nss-devel >= 3.39 |
82 BuildRequires: mozilla-nss-devel >= 3.40.1 |
79 BuildRequires: nodejs8 >= 8.11 |
83 BuildRequires: nodejs8 >= 8.11 |
80 BuildRequires: python-devel |
84 BuildRequires: python-devel |
81 BuildRequires: python2-xml |
85 BuildRequires: python2-xml |
82 BuildRequires: python3 >= 3.5 |
86 BuildRequires: python3 >= 3.5 |
83 BuildRequires: rust >= 1.28 |
87 BuildRequires: rust >= 1.29 |
84 BuildRequires: rust-cbindgen >= 0.6.2 |
88 BuildRequires: cargo >= 1.29 |
|
89 BuildRequires: rust-cbindgen >= 0.6.4 |
85 BuildRequires: startup-notification-devel |
90 BuildRequires: startup-notification-devel |
86 BuildRequires: unzip |
91 BuildRequires: unzip |
87 BuildRequires: update-desktop-files |
92 BuildRequires: update-desktop-files |
88 BuildRequires: xorg-x11-libXt-devel |
93 BuildRequires: xorg-x11-libXt-devel |
89 BuildRequires: yasm |
94 BuildRequires: yasm |
158 Patch4: mozilla-openaes-decl.patch |
163 Patch4: mozilla-openaes-decl.patch |
159 Patch6: mozilla-reduce-files-per-UnifiedBindings.patch |
164 Patch6: mozilla-reduce-files-per-UnifiedBindings.patch |
160 Patch7: mozilla-aarch64-startup-crash.patch |
165 Patch7: mozilla-aarch64-startup-crash.patch |
161 Patch8: mozilla-bmo256180.patch |
166 Patch8: mozilla-bmo256180.patch |
162 Patch9: mozilla-bmo1463035.patch |
167 Patch9: mozilla-bmo1463035.patch |
163 Patch10: mozilla-bmo1491289.patch |
168 Patch10: mozilla-cubeb-noreturn.patch |
164 Patch11: mozilla-cubeb-noreturn.patch |
|
165 # Firefox/browser |
169 # Firefox/browser |
166 Patch101: firefox-kde.patch |
170 Patch101: firefox-kde.patch |
167 Patch102: firefox-branded-icons.patch |
171 Patch102: firefox-branded-icons.patch |
168 BuildRoot: %{_tmppath}/%{name}-%{version}-build |
172 BuildRoot: %{_tmppath}/%{name}-%{version}-build |
169 Requires(post): coreutils shared-mime-info desktop-file-utils |
173 Requires(post): coreutils shared-mime-info desktop-file-utils |
301 %if 0%{?suse_version} <= 1320 |
304 %if 0%{?suse_version} <= 1320 |
302 export CC=gcc-7 |
305 export CC=gcc-7 |
303 %endif |
306 %endif |
304 export CFLAGS="%{optflags} -fno-strict-aliasing" |
307 export CFLAGS="%{optflags} -fno-strict-aliasing" |
305 # boo#986541: add -fno-delete-null-pointer-checks for gcc6 |
308 # boo#986541: add -fno-delete-null-pointer-checks for gcc6 |
|
309 %if 0%{?clang_build} == 0 |
306 %if 0%{?suse_version} > 1320 |
310 %if 0%{?suse_version} > 1320 |
307 export CFLAGS="$CFLAGS -fno-delete-null-pointer-checks" |
311 export CFLAGS="$CFLAGS -fno-delete-null-pointer-checks" |
|
312 %endif |
308 %endif |
313 %endif |
309 %ifarch %arm %ix86 |
314 %ifarch %arm %ix86 |
310 # Limit RAM usage during link |
315 # Limit RAM usage during link |
311 export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads" |
316 export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads" |
312 %endif |
317 %endif |
334 ac_add_options --enable-default-toolkit=cairo-gtk3 |
339 ac_add_options --enable-default-toolkit=cairo-gtk3 |
335 %if 0%{?suse_version} >= 1550 |
340 %if 0%{?suse_version} >= 1550 |
336 ac_add_options --disable-gconf |
341 ac_add_options --disable-gconf |
337 %endif |
342 %endif |
338 %if 0%{?build_hardened} |
343 %if 0%{?build_hardened} |
|
344 %if 0%{?clang_build} == 0 |
339 ac_add_options --enable-pie |
345 ac_add_options --enable-pie |
|
346 %endif |
340 %endif |
347 %endif |
341 # gcc7 (boo#104105) |
348 # gcc7 (boo#104105) |
342 %if 0%{?suse_version} > 1320 |
349 %if 0%{?suse_version} > 1320 |
343 ac_add_options --enable-optimize="-g -O2" |
350 ac_add_options --enable-optimize="-g -O2" |
344 %endif |
351 %endif |