Skip to content
This repository has been archived by the owner on Jan 1, 2023. It is now read-only.

Commit

Permalink
firefox: new package at 68.5.0esr
Browse files Browse the repository at this point in the history
  • Loading branch information
konimex committed Mar 2, 2020
1 parent 26bd33b commit 757bcc8
Show file tree
Hide file tree
Showing 16 changed files with 520 additions and 0 deletions.
54 changes: 54 additions & 0 deletions extra/firefox/build
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#!/bin/sh -e

# autoconf 2.13 requires GNU m4.
(
cd m4-1.4.18
./configure \
--prefix="$PWD/../m4"

make
make install
)

export PATH=$PWD/m4/bin:$PATH

# Build autoconf 2.13 for Firefox's sole use.
# See: https://bugzilla.mozilla.org/show_bug.cgi?id=104642
(
cd autoconf2.13

./configure \
--prefix="$PWD/../autoconf" \
--program-suffix=-2.13

make
make install
)

export PATH=$PWD/autoconf/bin:$PATH
export LDFLAGS="$LDFLAGS -Wl,-rpath=/usr/lib/firefox"

# Keep memory usage as low as possible.
export LDFLAGS="$LDFLAGS -Wl,--as-needed -Wl,--no-keep-memory -Wl,--stats"
export MOZ_LINK_FLAGS=$LDFLAGS
export MOZ_DEBUG_FLAGS=-g0
export RUSTFLAGS=-Cdebuginfo=0

for patch in *.patch; do
patch -p1 < "$patch"
done

printf 'mk_add_options MOZ_MAKE_FLAGS="%s"\n' \
"${MAKEFLAGS:--j1 -l1}" >> mozconfig

MOZ_NOSPAM=1 ./mach build
DESTDIR="$1" ./mach install

rm -rf "$1/usr/include"
rm -rf "$1/usr/lib/firefox-devel"
rm -rf "$1/usr/share/idl"
rm -rf "$1/usr/lib/firefox/gtk2"
rm -f "$1/usr/lib/firefox/browser/features/fxmonitor@mozilla.org.xpi"
rm -f "$1/usr/lib/firefox/browser/features/screenshots@mozilla.org.xpi"
rm -f "$1/usr/lib/firefox/browser/features/webcompat-reporter@mozilla.org.xpi"
rm -f "$1/usr/lib/firefox/browser/features/webcompat@mozilla.org.xpi"
13 changes: 13 additions & 0 deletions extra/firefox/checksums
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
52e784f98a37624e8b207f1b23289c2c88f66dd923798cae891a586a6d94a6d1 firefox-68.5.0esr.source.tar.xz
f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e autoconf-2.13.tar.gz
f2c1e86ca0a404ff281631bdc8377638992744b175afb806e25871a24a934e07 m4-1.4.18.tar.xz
b5e70b12cc9dd18fffd7924a7d3a2e11574136fe0764359d08eba0755f1c5d4c mozconfig
960d82bbfdc88c95f5cb4f2e1c1bf23dae7519b3b7203914d7b3ddbff1ba4c28 stab.h
ea3af3b167d3c1c16f02dd4eda9a0303f7d171fcc31cff5f2c6c1d224800a141 add-stl-wrappers.patch
315880530f09175788dfa48a1915bfa1e190bfd3e267988b9100cb93006c808c fix-fortify-system-wrappers.patch
14f281ee323aa682e04479019171bde243ac6227820856aa03b162179b14bfd9 fix-seccomp-bpf.patch
b19aaae7fc45db643f8d2540d96919c745ea341e36d9aea2df40e3e90eb951f0 fix-toolkit.patch
e24f71a6a0d8d4637b2081780c66b01be4eeb4dd496031270d0ae0b898be94d2 fix-tools.patch
5e0fcfde375837074baad21a8ab26aa442a7940617ebd074a6b238a48f2ceb63 fix-webrtc-glibcisms.patch
3e415de9a028c72833aaf58f72b5bf078bffcc3478fd50754998346154016afa fix-bug-1261392.patch
1d4a8f110d34da478f5597727eda9acacebd443dd86cce5bb64f898c01feabce mallinfo.patch
51 changes: 51 additions & 0 deletions extra/firefox/depends
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
alsa-lib
atk
bzip2
cairo
cbindgen make
expat
ffmpeg
fontconfig
freetype-harfbuzz
fribidi
gdk-pixbuf
glib
gnu-as make
gtk+2 make
gtk+3
hicolor-icon-theme
libICE
libSM
libX11
libXau
libXcomposite
libXcursor
libXdamage
libXext
libXfixes
libXi
libXinerama
libXrandr
libXrender
libXt
libXxf86vm
libdrm
libepoxy
libffi
libjpeg-turbo
libpng
libvpx
libxcb
libxshmfence
mesa
nasm make
nodejs make
pango
perl make
pixman
python make
python2 make
rust make
yasm make
zip make
zlib
59 changes: 59 additions & 0 deletions extra/firefox/files/mozconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
ac_add_options --prefix=/usr
ac_add_options --libdir=/usr/lib

ac_add_options --enable-official-branding
ac_add_options --enable-optimize="$CFLAGS"
ac_add_options --enable-install-strip
ac_add_options --enable-strip

ac_add_options --without-system-nspr
ac_add_options --without-system-nss
ac_add_options --with-system-jpeg
ac_add_options --with-system-zlib
ac_add_options --with-system-bz2
ac_add_options --with-system-png

# System 'libvpx' is too new.
ac_add_options --without-system-libvpx

ac_add_options --with-system-pixman
ac_add_options --with-system-ffi

ac_add_options --disable-gconf
ac_add_options --disable-profiling
ac_add_options --disable-accessibility
ac_add_options --disable-tests
ac_add_options --disable-system-extension-dirs
ac_add_options --disable-parental-controls
ac_add_options --disable-debug-symbols
ac_add_options --disable-callgrind
ac_add_options --disable-vtune

# Settings for musl.
ac_add_options --disable-elf-hack
ac_add_options --disable-gold
ac_add_options --disable-jemalloc
ac_add_options --enable-release

# ALSA/PulseAudio (removed in 70 (still present in 71b4(?!))
ac_add_options --disable-pulseaudio
ac_add_options --enable-alsa

ac_add_options --disable-startup-notification

# Respect the user.
ac_add_options MOZ_SERVICES_METRICS=
ac_add_options MOZ_PAY=
ac_add_options MOZ_SERVICES_HEALTHREPORTER=
ac_add_options MOZ_SERVICES_FXACCOUNTS=
ac_add_options MOZ_SERVICES_METRICS=
ac_add_options MOZ_DATA_REPORTING=
ac_add_options MOZ_DEVICES=
ac_add_options MOZ_REQUIRE_SIGNING=
ac_add_options MOZ_TELEMETRY_REPORTING=
ac_add_options --disable-crashreporter
ac_add_options --disable-updater
ac_add_options --disable-dbus
ac_add_options --disable-eme
ac_add_options --disable-necko-wifi
ac_add_options --disable-webrtc
71 changes: 71 additions & 0 deletions extra/firefox/files/stab.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
/* $OpenBSD: stab.h,v 1.3 2003/06/02 19:34:12 millert Exp $ */
/* $NetBSD: stab.h,v 1.4 1994/10/26 00:56:25 cgd Exp $ */

/*-
* Copyright (c) 1991 The Regents of the University of California.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* @(#)stab.h 5.2 (Berkeley) 4/4/91
*/

#ifndef _STAB_H_
#define _STAB_H_

/*
* The following are symbols used by various debuggers and by the Pascal
* compiler. Each of them must have one (or more) of the bits defined by
* the N_STAB mask set.
*/

#define N_GSYM 0x20 /* global symbol */
#define N_FNAME 0x22 /* F77 function name */
#define N_FUN 0x24 /* procedure name */
#define N_STSYM 0x26 /* data segment variable */
#define N_LCSYM 0x28 /* bss segment variable */
#define N_MAIN 0x2a /* main function name */
#define N_PC 0x30 /* global Pascal symbol */
#define N_RSYM 0x40 /* register variable */
#define N_SLINE 0x44 /* text segment line number */
#define N_DSLINE 0x46 /* data segment line number */
#define N_BSLINE 0x48 /* bss segment line number */
#define N_SSYM 0x60 /* structure/union element */
#define N_SO 0x64 /* main source file name */
#define N_LSYM 0x80 /* stack variable */
#define N_BINCL 0x82 /* include file beginning */
#define N_SOL 0x84 /* included source file name */
#define N_PSYM 0xa0 /* parameter variable */
#define N_EINCL 0xa2 /* include file end */
#define N_ENTRY 0xa4 /* alternate entry point */
#define N_LBRAC 0xc0 /* left bracket */
#define N_EXCL 0xc2 /* deleted include file */
#define N_RBRAC 0xe0 /* right bracket */
#define N_BCOMM 0xe2 /* begin common */
#define N_ECOMM 0xe4 /* end common */
#define N_ECOML 0xe8 /* end common (local name) */
#define N_LENG 0xfe /* length of preceding entry */

#endif /* !_STAB_H_ */
19 changes: 19 additions & 0 deletions extra/firefox/patches/add-stl-wrappers.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
diff --git a/config/gcc-stl-wrapper.template.h b/config/gcc-stl-wrapper.template.h
--- a/config/gcc-stl-wrapper.template.h
+++ b/config/gcc-stl-wrapper.template.h
@@ -32,6 +32,14 @@
# define moz_dont_include_mozalloc_for_cstdlib
#endif

+#ifndef moz_dont_include_mozalloc_for_type_traits
+# define moz_dont_include_mozalloc_for_type_traits
+#endif
+
+#ifndef moz_dont_include_mozalloc_for_limits
+# define moz_dont_include_mozalloc_for_limits
+#endif
+
// Include mozalloc after the STL header and all other headers it includes
// have been preprocessed.
#if !defined(MOZ_INCLUDE_MOZALLOC_H) && \

17 changes: 17 additions & 0 deletions extra/firefox/patches/fix-bug-1261392.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
diff --git a/tools/profiler/core/platform-linux-android.cpp b/tools/profiler/core/platform-linux-android.cpp
index 07857f2..92e693c 100644
--- a/tools/profiler/core/platform-linux-android.cpp
+++ b/tools/profiler/core/platform-linux-android.cpp
@@ -72,12 +72,7 @@ using namespace mozilla;
int profiler_current_process_id() { return getpid(); }

int profiler_current_thread_id() {
- // glibc doesn't provide a wrapper for gettid().
-#if defined(__GLIBC__)
return static_cast<int>(static_cast<pid_t>(syscall(SYS_gettid)));
-#else
- return static_cast<int>(gettid());
-#endif
}

void* GetStackTop(void* aGuess) { return aGuess; }
13 changes: 13 additions & 0 deletions extra/firefox/patches/fix-fortify-system-wrappers.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
The wrapper features.h gets pulled in by system headers causing thigns to
break. We work around it by simply not wrap features.h

--- ./config/system-headers.mozbuild.orig
+++ ./config/system-headers.mozbuild
@@ -229,7 +229,6 @@
'execinfo.h',
'extras.h',
'fcntl.h',
- 'features.h',
'fenv.h',
'ffi.h',
'fibdef.h',
14 changes: 14 additions & 0 deletions extra/firefox/patches/fix-seccomp-bpf.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
--- a/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc
+++ b/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc
@@ -25,6 +25,11 @@
#include "sandbox/linux/system_headers/linux_seccomp.h"
#include "sandbox/linux/system_headers/linux_signal.h"

+// musl libc defines siginfo_t __si_fields instead of _sifields
+#if defined(OS_LINUX) && !defined(__GLIBC__)
+#define _sifields __si_fields
+#endif
+
namespace {

struct arch_sigsys {
Loading

0 comments on commit 757bcc8

Please sign in to comment.