Skip to content

Commit

Permalink
FF: Update to 115.3.1
Browse files Browse the repository at this point in the history
Includes:
- Remove bashisms in mozilla.sh.in
- Add patch to fix broken build in ffmpeg with newer binutils
- Specfile-fixes for ALP
  • Loading branch information
Martin Sirringhaus committed Oct 2, 2023
1 parent 6b896e3 commit 1aed0b0
Show file tree
Hide file tree
Showing 7 changed files with 103 additions and 41 deletions.
30 changes: 22 additions & 8 deletions firefox/MozillaFirefox.spec
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@
# major 69
# mainver %%major.99
%define major 115
%define mainver %major.0
%define orig_version 115.0
%define mainver %major.3.1
%define orig_version 115.3.1
%define orig_suffix esr
%define update_channel release
%define branding 1
Expand Down Expand Up @@ -64,6 +64,8 @@ BuildArch: i686
%{expand:%%global optflags %(echo "%optflags"|sed -e s/i586/i686/) -march=i686 -mtune=generic -msse2}
%endif
%endif
# Let mach set the appropriate LTO-flags for us, but correctly.
%{expand:%%global optflags %(echo "%optflags"|sed -e s/-flto=auto//) }

# general build definitions
%define progname firefox
Expand Down Expand Up @@ -117,19 +119,22 @@ BuildRequires: makeinfo
BuildRequires: mozilla-nspr-devel >= 4.35
BuildRequires: mozilla-nss-devel >= 3.90
BuildRequires: nasm >= 2.14
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} <= 150000
BuildRequires: nodejs12 >= 12.22.12
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
BuildRequires: libXtst-devel
BuildRequires: python-libxml2
#BuildRequires: python-libxml2
BuildRequires: python39
BuildRequires: python39-curses
BuildRequires: python39-devel
%else
%if 0%{?sle_version} >= 150000 && 0%{?sle_version} <= 150500
%if 0%{?sle_version} > 150000 && 0%{?sle_version} <= 150500
BuildRequires: nodejs12 >= 12.22.12
BuildRequires: python39
BuildRequires: python39-curses
BuildRequires: python39-devel
%else
# ALP
BuildRequires: nodejs >= 12.22.12
BuildRequires: python3 >= 3.7
BuildRequires: python3-curses
BuildRequires: python3-devel
Expand Down Expand Up @@ -228,8 +233,8 @@ Patch18: mozilla-silence-no-return-type.patch
Patch19: mozilla-bmo531915.patch
Patch20: one_swizzle_to_rule_them_all.patch
Patch21: svg-rendering.patch
Patch22: mozilla-fix-broken-ffmpeg.patch
Patch28: mozilla-partial-revert-1768632.patch
Patch29: mozilla-bmo1775202.patch
# Firefox/browser
Patch101: firefox-kde.patch
Patch102: firefox-branded-icons.patch
Expand Down Expand Up @@ -380,8 +385,13 @@ export MOZ_TELEMETRY_REPORTING=1
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
export CFLAGS="%{optflags}"
%if 0%{?clang_build} == 0
%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150500
export CC=gcc-12
export CXX=g++-12
%else
export CC=gcc
export CXX=g++
%endif
%if 0%{?gcc_version:%{gcc_version}} >= 12
export CFLAGS="\$CFLAGS -fimplicit-constexpr"
%endif
Expand All @@ -400,6 +410,10 @@ export LDFLAGS="\$LDFLAGS -fPIC -Wl,-z,relro,-z,now"
#export CFLAGS="\$CFLAGS -mminimal-toc"
%endif
%endif
%ifarch %ix86
# Not enough memory on 32-bit systems, reduce debug info.
export CFLAGS="\$CFLAGS -g1"
%endif
export CXXFLAGS="\$CFLAGS"
export MOZCONFIG=$RPM_BUILD_DIR/mozconfig
EOF
Expand Down Expand Up @@ -489,7 +503,7 @@ ac_add_options --enable-optimize="-O1"
%endif
%ifarch x86_64
# LTO needs newer toolchain stack only (at least GCC 8.2.1 (r268506)
%if 0%{?suse_version} > 1500
%if 0%{?suse_version} > 1600
ac_add_options --enable-lto
%if 0%{?do_profiling}
ac_add_options MOZ_PGO=1
Expand Down Expand Up @@ -723,7 +737,7 @@ exit 0
%{progdir}/dependentlibs.list
%{progdir}/*.so
%{progdir}/glxtest
%if 0%{wayland_supported}
%if 0%{?sle_version} >= 150000 || 0%{?suse_version} == 1600
%{progdir}/vaapitest
%endif
%{progdir}/omni.ja
Expand Down
1 change: 0 additions & 1 deletion firefox/mozilla-bmo1775202.patch

This file was deleted.

1 change: 1 addition & 0 deletions firefox/mozilla-fix-broken-ffmpeg.patch
4 changes: 2 additions & 2 deletions firefox/mozilla.sh.in
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ if [ "$WAYLAND_DISPLAY" ]; then
fi

# xinput2 (boo#1173320)
source /etc/os-release
. /etc/os-release
if [ "$ID" = "opensuse-tumbleweed" ]; then
export MOZ_USE_XINPUT2=1
fi
Expand Down Expand Up @@ -151,7 +151,7 @@ if [ $MOZILLA_DOWN -ne 0 ]; then
# Try with a local variant first, then without a local variant
SHORTMOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*||g" | sed "s|\..*||g"`
MOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*|-\1|g" | sed "s|\..*||g"`
function create_langpack_link() {
create_langpack_link() {
local language=$*
local langpack=langpack-${language}@firefox.mozilla.org.xpi
if [ -f $MOZ_LANGPACKS_DIR/$langpack ]; then
Expand Down
8 changes: 4 additions & 4 deletions firefox/tar_stamps
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
PRODUCT="firefox"
CHANNEL="release"
VERSION="115.0"
VERSION="115.3.1"
VERSION_SUFFIX="esr"
PREV_VERSION="102.12"
PREV_VERSION="115.3.0"
PREV_VERSION_SUFFIX="esr"
#SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-esr115"
RELEASE_TAG="4a8666238269bba3dcccc95812d13d2c8abd9252"
RELEASE_TIMESTAMP="20230629151558"
RELEASE_TAG="749617c4473c65f8aebb2e3254777ae99dc17cce"
RELEASE_TIMESTAMP="20230927234915"
26 changes: 0 additions & 26 deletions mozilla-bmo1775202.patch

This file was deleted.

74 changes: 74 additions & 0 deletions mozilla-fix-broken-ffmpeg.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
From: Rémi Denis-Courmont <remi@remlab.net>
Date: Sun, 16 Jul 2023 15:18:02 +0000 (+0300)
Subject: avcodec/x86/mathops: clip constants used with shift instructions within inline assembly
X-Git-Url: https://git.videolan.org/?p=ffmpeg.git;a=commitdiff_plain;h=effadce6c756247ea8bae32dc13bb3e6f464f0eb

avcodec/x86/mathops: clip constants used with shift instructions within inline assembly

Fixes assembling with binutil as >= 2.41

Signed-off-by: James Almer <jamrial@gmail.com>

NOTE: I've adjusted the paths to work with Firefox sources
---

diff --git a/media/ffvpx/libavcodec/x86/mathops.h b/media/ffvpx/libavcodec/x86/mathops.h
index 6298f5ed19..ca7e2dffc1 100644
--- a/media/ffvpx/libavcodec/x86/mathops.h
+++ b/media/ffvpx/libavcodec/x86/mathops.h
@@ -35,12 +35,20 @@
static av_always_inline av_const int MULL(int a, int b, unsigned shift)
{
int rt, dummy;
+ if (__builtin_constant_p(shift))
__asm__ (
"imull %3 \n\t"
"shrdl %4, %%edx, %%eax \n\t"
:"=a"(rt), "=d"(dummy)
- :"a"(a), "rm"(b), "ci"((uint8_t)shift)
+ :"a"(a), "rm"(b), "i"(shift & 0x1F)
);
+ else
+ __asm__ (
+ "imull %3 \n\t"
+ "shrdl %4, %%edx, %%eax \n\t"
+ :"=a"(rt), "=d"(dummy)
+ :"a"(a), "rm"(b), "c"((uint8_t)shift)
+ );
return rt;
}

@@ -113,19 +121,31 @@ __asm__ volatile(\
// avoid +32 for shift optimization (gcc should do that ...)
#define NEG_SSR32 NEG_SSR32
static inline int32_t NEG_SSR32( int32_t a, int8_t s){
+ if (__builtin_constant_p(s))
__asm__ ("sarl %1, %0\n\t"
: "+r" (a)
- : "ic" ((uint8_t)(-s))
+ : "i" (-s & 0x1F)
);
+ else
+ __asm__ ("sarl %1, %0\n\t"
+ : "+r" (a)
+ : "c" ((uint8_t)(-s))
+ );
return a;
}

#define NEG_USR32 NEG_USR32
static inline uint32_t NEG_USR32(uint32_t a, int8_t s){
+ if (__builtin_constant_p(s))
__asm__ ("shrl %1, %0\n\t"
: "+r" (a)
- : "ic" ((uint8_t)(-s))
+ : "i" (-s & 0x1F)
);
+ else
+ __asm__ ("shrl %1, %0\n\t"
+ : "+r" (a)
+ : "c" ((uint8_t)(-s))
+ );
return a;
}

0 comments on commit 1aed0b0

Please sign in to comment.