Github messages for voidlinux
 help / color / mirror / Atom feed
* Re: [PR PATCH] [Updated] thunderbird: update to 102.10.1
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
@ 2023-04-26 10:03 ` pascal-huber
  2023-04-26 10:05 ` pascal-huber
                   ` (31 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: pascal-huber @ 2023-04-26 10:03 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 658 bytes --]

There is an updated pull request by pascal-huber against master on the void-packages repository

https://github.com/pascal-huber/void-packages thunderbird
https://github.com/void-linux/void-packages/pull/43607

thunderbird: update to 102.10.1
[ci skip]

#### Testing the changes
- I tested the changes in this PR: **briefly**

#### Local build testing
- I built this PR locally for my native architecture, x86_64-glibc
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - armv7l (crossbuild)
  - x86_64-musl (crossbuild)


A patch file from https://github.com/void-linux/void-packages/pull/43607.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-thunderbird-43607.patch --]
[-- Type: text/x-diff, Size: 28319 bytes --]

From 1c866e8a618c3def606445395faee4320e7a7063 Mon Sep 17 00:00:00 2001
From: Pascal Huber <pascal.huber@resolved.ch>
Date: Tue, 25 Apr 2023 11:39:30 +0200
Subject: [PATCH] thunderbird: update to 102.10.1

---
 srcpkgs/thunderbird-i18n/template             | 134 +++++-----
 .../thunderbird/patches/flac-no-ffvpx.patch   |   3 +-
 srcpkgs/thunderbird/patches/lto-thin.patch    |  21 +-
 srcpkgs/thunderbird/patches/mallinfo.patch    |  24 +-
 srcpkgs/thunderbird/patches/python3.11.patch  | 238 ------------------
 .../thunderbird/patches/rust-configure.patch  |  20 +-
 .../thunderbird/patches/sandbox-fork.patch    |  11 +-
 srcpkgs/thunderbird/template                  |   6 +-
 8 files changed, 114 insertions(+), 343 deletions(-)
 delete mode 100644 srcpkgs/thunderbird/patches/python3.11.patch

diff --git a/srcpkgs/thunderbird-i18n/template b/srcpkgs/thunderbird-i18n/template
index 17830bddd777..c17b9b1ad096 100644
--- a/srcpkgs/thunderbird-i18n/template
+++ b/srcpkgs/thunderbird-i18n/template
@@ -1,6 +1,6 @@
 # Template file for 'thunderbird-i18n'
 pkgname=thunderbird-i18n
-version=102.6.1
+version=102.10.1
 revision=1
 build_style=meta
 short_desc="Thunderbird language packs"
@@ -107,69 +107,69 @@ _pkgtmpl() {
 	}
 }
 
-checksum="5935be82bcbd313b58520d95b04dc32c462e47df88f9724bb31b21686f8b4b77
- 142c0bd4d67b03320db94ae8002c8d67d9bc481a7ad728efa17ba7ae09e9a971
- 5547af80c73146c9892ad2dcd7fb5c6616c9a3a5b49868a23f03914ae2da1537
- e6f34bb2a5412ef9127aacd87823c84ca2881d47b15a45a96751a7557d1e0398
- cb35b936f2db79a897e1372ea34a1fb8237885030446f29269b940c0f221d733
- ada9c925979d25cb0e1549d20466b7e22653931715dd1a7fe85ca835caddf7f7
- 9b92561b20face8de88a77a579afa6d1404f55c69340993508fcc3153e1bd70b
- 64db6133cc87197cb793e0e33b72345bc30dabf862a06f7574321ea783c54645
- db622d082616525302f8d32b9f41793804d51495d1a7b1f62125ed9daedd3fb2
- 919ccec7292a6cf9ccce66fc7a91bbae2a3f93d965ecb4237380256cc8c344dd
- f160cb1db40b31815096c0c58f9aa75213e294600c12fef2d2deb741e24e22dd
- ce4e51c46cb0860c2671606ef94bff741b2e3d5e70e485b9c5c90d0e481cc5b2
- 05a552baec6b12b7e3f9270a628ff6a3fe62ec17c232f905465317e85e40e731
- 6bc18f1db7d0233c9d3bc0cf277234322845d309918681636c30a2c131bd90e9
- a7cc9b51e57b4de49f958cf1ea47d526e6873318fba96b52ee42d541a2e35902
- bf1fac8be9eca95bdbc9f8542445301e146148afe69b40a4ea41bfdf64ab1034
- 85e3c40c5ef6bd2fdbf9951304bec1f17e2f7a212abdf20cf103a5e7b73f2be9
- 6489211d465c053182484faae07c708e076b82a88d0ebecfda071f4bb41b5677
- f0d0d4a58d6bac842c28bee253e6d5906e582b359173fdeedb6d4c40f0b9a4c8
- 4e3da06699c1cc87b735ef9d181f8cc33c989f44840d02c9b9e5dfd893a8c05e
- 0dcabb9158d29001082801b1703946b1df9e22653fc7c66c9a725f102f2ada00
- 1e3ee2f9d0291ec2aa0a2d5939ca3074d6b6a7da533186e227da1d3cc2cc7974
- ab7931be527b56dea1939b048030647e4311b0c0eaa23b7843f3baab180801ba
- a592cfeb20a346ad8b24facca3f0da2c5fdd65156aafea67b0c3793bb99ab0a1
- 32740a1261d43b6bec2b99e2da64bdf201c60b1d0651a5a5db548e1180cf5fb1
- e9e669a9917eab86af336c1d149910cb8606e21708c2b5707d87452c455905b0
- 777d625c67cbe9e710ac7fffda880e0a1fb523f8cafc6ac2c3b227b2d5de38f5
- 63728cede6b88d8352b9398c675c4537527de00ee8a0e120bcc905be9f47ae89
- 97f387a2b47303ca475eeab466a0d9f4bc64554b82c55a00f2da4cea431aaa03
- c875c6a19505c6a04cbeba85baad5d9432efd930d920eebb72413d6642a33d3f
- 4ebd23d9533cf2c5b63ec4dc6b6f83df742c473d7d108dd70b9947d014a4ec45
- de78a9bdb410bd9850b4d1197442e263cfb7f3a112917aa40f76a5c50f5ae64c
- b23fb2ac9a531848ef30e960fdd3174ae970f84b42a2adec1bb34329879acd96
- b7024f86fac5844692b7e5c859e91c721a8279ee60880cafe9479476559bd9fa
- 7107ffa0816d059147381b63ee31d66b4ad9b6af77ed409c05994fc2eb5c597d
- 1e1144a17959632ccce43025f4addc4adea7c0c225bac529f99b501604b96b53
- 3697fe13197519a9838584a17ed612ae08d9c603d56340df13c42fb971ddbca4
- d357fa261223596406a931867f84f1aefaa4ff8556257a005e0d5061c6b5e8cf
- a85066ac413255ea51260e8c690b7a4fe8602ceb628e7d2fa6803ccafa02c9c8
- a9850ec702c480ab9ed2bbee16f8ffea2fa1e60da5f68f0f51b051699a3551de
- cd784b2b6317748241bc8f5192d5d3e734cc8747b61955485a859faad4be151b
- f67ba1abdbf107f5f18db505ea5c5b588bd4fbdd9c589991a643db0da1204f4b
- 8de924873919f06468f58d8a1dae8e9d2886d3705aa59b2dc7d30b9659a5327a
- 8b2b9ec349e0e562b7e681f8b9c910256c46953c1cd12f131d7e6f04469954f6
- 5ddd93aff16c17626a170fd0a5c95a72e9ab7bcaeaff67f36445ddd21100f42d
- 7bbeb6237a36f375cf78820e59dc61e619854bcf031852a5e8201b783176deac
- f77a1a325100e9f4bd84eeba002b35b63bad535b723ce854b0ce85e63776de38
- bf1573cca7b0892ca234a5bb2e44646ba997c0be8051017f35ae217aa7f60bdb
- 671bb222053b1fa8bb609095e518392dd3cb1ce2dde780ed34441118324cb551
- 6c4c7032d76b31bb76abfae5c5e288bd0a82bbcf7d9bf8aa9197bea687c86a46
- 4195b95b23a643925488e969accb294d1c056247ccfec745748d6ee0b0c94851
- ebaa54f3a992514bbf54bce4ab82743390c715a81343739948efd0ac3ca33599
- 868b30b8b311aed6c74b8d5fc05b7c4a0f32f56602b594229ddcadff2733a1f3
- 75f7542f8d3d49cf4e16023fae32a329fa8e804c90bae236a6415a4a045f6ce0
- ea857d827ee2cc580fae43772648cc410c1bcd4c8612cff9a3a7d11b04e54725
- 25716f39d2d7d25f448dc9a68270f51124f1d234f0b9482743dcc0c1a00fa8b1
- 42d52c4ce57e8cae43667faf7600e98d085b0ab713e7607bc1dae1f34932be67
- 5319b79f719dd27e45ecca54d29482d6558f41947db5c4ec4b70c3e25bb8f55a
- 88bcbfa7a2b006b93fd715810661b464e7b150006f046a94e6c03d2e067ae7e3
- 838d84317a7c51c13329c919d4479396b30233136b70fe025faf968b916ba1c1
- 5f686f697c1093c45ef882c3feb1def6064f458d5ae75a74962375b91c6027d5
- 9f9a7a4e6d73698fdc623384a666e677ce2d32990bc69e16aa631a34371cdf78
- 0ba4499c5805a83172e5dcbdc8fd8e464824827f94ed1849d9a1797a9b386e00
- 41f65c5307ec97310b33ace466439e4abf008d461be3835f545e4194e6c54940
- edd966278b660bb280e8e319300e18652ce2ef0fca5baeeb72696b5fd2a03d69
- 13d667aaf3338da21355c042b3a07567553ee48bf0dc071f9a55ef49451de21c"
+checksum="5057ad2542c47f0265fb2bae686ec9f64a157ecd590cae6d172b0f1459e61def
+ dea764ae51459efc43daffa22237e66fc16dc285324aeab7cda308fa94e99674
+ 73c904e791a8a8a69ecfd51a45eb2d3b1574cee8990c7133d769bc1b2079c945
+ b1ff6348f7f52223e530299bab6c3755b2f153955ce480b98dda980d86c27728
+ a8152baac0096d309525bf3a28496fe2f815ce666a75d487e47787b18d7b353a
+ f26c2d3e975746f78717309390e9e0670e25db6fd918556fa2a7f2b818ec9d85
+ 8c6bfdc11b6e4de562de333e665703712f964dbdd3a4f29c6b95426d314816a3
+ 7bc475cbe4ecc8e494e1657405d2d6c80fb80dd1cc3e32efdaa7700eee9f4e5a
+ 58da516e7c048054da633a64230000d59cd379e938487e3f8151521ca9a34bab
+ 56876227956832e49163fbdf55a84f9b36d1de207d762f0922110385fce3e73a
+ 4c6dc9b217272c5c3f46ada8784110f8be458b3822d91d8cec585843d77a4cc5
+ 185ed80656d770ca9ee6c33d1eb5834c24cfe4b79e7d7f1dc9adbf52c23b91be
+ 5c43c5add42fd9728b60b7cc34419372af54ffdc44621651e9e018375f9831c7
+ d8d783962c05ffe47cd515b9006da4c4474a283d1409c93a346a2ab0ee062030
+ 4b7dee81db8389252b161c8b28a1d22ffb2ed8fa30676e903a4fd9e13efed638
+ 6ef660dff47008dab46bdff02e0efe8d370d9a8e0f0ea4eb5e4cc224c57d8bfc
+ d558b0d1829bf3d8777c84bd983c0bb0658f8043866a98f5021e8642a64f6302
+ 88d221597aba787a676fca88488324880f4a37cc678a58b65fe2e73f7b793104
+ 29a32a863ba6adc81c3edbffebbf67deee84088fde5ac905d34cd5fc049a3b81
+ 6b15cb7f3bb4a39ebe487088221f0725f86d4ce98ca5af629bd8766bce8d8bdf
+ 7e54ba29348503d9c3d6276ddc8f6b14c9e31e869cf52f3ca9941e62f3714078
+ 0634fd4229732d98cf744a456f566e3d785e8fbb486598f0b5371db44ef5c64a
+ 781bbf4b2f4693f2817a01837593c34fa4e3facca8762066df8e60c974cdccad
+ 7a8abe8ca4d30452b887d8fc57f70622fc70b4248dde33f6cf9441548ea66a35
+ 7c41593473d15e115c7604de711948abb38ff278fde34289c2cc8862baaf81cb
+ 1b260114e03905f8b7d7fae0850eca0761634e6b00eab56e1cce9c7edc1ce6b7
+ 666dc770a1a0bffd0fb4baa5a91a6e4a4f0c29a9de1d66f0e1af2533f06d0ccb
+ a1bfc76c26608796638a6659708736fa7f7805d05e98f01cb7d8f594ffa73d65
+ da1f95fd025294d77381d3045dec2b98ae8e8180afee1dcd9f90b186120ebb6d
+ a089033bee636cb4d2b09e2fe68c87152041e0180b907d47a76cc64e8e0584bd
+ dd746677f2784f2f7840cc9a68fb3ca9248fa4c144b1b805d192fc19e49029c8
+ 2f857709a97bf755128c4bf6f7225440f3051e7d69687b34148d01948004d1c4
+ 78a172639ba7347975256d9f30e3d71f14f2faec21c3cfe4741acf60e9bd01d3
+ 55da1c778ac8e635b1ab3063827e968ef54f3620182076c82e372ccdb0b95370
+ c3ff202504e3e747d4951b02c655ef632f2844b934997434c426e8c4341410e3
+ e0fb2ec6a26660fc053c5f2bb4e8178ff1825018ae76ce3aaabd62ffec19ae4e
+ 38c796e2a40a9e836486100ab3b33ba3e223602927c9ce88fed505fe227e3643
+ 3cdb8e561729f71f5e3089c16b3e9c8e5344d5af0aa133e05ae4d8a45719533c
+ 6adc31723a23191bb960a318fa0ae87aff8407d99d0dbb9780acdabd02a87de4
+ 0ab56f7282388c66ab03a66208046d4a4a8297f74f5d00657c326b10dc3fc8a5
+ 63a02b50e5d6e0d5c8c30806b08375e6535efd64cde17e484452ca5f5b1bbf25
+ 96a6cef53e47af87adacb8fc3a910c246855a364d75b8a1c1ad4debfd9072a15
+ aa4dd9fa9a9c45d625fd90687c51d872821602339e88b8888908b1710ec446f6
+ 7bfc46cb924345602464bd4e67a00c63649834df5c9cfef188ee030de443879e
+ bcc4b92d639229222c46936844099631f68f6bd0082ec93673eb8f28da35e73a
+ bc2816a7aa473ed8bdc7a8bb1eb7c9b68ba71f1358336d1a6d4a07585fb56296
+ 0630f878c36c5f415b037083d20dc1ed1067ee3b388f7cffd952688ab8a84940
+ 5f31d53570585b9826eb1995e32109108cf706ef43639a85e7f5d4510dbda842
+ 82b7daa00e2ec6d9b6ec87eb5fb2f3f14a7762cfcfc85ac8f2ba88570e3a4339
+ e66a39a57f01b807a308bec2b11dde02d02fce75bced478045c1e3bee4d1246c
+ 3811d60fe7cc4d1f2abf939bbe5fb2a83b81621cc7848be7a5eb968e821b6502
+ 40f8bb5f10499c66caf30bd2943b46970fc777f512488034d940cf4d8c310dcc
+ ac3394832f33c73e20d6919865d20d0b85f60acbe2ae8de320bbd272dd05c949
+ c9bea6a16033821aecc6e3caf9b45144e27e658d51a21e2c0db4750f76d577be
+ 0f71a41a8c860ad5b2b9ec93d8fae8f7dac56585e4c669918f3a805b23fbc388
+ 694618f1e255f0ed00fe50d41c61bbdf7dbe2cdde573cd44a97bd29f48e0bfe1
+ e5d069eeb5dd880bfe2c976bad039aabc5022b2b3b9d0b3a39848362f0b50c52
+ 9adb233aef358fbdb8b39d11ab994c33755c1e0896ca4585326988cda9ffab58
+ cc652393837df756c60284a7a05b4a8bd9b0a3153c9df4b6bd734c85160806ba
+ 5867d16320a3f068d7411dd9ed5aa819ab79c200a20dfc36199b935a76eb7076
+ 4f03d3c6db0dc6c25b681eef01deee782d7717b1479f714b1843ba8711ad9882
+ cb271bd3b6cfe7f693afd19c2dacd04acee215a314bdb95571db1bf45341251b
+ 6e55fad6140f72d626ccf44a02dd756370d443907d1ea50fb780604024327ed3
+ 2f78137af493828ae3e70f4086fa6bb2febd17d33d016e35b35787188f89ad99
+ 6e22799eea7e8e7303fce19709f7423ea876d405dc0d0fb4d824b54c1f56862e
+ 6dbeefd4173ca1a5483fe23d4ce5107a583b9bdc2f9c07122504a1bd0c062102"
diff --git a/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch b/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
index ebf48deb9720..2e475e8c6940 100644
--- a/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
+++ b/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
@@ -12,7 +12,7 @@ index 53fc3c9937f7..b23771ab80fa 100644
  
  namespace mozilla {
  
-@@ -14,6 +15,10 @@ namespace mozilla {
+@@ -14,5 +15,9 @@ namespace mozilla {
  bool FlacDecoder::IsEnabled() {
  #ifdef MOZ_FFVPX
    return StaticPrefs::media_flac_enabled();
@@ -21,5 +21,4 @@ index 53fc3c9937f7..b23771ab80fa 100644
 +  return StaticPrefs::media_flac_enabled() &&
 +         platform->SupportsMimeType("audio/flac"_ns);
  #else
-   // Until bug 1295886 is fixed.
    return false;
diff --git a/srcpkgs/thunderbird/patches/lto-thin.patch b/srcpkgs/thunderbird/patches/lto-thin.patch
index e85cbce36583..17cd0a5e9458 100644
--- a/srcpkgs/thunderbird/patches/lto-thin.patch
+++ b/srcpkgs/thunderbird/patches/lto-thin.patch
@@ -1,15 +1,18 @@
-$OpenBSD: patch-config_makefiles_rust_mk,v 1.6 2021/01/26 15:52:58 landry Exp $
+This patch is a modified version of the OpenBSD patch
 
-use lto=thin to reduce memory pressure when building gkrust
+try to consume less memory when linking gkrust with debug symbols ?
+
+openbsd patch: https://github.com/openbsd/ports/blob/master/mail/mozilla-thunderbird/patches/patch-config_makefiles_rust_mk
 https://bugzilla.mozilla.org/show_bug.cgi?id=1644409
 https://bugzilla.mozilla.org/show_bug.cgi?id=1640982
-
-Index: config/makefiles/rust.mk
---- a/config/makefiles/rust.mk.orig
-+++ a/config/makefiles/rust.mk
-@@ -70,7 +70,8 @@ ifndef MOZ_DEBUG_RUST
- # gkrust_gtest. And not when doing cross-language LTO.
- ifndef MOZ_LTO_RUST_CROSS
+---
+diff --git a/config/makefiles/rust.mk b/config/makefiles/rust.mk
+index a243ee5f7f..89593f1fe1 100644
+--- a/config/makefiles/rust.mk
++++ b/config/makefiles/rust.mk
+@@ -90,7 +90,8 @@ ifndef rustflags_sancov
+ # Never enable when coverage is enabled to work around https://github.com/rust-lang/rust/issues/90045.
+ ifndef MOZ_CODE_COVERAGE
  ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE)))
 -cargo_rustc_flags += -Clto
 +cargo_rustc_flags += -Clto=thin
diff --git a/srcpkgs/thunderbird/patches/mallinfo.patch b/srcpkgs/thunderbird/patches/mallinfo.patch
index 0d704301f39f..a3b3e1cb53ac 100644
--- a/srcpkgs/thunderbird/patches/mallinfo.patch
+++ b/srcpkgs/thunderbird/patches/mallinfo.patch
@@ -1,14 +1,16 @@
---- a/xpcom/base/nsMemoryReporterManager.cpp	2019-03-19 17:12:20.844810044 +0100
-+++ b/xpcom/base/nsMemoryReporterManager.cpp	2019-03-19 17:13:32.505133615 +0100
-@@ -123,6 +123,7 @@
-   return GetProcSelfSmapsPrivate(aN);
+diff --git a/xpcom/base/nsMemoryReporterManager.cpp b/xpcom/base/nsMemoryReporterManager.cpp
+index 30bc60e01a..caf9f740d2 100644
+--- a/xpcom/base/nsMemoryReporterManager.cpp
++++ b/xpcom/base/nsMemoryReporterManager.cpp
+@@ -127,6 +127,7 @@ using namespace dom;
+   return GetProcSelfSmapsPrivate(aN, aPid);
  }
  
 +#ifdef __GLIBC__
  #  ifdef HAVE_MALLINFO
  #    define HAVE_SYSTEM_HEAP_REPORTER 1
- static MOZ_MUST_USE nsresult SystemHeapSize(int64_t* aSizeOut) {
-@@ -142,6 +143,7 @@
+ [[nodiscard]] static nsresult SystemHeapSize(int64_t* aSizeOut) {
+@@ -146,6 +147,7 @@ using namespace dom;
    return NS_OK;
  }
  #  endif
@@ -16,16 +18,16 @@
  
  #elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
      defined(__OpenBSD__) || defined(__FreeBSD_kernel__)
-@@ -642,6 +644,7 @@
+@@ -653,6 +655,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr, cpu_type_t aType) {
    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;
+ // Windows can have multiple separate heaps, but we should not touch non-default
+ // heaps because they may be destroyed at anytime while we hold a handle.  So we
+@@ -685,6 +688,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr, cpu_type_t aType) {
+   *aSizeOut = heapSize;
    return NS_OK;
  }
 +#endif // __GLIBC__
diff --git a/srcpkgs/thunderbird/patches/python3.11.patch b/srcpkgs/thunderbird/patches/python3.11.patch
deleted file mode 100644
index 2facee5ebb2b..000000000000
--- a/srcpkgs/thunderbird/patches/python3.11.patch
+++ /dev/null
@@ -1,238 +0,0 @@
-Patch-Source: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267709
-Patch-Source: https://hg.mozilla.org/mozilla-central/rev/f54162b2c1f2fe52c6137ab2c3469a1944f58b27
---- a/xpcom/idl-parser/xpidl/xpidl.py
-+++ b/xpcom/idl-parser/xpidl/xpidl.py
-@@ -1633,13 +1633,13 @@ class IDLParser(object):
-     t_ignore = " \t"
- 
-     def t_multilinecomment(self, t):
--        r"/\*(?s).*?\*/"
-+        r"/\*(\n|.)*?\*/"
-         t.lexer.lineno += t.value.count("\n")
-         if t.value.startswith("/**"):
-             self._doccomments.append(t.value)
- 
-     def t_singlelinecomment(self, t):
--        r"(?m)//.*?$"
-+        r"//[^\n]*"
- 
-     def t_IID(self, t):
-         return t
-@@ -1652,7 +1652,7 @@ class IDLParser(object):
-         return t
- 
-     def t_LCDATA(self, t):
--        r"(?s)%\{[ ]*C\+\+[ ]*\n(?P<cdata>.*?\n?)%\}[ ]*(C\+\+)?"
-+        r"%\{[ ]*C\+\+[ ]*\n(?P<cdata>(\n|.)*?\n?)%\}[ ]*(C\+\+)?"
-         t.type = "CDATA"
-         t.value = t.lexer.lexmatch.group("cdata")
-         t.lexer.lineno += t.value.count("\n")
-
-
-# HG changeset patch
-# User ahochheiden <ahochheiden@mozilla.com>
-# Date 1654151264 0
-# Node ID f54162b2c1f2fe52c6137ab2c3469a1944f58b27
-# Parent  6e7776492240c27732840d65a33dcc440fa1aba0
-Bug 1769631 - Remove 'U' from 'mode' parameters for various 'open' calls to ensure Python3.11 compatibility r=firefox-build-system-reviewers,glandium
-
-The 'U' flag represents "universal newline". It has been deprecated
-since Python3.3. Since then "universal newline" is the default when a
-file is opened in text mode (not bytes). In Python3.11 using the 'U'
-flag throws errors. There should be no harm in removing 'U' from 'open'
-everywhere it is used, and doing allows the use of Python3.11.
-
-For more reading see: https://docs.python.org/3.11/whatsnew/3.11.html#changes-in-the-python-api
-
-Differential Revision: https://phabricator.services.mozilla.com/D147721
-
-diff --git a/dom/base/usecounters.py b/dom/base/usecounters.py
---- a/dom/base/usecounters.py
-+++ b/dom/base/usecounters.py
-@@ -3,17 +3,17 @@
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
- 
- import collections
- import re
- 
- 
- def read_conf(conf_filename):
-     # Can't read/write from a single StringIO, so make a new one for reading.
--    stream = open(conf_filename, "rU")
-+    stream = open(conf_filename, "r")
- 
-     def parse_counters(stream):
-         for line_num, line in enumerate(stream):
-             line = line.rstrip("\n")
-             if not line or line.startswith("//"):
-                 # empty line or comment
-                 continue
-             m = re.match(r"method ([A-Za-z0-9]+)\.([A-Za-z0-9]+)$", line)
-diff --git a/python/mozbuild/mozbuild/action/process_define_files.py b/python/mozbuild/mozbuild/action/process_define_files.py
---- a/python/mozbuild/mozbuild/action/process_define_files.py
-+++ b/python/mozbuild/mozbuild/action/process_define_files.py
-@@ -31,17 +31,17 @@ def process_define_file(output, input):
- 
-     config = PartialConfigEnvironment(topobjdir)
- 
-     if mozpath.basedir(
-         path, [mozpath.join(topsrcdir, "js/src")]
-     ) and not config.substs.get("JS_STANDALONE"):
-         config = PartialConfigEnvironment(mozpath.join(topobjdir, "js", "src"))
- 
--    with open(path, "rU") as input:
-+    with open(path, "r") as input:
-         r = re.compile(
-             "^\s*#\s*(?P<cmd>[a-z]+)(?:\s+(?P<name>\S+)(?:\s+(?P<value>\S+))?)?", re.U
-         )
-         for l in input:
-             m = r.match(l)
-             if m:
-                 cmd = m.group("cmd")
-                 name = m.group("name")
-diff --git a/python/mozbuild/mozbuild/backend/base.py b/python/mozbuild/mozbuild/backend/base.py
---- a/python/mozbuild/mozbuild/backend/base.py
-+++ b/python/mozbuild/mozbuild/backend/base.py
-@@ -267,17 +267,17 @@ class BuildBackend(LoggingMixin):
-         If an exception is raised, |mach build| will fail with a
-         non-zero exit code.
-         """
-         self._write_purgecaches(config)
- 
-         return status
- 
-     @contextmanager
--    def _write_file(self, path=None, fh=None, readmode="rU"):
-+    def _write_file(self, path=None, fh=None, readmode="r"):
-         """Context manager to write a file.
- 
-         This is a glorified wrapper around FileAvoidWrite with integration to
-         update the summary data on this instance.
- 
-         Example usage:
- 
-             with self._write_file('foo.txt') as fh:
-diff --git a/python/mozbuild/mozbuild/preprocessor.py b/python/mozbuild/mozbuild/preprocessor.py
---- a/python/mozbuild/mozbuild/preprocessor.py
-+++ b/python/mozbuild/mozbuild/preprocessor.py
-@@ -526,17 +526,17 @@ class Preprocessor:
-             if not options.output:
-                 raise Preprocessor.Error(
-                     self, "--depend doesn't work with stdout", None
-                 )
-             depfile = get_output_file(options.depend)
- 
-         if args:
-             for f in args:
--                with io.open(f, "rU", encoding="utf-8") as input:
-+                with io.open(f, "r", encoding="utf-8") as input:
-                     self.processFile(input=input, output=out)
-             if depfile:
-                 mk = Makefile()
-                 mk.create_rule([six.ensure_text(options.output)]).add_dependencies(
-                     self.includes
-                 )
-                 mk.dump(depfile)
-                 depfile.close()
-@@ -855,17 +855,17 @@ class Preprocessor:
-         self.checkLineNumbers = False
-         if isName:
-             try:
-                 args = _to_text(args)
-                 if filters:
-                     args = self.applyFilters(args)
-                 if not os.path.isabs(args):
-                     args = os.path.join(self.curdir, args)
--                args = io.open(args, "rU", encoding="utf-8")
-+                args = io.open(args, "r", encoding="utf-8")
-             except Preprocessor.Error:
-                 raise
-             except Exception:
-                 raise Preprocessor.Error(self, "FILE_NOT_FOUND", _to_text(args))
-         self.checkLineNumbers = bool(
-             re.search("\.(js|jsm|java|webidl)(?:\.in)?$", args.name)
-         )
-         oldFile = self.context["FILE"]
-@@ -909,17 +909,17 @@ class Preprocessor:
- 
-     def do_error(self, args):
-         raise Preprocessor.Error(self, "Error: ", _to_text(args))
- 
- 
- def preprocess(includes=[sys.stdin], defines={}, output=sys.stdout, marker="#"):
-     pp = Preprocessor(defines=defines, marker=marker)
-     for f in includes:
--        with io.open(f, "rU", encoding="utf-8") as input:
-+        with io.open(f, "r", encoding="utf-8") as input:
-             pp.processFile(input=input, output=output)
-     return pp.includes
- 
- 
- # Keep this module independently executable.
- if __name__ == "__main__":
-     pp = Preprocessor()
-     pp.handleCommandLine(None, True)
-diff --git a/python/mozbuild/mozbuild/util.py b/python/mozbuild/mozbuild/util.py
---- a/python/mozbuild/mozbuild/util.py
-+++ b/python/mozbuild/mozbuild/util.py
-@@ -231,17 +231,17 @@ class FileAvoidWrite(BytesIO):
-     enabled by default because it a) doesn't make sense for binary files b)
-     could add unwanted overhead to calls.
- 
-     Additionally, there is dry run mode where the file is not actually written
-     out, but reports whether the file was existing and would have been updated
-     still occur, as well as diff capture if requested.
-     """
- 
--    def __init__(self, filename, capture_diff=False, dry_run=False, readmode="rU"):
-+    def __init__(self, filename, capture_diff=False, dry_run=False, readmode="r"):
-         BytesIO.__init__(self)
-         self.name = filename
-         assert type(capture_diff) == bool
-         assert type(dry_run) == bool
-         assert "r" in readmode
-         self._capture_diff = capture_diff
-         self._write_to_file = not dry_run
-         self.diff = None
-diff --git a/python/mozbuild/mozpack/files.py b/python/mozbuild/mozpack/files.py
---- a/python/mozbuild/mozpack/files.py
-+++ b/python/mozbuild/mozpack/files.py
-@@ -549,17 +549,17 @@ class PreprocessedFile(BaseFile):
-         self.defines = defines
-         self.extra_depends = list(extra_depends or [])
-         self.silence_missing_directive_warnings = silence_missing_directive_warnings
- 
-     def inputs(self):
-         pp = Preprocessor(defines=self.defines, marker=self.marker)
-         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
- 
--        with _open(self.path, "rU") as input:
-+        with _open(self.path, "r") as input:
-             with _open(os.devnull, "w") as output:
-                 pp.processFile(input=input, output=output)
- 
-         # This always yields at least self.path.
-         return pp.includes
- 
-     def copy(self, dest, skip_if_older=True):
-         """
-@@ -606,17 +606,17 @@ class PreprocessedFile(BaseFile):
-             return False
- 
-         deps_out = None
-         if self.depfile:
-             deps_out = FileAvoidWrite(self.depfile)
-         pp = Preprocessor(defines=self.defines, marker=self.marker)
-         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
- 
--        with _open(self.path, "rU") as input:
-+        with _open(self.path, "r") as input:
-             pp.processFile(input=input, output=dest, depfile=deps_out)
- 
-         dest.close()
-         if self.depfile:
-             deps_out.close()
- 
-         return True
- 
-
diff --git a/srcpkgs/thunderbird/patches/rust-configure.patch b/srcpkgs/thunderbird/patches/rust-configure.patch
index 61fb2ba891d9..b5ff2987008c 100644
--- a/srcpkgs/thunderbird/patches/rust-configure.patch
+++ b/srcpkgs/thunderbird/patches/rust-configure.patch
@@ -6,9 +6,11 @@ instead use what is set in RUST_TARGET
 
 Skip extra checks on cross builds (broken for arm*)
 
---- a/build/moz.configure/rust.configure	2020-12-12 01:35:33.000000000 +0100
-+++ b/build/moz.configure/rust.configure	2020-12-15 19:45:16.467750787 +0100
-@@ -91,9 +91,6 @@
+diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure
+index e64dc5d5ec..c4778f8cc8 100644
+--- a/build/moz.configure/rust.configure
++++ b/build/moz.configure/rust.configure
+@@ -91,9 +91,6 @@ def unwrap_rustup(prog, name):
      return unwrap
  
  
@@ -18,7 +20,7 @@ Skip extra checks on cross builds (broken for arm*)
  
  set_config("CARGO", cargo)
  set_config("RUSTC", rustc)
-@@ -260,7 +257,9 @@
+@@ -274,7 +271,9 @@ def rust_supported_targets(rustc):
          data.setdefault(key, []).append(namespace(rust_target=t, target=info))
      return data
  
@@ -29,24 +31,26 @@ Skip extra checks on cross builds (broken for arm*)
  def detect_rustc_target(
      host_or_target, compiler_info, arm_target, rust_supported_targets
  ):
-@@ -382,12 +381,12 @@
+@@ -396,12 +395,14 @@ def detect_rustc_target(
  
          return None
  
 -    rustc_target = find_candidate(candidates)
 +    rustc_target = os.environ['RUST_TARGET']
++
  
      if rustc_target is None:
          die("Don't know how to translate {} for rustc".format(host_or_target.alias))
  
 -    return rustc_target
 +    return ensure_unicode(rustc_target, system_encoding)
++
  
  
  @imports("os")
-@@ -410,35 +409,6 @@
+@@ -423,35 +424,6 @@ def assert_rust_compile(host_or_target, rustc_target, rustc):
  
-         os.write(in_fd, ensure_binary(source))
+         os.write(in_fd, source)
          os.close(in_fd)
 -
 -        cmd = [
@@ -80,7 +84,7 @@ Skip extra checks on cross builds (broken for arm*)
      finally:
          os.remove(in_path)
          os.remove(out_path)
-@@ -462,28 +432,7 @@
+@@ -475,28 +447,7 @@ def rust_host_triple(
          host, compiler_info, arm_target, rust_supported_targets
      )
      if rustc_target != rustc_host:
diff --git a/srcpkgs/thunderbird/patches/sandbox-fork.patch b/srcpkgs/thunderbird/patches/sandbox-fork.patch
index d4584e74b91c..a8cb89394f87 100644
--- a/srcpkgs/thunderbird/patches/sandbox-fork.patch
+++ b/srcpkgs/thunderbird/patches/sandbox-fork.patch
@@ -1,8 +1,8 @@
-make SYS_fork non-fatal, musl uses it for fork(2)
-
+diff --git a/security/sandbox/linux/SandboxFilter.cpp b/security/sandbox/linux/SandboxFilter.cpp
+index 20e9b59685..e053580992 100644
 --- a/security/sandbox/linux/SandboxFilter.cpp
 +++ b/security/sandbox/linux/SandboxFilter.cpp
-@@ -1420,6 +1420,10 @@
+@@ -1598,6 +1598,11 @@ class ContentSandboxPolicy : public SandboxPolicyCommon {
          // usually do something reasonable on error.
        case __NR_clone:
          return ClonePolicy(Error(EPERM));
@@ -10,6 +10,7 @@ make SYS_fork non-fatal, musl uses it for fork(2)
 +      case __NR_fork:
 +        return Error(ENOSYS);
 +#  endif
++
  
- #  ifdef __NR_fadvise64
-       case __NR_fadvise64:
+       case __NR_clone3:
+         return Error(ENOSYS);
diff --git a/srcpkgs/thunderbird/template b/srcpkgs/thunderbird/template
index ec3fa3d4c35f..e4529d8bf8c4 100644
--- a/srcpkgs/thunderbird/template
+++ b/srcpkgs/thunderbird/template
@@ -3,15 +3,15 @@
 # THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/thunderbird-i18n".
 #
 pkgname=thunderbird
-version=102.6.1
-revision=3
+version=102.10.1
+revision=1
 build_helper="rust"
 short_desc="Standalone Mail/News reader"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="MPL-2.0, GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.thunderbird.net/"
 distfiles="${MOZILLA_SITE}/${pkgname}/releases/${version}/source/${pkgname}-${version}.source.tar.xz"
-checksum=8b8cb5d7532ad8ee65061d2f284ae9f0470e7614dfcfc3c37ca945bcb96d1183
+checksum=39e8714c162f05955844606583106db9b314eee1a58cb8ad504e1836031916e1
 
 lib32disabled=yes
 

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: thunderbird: update to 102.10.1
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
  2023-04-26 10:03 ` [PR PATCH] [Updated] thunderbird: update to 102.10.1 pascal-huber
@ 2023-04-26 10:05 ` pascal-huber
  2023-04-26 10:07 ` [PR PATCH] [Updated] " pascal-huber
                   ` (30 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: pascal-huber @ 2023-04-26 10:05 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 188 bytes --]

New comment by pascal-huber on void-packages repository

https://github.com/void-linux/void-packages/pull/43607#issuecomment-1523150245

Comment:
added thunderbird-i18n (forgot to commit)

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PR PATCH] [Updated] thunderbird: update to 102.10.1
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
  2023-04-26 10:03 ` [PR PATCH] [Updated] thunderbird: update to 102.10.1 pascal-huber
  2023-04-26 10:05 ` pascal-huber
@ 2023-04-26 10:07 ` pascal-huber
  2023-04-26 10:09 ` pascal-huber
                   ` (29 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: pascal-huber @ 2023-04-26 10:07 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 658 bytes --]

There is an updated pull request by pascal-huber against master on the void-packages repository

https://github.com/pascal-huber/void-packages thunderbird
https://github.com/void-linux/void-packages/pull/43607

thunderbird: update to 102.10.1
[ci skip]

#### Testing the changes
- I tested the changes in this PR: **briefly**

#### Local build testing
- I built this PR locally for my native architecture, x86_64-glibc
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - armv7l (crossbuild)
  - x86_64-musl (crossbuild)


A patch file from https://github.com/void-linux/void-packages/pull/43607.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-thunderbird-43607.patch --]
[-- Type: text/x-diff, Size: 34733 bytes --]

From 86f36c3b0f7c93ad001ab73f73ed30b43ee962eb Mon Sep 17 00:00:00 2001
From: Pascal Huber <pascal.huber@resolved.ch>
Date: Wed, 26 Apr 2023 12:07:26 +0200
Subject: [PATCH 1/2] thunderbird: update to 102.10.1

---
 .../thunderbird/patches-broken/mallinfo.patch |  34 +++
 .../patches-broken/rust-configure.patch       | 112 +++++++++
 .../patches-broken/sandbox-fork.patch         |  15 ++
 .../thunderbird/patches/flac-no-ffvpx.patch   |   3 +-
 srcpkgs/thunderbird/patches/lto-thin.patch    |  21 +-
 srcpkgs/thunderbird/patches/mallinfo.patch    |  24 +-
 srcpkgs/thunderbird/patches/python3.11.patch  | 238 ------------------
 .../thunderbird/patches/rust-configure.patch  |  20 +-
 .../thunderbird/patches/sandbox-fork.patch    |  11 +-
 srcpkgs/thunderbird/template                  |   6 +-
 10 files changed, 208 insertions(+), 276 deletions(-)
 create mode 100644 srcpkgs/thunderbird/patches-broken/mallinfo.patch
 create mode 100644 srcpkgs/thunderbird/patches-broken/rust-configure.patch
 create mode 100644 srcpkgs/thunderbird/patches-broken/sandbox-fork.patch
 delete mode 100644 srcpkgs/thunderbird/patches/python3.11.patch

diff --git a/srcpkgs/thunderbird/patches-broken/mallinfo.patch b/srcpkgs/thunderbird/patches-broken/mallinfo.patch
new file mode 100644
index 000000000000..0d704301f39f
--- /dev/null
+++ b/srcpkgs/thunderbird/patches-broken/mallinfo.patch
@@ -0,0 +1,34 @@
+--- a/xpcom/base/nsMemoryReporterManager.cpp	2019-03-19 17:12:20.844810044 +0100
++++ b/xpcom/base/nsMemoryReporterManager.cpp	2019-03-19 17:13:32.505133615 +0100
+@@ -123,6 +123,7 @@
+   return GetProcSelfSmapsPrivate(aN);
+ }
+ 
++#ifdef __GLIBC__
+ #  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 // __GLIBC__
+ 
+ #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;
diff --git a/srcpkgs/thunderbird/patches-broken/rust-configure.patch b/srcpkgs/thunderbird/patches-broken/rust-configure.patch
new file mode 100644
index 000000000000..61fb2ba891d9
--- /dev/null
+++ b/srcpkgs/thunderbird/patches-broken/rust-configure.patch
@@ -0,0 +1,112 @@
+Mozilla rustc check does not support crossbuild: let's remove it
+Remove calls to unwrap_rustup, they fail if rustup isn't present
+
+Do not try to figure out the rust target as it is broken on musl
+instead use what is set in RUST_TARGET
+
+Skip extra checks on cross builds (broken for arm*)
+
+--- a/build/moz.configure/rust.configure	2020-12-12 01:35:33.000000000 +0100
++++ b/build/moz.configure/rust.configure	2020-12-15 19:45:16.467750787 +0100
+@@ -91,9 +91,6 @@
+     return unwrap
+ 
+ 
+-rustc = unwrap_rustup(rustc, "rustc")
+-cargo = unwrap_rustup(cargo, "cargo")
+-
+ 
+ set_config("CARGO", cargo)
+ set_config("RUSTC", rustc)
+@@ -260,7 +257,9 @@
+         data.setdefault(key, []).append(namespace(rust_target=t, target=info))
+     return data
+ 
+-
++@imports('os')
++@imports(_from='mozbuild.util', _import='ensure_unicode')
++@imports(_from='mozbuild.util', _import='system_encoding')
+ def detect_rustc_target(
+     host_or_target, compiler_info, arm_target, rust_supported_targets
+ ):
+@@ -382,12 +381,12 @@
+ 
+         return None
+ 
+-    rustc_target = find_candidate(candidates)
++    rustc_target = os.environ['RUST_TARGET']
+ 
+     if rustc_target is None:
+         die("Don't know how to translate {} for rustc".format(host_or_target.alias))
+ 
+-    return rustc_target
++    return ensure_unicode(rustc_target, system_encoding)
+ 
+ 
+ @imports("os")
+@@ -410,35 +409,6 @@
+ 
+         os.write(in_fd, ensure_binary(source))
+         os.close(in_fd)
+-
+-        cmd = [
+-            rustc,
+-            "--crate-type",
+-            "staticlib",
+-            target_arg,
+-            "-o",
+-            out_path,
+-            in_path,
+-        ]
+-
+-        def failed():
+-            die(
+-                dedent(
+-                    """\
+-            Cannot compile for {} with {}
+-            The target may be unsupported, or you may not have
+-            a rust std library for that target installed. Try:
+-
+-              rustup target add {}
+-            """.format(
+-                        host_or_target.alias, rustc, rustc_target
+-                    )
+-                )
+-            )
+-
+-        check_cmd_output(*cmd, onerror=failed)
+-        if not os.path.exists(out_path) or os.path.getsize(out_path) == 0:
+-            failed()
+     finally:
+         os.remove(in_path)
+         os.remove(out_path)
+@@ -462,28 +432,7 @@
+         host, compiler_info, arm_target, rust_supported_targets
+     )
+     if rustc_target != rustc_host:
+-        if host.alias == rustc_target:
+-            configure_host = host.alias
+-        else:
+-            configure_host = "{}/{}".format(host.alias, rustc_target)
+-        die(
+-            dedent(
+-                """\
+-        The rust compiler host ({rustc}) is not suitable for the configure host ({configure}).
+-
+-        You can solve this by:
+-        * Set your configure host to match the rust compiler host by editing your
+-        mozconfig and adding "ac_add_options --host={rustc}".
+-        * Or, install the rust toolchain for {configure}, if supported, by running
+-        "rustup default stable-{rustc_target}"
+-        """.format(
+-                    rustc=rustc_host,
+-                    configure=configure_host,
+-                    rustc_target=rustc_target,
+-                )
+-            )
+-        )
+-    assert_rust_compile(host, rustc_target, rustc)
++        return rustc_host
+     return rustc_target
+ 
+ 
diff --git a/srcpkgs/thunderbird/patches-broken/sandbox-fork.patch b/srcpkgs/thunderbird/patches-broken/sandbox-fork.patch
new file mode 100644
index 000000000000..d4584e74b91c
--- /dev/null
+++ b/srcpkgs/thunderbird/patches-broken/sandbox-fork.patch
@@ -0,0 +1,15 @@
+make SYS_fork non-fatal, musl uses it for fork(2)
+
+--- a/security/sandbox/linux/SandboxFilter.cpp
++++ b/security/sandbox/linux/SandboxFilter.cpp
+@@ -1420,6 +1420,10 @@
+         // usually do something reasonable on error.
+       case __NR_clone:
+         return ClonePolicy(Error(EPERM));
++#  ifdef __NR_fork
++      case __NR_fork:
++        return Error(ENOSYS);
++#  endif
+ 
+ #  ifdef __NR_fadvise64
+       case __NR_fadvise64:
diff --git a/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch b/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
index ebf48deb9720..2e475e8c6940 100644
--- a/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
+++ b/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
@@ -12,7 +12,7 @@ index 53fc3c9937f7..b23771ab80fa 100644
  
  namespace mozilla {
  
-@@ -14,6 +15,10 @@ namespace mozilla {
+@@ -14,5 +15,9 @@ namespace mozilla {
  bool FlacDecoder::IsEnabled() {
  #ifdef MOZ_FFVPX
    return StaticPrefs::media_flac_enabled();
@@ -21,5 +21,4 @@ index 53fc3c9937f7..b23771ab80fa 100644
 +  return StaticPrefs::media_flac_enabled() &&
 +         platform->SupportsMimeType("audio/flac"_ns);
  #else
-   // Until bug 1295886 is fixed.
    return false;
diff --git a/srcpkgs/thunderbird/patches/lto-thin.patch b/srcpkgs/thunderbird/patches/lto-thin.patch
index e85cbce36583..17cd0a5e9458 100644
--- a/srcpkgs/thunderbird/patches/lto-thin.patch
+++ b/srcpkgs/thunderbird/patches/lto-thin.patch
@@ -1,15 +1,18 @@
-$OpenBSD: patch-config_makefiles_rust_mk,v 1.6 2021/01/26 15:52:58 landry Exp $
+This patch is a modified version of the OpenBSD patch
 
-use lto=thin to reduce memory pressure when building gkrust
+try to consume less memory when linking gkrust with debug symbols ?
+
+openbsd patch: https://github.com/openbsd/ports/blob/master/mail/mozilla-thunderbird/patches/patch-config_makefiles_rust_mk
 https://bugzilla.mozilla.org/show_bug.cgi?id=1644409
 https://bugzilla.mozilla.org/show_bug.cgi?id=1640982
-
-Index: config/makefiles/rust.mk
---- a/config/makefiles/rust.mk.orig
-+++ a/config/makefiles/rust.mk
-@@ -70,7 +70,8 @@ ifndef MOZ_DEBUG_RUST
- # gkrust_gtest. And not when doing cross-language LTO.
- ifndef MOZ_LTO_RUST_CROSS
+---
+diff --git a/config/makefiles/rust.mk b/config/makefiles/rust.mk
+index a243ee5f7f..89593f1fe1 100644
+--- a/config/makefiles/rust.mk
++++ b/config/makefiles/rust.mk
+@@ -90,7 +90,8 @@ ifndef rustflags_sancov
+ # Never enable when coverage is enabled to work around https://github.com/rust-lang/rust/issues/90045.
+ ifndef MOZ_CODE_COVERAGE
  ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE)))
 -cargo_rustc_flags += -Clto
 +cargo_rustc_flags += -Clto=thin
diff --git a/srcpkgs/thunderbird/patches/mallinfo.patch b/srcpkgs/thunderbird/patches/mallinfo.patch
index 0d704301f39f..a3b3e1cb53ac 100644
--- a/srcpkgs/thunderbird/patches/mallinfo.patch
+++ b/srcpkgs/thunderbird/patches/mallinfo.patch
@@ -1,14 +1,16 @@
---- a/xpcom/base/nsMemoryReporterManager.cpp	2019-03-19 17:12:20.844810044 +0100
-+++ b/xpcom/base/nsMemoryReporterManager.cpp	2019-03-19 17:13:32.505133615 +0100
-@@ -123,6 +123,7 @@
-   return GetProcSelfSmapsPrivate(aN);
+diff --git a/xpcom/base/nsMemoryReporterManager.cpp b/xpcom/base/nsMemoryReporterManager.cpp
+index 30bc60e01a..caf9f740d2 100644
+--- a/xpcom/base/nsMemoryReporterManager.cpp
++++ b/xpcom/base/nsMemoryReporterManager.cpp
+@@ -127,6 +127,7 @@ using namespace dom;
+   return GetProcSelfSmapsPrivate(aN, aPid);
  }
  
 +#ifdef __GLIBC__
  #  ifdef HAVE_MALLINFO
  #    define HAVE_SYSTEM_HEAP_REPORTER 1
- static MOZ_MUST_USE nsresult SystemHeapSize(int64_t* aSizeOut) {
-@@ -142,6 +143,7 @@
+ [[nodiscard]] static nsresult SystemHeapSize(int64_t* aSizeOut) {
+@@ -146,6 +147,7 @@ using namespace dom;
    return NS_OK;
  }
  #  endif
@@ -16,16 +18,16 @@
  
  #elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
      defined(__OpenBSD__) || defined(__FreeBSD_kernel__)
-@@ -642,6 +644,7 @@
+@@ -653,6 +655,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr, cpu_type_t aType) {
    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;
+ // Windows can have multiple separate heaps, but we should not touch non-default
+ // heaps because they may be destroyed at anytime while we hold a handle.  So we
+@@ -685,6 +688,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr, cpu_type_t aType) {
+   *aSizeOut = heapSize;
    return NS_OK;
  }
 +#endif // __GLIBC__
diff --git a/srcpkgs/thunderbird/patches/python3.11.patch b/srcpkgs/thunderbird/patches/python3.11.patch
deleted file mode 100644
index 2facee5ebb2b..000000000000
--- a/srcpkgs/thunderbird/patches/python3.11.patch
+++ /dev/null
@@ -1,238 +0,0 @@
-Patch-Source: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267709
-Patch-Source: https://hg.mozilla.org/mozilla-central/rev/f54162b2c1f2fe52c6137ab2c3469a1944f58b27
---- a/xpcom/idl-parser/xpidl/xpidl.py
-+++ b/xpcom/idl-parser/xpidl/xpidl.py
-@@ -1633,13 +1633,13 @@ class IDLParser(object):
-     t_ignore = " \t"
- 
-     def t_multilinecomment(self, t):
--        r"/\*(?s).*?\*/"
-+        r"/\*(\n|.)*?\*/"
-         t.lexer.lineno += t.value.count("\n")
-         if t.value.startswith("/**"):
-             self._doccomments.append(t.value)
- 
-     def t_singlelinecomment(self, t):
--        r"(?m)//.*?$"
-+        r"//[^\n]*"
- 
-     def t_IID(self, t):
-         return t
-@@ -1652,7 +1652,7 @@ class IDLParser(object):
-         return t
- 
-     def t_LCDATA(self, t):
--        r"(?s)%\{[ ]*C\+\+[ ]*\n(?P<cdata>.*?\n?)%\}[ ]*(C\+\+)?"
-+        r"%\{[ ]*C\+\+[ ]*\n(?P<cdata>(\n|.)*?\n?)%\}[ ]*(C\+\+)?"
-         t.type = "CDATA"
-         t.value = t.lexer.lexmatch.group("cdata")
-         t.lexer.lineno += t.value.count("\n")
-
-
-# HG changeset patch
-# User ahochheiden <ahochheiden@mozilla.com>
-# Date 1654151264 0
-# Node ID f54162b2c1f2fe52c6137ab2c3469a1944f58b27
-# Parent  6e7776492240c27732840d65a33dcc440fa1aba0
-Bug 1769631 - Remove 'U' from 'mode' parameters for various 'open' calls to ensure Python3.11 compatibility r=firefox-build-system-reviewers,glandium
-
-The 'U' flag represents "universal newline". It has been deprecated
-since Python3.3. Since then "universal newline" is the default when a
-file is opened in text mode (not bytes). In Python3.11 using the 'U'
-flag throws errors. There should be no harm in removing 'U' from 'open'
-everywhere it is used, and doing allows the use of Python3.11.
-
-For more reading see: https://docs.python.org/3.11/whatsnew/3.11.html#changes-in-the-python-api
-
-Differential Revision: https://phabricator.services.mozilla.com/D147721
-
-diff --git a/dom/base/usecounters.py b/dom/base/usecounters.py
---- a/dom/base/usecounters.py
-+++ b/dom/base/usecounters.py
-@@ -3,17 +3,17 @@
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
- 
- import collections
- import re
- 
- 
- def read_conf(conf_filename):
-     # Can't read/write from a single StringIO, so make a new one for reading.
--    stream = open(conf_filename, "rU")
-+    stream = open(conf_filename, "r")
- 
-     def parse_counters(stream):
-         for line_num, line in enumerate(stream):
-             line = line.rstrip("\n")
-             if not line or line.startswith("//"):
-                 # empty line or comment
-                 continue
-             m = re.match(r"method ([A-Za-z0-9]+)\.([A-Za-z0-9]+)$", line)
-diff --git a/python/mozbuild/mozbuild/action/process_define_files.py b/python/mozbuild/mozbuild/action/process_define_files.py
---- a/python/mozbuild/mozbuild/action/process_define_files.py
-+++ b/python/mozbuild/mozbuild/action/process_define_files.py
-@@ -31,17 +31,17 @@ def process_define_file(output, input):
- 
-     config = PartialConfigEnvironment(topobjdir)
- 
-     if mozpath.basedir(
-         path, [mozpath.join(topsrcdir, "js/src")]
-     ) and not config.substs.get("JS_STANDALONE"):
-         config = PartialConfigEnvironment(mozpath.join(topobjdir, "js", "src"))
- 
--    with open(path, "rU") as input:
-+    with open(path, "r") as input:
-         r = re.compile(
-             "^\s*#\s*(?P<cmd>[a-z]+)(?:\s+(?P<name>\S+)(?:\s+(?P<value>\S+))?)?", re.U
-         )
-         for l in input:
-             m = r.match(l)
-             if m:
-                 cmd = m.group("cmd")
-                 name = m.group("name")
-diff --git a/python/mozbuild/mozbuild/backend/base.py b/python/mozbuild/mozbuild/backend/base.py
---- a/python/mozbuild/mozbuild/backend/base.py
-+++ b/python/mozbuild/mozbuild/backend/base.py
-@@ -267,17 +267,17 @@ class BuildBackend(LoggingMixin):
-         If an exception is raised, |mach build| will fail with a
-         non-zero exit code.
-         """
-         self._write_purgecaches(config)
- 
-         return status
- 
-     @contextmanager
--    def _write_file(self, path=None, fh=None, readmode="rU"):
-+    def _write_file(self, path=None, fh=None, readmode="r"):
-         """Context manager to write a file.
- 
-         This is a glorified wrapper around FileAvoidWrite with integration to
-         update the summary data on this instance.
- 
-         Example usage:
- 
-             with self._write_file('foo.txt') as fh:
-diff --git a/python/mozbuild/mozbuild/preprocessor.py b/python/mozbuild/mozbuild/preprocessor.py
---- a/python/mozbuild/mozbuild/preprocessor.py
-+++ b/python/mozbuild/mozbuild/preprocessor.py
-@@ -526,17 +526,17 @@ class Preprocessor:
-             if not options.output:
-                 raise Preprocessor.Error(
-                     self, "--depend doesn't work with stdout", None
-                 )
-             depfile = get_output_file(options.depend)
- 
-         if args:
-             for f in args:
--                with io.open(f, "rU", encoding="utf-8") as input:
-+                with io.open(f, "r", encoding="utf-8") as input:
-                     self.processFile(input=input, output=out)
-             if depfile:
-                 mk = Makefile()
-                 mk.create_rule([six.ensure_text(options.output)]).add_dependencies(
-                     self.includes
-                 )
-                 mk.dump(depfile)
-                 depfile.close()
-@@ -855,17 +855,17 @@ class Preprocessor:
-         self.checkLineNumbers = False
-         if isName:
-             try:
-                 args = _to_text(args)
-                 if filters:
-                     args = self.applyFilters(args)
-                 if not os.path.isabs(args):
-                     args = os.path.join(self.curdir, args)
--                args = io.open(args, "rU", encoding="utf-8")
-+                args = io.open(args, "r", encoding="utf-8")
-             except Preprocessor.Error:
-                 raise
-             except Exception:
-                 raise Preprocessor.Error(self, "FILE_NOT_FOUND", _to_text(args))
-         self.checkLineNumbers = bool(
-             re.search("\.(js|jsm|java|webidl)(?:\.in)?$", args.name)
-         )
-         oldFile = self.context["FILE"]
-@@ -909,17 +909,17 @@ class Preprocessor:
- 
-     def do_error(self, args):
-         raise Preprocessor.Error(self, "Error: ", _to_text(args))
- 
- 
- def preprocess(includes=[sys.stdin], defines={}, output=sys.stdout, marker="#"):
-     pp = Preprocessor(defines=defines, marker=marker)
-     for f in includes:
--        with io.open(f, "rU", encoding="utf-8") as input:
-+        with io.open(f, "r", encoding="utf-8") as input:
-             pp.processFile(input=input, output=output)
-     return pp.includes
- 
- 
- # Keep this module independently executable.
- if __name__ == "__main__":
-     pp = Preprocessor()
-     pp.handleCommandLine(None, True)
-diff --git a/python/mozbuild/mozbuild/util.py b/python/mozbuild/mozbuild/util.py
---- a/python/mozbuild/mozbuild/util.py
-+++ b/python/mozbuild/mozbuild/util.py
-@@ -231,17 +231,17 @@ class FileAvoidWrite(BytesIO):
-     enabled by default because it a) doesn't make sense for binary files b)
-     could add unwanted overhead to calls.
- 
-     Additionally, there is dry run mode where the file is not actually written
-     out, but reports whether the file was existing and would have been updated
-     still occur, as well as diff capture if requested.
-     """
- 
--    def __init__(self, filename, capture_diff=False, dry_run=False, readmode="rU"):
-+    def __init__(self, filename, capture_diff=False, dry_run=False, readmode="r"):
-         BytesIO.__init__(self)
-         self.name = filename
-         assert type(capture_diff) == bool
-         assert type(dry_run) == bool
-         assert "r" in readmode
-         self._capture_diff = capture_diff
-         self._write_to_file = not dry_run
-         self.diff = None
-diff --git a/python/mozbuild/mozpack/files.py b/python/mozbuild/mozpack/files.py
---- a/python/mozbuild/mozpack/files.py
-+++ b/python/mozbuild/mozpack/files.py
-@@ -549,17 +549,17 @@ class PreprocessedFile(BaseFile):
-         self.defines = defines
-         self.extra_depends = list(extra_depends or [])
-         self.silence_missing_directive_warnings = silence_missing_directive_warnings
- 
-     def inputs(self):
-         pp = Preprocessor(defines=self.defines, marker=self.marker)
-         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
- 
--        with _open(self.path, "rU") as input:
-+        with _open(self.path, "r") as input:
-             with _open(os.devnull, "w") as output:
-                 pp.processFile(input=input, output=output)
- 
-         # This always yields at least self.path.
-         return pp.includes
- 
-     def copy(self, dest, skip_if_older=True):
-         """
-@@ -606,17 +606,17 @@ class PreprocessedFile(BaseFile):
-             return False
- 
-         deps_out = None
-         if self.depfile:
-             deps_out = FileAvoidWrite(self.depfile)
-         pp = Preprocessor(defines=self.defines, marker=self.marker)
-         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
- 
--        with _open(self.path, "rU") as input:
-+        with _open(self.path, "r") as input:
-             pp.processFile(input=input, output=dest, depfile=deps_out)
- 
-         dest.close()
-         if self.depfile:
-             deps_out.close()
- 
-         return True
- 
-
diff --git a/srcpkgs/thunderbird/patches/rust-configure.patch b/srcpkgs/thunderbird/patches/rust-configure.patch
index 61fb2ba891d9..b5ff2987008c 100644
--- a/srcpkgs/thunderbird/patches/rust-configure.patch
+++ b/srcpkgs/thunderbird/patches/rust-configure.patch
@@ -6,9 +6,11 @@ instead use what is set in RUST_TARGET
 
 Skip extra checks on cross builds (broken for arm*)
 
---- a/build/moz.configure/rust.configure	2020-12-12 01:35:33.000000000 +0100
-+++ b/build/moz.configure/rust.configure	2020-12-15 19:45:16.467750787 +0100
-@@ -91,9 +91,6 @@
+diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure
+index e64dc5d5ec..c4778f8cc8 100644
+--- a/build/moz.configure/rust.configure
++++ b/build/moz.configure/rust.configure
+@@ -91,9 +91,6 @@ def unwrap_rustup(prog, name):
      return unwrap
  
  
@@ -18,7 +20,7 @@ Skip extra checks on cross builds (broken for arm*)
  
  set_config("CARGO", cargo)
  set_config("RUSTC", rustc)
-@@ -260,7 +257,9 @@
+@@ -274,7 +271,9 @@ def rust_supported_targets(rustc):
          data.setdefault(key, []).append(namespace(rust_target=t, target=info))
      return data
  
@@ -29,24 +31,26 @@ Skip extra checks on cross builds (broken for arm*)
  def detect_rustc_target(
      host_or_target, compiler_info, arm_target, rust_supported_targets
  ):
-@@ -382,12 +381,12 @@
+@@ -396,12 +395,14 @@ def detect_rustc_target(
  
          return None
  
 -    rustc_target = find_candidate(candidates)
 +    rustc_target = os.environ['RUST_TARGET']
++
  
      if rustc_target is None:
          die("Don't know how to translate {} for rustc".format(host_or_target.alias))
  
 -    return rustc_target
 +    return ensure_unicode(rustc_target, system_encoding)
++
  
  
  @imports("os")
-@@ -410,35 +409,6 @@
+@@ -423,35 +424,6 @@ def assert_rust_compile(host_or_target, rustc_target, rustc):
  
-         os.write(in_fd, ensure_binary(source))
+         os.write(in_fd, source)
          os.close(in_fd)
 -
 -        cmd = [
@@ -80,7 +84,7 @@ Skip extra checks on cross builds (broken for arm*)
      finally:
          os.remove(in_path)
          os.remove(out_path)
-@@ -462,28 +432,7 @@
+@@ -475,28 +447,7 @@ def rust_host_triple(
          host, compiler_info, arm_target, rust_supported_targets
      )
      if rustc_target != rustc_host:
diff --git a/srcpkgs/thunderbird/patches/sandbox-fork.patch b/srcpkgs/thunderbird/patches/sandbox-fork.patch
index d4584e74b91c..a8cb89394f87 100644
--- a/srcpkgs/thunderbird/patches/sandbox-fork.patch
+++ b/srcpkgs/thunderbird/patches/sandbox-fork.patch
@@ -1,8 +1,8 @@
-make SYS_fork non-fatal, musl uses it for fork(2)
-
+diff --git a/security/sandbox/linux/SandboxFilter.cpp b/security/sandbox/linux/SandboxFilter.cpp
+index 20e9b59685..e053580992 100644
 --- a/security/sandbox/linux/SandboxFilter.cpp
 +++ b/security/sandbox/linux/SandboxFilter.cpp
-@@ -1420,6 +1420,10 @@
+@@ -1598,6 +1598,11 @@ class ContentSandboxPolicy : public SandboxPolicyCommon {
          // usually do something reasonable on error.
        case __NR_clone:
          return ClonePolicy(Error(EPERM));
@@ -10,6 +10,7 @@ make SYS_fork non-fatal, musl uses it for fork(2)
 +      case __NR_fork:
 +        return Error(ENOSYS);
 +#  endif
++
  
- #  ifdef __NR_fadvise64
-       case __NR_fadvise64:
+       case __NR_clone3:
+         return Error(ENOSYS);
diff --git a/srcpkgs/thunderbird/template b/srcpkgs/thunderbird/template
index ec3fa3d4c35f..e4529d8bf8c4 100644
--- a/srcpkgs/thunderbird/template
+++ b/srcpkgs/thunderbird/template
@@ -3,15 +3,15 @@
 # THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/thunderbird-i18n".
 #
 pkgname=thunderbird
-version=102.6.1
-revision=3
+version=102.10.1
+revision=1
 build_helper="rust"
 short_desc="Standalone Mail/News reader"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="MPL-2.0, GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.thunderbird.net/"
 distfiles="${MOZILLA_SITE}/${pkgname}/releases/${version}/source/${pkgname}-${version}.source.tar.xz"
-checksum=8b8cb5d7532ad8ee65061d2f284ae9f0470e7614dfcfc3c37ca945bcb96d1183
+checksum=39e8714c162f05955844606583106db9b314eee1a58cb8ad504e1836031916e1
 
 lib32disabled=yes
 

From 9e23b94b78d839ad1182e6bc1275a713bd0b1175 Mon Sep 17 00:00:00 2001
From: Pascal Huber <pascal.huber@resolved.ch>
Date: Wed, 26 Apr 2023 12:07:45 +0200
Subject: [PATCH 2/2] thunderbird-i18n: udpate to 102.10.1

---
 srcpkgs/thunderbird-i18n/template | 134 +++++++++++++++---------------
 1 file changed, 67 insertions(+), 67 deletions(-)

diff --git a/srcpkgs/thunderbird-i18n/template b/srcpkgs/thunderbird-i18n/template
index 17830bddd777..c17b9b1ad096 100644
--- a/srcpkgs/thunderbird-i18n/template
+++ b/srcpkgs/thunderbird-i18n/template
@@ -1,6 +1,6 @@
 # Template file for 'thunderbird-i18n'
 pkgname=thunderbird-i18n
-version=102.6.1
+version=102.10.1
 revision=1
 build_style=meta
 short_desc="Thunderbird language packs"
@@ -107,69 +107,69 @@ _pkgtmpl() {
 	}
 }
 
-checksum="5935be82bcbd313b58520d95b04dc32c462e47df88f9724bb31b21686f8b4b77
- 142c0bd4d67b03320db94ae8002c8d67d9bc481a7ad728efa17ba7ae09e9a971
- 5547af80c73146c9892ad2dcd7fb5c6616c9a3a5b49868a23f03914ae2da1537
- e6f34bb2a5412ef9127aacd87823c84ca2881d47b15a45a96751a7557d1e0398
- cb35b936f2db79a897e1372ea34a1fb8237885030446f29269b940c0f221d733
- ada9c925979d25cb0e1549d20466b7e22653931715dd1a7fe85ca835caddf7f7
- 9b92561b20face8de88a77a579afa6d1404f55c69340993508fcc3153e1bd70b
- 64db6133cc87197cb793e0e33b72345bc30dabf862a06f7574321ea783c54645
- db622d082616525302f8d32b9f41793804d51495d1a7b1f62125ed9daedd3fb2
- 919ccec7292a6cf9ccce66fc7a91bbae2a3f93d965ecb4237380256cc8c344dd
- f160cb1db40b31815096c0c58f9aa75213e294600c12fef2d2deb741e24e22dd
- ce4e51c46cb0860c2671606ef94bff741b2e3d5e70e485b9c5c90d0e481cc5b2
- 05a552baec6b12b7e3f9270a628ff6a3fe62ec17c232f905465317e85e40e731
- 6bc18f1db7d0233c9d3bc0cf277234322845d309918681636c30a2c131bd90e9
- a7cc9b51e57b4de49f958cf1ea47d526e6873318fba96b52ee42d541a2e35902
- bf1fac8be9eca95bdbc9f8542445301e146148afe69b40a4ea41bfdf64ab1034
- 85e3c40c5ef6bd2fdbf9951304bec1f17e2f7a212abdf20cf103a5e7b73f2be9
- 6489211d465c053182484faae07c708e076b82a88d0ebecfda071f4bb41b5677
- f0d0d4a58d6bac842c28bee253e6d5906e582b359173fdeedb6d4c40f0b9a4c8
- 4e3da06699c1cc87b735ef9d181f8cc33c989f44840d02c9b9e5dfd893a8c05e
- 0dcabb9158d29001082801b1703946b1df9e22653fc7c66c9a725f102f2ada00
- 1e3ee2f9d0291ec2aa0a2d5939ca3074d6b6a7da533186e227da1d3cc2cc7974
- ab7931be527b56dea1939b048030647e4311b0c0eaa23b7843f3baab180801ba
- a592cfeb20a346ad8b24facca3f0da2c5fdd65156aafea67b0c3793bb99ab0a1
- 32740a1261d43b6bec2b99e2da64bdf201c60b1d0651a5a5db548e1180cf5fb1
- e9e669a9917eab86af336c1d149910cb8606e21708c2b5707d87452c455905b0
- 777d625c67cbe9e710ac7fffda880e0a1fb523f8cafc6ac2c3b227b2d5de38f5
- 63728cede6b88d8352b9398c675c4537527de00ee8a0e120bcc905be9f47ae89
- 97f387a2b47303ca475eeab466a0d9f4bc64554b82c55a00f2da4cea431aaa03
- c875c6a19505c6a04cbeba85baad5d9432efd930d920eebb72413d6642a33d3f
- 4ebd23d9533cf2c5b63ec4dc6b6f83df742c473d7d108dd70b9947d014a4ec45
- de78a9bdb410bd9850b4d1197442e263cfb7f3a112917aa40f76a5c50f5ae64c
- b23fb2ac9a531848ef30e960fdd3174ae970f84b42a2adec1bb34329879acd96
- b7024f86fac5844692b7e5c859e91c721a8279ee60880cafe9479476559bd9fa
- 7107ffa0816d059147381b63ee31d66b4ad9b6af77ed409c05994fc2eb5c597d
- 1e1144a17959632ccce43025f4addc4adea7c0c225bac529f99b501604b96b53
- 3697fe13197519a9838584a17ed612ae08d9c603d56340df13c42fb971ddbca4
- d357fa261223596406a931867f84f1aefaa4ff8556257a005e0d5061c6b5e8cf
- a85066ac413255ea51260e8c690b7a4fe8602ceb628e7d2fa6803ccafa02c9c8
- a9850ec702c480ab9ed2bbee16f8ffea2fa1e60da5f68f0f51b051699a3551de
- cd784b2b6317748241bc8f5192d5d3e734cc8747b61955485a859faad4be151b
- f67ba1abdbf107f5f18db505ea5c5b588bd4fbdd9c589991a643db0da1204f4b
- 8de924873919f06468f58d8a1dae8e9d2886d3705aa59b2dc7d30b9659a5327a
- 8b2b9ec349e0e562b7e681f8b9c910256c46953c1cd12f131d7e6f04469954f6
- 5ddd93aff16c17626a170fd0a5c95a72e9ab7bcaeaff67f36445ddd21100f42d
- 7bbeb6237a36f375cf78820e59dc61e619854bcf031852a5e8201b783176deac
- f77a1a325100e9f4bd84eeba002b35b63bad535b723ce854b0ce85e63776de38
- bf1573cca7b0892ca234a5bb2e44646ba997c0be8051017f35ae217aa7f60bdb
- 671bb222053b1fa8bb609095e518392dd3cb1ce2dde780ed34441118324cb551
- 6c4c7032d76b31bb76abfae5c5e288bd0a82bbcf7d9bf8aa9197bea687c86a46
- 4195b95b23a643925488e969accb294d1c056247ccfec745748d6ee0b0c94851
- ebaa54f3a992514bbf54bce4ab82743390c715a81343739948efd0ac3ca33599
- 868b30b8b311aed6c74b8d5fc05b7c4a0f32f56602b594229ddcadff2733a1f3
- 75f7542f8d3d49cf4e16023fae32a329fa8e804c90bae236a6415a4a045f6ce0
- ea857d827ee2cc580fae43772648cc410c1bcd4c8612cff9a3a7d11b04e54725
- 25716f39d2d7d25f448dc9a68270f51124f1d234f0b9482743dcc0c1a00fa8b1
- 42d52c4ce57e8cae43667faf7600e98d085b0ab713e7607bc1dae1f34932be67
- 5319b79f719dd27e45ecca54d29482d6558f41947db5c4ec4b70c3e25bb8f55a
- 88bcbfa7a2b006b93fd715810661b464e7b150006f046a94e6c03d2e067ae7e3
- 838d84317a7c51c13329c919d4479396b30233136b70fe025faf968b916ba1c1
- 5f686f697c1093c45ef882c3feb1def6064f458d5ae75a74962375b91c6027d5
- 9f9a7a4e6d73698fdc623384a666e677ce2d32990bc69e16aa631a34371cdf78
- 0ba4499c5805a83172e5dcbdc8fd8e464824827f94ed1849d9a1797a9b386e00
- 41f65c5307ec97310b33ace466439e4abf008d461be3835f545e4194e6c54940
- edd966278b660bb280e8e319300e18652ce2ef0fca5baeeb72696b5fd2a03d69
- 13d667aaf3338da21355c042b3a07567553ee48bf0dc071f9a55ef49451de21c"
+checksum="5057ad2542c47f0265fb2bae686ec9f64a157ecd590cae6d172b0f1459e61def
+ dea764ae51459efc43daffa22237e66fc16dc285324aeab7cda308fa94e99674
+ 73c904e791a8a8a69ecfd51a45eb2d3b1574cee8990c7133d769bc1b2079c945
+ b1ff6348f7f52223e530299bab6c3755b2f153955ce480b98dda980d86c27728
+ a8152baac0096d309525bf3a28496fe2f815ce666a75d487e47787b18d7b353a
+ f26c2d3e975746f78717309390e9e0670e25db6fd918556fa2a7f2b818ec9d85
+ 8c6bfdc11b6e4de562de333e665703712f964dbdd3a4f29c6b95426d314816a3
+ 7bc475cbe4ecc8e494e1657405d2d6c80fb80dd1cc3e32efdaa7700eee9f4e5a
+ 58da516e7c048054da633a64230000d59cd379e938487e3f8151521ca9a34bab
+ 56876227956832e49163fbdf55a84f9b36d1de207d762f0922110385fce3e73a
+ 4c6dc9b217272c5c3f46ada8784110f8be458b3822d91d8cec585843d77a4cc5
+ 185ed80656d770ca9ee6c33d1eb5834c24cfe4b79e7d7f1dc9adbf52c23b91be
+ 5c43c5add42fd9728b60b7cc34419372af54ffdc44621651e9e018375f9831c7
+ d8d783962c05ffe47cd515b9006da4c4474a283d1409c93a346a2ab0ee062030
+ 4b7dee81db8389252b161c8b28a1d22ffb2ed8fa30676e903a4fd9e13efed638
+ 6ef660dff47008dab46bdff02e0efe8d370d9a8e0f0ea4eb5e4cc224c57d8bfc
+ d558b0d1829bf3d8777c84bd983c0bb0658f8043866a98f5021e8642a64f6302
+ 88d221597aba787a676fca88488324880f4a37cc678a58b65fe2e73f7b793104
+ 29a32a863ba6adc81c3edbffebbf67deee84088fde5ac905d34cd5fc049a3b81
+ 6b15cb7f3bb4a39ebe487088221f0725f86d4ce98ca5af629bd8766bce8d8bdf
+ 7e54ba29348503d9c3d6276ddc8f6b14c9e31e869cf52f3ca9941e62f3714078
+ 0634fd4229732d98cf744a456f566e3d785e8fbb486598f0b5371db44ef5c64a
+ 781bbf4b2f4693f2817a01837593c34fa4e3facca8762066df8e60c974cdccad
+ 7a8abe8ca4d30452b887d8fc57f70622fc70b4248dde33f6cf9441548ea66a35
+ 7c41593473d15e115c7604de711948abb38ff278fde34289c2cc8862baaf81cb
+ 1b260114e03905f8b7d7fae0850eca0761634e6b00eab56e1cce9c7edc1ce6b7
+ 666dc770a1a0bffd0fb4baa5a91a6e4a4f0c29a9de1d66f0e1af2533f06d0ccb
+ a1bfc76c26608796638a6659708736fa7f7805d05e98f01cb7d8f594ffa73d65
+ da1f95fd025294d77381d3045dec2b98ae8e8180afee1dcd9f90b186120ebb6d
+ a089033bee636cb4d2b09e2fe68c87152041e0180b907d47a76cc64e8e0584bd
+ dd746677f2784f2f7840cc9a68fb3ca9248fa4c144b1b805d192fc19e49029c8
+ 2f857709a97bf755128c4bf6f7225440f3051e7d69687b34148d01948004d1c4
+ 78a172639ba7347975256d9f30e3d71f14f2faec21c3cfe4741acf60e9bd01d3
+ 55da1c778ac8e635b1ab3063827e968ef54f3620182076c82e372ccdb0b95370
+ c3ff202504e3e747d4951b02c655ef632f2844b934997434c426e8c4341410e3
+ e0fb2ec6a26660fc053c5f2bb4e8178ff1825018ae76ce3aaabd62ffec19ae4e
+ 38c796e2a40a9e836486100ab3b33ba3e223602927c9ce88fed505fe227e3643
+ 3cdb8e561729f71f5e3089c16b3e9c8e5344d5af0aa133e05ae4d8a45719533c
+ 6adc31723a23191bb960a318fa0ae87aff8407d99d0dbb9780acdabd02a87de4
+ 0ab56f7282388c66ab03a66208046d4a4a8297f74f5d00657c326b10dc3fc8a5
+ 63a02b50e5d6e0d5c8c30806b08375e6535efd64cde17e484452ca5f5b1bbf25
+ 96a6cef53e47af87adacb8fc3a910c246855a364d75b8a1c1ad4debfd9072a15
+ aa4dd9fa9a9c45d625fd90687c51d872821602339e88b8888908b1710ec446f6
+ 7bfc46cb924345602464bd4e67a00c63649834df5c9cfef188ee030de443879e
+ bcc4b92d639229222c46936844099631f68f6bd0082ec93673eb8f28da35e73a
+ bc2816a7aa473ed8bdc7a8bb1eb7c9b68ba71f1358336d1a6d4a07585fb56296
+ 0630f878c36c5f415b037083d20dc1ed1067ee3b388f7cffd952688ab8a84940
+ 5f31d53570585b9826eb1995e32109108cf706ef43639a85e7f5d4510dbda842
+ 82b7daa00e2ec6d9b6ec87eb5fb2f3f14a7762cfcfc85ac8f2ba88570e3a4339
+ e66a39a57f01b807a308bec2b11dde02d02fce75bced478045c1e3bee4d1246c
+ 3811d60fe7cc4d1f2abf939bbe5fb2a83b81621cc7848be7a5eb968e821b6502
+ 40f8bb5f10499c66caf30bd2943b46970fc777f512488034d940cf4d8c310dcc
+ ac3394832f33c73e20d6919865d20d0b85f60acbe2ae8de320bbd272dd05c949
+ c9bea6a16033821aecc6e3caf9b45144e27e658d51a21e2c0db4750f76d577be
+ 0f71a41a8c860ad5b2b9ec93d8fae8f7dac56585e4c669918f3a805b23fbc388
+ 694618f1e255f0ed00fe50d41c61bbdf7dbe2cdde573cd44a97bd29f48e0bfe1
+ e5d069eeb5dd880bfe2c976bad039aabc5022b2b3b9d0b3a39848362f0b50c52
+ 9adb233aef358fbdb8b39d11ab994c33755c1e0896ca4585326988cda9ffab58
+ cc652393837df756c60284a7a05b4a8bd9b0a3153c9df4b6bd734c85160806ba
+ 5867d16320a3f068d7411dd9ed5aa819ab79c200a20dfc36199b935a76eb7076
+ 4f03d3c6db0dc6c25b681eef01deee782d7717b1479f714b1843ba8711ad9882
+ cb271bd3b6cfe7f693afd19c2dacd04acee215a314bdb95571db1bf45341251b
+ 6e55fad6140f72d626ccf44a02dd756370d443907d1ea50fb780604024327ed3
+ 2f78137af493828ae3e70f4086fa6bb2febd17d33d016e35b35787188f89ad99
+ 6e22799eea7e8e7303fce19709f7423ea876d405dc0d0fb4d824b54c1f56862e
+ 6dbeefd4173ca1a5483fe23d4ce5107a583b9bdc2f9c07122504a1bd0c062102"

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PR PATCH] [Updated] thunderbird: update to 102.10.1
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (2 preceding siblings ...)
  2023-04-26 10:07 ` [PR PATCH] [Updated] " pascal-huber
@ 2023-04-26 10:09 ` pascal-huber
  2023-05-05  7:02 ` pascal-huber
                   ` (28 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: pascal-huber @ 2023-04-26 10:09 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 658 bytes --]

There is an updated pull request by pascal-huber against master on the void-packages repository

https://github.com/pascal-huber/void-packages thunderbird
https://github.com/void-linux/void-packages/pull/43607

thunderbird: update to 102.10.1
[ci skip]

#### Testing the changes
- I tested the changes in this PR: **briefly**

#### Local build testing
- I built this PR locally for my native architecture, x86_64-glibc
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - armv7l (crossbuild)
  - x86_64-musl (crossbuild)


A patch file from https://github.com/void-linux/void-packages/pull/43607.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-thunderbird-43607.patch --]
[-- Type: text/x-diff, Size: 28601 bytes --]

From 29cd228af846d2508ecf37bc2d520aab2ba42ffb Mon Sep 17 00:00:00 2001
From: Pascal Huber <pascal.huber@resolved.ch>
Date: Wed, 26 Apr 2023 12:09:15 +0200
Subject: [PATCH 1/2] thunderbird: update to 102.10.1

---
 .../thunderbird/patches/flac-no-ffvpx.patch   |   3 +-
 srcpkgs/thunderbird/patches/lto-thin.patch    |  21 +-
 srcpkgs/thunderbird/patches/mallinfo.patch    |  24 +-
 srcpkgs/thunderbird/patches/python3.11.patch  | 238 ------------------
 .../thunderbird/patches/rust-configure.patch  |  20 +-
 .../thunderbird/patches/sandbox-fork.patch    |  11 +-
 srcpkgs/thunderbird/template                  |   6 +-
 7 files changed, 47 insertions(+), 276 deletions(-)
 delete mode 100644 srcpkgs/thunderbird/patches/python3.11.patch

diff --git a/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch b/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
index ebf48deb9720..2e475e8c6940 100644
--- a/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
+++ b/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
@@ -12,7 +12,7 @@ index 53fc3c9937f7..b23771ab80fa 100644
  
  namespace mozilla {
  
-@@ -14,6 +15,10 @@ namespace mozilla {
+@@ -14,5 +15,9 @@ namespace mozilla {
  bool FlacDecoder::IsEnabled() {
  #ifdef MOZ_FFVPX
    return StaticPrefs::media_flac_enabled();
@@ -21,5 +21,4 @@ index 53fc3c9937f7..b23771ab80fa 100644
 +  return StaticPrefs::media_flac_enabled() &&
 +         platform->SupportsMimeType("audio/flac"_ns);
  #else
-   // Until bug 1295886 is fixed.
    return false;
diff --git a/srcpkgs/thunderbird/patches/lto-thin.patch b/srcpkgs/thunderbird/patches/lto-thin.patch
index e85cbce36583..17cd0a5e9458 100644
--- a/srcpkgs/thunderbird/patches/lto-thin.patch
+++ b/srcpkgs/thunderbird/patches/lto-thin.patch
@@ -1,15 +1,18 @@
-$OpenBSD: patch-config_makefiles_rust_mk,v 1.6 2021/01/26 15:52:58 landry Exp $
+This patch is a modified version of the OpenBSD patch
 
-use lto=thin to reduce memory pressure when building gkrust
+try to consume less memory when linking gkrust with debug symbols ?
+
+openbsd patch: https://github.com/openbsd/ports/blob/master/mail/mozilla-thunderbird/patches/patch-config_makefiles_rust_mk
 https://bugzilla.mozilla.org/show_bug.cgi?id=1644409
 https://bugzilla.mozilla.org/show_bug.cgi?id=1640982
-
-Index: config/makefiles/rust.mk
---- a/config/makefiles/rust.mk.orig
-+++ a/config/makefiles/rust.mk
-@@ -70,7 +70,8 @@ ifndef MOZ_DEBUG_RUST
- # gkrust_gtest. And not when doing cross-language LTO.
- ifndef MOZ_LTO_RUST_CROSS
+---
+diff --git a/config/makefiles/rust.mk b/config/makefiles/rust.mk
+index a243ee5f7f..89593f1fe1 100644
+--- a/config/makefiles/rust.mk
++++ b/config/makefiles/rust.mk
+@@ -90,7 +90,8 @@ ifndef rustflags_sancov
+ # Never enable when coverage is enabled to work around https://github.com/rust-lang/rust/issues/90045.
+ ifndef MOZ_CODE_COVERAGE
  ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE)))
 -cargo_rustc_flags += -Clto
 +cargo_rustc_flags += -Clto=thin
diff --git a/srcpkgs/thunderbird/patches/mallinfo.patch b/srcpkgs/thunderbird/patches/mallinfo.patch
index 0d704301f39f..a3b3e1cb53ac 100644
--- a/srcpkgs/thunderbird/patches/mallinfo.patch
+++ b/srcpkgs/thunderbird/patches/mallinfo.patch
@@ -1,14 +1,16 @@
---- a/xpcom/base/nsMemoryReporterManager.cpp	2019-03-19 17:12:20.844810044 +0100
-+++ b/xpcom/base/nsMemoryReporterManager.cpp	2019-03-19 17:13:32.505133615 +0100
-@@ -123,6 +123,7 @@
-   return GetProcSelfSmapsPrivate(aN);
+diff --git a/xpcom/base/nsMemoryReporterManager.cpp b/xpcom/base/nsMemoryReporterManager.cpp
+index 30bc60e01a..caf9f740d2 100644
+--- a/xpcom/base/nsMemoryReporterManager.cpp
++++ b/xpcom/base/nsMemoryReporterManager.cpp
+@@ -127,6 +127,7 @@ using namespace dom;
+   return GetProcSelfSmapsPrivate(aN, aPid);
  }
  
 +#ifdef __GLIBC__
  #  ifdef HAVE_MALLINFO
  #    define HAVE_SYSTEM_HEAP_REPORTER 1
- static MOZ_MUST_USE nsresult SystemHeapSize(int64_t* aSizeOut) {
-@@ -142,6 +143,7 @@
+ [[nodiscard]] static nsresult SystemHeapSize(int64_t* aSizeOut) {
+@@ -146,6 +147,7 @@ using namespace dom;
    return NS_OK;
  }
  #  endif
@@ -16,16 +18,16 @@
  
  #elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
      defined(__OpenBSD__) || defined(__FreeBSD_kernel__)
-@@ -642,6 +644,7 @@
+@@ -653,6 +655,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr, cpu_type_t aType) {
    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;
+ // Windows can have multiple separate heaps, but we should not touch non-default
+ // heaps because they may be destroyed at anytime while we hold a handle.  So we
+@@ -685,6 +688,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr, cpu_type_t aType) {
+   *aSizeOut = heapSize;
    return NS_OK;
  }
 +#endif // __GLIBC__
diff --git a/srcpkgs/thunderbird/patches/python3.11.patch b/srcpkgs/thunderbird/patches/python3.11.patch
deleted file mode 100644
index 2facee5ebb2b..000000000000
--- a/srcpkgs/thunderbird/patches/python3.11.patch
+++ /dev/null
@@ -1,238 +0,0 @@
-Patch-Source: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267709
-Patch-Source: https://hg.mozilla.org/mozilla-central/rev/f54162b2c1f2fe52c6137ab2c3469a1944f58b27
---- a/xpcom/idl-parser/xpidl/xpidl.py
-+++ b/xpcom/idl-parser/xpidl/xpidl.py
-@@ -1633,13 +1633,13 @@ class IDLParser(object):
-     t_ignore = " \t"
- 
-     def t_multilinecomment(self, t):
--        r"/\*(?s).*?\*/"
-+        r"/\*(\n|.)*?\*/"
-         t.lexer.lineno += t.value.count("\n")
-         if t.value.startswith("/**"):
-             self._doccomments.append(t.value)
- 
-     def t_singlelinecomment(self, t):
--        r"(?m)//.*?$"
-+        r"//[^\n]*"
- 
-     def t_IID(self, t):
-         return t
-@@ -1652,7 +1652,7 @@ class IDLParser(object):
-         return t
- 
-     def t_LCDATA(self, t):
--        r"(?s)%\{[ ]*C\+\+[ ]*\n(?P<cdata>.*?\n?)%\}[ ]*(C\+\+)?"
-+        r"%\{[ ]*C\+\+[ ]*\n(?P<cdata>(\n|.)*?\n?)%\}[ ]*(C\+\+)?"
-         t.type = "CDATA"
-         t.value = t.lexer.lexmatch.group("cdata")
-         t.lexer.lineno += t.value.count("\n")
-
-
-# HG changeset patch
-# User ahochheiden <ahochheiden@mozilla.com>
-# Date 1654151264 0
-# Node ID f54162b2c1f2fe52c6137ab2c3469a1944f58b27
-# Parent  6e7776492240c27732840d65a33dcc440fa1aba0
-Bug 1769631 - Remove 'U' from 'mode' parameters for various 'open' calls to ensure Python3.11 compatibility r=firefox-build-system-reviewers,glandium
-
-The 'U' flag represents "universal newline". It has been deprecated
-since Python3.3. Since then "universal newline" is the default when a
-file is opened in text mode (not bytes). In Python3.11 using the 'U'
-flag throws errors. There should be no harm in removing 'U' from 'open'
-everywhere it is used, and doing allows the use of Python3.11.
-
-For more reading see: https://docs.python.org/3.11/whatsnew/3.11.html#changes-in-the-python-api
-
-Differential Revision: https://phabricator.services.mozilla.com/D147721
-
-diff --git a/dom/base/usecounters.py b/dom/base/usecounters.py
---- a/dom/base/usecounters.py
-+++ b/dom/base/usecounters.py
-@@ -3,17 +3,17 @@
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
- 
- import collections
- import re
- 
- 
- def read_conf(conf_filename):
-     # Can't read/write from a single StringIO, so make a new one for reading.
--    stream = open(conf_filename, "rU")
-+    stream = open(conf_filename, "r")
- 
-     def parse_counters(stream):
-         for line_num, line in enumerate(stream):
-             line = line.rstrip("\n")
-             if not line or line.startswith("//"):
-                 # empty line or comment
-                 continue
-             m = re.match(r"method ([A-Za-z0-9]+)\.([A-Za-z0-9]+)$", line)
-diff --git a/python/mozbuild/mozbuild/action/process_define_files.py b/python/mozbuild/mozbuild/action/process_define_files.py
---- a/python/mozbuild/mozbuild/action/process_define_files.py
-+++ b/python/mozbuild/mozbuild/action/process_define_files.py
-@@ -31,17 +31,17 @@ def process_define_file(output, input):
- 
-     config = PartialConfigEnvironment(topobjdir)
- 
-     if mozpath.basedir(
-         path, [mozpath.join(topsrcdir, "js/src")]
-     ) and not config.substs.get("JS_STANDALONE"):
-         config = PartialConfigEnvironment(mozpath.join(topobjdir, "js", "src"))
- 
--    with open(path, "rU") as input:
-+    with open(path, "r") as input:
-         r = re.compile(
-             "^\s*#\s*(?P<cmd>[a-z]+)(?:\s+(?P<name>\S+)(?:\s+(?P<value>\S+))?)?", re.U
-         )
-         for l in input:
-             m = r.match(l)
-             if m:
-                 cmd = m.group("cmd")
-                 name = m.group("name")
-diff --git a/python/mozbuild/mozbuild/backend/base.py b/python/mozbuild/mozbuild/backend/base.py
---- a/python/mozbuild/mozbuild/backend/base.py
-+++ b/python/mozbuild/mozbuild/backend/base.py
-@@ -267,17 +267,17 @@ class BuildBackend(LoggingMixin):
-         If an exception is raised, |mach build| will fail with a
-         non-zero exit code.
-         """
-         self._write_purgecaches(config)
- 
-         return status
- 
-     @contextmanager
--    def _write_file(self, path=None, fh=None, readmode="rU"):
-+    def _write_file(self, path=None, fh=None, readmode="r"):
-         """Context manager to write a file.
- 
-         This is a glorified wrapper around FileAvoidWrite with integration to
-         update the summary data on this instance.
- 
-         Example usage:
- 
-             with self._write_file('foo.txt') as fh:
-diff --git a/python/mozbuild/mozbuild/preprocessor.py b/python/mozbuild/mozbuild/preprocessor.py
---- a/python/mozbuild/mozbuild/preprocessor.py
-+++ b/python/mozbuild/mozbuild/preprocessor.py
-@@ -526,17 +526,17 @@ class Preprocessor:
-             if not options.output:
-                 raise Preprocessor.Error(
-                     self, "--depend doesn't work with stdout", None
-                 )
-             depfile = get_output_file(options.depend)
- 
-         if args:
-             for f in args:
--                with io.open(f, "rU", encoding="utf-8") as input:
-+                with io.open(f, "r", encoding="utf-8") as input:
-                     self.processFile(input=input, output=out)
-             if depfile:
-                 mk = Makefile()
-                 mk.create_rule([six.ensure_text(options.output)]).add_dependencies(
-                     self.includes
-                 )
-                 mk.dump(depfile)
-                 depfile.close()
-@@ -855,17 +855,17 @@ class Preprocessor:
-         self.checkLineNumbers = False
-         if isName:
-             try:
-                 args = _to_text(args)
-                 if filters:
-                     args = self.applyFilters(args)
-                 if not os.path.isabs(args):
-                     args = os.path.join(self.curdir, args)
--                args = io.open(args, "rU", encoding="utf-8")
-+                args = io.open(args, "r", encoding="utf-8")
-             except Preprocessor.Error:
-                 raise
-             except Exception:
-                 raise Preprocessor.Error(self, "FILE_NOT_FOUND", _to_text(args))
-         self.checkLineNumbers = bool(
-             re.search("\.(js|jsm|java|webidl)(?:\.in)?$", args.name)
-         )
-         oldFile = self.context["FILE"]
-@@ -909,17 +909,17 @@ class Preprocessor:
- 
-     def do_error(self, args):
-         raise Preprocessor.Error(self, "Error: ", _to_text(args))
- 
- 
- def preprocess(includes=[sys.stdin], defines={}, output=sys.stdout, marker="#"):
-     pp = Preprocessor(defines=defines, marker=marker)
-     for f in includes:
--        with io.open(f, "rU", encoding="utf-8") as input:
-+        with io.open(f, "r", encoding="utf-8") as input:
-             pp.processFile(input=input, output=output)
-     return pp.includes
- 
- 
- # Keep this module independently executable.
- if __name__ == "__main__":
-     pp = Preprocessor()
-     pp.handleCommandLine(None, True)
-diff --git a/python/mozbuild/mozbuild/util.py b/python/mozbuild/mozbuild/util.py
---- a/python/mozbuild/mozbuild/util.py
-+++ b/python/mozbuild/mozbuild/util.py
-@@ -231,17 +231,17 @@ class FileAvoidWrite(BytesIO):
-     enabled by default because it a) doesn't make sense for binary files b)
-     could add unwanted overhead to calls.
- 
-     Additionally, there is dry run mode where the file is not actually written
-     out, but reports whether the file was existing and would have been updated
-     still occur, as well as diff capture if requested.
-     """
- 
--    def __init__(self, filename, capture_diff=False, dry_run=False, readmode="rU"):
-+    def __init__(self, filename, capture_diff=False, dry_run=False, readmode="r"):
-         BytesIO.__init__(self)
-         self.name = filename
-         assert type(capture_diff) == bool
-         assert type(dry_run) == bool
-         assert "r" in readmode
-         self._capture_diff = capture_diff
-         self._write_to_file = not dry_run
-         self.diff = None
-diff --git a/python/mozbuild/mozpack/files.py b/python/mozbuild/mozpack/files.py
---- a/python/mozbuild/mozpack/files.py
-+++ b/python/mozbuild/mozpack/files.py
-@@ -549,17 +549,17 @@ class PreprocessedFile(BaseFile):
-         self.defines = defines
-         self.extra_depends = list(extra_depends or [])
-         self.silence_missing_directive_warnings = silence_missing_directive_warnings
- 
-     def inputs(self):
-         pp = Preprocessor(defines=self.defines, marker=self.marker)
-         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
- 
--        with _open(self.path, "rU") as input:
-+        with _open(self.path, "r") as input:
-             with _open(os.devnull, "w") as output:
-                 pp.processFile(input=input, output=output)
- 
-         # This always yields at least self.path.
-         return pp.includes
- 
-     def copy(self, dest, skip_if_older=True):
-         """
-@@ -606,17 +606,17 @@ class PreprocessedFile(BaseFile):
-             return False
- 
-         deps_out = None
-         if self.depfile:
-             deps_out = FileAvoidWrite(self.depfile)
-         pp = Preprocessor(defines=self.defines, marker=self.marker)
-         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
- 
--        with _open(self.path, "rU") as input:
-+        with _open(self.path, "r") as input:
-             pp.processFile(input=input, output=dest, depfile=deps_out)
- 
-         dest.close()
-         if self.depfile:
-             deps_out.close()
- 
-         return True
- 
-
diff --git a/srcpkgs/thunderbird/patches/rust-configure.patch b/srcpkgs/thunderbird/patches/rust-configure.patch
index 61fb2ba891d9..b5ff2987008c 100644
--- a/srcpkgs/thunderbird/patches/rust-configure.patch
+++ b/srcpkgs/thunderbird/patches/rust-configure.patch
@@ -6,9 +6,11 @@ instead use what is set in RUST_TARGET
 
 Skip extra checks on cross builds (broken for arm*)
 
---- a/build/moz.configure/rust.configure	2020-12-12 01:35:33.000000000 +0100
-+++ b/build/moz.configure/rust.configure	2020-12-15 19:45:16.467750787 +0100
-@@ -91,9 +91,6 @@
+diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure
+index e64dc5d5ec..c4778f8cc8 100644
+--- a/build/moz.configure/rust.configure
++++ b/build/moz.configure/rust.configure
+@@ -91,9 +91,6 @@ def unwrap_rustup(prog, name):
      return unwrap
  
  
@@ -18,7 +20,7 @@ Skip extra checks on cross builds (broken for arm*)
  
  set_config("CARGO", cargo)
  set_config("RUSTC", rustc)
-@@ -260,7 +257,9 @@
+@@ -274,7 +271,9 @@ def rust_supported_targets(rustc):
          data.setdefault(key, []).append(namespace(rust_target=t, target=info))
      return data
  
@@ -29,24 +31,26 @@ Skip extra checks on cross builds (broken for arm*)
  def detect_rustc_target(
      host_or_target, compiler_info, arm_target, rust_supported_targets
  ):
-@@ -382,12 +381,12 @@
+@@ -396,12 +395,14 @@ def detect_rustc_target(
  
          return None
  
 -    rustc_target = find_candidate(candidates)
 +    rustc_target = os.environ['RUST_TARGET']
++
  
      if rustc_target is None:
          die("Don't know how to translate {} for rustc".format(host_or_target.alias))
  
 -    return rustc_target
 +    return ensure_unicode(rustc_target, system_encoding)
++
  
  
  @imports("os")
-@@ -410,35 +409,6 @@
+@@ -423,35 +424,6 @@ def assert_rust_compile(host_or_target, rustc_target, rustc):
  
-         os.write(in_fd, ensure_binary(source))
+         os.write(in_fd, source)
          os.close(in_fd)
 -
 -        cmd = [
@@ -80,7 +84,7 @@ Skip extra checks on cross builds (broken for arm*)
      finally:
          os.remove(in_path)
          os.remove(out_path)
-@@ -462,28 +432,7 @@
+@@ -475,28 +447,7 @@ def rust_host_triple(
          host, compiler_info, arm_target, rust_supported_targets
      )
      if rustc_target != rustc_host:
diff --git a/srcpkgs/thunderbird/patches/sandbox-fork.patch b/srcpkgs/thunderbird/patches/sandbox-fork.patch
index d4584e74b91c..a8cb89394f87 100644
--- a/srcpkgs/thunderbird/patches/sandbox-fork.patch
+++ b/srcpkgs/thunderbird/patches/sandbox-fork.patch
@@ -1,8 +1,8 @@
-make SYS_fork non-fatal, musl uses it for fork(2)
-
+diff --git a/security/sandbox/linux/SandboxFilter.cpp b/security/sandbox/linux/SandboxFilter.cpp
+index 20e9b59685..e053580992 100644
 --- a/security/sandbox/linux/SandboxFilter.cpp
 +++ b/security/sandbox/linux/SandboxFilter.cpp
-@@ -1420,6 +1420,10 @@
+@@ -1598,6 +1598,11 @@ class ContentSandboxPolicy : public SandboxPolicyCommon {
          // usually do something reasonable on error.
        case __NR_clone:
          return ClonePolicy(Error(EPERM));
@@ -10,6 +10,7 @@ make SYS_fork non-fatal, musl uses it for fork(2)
 +      case __NR_fork:
 +        return Error(ENOSYS);
 +#  endif
++
  
- #  ifdef __NR_fadvise64
-       case __NR_fadvise64:
+       case __NR_clone3:
+         return Error(ENOSYS);
diff --git a/srcpkgs/thunderbird/template b/srcpkgs/thunderbird/template
index ec3fa3d4c35f..e4529d8bf8c4 100644
--- a/srcpkgs/thunderbird/template
+++ b/srcpkgs/thunderbird/template
@@ -3,15 +3,15 @@
 # THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/thunderbird-i18n".
 #
 pkgname=thunderbird
-version=102.6.1
-revision=3
+version=102.10.1
+revision=1
 build_helper="rust"
 short_desc="Standalone Mail/News reader"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="MPL-2.0, GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.thunderbird.net/"
 distfiles="${MOZILLA_SITE}/${pkgname}/releases/${version}/source/${pkgname}-${version}.source.tar.xz"
-checksum=8b8cb5d7532ad8ee65061d2f284ae9f0470e7614dfcfc3c37ca945bcb96d1183
+checksum=39e8714c162f05955844606583106db9b314eee1a58cb8ad504e1836031916e1
 
 lib32disabled=yes
 

From 791619030d32d10c3330e48d741b934990b1db44 Mon Sep 17 00:00:00 2001
From: Pascal Huber <pascal.huber@resolved.ch>
Date: Wed, 26 Apr 2023 12:09:25 +0200
Subject: [PATCH 2/2] thunderbird-i18n: udpate to 102.10.1

---
 srcpkgs/thunderbird-i18n/template | 134 +++++++++++++++---------------
 1 file changed, 67 insertions(+), 67 deletions(-)

diff --git a/srcpkgs/thunderbird-i18n/template b/srcpkgs/thunderbird-i18n/template
index 17830bddd777..c17b9b1ad096 100644
--- a/srcpkgs/thunderbird-i18n/template
+++ b/srcpkgs/thunderbird-i18n/template
@@ -1,6 +1,6 @@
 # Template file for 'thunderbird-i18n'
 pkgname=thunderbird-i18n
-version=102.6.1
+version=102.10.1
 revision=1
 build_style=meta
 short_desc="Thunderbird language packs"
@@ -107,69 +107,69 @@ _pkgtmpl() {
 	}
 }
 
-checksum="5935be82bcbd313b58520d95b04dc32c462e47df88f9724bb31b21686f8b4b77
- 142c0bd4d67b03320db94ae8002c8d67d9bc481a7ad728efa17ba7ae09e9a971
- 5547af80c73146c9892ad2dcd7fb5c6616c9a3a5b49868a23f03914ae2da1537
- e6f34bb2a5412ef9127aacd87823c84ca2881d47b15a45a96751a7557d1e0398
- cb35b936f2db79a897e1372ea34a1fb8237885030446f29269b940c0f221d733
- ada9c925979d25cb0e1549d20466b7e22653931715dd1a7fe85ca835caddf7f7
- 9b92561b20face8de88a77a579afa6d1404f55c69340993508fcc3153e1bd70b
- 64db6133cc87197cb793e0e33b72345bc30dabf862a06f7574321ea783c54645
- db622d082616525302f8d32b9f41793804d51495d1a7b1f62125ed9daedd3fb2
- 919ccec7292a6cf9ccce66fc7a91bbae2a3f93d965ecb4237380256cc8c344dd
- f160cb1db40b31815096c0c58f9aa75213e294600c12fef2d2deb741e24e22dd
- ce4e51c46cb0860c2671606ef94bff741b2e3d5e70e485b9c5c90d0e481cc5b2
- 05a552baec6b12b7e3f9270a628ff6a3fe62ec17c232f905465317e85e40e731
- 6bc18f1db7d0233c9d3bc0cf277234322845d309918681636c30a2c131bd90e9
- a7cc9b51e57b4de49f958cf1ea47d526e6873318fba96b52ee42d541a2e35902
- bf1fac8be9eca95bdbc9f8542445301e146148afe69b40a4ea41bfdf64ab1034
- 85e3c40c5ef6bd2fdbf9951304bec1f17e2f7a212abdf20cf103a5e7b73f2be9
- 6489211d465c053182484faae07c708e076b82a88d0ebecfda071f4bb41b5677
- f0d0d4a58d6bac842c28bee253e6d5906e582b359173fdeedb6d4c40f0b9a4c8
- 4e3da06699c1cc87b735ef9d181f8cc33c989f44840d02c9b9e5dfd893a8c05e
- 0dcabb9158d29001082801b1703946b1df9e22653fc7c66c9a725f102f2ada00
- 1e3ee2f9d0291ec2aa0a2d5939ca3074d6b6a7da533186e227da1d3cc2cc7974
- ab7931be527b56dea1939b048030647e4311b0c0eaa23b7843f3baab180801ba
- a592cfeb20a346ad8b24facca3f0da2c5fdd65156aafea67b0c3793bb99ab0a1
- 32740a1261d43b6bec2b99e2da64bdf201c60b1d0651a5a5db548e1180cf5fb1
- e9e669a9917eab86af336c1d149910cb8606e21708c2b5707d87452c455905b0
- 777d625c67cbe9e710ac7fffda880e0a1fb523f8cafc6ac2c3b227b2d5de38f5
- 63728cede6b88d8352b9398c675c4537527de00ee8a0e120bcc905be9f47ae89
- 97f387a2b47303ca475eeab466a0d9f4bc64554b82c55a00f2da4cea431aaa03
- c875c6a19505c6a04cbeba85baad5d9432efd930d920eebb72413d6642a33d3f
- 4ebd23d9533cf2c5b63ec4dc6b6f83df742c473d7d108dd70b9947d014a4ec45
- de78a9bdb410bd9850b4d1197442e263cfb7f3a112917aa40f76a5c50f5ae64c
- b23fb2ac9a531848ef30e960fdd3174ae970f84b42a2adec1bb34329879acd96
- b7024f86fac5844692b7e5c859e91c721a8279ee60880cafe9479476559bd9fa
- 7107ffa0816d059147381b63ee31d66b4ad9b6af77ed409c05994fc2eb5c597d
- 1e1144a17959632ccce43025f4addc4adea7c0c225bac529f99b501604b96b53
- 3697fe13197519a9838584a17ed612ae08d9c603d56340df13c42fb971ddbca4
- d357fa261223596406a931867f84f1aefaa4ff8556257a005e0d5061c6b5e8cf
- a85066ac413255ea51260e8c690b7a4fe8602ceb628e7d2fa6803ccafa02c9c8
- a9850ec702c480ab9ed2bbee16f8ffea2fa1e60da5f68f0f51b051699a3551de
- cd784b2b6317748241bc8f5192d5d3e734cc8747b61955485a859faad4be151b
- f67ba1abdbf107f5f18db505ea5c5b588bd4fbdd9c589991a643db0da1204f4b
- 8de924873919f06468f58d8a1dae8e9d2886d3705aa59b2dc7d30b9659a5327a
- 8b2b9ec349e0e562b7e681f8b9c910256c46953c1cd12f131d7e6f04469954f6
- 5ddd93aff16c17626a170fd0a5c95a72e9ab7bcaeaff67f36445ddd21100f42d
- 7bbeb6237a36f375cf78820e59dc61e619854bcf031852a5e8201b783176deac
- f77a1a325100e9f4bd84eeba002b35b63bad535b723ce854b0ce85e63776de38
- bf1573cca7b0892ca234a5bb2e44646ba997c0be8051017f35ae217aa7f60bdb
- 671bb222053b1fa8bb609095e518392dd3cb1ce2dde780ed34441118324cb551
- 6c4c7032d76b31bb76abfae5c5e288bd0a82bbcf7d9bf8aa9197bea687c86a46
- 4195b95b23a643925488e969accb294d1c056247ccfec745748d6ee0b0c94851
- ebaa54f3a992514bbf54bce4ab82743390c715a81343739948efd0ac3ca33599
- 868b30b8b311aed6c74b8d5fc05b7c4a0f32f56602b594229ddcadff2733a1f3
- 75f7542f8d3d49cf4e16023fae32a329fa8e804c90bae236a6415a4a045f6ce0
- ea857d827ee2cc580fae43772648cc410c1bcd4c8612cff9a3a7d11b04e54725
- 25716f39d2d7d25f448dc9a68270f51124f1d234f0b9482743dcc0c1a00fa8b1
- 42d52c4ce57e8cae43667faf7600e98d085b0ab713e7607bc1dae1f34932be67
- 5319b79f719dd27e45ecca54d29482d6558f41947db5c4ec4b70c3e25bb8f55a
- 88bcbfa7a2b006b93fd715810661b464e7b150006f046a94e6c03d2e067ae7e3
- 838d84317a7c51c13329c919d4479396b30233136b70fe025faf968b916ba1c1
- 5f686f697c1093c45ef882c3feb1def6064f458d5ae75a74962375b91c6027d5
- 9f9a7a4e6d73698fdc623384a666e677ce2d32990bc69e16aa631a34371cdf78
- 0ba4499c5805a83172e5dcbdc8fd8e464824827f94ed1849d9a1797a9b386e00
- 41f65c5307ec97310b33ace466439e4abf008d461be3835f545e4194e6c54940
- edd966278b660bb280e8e319300e18652ce2ef0fca5baeeb72696b5fd2a03d69
- 13d667aaf3338da21355c042b3a07567553ee48bf0dc071f9a55ef49451de21c"
+checksum="5057ad2542c47f0265fb2bae686ec9f64a157ecd590cae6d172b0f1459e61def
+ dea764ae51459efc43daffa22237e66fc16dc285324aeab7cda308fa94e99674
+ 73c904e791a8a8a69ecfd51a45eb2d3b1574cee8990c7133d769bc1b2079c945
+ b1ff6348f7f52223e530299bab6c3755b2f153955ce480b98dda980d86c27728
+ a8152baac0096d309525bf3a28496fe2f815ce666a75d487e47787b18d7b353a
+ f26c2d3e975746f78717309390e9e0670e25db6fd918556fa2a7f2b818ec9d85
+ 8c6bfdc11b6e4de562de333e665703712f964dbdd3a4f29c6b95426d314816a3
+ 7bc475cbe4ecc8e494e1657405d2d6c80fb80dd1cc3e32efdaa7700eee9f4e5a
+ 58da516e7c048054da633a64230000d59cd379e938487e3f8151521ca9a34bab
+ 56876227956832e49163fbdf55a84f9b36d1de207d762f0922110385fce3e73a
+ 4c6dc9b217272c5c3f46ada8784110f8be458b3822d91d8cec585843d77a4cc5
+ 185ed80656d770ca9ee6c33d1eb5834c24cfe4b79e7d7f1dc9adbf52c23b91be
+ 5c43c5add42fd9728b60b7cc34419372af54ffdc44621651e9e018375f9831c7
+ d8d783962c05ffe47cd515b9006da4c4474a283d1409c93a346a2ab0ee062030
+ 4b7dee81db8389252b161c8b28a1d22ffb2ed8fa30676e903a4fd9e13efed638
+ 6ef660dff47008dab46bdff02e0efe8d370d9a8e0f0ea4eb5e4cc224c57d8bfc
+ d558b0d1829bf3d8777c84bd983c0bb0658f8043866a98f5021e8642a64f6302
+ 88d221597aba787a676fca88488324880f4a37cc678a58b65fe2e73f7b793104
+ 29a32a863ba6adc81c3edbffebbf67deee84088fde5ac905d34cd5fc049a3b81
+ 6b15cb7f3bb4a39ebe487088221f0725f86d4ce98ca5af629bd8766bce8d8bdf
+ 7e54ba29348503d9c3d6276ddc8f6b14c9e31e869cf52f3ca9941e62f3714078
+ 0634fd4229732d98cf744a456f566e3d785e8fbb486598f0b5371db44ef5c64a
+ 781bbf4b2f4693f2817a01837593c34fa4e3facca8762066df8e60c974cdccad
+ 7a8abe8ca4d30452b887d8fc57f70622fc70b4248dde33f6cf9441548ea66a35
+ 7c41593473d15e115c7604de711948abb38ff278fde34289c2cc8862baaf81cb
+ 1b260114e03905f8b7d7fae0850eca0761634e6b00eab56e1cce9c7edc1ce6b7
+ 666dc770a1a0bffd0fb4baa5a91a6e4a4f0c29a9de1d66f0e1af2533f06d0ccb
+ a1bfc76c26608796638a6659708736fa7f7805d05e98f01cb7d8f594ffa73d65
+ da1f95fd025294d77381d3045dec2b98ae8e8180afee1dcd9f90b186120ebb6d
+ a089033bee636cb4d2b09e2fe68c87152041e0180b907d47a76cc64e8e0584bd
+ dd746677f2784f2f7840cc9a68fb3ca9248fa4c144b1b805d192fc19e49029c8
+ 2f857709a97bf755128c4bf6f7225440f3051e7d69687b34148d01948004d1c4
+ 78a172639ba7347975256d9f30e3d71f14f2faec21c3cfe4741acf60e9bd01d3
+ 55da1c778ac8e635b1ab3063827e968ef54f3620182076c82e372ccdb0b95370
+ c3ff202504e3e747d4951b02c655ef632f2844b934997434c426e8c4341410e3
+ e0fb2ec6a26660fc053c5f2bb4e8178ff1825018ae76ce3aaabd62ffec19ae4e
+ 38c796e2a40a9e836486100ab3b33ba3e223602927c9ce88fed505fe227e3643
+ 3cdb8e561729f71f5e3089c16b3e9c8e5344d5af0aa133e05ae4d8a45719533c
+ 6adc31723a23191bb960a318fa0ae87aff8407d99d0dbb9780acdabd02a87de4
+ 0ab56f7282388c66ab03a66208046d4a4a8297f74f5d00657c326b10dc3fc8a5
+ 63a02b50e5d6e0d5c8c30806b08375e6535efd64cde17e484452ca5f5b1bbf25
+ 96a6cef53e47af87adacb8fc3a910c246855a364d75b8a1c1ad4debfd9072a15
+ aa4dd9fa9a9c45d625fd90687c51d872821602339e88b8888908b1710ec446f6
+ 7bfc46cb924345602464bd4e67a00c63649834df5c9cfef188ee030de443879e
+ bcc4b92d639229222c46936844099631f68f6bd0082ec93673eb8f28da35e73a
+ bc2816a7aa473ed8bdc7a8bb1eb7c9b68ba71f1358336d1a6d4a07585fb56296
+ 0630f878c36c5f415b037083d20dc1ed1067ee3b388f7cffd952688ab8a84940
+ 5f31d53570585b9826eb1995e32109108cf706ef43639a85e7f5d4510dbda842
+ 82b7daa00e2ec6d9b6ec87eb5fb2f3f14a7762cfcfc85ac8f2ba88570e3a4339
+ e66a39a57f01b807a308bec2b11dde02d02fce75bced478045c1e3bee4d1246c
+ 3811d60fe7cc4d1f2abf939bbe5fb2a83b81621cc7848be7a5eb968e821b6502
+ 40f8bb5f10499c66caf30bd2943b46970fc777f512488034d940cf4d8c310dcc
+ ac3394832f33c73e20d6919865d20d0b85f60acbe2ae8de320bbd272dd05c949
+ c9bea6a16033821aecc6e3caf9b45144e27e658d51a21e2c0db4750f76d577be
+ 0f71a41a8c860ad5b2b9ec93d8fae8f7dac56585e4c669918f3a805b23fbc388
+ 694618f1e255f0ed00fe50d41c61bbdf7dbe2cdde573cd44a97bd29f48e0bfe1
+ e5d069eeb5dd880bfe2c976bad039aabc5022b2b3b9d0b3a39848362f0b50c52
+ 9adb233aef358fbdb8b39d11ab994c33755c1e0896ca4585326988cda9ffab58
+ cc652393837df756c60284a7a05b4a8bd9b0a3153c9df4b6bd734c85160806ba
+ 5867d16320a3f068d7411dd9ed5aa819ab79c200a20dfc36199b935a76eb7076
+ 4f03d3c6db0dc6c25b681eef01deee782d7717b1479f714b1843ba8711ad9882
+ cb271bd3b6cfe7f693afd19c2dacd04acee215a314bdb95571db1bf45341251b
+ 6e55fad6140f72d626ccf44a02dd756370d443907d1ea50fb780604024327ed3
+ 2f78137af493828ae3e70f4086fa6bb2febd17d33d016e35b35787188f89ad99
+ 6e22799eea7e8e7303fce19709f7423ea876d405dc0d0fb4d824b54c1f56862e
+ 6dbeefd4173ca1a5483fe23d4ce5107a583b9bdc2f9c07122504a1bd0c062102"

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PR PATCH] [Updated] thunderbird: update to 102.10.1
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (3 preceding siblings ...)
  2023-04-26 10:09 ` pascal-huber
@ 2023-05-05  7:02 ` pascal-huber
  2023-05-12 12:03 ` pascal-huber
                   ` (27 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: pascal-huber @ 2023-05-05  7:02 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 658 bytes --]

There is an updated pull request by pascal-huber against master on the void-packages repository

https://github.com/pascal-huber/void-packages thunderbird
https://github.com/void-linux/void-packages/pull/43607

thunderbird: update to 102.10.1
[ci skip]

#### Testing the changes
- I tested the changes in this PR: **briefly**

#### Local build testing
- I built this PR locally for my native architecture, x86_64-glibc
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - armv7l (crossbuild)
  - x86_64-musl (crossbuild)


A patch file from https://github.com/void-linux/void-packages/pull/43607.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-thunderbird-43607.patch --]
[-- Type: text/x-diff, Size: 28601 bytes --]

From 2b5e127fbcd23865af30cbe8ab33b46f3180cdec Mon Sep 17 00:00:00 2001
From: Pascal Huber <pascal.huber@resolved.ch>
Date: Wed, 26 Apr 2023 12:09:15 +0200
Subject: [PATCH 1/2] thunderbird: update to 102.10.1

---
 .../thunderbird/patches/flac-no-ffvpx.patch   |   3 +-
 srcpkgs/thunderbird/patches/lto-thin.patch    |  21 +-
 srcpkgs/thunderbird/patches/mallinfo.patch    |  24 +-
 srcpkgs/thunderbird/patches/python3.11.patch  | 238 ------------------
 .../thunderbird/patches/rust-configure.patch  |  20 +-
 .../thunderbird/patches/sandbox-fork.patch    |  11 +-
 srcpkgs/thunderbird/template                  |   6 +-
 7 files changed, 47 insertions(+), 276 deletions(-)
 delete mode 100644 srcpkgs/thunderbird/patches/python3.11.patch

diff --git a/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch b/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
index ebf48deb9720..2e475e8c6940 100644
--- a/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
+++ b/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
@@ -12,7 +12,7 @@ index 53fc3c9937f7..b23771ab80fa 100644
  
  namespace mozilla {
  
-@@ -14,6 +15,10 @@ namespace mozilla {
+@@ -14,5 +15,9 @@ namespace mozilla {
  bool FlacDecoder::IsEnabled() {
  #ifdef MOZ_FFVPX
    return StaticPrefs::media_flac_enabled();
@@ -21,5 +21,4 @@ index 53fc3c9937f7..b23771ab80fa 100644
 +  return StaticPrefs::media_flac_enabled() &&
 +         platform->SupportsMimeType("audio/flac"_ns);
  #else
-   // Until bug 1295886 is fixed.
    return false;
diff --git a/srcpkgs/thunderbird/patches/lto-thin.patch b/srcpkgs/thunderbird/patches/lto-thin.patch
index e85cbce36583..17cd0a5e9458 100644
--- a/srcpkgs/thunderbird/patches/lto-thin.patch
+++ b/srcpkgs/thunderbird/patches/lto-thin.patch
@@ -1,15 +1,18 @@
-$OpenBSD: patch-config_makefiles_rust_mk,v 1.6 2021/01/26 15:52:58 landry Exp $
+This patch is a modified version of the OpenBSD patch
 
-use lto=thin to reduce memory pressure when building gkrust
+try to consume less memory when linking gkrust with debug symbols ?
+
+openbsd patch: https://github.com/openbsd/ports/blob/master/mail/mozilla-thunderbird/patches/patch-config_makefiles_rust_mk
 https://bugzilla.mozilla.org/show_bug.cgi?id=1644409
 https://bugzilla.mozilla.org/show_bug.cgi?id=1640982
-
-Index: config/makefiles/rust.mk
---- a/config/makefiles/rust.mk.orig
-+++ a/config/makefiles/rust.mk
-@@ -70,7 +70,8 @@ ifndef MOZ_DEBUG_RUST
- # gkrust_gtest. And not when doing cross-language LTO.
- ifndef MOZ_LTO_RUST_CROSS
+---
+diff --git a/config/makefiles/rust.mk b/config/makefiles/rust.mk
+index a243ee5f7f..89593f1fe1 100644
+--- a/config/makefiles/rust.mk
++++ b/config/makefiles/rust.mk
+@@ -90,7 +90,8 @@ ifndef rustflags_sancov
+ # Never enable when coverage is enabled to work around https://github.com/rust-lang/rust/issues/90045.
+ ifndef MOZ_CODE_COVERAGE
  ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE)))
 -cargo_rustc_flags += -Clto
 +cargo_rustc_flags += -Clto=thin
diff --git a/srcpkgs/thunderbird/patches/mallinfo.patch b/srcpkgs/thunderbird/patches/mallinfo.patch
index 0d704301f39f..a3b3e1cb53ac 100644
--- a/srcpkgs/thunderbird/patches/mallinfo.patch
+++ b/srcpkgs/thunderbird/patches/mallinfo.patch
@@ -1,14 +1,16 @@
---- a/xpcom/base/nsMemoryReporterManager.cpp	2019-03-19 17:12:20.844810044 +0100
-+++ b/xpcom/base/nsMemoryReporterManager.cpp	2019-03-19 17:13:32.505133615 +0100
-@@ -123,6 +123,7 @@
-   return GetProcSelfSmapsPrivate(aN);
+diff --git a/xpcom/base/nsMemoryReporterManager.cpp b/xpcom/base/nsMemoryReporterManager.cpp
+index 30bc60e01a..caf9f740d2 100644
+--- a/xpcom/base/nsMemoryReporterManager.cpp
++++ b/xpcom/base/nsMemoryReporterManager.cpp
+@@ -127,6 +127,7 @@ using namespace dom;
+   return GetProcSelfSmapsPrivate(aN, aPid);
  }
  
 +#ifdef __GLIBC__
  #  ifdef HAVE_MALLINFO
  #    define HAVE_SYSTEM_HEAP_REPORTER 1
- static MOZ_MUST_USE nsresult SystemHeapSize(int64_t* aSizeOut) {
-@@ -142,6 +143,7 @@
+ [[nodiscard]] static nsresult SystemHeapSize(int64_t* aSizeOut) {
+@@ -146,6 +147,7 @@ using namespace dom;
    return NS_OK;
  }
  #  endif
@@ -16,16 +18,16 @@
  
  #elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
      defined(__OpenBSD__) || defined(__FreeBSD_kernel__)
-@@ -642,6 +644,7 @@
+@@ -653,6 +655,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr, cpu_type_t aType) {
    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;
+ // Windows can have multiple separate heaps, but we should not touch non-default
+ // heaps because they may be destroyed at anytime while we hold a handle.  So we
+@@ -685,6 +688,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr, cpu_type_t aType) {
+   *aSizeOut = heapSize;
    return NS_OK;
  }
 +#endif // __GLIBC__
diff --git a/srcpkgs/thunderbird/patches/python3.11.patch b/srcpkgs/thunderbird/patches/python3.11.patch
deleted file mode 100644
index 2facee5ebb2b..000000000000
--- a/srcpkgs/thunderbird/patches/python3.11.patch
+++ /dev/null
@@ -1,238 +0,0 @@
-Patch-Source: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267709
-Patch-Source: https://hg.mozilla.org/mozilla-central/rev/f54162b2c1f2fe52c6137ab2c3469a1944f58b27
---- a/xpcom/idl-parser/xpidl/xpidl.py
-+++ b/xpcom/idl-parser/xpidl/xpidl.py
-@@ -1633,13 +1633,13 @@ class IDLParser(object):
-     t_ignore = " \t"
- 
-     def t_multilinecomment(self, t):
--        r"/\*(?s).*?\*/"
-+        r"/\*(\n|.)*?\*/"
-         t.lexer.lineno += t.value.count("\n")
-         if t.value.startswith("/**"):
-             self._doccomments.append(t.value)
- 
-     def t_singlelinecomment(self, t):
--        r"(?m)//.*?$"
-+        r"//[^\n]*"
- 
-     def t_IID(self, t):
-         return t
-@@ -1652,7 +1652,7 @@ class IDLParser(object):
-         return t
- 
-     def t_LCDATA(self, t):
--        r"(?s)%\{[ ]*C\+\+[ ]*\n(?P<cdata>.*?\n?)%\}[ ]*(C\+\+)?"
-+        r"%\{[ ]*C\+\+[ ]*\n(?P<cdata>(\n|.)*?\n?)%\}[ ]*(C\+\+)?"
-         t.type = "CDATA"
-         t.value = t.lexer.lexmatch.group("cdata")
-         t.lexer.lineno += t.value.count("\n")
-
-
-# HG changeset patch
-# User ahochheiden <ahochheiden@mozilla.com>
-# Date 1654151264 0
-# Node ID f54162b2c1f2fe52c6137ab2c3469a1944f58b27
-# Parent  6e7776492240c27732840d65a33dcc440fa1aba0
-Bug 1769631 - Remove 'U' from 'mode' parameters for various 'open' calls to ensure Python3.11 compatibility r=firefox-build-system-reviewers,glandium
-
-The 'U' flag represents "universal newline". It has been deprecated
-since Python3.3. Since then "universal newline" is the default when a
-file is opened in text mode (not bytes). In Python3.11 using the 'U'
-flag throws errors. There should be no harm in removing 'U' from 'open'
-everywhere it is used, and doing allows the use of Python3.11.
-
-For more reading see: https://docs.python.org/3.11/whatsnew/3.11.html#changes-in-the-python-api
-
-Differential Revision: https://phabricator.services.mozilla.com/D147721
-
-diff --git a/dom/base/usecounters.py b/dom/base/usecounters.py
---- a/dom/base/usecounters.py
-+++ b/dom/base/usecounters.py
-@@ -3,17 +3,17 @@
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
- 
- import collections
- import re
- 
- 
- def read_conf(conf_filename):
-     # Can't read/write from a single StringIO, so make a new one for reading.
--    stream = open(conf_filename, "rU")
-+    stream = open(conf_filename, "r")
- 
-     def parse_counters(stream):
-         for line_num, line in enumerate(stream):
-             line = line.rstrip("\n")
-             if not line or line.startswith("//"):
-                 # empty line or comment
-                 continue
-             m = re.match(r"method ([A-Za-z0-9]+)\.([A-Za-z0-9]+)$", line)
-diff --git a/python/mozbuild/mozbuild/action/process_define_files.py b/python/mozbuild/mozbuild/action/process_define_files.py
---- a/python/mozbuild/mozbuild/action/process_define_files.py
-+++ b/python/mozbuild/mozbuild/action/process_define_files.py
-@@ -31,17 +31,17 @@ def process_define_file(output, input):
- 
-     config = PartialConfigEnvironment(topobjdir)
- 
-     if mozpath.basedir(
-         path, [mozpath.join(topsrcdir, "js/src")]
-     ) and not config.substs.get("JS_STANDALONE"):
-         config = PartialConfigEnvironment(mozpath.join(topobjdir, "js", "src"))
- 
--    with open(path, "rU") as input:
-+    with open(path, "r") as input:
-         r = re.compile(
-             "^\s*#\s*(?P<cmd>[a-z]+)(?:\s+(?P<name>\S+)(?:\s+(?P<value>\S+))?)?", re.U
-         )
-         for l in input:
-             m = r.match(l)
-             if m:
-                 cmd = m.group("cmd")
-                 name = m.group("name")
-diff --git a/python/mozbuild/mozbuild/backend/base.py b/python/mozbuild/mozbuild/backend/base.py
---- a/python/mozbuild/mozbuild/backend/base.py
-+++ b/python/mozbuild/mozbuild/backend/base.py
-@@ -267,17 +267,17 @@ class BuildBackend(LoggingMixin):
-         If an exception is raised, |mach build| will fail with a
-         non-zero exit code.
-         """
-         self._write_purgecaches(config)
- 
-         return status
- 
-     @contextmanager
--    def _write_file(self, path=None, fh=None, readmode="rU"):
-+    def _write_file(self, path=None, fh=None, readmode="r"):
-         """Context manager to write a file.
- 
-         This is a glorified wrapper around FileAvoidWrite with integration to
-         update the summary data on this instance.
- 
-         Example usage:
- 
-             with self._write_file('foo.txt') as fh:
-diff --git a/python/mozbuild/mozbuild/preprocessor.py b/python/mozbuild/mozbuild/preprocessor.py
---- a/python/mozbuild/mozbuild/preprocessor.py
-+++ b/python/mozbuild/mozbuild/preprocessor.py
-@@ -526,17 +526,17 @@ class Preprocessor:
-             if not options.output:
-                 raise Preprocessor.Error(
-                     self, "--depend doesn't work with stdout", None
-                 )
-             depfile = get_output_file(options.depend)
- 
-         if args:
-             for f in args:
--                with io.open(f, "rU", encoding="utf-8") as input:
-+                with io.open(f, "r", encoding="utf-8") as input:
-                     self.processFile(input=input, output=out)
-             if depfile:
-                 mk = Makefile()
-                 mk.create_rule([six.ensure_text(options.output)]).add_dependencies(
-                     self.includes
-                 )
-                 mk.dump(depfile)
-                 depfile.close()
-@@ -855,17 +855,17 @@ class Preprocessor:
-         self.checkLineNumbers = False
-         if isName:
-             try:
-                 args = _to_text(args)
-                 if filters:
-                     args = self.applyFilters(args)
-                 if not os.path.isabs(args):
-                     args = os.path.join(self.curdir, args)
--                args = io.open(args, "rU", encoding="utf-8")
-+                args = io.open(args, "r", encoding="utf-8")
-             except Preprocessor.Error:
-                 raise
-             except Exception:
-                 raise Preprocessor.Error(self, "FILE_NOT_FOUND", _to_text(args))
-         self.checkLineNumbers = bool(
-             re.search("\.(js|jsm|java|webidl)(?:\.in)?$", args.name)
-         )
-         oldFile = self.context["FILE"]
-@@ -909,17 +909,17 @@ class Preprocessor:
- 
-     def do_error(self, args):
-         raise Preprocessor.Error(self, "Error: ", _to_text(args))
- 
- 
- def preprocess(includes=[sys.stdin], defines={}, output=sys.stdout, marker="#"):
-     pp = Preprocessor(defines=defines, marker=marker)
-     for f in includes:
--        with io.open(f, "rU", encoding="utf-8") as input:
-+        with io.open(f, "r", encoding="utf-8") as input:
-             pp.processFile(input=input, output=output)
-     return pp.includes
- 
- 
- # Keep this module independently executable.
- if __name__ == "__main__":
-     pp = Preprocessor()
-     pp.handleCommandLine(None, True)
-diff --git a/python/mozbuild/mozbuild/util.py b/python/mozbuild/mozbuild/util.py
---- a/python/mozbuild/mozbuild/util.py
-+++ b/python/mozbuild/mozbuild/util.py
-@@ -231,17 +231,17 @@ class FileAvoidWrite(BytesIO):
-     enabled by default because it a) doesn't make sense for binary files b)
-     could add unwanted overhead to calls.
- 
-     Additionally, there is dry run mode where the file is not actually written
-     out, but reports whether the file was existing and would have been updated
-     still occur, as well as diff capture if requested.
-     """
- 
--    def __init__(self, filename, capture_diff=False, dry_run=False, readmode="rU"):
-+    def __init__(self, filename, capture_diff=False, dry_run=False, readmode="r"):
-         BytesIO.__init__(self)
-         self.name = filename
-         assert type(capture_diff) == bool
-         assert type(dry_run) == bool
-         assert "r" in readmode
-         self._capture_diff = capture_diff
-         self._write_to_file = not dry_run
-         self.diff = None
-diff --git a/python/mozbuild/mozpack/files.py b/python/mozbuild/mozpack/files.py
---- a/python/mozbuild/mozpack/files.py
-+++ b/python/mozbuild/mozpack/files.py
-@@ -549,17 +549,17 @@ class PreprocessedFile(BaseFile):
-         self.defines = defines
-         self.extra_depends = list(extra_depends or [])
-         self.silence_missing_directive_warnings = silence_missing_directive_warnings
- 
-     def inputs(self):
-         pp = Preprocessor(defines=self.defines, marker=self.marker)
-         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
- 
--        with _open(self.path, "rU") as input:
-+        with _open(self.path, "r") as input:
-             with _open(os.devnull, "w") as output:
-                 pp.processFile(input=input, output=output)
- 
-         # This always yields at least self.path.
-         return pp.includes
- 
-     def copy(self, dest, skip_if_older=True):
-         """
-@@ -606,17 +606,17 @@ class PreprocessedFile(BaseFile):
-             return False
- 
-         deps_out = None
-         if self.depfile:
-             deps_out = FileAvoidWrite(self.depfile)
-         pp = Preprocessor(defines=self.defines, marker=self.marker)
-         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
- 
--        with _open(self.path, "rU") as input:
-+        with _open(self.path, "r") as input:
-             pp.processFile(input=input, output=dest, depfile=deps_out)
- 
-         dest.close()
-         if self.depfile:
-             deps_out.close()
- 
-         return True
- 
-
diff --git a/srcpkgs/thunderbird/patches/rust-configure.patch b/srcpkgs/thunderbird/patches/rust-configure.patch
index 61fb2ba891d9..b5ff2987008c 100644
--- a/srcpkgs/thunderbird/patches/rust-configure.patch
+++ b/srcpkgs/thunderbird/patches/rust-configure.patch
@@ -6,9 +6,11 @@ instead use what is set in RUST_TARGET
 
 Skip extra checks on cross builds (broken for arm*)
 
---- a/build/moz.configure/rust.configure	2020-12-12 01:35:33.000000000 +0100
-+++ b/build/moz.configure/rust.configure	2020-12-15 19:45:16.467750787 +0100
-@@ -91,9 +91,6 @@
+diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure
+index e64dc5d5ec..c4778f8cc8 100644
+--- a/build/moz.configure/rust.configure
++++ b/build/moz.configure/rust.configure
+@@ -91,9 +91,6 @@ def unwrap_rustup(prog, name):
      return unwrap
  
  
@@ -18,7 +20,7 @@ Skip extra checks on cross builds (broken for arm*)
  
  set_config("CARGO", cargo)
  set_config("RUSTC", rustc)
-@@ -260,7 +257,9 @@
+@@ -274,7 +271,9 @@ def rust_supported_targets(rustc):
          data.setdefault(key, []).append(namespace(rust_target=t, target=info))
      return data
  
@@ -29,24 +31,26 @@ Skip extra checks on cross builds (broken for arm*)
  def detect_rustc_target(
      host_or_target, compiler_info, arm_target, rust_supported_targets
  ):
-@@ -382,12 +381,12 @@
+@@ -396,12 +395,14 @@ def detect_rustc_target(
  
          return None
  
 -    rustc_target = find_candidate(candidates)
 +    rustc_target = os.environ['RUST_TARGET']
++
  
      if rustc_target is None:
          die("Don't know how to translate {} for rustc".format(host_or_target.alias))
  
 -    return rustc_target
 +    return ensure_unicode(rustc_target, system_encoding)
++
  
  
  @imports("os")
-@@ -410,35 +409,6 @@
+@@ -423,35 +424,6 @@ def assert_rust_compile(host_or_target, rustc_target, rustc):
  
-         os.write(in_fd, ensure_binary(source))
+         os.write(in_fd, source)
          os.close(in_fd)
 -
 -        cmd = [
@@ -80,7 +84,7 @@ Skip extra checks on cross builds (broken for arm*)
      finally:
          os.remove(in_path)
          os.remove(out_path)
-@@ -462,28 +432,7 @@
+@@ -475,28 +447,7 @@ def rust_host_triple(
          host, compiler_info, arm_target, rust_supported_targets
      )
      if rustc_target != rustc_host:
diff --git a/srcpkgs/thunderbird/patches/sandbox-fork.patch b/srcpkgs/thunderbird/patches/sandbox-fork.patch
index d4584e74b91c..a8cb89394f87 100644
--- a/srcpkgs/thunderbird/patches/sandbox-fork.patch
+++ b/srcpkgs/thunderbird/patches/sandbox-fork.patch
@@ -1,8 +1,8 @@
-make SYS_fork non-fatal, musl uses it for fork(2)
-
+diff --git a/security/sandbox/linux/SandboxFilter.cpp b/security/sandbox/linux/SandboxFilter.cpp
+index 20e9b59685..e053580992 100644
 --- a/security/sandbox/linux/SandboxFilter.cpp
 +++ b/security/sandbox/linux/SandboxFilter.cpp
-@@ -1420,6 +1420,10 @@
+@@ -1598,6 +1598,11 @@ class ContentSandboxPolicy : public SandboxPolicyCommon {
          // usually do something reasonable on error.
        case __NR_clone:
          return ClonePolicy(Error(EPERM));
@@ -10,6 +10,7 @@ make SYS_fork non-fatal, musl uses it for fork(2)
 +      case __NR_fork:
 +        return Error(ENOSYS);
 +#  endif
++
  
- #  ifdef __NR_fadvise64
-       case __NR_fadvise64:
+       case __NR_clone3:
+         return Error(ENOSYS);
diff --git a/srcpkgs/thunderbird/template b/srcpkgs/thunderbird/template
index ec3fa3d4c35f..e4529d8bf8c4 100644
--- a/srcpkgs/thunderbird/template
+++ b/srcpkgs/thunderbird/template
@@ -3,15 +3,15 @@
 # THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/thunderbird-i18n".
 #
 pkgname=thunderbird
-version=102.6.1
-revision=3
+version=102.10.1
+revision=1
 build_helper="rust"
 short_desc="Standalone Mail/News reader"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="MPL-2.0, GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.thunderbird.net/"
 distfiles="${MOZILLA_SITE}/${pkgname}/releases/${version}/source/${pkgname}-${version}.source.tar.xz"
-checksum=8b8cb5d7532ad8ee65061d2f284ae9f0470e7614dfcfc3c37ca945bcb96d1183
+checksum=39e8714c162f05955844606583106db9b314eee1a58cb8ad504e1836031916e1
 
 lib32disabled=yes
 

From f0c4d74d5a495ff2db4ae695034829e520ba0132 Mon Sep 17 00:00:00 2001
From: Pascal Huber <pascal.huber@resolved.ch>
Date: Wed, 26 Apr 2023 12:09:25 +0200
Subject: [PATCH 2/2] thunderbird-i18n: udpate to 102.10.1

---
 srcpkgs/thunderbird-i18n/template | 134 +++++++++++++++---------------
 1 file changed, 67 insertions(+), 67 deletions(-)

diff --git a/srcpkgs/thunderbird-i18n/template b/srcpkgs/thunderbird-i18n/template
index 17830bddd777..c17b9b1ad096 100644
--- a/srcpkgs/thunderbird-i18n/template
+++ b/srcpkgs/thunderbird-i18n/template
@@ -1,6 +1,6 @@
 # Template file for 'thunderbird-i18n'
 pkgname=thunderbird-i18n
-version=102.6.1
+version=102.10.1
 revision=1
 build_style=meta
 short_desc="Thunderbird language packs"
@@ -107,69 +107,69 @@ _pkgtmpl() {
 	}
 }
 
-checksum="5935be82bcbd313b58520d95b04dc32c462e47df88f9724bb31b21686f8b4b77
- 142c0bd4d67b03320db94ae8002c8d67d9bc481a7ad728efa17ba7ae09e9a971
- 5547af80c73146c9892ad2dcd7fb5c6616c9a3a5b49868a23f03914ae2da1537
- e6f34bb2a5412ef9127aacd87823c84ca2881d47b15a45a96751a7557d1e0398
- cb35b936f2db79a897e1372ea34a1fb8237885030446f29269b940c0f221d733
- ada9c925979d25cb0e1549d20466b7e22653931715dd1a7fe85ca835caddf7f7
- 9b92561b20face8de88a77a579afa6d1404f55c69340993508fcc3153e1bd70b
- 64db6133cc87197cb793e0e33b72345bc30dabf862a06f7574321ea783c54645
- db622d082616525302f8d32b9f41793804d51495d1a7b1f62125ed9daedd3fb2
- 919ccec7292a6cf9ccce66fc7a91bbae2a3f93d965ecb4237380256cc8c344dd
- f160cb1db40b31815096c0c58f9aa75213e294600c12fef2d2deb741e24e22dd
- ce4e51c46cb0860c2671606ef94bff741b2e3d5e70e485b9c5c90d0e481cc5b2
- 05a552baec6b12b7e3f9270a628ff6a3fe62ec17c232f905465317e85e40e731
- 6bc18f1db7d0233c9d3bc0cf277234322845d309918681636c30a2c131bd90e9
- a7cc9b51e57b4de49f958cf1ea47d526e6873318fba96b52ee42d541a2e35902
- bf1fac8be9eca95bdbc9f8542445301e146148afe69b40a4ea41bfdf64ab1034
- 85e3c40c5ef6bd2fdbf9951304bec1f17e2f7a212abdf20cf103a5e7b73f2be9
- 6489211d465c053182484faae07c708e076b82a88d0ebecfda071f4bb41b5677
- f0d0d4a58d6bac842c28bee253e6d5906e582b359173fdeedb6d4c40f0b9a4c8
- 4e3da06699c1cc87b735ef9d181f8cc33c989f44840d02c9b9e5dfd893a8c05e
- 0dcabb9158d29001082801b1703946b1df9e22653fc7c66c9a725f102f2ada00
- 1e3ee2f9d0291ec2aa0a2d5939ca3074d6b6a7da533186e227da1d3cc2cc7974
- ab7931be527b56dea1939b048030647e4311b0c0eaa23b7843f3baab180801ba
- a592cfeb20a346ad8b24facca3f0da2c5fdd65156aafea67b0c3793bb99ab0a1
- 32740a1261d43b6bec2b99e2da64bdf201c60b1d0651a5a5db548e1180cf5fb1
- e9e669a9917eab86af336c1d149910cb8606e21708c2b5707d87452c455905b0
- 777d625c67cbe9e710ac7fffda880e0a1fb523f8cafc6ac2c3b227b2d5de38f5
- 63728cede6b88d8352b9398c675c4537527de00ee8a0e120bcc905be9f47ae89
- 97f387a2b47303ca475eeab466a0d9f4bc64554b82c55a00f2da4cea431aaa03
- c875c6a19505c6a04cbeba85baad5d9432efd930d920eebb72413d6642a33d3f
- 4ebd23d9533cf2c5b63ec4dc6b6f83df742c473d7d108dd70b9947d014a4ec45
- de78a9bdb410bd9850b4d1197442e263cfb7f3a112917aa40f76a5c50f5ae64c
- b23fb2ac9a531848ef30e960fdd3174ae970f84b42a2adec1bb34329879acd96
- b7024f86fac5844692b7e5c859e91c721a8279ee60880cafe9479476559bd9fa
- 7107ffa0816d059147381b63ee31d66b4ad9b6af77ed409c05994fc2eb5c597d
- 1e1144a17959632ccce43025f4addc4adea7c0c225bac529f99b501604b96b53
- 3697fe13197519a9838584a17ed612ae08d9c603d56340df13c42fb971ddbca4
- d357fa261223596406a931867f84f1aefaa4ff8556257a005e0d5061c6b5e8cf
- a85066ac413255ea51260e8c690b7a4fe8602ceb628e7d2fa6803ccafa02c9c8
- a9850ec702c480ab9ed2bbee16f8ffea2fa1e60da5f68f0f51b051699a3551de
- cd784b2b6317748241bc8f5192d5d3e734cc8747b61955485a859faad4be151b
- f67ba1abdbf107f5f18db505ea5c5b588bd4fbdd9c589991a643db0da1204f4b
- 8de924873919f06468f58d8a1dae8e9d2886d3705aa59b2dc7d30b9659a5327a
- 8b2b9ec349e0e562b7e681f8b9c910256c46953c1cd12f131d7e6f04469954f6
- 5ddd93aff16c17626a170fd0a5c95a72e9ab7bcaeaff67f36445ddd21100f42d
- 7bbeb6237a36f375cf78820e59dc61e619854bcf031852a5e8201b783176deac
- f77a1a325100e9f4bd84eeba002b35b63bad535b723ce854b0ce85e63776de38
- bf1573cca7b0892ca234a5bb2e44646ba997c0be8051017f35ae217aa7f60bdb
- 671bb222053b1fa8bb609095e518392dd3cb1ce2dde780ed34441118324cb551
- 6c4c7032d76b31bb76abfae5c5e288bd0a82bbcf7d9bf8aa9197bea687c86a46
- 4195b95b23a643925488e969accb294d1c056247ccfec745748d6ee0b0c94851
- ebaa54f3a992514bbf54bce4ab82743390c715a81343739948efd0ac3ca33599
- 868b30b8b311aed6c74b8d5fc05b7c4a0f32f56602b594229ddcadff2733a1f3
- 75f7542f8d3d49cf4e16023fae32a329fa8e804c90bae236a6415a4a045f6ce0
- ea857d827ee2cc580fae43772648cc410c1bcd4c8612cff9a3a7d11b04e54725
- 25716f39d2d7d25f448dc9a68270f51124f1d234f0b9482743dcc0c1a00fa8b1
- 42d52c4ce57e8cae43667faf7600e98d085b0ab713e7607bc1dae1f34932be67
- 5319b79f719dd27e45ecca54d29482d6558f41947db5c4ec4b70c3e25bb8f55a
- 88bcbfa7a2b006b93fd715810661b464e7b150006f046a94e6c03d2e067ae7e3
- 838d84317a7c51c13329c919d4479396b30233136b70fe025faf968b916ba1c1
- 5f686f697c1093c45ef882c3feb1def6064f458d5ae75a74962375b91c6027d5
- 9f9a7a4e6d73698fdc623384a666e677ce2d32990bc69e16aa631a34371cdf78
- 0ba4499c5805a83172e5dcbdc8fd8e464824827f94ed1849d9a1797a9b386e00
- 41f65c5307ec97310b33ace466439e4abf008d461be3835f545e4194e6c54940
- edd966278b660bb280e8e319300e18652ce2ef0fca5baeeb72696b5fd2a03d69
- 13d667aaf3338da21355c042b3a07567553ee48bf0dc071f9a55ef49451de21c"
+checksum="5057ad2542c47f0265fb2bae686ec9f64a157ecd590cae6d172b0f1459e61def
+ dea764ae51459efc43daffa22237e66fc16dc285324aeab7cda308fa94e99674
+ 73c904e791a8a8a69ecfd51a45eb2d3b1574cee8990c7133d769bc1b2079c945
+ b1ff6348f7f52223e530299bab6c3755b2f153955ce480b98dda980d86c27728
+ a8152baac0096d309525bf3a28496fe2f815ce666a75d487e47787b18d7b353a
+ f26c2d3e975746f78717309390e9e0670e25db6fd918556fa2a7f2b818ec9d85
+ 8c6bfdc11b6e4de562de333e665703712f964dbdd3a4f29c6b95426d314816a3
+ 7bc475cbe4ecc8e494e1657405d2d6c80fb80dd1cc3e32efdaa7700eee9f4e5a
+ 58da516e7c048054da633a64230000d59cd379e938487e3f8151521ca9a34bab
+ 56876227956832e49163fbdf55a84f9b36d1de207d762f0922110385fce3e73a
+ 4c6dc9b217272c5c3f46ada8784110f8be458b3822d91d8cec585843d77a4cc5
+ 185ed80656d770ca9ee6c33d1eb5834c24cfe4b79e7d7f1dc9adbf52c23b91be
+ 5c43c5add42fd9728b60b7cc34419372af54ffdc44621651e9e018375f9831c7
+ d8d783962c05ffe47cd515b9006da4c4474a283d1409c93a346a2ab0ee062030
+ 4b7dee81db8389252b161c8b28a1d22ffb2ed8fa30676e903a4fd9e13efed638
+ 6ef660dff47008dab46bdff02e0efe8d370d9a8e0f0ea4eb5e4cc224c57d8bfc
+ d558b0d1829bf3d8777c84bd983c0bb0658f8043866a98f5021e8642a64f6302
+ 88d221597aba787a676fca88488324880f4a37cc678a58b65fe2e73f7b793104
+ 29a32a863ba6adc81c3edbffebbf67deee84088fde5ac905d34cd5fc049a3b81
+ 6b15cb7f3bb4a39ebe487088221f0725f86d4ce98ca5af629bd8766bce8d8bdf
+ 7e54ba29348503d9c3d6276ddc8f6b14c9e31e869cf52f3ca9941e62f3714078
+ 0634fd4229732d98cf744a456f566e3d785e8fbb486598f0b5371db44ef5c64a
+ 781bbf4b2f4693f2817a01837593c34fa4e3facca8762066df8e60c974cdccad
+ 7a8abe8ca4d30452b887d8fc57f70622fc70b4248dde33f6cf9441548ea66a35
+ 7c41593473d15e115c7604de711948abb38ff278fde34289c2cc8862baaf81cb
+ 1b260114e03905f8b7d7fae0850eca0761634e6b00eab56e1cce9c7edc1ce6b7
+ 666dc770a1a0bffd0fb4baa5a91a6e4a4f0c29a9de1d66f0e1af2533f06d0ccb
+ a1bfc76c26608796638a6659708736fa7f7805d05e98f01cb7d8f594ffa73d65
+ da1f95fd025294d77381d3045dec2b98ae8e8180afee1dcd9f90b186120ebb6d
+ a089033bee636cb4d2b09e2fe68c87152041e0180b907d47a76cc64e8e0584bd
+ dd746677f2784f2f7840cc9a68fb3ca9248fa4c144b1b805d192fc19e49029c8
+ 2f857709a97bf755128c4bf6f7225440f3051e7d69687b34148d01948004d1c4
+ 78a172639ba7347975256d9f30e3d71f14f2faec21c3cfe4741acf60e9bd01d3
+ 55da1c778ac8e635b1ab3063827e968ef54f3620182076c82e372ccdb0b95370
+ c3ff202504e3e747d4951b02c655ef632f2844b934997434c426e8c4341410e3
+ e0fb2ec6a26660fc053c5f2bb4e8178ff1825018ae76ce3aaabd62ffec19ae4e
+ 38c796e2a40a9e836486100ab3b33ba3e223602927c9ce88fed505fe227e3643
+ 3cdb8e561729f71f5e3089c16b3e9c8e5344d5af0aa133e05ae4d8a45719533c
+ 6adc31723a23191bb960a318fa0ae87aff8407d99d0dbb9780acdabd02a87de4
+ 0ab56f7282388c66ab03a66208046d4a4a8297f74f5d00657c326b10dc3fc8a5
+ 63a02b50e5d6e0d5c8c30806b08375e6535efd64cde17e484452ca5f5b1bbf25
+ 96a6cef53e47af87adacb8fc3a910c246855a364d75b8a1c1ad4debfd9072a15
+ aa4dd9fa9a9c45d625fd90687c51d872821602339e88b8888908b1710ec446f6
+ 7bfc46cb924345602464bd4e67a00c63649834df5c9cfef188ee030de443879e
+ bcc4b92d639229222c46936844099631f68f6bd0082ec93673eb8f28da35e73a
+ bc2816a7aa473ed8bdc7a8bb1eb7c9b68ba71f1358336d1a6d4a07585fb56296
+ 0630f878c36c5f415b037083d20dc1ed1067ee3b388f7cffd952688ab8a84940
+ 5f31d53570585b9826eb1995e32109108cf706ef43639a85e7f5d4510dbda842
+ 82b7daa00e2ec6d9b6ec87eb5fb2f3f14a7762cfcfc85ac8f2ba88570e3a4339
+ e66a39a57f01b807a308bec2b11dde02d02fce75bced478045c1e3bee4d1246c
+ 3811d60fe7cc4d1f2abf939bbe5fb2a83b81621cc7848be7a5eb968e821b6502
+ 40f8bb5f10499c66caf30bd2943b46970fc777f512488034d940cf4d8c310dcc
+ ac3394832f33c73e20d6919865d20d0b85f60acbe2ae8de320bbd272dd05c949
+ c9bea6a16033821aecc6e3caf9b45144e27e658d51a21e2c0db4750f76d577be
+ 0f71a41a8c860ad5b2b9ec93d8fae8f7dac56585e4c669918f3a805b23fbc388
+ 694618f1e255f0ed00fe50d41c61bbdf7dbe2cdde573cd44a97bd29f48e0bfe1
+ e5d069eeb5dd880bfe2c976bad039aabc5022b2b3b9d0b3a39848362f0b50c52
+ 9adb233aef358fbdb8b39d11ab994c33755c1e0896ca4585326988cda9ffab58
+ cc652393837df756c60284a7a05b4a8bd9b0a3153c9df4b6bd734c85160806ba
+ 5867d16320a3f068d7411dd9ed5aa819ab79c200a20dfc36199b935a76eb7076
+ 4f03d3c6db0dc6c25b681eef01deee782d7717b1479f714b1843ba8711ad9882
+ cb271bd3b6cfe7f693afd19c2dacd04acee215a314bdb95571db1bf45341251b
+ 6e55fad6140f72d626ccf44a02dd756370d443907d1ea50fb780604024327ed3
+ 2f78137af493828ae3e70f4086fa6bb2febd17d33d016e35b35787188f89ad99
+ 6e22799eea7e8e7303fce19709f7423ea876d405dc0d0fb4d824b54c1f56862e
+ 6dbeefd4173ca1a5483fe23d4ce5107a583b9bdc2f9c07122504a1bd0c062102"

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PR PATCH] [Updated] thunderbird: update to 102.10.1
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (4 preceding siblings ...)
  2023-05-05  7:02 ` pascal-huber
@ 2023-05-12 12:03 ` pascal-huber
  2023-05-12 12:03 ` pascal-huber
                   ` (26 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: pascal-huber @ 2023-05-12 12:03 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 658 bytes --]

There is an updated pull request by pascal-huber against master on the void-packages repository

https://github.com/pascal-huber/void-packages thunderbird
https://github.com/void-linux/void-packages/pull/43607

thunderbird: update to 102.10.1
[ci skip]

#### Testing the changes
- I tested the changes in this PR: **briefly**

#### Local build testing
- I built this PR locally for my native architecture, x86_64-glibc
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - armv7l (crossbuild)
  - x86_64-musl (crossbuild)


A patch file from https://github.com/void-linux/void-packages/pull/43607.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-thunderbird-43607.patch --]
[-- Type: text/x-diff, Size: 28682 bytes --]

From 1478b244aec17a3e92479d955481f6a3f498887b Mon Sep 17 00:00:00 2001
From: Pascal Huber <pascal.huber@resolved.ch>
Date: Wed, 26 Apr 2023 12:09:15 +0200
Subject: [PATCH 1/2] thunderbird: update to 102.10.1

---
 .../thunderbird/patches/flac-no-ffvpx.patch   |   3 +-
 srcpkgs/thunderbird/patches/lto-thin.patch    |  21 +-
 srcpkgs/thunderbird/patches/mallinfo.patch    |  24 +-
 srcpkgs/thunderbird/patches/python3.11.patch  | 238 ------------------
 .../thunderbird/patches/rust-configure.patch  |  20 +-
 .../thunderbird/patches/sandbox-fork.patch    |  11 +-
 srcpkgs/thunderbird/template                  |   6 +-
 7 files changed, 47 insertions(+), 276 deletions(-)
 delete mode 100644 srcpkgs/thunderbird/patches/python3.11.patch

diff --git a/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch b/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
index ebf48deb9720..2e475e8c6940 100644
--- a/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
+++ b/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
@@ -12,7 +12,7 @@ index 53fc3c9937f7..b23771ab80fa 100644
  
  namespace mozilla {
  
-@@ -14,6 +15,10 @@ namespace mozilla {
+@@ -14,5 +15,9 @@ namespace mozilla {
  bool FlacDecoder::IsEnabled() {
  #ifdef MOZ_FFVPX
    return StaticPrefs::media_flac_enabled();
@@ -21,5 +21,4 @@ index 53fc3c9937f7..b23771ab80fa 100644
 +  return StaticPrefs::media_flac_enabled() &&
 +         platform->SupportsMimeType("audio/flac"_ns);
  #else
-   // Until bug 1295886 is fixed.
    return false;
diff --git a/srcpkgs/thunderbird/patches/lto-thin.patch b/srcpkgs/thunderbird/patches/lto-thin.patch
index e85cbce36583..17cd0a5e9458 100644
--- a/srcpkgs/thunderbird/patches/lto-thin.patch
+++ b/srcpkgs/thunderbird/patches/lto-thin.patch
@@ -1,15 +1,18 @@
-$OpenBSD: patch-config_makefiles_rust_mk,v 1.6 2021/01/26 15:52:58 landry Exp $
+This patch is a modified version of the OpenBSD patch
 
-use lto=thin to reduce memory pressure when building gkrust
+try to consume less memory when linking gkrust with debug symbols ?
+
+openbsd patch: https://github.com/openbsd/ports/blob/master/mail/mozilla-thunderbird/patches/patch-config_makefiles_rust_mk
 https://bugzilla.mozilla.org/show_bug.cgi?id=1644409
 https://bugzilla.mozilla.org/show_bug.cgi?id=1640982
-
-Index: config/makefiles/rust.mk
---- a/config/makefiles/rust.mk.orig
-+++ a/config/makefiles/rust.mk
-@@ -70,7 +70,8 @@ ifndef MOZ_DEBUG_RUST
- # gkrust_gtest. And not when doing cross-language LTO.
- ifndef MOZ_LTO_RUST_CROSS
+---
+diff --git a/config/makefiles/rust.mk b/config/makefiles/rust.mk
+index a243ee5f7f..89593f1fe1 100644
+--- a/config/makefiles/rust.mk
++++ b/config/makefiles/rust.mk
+@@ -90,7 +90,8 @@ ifndef rustflags_sancov
+ # Never enable when coverage is enabled to work around https://github.com/rust-lang/rust/issues/90045.
+ ifndef MOZ_CODE_COVERAGE
  ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE)))
 -cargo_rustc_flags += -Clto
 +cargo_rustc_flags += -Clto=thin
diff --git a/srcpkgs/thunderbird/patches/mallinfo.patch b/srcpkgs/thunderbird/patches/mallinfo.patch
index 0d704301f39f..a3b3e1cb53ac 100644
--- a/srcpkgs/thunderbird/patches/mallinfo.patch
+++ b/srcpkgs/thunderbird/patches/mallinfo.patch
@@ -1,14 +1,16 @@
---- a/xpcom/base/nsMemoryReporterManager.cpp	2019-03-19 17:12:20.844810044 +0100
-+++ b/xpcom/base/nsMemoryReporterManager.cpp	2019-03-19 17:13:32.505133615 +0100
-@@ -123,6 +123,7 @@
-   return GetProcSelfSmapsPrivate(aN);
+diff --git a/xpcom/base/nsMemoryReporterManager.cpp b/xpcom/base/nsMemoryReporterManager.cpp
+index 30bc60e01a..caf9f740d2 100644
+--- a/xpcom/base/nsMemoryReporterManager.cpp
++++ b/xpcom/base/nsMemoryReporterManager.cpp
+@@ -127,6 +127,7 @@ using namespace dom;
+   return GetProcSelfSmapsPrivate(aN, aPid);
  }
  
 +#ifdef __GLIBC__
  #  ifdef HAVE_MALLINFO
  #    define HAVE_SYSTEM_HEAP_REPORTER 1
- static MOZ_MUST_USE nsresult SystemHeapSize(int64_t* aSizeOut) {
-@@ -142,6 +143,7 @@
+ [[nodiscard]] static nsresult SystemHeapSize(int64_t* aSizeOut) {
+@@ -146,6 +147,7 @@ using namespace dom;
    return NS_OK;
  }
  #  endif
@@ -16,16 +18,16 @@
  
  #elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
      defined(__OpenBSD__) || defined(__FreeBSD_kernel__)
-@@ -642,6 +644,7 @@
+@@ -653,6 +655,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr, cpu_type_t aType) {
    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;
+ // Windows can have multiple separate heaps, but we should not touch non-default
+ // heaps because they may be destroyed at anytime while we hold a handle.  So we
+@@ -685,6 +688,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr, cpu_type_t aType) {
+   *aSizeOut = heapSize;
    return NS_OK;
  }
 +#endif // __GLIBC__
diff --git a/srcpkgs/thunderbird/patches/python3.11.patch b/srcpkgs/thunderbird/patches/python3.11.patch
deleted file mode 100644
index 2facee5ebb2b..000000000000
--- a/srcpkgs/thunderbird/patches/python3.11.patch
+++ /dev/null
@@ -1,238 +0,0 @@
-Patch-Source: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267709
-Patch-Source: https://hg.mozilla.org/mozilla-central/rev/f54162b2c1f2fe52c6137ab2c3469a1944f58b27
---- a/xpcom/idl-parser/xpidl/xpidl.py
-+++ b/xpcom/idl-parser/xpidl/xpidl.py
-@@ -1633,13 +1633,13 @@ class IDLParser(object):
-     t_ignore = " \t"
- 
-     def t_multilinecomment(self, t):
--        r"/\*(?s).*?\*/"
-+        r"/\*(\n|.)*?\*/"
-         t.lexer.lineno += t.value.count("\n")
-         if t.value.startswith("/**"):
-             self._doccomments.append(t.value)
- 
-     def t_singlelinecomment(self, t):
--        r"(?m)//.*?$"
-+        r"//[^\n]*"
- 
-     def t_IID(self, t):
-         return t
-@@ -1652,7 +1652,7 @@ class IDLParser(object):
-         return t
- 
-     def t_LCDATA(self, t):
--        r"(?s)%\{[ ]*C\+\+[ ]*\n(?P<cdata>.*?\n?)%\}[ ]*(C\+\+)?"
-+        r"%\{[ ]*C\+\+[ ]*\n(?P<cdata>(\n|.)*?\n?)%\}[ ]*(C\+\+)?"
-         t.type = "CDATA"
-         t.value = t.lexer.lexmatch.group("cdata")
-         t.lexer.lineno += t.value.count("\n")
-
-
-# HG changeset patch
-# User ahochheiden <ahochheiden@mozilla.com>
-# Date 1654151264 0
-# Node ID f54162b2c1f2fe52c6137ab2c3469a1944f58b27
-# Parent  6e7776492240c27732840d65a33dcc440fa1aba0
-Bug 1769631 - Remove 'U' from 'mode' parameters for various 'open' calls to ensure Python3.11 compatibility r=firefox-build-system-reviewers,glandium
-
-The 'U' flag represents "universal newline". It has been deprecated
-since Python3.3. Since then "universal newline" is the default when a
-file is opened in text mode (not bytes). In Python3.11 using the 'U'
-flag throws errors. There should be no harm in removing 'U' from 'open'
-everywhere it is used, and doing allows the use of Python3.11.
-
-For more reading see: https://docs.python.org/3.11/whatsnew/3.11.html#changes-in-the-python-api
-
-Differential Revision: https://phabricator.services.mozilla.com/D147721
-
-diff --git a/dom/base/usecounters.py b/dom/base/usecounters.py
---- a/dom/base/usecounters.py
-+++ b/dom/base/usecounters.py
-@@ -3,17 +3,17 @@
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
- 
- import collections
- import re
- 
- 
- def read_conf(conf_filename):
-     # Can't read/write from a single StringIO, so make a new one for reading.
--    stream = open(conf_filename, "rU")
-+    stream = open(conf_filename, "r")
- 
-     def parse_counters(stream):
-         for line_num, line in enumerate(stream):
-             line = line.rstrip("\n")
-             if not line or line.startswith("//"):
-                 # empty line or comment
-                 continue
-             m = re.match(r"method ([A-Za-z0-9]+)\.([A-Za-z0-9]+)$", line)
-diff --git a/python/mozbuild/mozbuild/action/process_define_files.py b/python/mozbuild/mozbuild/action/process_define_files.py
---- a/python/mozbuild/mozbuild/action/process_define_files.py
-+++ b/python/mozbuild/mozbuild/action/process_define_files.py
-@@ -31,17 +31,17 @@ def process_define_file(output, input):
- 
-     config = PartialConfigEnvironment(topobjdir)
- 
-     if mozpath.basedir(
-         path, [mozpath.join(topsrcdir, "js/src")]
-     ) and not config.substs.get("JS_STANDALONE"):
-         config = PartialConfigEnvironment(mozpath.join(topobjdir, "js", "src"))
- 
--    with open(path, "rU") as input:
-+    with open(path, "r") as input:
-         r = re.compile(
-             "^\s*#\s*(?P<cmd>[a-z]+)(?:\s+(?P<name>\S+)(?:\s+(?P<value>\S+))?)?", re.U
-         )
-         for l in input:
-             m = r.match(l)
-             if m:
-                 cmd = m.group("cmd")
-                 name = m.group("name")
-diff --git a/python/mozbuild/mozbuild/backend/base.py b/python/mozbuild/mozbuild/backend/base.py
---- a/python/mozbuild/mozbuild/backend/base.py
-+++ b/python/mozbuild/mozbuild/backend/base.py
-@@ -267,17 +267,17 @@ class BuildBackend(LoggingMixin):
-         If an exception is raised, |mach build| will fail with a
-         non-zero exit code.
-         """
-         self._write_purgecaches(config)
- 
-         return status
- 
-     @contextmanager
--    def _write_file(self, path=None, fh=None, readmode="rU"):
-+    def _write_file(self, path=None, fh=None, readmode="r"):
-         """Context manager to write a file.
- 
-         This is a glorified wrapper around FileAvoidWrite with integration to
-         update the summary data on this instance.
- 
-         Example usage:
- 
-             with self._write_file('foo.txt') as fh:
-diff --git a/python/mozbuild/mozbuild/preprocessor.py b/python/mozbuild/mozbuild/preprocessor.py
---- a/python/mozbuild/mozbuild/preprocessor.py
-+++ b/python/mozbuild/mozbuild/preprocessor.py
-@@ -526,17 +526,17 @@ class Preprocessor:
-             if not options.output:
-                 raise Preprocessor.Error(
-                     self, "--depend doesn't work with stdout", None
-                 )
-             depfile = get_output_file(options.depend)
- 
-         if args:
-             for f in args:
--                with io.open(f, "rU", encoding="utf-8") as input:
-+                with io.open(f, "r", encoding="utf-8") as input:
-                     self.processFile(input=input, output=out)
-             if depfile:
-                 mk = Makefile()
-                 mk.create_rule([six.ensure_text(options.output)]).add_dependencies(
-                     self.includes
-                 )
-                 mk.dump(depfile)
-                 depfile.close()
-@@ -855,17 +855,17 @@ class Preprocessor:
-         self.checkLineNumbers = False
-         if isName:
-             try:
-                 args = _to_text(args)
-                 if filters:
-                     args = self.applyFilters(args)
-                 if not os.path.isabs(args):
-                     args = os.path.join(self.curdir, args)
--                args = io.open(args, "rU", encoding="utf-8")
-+                args = io.open(args, "r", encoding="utf-8")
-             except Preprocessor.Error:
-                 raise
-             except Exception:
-                 raise Preprocessor.Error(self, "FILE_NOT_FOUND", _to_text(args))
-         self.checkLineNumbers = bool(
-             re.search("\.(js|jsm|java|webidl)(?:\.in)?$", args.name)
-         )
-         oldFile = self.context["FILE"]
-@@ -909,17 +909,17 @@ class Preprocessor:
- 
-     def do_error(self, args):
-         raise Preprocessor.Error(self, "Error: ", _to_text(args))
- 
- 
- def preprocess(includes=[sys.stdin], defines={}, output=sys.stdout, marker="#"):
-     pp = Preprocessor(defines=defines, marker=marker)
-     for f in includes:
--        with io.open(f, "rU", encoding="utf-8") as input:
-+        with io.open(f, "r", encoding="utf-8") as input:
-             pp.processFile(input=input, output=output)
-     return pp.includes
- 
- 
- # Keep this module independently executable.
- if __name__ == "__main__":
-     pp = Preprocessor()
-     pp.handleCommandLine(None, True)
-diff --git a/python/mozbuild/mozbuild/util.py b/python/mozbuild/mozbuild/util.py
---- a/python/mozbuild/mozbuild/util.py
-+++ b/python/mozbuild/mozbuild/util.py
-@@ -231,17 +231,17 @@ class FileAvoidWrite(BytesIO):
-     enabled by default because it a) doesn't make sense for binary files b)
-     could add unwanted overhead to calls.
- 
-     Additionally, there is dry run mode where the file is not actually written
-     out, but reports whether the file was existing and would have been updated
-     still occur, as well as diff capture if requested.
-     """
- 
--    def __init__(self, filename, capture_diff=False, dry_run=False, readmode="rU"):
-+    def __init__(self, filename, capture_diff=False, dry_run=False, readmode="r"):
-         BytesIO.__init__(self)
-         self.name = filename
-         assert type(capture_diff) == bool
-         assert type(dry_run) == bool
-         assert "r" in readmode
-         self._capture_diff = capture_diff
-         self._write_to_file = not dry_run
-         self.diff = None
-diff --git a/python/mozbuild/mozpack/files.py b/python/mozbuild/mozpack/files.py
---- a/python/mozbuild/mozpack/files.py
-+++ b/python/mozbuild/mozpack/files.py
-@@ -549,17 +549,17 @@ class PreprocessedFile(BaseFile):
-         self.defines = defines
-         self.extra_depends = list(extra_depends or [])
-         self.silence_missing_directive_warnings = silence_missing_directive_warnings
- 
-     def inputs(self):
-         pp = Preprocessor(defines=self.defines, marker=self.marker)
-         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
- 
--        with _open(self.path, "rU") as input:
-+        with _open(self.path, "r") as input:
-             with _open(os.devnull, "w") as output:
-                 pp.processFile(input=input, output=output)
- 
-         # This always yields at least self.path.
-         return pp.includes
- 
-     def copy(self, dest, skip_if_older=True):
-         """
-@@ -606,17 +606,17 @@ class PreprocessedFile(BaseFile):
-             return False
- 
-         deps_out = None
-         if self.depfile:
-             deps_out = FileAvoidWrite(self.depfile)
-         pp = Preprocessor(defines=self.defines, marker=self.marker)
-         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
- 
--        with _open(self.path, "rU") as input:
-+        with _open(self.path, "r") as input:
-             pp.processFile(input=input, output=dest, depfile=deps_out)
- 
-         dest.close()
-         if self.depfile:
-             deps_out.close()
- 
-         return True
- 
-
diff --git a/srcpkgs/thunderbird/patches/rust-configure.patch b/srcpkgs/thunderbird/patches/rust-configure.patch
index 61fb2ba891d9..b5ff2987008c 100644
--- a/srcpkgs/thunderbird/patches/rust-configure.patch
+++ b/srcpkgs/thunderbird/patches/rust-configure.patch
@@ -6,9 +6,11 @@ instead use what is set in RUST_TARGET
 
 Skip extra checks on cross builds (broken for arm*)
 
---- a/build/moz.configure/rust.configure	2020-12-12 01:35:33.000000000 +0100
-+++ b/build/moz.configure/rust.configure	2020-12-15 19:45:16.467750787 +0100
-@@ -91,9 +91,6 @@
+diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure
+index e64dc5d5ec..c4778f8cc8 100644
+--- a/build/moz.configure/rust.configure
++++ b/build/moz.configure/rust.configure
+@@ -91,9 +91,6 @@ def unwrap_rustup(prog, name):
      return unwrap
  
  
@@ -18,7 +20,7 @@ Skip extra checks on cross builds (broken for arm*)
  
  set_config("CARGO", cargo)
  set_config("RUSTC", rustc)
-@@ -260,7 +257,9 @@
+@@ -274,7 +271,9 @@ def rust_supported_targets(rustc):
          data.setdefault(key, []).append(namespace(rust_target=t, target=info))
      return data
  
@@ -29,24 +31,26 @@ Skip extra checks on cross builds (broken for arm*)
  def detect_rustc_target(
      host_or_target, compiler_info, arm_target, rust_supported_targets
  ):
-@@ -382,12 +381,12 @@
+@@ -396,12 +395,14 @@ def detect_rustc_target(
  
          return None
  
 -    rustc_target = find_candidate(candidates)
 +    rustc_target = os.environ['RUST_TARGET']
++
  
      if rustc_target is None:
          die("Don't know how to translate {} for rustc".format(host_or_target.alias))
  
 -    return rustc_target
 +    return ensure_unicode(rustc_target, system_encoding)
++
  
  
  @imports("os")
-@@ -410,35 +409,6 @@
+@@ -423,35 +424,6 @@ def assert_rust_compile(host_or_target, rustc_target, rustc):
  
-         os.write(in_fd, ensure_binary(source))
+         os.write(in_fd, source)
          os.close(in_fd)
 -
 -        cmd = [
@@ -80,7 +84,7 @@ Skip extra checks on cross builds (broken for arm*)
      finally:
          os.remove(in_path)
          os.remove(out_path)
-@@ -462,28 +432,7 @@
+@@ -475,28 +447,7 @@ def rust_host_triple(
          host, compiler_info, arm_target, rust_supported_targets
      )
      if rustc_target != rustc_host:
diff --git a/srcpkgs/thunderbird/patches/sandbox-fork.patch b/srcpkgs/thunderbird/patches/sandbox-fork.patch
index d4584e74b91c..a8cb89394f87 100644
--- a/srcpkgs/thunderbird/patches/sandbox-fork.patch
+++ b/srcpkgs/thunderbird/patches/sandbox-fork.patch
@@ -1,8 +1,8 @@
-make SYS_fork non-fatal, musl uses it for fork(2)
-
+diff --git a/security/sandbox/linux/SandboxFilter.cpp b/security/sandbox/linux/SandboxFilter.cpp
+index 20e9b59685..e053580992 100644
 --- a/security/sandbox/linux/SandboxFilter.cpp
 +++ b/security/sandbox/linux/SandboxFilter.cpp
-@@ -1420,6 +1420,10 @@
+@@ -1598,6 +1598,11 @@ class ContentSandboxPolicy : public SandboxPolicyCommon {
          // usually do something reasonable on error.
        case __NR_clone:
          return ClonePolicy(Error(EPERM));
@@ -10,6 +10,7 @@ make SYS_fork non-fatal, musl uses it for fork(2)
 +      case __NR_fork:
 +        return Error(ENOSYS);
 +#  endif
++
  
- #  ifdef __NR_fadvise64
-       case __NR_fadvise64:
+       case __NR_clone3:
+         return Error(ENOSYS);
diff --git a/srcpkgs/thunderbird/template b/srcpkgs/thunderbird/template
index ec3fa3d4c35f..c8e870223479 100644
--- a/srcpkgs/thunderbird/template
+++ b/srcpkgs/thunderbird/template
@@ -3,15 +3,15 @@
 # THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/thunderbird-i18n".
 #
 pkgname=thunderbird
-version=102.6.1
-revision=3
+version=102.11.0
+revision=1
 build_helper="rust"
 short_desc="Standalone Mail/News reader"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="MPL-2.0, GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.thunderbird.net/"
 distfiles="${MOZILLA_SITE}/${pkgname}/releases/${version}/source/${pkgname}-${version}.source.tar.xz"
-checksum=8b8cb5d7532ad8ee65061d2f284ae9f0470e7614dfcfc3c37ca945bcb96d1183
+checksum=de73803f8a0bb4037da0a50748de41761939cab9cc924d93bd08e142610a64fa
 
 lib32disabled=yes
 

From 2d81bde61f8e4d7d5daa0c87499cb5bb0652204e Mon Sep 17 00:00:00 2001
From: Pascal Huber <pascal.huber@resolved.ch>
Date: Wed, 26 Apr 2023 12:09:25 +0200
Subject: [PATCH 2/2] thunderbird-i18n: udpate to 102.10.1

---
 srcpkgs/thunderbird-i18n/template | 135 +++++++++++++++---------------
 1 file changed, 67 insertions(+), 68 deletions(-)

diff --git a/srcpkgs/thunderbird-i18n/template b/srcpkgs/thunderbird-i18n/template
index 17830bddd777..35f08a439100 100644
--- a/srcpkgs/thunderbird-i18n/template
+++ b/srcpkgs/thunderbird-i18n/template
@@ -1,6 +1,6 @@
 # Template file for 'thunderbird-i18n'
 pkgname=thunderbird-i18n
-version=102.6.1
+version=102.11.0
 revision=1
 build_style=meta
 short_desc="Thunderbird language packs"
@@ -106,70 +106,69 @@ _pkgtmpl() {
 			usr/lib/thunderbird/extensions langpack-${_lang}@thunderbird.mozilla.org.xpi
 	}
 }
-
-checksum="5935be82bcbd313b58520d95b04dc32c462e47df88f9724bb31b21686f8b4b77
- 142c0bd4d67b03320db94ae8002c8d67d9bc481a7ad728efa17ba7ae09e9a971
- 5547af80c73146c9892ad2dcd7fb5c6616c9a3a5b49868a23f03914ae2da1537
- e6f34bb2a5412ef9127aacd87823c84ca2881d47b15a45a96751a7557d1e0398
- cb35b936f2db79a897e1372ea34a1fb8237885030446f29269b940c0f221d733
- ada9c925979d25cb0e1549d20466b7e22653931715dd1a7fe85ca835caddf7f7
- 9b92561b20face8de88a77a579afa6d1404f55c69340993508fcc3153e1bd70b
- 64db6133cc87197cb793e0e33b72345bc30dabf862a06f7574321ea783c54645
- db622d082616525302f8d32b9f41793804d51495d1a7b1f62125ed9daedd3fb2
- 919ccec7292a6cf9ccce66fc7a91bbae2a3f93d965ecb4237380256cc8c344dd
- f160cb1db40b31815096c0c58f9aa75213e294600c12fef2d2deb741e24e22dd
- ce4e51c46cb0860c2671606ef94bff741b2e3d5e70e485b9c5c90d0e481cc5b2
- 05a552baec6b12b7e3f9270a628ff6a3fe62ec17c232f905465317e85e40e731
- 6bc18f1db7d0233c9d3bc0cf277234322845d309918681636c30a2c131bd90e9
- a7cc9b51e57b4de49f958cf1ea47d526e6873318fba96b52ee42d541a2e35902
- bf1fac8be9eca95bdbc9f8542445301e146148afe69b40a4ea41bfdf64ab1034
- 85e3c40c5ef6bd2fdbf9951304bec1f17e2f7a212abdf20cf103a5e7b73f2be9
- 6489211d465c053182484faae07c708e076b82a88d0ebecfda071f4bb41b5677
- f0d0d4a58d6bac842c28bee253e6d5906e582b359173fdeedb6d4c40f0b9a4c8
- 4e3da06699c1cc87b735ef9d181f8cc33c989f44840d02c9b9e5dfd893a8c05e
- 0dcabb9158d29001082801b1703946b1df9e22653fc7c66c9a725f102f2ada00
- 1e3ee2f9d0291ec2aa0a2d5939ca3074d6b6a7da533186e227da1d3cc2cc7974
- ab7931be527b56dea1939b048030647e4311b0c0eaa23b7843f3baab180801ba
- a592cfeb20a346ad8b24facca3f0da2c5fdd65156aafea67b0c3793bb99ab0a1
- 32740a1261d43b6bec2b99e2da64bdf201c60b1d0651a5a5db548e1180cf5fb1
- e9e669a9917eab86af336c1d149910cb8606e21708c2b5707d87452c455905b0
- 777d625c67cbe9e710ac7fffda880e0a1fb523f8cafc6ac2c3b227b2d5de38f5
- 63728cede6b88d8352b9398c675c4537527de00ee8a0e120bcc905be9f47ae89
- 97f387a2b47303ca475eeab466a0d9f4bc64554b82c55a00f2da4cea431aaa03
- c875c6a19505c6a04cbeba85baad5d9432efd930d920eebb72413d6642a33d3f
- 4ebd23d9533cf2c5b63ec4dc6b6f83df742c473d7d108dd70b9947d014a4ec45
- de78a9bdb410bd9850b4d1197442e263cfb7f3a112917aa40f76a5c50f5ae64c
- b23fb2ac9a531848ef30e960fdd3174ae970f84b42a2adec1bb34329879acd96
- b7024f86fac5844692b7e5c859e91c721a8279ee60880cafe9479476559bd9fa
- 7107ffa0816d059147381b63ee31d66b4ad9b6af77ed409c05994fc2eb5c597d
- 1e1144a17959632ccce43025f4addc4adea7c0c225bac529f99b501604b96b53
- 3697fe13197519a9838584a17ed612ae08d9c603d56340df13c42fb971ddbca4
- d357fa261223596406a931867f84f1aefaa4ff8556257a005e0d5061c6b5e8cf
- a85066ac413255ea51260e8c690b7a4fe8602ceb628e7d2fa6803ccafa02c9c8
- a9850ec702c480ab9ed2bbee16f8ffea2fa1e60da5f68f0f51b051699a3551de
- cd784b2b6317748241bc8f5192d5d3e734cc8747b61955485a859faad4be151b
- f67ba1abdbf107f5f18db505ea5c5b588bd4fbdd9c589991a643db0da1204f4b
- 8de924873919f06468f58d8a1dae8e9d2886d3705aa59b2dc7d30b9659a5327a
- 8b2b9ec349e0e562b7e681f8b9c910256c46953c1cd12f131d7e6f04469954f6
- 5ddd93aff16c17626a170fd0a5c95a72e9ab7bcaeaff67f36445ddd21100f42d
- 7bbeb6237a36f375cf78820e59dc61e619854bcf031852a5e8201b783176deac
- f77a1a325100e9f4bd84eeba002b35b63bad535b723ce854b0ce85e63776de38
- bf1573cca7b0892ca234a5bb2e44646ba997c0be8051017f35ae217aa7f60bdb
- 671bb222053b1fa8bb609095e518392dd3cb1ce2dde780ed34441118324cb551
- 6c4c7032d76b31bb76abfae5c5e288bd0a82bbcf7d9bf8aa9197bea687c86a46
- 4195b95b23a643925488e969accb294d1c056247ccfec745748d6ee0b0c94851
- ebaa54f3a992514bbf54bce4ab82743390c715a81343739948efd0ac3ca33599
- 868b30b8b311aed6c74b8d5fc05b7c4a0f32f56602b594229ddcadff2733a1f3
- 75f7542f8d3d49cf4e16023fae32a329fa8e804c90bae236a6415a4a045f6ce0
- ea857d827ee2cc580fae43772648cc410c1bcd4c8612cff9a3a7d11b04e54725
- 25716f39d2d7d25f448dc9a68270f51124f1d234f0b9482743dcc0c1a00fa8b1
- 42d52c4ce57e8cae43667faf7600e98d085b0ab713e7607bc1dae1f34932be67
- 5319b79f719dd27e45ecca54d29482d6558f41947db5c4ec4b70c3e25bb8f55a
- 88bcbfa7a2b006b93fd715810661b464e7b150006f046a94e6c03d2e067ae7e3
- 838d84317a7c51c13329c919d4479396b30233136b70fe025faf968b916ba1c1
- 5f686f697c1093c45ef882c3feb1def6064f458d5ae75a74962375b91c6027d5
- 9f9a7a4e6d73698fdc623384a666e677ce2d32990bc69e16aa631a34371cdf78
- 0ba4499c5805a83172e5dcbdc8fd8e464824827f94ed1849d9a1797a9b386e00
- 41f65c5307ec97310b33ace466439e4abf008d461be3835f545e4194e6c54940
- edd966278b660bb280e8e319300e18652ce2ef0fca5baeeb72696b5fd2a03d69
- 13d667aaf3338da21355c042b3a07567553ee48bf0dc071f9a55ef49451de21c"
+checksum="763ecf76a44d2b3a54d5322e8b8e9bb114e614994c86890cd90161677d120c8f
+ 90c7fe80a2339167fc69786734b967aece2a421621d36e752e54b2f147ff5ac6
+ c24e9594c7986403eb27dbce84bdc010a65eabbd13f793b84c2dd0d5a791a045
+ 76ab351b7df17be4f76908cd02577827e7cc06aaaaad99972f3d1b906ad7bdc6
+ 6f1d4d0f84a59c0aae37540f4225a3d14707d19dd95059559984055f521d1d92
+ cbe526d246f970cb26fc172fc104944c6749af5cf92925fc1383e363e89818cb
+ 2280827dd24eac6ef5b6b3d26cc82c74df5e346db22130c4e15869020cac1cbd
+ 117265f83d6d2abee57d67d4366c5fbcf237b88475014ab1d6800ce9029636b8
+ 14c370c300bdcda24f949c14853ea05b53e2413c62cece006bb91002494b38a6
+ c75f11e26056438f605eecab7a95acba3101b47b5cba32e177a6173a354b5a14
+ 3c395f4c1cf283f5950311c7182af4ecb1d5b668418cbfac90de3f015b6b223d
+ b8a5afb77f711d847c017af81fecad2c102db8d4dc0d223c6c5119687079c565
+ cdac954f7cb0736a3c701ba0a6e49ed3522f682c107a7d24c1f859af96dce4e7
+ 7508672b2bc98aedd26aa9c49eb2be7df6552a086ca5702b2af874f3555374ef
+ 047748a9a21d0c21f5fe360adeb9299a6b874270c7f2df42127569d741c02faf
+ 5c65be46b938078e5af84d77c13e82da223583cb6c7f0679a73246907703780a
+ 84d6022cad46dadeeb61bddf5714109d97f4be2d224e611d9afb5cf0d728e19a
+ 89970c0013af482caa047a5aabb7e39b9b74823fd709fd1baf09fdaa4520319d
+ c24be69ddc835f8ad3377f0bb5604e3c46e20c7e79b6ff79e10e2435ae436cf7
+ 80ccf123395143ad02142b6ed57b7d0def4be401295f14b0c0a5e43880188069
+ 70a52a4d76027b5c64c8f001d1aa72bb941efeba506df1c59227e914358439fe
+ ec3ee11773bd113db7fb0b885d159b2ed07fe18aacde20bd34f89b357af8df21
+ 7b03988df8873d38150fbbe9d942d34f81fa5c9363bd2216eeae2063b8a21db1
+ becb5b92c7e13eea5df575eb302e61adff21031b1be78250749a68ab63b15091
+ a246120edab5f932b8b9e9713271f42405d98ed6accb51ec649deab60f282f46
+ fbe2053c5ed5e59b0060f54b57701ae52562c8d7317a4ee08ea594df9c17dfa7
+ f18cb6d815e71227f04f970b701938314c95986c77f851ab84c78d4271cca49f
+ 7d18915e61eebe1d40565894df123a052fa6fbc50b3b2aa164c8396d38900ed1
+ 58fd300c3311ad8561b3ace4e1c74f96a1c555e57309f93410352c3a00df7995
+ b2fc772da6797da6eeed3b59ce71de88d8d2ee8ad1eab04bfc4ba0e309a97585
+ 8f3abdef87aceca654d854bc6e44d58529e87a0a28143666632b1ba42d44beba
+ adc08563d795237dfdbb90403437a3bb4364a69c1d0dd26b51d9832f92b495f6
+ f6a36d9a6abb4ef0b882de8e21bd38ca97126e15878bec3bee71b4270e175ce2
+ 0bd16c6b6daeffdef453e707d964552d2d4231473899b1da663f4b0239da4656
+ 3092e0702fa73a88fdec62e940a0acbb10389492567284bbec61dbaac7b582a8
+ 1a9c60f416e199cb083ee17b2e2a9111c9805bcf02011238bec4358a9c89e5e2
+ 858ec83056086d82da01047afaf27b814f4a9e30a16e98d2e2169183456b9918
+ bcea6f19e2ed267cbbcb2af58c712c1f61c80cfd71648b3b429bc5fe90df782f
+ 3cfe8d3ede3a4152066ec6260c917523fb4204eb5fdaf1e39a852a7b472fa827
+ a0ca5462f423174c253203031c7bdb706d02218aa95a0e71ba0eb3f25fc04623
+ a403c787aacf92cd9c0b91da7fb1e8b5139044cfb38b2a78389105063a309b67
+ 71e39bee0aaad11dcbd8191fab6db5749c3527ab3c229209edb70cde77e1dace
+ e682542a6ac38290cab79f965362ba879883eb0d220c2f1c80f0be649d39ced5
+ 4279d5107fe04bf2edaeb9df5ec0d512c1e9e3f42fa372f5513d7cf44dedad0e
+ c7fcdccb3150b1aaf53bf7396a5f03a47b894887a641872a2965aab8bd9c4f14
+ d6a93e2a5e79abf53b20b15b98187107c844ce27b66aeeb9b5da73a50a32d0a3
+ 2bfded1726ec739b87c2602848d1ea7a0a54937d15fa95b14d02ab77d3902563
+ d149ffb9f2bfab4d737774bedfea7e84961c5ba5aeab014d7f5bc4c3aeed873e
+ f323512055f2303ae6551970bcf8e2e50ec4bc2f2784b43425b2b125f75a2c49
+ 985dc31719df761f6f54cd9a55cb93e9b9ad66ecf948bad50cdaae3e56da3a2a
+ 5d9e6b1e67271ddf0c450f50e779b300dc0d4d7c87a4ae023c06fdbf9c2a5ec8
+ 3a23464ec71cff192e28221d0479e544442b1a3319506b0300fc833496cdfda9
+ b8f9ef8d7b7d975938753b496f055432278809373bae5986d3fb91c77731faff
+ c747bce8fa7d7716b85b93d4298eae070fe01f7fb44315971f36e4c46d4f011d
+ 20ceeeb13e2314557c83cde1c51ecf05c97dc0c41e4259bc05dc7ce29a6e6405
+ a7aa285bf26386a9014b5ac0219bb607310bae9def2d25ecc045a2b5ea982f7b
+ 941c35311029cc3b305e87faad98d70c67255fad57b619e0c3f9523cf8b9a532
+ cf9ce609fb63ba746a4d849d8d6172ed3eb7f7b4fd7248c57347eb3aad0e32bc
+ 501cc2da15fad009958bc2275165cbcaacf1eaf5b9a9454b3e7d1190c193e451
+ bf0add852e330033d01d5dbce3b9f6ffd5f04565f5c03b15e841100c5c7ada8d
+ 33862d7c35638859d8a83e0b3fc259caa1ff82d60983de88c6457d7eca5b3617
+ b9e2b4c117f2038672ae03a3433332bead5efa8a6a662ac7856c253c1206106b
+ 09e0fab3f0c40776ee6a60c6c6abce7d6b7511427e7cf24d947ae0a4d48d8c5d
+ 50b3981dea4da521000e19e99a1ebb24484b49656a5b5748cd24aa1114861076
+ 5bf6e2b8c821d20c561359b1645991a2a7820c583f44a3d8205ee077fb012b4d
+ 83f4e62f15da5f6fc88873304fd918fec18072982e599c071d1417fa8a5f94f1"

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: thunderbird: update to 102.10.1
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (5 preceding siblings ...)
  2023-05-12 12:03 ` pascal-huber
@ 2023-05-12 12:03 ` pascal-huber
  2023-05-12 12:06 ` [PR PATCH] [Updated] thunderbird: update to 102.11.0 pascal-huber
                   ` (25 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: pascal-huber @ 2023-05-12 12:03 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 166 bytes --]

New comment by pascal-huber on void-packages repository

https://github.com/void-linux/void-packages/pull/43607#issuecomment-1545636646

Comment:
updated to 102.11.0

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PR PATCH] [Updated] thunderbird: update to 102.11.0
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (6 preceding siblings ...)
  2023-05-12 12:03 ` pascal-huber
@ 2023-05-12 12:06 ` pascal-huber
  2023-06-09  9:07 ` pascal-huber
                   ` (24 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: pascal-huber @ 2023-05-12 12:06 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 658 bytes --]

There is an updated pull request by pascal-huber against master on the void-packages repository

https://github.com/pascal-huber/void-packages thunderbird
https://github.com/void-linux/void-packages/pull/43607

thunderbird: update to 102.11.0
[ci skip]

#### Testing the changes
- I tested the changes in this PR: **briefly**

#### Local build testing
- I built this PR locally for my native architecture, x86_64-glibc
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - armv7l (crossbuild)
  - x86_64-musl (crossbuild)


A patch file from https://github.com/void-linux/void-packages/pull/43607.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-thunderbird-43607.patch --]
[-- Type: text/x-diff, Size: 28682 bytes --]

From 9146b50c817374729d47b56b07793e6ea0090edf Mon Sep 17 00:00:00 2001
From: Pascal Huber <pascal.huber@resolved.ch>
Date: Wed, 26 Apr 2023 12:09:15 +0200
Subject: [PATCH 1/2] thunderbird: update to 102.11.0

---
 .../thunderbird/patches/flac-no-ffvpx.patch   |   3 +-
 srcpkgs/thunderbird/patches/lto-thin.patch    |  21 +-
 srcpkgs/thunderbird/patches/mallinfo.patch    |  24 +-
 srcpkgs/thunderbird/patches/python3.11.patch  | 238 ------------------
 .../thunderbird/patches/rust-configure.patch  |  20 +-
 .../thunderbird/patches/sandbox-fork.patch    |  11 +-
 srcpkgs/thunderbird/template                  |   6 +-
 7 files changed, 47 insertions(+), 276 deletions(-)
 delete mode 100644 srcpkgs/thunderbird/patches/python3.11.patch

diff --git a/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch b/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
index ebf48deb9720..2e475e8c6940 100644
--- a/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
+++ b/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
@@ -12,7 +12,7 @@ index 53fc3c9937f7..b23771ab80fa 100644
  
  namespace mozilla {
  
-@@ -14,6 +15,10 @@ namespace mozilla {
+@@ -14,5 +15,9 @@ namespace mozilla {
  bool FlacDecoder::IsEnabled() {
  #ifdef MOZ_FFVPX
    return StaticPrefs::media_flac_enabled();
@@ -21,5 +21,4 @@ index 53fc3c9937f7..b23771ab80fa 100644
 +  return StaticPrefs::media_flac_enabled() &&
 +         platform->SupportsMimeType("audio/flac"_ns);
  #else
-   // Until bug 1295886 is fixed.
    return false;
diff --git a/srcpkgs/thunderbird/patches/lto-thin.patch b/srcpkgs/thunderbird/patches/lto-thin.patch
index e85cbce36583..17cd0a5e9458 100644
--- a/srcpkgs/thunderbird/patches/lto-thin.patch
+++ b/srcpkgs/thunderbird/patches/lto-thin.patch
@@ -1,15 +1,18 @@
-$OpenBSD: patch-config_makefiles_rust_mk,v 1.6 2021/01/26 15:52:58 landry Exp $
+This patch is a modified version of the OpenBSD patch
 
-use lto=thin to reduce memory pressure when building gkrust
+try to consume less memory when linking gkrust with debug symbols ?
+
+openbsd patch: https://github.com/openbsd/ports/blob/master/mail/mozilla-thunderbird/patches/patch-config_makefiles_rust_mk
 https://bugzilla.mozilla.org/show_bug.cgi?id=1644409
 https://bugzilla.mozilla.org/show_bug.cgi?id=1640982
-
-Index: config/makefiles/rust.mk
---- a/config/makefiles/rust.mk.orig
-+++ a/config/makefiles/rust.mk
-@@ -70,7 +70,8 @@ ifndef MOZ_DEBUG_RUST
- # gkrust_gtest. And not when doing cross-language LTO.
- ifndef MOZ_LTO_RUST_CROSS
+---
+diff --git a/config/makefiles/rust.mk b/config/makefiles/rust.mk
+index a243ee5f7f..89593f1fe1 100644
+--- a/config/makefiles/rust.mk
++++ b/config/makefiles/rust.mk
+@@ -90,7 +90,8 @@ ifndef rustflags_sancov
+ # Never enable when coverage is enabled to work around https://github.com/rust-lang/rust/issues/90045.
+ ifndef MOZ_CODE_COVERAGE
  ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE)))
 -cargo_rustc_flags += -Clto
 +cargo_rustc_flags += -Clto=thin
diff --git a/srcpkgs/thunderbird/patches/mallinfo.patch b/srcpkgs/thunderbird/patches/mallinfo.patch
index 0d704301f39f..a3b3e1cb53ac 100644
--- a/srcpkgs/thunderbird/patches/mallinfo.patch
+++ b/srcpkgs/thunderbird/patches/mallinfo.patch
@@ -1,14 +1,16 @@
---- a/xpcom/base/nsMemoryReporterManager.cpp	2019-03-19 17:12:20.844810044 +0100
-+++ b/xpcom/base/nsMemoryReporterManager.cpp	2019-03-19 17:13:32.505133615 +0100
-@@ -123,6 +123,7 @@
-   return GetProcSelfSmapsPrivate(aN);
+diff --git a/xpcom/base/nsMemoryReporterManager.cpp b/xpcom/base/nsMemoryReporterManager.cpp
+index 30bc60e01a..caf9f740d2 100644
+--- a/xpcom/base/nsMemoryReporterManager.cpp
++++ b/xpcom/base/nsMemoryReporterManager.cpp
+@@ -127,6 +127,7 @@ using namespace dom;
+   return GetProcSelfSmapsPrivate(aN, aPid);
  }
  
 +#ifdef __GLIBC__
  #  ifdef HAVE_MALLINFO
  #    define HAVE_SYSTEM_HEAP_REPORTER 1
- static MOZ_MUST_USE nsresult SystemHeapSize(int64_t* aSizeOut) {
-@@ -142,6 +143,7 @@
+ [[nodiscard]] static nsresult SystemHeapSize(int64_t* aSizeOut) {
+@@ -146,6 +147,7 @@ using namespace dom;
    return NS_OK;
  }
  #  endif
@@ -16,16 +18,16 @@
  
  #elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
      defined(__OpenBSD__) || defined(__FreeBSD_kernel__)
-@@ -642,6 +644,7 @@
+@@ -653,6 +655,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr, cpu_type_t aType) {
    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;
+ // Windows can have multiple separate heaps, but we should not touch non-default
+ // heaps because they may be destroyed at anytime while we hold a handle.  So we
+@@ -685,6 +688,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr, cpu_type_t aType) {
+   *aSizeOut = heapSize;
    return NS_OK;
  }
 +#endif // __GLIBC__
diff --git a/srcpkgs/thunderbird/patches/python3.11.patch b/srcpkgs/thunderbird/patches/python3.11.patch
deleted file mode 100644
index 2facee5ebb2b..000000000000
--- a/srcpkgs/thunderbird/patches/python3.11.patch
+++ /dev/null
@@ -1,238 +0,0 @@
-Patch-Source: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267709
-Patch-Source: https://hg.mozilla.org/mozilla-central/rev/f54162b2c1f2fe52c6137ab2c3469a1944f58b27
---- a/xpcom/idl-parser/xpidl/xpidl.py
-+++ b/xpcom/idl-parser/xpidl/xpidl.py
-@@ -1633,13 +1633,13 @@ class IDLParser(object):
-     t_ignore = " \t"
- 
-     def t_multilinecomment(self, t):
--        r"/\*(?s).*?\*/"
-+        r"/\*(\n|.)*?\*/"
-         t.lexer.lineno += t.value.count("\n")
-         if t.value.startswith("/**"):
-             self._doccomments.append(t.value)
- 
-     def t_singlelinecomment(self, t):
--        r"(?m)//.*?$"
-+        r"//[^\n]*"
- 
-     def t_IID(self, t):
-         return t
-@@ -1652,7 +1652,7 @@ class IDLParser(object):
-         return t
- 
-     def t_LCDATA(self, t):
--        r"(?s)%\{[ ]*C\+\+[ ]*\n(?P<cdata>.*?\n?)%\}[ ]*(C\+\+)?"
-+        r"%\{[ ]*C\+\+[ ]*\n(?P<cdata>(\n|.)*?\n?)%\}[ ]*(C\+\+)?"
-         t.type = "CDATA"
-         t.value = t.lexer.lexmatch.group("cdata")
-         t.lexer.lineno += t.value.count("\n")
-
-
-# HG changeset patch
-# User ahochheiden <ahochheiden@mozilla.com>
-# Date 1654151264 0
-# Node ID f54162b2c1f2fe52c6137ab2c3469a1944f58b27
-# Parent  6e7776492240c27732840d65a33dcc440fa1aba0
-Bug 1769631 - Remove 'U' from 'mode' parameters for various 'open' calls to ensure Python3.11 compatibility r=firefox-build-system-reviewers,glandium
-
-The 'U' flag represents "universal newline". It has been deprecated
-since Python3.3. Since then "universal newline" is the default when a
-file is opened in text mode (not bytes). In Python3.11 using the 'U'
-flag throws errors. There should be no harm in removing 'U' from 'open'
-everywhere it is used, and doing allows the use of Python3.11.
-
-For more reading see: https://docs.python.org/3.11/whatsnew/3.11.html#changes-in-the-python-api
-
-Differential Revision: https://phabricator.services.mozilla.com/D147721
-
-diff --git a/dom/base/usecounters.py b/dom/base/usecounters.py
---- a/dom/base/usecounters.py
-+++ b/dom/base/usecounters.py
-@@ -3,17 +3,17 @@
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
- 
- import collections
- import re
- 
- 
- def read_conf(conf_filename):
-     # Can't read/write from a single StringIO, so make a new one for reading.
--    stream = open(conf_filename, "rU")
-+    stream = open(conf_filename, "r")
- 
-     def parse_counters(stream):
-         for line_num, line in enumerate(stream):
-             line = line.rstrip("\n")
-             if not line or line.startswith("//"):
-                 # empty line or comment
-                 continue
-             m = re.match(r"method ([A-Za-z0-9]+)\.([A-Za-z0-9]+)$", line)
-diff --git a/python/mozbuild/mozbuild/action/process_define_files.py b/python/mozbuild/mozbuild/action/process_define_files.py
---- a/python/mozbuild/mozbuild/action/process_define_files.py
-+++ b/python/mozbuild/mozbuild/action/process_define_files.py
-@@ -31,17 +31,17 @@ def process_define_file(output, input):
- 
-     config = PartialConfigEnvironment(topobjdir)
- 
-     if mozpath.basedir(
-         path, [mozpath.join(topsrcdir, "js/src")]
-     ) and not config.substs.get("JS_STANDALONE"):
-         config = PartialConfigEnvironment(mozpath.join(topobjdir, "js", "src"))
- 
--    with open(path, "rU") as input:
-+    with open(path, "r") as input:
-         r = re.compile(
-             "^\s*#\s*(?P<cmd>[a-z]+)(?:\s+(?P<name>\S+)(?:\s+(?P<value>\S+))?)?", re.U
-         )
-         for l in input:
-             m = r.match(l)
-             if m:
-                 cmd = m.group("cmd")
-                 name = m.group("name")
-diff --git a/python/mozbuild/mozbuild/backend/base.py b/python/mozbuild/mozbuild/backend/base.py
---- a/python/mozbuild/mozbuild/backend/base.py
-+++ b/python/mozbuild/mozbuild/backend/base.py
-@@ -267,17 +267,17 @@ class BuildBackend(LoggingMixin):
-         If an exception is raised, |mach build| will fail with a
-         non-zero exit code.
-         """
-         self._write_purgecaches(config)
- 
-         return status
- 
-     @contextmanager
--    def _write_file(self, path=None, fh=None, readmode="rU"):
-+    def _write_file(self, path=None, fh=None, readmode="r"):
-         """Context manager to write a file.
- 
-         This is a glorified wrapper around FileAvoidWrite with integration to
-         update the summary data on this instance.
- 
-         Example usage:
- 
-             with self._write_file('foo.txt') as fh:
-diff --git a/python/mozbuild/mozbuild/preprocessor.py b/python/mozbuild/mozbuild/preprocessor.py
---- a/python/mozbuild/mozbuild/preprocessor.py
-+++ b/python/mozbuild/mozbuild/preprocessor.py
-@@ -526,17 +526,17 @@ class Preprocessor:
-             if not options.output:
-                 raise Preprocessor.Error(
-                     self, "--depend doesn't work with stdout", None
-                 )
-             depfile = get_output_file(options.depend)
- 
-         if args:
-             for f in args:
--                with io.open(f, "rU", encoding="utf-8") as input:
-+                with io.open(f, "r", encoding="utf-8") as input:
-                     self.processFile(input=input, output=out)
-             if depfile:
-                 mk = Makefile()
-                 mk.create_rule([six.ensure_text(options.output)]).add_dependencies(
-                     self.includes
-                 )
-                 mk.dump(depfile)
-                 depfile.close()
-@@ -855,17 +855,17 @@ class Preprocessor:
-         self.checkLineNumbers = False
-         if isName:
-             try:
-                 args = _to_text(args)
-                 if filters:
-                     args = self.applyFilters(args)
-                 if not os.path.isabs(args):
-                     args = os.path.join(self.curdir, args)
--                args = io.open(args, "rU", encoding="utf-8")
-+                args = io.open(args, "r", encoding="utf-8")
-             except Preprocessor.Error:
-                 raise
-             except Exception:
-                 raise Preprocessor.Error(self, "FILE_NOT_FOUND", _to_text(args))
-         self.checkLineNumbers = bool(
-             re.search("\.(js|jsm|java|webidl)(?:\.in)?$", args.name)
-         )
-         oldFile = self.context["FILE"]
-@@ -909,17 +909,17 @@ class Preprocessor:
- 
-     def do_error(self, args):
-         raise Preprocessor.Error(self, "Error: ", _to_text(args))
- 
- 
- def preprocess(includes=[sys.stdin], defines={}, output=sys.stdout, marker="#"):
-     pp = Preprocessor(defines=defines, marker=marker)
-     for f in includes:
--        with io.open(f, "rU", encoding="utf-8") as input:
-+        with io.open(f, "r", encoding="utf-8") as input:
-             pp.processFile(input=input, output=output)
-     return pp.includes
- 
- 
- # Keep this module independently executable.
- if __name__ == "__main__":
-     pp = Preprocessor()
-     pp.handleCommandLine(None, True)
-diff --git a/python/mozbuild/mozbuild/util.py b/python/mozbuild/mozbuild/util.py
---- a/python/mozbuild/mozbuild/util.py
-+++ b/python/mozbuild/mozbuild/util.py
-@@ -231,17 +231,17 @@ class FileAvoidWrite(BytesIO):
-     enabled by default because it a) doesn't make sense for binary files b)
-     could add unwanted overhead to calls.
- 
-     Additionally, there is dry run mode where the file is not actually written
-     out, but reports whether the file was existing and would have been updated
-     still occur, as well as diff capture if requested.
-     """
- 
--    def __init__(self, filename, capture_diff=False, dry_run=False, readmode="rU"):
-+    def __init__(self, filename, capture_diff=False, dry_run=False, readmode="r"):
-         BytesIO.__init__(self)
-         self.name = filename
-         assert type(capture_diff) == bool
-         assert type(dry_run) == bool
-         assert "r" in readmode
-         self._capture_diff = capture_diff
-         self._write_to_file = not dry_run
-         self.diff = None
-diff --git a/python/mozbuild/mozpack/files.py b/python/mozbuild/mozpack/files.py
---- a/python/mozbuild/mozpack/files.py
-+++ b/python/mozbuild/mozpack/files.py
-@@ -549,17 +549,17 @@ class PreprocessedFile(BaseFile):
-         self.defines = defines
-         self.extra_depends = list(extra_depends or [])
-         self.silence_missing_directive_warnings = silence_missing_directive_warnings
- 
-     def inputs(self):
-         pp = Preprocessor(defines=self.defines, marker=self.marker)
-         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
- 
--        with _open(self.path, "rU") as input:
-+        with _open(self.path, "r") as input:
-             with _open(os.devnull, "w") as output:
-                 pp.processFile(input=input, output=output)
- 
-         # This always yields at least self.path.
-         return pp.includes
- 
-     def copy(self, dest, skip_if_older=True):
-         """
-@@ -606,17 +606,17 @@ class PreprocessedFile(BaseFile):
-             return False
- 
-         deps_out = None
-         if self.depfile:
-             deps_out = FileAvoidWrite(self.depfile)
-         pp = Preprocessor(defines=self.defines, marker=self.marker)
-         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
- 
--        with _open(self.path, "rU") as input:
-+        with _open(self.path, "r") as input:
-             pp.processFile(input=input, output=dest, depfile=deps_out)
- 
-         dest.close()
-         if self.depfile:
-             deps_out.close()
- 
-         return True
- 
-
diff --git a/srcpkgs/thunderbird/patches/rust-configure.patch b/srcpkgs/thunderbird/patches/rust-configure.patch
index 61fb2ba891d9..b5ff2987008c 100644
--- a/srcpkgs/thunderbird/patches/rust-configure.patch
+++ b/srcpkgs/thunderbird/patches/rust-configure.patch
@@ -6,9 +6,11 @@ instead use what is set in RUST_TARGET
 
 Skip extra checks on cross builds (broken for arm*)
 
---- a/build/moz.configure/rust.configure	2020-12-12 01:35:33.000000000 +0100
-+++ b/build/moz.configure/rust.configure	2020-12-15 19:45:16.467750787 +0100
-@@ -91,9 +91,6 @@
+diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure
+index e64dc5d5ec..c4778f8cc8 100644
+--- a/build/moz.configure/rust.configure
++++ b/build/moz.configure/rust.configure
+@@ -91,9 +91,6 @@ def unwrap_rustup(prog, name):
      return unwrap
  
  
@@ -18,7 +20,7 @@ Skip extra checks on cross builds (broken for arm*)
  
  set_config("CARGO", cargo)
  set_config("RUSTC", rustc)
-@@ -260,7 +257,9 @@
+@@ -274,7 +271,9 @@ def rust_supported_targets(rustc):
          data.setdefault(key, []).append(namespace(rust_target=t, target=info))
      return data
  
@@ -29,24 +31,26 @@ Skip extra checks on cross builds (broken for arm*)
  def detect_rustc_target(
      host_or_target, compiler_info, arm_target, rust_supported_targets
  ):
-@@ -382,12 +381,12 @@
+@@ -396,12 +395,14 @@ def detect_rustc_target(
  
          return None
  
 -    rustc_target = find_candidate(candidates)
 +    rustc_target = os.environ['RUST_TARGET']
++
  
      if rustc_target is None:
          die("Don't know how to translate {} for rustc".format(host_or_target.alias))
  
 -    return rustc_target
 +    return ensure_unicode(rustc_target, system_encoding)
++
  
  
  @imports("os")
-@@ -410,35 +409,6 @@
+@@ -423,35 +424,6 @@ def assert_rust_compile(host_or_target, rustc_target, rustc):
  
-         os.write(in_fd, ensure_binary(source))
+         os.write(in_fd, source)
          os.close(in_fd)
 -
 -        cmd = [
@@ -80,7 +84,7 @@ Skip extra checks on cross builds (broken for arm*)
      finally:
          os.remove(in_path)
          os.remove(out_path)
-@@ -462,28 +432,7 @@
+@@ -475,28 +447,7 @@ def rust_host_triple(
          host, compiler_info, arm_target, rust_supported_targets
      )
      if rustc_target != rustc_host:
diff --git a/srcpkgs/thunderbird/patches/sandbox-fork.patch b/srcpkgs/thunderbird/patches/sandbox-fork.patch
index d4584e74b91c..a8cb89394f87 100644
--- a/srcpkgs/thunderbird/patches/sandbox-fork.patch
+++ b/srcpkgs/thunderbird/patches/sandbox-fork.patch
@@ -1,8 +1,8 @@
-make SYS_fork non-fatal, musl uses it for fork(2)
-
+diff --git a/security/sandbox/linux/SandboxFilter.cpp b/security/sandbox/linux/SandboxFilter.cpp
+index 20e9b59685..e053580992 100644
 --- a/security/sandbox/linux/SandboxFilter.cpp
 +++ b/security/sandbox/linux/SandboxFilter.cpp
-@@ -1420,6 +1420,10 @@
+@@ -1598,6 +1598,11 @@ class ContentSandboxPolicy : public SandboxPolicyCommon {
          // usually do something reasonable on error.
        case __NR_clone:
          return ClonePolicy(Error(EPERM));
@@ -10,6 +10,7 @@ make SYS_fork non-fatal, musl uses it for fork(2)
 +      case __NR_fork:
 +        return Error(ENOSYS);
 +#  endif
++
  
- #  ifdef __NR_fadvise64
-       case __NR_fadvise64:
+       case __NR_clone3:
+         return Error(ENOSYS);
diff --git a/srcpkgs/thunderbird/template b/srcpkgs/thunderbird/template
index ec3fa3d4c35f..c8e870223479 100644
--- a/srcpkgs/thunderbird/template
+++ b/srcpkgs/thunderbird/template
@@ -3,15 +3,15 @@
 # THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/thunderbird-i18n".
 #
 pkgname=thunderbird
-version=102.6.1
-revision=3
+version=102.11.0
+revision=1
 build_helper="rust"
 short_desc="Standalone Mail/News reader"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="MPL-2.0, GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.thunderbird.net/"
 distfiles="${MOZILLA_SITE}/${pkgname}/releases/${version}/source/${pkgname}-${version}.source.tar.xz"
-checksum=8b8cb5d7532ad8ee65061d2f284ae9f0470e7614dfcfc3c37ca945bcb96d1183
+checksum=de73803f8a0bb4037da0a50748de41761939cab9cc924d93bd08e142610a64fa
 
 lib32disabled=yes
 

From 3dbf4efba0462219d99e396e5c410fe9cadcb79a Mon Sep 17 00:00:00 2001
From: Pascal Huber <pascal.huber@resolved.ch>
Date: Wed, 26 Apr 2023 12:09:25 +0200
Subject: [PATCH 2/2] thunderbird-i18n: udpate to 102.11.0

---
 srcpkgs/thunderbird-i18n/template | 135 +++++++++++++++---------------
 1 file changed, 67 insertions(+), 68 deletions(-)

diff --git a/srcpkgs/thunderbird-i18n/template b/srcpkgs/thunderbird-i18n/template
index 17830bddd777..35f08a439100 100644
--- a/srcpkgs/thunderbird-i18n/template
+++ b/srcpkgs/thunderbird-i18n/template
@@ -1,6 +1,6 @@
 # Template file for 'thunderbird-i18n'
 pkgname=thunderbird-i18n
-version=102.6.1
+version=102.11.0
 revision=1
 build_style=meta
 short_desc="Thunderbird language packs"
@@ -106,70 +106,69 @@ _pkgtmpl() {
 			usr/lib/thunderbird/extensions langpack-${_lang}@thunderbird.mozilla.org.xpi
 	}
 }
-
-checksum="5935be82bcbd313b58520d95b04dc32c462e47df88f9724bb31b21686f8b4b77
- 142c0bd4d67b03320db94ae8002c8d67d9bc481a7ad728efa17ba7ae09e9a971
- 5547af80c73146c9892ad2dcd7fb5c6616c9a3a5b49868a23f03914ae2da1537
- e6f34bb2a5412ef9127aacd87823c84ca2881d47b15a45a96751a7557d1e0398
- cb35b936f2db79a897e1372ea34a1fb8237885030446f29269b940c0f221d733
- ada9c925979d25cb0e1549d20466b7e22653931715dd1a7fe85ca835caddf7f7
- 9b92561b20face8de88a77a579afa6d1404f55c69340993508fcc3153e1bd70b
- 64db6133cc87197cb793e0e33b72345bc30dabf862a06f7574321ea783c54645
- db622d082616525302f8d32b9f41793804d51495d1a7b1f62125ed9daedd3fb2
- 919ccec7292a6cf9ccce66fc7a91bbae2a3f93d965ecb4237380256cc8c344dd
- f160cb1db40b31815096c0c58f9aa75213e294600c12fef2d2deb741e24e22dd
- ce4e51c46cb0860c2671606ef94bff741b2e3d5e70e485b9c5c90d0e481cc5b2
- 05a552baec6b12b7e3f9270a628ff6a3fe62ec17c232f905465317e85e40e731
- 6bc18f1db7d0233c9d3bc0cf277234322845d309918681636c30a2c131bd90e9
- a7cc9b51e57b4de49f958cf1ea47d526e6873318fba96b52ee42d541a2e35902
- bf1fac8be9eca95bdbc9f8542445301e146148afe69b40a4ea41bfdf64ab1034
- 85e3c40c5ef6bd2fdbf9951304bec1f17e2f7a212abdf20cf103a5e7b73f2be9
- 6489211d465c053182484faae07c708e076b82a88d0ebecfda071f4bb41b5677
- f0d0d4a58d6bac842c28bee253e6d5906e582b359173fdeedb6d4c40f0b9a4c8
- 4e3da06699c1cc87b735ef9d181f8cc33c989f44840d02c9b9e5dfd893a8c05e
- 0dcabb9158d29001082801b1703946b1df9e22653fc7c66c9a725f102f2ada00
- 1e3ee2f9d0291ec2aa0a2d5939ca3074d6b6a7da533186e227da1d3cc2cc7974
- ab7931be527b56dea1939b048030647e4311b0c0eaa23b7843f3baab180801ba
- a592cfeb20a346ad8b24facca3f0da2c5fdd65156aafea67b0c3793bb99ab0a1
- 32740a1261d43b6bec2b99e2da64bdf201c60b1d0651a5a5db548e1180cf5fb1
- e9e669a9917eab86af336c1d149910cb8606e21708c2b5707d87452c455905b0
- 777d625c67cbe9e710ac7fffda880e0a1fb523f8cafc6ac2c3b227b2d5de38f5
- 63728cede6b88d8352b9398c675c4537527de00ee8a0e120bcc905be9f47ae89
- 97f387a2b47303ca475eeab466a0d9f4bc64554b82c55a00f2da4cea431aaa03
- c875c6a19505c6a04cbeba85baad5d9432efd930d920eebb72413d6642a33d3f
- 4ebd23d9533cf2c5b63ec4dc6b6f83df742c473d7d108dd70b9947d014a4ec45
- de78a9bdb410bd9850b4d1197442e263cfb7f3a112917aa40f76a5c50f5ae64c
- b23fb2ac9a531848ef30e960fdd3174ae970f84b42a2adec1bb34329879acd96
- b7024f86fac5844692b7e5c859e91c721a8279ee60880cafe9479476559bd9fa
- 7107ffa0816d059147381b63ee31d66b4ad9b6af77ed409c05994fc2eb5c597d
- 1e1144a17959632ccce43025f4addc4adea7c0c225bac529f99b501604b96b53
- 3697fe13197519a9838584a17ed612ae08d9c603d56340df13c42fb971ddbca4
- d357fa261223596406a931867f84f1aefaa4ff8556257a005e0d5061c6b5e8cf
- a85066ac413255ea51260e8c690b7a4fe8602ceb628e7d2fa6803ccafa02c9c8
- a9850ec702c480ab9ed2bbee16f8ffea2fa1e60da5f68f0f51b051699a3551de
- cd784b2b6317748241bc8f5192d5d3e734cc8747b61955485a859faad4be151b
- f67ba1abdbf107f5f18db505ea5c5b588bd4fbdd9c589991a643db0da1204f4b
- 8de924873919f06468f58d8a1dae8e9d2886d3705aa59b2dc7d30b9659a5327a
- 8b2b9ec349e0e562b7e681f8b9c910256c46953c1cd12f131d7e6f04469954f6
- 5ddd93aff16c17626a170fd0a5c95a72e9ab7bcaeaff67f36445ddd21100f42d
- 7bbeb6237a36f375cf78820e59dc61e619854bcf031852a5e8201b783176deac
- f77a1a325100e9f4bd84eeba002b35b63bad535b723ce854b0ce85e63776de38
- bf1573cca7b0892ca234a5bb2e44646ba997c0be8051017f35ae217aa7f60bdb
- 671bb222053b1fa8bb609095e518392dd3cb1ce2dde780ed34441118324cb551
- 6c4c7032d76b31bb76abfae5c5e288bd0a82bbcf7d9bf8aa9197bea687c86a46
- 4195b95b23a643925488e969accb294d1c056247ccfec745748d6ee0b0c94851
- ebaa54f3a992514bbf54bce4ab82743390c715a81343739948efd0ac3ca33599
- 868b30b8b311aed6c74b8d5fc05b7c4a0f32f56602b594229ddcadff2733a1f3
- 75f7542f8d3d49cf4e16023fae32a329fa8e804c90bae236a6415a4a045f6ce0
- ea857d827ee2cc580fae43772648cc410c1bcd4c8612cff9a3a7d11b04e54725
- 25716f39d2d7d25f448dc9a68270f51124f1d234f0b9482743dcc0c1a00fa8b1
- 42d52c4ce57e8cae43667faf7600e98d085b0ab713e7607bc1dae1f34932be67
- 5319b79f719dd27e45ecca54d29482d6558f41947db5c4ec4b70c3e25bb8f55a
- 88bcbfa7a2b006b93fd715810661b464e7b150006f046a94e6c03d2e067ae7e3
- 838d84317a7c51c13329c919d4479396b30233136b70fe025faf968b916ba1c1
- 5f686f697c1093c45ef882c3feb1def6064f458d5ae75a74962375b91c6027d5
- 9f9a7a4e6d73698fdc623384a666e677ce2d32990bc69e16aa631a34371cdf78
- 0ba4499c5805a83172e5dcbdc8fd8e464824827f94ed1849d9a1797a9b386e00
- 41f65c5307ec97310b33ace466439e4abf008d461be3835f545e4194e6c54940
- edd966278b660bb280e8e319300e18652ce2ef0fca5baeeb72696b5fd2a03d69
- 13d667aaf3338da21355c042b3a07567553ee48bf0dc071f9a55ef49451de21c"
+checksum="763ecf76a44d2b3a54d5322e8b8e9bb114e614994c86890cd90161677d120c8f
+ 90c7fe80a2339167fc69786734b967aece2a421621d36e752e54b2f147ff5ac6
+ c24e9594c7986403eb27dbce84bdc010a65eabbd13f793b84c2dd0d5a791a045
+ 76ab351b7df17be4f76908cd02577827e7cc06aaaaad99972f3d1b906ad7bdc6
+ 6f1d4d0f84a59c0aae37540f4225a3d14707d19dd95059559984055f521d1d92
+ cbe526d246f970cb26fc172fc104944c6749af5cf92925fc1383e363e89818cb
+ 2280827dd24eac6ef5b6b3d26cc82c74df5e346db22130c4e15869020cac1cbd
+ 117265f83d6d2abee57d67d4366c5fbcf237b88475014ab1d6800ce9029636b8
+ 14c370c300bdcda24f949c14853ea05b53e2413c62cece006bb91002494b38a6
+ c75f11e26056438f605eecab7a95acba3101b47b5cba32e177a6173a354b5a14
+ 3c395f4c1cf283f5950311c7182af4ecb1d5b668418cbfac90de3f015b6b223d
+ b8a5afb77f711d847c017af81fecad2c102db8d4dc0d223c6c5119687079c565
+ cdac954f7cb0736a3c701ba0a6e49ed3522f682c107a7d24c1f859af96dce4e7
+ 7508672b2bc98aedd26aa9c49eb2be7df6552a086ca5702b2af874f3555374ef
+ 047748a9a21d0c21f5fe360adeb9299a6b874270c7f2df42127569d741c02faf
+ 5c65be46b938078e5af84d77c13e82da223583cb6c7f0679a73246907703780a
+ 84d6022cad46dadeeb61bddf5714109d97f4be2d224e611d9afb5cf0d728e19a
+ 89970c0013af482caa047a5aabb7e39b9b74823fd709fd1baf09fdaa4520319d
+ c24be69ddc835f8ad3377f0bb5604e3c46e20c7e79b6ff79e10e2435ae436cf7
+ 80ccf123395143ad02142b6ed57b7d0def4be401295f14b0c0a5e43880188069
+ 70a52a4d76027b5c64c8f001d1aa72bb941efeba506df1c59227e914358439fe
+ ec3ee11773bd113db7fb0b885d159b2ed07fe18aacde20bd34f89b357af8df21
+ 7b03988df8873d38150fbbe9d942d34f81fa5c9363bd2216eeae2063b8a21db1
+ becb5b92c7e13eea5df575eb302e61adff21031b1be78250749a68ab63b15091
+ a246120edab5f932b8b9e9713271f42405d98ed6accb51ec649deab60f282f46
+ fbe2053c5ed5e59b0060f54b57701ae52562c8d7317a4ee08ea594df9c17dfa7
+ f18cb6d815e71227f04f970b701938314c95986c77f851ab84c78d4271cca49f
+ 7d18915e61eebe1d40565894df123a052fa6fbc50b3b2aa164c8396d38900ed1
+ 58fd300c3311ad8561b3ace4e1c74f96a1c555e57309f93410352c3a00df7995
+ b2fc772da6797da6eeed3b59ce71de88d8d2ee8ad1eab04bfc4ba0e309a97585
+ 8f3abdef87aceca654d854bc6e44d58529e87a0a28143666632b1ba42d44beba
+ adc08563d795237dfdbb90403437a3bb4364a69c1d0dd26b51d9832f92b495f6
+ f6a36d9a6abb4ef0b882de8e21bd38ca97126e15878bec3bee71b4270e175ce2
+ 0bd16c6b6daeffdef453e707d964552d2d4231473899b1da663f4b0239da4656
+ 3092e0702fa73a88fdec62e940a0acbb10389492567284bbec61dbaac7b582a8
+ 1a9c60f416e199cb083ee17b2e2a9111c9805bcf02011238bec4358a9c89e5e2
+ 858ec83056086d82da01047afaf27b814f4a9e30a16e98d2e2169183456b9918
+ bcea6f19e2ed267cbbcb2af58c712c1f61c80cfd71648b3b429bc5fe90df782f
+ 3cfe8d3ede3a4152066ec6260c917523fb4204eb5fdaf1e39a852a7b472fa827
+ a0ca5462f423174c253203031c7bdb706d02218aa95a0e71ba0eb3f25fc04623
+ a403c787aacf92cd9c0b91da7fb1e8b5139044cfb38b2a78389105063a309b67
+ 71e39bee0aaad11dcbd8191fab6db5749c3527ab3c229209edb70cde77e1dace
+ e682542a6ac38290cab79f965362ba879883eb0d220c2f1c80f0be649d39ced5
+ 4279d5107fe04bf2edaeb9df5ec0d512c1e9e3f42fa372f5513d7cf44dedad0e
+ c7fcdccb3150b1aaf53bf7396a5f03a47b894887a641872a2965aab8bd9c4f14
+ d6a93e2a5e79abf53b20b15b98187107c844ce27b66aeeb9b5da73a50a32d0a3
+ 2bfded1726ec739b87c2602848d1ea7a0a54937d15fa95b14d02ab77d3902563
+ d149ffb9f2bfab4d737774bedfea7e84961c5ba5aeab014d7f5bc4c3aeed873e
+ f323512055f2303ae6551970bcf8e2e50ec4bc2f2784b43425b2b125f75a2c49
+ 985dc31719df761f6f54cd9a55cb93e9b9ad66ecf948bad50cdaae3e56da3a2a
+ 5d9e6b1e67271ddf0c450f50e779b300dc0d4d7c87a4ae023c06fdbf9c2a5ec8
+ 3a23464ec71cff192e28221d0479e544442b1a3319506b0300fc833496cdfda9
+ b8f9ef8d7b7d975938753b496f055432278809373bae5986d3fb91c77731faff
+ c747bce8fa7d7716b85b93d4298eae070fe01f7fb44315971f36e4c46d4f011d
+ 20ceeeb13e2314557c83cde1c51ecf05c97dc0c41e4259bc05dc7ce29a6e6405
+ a7aa285bf26386a9014b5ac0219bb607310bae9def2d25ecc045a2b5ea982f7b
+ 941c35311029cc3b305e87faad98d70c67255fad57b619e0c3f9523cf8b9a532
+ cf9ce609fb63ba746a4d849d8d6172ed3eb7f7b4fd7248c57347eb3aad0e32bc
+ 501cc2da15fad009958bc2275165cbcaacf1eaf5b9a9454b3e7d1190c193e451
+ bf0add852e330033d01d5dbce3b9f6ffd5f04565f5c03b15e841100c5c7ada8d
+ 33862d7c35638859d8a83e0b3fc259caa1ff82d60983de88c6457d7eca5b3617
+ b9e2b4c117f2038672ae03a3433332bead5efa8a6a662ac7856c253c1206106b
+ 09e0fab3f0c40776ee6a60c6c6abce7d6b7511427e7cf24d947ae0a4d48d8c5d
+ 50b3981dea4da521000e19e99a1ebb24484b49656a5b5748cd24aa1114861076
+ 5bf6e2b8c821d20c561359b1645991a2a7820c583f44a3d8205ee077fb012b4d
+ 83f4e62f15da5f6fc88873304fd918fec18072982e599c071d1417fa8a5f94f1"

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PR PATCH] [Updated] thunderbird: update to 102.11.0
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (7 preceding siblings ...)
  2023-05-12 12:06 ` [PR PATCH] [Updated] thunderbird: update to 102.11.0 pascal-huber
@ 2023-06-09  9:07 ` pascal-huber
  2023-06-09  9:08 ` pascal-huber
                   ` (23 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: pascal-huber @ 2023-06-09  9:07 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 658 bytes --]

There is an updated pull request by pascal-huber against master on the void-packages repository

https://github.com/pascal-huber/void-packages thunderbird
https://github.com/void-linux/void-packages/pull/43607

thunderbird: update to 102.11.0
[ci skip]

#### Testing the changes
- I tested the changes in this PR: **briefly**

#### Local build testing
- I built this PR locally for my native architecture, x86_64-glibc
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - armv7l (crossbuild)
  - x86_64-musl (crossbuild)


A patch file from https://github.com/void-linux/void-packages/pull/43607.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-thunderbird-43607.patch --]
[-- Type: text/x-diff, Size: 28682 bytes --]

From 3aef522f5a12712fe3e175ded007caec07909d8a Mon Sep 17 00:00:00 2001
From: Pascal Huber <pascal.huber@resolved.ch>
Date: Wed, 26 Apr 2023 12:09:15 +0200
Subject: [PATCH 1/2] thunderbird: update to 102.12.0

---
 .../thunderbird/patches/flac-no-ffvpx.patch   |   3 +-
 srcpkgs/thunderbird/patches/lto-thin.patch    |  21 +-
 srcpkgs/thunderbird/patches/mallinfo.patch    |  24 +-
 srcpkgs/thunderbird/patches/python3.11.patch  | 238 ------------------
 .../thunderbird/patches/rust-configure.patch  |  20 +-
 .../thunderbird/patches/sandbox-fork.patch    |  11 +-
 srcpkgs/thunderbird/template                  |   6 +-
 7 files changed, 47 insertions(+), 276 deletions(-)
 delete mode 100644 srcpkgs/thunderbird/patches/python3.11.patch

diff --git a/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch b/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
index ebf48deb9720..2e475e8c6940 100644
--- a/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
+++ b/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
@@ -12,7 +12,7 @@ index 53fc3c9937f7..b23771ab80fa 100644
  
  namespace mozilla {
  
-@@ -14,6 +15,10 @@ namespace mozilla {
+@@ -14,5 +15,9 @@ namespace mozilla {
  bool FlacDecoder::IsEnabled() {
  #ifdef MOZ_FFVPX
    return StaticPrefs::media_flac_enabled();
@@ -21,5 +21,4 @@ index 53fc3c9937f7..b23771ab80fa 100644
 +  return StaticPrefs::media_flac_enabled() &&
 +         platform->SupportsMimeType("audio/flac"_ns);
  #else
-   // Until bug 1295886 is fixed.
    return false;
diff --git a/srcpkgs/thunderbird/patches/lto-thin.patch b/srcpkgs/thunderbird/patches/lto-thin.patch
index e85cbce36583..17cd0a5e9458 100644
--- a/srcpkgs/thunderbird/patches/lto-thin.patch
+++ b/srcpkgs/thunderbird/patches/lto-thin.patch
@@ -1,15 +1,18 @@
-$OpenBSD: patch-config_makefiles_rust_mk,v 1.6 2021/01/26 15:52:58 landry Exp $
+This patch is a modified version of the OpenBSD patch
 
-use lto=thin to reduce memory pressure when building gkrust
+try to consume less memory when linking gkrust with debug symbols ?
+
+openbsd patch: https://github.com/openbsd/ports/blob/master/mail/mozilla-thunderbird/patches/patch-config_makefiles_rust_mk
 https://bugzilla.mozilla.org/show_bug.cgi?id=1644409
 https://bugzilla.mozilla.org/show_bug.cgi?id=1640982
-
-Index: config/makefiles/rust.mk
---- a/config/makefiles/rust.mk.orig
-+++ a/config/makefiles/rust.mk
-@@ -70,7 +70,8 @@ ifndef MOZ_DEBUG_RUST
- # gkrust_gtest. And not when doing cross-language LTO.
- ifndef MOZ_LTO_RUST_CROSS
+---
+diff --git a/config/makefiles/rust.mk b/config/makefiles/rust.mk
+index a243ee5f7f..89593f1fe1 100644
+--- a/config/makefiles/rust.mk
++++ b/config/makefiles/rust.mk
+@@ -90,7 +90,8 @@ ifndef rustflags_sancov
+ # Never enable when coverage is enabled to work around https://github.com/rust-lang/rust/issues/90045.
+ ifndef MOZ_CODE_COVERAGE
  ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE)))
 -cargo_rustc_flags += -Clto
 +cargo_rustc_flags += -Clto=thin
diff --git a/srcpkgs/thunderbird/patches/mallinfo.patch b/srcpkgs/thunderbird/patches/mallinfo.patch
index 0d704301f39f..a3b3e1cb53ac 100644
--- a/srcpkgs/thunderbird/patches/mallinfo.patch
+++ b/srcpkgs/thunderbird/patches/mallinfo.patch
@@ -1,14 +1,16 @@
---- a/xpcom/base/nsMemoryReporterManager.cpp	2019-03-19 17:12:20.844810044 +0100
-+++ b/xpcom/base/nsMemoryReporterManager.cpp	2019-03-19 17:13:32.505133615 +0100
-@@ -123,6 +123,7 @@
-   return GetProcSelfSmapsPrivate(aN);
+diff --git a/xpcom/base/nsMemoryReporterManager.cpp b/xpcom/base/nsMemoryReporterManager.cpp
+index 30bc60e01a..caf9f740d2 100644
+--- a/xpcom/base/nsMemoryReporterManager.cpp
++++ b/xpcom/base/nsMemoryReporterManager.cpp
+@@ -127,6 +127,7 @@ using namespace dom;
+   return GetProcSelfSmapsPrivate(aN, aPid);
  }
  
 +#ifdef __GLIBC__
  #  ifdef HAVE_MALLINFO
  #    define HAVE_SYSTEM_HEAP_REPORTER 1
- static MOZ_MUST_USE nsresult SystemHeapSize(int64_t* aSizeOut) {
-@@ -142,6 +143,7 @@
+ [[nodiscard]] static nsresult SystemHeapSize(int64_t* aSizeOut) {
+@@ -146,6 +147,7 @@ using namespace dom;
    return NS_OK;
  }
  #  endif
@@ -16,16 +18,16 @@
  
  #elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
      defined(__OpenBSD__) || defined(__FreeBSD_kernel__)
-@@ -642,6 +644,7 @@
+@@ -653,6 +655,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr, cpu_type_t aType) {
    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;
+ // Windows can have multiple separate heaps, but we should not touch non-default
+ // heaps because they may be destroyed at anytime while we hold a handle.  So we
+@@ -685,6 +688,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr, cpu_type_t aType) {
+   *aSizeOut = heapSize;
    return NS_OK;
  }
 +#endif // __GLIBC__
diff --git a/srcpkgs/thunderbird/patches/python3.11.patch b/srcpkgs/thunderbird/patches/python3.11.patch
deleted file mode 100644
index 2facee5ebb2b..000000000000
--- a/srcpkgs/thunderbird/patches/python3.11.patch
+++ /dev/null
@@ -1,238 +0,0 @@
-Patch-Source: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267709
-Patch-Source: https://hg.mozilla.org/mozilla-central/rev/f54162b2c1f2fe52c6137ab2c3469a1944f58b27
---- a/xpcom/idl-parser/xpidl/xpidl.py
-+++ b/xpcom/idl-parser/xpidl/xpidl.py
-@@ -1633,13 +1633,13 @@ class IDLParser(object):
-     t_ignore = " \t"
- 
-     def t_multilinecomment(self, t):
--        r"/\*(?s).*?\*/"
-+        r"/\*(\n|.)*?\*/"
-         t.lexer.lineno += t.value.count("\n")
-         if t.value.startswith("/**"):
-             self._doccomments.append(t.value)
- 
-     def t_singlelinecomment(self, t):
--        r"(?m)//.*?$"
-+        r"//[^\n]*"
- 
-     def t_IID(self, t):
-         return t
-@@ -1652,7 +1652,7 @@ class IDLParser(object):
-         return t
- 
-     def t_LCDATA(self, t):
--        r"(?s)%\{[ ]*C\+\+[ ]*\n(?P<cdata>.*?\n?)%\}[ ]*(C\+\+)?"
-+        r"%\{[ ]*C\+\+[ ]*\n(?P<cdata>(\n|.)*?\n?)%\}[ ]*(C\+\+)?"
-         t.type = "CDATA"
-         t.value = t.lexer.lexmatch.group("cdata")
-         t.lexer.lineno += t.value.count("\n")
-
-
-# HG changeset patch
-# User ahochheiden <ahochheiden@mozilla.com>
-# Date 1654151264 0
-# Node ID f54162b2c1f2fe52c6137ab2c3469a1944f58b27
-# Parent  6e7776492240c27732840d65a33dcc440fa1aba0
-Bug 1769631 - Remove 'U' from 'mode' parameters for various 'open' calls to ensure Python3.11 compatibility r=firefox-build-system-reviewers,glandium
-
-The 'U' flag represents "universal newline". It has been deprecated
-since Python3.3. Since then "universal newline" is the default when a
-file is opened in text mode (not bytes). In Python3.11 using the 'U'
-flag throws errors. There should be no harm in removing 'U' from 'open'
-everywhere it is used, and doing allows the use of Python3.11.
-
-For more reading see: https://docs.python.org/3.11/whatsnew/3.11.html#changes-in-the-python-api
-
-Differential Revision: https://phabricator.services.mozilla.com/D147721
-
-diff --git a/dom/base/usecounters.py b/dom/base/usecounters.py
---- a/dom/base/usecounters.py
-+++ b/dom/base/usecounters.py
-@@ -3,17 +3,17 @@
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
- 
- import collections
- import re
- 
- 
- def read_conf(conf_filename):
-     # Can't read/write from a single StringIO, so make a new one for reading.
--    stream = open(conf_filename, "rU")
-+    stream = open(conf_filename, "r")
- 
-     def parse_counters(stream):
-         for line_num, line in enumerate(stream):
-             line = line.rstrip("\n")
-             if not line or line.startswith("//"):
-                 # empty line or comment
-                 continue
-             m = re.match(r"method ([A-Za-z0-9]+)\.([A-Za-z0-9]+)$", line)
-diff --git a/python/mozbuild/mozbuild/action/process_define_files.py b/python/mozbuild/mozbuild/action/process_define_files.py
---- a/python/mozbuild/mozbuild/action/process_define_files.py
-+++ b/python/mozbuild/mozbuild/action/process_define_files.py
-@@ -31,17 +31,17 @@ def process_define_file(output, input):
- 
-     config = PartialConfigEnvironment(topobjdir)
- 
-     if mozpath.basedir(
-         path, [mozpath.join(topsrcdir, "js/src")]
-     ) and not config.substs.get("JS_STANDALONE"):
-         config = PartialConfigEnvironment(mozpath.join(topobjdir, "js", "src"))
- 
--    with open(path, "rU") as input:
-+    with open(path, "r") as input:
-         r = re.compile(
-             "^\s*#\s*(?P<cmd>[a-z]+)(?:\s+(?P<name>\S+)(?:\s+(?P<value>\S+))?)?", re.U
-         )
-         for l in input:
-             m = r.match(l)
-             if m:
-                 cmd = m.group("cmd")
-                 name = m.group("name")
-diff --git a/python/mozbuild/mozbuild/backend/base.py b/python/mozbuild/mozbuild/backend/base.py
---- a/python/mozbuild/mozbuild/backend/base.py
-+++ b/python/mozbuild/mozbuild/backend/base.py
-@@ -267,17 +267,17 @@ class BuildBackend(LoggingMixin):
-         If an exception is raised, |mach build| will fail with a
-         non-zero exit code.
-         """
-         self._write_purgecaches(config)
- 
-         return status
- 
-     @contextmanager
--    def _write_file(self, path=None, fh=None, readmode="rU"):
-+    def _write_file(self, path=None, fh=None, readmode="r"):
-         """Context manager to write a file.
- 
-         This is a glorified wrapper around FileAvoidWrite with integration to
-         update the summary data on this instance.
- 
-         Example usage:
- 
-             with self._write_file('foo.txt') as fh:
-diff --git a/python/mozbuild/mozbuild/preprocessor.py b/python/mozbuild/mozbuild/preprocessor.py
---- a/python/mozbuild/mozbuild/preprocessor.py
-+++ b/python/mozbuild/mozbuild/preprocessor.py
-@@ -526,17 +526,17 @@ class Preprocessor:
-             if not options.output:
-                 raise Preprocessor.Error(
-                     self, "--depend doesn't work with stdout", None
-                 )
-             depfile = get_output_file(options.depend)
- 
-         if args:
-             for f in args:
--                with io.open(f, "rU", encoding="utf-8") as input:
-+                with io.open(f, "r", encoding="utf-8") as input:
-                     self.processFile(input=input, output=out)
-             if depfile:
-                 mk = Makefile()
-                 mk.create_rule([six.ensure_text(options.output)]).add_dependencies(
-                     self.includes
-                 )
-                 mk.dump(depfile)
-                 depfile.close()
-@@ -855,17 +855,17 @@ class Preprocessor:
-         self.checkLineNumbers = False
-         if isName:
-             try:
-                 args = _to_text(args)
-                 if filters:
-                     args = self.applyFilters(args)
-                 if not os.path.isabs(args):
-                     args = os.path.join(self.curdir, args)
--                args = io.open(args, "rU", encoding="utf-8")
-+                args = io.open(args, "r", encoding="utf-8")
-             except Preprocessor.Error:
-                 raise
-             except Exception:
-                 raise Preprocessor.Error(self, "FILE_NOT_FOUND", _to_text(args))
-         self.checkLineNumbers = bool(
-             re.search("\.(js|jsm|java|webidl)(?:\.in)?$", args.name)
-         )
-         oldFile = self.context["FILE"]
-@@ -909,17 +909,17 @@ class Preprocessor:
- 
-     def do_error(self, args):
-         raise Preprocessor.Error(self, "Error: ", _to_text(args))
- 
- 
- def preprocess(includes=[sys.stdin], defines={}, output=sys.stdout, marker="#"):
-     pp = Preprocessor(defines=defines, marker=marker)
-     for f in includes:
--        with io.open(f, "rU", encoding="utf-8") as input:
-+        with io.open(f, "r", encoding="utf-8") as input:
-             pp.processFile(input=input, output=output)
-     return pp.includes
- 
- 
- # Keep this module independently executable.
- if __name__ == "__main__":
-     pp = Preprocessor()
-     pp.handleCommandLine(None, True)
-diff --git a/python/mozbuild/mozbuild/util.py b/python/mozbuild/mozbuild/util.py
---- a/python/mozbuild/mozbuild/util.py
-+++ b/python/mozbuild/mozbuild/util.py
-@@ -231,17 +231,17 @@ class FileAvoidWrite(BytesIO):
-     enabled by default because it a) doesn't make sense for binary files b)
-     could add unwanted overhead to calls.
- 
-     Additionally, there is dry run mode where the file is not actually written
-     out, but reports whether the file was existing and would have been updated
-     still occur, as well as diff capture if requested.
-     """
- 
--    def __init__(self, filename, capture_diff=False, dry_run=False, readmode="rU"):
-+    def __init__(self, filename, capture_diff=False, dry_run=False, readmode="r"):
-         BytesIO.__init__(self)
-         self.name = filename
-         assert type(capture_diff) == bool
-         assert type(dry_run) == bool
-         assert "r" in readmode
-         self._capture_diff = capture_diff
-         self._write_to_file = not dry_run
-         self.diff = None
-diff --git a/python/mozbuild/mozpack/files.py b/python/mozbuild/mozpack/files.py
---- a/python/mozbuild/mozpack/files.py
-+++ b/python/mozbuild/mozpack/files.py
-@@ -549,17 +549,17 @@ class PreprocessedFile(BaseFile):
-         self.defines = defines
-         self.extra_depends = list(extra_depends or [])
-         self.silence_missing_directive_warnings = silence_missing_directive_warnings
- 
-     def inputs(self):
-         pp = Preprocessor(defines=self.defines, marker=self.marker)
-         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
- 
--        with _open(self.path, "rU") as input:
-+        with _open(self.path, "r") as input:
-             with _open(os.devnull, "w") as output:
-                 pp.processFile(input=input, output=output)
- 
-         # This always yields at least self.path.
-         return pp.includes
- 
-     def copy(self, dest, skip_if_older=True):
-         """
-@@ -606,17 +606,17 @@ class PreprocessedFile(BaseFile):
-             return False
- 
-         deps_out = None
-         if self.depfile:
-             deps_out = FileAvoidWrite(self.depfile)
-         pp = Preprocessor(defines=self.defines, marker=self.marker)
-         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
- 
--        with _open(self.path, "rU") as input:
-+        with _open(self.path, "r") as input:
-             pp.processFile(input=input, output=dest, depfile=deps_out)
- 
-         dest.close()
-         if self.depfile:
-             deps_out.close()
- 
-         return True
- 
-
diff --git a/srcpkgs/thunderbird/patches/rust-configure.patch b/srcpkgs/thunderbird/patches/rust-configure.patch
index 61fb2ba891d9..b5ff2987008c 100644
--- a/srcpkgs/thunderbird/patches/rust-configure.patch
+++ b/srcpkgs/thunderbird/patches/rust-configure.patch
@@ -6,9 +6,11 @@ instead use what is set in RUST_TARGET
 
 Skip extra checks on cross builds (broken for arm*)
 
---- a/build/moz.configure/rust.configure	2020-12-12 01:35:33.000000000 +0100
-+++ b/build/moz.configure/rust.configure	2020-12-15 19:45:16.467750787 +0100
-@@ -91,9 +91,6 @@
+diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure
+index e64dc5d5ec..c4778f8cc8 100644
+--- a/build/moz.configure/rust.configure
++++ b/build/moz.configure/rust.configure
+@@ -91,9 +91,6 @@ def unwrap_rustup(prog, name):
      return unwrap
  
  
@@ -18,7 +20,7 @@ Skip extra checks on cross builds (broken for arm*)
  
  set_config("CARGO", cargo)
  set_config("RUSTC", rustc)
-@@ -260,7 +257,9 @@
+@@ -274,7 +271,9 @@ def rust_supported_targets(rustc):
          data.setdefault(key, []).append(namespace(rust_target=t, target=info))
      return data
  
@@ -29,24 +31,26 @@ Skip extra checks on cross builds (broken for arm*)
  def detect_rustc_target(
      host_or_target, compiler_info, arm_target, rust_supported_targets
  ):
-@@ -382,12 +381,12 @@
+@@ -396,12 +395,14 @@ def detect_rustc_target(
  
          return None
  
 -    rustc_target = find_candidate(candidates)
 +    rustc_target = os.environ['RUST_TARGET']
++
  
      if rustc_target is None:
          die("Don't know how to translate {} for rustc".format(host_or_target.alias))
  
 -    return rustc_target
 +    return ensure_unicode(rustc_target, system_encoding)
++
  
  
  @imports("os")
-@@ -410,35 +409,6 @@
+@@ -423,35 +424,6 @@ def assert_rust_compile(host_or_target, rustc_target, rustc):
  
-         os.write(in_fd, ensure_binary(source))
+         os.write(in_fd, source)
          os.close(in_fd)
 -
 -        cmd = [
@@ -80,7 +84,7 @@ Skip extra checks on cross builds (broken for arm*)
      finally:
          os.remove(in_path)
          os.remove(out_path)
-@@ -462,28 +432,7 @@
+@@ -475,28 +447,7 @@ def rust_host_triple(
          host, compiler_info, arm_target, rust_supported_targets
      )
      if rustc_target != rustc_host:
diff --git a/srcpkgs/thunderbird/patches/sandbox-fork.patch b/srcpkgs/thunderbird/patches/sandbox-fork.patch
index d4584e74b91c..a8cb89394f87 100644
--- a/srcpkgs/thunderbird/patches/sandbox-fork.patch
+++ b/srcpkgs/thunderbird/patches/sandbox-fork.patch
@@ -1,8 +1,8 @@
-make SYS_fork non-fatal, musl uses it for fork(2)
-
+diff --git a/security/sandbox/linux/SandboxFilter.cpp b/security/sandbox/linux/SandboxFilter.cpp
+index 20e9b59685..e053580992 100644
 --- a/security/sandbox/linux/SandboxFilter.cpp
 +++ b/security/sandbox/linux/SandboxFilter.cpp
-@@ -1420,6 +1420,10 @@
+@@ -1598,6 +1598,11 @@ class ContentSandboxPolicy : public SandboxPolicyCommon {
          // usually do something reasonable on error.
        case __NR_clone:
          return ClonePolicy(Error(EPERM));
@@ -10,6 +10,7 @@ make SYS_fork non-fatal, musl uses it for fork(2)
 +      case __NR_fork:
 +        return Error(ENOSYS);
 +#  endif
++
  
- #  ifdef __NR_fadvise64
-       case __NR_fadvise64:
+       case __NR_clone3:
+         return Error(ENOSYS);
diff --git a/srcpkgs/thunderbird/template b/srcpkgs/thunderbird/template
index ec3fa3d4c35f..b388649dd835 100644
--- a/srcpkgs/thunderbird/template
+++ b/srcpkgs/thunderbird/template
@@ -3,15 +3,15 @@
 # THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/thunderbird-i18n".
 #
 pkgname=thunderbird
-version=102.6.1
-revision=3
+version=102.12.0
+revision=1
 build_helper="rust"
 short_desc="Standalone Mail/News reader"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="MPL-2.0, GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.thunderbird.net/"
 distfiles="${MOZILLA_SITE}/${pkgname}/releases/${version}/source/${pkgname}-${version}.source.tar.xz"
-checksum=8b8cb5d7532ad8ee65061d2f284ae9f0470e7614dfcfc3c37ca945bcb96d1183
+checksum=5aa776b75dd47e77303185033c2c443a425488d28ced5c6e29e5bd64e7ac5afe
 
 lib32disabled=yes
 

From cbeb82887483a607bec8bf5b3b27f614c3ef1e27 Mon Sep 17 00:00:00 2001
From: Pascal Huber <pascal.huber@resolved.ch>
Date: Wed, 26 Apr 2023 12:09:25 +0200
Subject: [PATCH 2/2] thunderbird-i18n: udpate to 102.12.0

---
 srcpkgs/thunderbird-i18n/template | 135 +++++++++++++++---------------
 1 file changed, 67 insertions(+), 68 deletions(-)

diff --git a/srcpkgs/thunderbird-i18n/template b/srcpkgs/thunderbird-i18n/template
index 17830bddd777..c96f6f44176e 100644
--- a/srcpkgs/thunderbird-i18n/template
+++ b/srcpkgs/thunderbird-i18n/template
@@ -1,6 +1,6 @@
 # Template file for 'thunderbird-i18n'
 pkgname=thunderbird-i18n
-version=102.6.1
+version=102.12.0
 revision=1
 build_style=meta
 short_desc="Thunderbird language packs"
@@ -106,70 +106,69 @@ _pkgtmpl() {
 			usr/lib/thunderbird/extensions langpack-${_lang}@thunderbird.mozilla.org.xpi
 	}
 }
-
-checksum="5935be82bcbd313b58520d95b04dc32c462e47df88f9724bb31b21686f8b4b77
- 142c0bd4d67b03320db94ae8002c8d67d9bc481a7ad728efa17ba7ae09e9a971
- 5547af80c73146c9892ad2dcd7fb5c6616c9a3a5b49868a23f03914ae2da1537
- e6f34bb2a5412ef9127aacd87823c84ca2881d47b15a45a96751a7557d1e0398
- cb35b936f2db79a897e1372ea34a1fb8237885030446f29269b940c0f221d733
- ada9c925979d25cb0e1549d20466b7e22653931715dd1a7fe85ca835caddf7f7
- 9b92561b20face8de88a77a579afa6d1404f55c69340993508fcc3153e1bd70b
- 64db6133cc87197cb793e0e33b72345bc30dabf862a06f7574321ea783c54645
- db622d082616525302f8d32b9f41793804d51495d1a7b1f62125ed9daedd3fb2
- 919ccec7292a6cf9ccce66fc7a91bbae2a3f93d965ecb4237380256cc8c344dd
- f160cb1db40b31815096c0c58f9aa75213e294600c12fef2d2deb741e24e22dd
- ce4e51c46cb0860c2671606ef94bff741b2e3d5e70e485b9c5c90d0e481cc5b2
- 05a552baec6b12b7e3f9270a628ff6a3fe62ec17c232f905465317e85e40e731
- 6bc18f1db7d0233c9d3bc0cf277234322845d309918681636c30a2c131bd90e9
- a7cc9b51e57b4de49f958cf1ea47d526e6873318fba96b52ee42d541a2e35902
- bf1fac8be9eca95bdbc9f8542445301e146148afe69b40a4ea41bfdf64ab1034
- 85e3c40c5ef6bd2fdbf9951304bec1f17e2f7a212abdf20cf103a5e7b73f2be9
- 6489211d465c053182484faae07c708e076b82a88d0ebecfda071f4bb41b5677
- f0d0d4a58d6bac842c28bee253e6d5906e582b359173fdeedb6d4c40f0b9a4c8
- 4e3da06699c1cc87b735ef9d181f8cc33c989f44840d02c9b9e5dfd893a8c05e
- 0dcabb9158d29001082801b1703946b1df9e22653fc7c66c9a725f102f2ada00
- 1e3ee2f9d0291ec2aa0a2d5939ca3074d6b6a7da533186e227da1d3cc2cc7974
- ab7931be527b56dea1939b048030647e4311b0c0eaa23b7843f3baab180801ba
- a592cfeb20a346ad8b24facca3f0da2c5fdd65156aafea67b0c3793bb99ab0a1
- 32740a1261d43b6bec2b99e2da64bdf201c60b1d0651a5a5db548e1180cf5fb1
- e9e669a9917eab86af336c1d149910cb8606e21708c2b5707d87452c455905b0
- 777d625c67cbe9e710ac7fffda880e0a1fb523f8cafc6ac2c3b227b2d5de38f5
- 63728cede6b88d8352b9398c675c4537527de00ee8a0e120bcc905be9f47ae89
- 97f387a2b47303ca475eeab466a0d9f4bc64554b82c55a00f2da4cea431aaa03
- c875c6a19505c6a04cbeba85baad5d9432efd930d920eebb72413d6642a33d3f
- 4ebd23d9533cf2c5b63ec4dc6b6f83df742c473d7d108dd70b9947d014a4ec45
- de78a9bdb410bd9850b4d1197442e263cfb7f3a112917aa40f76a5c50f5ae64c
- b23fb2ac9a531848ef30e960fdd3174ae970f84b42a2adec1bb34329879acd96
- b7024f86fac5844692b7e5c859e91c721a8279ee60880cafe9479476559bd9fa
- 7107ffa0816d059147381b63ee31d66b4ad9b6af77ed409c05994fc2eb5c597d
- 1e1144a17959632ccce43025f4addc4adea7c0c225bac529f99b501604b96b53
- 3697fe13197519a9838584a17ed612ae08d9c603d56340df13c42fb971ddbca4
- d357fa261223596406a931867f84f1aefaa4ff8556257a005e0d5061c6b5e8cf
- a85066ac413255ea51260e8c690b7a4fe8602ceb628e7d2fa6803ccafa02c9c8
- a9850ec702c480ab9ed2bbee16f8ffea2fa1e60da5f68f0f51b051699a3551de
- cd784b2b6317748241bc8f5192d5d3e734cc8747b61955485a859faad4be151b
- f67ba1abdbf107f5f18db505ea5c5b588bd4fbdd9c589991a643db0da1204f4b
- 8de924873919f06468f58d8a1dae8e9d2886d3705aa59b2dc7d30b9659a5327a
- 8b2b9ec349e0e562b7e681f8b9c910256c46953c1cd12f131d7e6f04469954f6
- 5ddd93aff16c17626a170fd0a5c95a72e9ab7bcaeaff67f36445ddd21100f42d
- 7bbeb6237a36f375cf78820e59dc61e619854bcf031852a5e8201b783176deac
- f77a1a325100e9f4bd84eeba002b35b63bad535b723ce854b0ce85e63776de38
- bf1573cca7b0892ca234a5bb2e44646ba997c0be8051017f35ae217aa7f60bdb
- 671bb222053b1fa8bb609095e518392dd3cb1ce2dde780ed34441118324cb551
- 6c4c7032d76b31bb76abfae5c5e288bd0a82bbcf7d9bf8aa9197bea687c86a46
- 4195b95b23a643925488e969accb294d1c056247ccfec745748d6ee0b0c94851
- ebaa54f3a992514bbf54bce4ab82743390c715a81343739948efd0ac3ca33599
- 868b30b8b311aed6c74b8d5fc05b7c4a0f32f56602b594229ddcadff2733a1f3
- 75f7542f8d3d49cf4e16023fae32a329fa8e804c90bae236a6415a4a045f6ce0
- ea857d827ee2cc580fae43772648cc410c1bcd4c8612cff9a3a7d11b04e54725
- 25716f39d2d7d25f448dc9a68270f51124f1d234f0b9482743dcc0c1a00fa8b1
- 42d52c4ce57e8cae43667faf7600e98d085b0ab713e7607bc1dae1f34932be67
- 5319b79f719dd27e45ecca54d29482d6558f41947db5c4ec4b70c3e25bb8f55a
- 88bcbfa7a2b006b93fd715810661b464e7b150006f046a94e6c03d2e067ae7e3
- 838d84317a7c51c13329c919d4479396b30233136b70fe025faf968b916ba1c1
- 5f686f697c1093c45ef882c3feb1def6064f458d5ae75a74962375b91c6027d5
- 9f9a7a4e6d73698fdc623384a666e677ce2d32990bc69e16aa631a34371cdf78
- 0ba4499c5805a83172e5dcbdc8fd8e464824827f94ed1849d9a1797a9b386e00
- 41f65c5307ec97310b33ace466439e4abf008d461be3835f545e4194e6c54940
- edd966278b660bb280e8e319300e18652ce2ef0fca5baeeb72696b5fd2a03d69
- 13d667aaf3338da21355c042b3a07567553ee48bf0dc071f9a55ef49451de21c"
+checksum="a5fb5a432961b29b71572258e3aade26e4972c2a829c9b100906d764da783e2d
+ 07fd6bef784d73d578b147d097a7e62b8ec56fbae4e860f7c093d15c3abef0c6
+ a490dcfe56781a750c67bbad12a626e1e011679c86411bc7c0ecabf3c995d17a
+ db0d639c5749181b64c66081cf2cd90084f07df7f17428cb529a14ce3cf30d4d
+ 82aa4b328ff3e573ee411a37401152b09c2d6433939e9da6f7ea2e06adee962a
+ c5419dd5eb37b49a4e82cce9a510730bcc184c4a580f074751ffb44e70450103
+ b1ab6bd7cf8e66c27b40442e4494052a1ef358ed4bc54f1d3e205b342fd2deac
+ 5262c826dd68d5a3146a487b6978f2d86e7dbea6fe8c3112e6eadbba4862b676
+ d4754cf089ca42ab5718088b83cd1995a10d0da2dda6191f12ea53e3cda51137
+ 08d769aa1aae5a5d55f0d1c0308b808f343747a1a4ae2acf1811628ba66e2c20
+ 1b50cdaa7a851f031858ebad0873ea548dd2462b297912086fb0ebb95dfa72a1
+ 12bb4c9e4c681e01ed1c8d4e4a2673088604273ec046018c2747edfd3df9adab
+ cf715af1af15fbe8c2f7b32cd351d27800b2bf0ccfe37af26c975edd73ae158b
+ 88decc7c4dfadaa8f8aeb1af5d0b5ead84461fa1a321199839c68e31a3552d60
+ 53dd6cbf524da32f15ef16ed6808bee567be2812a41289a7b4ece7f9feafe804
+ 41cc906c7f364b4e097044a0a1938d9cdc9d77cc588be4c7524e4d4e01d140fc
+ 9e77c1668a98ea5640f8a111bcfccdf382d3468645bf4db4390aa435ddf94005
+ e9472477200b37ae5dfc625340870d81475ff418de42f8be20d3c2c6b8a3d650
+ c058b1d118e9f238b71947bd0ba49a8ab7595018cacf30edaa3cccf732de1cf9
+ e87b2709a575ba43f127c2788e757950c6c5b2f2511d4f60daef4cd0f2b2b92a
+ e8ede54125de229d3cf97d04ca005d1829f62f75f720b12c248266572b221aaf
+ 9ec8383935e93cc1f7bd2b892d537bf2318ce12a42658d5f0595696efb25f056
+ c35169b718ee3c3b9710edc44c17b4ba41a86f06dba8215707f5c9f53afc8809
+ 072be46471819ac8a5fd987589abec657368636dc048f0806d33448c041bd733
+ a92e38c3ef82f00ce353515f10bba644561e4dbb84d5b6f1ae93e48ac562eed7
+ c6a403aef977426be44eec93548a875d96e9a6b7656da823bbdf4994100d40f3
+ 0678f655f5376aec66161c2b7f20792985713b438ec70093686d615ceae5ff60
+ 27e2d22321118eb8c337f9889ce1f922d6418ab9183c6180860c87657966670f
+ 2f72580b0b23f2a245d98f5713a7cf52b5fe06c9ccba8cd854929606ef1e5834
+ f25b0cbf3d1205252f27b04b9ba75a5cd947b458b4cb1c4e0597f74bfe8187bd
+ df580b8f798f04020e33a8fac8bf072685b0bbd2bba8a8ffd0188bea4801a88a
+ 6c2b99d461609d91482e8c7a7f2610f7fc7b3ef4e7254a1a56bc2b10cb24fbbf
+ e519975c3bfe0f45f2dc50d2a9bad6e283d6d4eb3485ef1f3f8435080ffe5d7a
+ 00a2c8c98767a355f930d3090bafa7167adff5bbb5fdb19e93722de43e0c97c2
+ 770cbfc15d2d049074cb3c884b33ed27e7313ff0000abbe4542e9738c2d524ad
+ c9925da390269221a92d11b7e8ad0003ad0d91298b9e4831a813578493f02f17
+ ef149eba0018a292316d07140a2f028da577914202201de45e1279cc2efc44c1
+ 1d64065e2233f49ff29a6d0dcefdee34517d46b7e15317180fe81cbcf748d99d
+ e57c617c3dba23eec6b1a11c884db266de3a2def216e5081cef5a3367b308ff8
+ 94449a5cb6a24ac8229e296a9115fd5e8469a6b5f266f26aa760edf34a43c5b4
+ 4cf695866443a0cf22f2a2b966af169c0de2595a24b9c3d227a72ecd259c99e8
+ 44efa27a5e12670b713f90d33f8d413c4405c3c42fd11572c8a2f96e9a9a2773
+ 282b8daa51d4d71d4d17f987ba9e541580bdbae313fb14ba18f9c29f0bd4ad1f
+ 5545a8300c5e6804440a63fa0119fe1de72c68996b7c7467a234569195cca7ad
+ a430bdb134da6b3e781acb67fccb89eb016f9519e5f4dc5dbc7d277cd243abaa
+ 831b85b41ade1b0335e0540d1c89c977281c33c040774b471dfac680d7aced65
+ 0ca4e070ec96abd2b288415850e10f3c5df1d81c94d16a1f6920ed9723ebe5e3
+ b572cfcdbbb81ddb09913fe6702580c6b3111942fe11dc4080ece92a61cd29a0
+ 21ed6c4814dd9d201626c2f6e60da2ccda19df6edfbc7a8af54073d711535aa8
+ 528cb945487b13840e3ce2466c3e53a737bc1436cc7d640d93b068feab219f9c
+ 24f1b994264700f780b38a022882e61b02f7e11b6781532dfdaa3a2097438677
+ bd1c6838b28812b8e594edb55693f7b9b4b9ac188ce452340960497f2fd0e2cf
+ 9eb18c39fa8bec87e3bcf23f23cb79a840b6bbee096fb30b6c212034774d1ec7
+ fa49e763488a12a5f25279730ac7f8925a5abc18d5a514bf09a71cbe2f9dfcd3
+ 23c78f7b94b9d117b15f6a974dd429a502534287852bc3e255e59f3182d60c6c
+ e5596f945cea1503ce5079d7f457e4f9a4fc1ff24a2b9974cc17d5a77e5042ce
+ 41d04aa95f14e89aee2c0f21784c7a1b8e381b320bd9e6f7edb0a0817ab39942
+ 1fc995e12fc9207baeedfe34dc26901aec4551b954afe73d121983581f59f16d
+ 54a5f3b8e5fc6f0cf49560d2ceb1b4073f94c9d3282357d372f47e9d05953172
+ 88452593669bb4e023e5bc73503b235e196c34a9e13060f7c50f1ba55fe9210a
+ ef71309e7121bf1d75b504664ba1e858cb6351cb70dfec6b7c4f79f6df855dee
+ 4cd18fcdac7988a1a94fc31119713a0dac315a66bb29687b21062f161abf9214
+ da5f4476a3e98ee7661c295263d1e41eb3e4aa62103268efa0a50cb9e5d67ff1
+ 3985f70f8e05970286f8613fa5576933ea333fecf456008927e3124e5b53a145
+ cd69c9e34a4468f5a3af469c79857b252985ef72fb1c1d75e0a902879bb97b5d
+ 6394f3f68ace9be167152b751bcfc5dc0dc6d07671d8a6c74ef38b8b14d4b316"

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: thunderbird: update to 102.11.0
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (8 preceding siblings ...)
  2023-06-09  9:07 ` pascal-huber
@ 2023-06-09  9:08 ` pascal-huber
  2023-06-09 15:19 ` thunderbird: update to 102.12.0 pascal-huber
                   ` (22 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: pascal-huber @ 2023-06-09  9:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 166 bytes --]

New comment by pascal-huber on void-packages repository

https://github.com/void-linux/void-packages/pull/43607#issuecomment-1584235069

Comment:
updated to 102.12.0

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: thunderbird: update to 102.12.0
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (9 preceding siblings ...)
  2023-06-09  9:08 ` pascal-huber
@ 2023-06-09 15:19 ` pascal-huber
  2023-06-14 18:53 ` Chocimier
                   ` (21 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: pascal-huber @ 2023-06-09 15:19 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 172 bytes --]

New comment by pascal-huber on void-packages repository

https://github.com/void-linux/void-packages/pull/43607#issuecomment-1584756384

Comment:
crossbuild fails for i686

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: thunderbird: update to 102.12.0
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (10 preceding siblings ...)
  2023-06-09 15:19 ` thunderbird: update to 102.12.0 pascal-huber
@ 2023-06-14 18:53 ` Chocimier
  2023-06-19 18:58 ` pascal-huber
                   ` (20 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: Chocimier @ 2023-06-14 18:53 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 284 bytes --]

New comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/43607#issuecomment-1591814036

Comment:
For i686 we only care about [native build in i686 masterdir](https://github.com/void-linux/void-packages#building-32bit-packages-on-x86_64).

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: thunderbird: update to 102.12.0
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (11 preceding siblings ...)
  2023-06-14 18:53 ` Chocimier
@ 2023-06-19 18:58 ` pascal-huber
  2023-07-14 21:32 ` nvkomimi
                   ` (19 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: pascal-huber @ 2023-06-19 18:58 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 399 bytes --]

New comment by pascal-huber on void-packages repository

https://github.com/void-linux/void-packages/pull/43607#issuecomment-1597623179

Comment:
> For i686 we only care about [native build in i686 masterdir](https://github.com/void-linux/void-packages#building-32bit-packages-on-x86_64).

Thanks, unfortunately it also fails for the native build. I will have another look at it in the next days.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: thunderbird: update to 102.12.0
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (12 preceding siblings ...)
  2023-06-19 18:58 ` pascal-huber
@ 2023-07-14 21:32 ` nvkomimi
  2023-07-14 21:38 ` pascal-huber
                   ` (18 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: nvkomimi @ 2023-07-14 21:32 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 300 bytes --]

New comment by nvkomimi on void-packages repository

https://github.com/void-linux/void-packages/pull/43607#issuecomment-1636467137

Comment:
i imagine thunderbird is going to stay in void packages, so it would make sense to update straight to 115.0 now that it's officially released and distributed

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: thunderbird: update to 102.12.0
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (13 preceding siblings ...)
  2023-07-14 21:32 ` nvkomimi
@ 2023-07-14 21:38 ` pascal-huber
  2023-07-15 11:48 ` [PR PATCH] [Updated] " pascal-huber
                   ` (17 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: pascal-huber @ 2023-07-14 21:38 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 498 bytes --]

New comment by pascal-huber on void-packages repository

https://github.com/void-linux/void-packages/pull/43607#issuecomment-1636470608

Comment:
> i imagine thunderbird is going to stay in void packages, so it would make sense to update straight to 115.0 now that it's officially released and distributed

Agree, more importantly it should also compile on i686. I haven't had much time recently because of my new job. I might find some time to rebase, update and have another go at it tomorrow.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PR PATCH] [Updated] thunderbird: update to 102.12.0
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (14 preceding siblings ...)
  2023-07-14 21:38 ` pascal-huber
@ 2023-07-15 11:48 ` pascal-huber
  2023-07-15 11:49 ` thunderbird: update to 115.0 pascal-huber
                   ` (16 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: pascal-huber @ 2023-07-15 11:48 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 765 bytes --]

There is an updated pull request by pascal-huber against master on the void-packages repository

https://github.com/pascal-huber/void-packages thunderbird
https://github.com/void-linux/void-packages/pull/43607

thunderbird: update to 102.12.0
[ci skip]

#### Testing the changes
- I tested the changes in this PR: **briefly**

#### Local build testing
- I built this PR locally for my native architecture, x86_64-glibc
- I built this PR locally for these architectures (if supported. mark crossbuilds):
 - [x] x86_64
 - [x] armv7l (crossbuild)
 - [x] aarch64 (crossbuild)
 - [ ] i686 (native)
 - [x] x86_64-musl (native)
 - [ ] armv6l-musl
 - [ ] aarch64-musl

A patch file from https://github.com/void-linux/void-packages/pull/43607.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-thunderbird-43607.patch --]
[-- Type: text/x-diff, Size: 36838 bytes --]

From 6de50e672e3538e2e85f0a7b5f8cabd94a7ff8f1 Mon Sep 17 00:00:00 2001
From: Pascal Huber <pascal.huber@resolved.ch>
Date: Wed, 26 Apr 2023 12:09:15 +0200
Subject: [PATCH 1/2] thunderbird: update to 115.0

---
 common/environment/setup/misc.sh              |   2 +-
 .../patches/avoid-redefinition.patch          |  15 --
 .../thunderbird/patches/fix-i386-fdlibm.patch |   2 +-
 .../thunderbird/patches/flac-no-ffvpx.patch   |   3 +-
 srcpkgs/thunderbird/patches/lto-thin.patch    |  23 +-
 srcpkgs/thunderbird/patches/mallinfo.patch    |  24 +-
 .../patches/mp4parse-rust-1.70.patch          |  32 ---
 srcpkgs/thunderbird/patches/python3.11.patch  | 238 ------------------
 .../thunderbird/patches/rust-configure.patch  |  20 +-
 .../thunderbird/patches/sandbox-fork.patch    |  11 +-
 srcpkgs/thunderbird/patches/skia-sucks1.patch |   6 +-
 srcpkgs/thunderbird/patches/skia-sucks2.patch |  44 ----
 srcpkgs/thunderbird/template                  |   8 +-
 13 files changed, 54 insertions(+), 374 deletions(-)
 delete mode 100644 srcpkgs/thunderbird/patches/avoid-redefinition.patch
 delete mode 100644 srcpkgs/thunderbird/patches/mp4parse-rust-1.70.patch
 delete mode 100644 srcpkgs/thunderbird/patches/python3.11.patch
 delete mode 100644 srcpkgs/thunderbird/patches/skia-sucks2.patch

diff --git a/common/environment/setup/misc.sh b/common/environment/setup/misc.sh
index 3f2cc09461de..54e7d4dbc2ce 100644
--- a/common/environment/setup/misc.sh
+++ b/common/environment/setup/misc.sh
@@ -13,7 +13,7 @@ GNOME_SITE="https://download.gnome.org/sources"
 KERNEL_SITE="https://www.kernel.org/pub/linux"
 CPAN_SITE="https://www.cpan.org/modules/by-module"
 PYPI_SITE="https://files.pythonhosted.org/packages/source"
-MOZILLA_SITE="https://ftp.mozilla.org/pub"
+MOZILLA_SITE="https://download-installer.cdn.mozilla.net/pub"
 GNU_SITE="https://ftp.gnu.org/gnu"
 FREEDESKTOP_SITE="https://freedesktop.org/software"
 KDE_SITE="https://download.kde.org/stable"
diff --git a/srcpkgs/thunderbird/patches/avoid-redefinition.patch b/srcpkgs/thunderbird/patches/avoid-redefinition.patch
deleted file mode 100644
index 867d37c62a90..000000000000
--- a/srcpkgs/thunderbird/patches/avoid-redefinition.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Author: Rasmus Thomsen <oss@cogitri.dev>
-Reason: FF is mixing userspace net headers (net/if.h) and kernelspace ones
-(linux/if.h), leading to redefinitions. We need to include net/if.h before
-linux/if.h because linux/if.h has redifinition guards whereas net/if.h doesnt
-Upstream: No
---- a/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c	2020-07-28 19:24:32.359751046 +0200
-+++ b/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c	2020-07-28 19:24:37.856343751 +0200
-@@ -31,6 +31,7 @@
- */
- 
- #if defined(LINUX)
-+#include <net/if.h>
- #include "addrs-netlink.h"
- #include <csi_platform.h>
- #include <assert.h>
diff --git a/srcpkgs/thunderbird/patches/fix-i386-fdlibm.patch b/srcpkgs/thunderbird/patches/fix-i386-fdlibm.patch
index 831e5e03678d..bb81b4ad59e9 100644
--- a/srcpkgs/thunderbird/patches/fix-i386-fdlibm.patch
+++ b/srcpkgs/thunderbird/patches/fix-i386-fdlibm.patch
@@ -14,5 +14,5 @@
  typedef double      __double_t;
 +#endif
  typedef __double_t  double_t;
+ typedef float       __float_t;
  
- /*
diff --git a/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch b/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
index ebf48deb9720..2e475e8c6940 100644
--- a/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
+++ b/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
@@ -12,7 +12,7 @@ index 53fc3c9937f7..b23771ab80fa 100644
  
  namespace mozilla {
  
-@@ -14,6 +15,10 @@ namespace mozilla {
+@@ -14,5 +15,9 @@ namespace mozilla {
  bool FlacDecoder::IsEnabled() {
  #ifdef MOZ_FFVPX
    return StaticPrefs::media_flac_enabled();
@@ -21,5 +21,4 @@ index 53fc3c9937f7..b23771ab80fa 100644
 +  return StaticPrefs::media_flac_enabled() &&
 +         platform->SupportsMimeType("audio/flac"_ns);
  #else
-   // Until bug 1295886 is fixed.
    return false;
diff --git a/srcpkgs/thunderbird/patches/lto-thin.patch b/srcpkgs/thunderbird/patches/lto-thin.patch
index e85cbce36583..78ac8b741be5 100644
--- a/srcpkgs/thunderbird/patches/lto-thin.patch
+++ b/srcpkgs/thunderbird/patches/lto-thin.patch
@@ -1,17 +1,20 @@
-$OpenBSD: patch-config_makefiles_rust_mk,v 1.6 2021/01/26 15:52:58 landry Exp $
+This patch is a modified version of the OpenBSD patch
 
-use lto=thin to reduce memory pressure when building gkrust
+try to consume less memory when linking gkrust with debug symbols ?
+
+openbsd patch: https://github.com/openbsd/ports/blob/master/mail/mozilla-thunderbird/patches/patch-config_makefiles_rust_mk
 https://bugzilla.mozilla.org/show_bug.cgi?id=1644409
 https://bugzilla.mozilla.org/show_bug.cgi?id=1640982
-
-Index: config/makefiles/rust.mk
---- a/config/makefiles/rust.mk.orig
-+++ a/config/makefiles/rust.mk
-@@ -70,7 +70,8 @@ ifndef MOZ_DEBUG_RUST
- # gkrust_gtest. And not when doing cross-language LTO.
- ifndef MOZ_LTO_RUST_CROSS
+---
+diff --git a/config/makefiles/rust.mk b/config/makefiles/rust.mk
+index a243ee5f7f..89593f1fe1 100644
+--- a/config/makefiles/rust.mk
++++ b/config/makefiles/rust.mk
+@@ -90,7 +90,8 @@ ifndef rustflags_sancov
+ # Never enable when coverage is enabled to work around https://github.com/rust-lang/rust/issues/90045.
+ ifndef MOZ_CODE_COVERAGE
  ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE)))
--cargo_rustc_flags += -Clto
+-cargo_rustc_flags += -Clto$(if $(filter full,$(MOZ_LTO_RUST_CROSS)),=fat)
 +cargo_rustc_flags += -Clto=thin
 +export CARGO_PROFILE_RELEASE_LTO=thin
  endif
diff --git a/srcpkgs/thunderbird/patches/mallinfo.patch b/srcpkgs/thunderbird/patches/mallinfo.patch
index 0d704301f39f..a3b3e1cb53ac 100644
--- a/srcpkgs/thunderbird/patches/mallinfo.patch
+++ b/srcpkgs/thunderbird/patches/mallinfo.patch
@@ -1,14 +1,16 @@
---- a/xpcom/base/nsMemoryReporterManager.cpp	2019-03-19 17:12:20.844810044 +0100
-+++ b/xpcom/base/nsMemoryReporterManager.cpp	2019-03-19 17:13:32.505133615 +0100
-@@ -123,6 +123,7 @@
-   return GetProcSelfSmapsPrivate(aN);
+diff --git a/xpcom/base/nsMemoryReporterManager.cpp b/xpcom/base/nsMemoryReporterManager.cpp
+index 30bc60e01a..caf9f740d2 100644
+--- a/xpcom/base/nsMemoryReporterManager.cpp
++++ b/xpcom/base/nsMemoryReporterManager.cpp
+@@ -127,6 +127,7 @@ using namespace dom;
+   return GetProcSelfSmapsPrivate(aN, aPid);
  }
  
 +#ifdef __GLIBC__
  #  ifdef HAVE_MALLINFO
  #    define HAVE_SYSTEM_HEAP_REPORTER 1
- static MOZ_MUST_USE nsresult SystemHeapSize(int64_t* aSizeOut) {
-@@ -142,6 +143,7 @@
+ [[nodiscard]] static nsresult SystemHeapSize(int64_t* aSizeOut) {
+@@ -146,6 +147,7 @@ using namespace dom;
    return NS_OK;
  }
  #  endif
@@ -16,16 +18,16 @@
  
  #elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
      defined(__OpenBSD__) || defined(__FreeBSD_kernel__)
-@@ -642,6 +644,7 @@
+@@ -653,6 +655,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr, cpu_type_t aType) {
    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;
+ // Windows can have multiple separate heaps, but we should not touch non-default
+ // heaps because they may be destroyed at anytime while we hold a handle.  So we
+@@ -685,6 +688,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr, cpu_type_t aType) {
+   *aSizeOut = heapSize;
    return NS_OK;
  }
 +#endif // __GLIBC__
diff --git a/srcpkgs/thunderbird/patches/mp4parse-rust-1.70.patch b/srcpkgs/thunderbird/patches/mp4parse-rust-1.70.patch
deleted file mode 100644
index 64bf6e8e7be4..000000000000
--- a/srcpkgs/thunderbird/patches/mp4parse-rust-1.70.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Patch-Source: https://github.com/mozilla/mp4parse-rust/commit/8d58b2d5fc7f552d585964354d8269bcca3d9251
---
-From 8d58b2d5fc7f552d585964354d8269bcca3d9251 Mon Sep 17 00:00:00 2001
-From: Matthew Gregan <kinetik@flim.org>
-Date: Thu, 16 Jun 2022 13:54:02 +1200
-Subject: [PATCH] Fix `unstable-name-collisions` warning by using fully
- qualified path.
-
----
- mp4parse/src/lib.rs | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/mp4parse/src/lib.rs b/mp4parse/src/lib.rs
-index 567ee21d..4f3d7153 100644
---- a/third_party/rust/mp4parse/src/lib.rs
-+++ b/third_party/rust/mp4parse/src/lib.rs
-@@ -3506,8 +3506,13 @@ macro_rules! impl_mul {
-             type Output = $output;
- 
-             fn mul(self, rhs: $rhs) -> Self::Output {
--                static_assertions::const_assert!(<$output>::MAX <= <$inner>::MAX as u64);
--                static_assertions::const_assert!(<$lhs>::MAX * <$rhs>::MAX <= <$output>::MAX);
-+                static_assertions::const_assert!(
-+                    <$output as UpperBounded>::MAX <= <$inner>::MAX as u64
-+                );
-+                static_assertions::const_assert!(
-+                    <$lhs as UpperBounded>::MAX * <$rhs as UpperBounded>::MAX
-+                        <= <$output as UpperBounded>::MAX
-+                );
- 
-                 let lhs: $inner = self.get().into();
-                 let rhs: $inner = rhs.get().into();
diff --git a/srcpkgs/thunderbird/patches/python3.11.patch b/srcpkgs/thunderbird/patches/python3.11.patch
deleted file mode 100644
index 2facee5ebb2b..000000000000
--- a/srcpkgs/thunderbird/patches/python3.11.patch
+++ /dev/null
@@ -1,238 +0,0 @@
-Patch-Source: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267709
-Patch-Source: https://hg.mozilla.org/mozilla-central/rev/f54162b2c1f2fe52c6137ab2c3469a1944f58b27
---- a/xpcom/idl-parser/xpidl/xpidl.py
-+++ b/xpcom/idl-parser/xpidl/xpidl.py
-@@ -1633,13 +1633,13 @@ class IDLParser(object):
-     t_ignore = " \t"
- 
-     def t_multilinecomment(self, t):
--        r"/\*(?s).*?\*/"
-+        r"/\*(\n|.)*?\*/"
-         t.lexer.lineno += t.value.count("\n")
-         if t.value.startswith("/**"):
-             self._doccomments.append(t.value)
- 
-     def t_singlelinecomment(self, t):
--        r"(?m)//.*?$"
-+        r"//[^\n]*"
- 
-     def t_IID(self, t):
-         return t
-@@ -1652,7 +1652,7 @@ class IDLParser(object):
-         return t
- 
-     def t_LCDATA(self, t):
--        r"(?s)%\{[ ]*C\+\+[ ]*\n(?P<cdata>.*?\n?)%\}[ ]*(C\+\+)?"
-+        r"%\{[ ]*C\+\+[ ]*\n(?P<cdata>(\n|.)*?\n?)%\}[ ]*(C\+\+)?"
-         t.type = "CDATA"
-         t.value = t.lexer.lexmatch.group("cdata")
-         t.lexer.lineno += t.value.count("\n")
-
-
-# HG changeset patch
-# User ahochheiden <ahochheiden@mozilla.com>
-# Date 1654151264 0
-# Node ID f54162b2c1f2fe52c6137ab2c3469a1944f58b27
-# Parent  6e7776492240c27732840d65a33dcc440fa1aba0
-Bug 1769631 - Remove 'U' from 'mode' parameters for various 'open' calls to ensure Python3.11 compatibility r=firefox-build-system-reviewers,glandium
-
-The 'U' flag represents "universal newline". It has been deprecated
-since Python3.3. Since then "universal newline" is the default when a
-file is opened in text mode (not bytes). In Python3.11 using the 'U'
-flag throws errors. There should be no harm in removing 'U' from 'open'
-everywhere it is used, and doing allows the use of Python3.11.
-
-For more reading see: https://docs.python.org/3.11/whatsnew/3.11.html#changes-in-the-python-api
-
-Differential Revision: https://phabricator.services.mozilla.com/D147721
-
-diff --git a/dom/base/usecounters.py b/dom/base/usecounters.py
---- a/dom/base/usecounters.py
-+++ b/dom/base/usecounters.py
-@@ -3,17 +3,17 @@
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
- 
- import collections
- import re
- 
- 
- def read_conf(conf_filename):
-     # Can't read/write from a single StringIO, so make a new one for reading.
--    stream = open(conf_filename, "rU")
-+    stream = open(conf_filename, "r")
- 
-     def parse_counters(stream):
-         for line_num, line in enumerate(stream):
-             line = line.rstrip("\n")
-             if not line or line.startswith("//"):
-                 # empty line or comment
-                 continue
-             m = re.match(r"method ([A-Za-z0-9]+)\.([A-Za-z0-9]+)$", line)
-diff --git a/python/mozbuild/mozbuild/action/process_define_files.py b/python/mozbuild/mozbuild/action/process_define_files.py
---- a/python/mozbuild/mozbuild/action/process_define_files.py
-+++ b/python/mozbuild/mozbuild/action/process_define_files.py
-@@ -31,17 +31,17 @@ def process_define_file(output, input):
- 
-     config = PartialConfigEnvironment(topobjdir)
- 
-     if mozpath.basedir(
-         path, [mozpath.join(topsrcdir, "js/src")]
-     ) and not config.substs.get("JS_STANDALONE"):
-         config = PartialConfigEnvironment(mozpath.join(topobjdir, "js", "src"))
- 
--    with open(path, "rU") as input:
-+    with open(path, "r") as input:
-         r = re.compile(
-             "^\s*#\s*(?P<cmd>[a-z]+)(?:\s+(?P<name>\S+)(?:\s+(?P<value>\S+))?)?", re.U
-         )
-         for l in input:
-             m = r.match(l)
-             if m:
-                 cmd = m.group("cmd")
-                 name = m.group("name")
-diff --git a/python/mozbuild/mozbuild/backend/base.py b/python/mozbuild/mozbuild/backend/base.py
---- a/python/mozbuild/mozbuild/backend/base.py
-+++ b/python/mozbuild/mozbuild/backend/base.py
-@@ -267,17 +267,17 @@ class BuildBackend(LoggingMixin):
-         If an exception is raised, |mach build| will fail with a
-         non-zero exit code.
-         """
-         self._write_purgecaches(config)
- 
-         return status
- 
-     @contextmanager
--    def _write_file(self, path=None, fh=None, readmode="rU"):
-+    def _write_file(self, path=None, fh=None, readmode="r"):
-         """Context manager to write a file.
- 
-         This is a glorified wrapper around FileAvoidWrite with integration to
-         update the summary data on this instance.
- 
-         Example usage:
- 
-             with self._write_file('foo.txt') as fh:
-diff --git a/python/mozbuild/mozbuild/preprocessor.py b/python/mozbuild/mozbuild/preprocessor.py
---- a/python/mozbuild/mozbuild/preprocessor.py
-+++ b/python/mozbuild/mozbuild/preprocessor.py
-@@ -526,17 +526,17 @@ class Preprocessor:
-             if not options.output:
-                 raise Preprocessor.Error(
-                     self, "--depend doesn't work with stdout", None
-                 )
-             depfile = get_output_file(options.depend)
- 
-         if args:
-             for f in args:
--                with io.open(f, "rU", encoding="utf-8") as input:
-+                with io.open(f, "r", encoding="utf-8") as input:
-                     self.processFile(input=input, output=out)
-             if depfile:
-                 mk = Makefile()
-                 mk.create_rule([six.ensure_text(options.output)]).add_dependencies(
-                     self.includes
-                 )
-                 mk.dump(depfile)
-                 depfile.close()
-@@ -855,17 +855,17 @@ class Preprocessor:
-         self.checkLineNumbers = False
-         if isName:
-             try:
-                 args = _to_text(args)
-                 if filters:
-                     args = self.applyFilters(args)
-                 if not os.path.isabs(args):
-                     args = os.path.join(self.curdir, args)
--                args = io.open(args, "rU", encoding="utf-8")
-+                args = io.open(args, "r", encoding="utf-8")
-             except Preprocessor.Error:
-                 raise
-             except Exception:
-                 raise Preprocessor.Error(self, "FILE_NOT_FOUND", _to_text(args))
-         self.checkLineNumbers = bool(
-             re.search("\.(js|jsm|java|webidl)(?:\.in)?$", args.name)
-         )
-         oldFile = self.context["FILE"]
-@@ -909,17 +909,17 @@ class Preprocessor:
- 
-     def do_error(self, args):
-         raise Preprocessor.Error(self, "Error: ", _to_text(args))
- 
- 
- def preprocess(includes=[sys.stdin], defines={}, output=sys.stdout, marker="#"):
-     pp = Preprocessor(defines=defines, marker=marker)
-     for f in includes:
--        with io.open(f, "rU", encoding="utf-8") as input:
-+        with io.open(f, "r", encoding="utf-8") as input:
-             pp.processFile(input=input, output=output)
-     return pp.includes
- 
- 
- # Keep this module independently executable.
- if __name__ == "__main__":
-     pp = Preprocessor()
-     pp.handleCommandLine(None, True)
-diff --git a/python/mozbuild/mozbuild/util.py b/python/mozbuild/mozbuild/util.py
---- a/python/mozbuild/mozbuild/util.py
-+++ b/python/mozbuild/mozbuild/util.py
-@@ -231,17 +231,17 @@ class FileAvoidWrite(BytesIO):
-     enabled by default because it a) doesn't make sense for binary files b)
-     could add unwanted overhead to calls.
- 
-     Additionally, there is dry run mode where the file is not actually written
-     out, but reports whether the file was existing and would have been updated
-     still occur, as well as diff capture if requested.
-     """
- 
--    def __init__(self, filename, capture_diff=False, dry_run=False, readmode="rU"):
-+    def __init__(self, filename, capture_diff=False, dry_run=False, readmode="r"):
-         BytesIO.__init__(self)
-         self.name = filename
-         assert type(capture_diff) == bool
-         assert type(dry_run) == bool
-         assert "r" in readmode
-         self._capture_diff = capture_diff
-         self._write_to_file = not dry_run
-         self.diff = None
-diff --git a/python/mozbuild/mozpack/files.py b/python/mozbuild/mozpack/files.py
---- a/python/mozbuild/mozpack/files.py
-+++ b/python/mozbuild/mozpack/files.py
-@@ -549,17 +549,17 @@ class PreprocessedFile(BaseFile):
-         self.defines = defines
-         self.extra_depends = list(extra_depends or [])
-         self.silence_missing_directive_warnings = silence_missing_directive_warnings
- 
-     def inputs(self):
-         pp = Preprocessor(defines=self.defines, marker=self.marker)
-         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
- 
--        with _open(self.path, "rU") as input:
-+        with _open(self.path, "r") as input:
-             with _open(os.devnull, "w") as output:
-                 pp.processFile(input=input, output=output)
- 
-         # This always yields at least self.path.
-         return pp.includes
- 
-     def copy(self, dest, skip_if_older=True):
-         """
-@@ -606,17 +606,17 @@ class PreprocessedFile(BaseFile):
-             return False
- 
-         deps_out = None
-         if self.depfile:
-             deps_out = FileAvoidWrite(self.depfile)
-         pp = Preprocessor(defines=self.defines, marker=self.marker)
-         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
- 
--        with _open(self.path, "rU") as input:
-+        with _open(self.path, "r") as input:
-             pp.processFile(input=input, output=dest, depfile=deps_out)
- 
-         dest.close()
-         if self.depfile:
-             deps_out.close()
- 
-         return True
- 
-
diff --git a/srcpkgs/thunderbird/patches/rust-configure.patch b/srcpkgs/thunderbird/patches/rust-configure.patch
index 61fb2ba891d9..b5ff2987008c 100644
--- a/srcpkgs/thunderbird/patches/rust-configure.patch
+++ b/srcpkgs/thunderbird/patches/rust-configure.patch
@@ -6,9 +6,11 @@ instead use what is set in RUST_TARGET
 
 Skip extra checks on cross builds (broken for arm*)
 
---- a/build/moz.configure/rust.configure	2020-12-12 01:35:33.000000000 +0100
-+++ b/build/moz.configure/rust.configure	2020-12-15 19:45:16.467750787 +0100
-@@ -91,9 +91,6 @@
+diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure
+index e64dc5d5ec..c4778f8cc8 100644
+--- a/build/moz.configure/rust.configure
++++ b/build/moz.configure/rust.configure
+@@ -91,9 +91,6 @@ def unwrap_rustup(prog, name):
      return unwrap
  
  
@@ -18,7 +20,7 @@ Skip extra checks on cross builds (broken for arm*)
  
  set_config("CARGO", cargo)
  set_config("RUSTC", rustc)
-@@ -260,7 +257,9 @@
+@@ -274,7 +271,9 @@ def rust_supported_targets(rustc):
          data.setdefault(key, []).append(namespace(rust_target=t, target=info))
      return data
  
@@ -29,24 +31,26 @@ Skip extra checks on cross builds (broken for arm*)
  def detect_rustc_target(
      host_or_target, compiler_info, arm_target, rust_supported_targets
  ):
-@@ -382,12 +381,12 @@
+@@ -396,12 +395,14 @@ def detect_rustc_target(
  
          return None
  
 -    rustc_target = find_candidate(candidates)
 +    rustc_target = os.environ['RUST_TARGET']
++
  
      if rustc_target is None:
          die("Don't know how to translate {} for rustc".format(host_or_target.alias))
  
 -    return rustc_target
 +    return ensure_unicode(rustc_target, system_encoding)
++
  
  
  @imports("os")
-@@ -410,35 +409,6 @@
+@@ -423,35 +424,6 @@ def assert_rust_compile(host_or_target, rustc_target, rustc):
  
-         os.write(in_fd, ensure_binary(source))
+         os.write(in_fd, source)
          os.close(in_fd)
 -
 -        cmd = [
@@ -80,7 +84,7 @@ Skip extra checks on cross builds (broken for arm*)
      finally:
          os.remove(in_path)
          os.remove(out_path)
-@@ -462,28 +432,7 @@
+@@ -475,28 +447,7 @@ def rust_host_triple(
          host, compiler_info, arm_target, rust_supported_targets
      )
      if rustc_target != rustc_host:
diff --git a/srcpkgs/thunderbird/patches/sandbox-fork.patch b/srcpkgs/thunderbird/patches/sandbox-fork.patch
index d4584e74b91c..a8cb89394f87 100644
--- a/srcpkgs/thunderbird/patches/sandbox-fork.patch
+++ b/srcpkgs/thunderbird/patches/sandbox-fork.patch
@@ -1,8 +1,8 @@
-make SYS_fork non-fatal, musl uses it for fork(2)
-
+diff --git a/security/sandbox/linux/SandboxFilter.cpp b/security/sandbox/linux/SandboxFilter.cpp
+index 20e9b59685..e053580992 100644
 --- a/security/sandbox/linux/SandboxFilter.cpp
 +++ b/security/sandbox/linux/SandboxFilter.cpp
-@@ -1420,6 +1420,10 @@
+@@ -1598,6 +1598,11 @@ class ContentSandboxPolicy : public SandboxPolicyCommon {
          // usually do something reasonable on error.
        case __NR_clone:
          return ClonePolicy(Error(EPERM));
@@ -10,6 +10,7 @@ make SYS_fork non-fatal, musl uses it for fork(2)
 +      case __NR_fork:
 +        return Error(ENOSYS);
 +#  endif
++
  
- #  ifdef __NR_fadvise64
-       case __NR_fadvise64:
+       case __NR_clone3:
+         return Error(ENOSYS);
diff --git a/srcpkgs/thunderbird/patches/skia-sucks1.patch b/srcpkgs/thunderbird/patches/skia-sucks1.patch
index cd9eecccf610..027d97bfce64 100644
--- a/srcpkgs/thunderbird/patches/skia-sucks1.patch
+++ b/srcpkgs/thunderbird/patches/skia-sucks1.patch
@@ -1,8 +1,8 @@
 https://bugzilla.mozilla.org/show_bug.cgi?id=1504834#c5
 https://bugzilla.mozilla.org/attachment.cgi?id=9028600
 
---- a/gfx/skia/skia/third_party/skcms/skcms.cc
-+++ b/gfx/skia/skia/third_party/skcms/skcms.cc
+--- a/gfx/skia/skia/modules/skcms/skcms.cc
++++ b/gfx/skia/skia/modules/skcms/skcms.cc
 @@ -30,6 +30,8 @@
          #include <avx512fintrin.h>
          #include <avx512dqintrin.h>
@@ -11,7 +11,7 @@ https://bugzilla.mozilla.org/attachment.cgi?id=9028600
 +    #define SKCMS_PORTABLE
  #endif
  
- // sizeof(x) will return size_t, which is 32-bit on some machines and 64-bit on others.
+ static bool runtime_cpu_detection = true;
 @@ -280,20 +282,28 @@ enum {
  static uint16_t read_big_u16(const uint8_t* ptr) {
      uint16_t be;
diff --git a/srcpkgs/thunderbird/patches/skia-sucks2.patch b/srcpkgs/thunderbird/patches/skia-sucks2.patch
deleted file mode 100644
index 1a498f8711dd..000000000000
--- a/srcpkgs/thunderbird/patches/skia-sucks2.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-# 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
---- a/gfx/skia/skia/include/private/SkNx.h	Tue Aug 20 09:46:55 2019 +0200
-+++ b/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
---- a/gfx/skia/skia/src/opts/SkBlitMask_opts.h	Tue Aug 20 09:46:55 2019 +0200
-+++ b/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) {
diff --git a/srcpkgs/thunderbird/template b/srcpkgs/thunderbird/template
index 9709c5339bce..7ffc7c0230b5 100644
--- a/srcpkgs/thunderbird/template
+++ b/srcpkgs/thunderbird/template
@@ -3,15 +3,15 @@
 # THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/thunderbird-i18n".
 #
 pkgname=thunderbird
-version=102.6.1
-revision=4
+version=115.0
+revision=1
 build_helper="rust"
 short_desc="Standalone Mail/News reader"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="MPL-2.0, GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.thunderbird.net/"
-distfiles="${MOZILLA_SITE}/${pkgname}/releases/${version}/source/${pkgname}-${version}.source.tar.xz"
-checksum=8b8cb5d7532ad8ee65061d2f284ae9f0470e7614dfcfc3c37ca945bcb96d1183
+distfiles="${MOZILLA_SITE}/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz"
+checksum=3edc85647dcebde8b84c17e6eeff6ca9866a9f0ffe9a67d786fdb442c8a9a9ad
 
 lib32disabled=yes
 

From 6c82ec6ce6af10f30f301c9191705d40f8f70988 Mon Sep 17 00:00:00 2001
From: Pascal Huber <pascal.huber@resolved.ch>
Date: Wed, 26 Apr 2023 12:09:25 +0200
Subject: [PATCH 2/2] thunderbird-i18n: udpate to 115.0

---
 srcpkgs/thunderbird-i18n/template | 135 +++++++++++++++---------------
 1 file changed, 67 insertions(+), 68 deletions(-)

diff --git a/srcpkgs/thunderbird-i18n/template b/srcpkgs/thunderbird-i18n/template
index 17830bddd777..4f500e626e9c 100644
--- a/srcpkgs/thunderbird-i18n/template
+++ b/srcpkgs/thunderbird-i18n/template
@@ -1,6 +1,6 @@
 # Template file for 'thunderbird-i18n'
 pkgname=thunderbird-i18n
-version=102.6.1
+version=115.0
 revision=1
 build_style=meta
 short_desc="Thunderbird language packs"
@@ -106,70 +106,69 @@ _pkgtmpl() {
 			usr/lib/thunderbird/extensions langpack-${_lang}@thunderbird.mozilla.org.xpi
 	}
 }
-
-checksum="5935be82bcbd313b58520d95b04dc32c462e47df88f9724bb31b21686f8b4b77
- 142c0bd4d67b03320db94ae8002c8d67d9bc481a7ad728efa17ba7ae09e9a971
- 5547af80c73146c9892ad2dcd7fb5c6616c9a3a5b49868a23f03914ae2da1537
- e6f34bb2a5412ef9127aacd87823c84ca2881d47b15a45a96751a7557d1e0398
- cb35b936f2db79a897e1372ea34a1fb8237885030446f29269b940c0f221d733
- ada9c925979d25cb0e1549d20466b7e22653931715dd1a7fe85ca835caddf7f7
- 9b92561b20face8de88a77a579afa6d1404f55c69340993508fcc3153e1bd70b
- 64db6133cc87197cb793e0e33b72345bc30dabf862a06f7574321ea783c54645
- db622d082616525302f8d32b9f41793804d51495d1a7b1f62125ed9daedd3fb2
- 919ccec7292a6cf9ccce66fc7a91bbae2a3f93d965ecb4237380256cc8c344dd
- f160cb1db40b31815096c0c58f9aa75213e294600c12fef2d2deb741e24e22dd
- ce4e51c46cb0860c2671606ef94bff741b2e3d5e70e485b9c5c90d0e481cc5b2
- 05a552baec6b12b7e3f9270a628ff6a3fe62ec17c232f905465317e85e40e731
- 6bc18f1db7d0233c9d3bc0cf277234322845d309918681636c30a2c131bd90e9
- a7cc9b51e57b4de49f958cf1ea47d526e6873318fba96b52ee42d541a2e35902
- bf1fac8be9eca95bdbc9f8542445301e146148afe69b40a4ea41bfdf64ab1034
- 85e3c40c5ef6bd2fdbf9951304bec1f17e2f7a212abdf20cf103a5e7b73f2be9
- 6489211d465c053182484faae07c708e076b82a88d0ebecfda071f4bb41b5677
- f0d0d4a58d6bac842c28bee253e6d5906e582b359173fdeedb6d4c40f0b9a4c8
- 4e3da06699c1cc87b735ef9d181f8cc33c989f44840d02c9b9e5dfd893a8c05e
- 0dcabb9158d29001082801b1703946b1df9e22653fc7c66c9a725f102f2ada00
- 1e3ee2f9d0291ec2aa0a2d5939ca3074d6b6a7da533186e227da1d3cc2cc7974
- ab7931be527b56dea1939b048030647e4311b0c0eaa23b7843f3baab180801ba
- a592cfeb20a346ad8b24facca3f0da2c5fdd65156aafea67b0c3793bb99ab0a1
- 32740a1261d43b6bec2b99e2da64bdf201c60b1d0651a5a5db548e1180cf5fb1
- e9e669a9917eab86af336c1d149910cb8606e21708c2b5707d87452c455905b0
- 777d625c67cbe9e710ac7fffda880e0a1fb523f8cafc6ac2c3b227b2d5de38f5
- 63728cede6b88d8352b9398c675c4537527de00ee8a0e120bcc905be9f47ae89
- 97f387a2b47303ca475eeab466a0d9f4bc64554b82c55a00f2da4cea431aaa03
- c875c6a19505c6a04cbeba85baad5d9432efd930d920eebb72413d6642a33d3f
- 4ebd23d9533cf2c5b63ec4dc6b6f83df742c473d7d108dd70b9947d014a4ec45
- de78a9bdb410bd9850b4d1197442e263cfb7f3a112917aa40f76a5c50f5ae64c
- b23fb2ac9a531848ef30e960fdd3174ae970f84b42a2adec1bb34329879acd96
- b7024f86fac5844692b7e5c859e91c721a8279ee60880cafe9479476559bd9fa
- 7107ffa0816d059147381b63ee31d66b4ad9b6af77ed409c05994fc2eb5c597d
- 1e1144a17959632ccce43025f4addc4adea7c0c225bac529f99b501604b96b53
- 3697fe13197519a9838584a17ed612ae08d9c603d56340df13c42fb971ddbca4
- d357fa261223596406a931867f84f1aefaa4ff8556257a005e0d5061c6b5e8cf
- a85066ac413255ea51260e8c690b7a4fe8602ceb628e7d2fa6803ccafa02c9c8
- a9850ec702c480ab9ed2bbee16f8ffea2fa1e60da5f68f0f51b051699a3551de
- cd784b2b6317748241bc8f5192d5d3e734cc8747b61955485a859faad4be151b
- f67ba1abdbf107f5f18db505ea5c5b588bd4fbdd9c589991a643db0da1204f4b
- 8de924873919f06468f58d8a1dae8e9d2886d3705aa59b2dc7d30b9659a5327a
- 8b2b9ec349e0e562b7e681f8b9c910256c46953c1cd12f131d7e6f04469954f6
- 5ddd93aff16c17626a170fd0a5c95a72e9ab7bcaeaff67f36445ddd21100f42d
- 7bbeb6237a36f375cf78820e59dc61e619854bcf031852a5e8201b783176deac
- f77a1a325100e9f4bd84eeba002b35b63bad535b723ce854b0ce85e63776de38
- bf1573cca7b0892ca234a5bb2e44646ba997c0be8051017f35ae217aa7f60bdb
- 671bb222053b1fa8bb609095e518392dd3cb1ce2dde780ed34441118324cb551
- 6c4c7032d76b31bb76abfae5c5e288bd0a82bbcf7d9bf8aa9197bea687c86a46
- 4195b95b23a643925488e969accb294d1c056247ccfec745748d6ee0b0c94851
- ebaa54f3a992514bbf54bce4ab82743390c715a81343739948efd0ac3ca33599
- 868b30b8b311aed6c74b8d5fc05b7c4a0f32f56602b594229ddcadff2733a1f3
- 75f7542f8d3d49cf4e16023fae32a329fa8e804c90bae236a6415a4a045f6ce0
- ea857d827ee2cc580fae43772648cc410c1bcd4c8612cff9a3a7d11b04e54725
- 25716f39d2d7d25f448dc9a68270f51124f1d234f0b9482743dcc0c1a00fa8b1
- 42d52c4ce57e8cae43667faf7600e98d085b0ab713e7607bc1dae1f34932be67
- 5319b79f719dd27e45ecca54d29482d6558f41947db5c4ec4b70c3e25bb8f55a
- 88bcbfa7a2b006b93fd715810661b464e7b150006f046a94e6c03d2e067ae7e3
- 838d84317a7c51c13329c919d4479396b30233136b70fe025faf968b916ba1c1
- 5f686f697c1093c45ef882c3feb1def6064f458d5ae75a74962375b91c6027d5
- 9f9a7a4e6d73698fdc623384a666e677ce2d32990bc69e16aa631a34371cdf78
- 0ba4499c5805a83172e5dcbdc8fd8e464824827f94ed1849d9a1797a9b386e00
- 41f65c5307ec97310b33ace466439e4abf008d461be3835f545e4194e6c54940
- edd966278b660bb280e8e319300e18652ce2ef0fca5baeeb72696b5fd2a03d69
- 13d667aaf3338da21355c042b3a07567553ee48bf0dc071f9a55ef49451de21c"
+checksum="2795eb87bc114db830a3758d4b521eb1a1ffd9b24eeca850c46f839c4917b83a
+ 35bc76f1bfe843a5b49204d2cad6f8ba3ccfe423b7f3f7660083292adcab51f6
+ a647bea8f334322454314b4f5f0280f7f5d109b272811eec029afd6d847f5533
+ 76aab1c6e2e3b279b468e9e350cdb3984c8c1efc18980fc9efce46e215495535
+ 3245144d2b3fa7eace71dcd18599c1e1e1519af2121f1b8e8b1dc4a8c600f471
+ d1c9edfd1d56c2c56052d5d547d45f84e34a4f3a45a5960d0962cef84a860306
+ 7bfc2e8ede683b5e639d452472e5f6658b9af8f4bfc549e7169c48bf83423eb2
+ 3a2e8d6667b0b22ff6599b8f4fb68461f39d9e4992ee1f025407bdcb82270740
+ 72faf0a2c19b981e984d249aef68928a8667e9cb56342580f44c901b99148356
+ 2101e99c5ef8c5fefd9d9b093bf8a8688310e1727ad66a11f342ca33cfdc5a42
+ ab6d56b072cc8736b64f86319889f873a5fca23ac0bb33e73994295d5e796337
+ 56ddfc0ae04363601c62fcb862a5b9bd1b3218ecbce809b96e416409afcd8001
+ d883155840ca6fe912c2f95b4b2960b5e8edf4871ef413b4a8309b983ef883e8
+ 2c926ec1ec9fbffb228fa6f32055d8b03ee68593b01115f8eea6ae82344ad44b
+ 75919273248d9a8a9822d98e3c7540582c70a15f2d412074983aa8b16d807aba
+ e5f905e6e14330e4b65d752b7fd90c68e58e78d57abb670209e277538203beea
+ cd8d1aed0bfdad4f8201cf97679814fb919d01c63b3e1a2dbbdbbb7e0d22e013
+ 0858b70dbf53e3d3626cc4a8910435e91cf2aeca48ec3547b5539357115d9575
+ 3d7daa749cb4f640f20823483581d494e0a68369c1f390d61bb59e404627e531
+ c688a2689a7849a8e111ea3fcc820de4c3b1d60e1212e51ddf9f9fc83252d01b
+ 577ba1a5fa7142bb7efa175485940c35302bbff6cd43c120553068b77272accd
+ f89c227d2c2e5115a20d22868b3adc9e202cd08b0daf7ac43050ff7920d2b8d3
+ c0e0b90e1136a2b0be1eb539e6f158976fa05f398bbae18b92ce57fa4639a64d
+ eb347b20e13c4308987c7e52667ff93937d374a56d12f70747b79e063cc096a9
+ 766af2c371926414714b4cd403e26b46eb2394aae88af2921387f0c82fa78267
+ a834879a3f83a3849b5895fea2870d9b95237a46e2e61fe19b02f8cc47b3e493
+ 4ac7c69dcbe3292efbc610f3cebd49837569cd057b567b60bd3ca2e7204bcd21
+ bfbd481a956dc0e82fd1386eb4607b288e56230d829c19d7d8492cea9f7c6cdb
+ 23c7c48c0772a3056218055c7f5ee676e493dc35f35c714f7b2e43bd8fe986dc
+ 052154888d2c1eb8a1a234d19919a943a1bba71709259b9b87f3e89036ba784c
+ 3da3c384ceb9b0ee2ef87065eee6a1f8e03645853c68ecd05f320e0bc1b6081a
+ 98ec455fa04aaa9c81e034383c6e9151eba247113d5681223cab9164ec548a8b
+ 466329a0885c83c6bfce8bafc1a3cbd5bf7614d28495d6c168fb1169755d6b27
+ ee143ad8f2c195b453496dc576e03154c707f0706cb6c82c7120f09c91a079c2
+ b2d9cdb75ca10e31426331c2b978122e1d8f6089b7ad580798958b81aeafd210
+ 0af499fe0d38230a7c4796e439581d35bded64457b49e142650fde641ceaa828
+ df5cdc43653ad81a33f305a58a1429377b9ff70652b3cfa8efcd559d23cda592
+ 5c3edac5f619b7d4bcf2f801ed82e6c73b889277b0fd142d0beaf1af63739ae3
+ d9ffc08cbfbc3c386117234c80edfef31c4c61a08778026f3dbc304e1e2b5588
+ 0c44def4e69d0116b1ed0335eed8dcce22c01cc1baaa0ed8c9be9161bbe460ca
+ 4e862710ce361be02f160430da67de5e14bdd8c36d6f915e8589cd5b13bce7be
+ 576fae0ba50d25742548e44d8e0f0ba6fce7bb108e495b988d093f96f4608e76
+ 76589f4722c3a6deb3f470eaa10b09de2d7e20a90563bc3f7ecb1146256e4846
+ 997f89eeec54328b84255a478d7bea2ee86054af3165b83b559ca748ad1f0ed2
+ 3bd42654702043a7333a2ab1fb34aa55354e2f3a075f5f922c0931f43606b0a5
+ f5761d69d311abc3fa9ddd63101808e02e7df39992c34744b8786baf10a8bd79
+ 10e0c72af868e1429013d89a8d700d2e601924049cf93cc25020fe335307a31e
+ fd9f38014ee0b8aa292610c757c81edccc996652573427fb7fe7754b80732066
+ c21f52050b85935689d96656c13259664ba046944bd0cb136db7db5859e90614
+ 83840f492dc9f9cbdd65593cc6ffd7c0c85c9720c527202b991af0df64062588
+ c5afb7a8e031df877ae66f0e0c1abc20b3c4ffeef9510642eddd6971c1df119d
+ a6cf787baecb27695f3764f87369afb10896edcd515d744fe35462b387ddf4ec
+ fdb3203916a31637b39428ae491e8f9704eebde791d48b4470d4e3f26abe393a
+ 33720e23c7f518ab7a8cfe103e56f0cb5c3cdd38933757ded3c5a17a82af81d9
+ be5ffaa88e17075137fd1ab73de9c5d7aa3874ae5d7348c63c9eb337c2dda1d1
+ d4cd085355c29206456729de82859c5f23515c3d83a9729605965928105ac79c
+ 397276efc3f4c6dfae6efb3e2025bf767f4de1a886774119e431a60cf185691a
+ c4a95222d6905100e8720690b37c5f6bb26f7086dff1f59f864ad992df2dd80b
+ 91abe4d68395f0dd77a85ac45626d8eb998df2f0695ba1d3b7a240940a079949
+ c1f6d49be3cec81ff732d7e1ff318a745a0a368199f1179693a11356b01a1771
+ ba91ecb70ed128ad52cd31917a4c0e7fc21ce7d5211619c01daa9b2982ee0f73
+ 9b198f5bce975e98084ee9be9b7f388aa2f42c342addb2890305afe47bd01084
+ 8afacc89f22054e7b83b500f907dea82fc7456d233a3b6a0f91833ac3ab0db05
+ bcf10378a8fe52b4882d52ad19d7f5b41abe2c4685aab05d2cba081da64a7fd6
+ 17122d6782c7b8d495e6de42259ce4543e5bbd449b0a8e6f86e2ba3a1f684d0d
+ 8230d2f47709cfd580704f8a8c795f24fca9c4e7d71b3af95223a20778f257af"

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: thunderbird: update to 115.0
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (15 preceding siblings ...)
  2023-07-15 11:48 ` [PR PATCH] [Updated] " pascal-huber
@ 2023-07-15 11:49 ` pascal-huber
  2023-07-15 11:57 ` pascal-huber
                   ` (15 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: pascal-huber @ 2023-07-15 11:49 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 180 bytes --]

New comment by pascal-huber on void-packages repository

https://github.com/void-linux/void-packages/pull/43607#issuecomment-1636744887

Comment:
Updated to 115.0, not yet tested.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: thunderbird: update to 115.0
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (16 preceding siblings ...)
  2023-07-15 11:49 ` thunderbird: update to 115.0 pascal-huber
@ 2023-07-15 11:57 ` pascal-huber
  2023-07-15 17:03 ` [PR PATCH] [Updated] " pascal-huber
                   ` (14 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: pascal-huber @ 2023-07-15 11:57 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 211 bytes --]

New comment by pascal-huber on void-packages repository

https://github.com/void-linux/void-packages/pull/43607#issuecomment-1636744887

Comment:
Updated to 115.0 (and unchecked the "Local build testing" boxes)

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PR PATCH] [Updated] thunderbird: update to 115.0
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (17 preceding siblings ...)
  2023-07-15 11:57 ` pascal-huber
@ 2023-07-15 17:03 ` pascal-huber
  2023-07-15 17:12 ` pascal-huber
                   ` (13 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: pascal-huber @ 2023-07-15 17:03 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 883 bytes --]

There is an updated pull request by pascal-huber against master on the void-packages repository

https://github.com/pascal-huber/void-packages thunderbird
https://github.com/void-linux/void-packages/pull/43607

thunderbird: update to 115.0
[ci skip]

#### Testing the changes
- I tested the changes in this PR: **briefly**

#### Local build testing
- I built this PR locally for my native architecture, x86_64-glibc
- I built this PR locally for these architectures (if supported. mark crossbuilds):
 - [x] x86_64
 - [x] armv7l (crossbuild)
 - [x] aarch64 (crossbuild)
 - [x] i686 (native)
 - [x] x86_64-musl (native)
 - [ ] ~~armv6l-musl~~ (not supported)
 - [x] aarch64-musl
 
 
 #### Notes
 - Fixed `MOZILLA_SITE`
 - The UI seems a bit buggy with switching to calendars

A patch file from https://github.com/void-linux/void-packages/pull/43607.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-thunderbird-43607.patch --]
[-- Type: text/x-diff, Size: 37396 bytes --]

From 84eef2f2697da713b2bb0f0e60ffcf6cd4431a9a Mon Sep 17 00:00:00 2001
From: Pascal Huber <pascal.huber@resolved.ch>
Date: Wed, 26 Apr 2023 12:09:15 +0200
Subject: [PATCH 1/2] thunderbird: update to 115.0

---
 common/environment/setup/misc.sh              |   2 +-
 .../patches/avoid-redefinition.patch          |  15 --
 .../thunderbird/patches/fix-i386-fdlibm.patch |   2 +-
 .../thunderbird/patches/flac-no-ffvpx.patch   |   3 +-
 srcpkgs/thunderbird/patches/lto-thin.patch    |  23 +-
 srcpkgs/thunderbird/patches/mallinfo.patch    |  24 +-
 .../patches/mp4parse-rust-1.70.patch          |  32 ---
 srcpkgs/thunderbird/patches/python3.11.patch  | 238 ------------------
 .../thunderbird/patches/rust-configure.patch  |  20 +-
 .../thunderbird/patches/sandbox-fork.patch    |  11 +-
 srcpkgs/thunderbird/patches/skia-sucks1.patch |   6 +-
 srcpkgs/thunderbird/patches/skia-sucks2.patch |  44 ----
 srcpkgs/thunderbird/template                  |  10 +-
 13 files changed, 55 insertions(+), 375 deletions(-)
 delete mode 100644 srcpkgs/thunderbird/patches/avoid-redefinition.patch
 delete mode 100644 srcpkgs/thunderbird/patches/mp4parse-rust-1.70.patch
 delete mode 100644 srcpkgs/thunderbird/patches/python3.11.patch
 delete mode 100644 srcpkgs/thunderbird/patches/skia-sucks2.patch

diff --git a/common/environment/setup/misc.sh b/common/environment/setup/misc.sh
index 3f2cc09461de..54e7d4dbc2ce 100644
--- a/common/environment/setup/misc.sh
+++ b/common/environment/setup/misc.sh
@@ -13,7 +13,7 @@ GNOME_SITE="https://download.gnome.org/sources"
 KERNEL_SITE="https://www.kernel.org/pub/linux"
 CPAN_SITE="https://www.cpan.org/modules/by-module"
 PYPI_SITE="https://files.pythonhosted.org/packages/source"
-MOZILLA_SITE="https://ftp.mozilla.org/pub"
+MOZILLA_SITE="https://download-installer.cdn.mozilla.net/pub"
 GNU_SITE="https://ftp.gnu.org/gnu"
 FREEDESKTOP_SITE="https://freedesktop.org/software"
 KDE_SITE="https://download.kde.org/stable"
diff --git a/srcpkgs/thunderbird/patches/avoid-redefinition.patch b/srcpkgs/thunderbird/patches/avoid-redefinition.patch
deleted file mode 100644
index 867d37c62a90..000000000000
--- a/srcpkgs/thunderbird/patches/avoid-redefinition.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Author: Rasmus Thomsen <oss@cogitri.dev>
-Reason: FF is mixing userspace net headers (net/if.h) and kernelspace ones
-(linux/if.h), leading to redefinitions. We need to include net/if.h before
-linux/if.h because linux/if.h has redifinition guards whereas net/if.h doesnt
-Upstream: No
---- a/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c	2020-07-28 19:24:32.359751046 +0200
-+++ b/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c	2020-07-28 19:24:37.856343751 +0200
-@@ -31,6 +31,7 @@
- */
- 
- #if defined(LINUX)
-+#include <net/if.h>
- #include "addrs-netlink.h"
- #include <csi_platform.h>
- #include <assert.h>
diff --git a/srcpkgs/thunderbird/patches/fix-i386-fdlibm.patch b/srcpkgs/thunderbird/patches/fix-i386-fdlibm.patch
index 831e5e03678d..bb81b4ad59e9 100644
--- a/srcpkgs/thunderbird/patches/fix-i386-fdlibm.patch
+++ b/srcpkgs/thunderbird/patches/fix-i386-fdlibm.patch
@@ -14,5 +14,5 @@
  typedef double      __double_t;
 +#endif
  typedef __double_t  double_t;
+ typedef float       __float_t;
  
- /*
diff --git a/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch b/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
index ebf48deb9720..2e475e8c6940 100644
--- a/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
+++ b/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
@@ -12,7 +12,7 @@ index 53fc3c9937f7..b23771ab80fa 100644
  
  namespace mozilla {
  
-@@ -14,6 +15,10 @@ namespace mozilla {
+@@ -14,5 +15,9 @@ namespace mozilla {
  bool FlacDecoder::IsEnabled() {
  #ifdef MOZ_FFVPX
    return StaticPrefs::media_flac_enabled();
@@ -21,5 +21,4 @@ index 53fc3c9937f7..b23771ab80fa 100644
 +  return StaticPrefs::media_flac_enabled() &&
 +         platform->SupportsMimeType("audio/flac"_ns);
  #else
-   // Until bug 1295886 is fixed.
    return false;
diff --git a/srcpkgs/thunderbird/patches/lto-thin.patch b/srcpkgs/thunderbird/patches/lto-thin.patch
index e85cbce36583..78ac8b741be5 100644
--- a/srcpkgs/thunderbird/patches/lto-thin.patch
+++ b/srcpkgs/thunderbird/patches/lto-thin.patch
@@ -1,17 +1,20 @@
-$OpenBSD: patch-config_makefiles_rust_mk,v 1.6 2021/01/26 15:52:58 landry Exp $
+This patch is a modified version of the OpenBSD patch
 
-use lto=thin to reduce memory pressure when building gkrust
+try to consume less memory when linking gkrust with debug symbols ?
+
+openbsd patch: https://github.com/openbsd/ports/blob/master/mail/mozilla-thunderbird/patches/patch-config_makefiles_rust_mk
 https://bugzilla.mozilla.org/show_bug.cgi?id=1644409
 https://bugzilla.mozilla.org/show_bug.cgi?id=1640982
-
-Index: config/makefiles/rust.mk
---- a/config/makefiles/rust.mk.orig
-+++ a/config/makefiles/rust.mk
-@@ -70,7 +70,8 @@ ifndef MOZ_DEBUG_RUST
- # gkrust_gtest. And not when doing cross-language LTO.
- ifndef MOZ_LTO_RUST_CROSS
+---
+diff --git a/config/makefiles/rust.mk b/config/makefiles/rust.mk
+index a243ee5f7f..89593f1fe1 100644
+--- a/config/makefiles/rust.mk
++++ b/config/makefiles/rust.mk
+@@ -90,7 +90,8 @@ ifndef rustflags_sancov
+ # Never enable when coverage is enabled to work around https://github.com/rust-lang/rust/issues/90045.
+ ifndef MOZ_CODE_COVERAGE
  ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE)))
--cargo_rustc_flags += -Clto
+-cargo_rustc_flags += -Clto$(if $(filter full,$(MOZ_LTO_RUST_CROSS)),=fat)
 +cargo_rustc_flags += -Clto=thin
 +export CARGO_PROFILE_RELEASE_LTO=thin
  endif
diff --git a/srcpkgs/thunderbird/patches/mallinfo.patch b/srcpkgs/thunderbird/patches/mallinfo.patch
index 0d704301f39f..a3b3e1cb53ac 100644
--- a/srcpkgs/thunderbird/patches/mallinfo.patch
+++ b/srcpkgs/thunderbird/patches/mallinfo.patch
@@ -1,14 +1,16 @@
---- a/xpcom/base/nsMemoryReporterManager.cpp	2019-03-19 17:12:20.844810044 +0100
-+++ b/xpcom/base/nsMemoryReporterManager.cpp	2019-03-19 17:13:32.505133615 +0100
-@@ -123,6 +123,7 @@
-   return GetProcSelfSmapsPrivate(aN);
+diff --git a/xpcom/base/nsMemoryReporterManager.cpp b/xpcom/base/nsMemoryReporterManager.cpp
+index 30bc60e01a..caf9f740d2 100644
+--- a/xpcom/base/nsMemoryReporterManager.cpp
++++ b/xpcom/base/nsMemoryReporterManager.cpp
+@@ -127,6 +127,7 @@ using namespace dom;
+   return GetProcSelfSmapsPrivate(aN, aPid);
  }
  
 +#ifdef __GLIBC__
  #  ifdef HAVE_MALLINFO
  #    define HAVE_SYSTEM_HEAP_REPORTER 1
- static MOZ_MUST_USE nsresult SystemHeapSize(int64_t* aSizeOut) {
-@@ -142,6 +143,7 @@
+ [[nodiscard]] static nsresult SystemHeapSize(int64_t* aSizeOut) {
+@@ -146,6 +147,7 @@ using namespace dom;
    return NS_OK;
  }
  #  endif
@@ -16,16 +18,16 @@
  
  #elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
      defined(__OpenBSD__) || defined(__FreeBSD_kernel__)
-@@ -642,6 +644,7 @@
+@@ -653,6 +655,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr, cpu_type_t aType) {
    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;
+ // Windows can have multiple separate heaps, but we should not touch non-default
+ // heaps because they may be destroyed at anytime while we hold a handle.  So we
+@@ -685,6 +688,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr, cpu_type_t aType) {
+   *aSizeOut = heapSize;
    return NS_OK;
  }
 +#endif // __GLIBC__
diff --git a/srcpkgs/thunderbird/patches/mp4parse-rust-1.70.patch b/srcpkgs/thunderbird/patches/mp4parse-rust-1.70.patch
deleted file mode 100644
index 64bf6e8e7be4..000000000000
--- a/srcpkgs/thunderbird/patches/mp4parse-rust-1.70.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Patch-Source: https://github.com/mozilla/mp4parse-rust/commit/8d58b2d5fc7f552d585964354d8269bcca3d9251
---
-From 8d58b2d5fc7f552d585964354d8269bcca3d9251 Mon Sep 17 00:00:00 2001
-From: Matthew Gregan <kinetik@flim.org>
-Date: Thu, 16 Jun 2022 13:54:02 +1200
-Subject: [PATCH] Fix `unstable-name-collisions` warning by using fully
- qualified path.
-
----
- mp4parse/src/lib.rs | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/mp4parse/src/lib.rs b/mp4parse/src/lib.rs
-index 567ee21d..4f3d7153 100644
---- a/third_party/rust/mp4parse/src/lib.rs
-+++ b/third_party/rust/mp4parse/src/lib.rs
-@@ -3506,8 +3506,13 @@ macro_rules! impl_mul {
-             type Output = $output;
- 
-             fn mul(self, rhs: $rhs) -> Self::Output {
--                static_assertions::const_assert!(<$output>::MAX <= <$inner>::MAX as u64);
--                static_assertions::const_assert!(<$lhs>::MAX * <$rhs>::MAX <= <$output>::MAX);
-+                static_assertions::const_assert!(
-+                    <$output as UpperBounded>::MAX <= <$inner>::MAX as u64
-+                );
-+                static_assertions::const_assert!(
-+                    <$lhs as UpperBounded>::MAX * <$rhs as UpperBounded>::MAX
-+                        <= <$output as UpperBounded>::MAX
-+                );
- 
-                 let lhs: $inner = self.get().into();
-                 let rhs: $inner = rhs.get().into();
diff --git a/srcpkgs/thunderbird/patches/python3.11.patch b/srcpkgs/thunderbird/patches/python3.11.patch
deleted file mode 100644
index 2facee5ebb2b..000000000000
--- a/srcpkgs/thunderbird/patches/python3.11.patch
+++ /dev/null
@@ -1,238 +0,0 @@
-Patch-Source: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267709
-Patch-Source: https://hg.mozilla.org/mozilla-central/rev/f54162b2c1f2fe52c6137ab2c3469a1944f58b27
---- a/xpcom/idl-parser/xpidl/xpidl.py
-+++ b/xpcom/idl-parser/xpidl/xpidl.py
-@@ -1633,13 +1633,13 @@ class IDLParser(object):
-     t_ignore = " \t"
- 
-     def t_multilinecomment(self, t):
--        r"/\*(?s).*?\*/"
-+        r"/\*(\n|.)*?\*/"
-         t.lexer.lineno += t.value.count("\n")
-         if t.value.startswith("/**"):
-             self._doccomments.append(t.value)
- 
-     def t_singlelinecomment(self, t):
--        r"(?m)//.*?$"
-+        r"//[^\n]*"
- 
-     def t_IID(self, t):
-         return t
-@@ -1652,7 +1652,7 @@ class IDLParser(object):
-         return t
- 
-     def t_LCDATA(self, t):
--        r"(?s)%\{[ ]*C\+\+[ ]*\n(?P<cdata>.*?\n?)%\}[ ]*(C\+\+)?"
-+        r"%\{[ ]*C\+\+[ ]*\n(?P<cdata>(\n|.)*?\n?)%\}[ ]*(C\+\+)?"
-         t.type = "CDATA"
-         t.value = t.lexer.lexmatch.group("cdata")
-         t.lexer.lineno += t.value.count("\n")
-
-
-# HG changeset patch
-# User ahochheiden <ahochheiden@mozilla.com>
-# Date 1654151264 0
-# Node ID f54162b2c1f2fe52c6137ab2c3469a1944f58b27
-# Parent  6e7776492240c27732840d65a33dcc440fa1aba0
-Bug 1769631 - Remove 'U' from 'mode' parameters for various 'open' calls to ensure Python3.11 compatibility r=firefox-build-system-reviewers,glandium
-
-The 'U' flag represents "universal newline". It has been deprecated
-since Python3.3. Since then "universal newline" is the default when a
-file is opened in text mode (not bytes). In Python3.11 using the 'U'
-flag throws errors. There should be no harm in removing 'U' from 'open'
-everywhere it is used, and doing allows the use of Python3.11.
-
-For more reading see: https://docs.python.org/3.11/whatsnew/3.11.html#changes-in-the-python-api
-
-Differential Revision: https://phabricator.services.mozilla.com/D147721
-
-diff --git a/dom/base/usecounters.py b/dom/base/usecounters.py
---- a/dom/base/usecounters.py
-+++ b/dom/base/usecounters.py
-@@ -3,17 +3,17 @@
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
- 
- import collections
- import re
- 
- 
- def read_conf(conf_filename):
-     # Can't read/write from a single StringIO, so make a new one for reading.
--    stream = open(conf_filename, "rU")
-+    stream = open(conf_filename, "r")
- 
-     def parse_counters(stream):
-         for line_num, line in enumerate(stream):
-             line = line.rstrip("\n")
-             if not line or line.startswith("//"):
-                 # empty line or comment
-                 continue
-             m = re.match(r"method ([A-Za-z0-9]+)\.([A-Za-z0-9]+)$", line)
-diff --git a/python/mozbuild/mozbuild/action/process_define_files.py b/python/mozbuild/mozbuild/action/process_define_files.py
---- a/python/mozbuild/mozbuild/action/process_define_files.py
-+++ b/python/mozbuild/mozbuild/action/process_define_files.py
-@@ -31,17 +31,17 @@ def process_define_file(output, input):
- 
-     config = PartialConfigEnvironment(topobjdir)
- 
-     if mozpath.basedir(
-         path, [mozpath.join(topsrcdir, "js/src")]
-     ) and not config.substs.get("JS_STANDALONE"):
-         config = PartialConfigEnvironment(mozpath.join(topobjdir, "js", "src"))
- 
--    with open(path, "rU") as input:
-+    with open(path, "r") as input:
-         r = re.compile(
-             "^\s*#\s*(?P<cmd>[a-z]+)(?:\s+(?P<name>\S+)(?:\s+(?P<value>\S+))?)?", re.U
-         )
-         for l in input:
-             m = r.match(l)
-             if m:
-                 cmd = m.group("cmd")
-                 name = m.group("name")
-diff --git a/python/mozbuild/mozbuild/backend/base.py b/python/mozbuild/mozbuild/backend/base.py
---- a/python/mozbuild/mozbuild/backend/base.py
-+++ b/python/mozbuild/mozbuild/backend/base.py
-@@ -267,17 +267,17 @@ class BuildBackend(LoggingMixin):
-         If an exception is raised, |mach build| will fail with a
-         non-zero exit code.
-         """
-         self._write_purgecaches(config)
- 
-         return status
- 
-     @contextmanager
--    def _write_file(self, path=None, fh=None, readmode="rU"):
-+    def _write_file(self, path=None, fh=None, readmode="r"):
-         """Context manager to write a file.
- 
-         This is a glorified wrapper around FileAvoidWrite with integration to
-         update the summary data on this instance.
- 
-         Example usage:
- 
-             with self._write_file('foo.txt') as fh:
-diff --git a/python/mozbuild/mozbuild/preprocessor.py b/python/mozbuild/mozbuild/preprocessor.py
---- a/python/mozbuild/mozbuild/preprocessor.py
-+++ b/python/mozbuild/mozbuild/preprocessor.py
-@@ -526,17 +526,17 @@ class Preprocessor:
-             if not options.output:
-                 raise Preprocessor.Error(
-                     self, "--depend doesn't work with stdout", None
-                 )
-             depfile = get_output_file(options.depend)
- 
-         if args:
-             for f in args:
--                with io.open(f, "rU", encoding="utf-8") as input:
-+                with io.open(f, "r", encoding="utf-8") as input:
-                     self.processFile(input=input, output=out)
-             if depfile:
-                 mk = Makefile()
-                 mk.create_rule([six.ensure_text(options.output)]).add_dependencies(
-                     self.includes
-                 )
-                 mk.dump(depfile)
-                 depfile.close()
-@@ -855,17 +855,17 @@ class Preprocessor:
-         self.checkLineNumbers = False
-         if isName:
-             try:
-                 args = _to_text(args)
-                 if filters:
-                     args = self.applyFilters(args)
-                 if not os.path.isabs(args):
-                     args = os.path.join(self.curdir, args)
--                args = io.open(args, "rU", encoding="utf-8")
-+                args = io.open(args, "r", encoding="utf-8")
-             except Preprocessor.Error:
-                 raise
-             except Exception:
-                 raise Preprocessor.Error(self, "FILE_NOT_FOUND", _to_text(args))
-         self.checkLineNumbers = bool(
-             re.search("\.(js|jsm|java|webidl)(?:\.in)?$", args.name)
-         )
-         oldFile = self.context["FILE"]
-@@ -909,17 +909,17 @@ class Preprocessor:
- 
-     def do_error(self, args):
-         raise Preprocessor.Error(self, "Error: ", _to_text(args))
- 
- 
- def preprocess(includes=[sys.stdin], defines={}, output=sys.stdout, marker="#"):
-     pp = Preprocessor(defines=defines, marker=marker)
-     for f in includes:
--        with io.open(f, "rU", encoding="utf-8") as input:
-+        with io.open(f, "r", encoding="utf-8") as input:
-             pp.processFile(input=input, output=output)
-     return pp.includes
- 
- 
- # Keep this module independently executable.
- if __name__ == "__main__":
-     pp = Preprocessor()
-     pp.handleCommandLine(None, True)
-diff --git a/python/mozbuild/mozbuild/util.py b/python/mozbuild/mozbuild/util.py
---- a/python/mozbuild/mozbuild/util.py
-+++ b/python/mozbuild/mozbuild/util.py
-@@ -231,17 +231,17 @@ class FileAvoidWrite(BytesIO):
-     enabled by default because it a) doesn't make sense for binary files b)
-     could add unwanted overhead to calls.
- 
-     Additionally, there is dry run mode where the file is not actually written
-     out, but reports whether the file was existing and would have been updated
-     still occur, as well as diff capture if requested.
-     """
- 
--    def __init__(self, filename, capture_diff=False, dry_run=False, readmode="rU"):
-+    def __init__(self, filename, capture_diff=False, dry_run=False, readmode="r"):
-         BytesIO.__init__(self)
-         self.name = filename
-         assert type(capture_diff) == bool
-         assert type(dry_run) == bool
-         assert "r" in readmode
-         self._capture_diff = capture_diff
-         self._write_to_file = not dry_run
-         self.diff = None
-diff --git a/python/mozbuild/mozpack/files.py b/python/mozbuild/mozpack/files.py
---- a/python/mozbuild/mozpack/files.py
-+++ b/python/mozbuild/mozpack/files.py
-@@ -549,17 +549,17 @@ class PreprocessedFile(BaseFile):
-         self.defines = defines
-         self.extra_depends = list(extra_depends or [])
-         self.silence_missing_directive_warnings = silence_missing_directive_warnings
- 
-     def inputs(self):
-         pp = Preprocessor(defines=self.defines, marker=self.marker)
-         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
- 
--        with _open(self.path, "rU") as input:
-+        with _open(self.path, "r") as input:
-             with _open(os.devnull, "w") as output:
-                 pp.processFile(input=input, output=output)
- 
-         # This always yields at least self.path.
-         return pp.includes
- 
-     def copy(self, dest, skip_if_older=True):
-         """
-@@ -606,17 +606,17 @@ class PreprocessedFile(BaseFile):
-             return False
- 
-         deps_out = None
-         if self.depfile:
-             deps_out = FileAvoidWrite(self.depfile)
-         pp = Preprocessor(defines=self.defines, marker=self.marker)
-         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
- 
--        with _open(self.path, "rU") as input:
-+        with _open(self.path, "r") as input:
-             pp.processFile(input=input, output=dest, depfile=deps_out)
- 
-         dest.close()
-         if self.depfile:
-             deps_out.close()
- 
-         return True
- 
-
diff --git a/srcpkgs/thunderbird/patches/rust-configure.patch b/srcpkgs/thunderbird/patches/rust-configure.patch
index 61fb2ba891d9..b5ff2987008c 100644
--- a/srcpkgs/thunderbird/patches/rust-configure.patch
+++ b/srcpkgs/thunderbird/patches/rust-configure.patch
@@ -6,9 +6,11 @@ instead use what is set in RUST_TARGET
 
 Skip extra checks on cross builds (broken for arm*)
 
---- a/build/moz.configure/rust.configure	2020-12-12 01:35:33.000000000 +0100
-+++ b/build/moz.configure/rust.configure	2020-12-15 19:45:16.467750787 +0100
-@@ -91,9 +91,6 @@
+diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure
+index e64dc5d5ec..c4778f8cc8 100644
+--- a/build/moz.configure/rust.configure
++++ b/build/moz.configure/rust.configure
+@@ -91,9 +91,6 @@ def unwrap_rustup(prog, name):
      return unwrap
  
  
@@ -18,7 +20,7 @@ Skip extra checks on cross builds (broken for arm*)
  
  set_config("CARGO", cargo)
  set_config("RUSTC", rustc)
-@@ -260,7 +257,9 @@
+@@ -274,7 +271,9 @@ def rust_supported_targets(rustc):
          data.setdefault(key, []).append(namespace(rust_target=t, target=info))
      return data
  
@@ -29,24 +31,26 @@ Skip extra checks on cross builds (broken for arm*)
  def detect_rustc_target(
      host_or_target, compiler_info, arm_target, rust_supported_targets
  ):
-@@ -382,12 +381,12 @@
+@@ -396,12 +395,14 @@ def detect_rustc_target(
  
          return None
  
 -    rustc_target = find_candidate(candidates)
 +    rustc_target = os.environ['RUST_TARGET']
++
  
      if rustc_target is None:
          die("Don't know how to translate {} for rustc".format(host_or_target.alias))
  
 -    return rustc_target
 +    return ensure_unicode(rustc_target, system_encoding)
++
  
  
  @imports("os")
-@@ -410,35 +409,6 @@
+@@ -423,35 +424,6 @@ def assert_rust_compile(host_or_target, rustc_target, rustc):
  
-         os.write(in_fd, ensure_binary(source))
+         os.write(in_fd, source)
          os.close(in_fd)
 -
 -        cmd = [
@@ -80,7 +84,7 @@ Skip extra checks on cross builds (broken for arm*)
      finally:
          os.remove(in_path)
          os.remove(out_path)
-@@ -462,28 +432,7 @@
+@@ -475,28 +447,7 @@ def rust_host_triple(
          host, compiler_info, arm_target, rust_supported_targets
      )
      if rustc_target != rustc_host:
diff --git a/srcpkgs/thunderbird/patches/sandbox-fork.patch b/srcpkgs/thunderbird/patches/sandbox-fork.patch
index d4584e74b91c..a8cb89394f87 100644
--- a/srcpkgs/thunderbird/patches/sandbox-fork.patch
+++ b/srcpkgs/thunderbird/patches/sandbox-fork.patch
@@ -1,8 +1,8 @@
-make SYS_fork non-fatal, musl uses it for fork(2)
-
+diff --git a/security/sandbox/linux/SandboxFilter.cpp b/security/sandbox/linux/SandboxFilter.cpp
+index 20e9b59685..e053580992 100644
 --- a/security/sandbox/linux/SandboxFilter.cpp
 +++ b/security/sandbox/linux/SandboxFilter.cpp
-@@ -1420,6 +1420,10 @@
+@@ -1598,6 +1598,11 @@ class ContentSandboxPolicy : public SandboxPolicyCommon {
          // usually do something reasonable on error.
        case __NR_clone:
          return ClonePolicy(Error(EPERM));
@@ -10,6 +10,7 @@ make SYS_fork non-fatal, musl uses it for fork(2)
 +      case __NR_fork:
 +        return Error(ENOSYS);
 +#  endif
++
  
- #  ifdef __NR_fadvise64
-       case __NR_fadvise64:
+       case __NR_clone3:
+         return Error(ENOSYS);
diff --git a/srcpkgs/thunderbird/patches/skia-sucks1.patch b/srcpkgs/thunderbird/patches/skia-sucks1.patch
index cd9eecccf610..027d97bfce64 100644
--- a/srcpkgs/thunderbird/patches/skia-sucks1.patch
+++ b/srcpkgs/thunderbird/patches/skia-sucks1.patch
@@ -1,8 +1,8 @@
 https://bugzilla.mozilla.org/show_bug.cgi?id=1504834#c5
 https://bugzilla.mozilla.org/attachment.cgi?id=9028600
 
---- a/gfx/skia/skia/third_party/skcms/skcms.cc
-+++ b/gfx/skia/skia/third_party/skcms/skcms.cc
+--- a/gfx/skia/skia/modules/skcms/skcms.cc
++++ b/gfx/skia/skia/modules/skcms/skcms.cc
 @@ -30,6 +30,8 @@
          #include <avx512fintrin.h>
          #include <avx512dqintrin.h>
@@ -11,7 +11,7 @@ https://bugzilla.mozilla.org/attachment.cgi?id=9028600
 +    #define SKCMS_PORTABLE
  #endif
  
- // sizeof(x) will return size_t, which is 32-bit on some machines and 64-bit on others.
+ static bool runtime_cpu_detection = true;
 @@ -280,20 +282,28 @@ enum {
  static uint16_t read_big_u16(const uint8_t* ptr) {
      uint16_t be;
diff --git a/srcpkgs/thunderbird/patches/skia-sucks2.patch b/srcpkgs/thunderbird/patches/skia-sucks2.patch
deleted file mode 100644
index 1a498f8711dd..000000000000
--- a/srcpkgs/thunderbird/patches/skia-sucks2.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-# 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
---- a/gfx/skia/skia/include/private/SkNx.h	Tue Aug 20 09:46:55 2019 +0200
-+++ b/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
---- a/gfx/skia/skia/src/opts/SkBlitMask_opts.h	Tue Aug 20 09:46:55 2019 +0200
-+++ b/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) {
diff --git a/srcpkgs/thunderbird/template b/srcpkgs/thunderbird/template
index 9709c5339bce..551e968ce984 100644
--- a/srcpkgs/thunderbird/template
+++ b/srcpkgs/thunderbird/template
@@ -3,15 +3,15 @@
 # THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/thunderbird-i18n".
 #
 pkgname=thunderbird
-version=102.6.1
-revision=4
+version=115.0
+revision=1
 build_helper="rust"
 short_desc="Standalone Mail/News reader"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="MPL-2.0, GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.thunderbird.net/"
-distfiles="${MOZILLA_SITE}/${pkgname}/releases/${version}/source/${pkgname}-${version}.source.tar.xz"
-checksum=8b8cb5d7532ad8ee65061d2f284ae9f0470e7614dfcfc3c37ca945bcb96d1183
+distfiles="${MOZILLA_SITE}/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz"
+checksum=3edc85647dcebde8b84c17e6eeff6ca9866a9f0ffe9a67d786fdb442c8a9a9ad
 
 lib32disabled=yes
 
@@ -24,7 +24,7 @@ makedepends="nss-devel libjpeg-turbo-devel gtk+3-devel icu-devel
  $(vopt_if dbus dbus-glib-devel) $(vopt_if pulseaudio pulseaudio-devel)
  $(vopt_if xscreensaver libXScrnSaver-devel)
  $(vopt_if sndio sndio-devel) $(vopt_if jack jack-devel)"
-depends="nss>=3.72 nspr>=4.32 desktop-file-utils hicolor-icon-theme"
+depends="nss>=3.72 nspr>=4.32 desktop-file-utils hicolor-icon-theme libotr"
 
 build_options="alsa jack dbus pulseaudio xscreensaver sndio wayland"
 build_options_default="alsa jack dbus pulseaudio xscreensaver sndio wayland"

From 264f84327e11b2c31d947a5b7bdf0462f2283e17 Mon Sep 17 00:00:00 2001
From: Pascal Huber <pascal.huber@resolved.ch>
Date: Wed, 26 Apr 2023 12:09:25 +0200
Subject: [PATCH 2/2] thunderbird-i18n: udpate to 115.0

---
 srcpkgs/thunderbird-i18n/template | 135 +++++++++++++++---------------
 1 file changed, 67 insertions(+), 68 deletions(-)

diff --git a/srcpkgs/thunderbird-i18n/template b/srcpkgs/thunderbird-i18n/template
index 17830bddd777..4f500e626e9c 100644
--- a/srcpkgs/thunderbird-i18n/template
+++ b/srcpkgs/thunderbird-i18n/template
@@ -1,6 +1,6 @@
 # Template file for 'thunderbird-i18n'
 pkgname=thunderbird-i18n
-version=102.6.1
+version=115.0
 revision=1
 build_style=meta
 short_desc="Thunderbird language packs"
@@ -106,70 +106,69 @@ _pkgtmpl() {
 			usr/lib/thunderbird/extensions langpack-${_lang}@thunderbird.mozilla.org.xpi
 	}
 }
-
-checksum="5935be82bcbd313b58520d95b04dc32c462e47df88f9724bb31b21686f8b4b77
- 142c0bd4d67b03320db94ae8002c8d67d9bc481a7ad728efa17ba7ae09e9a971
- 5547af80c73146c9892ad2dcd7fb5c6616c9a3a5b49868a23f03914ae2da1537
- e6f34bb2a5412ef9127aacd87823c84ca2881d47b15a45a96751a7557d1e0398
- cb35b936f2db79a897e1372ea34a1fb8237885030446f29269b940c0f221d733
- ada9c925979d25cb0e1549d20466b7e22653931715dd1a7fe85ca835caddf7f7
- 9b92561b20face8de88a77a579afa6d1404f55c69340993508fcc3153e1bd70b
- 64db6133cc87197cb793e0e33b72345bc30dabf862a06f7574321ea783c54645
- db622d082616525302f8d32b9f41793804d51495d1a7b1f62125ed9daedd3fb2
- 919ccec7292a6cf9ccce66fc7a91bbae2a3f93d965ecb4237380256cc8c344dd
- f160cb1db40b31815096c0c58f9aa75213e294600c12fef2d2deb741e24e22dd
- ce4e51c46cb0860c2671606ef94bff741b2e3d5e70e485b9c5c90d0e481cc5b2
- 05a552baec6b12b7e3f9270a628ff6a3fe62ec17c232f905465317e85e40e731
- 6bc18f1db7d0233c9d3bc0cf277234322845d309918681636c30a2c131bd90e9
- a7cc9b51e57b4de49f958cf1ea47d526e6873318fba96b52ee42d541a2e35902
- bf1fac8be9eca95bdbc9f8542445301e146148afe69b40a4ea41bfdf64ab1034
- 85e3c40c5ef6bd2fdbf9951304bec1f17e2f7a212abdf20cf103a5e7b73f2be9
- 6489211d465c053182484faae07c708e076b82a88d0ebecfda071f4bb41b5677
- f0d0d4a58d6bac842c28bee253e6d5906e582b359173fdeedb6d4c40f0b9a4c8
- 4e3da06699c1cc87b735ef9d181f8cc33c989f44840d02c9b9e5dfd893a8c05e
- 0dcabb9158d29001082801b1703946b1df9e22653fc7c66c9a725f102f2ada00
- 1e3ee2f9d0291ec2aa0a2d5939ca3074d6b6a7da533186e227da1d3cc2cc7974
- ab7931be527b56dea1939b048030647e4311b0c0eaa23b7843f3baab180801ba
- a592cfeb20a346ad8b24facca3f0da2c5fdd65156aafea67b0c3793bb99ab0a1
- 32740a1261d43b6bec2b99e2da64bdf201c60b1d0651a5a5db548e1180cf5fb1
- e9e669a9917eab86af336c1d149910cb8606e21708c2b5707d87452c455905b0
- 777d625c67cbe9e710ac7fffda880e0a1fb523f8cafc6ac2c3b227b2d5de38f5
- 63728cede6b88d8352b9398c675c4537527de00ee8a0e120bcc905be9f47ae89
- 97f387a2b47303ca475eeab466a0d9f4bc64554b82c55a00f2da4cea431aaa03
- c875c6a19505c6a04cbeba85baad5d9432efd930d920eebb72413d6642a33d3f
- 4ebd23d9533cf2c5b63ec4dc6b6f83df742c473d7d108dd70b9947d014a4ec45
- de78a9bdb410bd9850b4d1197442e263cfb7f3a112917aa40f76a5c50f5ae64c
- b23fb2ac9a531848ef30e960fdd3174ae970f84b42a2adec1bb34329879acd96
- b7024f86fac5844692b7e5c859e91c721a8279ee60880cafe9479476559bd9fa
- 7107ffa0816d059147381b63ee31d66b4ad9b6af77ed409c05994fc2eb5c597d
- 1e1144a17959632ccce43025f4addc4adea7c0c225bac529f99b501604b96b53
- 3697fe13197519a9838584a17ed612ae08d9c603d56340df13c42fb971ddbca4
- d357fa261223596406a931867f84f1aefaa4ff8556257a005e0d5061c6b5e8cf
- a85066ac413255ea51260e8c690b7a4fe8602ceb628e7d2fa6803ccafa02c9c8
- a9850ec702c480ab9ed2bbee16f8ffea2fa1e60da5f68f0f51b051699a3551de
- cd784b2b6317748241bc8f5192d5d3e734cc8747b61955485a859faad4be151b
- f67ba1abdbf107f5f18db505ea5c5b588bd4fbdd9c589991a643db0da1204f4b
- 8de924873919f06468f58d8a1dae8e9d2886d3705aa59b2dc7d30b9659a5327a
- 8b2b9ec349e0e562b7e681f8b9c910256c46953c1cd12f131d7e6f04469954f6
- 5ddd93aff16c17626a170fd0a5c95a72e9ab7bcaeaff67f36445ddd21100f42d
- 7bbeb6237a36f375cf78820e59dc61e619854bcf031852a5e8201b783176deac
- f77a1a325100e9f4bd84eeba002b35b63bad535b723ce854b0ce85e63776de38
- bf1573cca7b0892ca234a5bb2e44646ba997c0be8051017f35ae217aa7f60bdb
- 671bb222053b1fa8bb609095e518392dd3cb1ce2dde780ed34441118324cb551
- 6c4c7032d76b31bb76abfae5c5e288bd0a82bbcf7d9bf8aa9197bea687c86a46
- 4195b95b23a643925488e969accb294d1c056247ccfec745748d6ee0b0c94851
- ebaa54f3a992514bbf54bce4ab82743390c715a81343739948efd0ac3ca33599
- 868b30b8b311aed6c74b8d5fc05b7c4a0f32f56602b594229ddcadff2733a1f3
- 75f7542f8d3d49cf4e16023fae32a329fa8e804c90bae236a6415a4a045f6ce0
- ea857d827ee2cc580fae43772648cc410c1bcd4c8612cff9a3a7d11b04e54725
- 25716f39d2d7d25f448dc9a68270f51124f1d234f0b9482743dcc0c1a00fa8b1
- 42d52c4ce57e8cae43667faf7600e98d085b0ab713e7607bc1dae1f34932be67
- 5319b79f719dd27e45ecca54d29482d6558f41947db5c4ec4b70c3e25bb8f55a
- 88bcbfa7a2b006b93fd715810661b464e7b150006f046a94e6c03d2e067ae7e3
- 838d84317a7c51c13329c919d4479396b30233136b70fe025faf968b916ba1c1
- 5f686f697c1093c45ef882c3feb1def6064f458d5ae75a74962375b91c6027d5
- 9f9a7a4e6d73698fdc623384a666e677ce2d32990bc69e16aa631a34371cdf78
- 0ba4499c5805a83172e5dcbdc8fd8e464824827f94ed1849d9a1797a9b386e00
- 41f65c5307ec97310b33ace466439e4abf008d461be3835f545e4194e6c54940
- edd966278b660bb280e8e319300e18652ce2ef0fca5baeeb72696b5fd2a03d69
- 13d667aaf3338da21355c042b3a07567553ee48bf0dc071f9a55ef49451de21c"
+checksum="2795eb87bc114db830a3758d4b521eb1a1ffd9b24eeca850c46f839c4917b83a
+ 35bc76f1bfe843a5b49204d2cad6f8ba3ccfe423b7f3f7660083292adcab51f6
+ a647bea8f334322454314b4f5f0280f7f5d109b272811eec029afd6d847f5533
+ 76aab1c6e2e3b279b468e9e350cdb3984c8c1efc18980fc9efce46e215495535
+ 3245144d2b3fa7eace71dcd18599c1e1e1519af2121f1b8e8b1dc4a8c600f471
+ d1c9edfd1d56c2c56052d5d547d45f84e34a4f3a45a5960d0962cef84a860306
+ 7bfc2e8ede683b5e639d452472e5f6658b9af8f4bfc549e7169c48bf83423eb2
+ 3a2e8d6667b0b22ff6599b8f4fb68461f39d9e4992ee1f025407bdcb82270740
+ 72faf0a2c19b981e984d249aef68928a8667e9cb56342580f44c901b99148356
+ 2101e99c5ef8c5fefd9d9b093bf8a8688310e1727ad66a11f342ca33cfdc5a42
+ ab6d56b072cc8736b64f86319889f873a5fca23ac0bb33e73994295d5e796337
+ 56ddfc0ae04363601c62fcb862a5b9bd1b3218ecbce809b96e416409afcd8001
+ d883155840ca6fe912c2f95b4b2960b5e8edf4871ef413b4a8309b983ef883e8
+ 2c926ec1ec9fbffb228fa6f32055d8b03ee68593b01115f8eea6ae82344ad44b
+ 75919273248d9a8a9822d98e3c7540582c70a15f2d412074983aa8b16d807aba
+ e5f905e6e14330e4b65d752b7fd90c68e58e78d57abb670209e277538203beea
+ cd8d1aed0bfdad4f8201cf97679814fb919d01c63b3e1a2dbbdbbb7e0d22e013
+ 0858b70dbf53e3d3626cc4a8910435e91cf2aeca48ec3547b5539357115d9575
+ 3d7daa749cb4f640f20823483581d494e0a68369c1f390d61bb59e404627e531
+ c688a2689a7849a8e111ea3fcc820de4c3b1d60e1212e51ddf9f9fc83252d01b
+ 577ba1a5fa7142bb7efa175485940c35302bbff6cd43c120553068b77272accd
+ f89c227d2c2e5115a20d22868b3adc9e202cd08b0daf7ac43050ff7920d2b8d3
+ c0e0b90e1136a2b0be1eb539e6f158976fa05f398bbae18b92ce57fa4639a64d
+ eb347b20e13c4308987c7e52667ff93937d374a56d12f70747b79e063cc096a9
+ 766af2c371926414714b4cd403e26b46eb2394aae88af2921387f0c82fa78267
+ a834879a3f83a3849b5895fea2870d9b95237a46e2e61fe19b02f8cc47b3e493
+ 4ac7c69dcbe3292efbc610f3cebd49837569cd057b567b60bd3ca2e7204bcd21
+ bfbd481a956dc0e82fd1386eb4607b288e56230d829c19d7d8492cea9f7c6cdb
+ 23c7c48c0772a3056218055c7f5ee676e493dc35f35c714f7b2e43bd8fe986dc
+ 052154888d2c1eb8a1a234d19919a943a1bba71709259b9b87f3e89036ba784c
+ 3da3c384ceb9b0ee2ef87065eee6a1f8e03645853c68ecd05f320e0bc1b6081a
+ 98ec455fa04aaa9c81e034383c6e9151eba247113d5681223cab9164ec548a8b
+ 466329a0885c83c6bfce8bafc1a3cbd5bf7614d28495d6c168fb1169755d6b27
+ ee143ad8f2c195b453496dc576e03154c707f0706cb6c82c7120f09c91a079c2
+ b2d9cdb75ca10e31426331c2b978122e1d8f6089b7ad580798958b81aeafd210
+ 0af499fe0d38230a7c4796e439581d35bded64457b49e142650fde641ceaa828
+ df5cdc43653ad81a33f305a58a1429377b9ff70652b3cfa8efcd559d23cda592
+ 5c3edac5f619b7d4bcf2f801ed82e6c73b889277b0fd142d0beaf1af63739ae3
+ d9ffc08cbfbc3c386117234c80edfef31c4c61a08778026f3dbc304e1e2b5588
+ 0c44def4e69d0116b1ed0335eed8dcce22c01cc1baaa0ed8c9be9161bbe460ca
+ 4e862710ce361be02f160430da67de5e14bdd8c36d6f915e8589cd5b13bce7be
+ 576fae0ba50d25742548e44d8e0f0ba6fce7bb108e495b988d093f96f4608e76
+ 76589f4722c3a6deb3f470eaa10b09de2d7e20a90563bc3f7ecb1146256e4846
+ 997f89eeec54328b84255a478d7bea2ee86054af3165b83b559ca748ad1f0ed2
+ 3bd42654702043a7333a2ab1fb34aa55354e2f3a075f5f922c0931f43606b0a5
+ f5761d69d311abc3fa9ddd63101808e02e7df39992c34744b8786baf10a8bd79
+ 10e0c72af868e1429013d89a8d700d2e601924049cf93cc25020fe335307a31e
+ fd9f38014ee0b8aa292610c757c81edccc996652573427fb7fe7754b80732066
+ c21f52050b85935689d96656c13259664ba046944bd0cb136db7db5859e90614
+ 83840f492dc9f9cbdd65593cc6ffd7c0c85c9720c527202b991af0df64062588
+ c5afb7a8e031df877ae66f0e0c1abc20b3c4ffeef9510642eddd6971c1df119d
+ a6cf787baecb27695f3764f87369afb10896edcd515d744fe35462b387ddf4ec
+ fdb3203916a31637b39428ae491e8f9704eebde791d48b4470d4e3f26abe393a
+ 33720e23c7f518ab7a8cfe103e56f0cb5c3cdd38933757ded3c5a17a82af81d9
+ be5ffaa88e17075137fd1ab73de9c5d7aa3874ae5d7348c63c9eb337c2dda1d1
+ d4cd085355c29206456729de82859c5f23515c3d83a9729605965928105ac79c
+ 397276efc3f4c6dfae6efb3e2025bf767f4de1a886774119e431a60cf185691a
+ c4a95222d6905100e8720690b37c5f6bb26f7086dff1f59f864ad992df2dd80b
+ 91abe4d68395f0dd77a85ac45626d8eb998df2f0695ba1d3b7a240940a079949
+ c1f6d49be3cec81ff732d7e1ff318a745a0a368199f1179693a11356b01a1771
+ ba91ecb70ed128ad52cd31917a4c0e7fc21ce7d5211619c01daa9b2982ee0f73
+ 9b198f5bce975e98084ee9be9b7f388aa2f42c342addb2890305afe47bd01084
+ 8afacc89f22054e7b83b500f907dea82fc7456d233a3b6a0f91833ac3ab0db05
+ bcf10378a8fe52b4882d52ad19d7f5b41abe2c4685aab05d2cba081da64a7fd6
+ 17122d6782c7b8d495e6de42259ce4543e5bbd449b0a8e6f86e2ba3a1f684d0d
+ 8230d2f47709cfd580704f8a8c795f24fca9c4e7d71b3af95223a20778f257af"

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: thunderbird: update to 115.0
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (18 preceding siblings ...)
  2023-07-15 17:03 ` [PR PATCH] [Updated] " pascal-huber
@ 2023-07-15 17:12 ` pascal-huber
  2023-07-15 18:20 ` pascal-huber
                   ` (12 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: pascal-huber @ 2023-07-15 17:12 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 3125 bytes --]

New comment by pascal-huber on void-packages repository

https://github.com/void-linux/void-packages/pull/43607#issuecomment-1636829533

Comment:
Added `libotr` runtime dependency. The UI seems a bit buggy, It won't show one of my calendars and sometimes it doesn't show the main menu to switch between emails and calendars.


Some of the errors:
```
[ImapModuleLoader] Using nsImapService.cpp
JavaScript error: resource:///modules/CalStartupService.jsm, line 18: uncaught exception: ParserError: invalid line (no token ";" or ":") "Europe/Zurich[2023c]"
JavaScript error: resource:///modules/CalStartupService.jsm, line 18: NS_ERROR_XPC_JS_THREW_JS_OBJECT: ParserError: invalid line (no token ";" or ":") "Europe/Zurich[2023c]"'ParserError: invalid line (no token ";" or ":") "Europe/Zurich[2023c]"' when calling method: [calIStartupService::startup]
console.debug: "Found 0 public keys and 0 secret keys (0 protected, 0 unprotected)"
console.warn: services.settings: Failed to load last_modified.json: TypeError: NetworkError when attempting to fetch resource.
console.error: Calendar:
  Can't create calendar for <some-id> (storage, moz-storage-calendar://): TypeError: right-hand side of 'in' should be an object, got undefined
console.error: Calendar:
  Message: TypeError: zone is null
  Stack:
    convertToZone@resource:///modules/calendar/Ical.jsm:5588:26
CalDateTime.prototype.getInTimezone<@resource:///modules/CalDateTime.jsm:141:45
unwrapSetter@resource:///modules/calendar/Ical.jsm:29:22
unwrap/<@resource:///modules/calendar/Ical.jsm:25:48
now@resource:///modules/calendar/utils/calDateTimeUtils.jsm:62:17
getStartDate@chrome://calendar/content/calendar-invitations-manager.js:347:24
updateStartDate@chrome://calendar/content/calendar-invitations-manager.js:366:30
getInvitations@chrome://calendar/content/calendar-invitations-manager.js:172:10
_doInvitationsUpdate@chrome://calendar/content/calendar-invitations-manager.js:122:52
scheduleInvitationsUpdate/this.mTimer<@chrome://calendar/content/calendar-invitations-manager.js:115:18

JavaScript error: resource:///modules/calendar/Ical.jsm, line 5588: TypeError: zone is null
console.debug: "Trying to load /usr/lib/thunderbird/libotr.so"
console.debug: "Trying to load libotr.so from system's standard library locations"
console.debug: "Trying to load libotr.so.5 from system's standard library locations"
console.debug: "Successfully loaded OTR library libotr.so.5 from system's standard library locations"
JavaScript error: resource:///modules/CalCalendarManager.jsm, line 444: TypeError: right-hand side of 'in' should be an object, got undefined
JavaScript error: chrome://calendar/content/calendar-creation.js, line 646: NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS: [JavaScript Error: "right-hand side of 'in' should be an object, got undefined" {file: "resource:///modules/CalCalendarManager.jsm" line: 444}]'[JavaScript Error: "right-hand side of 'in' should be an object, got undefined" {file: "resource:///modules/CalCalendarManager.jsm" line: 444}]' when calling method: [calICalendarManager::registerCalendar]
```

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: thunderbird: update to 115.0
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (19 preceding siblings ...)
  2023-07-15 17:12 ` pascal-huber
@ 2023-07-15 18:20 ` pascal-huber
  2023-07-16  9:53 ` pascal-huber
                   ` (11 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: pascal-huber @ 2023-07-15 18:20 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 3221 bytes --]

New comment by pascal-huber on void-packages repository

https://github.com/void-linux/void-packages/pull/43607#issuecomment-1636829533

Comment:
Added `libotr` runtime dependency. The UI seems a bit buggy, It won't show one of my calendars and sometimes it doesn't show the main menu to switch between emails and calendars.


Some of the errors:
```
[ImapModuleLoader] Using nsImapService.cpp
JavaScript error: resource:///modules/CalStartupService.jsm, line 18: uncaught exception: ParserError: invalid line (no token ";" or ":") "Europe/Zurich[2023c]"
JavaScript error: resource:///modules/CalStartupService.jsm, line 18: NS_ERROR_XPC_JS_THREW_JS_OBJECT: ParserError: invalid line (no token ";" or ":") "Europe/Zurich[2023c]"'ParserError: invalid line (no token ";" or ":") "Europe/Zurich[2023c]"' when calling method: [calIStartupService::startup]
console.debug: "Found 0 public keys and 0 secret keys (0 protected, 0 unprotected)"
console.warn: services.settings: Failed to load last_modified.json: TypeError: NetworkError when attempting to fetch resource.
console.error: Calendar:
  Can't create calendar for <some-id> (storage, moz-storage-calendar://): TypeError: right-hand side of 'in' should be an object, got undefined
console.error: Calendar:
  Message: TypeError: zone is null
  Stack:
    convertToZone@resource:///modules/calendar/Ical.jsm:5588:26
CalDateTime.prototype.getInTimezone<@resource:///modules/CalDateTime.jsm:141:45
unwrapSetter@resource:///modules/calendar/Ical.jsm:29:22
unwrap/<@resource:///modules/calendar/Ical.jsm:25:48
now@resource:///modules/calendar/utils/calDateTimeUtils.jsm:62:17
getStartDate@chrome://calendar/content/calendar-invitations-manager.js:347:24
updateStartDate@chrome://calendar/content/calendar-invitations-manager.js:366:30
getInvitations@chrome://calendar/content/calendar-invitations-manager.js:172:10
_doInvitationsUpdate@chrome://calendar/content/calendar-invitations-manager.js:122:52
scheduleInvitationsUpdate/this.mTimer<@chrome://calendar/content/calendar-invitations-manager.js:115:18

JavaScript error: resource:///modules/calendar/Ical.jsm, line 5588: TypeError: zone is null
console.debug: "Trying to load /usr/lib/thunderbird/libotr.so"
console.debug: "Trying to load libotr.so from system's standard library locations"
console.debug: "Trying to load libotr.so.5 from system's standard library locations"
console.debug: "Successfully loaded OTR library libotr.so.5 from system's standard library locations"
JavaScript error: resource:///modules/CalCalendarManager.jsm, line 444: TypeError: right-hand side of 'in' should be an object, got undefined
JavaScript error: chrome://calendar/content/calendar-creation.js, line 646: NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS: [JavaScript Error: "right-hand side of 'in' should be an object, got undefined" {file: "resource:///modules/CalCalendarManager.jsm" line: 444}]'[JavaScript Error: "right-hand side of 'in' should be an object, got undefined" {file: "resource:///modules/CalCalendarManager.jsm" line: 444}]' when calling method: [calICalendarManager::registerCalendar]
```


EDIT: everything seems fine with `TZ='Europe/Zurich;' thunderbird` (note the semicolon). T

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: thunderbird: update to 115.0
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (20 preceding siblings ...)
  2023-07-15 18:20 ` pascal-huber
@ 2023-07-16  9:53 ` pascal-huber
  2023-07-17 20:19 ` classabbyamp
                   ` (10 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: pascal-huber @ 2023-07-16  9:53 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 3183 bytes --]

New comment by pascal-huber on void-packages repository

https://github.com/void-linux/void-packages/pull/43607#issuecomment-1636829533

Comment:
Added `libotr` runtime dependency. The UI seems a bit buggy, It won't show one of my calendars and sometimes it doesn't show the main menu to switch between emails and calendars.


Some of the errors:
```
[ImapModuleLoader] Using nsImapService.cpp
JavaScript error: resource:///modules/CalStartupService.jsm, line 18: uncaught exception: ParserError: invalid line (no token ";" or ":") "Europe/Zurich[2023c]"
JavaScript error: resource:///modules/CalStartupService.jsm, line 18: NS_ERROR_XPC_JS_THREW_JS_OBJECT: ParserError: invalid line (no token ";" or ":") "Europe/Zurich[2023c]"'ParserError: invalid line (no token ";" or ":") "Europe/Zurich[2023c]"' when calling method: [calIStartupService::startup]
console.debug: "Found 0 public keys and 0 secret keys (0 protected, 0 unprotected)"
console.warn: services.settings: Failed to load last_modified.json: TypeError: NetworkError when attempting to fetch resource.
console.error: Calendar:
  Can't create calendar for <some-id> (storage, moz-storage-calendar://): TypeError: right-hand side of 'in' should be an object, got undefined
console.error: Calendar:
  Message: TypeError: zone is null
  Stack:
    convertToZone@resource:///modules/calendar/Ical.jsm:5588:26
CalDateTime.prototype.getInTimezone<@resource:///modules/CalDateTime.jsm:141:45
unwrapSetter@resource:///modules/calendar/Ical.jsm:29:22
unwrap/<@resource:///modules/calendar/Ical.jsm:25:48
now@resource:///modules/calendar/utils/calDateTimeUtils.jsm:62:17
getStartDate@chrome://calendar/content/calendar-invitations-manager.js:347:24
updateStartDate@chrome://calendar/content/calendar-invitations-manager.js:366:30
getInvitations@chrome://calendar/content/calendar-invitations-manager.js:172:10
_doInvitationsUpdate@chrome://calendar/content/calendar-invitations-manager.js:122:52
scheduleInvitationsUpdate/this.mTimer<@chrome://calendar/content/calendar-invitations-manager.js:115:18

JavaScript error: resource:///modules/calendar/Ical.jsm, line 5588: TypeError: zone is null
console.debug: "Trying to load /usr/lib/thunderbird/libotr.so"
console.debug: "Trying to load libotr.so from system's standard library locations"
console.debug: "Trying to load libotr.so.5 from system's standard library locations"
console.debug: "Successfully loaded OTR library libotr.so.5 from system's standard library locations"
JavaScript error: resource:///modules/CalCalendarManager.jsm, line 444: TypeError: right-hand side of 'in' should be an object, got undefined
JavaScript error: chrome://calendar/content/calendar-creation.js, line 646: NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS: [JavaScript Error: "right-hand side of 'in' should be an object, got undefined" {file: "resource:///modules/CalCalendarManager.jsm" line: 444}]'[JavaScript Error: "right-hand side of 'in' should be an object, got undefined" {file: "resource:///modules/CalCalendarManager.jsm" line: 444}]' when calling method: [calICalendarManager::registerCalendar]
```


EDIT: everything seems fine with `TZ='' thunderbird`

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: thunderbird: update to 115.0
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (21 preceding siblings ...)
  2023-07-16  9:53 ` pascal-huber
@ 2023-07-17 20:19 ` classabbyamp
  2023-07-17 20:47 ` pascal-huber
                   ` (9 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: classabbyamp @ 2023-07-17 20:19 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 261 bytes --]

New comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/43607#issuecomment-1638812550

Comment:
probably relevant: https://lore.kernel.org/distributions/075a20b1-869b-78f3-9ace-e106a4d43ac4@linuxlounge.net/T/#u

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: thunderbird: update to 115.0
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (22 preceding siblings ...)
  2023-07-17 20:19 ` classabbyamp
@ 2023-07-17 20:47 ` pascal-huber
  2023-07-18  4:08 ` [PR PATCH] [Updated] " classabbyamp
                   ` (8 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: pascal-huber @ 2023-07-17 20:47 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 398 bytes --]

New comment by pascal-huber on void-packages repository

https://github.com/void-linux/void-packages/pull/43607#issuecomment-1638857737

Comment:
> probably relevant: https://lore.kernel.org/distributions/075a20b1-869b-78f3-9ace-e106a4d43ac4@linuxlounge.net/T/#u

indeed. alpine seems to patch icu for thunderbird: https://git.alpinelinux.org/aports/tree/main/icu/standardize-vtzone-output.patch

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PR PATCH] [Updated] thunderbird: update to 115.0
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (23 preceding siblings ...)
  2023-07-17 20:47 ` pascal-huber
@ 2023-07-18  4:08 ` classabbyamp
  2023-07-18  4:08 ` classabbyamp
                   ` (7 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: classabbyamp @ 2023-07-18  4:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 883 bytes --]

There is an updated pull request by classabbyamp against master on the void-packages repository

https://github.com/pascal-huber/void-packages thunderbird
https://github.com/void-linux/void-packages/pull/43607

thunderbird: update to 115.0
[ci skip]

#### Testing the changes
- I tested the changes in this PR: **briefly**

#### Local build testing
- I built this PR locally for my native architecture, x86_64-glibc
- I built this PR locally for these architectures (if supported. mark crossbuilds):
 - [x] x86_64
 - [x] armv7l (crossbuild)
 - [x] aarch64 (crossbuild)
 - [x] i686 (native)
 - [x] x86_64-musl (native)
 - [ ] ~~armv6l-musl~~ (not supported)
 - [x] aarch64-musl
 
 
 #### Notes
 - Fixed `MOZILLA_SITE`
 - The UI seems a bit buggy with switching to calendars

A patch file from https://github.com/void-linux/void-packages/pull/43607.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-thunderbird-43607.patch --]
[-- Type: text/x-diff, Size: 40022 bytes --]

From 88571d4379cbfb4f0149cb83dabdd6f57693adba Mon Sep 17 00:00:00 2001
From: Pascal Huber <pascal.huber@resolved.ch>
Date: Wed, 26 Apr 2023 12:09:15 +0200
Subject: [PATCH 1/3] thunderbird: update to 115.0

---
 common/environment/setup/misc.sh              |   2 +-
 .../patches/avoid-redefinition.patch          |  15 --
 .../thunderbird/patches/fix-i386-fdlibm.patch |   2 +-
 .../thunderbird/patches/flac-no-ffvpx.patch   |   3 +-
 srcpkgs/thunderbird/patches/lto-thin.patch    |  23 +-
 srcpkgs/thunderbird/patches/mallinfo.patch    |  24 +-
 .../patches/mp4parse-rust-1.70.patch          |  32 ---
 srcpkgs/thunderbird/patches/python3.11.patch  | 238 ------------------
 .../thunderbird/patches/rust-configure.patch  |  20 +-
 .../thunderbird/patches/sandbox-fork.patch    |  11 +-
 srcpkgs/thunderbird/patches/skia-sucks1.patch |   6 +-
 srcpkgs/thunderbird/patches/skia-sucks2.patch |  44 ----
 srcpkgs/thunderbird/template                  |  10 +-
 13 files changed, 55 insertions(+), 375 deletions(-)
 delete mode 100644 srcpkgs/thunderbird/patches/avoid-redefinition.patch
 delete mode 100644 srcpkgs/thunderbird/patches/mp4parse-rust-1.70.patch
 delete mode 100644 srcpkgs/thunderbird/patches/python3.11.patch
 delete mode 100644 srcpkgs/thunderbird/patches/skia-sucks2.patch

diff --git a/common/environment/setup/misc.sh b/common/environment/setup/misc.sh
index 3f2cc09461de3..54e7d4dbc2cee 100644
--- a/common/environment/setup/misc.sh
+++ b/common/environment/setup/misc.sh
@@ -13,7 +13,7 @@ GNOME_SITE="https://download.gnome.org/sources"
 KERNEL_SITE="https://www.kernel.org/pub/linux"
 CPAN_SITE="https://www.cpan.org/modules/by-module"
 PYPI_SITE="https://files.pythonhosted.org/packages/source"
-MOZILLA_SITE="https://ftp.mozilla.org/pub"
+MOZILLA_SITE="https://download-installer.cdn.mozilla.net/pub"
 GNU_SITE="https://ftp.gnu.org/gnu"
 FREEDESKTOP_SITE="https://freedesktop.org/software"
 KDE_SITE="https://download.kde.org/stable"
diff --git a/srcpkgs/thunderbird/patches/avoid-redefinition.patch b/srcpkgs/thunderbird/patches/avoid-redefinition.patch
deleted file mode 100644
index 867d37c62a900..0000000000000
--- a/srcpkgs/thunderbird/patches/avoid-redefinition.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Author: Rasmus Thomsen <oss@cogitri.dev>
-Reason: FF is mixing userspace net headers (net/if.h) and kernelspace ones
-(linux/if.h), leading to redefinitions. We need to include net/if.h before
-linux/if.h because linux/if.h has redifinition guards whereas net/if.h doesnt
-Upstream: No
---- a/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c	2020-07-28 19:24:32.359751046 +0200
-+++ b/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c	2020-07-28 19:24:37.856343751 +0200
-@@ -31,6 +31,7 @@
- */
- 
- #if defined(LINUX)
-+#include <net/if.h>
- #include "addrs-netlink.h"
- #include <csi_platform.h>
- #include <assert.h>
diff --git a/srcpkgs/thunderbird/patches/fix-i386-fdlibm.patch b/srcpkgs/thunderbird/patches/fix-i386-fdlibm.patch
index 831e5e03678d8..bb81b4ad59e9f 100644
--- a/srcpkgs/thunderbird/patches/fix-i386-fdlibm.patch
+++ b/srcpkgs/thunderbird/patches/fix-i386-fdlibm.patch
@@ -14,5 +14,5 @@
  typedef double      __double_t;
 +#endif
  typedef __double_t  double_t;
+ typedef float       __float_t;
  
- /*
diff --git a/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch b/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
index ebf48deb97201..2e475e8c69406 100644
--- a/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
+++ b/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
@@ -12,7 +12,7 @@ index 53fc3c9937f7..b23771ab80fa 100644
  
  namespace mozilla {
  
-@@ -14,6 +15,10 @@ namespace mozilla {
+@@ -14,5 +15,9 @@ namespace mozilla {
  bool FlacDecoder::IsEnabled() {
  #ifdef MOZ_FFVPX
    return StaticPrefs::media_flac_enabled();
@@ -21,5 +21,4 @@ index 53fc3c9937f7..b23771ab80fa 100644
 +  return StaticPrefs::media_flac_enabled() &&
 +         platform->SupportsMimeType("audio/flac"_ns);
  #else
-   // Until bug 1295886 is fixed.
    return false;
diff --git a/srcpkgs/thunderbird/patches/lto-thin.patch b/srcpkgs/thunderbird/patches/lto-thin.patch
index e85cbce36583c..78ac8b741be58 100644
--- a/srcpkgs/thunderbird/patches/lto-thin.patch
+++ b/srcpkgs/thunderbird/patches/lto-thin.patch
@@ -1,17 +1,20 @@
-$OpenBSD: patch-config_makefiles_rust_mk,v 1.6 2021/01/26 15:52:58 landry Exp $
+This patch is a modified version of the OpenBSD patch
 
-use lto=thin to reduce memory pressure when building gkrust
+try to consume less memory when linking gkrust with debug symbols ?
+
+openbsd patch: https://github.com/openbsd/ports/blob/master/mail/mozilla-thunderbird/patches/patch-config_makefiles_rust_mk
 https://bugzilla.mozilla.org/show_bug.cgi?id=1644409
 https://bugzilla.mozilla.org/show_bug.cgi?id=1640982
-
-Index: config/makefiles/rust.mk
---- a/config/makefiles/rust.mk.orig
-+++ a/config/makefiles/rust.mk
-@@ -70,7 +70,8 @@ ifndef MOZ_DEBUG_RUST
- # gkrust_gtest. And not when doing cross-language LTO.
- ifndef MOZ_LTO_RUST_CROSS
+---
+diff --git a/config/makefiles/rust.mk b/config/makefiles/rust.mk
+index a243ee5f7f..89593f1fe1 100644
+--- a/config/makefiles/rust.mk
++++ b/config/makefiles/rust.mk
+@@ -90,7 +90,8 @@ ifndef rustflags_sancov
+ # Never enable when coverage is enabled to work around https://github.com/rust-lang/rust/issues/90045.
+ ifndef MOZ_CODE_COVERAGE
  ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE)))
--cargo_rustc_flags += -Clto
+-cargo_rustc_flags += -Clto$(if $(filter full,$(MOZ_LTO_RUST_CROSS)),=fat)
 +cargo_rustc_flags += -Clto=thin
 +export CARGO_PROFILE_RELEASE_LTO=thin
  endif
diff --git a/srcpkgs/thunderbird/patches/mallinfo.patch b/srcpkgs/thunderbird/patches/mallinfo.patch
index 0d704301f39f0..a3b3e1cb53ac8 100644
--- a/srcpkgs/thunderbird/patches/mallinfo.patch
+++ b/srcpkgs/thunderbird/patches/mallinfo.patch
@@ -1,14 +1,16 @@
---- a/xpcom/base/nsMemoryReporterManager.cpp	2019-03-19 17:12:20.844810044 +0100
-+++ b/xpcom/base/nsMemoryReporterManager.cpp	2019-03-19 17:13:32.505133615 +0100
-@@ -123,6 +123,7 @@
-   return GetProcSelfSmapsPrivate(aN);
+diff --git a/xpcom/base/nsMemoryReporterManager.cpp b/xpcom/base/nsMemoryReporterManager.cpp
+index 30bc60e01a..caf9f740d2 100644
+--- a/xpcom/base/nsMemoryReporterManager.cpp
++++ b/xpcom/base/nsMemoryReporterManager.cpp
+@@ -127,6 +127,7 @@ using namespace dom;
+   return GetProcSelfSmapsPrivate(aN, aPid);
  }
  
 +#ifdef __GLIBC__
  #  ifdef HAVE_MALLINFO
  #    define HAVE_SYSTEM_HEAP_REPORTER 1
- static MOZ_MUST_USE nsresult SystemHeapSize(int64_t* aSizeOut) {
-@@ -142,6 +143,7 @@
+ [[nodiscard]] static nsresult SystemHeapSize(int64_t* aSizeOut) {
+@@ -146,6 +147,7 @@ using namespace dom;
    return NS_OK;
  }
  #  endif
@@ -16,16 +18,16 @@
  
  #elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
      defined(__OpenBSD__) || defined(__FreeBSD_kernel__)
-@@ -642,6 +644,7 @@
+@@ -653,6 +655,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr, cpu_type_t aType) {
    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;
+ // Windows can have multiple separate heaps, but we should not touch non-default
+ // heaps because they may be destroyed at anytime while we hold a handle.  So we
+@@ -685,6 +688,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr, cpu_type_t aType) {
+   *aSizeOut = heapSize;
    return NS_OK;
  }
 +#endif // __GLIBC__
diff --git a/srcpkgs/thunderbird/patches/mp4parse-rust-1.70.patch b/srcpkgs/thunderbird/patches/mp4parse-rust-1.70.patch
deleted file mode 100644
index 64bf6e8e7be45..0000000000000
--- a/srcpkgs/thunderbird/patches/mp4parse-rust-1.70.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Patch-Source: https://github.com/mozilla/mp4parse-rust/commit/8d58b2d5fc7f552d585964354d8269bcca3d9251
---
-From 8d58b2d5fc7f552d585964354d8269bcca3d9251 Mon Sep 17 00:00:00 2001
-From: Matthew Gregan <kinetik@flim.org>
-Date: Thu, 16 Jun 2022 13:54:02 +1200
-Subject: [PATCH] Fix `unstable-name-collisions` warning by using fully
- qualified path.
-
----
- mp4parse/src/lib.rs | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/mp4parse/src/lib.rs b/mp4parse/src/lib.rs
-index 567ee21d..4f3d7153 100644
---- a/third_party/rust/mp4parse/src/lib.rs
-+++ b/third_party/rust/mp4parse/src/lib.rs
-@@ -3506,8 +3506,13 @@ macro_rules! impl_mul {
-             type Output = $output;
- 
-             fn mul(self, rhs: $rhs) -> Self::Output {
--                static_assertions::const_assert!(<$output>::MAX <= <$inner>::MAX as u64);
--                static_assertions::const_assert!(<$lhs>::MAX * <$rhs>::MAX <= <$output>::MAX);
-+                static_assertions::const_assert!(
-+                    <$output as UpperBounded>::MAX <= <$inner>::MAX as u64
-+                );
-+                static_assertions::const_assert!(
-+                    <$lhs as UpperBounded>::MAX * <$rhs as UpperBounded>::MAX
-+                        <= <$output as UpperBounded>::MAX
-+                );
- 
-                 let lhs: $inner = self.get().into();
-                 let rhs: $inner = rhs.get().into();
diff --git a/srcpkgs/thunderbird/patches/python3.11.patch b/srcpkgs/thunderbird/patches/python3.11.patch
deleted file mode 100644
index 2facee5ebb2ba..0000000000000
--- a/srcpkgs/thunderbird/patches/python3.11.patch
+++ /dev/null
@@ -1,238 +0,0 @@
-Patch-Source: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267709
-Patch-Source: https://hg.mozilla.org/mozilla-central/rev/f54162b2c1f2fe52c6137ab2c3469a1944f58b27
---- a/xpcom/idl-parser/xpidl/xpidl.py
-+++ b/xpcom/idl-parser/xpidl/xpidl.py
-@@ -1633,13 +1633,13 @@ class IDLParser(object):
-     t_ignore = " \t"
- 
-     def t_multilinecomment(self, t):
--        r"/\*(?s).*?\*/"
-+        r"/\*(\n|.)*?\*/"
-         t.lexer.lineno += t.value.count("\n")
-         if t.value.startswith("/**"):
-             self._doccomments.append(t.value)
- 
-     def t_singlelinecomment(self, t):
--        r"(?m)//.*?$"
-+        r"//[^\n]*"
- 
-     def t_IID(self, t):
-         return t
-@@ -1652,7 +1652,7 @@ class IDLParser(object):
-         return t
- 
-     def t_LCDATA(self, t):
--        r"(?s)%\{[ ]*C\+\+[ ]*\n(?P<cdata>.*?\n?)%\}[ ]*(C\+\+)?"
-+        r"%\{[ ]*C\+\+[ ]*\n(?P<cdata>(\n|.)*?\n?)%\}[ ]*(C\+\+)?"
-         t.type = "CDATA"
-         t.value = t.lexer.lexmatch.group("cdata")
-         t.lexer.lineno += t.value.count("\n")
-
-
-# HG changeset patch
-# User ahochheiden <ahochheiden@mozilla.com>
-# Date 1654151264 0
-# Node ID f54162b2c1f2fe52c6137ab2c3469a1944f58b27
-# Parent  6e7776492240c27732840d65a33dcc440fa1aba0
-Bug 1769631 - Remove 'U' from 'mode' parameters for various 'open' calls to ensure Python3.11 compatibility r=firefox-build-system-reviewers,glandium
-
-The 'U' flag represents "universal newline". It has been deprecated
-since Python3.3. Since then "universal newline" is the default when a
-file is opened in text mode (not bytes). In Python3.11 using the 'U'
-flag throws errors. There should be no harm in removing 'U' from 'open'
-everywhere it is used, and doing allows the use of Python3.11.
-
-For more reading see: https://docs.python.org/3.11/whatsnew/3.11.html#changes-in-the-python-api
-
-Differential Revision: https://phabricator.services.mozilla.com/D147721
-
-diff --git a/dom/base/usecounters.py b/dom/base/usecounters.py
---- a/dom/base/usecounters.py
-+++ b/dom/base/usecounters.py
-@@ -3,17 +3,17 @@
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
- 
- import collections
- import re
- 
- 
- def read_conf(conf_filename):
-     # Can't read/write from a single StringIO, so make a new one for reading.
--    stream = open(conf_filename, "rU")
-+    stream = open(conf_filename, "r")
- 
-     def parse_counters(stream):
-         for line_num, line in enumerate(stream):
-             line = line.rstrip("\n")
-             if not line or line.startswith("//"):
-                 # empty line or comment
-                 continue
-             m = re.match(r"method ([A-Za-z0-9]+)\.([A-Za-z0-9]+)$", line)
-diff --git a/python/mozbuild/mozbuild/action/process_define_files.py b/python/mozbuild/mozbuild/action/process_define_files.py
---- a/python/mozbuild/mozbuild/action/process_define_files.py
-+++ b/python/mozbuild/mozbuild/action/process_define_files.py
-@@ -31,17 +31,17 @@ def process_define_file(output, input):
- 
-     config = PartialConfigEnvironment(topobjdir)
- 
-     if mozpath.basedir(
-         path, [mozpath.join(topsrcdir, "js/src")]
-     ) and not config.substs.get("JS_STANDALONE"):
-         config = PartialConfigEnvironment(mozpath.join(topobjdir, "js", "src"))
- 
--    with open(path, "rU") as input:
-+    with open(path, "r") as input:
-         r = re.compile(
-             "^\s*#\s*(?P<cmd>[a-z]+)(?:\s+(?P<name>\S+)(?:\s+(?P<value>\S+))?)?", re.U
-         )
-         for l in input:
-             m = r.match(l)
-             if m:
-                 cmd = m.group("cmd")
-                 name = m.group("name")
-diff --git a/python/mozbuild/mozbuild/backend/base.py b/python/mozbuild/mozbuild/backend/base.py
---- a/python/mozbuild/mozbuild/backend/base.py
-+++ b/python/mozbuild/mozbuild/backend/base.py
-@@ -267,17 +267,17 @@ class BuildBackend(LoggingMixin):
-         If an exception is raised, |mach build| will fail with a
-         non-zero exit code.
-         """
-         self._write_purgecaches(config)
- 
-         return status
- 
-     @contextmanager
--    def _write_file(self, path=None, fh=None, readmode="rU"):
-+    def _write_file(self, path=None, fh=None, readmode="r"):
-         """Context manager to write a file.
- 
-         This is a glorified wrapper around FileAvoidWrite with integration to
-         update the summary data on this instance.
- 
-         Example usage:
- 
-             with self._write_file('foo.txt') as fh:
-diff --git a/python/mozbuild/mozbuild/preprocessor.py b/python/mozbuild/mozbuild/preprocessor.py
---- a/python/mozbuild/mozbuild/preprocessor.py
-+++ b/python/mozbuild/mozbuild/preprocessor.py
-@@ -526,17 +526,17 @@ class Preprocessor:
-             if not options.output:
-                 raise Preprocessor.Error(
-                     self, "--depend doesn't work with stdout", None
-                 )
-             depfile = get_output_file(options.depend)
- 
-         if args:
-             for f in args:
--                with io.open(f, "rU", encoding="utf-8") as input:
-+                with io.open(f, "r", encoding="utf-8") as input:
-                     self.processFile(input=input, output=out)
-             if depfile:
-                 mk = Makefile()
-                 mk.create_rule([six.ensure_text(options.output)]).add_dependencies(
-                     self.includes
-                 )
-                 mk.dump(depfile)
-                 depfile.close()
-@@ -855,17 +855,17 @@ class Preprocessor:
-         self.checkLineNumbers = False
-         if isName:
-             try:
-                 args = _to_text(args)
-                 if filters:
-                     args = self.applyFilters(args)
-                 if not os.path.isabs(args):
-                     args = os.path.join(self.curdir, args)
--                args = io.open(args, "rU", encoding="utf-8")
-+                args = io.open(args, "r", encoding="utf-8")
-             except Preprocessor.Error:
-                 raise
-             except Exception:
-                 raise Preprocessor.Error(self, "FILE_NOT_FOUND", _to_text(args))
-         self.checkLineNumbers = bool(
-             re.search("\.(js|jsm|java|webidl)(?:\.in)?$", args.name)
-         )
-         oldFile = self.context["FILE"]
-@@ -909,17 +909,17 @@ class Preprocessor:
- 
-     def do_error(self, args):
-         raise Preprocessor.Error(self, "Error: ", _to_text(args))
- 
- 
- def preprocess(includes=[sys.stdin], defines={}, output=sys.stdout, marker="#"):
-     pp = Preprocessor(defines=defines, marker=marker)
-     for f in includes:
--        with io.open(f, "rU", encoding="utf-8") as input:
-+        with io.open(f, "r", encoding="utf-8") as input:
-             pp.processFile(input=input, output=output)
-     return pp.includes
- 
- 
- # Keep this module independently executable.
- if __name__ == "__main__":
-     pp = Preprocessor()
-     pp.handleCommandLine(None, True)
-diff --git a/python/mozbuild/mozbuild/util.py b/python/mozbuild/mozbuild/util.py
---- a/python/mozbuild/mozbuild/util.py
-+++ b/python/mozbuild/mozbuild/util.py
-@@ -231,17 +231,17 @@ class FileAvoidWrite(BytesIO):
-     enabled by default because it a) doesn't make sense for binary files b)
-     could add unwanted overhead to calls.
- 
-     Additionally, there is dry run mode where the file is not actually written
-     out, but reports whether the file was existing and would have been updated
-     still occur, as well as diff capture if requested.
-     """
- 
--    def __init__(self, filename, capture_diff=False, dry_run=False, readmode="rU"):
-+    def __init__(self, filename, capture_diff=False, dry_run=False, readmode="r"):
-         BytesIO.__init__(self)
-         self.name = filename
-         assert type(capture_diff) == bool
-         assert type(dry_run) == bool
-         assert "r" in readmode
-         self._capture_diff = capture_diff
-         self._write_to_file = not dry_run
-         self.diff = None
-diff --git a/python/mozbuild/mozpack/files.py b/python/mozbuild/mozpack/files.py
---- a/python/mozbuild/mozpack/files.py
-+++ b/python/mozbuild/mozpack/files.py
-@@ -549,17 +549,17 @@ class PreprocessedFile(BaseFile):
-         self.defines = defines
-         self.extra_depends = list(extra_depends or [])
-         self.silence_missing_directive_warnings = silence_missing_directive_warnings
- 
-     def inputs(self):
-         pp = Preprocessor(defines=self.defines, marker=self.marker)
-         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
- 
--        with _open(self.path, "rU") as input:
-+        with _open(self.path, "r") as input:
-             with _open(os.devnull, "w") as output:
-                 pp.processFile(input=input, output=output)
- 
-         # This always yields at least self.path.
-         return pp.includes
- 
-     def copy(self, dest, skip_if_older=True):
-         """
-@@ -606,17 +606,17 @@ class PreprocessedFile(BaseFile):
-             return False
- 
-         deps_out = None
-         if self.depfile:
-             deps_out = FileAvoidWrite(self.depfile)
-         pp = Preprocessor(defines=self.defines, marker=self.marker)
-         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
- 
--        with _open(self.path, "rU") as input:
-+        with _open(self.path, "r") as input:
-             pp.processFile(input=input, output=dest, depfile=deps_out)
- 
-         dest.close()
-         if self.depfile:
-             deps_out.close()
- 
-         return True
- 
-
diff --git a/srcpkgs/thunderbird/patches/rust-configure.patch b/srcpkgs/thunderbird/patches/rust-configure.patch
index 61fb2ba891d9a..b5ff2987008cf 100644
--- a/srcpkgs/thunderbird/patches/rust-configure.patch
+++ b/srcpkgs/thunderbird/patches/rust-configure.patch
@@ -6,9 +6,11 @@ instead use what is set in RUST_TARGET
 
 Skip extra checks on cross builds (broken for arm*)
 
---- a/build/moz.configure/rust.configure	2020-12-12 01:35:33.000000000 +0100
-+++ b/build/moz.configure/rust.configure	2020-12-15 19:45:16.467750787 +0100
-@@ -91,9 +91,6 @@
+diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure
+index e64dc5d5ec..c4778f8cc8 100644
+--- a/build/moz.configure/rust.configure
++++ b/build/moz.configure/rust.configure
+@@ -91,9 +91,6 @@ def unwrap_rustup(prog, name):
      return unwrap
  
  
@@ -18,7 +20,7 @@ Skip extra checks on cross builds (broken for arm*)
  
  set_config("CARGO", cargo)
  set_config("RUSTC", rustc)
-@@ -260,7 +257,9 @@
+@@ -274,7 +271,9 @@ def rust_supported_targets(rustc):
          data.setdefault(key, []).append(namespace(rust_target=t, target=info))
      return data
  
@@ -29,24 +31,26 @@ Skip extra checks on cross builds (broken for arm*)
  def detect_rustc_target(
      host_or_target, compiler_info, arm_target, rust_supported_targets
  ):
-@@ -382,12 +381,12 @@
+@@ -396,12 +395,14 @@ def detect_rustc_target(
  
          return None
  
 -    rustc_target = find_candidate(candidates)
 +    rustc_target = os.environ['RUST_TARGET']
++
  
      if rustc_target is None:
          die("Don't know how to translate {} for rustc".format(host_or_target.alias))
  
 -    return rustc_target
 +    return ensure_unicode(rustc_target, system_encoding)
++
  
  
  @imports("os")
-@@ -410,35 +409,6 @@
+@@ -423,35 +424,6 @@ def assert_rust_compile(host_or_target, rustc_target, rustc):
  
-         os.write(in_fd, ensure_binary(source))
+         os.write(in_fd, source)
          os.close(in_fd)
 -
 -        cmd = [
@@ -80,7 +84,7 @@ Skip extra checks on cross builds (broken for arm*)
      finally:
          os.remove(in_path)
          os.remove(out_path)
-@@ -462,28 +432,7 @@
+@@ -475,28 +447,7 @@ def rust_host_triple(
          host, compiler_info, arm_target, rust_supported_targets
      )
      if rustc_target != rustc_host:
diff --git a/srcpkgs/thunderbird/patches/sandbox-fork.patch b/srcpkgs/thunderbird/patches/sandbox-fork.patch
index d4584e74b91c3..a8cb89394f878 100644
--- a/srcpkgs/thunderbird/patches/sandbox-fork.patch
+++ b/srcpkgs/thunderbird/patches/sandbox-fork.patch
@@ -1,8 +1,8 @@
-make SYS_fork non-fatal, musl uses it for fork(2)
-
+diff --git a/security/sandbox/linux/SandboxFilter.cpp b/security/sandbox/linux/SandboxFilter.cpp
+index 20e9b59685..e053580992 100644
 --- a/security/sandbox/linux/SandboxFilter.cpp
 +++ b/security/sandbox/linux/SandboxFilter.cpp
-@@ -1420,6 +1420,10 @@
+@@ -1598,6 +1598,11 @@ class ContentSandboxPolicy : public SandboxPolicyCommon {
          // usually do something reasonable on error.
        case __NR_clone:
          return ClonePolicy(Error(EPERM));
@@ -10,6 +10,7 @@ make SYS_fork non-fatal, musl uses it for fork(2)
 +      case __NR_fork:
 +        return Error(ENOSYS);
 +#  endif
++
  
- #  ifdef __NR_fadvise64
-       case __NR_fadvise64:
+       case __NR_clone3:
+         return Error(ENOSYS);
diff --git a/srcpkgs/thunderbird/patches/skia-sucks1.patch b/srcpkgs/thunderbird/patches/skia-sucks1.patch
index cd9eecccf6109..027d97bfce647 100644
--- a/srcpkgs/thunderbird/patches/skia-sucks1.patch
+++ b/srcpkgs/thunderbird/patches/skia-sucks1.patch
@@ -1,8 +1,8 @@
 https://bugzilla.mozilla.org/show_bug.cgi?id=1504834#c5
 https://bugzilla.mozilla.org/attachment.cgi?id=9028600
 
---- a/gfx/skia/skia/third_party/skcms/skcms.cc
-+++ b/gfx/skia/skia/third_party/skcms/skcms.cc
+--- a/gfx/skia/skia/modules/skcms/skcms.cc
++++ b/gfx/skia/skia/modules/skcms/skcms.cc
 @@ -30,6 +30,8 @@
          #include <avx512fintrin.h>
          #include <avx512dqintrin.h>
@@ -11,7 +11,7 @@ https://bugzilla.mozilla.org/attachment.cgi?id=9028600
 +    #define SKCMS_PORTABLE
  #endif
  
- // sizeof(x) will return size_t, which is 32-bit on some machines and 64-bit on others.
+ static bool runtime_cpu_detection = true;
 @@ -280,20 +282,28 @@ enum {
  static uint16_t read_big_u16(const uint8_t* ptr) {
      uint16_t be;
diff --git a/srcpkgs/thunderbird/patches/skia-sucks2.patch b/srcpkgs/thunderbird/patches/skia-sucks2.patch
deleted file mode 100644
index 1a498f8711dd8..0000000000000
--- a/srcpkgs/thunderbird/patches/skia-sucks2.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-# 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
---- a/gfx/skia/skia/include/private/SkNx.h	Tue Aug 20 09:46:55 2019 +0200
-+++ b/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
---- a/gfx/skia/skia/src/opts/SkBlitMask_opts.h	Tue Aug 20 09:46:55 2019 +0200
-+++ b/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) {
diff --git a/srcpkgs/thunderbird/template b/srcpkgs/thunderbird/template
index 9709c5339bce8..551e968ce984f 100644
--- a/srcpkgs/thunderbird/template
+++ b/srcpkgs/thunderbird/template
@@ -3,15 +3,15 @@
 # THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/thunderbird-i18n".
 #
 pkgname=thunderbird
-version=102.6.1
-revision=4
+version=115.0
+revision=1
 build_helper="rust"
 short_desc="Standalone Mail/News reader"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="MPL-2.0, GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.thunderbird.net/"
-distfiles="${MOZILLA_SITE}/${pkgname}/releases/${version}/source/${pkgname}-${version}.source.tar.xz"
-checksum=8b8cb5d7532ad8ee65061d2f284ae9f0470e7614dfcfc3c37ca945bcb96d1183
+distfiles="${MOZILLA_SITE}/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz"
+checksum=3edc85647dcebde8b84c17e6eeff6ca9866a9f0ffe9a67d786fdb442c8a9a9ad
 
 lib32disabled=yes
 
@@ -24,7 +24,7 @@ makedepends="nss-devel libjpeg-turbo-devel gtk+3-devel icu-devel
  $(vopt_if dbus dbus-glib-devel) $(vopt_if pulseaudio pulseaudio-devel)
  $(vopt_if xscreensaver libXScrnSaver-devel)
  $(vopt_if sndio sndio-devel) $(vopt_if jack jack-devel)"
-depends="nss>=3.72 nspr>=4.32 desktop-file-utils hicolor-icon-theme"
+depends="nss>=3.72 nspr>=4.32 desktop-file-utils hicolor-icon-theme libotr"
 
 build_options="alsa jack dbus pulseaudio xscreensaver sndio wayland"
 build_options_default="alsa jack dbus pulseaudio xscreensaver sndio wayland"

From dbd57624471ae985a7eac5752c919772abef2d11 Mon Sep 17 00:00:00 2001
From: Pascal Huber <pascal.huber@resolved.ch>
Date: Wed, 26 Apr 2023 12:09:25 +0200
Subject: [PATCH 2/3] thunderbird-i18n: udpate to 115.0

---
 srcpkgs/thunderbird-i18n/template | 135 +++++++++++++++---------------
 1 file changed, 67 insertions(+), 68 deletions(-)

diff --git a/srcpkgs/thunderbird-i18n/template b/srcpkgs/thunderbird-i18n/template
index 17830bddd7774..4f500e626e9c6 100644
--- a/srcpkgs/thunderbird-i18n/template
+++ b/srcpkgs/thunderbird-i18n/template
@@ -1,6 +1,6 @@
 # Template file for 'thunderbird-i18n'
 pkgname=thunderbird-i18n
-version=102.6.1
+version=115.0
 revision=1
 build_style=meta
 short_desc="Thunderbird language packs"
@@ -106,70 +106,69 @@ _pkgtmpl() {
 			usr/lib/thunderbird/extensions langpack-${_lang}@thunderbird.mozilla.org.xpi
 	}
 }
-
-checksum="5935be82bcbd313b58520d95b04dc32c462e47df88f9724bb31b21686f8b4b77
- 142c0bd4d67b03320db94ae8002c8d67d9bc481a7ad728efa17ba7ae09e9a971
- 5547af80c73146c9892ad2dcd7fb5c6616c9a3a5b49868a23f03914ae2da1537
- e6f34bb2a5412ef9127aacd87823c84ca2881d47b15a45a96751a7557d1e0398
- cb35b936f2db79a897e1372ea34a1fb8237885030446f29269b940c0f221d733
- ada9c925979d25cb0e1549d20466b7e22653931715dd1a7fe85ca835caddf7f7
- 9b92561b20face8de88a77a579afa6d1404f55c69340993508fcc3153e1bd70b
- 64db6133cc87197cb793e0e33b72345bc30dabf862a06f7574321ea783c54645
- db622d082616525302f8d32b9f41793804d51495d1a7b1f62125ed9daedd3fb2
- 919ccec7292a6cf9ccce66fc7a91bbae2a3f93d965ecb4237380256cc8c344dd
- f160cb1db40b31815096c0c58f9aa75213e294600c12fef2d2deb741e24e22dd
- ce4e51c46cb0860c2671606ef94bff741b2e3d5e70e485b9c5c90d0e481cc5b2
- 05a552baec6b12b7e3f9270a628ff6a3fe62ec17c232f905465317e85e40e731
- 6bc18f1db7d0233c9d3bc0cf277234322845d309918681636c30a2c131bd90e9
- a7cc9b51e57b4de49f958cf1ea47d526e6873318fba96b52ee42d541a2e35902
- bf1fac8be9eca95bdbc9f8542445301e146148afe69b40a4ea41bfdf64ab1034
- 85e3c40c5ef6bd2fdbf9951304bec1f17e2f7a212abdf20cf103a5e7b73f2be9
- 6489211d465c053182484faae07c708e076b82a88d0ebecfda071f4bb41b5677
- f0d0d4a58d6bac842c28bee253e6d5906e582b359173fdeedb6d4c40f0b9a4c8
- 4e3da06699c1cc87b735ef9d181f8cc33c989f44840d02c9b9e5dfd893a8c05e
- 0dcabb9158d29001082801b1703946b1df9e22653fc7c66c9a725f102f2ada00
- 1e3ee2f9d0291ec2aa0a2d5939ca3074d6b6a7da533186e227da1d3cc2cc7974
- ab7931be527b56dea1939b048030647e4311b0c0eaa23b7843f3baab180801ba
- a592cfeb20a346ad8b24facca3f0da2c5fdd65156aafea67b0c3793bb99ab0a1
- 32740a1261d43b6bec2b99e2da64bdf201c60b1d0651a5a5db548e1180cf5fb1
- e9e669a9917eab86af336c1d149910cb8606e21708c2b5707d87452c455905b0
- 777d625c67cbe9e710ac7fffda880e0a1fb523f8cafc6ac2c3b227b2d5de38f5
- 63728cede6b88d8352b9398c675c4537527de00ee8a0e120bcc905be9f47ae89
- 97f387a2b47303ca475eeab466a0d9f4bc64554b82c55a00f2da4cea431aaa03
- c875c6a19505c6a04cbeba85baad5d9432efd930d920eebb72413d6642a33d3f
- 4ebd23d9533cf2c5b63ec4dc6b6f83df742c473d7d108dd70b9947d014a4ec45
- de78a9bdb410bd9850b4d1197442e263cfb7f3a112917aa40f76a5c50f5ae64c
- b23fb2ac9a531848ef30e960fdd3174ae970f84b42a2adec1bb34329879acd96
- b7024f86fac5844692b7e5c859e91c721a8279ee60880cafe9479476559bd9fa
- 7107ffa0816d059147381b63ee31d66b4ad9b6af77ed409c05994fc2eb5c597d
- 1e1144a17959632ccce43025f4addc4adea7c0c225bac529f99b501604b96b53
- 3697fe13197519a9838584a17ed612ae08d9c603d56340df13c42fb971ddbca4
- d357fa261223596406a931867f84f1aefaa4ff8556257a005e0d5061c6b5e8cf
- a85066ac413255ea51260e8c690b7a4fe8602ceb628e7d2fa6803ccafa02c9c8
- a9850ec702c480ab9ed2bbee16f8ffea2fa1e60da5f68f0f51b051699a3551de
- cd784b2b6317748241bc8f5192d5d3e734cc8747b61955485a859faad4be151b
- f67ba1abdbf107f5f18db505ea5c5b588bd4fbdd9c589991a643db0da1204f4b
- 8de924873919f06468f58d8a1dae8e9d2886d3705aa59b2dc7d30b9659a5327a
- 8b2b9ec349e0e562b7e681f8b9c910256c46953c1cd12f131d7e6f04469954f6
- 5ddd93aff16c17626a170fd0a5c95a72e9ab7bcaeaff67f36445ddd21100f42d
- 7bbeb6237a36f375cf78820e59dc61e619854bcf031852a5e8201b783176deac
- f77a1a325100e9f4bd84eeba002b35b63bad535b723ce854b0ce85e63776de38
- bf1573cca7b0892ca234a5bb2e44646ba997c0be8051017f35ae217aa7f60bdb
- 671bb222053b1fa8bb609095e518392dd3cb1ce2dde780ed34441118324cb551
- 6c4c7032d76b31bb76abfae5c5e288bd0a82bbcf7d9bf8aa9197bea687c86a46
- 4195b95b23a643925488e969accb294d1c056247ccfec745748d6ee0b0c94851
- ebaa54f3a992514bbf54bce4ab82743390c715a81343739948efd0ac3ca33599
- 868b30b8b311aed6c74b8d5fc05b7c4a0f32f56602b594229ddcadff2733a1f3
- 75f7542f8d3d49cf4e16023fae32a329fa8e804c90bae236a6415a4a045f6ce0
- ea857d827ee2cc580fae43772648cc410c1bcd4c8612cff9a3a7d11b04e54725
- 25716f39d2d7d25f448dc9a68270f51124f1d234f0b9482743dcc0c1a00fa8b1
- 42d52c4ce57e8cae43667faf7600e98d085b0ab713e7607bc1dae1f34932be67
- 5319b79f719dd27e45ecca54d29482d6558f41947db5c4ec4b70c3e25bb8f55a
- 88bcbfa7a2b006b93fd715810661b464e7b150006f046a94e6c03d2e067ae7e3
- 838d84317a7c51c13329c919d4479396b30233136b70fe025faf968b916ba1c1
- 5f686f697c1093c45ef882c3feb1def6064f458d5ae75a74962375b91c6027d5
- 9f9a7a4e6d73698fdc623384a666e677ce2d32990bc69e16aa631a34371cdf78
- 0ba4499c5805a83172e5dcbdc8fd8e464824827f94ed1849d9a1797a9b386e00
- 41f65c5307ec97310b33ace466439e4abf008d461be3835f545e4194e6c54940
- edd966278b660bb280e8e319300e18652ce2ef0fca5baeeb72696b5fd2a03d69
- 13d667aaf3338da21355c042b3a07567553ee48bf0dc071f9a55ef49451de21c"
+checksum="2795eb87bc114db830a3758d4b521eb1a1ffd9b24eeca850c46f839c4917b83a
+ 35bc76f1bfe843a5b49204d2cad6f8ba3ccfe423b7f3f7660083292adcab51f6
+ a647bea8f334322454314b4f5f0280f7f5d109b272811eec029afd6d847f5533
+ 76aab1c6e2e3b279b468e9e350cdb3984c8c1efc18980fc9efce46e215495535
+ 3245144d2b3fa7eace71dcd18599c1e1e1519af2121f1b8e8b1dc4a8c600f471
+ d1c9edfd1d56c2c56052d5d547d45f84e34a4f3a45a5960d0962cef84a860306
+ 7bfc2e8ede683b5e639d452472e5f6658b9af8f4bfc549e7169c48bf83423eb2
+ 3a2e8d6667b0b22ff6599b8f4fb68461f39d9e4992ee1f025407bdcb82270740
+ 72faf0a2c19b981e984d249aef68928a8667e9cb56342580f44c901b99148356
+ 2101e99c5ef8c5fefd9d9b093bf8a8688310e1727ad66a11f342ca33cfdc5a42
+ ab6d56b072cc8736b64f86319889f873a5fca23ac0bb33e73994295d5e796337
+ 56ddfc0ae04363601c62fcb862a5b9bd1b3218ecbce809b96e416409afcd8001
+ d883155840ca6fe912c2f95b4b2960b5e8edf4871ef413b4a8309b983ef883e8
+ 2c926ec1ec9fbffb228fa6f32055d8b03ee68593b01115f8eea6ae82344ad44b
+ 75919273248d9a8a9822d98e3c7540582c70a15f2d412074983aa8b16d807aba
+ e5f905e6e14330e4b65d752b7fd90c68e58e78d57abb670209e277538203beea
+ cd8d1aed0bfdad4f8201cf97679814fb919d01c63b3e1a2dbbdbbb7e0d22e013
+ 0858b70dbf53e3d3626cc4a8910435e91cf2aeca48ec3547b5539357115d9575
+ 3d7daa749cb4f640f20823483581d494e0a68369c1f390d61bb59e404627e531
+ c688a2689a7849a8e111ea3fcc820de4c3b1d60e1212e51ddf9f9fc83252d01b
+ 577ba1a5fa7142bb7efa175485940c35302bbff6cd43c120553068b77272accd
+ f89c227d2c2e5115a20d22868b3adc9e202cd08b0daf7ac43050ff7920d2b8d3
+ c0e0b90e1136a2b0be1eb539e6f158976fa05f398bbae18b92ce57fa4639a64d
+ eb347b20e13c4308987c7e52667ff93937d374a56d12f70747b79e063cc096a9
+ 766af2c371926414714b4cd403e26b46eb2394aae88af2921387f0c82fa78267
+ a834879a3f83a3849b5895fea2870d9b95237a46e2e61fe19b02f8cc47b3e493
+ 4ac7c69dcbe3292efbc610f3cebd49837569cd057b567b60bd3ca2e7204bcd21
+ bfbd481a956dc0e82fd1386eb4607b288e56230d829c19d7d8492cea9f7c6cdb
+ 23c7c48c0772a3056218055c7f5ee676e493dc35f35c714f7b2e43bd8fe986dc
+ 052154888d2c1eb8a1a234d19919a943a1bba71709259b9b87f3e89036ba784c
+ 3da3c384ceb9b0ee2ef87065eee6a1f8e03645853c68ecd05f320e0bc1b6081a
+ 98ec455fa04aaa9c81e034383c6e9151eba247113d5681223cab9164ec548a8b
+ 466329a0885c83c6bfce8bafc1a3cbd5bf7614d28495d6c168fb1169755d6b27
+ ee143ad8f2c195b453496dc576e03154c707f0706cb6c82c7120f09c91a079c2
+ b2d9cdb75ca10e31426331c2b978122e1d8f6089b7ad580798958b81aeafd210
+ 0af499fe0d38230a7c4796e439581d35bded64457b49e142650fde641ceaa828
+ df5cdc43653ad81a33f305a58a1429377b9ff70652b3cfa8efcd559d23cda592
+ 5c3edac5f619b7d4bcf2f801ed82e6c73b889277b0fd142d0beaf1af63739ae3
+ d9ffc08cbfbc3c386117234c80edfef31c4c61a08778026f3dbc304e1e2b5588
+ 0c44def4e69d0116b1ed0335eed8dcce22c01cc1baaa0ed8c9be9161bbe460ca
+ 4e862710ce361be02f160430da67de5e14bdd8c36d6f915e8589cd5b13bce7be
+ 576fae0ba50d25742548e44d8e0f0ba6fce7bb108e495b988d093f96f4608e76
+ 76589f4722c3a6deb3f470eaa10b09de2d7e20a90563bc3f7ecb1146256e4846
+ 997f89eeec54328b84255a478d7bea2ee86054af3165b83b559ca748ad1f0ed2
+ 3bd42654702043a7333a2ab1fb34aa55354e2f3a075f5f922c0931f43606b0a5
+ f5761d69d311abc3fa9ddd63101808e02e7df39992c34744b8786baf10a8bd79
+ 10e0c72af868e1429013d89a8d700d2e601924049cf93cc25020fe335307a31e
+ fd9f38014ee0b8aa292610c757c81edccc996652573427fb7fe7754b80732066
+ c21f52050b85935689d96656c13259664ba046944bd0cb136db7db5859e90614
+ 83840f492dc9f9cbdd65593cc6ffd7c0c85c9720c527202b991af0df64062588
+ c5afb7a8e031df877ae66f0e0c1abc20b3c4ffeef9510642eddd6971c1df119d
+ a6cf787baecb27695f3764f87369afb10896edcd515d744fe35462b387ddf4ec
+ fdb3203916a31637b39428ae491e8f9704eebde791d48b4470d4e3f26abe393a
+ 33720e23c7f518ab7a8cfe103e56f0cb5c3cdd38933757ded3c5a17a82af81d9
+ be5ffaa88e17075137fd1ab73de9c5d7aa3874ae5d7348c63c9eb337c2dda1d1
+ d4cd085355c29206456729de82859c5f23515c3d83a9729605965928105ac79c
+ 397276efc3f4c6dfae6efb3e2025bf767f4de1a886774119e431a60cf185691a
+ c4a95222d6905100e8720690b37c5f6bb26f7086dff1f59f864ad992df2dd80b
+ 91abe4d68395f0dd77a85ac45626d8eb998df2f0695ba1d3b7a240940a079949
+ c1f6d49be3cec81ff732d7e1ff318a745a0a368199f1179693a11356b01a1771
+ ba91ecb70ed128ad52cd31917a4c0e7fc21ce7d5211619c01daa9b2982ee0f73
+ 9b198f5bce975e98084ee9be9b7f388aa2f42c342addb2890305afe47bd01084
+ 8afacc89f22054e7b83b500f907dea82fc7456d233a3b6a0f91833ac3ab0db05
+ bcf10378a8fe52b4882d52ad19d7f5b41abe2c4685aab05d2cba081da64a7fd6
+ 17122d6782c7b8d495e6de42259ce4543e5bbd449b0a8e6f86e2ba3a1f684d0d
+ 8230d2f47709cfd580704f8a8c795f24fca9c4e7d71b3af95223a20778f257af"

From 807db97c9420c36946764b28f03e1f284a25ac33 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 17 Jul 2023 22:34:45 -0400
Subject: [PATCH 3/3] icu: fix timezone stuff for thunderbird

---
 .../patches/standardize-vtzone-output.patch   | 33 +++++++++++++++++++
 srcpkgs/icu/template                          |  2 +-
 2 files changed, 34 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/icu/patches/standardize-vtzone-output.patch

diff --git a/srcpkgs/icu/patches/standardize-vtzone-output.patch b/srcpkgs/icu/patches/standardize-vtzone-output.patch
new file mode 100644
index 0000000000000..7274f539991a7
--- /dev/null
+++ b/srcpkgs/icu/patches/standardize-vtzone-output.patch
@@ -0,0 +1,33 @@
+Patch-Source: https://github.com/chimera-linux/cports/blob/c48ec38c2d88f6e5962299583a8f862159c89349/main/icu/patches/standardize-vtzone-output.patch
+https://bugzilla.mozilla.org/show_bug.cgi?id=1790071
+https://unicode-org.atlassian.net/browse/ICU-22132  
+needed for thunderbird
+--
+diff --git a/intl/icu/source/i18n/vtzone.cpp b/intl/icu/source/i18n/vtzone.cpp
+--- a/source/i18n/vtzone.cpp
++++ b/source/i18n/vtzone.cpp
+@@ -1735,14 +1735,17 @@ VTimeZone::write(VTZWriter& writer, UErr
+             }
+         }
+     } else {
+-        UnicodeString icutzprop;
+-        UVector customProps(nullptr, uhash_compareUnicodeString, status);
++        UVector customProps(uprv_deleteUObject, uhash_compareUnicodeString, status);
+         if (olsonzid.length() > 0 && icutzver.length() > 0) {
+-            icutzprop.append(olsonzid);
+-            icutzprop.append(u'[');
+-            icutzprop.append(icutzver);
+-            icutzprop.append(u']');
+-            customProps.addElement(&icutzprop, status);
++            LocalPointer<UnicodeString> icutzprop(new UnicodeString(ICU_TZINFO_PROP), status);
++            if (U_FAILURE(status)) {
++                return;
++            }
++            icutzprop->append(olsonzid);
++            icutzprop->append(u'[');
++            icutzprop->append(icutzver);
++            icutzprop->append(u']');
++            customProps.adoptElement(icutzprop.orphan(), status);
+         }
+         writeZone(writer, *tz, &customProps, status);
+     }
diff --git a/srcpkgs/icu/template b/srcpkgs/icu/template
index 355865ce25dfd..271f7ea4fc944 100644
--- a/srcpkgs/icu/template
+++ b/srcpkgs/icu/template
@@ -3,7 +3,7 @@
 #       next soname bump.
 pkgname=icu
 version=73.2
-revision=1
+revision=2
 build_wrksrc=source
 build_style=gnu-configure
 # use archive data instead of .so data for correct cross-compiling

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: thunderbird: update to 115.0
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (24 preceding siblings ...)
  2023-07-18  4:08 ` [PR PATCH] [Updated] " classabbyamp
@ 2023-07-18  4:08 ` classabbyamp
  2023-07-19 23:05 ` [PR REVIEW] " classabbyamp
                   ` (6 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: classabbyamp @ 2023-07-18  4:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 209 bytes --]

New comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/43607#issuecomment-1639358811

Comment:
rebased and tested the icu patch on x86_64-glibc. works for me

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PR REVIEW] thunderbird: update to 115.0
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (25 preceding siblings ...)
  2023-07-18  4:08 ` classabbyamp
@ 2023-07-19 23:05 ` classabbyamp
  2023-07-19 23:07 ` classabbyamp
                   ` (5 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: classabbyamp @ 2023-07-19 23:05 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 283 bytes --]

New review comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/43607#discussion_r1268764621

Comment:
ftp.mozilla.org still works for me. why change it? did you check that the new value works for all the other users of MOZILLA_SITE?

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PR REVIEW] thunderbird: update to 115.0
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (26 preceding siblings ...)
  2023-07-19 23:05 ` [PR REVIEW] " classabbyamp
@ 2023-07-19 23:07 ` classabbyamp
  2023-07-20  6:05 ` pascal-huber
                   ` (4 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: classabbyamp @ 2023-07-19 23:07 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 341 bytes --]

New review comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/43607#discussion_r1268764621

Comment:
ftp.mozilla.org still works for me. why change it? did you check that the new value works for all the other users of MOZILLA_SITE? If this is updated it should also be updated in Manual.md

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PR REVIEW] thunderbird: update to 115.0
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (27 preceding siblings ...)
  2023-07-19 23:07 ` classabbyamp
@ 2023-07-20  6:05 ` pascal-huber
  2023-07-20  6:10 ` pascal-huber
                   ` (3 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: pascal-huber @ 2023-07-20  6:05 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 450 bytes --]

New review comment by pascal-huber on void-packages repository

https://github.com/void-linux/void-packages/pull/43607#discussion_r1268972250

Comment:
> ftp.mozilla.org still works for me. why change it? did you check that the new value works for all the other users of MOZILLA_SITE? If this is updated it should also be updated in Manual.md

It was failing on me when I wrote this, seems to be all right again. No need to change if its up again.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: thunderbird: update to 115.0
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (28 preceding siblings ...)
  2023-07-20  6:05 ` pascal-huber
@ 2023-07-20  6:10 ` pascal-huber
  2023-07-20  7:15 ` [PR PATCH] [Updated] " pascal-huber
                   ` (2 subsequent siblings)
  32 siblings, 0 replies; 33+ messages in thread
From: pascal-huber @ 2023-07-20  6:10 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 353 bytes --]

New comment by pascal-huber on void-packages repository

https://github.com/void-linux/void-packages/pull/43607#issuecomment-1643306569

Comment:
> rebased and tested the icu patch on x86_64-glibc. works for me

thanks. It also works for me on x86_64-glibc. I noticed that the icu tests fail for me, but also on master, haven't inspected any further.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PR PATCH] [Updated] thunderbird: update to 115.0
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (29 preceding siblings ...)
  2023-07-20  6:10 ` pascal-huber
@ 2023-07-20  7:15 ` pascal-huber
  2023-07-20  7:15 ` [PR REVIEW] " pascal-huber
  2023-07-20  8:00 ` [PR PATCH] [Merged]: " classabbyamp
  32 siblings, 0 replies; 33+ messages in thread
From: pascal-huber @ 2023-07-20  7:15 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 883 bytes --]

There is an updated pull request by pascal-huber against master on the void-packages repository

https://github.com/pascal-huber/void-packages thunderbird
https://github.com/void-linux/void-packages/pull/43607

thunderbird: update to 115.0
[ci skip]

#### Testing the changes
- I tested the changes in this PR: **briefly**

#### Local build testing
- I built this PR locally for my native architecture, x86_64-glibc
- I built this PR locally for these architectures (if supported. mark crossbuilds):
 - [x] x86_64
 - [x] armv7l (crossbuild)
 - [x] aarch64 (crossbuild)
 - [x] i686 (native)
 - [x] x86_64-musl (native)
 - [ ] ~~armv6l-musl~~ (not supported)
 - [x] aarch64-musl
 
 
 #### Notes
 - Fixed `MOZILLA_SITE`
 - The UI seems a bit buggy with switching to calendars

A patch file from https://github.com/void-linux/void-packages/pull/43607.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-thunderbird-43607.patch --]
[-- Type: text/x-diff, Size: 39299 bytes --]

From 6794e2fac557b271eb444b4eefd047f080b32564 Mon Sep 17 00:00:00 2001
From: Pascal Huber <pascal.huber@resolved.ch>
Date: Wed, 26 Apr 2023 12:09:15 +0200
Subject: [PATCH 1/3] thunderbird: update to 115.0

---
 .../patches/avoid-redefinition.patch          |  15 --
 .../thunderbird/patches/fix-i386-fdlibm.patch |   2 +-
 .../thunderbird/patches/flac-no-ffvpx.patch   |   3 +-
 srcpkgs/thunderbird/patches/lto-thin.patch    |  23 +-
 srcpkgs/thunderbird/patches/mallinfo.patch    |  24 +-
 .../patches/mp4parse-rust-1.70.patch          |  32 ---
 srcpkgs/thunderbird/patches/python3.11.patch  | 238 ------------------
 .../thunderbird/patches/rust-configure.patch  |  20 +-
 .../thunderbird/patches/sandbox-fork.patch    |  11 +-
 srcpkgs/thunderbird/patches/skia-sucks1.patch |   6 +-
 srcpkgs/thunderbird/patches/skia-sucks2.patch |  44 ----
 srcpkgs/thunderbird/template                  |  10 +-
 12 files changed, 54 insertions(+), 374 deletions(-)
 delete mode 100644 srcpkgs/thunderbird/patches/avoid-redefinition.patch
 delete mode 100644 srcpkgs/thunderbird/patches/mp4parse-rust-1.70.patch
 delete mode 100644 srcpkgs/thunderbird/patches/python3.11.patch
 delete mode 100644 srcpkgs/thunderbird/patches/skia-sucks2.patch

diff --git a/srcpkgs/thunderbird/patches/avoid-redefinition.patch b/srcpkgs/thunderbird/patches/avoid-redefinition.patch
deleted file mode 100644
index 867d37c62a900..0000000000000
--- a/srcpkgs/thunderbird/patches/avoid-redefinition.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Author: Rasmus Thomsen <oss@cogitri.dev>
-Reason: FF is mixing userspace net headers (net/if.h) and kernelspace ones
-(linux/if.h), leading to redefinitions. We need to include net/if.h before
-linux/if.h because linux/if.h has redifinition guards whereas net/if.h doesnt
-Upstream: No
---- a/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c	2020-07-28 19:24:32.359751046 +0200
-+++ b/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c	2020-07-28 19:24:37.856343751 +0200
-@@ -31,6 +31,7 @@
- */
- 
- #if defined(LINUX)
-+#include <net/if.h>
- #include "addrs-netlink.h"
- #include <csi_platform.h>
- #include <assert.h>
diff --git a/srcpkgs/thunderbird/patches/fix-i386-fdlibm.patch b/srcpkgs/thunderbird/patches/fix-i386-fdlibm.patch
index 831e5e03678d8..bb81b4ad59e9f 100644
--- a/srcpkgs/thunderbird/patches/fix-i386-fdlibm.patch
+++ b/srcpkgs/thunderbird/patches/fix-i386-fdlibm.patch
@@ -14,5 +14,5 @@
  typedef double      __double_t;
 +#endif
  typedef __double_t  double_t;
+ typedef float       __float_t;
  
- /*
diff --git a/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch b/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
index ebf48deb97201..2e475e8c69406 100644
--- a/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
+++ b/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
@@ -12,7 +12,7 @@ index 53fc3c9937f7..b23771ab80fa 100644
  
  namespace mozilla {
  
-@@ -14,6 +15,10 @@ namespace mozilla {
+@@ -14,5 +15,9 @@ namespace mozilla {
  bool FlacDecoder::IsEnabled() {
  #ifdef MOZ_FFVPX
    return StaticPrefs::media_flac_enabled();
@@ -21,5 +21,4 @@ index 53fc3c9937f7..b23771ab80fa 100644
 +  return StaticPrefs::media_flac_enabled() &&
 +         platform->SupportsMimeType("audio/flac"_ns);
  #else
-   // Until bug 1295886 is fixed.
    return false;
diff --git a/srcpkgs/thunderbird/patches/lto-thin.patch b/srcpkgs/thunderbird/patches/lto-thin.patch
index e85cbce36583c..78ac8b741be58 100644
--- a/srcpkgs/thunderbird/patches/lto-thin.patch
+++ b/srcpkgs/thunderbird/patches/lto-thin.patch
@@ -1,17 +1,20 @@
-$OpenBSD: patch-config_makefiles_rust_mk,v 1.6 2021/01/26 15:52:58 landry Exp $
+This patch is a modified version of the OpenBSD patch
 
-use lto=thin to reduce memory pressure when building gkrust
+try to consume less memory when linking gkrust with debug symbols ?
+
+openbsd patch: https://github.com/openbsd/ports/blob/master/mail/mozilla-thunderbird/patches/patch-config_makefiles_rust_mk
 https://bugzilla.mozilla.org/show_bug.cgi?id=1644409
 https://bugzilla.mozilla.org/show_bug.cgi?id=1640982
-
-Index: config/makefiles/rust.mk
---- a/config/makefiles/rust.mk.orig
-+++ a/config/makefiles/rust.mk
-@@ -70,7 +70,8 @@ ifndef MOZ_DEBUG_RUST
- # gkrust_gtest. And not when doing cross-language LTO.
- ifndef MOZ_LTO_RUST_CROSS
+---
+diff --git a/config/makefiles/rust.mk b/config/makefiles/rust.mk
+index a243ee5f7f..89593f1fe1 100644
+--- a/config/makefiles/rust.mk
++++ b/config/makefiles/rust.mk
+@@ -90,7 +90,8 @@ ifndef rustflags_sancov
+ # Never enable when coverage is enabled to work around https://github.com/rust-lang/rust/issues/90045.
+ ifndef MOZ_CODE_COVERAGE
  ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE)))
--cargo_rustc_flags += -Clto
+-cargo_rustc_flags += -Clto$(if $(filter full,$(MOZ_LTO_RUST_CROSS)),=fat)
 +cargo_rustc_flags += -Clto=thin
 +export CARGO_PROFILE_RELEASE_LTO=thin
  endif
diff --git a/srcpkgs/thunderbird/patches/mallinfo.patch b/srcpkgs/thunderbird/patches/mallinfo.patch
index 0d704301f39f0..a3b3e1cb53ac8 100644
--- a/srcpkgs/thunderbird/patches/mallinfo.patch
+++ b/srcpkgs/thunderbird/patches/mallinfo.patch
@@ -1,14 +1,16 @@
---- a/xpcom/base/nsMemoryReporterManager.cpp	2019-03-19 17:12:20.844810044 +0100
-+++ b/xpcom/base/nsMemoryReporterManager.cpp	2019-03-19 17:13:32.505133615 +0100
-@@ -123,6 +123,7 @@
-   return GetProcSelfSmapsPrivate(aN);
+diff --git a/xpcom/base/nsMemoryReporterManager.cpp b/xpcom/base/nsMemoryReporterManager.cpp
+index 30bc60e01a..caf9f740d2 100644
+--- a/xpcom/base/nsMemoryReporterManager.cpp
++++ b/xpcom/base/nsMemoryReporterManager.cpp
+@@ -127,6 +127,7 @@ using namespace dom;
+   return GetProcSelfSmapsPrivate(aN, aPid);
  }
  
 +#ifdef __GLIBC__
  #  ifdef HAVE_MALLINFO
  #    define HAVE_SYSTEM_HEAP_REPORTER 1
- static MOZ_MUST_USE nsresult SystemHeapSize(int64_t* aSizeOut) {
-@@ -142,6 +143,7 @@
+ [[nodiscard]] static nsresult SystemHeapSize(int64_t* aSizeOut) {
+@@ -146,6 +147,7 @@ using namespace dom;
    return NS_OK;
  }
  #  endif
@@ -16,16 +18,16 @@
  
  #elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
      defined(__OpenBSD__) || defined(__FreeBSD_kernel__)
-@@ -642,6 +644,7 @@
+@@ -653,6 +655,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr, cpu_type_t aType) {
    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;
+ // Windows can have multiple separate heaps, but we should not touch non-default
+ // heaps because they may be destroyed at anytime while we hold a handle.  So we
+@@ -685,6 +688,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr, cpu_type_t aType) {
+   *aSizeOut = heapSize;
    return NS_OK;
  }
 +#endif // __GLIBC__
diff --git a/srcpkgs/thunderbird/patches/mp4parse-rust-1.70.patch b/srcpkgs/thunderbird/patches/mp4parse-rust-1.70.patch
deleted file mode 100644
index 64bf6e8e7be45..0000000000000
--- a/srcpkgs/thunderbird/patches/mp4parse-rust-1.70.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Patch-Source: https://github.com/mozilla/mp4parse-rust/commit/8d58b2d5fc7f552d585964354d8269bcca3d9251
---
-From 8d58b2d5fc7f552d585964354d8269bcca3d9251 Mon Sep 17 00:00:00 2001
-From: Matthew Gregan <kinetik@flim.org>
-Date: Thu, 16 Jun 2022 13:54:02 +1200
-Subject: [PATCH] Fix `unstable-name-collisions` warning by using fully
- qualified path.
-
----
- mp4parse/src/lib.rs | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/mp4parse/src/lib.rs b/mp4parse/src/lib.rs
-index 567ee21d..4f3d7153 100644
---- a/third_party/rust/mp4parse/src/lib.rs
-+++ b/third_party/rust/mp4parse/src/lib.rs
-@@ -3506,8 +3506,13 @@ macro_rules! impl_mul {
-             type Output = $output;
- 
-             fn mul(self, rhs: $rhs) -> Self::Output {
--                static_assertions::const_assert!(<$output>::MAX <= <$inner>::MAX as u64);
--                static_assertions::const_assert!(<$lhs>::MAX * <$rhs>::MAX <= <$output>::MAX);
-+                static_assertions::const_assert!(
-+                    <$output as UpperBounded>::MAX <= <$inner>::MAX as u64
-+                );
-+                static_assertions::const_assert!(
-+                    <$lhs as UpperBounded>::MAX * <$rhs as UpperBounded>::MAX
-+                        <= <$output as UpperBounded>::MAX
-+                );
- 
-                 let lhs: $inner = self.get().into();
-                 let rhs: $inner = rhs.get().into();
diff --git a/srcpkgs/thunderbird/patches/python3.11.patch b/srcpkgs/thunderbird/patches/python3.11.patch
deleted file mode 100644
index 2facee5ebb2ba..0000000000000
--- a/srcpkgs/thunderbird/patches/python3.11.patch
+++ /dev/null
@@ -1,238 +0,0 @@
-Patch-Source: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267709
-Patch-Source: https://hg.mozilla.org/mozilla-central/rev/f54162b2c1f2fe52c6137ab2c3469a1944f58b27
---- a/xpcom/idl-parser/xpidl/xpidl.py
-+++ b/xpcom/idl-parser/xpidl/xpidl.py
-@@ -1633,13 +1633,13 @@ class IDLParser(object):
-     t_ignore = " \t"
- 
-     def t_multilinecomment(self, t):
--        r"/\*(?s).*?\*/"
-+        r"/\*(\n|.)*?\*/"
-         t.lexer.lineno += t.value.count("\n")
-         if t.value.startswith("/**"):
-             self._doccomments.append(t.value)
- 
-     def t_singlelinecomment(self, t):
--        r"(?m)//.*?$"
-+        r"//[^\n]*"
- 
-     def t_IID(self, t):
-         return t
-@@ -1652,7 +1652,7 @@ class IDLParser(object):
-         return t
- 
-     def t_LCDATA(self, t):
--        r"(?s)%\{[ ]*C\+\+[ ]*\n(?P<cdata>.*?\n?)%\}[ ]*(C\+\+)?"
-+        r"%\{[ ]*C\+\+[ ]*\n(?P<cdata>(\n|.)*?\n?)%\}[ ]*(C\+\+)?"
-         t.type = "CDATA"
-         t.value = t.lexer.lexmatch.group("cdata")
-         t.lexer.lineno += t.value.count("\n")
-
-
-# HG changeset patch
-# User ahochheiden <ahochheiden@mozilla.com>
-# Date 1654151264 0
-# Node ID f54162b2c1f2fe52c6137ab2c3469a1944f58b27
-# Parent  6e7776492240c27732840d65a33dcc440fa1aba0
-Bug 1769631 - Remove 'U' from 'mode' parameters for various 'open' calls to ensure Python3.11 compatibility r=firefox-build-system-reviewers,glandium
-
-The 'U' flag represents "universal newline". It has been deprecated
-since Python3.3. Since then "universal newline" is the default when a
-file is opened in text mode (not bytes). In Python3.11 using the 'U'
-flag throws errors. There should be no harm in removing 'U' from 'open'
-everywhere it is used, and doing allows the use of Python3.11.
-
-For more reading see: https://docs.python.org/3.11/whatsnew/3.11.html#changes-in-the-python-api
-
-Differential Revision: https://phabricator.services.mozilla.com/D147721
-
-diff --git a/dom/base/usecounters.py b/dom/base/usecounters.py
---- a/dom/base/usecounters.py
-+++ b/dom/base/usecounters.py
-@@ -3,17 +3,17 @@
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
- 
- import collections
- import re
- 
- 
- def read_conf(conf_filename):
-     # Can't read/write from a single StringIO, so make a new one for reading.
--    stream = open(conf_filename, "rU")
-+    stream = open(conf_filename, "r")
- 
-     def parse_counters(stream):
-         for line_num, line in enumerate(stream):
-             line = line.rstrip("\n")
-             if not line or line.startswith("//"):
-                 # empty line or comment
-                 continue
-             m = re.match(r"method ([A-Za-z0-9]+)\.([A-Za-z0-9]+)$", line)
-diff --git a/python/mozbuild/mozbuild/action/process_define_files.py b/python/mozbuild/mozbuild/action/process_define_files.py
---- a/python/mozbuild/mozbuild/action/process_define_files.py
-+++ b/python/mozbuild/mozbuild/action/process_define_files.py
-@@ -31,17 +31,17 @@ def process_define_file(output, input):
- 
-     config = PartialConfigEnvironment(topobjdir)
- 
-     if mozpath.basedir(
-         path, [mozpath.join(topsrcdir, "js/src")]
-     ) and not config.substs.get("JS_STANDALONE"):
-         config = PartialConfigEnvironment(mozpath.join(topobjdir, "js", "src"))
- 
--    with open(path, "rU") as input:
-+    with open(path, "r") as input:
-         r = re.compile(
-             "^\s*#\s*(?P<cmd>[a-z]+)(?:\s+(?P<name>\S+)(?:\s+(?P<value>\S+))?)?", re.U
-         )
-         for l in input:
-             m = r.match(l)
-             if m:
-                 cmd = m.group("cmd")
-                 name = m.group("name")
-diff --git a/python/mozbuild/mozbuild/backend/base.py b/python/mozbuild/mozbuild/backend/base.py
---- a/python/mozbuild/mozbuild/backend/base.py
-+++ b/python/mozbuild/mozbuild/backend/base.py
-@@ -267,17 +267,17 @@ class BuildBackend(LoggingMixin):
-         If an exception is raised, |mach build| will fail with a
-         non-zero exit code.
-         """
-         self._write_purgecaches(config)
- 
-         return status
- 
-     @contextmanager
--    def _write_file(self, path=None, fh=None, readmode="rU"):
-+    def _write_file(self, path=None, fh=None, readmode="r"):
-         """Context manager to write a file.
- 
-         This is a glorified wrapper around FileAvoidWrite with integration to
-         update the summary data on this instance.
- 
-         Example usage:
- 
-             with self._write_file('foo.txt') as fh:
-diff --git a/python/mozbuild/mozbuild/preprocessor.py b/python/mozbuild/mozbuild/preprocessor.py
---- a/python/mozbuild/mozbuild/preprocessor.py
-+++ b/python/mozbuild/mozbuild/preprocessor.py
-@@ -526,17 +526,17 @@ class Preprocessor:
-             if not options.output:
-                 raise Preprocessor.Error(
-                     self, "--depend doesn't work with stdout", None
-                 )
-             depfile = get_output_file(options.depend)
- 
-         if args:
-             for f in args:
--                with io.open(f, "rU", encoding="utf-8") as input:
-+                with io.open(f, "r", encoding="utf-8") as input:
-                     self.processFile(input=input, output=out)
-             if depfile:
-                 mk = Makefile()
-                 mk.create_rule([six.ensure_text(options.output)]).add_dependencies(
-                     self.includes
-                 )
-                 mk.dump(depfile)
-                 depfile.close()
-@@ -855,17 +855,17 @@ class Preprocessor:
-         self.checkLineNumbers = False
-         if isName:
-             try:
-                 args = _to_text(args)
-                 if filters:
-                     args = self.applyFilters(args)
-                 if not os.path.isabs(args):
-                     args = os.path.join(self.curdir, args)
--                args = io.open(args, "rU", encoding="utf-8")
-+                args = io.open(args, "r", encoding="utf-8")
-             except Preprocessor.Error:
-                 raise
-             except Exception:
-                 raise Preprocessor.Error(self, "FILE_NOT_FOUND", _to_text(args))
-         self.checkLineNumbers = bool(
-             re.search("\.(js|jsm|java|webidl)(?:\.in)?$", args.name)
-         )
-         oldFile = self.context["FILE"]
-@@ -909,17 +909,17 @@ class Preprocessor:
- 
-     def do_error(self, args):
-         raise Preprocessor.Error(self, "Error: ", _to_text(args))
- 
- 
- def preprocess(includes=[sys.stdin], defines={}, output=sys.stdout, marker="#"):
-     pp = Preprocessor(defines=defines, marker=marker)
-     for f in includes:
--        with io.open(f, "rU", encoding="utf-8") as input:
-+        with io.open(f, "r", encoding="utf-8") as input:
-             pp.processFile(input=input, output=output)
-     return pp.includes
- 
- 
- # Keep this module independently executable.
- if __name__ == "__main__":
-     pp = Preprocessor()
-     pp.handleCommandLine(None, True)
-diff --git a/python/mozbuild/mozbuild/util.py b/python/mozbuild/mozbuild/util.py
---- a/python/mozbuild/mozbuild/util.py
-+++ b/python/mozbuild/mozbuild/util.py
-@@ -231,17 +231,17 @@ class FileAvoidWrite(BytesIO):
-     enabled by default because it a) doesn't make sense for binary files b)
-     could add unwanted overhead to calls.
- 
-     Additionally, there is dry run mode where the file is not actually written
-     out, but reports whether the file was existing and would have been updated
-     still occur, as well as diff capture if requested.
-     """
- 
--    def __init__(self, filename, capture_diff=False, dry_run=False, readmode="rU"):
-+    def __init__(self, filename, capture_diff=False, dry_run=False, readmode="r"):
-         BytesIO.__init__(self)
-         self.name = filename
-         assert type(capture_diff) == bool
-         assert type(dry_run) == bool
-         assert "r" in readmode
-         self._capture_diff = capture_diff
-         self._write_to_file = not dry_run
-         self.diff = None
-diff --git a/python/mozbuild/mozpack/files.py b/python/mozbuild/mozpack/files.py
---- a/python/mozbuild/mozpack/files.py
-+++ b/python/mozbuild/mozpack/files.py
-@@ -549,17 +549,17 @@ class PreprocessedFile(BaseFile):
-         self.defines = defines
-         self.extra_depends = list(extra_depends or [])
-         self.silence_missing_directive_warnings = silence_missing_directive_warnings
- 
-     def inputs(self):
-         pp = Preprocessor(defines=self.defines, marker=self.marker)
-         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
- 
--        with _open(self.path, "rU") as input:
-+        with _open(self.path, "r") as input:
-             with _open(os.devnull, "w") as output:
-                 pp.processFile(input=input, output=output)
- 
-         # This always yields at least self.path.
-         return pp.includes
- 
-     def copy(self, dest, skip_if_older=True):
-         """
-@@ -606,17 +606,17 @@ class PreprocessedFile(BaseFile):
-             return False
- 
-         deps_out = None
-         if self.depfile:
-             deps_out = FileAvoidWrite(self.depfile)
-         pp = Preprocessor(defines=self.defines, marker=self.marker)
-         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
- 
--        with _open(self.path, "rU") as input:
-+        with _open(self.path, "r") as input:
-             pp.processFile(input=input, output=dest, depfile=deps_out)
- 
-         dest.close()
-         if self.depfile:
-             deps_out.close()
- 
-         return True
- 
-
diff --git a/srcpkgs/thunderbird/patches/rust-configure.patch b/srcpkgs/thunderbird/patches/rust-configure.patch
index 61fb2ba891d9a..b5ff2987008cf 100644
--- a/srcpkgs/thunderbird/patches/rust-configure.patch
+++ b/srcpkgs/thunderbird/patches/rust-configure.patch
@@ -6,9 +6,11 @@ instead use what is set in RUST_TARGET
 
 Skip extra checks on cross builds (broken for arm*)
 
---- a/build/moz.configure/rust.configure	2020-12-12 01:35:33.000000000 +0100
-+++ b/build/moz.configure/rust.configure	2020-12-15 19:45:16.467750787 +0100
-@@ -91,9 +91,6 @@
+diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure
+index e64dc5d5ec..c4778f8cc8 100644
+--- a/build/moz.configure/rust.configure
++++ b/build/moz.configure/rust.configure
+@@ -91,9 +91,6 @@ def unwrap_rustup(prog, name):
      return unwrap
  
  
@@ -18,7 +20,7 @@ Skip extra checks on cross builds (broken for arm*)
  
  set_config("CARGO", cargo)
  set_config("RUSTC", rustc)
-@@ -260,7 +257,9 @@
+@@ -274,7 +271,9 @@ def rust_supported_targets(rustc):
          data.setdefault(key, []).append(namespace(rust_target=t, target=info))
      return data
  
@@ -29,24 +31,26 @@ Skip extra checks on cross builds (broken for arm*)
  def detect_rustc_target(
      host_or_target, compiler_info, arm_target, rust_supported_targets
  ):
-@@ -382,12 +381,12 @@
+@@ -396,12 +395,14 @@ def detect_rustc_target(
  
          return None
  
 -    rustc_target = find_candidate(candidates)
 +    rustc_target = os.environ['RUST_TARGET']
++
  
      if rustc_target is None:
          die("Don't know how to translate {} for rustc".format(host_or_target.alias))
  
 -    return rustc_target
 +    return ensure_unicode(rustc_target, system_encoding)
++
  
  
  @imports("os")
-@@ -410,35 +409,6 @@
+@@ -423,35 +424,6 @@ def assert_rust_compile(host_or_target, rustc_target, rustc):
  
-         os.write(in_fd, ensure_binary(source))
+         os.write(in_fd, source)
          os.close(in_fd)
 -
 -        cmd = [
@@ -80,7 +84,7 @@ Skip extra checks on cross builds (broken for arm*)
      finally:
          os.remove(in_path)
          os.remove(out_path)
-@@ -462,28 +432,7 @@
+@@ -475,28 +447,7 @@ def rust_host_triple(
          host, compiler_info, arm_target, rust_supported_targets
      )
      if rustc_target != rustc_host:
diff --git a/srcpkgs/thunderbird/patches/sandbox-fork.patch b/srcpkgs/thunderbird/patches/sandbox-fork.patch
index d4584e74b91c3..a8cb89394f878 100644
--- a/srcpkgs/thunderbird/patches/sandbox-fork.patch
+++ b/srcpkgs/thunderbird/patches/sandbox-fork.patch
@@ -1,8 +1,8 @@
-make SYS_fork non-fatal, musl uses it for fork(2)
-
+diff --git a/security/sandbox/linux/SandboxFilter.cpp b/security/sandbox/linux/SandboxFilter.cpp
+index 20e9b59685..e053580992 100644
 --- a/security/sandbox/linux/SandboxFilter.cpp
 +++ b/security/sandbox/linux/SandboxFilter.cpp
-@@ -1420,6 +1420,10 @@
+@@ -1598,6 +1598,11 @@ class ContentSandboxPolicy : public SandboxPolicyCommon {
          // usually do something reasonable on error.
        case __NR_clone:
          return ClonePolicy(Error(EPERM));
@@ -10,6 +10,7 @@ make SYS_fork non-fatal, musl uses it for fork(2)
 +      case __NR_fork:
 +        return Error(ENOSYS);
 +#  endif
++
  
- #  ifdef __NR_fadvise64
-       case __NR_fadvise64:
+       case __NR_clone3:
+         return Error(ENOSYS);
diff --git a/srcpkgs/thunderbird/patches/skia-sucks1.patch b/srcpkgs/thunderbird/patches/skia-sucks1.patch
index cd9eecccf6109..027d97bfce647 100644
--- a/srcpkgs/thunderbird/patches/skia-sucks1.patch
+++ b/srcpkgs/thunderbird/patches/skia-sucks1.patch
@@ -1,8 +1,8 @@
 https://bugzilla.mozilla.org/show_bug.cgi?id=1504834#c5
 https://bugzilla.mozilla.org/attachment.cgi?id=9028600
 
---- a/gfx/skia/skia/third_party/skcms/skcms.cc
-+++ b/gfx/skia/skia/third_party/skcms/skcms.cc
+--- a/gfx/skia/skia/modules/skcms/skcms.cc
++++ b/gfx/skia/skia/modules/skcms/skcms.cc
 @@ -30,6 +30,8 @@
          #include <avx512fintrin.h>
          #include <avx512dqintrin.h>
@@ -11,7 +11,7 @@ https://bugzilla.mozilla.org/attachment.cgi?id=9028600
 +    #define SKCMS_PORTABLE
  #endif
  
- // sizeof(x) will return size_t, which is 32-bit on some machines and 64-bit on others.
+ static bool runtime_cpu_detection = true;
 @@ -280,20 +282,28 @@ enum {
  static uint16_t read_big_u16(const uint8_t* ptr) {
      uint16_t be;
diff --git a/srcpkgs/thunderbird/patches/skia-sucks2.patch b/srcpkgs/thunderbird/patches/skia-sucks2.patch
deleted file mode 100644
index 1a498f8711dd8..0000000000000
--- a/srcpkgs/thunderbird/patches/skia-sucks2.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-# 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
---- a/gfx/skia/skia/include/private/SkNx.h	Tue Aug 20 09:46:55 2019 +0200
-+++ b/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
---- a/gfx/skia/skia/src/opts/SkBlitMask_opts.h	Tue Aug 20 09:46:55 2019 +0200
-+++ b/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) {
diff --git a/srcpkgs/thunderbird/template b/srcpkgs/thunderbird/template
index 9709c5339bce8..551e968ce984f 100644
--- a/srcpkgs/thunderbird/template
+++ b/srcpkgs/thunderbird/template
@@ -3,15 +3,15 @@
 # THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/thunderbird-i18n".
 #
 pkgname=thunderbird
-version=102.6.1
-revision=4
+version=115.0
+revision=1
 build_helper="rust"
 short_desc="Standalone Mail/News reader"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="MPL-2.0, GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.thunderbird.net/"
-distfiles="${MOZILLA_SITE}/${pkgname}/releases/${version}/source/${pkgname}-${version}.source.tar.xz"
-checksum=8b8cb5d7532ad8ee65061d2f284ae9f0470e7614dfcfc3c37ca945bcb96d1183
+distfiles="${MOZILLA_SITE}/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz"
+checksum=3edc85647dcebde8b84c17e6eeff6ca9866a9f0ffe9a67d786fdb442c8a9a9ad
 
 lib32disabled=yes
 
@@ -24,7 +24,7 @@ makedepends="nss-devel libjpeg-turbo-devel gtk+3-devel icu-devel
  $(vopt_if dbus dbus-glib-devel) $(vopt_if pulseaudio pulseaudio-devel)
  $(vopt_if xscreensaver libXScrnSaver-devel)
  $(vopt_if sndio sndio-devel) $(vopt_if jack jack-devel)"
-depends="nss>=3.72 nspr>=4.32 desktop-file-utils hicolor-icon-theme"
+depends="nss>=3.72 nspr>=4.32 desktop-file-utils hicolor-icon-theme libotr"
 
 build_options="alsa jack dbus pulseaudio xscreensaver sndio wayland"
 build_options_default="alsa jack dbus pulseaudio xscreensaver sndio wayland"

From 1ace3a1f12450d96a3781b44f79de59de0b9cccd Mon Sep 17 00:00:00 2001
From: Pascal Huber <pascal.huber@resolved.ch>
Date: Wed, 26 Apr 2023 12:09:25 +0200
Subject: [PATCH 2/3] thunderbird-i18n: udpate to 115.0

---
 srcpkgs/thunderbird-i18n/template | 135 +++++++++++++++---------------
 1 file changed, 67 insertions(+), 68 deletions(-)

diff --git a/srcpkgs/thunderbird-i18n/template b/srcpkgs/thunderbird-i18n/template
index 17830bddd7774..4f500e626e9c6 100644
--- a/srcpkgs/thunderbird-i18n/template
+++ b/srcpkgs/thunderbird-i18n/template
@@ -1,6 +1,6 @@
 # Template file for 'thunderbird-i18n'
 pkgname=thunderbird-i18n
-version=102.6.1
+version=115.0
 revision=1
 build_style=meta
 short_desc="Thunderbird language packs"
@@ -106,70 +106,69 @@ _pkgtmpl() {
 			usr/lib/thunderbird/extensions langpack-${_lang}@thunderbird.mozilla.org.xpi
 	}
 }
-
-checksum="5935be82bcbd313b58520d95b04dc32c462e47df88f9724bb31b21686f8b4b77
- 142c0bd4d67b03320db94ae8002c8d67d9bc481a7ad728efa17ba7ae09e9a971
- 5547af80c73146c9892ad2dcd7fb5c6616c9a3a5b49868a23f03914ae2da1537
- e6f34bb2a5412ef9127aacd87823c84ca2881d47b15a45a96751a7557d1e0398
- cb35b936f2db79a897e1372ea34a1fb8237885030446f29269b940c0f221d733
- ada9c925979d25cb0e1549d20466b7e22653931715dd1a7fe85ca835caddf7f7
- 9b92561b20face8de88a77a579afa6d1404f55c69340993508fcc3153e1bd70b
- 64db6133cc87197cb793e0e33b72345bc30dabf862a06f7574321ea783c54645
- db622d082616525302f8d32b9f41793804d51495d1a7b1f62125ed9daedd3fb2
- 919ccec7292a6cf9ccce66fc7a91bbae2a3f93d965ecb4237380256cc8c344dd
- f160cb1db40b31815096c0c58f9aa75213e294600c12fef2d2deb741e24e22dd
- ce4e51c46cb0860c2671606ef94bff741b2e3d5e70e485b9c5c90d0e481cc5b2
- 05a552baec6b12b7e3f9270a628ff6a3fe62ec17c232f905465317e85e40e731
- 6bc18f1db7d0233c9d3bc0cf277234322845d309918681636c30a2c131bd90e9
- a7cc9b51e57b4de49f958cf1ea47d526e6873318fba96b52ee42d541a2e35902
- bf1fac8be9eca95bdbc9f8542445301e146148afe69b40a4ea41bfdf64ab1034
- 85e3c40c5ef6bd2fdbf9951304bec1f17e2f7a212abdf20cf103a5e7b73f2be9
- 6489211d465c053182484faae07c708e076b82a88d0ebecfda071f4bb41b5677
- f0d0d4a58d6bac842c28bee253e6d5906e582b359173fdeedb6d4c40f0b9a4c8
- 4e3da06699c1cc87b735ef9d181f8cc33c989f44840d02c9b9e5dfd893a8c05e
- 0dcabb9158d29001082801b1703946b1df9e22653fc7c66c9a725f102f2ada00
- 1e3ee2f9d0291ec2aa0a2d5939ca3074d6b6a7da533186e227da1d3cc2cc7974
- ab7931be527b56dea1939b048030647e4311b0c0eaa23b7843f3baab180801ba
- a592cfeb20a346ad8b24facca3f0da2c5fdd65156aafea67b0c3793bb99ab0a1
- 32740a1261d43b6bec2b99e2da64bdf201c60b1d0651a5a5db548e1180cf5fb1
- e9e669a9917eab86af336c1d149910cb8606e21708c2b5707d87452c455905b0
- 777d625c67cbe9e710ac7fffda880e0a1fb523f8cafc6ac2c3b227b2d5de38f5
- 63728cede6b88d8352b9398c675c4537527de00ee8a0e120bcc905be9f47ae89
- 97f387a2b47303ca475eeab466a0d9f4bc64554b82c55a00f2da4cea431aaa03
- c875c6a19505c6a04cbeba85baad5d9432efd930d920eebb72413d6642a33d3f
- 4ebd23d9533cf2c5b63ec4dc6b6f83df742c473d7d108dd70b9947d014a4ec45
- de78a9bdb410bd9850b4d1197442e263cfb7f3a112917aa40f76a5c50f5ae64c
- b23fb2ac9a531848ef30e960fdd3174ae970f84b42a2adec1bb34329879acd96
- b7024f86fac5844692b7e5c859e91c721a8279ee60880cafe9479476559bd9fa
- 7107ffa0816d059147381b63ee31d66b4ad9b6af77ed409c05994fc2eb5c597d
- 1e1144a17959632ccce43025f4addc4adea7c0c225bac529f99b501604b96b53
- 3697fe13197519a9838584a17ed612ae08d9c603d56340df13c42fb971ddbca4
- d357fa261223596406a931867f84f1aefaa4ff8556257a005e0d5061c6b5e8cf
- a85066ac413255ea51260e8c690b7a4fe8602ceb628e7d2fa6803ccafa02c9c8
- a9850ec702c480ab9ed2bbee16f8ffea2fa1e60da5f68f0f51b051699a3551de
- cd784b2b6317748241bc8f5192d5d3e734cc8747b61955485a859faad4be151b
- f67ba1abdbf107f5f18db505ea5c5b588bd4fbdd9c589991a643db0da1204f4b
- 8de924873919f06468f58d8a1dae8e9d2886d3705aa59b2dc7d30b9659a5327a
- 8b2b9ec349e0e562b7e681f8b9c910256c46953c1cd12f131d7e6f04469954f6
- 5ddd93aff16c17626a170fd0a5c95a72e9ab7bcaeaff67f36445ddd21100f42d
- 7bbeb6237a36f375cf78820e59dc61e619854bcf031852a5e8201b783176deac
- f77a1a325100e9f4bd84eeba002b35b63bad535b723ce854b0ce85e63776de38
- bf1573cca7b0892ca234a5bb2e44646ba997c0be8051017f35ae217aa7f60bdb
- 671bb222053b1fa8bb609095e518392dd3cb1ce2dde780ed34441118324cb551
- 6c4c7032d76b31bb76abfae5c5e288bd0a82bbcf7d9bf8aa9197bea687c86a46
- 4195b95b23a643925488e969accb294d1c056247ccfec745748d6ee0b0c94851
- ebaa54f3a992514bbf54bce4ab82743390c715a81343739948efd0ac3ca33599
- 868b30b8b311aed6c74b8d5fc05b7c4a0f32f56602b594229ddcadff2733a1f3
- 75f7542f8d3d49cf4e16023fae32a329fa8e804c90bae236a6415a4a045f6ce0
- ea857d827ee2cc580fae43772648cc410c1bcd4c8612cff9a3a7d11b04e54725
- 25716f39d2d7d25f448dc9a68270f51124f1d234f0b9482743dcc0c1a00fa8b1
- 42d52c4ce57e8cae43667faf7600e98d085b0ab713e7607bc1dae1f34932be67
- 5319b79f719dd27e45ecca54d29482d6558f41947db5c4ec4b70c3e25bb8f55a
- 88bcbfa7a2b006b93fd715810661b464e7b150006f046a94e6c03d2e067ae7e3
- 838d84317a7c51c13329c919d4479396b30233136b70fe025faf968b916ba1c1
- 5f686f697c1093c45ef882c3feb1def6064f458d5ae75a74962375b91c6027d5
- 9f9a7a4e6d73698fdc623384a666e677ce2d32990bc69e16aa631a34371cdf78
- 0ba4499c5805a83172e5dcbdc8fd8e464824827f94ed1849d9a1797a9b386e00
- 41f65c5307ec97310b33ace466439e4abf008d461be3835f545e4194e6c54940
- edd966278b660bb280e8e319300e18652ce2ef0fca5baeeb72696b5fd2a03d69
- 13d667aaf3338da21355c042b3a07567553ee48bf0dc071f9a55ef49451de21c"
+checksum="2795eb87bc114db830a3758d4b521eb1a1ffd9b24eeca850c46f839c4917b83a
+ 35bc76f1bfe843a5b49204d2cad6f8ba3ccfe423b7f3f7660083292adcab51f6
+ a647bea8f334322454314b4f5f0280f7f5d109b272811eec029afd6d847f5533
+ 76aab1c6e2e3b279b468e9e350cdb3984c8c1efc18980fc9efce46e215495535
+ 3245144d2b3fa7eace71dcd18599c1e1e1519af2121f1b8e8b1dc4a8c600f471
+ d1c9edfd1d56c2c56052d5d547d45f84e34a4f3a45a5960d0962cef84a860306
+ 7bfc2e8ede683b5e639d452472e5f6658b9af8f4bfc549e7169c48bf83423eb2
+ 3a2e8d6667b0b22ff6599b8f4fb68461f39d9e4992ee1f025407bdcb82270740
+ 72faf0a2c19b981e984d249aef68928a8667e9cb56342580f44c901b99148356
+ 2101e99c5ef8c5fefd9d9b093bf8a8688310e1727ad66a11f342ca33cfdc5a42
+ ab6d56b072cc8736b64f86319889f873a5fca23ac0bb33e73994295d5e796337
+ 56ddfc0ae04363601c62fcb862a5b9bd1b3218ecbce809b96e416409afcd8001
+ d883155840ca6fe912c2f95b4b2960b5e8edf4871ef413b4a8309b983ef883e8
+ 2c926ec1ec9fbffb228fa6f32055d8b03ee68593b01115f8eea6ae82344ad44b
+ 75919273248d9a8a9822d98e3c7540582c70a15f2d412074983aa8b16d807aba
+ e5f905e6e14330e4b65d752b7fd90c68e58e78d57abb670209e277538203beea
+ cd8d1aed0bfdad4f8201cf97679814fb919d01c63b3e1a2dbbdbbb7e0d22e013
+ 0858b70dbf53e3d3626cc4a8910435e91cf2aeca48ec3547b5539357115d9575
+ 3d7daa749cb4f640f20823483581d494e0a68369c1f390d61bb59e404627e531
+ c688a2689a7849a8e111ea3fcc820de4c3b1d60e1212e51ddf9f9fc83252d01b
+ 577ba1a5fa7142bb7efa175485940c35302bbff6cd43c120553068b77272accd
+ f89c227d2c2e5115a20d22868b3adc9e202cd08b0daf7ac43050ff7920d2b8d3
+ c0e0b90e1136a2b0be1eb539e6f158976fa05f398bbae18b92ce57fa4639a64d
+ eb347b20e13c4308987c7e52667ff93937d374a56d12f70747b79e063cc096a9
+ 766af2c371926414714b4cd403e26b46eb2394aae88af2921387f0c82fa78267
+ a834879a3f83a3849b5895fea2870d9b95237a46e2e61fe19b02f8cc47b3e493
+ 4ac7c69dcbe3292efbc610f3cebd49837569cd057b567b60bd3ca2e7204bcd21
+ bfbd481a956dc0e82fd1386eb4607b288e56230d829c19d7d8492cea9f7c6cdb
+ 23c7c48c0772a3056218055c7f5ee676e493dc35f35c714f7b2e43bd8fe986dc
+ 052154888d2c1eb8a1a234d19919a943a1bba71709259b9b87f3e89036ba784c
+ 3da3c384ceb9b0ee2ef87065eee6a1f8e03645853c68ecd05f320e0bc1b6081a
+ 98ec455fa04aaa9c81e034383c6e9151eba247113d5681223cab9164ec548a8b
+ 466329a0885c83c6bfce8bafc1a3cbd5bf7614d28495d6c168fb1169755d6b27
+ ee143ad8f2c195b453496dc576e03154c707f0706cb6c82c7120f09c91a079c2
+ b2d9cdb75ca10e31426331c2b978122e1d8f6089b7ad580798958b81aeafd210
+ 0af499fe0d38230a7c4796e439581d35bded64457b49e142650fde641ceaa828
+ df5cdc43653ad81a33f305a58a1429377b9ff70652b3cfa8efcd559d23cda592
+ 5c3edac5f619b7d4bcf2f801ed82e6c73b889277b0fd142d0beaf1af63739ae3
+ d9ffc08cbfbc3c386117234c80edfef31c4c61a08778026f3dbc304e1e2b5588
+ 0c44def4e69d0116b1ed0335eed8dcce22c01cc1baaa0ed8c9be9161bbe460ca
+ 4e862710ce361be02f160430da67de5e14bdd8c36d6f915e8589cd5b13bce7be
+ 576fae0ba50d25742548e44d8e0f0ba6fce7bb108e495b988d093f96f4608e76
+ 76589f4722c3a6deb3f470eaa10b09de2d7e20a90563bc3f7ecb1146256e4846
+ 997f89eeec54328b84255a478d7bea2ee86054af3165b83b559ca748ad1f0ed2
+ 3bd42654702043a7333a2ab1fb34aa55354e2f3a075f5f922c0931f43606b0a5
+ f5761d69d311abc3fa9ddd63101808e02e7df39992c34744b8786baf10a8bd79
+ 10e0c72af868e1429013d89a8d700d2e601924049cf93cc25020fe335307a31e
+ fd9f38014ee0b8aa292610c757c81edccc996652573427fb7fe7754b80732066
+ c21f52050b85935689d96656c13259664ba046944bd0cb136db7db5859e90614
+ 83840f492dc9f9cbdd65593cc6ffd7c0c85c9720c527202b991af0df64062588
+ c5afb7a8e031df877ae66f0e0c1abc20b3c4ffeef9510642eddd6971c1df119d
+ a6cf787baecb27695f3764f87369afb10896edcd515d744fe35462b387ddf4ec
+ fdb3203916a31637b39428ae491e8f9704eebde791d48b4470d4e3f26abe393a
+ 33720e23c7f518ab7a8cfe103e56f0cb5c3cdd38933757ded3c5a17a82af81d9
+ be5ffaa88e17075137fd1ab73de9c5d7aa3874ae5d7348c63c9eb337c2dda1d1
+ d4cd085355c29206456729de82859c5f23515c3d83a9729605965928105ac79c
+ 397276efc3f4c6dfae6efb3e2025bf767f4de1a886774119e431a60cf185691a
+ c4a95222d6905100e8720690b37c5f6bb26f7086dff1f59f864ad992df2dd80b
+ 91abe4d68395f0dd77a85ac45626d8eb998df2f0695ba1d3b7a240940a079949
+ c1f6d49be3cec81ff732d7e1ff318a745a0a368199f1179693a11356b01a1771
+ ba91ecb70ed128ad52cd31917a4c0e7fc21ce7d5211619c01daa9b2982ee0f73
+ 9b198f5bce975e98084ee9be9b7f388aa2f42c342addb2890305afe47bd01084
+ 8afacc89f22054e7b83b500f907dea82fc7456d233a3b6a0f91833ac3ab0db05
+ bcf10378a8fe52b4882d52ad19d7f5b41abe2c4685aab05d2cba081da64a7fd6
+ 17122d6782c7b8d495e6de42259ce4543e5bbd449b0a8e6f86e2ba3a1f684d0d
+ 8230d2f47709cfd580704f8a8c795f24fca9c4e7d71b3af95223a20778f257af"

From 8e4a13a5f7fcc6b07a7384734ae4ba6d05993ad5 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 17 Jul 2023 22:34:45 -0400
Subject: [PATCH 3/3] icu: fix timezone stuff for thunderbird

---
 .../patches/standardize-vtzone-output.patch   | 33 +++++++++++++++++++
 srcpkgs/icu/template                          |  2 +-
 2 files changed, 34 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/icu/patches/standardize-vtzone-output.patch

diff --git a/srcpkgs/icu/patches/standardize-vtzone-output.patch b/srcpkgs/icu/patches/standardize-vtzone-output.patch
new file mode 100644
index 0000000000000..7274f539991a7
--- /dev/null
+++ b/srcpkgs/icu/patches/standardize-vtzone-output.patch
@@ -0,0 +1,33 @@
+Patch-Source: https://github.com/chimera-linux/cports/blob/c48ec38c2d88f6e5962299583a8f862159c89349/main/icu/patches/standardize-vtzone-output.patch
+https://bugzilla.mozilla.org/show_bug.cgi?id=1790071
+https://unicode-org.atlassian.net/browse/ICU-22132  
+needed for thunderbird
+--
+diff --git a/intl/icu/source/i18n/vtzone.cpp b/intl/icu/source/i18n/vtzone.cpp
+--- a/source/i18n/vtzone.cpp
++++ b/source/i18n/vtzone.cpp
+@@ -1735,14 +1735,17 @@ VTimeZone::write(VTZWriter& writer, UErr
+             }
+         }
+     } else {
+-        UnicodeString icutzprop;
+-        UVector customProps(nullptr, uhash_compareUnicodeString, status);
++        UVector customProps(uprv_deleteUObject, uhash_compareUnicodeString, status);
+         if (olsonzid.length() > 0 && icutzver.length() > 0) {
+-            icutzprop.append(olsonzid);
+-            icutzprop.append(u'[');
+-            icutzprop.append(icutzver);
+-            icutzprop.append(u']');
+-            customProps.addElement(&icutzprop, status);
++            LocalPointer<UnicodeString> icutzprop(new UnicodeString(ICU_TZINFO_PROP), status);
++            if (U_FAILURE(status)) {
++                return;
++            }
++            icutzprop->append(olsonzid);
++            icutzprop->append(u'[');
++            icutzprop->append(icutzver);
++            icutzprop->append(u']');
++            customProps.adoptElement(icutzprop.orphan(), status);
+         }
+         writeZone(writer, *tz, &customProps, status);
+     }
diff --git a/srcpkgs/icu/template b/srcpkgs/icu/template
index 355865ce25dfd..271f7ea4fc944 100644
--- a/srcpkgs/icu/template
+++ b/srcpkgs/icu/template
@@ -3,7 +3,7 @@
 #       next soname bump.
 pkgname=icu
 version=73.2
-revision=1
+revision=2
 build_wrksrc=source
 build_style=gnu-configure
 # use archive data instead of .so data for correct cross-compiling

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PR REVIEW] thunderbird: update to 115.0
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (30 preceding siblings ...)
  2023-07-20  7:15 ` [PR PATCH] [Updated] " pascal-huber
@ 2023-07-20  7:15 ` pascal-huber
  2023-07-20  8:00 ` [PR PATCH] [Merged]: " classabbyamp
  32 siblings, 0 replies; 33+ messages in thread
From: pascal-huber @ 2023-07-20  7:15 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 167 bytes --]

New review comment by pascal-huber on void-packages repository

https://github.com/void-linux/void-packages/pull/43607#discussion_r1269032303

Comment:
reverted, done

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PR PATCH] [Merged]: thunderbird: update to 115.0
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
                   ` (31 preceding siblings ...)
  2023-07-20  7:15 ` [PR REVIEW] " pascal-huber
@ 2023-07-20  8:00 ` classabbyamp
  32 siblings, 0 replies; 33+ messages in thread
From: classabbyamp @ 2023-07-20  8:00 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 713 bytes --]

There's a merged pull request on the void-packages repository

thunderbird: update to 115.0
https://github.com/void-linux/void-packages/pull/43607

Description:
[ci skip]

#### Testing the changes
- I tested the changes in this PR: **briefly**

#### Local build testing
- I built this PR locally for my native architecture, x86_64-glibc
- I built this PR locally for these architectures (if supported. mark crossbuilds):
 - [x] x86_64
 - [x] armv7l (crossbuild)
 - [x] aarch64 (crossbuild)
 - [x] i686 (native)
 - [x] x86_64-musl (native)
 - [ ] ~~armv6l-musl~~ (not supported)
 - [x] aarch64-musl
 
 
 #### Notes
 - Fixed `MOZILLA_SITE`
 - The UI seems a bit buggy with switching to calendars

^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2023-07-20  8:00 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43607@inbox.vuxu.org>
2023-04-26 10:03 ` [PR PATCH] [Updated] thunderbird: update to 102.10.1 pascal-huber
2023-04-26 10:05 ` pascal-huber
2023-04-26 10:07 ` [PR PATCH] [Updated] " pascal-huber
2023-04-26 10:09 ` pascal-huber
2023-05-05  7:02 ` pascal-huber
2023-05-12 12:03 ` pascal-huber
2023-05-12 12:03 ` pascal-huber
2023-05-12 12:06 ` [PR PATCH] [Updated] thunderbird: update to 102.11.0 pascal-huber
2023-06-09  9:07 ` pascal-huber
2023-06-09  9:08 ` pascal-huber
2023-06-09 15:19 ` thunderbird: update to 102.12.0 pascal-huber
2023-06-14 18:53 ` Chocimier
2023-06-19 18:58 ` pascal-huber
2023-07-14 21:32 ` nvkomimi
2023-07-14 21:38 ` pascal-huber
2023-07-15 11:48 ` [PR PATCH] [Updated] " pascal-huber
2023-07-15 11:49 ` thunderbird: update to 115.0 pascal-huber
2023-07-15 11:57 ` pascal-huber
2023-07-15 17:03 ` [PR PATCH] [Updated] " pascal-huber
2023-07-15 17:12 ` pascal-huber
2023-07-15 18:20 ` pascal-huber
2023-07-16  9:53 ` pascal-huber
2023-07-17 20:19 ` classabbyamp
2023-07-17 20:47 ` pascal-huber
2023-07-18  4:08 ` [PR PATCH] [Updated] " classabbyamp
2023-07-18  4:08 ` classabbyamp
2023-07-19 23:05 ` [PR REVIEW] " classabbyamp
2023-07-19 23:07 ` classabbyamp
2023-07-20  6:05 ` pascal-huber
2023-07-20  6:10 ` pascal-huber
2023-07-20  7:15 ` [PR PATCH] [Updated] " pascal-huber
2023-07-20  7:15 ` [PR REVIEW] " pascal-huber
2023-07-20  8:00 ` [PR PATCH] [Merged]: " classabbyamp

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).