summaryrefslogtreecommitdiff
path: root/waterfox
diff options
context:
space:
mode:
Diffstat (limited to 'waterfox')
-rw-r--r--waterfox/0001-angle-set-c-14.patch27
-rw-r--r--waterfox/debian/changelog6
-rw-r--r--waterfox/debian/control1
-rw-r--r--waterfox/debian/waterfox+devuan.dsc4
-rw-r--r--waterfox/seamonkey-2.53.3-system_libvpx-1.8.patch242
-rw-r--r--waterfox/waterfox-nolangpacks.patch27
-rw-r--r--waterfox/waterfox.spec77
7 files changed, 350 insertions, 34 deletions
diff --git a/waterfox/0001-angle-set-c-14.patch b/waterfox/0001-angle-set-c-14.patch
new file mode 100644
index 0000000..6d82f96
--- /dev/null
+++ b/waterfox/0001-angle-set-c-14.patch
@@ -0,0 +1,27 @@
+From a5c776769a911eeeaf10e276f8b17e93b1f07d19 Mon Sep 17 00:00:00 2001
+From: Phantom X <PhantomX@users.noreply.github.com>
+Date: Wed, 7 Apr 2021 23:20:18 -0300
+Subject: [PATCH] angle: set c++14
+
+---
+ gfx/angle/moz.build.common | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/gfx/angle/moz.build.common b/gfx/angle/moz.build.common
+index 31a1440..1bb83d5 100644
+--- a/gfx/angle/moz.build.common
++++ b/gfx/angle/moz.build.common
+@@ -7,6 +7,10 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
+ '-Wno-range-loop-construct',
+ ]
+
++if CONFIG['CC_TYPE'] in ('gcc'):
++ CXXFLAGS += [
++ '-std=c++14',
++ ]
+
+ if CONFIG['INTEL_ARCHITECTURE']:
+ CXXFLAGS += CONFIG['SSE2_FLAGS']
+--
+2.30.2
+
diff --git a/waterfox/debian/changelog b/waterfox/debian/changelog
index 3317075..ca1b5ce 100644
--- a/waterfox/debian/changelog
+++ b/waterfox/debian/changelog
@@ -1,3 +1,9 @@
+waterfox (2021.03-1+devuan) obs; urgency=medium
+
+ - latest version
+
+ -- B. Stack <bgstack15@gmail.com> Mon, 29 Mar 2021 10:58:46 -0400
+
waterfox (2021.02-1+devuan) obs; urgency=medium
- latest version
diff --git a/waterfox/debian/control b/waterfox/debian/control
index a55d956..66f7d79 100644
--- a/waterfox/debian/control
+++ b/waterfox/debian/control
@@ -34,6 +34,7 @@ Build-Depends: debhelper (>= 12),
llvm-dev (>= 4.0) | llvm-4.0-dev | llvm-6.0-dev | llvm-7-dev,
locales,
lsb-release,
+ nasm (>= 2.13),
python2 (>= 2.7.18-2~) | python (>= 2.7),
python-ply,
rustc (>= 1.34),
diff --git a/waterfox/debian/waterfox+devuan.dsc b/waterfox/debian/waterfox+devuan.dsc
index b682af9..045c175 100644
--- a/waterfox/debian/waterfox+devuan.dsc
+++ b/waterfox/debian/waterfox+devuan.dsc
@@ -2,11 +2,11 @@ Format: 3.0 (quilt)
Source: waterfox
Binary: waterfox
Architecture: any
-Version: 2021.02-1+devuan
+Version: 2021.03-1+devuan
Maintainer: B Stack <bgstack15@gmail.com>
Homepage: https://www.waterfox.net/
Standards-Version: 4.1.4
-Build-Depends: debhelper (>= 12), autoconf2.13, autotools-dev, binutils-avr, cargo (>= 0.35), ccache, clang (>= 4.0) | clang-4.0 | clang-6.0 | clang-7, dpkg-dev (>= 1.16.1.1~), libasound2-dev, libbz2-dev, libclang-dev (>= 4.0) | libclang-4.0-dev | libclang-6.0-dev | libclang-7-dev, libdbus-glib-1-dev, libevent-dev (>= 1.4.1), libgconf2-dev, libglib2.0-dev (>= 2.16.0), libgtk2.0-dev (>= 2.10), libgtk-3-dev, libiw-dev, libjpeg-dev, libjsoncpp-dev, libnotify-dev, libreadline-dev, libstartup-notification0-dev, libtinfo-dev, libx11-dev, libx11-xcb-dev, libxt-dev, llvm-dev (>= 4.0) | llvm-4.0-dev | llvm-6.0-dev | llvm-7-dev, locales, lsb-release, python2 (>= 2.7.18-2~) | python (>= 2.7), python-ply, rustc (>= 1.34), unzip, xauth, xfonts-base, xvfb, yasm (>= 1.1), zip, zlib1g-dev, libfontconfig-dev
+Build-Depends: debhelper (>= 12), autoconf2.13, autotools-dev, binutils-avr, cargo (>= 0.35), ccache, clang (>= 4.0) | clang-4.0 | clang-6.0 | clang-7, dpkg-dev (>= 1.16.1.1~), libasound2-dev, libbz2-dev, libclang-dev (>= 4.0) | libclang-4.0-dev | libclang-6.0-dev | libclang-7-dev, libdbus-glib-1-dev, libevent-dev (>= 1.4.1), libgconf2-dev, libglib2.0-dev (>= 2.16.0), libgtk2.0-dev (>= 2.10), libgtk-3-dev, libiw-dev, libjpeg-dev, libjsoncpp-dev, libnotify-dev, libreadline-dev, libstartup-notification0-dev, libtinfo-dev, libx11-dev, libx11-xcb-dev, libxt-dev, llvm-dev (>= 4.0) | llvm-4.0-dev | llvm-6.0-dev | llvm-7-dev, locales, lsb-release, nasm (>= 2.13), python2 (>= 2.7.18-2~) | python (>= 2.7), python-ply, rustc (>= 1.34), unzip, xauth, xfonts-base, xvfb, yasm (>= 1.1), zip, zlib1g-dev, libfontconfig-dev
Package-List:
waterfox deb web optional arch=any
Files:
diff --git a/waterfox/seamonkey-2.53.3-system_libvpx-1.8.patch b/waterfox/seamonkey-2.53.3-system_libvpx-1.8.patch
new file mode 100644
index 0000000..ee756ee
--- /dev/null
+++ b/waterfox/seamonkey-2.53.3-system_libvpx-1.8.patch
@@ -0,0 +1,242 @@
+--- seamonkey-2.53.3/mozilla/dom/media/platforms/agnostic/VPXDecoder.h
++++ seamonkey-2.53.3/mozilla/dom/media/platforms/agnostic/VPXDecoder.h
+@@ -10,7 +10,6 @@
+ #include "mozilla/Span.h"
+
+ #include <stdint.h>
+-#define VPX_DONT_DEFINE_STDINT_TYPES
+ #include "vpx/vp8dx.h"
+ #include "vpx/vpx_codec.h"
+ #include "vpx/vpx_decoder.h"
+--- seamonkey-2.53.3/mozilla/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc
++++ seamonkey-2.53.3/mozilla/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc
+@@ -80,7 +80,6 @@
+ num_spatial_layers_(0),
+ num_cores_(0),
+ is_flexible_mode_(false),
+- frames_encoded_(0),
+ // Use two spatial when screensharing with flexible mode.
+ spatial_layer_(new ScreenshareLayersVP9(2)) {
+ memset(&codec_, 0, sizeof(codec_));
+@@ -339,12 +338,11 @@
+ // TODO(asapersson): Check configuration of temporal switch up and increase
+ // pattern length.
+ is_flexible_mode_ = inst->VP9().flexibleMode;
+- if (is_flexible_mode_) {
+- config_->temporal_layering_mode = VP9E_TEMPORAL_LAYERING_MODE_BYPASS;
+- config_->ts_number_layers = num_temporal_layers_;
+- if (codec_.mode == kScreensharing)
+- spatial_layer_->ConfigureBitrate(inst->startBitrate, 0);
+- } else if (num_temporal_layers_ == 1) {
++
++ // TODO(ssilkin): Only non-flexible mode is supported for now.
++ RTC_DCHECK(!is_flexible_mode_);
++
++ if (num_temporal_layers_ == 1) {
+ gof_.SetGofInfoVP9(kTemporalStructureMode1);
+ config_->temporal_layering_mode = VP9E_TEMPORAL_LAYERING_MODE_NOLAYERING;
+ config_->ts_number_layers = 1;
+@@ -439,6 +437,25 @@
+ vpx_codec_control(encoder_, VP9E_SET_SVC_PARAMETERS,
+ &svc_params_);
+ }
++
++ if (num_spatial_layers_ > 1) {
++ if (!is_flexible_mode_) {
++ // In RTP non-flexible mode, frame dropping of individual layers in a
++ // superframe leads to incorrect reference picture ID values in the
++ // RTP header. Dropping the entire superframe if the base is dropped
++ // or not dropping upper layers if base is not dropped mitigates
++ // the problem.
++ vpx_svc_frame_drop_t svc_drop_frame;
++ svc_drop_frame.framedrop_mode = CONSTRAINED_LAYER_DROP;
++ for (size_t i = 0; i < num_spatial_layers_; ++i) {
++ svc_drop_frame.framedrop_thresh[i] =
++ (i == 0) ? config_->rc_dropframe_thresh : 0;
++ }
++ vpx_codec_control(encoder_, VP9E_SET_SVC_FRAME_DROP_LAYER,
++ &svc_drop_frame);
++ }
++ }
++
+ // Register callback for getting each spatial layer.
+ vpx_codec_priv_output_cx_pkt_cb_pair_t cbp = {
+ VP9EncoderImpl::EncoderOutputCodedPacketCallback,
+@@ -532,28 +549,6 @@
+ flags = VPX_EFLAG_FORCE_KF;
+ }
+
+- if (is_flexible_mode_) {
+- SuperFrameRefSettings settings;
+-
+- // These structs are copied when calling vpx_codec_control,
+- // therefore it is ok for them to go out of scope.
+- vpx_svc_ref_frame_config enc_layer_conf;
+- vpx_svc_layer_id layer_id;
+-
+- if (codec_.mode == kRealtimeVideo) {
+- // Real time video not yet implemented in flexible mode.
+- RTC_NOTREACHED();
+- } else {
+- settings = spatial_layer_->GetSuperFrameSettings(input_image.timestamp(),
+- send_keyframe);
+- }
+- enc_layer_conf = GenerateRefsAndFlags(settings);
+- layer_id.temporal_layer_id = 0;
+- layer_id.spatial_layer_id = settings.start_layer;
+- vpx_codec_control(encoder_, VP9E_SET_SVC_LAYER_ID, &layer_id);
+- vpx_codec_control(encoder_, VP9E_SET_SVC_REF_FRAME_CONFIG, &enc_layer_conf);
+- }
+-
+ assert(codec_.maxFramerate > 0);
+ uint32_t duration = 90000 / codec_.maxFramerate;
+ if (vpx_codec_encode(encoder_, raw_, timestamp_, duration, flags,
+@@ -761,108 +756,6 @@
+ return WEBRTC_VIDEO_CODEC_OK;
+ }
+
+-vpx_svc_ref_frame_config VP9EncoderImpl::GenerateRefsAndFlags(
+- const SuperFrameRefSettings& settings) {
+- static const vpx_enc_frame_flags_t kAllFlags =
+- VP8_EFLAG_NO_REF_ARF | VP8_EFLAG_NO_REF_GF | VP8_EFLAG_NO_REF_LAST |
+- VP8_EFLAG_NO_UPD_LAST | VP8_EFLAG_NO_UPD_ARF | VP8_EFLAG_NO_UPD_GF;
+- vpx_svc_ref_frame_config sf_conf = {};
+- if (settings.is_keyframe) {
+- // Used later on to make sure we don't make any invalid references.
+- memset(buffer_updated_at_frame_, -1, sizeof(buffer_updated_at_frame_));
+- for (int layer = settings.start_layer; layer <= settings.stop_layer;
+- ++layer) {
+- num_ref_pics_[layer] = 0;
+- buffer_updated_at_frame_[settings.layer[layer].upd_buf] = frames_encoded_;
+- // When encoding a keyframe only the alt_fb_idx is used
+- // to specify which layer ends up in which buffer.
+- sf_conf.alt_fb_idx[layer] = settings.layer[layer].upd_buf;
+- }
+- } else {
+- for (int layer_idx = settings.start_layer; layer_idx <= settings.stop_layer;
+- ++layer_idx) {
+- vpx_enc_frame_flags_t layer_flags = kAllFlags;
+- num_ref_pics_[layer_idx] = 0;
+- int8_t refs[3] = {settings.layer[layer_idx].ref_buf1,
+- settings.layer[layer_idx].ref_buf2,
+- settings.layer[layer_idx].ref_buf3};
+-
+- for (unsigned int ref_idx = 0; ref_idx < kMaxVp9RefPics; ++ref_idx) {
+- if (refs[ref_idx] == -1)
+- continue;
+-
+- RTC_DCHECK_GE(refs[ref_idx], 0);
+- RTC_DCHECK_LE(refs[ref_idx], 7);
+- // Easier to remove flags from all flags rather than having to
+- // build the flags from 0.
+- switch (num_ref_pics_[layer_idx]) {
+- case 0: {
+- sf_conf.lst_fb_idx[layer_idx] = refs[ref_idx];
+- layer_flags &= ~VP8_EFLAG_NO_REF_LAST;
+- break;
+- }
+- case 1: {
+- sf_conf.gld_fb_idx[layer_idx] = refs[ref_idx];
+- layer_flags &= ~VP8_EFLAG_NO_REF_GF;
+- break;
+- }
+- case 2: {
+- sf_conf.alt_fb_idx[layer_idx] = refs[ref_idx];
+- layer_flags &= ~VP8_EFLAG_NO_REF_ARF;
+- break;
+- }
+- }
+- // Make sure we don't reference a buffer that hasn't been
+- // used at all or hasn't been used since a keyframe.
+- RTC_DCHECK_NE(buffer_updated_at_frame_[refs[ref_idx]], -1);
+-
+- p_diff_[layer_idx][num_ref_pics_[layer_idx]] =
+- frames_encoded_ - buffer_updated_at_frame_[refs[ref_idx]];
+- num_ref_pics_[layer_idx]++;
+- }
+-
+- bool upd_buf_same_as_a_ref = false;
+- if (settings.layer[layer_idx].upd_buf != -1) {
+- for (unsigned int ref_idx = 0; ref_idx < kMaxVp9RefPics; ++ref_idx) {
+- if (settings.layer[layer_idx].upd_buf == refs[ref_idx]) {
+- switch (ref_idx) {
+- case 0: {
+- layer_flags &= ~VP8_EFLAG_NO_UPD_LAST;
+- break;
+- }
+- case 1: {
+- layer_flags &= ~VP8_EFLAG_NO_UPD_GF;
+- break;
+- }
+- case 2: {
+- layer_flags &= ~VP8_EFLAG_NO_UPD_ARF;
+- break;
+- }
+- }
+- upd_buf_same_as_a_ref = true;
+- break;
+- }
+- }
+- if (!upd_buf_same_as_a_ref) {
+- // If we have three references and a buffer is specified to be
+- // updated, then that buffer must be the same as one of the
+- // three references.
+- RTC_CHECK_LT(num_ref_pics_[layer_idx], kMaxVp9RefPics);
+-
+- sf_conf.alt_fb_idx[layer_idx] = settings.layer[layer_idx].upd_buf;
+- layer_flags ^= VP8_EFLAG_NO_UPD_ARF;
+- }
+-
+- int updated_buffer = settings.layer[layer_idx].upd_buf;
+- buffer_updated_at_frame_[updated_buffer] = frames_encoded_;
+- sf_conf.frame_flags[layer_idx] = layer_flags;
+- }
+- }
+- }
+- ++frames_encoded_;
+- return sf_conf;
+-}
+-
+ int VP9EncoderImpl::SetChannelParameters(uint32_t packet_loss, int64_t rtt) {
+ return WEBRTC_VIDEO_CODEC_OK;
+ }
+--- seamonkey-2.53.3/mozilla/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h
++++ seamonkey-2.53.3/mozilla/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h
+@@ -82,15 +82,6 @@
+ bool ExplicitlyConfiguredSpatialLayers() const;
+ bool SetSvcRates();
+
+- // Used for flexible mode to set the flags and buffer references used
+- // by the encoder. Also calculates the references used by the RTP
+- // packetizer.
+- //
+- // Has to be called for every frame (keyframes included) to update the
+- // state used to calculate references.
+- vpx_svc_ref_frame_config GenerateRefsAndFlags(
+- const SuperFrameRefSettings& settings);
+-
+ virtual int GetEncodedLayerFrame(const vpx_codec_cx_pkt* pkt);
+
+ // Callback function for outputting packets per spatial layer.
+@@ -128,8 +119,6 @@
+
+ // Used for flexible mode.
+ bool is_flexible_mode_;
+- int64_t buffer_updated_at_frame_[kNumVp9Buffers];
+- int64_t frames_encoded_;
+ uint8_t num_ref_pics_[kMaxVp9NumberOfSpatialLayers];
+ uint8_t p_diff_[kMaxVp9NumberOfSpatialLayers][kMaxVp9RefPics];
+ std::unique_ptr<ScreenshareLayersVP9> spatial_layer_;
+--- seamonkey-2.53.3/mozilla/media/webrtc/trunk/webrtc/modules/video_coding/video_codec_initializer.cc
++++ seamonkey-2.53.3/mozilla/media/webrtc/trunk/webrtc/modules/video_coding/video_codec_initializer.cc
+@@ -136,7 +136,9 @@
+ *video_codec.VP9() = VideoEncoder::GetDefaultVp9Settings();
+ if (video_codec.mode == kScreensharing &&
+ config.encoder_specific_settings) {
+- video_codec.VP9()->flexibleMode = true;
++ // See Bug 1525393 - flexibleMode is disabled until the next time we
++ // update webrtc.org due to changes in libvpx 1.8.2.
++ video_codec.VP9()->flexibleMode = false;
+ // For now VP9 screensharing use 1 temporal and 2 spatial layers.
+ RTC_DCHECK_EQ(1, video_codec.VP9()->numberOfTemporalLayers);
+ RTC_DCHECK_EQ(2, video_codec.VP9()->numberOfSpatialLayers);
diff --git a/waterfox/waterfox-nolangpacks.patch b/waterfox/waterfox-nolangpacks.patch
index 77f82cb..f30bdbb 100644
--- a/waterfox/waterfox-nolangpacks.patch
+++ b/waterfox/waterfox-nolangpacks.patch
@@ -1,10 +1,12 @@
diff -up ./browser/extensions/moz.build.nolangpacks ./browser/extensions/moz.build
---- ./browser/extensions/moz.build.nolangpacks 2021-02-16 18:38:52.814767279 -0300
-+++ ./browser/extensions/moz.build 2021-02-16 18:45:15.150908703 -0300
-@@ -9,96 +9,5 @@ DIRS += [
+--- ./browser/extensions/moz.build.nolangpacks 2021-03-26 09:15:05.000000000 -0300
++++ ./browser/extensions/moz.build 2021-03-27 11:47:58.971578906 -0300
+@@ -7,98 +7,3 @@
+ DIRS += [
+ 'pdfjs',
]
-
- FINAL_TARGET_FILES.features += [
+-
+-FINAL_TARGET_FILES.features += [
- 'langpack-ach@waterfox.xpi',
- 'langpack-af@waterfox.xpi',
- 'langpack-an@waterfox.xpi',
@@ -96,5 +98,16 @@ diff -up ./browser/extensions/moz.build.nolangpacks ./browser/extensions/moz.bui
- 'langpack-xh@waterfox.xpi',
- 'langpack-zh-CN@waterfox.xpi',
- 'langpack-zh-TW@waterfox.xpi',
- 'zakius@polly.xpi',
- ]
+-# 'zakius@polly.xpi',
+-]
+diff -up ./browser/installer/package-manifest.in.nolangpacks ./browser/installer/package-manifest.in
+--- ./browser/installer/package-manifest.in.nolangpacks 2017-12-13 19:42:11.000000000 -0200
++++ ./browser/installer/package-manifest.in 2017-12-14 00:42:50.480760374 -0200
+@@ -625,7 +625,6 @@
+ @RESPATH@/browser/chrome/icons/default/default128.png
+ @RESPATH@/browser/chrome/icons/default/default256.png
+ #endif
+-@RESPATH@/browser/features/*
+
+ ; [Webide Files]
+ @RESPATH@/browser/chrome/webide@JAREXT@
diff --git a/waterfox/waterfox.spec b/waterfox/waterfox.spec
index a682fa7..f0ff9ad 100644
--- a/waterfox/waterfox.spec
+++ b/waterfox/waterfox.spec
@@ -29,7 +29,7 @@ ExcludeArch: armv7hl
%global system_ffi 1
%global system_cairo 0
%global system_harfbuzz 1
-%global system_libvpx 0
+%global system_libvpx 1
%global system_webp 1
%global system_libicu 0
%global system_jpeg 1
@@ -56,6 +56,10 @@ ExcludeArch: armv7hl
%global big_endian 1
%endif
+%if !0%{?build_with_clang}
+%global disable_elfhack 1
+%endif
+
%if 0%{?build_with_pgo}
%global use_xvfb 1
%global build_tests 1
@@ -70,7 +74,7 @@ ExcludeArch: armv7hl
%global debug_build 0
%global build_stylo 0
-# stackrpms: disable simd because it only causes problems
+# stackrpms,2 disable simd because it only causes problems
%global build_rust_simd 0
# Set to build with pinned rust version
# This enables stylo build when default rust version is not supported
@@ -93,7 +97,7 @@ ExcludeArch: armv7hl
%endif
%global libnotify_version 0.7.0
%if 0%{?system_libvpx}
-%global libvpx_version 1.4.0
+%global libvpx_version 1.8.0
%endif
%if 0%{?system_webp}
%global webp_version 1.0.0
@@ -152,15 +156,17 @@ BuildRequires: %{scl_buildreq}
%endif
%if 0%{?rhel} >= 7
%global system_webp 0
+%global disable_av1 1
%endif
-# added for 2020.08 because right now el8 does not have sqlite >= 3.30.1
+# added for 2020.08 because el8 does not have sqlite >= 3.30.1
%if 0%{?rhel} == 8
%global system_sqlite 0
+%global system_libvpx 0
%endif
Summary: Waterfox Web browser
Name: waterfox
-Version: 2021.02
+Version: 2021.03
Release: 11%{?branch:.%{branch}}%{?gver}%{?dist}
URL: https://www.waterfox.net
License: MPLv1.1 or GPLv2+ or LGPLv2+
@@ -218,7 +224,6 @@ Patch402: mozilla-1196777.patch
Patch413: mozilla-1353817.patch
Patch415: Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch
Patch417: mozilla-1436242.patch
-Patch418: https://hg.mozilla.org/integration/autoland/raw-rev/342812d23eb9#/mozilla-1336978.patch
Patch419: https://hg.mozilla.org/mozilla-central/raw-rev/4723934741c5#/mozilla-1320560.patch
Patch420: https://hg.mozilla.org/mozilla-central/raw-rev/97dae871389b#/mozilla-1389436.patch
@@ -236,6 +241,7 @@ Patch601: mozilla-1516081.patch
Patch602: mozilla-1516803.patch
Patch603: mozilla-1397365-5.patch
Patch604: 1003_gentoo_specific_pgo.patch
+Patch605: https://hg.mozilla.org/mozilla-central/raw-rev/c999baadc2d5#/mozilla-hg-1433383.patch
# Chinforinfula patches
Patch700: %{name}-nolangpacks.patch
@@ -245,6 +251,10 @@ Patch702: %{name}-waterfoxdir-2.patch
Patch703: %{name}-fix-testing-file.patch
Patch704: %{name}-disable-diagnostics-color.patch
Patch705: 0001-Update-patch-bug1403998.patch
+Patch706: 0001-angle-set-c-14.patch
+
+# Gentoo
+Patch800: seamonkey-2.53.3-system_libvpx-1.8.patch
%if 0%{?system_nss}
BuildRequires: pkgconfig(nspr) >= %{nspr_version}
@@ -299,6 +309,11 @@ BuildRequires: pkgconfig(libpulse)
%if 0%{?system_libicu}
BuildRequires: pkgconfig(icu-i18n)
%endif
+# stackrpms,2 el7,8 does not have nasm 2.13
+%if 0%{?disable_av1} != 1
+BuildRequires: nasm >= 2.13
+# stackrpms,2
+%endif
BuildRequires: yasm
BuildRequires: llvm
BuildRequires: llvm-devel
@@ -428,7 +443,6 @@ This package contains results of tests executed during build.
%patch415 -p1 -b .mozilla-1238661
%endif
%patch417 -p1 -b .mozilla-1436242
-%patch418 -p1 -b .mozilla-1336978
%patch419 -p1 -b .mozilla-1320560
%patch420 -p1 -b .mozilla-1389436
@@ -443,6 +457,7 @@ This package contains results of tests executed during build.
%patch602 -p1 -b .1516803
%patch603 -p1 -b .1397365
%patch604 -p1 -b .gentoo_pgo
+%patch605 -p1 -b .1433383
# Prepare FreeBSD patches
mkdir _patches
@@ -490,6 +505,13 @@ done
%patch702 -p1 -b .waterfoxdir-2
%patch703 -p1 -b .fix-testing-file
%patch704 -p1 -b .no-diagnostics-color
+%patch706 -p1 -b .angle-c++14
+
+# stackrpms,2
+%if 0%{?system_libvpx}
+%patch800 -p2 -b .system-vpx
+# stackrpms,2
+%endif
# Patch for big endian platforms only
%if 0%{?big_endian}
@@ -678,7 +700,7 @@ echo "Generate big endian version of config/external/icu/data/icud58l.dat"
%endif
# Update the various config.guess to upstream release for aarch64 support
-find ./ -name config.guess -exec cp /usr/lib/rpm/config.guess {} ';'
+find ./ -name config.guess -exec cp /usr/lib/rpm/redhat/config.guess {} ';'
RPM_SMP_MFLAGS_NCPUS="%{?_smp_build_ncpus}%{!?_smp_build_ncpus:2}"
@@ -704,22 +726,15 @@ echo "ac_add_options --enable-linker=gold" >> .mozconfig
MOZ_OPT_FLAGS="-fuse-ld=gold"
%endif
%endif
+# stackrpms,5
-MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS $(echo "%{optflags}" | sed -e 's/-Wall//')"
-#rhbz#1037063
-# -Werror=format-security causes build failures when -Wno-format is explicitly given
-# for some sources
-# Explicitly force the hardening flags for Waterfox so it passes the checksec test;
-# See also https://fedoraproject.org/wiki/Changes/Harden_All_Packages
-%if 0%{?fedora} < 30
-MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wformat-security -Wformat -Werror=format-security"
-%else
+%if 0%{?disable_av1}
+echo "ac_add_options --disable-av1" >> .mozconfig
+%endif
+
+MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS $(echo "%{optflags}" | sed -e 's/-Wall//') -fpermissive -mno-avx"
# Workaround for mozbz#1531309
MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | sed -e 's/-Werror=format-security//')
-%endif
-%if 0%{?fedora} > 30
-MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fpermissive"
-%endif
%if 0%{?build_with_clang}
# Fedora's default compiler flags conflict with what clang supports
MOZ_OPT_FLAGS="$(echo "$MOZ_OPT_FLAGS" | sed -e 's/-fstack-clash-protection//')"
@@ -737,9 +752,9 @@ export MOZ_DEBUG_FLAGS=" "
%if 0%{?build_with_lto}
MOZ_OPT_FLAGS="$(echo "$MOZ_OPT_FLAGS" | sed -e 's/-O2/-O3/' -e 's/ -g\b/ -g1/')"
%if 0%{?build_with_clang}
-RPM_FLTO_FLAGS="-flto=thin -Wl,--thinlto-jobs=$RPM_NCPUS"
+RPM_FLTO_FLAGS="-flto=thin -Wl,--thinlto-jobs=$RPM_NCPUS -Wl,-plugin-opt=-import-instr-limit=10"
%else
-RPM_FLTO_FLAGS="-flto=$RPM_NCPUS -fuse-linker-plugin -flifetime-dse=1"
+RPM_FLTO_FLAGS="-flto=$RPM_NCPUS -flifetime-dse=1"
%endif
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS $RPM_FLTO_FLAGS"
MOZ_LINK_FLAGS="$MOZ_OPT_FLAGS"
@@ -1056,7 +1071,11 @@ fi
%{mozappdir}/browser/chrome
%{mozappdir}/browser/chrome.manifest
%{mozappdir}/browser/defaults/preferences/*.js
-%{mozappdir}/browser/features/*.xpi
+# stackrpms,2
+%if 0%{?rhel} != 7
+%ghost %{mozappdir}/browser/features/*.xpi
+# stackrpms,2
+%endif
%{mozappdir}/distribution/distribution.ini
# That's Windows only
%ghost %{mozappdir}/browser/features/aushelper@mozilla.org.xpi
@@ -1096,11 +1115,19 @@ fi
#---------------------------------------------------------------------
%changelog
-* Fri Feb 19 2021 B. Stack <bgstack15@gmail.com> - 2021.02-11.classic
+* Tue Apr 13 2021 B. Stack <bgstack15@gmail.com> - 2021.03-11.classic
- add el7 and el8 support
- repackage for stackrpms
- disable simd globally
+* Thu Apr 08 2021 Phantom X <megaphantomx at hotmail dot com> - 2021.03-1.classic
+- 2021.03
+- BR: nasm
+- Remove Fedora 30 workarounds
+- Reenable system vpx with patch from polynomial-c
+- Fix LTO build
+- Disable elfhack with gcc
+
* Tue Feb 16 2021 Phantom X <megaphantomx at hotmail dot com> - 2021.02-1.classic
- 2021.02
bgstack15