Patches for aports can be sent to this list

2 2

[alpine-aports] [PATCH] testing/firefox: upgrade to 65.0

Bradley Saulteaux
Details
Message ID
<20190219170104.32697-1-~@bradso.to>
Sender timestamp
1550595666
DKIM signature
missing
Download raw message
Patch: +251 -184
https://www.firefox.com/
Firefox web browser
---
 community/ffmpeg/APKBUILD                    |   8 +-
 community/libaom/APKBUILD                    |  26 +++++
 main/icu/10-firefox-65.0.1-fix.patch         |  23 ++++
 main/icu/APKBUILD                            |  10 +-
 main/libvpx/10-find-diff.patch               |  11 ++
 main/libvpx/APKBUILD                         |  17 ++-
 testing/cbindgen/APKBUILD                    |  26 +++++
 testing/firefox/10-debug-fixes.patch         |  25 +++++
 testing/firefox/APKBUILD                     | 106 ++++++++-----------
 testing/firefox/disable-moz-stackwalk.patch  |  10 +-
 testing/firefox/fix-arm-atomics-grsec.patch  |  74 ++++++-------
 testing/firefox/fix-seccomp-bpf.patch        |  26 +++--
 testing/firefox/fix-toolkit.patch            |  26 ++---
 testing/firefox/fix-tools.patch              |  18 ++--
 testing/firefox/fix-webrtc-glibcisms.patch   |  18 ++--
 testing/firefox/rust-unitialized-field.patch |  11 +-
 16 files changed, 251 insertions(+), 184 deletions(-)
 create mode 100644 community/libaom/APKBUILD
 create mode 100644 main/icu/10-firefox-65.0.1-fix.patch
 create mode 100644 main/libvpx/10-find-diff.patch
 create mode 100644 testing/cbindgen/APKBUILD
 create mode 100644 testing/firefox/10-debug-fixes.patch

diff --git a/community/ffmpeg/APKBUILD b/community/ffmpeg/APKBUILD
index 4d2ac5757e..85cb74408a 100644
--- a/community/ffmpeg/APKBUILD
+++ b/community/ffmpeg/APKBUILD
@@ -4,7 +4,7 @@
 # Maintainer: Natanael Copa <ncopa@alpinelinux.org>
 pkgname=ffmpeg
 pkgver=4.1.1
-pkgrel=0
+pkgrel=1
 pkgdesc="Complete and free Internet live audio and video broadcasting solution for Linux/Unix"
 url="http://ffmpeg.org/"
 arch="all"
@@ -12,7 +12,7 @@ license="GPL"
 options="!check" # tests/data/hls-lists.append.m3u8 fails
 subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
 makedepends="gnutls-dev lame-dev libvorbis-dev xvidcore-dev zlib-dev libvdpau-dev
-	imlib2-dev x264-dev libtheora-dev coreutils bzip2-dev perl-dev libvpx-dev
+	imlib2-dev x264-dev libtheora-dev coreutils bzip2-dev perl-dev libaom-dev
 	libvpx-dev sdl2-dev libxfixes-dev libva-dev alsa-lib-dev
 	v4l-utils-dev yasm opus-dev x265-dev libass-dev"
 checkdepends="rsync"
@@ -71,13 +71,13 @@ build() {
 	x86 | arm*) _asm="--disable-asm" ;;
 	esac
 
-	cd "$builddir"
 	./configure \
 		--prefix=/usr \
 		--enable-avresample \
 		--enable-avfilter \
 		--enable-gnutls \
 		--enable-gpl \
+		--enable-libaom \
 		--enable-libass \
 		--enable-libmp3lame \
 		--enable-libvorbis \
@@ -106,7 +106,6 @@ build() {
 
 # https://ffmpeg.org/fate.html
 check() {
-	cd "$builddir"
 	./configure \
 		--samples=fate-suite/
 	make fate-rsync
@@ -115,7 +114,6 @@ check() {
 }
 
 package() {
-	cd "$builddir"
 	make DESTDIR="$pkgdir" install install-man
 	install -D -m755 tools/qt-faststart "$pkgdir/usr/bin/qt-faststart"
 #	strip --strip-debug "$pkgdir"/usr/lib/*.a
diff --git a/community/libaom/APKBUILD b/community/libaom/APKBUILD
new file mode 100644
index 0000000000..a2948a4e4c
--- /dev/null
+++ b/community/libaom/APKBUILD
@@ -0,0 +1,26 @@
+# Maintainer: Bradley Saulteaux <~@bradso.to>
+pkgname=libaom
+pkgver=1.0.0
+pkgrel=0
+pkgdesc="Alliance for Open Media"
+url="https://aomedia.googlesource.com/aom/"
+arch="all"
+license="BSD-2-Clause"
+depends=""
+makedepends="cmake python yasm"
+install=""
+options="!check" #tests fail at AV1/AV1DecodeMultiThreadedTest.MD5Match
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://aomedia.googlesource.com/aom/+archive/v$pkgver.tar.gz"
+builddir="$srcdir/build"
+build() {
+	cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DBUILD_SHARED_LIBS=1 ..
+	sed -i 's/0.1.0/1.0.0/g' aom.pc
+}
+check() {
+	make runtests
+}
+package() {
+	make DESTDIR="$pkgdir" install
+}
+sha512sums="f506a9399cfcf2aa3473639210511270c5a44b789eb51ce5616bd61f18a18e64080240a7b1ea2502d27df40ddf290b8f4686282f1eda3ffc57c45c803474f768  libaom-1.0.0.tar.gz"
diff --git a/main/icu/10-firefox-65.0.1-fix.patch b/main/icu/10-firefox-65.0.1-fix.patch
new file mode 100644
index 0000000000..6c47bdde2a
--- /dev/null
+++ b/main/icu/10-firefox-65.0.1-fix.patch
@@ -0,0 +1,23 @@
+https://github.com/unicode-org/icu/commit/8baff8f03e07d8e02304d0c888d0bb21ad2eeb01
+fixed in 63.2
+--- ./common/unicode/urename.h
+@@ -110,7 +110,6 @@
+ #define _UTF7Data U_ICU_ENTRY_POINT_RENAME(_UTF7Data)
+ #define _UTF8Data U_ICU_ENTRY_POINT_RENAME(_UTF8Data)
+ #define allowedHourFormatsCleanup U_ICU_ENTRY_POINT_RENAME(allowedHourFormatsCleanup)
+-#define checkImpl U_ICU_ENTRY_POINT_RENAME(checkImpl)
+ #define cmemory_cleanup U_ICU_ENTRY_POINT_RENAME(cmemory_cleanup)
+ #define dayPeriodRulesCleanup U_ICU_ENTRY_POINT_RENAME(dayPeriodRulesCleanup)
+ #define deleteAllowedHourFormats U_ICU_ENTRY_POINT_RENAME(deleteAllowedHourFormats)
+--- ./i18n/uspoof.cpp
+@@ -547,7 +547,7 @@
+     return uspoof_check2UnicodeString(sc, id, NULL, status);
+ }
+ 
+-int32_t checkImpl(const SpoofImpl* This, const UnicodeString& id, CheckResult* checkResult, UErrorCode* status) {
++static int32_t checkImpl(const SpoofImpl* This, const UnicodeString& id, CheckResult* checkResult, UErrorCode* status) {
+     U_ASSERT(This != NULL);
+     U_ASSERT(checkResult != NULL);
+     checkResult->clear();
diff --git a/main/icu/APKBUILD b/main/icu/APKBUILD
index 14b6b66a4c..9bc7bc65e3 100644
--- a/main/icu/APKBUILD
+++ b/main/icu/APKBUILD
@@ -6,7 +6,7 @@ pkgver=63.1
 # convert x.y.z to x_y_z
 _ver=${pkgver//./_}
 
-pkgrel=0
+pkgrel=1
 pkgdesc="International Components for Unicode library"
 url="http://www.icu-project.org/"
 arch="all"
@@ -17,6 +17,7 @@ depends_dev="$pkgname=$pkgver-r$pkgrel"
 checkdepends="diffutils"
 makedepends=
 source="http://download.icu-project.org/files/icu4c/${pkgver}/${pkgname}4c-$_ver-src.tgz
+	10-firefox-65.0.1-fix.patch
 	"
 
 # secfixes:
@@ -30,7 +31,6 @@ source="http://download.icu-project.org/files/icu4c/${pkgver}/${pkgname}4c-$_ver
 builddir="$srcdir"/icu/source
 
 prepare() {
-	cd "$builddir"
 	default_prepare
 	update_config_sub
 
@@ -49,7 +49,6 @@ prepare() {
 }
 
 build() {
-	cd "$builddir"
 	./configure \
 		--build=$CBUILD \
 		--host=$CHOST \
@@ -67,12 +66,10 @@ check() {
 	case "$CARCH" in
 		arm*|x86) return 0;;
 	esac
-	cd "$builddir"
 	make check
 }
 
 package() {
-	cd "$builddir"
 	make -j1 DESTDIR="$pkgdir" install
 	chmod +x "$pkgdir"/usr/bin/icu-config
 	install -Dm644 "$srcdir"/icu/license.html \
@@ -90,4 +87,5 @@ libs() {
 	replaces="icu"
 }
 
-sha512sums="9ab407ed840a00cdda7470dcc4c40299a125ad246ae4d019c4b1ede54781157fd63af015a8228cd95dbc47e4d15a0932b2c657489046a19788e5e8266eac079c  icu4c-63_1-src.tgz"
+sha512sums="9ab407ed840a00cdda7470dcc4c40299a125ad246ae4d019c4b1ede54781157fd63af015a8228cd95dbc47e4d15a0932b2c657489046a19788e5e8266eac079c  icu4c-63_1-src.tgz
+76fc0b69ef5dd78d31ed88e6b2976b3ff8b7715f03a94faef79dc2210fe75b9db1de47f1ccc8a5f783760e41de7da3a32628abc9e1ec44edcca98207c91d952d  10-firefox-65.0.1-fix.patch"
diff --git a/main/libvpx/10-find-diff.patch b/main/libvpx/10-find-diff.patch
new file mode 100644
index 0000000000..c0d9f9955b
--- /dev/null
+++ b/main/libvpx/10-find-diff.patch
@@ -0,0 +1,11 @@
+--- ./configure
+@@ -166,7 +166,7 @@
+     [ -f "${source_path}/${t}.mk" ] && enable_feature ${t}
+ done
+ 
+-if ! diff --version >/dev/null; then
++if ! which diff &> /dev/null; then
+   die "diff missing: Try installing diffutils via your package manager."
+ fi
+ 
diff --git a/main/libvpx/APKBUILD b/main/libvpx/APKBUILD
index 767b2b21fa..a6a4a4a490 100644
--- a/main/libvpx/APKBUILD
+++ b/main/libvpx/APKBUILD
@@ -1,7 +1,7 @@
 # Maintainer: Natanael Copa <ncopa@alpinelinux.org>
 pkgname=libvpx
-pkgver=1.6.1
-pkgrel=1
+pkgver=1.7.0
+pkgrel=0
 pkgdesc="Library for the vp8 codec"
 url="https://www.webmproject.org/"
 arch="all"
@@ -9,13 +9,12 @@ license="GPL"
 depends=""
 makedepends="coreutils yasm bash perl"
 subpackages="$pkgname-dev $pkgname-utils"
-source="https://storage.googleapis.com/downloads.webmproject.org/releases/webm/$pkgname-$pkgver.tar.bz2
+source="$pkgname-$pkgver.tar.gz::https://chromium.googlesource.com/webm/$pkgname/+archive/v$pkgver.tar.gz
 	fix-arm-float-abi.patch
+	10-find-diff.patch
 	"
-
-builddir="$srcdir"/$pkgname-$pkgver
+builddir="$srcdir"
 build() {
-	cd "$builddir"
 	# build fix for arm
 	export CROSS=" "
 	bash ./configure \
@@ -31,7 +30,6 @@ build() {
 }
 
 package() {
-	cd "$builddir"
 	make DIST_DIR="$pkgdir"/usr install
 	chmod 644 "$pkgdir"/usr/include/vpx/*.h \
 		"$pkgdir"/usr/lib/pkgconfig/*
@@ -45,5 +43,6 @@ utils() {
 	mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
 }
 
-sha512sums="1a4b009fe1737715c6563a79848126a5859394a5074b1e9cca9bc2e213df90890c15e708040d5f2c96c7c21e268f51e1352ac6911514bf891a4bf3eea154159d  libvpx-1.6.1.tar.bz2
-4eadbc2f4eb68eaff35cf85515aef271d6fd47293a53cba7b7a6e9e0fb71106dfb5ded45b9e9ba83264a91846e4a5fa4db42e39fc3eaff6ac37769e622f90f6c  fix-arm-float-abi.patch"
+sha512sums="6e114a6e8470b05153a8c41b7f30adb37d8cf99dc1c3d016867e5578b4f69905d7a1fcd902b6855f3f6b3e63ae305eb3fadd53359f2c8f344f3d701c3d4882b5  libvpx-1.7.0.tar.gz
+4eadbc2f4eb68eaff35cf85515aef271d6fd47293a53cba7b7a6e9e0fb71106dfb5ded45b9e9ba83264a91846e4a5fa4db42e39fc3eaff6ac37769e622f90f6c  fix-arm-float-abi.patch
+c14015273a2f081ef722f752a7ac17204e7fd5c42fb7a4bb457afdff1fcd2cc276bd34ca80a6e318968e0fa2e6ba49ceee026dd1bd7ee1b2806dbde70fd0a7fb  10-find-diff.patch"
diff --git a/testing/cbindgen/APKBUILD b/testing/cbindgen/APKBUILD
new file mode 100644
index 0000000000..6a58bcb45d
--- /dev/null
+++ b/testing/cbindgen/APKBUILD
@@ -0,0 +1,26 @@
+# Maintainer: Bradley Saulteaux <~@bradso.to>
+pkgname=cbindgen
+pkgver=0.8.0
+pkgrel=0
+pkgdesc="A tool for generating C bindings to Rust code"
+url="https://github.com/eqrion/cbindgen"
+# limited by rust and cargo
+arch="x86_64"
+license="MPL2"
+depends=""
+subpackages="$pkgname-doc"
+makedepends="cargo"
+install=""
+source="$pkgname-$pkgver.tar.gz::https://github.com/eqrion/$pkgname/archive/v$pkgver.tar.gz"
+builddir="${srcdir}/$pkgname-$pkgver"
+build() {
+	cargo build --release
+}
+check() {
+	cargo test --release
+}
+package() {
+	install -Dt "$pkgdir/usr/bin" target/release/cbindgen
+	install -Dt "$pkgdir/usr/share/doc/$pkgname" -m644 README.md
+}
+sha512sums="634a61556b3ae20bb246d1c34c2869852af1e1003cbf0481a346191eb48f812d19755ae8e895628d53a3ab7792b977255bfb25a50a2dbb9baf18b4f3fc783b18  cbindgen-0.8.0.tar.gz"
diff --git a/testing/firefox/10-debug-fixes.patch b/testing/firefox/10-debug-fixes.patch
new file mode 100644
index 0000000000..968091935e
--- /dev/null
+++ b/testing/firefox/10-debug-fixes.patch
@@ -0,0 +1,25 @@
+--- ./intl/locale/LocaleService.cpp
+@@ -526,7 +526,6 @@
+     GetGREFileContents("update.locale", &locale);
+     locale.Trim(" \t\n\r");
+     // This should never be empty.
+-    MOZ_ASSERT(!locale.IsEmpty());
+     if (SanitizeForBCP47(locale, true)) {
+       mDefaultLocale.Assign(locale);
+     }
+--- ./browser/installer/package-manifest.in
+@@ -499,12 +499,6 @@
+ ; svg
+ @RESPATH@/res/svg.css
+ 
+-; [Layout Debugger]
+-#ifdef MOZ_DEBUG
+-@RESPATH@/chrome/layoutdebug@JAREXT@
+-@RESPATH@/chrome/layoutdebug.manifest
+-#endif
+-
+ ; [Personal Security Manager]
+ ;
+ ; NSS libraries are signed in the staging directory,
diff --git a/testing/firefox/APKBUILD b/testing/firefox/APKBUILD
index b31c1997b7..30ca2dc8fc 100644
--- a/testing/firefox/APKBUILD
+++ b/testing/firefox/APKBUILD
@@ -1,23 +1,26 @@
 # Contributor: William Pitcock <nenolod@dereferenced.org>
 # Maintainer: Natanael Copa <ncopa@alpinelinux.org>
 pkgname=firefox
-pkgver=62.0.3
+pkgver=65.0.1
 _pkgver=$pkgver
 _xulver=$pkgver
-pkgrel=2
+pkgrel=0
 pkgdesc="Firefox web browser"
 url="https://www.firefox.com/"
 # limited by rust and cargo
 arch="x86_64"
 license="GPL LGPL MPL"
 depends=""
+options="!check"
 makedepends="
 	alsa-lib-dev
 	autoconf2.13
+	autoconf
 	automake
 	bsd-compat-headers
 	bzip2-dev
 	cargo
+	cbindgen
 	clang-dev
 	dbus-glib-dev
 	ffmpeg-dev
@@ -27,6 +30,7 @@ makedepends="
 	hunspell-dev
 	icu-dev
 	libevent-dev
+	libffi-dev
 	libidl-dev
 	libjpeg-turbo-dev
 	libnotify-dev
@@ -39,9 +43,11 @@ makedepends="
 	libxcomposite-dev
 	llvm5-dev
 	mesa-dev
+	nasm
 	nspr-dev
 	nss-dev
 	nss-static
+	nodejs
 	paxmark
 	python3-dev
 	sqlite-dev
@@ -64,7 +70,6 @@ source="https://ftp.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkg
 	mallinfo.patch
 
 	fix-arm-atomics-grsec.patch
-	fix-arm-version-detect.patch
 	mozilla-build-arm.patch
 	disable-moz-stackwalk.patch
 	fix-rust-target.patch
@@ -73,7 +78,9 @@ source="https://ftp.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkg
 	fix-webrtc-glibcisms.patch
 
 	firefox.desktop
-	firefox-safe.desktop"
+	firefox-safe.desktop
+	
+	10-debug-fixes.patch"
 
 builddir="${srcdir}/firefox-$pkgver"
 _mozappdir=/usr/lib/firefox
@@ -83,71 +90,44 @@ ldpath="$_mozappdir"
 
 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
+	autoreconf old-configure.in
+	cd js/src; autoreconf old-configure.in
 }
 
 build() {
-	cd "$builddir"/objdir
-
 	export SHELL=/bin/sh
 	export BUILD_OFFICIAL=1
 	export MOZILLA_OFFICIAL=1
 	export USE_SHORT_LIBNAME=1
 	# 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}"
-
-	../configure \
-		--prefix=/usr \
-		\
-		--disable-crashreporter \
-		--disable-elf-hack \
-		--disable-gold \
-		--disable-install-strip \
-		--disable-jemalloc \
-		--disable-profiling \
-		--disable-pulseaudio \
-		--disable-strip \
-		--disable-tests \
-		--disable-updater \
-		\
-		--enable-alsa \
-		--enable-default-toolkit=cairo-gtk3 \
-		--enable-official-branding \
-		--enable-optimize="$CFLAGS" \
-		--enable-pie \
-		--enable-startup-notification \
-		--enable-system-ffi \
-		--enable-system-sqlite \
-		--enable-ffmpeg \
-		\
-		--with-system-bz2 \
-		--with-system-icu \
-		--with-system-jpeg \
-		--with-system-libevent \
-		--with-system-libvpx \
-		--with-system-nspr \
-		--with-system-nss \
-		--with-system-pixman \
-		--with-system-png \
-		--with-system-zlib \
-		--with-clang-path=/usr/bin/clang \
-		--with-libclang-path=/usr/lib
-	make
-
-	# paxmark outside fakeroot
-	paxmark -msp dist/bin/xpcshell
-
+	ac_add_options() {
+		echo "ac_add_options $1" >>"$builddir"/.mozconfig
+	}
+	mk_add_options() {
+		echo "mk_add_options $1" >>"$builddir"/.mozconfig
+	}
+	ac_add_options "BINDGEN_CFLAGS='-I/usr/include/nspr -I/usr/include/pixman-1'"
+	ac_add_options "--prefix=/usr --disable-jemalloc --disable-updater"
+	ac_add_options "--disable-pulseaudio --enable-alsa --disable-elf-hack"
+	ac_add_options "--enable-default-toolkit=cairo-gtk3 --enable-official-branding"
+	ac_add_options "--enable-optimize=\"$CFLAGS\" --enable-startup-notification"
+	ac_add_options "--enable-system-ffi --enable-system-pixman --enable-system-sqlite"
+	ac_add_options "--enable-av1 --with-system-bz2 --with-system-icu"
+	ac_add_options "--with-system-libevent --with-system-libvpx --with-system-nspr"
+	ac_add_options "--with-system-nss --with-system-png  --with-system-zlib"
+	ac_add_options "--with-clang-path=/usr/bin/clang --with-libclang-path=/usr/lib"
+	ac_add_options "--disable-tests --disable-crashreporter"
+	
+	./mach configure; ./mach build
 }
 
 package() {
-	cd "$builddir"/objdir
+	cd "$builddir"/obj-x86_64-pc-linux-gnu
 
 	# only used for startupcache creation.
 	local paxflags="-msp"
@@ -214,21 +194,21 @@ __EOF__
 	rm -f "$pkgdir"/${_mozappdirdev}/sdk/lib/libxul.so
 }
 
-sha512sums="487bb7791284367158c79cf7918fecf3d598627a6416e679aeb5d22626089aeffe07762fa2389819ba881c90ece1c5a83cf2d85b2def15b8d5ba0ed1c498b527  firefox-62.0.3.source.tar.xz
+sha512sums="cc76a83f6430f501c2260c6b35b5e48f045f5b180daf03375e9ab114a9afd67dfc0146ddb81cd29be4617aadb66a332ed5ebc625cb500df9579e412ed4909599  firefox-65.0.1.source.tar.xz
 0b3f1e4b9fdc868e4738b5c81fd6c6128ce8885b260affcb9a65ff9d164d7232626ce1291aaea70132b3e3124f5e13fef4d39326b8e7173e362a823722a85127  stab.h
 2f4f15974d52de4bb273b62a332d13620945d284bbc6fe6bd0a1f58ff7388443bc1d3bf9c82cc31a8527aad92b0cd3a1bc41d0af5e1800e0dcbd7033e58ffd71  fix-fortify-system-wrappers.patch
 09bc32cf9ee81b9cc6bb58ddbc66e6cc5c344badff8de3435cde5848e5a451e0172153231db85c2385ff05b5d9c20760cb18e4138dfc99060a9e960de2befbd5  fix-fortify-inline.patch
-2f713a270f7d1588ec4a0b9c21e5a0d20823954e6a64293ee1a391f80d38af6c0a80b3d35c3ada59b605f6032fb2af3040cd8ca7f424b0e620cc53fd12674fd9  fix-seccomp-bpf.patch
-a2925045154f4fd34e5fc056656f4f9da100341529e5d4104d249154db0c7863384083f421ce6e47e0f20566a8b20787fa35444c7933c03cd03f96f06dcd4532  fix-toolkit.patch
-b46cb90d4fdd1a925a61e2c6c545489cd542f5d82980c529361c02042eed31d5c26972b5e237c1a020f87ffcfd12736d1f4f6e33eaa83ae156d523c808c718cb  fix-tools.patch
+6764e7af43f5a066ac0faf4f8d0747c03739f4f14b51f58c524eb0519dfd28540bdd25569b201a8e20919d0096479cf0e7a8e306fb223aba4c0f177c4df55200  fix-seccomp-bpf.patch
+e680a23490908e8be256a8dadee3952f29c4069558548c2b79252640471fa29c221abb0634fc9260a8c9ba755f50f417a77ef66ede87eca8e02d69f74f8b0075  fix-toolkit.patch
+a9e44759a584d148360405bf75981a6cb8b3ea0c2a553c13da7c559dc0193b35b2dca32571044cdca7ebd6ecc8c475da126d48a0c6ed19316857e2e88d28b49f  fix-tools.patch
 bdcd1b402d2ec94957ba5d08cbad7b1a7f59c251c311be9095208491a05abb05a956c79f27908e1f26b54a3679387b2f33a51e945b650671ad85c0a2d59a5a29  mallinfo.patch
-ed0d344c66fc8e1cc83a11e9858b32c42e841cbeedd9eb9438811e9fcc3593dc824a8336d00058d55836cedc970aeadd6a82c6dcd7bc0fb746e564d8b478cc6c  fix-arm-atomics-grsec.patch
-015e1ff6dbf920033982b5df95d869a0b7bf56c6964e45e50649ddf46d1ce09563458e45240c3ecb92808662b1300b67507f7af272ba184835d91068a9e7d5b0  fix-arm-version-detect.patch
+9a07f214877c8e4f919311b35ceb8b8ea990fb5811c89d060c0dc5f87a864ac678649fa2c0f1c1459e949e5abb81a894996e2f82b0f94d44e21cc94273fc6d5b  fix-arm-atomics-grsec.patch
 e61664bc93eadce5016a06a4d0684b34a05074f1815e88ef2613380d7b369c6fd305fb34f83b5eb18b9e3138273ea8ddcfdcb1084fdcaa922a1e5b30146a3b18  mozilla-build-arm.patch
-4797d2d89ac63a57abb826b8ea9f751314ce66946194033deb9d78c2ff377b88106fd2c7bc5034dc13ad03dd5085b1893c3ccae1a9e63fde35655bb0921f7188  disable-moz-stackwalk.patch
+61b3c2ab34f43ada0b8c1c9c26fc70f82719b7f344a503325a350749fd6921255134d414c1eba3919e5c3bc133f7e0a164400d3c8af5ec6298afb8c7a146a4da  disable-moz-stackwalk.patch
 42cc44fda4b05259b38f055d6f51461746aa89a474cedc5e92fb9d20879da0d12b1b515b273a549e7302cda9c7eddde20d5fdba09853e5c658784ad6d0b20078  fix-rust-target.patch
 a50b412edf9573a0bd04a43578b1c927967a616b73a5995eefb15bfa78fd2bd14e36ec05315a0703f6370ecd524e6bcb012e7285beb1245e9add9b8553acb79e  fix-bug-1261392.patch
-01b48a708cc6bc6e3cd7cc7b16f5137ec344566ac891d699b65e322bc992726072fa14a54cef1a7775799fcbbcf90a6c170107c8524caba3bc311b42d93b7581  rust-unitialized-field.patch
-75b97d59e81e5f1debe6a459b535da704d5a2ac4a57c446d16058fd18db81e22317fcc3ec11b89f569f4de87e8e80ced027c0e72e7f1dd16f6fd0feb6b263919  fix-webrtc-glibcisms.patch
+7bc98f6370e2ca170b7bbfbddd8bd684df6c11530f38152f37031809f2b6b0bffde70a998939d97ed460d807fa7decc94b85a1bb6bf6464a63733e0f9d0f7ac6  rust-unitialized-field.patch
+44c95a862b04747658b666ab6e2efb77e57e63e78b1a81e489410bec4ef4c81956548131b922a50f9c069a3340c2b6f60a055cebf3f889f4d7d8a6e94eead11f  fix-webrtc-glibcisms.patch
 f3b7c3e804ce04731012a46cb9e9a6b0769e3772aef9c0a4a8c7520b030fdf6cd703d5e9ff49275f14b7d738fe82a0a4fde3bc3219dff7225d5db0e274987454  firefox.desktop
-5dcb6288d0444a8a471d669bbaf61cdb1433663eff38b72ee5e980843f5fc07d0d60c91627a2c1159215d0ad77ae3f115dcc5fdfe87e64ca704b641aceaa44ed  firefox-safe.desktop"
+5dcb6288d0444a8a471d669bbaf61cdb1433663eff38b72ee5e980843f5fc07d0d60c91627a2c1159215d0ad77ae3f115dcc5fdfe87e64ca704b641aceaa44ed  firefox-safe.desktop
+8ade2c0c767b5097f25b06bf5f5543141131e302390ea86a89becec598f039a72cbda6722bedfd773ff946b592a2f92a5c442d024de47d220c41dcb2af80219f  10-debug-fixes.patch"
diff --git a/testing/firefox/disable-moz-stackwalk.patch b/testing/firefox/disable-moz-stackwalk.patch
index c83ae7eae9..8f4924bac1 100644
--- a/testing/firefox/disable-moz-stackwalk.patch
+++ b/testing/firefox/disable-moz-stackwalk.patch
@@ -1,12 +1,10 @@
-diff --git a/mozglue/misc/StackWalk.cpp b/mozglue/misc/StackWalk.cpp
-index a208bad..14e1f0d 100644
---- a/mozglue/misc/StackWalk.cpp
-+++ b/mozglue/misc/StackWalk.cpp
-@@ -41,13 +41,7 @@ static CriticalAddress gCriticalAddress;
+--- /mozglue/misc/StackWalk.cpp
+@@ -32,13 +32,7 @@
  #define MOZ_STACKWALK_SUPPORTS_MACOSX 0
  #endif
  
--#if (defined(linux) && \
+-#if (defined(linux) &&                                            \
 -     ((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \
 -      defined(HAVE__UNWIND_BACKTRACE)))
 -#define MOZ_STACKWALK_SUPPORTS_LINUX 1
diff --git a/testing/firefox/fix-arm-atomics-grsec.patch b/testing/firefox/fix-arm-atomics-grsec.patch
index 0eb58f093f..c7e12ca0f0 100644
--- a/testing/firefox/fix-arm-atomics-grsec.patch
+++ b/testing/firefox/fix-arm-atomics-grsec.patch
@@ -1,8 +1,8 @@
---- mozilla-release/ipc/chromium/src/base/atomicops_internals_arm_gcc.h.orig
-+++ mozilla-release/ipc/chromium/src/base/atomicops_internals_arm_gcc.h
-@@ -12,43 +35,194 @@
- namespace base {
- namespace subtle {
+--- ./toolkit/components/protobuf/src/google/protobuf/stubs/atomicops_internals_arm_gcc.h
+@@ -39,43 +39,194 @@
+ namespace protobuf {
+ namespace internal {
  
 -// 0xffff0fc0 is the hard coded address of a function provided by
 -// the kernel which implements an atomic compare-exchange. On older
@@ -217,7 +217,7 @@
    return old_value;
  }
  
-@@ -63,36 +237,57 @@
+@@ -90,8 +241,7 @@
      // Atomic exchange the old value with an incremented one.
      Atomic32 old_value = *ptr;
      Atomic32 new_value = old_value + increment;
@@ -227,23 +227,19 @@
        // The exchange took place as expected.
        return new_value;
      }
-     // Otherwise, *ptr changed mid-loop and we need to retry.
-   }
--
- }
- 
+@@ -102,23 +252,45 @@
  inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr,
                                         Atomic32 old_value,
                                         Atomic32 new_value) {
 -  return NoBarrier_CompareAndSwap(ptr, old_value, new_value);
-+  Atomic32 prev_value;
-+  for (;;) {
-+    prev_value = *ptr;
++Atomic32 prev_value;                                     
++  for (;;) {                  
++    prev_value = *ptr;                                               
 +    if (prev_value != old_value) {
-+      // Always ensure acquire semantics.
++      // Always ensure acquire semantics.                          
 +      MemoryBarrier();
-+      return prev_value;
-+    }
++      return prev_value;     
++    }                         
 +    if (!LinuxKernelCmpxchg(old_value, new_value, ptr))
 +      return old_value;
 +  }
@@ -253,38 +249,37 @@
                                         Atomic32 old_value,
                                         Atomic32 new_value) {
 -  return NoBarrier_CompareAndSwap(ptr, old_value, new_value);
-+  // This could be implemented as:
-+  //    MemoryBarrier();
-+  //    return NoBarrier_CompareAndSwap();
-+  //
++  // This could be implemented as:                            
++  //    MemoryBarrier();                                             
++  //    return NoBarrier_CompareAndSwap();                    
++  //                                                               
 +  // But would use 3 barriers per succesful CAS. To save performance,
 +  // use Acquire_CompareAndSwap(). Its implementation guarantees that:
-+  // - A succesful swap uses only 2 barriers (in the kernel helper).
-+  // - An early return due to (prev_value != old_value) performs
-+  //   a memory barrier with no store, which is equivalent to the
-+  //   generic implementation above.
++  // - A succesful swap uses only 2 barriers (in the kernel helper).  
++  // - An early return due to (prev_value != old_value) performs      
++  //   a memory barrier with no store, which is equivalent to the     
++  //   generic implementation above.                                  
 +  return Acquire_CompareAndSwap(ptr, old_value, new_value);
  }
- 
-+#else
-+#  error "Your CPU's ARM architecture is not supported yet"
-+#endif
-+
-+// NOTE: Atomicity of the following load and store operations is only
++#else                                                                 
++#  error "Your CPU's ARM architecture is not supported yet"           
++#endif                                                                
++                                                                      
++// NOTE: Atomicity of the following load and store operations is only 
 +// guaranteed in case of 32-bit alignement of |ptr| values.
-+
+ 
  inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) {
    *ptr = value;
  }
  
--inline void MemoryBarrier() {
+-inline void MemoryBarrierInternal() {
 -  pLinuxKernelMemoryBarrier();
 -}
 -
  inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) {
    *ptr = value;
-   MemoryBarrier();
-@@ -103,9 +298,7 @@
+   MemoryBarrierInternal();
+@@ -129,9 +301,7 @@
    *ptr = value;
  }
  
@@ -295,12 +290,3 @@
  
  inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) {
    Atomic32 value = *ptr;
-@@ -118,7 +311,6 @@
-   return *ptr;
- }
- 
--} // namespace base::subtle
--} // namespace base
-+} }  // namespace base::subtle
- 
- #endif  // BASE_ATOMICOPS_INTERNALS_ARM_GCC_H_
diff --git a/testing/firefox/fix-seccomp-bpf.patch b/testing/firefox/fix-seccomp-bpf.patch
index ee6d666400..7f9fbae3a7 100644
--- a/testing/firefox/fix-seccomp-bpf.patch
+++ b/testing/firefox/fix-seccomp-bpf.patch
@@ -1,6 +1,5 @@
-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
+--- ./security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc	2018-12-14 08:53:46.083976137 +0000
 @@ -25,6 +25,11 @@
  #include "sandbox/linux/system_headers/linux_seccomp.h"
  #include "sandbox/linux/system_headers/linux_signal.h"
@@ -13,14 +12,13 @@ diff -ru firefox-62.0.3.orig/security/sandbox/chromium/sandbox/linux/seccomp-bpf
  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
-@@ -1005,6 +1005,7 @@
-         // 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())
+--- ./security/sandbox/linux/SandboxFilter.cpp	2018-10-01 18:35:28.000000000 +0000
+@@ -997,6 +997,7 @@
+             // 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())
diff --git a/testing/firefox/fix-toolkit.patch b/testing/firefox/fix-toolkit.patch
index 58fe5a3a9a..c79b9a15d4 100644
--- a/testing/firefox/fix-toolkit.patch
+++ b/testing/firefox/fix-toolkit.patch
@@ -55,21 +55,6 @@ index 93fdad7..f34e5e0 100644
  /* 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 026e7ed..0801f14 100644
---- a/toolkit/mozapps/update/common/updatedefines.h
-+++ b/toolkit/mozapps/update/common/updatedefines.h
-@@ -117,7 +117,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)
@@ -88,3 +73,14 @@ index 257ccb4..01314e4 100644
  
    return rv;
  }
+--- ./toolkit/mozapps/update/common/updatedefines.h
+@@ -102,7 +102,7 @@
+ 
+ #ifdef SOLARIS
+ #include <sys/stat.h>
+-#else
++#elif !defined(__linux__) || defined(__GLIBC__)
+ #include <fts.h>
+ #endif
+ #include <dirent.h>
diff --git a/testing/firefox/fix-tools.patch b/testing/firefox/fix-tools.patch
index 84f7fa9cb8..ed2c7f2bca 100644
--- a/testing/firefox/fix-tools.patch
+++ b/testing/firefox/fix-tools.patch
@@ -11,12 +11,12 @@
  #include "MainThreadUtils.h"
 --- a/tools/profiler/lul/LulElf.cpp
 +++ b/tools/profiler/lul/LulElf.cpp
-@@ -579,10 +579,10 @@
+@@ -469,10 +469,10 @@
  // 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) {
+ string BaseFileName(const string& filename) {
 -  // Lots of copies!  basename's behavior is less than ideal.
--  char *c_filename = strdup(filename.c_str());
+-  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
@@ -25,13 +25,13 @@
 +  string base = p ? p+1 : c_filename;
    return base;
  }
-
+ 
 --- a/tools/profiler/core/platform-linux-android.cpp.orig
 +++ b/tools/profiler/core/platform-linux-android.cpp
-@@ -534,9 +534,11 @@
- void
- Registers::SyncPopulate()
- {
+@@ -497,8 +497,10 @@
+ ucontext_t sSyncUContext;
+ 
+ void Registers::SyncPopulate() {
 +#if defined(__GLIBC__)
    if (!getcontext(&sSyncUContext)) {
      PopulateRegsFromContext(*this, &sSyncUContext);
@@ -39,4 +39,4 @@
 +#endif
  }
  #endif
- 
+
diff --git a/testing/firefox/fix-webrtc-glibcisms.patch b/testing/firefox/fix-webrtc-glibcisms.patch
index dc9206b50e..95b3a55eeb 100644
--- a/testing/firefox/fix-webrtc-glibcisms.patch
+++ b/testing/firefox/fix-webrtc-glibcisms.patch
@@ -1,13 +1,13 @@
---- ./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
-@@ -11,7 +11,9 @@
- #include <stdlib.h>
- #include <string.h>
- #include <features.h>
+--- ./media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c
+@@ -14,7 +14,9 @@
+ #ifndef __GLIBC_PREREQ
+ #define __GLIBC_PREREQ(a, b) 0
+ #endif
 -#if __GLIBC_PREREQ(2, 16)
-+#if !defined(__GLIBC__)
-+#include <sys/auxv.h>
-+#elif __GLIBC_PREREQ(2, 16)
++#if !defined(__GLIBC__)                                                                                                                                       
++#include <sys/auxv.h>                                                                                                                                         
++#elif __GLIBC_PREREQ(2, 16) 
  #include <sys/auxv.h>
  #else
  #include <fcntl.h>
diff --git a/testing/firefox/rust-unitialized-field.patch b/testing/firefox/rust-unitialized-field.patch
index 67ef3a02ab..3ef7f055ca 100644
--- a/testing/firefox/rust-unitialized-field.patch
+++ b/testing/firefox/rust-unitialized-field.patch
@@ -1,11 +1,14 @@
---- ./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 {
+--- ./media/audioipc/audioipc/src/cmsg.rs
+@@ -105,14 +105,12 @@
+             if cmsg.remaining_mut() < cmsg_len {
                  return Err(Error::NoSpace);
              }
- 
+
 -            let cmsghdr = cmsghdr {
 -                cmsg_len: cmsg_len as _,
+-                #[cfg(target_env = "musl")]
+-                __pad1: 0,
 -                cmsg_level: level,
 -                cmsg_type: kind,
 -            };
-- 
2.20.1



---
Unsubscribe:  alpine-aports+unsubscribe@lists.alpinelinux.org
Help:         alpine-aports+help@lists.alpinelinux.org
---

[alpine-aports] Re: [PATCH] testing/firefox: upgrade to 65.0

Bradley Saulteaux
Details
Message ID
<CAJNatn9q_7iNPc9FQONUsHpa2jFpsGhrvYsG0-A6pmi6ZiCsAw@mail.gmail.com>
In-Reply-To
<20190219170104.32697-1-~@bradso.to> (view parent)
Sender timestamp
1550596088
DKIM signature
missing
Download raw message
*upgrade to 65.0.1*

On Tue, 19 Feb 2019 at 10:01, Bradley Saulteaux <bradsoto@gmail.com> wrote:

> https://www.firefox.com/
> Firefox web browser
> ---
>  community/ffmpeg/APKBUILD                    |   8 +-
>  community/libaom/APKBUILD                    |  26 +++++
>  main/icu/10-firefox-65.0.1-fix.patch         |  23 ++++
>  main/icu/APKBUILD                            |  10 +-
>  main/libvpx/10-find-diff.patch               |  11 ++
>  main/libvpx/APKBUILD                         |  17 ++-
>  testing/cbindgen/APKBUILD                    |  26 +++++
>  testing/firefox/10-debug-fixes.patch         |  25 +++++
>  testing/firefox/APKBUILD                     | 106 ++++++++-----------
>  testing/firefox/disable-moz-stackwalk.patch  |  10 +-
>  testing/firefox/fix-arm-atomics-grsec.patch  |  74 ++++++-------
>  testing/firefox/fix-seccomp-bpf.patch        |  26 +++--
>  testing/firefox/fix-toolkit.patch            |  26 ++---
>  testing/firefox/fix-tools.patch              |  18 ++--
>  testing/firefox/fix-webrtc-glibcisms.patch   |  18 ++--
>  testing/firefox/rust-unitialized-field.patch |  11 +-
>  16 files changed, 251 insertions(+), 184 deletions(-)
>  create mode 100644 community/libaom/APKBUILD
>  create mode 100644 main/icu/10-firefox-65.0.1-fix.patch
>  create mode 100644 main/libvpx/10-find-diff.patch
>  create mode 100644 testing/cbindgen/APKBUILD
>  create mode 100644 testing/firefox/10-debug-fixes.patch
>
> diff --git a/community/ffmpeg/APKBUILD b/community/ffmpeg/APKBUILD
> index 4d2ac5757e..85cb74408a 100644
> --- a/community/ffmpeg/APKBUILD
> +++ b/community/ffmpeg/APKBUILD
> @@ -4,7 +4,7 @@
>  # Maintainer: Natanael Copa <ncopa@alpinelinux.org>
>  pkgname=ffmpeg
>  pkgver=4.1.1
> -pkgrel=0
> +pkgrel=1
>  pkgdesc="Complete and free Internet live audio and video broadcasting
> solution for Linux/Unix"
>  url="http://ffmpeg.org/"
>  arch="all"
> @@ -12,7 +12,7 @@ license="GPL"
>  options="!check" # tests/data/hls-lists.append.m3u8 fails
>  subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
>  makedepends="gnutls-dev lame-dev libvorbis-dev xvidcore-dev zlib-dev
> libvdpau-dev
> -       imlib2-dev x264-dev libtheora-dev coreutils bzip2-dev perl-dev
> libvpx-dev
> +       imlib2-dev x264-dev libtheora-dev coreutils bzip2-dev perl-dev
> libaom-dev
>         libvpx-dev sdl2-dev libxfixes-dev libva-dev alsa-lib-dev
>         v4l-utils-dev yasm opus-dev x265-dev libass-dev"
>  checkdepends="rsync"
> @@ -71,13 +71,13 @@ build() {
>         x86 | arm*) _asm="--disable-asm" ;;
>         esac
>
> -       cd "$builddir"
>         ./configure \
>                 --prefix=/usr \
>                 --enable-avresample \
>                 --enable-avfilter \
>                 --enable-gnutls \
>                 --enable-gpl \
> +               --enable-libaom \
>                 --enable-libass \
>                 --enable-libmp3lame \
>                 --enable-libvorbis \
> @@ -106,7 +106,6 @@ build() {
>
>  # https://ffmpeg.org/fate.html
>  check() {
> -       cd "$builddir"
>         ./configure \
>                 --samples=fate-suite/
>         make fate-rsync
> @@ -115,7 +114,6 @@ check() {
>  }
>
>  package() {
> -       cd "$builddir"
>         make DESTDIR="$pkgdir" install install-man
>         install -D -m755 tools/qt-faststart "$pkgdir/usr/bin/qt-faststart"
>  #      strip --strip-debug "$pkgdir"/usr/lib/*.a
> diff --git a/community/libaom/APKBUILD b/community/libaom/APKBUILD
> new file mode 100644
> index 0000000000..a2948a4e4c
> --- /dev/null
> +++ b/community/libaom/APKBUILD
> @@ -0,0 +1,26 @@
> +# Maintainer: Bradley Saulteaux <~@bradso.to>
> +pkgname=libaom
> +pkgver=1.0.0
> +pkgrel=0
> +pkgdesc="Alliance for Open Media"
> +url="https://aomedia.googlesource.com/aom/"
> +arch="all"
> +license="BSD-2-Clause"
> +depends=""
> +makedepends="cmake python yasm"
> +install=""
> +options="!check" #tests fail at AV1/AV1DecodeMultiThreadedTest.MD5Match
> +subpackages="$pkgname-dev"
> +source="$pkgname-$pkgver.tar.gz::
> https://aomedia.googlesource.com/aom/+archive/v$pkgver.tar.gz"
> +builddir="$srcdir/build"
> +build() {
> +       cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DBUILD_SHARED_LIBS=1 ..
> +       sed -i 's/0.1.0/1.0.0/g' aom.pc
> +}
> +check() {
> +       make runtests
> +}
> +package() {
> +       make DESTDIR="$pkgdir" install
> +}
> +sha512sums="f506a9399cfcf2aa3473639210511270c5a44b789eb51ce5616bd61f18a18e64080240a7b1ea2502d27df40ddf290b8f4686282f1eda3ffc57c45c803474f768
> libaom-1.0.0.tar.gz"
> diff --git a/main/icu/10-firefox-65.0.1-fix.patch
> b/main/icu/10-firefox-65.0.1-fix.patch
> new file mode 100644
> index 0000000000..6c47bdde2a
> --- /dev/null
> +++ b/main/icu/10-firefox-65.0.1-fix.patch
> @@ -0,0 +1,23 @@
> +
> https://github.com/unicode-org/icu/commit/8baff8f03e07d8e02304d0c888d0bb21ad2eeb01
> +fixed in 63.2
> +--- ./common/unicode/urename.h
> ++++ ./common/unicode/urename.h.
> +@@ -110,7 +110,6 @@
> + #define _UTF7Data U_ICU_ENTRY_POINT_RENAME(_UTF7Data)
> + #define _UTF8Data U_ICU_ENTRY_POINT_RENAME(_UTF8Data)
> + #define allowedHourFormatsCleanup
> U_ICU_ENTRY_POINT_RENAME(allowedHourFormatsCleanup)
> +-#define checkImpl U_ICU_ENTRY_POINT_RENAME(checkImpl)
> + #define cmemory_cleanup U_ICU_ENTRY_POINT_RENAME(cmemory_cleanup)
> + #define dayPeriodRulesCleanup
> U_ICU_ENTRY_POINT_RENAME(dayPeriodRulesCleanup)
> + #define deleteAllowedHourFormats
> U_ICU_ENTRY_POINT_RENAME(deleteAllowedHourFormats)
> +--- ./i18n/uspoof.cpp
> ++++ ./i18n/uspoof.cpp.
> +@@ -547,7 +547,7 @@
> +     return uspoof_check2UnicodeString(sc, id, NULL, status);
> + }
> +
> +-int32_t checkImpl(const SpoofImpl* This, const UnicodeString& id,
> CheckResult* checkResult, UErrorCode* status) {
> ++static int32_t checkImpl(const SpoofImpl* This, const UnicodeString& id,
> CheckResult* checkResult, UErrorCode* status) {
> +     U_ASSERT(This != NULL);
> +     U_ASSERT(checkResult != NULL);
> +     checkResult->clear();
> diff --git a/main/icu/APKBUILD b/main/icu/APKBUILD
> index 14b6b66a4c..9bc7bc65e3 100644
> --- a/main/icu/APKBUILD
> +++ b/main/icu/APKBUILD
> @@ -6,7 +6,7 @@ pkgver=63.1
>  # convert x.y.z to x_y_z
>  _ver=${pkgver//./_}
>
> -pkgrel=0
> +pkgrel=1
>  pkgdesc="International Components for Unicode library"
>  url="http://www.icu-project.org/"
>  arch="all"
> @@ -17,6 +17,7 @@ depends_dev="$pkgname=$pkgver-r$pkgrel"
>  checkdepends="diffutils"
>  makedepends=
>  source="
> http://download.icu-project.org/files/icu4c/${pkgver}/${pkgname}4c-$_ver-src.tgz
> +       10-firefox-65.0.1-fix.patch
>         "
>
>  # secfixes:
> @@ -30,7 +31,6 @@ source="
> http://download.icu-project.org/files/icu4c/${pkgver}/${pkgname}4c-$_ver
>  builddir="$srcdir"/icu/source
>
>  prepare() {
> -       cd "$builddir"
>         default_prepare
>         update_config_sub
>
> @@ -49,7 +49,6 @@ prepare() {
>  }
>
>  build() {
> -       cd "$builddir"
>         ./configure \
>                 --build=$CBUILD \
>                 --host=$CHOST \
> @@ -67,12 +66,10 @@ check() {
>         case "$CARCH" in
>                 arm*|x86) return 0;;
>         esac
> -       cd "$builddir"
>         make check
>  }
>
>  package() {
> -       cd "$builddir"
>         make -j1 DESTDIR="$pkgdir" install
>         chmod +x "$pkgdir"/usr/bin/icu-config
>         install -Dm644 "$srcdir"/icu/license.html \
> @@ -90,4 +87,5 @@ libs() {
>         replaces="icu"
>  }
>
> -sha512sums="9ab407ed840a00cdda7470dcc4c40299a125ad246ae4d019c4b1ede54781157fd63af015a8228cd95dbc47e4d15a0932b2c657489046a19788e5e8266eac079c
> icu4c-63_1-src.tgz"
> +sha512sums="9ab407ed840a00cdda7470dcc4c40299a125ad246ae4d019c4b1ede54781157fd63af015a8228cd95dbc47e4d15a0932b2c657489046a19788e5e8266eac079c
> icu4c-63_1-src.tgz
> +76fc0b69ef5dd78d31ed88e6b2976b3ff8b7715f03a94faef79dc2210fe75b9db1de47f1ccc8a5f783760e41de7da3a32628abc9e1ec44edcca98207c91d952d
> 10-firefox-65.0.1-fix.patch"
> diff --git a/main/libvpx/10-find-diff.patch
> b/main/libvpx/10-find-diff.patch
> new file mode 100644
> index 0000000000..c0d9f9955b
> --- /dev/null
> +++ b/main/libvpx/10-find-diff.patch
> @@ -0,0 +1,11 @@
> +--- ./configure
> ++++ ./configure.
> +@@ -166,7 +166,7 @@
> +     [ -f "${source_path}/${t}.mk" ] && enable_feature ${t}
> + done
> +
> +-if ! diff --version >/dev/null; then
> ++if ! which diff &> /dev/null; then
> +   die "diff missing: Try installing diffutils via your package manager."
> + fi
> +
> diff --git a/main/libvpx/APKBUILD b/main/libvpx/APKBUILD
> index 767b2b21fa..a6a4a4a490 100644
> --- a/main/libvpx/APKBUILD
> +++ b/main/libvpx/APKBUILD
> @@ -1,7 +1,7 @@
>  # Maintainer: Natanael Copa <ncopa@alpinelinux.org>
>  pkgname=libvpx
> -pkgver=1.6.1
> -pkgrel=1
> +pkgver=1.7.0
> +pkgrel=0
>  pkgdesc="Library for the vp8 codec"
>  url="https://www.webmproject.org/"
>  arch="all"
> @@ -9,13 +9,12 @@ license="GPL"
>  depends=""
>  makedepends="coreutils yasm bash perl"
>  subpackages="$pkgname-dev $pkgname-utils"
> -source="
> https://storage.googleapis.com/downloads.webmproject.org/releases/webm/$pkgname-$pkgver.tar.bz2
> +source="$pkgname-$pkgver.tar.gz::
> https://chromium.googlesource.com/webm/$pkgname/+archive/v$pkgver.tar.gz
>         fix-arm-float-abi.patch
> +       10-find-diff.patch
>         "
> -
> -builddir="$srcdir"/$pkgname-$pkgver
> +builddir="$srcdir"
>  build() {
> -       cd "$builddir"
>         # build fix for arm
>         export CROSS=" "
>         bash ./configure \
> @@ -31,7 +30,6 @@ build() {
>  }
>
>  package() {
> -       cd "$builddir"
>         make DIST_DIR="$pkgdir"/usr install
>         chmod 644 "$pkgdir"/usr/include/vpx/*.h \
>                 "$pkgdir"/usr/lib/pkgconfig/*
> @@ -45,5 +43,6 @@ utils() {
>         mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
>  }
>
> -sha512sums="1a4b009fe1737715c6563a79848126a5859394a5074b1e9cca9bc2e213df90890c15e708040d5f2c96c7c21e268f51e1352ac6911514bf891a4bf3eea154159d
> libvpx-1.6.1.tar.bz2
> -4eadbc2f4eb68eaff35cf85515aef271d6fd47293a53cba7b7a6e9e0fb71106dfb5ded45b9e9ba83264a91846e4a5fa4db42e39fc3eaff6ac37769e622f90f6c
> fix-arm-float-abi.patch"
> +sha512sums="6e114a6e8470b05153a8c41b7f30adb37d8cf99dc1c3d016867e5578b4f69905d7a1fcd902b6855f3f6b3e63ae305eb3fadd53359f2c8f344f3d701c3d4882b5
> libvpx-1.7.0.tar.gz
> +4eadbc2f4eb68eaff35cf85515aef271d6fd47293a53cba7b7a6e9e0fb71106dfb5ded45b9e9ba83264a91846e4a5fa4db42e39fc3eaff6ac37769e622f90f6c
> fix-arm-float-abi.patch
> +c14015273a2f081ef722f752a7ac17204e7fd5c42fb7a4bb457afdff1fcd2cc276bd34ca80a6e318968e0fa2e6ba49ceee026dd1bd7ee1b2806dbde70fd0a7fb
> 10-find-diff.patch"
> diff --git a/testing/cbindgen/APKBUILD b/testing/cbindgen/APKBUILD
> new file mode 100644
> index 0000000000..6a58bcb45d
> --- /dev/null
> +++ b/testing/cbindgen/APKBUILD
> @@ -0,0 +1,26 @@
> +# Maintainer: Bradley Saulteaux <~@bradso.to>
> +pkgname=cbindgen
> +pkgver=0.8.0
> +pkgrel=0
> +pkgdesc="A tool for generating C bindings to Rust code"
> +url="https://github.com/eqrion/cbindgen"
> +# limited by rust and cargo
> +arch="x86_64"
> +license="MPL2"
> +depends=""
> +subpackages="$pkgname-doc"
> +makedepends="cargo"
> +install=""
> +source="$pkgname-$pkgver.tar.gz::
> https://github.com/eqrion/$pkgname/archive/v$pkgver.tar.gz"
> +builddir="${srcdir}/$pkgname-$pkgver"
> +build() {
> +       cargo build --release
> +}
> +check() {
> +       cargo test --release
> +}
> +package() {
> +       install -Dt "$pkgdir/usr/bin" target/release/cbindgen
> +       install -Dt "$pkgdir/usr/share/doc/$pkgname" -m644 README.md
> +}
> +sha512sums="634a61556b3ae20bb246d1c34c2869852af1e1003cbf0481a346191eb48f812d19755ae8e895628d53a3ab7792b977255bfb25a50a2dbb9baf18b4f3fc783b18
> cbindgen-0.8.0.tar.gz"
> diff --git a/testing/firefox/10-debug-fixes.patch
> b/testing/firefox/10-debug-fixes.patch
> new file mode 100644
> index 0000000000..968091935e
> --- /dev/null
> +++ b/testing/firefox/10-debug-fixes.patch
> @@ -0,0 +1,25 @@
> +--- ./intl/locale/LocaleService.cpp
> ++++ ./intl/locale/LocaleService.cpp.
> +@@ -526,7 +526,6 @@
> +     GetGREFileContents("update.locale", &locale);
> +     locale.Trim(" \t\n\r");
> +     // This should never be empty.
> +-    MOZ_ASSERT(!locale.IsEmpty());
> +     if (SanitizeForBCP47(locale, true)) {
> +       mDefaultLocale.Assign(locale);
> +     }
> +--- ./browser/installer/package-manifest.in
> ++++ ./browser/installer/package-manifest.in.
> +@@ -499,12 +499,6 @@
> + ; svg
> + @RESPATH@/res/svg.css
> +
> +-; [Layout Debugger]
> +-#ifdef MOZ_DEBUG
> +-@RESPATH@/chrome/layoutdebug@JAREXT@
> +-@RESPATH@/chrome/layoutdebug.manifest
> +-#endif
> +-
> + ; [Personal Security Manager]
> + ;
> + ; NSS libraries are signed in the staging directory,
> diff --git a/testing/firefox/APKBUILD b/testing/firefox/APKBUILD
> index b31c1997b7..30ca2dc8fc 100644
> --- a/testing/firefox/APKBUILD
> +++ b/testing/firefox/APKBUILD
> @@ -1,23 +1,26 @@
>  # Contributor: William Pitcock <nenolod@dereferenced.org>
>  # Maintainer: Natanael Copa <ncopa@alpinelinux.org>
>  pkgname=firefox
> -pkgver=62.0.3
> +pkgver=65.0.1
>  _pkgver=$pkgver
>  _xulver=$pkgver
> -pkgrel=2
> +pkgrel=0
>  pkgdesc="Firefox web browser"
>  url="https://www.firefox.com/"
>  # limited by rust and cargo
>  arch="x86_64"
>  license="GPL LGPL MPL"
>  depends=""
> +options="!check"
>  makedepends="
>         alsa-lib-dev
>         autoconf2.13
> +       autoconf
>         automake
>         bsd-compat-headers
>         bzip2-dev
>         cargo
> +       cbindgen
>         clang-dev
>         dbus-glib-dev
>         ffmpeg-dev
> @@ -27,6 +30,7 @@ makedepends="
>         hunspell-dev
>         icu-dev
>         libevent-dev
> +       libffi-dev
>         libidl-dev
>         libjpeg-turbo-dev
>         libnotify-dev
> @@ -39,9 +43,11 @@ makedepends="
>         libxcomposite-dev
>         llvm5-dev
>         mesa-dev
> +       nasm
>         nspr-dev
>         nss-dev
>         nss-static
> +       nodejs
>         paxmark
>         python3-dev
>         sqlite-dev
> @@ -64,7 +70,6 @@ source="
> https://ftp.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkg
>         mallinfo.patch
>
>         fix-arm-atomics-grsec.patch
> -       fix-arm-version-detect.patch
>         mozilla-build-arm.patch
>         disable-moz-stackwalk.patch
>         fix-rust-target.patch
> @@ -73,7 +78,9 @@ source="
> https://ftp.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkg
>         fix-webrtc-glibcisms.patch
>
>         firefox.desktop
> -       firefox-safe.desktop"
> +       firefox-safe.desktop
> +
> +       10-debug-fixes.patch"
>
>  builddir="${srcdir}/firefox-$pkgver"
>  _mozappdir=/usr/lib/firefox
> @@ -83,71 +90,44 @@ ldpath="$_mozappdir"
>
>  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
> +       autoreconf old-configure.in
> +       cd js/src; autoreconf old-configure.in
>  }
>
>  build() {
> -       cd "$builddir"/objdir
> -
>         export SHELL=/bin/sh
>         export BUILD_OFFICIAL=1
>         export MOZILLA_OFFICIAL=1
>         export USE_SHORT_LIBNAME=1
>         # 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}"
> -
> -       ../configure \
> -               --prefix=/usr \
> -               \
> -               --disable-crashreporter \
> -               --disable-elf-hack \
> -               --disable-gold \
> -               --disable-install-strip \
> -               --disable-jemalloc \
> -               --disable-profiling \
> -               --disable-pulseaudio \
> -               --disable-strip \
> -               --disable-tests \
> -               --disable-updater \
> -               \
> -               --enable-alsa \
> -               --enable-default-toolkit=cairo-gtk3 \
> -               --enable-official-branding \
> -               --enable-optimize="$CFLAGS" \
> -               --enable-pie \
> -               --enable-startup-notification \
> -               --enable-system-ffi \
> -               --enable-system-sqlite \
> -               --enable-ffmpeg \
> -               \
> -               --with-system-bz2 \
> -               --with-system-icu \
> -               --with-system-jpeg \
> -               --with-system-libevent \
> -               --with-system-libvpx \
> -               --with-system-nspr \
> -               --with-system-nss \
> -               --with-system-pixman \
> -               --with-system-png \
> -               --with-system-zlib \
> -               --with-clang-path=/usr/bin/clang \
> -               --with-libclang-path=/usr/lib
> -       make
> -
> -       # paxmark outside fakeroot
> -       paxmark -msp dist/bin/xpcshell
> -
> +       ac_add_options() {
> +               echo "ac_add_options $1" >>"$builddir"/.mozconfig
> +       }
> +       mk_add_options() {
> +               echo "mk_add_options $1" >>"$builddir"/.mozconfig
> +       }
> +       ac_add_options "BINDGEN_CFLAGS='-I/usr/include/nspr
> -I/usr/include/pixman-1'"
> +       ac_add_options "--prefix=/usr --disable-jemalloc --disable-updater"
> +       ac_add_options "--disable-pulseaudio --enable-alsa
> --disable-elf-hack"
> +       ac_add_options "--enable-default-toolkit=cairo-gtk3
> --enable-official-branding"
> +       ac_add_options "--enable-optimize=\"$CFLAGS\"
> --enable-startup-notification"
> +       ac_add_options "--enable-system-ffi --enable-system-pixman
> --enable-system-sqlite"
> +       ac_add_options "--enable-av1 --with-system-bz2 --with-system-icu"
> +       ac_add_options "--with-system-libevent --with-system-libvpx
> --with-system-nspr"
> +       ac_add_options "--with-system-nss --with-system-png
> --with-system-zlib"
> +       ac_add_options "--with-clang-path=/usr/bin/clang
> --with-libclang-path=/usr/lib"
> +       ac_add_options "--disable-tests --disable-crashreporter"
> +
> +       ./mach configure; ./mach build
>  }
>
>  package() {
> -       cd "$builddir"/objdir
> +       cd "$builddir"/obj-x86_64-pc-linux-gnu
>
>         # only used for startupcache creation.
>         local paxflags="-msp"
> @@ -214,21 +194,21 @@ __EOF__
>         rm -f "$pkgdir"/${_mozappdirdev}/sdk/lib/libxul.so
>  }
>
> -sha512sums="487bb7791284367158c79cf7918fecf3d598627a6416e679aeb5d22626089aeffe07762fa2389819ba881c90ece1c5a83cf2d85b2def15b8d5ba0ed1c498b527
> firefox-62.0.3.source.tar.xz
> +sha512sums="cc76a83f6430f501c2260c6b35b5e48f045f5b180daf03375e9ab114a9afd67dfc0146ddb81cd29be4617aadb66a332ed5ebc625cb500df9579e412ed4909599
> firefox-65.0.1.source.tar.xz
>  0b3f1e4b9fdc868e4738b5c81fd6c6128ce8885b260affcb9a65ff9d164d7232626ce1291aaea70132b3e3124f5e13fef4d39326b8e7173e362a823722a85127
> stab.h
>  2f4f15974d52de4bb273b62a332d13620945d284bbc6fe6bd0a1f58ff7388443bc1d3bf9c82cc31a8527aad92b0cd3a1bc41d0af5e1800e0dcbd7033e58ffd71
> fix-fortify-system-wrappers.patch
>  09bc32cf9ee81b9cc6bb58ddbc66e6cc5c344badff8de3435cde5848e5a451e0172153231db85c2385ff05b5d9c20760cb18e4138dfc99060a9e960de2befbd5
> fix-fortify-inline.patch
> -2f713a270f7d1588ec4a0b9c21e5a0d20823954e6a64293ee1a391f80d38af6c0a80b3d35c3ada59b605f6032fb2af3040cd8ca7f424b0e620cc53fd12674fd9
> fix-seccomp-bpf.patch
> -a2925045154f4fd34e5fc056656f4f9da100341529e5d4104d249154db0c7863384083f421ce6e47e0f20566a8b20787fa35444c7933c03cd03f96f06dcd4532
> fix-toolkit.patch
> -b46cb90d4fdd1a925a61e2c6c545489cd542f5d82980c529361c02042eed31d5c26972b5e237c1a020f87ffcfd12736d1f4f6e33eaa83ae156d523c808c718cb
> fix-tools.patch
> +6764e7af43f5a066ac0faf4f8d0747c03739f4f14b51f58c524eb0519dfd28540bdd25569b201a8e20919d0096479cf0e7a8e306fb223aba4c0f177c4df55200
> fix-seccomp-bpf.patch
> +e680a23490908e8be256a8dadee3952f29c4069558548c2b79252640471fa29c221abb0634fc9260a8c9ba755f50f417a77ef66ede87eca8e02d69f74f8b0075
> fix-toolkit.patch
> +a9e44759a584d148360405bf75981a6cb8b3ea0c2a553c13da7c559dc0193b35b2dca32571044cdca7ebd6ecc8c475da126d48a0c6ed19316857e2e88d28b49f
> fix-tools.patch
>  bdcd1b402d2ec94957ba5d08cbad7b1a7f59c251c311be9095208491a05abb05a956c79f27908e1f26b54a3679387b2f33a51e945b650671ad85c0a2d59a5a29
> mallinfo.patch
> -ed0d344c66fc8e1cc83a11e9858b32c42e841cbeedd9eb9438811e9fcc3593dc824a8336d00058d55836cedc970aeadd6a82c6dcd7bc0fb746e564d8b478cc6c
> fix-arm-atomics-grsec.patch
> -015e1ff6dbf920033982b5df95d869a0b7bf56c6964e45e50649ddf46d1ce09563458e45240c3ecb92808662b1300b67507f7af272ba184835d91068a9e7d5b0
> fix-arm-version-detect.patch
> +9a07f214877c8e4f919311b35ceb8b8ea990fb5811c89d060c0dc5f87a864ac678649fa2c0f1c1459e949e5abb81a894996e2f82b0f94d44e21cc94273fc6d5b
> fix-arm-atomics-grsec.patch
>  e61664bc93eadce5016a06a4d0684b34a05074f1815e88ef2613380d7b369c6fd305fb34f83b5eb18b9e3138273ea8ddcfdcb1084fdcaa922a1e5b30146a3b18
> mozilla-build-arm.patch
> -4797d2d89ac63a57abb826b8ea9f751314ce66946194033deb9d78c2ff377b88106fd2c7bc5034dc13ad03dd5085b1893c3ccae1a9e63fde35655bb0921f7188
> disable-moz-stackwalk.patch
> +61b3c2ab34f43ada0b8c1c9c26fc70f82719b7f344a503325a350749fd6921255134d414c1eba3919e5c3bc133f7e0a164400d3c8af5ec6298afb8c7a146a4da
> disable-moz-stackwalk.patch
>  42cc44fda4b05259b38f055d6f51461746aa89a474cedc5e92fb9d20879da0d12b1b515b273a549e7302cda9c7eddde20d5fdba09853e5c658784ad6d0b20078
> fix-rust-target.patch
>  a50b412edf9573a0bd04a43578b1c927967a616b73a5995eefb15bfa78fd2bd14e36ec05315a0703f6370ecd524e6bcb012e7285beb1245e9add9b8553acb79e
> fix-bug-1261392.patch
> -01b48a708cc6bc6e3cd7cc7b16f5137ec344566ac891d699b65e322bc992726072fa14a54cef1a7775799fcbbcf90a6c170107c8524caba3bc311b42d93b7581
> rust-unitialized-field.patch
> -75b97d59e81e5f1debe6a459b535da704d5a2ac4a57c446d16058fd18db81e22317fcc3ec11b89f569f4de87e8e80ced027c0e72e7f1dd16f6fd0feb6b263919
> fix-webrtc-glibcisms.patch
> +7bc98f6370e2ca170b7bbfbddd8bd684df6c11530f38152f37031809f2b6b0bffde70a998939d97ed460d807fa7decc94b85a1bb6bf6464a63733e0f9d0f7ac6
> rust-unitialized-field.patch
> +44c95a862b04747658b666ab6e2efb77e57e63e78b1a81e489410bec4ef4c81956548131b922a50f9c069a3340c2b6f60a055cebf3f889f4d7d8a6e94eead11f
> fix-webrtc-glibcisms.patch
>  f3b7c3e804ce04731012a46cb9e9a6b0769e3772aef9c0a4a8c7520b030fdf6cd703d5e9ff49275f14b7d738fe82a0a4fde3bc3219dff7225d5db0e274987454
> firefox.desktop
> -5dcb6288d0444a8a471d669bbaf61cdb1433663eff38b72ee5e980843f5fc07d0d60c91627a2c1159215d0ad77ae3f115dcc5fdfe87e64ca704b641aceaa44ed
> firefox-safe.desktop"
> +5dcb6288d0444a8a471d669bbaf61cdb1433663eff38b72ee5e980843f5fc07d0d60c91627a2c1159215d0ad77ae3f115dcc5fdfe87e64ca704b641aceaa44ed
> firefox-safe.desktop
> +8ade2c0c767b5097f25b06bf5f5543141131e302390ea86a89becec598f039a72cbda6722bedfd773ff946b592a2f92a5c442d024de47d220c41dcb2af80219f
> 10-debug-fixes.patch"
> diff --git a/testing/firefox/disable-moz-stackwalk.patch
> b/testing/firefox/disable-moz-stackwalk.patch
> index c83ae7eae9..8f4924bac1 100644
> --- a/testing/firefox/disable-moz-stackwalk.patch
> +++ b/testing/firefox/disable-moz-stackwalk.patch
> @@ -1,12 +1,10 @@
> -diff --git a/mozglue/misc/StackWalk.cpp b/mozglue/misc/StackWalk.cpp
> -index a208bad..14e1f0d 100644
> ---- a/mozglue/misc/StackWalk.cpp
> -+++ b/mozglue/misc/StackWalk.cpp
> -@@ -41,13 +41,7 @@ static CriticalAddress gCriticalAddress;
> +--- /mozglue/misc/StackWalk.cpp
> ++++ /mozglue/misc/StackWalk.cpp.
> +@@ -32,13 +32,7 @@
>   #define MOZ_STACKWALK_SUPPORTS_MACOSX 0
>   #endif
>
> --#if (defined(linux) && \
> +-#if (defined(linux) &&                                            \
>  -     ((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \
>  -      defined(HAVE__UNWIND_BACKTRACE)))
>  -#define MOZ_STACKWALK_SUPPORTS_LINUX 1
> diff --git a/testing/firefox/fix-arm-atomics-grsec.patch
> b/testing/firefox/fix-arm-atomics-grsec.patch
> index 0eb58f093f..c7e12ca0f0 100644
> --- a/testing/firefox/fix-arm-atomics-grsec.patch
> +++ b/testing/firefox/fix-arm-atomics-grsec.patch
> @@ -1,8 +1,8 @@
> ----
> mozilla-release/ipc/chromium/src/base/atomicops_internals_arm_gcc.h.orig
> -+++ mozilla-release/ipc/chromium/src/base/atomicops_internals_arm_gcc.h
> -@@ -12,43 +35,194 @@
> - namespace base {
> - namespace subtle {
> +---
> ./toolkit/components/protobuf/src/google/protobuf/stubs/atomicops_internals_arm_gcc.h
> ++++
> ./toolkit/components/protobuf/src/google/protobuf/stubs/atomicops_internals_arm_gcc.h.
> +@@ -39,43 +39,194 @@
> + namespace protobuf {
> + namespace internal {
>
>  -// 0xffff0fc0 is the hard coded address of a function provided by
>  -// the kernel which implements an atomic compare-exchange. On older
> @@ -217,7 +217,7 @@
>     return old_value;
>   }
>
> -@@ -63,36 +237,57 @@
> +@@ -90,8 +241,7 @@
>       // Atomic exchange the old value with an incremented one.
>       Atomic32 old_value = *ptr;
>       Atomic32 new_value = old_value + increment;
> @@ -227,23 +227,19 @@
>         // The exchange took place as expected.
>         return new_value;
>       }
> -     // Otherwise, *ptr changed mid-loop and we need to retry.
> -   }
> --
> - }
> -
> +@@ -102,23 +252,45 @@
>   inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr,
>                                          Atomic32 old_value,
>                                          Atomic32 new_value) {
>  -  return NoBarrier_CompareAndSwap(ptr, old_value, new_value);
> -+  Atomic32 prev_value;
> -+  for (;;) {
> -+    prev_value = *ptr;
> ++Atomic32 prev_value;
> ++  for (;;) {
> ++    prev_value = *ptr;
>  +    if (prev_value != old_value) {
> -+      // Always ensure acquire semantics.
> ++      // Always ensure acquire semantics.
>  +      MemoryBarrier();
> -+      return prev_value;
> -+    }
> ++      return prev_value;
> ++    }
>  +    if (!LinuxKernelCmpxchg(old_value, new_value, ptr))
>  +      return old_value;
>  +  }
> @@ -253,38 +249,37 @@
>                                          Atomic32 old_value,
>                                          Atomic32 new_value) {
>  -  return NoBarrier_CompareAndSwap(ptr, old_value, new_value);
> -+  // This could be implemented as:
> -+  //    MemoryBarrier();
> -+  //    return NoBarrier_CompareAndSwap();
> -+  //
> ++  // This could be implemented as:
> ++  //    MemoryBarrier();
> ++  //    return NoBarrier_CompareAndSwap();
> ++  //
>  +  // But would use 3 barriers per succesful CAS. To save performance,
>  +  // use Acquire_CompareAndSwap(). Its implementation guarantees that:
> -+  // - A succesful swap uses only 2 barriers (in the kernel helper).
> -+  // - An early return due to (prev_value != old_value) performs
> -+  //   a memory barrier with no store, which is equivalent to the
> -+  //   generic implementation above.
> ++  // - A succesful swap uses only 2 barriers (in the kernel helper).
> ++  // - An early return due to (prev_value != old_value) performs
> ++  //   a memory barrier with no store, which is equivalent to the
> ++  //   generic implementation above.
>  +  return Acquire_CompareAndSwap(ptr, old_value, new_value);
>   }
> -
> -+#else
> -+#  error "Your CPU's ARM architecture is not supported yet"
> -+#endif
> -+
> -+// NOTE: Atomicity of the following load and store operations is only
> ++#else
> ++#  error "Your CPU's ARM architecture is not supported yet"
> ++#endif
> ++
> ++// NOTE: Atomicity of the following load and store operations is only
>  +// guaranteed in case of 32-bit alignement of |ptr| values.
> -+
> +
>   inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) {
>     *ptr = value;
>   }
>
> --inline void MemoryBarrier() {
> +-inline void MemoryBarrierInternal() {
>  -  pLinuxKernelMemoryBarrier();
>  -}
>  -
>   inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) {
>     *ptr = value;
> -   MemoryBarrier();
> -@@ -103,9 +298,7 @@
> +   MemoryBarrierInternal();
> +@@ -129,9 +301,7 @@
>     *ptr = value;
>   }
>
> @@ -295,12 +290,3 @@
>
>   inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) {
>     Atomic32 value = *ptr;
> -@@ -118,7 +311,6 @@
> -   return *ptr;
> - }
> -
> --} // namespace base::subtle
> --} // namespace base
> -+} }  // namespace base::subtle
> -
> - #endif  // BASE_ATOMICOPS_INTERNALS_ARM_GCC_H_
> diff --git a/testing/firefox/fix-seccomp-bpf.patch
> b/testing/firefox/fix-seccomp-bpf.patch
> index ee6d666400..7f9fbae3a7 100644
> --- a/testing/firefox/fix-seccomp-bpf.patch
> +++ b/testing/firefox/fix-seccomp-bpf.patch
> @@ -1,6 +1,5 @@
> -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
> +--- ./security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc
> 2018-12-14 08:53:46.083976137 +0000
> ++++ ./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"
> @@ -13,14 +12,13 @@ diff -ru
> firefox-62.0.3.orig/security/sandbox/chromium/sandbox/linux/seccomp-bpf
>   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
> -@@ -1005,6 +1005,7 @@
> -         // 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())
> +--- ./security/sandbox/linux/SandboxFilter.cpp 2018-10-01
> 18:35:28.000000000 +0000
> ++++ ./security/sandbox/linux/SandboxFilter.cpp 2018-12-14
> 08:57:50.645264590 +0000
> +@@ -997,6 +997,7 @@
> +             // 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())
> diff --git a/testing/firefox/fix-toolkit.patch
> b/testing/firefox/fix-toolkit.patch
> index 58fe5a3a9a..c79b9a15d4 100644
> --- a/testing/firefox/fix-toolkit.patch
> +++ b/testing/firefox/fix-toolkit.patch
> @@ -55,21 +55,6 @@ index 93fdad7..f34e5e0 100644
>   /* 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 026e7ed..0801f14 100644
> ---- a/toolkit/mozapps/update/common/updatedefines.h
> -+++ b/toolkit/mozapps/update/common/updatedefines.h
> -@@ -117,7 +117,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)
> @@ -88,3 +73,14 @@ index 257ccb4..01314e4 100644
>
>     return rv;
>   }
> +--- ./toolkit/mozapps/update/common/updatedefines.h
> ++++ ./toolkit/mozapps/update/common/updatedefines.h.
> +@@ -102,7 +102,7 @@
> +
> + #ifdef SOLARIS
> + #include <sys/stat.h>
> +-#else
> ++#elif !defined(__linux__) || defined(__GLIBC__)
> + #include <fts.h>
> + #endif
> + #include <dirent.h>
> diff --git a/testing/firefox/fix-tools.patch
> b/testing/firefox/fix-tools.patch
> index 84f7fa9cb8..ed2c7f2bca 100644
> --- a/testing/firefox/fix-tools.patch
> +++ b/testing/firefox/fix-tools.patch
> @@ -11,12 +11,12 @@
>   #include "MainThreadUtils.h"
>  --- a/tools/profiler/lul/LulElf.cpp
>  +++ b/tools/profiler/lul/LulElf.cpp
> -@@ -579,10 +579,10 @@
> +@@ -469,10 +469,10 @@
>   // 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) {
> + string BaseFileName(const string& filename) {
>  -  // Lots of copies!  basename's behavior is less than ideal.
> --  char *c_filename = strdup(filename.c_str());
> +-  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
> @@ -25,13 +25,13 @@
>  +  string base = p ? p+1 : c_filename;
>     return base;
>   }
> -
> +
>  --- a/tools/profiler/core/platform-linux-android.cpp.orig
>  +++ b/tools/profiler/core/platform-linux-android.cpp
> -@@ -534,9 +534,11 @@
> - void
> - Registers::SyncPopulate()
> - {
> +@@ -497,8 +497,10 @@
> + ucontext_t sSyncUContext;
> +
> + void Registers::SyncPopulate() {
>  +#if defined(__GLIBC__)
>     if (!getcontext(&sSyncUContext)) {
>       PopulateRegsFromContext(*this, &sSyncUContext);
> @@ -39,4 +39,4 @@
>  +#endif
>   }
>   #endif
> -
> +
> diff --git a/testing/firefox/fix-webrtc-glibcisms.patch
> b/testing/firefox/fix-webrtc-glibcisms.patch
> index dc9206b50e..95b3a55eeb 100644
> --- a/testing/firefox/fix-webrtc-glibcisms.patch
> +++ b/testing/firefox/fix-webrtc-glibcisms.patch
> @@ -1,13 +1,13 @@
> ----
> ./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
> -@@ -11,7 +11,9 @@
> - #include <stdlib.h>
> - #include <string.h>
> - #include <features.h>
> +---
> ./media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c
> ++++
> ./media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c.
> +@@ -14,7 +14,9 @@
> + #ifndef __GLIBC_PREREQ
> + #define __GLIBC_PREREQ(a, b) 0
> + #endif
>  -#if __GLIBC_PREREQ(2, 16)
> -+#if !defined(__GLIBC__)
> -+#include <sys/auxv.h>
> -+#elif __GLIBC_PREREQ(2, 16)
> ++#if !defined(__GLIBC__)
>
>
> ++#include <sys/auxv.h>
>
>
> ++#elif __GLIBC_PREREQ(2, 16)
>   #include <sys/auxv.h>
>   #else
>   #include <fcntl.h>
> diff --git a/testing/firefox/rust-unitialized-field.patch
> b/testing/firefox/rust-unitialized-field.patch
> index 67ef3a02ab..3ef7f055ca 100644
> --- a/testing/firefox/rust-unitialized-field.patch
> +++ b/testing/firefox/rust-unitialized-field.patch
> @@ -1,11 +1,14 @@
> ---- ./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 {
> +--- ./media/audioipc/audioipc/src/cmsg.rs
> ++++ ./media/audioipc/audioipc/src/cmsg.rs.
> +@@ -105,14 +105,12 @@
> +             if cmsg.remaining_mut() < cmsg_len {
>                   return Err(Error::NoSpace);
>               }
> -
> +
>  -            let cmsghdr = cmsghdr {
>  -                cmsg_len: cmsg_len as _,
> +-                #[cfg(target_env = "musl")]
> +-                __pad1: 0,
>  -                cmsg_level: level,
>  -                cmsg_type: kind,
>  -            };
> --
> 2.20.1
>
>
Natanael Copa
Details
Message ID
<20190219184431.4064f6e0@ncopa-desktop.copa.dup.pw>
In-Reply-To
<20190219170104.32697-1-~@bradso.to> (view parent)
Sender timestamp
1550598271
DKIM signature
missing
Download raw message
Hi!

Thank you for submitting this. I have a few questions/wishes. Please
see below:

On Tue, 19 Feb 2019 10:01:06 -0700
Bradley Saulteaux <bradsoto@gmail.com> wrote:

> https://www.firefox.com/
> Firefox web browser
> ---
>  community/ffmpeg/APKBUILD                    |   8 +-
>  community/libaom/APKBUILD                    |  26 +++++
>  main/icu/10-firefox-65.0.1-fix.patch         |  23 ++++
>  main/icu/APKBUILD                            |  10 +-
>  main/libvpx/10-find-diff.patch               |  11 ++
>  main/libvpx/APKBUILD                         |  17 ++-
>  testing/cbindgen/APKBUILD                    |  26 +++++
>  testing/firefox/10-debug-fixes.patch         |  25 +++++
>  testing/firefox/APKBUILD                     | 106 ++++++++-----------
>  testing/firefox/disable-moz-stackwalk.patch  |  10 +-
>  testing/firefox/fix-arm-atomics-grsec.patch  |  74 ++++++-------
>  testing/firefox/fix-seccomp-bpf.patch        |  26 +++--
>  testing/firefox/fix-toolkit.patch            |  26 ++---
>  testing/firefox/fix-tools.patch              |  18 ++--
>  testing/firefox/fix-webrtc-glibcisms.patch   |  18 ++--
>  testing/firefox/rust-unitialized-field.patch |  11 +-
>  16 files changed, 251 insertions(+), 184 deletions(-)
>  create mode 100644 community/libaom/APKBUILD
>  create mode 100644 main/icu/10-firefox-65.0.1-fix.patch
>  create mode 100644 main/libvpx/10-find-diff.patch
>  create mode 100644 testing/cbindgen/APKBUILD
>  create mode 100644 testing/firefox/10-debug-fixes.patch
> 
> diff --git a/community/ffmpeg/APKBUILD b/community/ffmpeg/APKBUILD
> index 4d2ac5757e..85cb74408a 100644
> --- a/community/ffmpeg/APKBUILD
> +++ b/community/ffmpeg/APKBUILD
> @@ -4,7 +4,7 @@
>  # Maintainer: Natanael Copa <ncopa@alpinelinux.org>
>  pkgname=ffmpeg
>  pkgver=4.1.1
> -pkgrel=0
> +pkgrel=1
>  pkgdesc="Complete and free Internet live audio and video broadcasting solution for Linux/Unix"
>  url="http://ffmpeg.org/"
>  arch="all"
> @@ -12,7 +12,7 @@ license="GPL"
>  options="!check" # tests/data/hls-lists.append.m3u8 fails
>  subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
>  makedepends="gnutls-dev lame-dev libvorbis-dev xvidcore-dev zlib-dev libvdpau-dev
> -	imlib2-dev x264-dev libtheora-dev coreutils bzip2-dev perl-dev libvpx-dev
> +	imlib2-dev x264-dev libtheora-dev coreutils bzip2-dev perl-dev libaom-dev
>  	libvpx-dev sdl2-dev libxfixes-dev libva-dev alsa-lib-dev
>  	v4l-utils-dev yasm opus-dev x265-dev libass-dev"
>  checkdepends="rsync"
> @@ -71,13 +71,13 @@ build() {
>  	x86 | arm*) _asm="--disable-asm" ;;
>  	esac
>  
> -	cd "$builddir"

Is the removal of cd "$builddir" documented? I mean, yes, the cd
"$builddir" is not needed anymore, but is this documented any place? I
think we need update documentation before we can remove them.

That said, I would prefer keep the "$builddir" for a while unless there
is a good reason to remove them. Removing it makes it harder to
backport things to stable branches. This makes backporting security
fixes a more time consuming.


>  	./configure \
>  		--prefix=/usr \
>  		--enable-avresample \
>  		--enable-avfilter \
>  		--enable-gnutls \
>  		--enable-gpl \
> +		--enable-libaom \
>  		--enable-libass \
>  		--enable-libmp3lame \
>  		--enable-libvorbis \
> @@ -106,7 +106,6 @@ build() {
>  
>  # https://ffmpeg.org/fate.html
>  check() {
> -	cd "$builddir"
>  	./configure \
>  		--samples=fate-suite/
>  	make fate-rsync
> @@ -115,7 +114,6 @@ check() {
>  }
>  
>  package() {
> -	cd "$builddir"
>  	make DESTDIR="$pkgdir" install install-man
>  	install -D -m755 tools/qt-faststart "$pkgdir/usr/bin/qt-faststart"
>  #	strip --strip-debug "$pkgdir"/usr/lib/*.a
> diff --git a/community/libaom/APKBUILD b/community/libaom/APKBUILD
> new file mode 100644
> index 0000000000..a2948a4e4c
> --- /dev/null
> +++ b/community/libaom/APKBUILD
> @@ -0,0 +1,26 @@
> +# Maintainer: Bradley Saulteaux <~@bradso.to>
> +pkgname=libaom
> +pkgver=1.0.0
> +pkgrel=0
> +pkgdesc="Alliance for Open Media"
> +url="https://aomedia.googlesource.com/aom/"
> +arch="all"
> +license="BSD-2-Clause"
> +depends=""
> +makedepends="cmake python yasm"
> +install=""
> +options="!check" #tests fail at AV1/AV1DecodeMultiThreadedTest.MD5Match
> +subpackages="$pkgname-dev"
> +source="$pkgname-$pkgver.tar.gz::https://aomedia.googlesource.com/aom/+archive/v$pkgver.tar.gz"
> +builddir="$srcdir/build"
> +build() {
> +	cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DBUILD_SHARED_LIBS=1 ..
> +	sed -i 's/0.1.0/1.0.0/g' aom.pc

is this change reported or fixed upstream?

I would prefer use a patch from upstream over running sed from
APKBUILD. The reason is that if we use a patch , we will discover when
they fix this upstream. Otherwise the sed line may say long after its
no longer needed.

> +}
> +check() {
> +	make runtests
> +}
> +package() {
> +	make DESTDIR="$pkgdir" install
> +}
> +sha512sums="f506a9399cfcf2aa3473639210511270c5a44b789eb51ce5616bd61f18a18e64080240a7b1ea2502d27df40ddf290b8f4686282f1eda3ffc57c45c803474f768  libaom-1.0.0.tar.gz"
> diff --git a/main/icu/10-firefox-65.0.1-fix.patch b/main/icu/10-firefox-65.0.1-fix.patch
> new file mode 100644
> index 0000000000..6c47bdde2a
> --- /dev/null
> +++ b/main/icu/10-firefox-65.0.1-fix.patch
> @@ -0,0 +1,23 @@
> +https://github.com/unicode-org/icu/commit/8baff8f03e07d8e02304d0c888d0bb21ad2eeb01
> +fixed in 63.2
> +--- ./common/unicode/urename.h
> ++++ ./common/unicode/urename.h.
> +@@ -110,7 +110,6 @@
> + #define _UTF7Data U_ICU_ENTRY_POINT_RENAME(_UTF7Data)
> + #define _UTF8Data U_ICU_ENTRY_POINT_RENAME(_UTF8Data)
> + #define allowedHourFormatsCleanup U_ICU_ENTRY_POINT_RENAME(allowedHourFormatsCleanup)
> +-#define checkImpl U_ICU_ENTRY_POINT_RENAME(checkImpl)
> + #define cmemory_cleanup U_ICU_ENTRY_POINT_RENAME(cmemory_cleanup)
> + #define dayPeriodRulesCleanup U_ICU_ENTRY_POINT_RENAME(dayPeriodRulesCleanup)
> + #define deleteAllowedHourFormats U_ICU_ENTRY_POINT_RENAME(deleteAllowedHourFormats)
> +--- ./i18n/uspoof.cpp
> ++++ ./i18n/uspoof.cpp.
> +@@ -547,7 +547,7 @@
> +     return uspoof_check2UnicodeString(sc, id, NULL, status);
> + }
> + 
> +-int32_t checkImpl(const SpoofImpl* This, const UnicodeString& id, CheckResult* checkResult, UErrorCode* status) {
> ++static int32_t checkImpl(const SpoofImpl* This, const UnicodeString& id, CheckResult* checkResult, UErrorCode* status) {
> +     U_ASSERT(This != NULL);
> +     U_ASSERT(checkResult != NULL);
> +     checkResult->clear();
> diff --git a/main/icu/APKBUILD b/main/icu/APKBUILD
> index 14b6b66a4c..9bc7bc65e3 100644
> --- a/main/icu/APKBUILD
> +++ b/main/icu/APKBUILD
> @@ -6,7 +6,7 @@ pkgver=63.1
>  # convert x.y.z to x_y_z
>  _ver=${pkgver//./_}
>  
> -pkgrel=0
> +pkgrel=1
>  pkgdesc="International Components for Unicode library"
>  url="http://www.icu-project.org/"
>  arch="all"
> @@ -17,6 +17,7 @@ depends_dev="$pkgname=$pkgver-r$pkgrel"
>  checkdepends="diffutils"
>  makedepends=
>  source="http://download.icu-project.org/files/icu4c/${pkgver}/${pkgname}4c-$_ver-src.tgz
> +	10-firefox-65.0.1-fix.patch
>  	"
>  
>  # secfixes:
> @@ -30,7 +31,6 @@ source="http://download.icu-project.org/files/icu4c/${pkgver}/${pkgname}4c-$_ver
>  builddir="$srcdir"/icu/source
>  
>  prepare() {
> -	cd "$builddir"
>  	default_prepare
>  	update_config_sub
>  
> @@ -49,7 +49,6 @@ prepare() {
>  }
>  
>  build() {
> -	cd "$builddir"
>  	./configure \
>  		--build=$CBUILD \
>  		--host=$CHOST \
> @@ -67,12 +66,10 @@ check() {
>  	case "$CARCH" in
>  		arm*|x86) return 0;;
>  	esac
> -	cd "$builddir"
>  	make check
>  }
>  
>  package() {
> -	cd "$builddir"
>  	make -j1 DESTDIR="$pkgdir" install
>  	chmod +x "$pkgdir"/usr/bin/icu-config
>  	install -Dm644 "$srcdir"/icu/license.html \
> @@ -90,4 +87,5 @@ libs() {
>  	replaces="icu"
>  }
>  
> -sha512sums="9ab407ed840a00cdda7470dcc4c40299a125ad246ae4d019c4b1ede54781157fd63af015a8228cd95dbc47e4d15a0932b2c657489046a19788e5e8266eac079c  icu4c-63_1-src.tgz"
> +sha512sums="9ab407ed840a00cdda7470dcc4c40299a125ad246ae4d019c4b1ede54781157fd63af015a8228cd95dbc47e4d15a0932b2c657489046a19788e5e8266eac079c  icu4c-63_1-src.tgz
> +76fc0b69ef5dd78d31ed88e6b2976b3ff8b7715f03a94faef79dc2210fe75b9db1de47f1ccc8a5f783760e41de7da3a32628abc9e1ec44edcca98207c91d952d  10-firefox-65.0.1-fix.patch"
> diff --git a/main/libvpx/10-find-diff.patch b/main/libvpx/10-find-diff.patch
> new file mode 100644
> index 0000000000..c0d9f9955b
> --- /dev/null
> +++ b/main/libvpx/10-find-diff.patch
> @@ -0,0 +1,11 @@
> +--- ./configure
> ++++ ./configure.
> +@@ -166,7 +166,7 @@
> +     [ -f "${source_path}/${t}.mk" ] && enable_feature ${t}
> + done
> + 
> +-if ! diff --version >/dev/null; then
> ++if ! which diff &> /dev/null; then
> +   die "diff missing: Try installing diffutils via your package manager."
> + fi
> + 
> diff --git a/main/libvpx/APKBUILD b/main/libvpx/APKBUILD
> index 767b2b21fa..a6a4a4a490 100644
> --- a/main/libvpx/APKBUILD
> +++ b/main/libvpx/APKBUILD
> @@ -1,7 +1,7 @@
>  # Maintainer: Natanael Copa <ncopa@alpinelinux.org>
>  pkgname=libvpx
> -pkgver=1.6.1
> -pkgrel=1
> +pkgver=1.7.0
> +pkgrel=0
>  pkgdesc="Library for the vp8 codec"
>  url="https://www.webmproject.org/"
>  arch="all"
> @@ -9,13 +9,12 @@ license="GPL"
>  depends=""
>  makedepends="coreutils yasm bash perl"
>  subpackages="$pkgname-dev $pkgname-utils"
> -source="https://storage.googleapis.com/downloads.webmproject.org/releases/webm/$pkgname-$pkgver.tar.bz2
> +source="$pkgname-$pkgver.tar.gz::https://chromium.googlesource.com/webm/$pkgname/+archive/v$pkgver.tar.gz
>  	fix-arm-float-abi.patch
> +	10-find-diff.patch
>  	"
> -
> -builddir="$srcdir"/$pkgname-$pkgver
> +builddir="$srcdir"
>  build() {
> -	cd "$builddir"
>  	# build fix for arm
>  	export CROSS=" "
>  	bash ./configure \
> @@ -31,7 +30,6 @@ build() {
>  }
>  
>  package() {
> -	cd "$builddir"
>  	make DIST_DIR="$pkgdir"/usr install
>  	chmod 644 "$pkgdir"/usr/include/vpx/*.h \
>  		"$pkgdir"/usr/lib/pkgconfig/*
> @@ -45,5 +43,6 @@ utils() {
>  	mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
>  }
>  
> -sha512sums="1a4b009fe1737715c6563a79848126a5859394a5074b1e9cca9bc2e213df90890c15e708040d5f2c96c7c21e268f51e1352ac6911514bf891a4bf3eea154159d  libvpx-1.6.1.tar.bz2
> -4eadbc2f4eb68eaff35cf85515aef271d6fd47293a53cba7b7a6e9e0fb71106dfb5ded45b9e9ba83264a91846e4a5fa4db42e39fc3eaff6ac37769e622f90f6c  fix-arm-float-abi.patch"
> +sha512sums="6e114a6e8470b05153a8c41b7f30adb37d8cf99dc1c3d016867e5578b4f69905d7a1fcd902b6855f3f6b3e63ae305eb3fadd53359f2c8f344f3d701c3d4882b5  libvpx-1.7.0.tar.gz
> +4eadbc2f4eb68eaff35cf85515aef271d6fd47293a53cba7b7a6e9e0fb71106dfb5ded45b9e9ba83264a91846e4a5fa4db42e39fc3eaff6ac37769e622f90f6c  fix-arm-float-abi.patch
> +c14015273a2f081ef722f752a7ac17204e7fd5c42fb7a4bb457afdff1fcd2cc276bd34ca80a6e318968e0fa2e6ba49ceee026dd1bd7ee1b2806dbde70fd0a7fb  10-find-diff.patch"
> diff --git a/testing/cbindgen/APKBUILD b/testing/cbindgen/APKBUILD
> new file mode 100644
> index 0000000000..6a58bcb45d
> --- /dev/null
> +++ b/testing/cbindgen/APKBUILD
> @@ -0,0 +1,26 @@
> +# Maintainer: Bradley Saulteaux <~@bradso.to>
> +pkgname=cbindgen
> +pkgver=0.8.0
> +pkgrel=0
> +pkgdesc="A tool for generating C bindings to Rust code"
> +url="https://github.com/eqrion/cbindgen"
> +# limited by rust and cargo
> +arch="x86_64"
> +license="MPL2"
> +depends=""
> +subpackages="$pkgname-doc"
> +makedepends="cargo"
> +install=""
> +source="$pkgname-$pkgver.tar.gz::https://github.com/eqrion/$pkgname/archive/v$pkgver.tar.gz"
> +builddir="${srcdir}/$pkgname-$pkgver"
> +build() {
> +	cargo build --release
> +}
> +check() {
> +	cargo test --release
> +}
> +package() {
> +	install -Dt "$pkgdir/usr/bin" target/release/cbindgen
> +	install -Dt "$pkgdir/usr/share/doc/$pkgname" -m644 README.md
> +}
> +sha512sums="634a61556b3ae20bb246d1c34c2869852af1e1003cbf0481a346191eb48f812d19755ae8e895628d53a3ab7792b977255bfb25a50a2dbb9baf18b4f3fc783b18  cbindgen-0.8.0.tar.gz"
> diff --git a/testing/firefox/10-debug-fixes.patch b/testing/firefox/10-debug-fixes.patch
> new file mode 100644
> index 0000000000..968091935e
> --- /dev/null
> +++ b/testing/firefox/10-debug-fixes.patch
> @@ -0,0 +1,25 @@
> +--- ./intl/locale/LocaleService.cpp
> ++++ ./intl/locale/LocaleService.cpp.
> +@@ -526,7 +526,6 @@
> +     GetGREFileContents("update.locale", &locale);
> +     locale.Trim(" \t\n\r");
> +     // This should never be empty.
> +-    MOZ_ASSERT(!locale.IsEmpty());
> +     if (SanitizeForBCP47(locale, true)) {
> +       mDefaultLocale.Assign(locale);
> +     }
> +--- ./browser/installer/package-manifest.in
> ++++ ./browser/installer/package-manifest.in.
> +@@ -499,12 +499,6 @@
> + ; svg
> + @RESPATH@/res/svg.css
> + 
> +-; [Layout Debugger]
> +-#ifdef MOZ_DEBUG
> +-@RESPATH@/chrome/layoutdebug@JAREXT@
> +-@RESPATH@/chrome/layoutdebug.manifest
> +-#endif
> +-
> + ; [Personal Security Manager]
> + ;
> + ; NSS libraries are signed in the staging directory,
> diff --git a/testing/firefox/APKBUILD b/testing/firefox/APKBUILD
> index b31c1997b7..30ca2dc8fc 100644
> --- a/testing/firefox/APKBUILD
> +++ b/testing/firefox/APKBUILD
> @@ -1,23 +1,26 @@
>  # Contributor: William Pitcock <nenolod@dereferenced.org>
>  # Maintainer: Natanael Copa <ncopa@alpinelinux.org>
>  pkgname=firefox
> -pkgver=62.0.3
> +pkgver=65.0.1
>  _pkgver=$pkgver
>  _xulver=$pkgver
> -pkgrel=2
> +pkgrel=0
>  pkgdesc="Firefox web browser"
>  url="https://www.firefox.com/"
>  # limited by rust and cargo
>  arch="x86_64"
>  license="GPL LGPL MPL"
>  depends=""
> +options="!check"
>  makedepends="
>  	alsa-lib-dev
>  	autoconf2.13
> +	autoconf
>  	automake
>  	bsd-compat-headers
>  	bzip2-dev
>  	cargo
> +	cbindgen
>  	clang-dev
>  	dbus-glib-dev
>  	ffmpeg-dev
> @@ -27,6 +30,7 @@ makedepends="
>  	hunspell-dev
>  	icu-dev
>  	libevent-dev
> +	libffi-dev
>  	libidl-dev
>  	libjpeg-turbo-dev
>  	libnotify-dev
> @@ -39,9 +43,11 @@ makedepends="
>  	libxcomposite-dev
>  	llvm5-dev
>  	mesa-dev
> +	nasm
>  	nspr-dev
>  	nss-dev
>  	nss-static
> +	nodejs
>  	paxmark
>  	python3-dev
>  	sqlite-dev
> @@ -64,7 +70,6 @@ source="https://ftp.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkg
>  	mallinfo.patch
>  
>  	fix-arm-atomics-grsec.patch
> -	fix-arm-version-detect.patch
>  	mozilla-build-arm.patch
>  	disable-moz-stackwalk.patch
>  	fix-rust-target.patch
> @@ -73,7 +78,9 @@ source="https://ftp.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkg
>  	fix-webrtc-glibcisms.patch
>  
>  	firefox.desktop
> -	firefox-safe.desktop"
> +	firefox-safe.desktop
> +	
> +	10-debug-fixes.patch"
>  
>  builddir="${srcdir}/firefox-$pkgver"
>  _mozappdir=/usr/lib/firefox
> @@ -83,71 +90,44 @@ ldpath="$_mozappdir"
>  
>  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
> +	autoreconf old-configure.in
> +	cd js/src; autoreconf old-configure.in
>  }
>  
>  build() {
> -	cd "$builddir"/objdir
> -
>  	export SHELL=/bin/sh
>  	export BUILD_OFFICIAL=1
>  	export MOZILLA_OFFICIAL=1
>  	export USE_SHORT_LIBNAME=1
>  	# 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}"
> -
> -	../configure \
> -		--prefix=/usr \
> -		\
> -		--disable-crashreporter \
> -		--disable-elf-hack \
> -		--disable-gold \
> -		--disable-install-strip \
> -		--disable-jemalloc \
> -		--disable-profiling \
> -		--disable-pulseaudio \
> -		--disable-strip \
> -		--disable-tests \
> -		--disable-updater \
> -		\
> -		--enable-alsa \
> -		--enable-default-toolkit=cairo-gtk3 \
> -		--enable-official-branding \
> -		--enable-optimize="$CFLAGS" \
> -		--enable-pie \
> -		--enable-startup-notification \
> -		--enable-system-ffi \
> -		--enable-system-sqlite \
> -		--enable-ffmpeg \
> -		\
> -		--with-system-bz2 \
> -		--with-system-icu \
> -		--with-system-jpeg \
> -		--with-system-libevent \
> -		--with-system-libvpx \
> -		--with-system-nspr \
> -		--with-system-nss \
> -		--with-system-pixman \
> -		--with-system-png \
> -		--with-system-zlib \
> -		--with-clang-path=/usr/bin/clang \
> -		--with-libclang-path=/usr/lib
> -	make
> -
> -	# paxmark outside fakeroot
> -	paxmark -msp dist/bin/xpcshell
> -
> +	ac_add_options() {
> +		echo "ac_add_options $1" >>"$builddir"/.mozconfig
> +	}
> +	mk_add_options() {
> +		echo "mk_add_options $1" >>"$builddir"/.mozconfig
> +	}
> +	ac_add_options "BINDGEN_CFLAGS='-I/usr/include/nspr -I/usr/include/pixman-1'"
> +	ac_add_options "--prefix=/usr --disable-jemalloc --disable-updater"
> +	ac_add_options "--disable-pulseaudio --enable-alsa --disable-elf-hack"
> +	ac_add_options "--enable-default-toolkit=cairo-gtk3 --enable-official-branding"
> +	ac_add_options "--enable-optimize=\"$CFLAGS\" --enable-startup-notification"
> +	ac_add_options "--enable-system-ffi --enable-system-pixman --enable-system-sqlite"
> +	ac_add_options "--enable-av1 --with-system-bz2 --with-system-icu"
> +	ac_add_options "--with-system-libevent --with-system-libvpx --with-system-nspr"
> +	ac_add_options "--with-system-nss --with-system-png  --with-system-zlib"
> +	ac_add_options "--with-clang-path=/usr/bin/clang --with-libclang-path=/usr/lib"
> +	ac_add_options "--disable-tests --disable-crashreporter"
> +	
> +	./mach configure; ./mach build
>  }
>  
>  package() {
> -	cd "$builddir"/objdir
> +	cd "$builddir"/obj-x86_64-pc-linux-gnu

Will this work on all architectures? I belive it will not.

>  
>  	# only used for startupcache creation.
>  	local paxflags="-msp"
> @@ -214,21 +194,21 @@ __EOF__
>  	rm -f "$pkgdir"/${_mozappdirdev}/sdk/lib/libxul.so
>  }
>  
> -sha512sums="487bb7791284367158c79cf7918fecf3d598627a6416e679aeb5d22626089aeffe07762fa2389819ba881c90ece1c5a83cf2d85b2def15b8d5ba0ed1c498b527  firefox-62.0.3.source.tar.xz
> +sha512sums="cc76a83f6430f501c2260c6b35b5e48f045f5b180daf03375e9ab114a9afd67dfc0146ddb81cd29be4617aadb66a332ed5ebc625cb500df9579e412ed4909599  firefox-65.0.1.source.tar.xz
>  0b3f1e4b9fdc868e4738b5c81fd6c6128ce8885b260affcb9a65ff9d164d7232626ce1291aaea70132b3e3124f5e13fef4d39326b8e7173e362a823722a85127  stab.h
>  2f4f15974d52de4bb273b62a332d13620945d284bbc6fe6bd0a1f58ff7388443bc1d3bf9c82cc31a8527aad92b0cd3a1bc41d0af5e1800e0dcbd7033e58ffd71  fix-fortify-system-wrappers.patch
>  09bc32cf9ee81b9cc6bb58ddbc66e6cc5c344badff8de3435cde5848e5a451e0172153231db85c2385ff05b5d9c20760cb18e4138dfc99060a9e960de2befbd5  fix-fortify-inline.patch
> -2f713a270f7d1588ec4a0b9c21e5a0d20823954e6a64293ee1a391f80d38af6c0a80b3d35c3ada59b605f6032fb2af3040cd8ca7f424b0e620cc53fd12674fd9  fix-seccomp-bpf.patch
> -a2925045154f4fd34e5fc056656f4f9da100341529e5d4104d249154db0c7863384083f421ce6e47e0f20566a8b20787fa35444c7933c03cd03f96f06dcd4532  fix-toolkit.patch
> -b46cb90d4fdd1a925a61e2c6c545489cd542f5d82980c529361c02042eed31d5c26972b5e237c1a020f87ffcfd12736d1f4f6e33eaa83ae156d523c808c718cb  fix-tools.patch
> +6764e7af43f5a066ac0faf4f8d0747c03739f4f14b51f58c524eb0519dfd28540bdd25569b201a8e20919d0096479cf0e7a8e306fb223aba4c0f177c4df55200  fix-seccomp-bpf.patch
> +e680a23490908e8be256a8dadee3952f29c4069558548c2b79252640471fa29c221abb0634fc9260a8c9ba755f50f417a77ef66ede87eca8e02d69f74f8b0075  fix-toolkit.patch
> +a9e44759a584d148360405bf75981a6cb8b3ea0c2a553c13da7c559dc0193b35b2dca32571044cdca7ebd6ecc8c475da126d48a0c6ed19316857e2e88d28b49f  fix-tools.patch
>  bdcd1b402d2ec94957ba5d08cbad7b1a7f59c251c311be9095208491a05abb05a956c79f27908e1f26b54a3679387b2f33a51e945b650671ad85c0a2d59a5a29  mallinfo.patch
> -ed0d344c66fc8e1cc83a11e9858b32c42e841cbeedd9eb9438811e9fcc3593dc824a8336d00058d55836cedc970aeadd6a82c6dcd7bc0fb746e564d8b478cc6c  fix-arm-atomics-grsec.patch
> -015e1ff6dbf920033982b5df95d869a0b7bf56c6964e45e50649ddf46d1ce09563458e45240c3ecb92808662b1300b67507f7af272ba184835d91068a9e7d5b0  fix-arm-version-detect.patch
> +9a07f214877c8e4f919311b35ceb8b8ea990fb5811c89d060c0dc5f87a864ac678649fa2c0f1c1459e949e5abb81a894996e2f82b0f94d44e21cc94273fc6d5b  fix-arm-atomics-grsec.patch
>  e61664bc93eadce5016a06a4d0684b34a05074f1815e88ef2613380d7b369c6fd305fb34f83b5eb18b9e3138273ea8ddcfdcb1084fdcaa922a1e5b30146a3b18  mozilla-build-arm.patch
> -4797d2d89ac63a57abb826b8ea9f751314ce66946194033deb9d78c2ff377b88106fd2c7bc5034dc13ad03dd5085b1893c3ccae1a9e63fde35655bb0921f7188  disable-moz-stackwalk.patch
> +61b3c2ab34f43ada0b8c1c9c26fc70f82719b7f344a503325a350749fd6921255134d414c1eba3919e5c3bc133f7e0a164400d3c8af5ec6298afb8c7a146a4da  disable-moz-stackwalk.patch
>  42cc44fda4b05259b38f055d6f51461746aa89a474cedc5e92fb9d20879da0d12b1b515b273a549e7302cda9c7eddde20d5fdba09853e5c658784ad6d0b20078  fix-rust-target.patch
>  a50b412edf9573a0bd04a43578b1c927967a616b73a5995eefb15bfa78fd2bd14e36ec05315a0703f6370ecd524e6bcb012e7285beb1245e9add9b8553acb79e  fix-bug-1261392.patch
> -01b48a708cc6bc6e3cd7cc7b16f5137ec344566ac891d699b65e322bc992726072fa14a54cef1a7775799fcbbcf90a6c170107c8524caba3bc311b42d93b7581  rust-unitialized-field.patch
> -75b97d59e81e5f1debe6a459b535da704d5a2ac4a57c446d16058fd18db81e22317fcc3ec11b89f569f4de87e8e80ced027c0e72e7f1dd16f6fd0feb6b263919  fix-webrtc-glibcisms.patch
> +7bc98f6370e2ca170b7bbfbddd8bd684df6c11530f38152f37031809f2b6b0bffde70a998939d97ed460d807fa7decc94b85a1bb6bf6464a63733e0f9d0f7ac6  rust-unitialized-field.patch
> +44c95a862b04747658b666ab6e2efb77e57e63e78b1a81e489410bec4ef4c81956548131b922a50f9c069a3340c2b6f60a055cebf3f889f4d7d8a6e94eead11f  fix-webrtc-glibcisms.patch
>  f3b7c3e804ce04731012a46cb9e9a6b0769e3772aef9c0a4a8c7520b030fdf6cd703d5e9ff49275f14b7d738fe82a0a4fde3bc3219dff7225d5db0e274987454  firefox.desktop
> -5dcb6288d0444a8a471d669bbaf61cdb1433663eff38b72ee5e980843f5fc07d0d60c91627a2c1159215d0ad77ae3f115dcc5fdfe87e64ca704b641aceaa44ed  firefox-safe.desktop"
> +5dcb6288d0444a8a471d669bbaf61cdb1433663eff38b72ee5e980843f5fc07d0d60c91627a2c1159215d0ad77ae3f115dcc5fdfe87e64ca704b641aceaa44ed  firefox-safe.desktop
> +8ade2c0c767b5097f25b06bf5f5543141131e302390ea86a89becec598f039a72cbda6722bedfd773ff946b592a2f92a5c442d024de47d220c41dcb2af80219f  10-debug-fixes.patch"
> diff --git a/testing/firefox/disable-moz-stackwalk.patch b/testing/firefox/disable-moz-stackwalk.patch
> index c83ae7eae9..8f4924bac1 100644
> --- a/testing/firefox/disable-moz-stackwalk.patch
> +++ b/testing/firefox/disable-moz-stackwalk.patch
> @@ -1,12 +1,10 @@
> -diff --git a/mozglue/misc/StackWalk.cpp b/mozglue/misc/StackWalk.cpp
> -index a208bad..14e1f0d 100644
> ---- a/mozglue/misc/StackWalk.cpp
> -+++ b/mozglue/misc/StackWalk.cpp
> -@@ -41,13 +41,7 @@ static CriticalAddress gCriticalAddress;
> +--- /mozglue/misc/StackWalk.cpp
> ++++ /mozglue/misc/StackWalk.cpp.
> +@@ -32,13 +32,7 @@
>   #define MOZ_STACKWALK_SUPPORTS_MACOSX 0
>   #endif
>   
> --#if (defined(linux) && \
> +-#if (defined(linux) &&                                            \
>  -     ((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \
>  -      defined(HAVE__UNWIND_BACKTRACE)))
>  -#define MOZ_STACKWALK_SUPPORTS_LINUX 1
> diff --git a/testing/firefox/fix-arm-atomics-grsec.patch b/testing/firefox/fix-arm-atomics-grsec.patch
> index 0eb58f093f..c7e12ca0f0 100644
> --- a/testing/firefox/fix-arm-atomics-grsec.patch
> +++ b/testing/firefox/fix-arm-atomics-grsec.patch
> @@ -1,8 +1,8 @@
> ---- mozilla-release/ipc/chromium/src/base/atomicops_internals_arm_gcc.h.orig
> -+++ mozilla-release/ipc/chromium/src/base/atomicops_internals_arm_gcc.h
> -@@ -12,43 +35,194 @@
> - namespace base {
> - namespace subtle {
> +--- ./toolkit/components/protobuf/src/google/protobuf/stubs/atomicops_internals_arm_gcc.h
> ++++ ./toolkit/components/protobuf/src/google/protobuf/stubs/atomicops_internals_arm_gcc.h.
> +@@ -39,43 +39,194 @@
> + namespace protobuf {
> + namespace internal {
>   
>  -// 0xffff0fc0 is the hard coded address of a function provided by
>  -// the kernel which implements an atomic compare-exchange. On older
> @@ -217,7 +217,7 @@
>     return old_value;
>   }
>   
> -@@ -63,36 +237,57 @@
> +@@ -90,8 +241,7 @@
>       // Atomic exchange the old value with an incremented one.
>       Atomic32 old_value = *ptr;
>       Atomic32 new_value = old_value + increment;
> @@ -227,23 +227,19 @@
>         // The exchange took place as expected.
>         return new_value;
>       }
> -     // Otherwise, *ptr changed mid-loop and we need to retry.
> -   }
> --
> - }
> - 
> +@@ -102,23 +252,45 @@
>   inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr,
>                                          Atomic32 old_value,
>                                          Atomic32 new_value) {
>  -  return NoBarrier_CompareAndSwap(ptr, old_value, new_value);
> -+  Atomic32 prev_value;
> -+  for (;;) {
> -+    prev_value = *ptr;
> ++Atomic32 prev_value;                                     
> ++  for (;;) {                  
> ++    prev_value = *ptr;                                               
>  +    if (prev_value != old_value) {
> -+      // Always ensure acquire semantics.
> ++      // Always ensure acquire semantics.                          
>  +      MemoryBarrier();
> -+      return prev_value;
> -+    }
> ++      return prev_value;     
> ++    }                         
>  +    if (!LinuxKernelCmpxchg(old_value, new_value, ptr))
>  +      return old_value;
>  +  }
> @@ -253,38 +249,37 @@
>                                          Atomic32 old_value,
>                                          Atomic32 new_value) {
>  -  return NoBarrier_CompareAndSwap(ptr, old_value, new_value);
> -+  // This could be implemented as:
> -+  //    MemoryBarrier();
> -+  //    return NoBarrier_CompareAndSwap();
> -+  //
> ++  // This could be implemented as:                            
> ++  //    MemoryBarrier();                                             
> ++  //    return NoBarrier_CompareAndSwap();                    
> ++  //                                                               
>  +  // But would use 3 barriers per succesful CAS. To save performance,
>  +  // use Acquire_CompareAndSwap(). Its implementation guarantees that:
> -+  // - A succesful swap uses only 2 barriers (in the kernel helper).
> -+  // - An early return due to (prev_value != old_value) performs
> -+  //   a memory barrier with no store, which is equivalent to the
> -+  //   generic implementation above.
> ++  // - A succesful swap uses only 2 barriers (in the kernel helper).  
> ++  // - An early return due to (prev_value != old_value) performs      
> ++  //   a memory barrier with no store, which is equivalent to the     
> ++  //   generic implementation above.                                  
>  +  return Acquire_CompareAndSwap(ptr, old_value, new_value);
>   }
> - 
> -+#else
> -+#  error "Your CPU's ARM architecture is not supported yet"
> -+#endif
> -+
> -+// NOTE: Atomicity of the following load and store operations is only
> ++#else                                                                 
> ++#  error "Your CPU's ARM architecture is not supported yet"           
> ++#endif                                                                
> ++                                                                      
> ++// NOTE: Atomicity of the following load and store operations is only 
>  +// guaranteed in case of 32-bit alignement of |ptr| values.
> -+
> + 
>   inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) {
>     *ptr = value;
>   }
>   
> --inline void MemoryBarrier() {
> +-inline void MemoryBarrierInternal() {
>  -  pLinuxKernelMemoryBarrier();
>  -}
>  -
>   inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) {
>     *ptr = value;
> -   MemoryBarrier();
> -@@ -103,9 +298,7 @@
> +   MemoryBarrierInternal();
> +@@ -129,9 +301,7 @@
>     *ptr = value;
>   }
>   
> @@ -295,12 +290,3 @@
>   
>   inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) {
>     Atomic32 value = *ptr;
> -@@ -118,7 +311,6 @@
> -   return *ptr;
> - }
> - 
> --} // namespace base::subtle
> --} // namespace base
> -+} }  // namespace base::subtle
> - 
> - #endif  // BASE_ATOMICOPS_INTERNALS_ARM_GCC_H_
> diff --git a/testing/firefox/fix-seccomp-bpf.patch b/testing/firefox/fix-seccomp-bpf.patch
> index ee6d666400..7f9fbae3a7 100644
> --- a/testing/firefox/fix-seccomp-bpf.patch
> +++ b/testing/firefox/fix-seccomp-bpf.patch
> @@ -1,6 +1,5 @@
> -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
> +--- ./security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc	2018-12-14 08:53:46.083976137 +0000
> ++++ ./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"
> @@ -13,14 +12,13 @@ diff -ru firefox-62.0.3.orig/security/sandbox/chromium/sandbox/linux/seccomp-bpf
>   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
> -@@ -1005,6 +1005,7 @@
> -         // 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())
> +--- ./security/sandbox/linux/SandboxFilter.cpp	2018-10-01 18:35:28.000000000 +0000
> ++++ ./security/sandbox/linux/SandboxFilter.cpp	2018-12-14 08:57:50.645264590 +0000
> +@@ -997,6 +997,7 @@
> +             // 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())
> diff --git a/testing/firefox/fix-toolkit.patch b/testing/firefox/fix-toolkit.patch
> index 58fe5a3a9a..c79b9a15d4 100644
> --- a/testing/firefox/fix-toolkit.patch
> +++ b/testing/firefox/fix-toolkit.patch
> @@ -55,21 +55,6 @@ index 93fdad7..f34e5e0 100644
>   /* 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 026e7ed..0801f14 100644
> ---- a/toolkit/mozapps/update/common/updatedefines.h
> -+++ b/toolkit/mozapps/update/common/updatedefines.h
> -@@ -117,7 +117,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)
> @@ -88,3 +73,14 @@ index 257ccb4..01314e4 100644
>   
>     return rv;
>   }
> +--- ./toolkit/mozapps/update/common/updatedefines.h
> ++++ ./toolkit/mozapps/update/common/updatedefines.h.
> +@@ -102,7 +102,7 @@
> + 
> + #ifdef SOLARIS
> + #include <sys/stat.h>
> +-#else
> ++#elif !defined(__linux__) || defined(__GLIBC__)
> + #include <fts.h>
> + #endif
> + #include <dirent.h>
> diff --git a/testing/firefox/fix-tools.patch b/testing/firefox/fix-tools.patch
> index 84f7fa9cb8..ed2c7f2bca 100644
> --- a/testing/firefox/fix-tools.patch
> +++ b/testing/firefox/fix-tools.patch
> @@ -11,12 +11,12 @@
>   #include "MainThreadUtils.h"
>  --- a/tools/profiler/lul/LulElf.cpp
>  +++ b/tools/profiler/lul/LulElf.cpp
> -@@ -579,10 +579,10 @@
> +@@ -469,10 +469,10 @@
>   // 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) {
> + string BaseFileName(const string& filename) {
>  -  // Lots of copies!  basename's behavior is less than ideal.
> --  char *c_filename = strdup(filename.c_str());
> +-  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
> @@ -25,13 +25,13 @@
>  +  string base = p ? p+1 : c_filename;
>     return base;
>   }
> -
> + 
>  --- a/tools/profiler/core/platform-linux-android.cpp.orig
>  +++ b/tools/profiler/core/platform-linux-android.cpp
> -@@ -534,9 +534,11 @@
> - void
> - Registers::SyncPopulate()
> - {
> +@@ -497,8 +497,10 @@
> + ucontext_t sSyncUContext;
> + 
> + void Registers::SyncPopulate() {
>  +#if defined(__GLIBC__)
>     if (!getcontext(&sSyncUContext)) {
>       PopulateRegsFromContext(*this, &sSyncUContext);
> @@ -39,4 +39,4 @@
>  +#endif
>   }
>   #endif
> - 
> +
> diff --git a/testing/firefox/fix-webrtc-glibcisms.patch b/testing/firefox/fix-webrtc-glibcisms.patch
> index dc9206b50e..95b3a55eeb 100644
> --- a/testing/firefox/fix-webrtc-glibcisms.patch
> +++ b/testing/firefox/fix-webrtc-glibcisms.patch
> @@ -1,13 +1,13 @@
> ---- ./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
> -@@ -11,7 +11,9 @@
> - #include <stdlib.h>
> - #include <string.h>
> - #include <features.h>
> +--- ./media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c
> ++++ ./media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c.
> +@@ -14,7 +14,9 @@
> + #ifndef __GLIBC_PREREQ
> + #define __GLIBC_PREREQ(a, b) 0
> + #endif
>  -#if __GLIBC_PREREQ(2, 16)
> -+#if !defined(__GLIBC__)
> -+#include <sys/auxv.h>
> -+#elif __GLIBC_PREREQ(2, 16)
> ++#if !defined(__GLIBC__)                                                                                                                                       
> ++#include <sys/auxv.h>                                                                                                                                         
> ++#elif __GLIBC_PREREQ(2, 16) 
>   #include <sys/auxv.h>
>   #else
>   #include <fcntl.h>
> diff --git a/testing/firefox/rust-unitialized-field.patch b/testing/firefox/rust-unitialized-field.patch
> index 67ef3a02ab..3ef7f055ca 100644
> --- a/testing/firefox/rust-unitialized-field.patch
> +++ b/testing/firefox/rust-unitialized-field.patch
> @@ -1,11 +1,14 @@
> ---- ./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 {
> +--- ./media/audioipc/audioipc/src/cmsg.rs
> ++++ ./media/audioipc/audioipc/src/cmsg.rs.
> +@@ -105,14 +105,12 @@
> +             if cmsg.remaining_mut() < cmsg_len {
>                   return Err(Error::NoSpace);
>               }
> - 
> +
>  -            let cmsghdr = cmsghdr {
>  -                cmsg_len: cmsg_len as _,
> +-                #[cfg(target_env = "musl")]
> +-                __pad1: 0,
>  -                cmsg_level: level,
>  -                cmsg_type: kind,
>  -            };



---
Unsubscribe:  alpine-aports+unsubscribe@lists.alpinelinux.org
Help:         alpine-aports+help@lists.alpinelinux.org
---