Merge pull request #77292 from andir/19.09-firefox72

[19.09] firefox: 71.0 -> 72.0
This commit is contained in:
Andreas Rammhold
2020-01-08 20:24:39 +01:00
committed by GitHub
10 changed files with 1195 additions and 1283 deletions

View File

@@ -14,9 +14,9 @@
, rust-cbindgen, nodejs, nasm, fetchpatch
# backports of newer libraries for stable firefox >= 70
, nss_3_47_1
, sqlite_3_30
, nspr_4_23
, nss_3_48
, sqlite_3_30_1
, nspr_4_24
, debugBuild ? false
@@ -116,16 +116,20 @@ let
url = "https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/09c7fa0dc1d87922e3b464c0fa084df1227fca79/extra/firefox/build-arm-libopus.patch";
sha256 = "1zg56v3lc346fkzcjjx21vjip2s9hb2xw4pvza1dsfdnhsnzppfp";
})
] ++ lib.optional (lib.versionAtLeast ffversion "71") ./fix-ff71-lto.patch
]
++ lib.optional (lib.versionAtLeast ffversion "71") (fetchpatch {
url = "https://phabricator.services.mozilla.com/D56873?download=true";
sha256 = "183949phd2n27nhiq85a04j4fjn0jxmldic6wcjrczsd8g2rrr5k";
})
++ patches;
nss_pkg = if lib.versionAtLeast ffversion "71" then nss_3_47_1 else nss;
nspr_pkg = if lib.versionAtLeast ffversion "71" then nspr_4_23 else nspr;
sqlite_pkg = if lib.versionAtLeast ffversion "70" then sqlite_3_30 else sqlite;
nss_pkg = if lib.versionAtLeast ffversion "71" then nss_3_48 else nss;
nspr_pkg = if lib.versionAtLeast ffversion "71" then nspr_4_24 else nspr;
sqlite_pkg = if lib.versionAtLeast ffversion "70" then sqlite_3_30_1 else sqlite;
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (rec {
name = "${pname}-unwrapped-${version}";
version = browserVersion;
@@ -166,6 +170,7 @@ stdenv.mkDerivation rec {
AVFoundation MediaToolbox CoreLocation
Foundation libobjc AddressBook cups ];
NIX_CFLAGS_COMPILE = [
"-I${glib.dev}/include/gio-unix-2.0"
]
@@ -370,4 +375,11 @@ stdenv.mkDerivation rec {
inherit browserName;
} // lib.optionalAttrs gtk3Support { inherit gtk3; };
}
} //
# the build system verifies checksums of the bundled rust sources
# ./third_party/rust is be patched by our libtool fixup code in stdenv
# unfortunately we can't just set this to `false` when we do not want it.
# See https://github.com/NixOS/nixpkgs/issues/77289 for more details
lib.optionalAttrs (lib.versionAtLeast ffversion "72") {
dontFixLibtool = true;
})

View File

@@ -1,100 +0,0 @@
Original Patch: https://bugzilla.mozilla.org/show_bug.cgi?id=1601707#c6
Also fixes the issues with dom localstorage.
--- a/dom/indexedDB/ActorsParent.cpp
+++ b/dom/indexedDB/ActorsParent.cpp
@@ -24311,11 +24311,11 @@ nsresult ObjectStoreAddOrPutRequestOp::DoDatabaseWork(
// if we allow overwrite or not. By not allowing overwrite we raise
// detectable errors rather than corrupting data.
DatabaseConnection::CachedStatement stmt;
- const auto& optReplaceDirective = (!mOverwrite || keyUnset)
- ? NS_LITERAL_CSTRING("")
- : NS_LITERAL_CSTRING("OR REPLACE ");
rv = aConnection->GetCachedStatement(
- NS_LITERAL_CSTRING("INSERT ") + optReplaceDirective +
+ NS_LITERAL_CSTRING("INSERT ") +
+ ((!mOverwrite || keyUnset)
+ ? NS_LITERAL_CSTRING("")
+ : NS_LITERAL_CSTRING("OR REPLACE ")) +
NS_LITERAL_CSTRING("INTO object_data "
"(object_store_id, key, file_ids, data) "
"VALUES (:") +
@@ -26076,9 +26076,6 @@ nsresult Cursor::OpenOp::DoIndexDatabaseWork(DatabaseConnection* aConnection) {
const bool usingKeyRange = mOptionalKeyRange.isSome();
- const auto& indexTable = mCursor->mUniqueIndex
- ? NS_LITERAL_CSTRING("unique_index_data")
- : NS_LITERAL_CSTRING("index_data");
NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column");
@@ -26099,7 +26096,9 @@ nsresult Cursor::OpenOp::DoIndexDatabaseWork(DatabaseConnection* aConnection) {
"object_data.file_ids, "
"object_data.data "
"FROM ") +
- indexTable +
+ (mCursor->mUniqueIndex
+ ? NS_LITERAL_CSTRING("unique_index_data")
+ : NS_LITERAL_CSTRING("index_data")) +
NS_LITERAL_CSTRING(
" AS index_table "
"JOIN object_data "
@@ -26198,9 +26197,6 @@ nsresult Cursor::OpenOp::DoIndexKeyDatabaseWork(
const bool usingKeyRange = mOptionalKeyRange.isSome();
- const auto& table = mCursor->mUniqueIndex
- ? NS_LITERAL_CSTRING("unique_index_data")
- : NS_LITERAL_CSTRING("index_data");
NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column");
@@ -26218,7 +26214,10 @@ nsresult Cursor::OpenOp::DoIndexKeyDatabaseWork(
NS_LITERAL_CSTRING(
"object_data_key "
" FROM ") +
- table + NS_LITERAL_CSTRING(" WHERE index_id = :") +
+ (mCursor->mUniqueIndex
+ ? NS_LITERAL_CSTRING("unique_index_data")
+ : NS_LITERAL_CSTRING("index_data")) +
+ NS_LITERAL_CSTRING(" WHERE index_id = :") +
kStmtParamNameId;
const auto keyRangeClause =
diff --git a/dom/localstorage/ActorsParent.cpp b/dom/localstorage/ActorsParent.cpp
index 9c46c20670..642cef1701 100644
--- a/dom/localstorage/ActorsParent.cpp
+++ b/dom/localstorage/ActorsParent.cpp
@@ -6959,13 +6959,10 @@ nsresult PrepareDatastoreOp::Start() {
MOZ_ASSERT(!QuotaClient::IsShuttingDownOnBackgroundThread());
MOZ_ASSERT(MayProceed());
- const LSRequestCommonParams& commonParams =
- mForPreload
- ? mParams.get_LSRequestPreloadDatastoreParams().commonParams()
- : mParams.get_LSRequestPrepareDatastoreParams().commonParams();
-
const PrincipalInfo& storagePrincipalInfo =
- commonParams.storagePrincipalInfo();
+ mForPreload
+ ? mParams.get_LSRequestPreloadDatastoreParams().commonParams().storagePrincipalInfo()
+ : mParams.get_LSRequestPrepareDatastoreParams().commonParams().storagePrincipalInfo();
if (storagePrincipalInfo.type() == PrincipalInfo::TSystemPrincipalInfo) {
QuotaManager::GetInfoForChrome(&mSuffix, &mGroup, &mOrigin);
@@ -6996,10 +6993,9 @@ nsresult PrepareDatastoreOp::CheckExistingOperations() {
return NS_ERROR_FAILURE;
}
- const LSRequestCommonParams& commonParams =
- mForPreload
- ? mParams.get_LSRequestPreloadDatastoreParams().commonParams()
- : mParams.get_LSRequestPrepareDatastoreParams().commonParams();
+ const LSRequestCommonParams& preloadCommonParams = mParams.get_LSRequestPreloadDatastoreParams().commonParams();
+ const LSRequestCommonParams& prepareCommonParams = mParams.get_LSRequestPrepareDatastoreParams().commonParams();
+ const LSRequestCommonParams& commonParams = mForPreload ? preloadCommonParams : prepareCommonParams;
const PrincipalInfo& storagePrincipalInfo =
commonParams.storagePrincipalInfo();

View File

@@ -16,10 +16,10 @@ in
rec {
firefox = common rec {
pname = "firefox";
ffversion = "71.0";
ffversion = "72.0";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
sha512 = "0hfjlhwdhfdfzd27d6p3h8ff5m2jphlaipv4zym48bn6g95if1x98q2lb87617bxfm31di4rckjvqb70g9sm3smil6p6bnw2dsvnq1g";
sha512 = "3ri375myxn040avylz3xdvbgyb0ixn0q1sszrsc4b9jp620j1732qixylw0lyfym5a0vkhpmihbp5kdjrmc4r26myjar5c9zjzisnd0";
};
patches = [
@@ -98,10 +98,10 @@ rec {
firefox-esr-68 = common rec {
pname = "firefox-esr";
ffversion = "68.3.0esr";
ffversion = "68.4.0esr";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
sha512 = "31zisy4l07hhm9yvxz7sx04kz1f5rl20z1w072jxaabi42sw07xr6lcflv88gwl21y902n7vwd1q1zfavpnipn65wap4i0vm8c4m6pr";
sha512 = "29h0fm929jrk9nbb40bajf6a6s4x9w8zc2qw1hrg5jki1pabx30wdgn372pb51ak371a0q59k8p1vab6j31q7par6xvpwh7aiydfq04";
};
patches = [

View File

@@ -2,7 +2,7 @@
, CoreServices ? null
, buildPackages }:
let version = "4.23"; in
let version = "4.24"; in
stdenv.mkDerivation {
pname = "nspr";
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "mirror://mozilla/nspr/releases/v${version}/src/nspr-${version}.tar.gz";
sha256 = "193p6i2r6wvpb4i04a9pxbqkxcn8rbcmwl81m4yp5xgs6w8857ab";
sha256 = "1l0ksiny032jijgk0g76wf0kiq673i01izj7jrs2h5d1yq6rm9ch";
};
patches = [

View File

@@ -1,11 +1,11 @@
{ stdenv, fetchurl, nspr, perl, zlib, sqlite, fixDarwinDylibNames, buildPackages }:
{ stdenv, fetchurl, nspr_4_24, perl, zlib, sqlite, fixDarwinDylibNames, buildPackages }:
let
nssPEM = fetchurl {
url = http://dev.gentoo.org/~polynomial-c/mozilla/nss-3.15.4-pem-support-20140109.patch.xz;
sha256 = "10ibz6y0hknac15zr6dw4gv9nb5r5z9ym6gq18j3xqx7v7n3vpdw";
};
version = "3.47.1";
version = "3.48";
underscoreVersion = builtins.replaceStrings ["."] ["_"] version;
in stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ in stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://mozilla/security/nss/releases/NSS_${underscoreVersion}_RTM/src/${pname}-${version}.tar.gz";
sha256 = "1yx68a1ks63s8914zmiz9h1nh0261aqzcblgg1cb4ig33p5x3qqs";
sha256 = "1b7qs1q7jqhw9dvkdznanzhc5dyq4bwx0biywszy3qx4hqm8571z";
};
depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -24,7 +24,7 @@ in stdenv.mkDerivation rec {
buildInputs = [ zlib sqlite ]
++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
propagatedBuildInputs = [ nspr ];
propagatedBuildInputs = [ nspr_4_24 ];
prePatch = ''
# strip the trailing whitespace from the patch line…
@@ -51,8 +51,8 @@ in stdenv.mkDerivation rec {
makeFlags = let
cpu = stdenv.hostPlatform.parsed.cpu.name;
in [
"NSPR_INCLUDE_DIR=${nspr.dev}/include"
"NSPR_LIB_DIR=${nspr.out}/lib"
"NSPR_INCLUDE_DIR=${nspr_4_24.dev}/include"
"NSPR_LIB_DIR=${nspr_4_24.out}/lib"
"NSDISTMODE=copy"
"BUILD_OPT=1"
"SOURCE_PREFIX=\$(out)"
@@ -117,10 +117,10 @@ in stdenv.mkDerivation rec {
(if stdenv.isDarwin
then ''
libfile="$out/lib/lib$libname.dylib"
DYLD_LIBRARY_PATH=$out/lib:${nspr.out}/lib \
DYLD_LIBRARY_PATH=$out/lib:${nspr_4_24.out}/lib \
'' else ''
libfile="$out/lib/lib$libname.so"
LD_LIBRARY_PATH=$out/lib:${nspr.out}/lib \
LD_LIBRARY_PATH=$out/lib:${nspr_4_24.out}/lib \
'') + ''
${nss}/bin/shlibsign -v -i "$libfile"
done

View File

@@ -10,12 +10,12 @@ in
stdenv.mkDerivation rec {
pname = "sqlite";
version = "3.30.0";
version = "3.30.1";
# NB! Make sure to update analyzer.nix src (in the same directory).
src = fetchurl {
url = "https://sqlite.org/2019/sqlite-autoconf-${archiveVersion version}.tar.gz";
sha256 = "0n7w839y55dc3qqf2zv8xk6238cc6mpx24q4w5amwic7g96cza70";
sha256 = "0q4f57a5995wz9c7dfiqy9zwl0kn0b900nxwinqa3llv13dm0nlc";
};
outputs = [ "bin" "dev" "out" ];

View File

@@ -12809,14 +12809,14 @@ in
};
# newer nspr version for newer firefox stable releases
nspr_4_23 = callPackage ../development/libraries/nspr/nspr_4_23.nix {
nspr_4_24 = callPackage ../development/libraries/nspr/nspr_4_24.nix {
inherit (darwin.apple_sdk.frameworks) CoreServices;
};
nss = lowPrio (callPackage ../development/libraries/nss { });
# newer NSS version for newer firefox stable releases
nss_3_47_1 = callPackage ../development/libraries/nss/3_47_1.nix { };
nss_3_48 = callPackage ../development/libraries/nss/3_48.nix { };
nssTools = nss.tools;
@@ -13690,7 +13690,7 @@ in
stxxl = callPackage ../development/libraries/stxxl { parallel = true; };
sqlite = lowPrio (callPackage ../development/libraries/sqlite { });
sqlite_3_30 = callPackage ../development/libraries/sqlite/3-30.nix { };
sqlite_3_30_1 = callPackage ../development/libraries/sqlite/3-30-1.nix { };
sqlite-analyzer = lowPrio (callPackage ../development/libraries/sqlite/analyzer.nix { });