testing/thunderbird: new aport

https://www.thunderbird.net/
Thunderbird email client with package for GPG encrypted email
(Enigmail).

Signed-off-by: Joseph Benden <joe@benden.us>
This commit is contained in:
Joseph Benden 2019-07-18 00:10:48 +00:00 committed by Leonardo Arena
parent 76a5e58c61
commit 641fc95383
22 changed files with 972 additions and 0 deletions

View File

@ -0,0 +1,27 @@
From 83d412cf08d76fab5e79b6f261c3145372337d5e Mon Sep 17 00:00:00 2001
From: Eli Schwartz <eschwartz@archlinux.org>
Date: Thu, 10 Jan 2019 11:38:38 -0500
Subject: [PATCH] preferences: disable pEpAutoDownload by default
Distributions should not automatically download this untrusted code;
should be opt-in by users or be packaged separately.
---
package/prefs/defaultPrefs.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package/prefs/defaultPrefs.js b/package/prefs/defaultPrefs.js
index d5ca1249..f8c10a47 100755
--- a/package/prefs/defaultPrefs.js
+++ b/package/prefs/defaultPrefs.js
@@ -204,7 +204,7 @@ pref("extensions.enigmail.warnDownloadContactKeys", true);
pref("extensions.enigmail.wrapHtmlBeforeSend", true);
// automatically download pepmda if it is available (without askin user)
-pref("extensions.enigmail.pEpAutoDownload", true);
+pref("extensions.enigmail.pEpAutoDownload", false);
// holds the last result of the last check for pEp updates
pref("extensions.enigmail.pEpLastUpdate", 0);
--
2.20.1

View File

@ -0,0 +1,40 @@
# Maintainer: Joseph Benden <joe@benden.us>
pkgname=thunderbird-extension-enigmail
pkgver=2.0.12
pkgrel=0
pkgdesc="OpenPGP message encryption and authentication for Thunderbird"
url="https://www.enigmail.net/"
arch="noarch"
license="MPL-2.0 AND GPL-3.0-or-later"
depends="thunderbird gnupg"
makedepends="zip python2 perl"
options="!check"
source="https://www.enigmail.net/download/source/enigmail-${pkgver}.tar.gz
0001-preferences-disable-pEpAutoDownload-by-default.patch"
builddir="${srcdir}/enigmail"
build() {
./configure
make -j1 # fails with -j greater than 1
}
package() {
if [[ -f package/install.rdf ]]; then
_extension_id="$(sed -n '/.*<em:id>\(.*\)<\/em:id>.*/{s//\1/p;q}' build/dist/install.rdf)"
else
_extension_id="$(sed -n 's/.*"id": "\(.*\)".*/\1/p' build/dist/manifest.json)"
fi
_extension_dest="${pkgdir}/usr/lib/thunderbird/extensions/${_extension_id}"
# Should this extension be unpacked or not?
if grep -q '<em:unpack>true</em:unpack>' build/dist/install.rdf 2>/dev/null; then
install -dm755 "${_extension_dest}"
cp -R build/dist/* "${_extension_dest}"
chmod -R ugo+rX "${_extension_dest}"
else
install -Dm644 build/enigmail-${pkgver}.xpi "${_extension_dest}.xpi"
fi
}
sha512sums="f9f4f1ed4c7244280be2fade0ccb2f4b5e7075dd60f53953478ffb84012e687b7ac7bad489c0b0cb2d8937916c783fe9e1841174bf1e5bdb9ab8cb58b415db74 enigmail-2.0.12.tar.gz
4307c7b6bce7febba7a8186467c3bc93ec3428e1cd75cddad659e4d4a71832f1c8d46e4c811da38ff1dc38b1961a82bd84e7c90b7c63ce080be49ce69571c016 0001-preferences-disable-pEpAutoDownload-by-default.patch"

View File

@ -0,0 +1,17 @@
--- ./xpcom/ds/nsMathUtils.h.orig
+++ ./xpcom/ds/nsMathUtils.h
@@ -104,12 +104,12 @@
#ifdef WIN32
// NOTE: '!!' casts an int to bool without spamming MSVC warning C4800.
return !!_finite(aNum);
-#elif defined(XP_DARWIN)
+#elif defined(XP_DARWIN) || defined(_GLIBCXX_CMATH)
// Darwin has deprecated |finite| and recommends |isfinite|. The former is
// not present in the iOS SDK.
return std::isfinite(aNum);
#else
- return finite(aNum);
+ return isfinite(aNum);
#endif
}

View File

@ -0,0 +1,20 @@
--- a/python/mozbuild/mozbuild/controller/building.py 2019-07-03 15:25:28.000000000 +0000
+++ b/python/mozbuild/mozbuild/controller/building.py 2019-07-17 02:49:12.693079588 +0000
@@ -940,7 +940,7 @@ class BuildDriver(MozbuildObject):
warnings_path = self._get_state_filename('warnings.json')
monitor = self._spawn(BuildMonitor)
monitor.init(warnings_path)
- ccache_start = monitor.ccache_stats()
+ ccache_start = None # monitor.ccache_stats()
footer = BuildProgressFooter(self.log_manager.terminal, monitor)
# Disable indexing in objdir because it is not necessary and can slow
@@ -1158,7 +1158,7 @@ class BuildDriver(MozbuildObject):
if high_finder:
print(FINDER_SLOW_MESSAGE % finder_percent)
- ccache_end = monitor.ccache_stats()
+ ccache_end = None # monitor.ccache_stats()
ccache_diff = None
if ccache_start and ccache_end:

View File

@ -0,0 +1,297 @@
# Contributor: Joseph Benden <joe@benden.us>
# Maintainer: Joseph Benden <joe@benden.us>
pkgname=thunderbird
pkgver=60.8.0
_pkgver=$pkgver
_xulver=$pkgver
pkgrel=0
pkgdesc="Thunderbird email client"
url="https://www.thunderbird.net/"
arch="x86_64"
license="GPL-3.0-or-later AND LGPL-2.1-or-later AND MPL-2.0"
options="!check !strip"
depends="
alsa-lib
dbus-glib
ffmpeg
gconf
gtk+3.0
hunspell
icu
libevent
libjpeg-turbo
libnotify
libogg
libtheora
libvorbis
libxcomposite
libxt
nspr
nss
sqlite
startup-notification
"
makedepends="
alsa-lib-dev
autoconf2.13
automake
bsd-compat-headers
bzip2-dev
cargo
cbindgen
clang-dev
dbus-glib-dev
ffmpeg-dev
gconf-dev
gtk+2.0-dev
gtk+3.0-dev
hunspell-dev
icu-dev
libevent-dev
libidl-dev
libjpeg-turbo-dev
libnotify-dev
libogg-dev
libtheora-dev
libtool
libvorbis-dev
libvpx-dev
libxcomposite-dev
libxt-dev
llvm-dev
mesa-dev
nasm
nodejs
nspr-dev
nss-dev
nss-static
paxmark
python3-dev
sed
sqlite-dev
startup-notification-dev
wireless-tools-dev
yasm
zip
"
source="https://ftp.mozilla.org/pub/thunderbird/releases/$pkgver/source/thunderbird-$pkgver.source.tar.xz
stab.h
fix-fortify-system-wrappers.patch
fix-fortify-inline.patch
fix-seccomp-bpf.patch
fix-toolkit.patch
fix-tools.patch
mallinfo.patch
mozilla-build-arm.patch
disable-moz-stackwalk.patch
fix-rust-target.patch
fix-bug-1261392.patch
fix-webrtc-glibcisms.patch
sandbox-membarrier.patch
rust-unitialized-field.patch
rust133.patch
0003-Disable-ccache-stats.patch
thunderbird.desktop
"
_mozappdir=/usr/lib/$pkgname
# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
# Note: These are for Arch Linux use ONLY. For your own distribution, please
# get your own set of keys. Feel free to contact foutrelis@archlinux.org for
# more information.
_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM
# Mozilla API keys (see https://location.services.mozilla.com/api)
# Note: These are for Arch Linux use ONLY. For your own distribution, please
# get your own set of keys. Feel free to contact heftig@archlinux.org for
# more information.
_mozilla_api_key=16674381-f021-49de-8622-3021c5942aff
# help our shared-object scanner to find the libs
ldpath="$_mozappdir"
sonameprefix="$pkgname:"
prepare() {
default_prepare
cp "$srcdir"/stab.h toolkit/crashreporter/google-breakpad/src/
# https://bugzilla.mozilla.org/show_bug.cgi?id=1341234
mkdir -p "$builddir"/objdir
echo "ac_add_options BINDGEN_CFLAGS='-I/usr/include/nspr -I/usr/include/pixman-1'" >>objdir/.mozconfig
# add API keys
echo -n "${_google_api_key}" > $builddir/objdir/google-api-key
echo -n "${_mozilla_api_key}" > $builddir/objdir/mozilla-api-key
}
build() {
cd "$builddir"/objdir
sed -e 's/checkImpl/checkFFImpl/g' -i ../js/src/vm/JSContext*.h
export SHELL=/bin/sh
export BUILD_OFFICIAL=1
export MOZILLA_OFFICIAL=1
export USE_SHORT_LIBNAME=1
export MACH_NO_TERMINAL_FOOTER=1
export TERM=ansi-generic
# gcc 6
export CXXFLAGS="-fno-delete-null-pointer-checks -fno-schedule-insns2"
# set rpath so linker finds the libs
export LDFLAGS="$LDFLAGS -Wl,-rpath,${_mozappdir} -Wl,--gc-sections"
# ignore compiler warnings
export CXXFLAGS="$CXXFLAGS -Wno-class-memaccess -Wno-multistatement-macros -Wno-ignored-qualifiers"
export LDFLAGS="$LDFLAGS -Wno-subobject-linkage"
../mach configure \
--prefix=/usr \
--libdir=/usr/lib \
\
--disable-crashreporter \
--disable-elf-hack \
--disable-gold \
--enable-install-strip \
--disable-jemalloc \
--disable-profiling \
--disable-pulseaudio \
--enable-strip \
--disable-tests \
--disable-updater \
--disable-debug \
--disable-debug-symbols \
\
--with-distribution-id=org.alpinelinux \
--enable-alsa \
--enable-application=comm/mail \
--enable-default-toolkit=cairo-gtk3 \
--enable-official-branding \
--enable-optimize="$CFLAGS -fno-ident -fmerge-all-constants -ffunction-sections -fdata-sections -Wno-maybe-uninitialized -Wno-implicit-fallthrough" \
--enable-release \
--enable-startup-notification \
--enable-system-ffi \
--enable-system-sqlite \
--enable-ffmpeg \
--enable-hardening \
\
--with-google-location-service-api-keyfile="${builddir}/objdir/google-api-key" \
--with-google-safebrowsing-api-keyfile="${builddir}/objdir/google-api-key" \
--with-mozilla-api-keyfile="${builddir}/objdir/mozilla-api-key" \
\
--with-system-bz2 \
--with-system-hunspell \
--with-system-icu \
--with-system-jpeg \
--with-system-libevent \
--with-system-nspr \
--with-system-nss \
--with-system-pixman \
--with-system-png \
--with-system-zlib \
--without-ccache \
--with-clang-path=/usr/bin/clang-8 \
--with-libclang-path=/usr/lib
#--with-system-libvpx # requires 1.7x to work, we've got 1.8.0 currently
../mach build -v
}
package() {
cd "$builddir"/objdir
DESTDIR="$pkgdir" \
MOZ_MAKE_FLAGS="$MAKEOPTS" \
../mach install
install -m755 -d ${pkgdir}/usr/share/applications
install -m755 -d ${pkgdir}/usr/share/pixmaps
install -m755 -d ${pkgdir}/usr/share/icons
install -m755 -d ${pkgdir}/usr/share/icons/hicolor
for i in 16 22 24 32 48 64 128 256; do
install -Dm644 "$builddir"/comm/mail/branding/thunderbird/default${i}.png \
"$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$pkgname.png"
done
install -Dm644 "$builddir"/comm/mail/branding/thunderbird/TB-symbolic.svg \
"$pkgdir/usr/share/icons/hicolor/symbolic/apps/thunderbird-symbolic.svg"
install -Dm644 "$builddir"/comm/mail/branding/thunderbird/default48.png \
${pkgdir}/usr/share/pixmaps/$pkgname.png
install -m644 ${srcdir}/$pkgname.desktop ${pkgdir}/usr/share/applications/$pkgname.desktop
# thunderbird currently does not work with mprotect. disable it for now
local paxflags="-mp"
[ "$CARCH" = "x86" ] && paxflags="-msp"
paxmark "$paxflags" "$pkgdir"/$_mozappdir/thunderbird-bin
paxmark "$paxflags" "$pkgdir"/$_mozappdir/plugin-container
paxmark "$paxflags" "$pkgdir"/$_mozappdir/pingsender
_vendorjs="$pkgdir/usr/lib/$pkgname/defaults/preferences/vendor.js"
install -Dm644 /dev/stdin "$_vendorjs" <<END
// Use LANG environment variable to choose locale
pref("intl.locale.requested", "");
// Use system-provided dictionaries
pref("spellchecker.dictionary_path", "/usr/share/hunspell");
// Disable default mailer checking.
pref("mail.shell.checkDefaultMail", false);
// Don't disable our bundled extensions in the application directory
pref("extensions.autoDisableScopes", 11);
pref("extensions.shownSelectionUI", true);
END
_distini="$pkgdir/usr/lib/$pkgname/distribution/distribution.ini"
install -Dm644 /dev/stdin "$_distini" <<END
[Global]
id=alpinelinux
version=1.0
about=Mozilla Thunderbird for Alpine Linux
[Preferences]
app.distributor=alpinelinux
app.distributor.channel=$pkgname
app.partner.alpinelinux=alpinelinux
END
# Use system-provided dictionaries
rm -r "$pkgdir/usr/lib/$pkgname/dictionaries"
ln -Ts /usr/share/hunspell "$pkgdir/usr/lib/$pkgname/dictionaries"
ln -Ts /usr/share/hyphen "$pkgdir/usr/lib/$pkgname/hyphenation"
# Install a wrapper to avoid confusion about binary path
install -Dm755 /dev/stdin "$pkgdir/usr/bin/$pkgname" <<END
#!/bin/sh
exec /usr/lib/$pkgname/thunderbird "\$@"
END
# Replace duplicate binary with wrapper
# https://bugzilla.mozilla.org/show_bug.cgi?id=658850
ln -snf "$pkgdir/usr/bin/$pkgname" \
"$pkgdir/usr/lib/$pkgname/thunderbird-bin"
}
sha512sums="b465544a8cbedf0aff0f737cf98e2d030331f1ea016b2e541dfe30a5cf3172f9075e5a9c8d6b7e0f97ffc2e0d3eebbaf9a39e76a499b9fc976bbc0c944dfd058 thunderbird-60.8.0.source.tar.xz
0b3f1e4b9fdc868e4738b5c81fd6c6128ce8885b260affcb9a65ff9d164d7232626ce1291aaea70132b3e3124f5e13fef4d39326b8e7173e362a823722a85127 stab.h
2f4f15974d52de4bb273b62a332d13620945d284bbc6fe6bd0a1f58ff7388443bc1d3bf9c82cc31a8527aad92b0cd3a1bc41d0af5e1800e0dcbd7033e58ffd71 fix-fortify-system-wrappers.patch
09bc32cf9ee81b9cc6bb58ddbc66e6cc5c344badff8de3435cde5848e5a451e0172153231db85c2385ff05b5d9c20760cb18e4138dfc99060a9e960de2befbd5 fix-fortify-inline.patch
183a4ef62cd79728117797235fe46ecd3e4336c008d615c2b2a64c707477e403aed1ee5e19feb86611b93ebecc00df339aa28a73735e045e38f0d1ce3080341b fix-seccomp-bpf.patch
2f1bf85a340a82800dd6ba406c23489c319ec037b404f4240837854e2520b9ff11fcca0d51ac05b451c474e800fd8be13b1c57ae2917e9d1c7e5b6d91cf7e2d2 fix-toolkit.patch
48683964624bb58b5a2a2a5c89da56e3b8dcd04f8d42c6910bea5365010a77d6d82bdd48259774ca54341edc05b6768eaa6aa1b453718c02f760361197e78b52 fix-tools.patch
69e628668a2f450da249f761e375600e03674aeb6268dac9e282b1a7008ba47292cc8470cbc04a0ccc1d836d1653c56bb1495d5a127f906adf5807f7f95438c1 mallinfo.patch
3671bf7623c1825c977668efec62b57873bc6052becfd8a68ddcbc2d0ba96e0c3966c61b24716e6c48167d44280d3e690a4ff986907ceba5811a653e87770fff mozilla-build-arm.patch
e62be6e08c7e0a1d2486f271426d3986a0870f2118442ccb424a509dfc5f92cc17d05cd7e46336176afb7bd9f495b29bb739c8f88ccf918de86209efe00caf95 disable-moz-stackwalk.patch
42cc44fda4b05259b38f055d6f51461746aa89a474cedc5e92fb9d20879da0d12b1b515b273a549e7302cda9c7eddde20d5fdba09853e5c658784ad6d0b20078 fix-rust-target.patch
fdd698ddd94d4265cc82aa063fce1522908ad4f5f118fd207e0d64a0409e1e04e3f096625caacbacb251b42cafe0d743bb0a0b9463a882d8938b5bb4562a05e1 fix-bug-1261392.patch
d09401eaa9620c9d4fa368865539fc4efb66eafb362d2195a653a6c6fd65e9370ced1b1b005993cbd181011360327dcb38e4b3e77b711f2c5ccf22d235ed4ef6 fix-webrtc-glibcisms.patch
e725a6e9b2361cd566ae2f90861dbce9f2231f16721ec02f4b9f9986b7dc82cc006ea6a500ae7f30c095ce746132a5bd1d9532c4cf0d1541dcc672a20aef8807 sandbox-membarrier.patch
01b48a708cc6bc6e3cd7cc7b16f5137ec344566ac891d699b65e322bc992726072fa14a54cef1a7775799fcbbcf90a6c170107c8524caba3bc311b42d93b7581 rust-unitialized-field.patch
66a847c2889acc794f4db5c47f8a30e819c120f84457d5c2e094e4a2ba990036e6ca84af9d799d7446b058a5fd7292926c6e4996f105d494f1b6e8e5f3b9a6a5 rust133.patch
3e57b2541f3889a1cf701860c8bf299f294cb077b0e8cfffda271cf02d1f59b25a697485d0df66e847e47f795b1ace54488a84a42851f2f8587717335537b44d 0003-Disable-ccache-stats.patch
95a2b1deb4f6c90750fdd2bfe8ca0a7879a5b267965091705a6beb0a0a4b1ccad75d11df7b9885543ca4232ff704e975c6946f4c11804cb71c471e06f9576001 thunderbird.desktop"

View File

@ -0,0 +1,16 @@
--- a/mozglue/misc/StackWalk.cpp
+++ b/mozglue/misc/StackWalk.cpp
@@ -32,13 +32,7 @@
#define MOZ_STACKWALK_SUPPORTS_MACOSX 0
#endif
-#if (defined(linux) && \
- ((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \
- defined(HAVE__UNWIND_BACKTRACE)))
-#define MOZ_STACKWALK_SUPPORTS_LINUX 1
-#else
#define MOZ_STACKWALK_SUPPORTS_LINUX 0
-#endif
#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1)
#define HAVE___LIBC_STACK_END 1

View File

@ -0,0 +1,27 @@
diff --git a/tools/profiler/core/platform.h b/tools/profiler/core/platform.h
index 5f0fb69..086a511 100644
--- a/tools/profiler/core/platform.h
+++ b/tools/profiler/core/platform.h
@@ -42,10 +42,11 @@
#include "PlatformMacros.h"
#include <vector>
-// We need a definition of gettid(), but glibc doesn't provide a
-// wrapper for it.
-#if defined(__GLIBC__)
+// We need a definition of gettid(), but Linux libc implementations don't
+// provide a wrapper for it (except for Bionic)
+#if defined(__linux__)
#include <unistd.h>
+#if !defined(__BIONIC__)
#include <sys/syscall.h>
static inline pid_t gettid() { return (pid_t)syscall(SYS_gettid); }
#elif defined(GP_OS_darwin)
@@ -61,6 +62,7 @@ static inline pid_t gettid() { return (pid_t)syscall(SYS_thread_selfid); }
#define getpid _getpid
#endif
#endif
+#endif
extern mozilla::LazyLogModule gProfilerLog;

View File

@ -0,0 +1,11 @@
--- a/media/webrtc/signaling/src/sdp/sipcc/sdp_os_defs.h
+++ b/media/webrtc/signaling/src/sdp/sipcc/sdp_os_defs.h
@@ -27,8 +27,5 @@
typedef int16_t int16;
typedef unsigned short ushort;
typedef unsigned long ulong;
-#ifndef __GNUC_STDC_INLINE__
-#define inline
-#endif
#endif /* _SDP_OS_DEFS_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,24 @@
--- a/build/moz.configure/rust.configure
+++ b/build/moz.configure/rust.configure
@@ -181,9 +181,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)
@@ -220,7 +222,7 @@
os.remove(out_path)
# This target is usable.
- return rustc_target.alias
+ return fixed_alias
return rust_target

View File

@ -0,0 +1,26 @@
diff -ru firefox-62.0.3.orig/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc firefox-62.0.3/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc
--- firefox-62.0.3.orig/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc 2018-12-14 08:53:46.083976137 +0000
+++ firefox-62.0.3/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc 2018-12-14 08:51:22.084596411 +0000
@@ -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 {
diff -ru firefox-62.0.3.orig/security/sandbox/linux/SandboxFilter.cpp firefox-62.0.3/security/sandbox/linux/SandboxFilter.cpp
--- firefox-62.0.3.orig/security/sandbox/linux/SandboxFilter.cpp 2018-10-01 18:35:28.000000000 +0000
+++ firefox-62.0.3/security/sandbox/linux/SandboxFilter.cpp 2018-12-14 08:57:50.645264590 +0000
@@ -997,6 +997,7 @@ class ContentSandboxPolicy : public SandboxPolicyCommon {
// ffmpeg, and anything else that calls isatty(), will be told
// that nothing is a typewriter:
.ElseIf(request == TCGETS, Error(ENOTTY))
+ .ElseIf(request == TIOCGWINSZ, Error(ENOTTY))
// Allow anything that isn't a tty ioctl, for now; bug 1302711
// will cover changing this to a default-deny policy.
.ElseIf(shifted_type != kTtyIoctls, Allow())

View File

@ -0,0 +1,45 @@
https://bugs.alpinelinux.org/issues/5559
https://bugzilla.mozilla.org/show_bug.cgi?id=1274732
diff --git a/netwerk/streamconv/converters/nsHTTPCompressConv.cpp b/netwerk/streamconv/converters/nsHTTPCompressConv.cpp
index 1193529..aeb96b5 100644
--- a/netwerk/streamconv/converters/nsHTTPCompressConv.cpp
+++ b/netwerk/streamconv/converters/nsHTTPCompressConv.cpp
@@ -165,9 +165,8 @@ nsHTTPCompressConv::BrotliHandler(nsIInputStream *stream, void *closure, const c
nsHTTPCompressConv *self = static_cast<nsHTTPCompressConv *>(closure);
*countRead = 0;
- const uint32_t kOutSize = 128 * 1024; // just a chunk size, we call in a loop
- unsigned char outBuffer[kOutSize];
- unsigned char *outPtr;
+ const size_t kOutSize = 128 * 1024; // just a chunk size, we call in a loop
+ uint8_t *outPtr;
size_t outSize;
size_t avail = aAvail;
BrotliResult res;
@@ -177,9 +176,15 @@ nsHTTPCompressConv::BrotliHandler(nsIInputStream *stream, void *closure, const c
return NS_OK;
}
+ auto outBuffer = MakeUniqueFallible<uint8_t[]>(kOutSize);
+ if (outBuffer == nullptr) {
+ self->mBrotli->mStatus = NS_ERROR_OUT_OF_MEMORY;
+ return self->mBrotli->mStatus;
+ }
+
do {
outSize = kOutSize;
- outPtr = outBuffer;
+ outPtr = outBuffer.get();
// brotli api is documented in brotli/dec/decode.h and brotli/dec/decode.c
LOG(("nsHttpCompresssConv %p brotlihandler decompress %d\n", self, avail));
@@ -210,7 +215,7 @@ nsHTTPCompressConv::BrotliHandler(nsIInputStream *stream, void *closure, const c
nsresult rv = self->do_OnDataAvailable(self->mBrotli->mRequest,
self->mBrotli->mContext,
self->mBrotli->mSourceOffset,
- reinterpret_cast<const char *>(outBuffer),
+ reinterpret_cast<const char *>(outBuffer.get()),
outSize);
LOG(("nsHttpCompressConv %p BrotliHandler ODA rv=%x", self, rv));
if (NS_FAILED(rv)) {

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
@@ -45,6 +45,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
@@ -1134,6 +1134,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
@@ -100,7 +100,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
@@ -3737,6 +3737,7 @@ int add_dir_entries(const NS_tchar *dirpath, ActionList *list)
int add_dir_entries(const NS_tchar *dirpath, ActionList *list)
{
int rv = OK;
+#if !defined(__linux__) || defined(__GLIBC__)
FTS *ftsdir;
FTSENT *ftsdirEntry;
NS_tchar searchpath[MAXPATHLEN];
@@ -3840,6 +3841,7 @@ int add_dir_entries(const NS_tchar *dirpath, ActionList *list)
}
fts_close(ftsdir);
+#endif
return rv;
}

View File

@ -0,0 +1,45 @@
--- a/tools/profiler/core/platform.h
+++ b/tools/profiler/core/platform.h
@@ -29,6 +29,8 @@
#ifndef TOOLS_PLATFORM_H_
#define TOOLS_PLATFORM_H_
+#include <sys/types.h>
+
#include <stdint.h>
#include <math.h>
#include "MainThreadUtils.h"
--- 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;
}
--- a/tools/profiler/core/platform-linux-android.cpp
+++ b/tools/profiler/core/platform-linux-android.cpp
@@ -497,8 +497,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

View File

@ -0,0 +1,13 @@
--- a/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c 2018-05-09 23:48:44.677389171 +0200
+++ b/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c 2018-05-09 23:48:56.254373557 +0200
@@ -11,7 +11,9 @@
#include <stdlib.h>
#include <string.h>
#include <features.h>
-#if __GLIBC_PREREQ(2, 16)
+#if !__GLIBC__
+#include <sys/auxv.h>
+#elif __GLIBC_PREREQ(2, 16)
#include <sys/auxv.h>
#else
#include <fcntl.h>

View File

@ -0,0 +1,18 @@
--- a/xpcom/base/nsMemoryReporterManager.cpp
+++ b/xpcom/base/nsMemoryReporterManager.cpp
@@ -153,6 +153,7 @@ ResidentUniqueDistinguishedAmount(int64_t* aN)
return GetProcSelfSmapsPrivate(aN);
}
+#ifdef __GLIBC__
#define HAVE_SYSTEM_HEAP_REPORTER 1
nsresult
SystemHeapSize(int64_t* aSizeOut)
@@ -172,6 +173,7 @@ SystemHeapSize(int64_t* aSizeOut)
*aSizeOut = size_t(info.hblkhd) + size_t(info.uordblks);
return NS_OK;
}
+#endif
#elif defined(__DragonFly__) || defined(__FreeBSD__) \
|| defined(__NetBSD__) || defined(__OpenBSD__) \

View File

@ -0,0 +1,11 @@
--- ./gfx/ycbcr/moz.build.orig 2014-04-03 13:50:38.990296661 +0000
+++ ./gfx/ycbcr/moz.build 2014-04-03 13:52:26.878268547 +0000
@@ -53,7 +53,7 @@ else:
'yuv_row_other.cpp',
]
-if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['HAVE_ARM_NEON']:
+if CONFIG['HAVE_ARM_NEON']:
SOURCES += [
'yuv_row_arm.s',
]

View File

@ -0,0 +1,19 @@
--- ./media/audioipc/audioipc/src/cmsg.rs.orig 2018-05-09 22:19:14.748631939 +0200
+++ ./media/audioipc/audioipc/src/cmsg.rs 2018-05-09 22:19:22.961620862 +0200
@@ -106,11 +106,11 @@ impl ControlMsgBuilder {
return Err(Error::NoSpace);
}
- let cmsghdr = cmsghdr {
- cmsg_len: cmsg_len as _,
- cmsg_level: level,
- cmsg_type: kind,
- };
+ use std::mem;
+ let mut cmsghdr: cmsghdr = unsafe { mem::zeroed() };
+ cmsghdr.cmsg_len = cmsg_len as _;
+ cmsghdr.cmsg_level = level;
+ cmsghdr.cmsg_type = kind;
let cmsghdr = unsafe {
slice::from_raw_parts(&cmsghdr as *const _ as *const _, mem::size_of::<cmsghdr>())

View File

@ -0,0 +1,24 @@
This fixes build errors under recent Rust.
--- a/servo/components/style_traits/lib.rs
+++ b/servo/components/style_traits/lib.rs
@@ -9,7 +9,7 @@
#![crate_name = "style_traits"]
#![crate_type = "rlib"]
-#![deny(unsafe_code, missing_docs)]
+#![deny(unsafe_code)]
extern crate app_units;
#[macro_use] extern crate bitflags;
--- a/servo/components/style/lib.rs
+++ b/servo/components/style/lib.rs
@@ -23,8 +23,6 @@
//! [cssparser]: ../cssparser/index.html
//! [selectors]: ../selectors/index.html
-#![deny(missing_docs)]
-
extern crate app_units;
extern crate arrayvec;
extern crate atomic_refcell;

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
@@ -283,6 +283,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,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,64 @@
[Desktop Entry]
Name=Thunderbird
GenericName=Mail Client
GenericName[ast]=Client de correu
GenericName[ca]=Client de correu
GenericName[cs]=Poštovní klient
GenericName[da]=E-postklient
GenericName[de]=E-Mail-Anwendung
GenericName[el]=Λογισμικό αλληλογραφίας
GenericName[es]=Cliente de correo
GenericName[fi]=Sähköpostiohjelma
GenericName[fr]=Client de messagerie
GenericName[gl]=Cliente de correo electrónico
GenericName[he]=לקוח דוא״ל
GenericName[hr]=Klijent e-pošte
GenericName[hu]=Levelezőkliens
GenericName[it]=Client email
GenericName[ja]=
GenericName[ko]=
GenericName[nl]=E-mailprogramma
GenericName[pl]=Klient poczty
GenericName[pt_BR]=Cliente de E-mail
GenericName[ru]=Почтовый клиент
GenericName[sk]=Poštový klient
GenericName[ug]=ئېلخەت دېتالى
GenericName[uk]=Поштова програма
GenericName[vi]=Phn mm khách qun lý thư đin t
GenericName[zh_CN]=
GenericName[zh_TW]=
Comment=Send and receive mail with Thunderbird
Comment[ast]=Lleer y escribir corréu electrónicu
Comment[ca]=Llegiu i escriviu correu
Comment[cs]=Čtení a psaní pošty
Comment[da]=Skriv/læs e-post/nyhedsgruppe med Mozilla Thunderbird
Comment[de]=E-Mails und Nachrichten mit Thunderbird lesen und schreiben
Comment[el]=Διαβάστε και γράψτε γράμματα με το Mozilla Thunderbird
Comment[es]=Lea y escriba correos y noticias con Thunderbird
Comment[fi]=Lue ja kirjoita sähköposteja
Comment[fr]=Lire et écrire des courriels
Comment[gl]=Lea e escriba correo electrónico
Comment[he]=קריאה/כתיבה של דוא״ל/חדשות באמצעות Mozilla Thunderbird
Comment[hr]=Čitajte/šaljite e-poštu s Thunderbird
Comment[hu]=Levelek írása és olvasása a Thunderbirddel
Comment[it]=Per leggere e scrivere email
Comment[ja]=
Comment[ko]=Mozilla Thunderbird /
Comment[nl]=E-mail/nieuws lezen en schrijven met Mozilla Thunderbird
Comment[pl]=Czytanie i wysyłanie e-maili
Comment[pt_BR]=Leia e escreva suas mensagens
Comment[ru]=Читайте и пишите письма
Comment[sk]=Čítajte a píšte poštu pomocou programu Thunderbird
Comment[sv]=Läs och skriv e-post
Comment[ug]=ئېلخەت ۋە خەۋەرلەرنى Mozilla Thunderbird دا كۆرۈش ۋە يېزىش
Comment[uk]=Читання та написання листів
Comment[vi]=Đc và son thư đin t
Comment[zh_CN]=
Comment[zh_TW]= Mozilla Thunderbird
Exec=thunderbird %u
Icon=thunderbird
Terminal=false
Type=Application
MimeType=message/rfc822;x-scheme-handler/mailto;
StartupNotify=true
Categories=Network;Email;