summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nonprism/icedove/PKGBUILD41
-rw-r--r--nonprism/icedove/arm-wasm-vfp.patch15
-rw-r--r--nonprism/icedove/mozilla-1338795-regression.patch11
-rw-r--r--nonprism/icedove/thunderbird-rust-1.39.patch170
4 files changed, 53 insertions, 184 deletions
diff --git a/nonprism/icedove/PKGBUILD b/nonprism/icedove/PKGBUILD
index 45350a1d5..1a0a43ec8 100644
--- a/nonprism/icedove/PKGBUILD
+++ b/nonprism/icedove/PKGBUILD
@@ -21,10 +21,10 @@ _pkgname=thunderbird
pkgname=icedove
replaces=("$_pkgname")
epoch=1
-pkgver=68.2.2
-pkgrel=2
+pkgver=68.6.0
+pkgrel=1
pkgrel+=.parabola1.nonprism1
-_brandingver=68.2
+_brandingver=68.6
_brandingrel=1
pkgdesc='Standalone mail and news reader based on Mozilla Thunderbird'
pkgdesc+=', without support for unsafe and dangerous for privacy protocols'
@@ -40,26 +40,28 @@ makedepends+=(quilt mozilla-searchplugins python2-blessings imagemagick)
optdepends=('libcanberra: sound support')
options=(!emptydirs !makeflags)
source=(https://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/$pkgver/source/thunderbird-$pkgver.source.tar.xz{,.asc}
- $pkgname.desktop
- thunderbird-rust-1.39.patch)
+ $pkgname.desktop)
source+=(
https://repo.parabola.nu/other/icedove/${pkgname}_$_brandingver-$_brandingrel.branding.tar.xz{,.sig}
- libre-searchengines.patch)
-sha256sums=('c17edbcde0e9e7599cda16b69b130039f69113b498ea394057cedfae153f0dd3'
+ libre-searchengines.patch
+ mozilla-1338795-regression.patch)
+source_armv7h=(arm-wasm-vfp.patch)
+sha256sums=('4e3b8fdcfae12e7d49232a9c324e82d47ed94b371031f31baf69b2f7c2fb5b51'
'SKIP'
'af8199a12ebe09189d143458bd1e2d0071aff3410ed121dc2329a448a56632f0'
- '08834ef1c2dd685edd40dea20dfa9d4b889f5c387385ac329a162eeff6cf90be'
- 'b36792a6fcbe68841bc842723222c88ecf1f54f7f75bd634b216b61f3ae422f2'
+ '23693c60df02067981dbcad7c58c29e6e38a73b54fd00cfabd94f38e45062dfd'
'SKIP'
- '072bba9d9ef4cfcb03b3776a15e52020e05c685add38329bd041f680026f5898')
+ '072bba9d9ef4cfcb03b3776a15e52020e05c685add38329bd041f680026f5898'
+ 'dbec24e57a445b1076a11fde00d0f5b8cd53ce314c2b9d3cd2a83bd84fc25375')
+sha256sums_armv7h=(bc00516032330760444939c516a60c78f868631e1b37f075f0fe71a53737b966)
validpgpkeys=(14F26682D0916CDD81E37B6D61B7B526D98F0353) # Mozilla Software Releases <release@mozilla.com>
validpgpkeys+=(BFA8008A8265677063B11BF47171986E4B745536) # Andreas Grapentin
prepare() {
cd $_pkgname-$pkgver
- patch -p1 -i ../thunderbird-rust-1.39.patch # Fix build with rust 1.39 (Gentoo)
-
+ # see https://labs.parabola.nu/issues/2267
+ patch -Np1 -i "$srcdir"/mozilla-1338795-regression.patch
cat >.mozconfig <<END
ac_add_options --enable-application=comm/mail
@@ -104,10 +106,15 @@ ac_add_options --disable-tests
END
if [[ $CARCH = arm* ]]; then
+ patch -Np1 -i "$srcdir"/arm-wasm-vfp.patch
+
sed -i '/--enable-linker=gold/d' .mozconfig
sed -i '/--enable-hardening/d' .mozconfig
sed -i '/--enable-optimize/d' .mozconfig
+ LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
+ export LDFLAGS
+
cat >> .mozconfig <<END
ac_add_options --disable-webrtc
ac_add_options --disable-elf-hack
@@ -117,6 +124,8 @@ END
if [[ $CARCH = i686 ]]; then
sed -i 's/--enable-linker=gold/--enable-linker=bfd/' .mozconfig
+ LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
+ export LDFLAGS
fi
# perform rebranding
@@ -188,11 +197,15 @@ build() {
if [[ $CARCH = armv7h ]]; then
export LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
+ sed -i "s/\(cargo_rustc_flags += -C lto\)/#\1/" config/rules.mk
+ sed -i "s/debug_info = '2'/debug_info = '1'/" build/moz.configure/toolchain.configure
+ export MOZ_MAKE_FLAGS=-j1
fi
if [[ $CARCH = i686 ]]; then
- sed -i 's/\(cargo_rustc_flags += -C lto\)/#\1/' config/rules.mk
- export LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
+ sed -i "s/\(cargo_rustc_flags += -C lto\)/#\1/" config/rules.mk
+ sed -i "s/debug_info = '2'/debug_info = '1'/" build/moz.configure/toolchain.configure
+ export MOZ_MAKE_FLAGS=-j1
fi
./mach configure
diff --git a/nonprism/icedove/arm-wasm-vfp.patch b/nonprism/icedove/arm-wasm-vfp.patch
new file mode 100644
index 000000000..9e2ed1510
--- /dev/null
+++ b/nonprism/icedove/arm-wasm-vfp.patch
@@ -0,0 +1,15 @@
+https://bugzilla.mozilla.org/show_bug.cgi?id=1526653
+
+diff --git a/js/src/wasm/WasmSignalHandlers.cpp.orig b/js/src/wasm/WasmSignalHandlers.cpp
+index 636537f..0f3461a 100644
+--- a/js/src/wasm/WasmSignalHandlers.cpp.orig
++++ b/js/src/wasm/WasmSignalHandlers.cpp
+@@ -244,7 +244,7 @@ using mozilla::DebugOnly;
+ // emulation here.
+
+ #if defined(__linux__) && defined(__arm__)
+-# define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
++//# define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
+ #endif
+
+ #ifdef WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
diff --git a/nonprism/icedove/mozilla-1338795-regression.patch b/nonprism/icedove/mozilla-1338795-regression.patch
new file mode 100644
index 000000000..2c8cf2112
--- /dev/null
+++ b/nonprism/icedove/mozilla-1338795-regression.patch
@@ -0,0 +1,11 @@
+--- a/comm/mailnews/base/prefs/content/accountUtils.js 2020-04-04 22:28:38.105521722 +0200
++++ b/comm/mailnews/base/prefs/content/accountUtils.js 2020-04-04 22:28:50.809027238 +0200
+@@ -488,7 +488,7 @@ function msgNewMailAccount(msgWindow, ok
+ let existingWindow = Services.wm.getMostRecentWindow("mail:autoconfig");
+ if (existingWindow) {
+ existingWindow.focus();
+- } else if (AppConstants.MOZ_APP_NAME == "thunderbird") {
++ } else {
+ // disabling modal for the time being, see 688273 REMOVEME
+ window.openDialog(
+ "chrome://messenger/content/accountcreation/emailWizard.xul",
diff --git a/nonprism/icedove/thunderbird-rust-1.39.patch b/nonprism/icedove/thunderbird-rust-1.39.patch
deleted file mode 100644
index bfb71cbb7..000000000
--- a/nonprism/icedove/thunderbird-rust-1.39.patch
+++ /dev/null
@@ -1,170 +0,0 @@
-Based on https://github.com/rust-lang/rust/issues/64710
-
---- a/third_party/rust/bindgen/.cargo-checksum.json
-+++ b/third_party/rust/bindgen/.cargo-checksum.json
-@@ -1 +1 @@
--{"files":{"Cargo.toml":"9af635e7bad9021a49742a312faf6178b757dbd48aabc998931d6f491f14c179","LICENSE":"c23953d9deb0a3312dbeaf6c128a657f3591acee45067612fa68405eaa4525db","README.md":"5a1f556c6a57c0a6ccc65e19c27718e0f4b32381a8efcc80f6601b33c58c5d59","build.rs":"a9f6915c54d75f357ce32f96327bf4df53dc81a505b70831978f9dac6f43841d","src/callbacks.rs":"b24d7982332c6a35928f134184ddf4072fe4545a45546b97b9b0e0c1fbb77c08","src/clang.rs":"e9203eb5a1b432efebafcd011896e35e8c9145037bf99e7bb3709dc1b8e8e783","src/codegen/bitfield_unit.rs":"88b0604322dc449fc9284850eadc1f5d14b42fa747d4258bae0b6b9535f52dfd","src/codegen/bitfield_unit_tests.rs":"2073ac6a36e0bc9afaef5b1207966817c8fb7a1a9f6368c3b1b8f79822efbfba","src/codegen/error.rs":"2613af1d833377fd4a70719f4a09951d9d45dc9227827b9a2a938a1bcaaea2dd","src/codegen/helpers.rs":"fbd23e68dd51ccaddeb9761394d5df2db49baded0e2dccf6bbc52a2d6de502eb","src/codegen/impl_debug.rs":"f82969461d522fb758eca552ceaf189122a404cbb47fcc16008bfe52fc62aefa","src/codegen/impl_partialeq.rs":"d40d9ee2849c4d3d557b033c4d3af5e6de4a44347f67c0f016198086338811af","src/codegen/mod.rs":"238d989e13b7556e5d120a2bfe85b43332fba56cbe8df886d4c32e650fff1247","src/codegen/struct_layout.rs":"3fa5524aff82365ce292b0cc85080514c85a6dbd31bce90f001773b995dda28e","src/extra_assertions.rs":"494534bd4f18b80d89b180c8a93733e6617edcf7deac413e9a73fd6e7bc9ced7","src/features.rs":"c5fd7149f4a3b41fd4f89ade08505170942f4bc791bcb6a34fdddd3ae61856f8","src/ir/analysis/derive.rs":"325d4c1c1e6194e743f42a2316f1501b0ef852fe309f2e9cac3434825ad235f0","src/ir/analysis/has_destructor.rs":"63644f479738df35e531d3324ff892614083c3656e0747aa34d9f20dada878ec","src/ir/analysis/has_float.rs":"76162a309e4285a806755a08c687a3e7bc894a100a63da4e88584035e215b11d","src/ir/analysis/has_type_param_in_array.rs":"fdbc0af28a144c88ea2de83e6e6da5e1ffb40e3dd63fd7a708095d085bb06f94","src/ir/analysis/has_vtable.rs":"5788372d27bdbaaf0454bc17be31a5480918bc41a8a1c4832e8c61185c07f9cd","src/ir/analysis/mod.rs":"1f218e15c19f6666512908abc853fa7ff9ca5d0fafd94f026d9e4b0ce287ec3c","src/ir/analysis/sizedness.rs":"8dc10043d872e68e660ef96edca4d9733f95be45cdad4893462fa929b335014f","src/ir/analysis/template_params.rs":"6312c008bbc80f50e72a766756c8daddea0b6eeb31ec924b83a231df931e170e","src/ir/annotations.rs":"39a5ab19f4d5dfa617577e4a0d0d2b67b5369d480c7cca4b14d172458c9843f0","src/ir/comment.rs":"c48abe01c5af0f09f583a89f1394bc6c161b40f6c8f0f600bbfe3c907b47969b","src/ir/comp.rs":"ca439407faefbe3a198246f0a1dbdf4e40307e45eaaad317e85d1aab37bb31fc","src/ir/context.rs":"599226eb04d337a1b1b13af91af91bdb02dbd5f26f274cbc0ebc4489eb144fc0","src/ir/derive.rs":"34f9aa76b6c9c05136bb69dcd6455397faef571a567254d2c541d50a962994db","src/ir/dot.rs":"95ed2968fc3239d87892e9f1edf1ed6dd18630d949564961765967ea1d16960c","src/ir/enum_ty.rs":"9cc242d6b3c1866665594e8b306860ee39c0ea42d22198d46b7fded473fe3e84","src/ir/function.rs":"2d41d9df19f42b0c383f338be4c026c005853a8d1caf5f3e5a2f3a8dad202232","src/ir/int.rs":"07e0c7dbd2dd977177fae3acd2a14adf271c6cf9ff4b57cddc11d50734fd4801","src/ir/item.rs":"3bcdb69b793350e5744aec3577cdbb1e5068ece5220c38763cecd82dfb5e8f03","src/ir/item_kind.rs":"dbeae8c4fd0e5c9485d325aea040e056a1f2cd6d43fc927dee8fe1c0c59a7197","src/ir/layout.rs":"d49582081f5f86f7595afbe4845f38fb3b969a840b568f4a49b265e7d790bb5b","src/ir/mod.rs":"2eae90f207fad2e45957ec9287064992a419e3fc916aba84faff2ea25cbeb5ee","src/ir/module.rs":"c4d90bf38fe3672e01923734ccbdb7951ea929949d5f413a9c2aee12395a5094","src/ir/objc.rs":"758aa955a0c5d6ad82606c88a1f4cd1d93e666b71e82d43b18b1aaae96cf888a","src/ir/template.rs":"c0f8570b927dfd6a421fc4ce3094ec837a3ed936445225dbfac961e8e0842ae5","src/ir/traversal.rs":"ea751379a5aec02f93f8d2c61e18232776b1f000dbeae64b9a7195ba21a19dd6","src/ir/ty.rs":"952fb04cd6a71a2bca5c509aecacb42a1de0cae75824941541a38dc589f0993a","src/ir/var.rs":"8bdafb6d02f2c55ae11c28d88b19fb7a65ba8466da12ff039ae4c16c790b291e","src/lib.rs":"d5c8b404c515d30fc2d78b28eb84cff6b256f1f1e2dbd6aca280529bb2af6879","src/log_stubs.rs":"6dfdd908b7c6453da416cf232893768f9480e551ca4add0858ef88bf71ee6ceb","src/main.rs":"e519053bcdde6bc88f60f955246a02d53b3db1cc5ccd1612e6675b790b7460b0","src/options.rs":"041d635c8f6712ca32676a68f06d0245faed5577d9513786e058540ea2a69a7f","src/parse.rs":"be7d13cc84fae79ec7b3aa9e77063fa475a48d74a854423e2c72d75006a25202","src/regex_set.rs":"5cb72fc3714c0d79e9e942d003349c0775fafd7cd0c9603c65f5261883bbf9cf","src/time.rs":"3b763e6fee51d0eb01228dfe28bc28a9f692aff73b2a7b90a030902e0238fca6"},"package":"6bd7710ac8399ae1ebe1e3aac7c9047c4f39f2c94b33c997f482f49e96991f7c"}
-\ No newline at end of file
-+{"files":{"Cargo.toml":"9af635e7bad9021a49742a312faf6178b757dbd48aabc998931d6f491f14c179","LICENSE":"c23953d9deb0a3312dbeaf6c128a657f3591acee45067612fa68405eaa4525db","README.md":"5a1f556c6a57c0a6ccc65e19c27718e0f4b32381a8efcc80f6601b33c58c5d59","build.rs":"a9f6915c54d75f357ce32f96327bf4df53dc81a505b70831978f9dac6f43841d","src/callbacks.rs":"b24d7982332c6a35928f134184ddf4072fe4545a45546b97b9b0e0c1fbb77c08","src/clang.rs":"e9203eb5a1b432efebafcd011896e35e8c9145037bf99e7bb3709dc1b8e8e783","src/codegen/bitfield_unit.rs":"88b0604322dc449fc9284850eadc1f5d14b42fa747d4258bae0b6b9535f52dfd","src/codegen/bitfield_unit_tests.rs":"2073ac6a36e0bc9afaef5b1207966817c8fb7a1a9f6368c3b1b8f79822efbfba","src/codegen/error.rs":"2613af1d833377fd4a70719f4a09951d9d45dc9227827b9a2a938a1bcaaea2dd","src/codegen/helpers.rs":"fbd23e68dd51ccaddeb9761394d5df2db49baded0e2dccf6bbc52a2d6de502eb","src/codegen/impl_debug.rs":"f82969461d522fb758eca552ceaf189122a404cbb47fcc16008bfe52fc62aefa","src/codegen/impl_partialeq.rs":"d40d9ee2849c4d3d557b033c4d3af5e6de4a44347f67c0f016198086338811af","src/codegen/mod.rs":"238d989e13b7556e5d120a2bfe85b43332fba56cbe8df886d4c32e650fff1247","src/codegen/struct_layout.rs":"3fa5524aff82365ce292b0cc85080514c85a6dbd31bce90f001773b995dda28e","src/extra_assertions.rs":"494534bd4f18b80d89b180c8a93733e6617edcf7deac413e9a73fd6e7bc9ced7","src/features.rs":"c5fd7149f4a3b41fd4f89ade08505170942f4bc791bcb6a34fdddd3ae61856f8","src/ir/analysis/derive.rs":"325d4c1c1e6194e743f42a2316f1501b0ef852fe309f2e9cac3434825ad235f0","src/ir/analysis/has_destructor.rs":"63644f479738df35e531d3324ff892614083c3656e0747aa34d9f20dada878ec","src/ir/analysis/has_float.rs":"76162a309e4285a806755a08c687a3e7bc894a100a63da4e88584035e215b11d","src/ir/analysis/has_type_param_in_array.rs":"fdbc0af28a144c88ea2de83e6e6da5e1ffb40e3dd63fd7a708095d085bb06f94","src/ir/analysis/has_vtable.rs":"8c92a52c0f859c7bec7bfbc36b9d18f904baab0c8c9dc1b3e7af34de1a0b0da4","src/ir/analysis/mod.rs":"1f218e15c19f6666512908abc853fa7ff9ca5d0fafd94f026d9e4b0ce287ec3c","src/ir/analysis/sizedness.rs":"71f1a37f75b971ea5b0d8457473cc410947dbf706cb6d2c0338916910b78a675","src/ir/analysis/template_params.rs":"6312c008bbc80f50e72a766756c8daddea0b6eeb31ec924b83a231df931e170e","src/ir/annotations.rs":"39a5ab19f4d5dfa617577e4a0d0d2b67b5369d480c7cca4b14d172458c9843f0","src/ir/comment.rs":"c48abe01c5af0f09f583a89f1394bc6c161b40f6c8f0f600bbfe3c907b47969b","src/ir/comp.rs":"ca439407faefbe3a198246f0a1dbdf4e40307e45eaaad317e85d1aab37bb31fc","src/ir/context.rs":"599226eb04d337a1b1b13af91af91bdb02dbd5f26f274cbc0ebc4489eb144fc0","src/ir/derive.rs":"e5581852eec87918901a129284b4965aefc8a19394187a8095779a084f28fabe","src/ir/dot.rs":"95ed2968fc3239d87892e9f1edf1ed6dd18630d949564961765967ea1d16960c","src/ir/enum_ty.rs":"9cc242d6b3c1866665594e8b306860ee39c0ea42d22198d46b7fded473fe3e84","src/ir/function.rs":"2d41d9df19f42b0c383f338be4c026c005853a8d1caf5f3e5a2f3a8dad202232","src/ir/int.rs":"07e0c7dbd2dd977177fae3acd2a14adf271c6cf9ff4b57cddc11d50734fd4801","src/ir/item.rs":"3bcdb69b793350e5744aec3577cdbb1e5068ece5220c38763cecd82dfb5e8f03","src/ir/item_kind.rs":"dbeae8c4fd0e5c9485d325aea040e056a1f2cd6d43fc927dee8fe1c0c59a7197","src/ir/layout.rs":"d49582081f5f86f7595afbe4845f38fb3b969a840b568f4a49b265e7d790bb5b","src/ir/mod.rs":"2eae90f207fad2e45957ec9287064992a419e3fc916aba84faff2ea25cbeb5ee","src/ir/module.rs":"c4d90bf38fe3672e01923734ccbdb7951ea929949d5f413a9c2aee12395a5094","src/ir/objc.rs":"758aa955a0c5d6ad82606c88a1f4cd1d93e666b71e82d43b18b1aaae96cf888a","src/ir/template.rs":"c0f8570b927dfd6a421fc4ce3094ec837a3ed936445225dbfac961e8e0842ae5","src/ir/traversal.rs":"ea751379a5aec02f93f8d2c61e18232776b1f000dbeae64b9a7195ba21a19dd6","src/ir/ty.rs":"952fb04cd6a71a2bca5c509aecacb42a1de0cae75824941541a38dc589f0993a","src/ir/var.rs":"8bdafb6d02f2c55ae11c28d88b19fb7a65ba8466da12ff039ae4c16c790b291e","src/lib.rs":"d5c8b404c515d30fc2d78b28eb84cff6b256f1f1e2dbd6aca280529bb2af6879","src/log_stubs.rs":"6dfdd908b7c6453da416cf232893768f9480e551ca4add0858ef88bf71ee6ceb","src/main.rs":"e519053bcdde6bc88f60f955246a02d53b3db1cc5ccd1612e6675b790b7460b0","src/options.rs":"041d635c8f6712ca32676a68f06d0245faed5577d9513786e058540ea2a69a7f","src/parse.rs":"be7d13cc84fae79ec7b3aa9e77063fa475a48d74a854423e2c72d75006a25202","src/regex_set.rs":"5cb72fc3714c0d79e9e942d003349c0775fafd7cd0c9603c65f5261883bbf9cf","src/time.rs":"3b763e6fee51d0eb01228dfe28bc28a9f692aff73b2a7b90a030902e0238fca6"},"package":"6bd7710ac8399ae1ebe1e3aac7c9047c4f39f2c94b33c997f482f49e96991f7c"}
-\ No newline at end of file
---- a/third_party/rust/bindgen/src/ir/analysis/has_vtable.rs
-+++ b/third_party/rust/bindgen/src/ir/analysis/has_vtable.rs
-@@ -9,17 +9,17 @@ use std::ops;
- use {HashMap, Entry};
-
- /// 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 {
-@@ -28,21 +28,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 {
---- a/third_party/rust/bindgen/src/ir/analysis/sizedness.rs
-+++ b/third_party/rust/bindgen/src/ir/analysis/sizedness.rs
-@@ -22,13 +22,14 @@ use {HashMap, Entry};
- ///
- /// 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.
-@@ -52,12 +53,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 {
-@@ -66,21 +66,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 {
---- a/third_party/rust/bindgen/src/ir/derive.rs
-+++ b/third_party/rust/bindgen/src/ir/derive.rs
-@@ -92,10 +92,10 @@ pub trait CanDeriveOrd {
- ///
- /// 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.
-@@ -103,8 +103,8 @@ pub enum CanDerive {
- /// This means we probably can "manually" implement such trait.
- Manually,
-
-- /// Yes, we can derive automatically.
-- Yes,
-+ /// No, we cannot.
-+ No,
- }
-
- impl Default for CanDerive {
-@@ -113,22 +113,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,
-- (Manually, _) => cmp::Ordering::Greater,
-- (_, Manually) => cmp::Ordering::Less,
-- _ => unreachable!()
-- };
-- Some(ordering)
-- }
--}
--
- impl CanDerive {
- /// Take the least upper bound of `self` and `rhs`.
- pub fn join(self, rhs: Self) -> Self {