mirror of
https://github.com/void-linux/void-packages.git
synced 2025-04-15 13:46:58 +02:00
icecat: update to 68.6.1
One has to roll hew own tarball with the IceCat 68 branch. There are no official release tarballs anymore as it seems. https://git.savannah.gnu.org/cgit/gnuzilla.git/log/?h=68 The result of me running ./makeicecat is available on my https://distfiles.voidlinux.de site. It should perhaps be moved to voidlinux.org distfiles.
This commit is contained in:
parent
79b55d0f56
commit
7cec629479
28 changed files with 348 additions and 698 deletions
|
@ -1,7 +1,6 @@
|
|||
ac_add_options --prefix=/usr
|
||||
ac_add_options --libdir=/usr/lib
|
||||
|
||||
ac_add_options --with-pthreads
|
||||
ac_add_options --with-system-nspr
|
||||
ac_add_options --with-system-nss
|
||||
ac_add_options --with-system-bz2
|
||||
|
@ -13,7 +12,6 @@ ac_add_options --with-system-icu
|
|||
# XXX: the system's libpng doesn't have APNG support
|
||||
ac_add_options --without-system-png
|
||||
ac_add_options --enable-system-pixman
|
||||
ac_add_options --enable-system-hunspell
|
||||
ac_add_options --enable-system-sqlite
|
||||
ac_add_options --enable-system-ffi
|
||||
|
||||
|
@ -36,7 +34,6 @@ ac_add_options --disable-install-strip
|
|||
ac_add_options --disable-strip
|
||||
ac_add_options --disable-profiling
|
||||
ac_add_options --enable-optimize="$CFLAGS"
|
||||
ac_add_options --enable-pie
|
||||
|
||||
ac_add_options --enable-official-branding
|
||||
ac_add_options --enable-application=browser
|
||||
|
|
15
srcpkgs/icecat/patches/disable-image-format-warning.patch
Normal file
15
srcpkgs/icecat/patches/disable-image-format-warning.patch
Normal file
|
@ -0,0 +1,15 @@
|
|||
Imported from Adélie. Firefox is prone to this warning on BE and
|
||||
it leads to huge .xsession-errors, and the warning is not very
|
||||
important or meaningful, so just disable it.
|
||||
|
||||
--- gfx/2d/HelpersCairo.h
|
||||
+++ gfx/2d/HelpersCairo.h
|
||||
@@ -147,7 +147,7 @@
|
||||
case SurfaceFormat::R5G6B5_UINT16:
|
||||
return CAIRO_FORMAT_RGB16_565;
|
||||
default:
|
||||
- gfxCriticalError() << "Unknown image format " << (int)format;
|
||||
+ //gfxCriticalError() << "Unknown image format " << (int)format;
|
||||
return CAIRO_FORMAT_ARGB32;
|
||||
}
|
||||
}
|
|
@ -1,171 +0,0 @@
|
|||
Source: q66, adapted from Gentoo patch for 68
|
||||
|
||||
Based on https://github.com/rust-lang/rust/issues/64710
|
||||
|
||||
--- third_party/rust/bindgen/.cargo-checksum.json
|
||||
+++ third_party/rust/bindgen/.cargo-checksum.json
|
||||
@@ -1 +1 @@
|
||||
-{"files":{"Cargo.toml":"3080fa2631c58e35cb1b32642139d8c303a609f8b554bfe69cd659a5374f18b9","LICENSE":"1d2e4bdb9d94ab020e9550136cae9ec73fc699c3c96a9d98078c542e9b93d294","README.md":"630d1a1d123c131bad0fec23173e263ba8ecc064b5cd8446d4cab7ffd197db45","build.rs":"032a1c51963894a421b0535f9227796d88768ac5f665a81d2edced69dc6d106a","src/callbacks.rs":"9d41b7848cea37e8741fa7bc947ba58a83647824b1a0bbe7ff75012c412eab13","src/clang.rs":"5ce27d0772e66f9f2f94a55afd18c98d4a57aed4c1d57da53b025fbbbb81a287","src/codegen/bitfield_unit.rs":"88b0604322dc449fc9284850eadc1f5d14b42fa747d4258bae0b6b9535f52dfd","src/codegen/bitfield_unit_tests.rs":"2073ac6a36e0bc9afaef5b1207966817c8fb7a1a9f6368c3b1b8f79822efbfba","src/codegen/error.rs":"2613af1d833377fd4a70719f4a09951d9d45dc9227827b9a2a938a1bcaaea2dd","src/codegen/helpers.rs":"8badd4b5ba38b83477c3ee3fc6f9ca79059b5650f5b489b2723c335037e27d92","src/codegen/impl_debug.rs":"e2ffd5b6ed936698aa4b9e7e3459d353383792707ad51f829a18a822f69cab0e","src/codegen/impl_partialeq.rs":"d69e2a9cdf2fdea74a60532109c0a1a75791f5a5ef931b28c5d447fa2915e5d3","src/codegen/mod.rs":"c923594d8d27dede9192dd1081acdedf97d67430f780e3dc4db39b8928a55d71","src/codegen/struct_layout.rs":"9bd0e3455e55e2a1faa4f332a327c2529a21bdfdd0fcb3a45bc5cdd7801d288f","src/extra_assertions.rs":"449549c4a7a50c3f0b06332452b2fb6c9b23f31ca8e5e1656fe6c7f21e8ef7fa","src/features.rs":"a437e6f736c8fba81ff74d90e7ddd142192ae5ffb9240d8c885eb84be6f2fe45","src/ir/analysis/derive_copy.rs":"59c21e299af3a36c6c82d4d16454700238269abd5929ec2d67c8414aebf82c3b","src/ir/analysis/derive_debug.rs":"3530e27ab0e260ec013cee3ad78a81497970c656a8eed589b755cce8caf53040","src/ir/analysis/derive_default.rs":"20e9dac151fadc59a7926ed9276ee8ced47e59c3f0c43f69fdafb75706045aca","src/ir/analysis/derive_hash.rs":"85c73c5660dc311ab6c15a21b69c4c5d2aa380d740decaf59ad594a6728cbe1f","src/ir/analysis/derive_partialeq_or_partialord.rs":"fb9540c324fdfcc9b0ae816e7713af000b11f5e2768c512c22a3082f263bb6bc","src/ir/analysis/has_destructor.rs":"d9aaaceba580b48eb0df4e5537b34b417c51ccdfeb8f6b72484f3bf4992317fe","src/ir/analysis/has_float.rs":"2a0465503d2c8247eaf916bd6a03594f3dc0370533d9a7c58cc5afb86693816c","src/ir/analysis/has_type_param_in_array.rs":"fcb1c78b6000f1f5eb8d8147e2afdaba9eb0e3a81b61e72537048dfdbeea7bcd","src/ir/analysis/has_vtable.rs":"37765e954ef792e369a58ccfe1d827a00fe9bce680466da1d6523671b94b6c92","src/ir/analysis/mod.rs":"ea5ace45c77e855674bb565ba0fef556f60e3293b0ddcf11d3a5a6ec15ab0648","src/ir/analysis/sizedness.rs":"3d3c8bde40604d53bb64273a3cbd8c55936a7dfe1de9b2ba92fc2c45572624b4","src/ir/analysis/template_params.rs":"6554dd1240142ec0e7299e678b696725f5cba99243d1c3d1cbf58d4764082fd6","src/ir/annotations.rs":"ef106afcbe6084c18bd13a37ee3c1cdc9596bfb055db8c773d81f8f15fec3208","src/ir/comment.rs":"000481754e5433d7c0886b9ce8b93b64c7ab1ae52867d211c73c7c4b336649a2","src/ir/comp.rs":"7b22f3ff19ca45a6fbfe7ea015109d43f4ddf65b33b47b1c37829fcb87cdff9b","src/ir/context.rs":"80679859b4efa52d74b0c7501bb5951b58c9705a97b96c9fc05134d1abe401c6","src/ir/derive.rs":"9550d01731ca66be28124c91fd0211a618743a065bec7b00e27c934afff82a84","src/ir/dot.rs":"d01f1621ab67e368d854a82bd6bb0b8dd52f3c2c733de8eaf81aece9543818cb","src/ir/enum_ty.rs":"3611100df8ddf01b010d2eae1d26a67df022e47b6236b0ed9d1b9b42340ebafd","src/ir/function.rs":"b86e665c6659c32bce39194240e7da6221c5a2ec51b362ad9f6e34f1bc396a6f","src/ir/int.rs":"1f61a472288afe489d9320bc8b13920333ece57891ae8570b4c4f25ab50688e6","src/ir/item.rs":"6f0d13615c6883b5e64c75f6d18d79b978b47aa3599ae1f4c196903d2d2cda68","src/ir/item_kind.rs":"dbeae8c4fd0e5c9485d325aea040e056a1f2cd6d43fc927dee8fe1c0c59a7197","src/ir/layout.rs":"17daab0a80564006de1f6b6190e7d9e6c5eb96990242fe707f8dc676f7110c18","src/ir/mod.rs":"2eae90f207fad2e45957ec9287064992a419e3fc916aba84faff2ea25cbeb5ee","src/ir/module.rs":"c4d90bf38fe3672e01923734ccbdb7951ea929949d5f413a9c2aee12395a5094","src/ir/objc.rs":"828a890acdc8b10c44e69e2ed4a4f5d8c0e734606d3a8cc71658dcf43a49acf4","src/ir/template.rs":"21ba4cbacafce39b4a8013bc97e8054a906a8bc2f45a51aeef3b007caadde221","src/ir/traversal.rs":"eaca9aa6deb3eea9b8d7adc696781c70038796ff43e536bda47e90f84fe87d61","src/ir/ty.rs":"daa95f757288e4bfe84f9724c5f5df127b6f3a4452330691a24a94369db7d993","src/ir/var.rs":"57c8aa9f834c6f06418f7d471b1771bbb915821ef0d194b383be60092edca5f7","src/lib.rs":"d4217ac878659794c5990b1612f1de12f94f975257ea14307fb7dc63ac3a76da","src/log_stubs.rs":"6dfdd908b7c6453da416cf232893768f9480e551ca4add0858ef88bf71ee6ceb","src/main.rs":"e519053bcdde6bc88f60f955246a02d53b3db1cc5ccd1612e6675b790b7460b0","src/options.rs":"f1be872e418a96582b048c095ceeeba012b92ffed8a9658cd1fd9ae0e192372d","src/parse.rs":"be7d13cc84fae79ec7b3aa9e77063fa475a48d74a854423e2c72d75006a25202","src/regex_set.rs":"a55241f2117f15729d174790f386e255fcb224b692325bbe6716dbb1d6874881","src/time.rs":"3b763e6fee51d0eb01228dfe28bc28a9f692aff73b2a7b90a030902e0238fca6"},"package":"1b25ab82877ea8fe6ce1ce1f8ac54361f0218bad900af9eb11803994bf67c221"}
|
||||
\ No newline at end of file
|
||||
+{"files":{"Cargo.toml":"3080fa2631c58e35cb1b32642139d8c303a609f8b554bfe69cd659a5374f18b9","LICENSE":"1d2e4bdb9d94ab020e9550136cae9ec73fc699c3c96a9d98078c542e9b93d294","README.md":"630d1a1d123c131bad0fec23173e263ba8ecc064b5cd8446d4cab7ffd197db45","build.rs":"032a1c51963894a421b0535f9227796d88768ac5f665a81d2edced69dc6d106a","src/callbacks.rs":"9d41b7848cea37e8741fa7bc947ba58a83647824b1a0bbe7ff75012c412eab13","src/clang.rs":"5ce27d0772e66f9f2f94a55afd18c98d4a57aed4c1d57da53b025fbbbb81a287","src/codegen/bitfield_unit.rs":"88b0604322dc449fc9284850eadc1f5d14b42fa747d4258bae0b6b9535f52dfd","src/codegen/bitfield_unit_tests.rs":"2073ac6a36e0bc9afaef5b1207966817c8fb7a1a9f6368c3b1b8f79822efbfba","src/codegen/error.rs":"2613af1d833377fd4a70719f4a09951d9d45dc9227827b9a2a938a1bcaaea2dd","src/codegen/helpers.rs":"8badd4b5ba38b83477c3ee3fc6f9ca79059b5650f5b489b2723c335037e27d92","src/codegen/impl_debug.rs":"e2ffd5b6ed936698aa4b9e7e3459d353383792707ad51f829a18a822f69cab0e","src/codegen/impl_partialeq.rs":"d69e2a9cdf2fdea74a60532109c0a1a75791f5a5ef931b28c5d447fa2915e5d3","src/codegen/mod.rs":"c923594d8d27dede9192dd1081acdedf97d67430f780e3dc4db39b8928a55d71","src/codegen/struct_layout.rs":"9bd0e3455e55e2a1faa4f332a327c2529a21bdfdd0fcb3a45bc5cdd7801d288f","src/extra_assertions.rs":"449549c4a7a50c3f0b06332452b2fb6c9b23f31ca8e5e1656fe6c7f21e8ef7fa","src/features.rs":"a437e6f736c8fba81ff74d90e7ddd142192ae5ffb9240d8c885eb84be6f2fe45","src/ir/analysis/derive_copy.rs":"59c21e299af3a36c6c82d4d16454700238269abd5929ec2d67c8414aebf82c3b","src/ir/analysis/derive_debug.rs":"3530e27ab0e260ec013cee3ad78a81497970c656a8eed589b755cce8caf53040","src/ir/analysis/derive_default.rs":"20e9dac151fadc59a7926ed9276ee8ced47e59c3f0c43f69fdafb75706045aca","src/ir/analysis/derive_hash.rs":"85c73c5660dc311ab6c15a21b69c4c5d2aa380d740decaf59ad594a6728cbe1f","src/ir/analysis/derive_partialeq_or_partialord.rs":"fb9540c324fdfcc9b0ae816e7713af000b11f5e2768c512c22a3082f263bb6bc","src/ir/analysis/has_destructor.rs":"d9aaaceba580b48eb0df4e5537b34b417c51ccdfeb8f6b72484f3bf4992317fe","src/ir/analysis/has_float.rs":"2a0465503d2c8247eaf916bd6a03594f3dc0370533d9a7c58cc5afb86693816c","src/ir/analysis/has_type_param_in_array.rs":"fcb1c78b6000f1f5eb8d8147e2afdaba9eb0e3a81b61e72537048dfdbeea7bcd","src/ir/analysis/mod.rs":"ea5ace45c77e855674bb565ba0fef556f60e3293b0ddcf11d3a5a6ec15ab0648","src/ir/analysis/template_params.rs":"6554dd1240142ec0e7299e678b696725f5cba99243d1c3d1cbf58d4764082fd6","src/ir/annotations.rs":"ef106afcbe6084c18bd13a37ee3c1cdc9596bfb055db8c773d81f8f15fec3208","src/ir/comment.rs":"000481754e5433d7c0886b9ce8b93b64c7ab1ae52867d211c73c7c4b336649a2","src/ir/comp.rs":"7b22f3ff19ca45a6fbfe7ea015109d43f4ddf65b33b47b1c37829fcb87cdff9b","src/ir/context.rs":"80679859b4efa52d74b0c7501bb5951b58c9705a97b96c9fc05134d1abe401c6","src/ir/dot.rs":"d01f1621ab67e368d854a82bd6bb0b8dd52f3c2c733de8eaf81aece9543818cb","src/ir/enum_ty.rs":"3611100df8ddf01b010d2eae1d26a67df022e47b6236b0ed9d1b9b42340ebafd","src/ir/function.rs":"b86e665c6659c32bce39194240e7da6221c5a2ec51b362ad9f6e34f1bc396a6f","src/ir/int.rs":"1f61a472288afe489d9320bc8b13920333ece57891ae8570b4c4f25ab50688e6","src/ir/item.rs":"6f0d13615c6883b5e64c75f6d18d79b978b47aa3599ae1f4c196903d2d2cda68","src/ir/item_kind.rs":"dbeae8c4fd0e5c9485d325aea040e056a1f2cd6d43fc927dee8fe1c0c59a7197","src/ir/layout.rs":"17daab0a80564006de1f6b6190e7d9e6c5eb96990242fe707f8dc676f7110c18","src/ir/mod.rs":"2eae90f207fad2e45957ec9287064992a419e3fc916aba84faff2ea25cbeb5ee","src/ir/module.rs":"c4d90bf38fe3672e01923734ccbdb7951ea929949d5f413a9c2aee12395a5094","src/ir/objc.rs":"828a890acdc8b10c44e69e2ed4a4f5d8c0e734606d3a8cc71658dcf43a49acf4","src/ir/template.rs":"21ba4cbacafce39b4a8013bc97e8054a906a8bc2f45a51aeef3b007caadde221","src/ir/traversal.rs":"eaca9aa6deb3eea9b8d7adc696781c70038796ff43e536bda47e90f84fe87d61","src/ir/ty.rs":"daa95f757288e4bfe84f9724c5f5df127b6f3a4452330691a24a94369db7d993","src/ir/var.rs":"57c8aa9f834c6f06418f7d471b1771bbb915821ef0d194b383be60092edca5f7","src/lib.rs":"d4217ac878659794c5990b1612f1de12f94f975257ea14307fb7dc63ac3a76da","src/log_stubs.rs":"6dfdd908b7c6453da416cf232893768f9480e551ca4add0858ef88bf71ee6ceb","src/main.rs":"e519053bcdde6bc88f60f955246a02d53b3db1cc5ccd1612e6675b790b7460b0","src/options.rs":"f1be872e418a96582b048c095ceeeba012b92ffed8a9658cd1fd9ae0e192372d","src/parse.rs":"be7d13cc84fae79ec7b3aa9e77063fa475a48d74a854423e2c72d75006a25202","src/regex_set.rs":"a55241f2117f15729d174790f386e255fcb224b692325bbe6716dbb1d6874881","src/time.rs":"3b763e6fee51d0eb01228dfe28bc28a9f692aff73b2a7b90a030902e0238fca6"},"package":"1b25ab82877ea8fe6ce1ce1f8ac54361f0218bad900af9eb11803994bf67c221"}
|
||||
--- third_party/rust/bindgen/src/ir/analysis/has_vtable.rs
|
||||
+++ third_party/rust/bindgen/src/ir/analysis/has_vtable.rs
|
||||
@@ -10,17 +10,17 @@ use std::collections::hash_map::Entry;
|
||||
use std::ops;
|
||||
|
||||
/// The result of the `HasVtableAnalysis` for an individual item.
|
||||
-#[derive(Copy, Clone, Debug, PartialEq, Eq, Ord)]
|
||||
+#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord)]
|
||||
pub enum HasVtableResult {
|
||||
- /// The item has a vtable, but the actual vtable pointer is in a base
|
||||
- /// member.
|
||||
- BaseHasVtable,
|
||||
+ /// The item does not have a vtable pointer.
|
||||
+ No,
|
||||
|
||||
/// The item has a vtable and the actual vtable pointer is within this item.
|
||||
SelfHasVtable,
|
||||
|
||||
- /// The item does not have a vtable pointer.
|
||||
- No
|
||||
+ /// The item has a vtable, but the actual vtable pointer is in a base
|
||||
+ /// member.
|
||||
+ BaseHasVtable,
|
||||
}
|
||||
|
||||
impl Default for HasVtableResult {
|
||||
@@ -29,21 +29,6 @@ impl Default for HasVtableResult {
|
||||
}
|
||||
}
|
||||
|
||||
-impl cmp::PartialOrd for HasVtableResult {
|
||||
- fn partial_cmp(&self, rhs: &Self) -> Option<cmp::Ordering> {
|
||||
- use self::HasVtableResult::*;
|
||||
-
|
||||
- match (*self, *rhs) {
|
||||
- (x, y) if x == y => Some(cmp::Ordering::Equal),
|
||||
- (BaseHasVtable, _) => Some(cmp::Ordering::Greater),
|
||||
- (_, BaseHasVtable) => Some(cmp::Ordering::Less),
|
||||
- (SelfHasVtable, _) => Some(cmp::Ordering::Greater),
|
||||
- (_, SelfHasVtable) => Some(cmp::Ordering::Less),
|
||||
- _ => unreachable!(),
|
||||
- }
|
||||
- }
|
||||
-}
|
||||
-
|
||||
impl HasVtableResult {
|
||||
/// Take the least upper bound of `self` and `rhs`.
|
||||
pub fn join(self, rhs: Self) -> Self {
|
||||
--- third_party/rust/bindgen/src/ir/analysis/sizedness.rs
|
||||
+++ third_party/rust/bindgen/src/ir/analysis/sizedness.rs
|
||||
@@ -24,13 +24,14 @@ use std::ops;
|
||||
///
|
||||
/// We initially assume that all types are `ZeroSized` and then update our
|
||||
/// understanding as we learn more about each type.
|
||||
-#[derive(Copy, Clone, Debug, PartialEq, Eq, Ord)]
|
||||
+#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord)]
|
||||
pub enum SizednessResult {
|
||||
- /// Has some size that is known to be greater than zero. That doesn't mean
|
||||
- /// it has a static size, but it is not zero sized for sure. In other words,
|
||||
- /// it might contain an incomplete array or some other dynamically sized
|
||||
- /// type.
|
||||
- NonZeroSized,
|
||||
+ /// The type is zero-sized.
|
||||
+ ///
|
||||
+ /// This means that if it is a C++ type, and is not being used as a base
|
||||
+ /// member, then we must add an `_address` byte to enforce the
|
||||
+ /// unique-address-per-distinct-object-instance rule.
|
||||
+ ZeroSized,
|
||||
|
||||
/// Whether this type is zero-sized or not depends on whether a type
|
||||
/// parameter is zero-sized or not.
|
||||
@@ -54,12 +55,11 @@ pub enum SizednessResult {
|
||||
/// https://github.com/rust-lang-nursery/rust-bindgen/issues/586
|
||||
DependsOnTypeParam,
|
||||
|
||||
- /// The type is zero-sized.
|
||||
- ///
|
||||
- /// This means that if it is a C++ type, and is not being used as a base
|
||||
- /// member, then we must add an `_address` byte to enforce the
|
||||
- /// unique-address-per-distinct-object-instance rule.
|
||||
- ZeroSized,
|
||||
+ /// Has some size that is known to be greater than zero. That doesn't mean
|
||||
+ /// it has a static size, but it is not zero sized for sure. In other words,
|
||||
+ /// it might contain an incomplete array or some other dynamically sized
|
||||
+ /// type.
|
||||
+ NonZeroSized,
|
||||
}
|
||||
|
||||
impl Default for SizednessResult {
|
||||
@@ -68,21 +68,6 @@ impl Default for SizednessResult {
|
||||
}
|
||||
}
|
||||
|
||||
-impl cmp::PartialOrd for SizednessResult {
|
||||
- fn partial_cmp(&self, rhs: &Self) -> Option<cmp::Ordering> {
|
||||
- use self::SizednessResult::*;
|
||||
-
|
||||
- match (*self, *rhs) {
|
||||
- (x, y) if x == y => Some(cmp::Ordering::Equal),
|
||||
- (NonZeroSized, _) => Some(cmp::Ordering::Greater),
|
||||
- (_, NonZeroSized) => Some(cmp::Ordering::Less),
|
||||
- (DependsOnTypeParam, _) => Some(cmp::Ordering::Greater),
|
||||
- (_, DependsOnTypeParam) => Some(cmp::Ordering::Less),
|
||||
- _ => unreachable!(),
|
||||
- }
|
||||
- }
|
||||
-}
|
||||
-
|
||||
impl SizednessResult {
|
||||
/// Take the least upper bound of `self` and `rhs`.
|
||||
pub fn join(self, rhs: Self) -> Self {
|
||||
--- third_party/rust/bindgen/src/ir/derive.rs
|
||||
+++ third_party/rust/bindgen/src/ir/derive.rs
|
||||
@@ -137,10 +137,10 @@ pub trait CanTriviallyDerivePartialEqOrPartialOrd {
|
||||
///
|
||||
/// Initially we assume that we can derive trait for all types and then
|
||||
/// update our understanding as we learn more about each type.
|
||||
-#[derive(Debug, Copy, Clone, PartialEq, Eq, Ord)]
|
||||
+#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord)]
|
||||
pub enum CanDerive {
|
||||
- /// No, we cannot.
|
||||
- No,
|
||||
+ /// Yes, we can derive automatically.
|
||||
+ Yes,
|
||||
|
||||
/// The only thing that stops us from automatically deriving is that
|
||||
/// array with more than maximum number of elements is used.
|
||||
@@ -148,8 +148,8 @@ pub enum CanDerive {
|
||||
/// This means we probably can "manually" implement such trait.
|
||||
ArrayTooLarge,
|
||||
|
||||
- /// Yes, we can derive automatically.
|
||||
- Yes,
|
||||
+ /// No, we cannot.
|
||||
+ No,
|
||||
}
|
||||
|
||||
impl Default for CanDerive {
|
||||
@@ -158,22 +158,6 @@ impl Default for CanDerive {
|
||||
}
|
||||
}
|
||||
|
||||
-impl cmp::PartialOrd for CanDerive {
|
||||
- fn partial_cmp(&self, rhs: &Self) -> Option<cmp::Ordering> {
|
||||
- use self::CanDerive::*;
|
||||
-
|
||||
- let ordering = match (*self, *rhs) {
|
||||
- (x, y) if x == y => cmp::Ordering::Equal,
|
||||
- (No, _) => cmp::Ordering::Greater,
|
||||
- (_, No) => cmp::Ordering::Less,
|
||||
- (ArrayTooLarge, _) => cmp::Ordering::Greater,
|
||||
- (_, ArrayTooLarge) => cmp::Ordering::Less,
|
||||
- _ => unreachable!()
|
||||
- };
|
||||
- Some(ordering)
|
||||
- }
|
||||
-}
|
||||
-
|
||||
impl CanDerive {
|
||||
/// Take the least upper bound of `self` and `rhs`.
|
||||
pub fn join(self, rhs: Self) -> Self {
|
11
srcpkgs/icecat/patches/fix-arm-opus-include.patch
Normal file
11
srcpkgs/icecat/patches/fix-arm-opus-include.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- media/libopus/silk/arm/arm_silk_map.c.orig 2019-03-19 20:55:01.249609964 +0100
|
||||
+++ media/libopus/silk/arm/arm_silk_map.c 2019-03-19 20:55:25.769400255 +0100
|
||||
@@ -28,7 +28,7 @@
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
-#include "main_FIX.h"
|
||||
+#include "../fixed/main_FIX.h"
|
||||
#include "NSQ.h"
|
||||
#include "SigProc_FIX.h"
|
||||
|
11
srcpkgs/icecat/patches/fix-desktop-icon-path.patch
Normal file
11
srcpkgs/icecat/patches/fix-desktop-icon-path.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- taskcluster/docker/icecat-snap/icecat.desktop.orig 2019-01-18 19:31:39.428839442 +0100
|
||||
+++ taskcluster/docker/icecat-snap/icecat.desktop 2019-01-18 19:32:20.689063456 +0100
|
||||
@@ -154,7 +154,7 @@
|
||||
Terminal=false
|
||||
X-MultipleArgs=false
|
||||
Type=Application
|
||||
-Icon=/browser/chrome/icons/default/default128.png
|
||||
+Icon=firefox
|
||||
Categories=GNOME;GTK;Network;WebBrowser;
|
||||
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;
|
||||
StartupNotify=true
|
|
@ -1,14 +0,0 @@
|
|||
originally, the gettid wrapper was needed on glibc and musl,
|
||||
glibc-2.30 added a gettid function, so now it is only needed on musl
|
||||
|
||||
--- tools/profiler/core/platform.h.orig
|
||||
+++ tools/profiler/core/platform.h
|
||||
@@ -56,7 +56,7 @@
|
||||
|
||||
// We need a definition of gettid(), but glibc doesn't provide a
|
||||
// wrapper for it.
|
||||
-#if defined(__GLIBC__)
|
||||
+#if defined(__linux__) && !defined(__GLIBC__)
|
||||
#include <unistd.h>
|
||||
#include <sys/syscall.h>
|
||||
static inline pid_t gettid()
|
|
@ -9,12 +9,3 @@
|
|||
((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \
|
||||
defined(HAVE__UNWIND_BACKTRACE)))
|
||||
#define MOZ_STACKWALK_SUPPORTS_LINUX 1
|
||||
@@ -911,7 +911,7 @@
|
||||
}
|
||||
|
||||
// {x86, ppc} x {Linux, Mac} stackwalking code.
|
||||
-#if ((defined(__i386) || defined(PPC) || defined(__ppc__)) && \
|
||||
+#if defined(__GLIBC__) && ((defined(__i386) || defined(PPC) || defined(__ppc__)) && \
|
||||
(MOZ_STACKWALK_SUPPORTS_MACOSX || MOZ_STACKWALK_SUPPORTS_LINUX))
|
||||
|
||||
MFBT_API bool
|
||||
|
|
|
@ -47,18 +47,28 @@
|
|||
#include <a.out.h>
|
||||
#endif
|
||||
|
||||
--- toolkit.orig/mozapps/update/common/updatedefines.h 2019-01-29 11:34:36.416804577 +0100
|
||||
+++ toolkit/mozapps/update/common/updatedefines.h 2019-01-29 11:34:59.193583777 +0100
|
||||
@@ -102,7 +102,7 @@
|
||||
|
||||
# ifdef SOLARIS
|
||||
# include <sys/stat.h>
|
||||
-# else
|
||||
+# elif !(defined(__linux__)) || defined(__GLIBC__)
|
||||
# include <fts.h>
|
||||
# endif
|
||||
# include <dirent.h>
|
||||
--- toolkit.orig/mozapps/update/updater/updater.cpp 2014-03-15 05:19:37.000000000 +0000
|
||||
+++ toolkit/mozapps/update/updater/updater.cpp 2014-04-17 10:24:33.796765327 +0000
|
||||
@@ -3432,6 +3432,7 @@
|
||||
int add_dir_entries(const NS_tchar *dirpath, ActionList *list)
|
||||
{
|
||||
@@ -3978,6 +3978,7 @@
|
||||
|
||||
int add_dir_entries(const NS_tchar* dirpath, ActionList* list) {
|
||||
int rv = OK;
|
||||
+#if !defined(__linux__) || defined(__GLIBC__)
|
||||
FTS *ftsdir;
|
||||
FTSENT *ftsdirEntry;
|
||||
NS_tchar searchpath[MAXPATHLEN];
|
||||
@@ -3534,6 +3535,7 @@
|
||||
FTS* ftsdir;
|
||||
FTSENT* ftsdirEntry;
|
||||
mozilla::UniquePtr<NS_tchar[]> searchpath(get_full_path(dirpath));
|
||||
@@ -4085,6 +4086,7 @@
|
||||
}
|
||||
|
||||
fts_close(ftsdir);
|
||||
|
@ -66,14 +76,3 @@
|
|||
|
||||
return rv;
|
||||
}
|
||||
--- toolkit/mozapps/update/common/updatedefines.h 2019-01-24 18:31:42.000000000 +0100
|
||||
+++ - 2019-01-31 11:15:53.946747750 +0100
|
||||
@@ -100,7 +100,7 @@
|
||||
|
||||
#ifdef SOLARIS
|
||||
#include <sys/stat.h>
|
||||
-#else
|
||||
+#elif !defined(__linux__) || defined(__GLIBC__)
|
||||
#include <fts.h>
|
||||
#endif
|
||||
#include <dirent.h>
|
||||
|
|
|
@ -1,33 +1,24 @@
|
|||
--- tools/profiler/core/platform.h
|
||||
+++ tools/profiler/core/platform.h
|
||||
@@ -29,6 +29,8 @@
|
||||
#ifndef TOOLS_PLATFORM_H_
|
||||
#define TOOLS_PLATFORM_H_
|
||||
|
||||
+#include <sys/types.h>
|
||||
+
|
||||
#include <stdint.h>
|
||||
#include <math.h>
|
||||
#include "MainThreadUtils.h"
|
||||
--- tools/profiler/lul/LulElf.cpp 2019-01-24 18:31:42.000000000 +0100
|
||||
+++ - 2019-01-31 11:19:53.198257189 +0100
|
||||
@@ -460,9 +460,9 @@
|
||||
--- tools/profiler/lul/LulElf.cpp.orig 2019-01-29 12:05:34.223834130 +0100
|
||||
+++ tools/profiler/lul/LulElf.cpp 2019-01-29 12:08:02.480400845 +0100
|
||||
@@ -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) {
|
||||
// Lots of copies! basename's behavior is less than ideal.
|
||||
- // Lots of copies! basename's behavior is less than ideal.
|
||||
- char* c_filename = strdup(filename.c_str());
|
||||
- string base = basename(c_filename);
|
||||
- free(c_filename);
|
||||
+ const char* c_filename = filename.c_str();
|
||||
+ // basename's behavior is less than ideal so avoid it
|
||||
+ const char *c_filename = filename.c_str();
|
||||
+ const char *p = strrchr(c_filename, '/');
|
||||
+ string base = p ? p+1 : c_filename;
|
||||
return base;
|
||||
}
|
||||
|
||||
--- tools/profiler/core/platform-linux-android.cpp 2019-01-24 18:31:43.000000000 +0100
|
||||
+++ - 2019-01-31 11:23:07.911772317 +0100
|
||||
--- tools/profiler/core/platform-linux-android.cpp.orig 2019-01-29 12:09:40.980448579 +0100
|
||||
+++ tools/profiler/core/platform-linux-android.cpp 2019-01-29 12:11:09.689590967 +0100
|
||||
@@ -253,7 +253,11 @@
|
||||
|
||||
|
||||
// Request profiling signals.
|
||||
struct sigaction sa;
|
||||
+#if defined(GP_ARCH_arm)
|
||||
|
@ -38,7 +29,7 @@
|
|||
sigemptyset(&sa.sa_mask);
|
||||
sa.sa_flags = SA_RESTART | SA_SIGINFO;
|
||||
if (sigaction(SIGPROF, &sa, &mOldSigprofHandler) != 0) {
|
||||
@@ -497,8 +497,10 @@
|
||||
@@ -497,8 +501,10 @@
|
||||
ucontext_t sSyncUContext;
|
||||
|
||||
void Registers::SyncPopulate() {
|
||||
|
|
15
srcpkgs/icecat/patches/fix-wasm-arm.patch
Normal file
15
srcpkgs/icecat/patches/fix-wasm-arm.patch
Normal file
|
@ -0,0 +1,15 @@
|
|||
--- js/src/wasm/WasmSignalHandlers.cpp
|
||||
+++ js/src/wasm/WasmSignalHandlers.cpp
|
||||
@@ -243,9 +243,9 @@
|
||||
// If you run into compile problems on a tier-3 platform, you can disable the
|
||||
// emulation here.
|
||||
|
||||
-#if defined(__linux__) && defined(__arm__)
|
||||
-# define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
|
||||
-#endif
|
||||
+// #if defined(__linux__) && defined(__arm__)
|
||||
+// # define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
|
||||
+// #endif
|
||||
|
||||
#ifdef WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
|
||||
# include <sys/user.h>
|
|
@ -1,11 +0,0 @@
|
|||
--- media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features.cc 2019-01-24 18:31:10.000000000 +0100
|
||||
+++ - 2019-02-01 00:13:35.690776711 +0100
|
||||
@@ -67,7 +67,7 @@
|
||||
return 0;
|
||||
}
|
||||
|
||||
-#if !defined(ANDROID)
|
||||
+#if !defined(ANDROID) && !defined(__linux__)
|
||||
#ifdef WEBRTC_ARCH_ARM_V7
|
||||
uint64_t WebRtc_GetCPUFeaturesARM(void) {
|
||||
return kCPUFeatureARMv7
|
|
@ -1,18 +1,15 @@
|
|||
--- media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c 2019-02-01 00:49:18.472382771 +0100
|
||||
+++ - 2019-02-01 00:50:25.928007236 +0100
|
||||
@@ -11,7 +11,10 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <features.h>
|
||||
--- media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c.orig 2019-01-29 11:20:52.298793223 +0100
|
||||
+++ media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c 2019-01-29 11:21:48.250250850 +0100
|
||||
@@ -14,7 +14,7 @@
|
||||
#ifndef __GLIBC_PREREQ
|
||||
#define __GLIBC_PREREQ(a, b) 0
|
||||
#endif
|
||||
-#if __GLIBC_PREREQ(2, 16)
|
||||
+#ifndef __GLIBC_PREREQ
|
||||
+#define __GLIBC_PREREQ(a, b) 0
|
||||
+#endif
|
||||
+#if !__GLIBC__ || __GLIBC_PREREQ(2, 16)
|
||||
#include <sys/auxv.h>
|
||||
#else
|
||||
#include <fcntl.h>
|
||||
@@ -29,7 +32,7 @@
|
||||
@@ -32,7 +32,7 @@
|
||||
int architecture = 0;
|
||||
unsigned long hwcap = 0;
|
||||
const char* platform = NULL;
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
--- xpcom/base/nsMemoryReporterManager.cpp.orig 2018-10-25 01:03:36.267772091 +0200
|
||||
+++ xpcom/base/nsMemoryReporterManager.cpp 2018-10-25 01:42:08.863831518 +0200
|
||||
@@ -133,6 +133,7 @@
|
||||
return GetProcSelfSmapsPrivate(aN);
|
||||
}
|
||||
|
||||
+#ifdef __GLIBC__
|
||||
#ifdef HAVE_MALLINFO
|
||||
#define HAVE_SYSTEM_HEAP_REPORTER 1
|
||||
static MOZ_MUST_USE nsresult
|
||||
@@ -154,6 +155,7 @@
|
||||
return NS_OK;
|
||||
}
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
#elif defined(__DragonFly__) || defined(__FreeBSD__) \
|
||||
|| defined(__NetBSD__) || defined(__OpenBSD__) \
|
11
srcpkgs/icecat/patches/gettid-musl.patch
Normal file
11
srcpkgs/icecat/patches/gettid-musl.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- tools/profiler/core/platform-linux-android.cpp.orig 2019-07-09 22:58:30.039475686 +0200
|
||||
+++ tools/profiler/core/platform-linux-android.cpp 2019-07-09 22:58:39.331437677 +0200
|
||||
@@ -73,7 +73,7 @@
|
||||
|
||||
int profiler_current_thread_id() {
|
||||
// glibc doesn't provide a wrapper for gettid().
|
||||
-#if defined(__GLIBC__)
|
||||
+#if defined(__linux__)
|
||||
return static_cast<int>(static_cast<pid_t>(syscall(SYS_gettid)));
|
||||
#else
|
||||
return static_cast<int>(gettid());
|
|
@ -1,18 +1,34 @@
|
|||
--- xpcom/base/nsMemoryReporterManager.cpp
|
||||
+++ xpcom/base/nsMemoryReporterManager.cpp
|
||||
@@ -153,6 +153,7 @@ ResidentUniqueDistinguishedAmount(int64_t* aN)
|
||||
--- xpcom/base/nsMemoryReporterManager.cpp.orig 2019-03-19 17:12:20.844810044 +0100
|
||||
+++ xpcom/base/nsMemoryReporterManager.cpp 2019-03-19 17:13:32.505133615 +0100
|
||||
@@ -123,6 +123,7 @@
|
||||
return GetProcSelfSmapsPrivate(aN);
|
||||
}
|
||||
|
||||
+#ifdef __GLIBC__
|
||||
#define HAVE_SYSTEM_HEAP_REPORTER 1
|
||||
nsresult
|
||||
SystemHeapSize(int64_t* aSizeOut)
|
||||
@@ -172,6 +173,7 @@ SystemHeapSize(int64_t* aSizeOut)
|
||||
*aSizeOut = size_t(info.hblkhd) + size_t(info.uordblks);
|
||||
return NS_OK;
|
||||
# ifdef HAVE_MALLINFO
|
||||
# define HAVE_SYSTEM_HEAP_REPORTER 1
|
||||
static MOZ_MUST_USE nsresult SystemHeapSize(int64_t* aSizeOut) {
|
||||
@@ -142,6 +143,7 @@
|
||||
return NS_OK;
|
||||
}
|
||||
+#endif
|
||||
# endif
|
||||
+#endif // __GLIBC__
|
||||
|
||||
#elif defined(__DragonFly__) || defined(__FreeBSD__) \
|
||||
|| defined(__NetBSD__) || defined(__OpenBSD__) \
|
||||
#elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
|
||||
defined(__OpenBSD__) || defined(__FreeBSD_kernel__)
|
||||
@@ -642,6 +644,7 @@
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
+#ifdef __GLIBC__
|
||||
# define HAVE_SYSTEM_HEAP_REPORTER 1
|
||||
// Windows can have multiple separate heaps. During testing there were multiple
|
||||
// heaps present but the non-default ones had sizes no more than a few 10s of
|
||||
@@ -698,6 +701,7 @@
|
||||
*aSizeOut = heapsSize;
|
||||
return NS_OK;
|
||||
}
|
||||
+#endif // __GLIBC__
|
||||
|
||||
struct SegmentKind {
|
||||
DWORD mState;
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
# HG changeset patch
|
||||
# Parent b735e618c2a860972197942f6680c941e3c9a67f
|
||||
# User Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
|
||||
Bug 997353 - Do not use compile-time page size for PowerPC.
|
||||
|
||||
The PowerPC architecture allows various memory page sizes, making it impossible
|
||||
to predict the runtime page size.
|
||||
|
||||
--- memory/build/mozjemalloc.cpp
|
||||
+++ memory/build/mozjemalloc.cpp
|
||||
@@ -369,7 +369,7 @@
|
||||
// Debug builds are opted out too, for test coverage.
|
||||
#ifndef MOZ_DEBUG
|
||||
#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && \
|
||||
- !defined(__aarch64__)
|
||||
+ !defined(__aarch64__) && !defined(__powerpc__) && !defined(__powerpc64__)
|
||||
#define MALLOC_STATIC_PAGESIZE 1
|
||||
#endif
|
||||
#endif
|
|
@ -1,8 +1,19 @@
|
|||
Mozilla rustc check does not support crossbuild: let's remove it
|
||||
Remove calls to unwrap_rustup, they fail if rustup isn't present
|
||||
|
||||
--- build/moz.configure/rust.configure 2018-10-01 16:28:31.000000000 +0200
|
||||
+++ build/moz.configure/rust.configure 2018-10-20 14:21:35.510000000 +0200
|
||||
@@ -204,26 +204,6 @@
|
||||
--- build/moz.configure/rust.configure 2019-07-06 03:48:30.000000000 +0200
|
||||
+++ build/moz.configure/rust.configure 2019-07-09 22:35:23.326851798 +0200
|
||||
@@ -79,9 +79,6 @@
|
||||
|
||||
return unwrap
|
||||
|
||||
-rustc = unwrap_rustup(rustc, 'rustc')
|
||||
-cargo = unwrap_rustup(cargo, 'cargo')
|
||||
-
|
||||
|
||||
set_config('CARGO', cargo)
|
||||
set_config('RUSTC', rustc)
|
||||
@@ -294,26 +291,6 @@
|
||||
|
||||
os.write(in_fd, source)
|
||||
os.close(in_fd)
|
||||
|
@ -29,4 +40,3 @@ Mozilla rustc check does not support crossbuild: let's remove it
|
|||
finally:
|
||||
os.remove(in_path)
|
||||
os.remove(out_path)
|
||||
|
||||
|
|
|
@ -1,90 +0,0 @@
|
|||
backport of:
|
||||
|
||||
From 3c98d22c5de3b696bf1fde2b6c90069812312aa6 Mon Sep 17 00:00:00 2001
|
||||
From: Simon Sapin <simon.sapin@exyr.org>
|
||||
Date: Tue, 23 Apr 2019 13:47:25 +0200
|
||||
Subject: [PATCH] Fix a future-compat warning
|
||||
|
||||
```
|
||||
warning[E0506]: cannot assign to `self.input.cached_token` because it is borrowed
|
||||
--> src/parser.rs:591:17
|
||||
|
|
||||
566 | pub fn next_including_whitespace_and_comments(&mut self) -> Result<&Token<'i>, BasicParseError<'i>> {
|
||||
| - let's call the lifetime of this reference `'1`
|
||||
...
|
||||
579 | Some(ref cached_token)
|
||||
| ---------------- borrow of `self.input.cached_token` occurs here
|
||||
...
|
||||
591 | self.input.cached_token = Some(CachedToken {
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^ assignment to borrowed `self.input.cached_token` occurs here
|
||||
...
|
||||
603 | Ok(token)
|
||||
| --------- returning this value requires that `self.input.cached_token.0` is borrowed for `'1`
|
||||
|
|
||||
= warning: this error has been downgraded to a warning for backwards compatibility with previous releases
|
||||
= warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future
|
||||
```
|
||||
---
|
||||
src/parser.rs | 50 +++++++++++++++++++++++++++-----------------------
|
||||
1 file changed, 27 insertions(+), 23 deletions(-)
|
||||
|
||||
diff --git a/src/parser.rs b/src/parser.rs
|
||||
index 51f441e4..7cef117c 100644
|
||||
--- third_party/rust/cssparser/src/parser.rs
|
||||
+++ third_party/rust/cssparser/src/parser.rs
|
||||
@@ -555,28 +555,34 @@
|
||||
}
|
||||
|
||||
let token_start_position = self.input.tokenizer.position();
|
||||
- let token;
|
||||
- match self.input.cached_token {
|
||||
- Some(ref cached_token)
|
||||
- if cached_token.start_position == token_start_position => {
|
||||
- self.input.tokenizer.reset(&cached_token.end_state);
|
||||
- match cached_token.token {
|
||||
- Token::Function(ref name) => self.input.tokenizer.see_function(name),
|
||||
- _ => {}
|
||||
- }
|
||||
- token = &cached_token.token
|
||||
+ let using_cached_token = self
|
||||
+ .input
|
||||
+ .cached_token
|
||||
+ .as_ref()
|
||||
+ .map_or(false, |cached_token| {
|
||||
+ cached_token.start_position == token_start_position
|
||||
+ });
|
||||
+ let token = if using_cached_token {
|
||||
+ let cached_token = self.input.cached_token.as_ref().unwrap();
|
||||
+ self.input.tokenizer.reset(&cached_token.end_state);
|
||||
+ match cached_token.token {
|
||||
+ Token::Function(ref name) => self.input.tokenizer.see_function(name),
|
||||
+ _ => {}
|
||||
}
|
||||
- _ => {
|
||||
- let new_token = self.input.tokenizer.next()
|
||||
- .map_err(|()| self.new_basic_error(BasicParseErrorKind::EndOfInput))?;
|
||||
- self.input.cached_token = Some(CachedToken {
|
||||
- token: new_token,
|
||||
- start_position: token_start_position,
|
||||
- end_state: self.input.tokenizer.state(),
|
||||
- });
|
||||
- token = self.input.cached_token_ref()
|
||||
- }
|
||||
- }
|
||||
+ &cached_token.token
|
||||
+ } else {
|
||||
+ let new_token = self
|
||||
+ .input
|
||||
+ .tokenizer
|
||||
+ .next()
|
||||
+ .map_err(|()| self.new_basic_error(BasicParseErrorKind::EndOfInput))?;
|
||||
+ self.input.cached_token = Some(CachedToken {
|
||||
+ token: new_token,
|
||||
+ start_position: token_start_position,
|
||||
+ end_state: self.input.tokenizer.state(),
|
||||
+ });
|
||||
+ self.input.cached_token_ref()
|
||||
+ };
|
||||
|
||||
if let Some(block_type) = BlockType::opening(token) {
|
||||
self.at_start_of = Some(block_type);
|
|
@ -1,19 +0,0 @@
|
|||
--- ./media/audioipc/audioipc/src/cmsg.rs.orig 2018-05-09 22:19:14.748631939 +0200
|
||||
+++ ./media/audioipc/audioipc/src/cmsg.rs 2018-05-09 22:19:22.961620862 +0200
|
||||
@@ -106,11 +106,11 @@ impl ControlMsgBuilder {
|
||||
return Err(Error::NoSpace);
|
||||
}
|
||||
|
||||
- let cmsghdr = cmsghdr {
|
||||
- cmsg_len: cmsg_len as _,
|
||||
- cmsg_level: level,
|
||||
- cmsg_type: kind,
|
||||
- };
|
||||
+ use std::mem;
|
||||
+ let mut cmsghdr: cmsghdr = unsafe { mem::zeroed() };
|
||||
+ cmsghdr.cmsg_len = cmsg_len as _;
|
||||
+ cmsghdr.cmsg_level = level;
|
||||
+ cmsghdr.cmsg_type = kind;
|
||||
|
||||
let cmsghdr = unsafe {
|
||||
slice::from_raw_parts(&cmsghdr as *const _ as *const _, mem::size_of::<cmsghdr>())
|
|
@ -1,58 +0,0 @@
|
|||
backported from
|
||||
|
||||
From 2efa106431e6fb15b73478f67e37cb307bac2be6 Mon Sep 17 00:00:00 2001
|
||||
From: Simon Sapin <simon.sapin@exyr.org>
|
||||
Date: Wed, 4 Jul 2018 22:18:36 +0200
|
||||
Subject: [PATCH] Fix a lifetime bug uncovered by NLL, thanks @lqd
|
||||
|
||||
|
||||
--- third_party/rust/url/src/lib.rs 2019-05-14 21:13:30.000000000 +0200
|
||||
+++ third_party/rust/url/src/lib.rs 2019-05-14 21:13:30.000000000 +0200
|
||||
@@ -1304,7 +1304,7 @@
|
||||
self.serialization.push('?');
|
||||
}
|
||||
|
||||
- let query = UrlQuery { url: self, fragment: fragment };
|
||||
+ let query = UrlQuery { url: Some(self), fragment: fragment };
|
||||
form_urlencoded::Serializer::for_suffix(query, query_start + "?".len())
|
||||
}
|
||||
|
||||
@@ -2373,13 +2373,15 @@
|
||||
/// Implementation detail of `Url::query_pairs_mut`. Typically not used directly.
|
||||
#[derive(Debug)]
|
||||
pub struct UrlQuery<'a> {
|
||||
- url: &'a mut Url,
|
||||
+ url: Option<&'a mut Url>,
|
||||
fragment: Option<String>,
|
||||
}
|
||||
|
||||
impl<'a> Drop for UrlQuery<'a> {
|
||||
fn drop(&mut self) {
|
||||
- self.url.restore_already_parsed_fragment(self.fragment.take())
|
||||
+ if let Some(url) = self.url.take() {
|
||||
+ url.restore_already_parsed_fragment(self.fragment.take())
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
--- third_party/rust/url/src/form_urlencoded.rs 2019-05-14 21:13:30.000000000 +0200
|
||||
+++ third_party/rust/url/src/form_urlencoded.rs 2019-05-14 21:13:30.000000000 +0200
|
||||
@@ -257,8 +257,16 @@
|
||||
// * `Serializer` keeps its target in a private field
|
||||
// * Unlike in other `Target` impls, `UrlQuery::finished` does not return `Self`.
|
||||
impl<'a> Target for ::UrlQuery<'a> {
|
||||
- fn as_mut_string(&mut self) -> &mut String { &mut self.url.serialization }
|
||||
- fn finish(self) -> &'a mut ::Url { self.url }
|
||||
+ fn as_mut_string(&mut self) -> &mut String {
|
||||
+ &mut self.url.as_mut().unwrap().serialization
|
||||
+ }
|
||||
+
|
||||
+ fn finish(mut self) -> &'a mut ::Url {
|
||||
+ let url = self.url.take().unwrap();
|
||||
+ url.restore_already_parsed_fragment(self.fragment.take());
|
||||
+ url
|
||||
+ }
|
||||
+
|
||||
type Finished = &'a mut ::Url;
|
||||
}
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
--- servo/components/style/lib.rs 2018-11-09 18:26:56.000000000 +0100
|
||||
+++ servo/components/style/lib.rs 2019-04-23 23:12:18.536052865 +0200
|
||||
@@ -23,7 +23,6 @@
|
||||
//! [cssparser]: ../cssparser/index.html
|
||||
//! [selectors]: ../selectors/index.html
|
||||
|
||||
-#![deny(missing_docs)]
|
||||
|
||||
extern crate app_units;
|
||||
extern crate arrayvec;
|
||||
--- servo/components/style_traits/lib.rs 2018-11-09 18:26:55.000000000 +0100
|
||||
+++ servo/components/style_traits/lib.rs 2019-04-23 23:11:20.637542457 +0200
|
||||
@@ -9,7 +9,7 @@
|
||||
#![crate_name = "style_traits"]
|
||||
#![crate_type = "rlib"]
|
||||
|
||||
-#![deny(unsafe_code, missing_docs)]
|
||||
+#![deny(unsafe_code)]
|
||||
|
||||
extern crate app_units;
|
||||
#[macro_use] extern crate bitflags;
|
|
@ -1,64 +0,0 @@
|
|||
# HG changeset patch
|
||||
# User Lars T Hansen <lhansen@mozilla.com>
|
||||
# Date 1519822672 -3600
|
||||
# Node ID 800abe66894d6b07b24bccecbf6a65e2261076f6
|
||||
# Parent 223c97459e96183eb616aed39147207bdb953ba8
|
||||
Bug 1375074 - Save and restore non-volatile x28 on ARM64 for generated unboxed object constructor. r=sstangl
|
||||
|
||||
Origin: upstream
|
||||
Applied-upstream: 61, commit: https://hg.mozilla.org/mozilla-central/rev/800abe66894d
|
||||
---
|
||||
js/src/vm/UnboxedObject.cpp | 30 ++++++++++++++++++++++++++----
|
||||
1 file changed, 26 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/js/src/vm/UnboxedObject.cpp b/js/src/vm/UnboxedObject.cpp
|
||||
index 35ca20d7405f..1c20a1093d13 100644
|
||||
--- js/src/vm/UnboxedObject.cpp
|
||||
+++ js/src/vm/UnboxedObject.cpp
|
||||
@@ -86,9 +86,16 @@ static const uintptr_t CLEAR_CONSTRUCTOR_CODE_TOKEN = 0x1;
|
||||
#endif
|
||||
|
||||
#ifdef JS_CODEGEN_ARM64
|
||||
- // ARM64 communicates stack address via sp, but uses a pseudo-sp for
|
||||
- // addressing.
|
||||
- masm.initStackPtr();
|
||||
+ // ARM64 communicates stack address via sp, but uses a pseudo-sp (PSP) for
|
||||
+ // addressing. The register we use for PSP may however also be used by
|
||||
+ // calling code, and it is nonvolatile, so save it. Do this as a special
|
||||
+ // case first because the generic save/restore code needs the PSP to be
|
||||
+ // initialized already.
|
||||
+ MOZ_ASSERT(PseudoStackPointer64.Is(masm.GetStackPointer64()));
|
||||
+ masm.Str(PseudoStackPointer64, vixl::MemOperand(sp, -16, vixl::PreIndex));
|
||||
+
|
||||
+ // Initialize the PSP from the SP.
|
||||
+ masm.initStackPtr();
|
||||
#endif
|
||||
|
||||
MOZ_ASSERT(propertiesReg.volatile_());
|
||||
@@ -239,7 +246,22 @@ static const uintptr_t CLEAR_CONSTRUCTOR_CODE_TOKEN = 0x1;
|
||||
if (ScratchDoubleReg.volatile_()) masm.pop(ScratchDoubleReg);
|
||||
masm.PopRegsInMask(savedNonVolatileRegisters);
|
||||
|
||||
- masm.abiret();
|
||||
+#ifdef JS_CODEGEN_ARM64
|
||||
+ // Now restore the value that was in the PSP register on entry, and return.
|
||||
+
|
||||
+ // Obtain the correct SP from the PSP.
|
||||
+ masm.Mov(sp, PseudoStackPointer64);
|
||||
+
|
||||
+ // Restore the saved value of the PSP register, this value is whatever the
|
||||
+ // caller had saved in it, not any actual SP value, and it must not be
|
||||
+ // overwritten subsequently.
|
||||
+ masm.Ldr(PseudoStackPointer64, vixl::MemOperand(sp, 16, vixl::PostIndex));
|
||||
+
|
||||
+ // Perform a plain Ret(), as abiret() will move SP <- PSP and that is wrong.
|
||||
+ masm.Ret(vixl::lr);
|
||||
+#else
|
||||
+ masm.abiret();
|
||||
+#endif
|
||||
|
||||
masm.bind(&failureStoreOther);
|
||||
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -1,97 +0,0 @@
|
|||
# HG changeset patch
|
||||
# User Lars T Hansen <lhansen@mozilla.com>
|
||||
# Date 1521449886 -3600
|
||||
# Node ID 903a79a1efff18fc7cc50db09a3fe5d768adc9a8
|
||||
# Parent 4d2955a9ca7e30ca4c3af9c214ccc77fb2fe7fb8
|
||||
Bug 1445907 - Save x28 before clobbering it in the regex compiler. r=sstangl
|
||||
|
||||
Origin: upstream
|
||||
Applied-upstream: 61, commit: https://hg.mozilla.org/mozilla-central/rev/903a79a1efff
|
||||
---
|
||||
diff --git a/js/src/irregexp/NativeRegExpMacroAssembler.cpp b/js/src/irregexp/NativeRegExpMacroAssembler.cpp
|
||||
--- js/src/irregexp/NativeRegExpMacroAssembler.cpp
|
||||
+++ js/src/irregexp/NativeRegExpMacroAssembler.cpp
|
||||
@@ -118,17 +118,25 @@ NativeRegExpMacroAssembler::GenerateCode
|
||||
|
||||
Label return_temp0;
|
||||
|
||||
// Finalize code - write the entry point code now we know how many
|
||||
// registers we need.
|
||||
masm.bind(&entry_label_);
|
||||
|
||||
#ifdef JS_CODEGEN_ARM64
|
||||
- // ARM64 communicates stack address via sp, but uses a pseudo-sp for addressing.
|
||||
+ // ARM64 communicates stack address via SP, but uses a pseudo-sp (PSP) for
|
||||
+ // addressing. The register we use for PSP may however also be used by
|
||||
+ // calling code, and it is nonvolatile, so save it. Do this as a special
|
||||
+ // case first because the generic save/restore code needs the PSP to be
|
||||
+ // initialized already.
|
||||
+ MOZ_ASSERT(PseudoStackPointer64.Is(masm.GetStackPointer64()));
|
||||
+ masm.Str(PseudoStackPointer64, vixl::MemOperand(sp, -16, vixl::PreIndex));
|
||||
+
|
||||
+ // Initialize the PSP from the SP.
|
||||
masm.initStackPtr();
|
||||
#endif
|
||||
|
||||
// Push non-volatile registers which might be modified by jitcode.
|
||||
size_t pushedNonVolatileRegisters = 0;
|
||||
for (GeneralRegisterForwardIterator iter(savedNonVolatileRegisters); iter.more(); ++iter) {
|
||||
masm.Push(*iter);
|
||||
pushedNonVolatileRegisters++;
|
||||
@@ -416,17 +424,32 @@ NativeRegExpMacroAssembler::GenerateCode
|
||||
masm.pop(temp0);
|
||||
masm.movePtr(temp0, StackPointer);
|
||||
#endif
|
||||
|
||||
// Restore non-volatile registers which were saved on entry.
|
||||
for (GeneralRegisterBackwardIterator iter(savedNonVolatileRegisters); iter.more(); ++iter)
|
||||
masm.Pop(*iter);
|
||||
|
||||
+#ifdef JS_CODEGEN_ARM64
|
||||
+ // Now restore the value that was in the PSP register on entry, and return.
|
||||
+
|
||||
+ // Obtain the correct SP from the PSP.
|
||||
+ masm.Mov(sp, PseudoStackPointer64);
|
||||
+
|
||||
+ // Restore the saved value of the PSP register, this value is whatever the
|
||||
+ // caller had saved in it, not any actual SP value, and it must not be
|
||||
+ // overwritten subsequently.
|
||||
+ masm.Ldr(PseudoStackPointer64, vixl::MemOperand(sp, 16, vixl::PostIndex));
|
||||
+
|
||||
+ // Perform a plain Ret(), as abiret() will move SP <- PSP and that is wrong.
|
||||
+ masm.Ret(vixl::lr);
|
||||
+#else
|
||||
masm.abiret();
|
||||
+#endif
|
||||
|
||||
// Backtrack code (branch target for conditional backtracks).
|
||||
if (backtrack_label_.used()) {
|
||||
masm.bind(&backtrack_label_);
|
||||
Backtrack();
|
||||
}
|
||||
|
||||
// Backtrack stack overflow code.
|
||||
diff --git a/js/src/jit-test/tests/regexp/bug1445907.js b/js/src/jit-test/tests/regexp/bug1445907.js
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/js/src/jit-test/tests/regexp/bug1445907.js
|
||||
@@ -0,0 +1,15 @@
|
||||
+// On ARM64, we failed to save x28 properly when generating code for the regexp
|
||||
+// matcher.
|
||||
+//
|
||||
+// There's wasm and Debugger code here because the combination forces the use of
|
||||
+// x28 and exposes the bug when running on the simulator.
|
||||
+
|
||||
+if (!wasmIsSupported())
|
||||
+ quit();
|
||||
+
|
||||
+var g = newGlobal('');
|
||||
+var dbg = new Debugger(g);
|
||||
+g.eval(`var m = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary('(module (func (export "test")))')))`);
|
||||
+var re = /./;
|
||||
+dbg.onEnterFrame = function(frame) { re.exec("x") };
|
||||
+result = g.eval("m.exports.test()");
|
||||
|
||||
--
|
||||
2.21.0
|
||||
|
84
srcpkgs/icecat/patches/skia-sucks1.patch
Normal file
84
srcpkgs/icecat/patches/skia-sucks1.patch
Normal file
|
@ -0,0 +1,84 @@
|
|||
# HG changeset patch
|
||||
# Parent 548d0a2f3a22bfac32ec0c3921c6c969c8bf32a9
|
||||
|
||||
diff -r 548d0a2f3a22 gfx/2d/ConvolutionFilter.cpp
|
||||
--- gfx/2d/ConvolutionFilter.cpp Mon Jul 22 16:57:54 2019 +0200
|
||||
+++ gfx/2d/ConvolutionFilter.cpp Thu Jul 25 14:27:59 2019 +0200
|
||||
@@ -35,9 +35,38 @@
|
||||
return true;
|
||||
}
|
||||
|
||||
+static void ByteSwapArray(uint8_t *u8Array, int32_t size) {
|
||||
+ uint32_t *array = reinterpret_cast<uint32_t*>(u8Array);
|
||||
+ for (int pxl = 0; pxl < size; ++pxl) {
|
||||
+ // Use an endian swap to move the bytes, i.e. BGRA -> ARGB.
|
||||
+ uint32_t rgba = array[pxl];
|
||||
+ array[pxl] = NativeEndian::swapToLittleEndian(rgba);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
void ConvolutionFilter::ConvolveHorizontally(const uint8_t* aSrc, uint8_t* aDst,
|
||||
bool aHasAlpha) {
|
||||
+#ifdef MOZ_BIG_ENDIAN
|
||||
+ int outputSize = mFilter->numValues();
|
||||
+
|
||||
+ // Input size isn't handed in, so we have to calculate it quickly
|
||||
+ int inputSize = 0;
|
||||
+ for (int xx = 0; xx < outputSize; ++xx) {
|
||||
+ // Get the filter that determines the current output pixel.
|
||||
+ int filterOffset, filterLength;
|
||||
+ mFilter->FilterForValue(xx, &filterOffset, &filterLength);
|
||||
+ inputSize = std::max(inputSize, filterOffset + filterLength);
|
||||
+ }
|
||||
+
|
||||
+ ByteSwapArray((uint8_t*)aSrc, inputSize);
|
||||
+#endif
|
||||
+
|
||||
SkOpts::convolve_horizontally(aSrc, *mFilter, aDst, aHasAlpha);
|
||||
+
|
||||
+#ifdef MOZ_BIG_ENDIAN
|
||||
+ ByteSwapArray((uint8_t*)aSrc, inputSize);
|
||||
+ ByteSwapArray(aDst, outputSize);
|
||||
+#endif
|
||||
}
|
||||
|
||||
void ConvolutionFilter::ConvolveVertically(uint8_t* const* aSrc, uint8_t* aDst,
|
||||
@@ -49,8 +78,26 @@
|
||||
int32_t filterLength;
|
||||
auto filterValues =
|
||||
mFilter->FilterForValue(aRowIndex, &filterOffset, &filterLength);
|
||||
+
|
||||
+#ifdef MOZ_BIG_ENDIAN
|
||||
+ for (int filterY = 0; filterY < filterLength; filterY++) {
|
||||
+ // Skia only knows LE, so we have to swizzle the input
|
||||
+ ByteSwapArray(aSrc[filterY], aRowSize);
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
SkOpts::convolve_vertically(filterValues, filterLength, aSrc, aRowSize, aDst,
|
||||
aHasAlpha);
|
||||
+
|
||||
+#ifdef MOZ_BIG_ENDIAN
|
||||
+ // After skia is finished, we swizzle back to BE, in case
|
||||
+ // the input is used again somewhere else
|
||||
+ for (int filterY = 0; filterY < filterLength; filterY++) {
|
||||
+ ByteSwapArray(aSrc[filterY], aRowSize);
|
||||
+ }
|
||||
+ // The destination array as well
|
||||
+ ByteSwapArray(aDst, aRowSize);
|
||||
+#endif
|
||||
}
|
||||
|
||||
/* ConvolutionFilter::ComputeResizeFactor is derived from Skia's
|
||||
diff -r 548d0a2f3a22 gfx/skia/skia/include/core/SkPreConfig.h
|
||||
--- gfx/skia/skia/include/core/SkPreConfig.h Mon Jul 22 16:57:54 2019 +0200
|
||||
+++ gfx/skia/skia/include/core/SkPreConfig.h Thu Jul 25 14:27:59 2019 +0200
|
||||
@@ -73,7 +73,7 @@
|
||||
defined(__ppc__) || defined(__hppa) || \
|
||||
defined(__PPC__) || defined(__PPC64__) || \
|
||||
defined(_MIPSEB) || defined(__ARMEB__) || \
|
||||
- defined(__s390__) || \
|
||||
+ defined(__s390__) || defined(__s390x__) || \
|
||||
(defined(__sh__) && defined(__BIG_ENDIAN__)) || \
|
||||
(defined(__ia64) && defined(__BIG_ENDIAN__))
|
||||
#define SK_CPU_BENDIAN
|
44
srcpkgs/icecat/patches/skia-sucks2.patch
Normal file
44
srcpkgs/icecat/patches/skia-sucks2.patch
Normal file
|
@ -0,0 +1,44 @@
|
|||
# HG changeset patch
|
||||
# Parent aecb4600e5da17443b224c79eee178c1d8e155e3
|
||||
For FF68, AntiAliasing of XULTexts seem to be broken on big endian (s390x). Text and icons of the sandwich-menu to the
|
||||
right of the address bar, as well as plugin-windows appears transparant, which usually means unreadable (white on white).
|
||||
|
||||
diff -r aecb4600e5da gfx/skia/skia/include/private/SkNx.h
|
||||
--- gfx/skia/skia/include/private/SkNx.h Tue Aug 20 09:46:55 2019 +0200
|
||||
+++ gfx/skia/skia/include/private/SkNx.h Mon Sep 09 10:04:06 2019 +0200
|
||||
@@ -238,7 +238,18 @@
|
||||
AI SkNx operator*(const SkNx& y) const { return fVal * y.fVal; }
|
||||
AI SkNx operator/(const SkNx& y) const { return fVal / y.fVal; }
|
||||
|
||||
+ // On Big endian the commented out variant doesn't work,
|
||||
+ // and honestly, I have no idea why it exists in the first place.
|
||||
+ // The reason its broken is, I think, that it defaults to the double-variant of ToBits()
|
||||
+ // which gets a 64-bit integer, and FromBits returns 32-bit,
|
||||
+ // cutting off the wrong half again.
|
||||
+ // Overall, I see no reason to have ToBits and FromBits at all (even for floats/doubles).
|
||||
+ // Still we are only "fixing" this for big endian and leave little endian alone (never touch a running system)
|
||||
+#ifdef SK_CPU_BENDIAN
|
||||
+ AI SkNx operator&(const SkNx& y) const { return fVal & y.fVal; }
|
||||
+#else
|
||||
AI SkNx operator&(const SkNx& y) const { return FromBits(ToBits(fVal) & ToBits(y.fVal)); }
|
||||
+#endif
|
||||
AI SkNx operator|(const SkNx& y) const { return FromBits(ToBits(fVal) | ToBits(y.fVal)); }
|
||||
AI SkNx operator^(const SkNx& y) const { return FromBits(ToBits(fVal) ^ ToBits(y.fVal)); }
|
||||
|
||||
diff -r aecb4600e5da gfx/skia/skia/src/opts/SkBlitMask_opts.h
|
||||
--- gfx/skia/skia/src/opts/SkBlitMask_opts.h Tue Aug 20 09:46:55 2019 +0200
|
||||
+++ gfx/skia/skia/src/opts/SkBlitMask_opts.h Mon Sep 09 10:04:06 2019 +0200
|
||||
@@ -203,7 +203,13 @@
|
||||
// ~~~>
|
||||
// a = 1*aa + d(1-1*aa) = aa + d(1-aa)
|
||||
// c = 0*aa + d(1-1*aa) = d(1-aa)
|
||||
+
|
||||
+ // For big endian we have to swap the alpha-mask from 0,0,0,255 to 255,0,0,0
|
||||
+#ifdef SK_CPU_BENDIAN
|
||||
+ return Sk4px(Sk16b(aa) & Sk16b(255,0,0,0, 255,0,0,0, 255,0,0,0, 255,0,0,0))
|
||||
+#else
|
||||
return Sk4px(Sk16b(aa) & Sk16b(0,0,0,255, 0,0,0,255, 0,0,0,255, 0,0,0,255))
|
||||
+#endif
|
||||
+ d.approxMulDiv255(aa.inv());
|
||||
};
|
||||
while (h --> 0) {
|
30
srcpkgs/icecat/patches/skia-sucks3.patch
Normal file
30
srcpkgs/icecat/patches/skia-sucks3.patch
Normal file
|
@ -0,0 +1,30 @@
|
|||
# HG changeset patch
|
||||
# Parent 46ea866ca3acb8bb5e1709ceb799b9c94f591dec
|
||||
Problem description: Tab-titles that are too long to fit into a tab get faded out.
|
||||
On big endian this is broken and instead of fading out, the
|
||||
tab gets white and the font transparent, leading to an unreadable
|
||||
tab-title
|
||||
Solution: This is not a real solution, but a hack. The real solution would have been
|
||||
to byte-swap the correct buffer, but I could not find it.
|
||||
So the next best thing is to deactivate the fading-effect. Now all tab-titles
|
||||
are readable, albeit not as pretty to look at as they could be.
|
||||
Side-effects: I have not yet found an unwanted side-effect.
|
||||
|
||||
diff -r 46ea866ca3ac -r 6ef20eee3f8f gfx/2d/DrawTargetSkia.cpp
|
||||
--- gfx/2d/DrawTargetSkia.cpp Tue Oct 22 12:27:22 2019 +0200
|
||||
+++ gfx/2d/DrawTargetSkia.cpp Thu Oct 31 09:11:56 2019 +0100
|
||||
@@ -1861,6 +1861,14 @@
|
||||
SkCanvas::kPreserveLCDText_SaveLayerFlag |
|
||||
(aCopyBackground ? SkCanvas::kInitWithPrevious_SaveLayerFlag : 0));
|
||||
|
||||
+#if MOZ_BIG_ENDIAN
|
||||
+ // Pushing a layer where an aMask is defined produces wrong output.
|
||||
+ // We _should_ endian swap the data, but I couldn't find a workable way to do so
|
||||
+ // Therefore I deactivate those layers in the meantime.
|
||||
+ // The result is: Tab-titles that are longer than the available space should be faded out.
|
||||
+ // The fading doesn't work, so we deactivate the fading-effect here.
|
||||
+ if (!aMask)
|
||||
+#endif
|
||||
mCanvas->saveLayer(saveRec);
|
||||
|
||||
SetPermitSubpixelAA(aOpaque);
|
|
@ -51,14 +51,14 @@
|
|||
]
|
||||
--- build/moz.configure/old.configure.orig
|
||||
+++ build/moz.configure/old.configure
|
||||
@@ -159,6 +159,7 @@
|
||||
'--enable-accessibility',
|
||||
'--enable-address-sanitizer',
|
||||
'--enable-alsa',
|
||||
@@ -169,6 +169,7 @@
|
||||
@old_configure_options(
|
||||
'--cache-file',
|
||||
'--datadir',
|
||||
+ '--enable-sndio',
|
||||
'--enable-bundled-fonts',
|
||||
'--enable-clang-plugin',
|
||||
'--enable-content-sandbox',
|
||||
'--enable-cookies',
|
||||
'--enable-cpp-rtti',
|
||||
--- security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp.orig
|
||||
+++ security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
|
||||
@@ -349,6 +349,21 @@
|
||||
|
|
|
@ -1,44 +1,46 @@
|
|||
# Template file for 'icecat'
|
||||
pkgname=icecat
|
||||
version=60.7.0
|
||||
revision=4
|
||||
version=68.6.1
|
||||
revision=1
|
||||
build_helper="rust"
|
||||
hostmakedepends="autoconf213 unzip zip pkg-config perl python yasm
|
||||
cargo llvm clang rust cbindgen tar"
|
||||
makedepends="gtk+-devel hunspell-devel libXt-devel libatomic-devel
|
||||
libevent-devel libnotify-devel libvpx5-devel nss-devel rust-std sqlite-devel
|
||||
$(vopt_if alsa 'alsa-lib-devel') $(vopt_if dbus 'dbus-glib-devel')
|
||||
$(vopt_if gtk3 'gtk+3-devel') $(vopt_if pulseaudio 'pulseaudio-devel')
|
||||
$(vopt_if startup_notification 'startup-notification-devel')
|
||||
$(vopt_if xscreensaver 'libXScrnSaver-devel') $(vopt_if sndio 'sndio-devel')"
|
||||
depends="desktop-file-utils hicolor-icon-theme nss>=3.19"
|
||||
python3 cargo llvm clang rust cbindgen nasm nodejs-lts-10 tar which"
|
||||
makedepends="nss-devel libjpeg-turbo-devel gtk+-devel gtk+3-devel icu-devel
|
||||
pixman-devel sqlite-devel libevent-devel libnotify-devel libvpx5-devel
|
||||
libXrender-devel libXcomposite-devel libSM-devel libXt-devel rust-std
|
||||
libXdamage-devel $(vopt_if alsa alsa-lib-devel)
|
||||
$(vopt_if dbus dbus-glib-devel) $(vopt_if pulseaudio pulseaudio-devel)
|
||||
$(vopt_if startup_notification startup-notification-devel)
|
||||
$(vopt_if xscreensaver libXScrnSaver-devel) $(vopt_if sndio sndio-devel)"
|
||||
depends="nss>=3.44.3 desktop-file-utils hicolor-icon-theme"
|
||||
short_desc="GNU version of the Firefox browser"
|
||||
maintainer="Jürgen Buchmüller <pullmoll@t-online.de>"
|
||||
license="MPL-1.1, GPL-2.0-or-later, LGPL-2.1-or-later"
|
||||
homepage="https://www.gnu.org/software/${pkgname}/"
|
||||
distfiles="${GNU_SITE}/${pkgname}/${version}/${pkgname}-${version}-gnu1.tar.bz2"
|
||||
checksum=6873d55b13e2d95ede3bf5bb59769179e91b1c4e05d8538d1576f18c9a6bb827
|
||||
distfiles="https://distfiles.voidlinux.de/${pkgname}-${version}/${pkgname}-${version}-gnu1.tar.bz2"
|
||||
checksum=2289ae3a31ec123bae74ad8729997aea6c14037a1b8a6daf3f6cf8b2f6dc60d1
|
||||
lib32disabled=yes
|
||||
|
||||
build_options="alsa dbus gtk3 pulseaudio startup_notification sndio xscreensaver"
|
||||
build_options_default="alsa dbus gtk3 pulseaudio startup_notification sndio xscreensaver"
|
||||
|
||||
case $XBPS_TARGET_MACHINE in
|
||||
armv6*)
|
||||
broken="required NEON extensions are not supported on armv6"
|
||||
;;
|
||||
armv6*) broken="required NEON extensions are not supported on armv6" ;;
|
||||
i686) broken="/usr/bin/ld: read-only segment has dynamic relocations" ;;
|
||||
ppc64*) broken="doesn't work" ;;
|
||||
ppc*) broken="ftbfs in several places" ;;
|
||||
ppc*) broken="xptcall bitrot" ;;
|
||||
esac
|
||||
|
||||
CXXFLAGS="-Wno-class-memaccess -Wno-unused-function"
|
||||
|
||||
if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
|
||||
makedepends+=" libatomic-devel"
|
||||
fi
|
||||
if [ "$XBPS_WORDSIZE" -eq 32 ]; then
|
||||
nodebug=yes
|
||||
fi
|
||||
|
||||
# we need this because cargo verifies checksums of all files in vendor
|
||||
# we need thi because cargo verifies s because cargo verifies checksums of all files in vendor
|
||||
# crates when it builds and gives us no way to override or update the
|
||||
# file sanely... so just clear out the file list
|
||||
_clear_vendor_checksums() {
|
||||
|
@ -51,18 +53,10 @@ post_extract() {
|
|||
cp "${FILESDIR}/stab.h" toolkit/crashreporter/google-breakpad/src/
|
||||
;;
|
||||
esac
|
||||
# Google API key (see http://www.chromium.org/developers/how-tos/api-keys)
|
||||
# Note: This is for Void Linux use ONLY.
|
||||
echo -n "AIzaSyCIFdBA7eQP43R6kXRwTq7j6Mvj1ITze90" > google-api-key
|
||||
|
||||
# Mozilla API keys (see https://location.services.mozilla.com/api)
|
||||
# Note: This is for Void Linux use ONLY.
|
||||
echo -n "cd894504-7a2a-4263-abff-ff73ee89ffca" > mozilla-api-key
|
||||
}
|
||||
|
||||
post_patch() {
|
||||
_clear_vendor_checksums cssparser
|
||||
_clear_vendor_checksums url
|
||||
}
|
||||
|
||||
do_build() {
|
||||
|
@ -83,6 +77,16 @@ do_build() {
|
|||
;;
|
||||
esac
|
||||
|
||||
# webrtc currently fails to build on 32-bit ppc...
|
||||
case "$XBPS_TARGET_MACHINE" in
|
||||
ppc64*) ;;
|
||||
ppc*) echo "ac_add_options --disable-webrtc" >>.mozconfig ;;
|
||||
esac
|
||||
|
||||
if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
|
||||
export LDFLAGS+=" -latomic"
|
||||
fi
|
||||
|
||||
if [ "$CROSS_BUILD" ]; then
|
||||
BINDGEN_INCLUDE_FLAGS=$( $CPP -x c++ -v /dev/null -o /dev/null 2>&1 | \
|
||||
sed -n '/#include <...> search starts here:/,/End of search list./p' | \
|
||||
|
@ -110,17 +114,23 @@ do_build() {
|
|||
mkdir -p third_party/rust/libloading/.deps
|
||||
|
||||
case "$XBPS_TARGET_MACHINE" in
|
||||
i686*)
|
||||
echo "ac_add_options --disable-debug-symbols" >>.mozconfig
|
||||
export CFLAGS+=" -D_FILE_OFFSET_BITS=64"
|
||||
export CXXFLAGS+=" -D_FILE_OFFSET_BITS=64"
|
||||
;;
|
||||
armv7*)
|
||||
export CFLAGS+=" -mfpu=neon -Wno-psabi"
|
||||
export CXXFLAGS+=" -mfpu=neon -Wno-psabi"
|
||||
;;
|
||||
esac
|
||||
|
||||
# work around large debug symbols on 32-bit hosts
|
||||
if [ "$XBPS_WORDSIZE" = "32" ]; then
|
||||
export CFLAGS="${CFLAGS/-g/-g1}"
|
||||
export CXXFLAGS="${CXXFLAGS/-g/-g1}"
|
||||
export LDFLAGS+=" -Wl,--no-keep-memory"
|
||||
# patch the rust debug level, this is hardcoded
|
||||
sed -i "s/debug_info = '2'/debug_info = '1'/" \
|
||||
build/moz.configure/toolchain.configure
|
||||
fi
|
||||
|
||||
|
||||
export LDFLAGS+=" -Wl,-rpath=/usr/lib/icecat"
|
||||
|
||||
if [ "$SOURCE_DATE_EPOCH" ]; then
|
||||
|
@ -130,12 +140,10 @@ do_build() {
|
|||
export MOZ_MAKE_FLAGS="${makejobs}"
|
||||
export MOZ_NOSPAM=1
|
||||
export MOZ_MAKE_FLAGS="${makejobs}"
|
||||
export MOZBUILD_STATE_PATH="${wrksrc}/mozbuild"
|
||||
|
||||
export AS=$CC
|
||||
|
||||
cat >>.mozconfig <<EOF
|
||||
ac_add_options --with-google-location-service-api-keyfile="${wrksrc}/google-api-key"
|
||||
ac_add_options --with-google-safebrowsing-api-keyfile="${wrksrc}/google-api-key"
|
||||
ac_add_options --with-mozilla-api-keyfile="${wrksrc}/mozilla-api-key"
|
||||
ac_add_options $(vopt_enable alsa)
|
||||
ac_add_options $(vopt_enable sndio)
|
||||
ac_add_options $(vopt_enable dbus)
|
||||
|
@ -144,6 +152,8 @@ ac_add_options $(vopt_enable pulseaudio)
|
|||
ac_add_options $(vopt_enable startup_notification startup-notification)
|
||||
EOF
|
||||
|
||||
rm -f old-configure
|
||||
|
||||
./mach build
|
||||
}
|
||||
do_install() {
|
||||
|
|
Loading…
Add table
Reference in a new issue