MozillaFirefox/MozillaFirefox.spec
changeset 1136 d068eb84b4d3
parent 1135 082b9d2dfd7d
child 1137 909f866430ee
equal deleted inserted replaced
1135:082b9d2dfd7d 1136:d068eb84b4d3
    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 # orig_version vs. mainver: To have beta-builds
       
    22 # FF70beta3 would be released as FF69.99
       
    23 # orig_version would be the upstream tar ball
       
    24 # orig_version 70.0
       
    25 # orig_suffix b3
       
    26 # major 69
       
    27 # mainver %major.99
    21 %define major          77
    28 %define major          77
    22 %define mainver        %major.99
    29 %define mainver        %major.99
    23 %define orig_version   78.0
    30 %define orig_version   78.0
    24 %define orig_suffix    b8
    31 %define orig_suffix    b8
    25 %define update_channel beta
    32 %define update_channel beta
    59 %ifarch %ix86 x86_64
    66 %ifarch %ix86 x86_64
    60 %define crashreporter 1
    67 %define crashreporter 1
    61 %else
    68 %else
    62 %define crashreporter 0
    69 %define crashreporter 0
    63 %endif
    70 %endif
    64 # pipewire is too old on Leap 15.1
    71 %if 0%{?sle_version} > 150100
    65 %if 0%{?suse_version} == 1500 && 0%{?sle_version} <= 150100
    72 # pipewire is too old on Leap <15.1
    66 %bcond_with pipewire3
    73 %define with_pipewire0_3 1
    67 %else
    74 %else
    68 %bcond_without pipewire3
    75 %define with_pipewire0_3 0
    69 %endif
    76 %endif
    70 
    77 
    71 Name:           %{pkgname}
    78 Name:           %{pkgname}
    72 BuildRequires:  Mesa-devel
    79 BuildRequires:  Mesa-devel
    73 BuildRequires:  alsa-devel
    80 BuildRequires:  alsa-devel
    75 BuildRequires:  dbus-1-glib-devel
    82 BuildRequires:  dbus-1-glib-devel
    76 BuildRequires:  dejavu-fonts
    83 BuildRequires:  dejavu-fonts
    77 BuildRequires:  fdupes
    84 BuildRequires:  fdupes
    78 BuildRequires:  memory-constraints
    85 BuildRequires:  memory-constraints
    79 %if 0%{?suse_version} <= 1320
    86 %if 0%{?suse_version} <= 1320
    80 BuildRequires:  gcc7-c++
    87 BuildRequires:  gcc9-c++
    81 %else
    88 %else
    82 BuildRequires:  gcc-c++
    89 BuildRequires:  gcc-c++
    83 %endif
    90 %endif
    84 BuildRequires:  cargo >= 1.41
    91 BuildRequires:  cargo >= 1.41
    85 BuildRequires:  libXcomposite-devel
    92 BuildRequires:  libXcomposite-devel
    87 BuildRequires:  libidl-devel
    94 BuildRequires:  libidl-devel
    88 BuildRequires:  libiw-devel
    95 BuildRequires:  libiw-devel
    89 BuildRequires:  libproxy-devel
    96 BuildRequires:  libproxy-devel
    90 BuildRequires:  makeinfo
    97 BuildRequires:  makeinfo
    91 BuildRequires:  mozilla-nspr-devel >= 4.25
    98 BuildRequires:  mozilla-nspr-devel >= 4.25
    92 BuildRequires:  mozilla-nss-devel >= 3.53
    99 BuildRequires:  mozilla-nss-devel >= 3.53.1
    93 BuildRequires:  nasm >= 2.14
   100 BuildRequires:  nasm >= 2.14
    94 BuildRequires:  nodejs10 >= 10.21.0
   101 BuildRequires:  nodejs10 >= 10.21.0
    95 BuildRequires:  python-devel
   102 BuildRequires:  python-devel
       
   103 %if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
       
   104 BuildRequires:  python-libxml2
       
   105 BuildRequires:  python36
       
   106 %else
    96 BuildRequires:  python2-xml
   107 BuildRequires:  python2-xml
    97 BuildRequires:  python3 >= 3.5
   108 BuildRequires:  python3 >= 3.5
       
   109 %endif
    98 BuildRequires:  rust >= 1.41
   110 BuildRequires:  rust >= 1.41
    99 BuildRequires:  rust-cbindgen >= 0.14.1
   111 BuildRequires:  rust-cbindgen >= 0.14.1
   100 BuildRequires:  unzip
   112 BuildRequires:  unzip
   101 BuildRequires:  update-desktop-files
   113 BuildRequires:  update-desktop-files
   102 BuildRequires:  xorg-x11-libXt-devel
   114 BuildRequires:  xorg-x11-libXt-devel
   106 BuildRequires:  yasm
   118 BuildRequires:  yasm
   107 BuildRequires:  zip
   119 BuildRequires:  zip
   108 %if 0%{?suse_version} < 1550
   120 %if 0%{?suse_version} < 1550
   109 BuildRequires:  pkgconfig(gconf-2.0) >= 1.2.1
   121 BuildRequires:  pkgconfig(gconf-2.0) >= 1.2.1
   110 %endif
   122 %endif
       
   123 %if (0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000)
       
   124 BuildRequires:  clang6-devel
       
   125 %else
   111 BuildRequires:  clang-devel >= 5
   126 BuildRequires:  clang-devel >= 5
       
   127 %endif
   112 BuildRequires:  pkgconfig(gdk-x11-2.0)
   128 BuildRequires:  pkgconfig(gdk-x11-2.0)
   113 BuildRequires:  pkgconfig(glib-2.0) >= 2.22
   129 BuildRequires:  pkgconfig(glib-2.0) >= 2.22
   114 BuildRequires:  pkgconfig(gobject-2.0)
   130 BuildRequires:  pkgconfig(gobject-2.0)
   115 BuildRequires:  pkgconfig(gtk+-2.0) >= 2.18.0
   131 BuildRequires:  pkgconfig(gtk+-2.0) >= 2.18.0
   116 BuildRequires:  pkgconfig(gtk+-3.0) >= 3.14.0
   132 BuildRequires:  pkgconfig(gtk+-3.0) >= 3.14.0
   117 BuildRequires:  pkgconfig(gtk+-unix-print-2.0)
   133 BuildRequires:  pkgconfig(gtk+-unix-print-2.0)
   118 BuildRequires:  pkgconfig(gtk+-unix-print-3.0)
   134 BuildRequires:  pkgconfig(gtk+-unix-print-3.0)
   119 BuildRequires:  pkgconfig(libffi)
   135 BuildRequires:  pkgconfig(libffi)
   120 BuildRequires:  pkgconfig(libpulse)
   136 BuildRequires:  pkgconfig(libpulse)
   121 %if %{with pipewire3}
   137 %if %{with_pipewire0_3}
   122 BuildRequires:  pkgconfig(libpipewire-0.3)
   138 BuildRequires:  pkgconfig(libpipewire-0.3)
   123 %endif
   139 %endif
   124 # libavcodec is required for H.264 support but the
   140 # libavcodec is required for H.264 support but the
   125 # openSUSE version is currently not able to play H.264
   141 # openSUSE version is currently not able to play H.264
   126 # therefore the Packman version is required
   142 # therefore the Packman version is required
   153 Source8:        firefox-mimeinfo.xml
   169 Source8:        firefox-mimeinfo.xml
   154 Source9:        firefox.js
   170 Source9:        firefox.js
   155 Source11:       firefox.1
   171 Source11:       firefox.1
   156 Source12:       mozilla-get-app-id
   172 Source12:       mozilla-get-app-id
   157 Source13:       spellcheck.js
   173 Source13:       spellcheck.js
   158 Source14:       https://github.com/openSUSE/firefox-scripts/raw/8a54002/create-tar.sh
   174 Source14:       https://github.com/openSUSE/firefox-scripts/raw/5e54f4a/create-tar.sh
   159 Source15:       firefox-appdata.xml
   175 Source15:       firefox-appdata.xml
   160 Source16:       %{name}.changes
   176 Source16:       %{name}.changes
   161 # Set up API keys, see http://www.chromium.org/developers/how-tos/api-keys
   177 # Set up API keys, see http://www.chromium.org/developers/how-tos/api-keys
   162 # Note: these are for the openSUSE Firefox builds ONLY. For your own distribution,
   178 # Note: these are for the openSUSE Firefox builds ONLY. For your own distribution,
   163 # please get your own set of keys.
   179 # please get your own set of keys.
   186 Patch19:        mozilla-bmo1512162.patch
   202 Patch19:        mozilla-bmo1512162.patch
   187 Patch20:        mozilla-fix-top-level-asm.patch
   203 Patch20:        mozilla-fix-top-level-asm.patch
   188 Patch21:        mozilla-bmo1504834-part4.patch
   204 Patch21:        mozilla-bmo1504834-part4.patch
   189 Patch22:        mozilla-bmo849632.patch
   205 Patch22:        mozilla-bmo849632.patch
   190 Patch23:        mozilla-pipewire-0-3.patch
   206 Patch23:        mozilla-pipewire-0-3.patch
       
   207 Patch24:        mozilla-bmo1602730.patch
       
   208 Patch25:        mozilla-bmo998749.patch
       
   209 Patch26:        mozilla-bmo1626236.patch
       
   210 Patch27:        mozilla-s390x-skia-gradient.patch
   191 # Firefox/browser
   211 # Firefox/browser
   192 Patch101:       firefox-kde.patch
   212 Patch101:       firefox-kde.patch
   193 Patch102:       firefox-branded-icons.patch
   213 Patch102:       firefox-branded-icons.patch
   194 %endif # only_print_mozconfig
   214 %endif # only_print_mozconfig
   195 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
   215 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
   232 %if %localize
   252 %if %localize
   233 %package translations-common
   253 %package translations-common
   234 Summary:        Common translations for %{appname}
   254 Summary:        Common translations for %{appname}
   235 Group:          System/Localization
   255 Group:          System/Localization
   236 Provides:       locale(%{name}:ar;ca;cs;da;de;el;en_GB;es_AR;es_CL;es_ES;fi;fr;hu;it;ja;ko;nb_NO;nl;pl;pt_BR;pt_PT;ru;sv_SE;zh_CN;zh_TW)
   256 Provides:       locale(%{name}:ar;ca;cs;da;de;el;en_GB;es_AR;es_CL;es_ES;fi;fr;hu;it;ja;ko;nb_NO;nl;pl;pt_BR;pt_PT;ru;sv_SE;zh_CN;zh_TW)
       
   257 # This is there for updates from Firefox before the translations-package was split up into 2 packages
       
   258 Provides:       %{name}-translations
   237 Requires:       %{name} = %{version}
   259 Requires:       %{name} = %{version}
   238 Obsoletes:      %{name}-translations < %{version}-%{release}
   260 Obsoletes:      %{name}-translations < %{version}-%{release}
   239 
   261 
   240 %description translations-common
   262 %description translations-common
   241 This package contains several common languages for the user interface
   263 This package contains several common languages for the user interface
   318 %patch18 -p1
   340 %patch18 -p1
   319 %patch19 -p1
   341 %patch19 -p1
   320 %patch20 -p1
   342 %patch20 -p1
   321 %patch21 -p1
   343 %patch21 -p1
   322 %patch22 -p1
   344 %patch22 -p1
   323 %if %{with pipewire3}
   345 %if %{with_pipewire0_3}
   324 %patch23 -p1
   346 %patch23 -p1
   325 %endif
   347 %endif
       
   348 %patch24 -p1
       
   349 %patch25 -p1
       
   350 %patch26 -p1
       
   351 %patch27 -p1
   326 # Firefox
   352 # Firefox
   327 %patch101 -p1
   353 %patch101 -p1
   328 %patch102 -p1
   354 %patch102 -p1
   329 %endif # only_print_mozconfig
   355 %endif # only_print_mozconfig
   330 
   356 
   333 # no need to add build time to binaries
   359 # no need to add build time to binaries
   334 modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")"
   360 modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")"
   335 DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\""
   361 DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\""
   336 TIME="\"$(date -d "${modified}" "+%%R")\""
   362 TIME="\"$(date -d "${modified}" "+%%R")\""
   337 find . -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} +
   363 find . -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} +
       
   364 
       
   365 # SLE-12 provides python36, but that package does not provide a python3 binary
       
   366 %if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
       
   367 sed -i "s/python3/python36/g" configure.in
       
   368 sed -i "s/python3/python36/g" mach
       
   369 export PYTHON3=/usr/bin/python36
       
   370 %endif
       
   371 
   338 #
   372 #
   339 kdehelperversion=$(cat toolkit/xre/nsKDEUtils.cpp | grep '#define KMOZILLAHELPER_VERSION' | cut -d ' ' -f 3)
   373 kdehelperversion=$(cat toolkit/xre/nsKDEUtils.cpp | grep '#define KMOZILLAHELPER_VERSION' | cut -d ' ' -f 3)
   340 if test "$kdehelperversion" != %{kde_helper_version}; then
   374 if test "$kdehelperversion" != %{kde_helper_version}; then
   341   echo fix kde helper version in the .spec file
   375   echo fix kde helper version in the .spec file
   342   exit 1
   376   exit 1
   352 export MOZ_BUILD_DATE=$RELEASE_TIMESTAMP
   386 export MOZ_BUILD_DATE=$RELEASE_TIMESTAMP
   353 export MOZILLA_OFFICIAL=1
   387 export MOZILLA_OFFICIAL=1
   354 export BUILD_OFFICIAL=1
   388 export BUILD_OFFICIAL=1
   355 export MOZ_TELEMETRY_REPORTING=1
   389 export MOZ_TELEMETRY_REPORTING=1
   356 %if 0%{?suse_version} <= 1320
   390 %if 0%{?suse_version} <= 1320
   357 export CC=gcc-7
   391 export CC=gcc-9
   358 %else
   392 %else
   359 %if 0%{?clang_build} == 0
   393 %if 0%{?clang_build} == 0
   360 export CC=gcc
   394 export CC=gcc
   361 export CXX=g++
   395 export CXX=g++
   362 %endif
   396 %endif
   398 . \$topsrcdir/browser/config/mozconfig
   432 . \$topsrcdir/browser/config/mozconfig
   399 ac_add_options --prefix=%{_prefix}
   433 ac_add_options --prefix=%{_prefix}
   400 ac_add_options --libdir=%{_libdir}
   434 ac_add_options --libdir=%{_libdir}
   401 ac_add_options --includedir=%{_includedir}
   435 ac_add_options --includedir=%{_includedir}
   402 ac_add_options --enable-release
   436 ac_add_options --enable-release
       
   437 %if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
       
   438 ac_add_options --enable-default-toolkit=cairo-gtk3
       
   439 %else
   403 ac_add_options --enable-default-toolkit=cairo-gtk3-wayland
   440 ac_add_options --enable-default-toolkit=cairo-gtk3-wayland
       
   441 %endif
   404 # bmo#1441155 - Disable the generation of Rust debug symbols on Linux32
   442 # bmo#1441155 - Disable the generation of Rust debug symbols on Linux32
   405 %ifarch %ix86 %arm
   443 %ifarch %ix86 %arm
   406 ac_add_options --disable-debug-symbols
   444 ac_add_options --disable-debug-symbols
   407 %else
   445 %else
   408 ac_add_options --enable-debug-symbols
   446 ac_add_options --enable-debug-symbols