2
0
mirror of https://codeberg.org/kiss-community/repo synced 2024-07-04 15:02:27 +00:00

firefox: new package at 68.0.1

This commit is contained in:
Muhammad Herdiansyah 2019-08-03 13:30:56 +07:00
parent 3ef9d42809
commit 3aecb17979
15 changed files with 445 additions and 0 deletions

33
testing/firefox/build Executable file
View File

@ -0,0 +1,33 @@
#!/bin/sh
# Since this is a testing package, I intentionally disabled SC2164
# for the time being. When we're done, re-enable it.
# build autoconf 2.13 for Firefox's sole use
(
# shellcheck disable=SC2164
cd autoconf2.13
./configure --prefix="$PWD/../autoconf" --program-suffix=-2.13
make
make install
)
export PATH="$PWD/autoconf/bin:$PATH"
# shellcheck disable=SC2164
cd firefox
mv mozconfig .mozconfig
for patch in *.patch; do
patch -p1 < "$patch"
done
rm -f old-configure
./mach build
DESTDIR="$1" ./mach install
rm -rf "$1/usr/include"
rm -rf "$1/usr/lib/firefox-devel"
rm -rf "$1/usr/share/idl"

11
testing/firefox/checksums Normal file
View File

@ -0,0 +1,11 @@
6037f77bdab29d79ca5e3fbd1d32f6c209e09d2066189a13dc7f7491227f5568 firefox-68.0.1.source.tar.xz
f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e autoconf-2.13.tar.gz
811b568c6f3597ef5c90eb246d1cb7b110ec33902f13fc816e52862f97a5f2ca mozconfig
960d82bbfdc88c95f5cb4f2e1c1bf23dae7519b3b7203914d7b3ddbff1ba4c28 stab.h
315880530f09175788dfa48a1915bfa1e190bfd3e267988b9100cb93006c808c fix-fortify-system-wrappers.patch
026e778105ed4921d61b6f9935a861b7e9ba9ac8cc44d8516883c3b5bd7590c4 fix-musl.patch
418a2a9f80c41ee004cb640968617cab283b99f3d109aaf6180b0088d60c84b0 fix-sandbox-membarrier.patch
14f281ee323aa682e04479019171bde243ac6227820856aa03b162179b14bfd9 fix-seccomp-bpf.patch
b19aaae7fc45db643f8d2540d96919c745ea341e36d9aea2df40e3e90eb951f0 fix-toolkit.patch
e24f71a6a0d8d4637b2081780c66b01be4eeb4dd496031270d0ae0b898be94d2 fix-tools.patch
5e0fcfde375837074baad21a8ab26aa442a7940617ebd074a6b238a48f2ceb63 fix-webrtc-glibcisms.patch

12
testing/firefox/depends Normal file
View File

@ -0,0 +1,12 @@
cbindgen make
gtk+2 make
rust make
zip make
clang
llvm
libSM
libXt
libvpx
nss
gtk+3
alsa-lib

View File

@ -0,0 +1,43 @@
ac_add_options --prefix=/usr
ac_add_options --libdir=/usr/lib
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-system-jpeg
ac_add_options --with-system-zlib
ac_add_options --with-system-bz2
# We currently don't have libevent
# ac_add_options --with-system-libevent
ac_add_options --with-system-libvpx
# XXX: the system's libpng doesn't have APNG support
ac_add_options --without-system-png
ac_add_options --enable-system-pixman
ac_add_options --enable-system-ffi
ac_add_options --disable-gconf
ac_add_options --disable-tests
ac_add_options --disable-crashreporter
ac_add_options --disable-updater
ac_add_options --disable-install-strip
ac_add_options --disable-strip
ac_add_options --disable-profiling
ac_add_options --enable-optimize="$CFLAGS"
ac_add_options --enable-official-branding
ac_add_options --enable-application=browser
# musl
ac_add_options --disable-jemalloc
ac_add_options --disable-gold
ac_add_options --enable-release
# ALSA/PulseAudio (removed in 70)
ac_add_options --disable-pulseaudio
ac_add_options --enable-alsa
ac_add_options --disable-dbus
ac_add_options --disable-necko-wifi
ac_add_options --disable-startup-notification
# Prevent OOM
mk_add_options MOZ_MAKE_FLAGS="-j7 -l7"

View File

@ -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_ */

View File

@ -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',

View File

@ -0,0 +1,11 @@
--- a/tools/profiler/core/platform-linux-android.cpp 2019-07-09 22:58:30.039475686 +0200
+++ b/tools/profiler/core/platform-linux-android.cpp 2019-07-09 22:58:39.331437677 +0200
@@ -73,7 +73,7 @@
int profiler_current_thread_id() {
// glibc doesn't provide a wrapper for gettid().
-#if defined(__GLIBC__)
+#if defined(__linux__)
return static_cast<int>(static_cast<pid_t>(syscall(SYS_gettid)));
#else
return static_cast<int>(gettid());

View File

@ -0,0 +1,24 @@
--- a/build/moz.configure/rust.configure
+++ b/build/moz.configure/rust.configure
@@ -280,9 +280,11 @@
die("Don't know how to translate {} for rustc".format(
host_or_target.alias))
+ fixed_alias = rustc_target.alias.replace("-unknown-", "-alpine-").replace("-gnu", "-musl")
+
# Check to see whether our rustc has a reasonably functional stdlib
# for our chosen target.
- target_arg = '--target=' + rustc_target.alias
+ target_arg = '--target=' + fixed_alias
in_fd, in_path = mkstemp(prefix='conftest', suffix='.rs')
out_fd, out_path = mkstemp(prefix='conftest', suffix='.rlib')
os.close(out_fd)
@@ -319,7 +321,7 @@
os.remove(out_path)
# This target is usable.
- return rustc_target.alias
+ return fixed_alias
return rust_target

View File

@ -0,0 +1,54 @@
allow usage of SYS_membarrier, needed since musl-1.1.22
Taken from voidlinux: https://github.com/void-linux/void-packages/commit/4198411ac3b9e2620e171c662df82008da0faebb
--- a/security/sandbox/linux/SandboxFilter.cpp
+++ b/security/sandbox/linux/SandboxFilter.cpp
@@ -572,6 +572,8 @@
case __NR_set_tid_address:
return Allow();
#endif
+ case __NR_membarrier:
+ return Allow();
// prctl
case __NR_prctl: {
--- a/security/sandbox/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h
+++ b/security/sandbox/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h
@@ -1385,6 +1385,10 @@
#define __NR_memfd_create (__NR_SYSCALL_BASE+385)
#endif
+#if !defined(__NR_membarrier)
+#define __NR_membarrier (__NR_SYSCALL_BASE+389)
+#endif
+
// ARM private syscalls.
#if !defined(__ARM_NR_BASE)
#define __ARM_NR_BASE (__NR_SYSCALL_BASE + 0xF0000)
--- a/security/sandbox/chromium/sandbox/linux/system_headers/x86_64_linux_syscalls.h
+++ b/security/sandbox/chromium/sandbox/linux/system_headers/x86_64_linux_syscalls.h
@@ -1290,5 +1290,9 @@
#define __NR_memfd_create 319
#endif
+#if !defined(__NR_membarrier)
+#define __NR_membarrier 324
+#endif
+
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_X86_64_LINUX_SYSCALLS_H_
--- a/security/sandbox/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
+++ b/security/sandbox/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
@@ -1490,5 +1490,9 @@
#define __NR_shutdown 373
#endif
+#if !defined(__NR_membarrier)
+#define __NR_membarrier 375
+#endif
+
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_X86_32_LINUX_SYSCALLS_H_

View File

@ -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 {

View File

@ -0,0 +1,90 @@
diff --git a/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc b/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc
index 4222ce3..4d40c6a 100644
--- a/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc
+++ b/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc
@@ -46,6 +46,7 @@
#include <sys/mman.h>
#include <sys/stat.h>
#include <unistd.h>
+#include <libgen.h>
#include <iostream>
#include <set>
diff --git a/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc b/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc
index 6019fc7..5953e32 100644
--- a/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc
+++ b/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc
@@ -41,6 +41,10 @@
#include "common/using_std_string.h"
+#ifndef N_UNDF
+#define N_UNDF 0
+#endif
+
using std::vector;
namespace google_breakpad {
diff --git a/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h b/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h
index 98ee2dd..d57aa68 100644
--- a/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h
+++ b/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h
@@ -55,7 +55,7 @@
#ifdef HAVE_MACH_O_NLIST_H
#include <mach-o/nlist.h>
-#elif defined(HAVE_A_OUT_H)
+#elif 0
#include <a.out.h>
#endif
diff --git a/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h b/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
index 93fdad7..f34e5e0 100644
--- a/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
+++ b/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
@@ -1239,6 +1239,12 @@ struct kernel_statfs {
#ifndef __NR_fallocate
#define __NR_fallocate 285
#endif
+
+#undef __NR_pread
+#define __NR_pread __NR_pread64
+#undef __NR_pwrite
+#define __NR_pwrite __NR_pwrite64
+
/* End of x86-64 definitions */
#elif defined(__mips__)
#if _MIPS_SIM == _MIPS_SIM_ABI32
diff --git a/toolkit/mozapps/update/common/updatedefines.h b/toolkit/mozapps/update/common/updatedefines.h
index 79276f7..4c67976 100644
--- a/toolkit/mozapps/update/common/updatedefines.h
+++ b/toolkit/mozapps/update/common/updatedefines.h
@@ -87,7 +87,7 @@ static inline int mywcsprintf(WCHAR* dest, size_t count, const WCHAR* fmt,
# ifdef SOLARIS
# include <sys/stat.h>
-# else
+# elif !defined(__linux__) || defined(__GLIBC__)
# include <fts.h>
# endif
# include <dirent.h>
diff --git a/toolkit/mozapps/update/updater/updater.cpp b/toolkit/mozapps/update/updater/updater.cpp
index 257ccb4..01314e4 100644
--- a/toolkit/mozapps/update/updater/updater.cpp
+++ b/toolkit/mozapps/update/updater/updater.cpp
@@ -3978,6 +3978,7 @@
int add_dir_entries(const NS_tchar* dirpath, ActionList* list) {
int rv = OK;
+#if !defined(__linux__) || defined(__GLIBC__)
FTS* ftsdir;
FTSENT* ftsdirEntry;
mozilla::UniquePtr<NS_tchar[]> searchpath(get_full_path(dirpath));
@@ -4085,6 +4086,7 @@
}
fts_close(ftsdir);
+#endif
return rv;
}

View File

@ -0,0 +1,37 @@
diff --git a/tools/profiler/core/platform-linux-android.cpp b/tools/profiler/core/platform-linux-android.cpp
index 19d0a5c56d..b64b543066 100644
--- a/tools/profiler/core/platform-linux-android.cpp
+++ b/tools/profiler/core/platform-linux-android.cpp
@@ -506,8 +506,10 @@ static void PlatformInit(PSLockRef aLock) {}
ucontext_t sSyncUContext;
void Registers::SyncPopulate() {
- if (!getcontext(&sSyncUContext)) {
- PopulateRegsFromContext(*this, &sSyncUContext);
- }
+ #if defined(__GLIBC__)
+ if (!getcontext(&sSyncUContext)) {
+ PopulateRegsFromContext(*this, &sSyncUContext);
+ }
+ #endif
}
#endif
diff --git a/tools/profiler/lul/LulElf.cpp b/tools/profiler/lul/LulElf.cpp
index 9998d04d0d..348a7086fc 100644
--- a/tools/profiler/lul/LulElf.cpp
+++ b/tools/profiler/lul/LulElf.cpp
@@ -469,10 +469,10 @@ string FormatIdentifier(unsigned char identifier[16]) {
// Return the non-directory portion of FILENAME: the portion after the
// last slash, or the whole filename if there are no slashes.
string BaseFileName(const string& filename) {
- // Lots of copies! basename's behavior is less than ideal.
- char* c_filename = strdup(filename.c_str());
- string base = basename(c_filename);
- free(c_filename);
+ // basename's behavior is less than ideal so avoid it
+ const char *c_filename = filename.c_str();
+ const char *p = strrchr(c_filename, '/');
+ string base = p ? p+1 : c_filename;
return base;
}

View File

@ -0,0 +1,20 @@
--- ./media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c.orig 2018-05-09 23:48:44.677389171 +0200
+++ ./media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c 2018-05-09 23:48:56.254373557 +0200
@@ -14,7 +14,7 @@
#ifndef __GLIBC_PREREQ
#define __GLIBC_PREREQ(a, b) 0
#endif
-#if __GLIBC_PREREQ(2, 16)
+#if !__GLIBC__ || __GLIBC_PREREQ(2, 16)
#include <sys/auxv.h>
#else
#include <fcntl.h>
@@ -32,7 +32,7 @@
int architecture = 0;
unsigned long hwcap = 0;
const char* platform = NULL;
-#if __GLIBC_PREREQ(2, 16)
+#if !__GLIBC__ || __GLIBC_PREREQ(2, 16)
hwcap = getauxval(AT_HWCAP);
platform = (const char*)getauxval(AT_PLATFORM);
#else

11
testing/firefox/sources Normal file
View File

@ -0,0 +1,11 @@
https://archive.mozilla.org/pub/firefox/releases/68.0.1/source/firefox-68.0.1.source.tar.xz firefox/
https://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz autoconf2.13/
files/mozconfig firefox/
files/stab.h firefox/toolkit/crashreporter/google-breakpad/src/
patches/fix-fortify-system-wrappers.patch firefox/
patches/fix-musl.patch firefox/
patches/fix-sandbox-membarrier.patch firefox/
patches/fix-seccomp-bpf.patch firefox/
patches/fix-toolkit.patch firefox/
patches/fix-tools.patch firefox/
patches/fix-webrtc-glibcisms.patch firefox/

1
testing/firefox/version Normal file
View File

@ -0,0 +1 @@
68.0.1 1