From 8652411711fb7013f01ad58d94b47f9f98ad8358 Mon Sep 17 00:00:00 2001 From: wangkaiqiang Date: Wed, 6 Nov 2024 14:55:19 +0800 Subject: [PATCH] [CVE] Fix CVE-2024-6602 CVE-2024-6606 CVE-2024-6611 CVE-2024-9680 to #11307 #11309 #11333 #9602 update to firefox-128.3.1 Project: TC2024080201 Signed-off-by: wangkaiqiang --- 0001-GLIBCXX-fix-for-GCC-12.patch | 44 - ...oongarch64-support-for-authenticator.patch | 59 - add-loongarch64-support-for-cty.patch | 33 - add-loongarch64-support-for-ipc.patch | 26 - add-loongarch64-support-for-libwebrtc.patch | 27 - add-loongarch64-support-for-nix.patch | 33 - ...t-Bug-1782159-to-support-loongarch64.patch | 468 ----- build-aarch64-skia.patch | 25 - build-arm-libopus.patch | 12 - build-big-endian-errors.patch | 57 + build-disable-elfhack.patch | 12 + build-disable-gamepad.patch | 12 + build-ffvpx.patch | 24 + build-libaom.patch | 20 + build-ppc64-abiv2.patch | 12 + build-rhel7-lower-node-min-version.patch | 11 + build-rhel7-nasm-dwarf.patch | 12 + disable-openh264-download.patch | 38 - disable-pipewire.patch | 274 +++ download | 7 +- en-US.xpi | Bin 523410 -> 0 bytes firefox-112.0-commasplit.patch | 76 - firefox-anolis-default-prefs.js | 21 +- firefox-enable-addons.patch | 10 +- firefox-enable-vaapi.patch | 18 - firefox-gcc-13-build.patch | 24 - firefox-gcc-always-inline.patch | 14 - firefox-i686-build.patch | 12 - firefox-mozconfig | 27 +- firefox-tests-xpcshell-freeze.patch | 14 - firefox.desktop | 1 - firefox.sh.in | 42 +- firefox.spec | 1819 ++++++++++++----- gen_cbindgen-vendor.sh | 32 - mozilla-1196777.patch | 13 - mozilla-1667096.patch | 549 ----- mozilla-1669639.patch | 14 - mozilla-bmo1170092.patch | 95 + mozilla-bmo1504834-part1.patch | 86 + mozilla-bmo1504834-part3.patch | 17 + mozilla-bmo1636168-fscreen.patch | 62 + mozilla-bmo1670333.patch | 66 + mozilla-bmo1716707-svg.patch | 29 + mozilla-bmo1716707-swizzle.patch | 34 + mozilla-bmo1789216-disable-av1.patch | 73 + mozilla-bmo849632.patch | 26 + mozilla-bmo998749.patch | 29 + node-stdout-nonblocking-wrapper | 2 +- nss-setup-flags-env.inc | 7 + process-official-tarball | 28 + rhbz-2131158-webrtc-nss-fix.patch | 25 + shebang-build.patch | 9 - testing.sh | 260 +++ 53 files changed, 2578 insertions(+), 2162 deletions(-) delete mode 100644 0001-GLIBCXX-fix-for-GCC-12.patch delete mode 100644 add-loongarch64-support-for-authenticator.patch delete mode 100644 add-loongarch64-support-for-cty.patch delete mode 100644 add-loongarch64-support-for-ipc.patch delete mode 100644 add-loongarch64-support-for-libwebrtc.patch delete mode 100644 add-loongarch64-support-for-nix.patch delete mode 100644 backport-Bug-1782159-to-support-loongarch64.patch delete mode 100644 build-aarch64-skia.patch delete mode 100644 build-arm-libopus.patch create mode 100644 build-big-endian-errors.patch create mode 100644 build-disable-elfhack.patch create mode 100644 build-disable-gamepad.patch create mode 100644 build-ffvpx.patch create mode 100644 build-libaom.patch create mode 100644 build-ppc64-abiv2.patch create mode 100644 build-rhel7-lower-node-min-version.patch create mode 100644 build-rhel7-nasm-dwarf.patch delete mode 100644 disable-openh264-download.patch create mode 100644 disable-pipewire.patch delete mode 100644 en-US.xpi delete mode 100644 firefox-112.0-commasplit.patch delete mode 100644 firefox-enable-vaapi.patch delete mode 100644 firefox-gcc-13-build.patch delete mode 100644 firefox-gcc-always-inline.patch delete mode 100644 firefox-i686-build.patch delete mode 100644 firefox-tests-xpcshell-freeze.patch delete mode 100755 gen_cbindgen-vendor.sh delete mode 100644 mozilla-1196777.patch delete mode 100644 mozilla-1667096.patch delete mode 100644 mozilla-1669639.patch create mode 100644 mozilla-bmo1170092.patch create mode 100644 mozilla-bmo1504834-part1.patch create mode 100644 mozilla-bmo1504834-part3.patch create mode 100644 mozilla-bmo1636168-fscreen.patch create mode 100644 mozilla-bmo1670333.patch create mode 100644 mozilla-bmo1716707-svg.patch create mode 100644 mozilla-bmo1716707-swizzle.patch create mode 100644 mozilla-bmo1789216-disable-av1.patch create mode 100644 mozilla-bmo849632.patch create mode 100644 mozilla-bmo998749.patch create mode 100644 nss-setup-flags-env.inc create mode 100755 process-official-tarball create mode 100644 rhbz-2131158-webrtc-nss-fix.patch delete mode 100644 shebang-build.patch create mode 100755 testing.sh diff --git a/0001-GLIBCXX-fix-for-GCC-12.patch b/0001-GLIBCXX-fix-for-GCC-12.patch deleted file mode 100644 index 37d6f50..0000000 --- a/0001-GLIBCXX-fix-for-GCC-12.patch +++ /dev/null @@ -1,44 +0,0 @@ -From efd5bc0715e5477318be95a76811cda0a89e8289 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= -Date: Fri, 4 Mar 2022 12:00:26 +0100 -Subject: [PATCH] GLIBCXX fix for GCC 12? - ---- - build/unix/stdc++compat/stdc++compat.cpp | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/build/unix/stdc++compat/stdc++compat.cpp b/build/unix/stdc++compat/stdc++compat.cpp -index 0180f6bcfa998..8d7a542ff11f0 100644 ---- a/build/unix/stdc++compat/stdc++compat.cpp -+++ b/build/unix/stdc++compat/stdc++compat.cpp -@@ -24,6 +24,7 @@ - GLIBCXX_3.4.27 is from gcc 10 - GLIBCXX_3.4.28 is from gcc 10 - GLIBCXX_3.4.29 is from gcc 11 -+ GLIBCXX_3.4.30 is from gcc 12 - - This file adds the necessary compatibility tricks to avoid symbols with - version GLIBCXX_3.4.20 and bigger, keeping binary compatibility with -@@ -69,6 +70,19 @@ void __attribute__((weak)) __throw_bad_array_new_length() { MOZ_CRASH(); } - } // namespace std - #endif - -+#if _GLIBCXX_RELEASE >= 12 -+namespace std { -+ -+/* This avoids the GLIBCXX_3.4.30 symbol version. */ -+void __attribute__((weak)) -+__glibcxx_assert_fail(const char* __file, int __line, const char* __function, -+ const char* __condition) { -+ MOZ_CRASH(); -+} -+ -+} // namespace std -+#endif -+ - /* While we generally don't build with exceptions, we have some host tools - * that do use them. libstdc++ from GCC 5.0 added exception constructors with - * char const* argument. Older versions only have a constructor with --- -2.35.1 - diff --git a/add-loongarch64-support-for-authenticator.patch b/add-loongarch64-support-for-authenticator.patch deleted file mode 100644 index d542a89..0000000 --- a/add-loongarch64-support-for-authenticator.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 4d690fe17e05098512a2d30634db73f495620599 Mon Sep 17 00:00:00 2001 -From: Wenlong Zhang -Date: Thu, 14 Dec 2023 08:39:08 +0000 -Subject: [PATCH] add loongarch64 support for authenticator - ---- - third_party/rust/authenticator/.cargo-checksum.json | 2 +- - third_party/rust/authenticator/build.rs | 2 ++ - .../rust/authenticator/src/transport/linux/hidwrapper.rs | 3 +++ - .../authenticator/src/transport/linux/ioctl_loongarch64.rs | 5 +++++ - 4 files changed, 11 insertions(+), 1 deletion(-) - create mode 100644 third_party/rust/authenticator/src/transport/linux/ioctl_loongarch64.rs - -diff --git a/third_party/rust/authenticator/.cargo-checksum.json b/third_party/rust/authenticator/.cargo-checksum.json -index 080c46c4c0..98bec19e3a 100644 ---- a/third_party/rust/authenticator/.cargo-checksum.json -+++ b/third_party/rust/authenticator/.cargo-checksum.json -@@ -1 +1 @@ --{"files":{"Cargo.lock":"803a1ca7735f93e1d952a07291a6976db787b6530bc67f9e3d2ae2dcaf8a90cc","Cargo.toml":"e8f07adde7f2c71a96cbe3809ab605a9082b8ccaf8d2a69aacb6d5db90fddcdc","Cross.toml":"8d132da818d48492aa9f4b78a348f0df3adfae45d988d42ebd6be8a5adadb6c3","LICENSE":"e866c8f5864d4cacfe403820e722e9dc03fe3c7565efa5e4dad9051d827bb92a","README.md":"c87d9c7cc44f1dd4ef861a3a9f8cd2eb68aedd3814768871f5fb63c2070806cd","build.rs":"01092254718e4cd5d6bffcd64d55cc3240dc00e79f3d7344a5dc4abf6c27bca6","examples/ctap2.rs":"51709e50dd23477f6f91225c09fca08824a00abdc851727b2f3bd9dcd746378e","examples/ctap2_discoverable_creds.rs":"952207c39bad1995998c686f99fbca39268e930099b0086a09adeb5d12931df6","examples/interactive_management.rs":"27d2578fca7672477584bb3a74db182295c85e4aa6ae2d8edfd849fc0018c413","examples/reset.rs":"b13d3a2ed3544018ede8660ec0cc79732139e792d4e55c2c6fb517ad376b36ad","examples/set_pin.rs":"991d9bd66fd6bdd9dd8627ed710fe100a3dfb65b968031f768ee9a28e1e995d7","examples/test_exclude_list.rs":"20577d6887b00c99d2ae404e1b1f64c746ecc774bd2f9f0f8d1c5bb6a6f30292","rustfmt.toml":"ceb6615363d6fff16426eb56f5727f98a7f7ed459ba9af735b1d8b672e2c3b9b","src/authenticatorservice.rs":"dc756ae9d420dac187b04afbb4831527c12fa307ef072f1c1cb4480df9cbda5f","src/consts.rs":"44fb7c396dc87d1657d1feed08e956fc70608c0b06a034716b626419b442bcfe","src/crypto/dummy.rs":"9cc6be0dc1e28c7328121e7a4bf435211ae8b1455784472b24993571c4009579","src/crypto/mod.rs":"e4342dd93fd41bf48fa26386188ed92db5f908ad4d69f32f080a65228c6d5390","src/crypto/nss.rs":"2bf33898728760f194f204876450d0906b47907d259270f6e3d43c62a709c99a","src/crypto/openssl.rs":"ef6e4dbcc7230137e505e3fc4ad37e102e6b26b37470afd0f4709a297b3aa546","src/ctap2/attestation.rs":"e3c581154fb6bd4e4d8bd2326515864849b21766f5344e2d955d607b360fc930","src/ctap2/client_data.rs":"04ee84b34e91c988183871b4975fc08e12234965187c793ad26d0d82ed44642f","src/ctap2/commands/client_pin.rs":"7f3a49b23592e985b8f32d43688593ff7411a05cb594444e24851c13f093cdef","src/ctap2/commands/get_assertion.rs":"e9cd68cff2ee54156af6e3e424691a06354aafffcc374a40ccc9622f030c4999","src/ctap2/commands/get_info.rs":"79117c39d280445fb17be057af2f45ec1d80651ea1c8b478e07118ade808291b","src/ctap2/commands/get_next_assertion.rs":"8a8fa69cb4079a21ff4734067e74784b2bfee3c20ddcc0b35675ce77a3d83ae9","src/ctap2/commands/get_version.rs":"958c273c6156af102bba515de42e4a5ae43f36b4d2d1814d922c269c500f6ce2","src/ctap2/commands/make_credentials.rs":"524cb3378fcc2b08696ab25bf5473e149af307d18ef503a4ee971b4b7e087ff3","src/ctap2/commands/mod.rs":"916eb63b3e46968a9e79d088dd217c2b80dc1c4d14beaf12803e91b7987b6c32","src/ctap2/commands/reset.rs":"45500500c900124f96269679862ceeb18e87111096d322c87c766f2694e576fc","src/ctap2/commands/selection.rs":"7832d62bf37ddbbaf996d84f905c2cdca7dceb529c8f9f1fe82eb288da886068","src/ctap2/mod.rs":"5953ee33ee5930437f9d91299f8a6fdbc21bc62297ae4194901893ef0a5ac82a","src/ctap2/preflight.rs":"1cd41e948955a8bcb22a2e55e254dad1be74590b6016437914e93a2639222aef","src/ctap2/server.rs":"61e2afa1bc3ce1d61743073f14c1a385d064e5deed2b8a194e32e0ccbd4243ad","src/ctap2/utils.rs":"ad0aa36a0dbeb510b7f37789329f1957eab206eb529dc083e6176b142984e26e","src/errors.rs":"a99e5fbdad315ba1589b116fc227310996ef900498b595545228be35744b2038","src/lib.rs":"d42fc78ab81b6fdd66ebe35951a4395a3656f557795cff4c8bfcc54199cabfcd","src/manager.rs":"d72f8523d0a549487504ef6d370aee9132ad7436aaae777e6d65a0a03f3c0c27","src/statecallback.rs":"6b16f97176db1ae3fc3851fe8394e4ffc324bc6fe59313845ac3a88132fd52f1","src/statemachine.rs":"3b1b08efda156bc8c00bad27096a95177217ad77cb041530a03b8903ba51d7e0","src/status_update.rs":"d032524f2c36c5a32db9dd424decf4577cea65adceca91bb1dfcdc07c58289cb","src/transport/device_selector.rs":"c703aa8e59b0b7ac9d11be0aac434dffda8b0c91e1a84298c48e598978e1576e","src/transport/errors.rs":"5af7cb8d22ffa63bf4264d182a0f54b9b3a2cc9d19d832b3495857229f9a2875","src/transport/freebsd/device.rs":"f41c7cf29c48bf2b403cf460e6387864372a134d6daeefc5c3afc3f40d0d4575","src/transport/freebsd/mod.rs":"42dcb57fbeb00140003a8ad39acac9b547062b8f281a3fa5deb5f92a6169dde6","src/transport/freebsd/monitor.rs":"a6b34af4dd2e357a5775b1f3a723766107c11ef98dba859b1188ed08e0e450a2","src/transport/freebsd/transaction.rs":"ec28475a70dded260f9a7908c7f88dd3771f5d64b9a5dda835411d13b713c39a","src/transport/freebsd/uhid.rs":"a194416a8bc5d428c337f8d96a2248769ca190810852bbe5ee686ab595d8eb4c","src/transport/hid.rs":"033e0f1bf6428a1d4077e5abb53dbfa193ef72dd8a98b7666d7b5fb45a6570f0","src/transport/hidproto.rs":"9d490f161807b75f4d7d5096355006627c1f47c0d90fca53bade3692efc92a2d","src/transport/linux/device.rs":"e79bd06d98723a0d7e4f25b7cf2ac3e0260b10e52d2b0695909d2932288e10a4","src/transport/linux/hidraw.rs":"c7a0df9b4e51cb2736218ffffa02b2b2547b7c515d69f9bae2c9a8c8f1cb547b","src/transport/linux/hidwrapper.h":"72785db3a9b27ea72b6cf13a958fee032af54304522d002f56322473978a20f9","src/transport/linux/hidwrapper.rs":"753c7459dbb73befdd186b6269ac33f7a4537b4c935928f50f2b2131756e787d","src/transport/linux/ioctl_aarch64le.rs":"2d8b265cd39a9f46816f83d5a5df0701c13eb842bc609325bad42ce50add3bf0","src/transport/linux/ioctl_armle.rs":"2d8b265cd39a9f46816f83d5a5df0701c13eb842bc609325bad42ce50add3bf0","src/transport/linux/ioctl_mips64le.rs":"fbda309934ad8bda689cd4fb5c0ca696fe26dedb493fe9d5a5322c3047d474fd","src/transport/linux/ioctl_mipsbe.rs":"fbda309934ad8bda689cd4fb5c0ca696fe26dedb493fe9d5a5322c3047d474fd","src/transport/linux/ioctl_mipsle.rs":"fbda309934ad8bda689cd4fb5c0ca696fe26dedb493fe9d5a5322c3047d474fd","src/transport/linux/ioctl_powerpc64be.rs":"fbda309934ad8bda689cd4fb5c0ca696fe26dedb493fe9d5a5322c3047d474fd","src/transport/linux/ioctl_powerpc64le.rs":"fbda309934ad8bda689cd4fb5c0ca696fe26dedb493fe9d5a5322c3047d474fd","src/transport/linux/ioctl_powerpcbe.rs":"fbda309934ad8bda689cd4fb5c0ca696fe26dedb493fe9d5a5322c3047d474fd","src/transport/linux/ioctl_riscv64.rs":"2d8b265cd39a9f46816f83d5a5df0701c13eb842bc609325bad42ce50add3bf0","src/transport/linux/ioctl_s390xbe.rs":"2d8b265cd39a9f46816f83d5a5df0701c13eb842bc609325bad42ce50add3bf0","src/transport/linux/ioctl_x86.rs":"2d8b265cd39a9f46816f83d5a5df0701c13eb842bc609325bad42ce50add3bf0","src/transport/linux/ioctl_x86_64.rs":"2d8b265cd39a9f46816f83d5a5df0701c13eb842bc609325bad42ce50add3bf0","src/transport/linux/mod.rs":"446e435126d2a58f167f648dd95cba28e8ac9c17f1f799e1eaeab80ea800fc57","src/transport/linux/monitor.rs":"5e3ec2618dd74027ae6ca1527991254e3271cce59106d4920ce0414094e22f64","src/transport/linux/transaction.rs":"ec28475a70dded260f9a7908c7f88dd3771f5d64b9a5dda835411d13b713c39a","src/transport/macos/device.rs":"f508d0585079ecf87a73d6135c52e8b5a887fbf16e241676d51a8099a8001a81","src/transport/macos/iokit.rs":"7dc4e7bbf8e42e2fcde0cee8e48d14d6234a5a910bd5d3c4e966d8ba6b73992f","src/transport/macos/mod.rs":"333e561554fc901d4f6092f6e4c85823e2b0c4ff31c9188d0e6d542b71a0a07c","src/transport/macos/monitor.rs":"e02288454bb4010e06b705d82646abddb3799f0cd655f574aa19f9d91485a4a2","src/transport/macos/transaction.rs":"9dcdebd13d5fd5a185b5ad777a80c825a6ba5e76b141c238aa115b451b9a72fa","src/transport/mock/device.rs":"582b2b55f13d95dd9f1127e3dde49d2137a5ca020f9c1fa1ffa5c4083d05c0e7","src/transport/mock/mod.rs":"9c4c87efd19adddc1a91c699a6c328063cfbac5531b76346a5ff92e986aded8f","src/transport/mock/transaction.rs":"be3ed8c389dfa04122364b82515edd76fad6f5d5f72d15cacd45a84fb8397292","src/transport/mod.rs":"e28d72b6f3fdaff21f940c4db213067cd94f5832f864ecaad1c9901d5aea9b79","src/transport/netbsd/device.rs":"a7dec83b5040faf1a8ddb37e9fc2b45b9b12814be4802b3b351eff081d1b80c3","src/transport/netbsd/fd.rs":"5464019025d03ea2a39c82f76b238bbbdb0ea63f5a5fc7c9d974e235139cd53b","src/transport/netbsd/mod.rs":"b1c52aa29537330cebe67427062d6c94871cab2a9b0c04b2305d686f07e88fd5","src/transport/netbsd/monitor.rs":"fb2917e4ba53cc9867987a539061f82d011f4c6e478df1157d965d32df2eb922","src/transport/netbsd/transaction.rs":"ec28475a70dded260f9a7908c7f88dd3771f5d64b9a5dda835411d13b713c39a","src/transport/netbsd/uhid.rs":"d15be35e2413240066a8f086bb8846b08a6a92bf6a1941c3eec1329dd3a4f9ce","src/transport/openbsd/device.rs":"47d8dfeb12c33e6cada2b2cd76476827059c797d8a16f2c4aea6e78d32ebab46","src/transport/openbsd/mod.rs":"514274d414042ff84b3667a41a736e78581e22fda87ccc97c2bc05617e381a30","src/transport/openbsd/monitor.rs":"2e0ba6ecc69b450be9cbfd21a7c65036ed2ce593b12363596d3eae0b5bfb79e8","src/transport/openbsd/transaction.rs":"ec28475a70dded260f9a7908c7f88dd3771f5d64b9a5dda835411d13b713c39a","src/transport/stub/device.rs":"aa21711d6690ed68bd878b28463172ba69c6324be7afabeccb1f07b4831cb020","src/transport/stub/mod.rs":"6a7fec504a52d403b0241b18cd8b95088a31807571f4c0a67e4055afc74f4453","src/transport/stub/transaction.rs":"c9a3ade9562468163f28fd51e7ff3e0bf5854b7edade9e987000d11c5d0e62d2","src/transport/windows/device.rs":"148b1572ed5fa8d476efbdb2a3a35608ec23012d6a805129f3c25c453bab4b7a","src/transport/windows/mod.rs":"218e7f2fe91ecb390c12bba5a5ffdad2c1f0b22861c937f4d386262e5b3dd617","src/transport/windows/monitor.rs":"95913d49e7d83482e420493d89b53ffceb6a49e646a87de934dff507b3092b4c","src/transport/windows/transaction.rs":"ec28475a70dded260f9a7908c7f88dd3771f5d64b9a5dda835411d13b713c39a","src/transport/windows/winapi.rs":"b2a4cc85f14e39cadfbf068ee001c9d776f028d3cf09cb926d4364c5b437c112","src/u2fprotocol.rs":"e61ac223aab79ae82383cd32a23213d18461e229c448373bf2483357a9eae69e","src/u2ftypes.rs":"8511c6f04f69670ddd403178a46060644a27128ca4077a9a3e00bc6671e3864b","src/util.rs":"cf37c4c3caf6dde4fc3cf6f5f297ed3c0f13bcb50fb0e8955899fc837483ef31","src/virtualdevices/mod.rs":"2c7df7691d5c150757304241351612aed4260d65b70ab0f483edbc1a5cfb5674","src/virtualdevices/software_u2f.rs":"83e63c0c4a597e71d87b5cd1f33a49646d00b3062edbdd05c51623b80fb60168","src/virtualdevices/webdriver/mod.rs":"4a36e6dfa9f45f941d863b4039bfbcfa8eaca660bd6ed78aeb1a2962db64be5a","src/virtualdevices/webdriver/testtoken.rs":"7146e02f1a5dad2c8827dd11c12ee408c0e42a0706ac65f139998feffd42570f","src/virtualdevices/webdriver/virtualmanager.rs":"7205a0397833628fc0847aa942a6a314dc1e23306858b546053e0de6a360ebe1","src/virtualdevices/webdriver/web_api.rs":"9032525af458b6fe9a3274c36b6ef8c791ecc4ec46d38ae36583fc9a4535b59d","testing/cross/powerpc64le-unknown-linux-gnu.Dockerfile":"d7463ff4376e3e0ca3fed879fab4aa975c4c0a3e7924c5b88aef9381a5d013de","testing/cross/x86_64-unknown-linux-gnu.Dockerfile":"11c79c04b07a171b0c9b63ef75fa75f33263ce76e3c1eda0879a3e723ebd0c24","testing/run_cross.sh":"cc2a7e0359f210eba2e7121f81eb8ab0125cea6e0d0f2698177b0fe2ad0c33d8","webdriver-tools/requirements.txt":"8236aa3dedad886f213c9b778fec80b037212d30e640b458984110211d546005","webdriver-tools/webdriver-driver.py":"82327c26ba271d1689acc87b612ab8436cb5475f0a3c0dba7baa06e7f6f5e19c"},"package":"aa0e182b77b6b19eaf9c7b69fddf3be970169ec6d34eca3f5d682ab948727e57"} -\ No newline at end of file -+{"files":{"Cargo.lock":"803a1ca7735f93e1d952a07291a6976db787b6530bc67f9e3d2ae2dcaf8a90cc","Cargo.toml":"e8f07adde7f2c71a96cbe3809ab605a9082b8ccaf8d2a69aacb6d5db90fddcdc","Cross.toml":"8d132da818d48492aa9f4b78a348f0df3adfae45d988d42ebd6be8a5adadb6c3","LICENSE":"e866c8f5864d4cacfe403820e722e9dc03fe3c7565efa5e4dad9051d827bb92a","README.md":"c87d9c7cc44f1dd4ef861a3a9f8cd2eb68aedd3814768871f5fb63c2070806cd","build.rs":"5b909f42e52ed2056afa3693544ef1c1dc5e90d00e7d8730175a228bd0233b43","examples/ctap2.rs":"51709e50dd23477f6f91225c09fca08824a00abdc851727b2f3bd9dcd746378e","examples/ctap2_discoverable_creds.rs":"952207c39bad1995998c686f99fbca39268e930099b0086a09adeb5d12931df6","examples/interactive_management.rs":"27d2578fca7672477584bb3a74db182295c85e4aa6ae2d8edfd849fc0018c413","examples/reset.rs":"b13d3a2ed3544018ede8660ec0cc79732139e792d4e55c2c6fb517ad376b36ad","examples/set_pin.rs":"991d9bd66fd6bdd9dd8627ed710fe100a3dfb65b968031f768ee9a28e1e995d7","examples/test_exclude_list.rs":"20577d6887b00c99d2ae404e1b1f64c746ecc774bd2f9f0f8d1c5bb6a6f30292","rustfmt.toml":"ceb6615363d6fff16426eb56f5727f98a7f7ed459ba9af735b1d8b672e2c3b9b","src/authenticatorservice.rs":"dc756ae9d420dac187b04afbb4831527c12fa307ef072f1c1cb4480df9cbda5f","src/consts.rs":"44fb7c396dc87d1657d1feed08e956fc70608c0b06a034716b626419b442bcfe","src/crypto/dummy.rs":"9cc6be0dc1e28c7328121e7a4bf435211ae8b1455784472b24993571c4009579","src/crypto/mod.rs":"e4342dd93fd41bf48fa26386188ed92db5f908ad4d69f32f080a65228c6d5390","src/crypto/nss.rs":"2bf33898728760f194f204876450d0906b47907d259270f6e3d43c62a709c99a","src/crypto/openssl.rs":"ef6e4dbcc7230137e505e3fc4ad37e102e6b26b37470afd0f4709a297b3aa546","src/ctap2/attestation.rs":"e3c581154fb6bd4e4d8bd2326515864849b21766f5344e2d955d607b360fc930","src/ctap2/client_data.rs":"04ee84b34e91c988183871b4975fc08e12234965187c793ad26d0d82ed44642f","src/ctap2/commands/client_pin.rs":"7f3a49b23592e985b8f32d43688593ff7411a05cb594444e24851c13f093cdef","src/ctap2/commands/get_assertion.rs":"e9cd68cff2ee54156af6e3e424691a06354aafffcc374a40ccc9622f030c4999","src/ctap2/commands/get_info.rs":"79117c39d280445fb17be057af2f45ec1d80651ea1c8b478e07118ade808291b","src/ctap2/commands/get_next_assertion.rs":"8a8fa69cb4079a21ff4734067e74784b2bfee3c20ddcc0b35675ce77a3d83ae9","src/ctap2/commands/get_version.rs":"958c273c6156af102bba515de42e4a5ae43f36b4d2d1814d922c269c500f6ce2","src/ctap2/commands/make_credentials.rs":"524cb3378fcc2b08696ab25bf5473e149af307d18ef503a4ee971b4b7e087ff3","src/ctap2/commands/mod.rs":"916eb63b3e46968a9e79d088dd217c2b80dc1c4d14beaf12803e91b7987b6c32","src/ctap2/commands/reset.rs":"45500500c900124f96269679862ceeb18e87111096d322c87c766f2694e576fc","src/ctap2/commands/selection.rs":"7832d62bf37ddbbaf996d84f905c2cdca7dceb529c8f9f1fe82eb288da886068","src/ctap2/mod.rs":"5953ee33ee5930437f9d91299f8a6fdbc21bc62297ae4194901893ef0a5ac82a","src/ctap2/preflight.rs":"1cd41e948955a8bcb22a2e55e254dad1be74590b6016437914e93a2639222aef","src/ctap2/server.rs":"61e2afa1bc3ce1d61743073f14c1a385d064e5deed2b8a194e32e0ccbd4243ad","src/ctap2/utils.rs":"ad0aa36a0dbeb510b7f37789329f1957eab206eb529dc083e6176b142984e26e","src/errors.rs":"a99e5fbdad315ba1589b116fc227310996ef900498b595545228be35744b2038","src/lib.rs":"d42fc78ab81b6fdd66ebe35951a4395a3656f557795cff4c8bfcc54199cabfcd","src/manager.rs":"d72f8523d0a549487504ef6d370aee9132ad7436aaae777e6d65a0a03f3c0c27","src/statecallback.rs":"6b16f97176db1ae3fc3851fe8394e4ffc324bc6fe59313845ac3a88132fd52f1","src/statemachine.rs":"3b1b08efda156bc8c00bad27096a95177217ad77cb041530a03b8903ba51d7e0","src/status_update.rs":"d032524f2c36c5a32db9dd424decf4577cea65adceca91bb1dfcdc07c58289cb","src/transport/device_selector.rs":"c703aa8e59b0b7ac9d11be0aac434dffda8b0c91e1a84298c48e598978e1576e","src/transport/errors.rs":"5af7cb8d22ffa63bf4264d182a0f54b9b3a2cc9d19d832b3495857229f9a2875","src/transport/freebsd/device.rs":"f41c7cf29c48bf2b403cf460e6387864372a134d6daeefc5c3afc3f40d0d4575","src/transport/freebsd/mod.rs":"42dcb57fbeb00140003a8ad39acac9b547062b8f281a3fa5deb5f92a6169dde6","src/transport/freebsd/monitor.rs":"a6b34af4dd2e357a5775b1f3a723766107c11ef98dba859b1188ed08e0e450a2","src/transport/freebsd/transaction.rs":"ec28475a70dded260f9a7908c7f88dd3771f5d64b9a5dda835411d13b713c39a","src/transport/freebsd/uhid.rs":"a194416a8bc5d428c337f8d96a2248769ca190810852bbe5ee686ab595d8eb4c","src/transport/hid.rs":"033e0f1bf6428a1d4077e5abb53dbfa193ef72dd8a98b7666d7b5fb45a6570f0","src/transport/hidproto.rs":"9d490f161807b75f4d7d5096355006627c1f47c0d90fca53bade3692efc92a2d","src/transport/linux/device.rs":"e79bd06d98723a0d7e4f25b7cf2ac3e0260b10e52d2b0695909d2932288e10a4","src/transport/linux/hidraw.rs":"c7a0df9b4e51cb2736218ffffa02b2b2547b7c515d69f9bae2c9a8c8f1cb547b","src/transport/linux/hidwrapper.h":"72785db3a9b27ea72b6cf13a958fee032af54304522d002f56322473978a20f9","src/transport/linux/hidwrapper.rs":"d203e8804e7632b8d47a224c186d1f431800f04ddc43360d5c086f71e9b0f674","src/transport/linux/ioctl_aarch64le.rs":"2d8b265cd39a9f46816f83d5a5df0701c13eb842bc609325bad42ce50add3bf0","src/transport/linux/ioctl_armle.rs":"2d8b265cd39a9f46816f83d5a5df0701c13eb842bc609325bad42ce50add3bf0","src/transport/linux/ioctl_mips64le.rs":"fbda309934ad8bda689cd4fb5c0ca696fe26dedb493fe9d5a5322c3047d474fd","src/transport/linux/ioctl_mipsbe.rs":"fbda309934ad8bda689cd4fb5c0ca696fe26dedb493fe9d5a5322c3047d474fd","src/transport/linux/ioctl_mipsle.rs":"fbda309934ad8bda689cd4fb5c0ca696fe26dedb493fe9d5a5322c3047d474fd","src/transport/linux/ioctl_powerpc64be.rs":"fbda309934ad8bda689cd4fb5c0ca696fe26dedb493fe9d5a5322c3047d474fd","src/transport/linux/ioctl_powerpc64le.rs":"fbda309934ad8bda689cd4fb5c0ca696fe26dedb493fe9d5a5322c3047d474fd","src/transport/linux/ioctl_powerpcbe.rs":"fbda309934ad8bda689cd4fb5c0ca696fe26dedb493fe9d5a5322c3047d474fd","src/transport/linux/ioctl_riscv64.rs":"2d8b265cd39a9f46816f83d5a5df0701c13eb842bc609325bad42ce50add3bf0","src/transport/linux/ioctl_s390xbe.rs":"2d8b265cd39a9f46816f83d5a5df0701c13eb842bc609325bad42ce50add3bf0","src/transport/linux/ioctl_x86.rs":"2d8b265cd39a9f46816f83d5a5df0701c13eb842bc609325bad42ce50add3bf0","src/transport/linux/ioctl_x86_64.rs":"2d8b265cd39a9f46816f83d5a5df0701c13eb842bc609325bad42ce50add3bf0","src/transport/linux/mod.rs":"446e435126d2a58f167f648dd95cba28e8ac9c17f1f799e1eaeab80ea800fc57","src/transport/linux/monitor.rs":"5e3ec2618dd74027ae6ca1527991254e3271cce59106d4920ce0414094e22f64","src/transport/linux/transaction.rs":"ec28475a70dded260f9a7908c7f88dd3771f5d64b9a5dda835411d13b713c39a","src/transport/macos/device.rs":"f508d0585079ecf87a73d6135c52e8b5a887fbf16e241676d51a8099a8001a81","src/transport/macos/iokit.rs":"7dc4e7bbf8e42e2fcde0cee8e48d14d6234a5a910bd5d3c4e966d8ba6b73992f","src/transport/macos/mod.rs":"333e561554fc901d4f6092f6e4c85823e2b0c4ff31c9188d0e6d542b71a0a07c","src/transport/macos/monitor.rs":"e02288454bb4010e06b705d82646abddb3799f0cd655f574aa19f9d91485a4a2","src/transport/macos/transaction.rs":"9dcdebd13d5fd5a185b5ad777a80c825a6ba5e76b141c238aa115b451b9a72fa","src/transport/mock/device.rs":"582b2b55f13d95dd9f1127e3dde49d2137a5ca020f9c1fa1ffa5c4083d05c0e7","src/transport/mock/mod.rs":"9c4c87efd19adddc1a91c699a6c328063cfbac5531b76346a5ff92e986aded8f","src/transport/mock/transaction.rs":"be3ed8c389dfa04122364b82515edd76fad6f5d5f72d15cacd45a84fb8397292","src/transport/mod.rs":"e28d72b6f3fdaff21f940c4db213067cd94f5832f864ecaad1c9901d5aea9b79","src/transport/netbsd/device.rs":"a7dec83b5040faf1a8ddb37e9fc2b45b9b12814be4802b3b351eff081d1b80c3","src/transport/netbsd/fd.rs":"5464019025d03ea2a39c82f76b238bbbdb0ea63f5a5fc7c9d974e235139cd53b","src/transport/netbsd/mod.rs":"b1c52aa29537330cebe67427062d6c94871cab2a9b0c04b2305d686f07e88fd5","src/transport/netbsd/monitor.rs":"fb2917e4ba53cc9867987a539061f82d011f4c6e478df1157d965d32df2eb922","src/transport/netbsd/transaction.rs":"ec28475a70dded260f9a7908c7f88dd3771f5d64b9a5dda835411d13b713c39a","src/transport/netbsd/uhid.rs":"d15be35e2413240066a8f086bb8846b08a6a92bf6a1941c3eec1329dd3a4f9ce","src/transport/openbsd/device.rs":"47d8dfeb12c33e6cada2b2cd76476827059c797d8a16f2c4aea6e78d32ebab46","src/transport/openbsd/mod.rs":"514274d414042ff84b3667a41a736e78581e22fda87ccc97c2bc05617e381a30","src/transport/openbsd/monitor.rs":"2e0ba6ecc69b450be9cbfd21a7c65036ed2ce593b12363596d3eae0b5bfb79e8","src/transport/openbsd/transaction.rs":"ec28475a70dded260f9a7908c7f88dd3771f5d64b9a5dda835411d13b713c39a","src/transport/stub/device.rs":"aa21711d6690ed68bd878b28463172ba69c6324be7afabeccb1f07b4831cb020","src/transport/stub/mod.rs":"6a7fec504a52d403b0241b18cd8b95088a31807571f4c0a67e4055afc74f4453","src/transport/stub/transaction.rs":"c9a3ade9562468163f28fd51e7ff3e0bf5854b7edade9e987000d11c5d0e62d2","src/transport/windows/device.rs":"148b1572ed5fa8d476efbdb2a3a35608ec23012d6a805129f3c25c453bab4b7a","src/transport/windows/mod.rs":"218e7f2fe91ecb390c12bba5a5ffdad2c1f0b22861c937f4d386262e5b3dd617","src/transport/windows/monitor.rs":"95913d49e7d83482e420493d89b53ffceb6a49e646a87de934dff507b3092b4c","src/transport/windows/transaction.rs":"ec28475a70dded260f9a7908c7f88dd3771f5d64b9a5dda835411d13b713c39a","src/transport/windows/winapi.rs":"b2a4cc85f14e39cadfbf068ee001c9d776f028d3cf09cb926d4364c5b437c112","src/u2fprotocol.rs":"e61ac223aab79ae82383cd32a23213d18461e229c448373bf2483357a9eae69e","src/u2ftypes.rs":"8511c6f04f69670ddd403178a46060644a27128ca4077a9a3e00bc6671e3864b","src/util.rs":"cf37c4c3caf6dde4fc3cf6f5f297ed3c0f13bcb50fb0e8955899fc837483ef31","src/virtualdevices/mod.rs":"2c7df7691d5c150757304241351612aed4260d65b70ab0f483edbc1a5cfb5674","src/virtualdevices/software_u2f.rs":"83e63c0c4a597e71d87b5cd1f33a49646d00b3062edbdd05c51623b80fb60168","src/virtualdevices/webdriver/mod.rs":"4a36e6dfa9f45f941d863b4039bfbcfa8eaca660bd6ed78aeb1a2962db64be5a","src/virtualdevices/webdriver/testtoken.rs":"7146e02f1a5dad2c8827dd11c12ee408c0e42a0706ac65f139998feffd42570f","src/virtualdevices/webdriver/virtualmanager.rs":"7205a0397833628fc0847aa942a6a314dc1e23306858b546053e0de6a360ebe1","src/virtualdevices/webdriver/web_api.rs":"9032525af458b6fe9a3274c36b6ef8c791ecc4ec46d38ae36583fc9a4535b59d","testing/cross/powerpc64le-unknown-linux-gnu.Dockerfile":"d7463ff4376e3e0ca3fed879fab4aa975c4c0a3e7924c5b88aef9381a5d013de","testing/cross/x86_64-unknown-linux-gnu.Dockerfile":"11c79c04b07a171b0c9b63ef75fa75f33263ce76e3c1eda0879a3e723ebd0c24","testing/run_cross.sh":"cc2a7e0359f210eba2e7121f81eb8ab0125cea6e0d0f2698177b0fe2ad0c33d8","webdriver-tools/requirements.txt":"8236aa3dedad886f213c9b778fec80b037212d30e640b458984110211d546005","webdriver-tools/webdriver-driver.py":"82327c26ba271d1689acc87b612ab8436cb5475f0a3c0dba7baa06e7f6f5e19c"},"package":"aa0e182b77b6b19eaf9c7b69fddf3be970169ec6d34eca3f5d682ab948727e57"} -diff --git a/third_party/rust/authenticator/build.rs b/third_party/rust/authenticator/build.rs -index 58f6cfa393..acc4f09466 100644 ---- a/third_party/rust/authenticator/build.rs -+++ b/third_party/rust/authenticator/build.rs -@@ -47,6 +47,8 @@ fn main() { - "ioctl_s390xbe.rs" - } else if cfg!(all(target_arch = "riscv64", target_endian = "little")) { - "ioctl_riscv64.rs" -+ } else if cfg!(all(target_arch = "loongarch64", target_endian = "little")) { -+ "ioctl_loongarch64.rs" - } else { - panic!("architecture not supported"); - }; -diff --git a/third_party/rust/authenticator/src/transport/linux/hidwrapper.rs b/third_party/rust/authenticator/src/transport/linux/hidwrapper.rs -index 82aabc6301..bc8582c5b1 100644 ---- a/third_party/rust/authenticator/src/transport/linux/hidwrapper.rs -+++ b/third_party/rust/authenticator/src/transport/linux/hidwrapper.rs -@@ -49,3 +49,6 @@ include!("ioctl_s390xbe.rs"); - - #[cfg(all(target_arch = "riscv64", target_endian = "little"))] - include!("ioctl_riscv64.rs"); -+ -+#[cfg(all(target_arch = "loongarch64", target_endian = "little"))] -+include!("ioctl_loongarch64.rs"); -diff --git a/third_party/rust/authenticator/src/transport/linux/ioctl_loongarch64.rs b/third_party/rust/authenticator/src/transport/linux/ioctl_loongarch64.rs -new file mode 100644 -index 0000000000..a784e9bf46 ---- /dev/null -+++ b/third_party/rust/authenticator/src/transport/linux/ioctl_loongarch64.rs -@@ -0,0 +1,5 @@ -+/* automatically generated by rust-bindgen */ -+ -+pub type __u32 = ::std::os::raw::c_uint; -+pub const _HIDIOCGRDESCSIZE: __u32 = 2147764225; -+pub const _HIDIOCGRDESC: __u32 = 2416199682; --- -2.41.0 - diff --git a/add-loongarch64-support-for-cty.patch b/add-loongarch64-support-for-cty.patch deleted file mode 100644 index 04f0391..0000000 --- a/add-loongarch64-support-for-cty.patch +++ /dev/null @@ -1,33 +0,0 @@ -From e2dbfb2757ec5c45b7d1f0082031f27378c147c2 Mon Sep 17 00:00:00 2001 -From: Wenlong Zhang -Date: Thu, 14 Dec 2023 07:50:41 +0000 -Subject: [PATCH 2/6] add loongarch64 support for cty - ---- - third_party/rust/cty/.cargo-checksum.json | 2 +- - third_party/rust/cty/src/lib.rs | 1 + - 2 files changed, 2 insertions(+), 1 deletion(-) - -diff --git a/third_party/rust/cty/.cargo-checksum.json b/third_party/rust/cty/.cargo-checksum.json -index 902714f58a..3e65dbf70a 100644 ---- a/third_party/rust/cty/.cargo-checksum.json -+++ b/third_party/rust/cty/.cargo-checksum.json -@@ -1 +1 @@ --{"files":{"CHANGELOG.md":"077c738b5f2c05d66a12209edaabca887091db727d61164a7a414da23d8bf08f","Cargo.toml":"94a517ea6c7dad4634a9a2bd356f3a8035927e7ff8367bd5a975b4db4ccf8e6e","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"035e70219855119df4273b3c5b97543ae82e0dd60c520416e759107c602f651b","README.md":"19687c50697e6abc991e4c35e6d674db56bd5e5ae0d5b833440718f8f154a74d","ci/install.sh":"9b34273d9e79ec59f63d5e3e7aea27b0db66194667f9730a21158740fa1b99f1","ci/script.sh":"54962430ca4d3528e5c0d44ff590b1504be13147db5cbe8bb82f1358528ef5f3","src/lib.rs":"33a38ce6df718fb0191f34ff2cefdcbd3ad9d93f0c4073b78eaf937c07fb7614"},"package":"b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35"} -\ No newline at end of file -+{"files":{"CHANGELOG.md":"077c738b5f2c05d66a12209edaabca887091db727d61164a7a414da23d8bf08f","Cargo.toml":"94a517ea6c7dad4634a9a2bd356f3a8035927e7ff8367bd5a975b4db4ccf8e6e","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"035e70219855119df4273b3c5b97543ae82e0dd60c520416e759107c602f651b","README.md":"19687c50697e6abc991e4c35e6d674db56bd5e5ae0d5b833440718f8f154a74d","ci/install.sh":"9b34273d9e79ec59f63d5e3e7aea27b0db66194667f9730a21158740fa1b99f1","ci/script.sh":"54962430ca4d3528e5c0d44ff590b1504be13147db5cbe8bb82f1358528ef5f3","src/lib.rs":"3e9ec28a0d13cfb47546e044b8fc3a32007f7c76994704c4164c4430a7167e39"},"package":"b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35"} -diff --git a/third_party/rust/cty/src/lib.rs b/third_party/rust/cty/src/lib.rs -index 971c9cb3a9..80b8f3f291 100644 ---- a/third_party/rust/cty/src/lib.rs -+++ b/third_party/rust/cty/src/lib.rs -@@ -24,6 +24,7 @@ pub use pwd::*; - target_arch = "powerpc", - target_arch = "powerpc64", - target_arch = "s390x", -+ target_arch = "loongarch64", - target_arch = "riscv32", - target_arch = "riscv64"))] - mod ad { --- -2.41.0 - diff --git a/add-loongarch64-support-for-ipc.patch b/add-loongarch64-support-for-ipc.patch deleted file mode 100644 index 3347524..0000000 --- a/add-loongarch64-support-for-ipc.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 4f9ab53eeabdc5966156601bda09f77fce057ba6 Mon Sep 17 00:00:00 2001 -From: Wenlong Zhang -Date: Thu, 14 Dec 2023 09:47:06 +0000 -Subject: [PATCH] add loongarch64 support for ipc - ---- - ipc/chromium/src/build/build_config.h | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/ipc/chromium/src/build/build_config.h b/ipc/chromium/src/build/build_config.h -index 511f36858c..f3a96feaf7 100644 ---- a/ipc/chromium/src/build/build_config.h -+++ b/ipc/chromium/src/build/build_config.h -@@ -129,6 +129,9 @@ - #elif defined(__riscv) && __riscv_xlen == 64 - # define ARCH_CPU_RISCV64 1 - # define ARCH_CPU_64_BITS 1 -+#elif defined(__loongarch64) -+# define ARCH_CPU_LOONGARCH64 1 -+# define ARCH_CPU_64_BITS 1 - #else - # error Please add support for your architecture in build/build_config.h - #endif --- -2.41.0 - diff --git a/add-loongarch64-support-for-libwebrtc.patch b/add-loongarch64-support-for-libwebrtc.patch deleted file mode 100644 index 668a719..0000000 --- a/add-loongarch64-support-for-libwebrtc.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 744dac8eb17bba89242b74181c28523974e7e88c Mon Sep 17 00:00:00 2001 -From: Wenlong Zhang -Date: Thu, 14 Dec 2023 10:47:13 +0000 -Subject: [PATCH] add loongarch64 support for libwebrtc - ---- - third_party/libwebrtc/build/build_config.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/third_party/libwebrtc/build/build_config.h b/third_party/libwebrtc/build/build_config.h -index c39ae9da50..4c44dbae12 100644 ---- a/third_party/libwebrtc/build/build_config.h -+++ b/third_party/libwebrtc/build/build_config.h -@@ -201,6 +201,10 @@ - #define ARCH_CPU_RISCV64 1 - #define ARCH_CPU_64_BITS 1 - #define ARCH_CPU_LITTLE_ENDIAN 1 -+#elif defined(__loongarch64) -+#define ARCH_CPU_LOONGARCH64 1 -+#define ARCH_CPU_64_BITS 1 -+#define ARCH_CPU_LITTLE_ENDIAN 1 - #elif defined(__sparc__) - #if defined(__LP64__) - #define ARCH_CPU_SPARC64 1 --- -2.41.0 - diff --git a/add-loongarch64-support-for-nix.patch b/add-loongarch64-support-for-nix.patch deleted file mode 100644 index 3ea97d0..0000000 --- a/add-loongarch64-support-for-nix.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 17ce6bde2be0e3d4fcd3fad4c85dcd4e610930c9 Mon Sep 17 00:00:00 2001 -From: Wenlong Zhang -Date: Thu, 14 Dec 2023 07:29:18 +0000 -Subject: [PATCH] add loongarch64 support for nix - ---- - third_party/rust/nix/.cargo-checksum.json | 2 +- - third_party/rust/nix/src/sys/ioctl/linux.rs | 1 + - 2 files changed, 2 insertions(+), 1 deletion(-) - -diff --git a/third_party/rust/nix/.cargo-checksum.json b/third_party/rust/nix/.cargo-checksum.json -index f4c932b889..b7b9c9f3c9 100644 ---- a/third_party/rust/nix/.cargo-checksum.json -+++ b/third_party/rust/nix/.cargo-checksum.json -@@ -1 +1 @@ --{"files":{"CHANGELOG.md":"8ee4e556e53d1b39400a48675d3ecff0bf27e419accab7ca3be76ab934289548","Cargo.toml":"2e6eff9170182f107188b8bc9802efd044ef47178afc7f138950ecff1c1ceb96","LICENSE":"66e3ee1fa7f909ad3c612d556f2a0cdabcd809ad6e66f3b0605015ac64841b70","README.md":"1ed9a0e26ae6e575b3262ae734dd02889455593b761ee62403ea5a64104f3c9c","src/dir.rs":"0280a2dc480bd913f24ed84fbe26569fa2e8eefa660e5ad7c21e05fc34c14d16","src/env.rs":"028bc5e20139ebba418a655a2978a53335dc7680bf1de43d2c8333dd72cfa5c4","src/errno.rs":"e55d075858e349d9afea9ce0480f7fb7ba4dccccf0694fd7b3280b918836203c","src/fcntl.rs":"ea8f43d8fec0b6c3b7d903333e4c1ce85611684a4afd561c55cfe4b61a979e94","src/features.rs":"5b4a0831e5f4b79a6f0e42ed052fd66c875da18959750be51e41fb59ac19feed","src/ifaddrs.rs":"377865eb48040d28c392a1aec0221320108e3392ea285d23405ae2cfa5c54b20","src/kmod.rs":"c818ced08d55ae36fdf82fa914ba856b688e37234d574d3faa37128211d512fb","src/lib.rs":"a62fac2ba7111157c5b64251f67f8a189f04bd587d5c80703454a596ea7ae5d9","src/macros.rs":"e23d7d8be22ef0bf9febaaf2739585453103607c0139bd3995a324e4a16d011e","src/mount/bsd.rs":"4cf35606a63d7ca41caac3b38f01e2b70c63e71978c0529f19fc79182629dbe0","src/mount/linux.rs":"6e5d61788dedf1ca4416c6c6a3a9c6c747f9352c26d863f4a1d4142e288584d6","src/mount/mod.rs":"ba9f60eb831224ab73bdd87e00e15d13b9ce9efb70b18bf8f3fe60406d522b3e","src/mqueue.rs":"ed0a189036b2437b5f7f7f1312fa545540b06ca72171b451d8bce42cc3627534","src/net/if_.rs":"b32a8a1f952de60d95e549779a5c673fd72aa665e86bfdfc8ec6badf3016b9b1","src/net/mod.rs":"577f70170e53d4a6de1abb70bf8f1031ec3e65c0e63ef5fcf05c907125e7ac17","src/poll.rs":"2fc1d144fb40db51811c6357b520ab7993529702d8f0d8060c903118ff4f7259","src/pty.rs":"27b4f76c23acf02542674017067fee74cdcac907338458700a1aa4d6f6a62e27","src/sched.rs":"403aa5ebed81910263d42a94717612b737550bf053227b7d90f1c8949188d919","src/sys/aio.rs":"ae091de8540c97da374a39e7d154c1b3ce50f41e6fc20a45c6b06eb838e74366","src/sys/epoll.rs":"28e22debf474d1b047e8044a00b354c25dab2fa125960f9f2f14cc34289fd5c9","src/sys/event.rs":"dbd8e84bccb813839295b0a336485783ef19548d2317931f0ceb5ee62f839a40","src/sys/eventfd.rs":"c8db8f5874726fdad289ad5e2603a7d71a1ae5a899dcde3a35d3edff8b498b7e","src/sys/inotify.rs":"5b4da774313afa9c28c3f92f9d07dce9bf4c8d044fd6a16f19480e79a19e808b","src/sys/ioctl/bsd.rs":"bbd02e30b0a78c1cb22777d9b00cfcbba9c68505cffc06118ac68474cf6fea39","src/sys/ioctl/linux.rs":"028181834d119b834bf399f2b8a6176cc57e75144693f28f32059d087d8c8018","src/sys/ioctl/mod.rs":"89b20579476b2e0254e0ecb1b41830cccd7027a22cbdb816a9d4ec3924842ac1","src/sys/memfd.rs":"f58d7fbe67c4b994832d72f5fbd59c136c8f1ae88ea8b0bc1c099db2d847ee6c","src/sys/mman.rs":"17df1bc34ba92bdd6bad1e11e4ef139998117f6c468c8f560421858f3cc899a5","src/sys/mod.rs":"baabf649f758ad4acce849ec1795dd4e4f9c6539e677bad5fa777300a4871dcb","src/sys/personality.rs":"aa89760c023bfec3fca5d8636f9eac9d337f5547933793ce6df7a0de97ae6ee1","src/sys/pthread.rs":"258cdf7ff0b61a4afa6d228109e4cb4fb88d859bb8dfe6c959d95130fb010906","src/sys/ptrace/bsd.rs":"4c590d8f023ff52f396f8b6f2150c08e5c9486d3088d9c173db33a70d616b800","src/sys/ptrace/linux.rs":"c82db3fb18aa97755f9ccb440a957cd46d664968a94045830c5d74d2d53bc19f","src/sys/ptrace/mod.rs":"e9e5d970097f5eafffba900959d4fdbf233bff9ed7f599fc9896bb44d86a57a4","src/sys/quota.rs":"02e698a25f0986fb43aa88689f3d3d8b9edc6ae48496ad02f7214fccaa493e00","src/sys/reboot.rs":"eacdf57694a6629fb05787e16450446102a62818274495f2ad4e445807d09221","src/sys/resource.rs":"d498d0c00fd30e35e1269a8902cb812014d813f63ec95364f8f59f1912ba5657","src/sys/select.rs":"65c39b129d3cc85b8ca026ff26dcf80c5639824f43715881c3c1bbb6bf0c8a60","src/sys/sendfile.rs":"7a62099f9771fecff49b9c11210341e3c1a4acf22f8dfb96d395e29421648676","src/sys/signal.rs":"c3e13a2edea54d190a4b051f62efc97953c00b5051a9fda0e39e3bc732a31939","src/sys/signalfd.rs":"583524434fd37143be3db37fa6f6cbd339f7946416f05b58a95e246947e5cc9d","src/sys/socket/addr.rs":"84df895052f59ec84774b189ffb285d2a37a9703af6c8310ae5040cca1a2583e","src/sys/socket/mod.rs":"6deb55438cad3606385303f036b0efd842dfd759fba93611911f5a4f2613c9dc","src/sys/socket/sockopt.rs":"ed1f920364bfe88bbe6eaeeefb27a63bfcdd7d67604aca2f03e22f2b502df55a","src/sys/stat.rs":"337dea8d55d6177dc85b3235b40b8a3e81af7f4a6e2806a0b2f730bec5424350","src/sys/statfs.rs":"17103659a85279bac046c69cb3b22bf2c11c2492cffb0edfa4c3b233d161a2f2","src/sys/statvfs.rs":"f81e3900ef90d62e7eceaf1b6ff8dcfd965466714c033eb4717687f692171f48","src/sys/sysinfo.rs":"b4519b1ca091c9dbe94d2a6fd6304944bf3df5626973d2c6884022559706f0d9","src/sys/termios.rs":"7923f9846a8122096b6b1cd240d3618b876ce500a751ac434954d172e2e85745","src/sys/time.rs":"9026033b60a5ccc95b70424aef043c8c748722e2ea8c7c86366ecd4585b651a0","src/sys/timer.rs":"8c10f0e7cfac857ad00460be30bc68b957909cc9296e70718d3b5d4a0babafde","src/sys/timerfd.rs":"ef7c48aefdcfac13316eeddbef5da04cf12e9f574b8d9f43402c02b6b8db86b3","src/sys/uio.rs":"e1d59ccbee9d46c65d3aa8c36aa3a3222539beea0d20163a8b707d08fca14e09","src/sys/utsname.rs":"0cdda0cc111caaa0e4ebe2d4588bdc825d878e5bcb7a9136073b15f87a20e11f","src/sys/wait.rs":"cc70d2d9b880ff6c48577a479c209af6127067bc013a90ee22538e4dfad7d2b4","src/time.rs":"d4e0872361a57810837f5bd790cbca3a2b9db1ac4694a3c52d1564ad3532d3be","src/ucontext.rs":"b8f2e04757a9c2bc38c3b1e259d3a013da8a730fe9bfbe5487637395681b43d3","src/unistd.rs":"e19be456124731c5b93aef92ed72a7c4c9092e28db0649814ba3fcc1f0d620fa","test/common/mod.rs":"1d7e28e3635754664cd056f3a1079232ff5c118df619e1d0551a9972eb0b3cd6","test/sys/mod.rs":"87b2891d83067ff21f72b8ff7fde3019dc45b6877282ac278b6da151de45c7a7","test/sys/test_aio.rs":"4dac9f716f852f1f438f78d6e64bf041e6fd316bf15dcb27afffaf0894bdefa6","test/sys/test_aio_drop.rs":"614070155fa16a979b7341d001639c5ce24a1d6f632c3abce45a5a6d49c4039b","test/sys/test_epoll.rs":"ffe95e36c79e37426ef8e8ca3b137b7f35ea0333ce666a20a4b7878db17680e9","test/sys/test_inotify.rs":"a141b9a995892547b51ceeb6761a70a6b86d37e8f38d13ea2c497b81b4b0f49f","test/sys/test_ioctl.rs":"00ccc5afb665e533a0a4b6d6a6be438bcaea19fce335390feef4e91d17b3036c","test/sys/test_mman.rs":"2b4161964c9204b74659028b0f89a88f4e3bcc9886137a3039737cd91d2698cb","test/sys/test_pthread.rs":"ace36a2f5587f1874854281b4fd84e4e4d892a1e3c5cc38ced57975739522ad6","test/sys/test_ptrace.rs":"0385eebc8b1b8c72f655b745769decd9143ad83018198375982da0896310456b","test/sys/test_select.rs":"54cea1c34ad28d5770a613c1c3cbc3b1064b22037ec2b9d3fcd422d3be9e60a7","test/sys/test_signal.rs":"acc9941227bd3e2afad323613c2b8c83902ed0486d3745fd72704f395924f1e4","test/sys/test_signalfd.rs":"0e1060143e2612c490bc3d0168d0bbb042ef55e3f1d91d2578b9e42e4310a14d","test/sys/test_socket.rs":"d2df1001f9a0b2dac0b88051a67c3868bb216e72e4da4eecd11c4448b9fa4b40","test/sys/test_sockopt.rs":"4465f22f718442f3f7b502e052dad02b93cebfa3b71fa55ff4f25fb02534acab","test/sys/test_stat.rs":"6630a28217fd708bb84cd4f7e7101836b74f2420f9888923fdab664ccc331c1d","test/sys/test_sysinfo.rs":"ffd49bc96375914a2c4a4a59730cae8072f85771e2c4a80d3403df38d967e272","test/sys/test_termios.rs":"e5bcef10c84bd7583d600d5601835bcb3cfc88781cb283ab0185bbef5faf4327","test/sys/test_timerfd.rs":"cfed3abf58118611d08f6985251a7739cff67108e11214222a1d2394a3a026ce","test/sys/test_uio.rs":"32656bd0a5699e4d019aa928edf104637937179782914a82d50d37226e84c421","test/sys/test_wait.rs":"6fd59fffeeb09ff620c359baefd062ba777598982b6cb001ccc07b6bc7605493","test/test.rs":"11f40b0718ddd1a150cb9e703d56d0b2a9462306505a2245ddf273a2011f48b5","test/test_clearenv.rs":"45ca548035b3c20ec87314715feaba2be973709a635d85b8cde46fd1d9f1ecd4","test/test_dir.rs":"ae3c11c58cb06da6557aa2a839c6653c54cd7724283fffe9df5a5d3feabdd89a","test/test_fcntl.rs":"71dcb87f7b04d78fc62937ba46cb7f0f1f2dbb330b63a996ea2e8ec9056b98a9","test/test_kmod/hello_mod/Makefile":"0219f7bce0603f97d997fb377ca071966c90333ecc665e78a54dfeb97a9c811b","test/test_kmod/hello_mod/hello.c":"bcac6b19c5bd807e1f3878c15e426acc85785a8ade9840c3bb4d068635c9188c","test/test_kmod/mod.rs":"b4ae25841c2f06f32de9f1acd8230eeccd7095721302ebe78ad454e4e4f9c783","test/test_mount.rs":"6dd242b6e23c9c39e1a75612bbea62573898818ab374c3c032c2cdb97033554d","test/test_mq.rs":"136071f24131aac0e65d5f29ac18e3806641dfae1164813f5570c0e3a6f70553","test/test_net.rs":"f2912327ebb2a3d37e6cff02a5ac3106cf889cc5c74404db4ef0034059ba26f1","test/test_nix_path.rs":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","test/test_nmount.rs":"d6c112547bb80968170b5497cda4b6cbf69dabec6f51d494bd52298995ceff18","test/test_poll.rs":"3e0b8f0397ba080785c61a3bfc3d637bc87f324bc4e52b5f1bf3ca0d32dbc9fe","test/test_pty.rs":"b26238a0783746cb31880e11eebc1913149be999ce75fbc2d6677bdd1e2731b2","test/test_ptymaster_drop.rs":"ae63c815f5028ddc67d194e86559483018ab1816316bdb917f40cee9364fd8a5","test/test_resource.rs":"40aef790ab745cec31a4b333d2ca406b462aa9bdf4a6d3756371e498b8d51e9a","test/test_sched.rs":"c4579bd376fab8816e63b07fa9ace31dc08e63ebb7c855a2c450698090d1d1e8","test/test_sendfile.rs":"bb41b4f3621b518e397d3a5b5ad3c5dcef3fe506afe516eab7572fbab92b77e3","test/test_stat.rs":"c407ca47a5258750076d041afad2f6add4c3563be36628bde1c5b314f5d0765d","test/test_time.rs":"f7a21b1e279e60e84909d5dadda97ded66d3326b131fe317badf9af0a1b50335","test/test_timer.rs":"3ae20d364f075d2811f3ff94eda9886682cc21d8807656007d2464fe36d1e361","test/test_unistd.rs":"20a00be4fbe26302ea5fe50ce25b99265dc763db138663d6aa1d7ac729a1d292"},"package":"bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a"} -\ No newline at end of file -+{"files":{"CHANGELOG.md":"8ee4e556e53d1b39400a48675d3ecff0bf27e419accab7ca3be76ab934289548","Cargo.toml":"2e6eff9170182f107188b8bc9802efd044ef47178afc7f138950ecff1c1ceb96","LICENSE":"66e3ee1fa7f909ad3c612d556f2a0cdabcd809ad6e66f3b0605015ac64841b70","README.md":"1ed9a0e26ae6e575b3262ae734dd02889455593b761ee62403ea5a64104f3c9c","src/dir.rs":"0280a2dc480bd913f24ed84fbe26569fa2e8eefa660e5ad7c21e05fc34c14d16","src/env.rs":"028bc5e20139ebba418a655a2978a53335dc7680bf1de43d2c8333dd72cfa5c4","src/errno.rs":"e55d075858e349d9afea9ce0480f7fb7ba4dccccf0694fd7b3280b918836203c","src/fcntl.rs":"ea8f43d8fec0b6c3b7d903333e4c1ce85611684a4afd561c55cfe4b61a979e94","src/features.rs":"5b4a0831e5f4b79a6f0e42ed052fd66c875da18959750be51e41fb59ac19feed","src/ifaddrs.rs":"377865eb48040d28c392a1aec0221320108e3392ea285d23405ae2cfa5c54b20","src/kmod.rs":"c818ced08d55ae36fdf82fa914ba856b688e37234d574d3faa37128211d512fb","src/lib.rs":"a62fac2ba7111157c5b64251f67f8a189f04bd587d5c80703454a596ea7ae5d9","src/macros.rs":"e23d7d8be22ef0bf9febaaf2739585453103607c0139bd3995a324e4a16d011e","src/mount/bsd.rs":"4cf35606a63d7ca41caac3b38f01e2b70c63e71978c0529f19fc79182629dbe0","src/mount/linux.rs":"6e5d61788dedf1ca4416c6c6a3a9c6c747f9352c26d863f4a1d4142e288584d6","src/mount/mod.rs":"ba9f60eb831224ab73bdd87e00e15d13b9ce9efb70b18bf8f3fe60406d522b3e","src/mqueue.rs":"ed0a189036b2437b5f7f7f1312fa545540b06ca72171b451d8bce42cc3627534","src/net/if_.rs":"b32a8a1f952de60d95e549779a5c673fd72aa665e86bfdfc8ec6badf3016b9b1","src/net/mod.rs":"577f70170e53d4a6de1abb70bf8f1031ec3e65c0e63ef5fcf05c907125e7ac17","src/poll.rs":"2fc1d144fb40db51811c6357b520ab7993529702d8f0d8060c903118ff4f7259","src/pty.rs":"27b4f76c23acf02542674017067fee74cdcac907338458700a1aa4d6f6a62e27","src/sched.rs":"403aa5ebed81910263d42a94717612b737550bf053227b7d90f1c8949188d919","src/sys/aio.rs":"ae091de8540c97da374a39e7d154c1b3ce50f41e6fc20a45c6b06eb838e74366","src/sys/epoll.rs":"28e22debf474d1b047e8044a00b354c25dab2fa125960f9f2f14cc34289fd5c9","src/sys/event.rs":"dbd8e84bccb813839295b0a336485783ef19548d2317931f0ceb5ee62f839a40","src/sys/eventfd.rs":"c8db8f5874726fdad289ad5e2603a7d71a1ae5a899dcde3a35d3edff8b498b7e","src/sys/inotify.rs":"5b4da774313afa9c28c3f92f9d07dce9bf4c8d044fd6a16f19480e79a19e808b","src/sys/ioctl/bsd.rs":"bbd02e30b0a78c1cb22777d9b00cfcbba9c68505cffc06118ac68474cf6fea39","src/sys/ioctl/linux.rs":"54bad026ee637b73b95dad8135b6db61cae855670fd9323e7bf21acaff0827f4","src/sys/ioctl/mod.rs":"89b20579476b2e0254e0ecb1b41830cccd7027a22cbdb816a9d4ec3924842ac1","src/sys/memfd.rs":"f58d7fbe67c4b994832d72f5fbd59c136c8f1ae88ea8b0bc1c099db2d847ee6c","src/sys/mman.rs":"17df1bc34ba92bdd6bad1e11e4ef139998117f6c468c8f560421858f3cc899a5","src/sys/mod.rs":"baabf649f758ad4acce849ec1795dd4e4f9c6539e677bad5fa777300a4871dcb","src/sys/personality.rs":"aa89760c023bfec3fca5d8636f9eac9d337f5547933793ce6df7a0de97ae6ee1","src/sys/pthread.rs":"258cdf7ff0b61a4afa6d228109e4cb4fb88d859bb8dfe6c959d95130fb010906","src/sys/ptrace/bsd.rs":"4c590d8f023ff52f396f8b6f2150c08e5c9486d3088d9c173db33a70d616b800","src/sys/ptrace/linux.rs":"c82db3fb18aa97755f9ccb440a957cd46d664968a94045830c5d74d2d53bc19f","src/sys/ptrace/mod.rs":"e9e5d970097f5eafffba900959d4fdbf233bff9ed7f599fc9896bb44d86a57a4","src/sys/quota.rs":"02e698a25f0986fb43aa88689f3d3d8b9edc6ae48496ad02f7214fccaa493e00","src/sys/reboot.rs":"eacdf57694a6629fb05787e16450446102a62818274495f2ad4e445807d09221","src/sys/resource.rs":"d498d0c00fd30e35e1269a8902cb812014d813f63ec95364f8f59f1912ba5657","src/sys/select.rs":"65c39b129d3cc85b8ca026ff26dcf80c5639824f43715881c3c1bbb6bf0c8a60","src/sys/sendfile.rs":"7a62099f9771fecff49b9c11210341e3c1a4acf22f8dfb96d395e29421648676","src/sys/signal.rs":"c3e13a2edea54d190a4b051f62efc97953c00b5051a9fda0e39e3bc732a31939","src/sys/signalfd.rs":"583524434fd37143be3db37fa6f6cbd339f7946416f05b58a95e246947e5cc9d","src/sys/socket/addr.rs":"84df895052f59ec84774b189ffb285d2a37a9703af6c8310ae5040cca1a2583e","src/sys/socket/mod.rs":"6deb55438cad3606385303f036b0efd842dfd759fba93611911f5a4f2613c9dc","src/sys/socket/sockopt.rs":"ed1f920364bfe88bbe6eaeeefb27a63bfcdd7d67604aca2f03e22f2b502df55a","src/sys/stat.rs":"337dea8d55d6177dc85b3235b40b8a3e81af7f4a6e2806a0b2f730bec5424350","src/sys/statfs.rs":"17103659a85279bac046c69cb3b22bf2c11c2492cffb0edfa4c3b233d161a2f2","src/sys/statvfs.rs":"f81e3900ef90d62e7eceaf1b6ff8dcfd965466714c033eb4717687f692171f48","src/sys/sysinfo.rs":"b4519b1ca091c9dbe94d2a6fd6304944bf3df5626973d2c6884022559706f0d9","src/sys/termios.rs":"7923f9846a8122096b6b1cd240d3618b876ce500a751ac434954d172e2e85745","src/sys/time.rs":"9026033b60a5ccc95b70424aef043c8c748722e2ea8c7c86366ecd4585b651a0","src/sys/timer.rs":"8c10f0e7cfac857ad00460be30bc68b957909cc9296e70718d3b5d4a0babafde","src/sys/timerfd.rs":"ef7c48aefdcfac13316eeddbef5da04cf12e9f574b8d9f43402c02b6b8db86b3","src/sys/uio.rs":"e1d59ccbee9d46c65d3aa8c36aa3a3222539beea0d20163a8b707d08fca14e09","src/sys/utsname.rs":"0cdda0cc111caaa0e4ebe2d4588bdc825d878e5bcb7a9136073b15f87a20e11f","src/sys/wait.rs":"cc70d2d9b880ff6c48577a479c209af6127067bc013a90ee22538e4dfad7d2b4","src/time.rs":"d4e0872361a57810837f5bd790cbca3a2b9db1ac4694a3c52d1564ad3532d3be","src/ucontext.rs":"b8f2e04757a9c2bc38c3b1e259d3a013da8a730fe9bfbe5487637395681b43d3","src/unistd.rs":"e19be456124731c5b93aef92ed72a7c4c9092e28db0649814ba3fcc1f0d620fa","test/common/mod.rs":"1d7e28e3635754664cd056f3a1079232ff5c118df619e1d0551a9972eb0b3cd6","test/sys/mod.rs":"87b2891d83067ff21f72b8ff7fde3019dc45b6877282ac278b6da151de45c7a7","test/sys/test_aio.rs":"4dac9f716f852f1f438f78d6e64bf041e6fd316bf15dcb27afffaf0894bdefa6","test/sys/test_aio_drop.rs":"614070155fa16a979b7341d001639c5ce24a1d6f632c3abce45a5a6d49c4039b","test/sys/test_epoll.rs":"ffe95e36c79e37426ef8e8ca3b137b7f35ea0333ce666a20a4b7878db17680e9","test/sys/test_inotify.rs":"a141b9a995892547b51ceeb6761a70a6b86d37e8f38d13ea2c497b81b4b0f49f","test/sys/test_ioctl.rs":"00ccc5afb665e533a0a4b6d6a6be438bcaea19fce335390feef4e91d17b3036c","test/sys/test_mman.rs":"2b4161964c9204b74659028b0f89a88f4e3bcc9886137a3039737cd91d2698cb","test/sys/test_pthread.rs":"ace36a2f5587f1874854281b4fd84e4e4d892a1e3c5cc38ced57975739522ad6","test/sys/test_ptrace.rs":"0385eebc8b1b8c72f655b745769decd9143ad83018198375982da0896310456b","test/sys/test_select.rs":"54cea1c34ad28d5770a613c1c3cbc3b1064b22037ec2b9d3fcd422d3be9e60a7","test/sys/test_signal.rs":"acc9941227bd3e2afad323613c2b8c83902ed0486d3745fd72704f395924f1e4","test/sys/test_signalfd.rs":"0e1060143e2612c490bc3d0168d0bbb042ef55e3f1d91d2578b9e42e4310a14d","test/sys/test_socket.rs":"d2df1001f9a0b2dac0b88051a67c3868bb216e72e4da4eecd11c4448b9fa4b40","test/sys/test_sockopt.rs":"4465f22f718442f3f7b502e052dad02b93cebfa3b71fa55ff4f25fb02534acab","test/sys/test_stat.rs":"6630a28217fd708bb84cd4f7e7101836b74f2420f9888923fdab664ccc331c1d","test/sys/test_sysinfo.rs":"ffd49bc96375914a2c4a4a59730cae8072f85771e2c4a80d3403df38d967e272","test/sys/test_termios.rs":"e5bcef10c84bd7583d600d5601835bcb3cfc88781cb283ab0185bbef5faf4327","test/sys/test_timerfd.rs":"cfed3abf58118611d08f6985251a7739cff67108e11214222a1d2394a3a026ce","test/sys/test_uio.rs":"32656bd0a5699e4d019aa928edf104637937179782914a82d50d37226e84c421","test/sys/test_wait.rs":"6fd59fffeeb09ff620c359baefd062ba777598982b6cb001ccc07b6bc7605493","test/test.rs":"11f40b0718ddd1a150cb9e703d56d0b2a9462306505a2245ddf273a2011f48b5","test/test_clearenv.rs":"45ca548035b3c20ec87314715feaba2be973709a635d85b8cde46fd1d9f1ecd4","test/test_dir.rs":"ae3c11c58cb06da6557aa2a839c6653c54cd7724283fffe9df5a5d3feabdd89a","test/test_fcntl.rs":"71dcb87f7b04d78fc62937ba46cb7f0f1f2dbb330b63a996ea2e8ec9056b98a9","test/test_kmod/hello_mod/Makefile":"0219f7bce0603f97d997fb377ca071966c90333ecc665e78a54dfeb97a9c811b","test/test_kmod/hello_mod/hello.c":"bcac6b19c5bd807e1f3878c15e426acc85785a8ade9840c3bb4d068635c9188c","test/test_kmod/mod.rs":"b4ae25841c2f06f32de9f1acd8230eeccd7095721302ebe78ad454e4e4f9c783","test/test_mount.rs":"6dd242b6e23c9c39e1a75612bbea62573898818ab374c3c032c2cdb97033554d","test/test_mq.rs":"136071f24131aac0e65d5f29ac18e3806641dfae1164813f5570c0e3a6f70553","test/test_net.rs":"f2912327ebb2a3d37e6cff02a5ac3106cf889cc5c74404db4ef0034059ba26f1","test/test_nix_path.rs":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","test/test_nmount.rs":"d6c112547bb80968170b5497cda4b6cbf69dabec6f51d494bd52298995ceff18","test/test_poll.rs":"3e0b8f0397ba080785c61a3bfc3d637bc87f324bc4e52b5f1bf3ca0d32dbc9fe","test/test_pty.rs":"b26238a0783746cb31880e11eebc1913149be999ce75fbc2d6677bdd1e2731b2","test/test_ptymaster_drop.rs":"ae63c815f5028ddc67d194e86559483018ab1816316bdb917f40cee9364fd8a5","test/test_resource.rs":"40aef790ab745cec31a4b333d2ca406b462aa9bdf4a6d3756371e498b8d51e9a","test/test_sched.rs":"c4579bd376fab8816e63b07fa9ace31dc08e63ebb7c855a2c450698090d1d1e8","test/test_sendfile.rs":"bb41b4f3621b518e397d3a5b5ad3c5dcef3fe506afe516eab7572fbab92b77e3","test/test_stat.rs":"c407ca47a5258750076d041afad2f6add4c3563be36628bde1c5b314f5d0765d","test/test_time.rs":"f7a21b1e279e60e84909d5dadda97ded66d3326b131fe317badf9af0a1b50335","test/test_timer.rs":"3ae20d364f075d2811f3ff94eda9886682cc21d8807656007d2464fe36d1e361","test/test_unistd.rs":"20a00be4fbe26302ea5fe50ce25b99265dc763db138663d6aa1d7ac729a1d292"},"package":"bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a"} -diff --git a/third_party/rust/nix/src/sys/ioctl/linux.rs b/third_party/rust/nix/src/sys/ioctl/linux.rs -index 0c0a209053..214d9e8c60 100644 ---- a/third_party/rust/nix/src/sys/ioctl/linux.rs -+++ b/third_party/rust/nix/src/sys/ioctl/linux.rs -@@ -41,6 +41,7 @@ mod consts { - target_arch = "s390x", - target_arch = "x86_64", - target_arch = "aarch64", -+ target_arch = "loongarch64", - target_arch = "riscv32", - target_arch = "riscv64" - ))] --- -2.41.0 - diff --git a/backport-Bug-1782159-to-support-loongarch64.patch b/backport-Bug-1782159-to-support-loongarch64.patch deleted file mode 100644 index 5121d29..0000000 --- a/backport-Bug-1782159-to-support-loongarch64.patch +++ /dev/null @@ -1,468 +0,0 @@ -From 01ea3f7cf670d9e1f62a8f97474c84831d2e0e18 Mon Sep 17 00:00:00 2001 -From: wujiahuan -Date: Thu, 14 Dec 2023 12:40:12 +0000 -Subject: [PATCH] backport Bug 1782159 to support loongarch64 -https://hg.mozilla.org/mozilla-central/rev/f01044248c8595683ca1f625080c9aee51655966 - ---- - xpcom/reflect/xptcall/md/unix/moz.build | 8 + - .../md/unix/xptcinvoke_asm_loongarch64.S | 91 ++++++++++ - .../md/unix/xptcinvoke_loongarch64.cpp | 100 +++++++++++ - .../md/unix/xptcstubs_asm_loongarch64.S | 53 ++++++ - .../xptcall/md/unix/xptcstubs_loongarch64.cpp | 160 ++++++++++++++++++ - 5 files changed, 412 insertions(+) - create mode 100644 xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_loongarch64.S - create mode 100644 xpcom/reflect/xptcall/md/unix/xptcinvoke_loongarch64.cpp - create mode 100644 xpcom/reflect/xptcall/md/unix/xptcstubs_asm_loongarch64.S - create mode 100644 xpcom/reflect/xptcall/md/unix/xptcstubs_loongarch64.cpp - -diff --git a/xpcom/reflect/xptcall/md/unix/moz.build b/xpcom/reflect/xptcall/md/unix/moz.build -index 1779c148cb..e74c936c38 100644 ---- a/xpcom/reflect/xptcall/md/unix/moz.build -+++ b/xpcom/reflect/xptcall/md/unix/moz.build -@@ -271,6 +271,14 @@ if CONFIG["OS_ARCH"] == "Linux" and CONFIG["CPU_ARCH"] == "riscv64": - "xptcstubs_riscv64.cpp", - ] - -+if CONFIG["OS_ARCH"] == "Linux" and CONFIG["CPU_ARCH"] == "loongarch64": -+ SOURCES += [ -+ "xptcinvoke_asm_loongarch64.S", -+ "xptcinvoke_loongarch64.cpp", -+ "xptcstubs_asm_loongarch64.S", -+ "xptcstubs_loongarch64.cpp", -+ ] -+ - FINAL_LIBRARY = "xul" - - LOCAL_INCLUDES += [ -diff --git a/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_loongarch64.S b/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_loongarch64.S -new file mode 100644 -index 0000000000..8769060aed ---- /dev/null -+++ b/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_loongarch64.S -@@ -0,0 +1,91 @@ -+/* This Source Code Form subject to the terms of Mozilla Public -+ * License, v. 2.0 If a copy of the MPL was not distributed with -+ * this file, You can obtain one at http://mozilla.org/MPL/2.0/. -+ */ -+ -+ .set NGPREGS, 8 -+ .set NFPREGS, 8 -+ -+ .text -+ .globl _NS_InvokeByIndex -+ .type _NS_InvokeByIndex, @function -+/* -+ * _NS_InvokeByIndex(nsISupports* that, uint32_t methodIndex, -+ * uint32_t paramCount, nsXPTCVariant* params) -+ */ -+_NS_InvokeByIndex: -+ .cfi_startproc -+ addi.d $sp, $sp, -32 -+ .cfi_def_cfa_offset 32 -+ st.d $s0, $sp, 16 -+ .cfi_offset 23, -16 -+ st.d $s1, $sp, 8 -+ .cfi_offset 24, -24 -+ st.d $s2, $sp, 0 -+ .cfi_offset 25, -32 -+ st.d $ra, $sp, 24 -+ .cfi_offset 1, -8 -+ -+ move $s2, $a0 -+ move $s1, $a1 -+ move $s0, $sp -+ .cfi_def_cfa_register 23 -+ -+ /* 16-bytes alignment */ -+ addi.d $a0, $a2, 1 -+ li.d $t4, 0xfffffffffffffffe -+ and $a0, $a0, $t4 -+ slli.d $a0, $a0, 3 -+ sub.d $sp, $sp, $a0 -+ move $a4, $sp -+ -+ addi.d $sp, $sp, -8*(NFPREGS+NGPREGS) -+ move $a0, $sp -+ addi.d $a1, $sp, 8*NGPREGS -+ -+ bl invoke_copy_to_stack -+ -+ /* 1st argument is this */ -+ move $a0, $s2 -+ -+ ld.d $a1, $sp, 8 -+ ld.d $a2, $sp, 16 -+ ld.d $a3, $sp, 24 -+ ld.d $a4, $sp, 32 -+ ld.d $a5, $sp, 40 -+ ld.d $a6, $sp, 48 -+ ld.d $a7, $sp, 56 -+ -+ fld.d $fa0, $sp, 64 -+ fld.d $fa1, $sp, 72 -+ fld.d $fa2, $sp, 80 -+ fld.d $fa3, $sp, 88 -+ fld.d $fa4, $sp, 96 -+ fld.d $fa5, $sp, 104 -+ fld.d $fa6, $sp, 112 -+ fld.d $fa7, $sp, 120 -+ -+ addi.d $sp, $sp, 8*(NGPREGS+NFPREGS) -+ -+ ld.d $s2, $s2, 0 -+ slli.w $s1, $s1, 3 -+ add.d $s2, $s2, $s1 -+ ld.d $t3, $s2, 0 -+ jirl $ra, $t3, 0 -+ -+ move $sp, $s0 -+ .cfi_def_cfa_register 3 -+ ld.d $s0, $sp, 16 -+ .cfi_restore 23 -+ ld.d $s1, $sp, 8 -+ .cfi_restore 24 -+ ld.d $s2, $sp, 0 -+ .cfi_restore 25 -+ ld.d $ra, $sp, 24 -+ .cfi_restore 1 -+ addi.d $sp, $sp, 32 -+ .cfi_def_cfa_offset -32 -+ jirl $zero, $ra, 0 -+ .cfi_endproc -+ .size _NS_InvokeByIndex, .-_NS_InvokeByIndex -+ .section .note.GNU-stack, "", @progbits -diff --git a/xpcom/reflect/xptcall/md/unix/xptcinvoke_loongarch64.cpp b/xpcom/reflect/xptcall/md/unix/xptcinvoke_loongarch64.cpp -new file mode 100644 -index 0000000000..61bb7b2efd ---- /dev/null -+++ b/xpcom/reflect/xptcall/md/unix/xptcinvoke_loongarch64.cpp -@@ -0,0 +1,100 @@ -+/* This Source Code Form is subject to the terms of the Mozilla Public -+ * License, v. 2.0. If a copy of the MPL was not distributed with this -+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -+ -+// Platform specific code to invoke XPCOM methods on native objects -+ -+#include "xptcprivate.h" -+ -+extern "C" void invoke_copy_to_stack(uint64_t* gpregs, double* fpregs, -+ uint32_t paramCount, nsXPTCVariant* s, -+ uint64_t* d) { -+ static const uint32_t GPR_COUNT = 8; -+ static const uint32_t FPR_COUNT = 8; -+ -+ uint32_t nr_gpr = 1; // skip one GPR register for "this" -+ uint32_t nr_fpr = 0; -+ uint64_t value = 0; -+ -+ for (uint32_t i = 0; i < paramCount; i++, s++) { -+ if (s->IsIndirect()) { -+ value = (uint64_t)&s->val; -+ } else { -+ switch (s->type) { -+ case nsXPTType::T_FLOAT: -+ break; -+ case nsXPTType::T_DOUBLE: -+ break; -+ case nsXPTType::T_I8: -+ value = s->val.i8; -+ break; -+ case nsXPTType::T_I16: -+ value = s->val.i16; -+ break; -+ case nsXPTType::T_I32: -+ value = s->val.i32; -+ break; -+ case nsXPTType::T_I64: -+ value = s->val.i64; -+ break; -+ case nsXPTType::T_U8: -+ value = s->val.u8; -+ break; -+ case nsXPTType::T_U16: -+ value = s->val.u16; -+ break; -+ case nsXPTType::T_U32: -+ value = s->val.u32; -+ break; -+ case nsXPTType::T_U64: -+ value = s->val.u64; -+ break; -+ case nsXPTType::T_BOOL: -+ value = s->val.b; -+ break; -+ case nsXPTType::T_CHAR: -+ value = s->val.c; -+ break; -+ case nsXPTType::T_WCHAR: -+ value = s->val.wc; -+ break; -+ default: -+ value = (uint64_t)s->val.p; -+ break; -+ } -+ } -+ -+ if (!s->IsIndirect() && s->type == nsXPTType::T_DOUBLE) { -+ if (nr_fpr < FPR_COUNT) { -+ fpregs[nr_fpr++] = s->val.d; -+ } else if (nr_gpr < GPR_COUNT) { -+ memcpy(&gpregs[nr_gpr++], &(s->val.d), sizeof(s->val.d)); -+ } else { -+ memcpy(d++, &(s->val.d), sizeof(s->val.d)); -+ } -+ } else if (!s->IsIndirect() && s->type == nsXPTType::T_FLOAT) { -+ if (nr_fpr < FPR_COUNT) { -+ memcpy(&fpregs[nr_fpr++], &(s->val.f), sizeof(s->val.f)); -+ } else if (nr_gpr < GPR_COUNT) { -+ memcpy(&gpregs[nr_gpr++], &(s->val.f), sizeof(s->val.f)); -+ } else { -+ memcpy(d++, &(s->val.f), sizeof(s->val.f)); -+ } -+ } else { -+ if (nr_gpr < GPR_COUNT) { -+ gpregs[nr_gpr++] = value; -+ } else { -+ *d++ = value; -+ } -+ } -+ } -+} -+ -+extern "C" nsresult _NS_InvokeByIndex(nsISupports* that, uint32_t methodIndex, -+ uint32_t paramCount, -+ nsXPTCVariant* params); -+EXPORT_XPCOM_API(nsresult) -+NS_InvokeByIndex(nsISupports* that, uint32_t methodIndex, uint32_t paramCount, -+ nsXPTCVariant* params) { -+ return _NS_InvokeByIndex(that, methodIndex, paramCount, params); -+} -diff --git a/xpcom/reflect/xptcall/md/unix/xptcstubs_asm_loongarch64.S b/xpcom/reflect/xptcall/md/unix/xptcstubs_asm_loongarch64.S -new file mode 100644 -index 0000000000..5041de962c ---- /dev/null -+++ b/xpcom/reflect/xptcall/md/unix/xptcstubs_asm_loongarch64.S -@@ -0,0 +1,53 @@ -+# License, v. 2.0. If a copy of the MPL was not distributed with this -+ -+# file, You can obtain one at http://mozilla.org/MPL/2.0/. -+ -+ .set NGPRGES, 8 -+ .set NFPREGS, 8 -+ -+ .text -+ .globl SharedStub -+ .hidden SharedStub -+ .type SharedStub,@function -+ -+SharedStub: -+ .cfi_startproc -+ move $t0, $sp -+ addi.d $sp, $sp, -8*(NGPRGES+NFPREGS)-16 -+ .cfi_def_cfa_offset 8*(NGPRGES+NFPREGS)+16 -+ st.d $a0, $sp, 0 -+ st.d $a1, $sp, 8 -+ st.d $a2, $sp, 16 -+ st.d $a3, $sp, 24 -+ st.d $a4, $sp, 32 -+ st.d $a5, $sp, 40 -+ st.d $a6, $sp, 48 -+ st.d $a7, $sp, 56 -+ fst.d $fa0, $sp, 64 -+ fst.d $fa1, $sp, 72 -+ fst.d $fa2, $sp, 80 -+ fst.d $fa3, $sp, 88 -+ fst.d $fa4, $sp, 96 -+ fst.d $fa5, $sp, 104 -+ fst.d $fa6, $sp, 112 -+ fst.d $fa7, $sp, 120 -+ st.d $ra, $sp, 136 -+ .cfi_offset 1, 136 -+ -+ /* methodIndex is passed from stub */ -+ move $a1, $t6 -+ move $a2, $t0 -+ move $a3, $sp -+ addi.d $a4, $sp, 8*NGPRGES -+ -+ bl PrepareAndDispatch -+ -+ ld.d $ra, $sp, 136 -+ .cfi_restore 1 -+ addi.d $sp, $sp, 8*(NGPRGES+NFPREGS)+16 -+ .cfi_def_cfa_offset -8*(NGPRGES+NFPREGS)-16 -+ jirl $zero, $ra, 0 -+ .cfi_endproc -+ -+ .size SharedStub, .-SharedStub -+ .section .note.GNU-stack, "", @progbits -diff --git a/xpcom/reflect/xptcall/md/unix/xptcstubs_loongarch64.cpp b/xpcom/reflect/xptcall/md/unix/xptcstubs_loongarch64.cpp -new file mode 100644 -index 0000000000..1ea4289045 ---- /dev/null -+++ b/xpcom/reflect/xptcall/md/unix/xptcstubs_loongarch64.cpp -@@ -0,0 +1,160 @@ -+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -+ -+/* This Source Code Form is subject to the terms of the Mozilla Public -+ * License, V. 2.0. If a copy of the MPL was not distributed with this -+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -+ -+#include "xptcprivate.h" -+ -+extern "C" nsresult ATTRIBUTE_USED PrepareAndDispatch(nsXPTCStubBase* self, -+ uint32_t methodIndex, -+ uint64_t* args, -+ uint64_t* gpregs, -+ double* fpregs) { -+ static const uint32_t GPR_COUNT = 8; -+ static const uint32_t FPR_COUNT = 8; -+ nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT]; -+ const nsXPTMethodInfo* info; -+ -+ self->mEntry->GetMethodInfo(uint16_t(methodIndex), &info); -+ -+ uint32_t paramCount = info->GetParamCount(); -+ const uint8_t indexOfJSContext = info->IndexOfJSContext(); -+ -+ uint64_t* ap = args; -+ uint32_t nr_gpr = 1; // skip the arg which is 'self' -+ uint32_t nr_fpr = 0; -+ uint64_t value; -+ -+ for (uint32_t i = 0; i < paramCount; i++) { -+ const nsXPTParamInfo& param = info->GetParam(i); -+ const nsXPTType& type = param.GetType(); -+ nsXPTCMiniVariant* dp = ¶mBuffer[i]; -+ -+ if (i == indexOfJSContext) { -+ if (nr_gpr < GPR_COUNT) -+ nr_gpr++; -+ else -+ ap++; -+ } -+ -+ if (!param.IsOut() && type == nsXPTType::T_DOUBLE) { -+ if (nr_fpr < FPR_COUNT) { -+ dp->val.d = fpregs[nr_fpr++]; -+ } else if (nr_gpr < GPR_COUNT) { -+ memcpy(&dp->val.d, &gpregs[nr_gpr++], sizeof(dp->val.d)); -+ } else { -+ memcpy(&dp->val.d, ap++, sizeof(dp->val.d)); -+ } -+ continue; -+ } -+ -+ if (!param.IsOut() && type == nsXPTType::T_FLOAT) { -+ if (nr_fpr < FPR_COUNT) { -+ memcpy(&dp->val.f, &fpregs[nr_fpr++], sizeof(dp->val.f)); -+ } else if (nr_gpr < GPR_COUNT) { -+ memcpy(&dp->val.f, &gpregs[nr_gpr++], sizeof(dp->val.f)); -+ } else { -+ memcpy(&dp->val.f, ap++, sizeof(dp->val.f)); -+ } -+ continue; -+ } -+ -+ if (nr_gpr < GPR_COUNT) { -+ value = gpregs[nr_gpr++]; -+ } else { -+ value = *ap++; -+ } -+ -+ if (param.IsOut() || !type.IsArithmetic()) { -+ dp->val.p = (void*)value; -+ continue; -+ } -+ -+ switch (type) { -+ case nsXPTType::T_I8: -+ dp->val.i8 = (int8_t)value; -+ break; -+ case nsXPTType::T_I16: -+ dp->val.i16 = (int16_t)value; -+ break; -+ case nsXPTType::T_I32: -+ dp->val.i32 = (int32_t)value; -+ break; -+ case nsXPTType::T_I64: -+ dp->val.i64 = (int64_t)value; -+ break; -+ case nsXPTType::T_U8: -+ dp->val.u8 = (uint8_t)value; -+ break; -+ case nsXPTType::T_U16: -+ dp->val.u16 = (uint16_t)value; -+ break; -+ case nsXPTType::T_U32: -+ dp->val.u32 = (uint32_t)value; -+ break; -+ case nsXPTType::T_U64: -+ dp->val.u64 = (uint64_t)value; -+ break; -+ case nsXPTType::T_BOOL: -+ dp->val.b = (bool)(uint8_t)value; -+ break; -+ case nsXPTType::T_CHAR: -+ dp->val.c = (char)value; -+ break; -+ case nsXPTType::T_WCHAR: -+ dp->val.wc = (wchar_t)value; -+ break; -+ default: -+ NS_ERROR("bad type"); -+ break; -+ } -+ } -+ -+ nsresult result = self->mOuter->CallMethod((uint16_t)methodIndex, info, -+ paramBuffer); -+ return result; -+} -+ -+// Load $t6 with the constant 'n' and branch to SharedStub(). -+// clang-format off -+#define STUB_ENTRY(n) \ -+ __asm__( \ -+ ".text\n\t" \ -+ ".if "#n" < 10 \n\t" \ -+ ".globl _ZN14nsXPTCStubBase5Stub"#n"Ev \n\t" \ -+ ".hidden _ZN14nsXPTCStubBase5Stub"#n"Ev \n\t" \ -+ ".type _ZN14nsXPTCStubBase5Stub"#n"Ev,@function \n\n" \ -+ "_ZN14nsXPTCStubBase5Stub"#n"Ev: \n\t" \ -+ ".elseif "#n" < 100 \n\t" \ -+ ".globl _ZN14nsXPTCStubBase6Stub"#n"Ev \n\t" \ -+ ".hidden _ZN14nsXPTCStubBase6Stub"#n"Ev \n\t" \ -+ ".type _ZN14nsXPTCStubBase6Stub"#n"Ev,@function \n\n" \ -+ "_ZN14nsXPTCStubBase6Stub"#n"Ev: \n\t" \ -+ ".elseif "#n" < 1000 \n\t" \ -+ ".globl _ZN14nsXPTCStubBase7Stub"#n"Ev \n\t" \ -+ ".hidden _ZN14nsXPTCStubBase7Stub"#n"Ev \n\t" \ -+ ".type _ZN14nsXPTCStubBase7Stub"#n"Ev,@function \n\n" \ -+ "_ZN14nsXPTCStubBase7Stub"#n"Ev: \n\t" \ -+ ".else \n\t" \ -+ ".err \"stub number "#n" >= 1000 not yet supported\"\n" \ -+ ".endif \n\t" \ -+ "li.d $t6, "#n" \n\t" \ -+ "b SharedStub \n" \ -+ ".if "#n" < 10 \n\t" \ -+ ".size _ZN14nsXPTCStubBase5Stub"#n"Ev,.-_ZN14nsXPTCStubBase5Stub"#n"Ev\n\t" \ -+ ".elseif "#n" < 100 \n\t" \ -+ ".size _ZN14nsXPTCStubBase6Stub"#n"Ev,.-_ZN14nsXPTCStubBase6Stub"#n"Ev\n\t" \ -+ ".else \n\t" \ -+ ".size _ZN14nsXPTCStubBase7Stub"#n"Ev,.-_ZN14nsXPTCStubBase7Stub"#n"Ev\n\t" \ -+ ".endif" \ -+); -+// clang-format on -+ -+#define SENTINEL_ENTRY(n) \ -+ nsresult nsXPTCStubBase::Sentinel##n() { \ -+ NS_ERROR("nsXPTCStubBase::Sentinel called"); \ -+ return NS_ERROR_NOT_IMPLEMENTED; \ -+ } -+ -+#include "xptcstubsdef.inc" --- -2.41.0 - diff --git a/build-aarch64-skia.patch b/build-aarch64-skia.patch deleted file mode 100644 index 342836f..0000000 --- a/build-aarch64-skia.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff -up firefox-114.0/gfx/skia/skia/modules/skcms/src/Transform_inl.h.aarch64-skia firefox-114.0/gfx/skia/skia/modules/skcms/src/Transform_inl.h ---- firefox-114.0/gfx/skia/skia/modules/skcms/src/Transform_inl.h.aarch64-skia 2023-06-02 03:15:22.000000000 +0200 -+++ firefox-114.0/gfx/skia/skia/modules/skcms/src/Transform_inl.h 2023-06-05 10:18:46.942777997 +0200 -@@ -189,8 +189,6 @@ SI F F_from_Half(U16 half) { - SI U16 Half_from_F(F f) { - #if defined(USING_NEON_FP16) - return bit_pun(f); --#elif defined(USING_NEON_F16C) -- return (U16)vcvt_f16_f32(f); - #elif defined(USING_AVX512F) - return (U16)_mm512_cvtps_ph((__m512 )f, _MM_FROUND_CUR_DIRECTION ); - #elif defined(USING_AVX_F16C) -diff -up firefox-114.0/gfx/skia/skia/src/base/SkHalf.h.aarch64-skia firefox-114.0/gfx/skia/skia/src/base/SkHalf.h -diff -up firefox-114.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h.aarch64-skia firefox-114.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h ---- firefox-114.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h.aarch64-skia 2023-06-05 10:18:46.941777963 +0200 -+++ firefox-114.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h 2023-06-05 10:20:44.924843847 +0200 -@@ -1128,7 +1128,7 @@ SI F from_half(U16 h) { - } - - SI U16 to_half(F f) { --#if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) \ -+#if 0 //defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) \ - && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. - return sk_bit_cast(vcvt_f16_f32(f)); - diff --git a/build-arm-libopus.patch b/build-arm-libopus.patch deleted file mode 100644 index 1b3f31b..0000000 --- a/build-arm-libopus.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up firefox-66.0/media/libopus/silk/arm/arm_silk_map.c.old firefox-66.0/media/libopus/silk/arm/arm_silk_map.c ---- firefox-66.0/media/libopus/silk/arm/arm_silk_map.c.old 2019-03-12 21:07:35.356677522 +0100 -+++ firefox-66.0/media/libopus/silk/arm/arm_silk_map.c 2019-03-12 21:07:42.937693394 +0100 -@@ -28,7 +28,7 @@ POSSIBILITY OF SUCH DAMAGE. - # include "config.h" - #endif - --#include "main_FIX.h" -+#include "fixed/main_FIX.h" - #include "NSQ.h" - #include "SigProc_FIX.h" - diff --git a/build-big-endian-errors.patch b/build-big-endian-errors.patch new file mode 100644 index 0000000..b4bcb38 --- /dev/null +++ b/build-big-endian-errors.patch @@ -0,0 +1,57 @@ +diff -up firefox-102.0/third_party/libwebrtc/common_audio/wav_file.cc.big-endian-errors firefox-102.0/third_party/libwebrtc/common_audio/wav_file.cc +--- firefox-102.0/third_party/libwebrtc/common_audio/wav_file.cc.big-endian-errors 2022-08-17 13:19:53.056891028 +0200 ++++ firefox-102.0/third_party/libwebrtc/common_audio/wav_file.cc 2022-08-17 13:19:57.251879556 +0200 +@@ -89,9 +89,6 @@ void WavReader::Reset() { + + size_t WavReader::ReadSamples(const size_t num_samples, + int16_t* const samples) { +-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN +-#error "Need to convert samples to big-endian when reading from WAV file" +-#endif + + size_t num_samples_left_to_read = num_samples; + size_t next_chunk_start = 0; +@@ -129,9 +126,6 @@ size_t WavReader::ReadSamples(const size + } + + size_t WavReader::ReadSamples(const size_t num_samples, float* const samples) { +-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN +-#error "Need to convert samples to big-endian when reading from WAV file" +-#endif + + size_t num_samples_left_to_read = num_samples; + size_t next_chunk_start = 0; +@@ -213,9 +207,6 @@ WavWriter::WavWriter(FileWrapper file, + } + + void WavWriter::WriteSamples(const int16_t* samples, size_t num_samples) { +-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN +-#error "Need to convert samples to little-endian when writing to WAV file" +-#endif + + for (size_t i = 0; i < num_samples; i += kMaxChunksize) { + const size_t num_remaining_samples = num_samples - i; +@@ -243,9 +234,6 @@ void WavWriter::WriteSamples(const int16 + } + + void WavWriter::WriteSamples(const float* samples, size_t num_samples) { +-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN +-#error "Need to convert samples to little-endian when writing to WAV file" +-#endif + + for (size_t i = 0; i < num_samples; i += kMaxChunksize) { + const size_t num_remaining_samples = num_samples - i; +diff -up firefox-102.0/third_party/libwebrtc/common_audio/wav_header.cc.big-endian-errors firefox-102.0/third_party/libwebrtc/common_audio/wav_header.cc +--- firefox-102.0/third_party/libwebrtc/common_audio/wav_header.cc.big-endian-errors 2022-08-17 13:18:04.688187393 +0200 ++++ firefox-102.0/third_party/libwebrtc/common_audio/wav_header.cc 2022-08-17 13:18:22.451138816 +0200 +@@ -26,10 +26,6 @@ + namespace webrtc { + namespace { + +-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN +-#error "Code not working properly for big endian platforms." +-#endif +- + #pragma pack(2) + struct ChunkHeader { + uint32_t ID; diff --git a/build-disable-elfhack.patch b/build-disable-elfhack.patch new file mode 100644 index 0000000..c866a68 --- /dev/null +++ b/build-disable-elfhack.patch @@ -0,0 +1,12 @@ +diff -up firefox-128.0/toolkit/moz.configure.disable-elfhack firefox-128.0/toolkit/moz.configure +--- firefox-128.0/toolkit/moz.configure.disable-elfhack 2024-06-19 17:24:29.964976617 +0200 ++++ firefox-128.0/toolkit/moz.configure 2024-06-19 17:24:53.015843805 +0200 +@@ -1553,7 +1553,7 @@ with only_when("--enable-compile-environ + @depends(host, target) + def has_elfhack(host, target): + return ( +- target.kernel == "Linux" ++ False and target.kernel == "Linux" + and host.kernel == "Linux" + and target.cpu in ("arm", "aarch64", "x86", "x86_64") + ) diff --git a/build-disable-gamepad.patch b/build-disable-gamepad.patch new file mode 100644 index 0000000..a7134d6 --- /dev/null +++ b/build-disable-gamepad.patch @@ -0,0 +1,12 @@ +diff -up firefox-128.0/dom/gamepad/moz.build.gamepad firefox-128.0/dom/gamepad/moz.build +--- firefox-128.0/dom/gamepad/moz.build.gamepad 2024-07-30 16:24:07.326519645 +0200 ++++ firefox-128.0/dom/gamepad/moz.build 2024-07-30 16:24:15.817492673 +0200 +@@ -60,7 +60,7 @@ elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "wi + elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "android": + UNIFIED_SOURCES += ["android/AndroidGamepad.cpp"] + elif CONFIG["OS_ARCH"] in ("Linux", "FreeBSD", "DragonFly"): +- UNIFIED_SOURCES += ["linux/LinuxGamepad.cpp"] ++ UNIFIED_SOURCES += ["fallback/FallbackGamepad.cpp"] + else: + UNIFIED_SOURCES += ["fallback/FallbackGamepad.cpp"] + diff --git a/build-ffvpx.patch b/build-ffvpx.patch new file mode 100644 index 0000000..09e60bb --- /dev/null +++ b/build-ffvpx.patch @@ -0,0 +1,24 @@ +diff -up thunderbird-128.0/media/ffvpx/libavcodec/av1dec.c.build-ffvpx thunderbird-128.0/media/ffvpx/libavcodec/av1dec.c +--- thunderbird-128.0/media/ffvpx/libavcodec/av1dec.c.build-ffvpx 2024-06-24 22:43:40.000000000 +0200 ++++ thunderbird-128.0/media/ffvpx/libavcodec/av1dec.c 2024-07-10 11:20:23.200948767 +0200 +@@ -887,7 +887,7 @@ static av_cold int av1_decode_init(AVCod + ff_cbs_fragment_reset(&s->current_obu); + } + +- s->dovi.logctx = avctx; ++ s->dovi.logctx = (AVContext *) avctx; + s->dovi.dv_profile = 10; // default for AV1 + sd = ff_get_coded_side_data(avctx, AV_PKT_DATA_DOVI_CONF); + if (sd && sd->size > 0) +diff -up thunderbird-128.0/media/ffvpx/libavcodec/libdav1d.c.build-ffvpx thunderbird-128.0/media/ffvpx/libavcodec/libdav1d.c +--- thunderbird-128.0/media/ffvpx/libavcodec/libdav1d.c.build-ffvpx 2024-07-10 12:46:57.005539959 +0200 ++++ thunderbird-128.0/media/ffvpx/libavcodec/libdav1d.c 2024-07-10 12:47:19.067507705 +0200 +@@ -289,7 +289,7 @@ static av_cold int libdav1d_init(AVCodec + c->delay = res > 1 ? res : 0; + #endif + +- dav1d->dovi.logctx = c; ++ dav1d->dovi.logctx = (AVContext *) c; + dav1d->dovi.dv_profile = 10; // default for AV1 + sd = ff_get_coded_side_data(c, AV_PKT_DATA_DOVI_CONF); + if (sd && sd->size > 0) diff --git a/build-libaom.patch b/build-libaom.patch new file mode 100644 index 0000000..cab71b5 --- /dev/null +++ b/build-libaom.patch @@ -0,0 +1,20 @@ +diff -up firefox-128.0/config/external/moz.build.libaom firefox-128.0/config/external/moz.build +--- firefox-128.0/config/external/moz.build.libaom 2024-07-31 15:32:39.460374047 +0200 ++++ firefox-128.0/config/external/moz.build 2024-07-31 15:34:41.646064796 +0200 +@@ -39,8 +39,8 @@ if CONFIG["MOZ_VORBIS"]: + if not CONFIG["MOZ_SYSTEM_LIBVPX"]: + external_dirs += ["media/libvpx"] + ++external_dirs += ["media/libaom"] + if CONFIG["MOZ_AV1"]: +- external_dirs += ["media/libaom"] + external_dirs += ["media/libdav1d"] + + if not CONFIG["MOZ_SYSTEM_PNG"]: +diff -up firefox-128.0/third_party/aom/third_party/fastfeat/README.libaom firefox-128.0/third_party/aom/third_party/fastfeat/README +diff -up firefox-128.0/third_party/aom/third_party/googletest/README.libaom firefox-128.0/third_party/aom/third_party/googletest/README +diff -up firefox-128.0/third_party/aom/third_party/libwebm/README.libaom firefox-128.0/third_party/aom/third_party/libwebm/README +diff -up firefox-128.0/third_party/aom/third_party/libyuv/README.libaom firefox-128.0/third_party/aom/third_party/libyuv/README +diff -up firefox-128.0/third_party/aom/third_party/SVT-AV1/README.libaom firefox-128.0/third_party/aom/third_party/SVT-AV1/README +diff -up firefox-128.0/third_party/aom/third_party/vector/README.libaom firefox-128.0/third_party/aom/third_party/vector/README +diff -up firefox-128.0/third_party/aom/third_party/x86inc/README.libaom firefox-128.0/third_party/aom/third_party/x86inc/README diff --git a/build-ppc64-abiv2.patch b/build-ppc64-abiv2.patch new file mode 100644 index 0000000..7a68390 --- /dev/null +++ b/build-ppc64-abiv2.patch @@ -0,0 +1,12 @@ +diff -up firefox-115.0.2/security/nss/lib/freebl/sha512-p8.s.ppc-abiv2 firefox-115.0.2/security/nss/lib/freebl/sha512-p8.s +--- firefox-115.0.2/security/nss/lib/freebl/sha512-p8.s.ppc-abiv2 2023-07-25 09:01:42.602375809 +0200 ++++ firefox-115.0.2/security/nss/lib/freebl/sha512-p8.s 2023-07-25 09:01:48.273373924 +0200 +@@ -3,7 +3,7 @@ + # See the full LICENSE under scripts/. + + .machine "any" +-.abiversion 2 ++.abiversion 1 + .text + + .globl sha512_block_p8 diff --git a/build-rhel7-lower-node-min-version.patch b/build-rhel7-lower-node-min-version.patch new file mode 100644 index 0000000..398cbc3 --- /dev/null +++ b/build-rhel7-lower-node-min-version.patch @@ -0,0 +1,11 @@ +--- firefox-115.8.0/python/mozbuild/mozbuild/nodeutil.py.lower-node-min-version 2024-02-12 21:53:56.000000000 +0200 ++++ firefox-115.8.0/python/mozbuild/mozbuild/nodeutil.py 2024-02-14 16:48:12.476182627 +0200 +@@ -13,7 +13,7 @@ from mozboot.util import get_tools_dir + from packaging.version import Version + from six import PY3 + +-NODE_MIN_VERSION = Version("12.22.12") ++NODE_MIN_VERSION = Version("10.24.0") + NPM_MIN_VERSION = Version("6.14.16") + + diff --git a/build-rhel7-nasm-dwarf.patch b/build-rhel7-nasm-dwarf.patch new file mode 100644 index 0000000..5e2ba4a --- /dev/null +++ b/build-rhel7-nasm-dwarf.patch @@ -0,0 +1,12 @@ +diff -up firefox-91.0.1/python/mozbuild/mozbuild/frontend/context.py.rhel7-nasm firefox-91.0.1/python/mozbuild/mozbuild/frontend/context.py +--- firefox-91.0.1/python/mozbuild/mozbuild/frontend/context.py.rhel7-nasm 2021-08-31 08:02:10.814740774 +0200 ++++ firefox-91.0.1/python/mozbuild/mozbuild/frontend/context.py 2021-08-31 08:04:03.967146994 +0200 +@@ -420,7 +420,7 @@ class AsmFlags(BaseCompileFlags): + if self._context.config.substs.get("OS_ARCH") == "WINNT": + debug_flags += ["-F", "cv8"] + elif self._context.config.substs.get("OS_ARCH") != "Darwin": +- debug_flags += ["-F", "dwarf"] ++ debug_flags += ["-f", "elf32"] + elif ( + self._context.config.substs.get("OS_ARCH") == "WINNT" + and self._context.config.substs.get("CPU_ARCH") == "aarch64" diff --git a/disable-openh264-download.patch b/disable-openh264-download.patch deleted file mode 100644 index 01fa2da..0000000 --- a/disable-openh264-download.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff -up firefox-81.0/toolkit/modules/GMPInstallManager.sys.mjs.old firefox-81.0/toolkit/modules/GMPInstallManager.sys.mjs ---- firefox-81.0/toolkit/modules/GMPInstallManager.sys.mjs.old 2020-09-25 10:39:04.769458703 +0200 -+++ firefox-81.0/toolkit/modules/GMPInstallManager.sys.mjs 2020-09-25 10:39:22.038504747 +0200 -@@ -54,10 +54,6 @@ function getScopedLogger(prefix) { - - const LOCAL_GMP_SOURCES = [ - { -- id: "gmp-gmpopenh264", -- src: "chrome://global/content/gmp-sources/openh264.json", -- }, -- { - id: "gmp-widevinecdm", - src: "chrome://global/content/gmp-sources/widevinecdm.json", - }, -diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn ---- a/toolkit/content/jar.mn -+++ b/toolkit/content/jar.mn -@@ -108,7 +108,6 @@ toolkit.jar: - #ifdef XP_MACOSX - content/global/macWindowMenu.js - #endif -- content/global/gmp-sources/openh264.json (gmp-sources/openh264.json) - content/global/gmp-sources/widevinecdm.json (gmp-sources/widevinecdm.json) - - # Third party files -diff --git a/toolkit/modules/GMPInstallManager.sys.mjs b/toolkit/modules/GMPInstallManager.sys.mjs ---- a/toolkit/modules/GMPInstallManager.sys.mjs -+++ b/toolkit/modules/GMPInstallManager.sys.mjs -@@ -238,6 +234,9 @@ GMPInstallManager.prototype = { - * downloaderr, verifyerr or previouserrorencountered - */ - installAddon(gmpAddon) { -+ if (gmpAddon.isOpenH264) { -+ return Promise.reject({ type: "disabled" }); -+ } - if (this._deferred) { - let log = getScopedLogger("GMPInstallManager.installAddon"); - log.error("previous error encountered"); diff --git a/disable-pipewire.patch b/disable-pipewire.patch new file mode 100644 index 0000000..84017de --- /dev/null +++ b/disable-pipewire.patch @@ -0,0 +1,274 @@ +diff -up firefox-128.0/dom/media/webrtc/third_party_build/webrtc.mozbuild.disable-pipewire firefox-128.0/dom/media/webrtc/third_party_build/webrtc.mozbuild +--- firefox-128.0/dom/media/webrtc/third_party_build/webrtc.mozbuild.disable-pipewire 2024-07-17 14:01:36.290603114 +0200 ++++ firefox-128.0/dom/media/webrtc/third_party_build/webrtc.mozbuild 2024-07-17 14:52:02.039208338 +0200 +@@ -31,7 +31,7 @@ if CONFIG["MOZ_WEBRTC"]: + and CONFIG["TARGET_CPU"].startswith("mips") + ) + ): +- DEFINES["WEBRTC_USE_PIPEWIRE"] = True ++ DEFINES["WEBRTC_USE_PIPEWIRE"] = False + elif CONFIG["OS_TARGET"] == "Darwin": + DEFINES["WEBRTC_MAC"] = True + elif CONFIG["OS_TARGET"] == "WINNT": +diff -up firefox-128.0/third_party/libwebrtc/modules/desktop_capture/desktop_capture_gn/moz.build.disable-pipewire firefox-128.0/third_party/libwebrtc/modules/desktop_capture/desktop_capture_gn/moz.build +--- firefox-128.0/third_party/libwebrtc/modules/desktop_capture/desktop_capture_gn/moz.build.disable-pipewire 2024-07-17 14:01:36.291603109 +0200 ++++ firefox-128.0/third_party/libwebrtc/modules/desktop_capture/desktop_capture_gn/moz.build 2024-07-17 14:56:35.419826494 +0200 +@@ -241,102 +241,6 @@ if CONFIG["TARGET_CPU"] == "aarch64": + DEFINES["WEBRTC_ARCH_ARM64"] = True + DEFINES["WEBRTC_HAS_NEON"] = True + +-if CONFIG["TARGET_CPU"] == "arm": +- +- CXXFLAGS += [ +- "-mfpu=neon" +- ] +- +- DEFINES["WEBRTC_ARCH_ARM"] = True +- DEFINES["WEBRTC_ARCH_ARM_V7"] = True +- DEFINES["WEBRTC_HAS_NEON"] = True +- DEFINES["WEBRTC_USE_PIPEWIRE"] = True +- DEFINES["_GNU_SOURCE"] = True +- +- LOCAL_INCLUDES += [ +- "/gfx/angle/checkout/include/", +- "/third_party/drm/drm/", +- "/third_party/drm/drm/include/", +- "/third_party/drm/drm/include/libdrm/", +- "/third_party/gbm/gbm/", +- "/third_party/libepoxy/libepoxy/include/", +- "/third_party/pipewire/" +- ] +- +- SOURCES += [ +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc" +- ] +- +- UNIFIED_SOURCES += [ +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/egl_dmabuf.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/mouse_cursor_monitor_pipewire.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/restore_token_manager.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screen_capture_portal_interface.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_stream_utils.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc" +- ] +- +-if CONFIG["TARGET_CPU"] == "mips32": +- +- DEFINES["MIPS32_LE"] = True +- DEFINES["MIPS_FPU_LE"] = True +- DEFINES["WEBRTC_USE_PIPEWIRE"] = True +- DEFINES["_GNU_SOURCE"] = True +- +- LOCAL_INCLUDES += [ +- "/gfx/angle/checkout/include/", +- "/third_party/drm/drm/", +- "/third_party/drm/drm/include/", +- "/third_party/drm/drm/include/libdrm/", +- "/third_party/gbm/gbm/", +- "/third_party/libepoxy/libepoxy/include/", +- "/third_party/pipewire/" +- ] +- +- SOURCES += [ +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc" +- ] +- +- UNIFIED_SOURCES += [ +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/egl_dmabuf.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/mouse_cursor_monitor_pipewire.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/restore_token_manager.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screen_capture_portal_interface.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_stream_utils.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc" +- ] +- +-if CONFIG["TARGET_CPU"] == "mips64": +- +- DEFINES["WEBRTC_USE_PIPEWIRE"] = True +- DEFINES["_GNU_SOURCE"] = True +- +- LOCAL_INCLUDES += [ +- "/gfx/angle/checkout/include/", +- "/third_party/drm/drm/", +- "/third_party/drm/drm/include/", +- "/third_party/drm/drm/include/libdrm/", +- "/third_party/gbm/gbm/", +- "/third_party/libepoxy/libepoxy/include/", +- "/third_party/pipewire/" +- ] +- +- SOURCES += [ +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc" +- ] +- +- UNIFIED_SOURCES += [ +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/egl_dmabuf.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/mouse_cursor_monitor_pipewire.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/restore_token_manager.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screen_capture_portal_interface.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_stream_utils.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc" +- ] +- + if CONFIG["TARGET_CPU"] == "ppc64": + + DEFINES["USE_X11"] = "1" +@@ -389,35 +293,6 @@ if CONFIG["MOZ_DEBUG"] == "1" and CONFIG + + DEFINES["_HAS_ITERATOR_DEBUGGING"] = "0" + +-if CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "aarch64": +- +- DEFINES["WEBRTC_USE_PIPEWIRE"] = True +- DEFINES["_GNU_SOURCE"] = True +- +- LOCAL_INCLUDES += [ +- "/gfx/angle/checkout/include/", +- "/third_party/drm/drm/", +- "/third_party/drm/drm/include/", +- "/third_party/drm/drm/include/libdrm/", +- "/third_party/gbm/gbm/", +- "/third_party/libepoxy/libepoxy/include/", +- "/third_party/pipewire/" +- ] +- +- SOURCES += [ +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc" +- ] +- +- UNIFIED_SOURCES += [ +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/egl_dmabuf.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/mouse_cursor_monitor_pipewire.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/restore_token_manager.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screen_capture_portal_interface.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_stream_utils.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc" +- ] +- + if CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "riscv64": + + DEFINES["USE_X11"] = "1" +@@ -446,95 +321,6 @@ if CONFIG["OS_TARGET"] == "Linux" and CO + "/third_party/libwebrtc/modules/desktop_capture/linux/x11/x_window_property.cc" + ] + +-if CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "x86": +- +- CXXFLAGS += [ +- "-msse2" +- ] +- +- DEFINES["WEBRTC_USE_PIPEWIRE"] = True +- DEFINES["_GNU_SOURCE"] = True +- +- LOCAL_INCLUDES += [ +- "/gfx/angle/checkout/include/", +- "/third_party/drm/drm/", +- "/third_party/drm/drm/include/", +- "/third_party/drm/drm/include/libdrm/", +- "/third_party/gbm/gbm/", +- "/third_party/libepoxy/libepoxy/include/", +- "/third_party/pipewire/" +- ] +- +- SOURCES += [ +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc" +- ] +- +- UNIFIED_SOURCES += [ +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/egl_dmabuf.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/mouse_cursor_monitor_pipewire.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/restore_token_manager.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screen_capture_portal_interface.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_stream_utils.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc" +- ] +- +-if CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "x86_64": +- +- DEFINES["WEBRTC_USE_PIPEWIRE"] = True +- DEFINES["_GNU_SOURCE"] = True +- +- LOCAL_INCLUDES += [ +- "/gfx/angle/checkout/include/", +- "/third_party/drm/drm/", +- "/third_party/drm/drm/include/", +- "/third_party/drm/drm/include/libdrm/", +- "/third_party/gbm/gbm/", +- "/third_party/libepoxy/libepoxy/include/", +- "/third_party/pipewire/" +- ] +- +- SOURCES += [ +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc" +- ] +- +- UNIFIED_SOURCES += [ +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/egl_dmabuf.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/mouse_cursor_monitor_pipewire.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/restore_token_manager.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screen_capture_portal_interface.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_stream_utils.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc" +- ] +- +-if CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "aarch64": +- +- DEFINES["USE_X11"] = "1" +- DEFINES["WEBRTC_USE_X11"] = True +- +- OS_LIBS += [ +- "X11", +- "Xcomposite", +- "Xdamage", +- "Xext", +- "Xfixes", +- "Xrandr", +- "Xrender" +- ] +- +- UNIFIED_SOURCES += [ +- "/third_party/libwebrtc/modules/desktop_capture/linux/x11/mouse_cursor_monitor_x11.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/x11/screen_capturer_x11.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/x11/shared_x_display.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/x11/window_capturer_x11.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/x11/window_finder_x11.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/x11/window_list_utils.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/x11/x_atom_cache.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/x11/x_error_trap.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/x11/x_server_pixel_buffer.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/x11/x_window_property.cc" +- ] + + if CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "arm": + +diff -up firefox-128.0/third_party/libwebrtc/modules/portal/portal_gn/moz.build.disable-pipewire firefox-128.0/third_party/libwebrtc/modules/portal/portal_gn/moz.build +--- firefox-128.0/third_party/libwebrtc/modules/portal/portal_gn/moz.build.disable-pipewire 2024-07-04 18:20:41.000000000 +0200 ++++ firefox-128.0/third_party/libwebrtc/modules/portal/portal_gn/moz.build 2024-07-17 14:01:36.291603109 +0200 +@@ -27,7 +27,7 @@ DEFINES["WEBRTC_MOZILLA_BUILD"] = True + DEFINES["WEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS"] = "0" + DEFINES["WEBRTC_POSIX"] = True + DEFINES["WEBRTC_STRICT_FIELD_TRIALS"] = "0" +-DEFINES["WEBRTC_USE_PIPEWIRE"] = True ++DEFINES["WEBRTC_USE_PIPEWIRE"] = False + DEFINES["_FILE_OFFSET_BITS"] = "64" + DEFINES["_GNU_SOURCE"] = True + DEFINES["_LARGEFILE64_SOURCE"] = True +diff -up firefox-128.0/third_party/libwebrtc/third_party/pipewire/pipewire_gn/moz.build.disable-pipewire firefox-128.0/third_party/libwebrtc/third_party/pipewire/pipewire_gn/moz.build +--- firefox-128.0/third_party/libwebrtc/third_party/pipewire/pipewire_gn/moz.build.disable-pipewire 2024-07-04 18:20:41.000000000 +0200 ++++ firefox-128.0/third_party/libwebrtc/third_party/pipewire/pipewire_gn/moz.build 2024-07-17 14:01:36.291603109 +0200 +@@ -25,7 +25,7 @@ DEFINES["WEBRTC_MOZILLA_BUILD"] = True + DEFINES["WEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS"] = "0" + DEFINES["WEBRTC_POSIX"] = True + DEFINES["WEBRTC_STRICT_FIELD_TRIALS"] = "0" +-DEFINES["WEBRTC_USE_PIPEWIRE"] = True ++DEFINES["WEBRTC_USE_PIPEWIRE"] = False + DEFINES["_FILE_OFFSET_BITS"] = "64" + DEFINES["_GNU_SOURCE"] = True + DEFINES["_LARGEFILE64_SOURCE"] = True diff --git a/download b/download index dfa654c..41409f3 100644 --- a/download +++ b/download @@ -1,3 +1,4 @@ -d476a335bb5c077d51d40cbe20a92f92 cbindgen-vendor.tar.xz -c397dc2d33e0f9be52d9b860ca75644b mochitest-python.tar.gz -2a7d5db1a84287ba0d3e36e4640626a5 firefox-115.13.0esr.source.tar.xz \ No newline at end of file +8d2e8b9115580dcbdeafeee60699ec81 firefox-128.3.1esr.source.tar.xz +fc25f988b87b5187d4e2f006efa699a3 cbindgen-vendor.tar.xz +b3c1d2ea615cb0195f4f62b005773262 mochitest-python.tar.gz +cb946f6aae2abd13f4141ecb2872c343 firefox-langpacks-128.3.1esr-20241009.tar.xz diff --git a/en-US.xpi b/en-US.xpi deleted file mode 100644 index a629c091b3e95aea5c74e518e25e333a245a3116..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 523410 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

~{X%ru6mAS~o?cn>a5q>GFxxc322sqv&|6 zxn%+9N;R27I>&|yS7v9*&Fp1_l@iS7sDD=Pdlm%mB_~#Z{{|@68mFvhEDOuZ?)cpd zsEljXrIsD2sO~Oad;q8(sA?JKN#mLrM76;l<#0setoHa-#?=~?Wn`Hi$#W<{ku(

dsMvGPO-7tfw}PZFE<5%lE(1#ZjH@!Bvkfc`i&8ZDbWN0pl|}Xj`D*@fRr|WQD)!LG4pB_?`yAPQ5;H+JRKtME)g}N8wuUo8!ra z*}fL9SDbWCHW;^;RmJ*n<9`rS3B-M zWr*2a&!iYmDD6LJ3=%AU8Y~nAR zV{d5=GM918xJg)-HUUcHy>}ncA5>gDiB?ssD$OjB!zmLx_%D~o1N0~ii z9>h@=>K8gA=}xT~?rBahmjN)26<^azuKgV`{nf%Y=2bCgbM7%R`)~9)W8z7dWy&j! z;A7?ZI>-_k!INv0i+#UPGJ2zT@q7xNVJBFvzY360)6^hDVyQFFh7Ro@ypGRHhgnix zn+c}k>Dps`Mbar@fVR#Gl%6GR%@(~MKVKl{(Vf3S90hZvZ>{@+(jW(R&*yusL5T{>y zzyuoE#rn3%PxbtwX=)e>pw8( z=%oG(d_YHI&08jh-$u6btvn?D;@b*54<{V1&8$wnHNWX05_7>h3%+`BkJ+sh2xz&H zlV;5$qWL;w>x)pR5_{^s0-ME22i`09C6=blgZ&E|CLKBsEqPHNpJK(Rxkzz3G=`|^ zGjuTtpYheFYqleUCU} zck}eHX7$yHQc$(fPewtue)@QR9BhVBvi;t()&!d`@7d zh!~wJm(?Fd`QPj(qnyt7#%t$>aj3quva%h|D7y2rIv@Lkqoa1BGf7ocZ6@s2AP@A) zb>?Hv@4tyUwt&65I{oFwyL%}1Uh4z9G6llv7pYYiOvIJnHb}YN)M)Aie|6kHCNwsm5YTD7^w>hvh_pTs zf@EcTj)V&*8)FmXR>q8pEH+$^A={iXe)f2&BWI_bj9VS!+&s$kZ?5#JdX*}*a69%@ z%oLKjLwZZzfX?rPnep+buqYNbPIyQe2$_RsM@K5xokFNFmo`$?tOPydCv`tb$4Ra% z7|3>sr!^LK&+IfWkJGr}Ye)4YR^Z(YrHFI3tGrS!Pv6^=-;J3qn%;>AhC`bLtR*q< z3(0J*`}LJ9jWkx+2MsQRuh3wE>rrM)I^@oMv5{85Jk@UGgAnBTyCU1*B4$r?QNJ|Tt6w4X;ns6mcA#PGM z{ZZq-1ei1vKwl2{u*?FsPP@er*i~Y~`sd+-%Vnop+zy}<StqG{2bx@fFmUNSm+tX-St&7ERCX5f~%Nq0y3(Az;d?iF8O>T|gF zhdRq2u_RG7jvA}lBIG^$Bi=-$F39HN1=o#<APF0~Rew4;xS(=LO-gjEWMo{LaF! zib&kNUX6=ihk2v>mOZ|*qg$()G9z4y?^|~Pi=|&m5rsD9+0D^iMomFTH-RP0lv#XzFKj!`L*L*Air>Po{^ju@ zK#6|dDy(4B7V{#%mR=duw)9tz-Zt+vkUqNJRR(3f4`4=CS#DmQ6#UTDK|mNJz+Pd^ zX_Vi}mr(n=>UvdXGJ^``8NP+i$&oIrOXtGia6YBj&Gv&O5+X4 zHlu{(3-sOFhfCRoWOv<~eg8iQgN44gAZt`0pby^vX}K#pTNzs$J2|-jXPP;H zb!mg!dfA=r-*`Q&y}RlR2>BV^Qbl;N*jx@wVlU$Z1aeb%uTCnEisMX{aSVa^#qS(` zM7MKZ?yT)H;pmS9)s%6>RB^TGZH&t2&3a z17nU5rALp3-#@J^M9w0A7P#;mTY%%o(j;3v&y>MKRG*@wtt;D|ogqyD2}xYIMg~Aj zI+@@qEzlutwIi+-Xk>0l@&JbO2jYtSXC+WhS{^BI$@43tcf95ya38GCC`ij-D;wI> zZVM>aLJp6j$=PC7L!zxP1FgXypGP(wO&I+%lr~@YHQ%5R`_|vdM%%fl<&RnmLHqC6 zeDfO;tg|>f z2sa#vb>DxO6NSB;o8YEXREE&7fyaHGqIp@FC&J;#(*Vr~VF_=~mpvK62aO(@u`}ex z`w*V&FpQYkqno;#65}ZJkJg^4V<=T48zCb_Yrz=~Vq=O}H_(2{(|wcdf4oykF`cuZ zFbA@XT{qs#Ey=uaARDf{0uQdpH^S0-3uycnx4VQ&bVdcJCK>(nk9@t}dGTE4S6r`) zak5FsYD7ge3xtiPAH}Qhu81zg^x%mp>Jw>%9#X~`o#-XAP>ZBrfahpn9{lN&|_cDHAJC{Cb*c@ z0b2HBqNuq{5vb@D+IN3d^Af76Cnfe325#U6jOK@{W9WF5N;V(SD&{*#6d866W35z3R=Mf^I;MG8VHFF>{wAtsRbLZoQ{ z%=`+22;k+H{cKd!*-d2R;?cR@+V0@HT%7tP*}&bI~R(@rNUT9WKbd zGT<#ENO0@spJ7y*;lM!hZ!4T`BCd z96}V(PI?8RM!vso09{uA7@wZ;OkMRuhm{DIDR&dDQ0|F2ajth7RN(?JP>;8-^j)9O z%XM<_;xGlz`sMbQBGv^Xb$~=*<7%#xb}e&b-yn6!XM}sCC0&z~&zPO&dQE%b^-e_Y zSR|~Em3QqjTXNH?g|9PLR~HK3%l1!H;U*Oi=sEB(VUpQ^e|bf`VU6=BzbGo;grRf^ z(6#8Cnx`K*ErpQF=@eSIYXz!pJk$EC0@8^KR|TRylYT(2)K`KZ0iF;?VdFygoTn=_ENlLp$4{YtAARVw9`{qhh#D zy@Wc3EZGR^ zIi^7Lgr@^CLs6eu(Ky#J;{v6lJYmMVem1$d4kgL(3*W`GF;cBz6lN|8ElEZZ>d@C z-9yB02G^S;kLJY5FKbh%Lkp;^KZbtX&69PJ^uwMq>l-PGXJsz2ldP;oHkH%hY*_VQ z@b}CoLh2|D?UkC3lGYGvDC5goGrrRj#D1&p-;FbZ)!fCK*HT~R^s{di+G_%u4b<`h zCsmQ2WpxhcwZoRfmAdMTC;4L-U^e5>dojxkJRJ!v4p!x3*Df_}8ue3M%t%s1Xyg55 z&1rxtTC=rdttU5%a{6sPJ};Y;pAEFonLI@!J(;7l2u~1}>~K5;^i*t|WMQC|(cFKv;|;-#k%)0?=m$6h3*KNlW` zPX%=DVnr|lcUE2r^HXFTDiH`|e_6C{uVnP?j1XsPZwg;+@NE@T%&_S_$w`AA?7vj6 zaPl8izFr-E`QeOKX{}v9!Rct|tM@%UFRMSCRv2gh>TejTwWMIW9%jL)e#(1#)Zm^D z65DATamrsC!Gn7@ts zXKQZ_xvdSSVy5-sJTR@|!4vfgHTQbY}9GkJ=ex}FPkEuxI<np ze9i_<#gOXMT_iX-Ixn2Iy8eg;p-VvYZVmEBAg&;;0$sTYE)shBQ(%Da|A#Z%S<0s9 z`SD~8{Eq^V|2^YM+05L*NM7H;>A$`ZCw^R6`)r6^?^F;gQn12f2GQVND+Pa8es931 z<^7IEmp9Y&*kP0O=!S_0O>dxna|0`@s2AzEfLHd%B3@Mi@!IgT|A5Q{|=E_lb^bX7dc0 zI1G8B0yGQ~?C(~_B>>7R0k5c}-swm8r^7$H6|@r9jw}qfMo1o{QT%=K(V3Ys`NDNM zeK_RY^>F>%p)oG4gG%GjShv94XJ^C=S9fPEgeWWPD!3=|xz zf?tpYniz=l1utxj#xzX6KDn#>|lVoLJf#nXO!1Jr>5 z$P5st{)*!X16*8YheVrM}Rb<4z?I!QZS|tS9Dzl9E+$rjyx$ z2Q?^a!*k*b_+UhmXc-z$_5SCKX9f=w`8ZQ!^j>>?u59E4J1`!LCy2?6*&NEcLFPBc ze?Elaj5_ymvzqGta{YcANsbN`&d0o5k-$qgw{BAUG{qpVQJ!WA>jClsL}<4Oe(I-5 ziGSKSkTY7IzueXOB8@*oH|U9a)ns1YGDaOfeESqc3R7~i1sW^KG8yXw%dAP36{sl| zhHL<=Lr}c3$L=GA^cvIHLU0rNb{a4l9M3&t!p&Wod}Pb$KLl$hq-!cX^gs)>fs~3} zA4hgr$u?XrsVBN26Ffs9rI+05*}*M8dfM?9A4j#U*dXl6!DKU8p5D#y94YWe-H}$2 zWMs4_ff|W;036kLyCVv9A^#r@Z64Imj7B4Qv|`s`I1YrO3*OkTrVI~owW4PT)GG!k0w59{q~ywJB?ze&TL38I+mR?31GgOZ8p8D zi!^q5hQ!~vm?z0MWLw%zdoDEujew;AvJtUaUqL8WR#PUJo;Zr)L@#BZjvlu1$uc0- z(uj(LMUEE7B=k|3hA~M62d=VOFUkiOKq8gzMXQfS-bEv?YH{WA$jGp#hNCNqx&zd1 z%nvr~dIdDLzMMs`d-VQ2)+X(BTc~nn#m2X|(O;uC|F2bjI;~R0x~JYFwaXXZ%u50l z-}iFF5SLLPA^8+*Y~N+1^Q1}#D@F!m4~KSlLK}hAbx9g`ur?lY>I3H$Rd3E|Bm0E& zs$Nl5!Xs1K;k1hj0VpjmOn{8WiH&ebA2)lz{e6c6m!IbS|3qvPCOYgA{V37|;Qyx{ z^?&cTP%}1ga5DT)gF3;bZA-%GaQ%e_?n!VlK!-U`M($tGDpJEiyK)hi zX2`Zmv>L~Y^ZlIjGOKIh&J)jTl)XS)9;UMRILQ~_OhsGaWXRE1Nss6=R|KNp%l2w| z0LXw)Bj#X91n<1{zl!OQ;PxjBw=*{0Lq1EZLf$+`zG=@OH(d%*koXexd*Po`P zyv#vd!ir@Fz^=fm`O^gPat1`kxIupx;_OKKP2r*ZC~WiqlE-J|uN^QH(+#Ur{IvMT z|2YjGHzy}IcYxSrDynV@ibk&}j$W(H#v;Ds{tFqSohW;&u%^Xj;2MY$II6#OVw0?0 z$tpT8QQs%{{oxxrNBrEBUeF0vjoQ7tA9q5VDD(NfKlOV<8b;dsD?`e(Ejq&e@4e>q zLC{}Nmem8Mkj47@2?-N9Y{IY!HVLL9No}z~YD!T%a7wC7A%hnK;ql=1b%OUrf`?2L z8Nw~HaQu`ZqQA^fN9MaA_S}g^fCj zeLwZo;l(KyZV6Upi)qcv%Qojbxtka7g1ziUo6gCre8xaN6wvTLz_4Q}2m z_R}fh7Cx-k$M4p{xsyM-&@8Z(U$Di~ia{@Dy%?(VN9C}mPjDU8h-h+}Y;eae0#{Xa zBQ@5ok63Pi3}vnmWvpZWzzITX|xaRh%iYnaah|K z&Ls6n9muu%KulqWFZIuJ=ZnvTpiF@*kL5blP@Lf-g~y6V&i@fUMcw9rAFmOwUd1^F zncc7`jG5=oa6qtR#i+nwWlZ%h3>V#llO?!cx;H92o>95cV}m(!1>e<|_pz=3^MnMH7owkZ-BJ zNf*2x2XX~90=et@H%>G6l%(g?cW!QQ88Nl){nt^XE>13XMMFQ5uT;0&$PSU+xPA!J z5`~KK?S*Na84xFjai4|5nAn;$m2 zbPBDny&1FA=nl3|0sn8`EeQ4zg^QY>#;y+xds(FtEs@86$97)Vt>r$rhJKc~X0P6N zG~p30*zVHl-+a$+m>}iYHPy+U#)J{7(!c?U-SiV@BCjK*g6L-m%K*}3aMY@S9bP_h zKQ=@`;2dg$Rc>OII;3Ys!+&;E88R1QX;ew1$xpB4iA^#xynjafVh1d#Spzf^=KSTm zmZHk}yqN{)SHp<9^nkNhqk=AC6pd)y7*#s`luWUC$Vw$wO8c{hM|!Nh_6vE0(<>4^z&X-^V$i9I08` zi_v4SdNfcWvZ7msWh7i(_xDlfc@w<8o`AYT@)Y^r30av__{;OXqRg2FJF)|ztdxs{ zD-2AW(8Exm=#aVq&Xv?W*z?290G-uxSA$_`Ry^i|Wt04H4G69I_kmwHkGc92CYqSE zm(T+fLWC1grJ!%05i{q>(QODoN$sx1(*(~hmK@?zUF^|H(UCV7LV)nLt~W(*Dw&Zk zywbUqmF{8vfaykPc!&8GqWL-{cn~J;m;<$c^hm%>UVAIKk@Y_Y-p$Lu$p01&+7Qia zV(gNkiC?rJ;6pDRMqKF%xN3imOsFw>2TbD=<1>k2+A@zk#Y@+Ha%1t{IP^bh7c_03 z-_X6*E_a82I00ee%H!n1qZKdL{EHU)8<`Z+hjx+@vrU&+%$amzopy~_$k;R_PP}>^Y2nxc09F0MN9Fyoy%#Xp4`!*~|_)pXL27^B7xcwWKeR@#=h z)~c&~!LB8LnBTc2NBK+hTmcmpG%GX1NUSqu%kb(B1u2VdaEJiJ(%IbKZCY|uk_HqB ze=OZ_=9B5r@!T?kR+znlAj8X24hUsfV*JfH_~Ds|!}xvFy9VmO!v}=7IFe;ahU=6q zl)P$7nXxDPTU2pst)&@p!XOpbhju7;7q<|&MtsB{zC6~qKVfVb9zLblu=j>^&PDwI zYz+*JA}haE2`_>Y%w@Nsv)KWGb%4}t^gwg{(GRI{q*9gA$gNNV9!k8sAmmRs{@%9& z#M!UkQ3);-rdidtdy=QXrUZ>Rc4CX_deIRR0$+RZdAWk|xS@a+n1ld#JAN%BmB|*+ zrEV`QNS$*h)=5pZ6t6r-)f42*pk8=vW!%ro5$ZI}>NcBv`~zt;K8^SGDi-Y_LBQG76lG_s&)kpIe`zHo_NctHKqI$v;qW zZW*lz7k`vxM64B}f^~*oTJ#dPG93cb&~#jNXUx*MV3dQ{W7Xr}uqsv@(Q6?p3gaki$MSBugqxpju&43`FQ8|)kCgQ+hp2AYY*4Q-#p2N@SEW=H6m@1m zHfBMTpH@-;<@cRGJgnd z!y%C-8|7F|k~8@xx1!{8=W#1(*V2o?1N#B$K?1z6@vpxO;=i66|5IwNTbDA47iGL0c7Ss4YRKcnc$`=J(y7Y?YK1a<0r&wsH^!*o^qfO zqJM}mFEUuUu5`EtG{!9QhT|h=JoS0{SMQ@67+9f0#Z-NmQ9w5k;ea1){SXU7&t3nz z?BQJ*M}Od;7GLLsPP!#(KIruQRmgoadY?B$x^l^Mk$&>mx1ts7SDrbChgSvm2r*HI zAi(}cK!*?j~1_xZx`?z)`-@==ENmEU}eeGN88JUPJk*idZ< z?$l9Rgoy1nnjrZ4No@v=tI~%f7O^lRC@RwMji54X(@Fjoa>fyusywVgN4B)0DB8qgXk=}Uxt+NkJqS68WCW9Tj)&zbY6o|bUhu4aM?lZ3z}upra2@X>g6pmQW~f*B;EOV)(2jht9ZMQ!*y5Xq zYd#P)D$n4YG418)r)I5E`_0a`4x`5QDt+P}7c}?$Q8A-pf-8q^qlE_|IdYZ#`HJ%M zj$+dMs)$NJM_=DnMm>E_3dV4No4 zBpDfbO_$0m^slXfJwHcuXOmgu31_92C!KWc+bbo!rS6PZJU*YdoBhwbj{TFkf>(t6 zbd8crv<#b+1~-pi5#sS6=}$`O-wdJa=^n_f&xh0eawbI|z)d(goaD+*1)WjN2k0pY z9@%T8cPq5MqaRK&=Vd0M>XjG#V%EY#IYvGv-U&L*v3l#*QR|r;ECMD4zt7t=2Doi{8d2m?JqP>R66=UV`Z+nMh)?O_327 zKfZDPUq4WzpGzP8Pak$l_doSwod0V?kD9rSk*%wv%nuS#-}JvpJx=k{mK$7%!`JU> zUi#Iw><1}gvVM?$lO#7Fg<`AN>q86X04JV&Hg4cJtEVj0NvJbb@U_v2 z(iua6egbA_+#3Zx;o;+jKE_P@%(nlnYsuy*uF9aTad-Y{TzJ>4L>%kvWFUcWpoU5&m>fPTU8a1B!tK(VOqWda zi(G_WeEsE1=Pvq3bCPqG9*@$eg0nHKKZo2`wxczfV73yqL1+Po#LyTKA@VCzteJSh z{9xhdM6H#k`!nCoT&NVjYYPL8ng96emFdsA`ETFZl@VMX@Q=sl?gzd3e}|R)FPXj0 zj>d|{|FPKom*H$eUDtM<1KIbv7<1rx1|(_j+>l;&*3uQBw^5|#^h%#VY;R>Rl^7gg zET%~tQyp8KEa!l!c-OrmzPzmcAcH!Zy8V&8i^->!w!75WMe25p+8aH!oP*Uu_a$Zg zcZX0J%+G6b$He}2_OmEbpv4?Ee|#2`?<9_P9xREoV@mhXju$j=j&<{GY!XtPD8Lyw z;b_Ns7DBORF4te)96wUO2wrAKZCNlBT?UY#cqUion&75j08WUFiXlnySVeYcNo< zFqTi?6ix)&M29DoC8wn5q5NMT{yK*G{}@CKfnIRNd`xP|-C_wl0^tt&azK=+9noQs z-S`yAS^M&g$L5%%e%Jp)EUFp&8V7`Ii?u)R1w~we{8^f^sS>^as`(EW}i^66Cm-gZ55(BtxElA%@5+$an_w5Bus$1g{&+Ec#NzML#2q?xeLA zvgZq#SO^_{EU!>yZX6~{$GC_ai$E$-auUtcF5yEU2$ z2%T78^7J}^-P9j0p;S=ANuVo0#pg10VD%FDoWG~ey4brs3M?T)8|<#laA&k^t;t}{ zQ2!I%0gY*)v%q5#(el^~JOI7kFUu(@9cu5BhiA~*5WRPp9&^H&K@m;88`6_VWDetz z-sSoe9>e;2vPT!5P?A8A^cT0}9IFC~S_|1us4(j^&avfJpmYudkAhmJCBZcT5AY`I z0qd&bx;r47rU7;}!i$~YrvWXNOcHK`rAaELTc7)PRB$bkRXyt-k#Hb`AUP`| zzGBn;`DJt3afX*t%FZTbg4++T!6e^6#6i>TGC(t%WK`DxtK^2U+-^#{88jIx=Y-+% zd|cJzP|JDC0C~5cgTEYNv(E+cAwI!DK{>;0)rxbRf2$6#g1jY=Z1U_|3RUpq>nASS z-X!%LgncmNmM(!!5}$E6+W6?d~vV%(KN$TZ+L_)GK4c^XKZ= zp0Bj5*q>L`@0;gDsFe@RzU}++HuiZ+Op8?W90QG2y14GC|-KVg&w7e+9Pw-lMXLX$OYmpvVt58AomNEpOAWlWY( ze|WxfDDYOEbCu)dJP&cVZ*^fXgFkr=VJ3r0@t z?8@);AW%H5m`H-FqiSw6zVpj%RQxuwQU<___yfz0$trjnz1|=y)1EntfE-sbrAtPZs1$rmgWx>_wFmA&b-OaGkfVmCK3xJ{)jsX~s(uX*v27|=7QXrQfOeZpTbB4b} zEBv_c?*Qa4nbl7kL=8{kUoRuMXEgjCIN~v@z-v)IZNMB{WPuS)D(RHCmUGXu0X((La{;F( zC%;}3^{aPP8c6rC?_PJG!EMqhtvs|}MC!Nl5kZTVw+=aV;8XVA*MEC?@=Rqf?)h|n zRjI6o`_vJ4SDwAm@3$|h_qmmI?Omc|*r+*2GPhksJwc*Dq&1p=NL|9MA~J`t1s|F1 zQPu4d_GVhN`>=W(r%j!^qs{fFi;1wli7288ZPu|opEv8zpd+SWKVa@zYD!FqJuKWW zyBsxUD$zNL&#g{Nf7Zt|;d-UFed}nGU|O|5<}_Cq=F+V#qNr=cg>)ItNt6&((pP8- z9I6J0bVN-napC5A?Iev$c^e(K)@=pYp=R8N)i43 zNxAs%GJRq4ZY}Pw8jl0MipfjS*$B_F&HPx*&~4Rc-M-)TqJqPk)Q+!*5oLC_F_jCRtOE1!b~ z%w?8&uA7zZYJXVBHu-vabo4QJw|;M&lxUPuA`%*Pmzl$x>P20r%$2Kh6&MdjqfYQW zUN;C*6)_9JRfmpKC*e2{y6lpc6qHBYU!0`9c4!|Ecz=uBx8 zrD8myq27yjZ-?}11$;dV1xWKwr32a_Xk=WvomwT#u*yU#;|%g@11t#LQ0se!J}b-g zr>q6_6DQjC&SdM-zj12zG*TzeAW@GOuywMXlyHG+u-(+#b-(z}i%5Tg=I+FiUd@s| z6Dp@BuhGbssA%cotv1Aq9Vijny6ncku!D2p+VI(RqL1~$&{GJm)G(HoU10u@^w(Ek z!hDc7&L@fLpi5jbi~}awCniiMhjnOR+B>mF4))L(JW}7zqplp^)SF7M$8hq!5olfz zHv1O|1GE2d6l2pedu_F$Wt#z64^q5&NRT*(GU1=r^iB2@-=JJL)*yaC88X3J`jgl= zG4DfFxuy{{`-uxW9Tpxxv_vYyuow+$@ljqnRN!F^nL%PmPXoi2HRb}pQZtS^vA|Q` znm_cXL%-wV8eb*a>6+yRx=NCwG%hP9;3mir#v$fs(l;8-{3h4mO`3M4_xHngL12Khclh9np-NF(dhTSSC+v>B8V)^3 zANqWG1SC1roI!_6gJk#u(F&KZ2+k@&Wbbf<%MynKZK-|f8<#1S%q z7*~0z1epVkT>N&oObP%SdAz3z4BPt1W*M=4Kztl^rK-pop za#2-i`>!GIN`IoQ*K6XvwMJT!4_2|uez%k=S4IaBYW*o&8Wp6ql2FVe#v8v)kfT}< zWHs_2Nih77Lt(>$Zt&N{HO}l6I7S=S^G+y4eP#AKc?x-d(6;(Sk$*c8S5f9&XvHp= zraYf}@^bSWrF(7%{&r+xEU) z-)NX-_qT9uE;1%byg3l>1J&XR$~a-uUQt?EIXdI)lPzE=8x2HJmqcC}{M{qPXo%_y z^@Z8HcgMV%lY=qDyw7@(-6xa7bV&oIrTF#bSobbMeA=vL%(oIU17&!Ux4UnQ}U?Zi%EvWt=KU_ z%ntSfl&`wk)zrj?fbz9}xO0x(w5XU}>&W8G848VpIjJ9H%Hzf&tfikq%c;r?Jr}$q z_RA0+=_O6jH?6FTPXdphvi?%q!a82eRP~fSbDgDI)%{6z`|k>;B(TI0^rMFPk4XCe z-iZDnjQ{_c#D=yuCg%T@2U?&a6Hf9I8}qKlV@Jr%c)5CE-xD%Q>KC-ictH!zsVcQ- zW4u@Oz6krEU)$CiZQ1aU| z*Z~*0pgaWOF8V&pE?e_@!YYc}l!LTuz{AfqycxFR`Zpt!4FdVI>x#S}Vvw^$zGZ#g z;E*}OrFPonEa!Ccixd+axOn*i2q~lZYtr8In*Jb6BouotS}2kJFtb;|8>d|#z64y!7fYB4TyJ=Ft&lX0Iu z4i4i>AOx#a1mKD@hgVsyNcOOoq!i2L_+7!14$1E*x)C9V$wkXIML0Qp&zd+??=%b( zpoW5L^KXYPxn^9*N?^)RF45m9BF-eWt1E^0;$Q-YnU-}mQ!tfd=s+u^H>{h+mVOqf z;k+*7Y9OT zhq{ZCw}e{0A%zw;`baI`UPmafh?#_K{r3G(asrw?sd_5nj+|q&x!4EDjWH;WjV@R@1ZGHkIm_krh(6q@SZVun7ux*P-Y-MU=Ka4e~LX zWZK!+*McV|{3Mk8`+FuWJjN!=by?RpG9Bf#N735%u$i*LKhHE(PnYLgqD?amNtVYt zC-Jp(=AZH*tM(c$gmP`Qk*8D-P7jYy@HqE!D?FY%d@=&$+v*Z4edZIhB;8h=0*P{K z)|BqU*`CI8hN~;f1iz{-Jg*eUZrC%NoT{ut1~DYnC~NpU*H%ciz+DR_yV4FdWQ~DK zQ!qn|Qj9SX7qv2fq~f;rDskSP%R^ZQjfE4yEi5T@_PQ7(rNcD{?e0w{A3IWu zhH{I!cva&K?K38j7APc|neM^jzv(^)Vt>Tl`s6o503(a+uX7WlD&0LH8;IWj_z%%^j&nF^q6(2bu=T1MDanQ>D8t|)&4^-bmeWVw$4VU zLe;FTQ$%R&W!yXbfv7|gduXmpFGwD5zMv_w(%4FKC$Pu8@<4&tykFNWWS4GTS9bZM zrc>WV=%m}%dT!oCY%8}k%J11{#iVv_*mVd!7eB(tqie(IY~em<0w8qH@k=W`2K=Kh zr&b|!eyun-`+)l`;G|1>qe&lx)qPU04x6#pS|Nk{h=_>p3 zMMPFgPu_5fdyRDrHs5t;yJ2vF(x(ENM_b1!@o8E1Jgpz?@?)$h>`wpB7DHK00)H?e zI3`GbwvnHYvxghoV?)g)!&#^*XmnSes0QYlW#kyA#YG$xluz(%=i4SQ&r7nV=q?yl z-mC~Unwt5bLa7NW!UWoNmwoPH&OcXiroteP&~Sk_BLm(aGwJ#XhZ4EOBGH|(}Z1XoaRvy(wjiUxNb zdOYHmK#`*MC?ry;P-xw)b^D(4nc&G93xk*i(wH`HOUy=Ms@ zqsp7;!` zRuOq3WzRdWtGat9JH)pF>aguxyDEK@1ok#*3bo-Obli(OXALyFFW>j<)xwQj=+~u9 z99V2(@q<00Rc_wIM4rTQ62-lTW21*%&DsT#u!{LK>~HWRW^HEFGm~6=2N*}b*#8aO zcFM?+h=a_u{U7OX|3kBuv7?clDToG@!N|nK{;S=exUFpTL^!GtTF}EC8uUui?G&So zkP#AeARL4u$cO>r?-Y{oMgc7~0Os6iDts5fjY-jnbD}A29 zyh7yoxWju~&j4y$L#!euk(axhddaN54fLhZ!|yHqF*px*dQmZaF#1K=3`u8D zo};1GM`SwjF6`&kn7D=krW!dZ-Q=A|a0c3g)C7ADxD#zTplMA zgh=@N^26+D0S%cTxYRJ>>fSQR(=NZ-3nYk zFZcJt`!;WPt#|z`f{rC8TyjtVQvmw>?;*>7z|Q{`!Cw#m!p`eedhB*N;W|!eL+{ue zTlp}SR9pk-V(I+>Mco-twQ{Q&!#{{;NAin&hHnp_$v-Yjtvbh>#O!$Pd6Eslo$H`9 z?-D1&Eb0<};dBuMXGYtsQB{NjAfuU3cHccV?@L^7^jK5zCQ$^CCt*QYRF7;kcMWeB zLP3*1v@It7L}`>KsumXe5f?60<4%a-k$ z;5b>6x>=cgGxlnng_}?yj%0nG)r5vqJadeM?0=$|gDaXVI2}qK#{B_W%sF>dF8Qp^ zRf=ty_L3&(%bEmce}b{B*3-)tajdbg$uSd*1DKWjrCPirZXwOxqOs_aR$%yirbLqz z)SN7*vPjR9s;Tow5uiSkF(g_}%$ibn&gDLZ8WA~yqoN)#&?9ukIPlZYxD@O}Jkv|= zX9d)RrZ}zlL$P7pSr;nDotC3X6BflF#~d#kMnh+xtSGzwLP&9I?FM>P^}MobCkH@e zg#bpF#D~F3`I>>Q1+^iR{r&3fboOhcUiqTm|iD55uk+ZiM_- zB^QHJ7jS{vXz30|5BkO8p&)gWam^mZ%;e@iMQmC#QMlRKQS235;+9nPn&UpE7oZ|y z*?Z&}X^{-)+=_KfT7AqFWubvXn&*48k?q7jFt}MVwg$OlHPiexJI7>jhLv*7^z!=l z#?BH4&D-6B0I@~zQkPpHMsotCvnuuSCdGGde~#%D6-QzAU~oaDF-dBFe2Egs zeEZ7a`Z#3aVb#KOQ<328cqQ2UCi@w;_sj}fYWWr9JpK&7H%Dvy0H8Y1G2}n#@_)GX zK@~>%_dqOb+VZxqt4zC zT=2w??Yz1V^pO;pmV`}^8|e0*Um5-V4@R6j&D{Ld zAvrNrDMC5S&`PIqN{Aa^m%&I)tO&at0@V?8!adwFWBc%1e3Ebn9@jH}{PDQKB6RGbkcdY_2*PK2vJ3V{K{dN72v)<=sMfu>`@R5%HISa%z4m3VQCLZz<|6lTG#SrckeE63J<=P?vWu=h^tzWsm0u zl~Nm2Z$YhO8G6oAFHOH{!F<{DFucZERZsV%5}CuR)5jRwIXk$zo}U~qCgMTcO0zGs z)_40h{j-0>HL#3h2&~;jJfs&TNRZm#opI-wh{x1N;D1i6C@e?mNMkEo!-d1S(XC9C zYsO$3NRnaT_-re+uFQXRpbiT{YS^(jCUtgc?D{HOZN~g^$_FmPK5Ra~9bvm%<(+uL zyO(h=01kfgzI6R&e{32EH)Dv>`KZg}a%Ug$?p9*u4Te9tYaut%X`CQ@Go1F80UfYE zsBC%QEWs^3TFV<7y)n#cpX7R+Q-{}{7TXu%PCOY^kYLLNsRBb^UF}M@(dRzLK&&4E^jn7=hh9c z?+K^>$JWI9u8N%m4RltlF)Lqjnyuc!mD{d>A4n z=2)fLEV!QIr_;vh1%m|9ffXm>u)9xR(^g-K1OANU-ODdkLmOWxHlp?||1K(phvgL^ z13iRv4WoBQe38QJHHT#|W+f2`qcO{OXTHa(*?)T}5rZ2MGv(Qpn0&i5OD0a7R5vs+ zY2SpG>^p@$O2#2keyjFZat%yPP-_T6YV~BO`x$4Sax-`(5<3ntW_-+*(4wT2&=fu_ zWChlqBB#d0;I3mphGiX=fxcd3(MY-jidY`9;ps&3q+o8R0Rx*s zeD4oRw7=0CJAS`QoPA9 zW+(z;&g{2B7(wE1LA^-kE28fpX%y8thwSP*$ zmaub=tA)~L*I;=<0;&P~ZE4cV!*=Pqr^|hY3t9FuI(sme>-HP7f$_sjEF+Wzz)S@bN51_-{xj(8R3gxceH#vzCvX zSDrU|!nrU+HB9zWl!ePm`ATn6cAT9kw1K$GYniJV#NGiqUk^Z7V_2QsC{#=Yo33Fw`735LI%+6seN2-!a?TDyoz6(JgR?wAC?uu&N;~G;6-vGHU}i+dglh5w_-cfnxVRuilJ_ zj`}0eo8Lca(F}+BkM2l+l2f=eh6L!Gn|*v zV5IX*jnFSIav{9exhq|G2B%%v9V>+JP&?2oa$+|`}Kilp@)s-F%Y)AM3&E{XTa5LY56x-SP}XAvM3hqfOzmJpzW<=|l`FEpchTz4{Qw zph4uatHCFmn;NYb^25-6qeTQ+cL6@%nJ}+Y=l`<_6-2|6f9Vo zPb7gdwn+zjZy3Jf(27O~ZGcp^M`=OQ&WZ2qu`Jdep=bQ*!S&sU%F6sxyy%f_E~9c+ z5d|<18&Y3p#Nx|Va(E``lTBfvq5|3wBd744p*5cNO`Xrl=>Aj2+QE}Mm*lACV@5|=}eNjGNr9)qGD=A zL}vltm3~b(p>0WvB5d`w!bOT5_!2Wo=(&fGJA?a~7iz_4AL*~VW%AWKRUy6xFiH=k%=$>duppk`&I z8BI^#43DXQ-W(Ex4Ipm4K75XM)FM!LC$;aaIrf8TQZ&E?zx-Bg7NH8=G#}kaY9A-6 z_UxW$9m__=lCP>z6xt|}b#6Gr2bfDZHVeUq#)JBa8@I~4Ik$T5VPy9T+cMznP#Dy_ zOi!R8*Alg@M!PNlr2Ex^e7~fW%5;oxTV~><1~5H>tMNACV!vELcs6@dHf^G!6|dWS zTcfdhHxpGGe>Jf%^^y=1>Nh*pCO6tlaumF#xZ4N*>4KBZ`n&i;+BIPnzo40SGzJd! z*-_c(sPvifWpdL+I5CD6<@Yed1=wqrwj#j{7o-$$ho70ReWe^W1z$AG=}+EkM08!- zQXC3w&BjUs)I$^Y74}>ETxMPj5@4sllRP#ql;zRpb_aw18pvC1pQHr(xIivqX=^#} zXSEGvPGwB&&qIMIH~Yf4Ny8CT=j?6V*vnMyV47KtJMtHa7D~0>j^~JL8hd)^Wnn~= zL{by0>c$f28nKQI)|cT!qQ{tr`ENDgpt%=`ktlK9WKz0S5L89LFNx=E3kOkPtgK|RjeCl5nmOLpn*g+?^eAG2FoChnKqN=lP#a)1zUn=o6~kwRoGEWHz; ztQZI~jr9K&*E>~@!9M=0CghrUdj6!F1MckCEK$Fw1*Xhg@q91^a8@a$i5;6QLj6!- zaSZAmblv@V0d7@AUS@+zKO89klzaY%(vO9$y|IxkgOM$$z2T3X(>c1vx=#>E^yMY| zL(~08Gh8z>1UNfP2F3nyeJy*2-M~7P{PkT=v{Z`YvipsB(4rFUWMd)~rzV42BeM|g zFA#?nndKH$PGU)K@QXvOy&QFpUTgkL1#q6KWfX^yfT!!u4I2pw@cUV0g|sr41b4>9 zY{oA4wwXo(IR8r>i**FYzL6*x?gWdqua*djluLkZ;@0L~oqnQ(kDaFr(C$PmwM{`$ z=HKxVOrcIRlRCSfAmrubpoMN)$RtPG=bM`3L`rKe^V=NI$8_y~hBU{UT6XdVM0sNPlqc_)k7iqu`PaQuXRB&aBD5`5cK zox*Xyv7@LxRjF+_6fImxJ_%)0$Nae2*DKZj3R=LGFah)9h|^}Lk?QMrP3WWU7VR7h z1sPr`zq${zrTbv85M@}ZyMs!35b(Wm-UKLPR7D(e_(uuJM- zh6j59nJj&_WwypgCt9CQ-?bCj+_E9B=U|JI&qfiXLFXmr^OCy1YJ zEW@cYRb@LNB{D{Pw%aX_bT_jQGCoe`JqbF1dYmP4EGVo9HO`6RtQQXH^I;3 zz=oHt8DNLgo-K%Vd-YVcKW|hJSsbiXOMV=26{p)yrPPgb~6=F=TU2#+q{Vp{;omnB+@Ro}3(*Fsv@d&|oi{hLPH zmUSD)B=r2F;OF;aQ_Sy_edBScfCAgT8 za;V4ASuJv9PIG(WI7*Ai{_J#}Rpk8LtH#K}^a2HmzJnpLF_}(oZ z?2v`#*!tQ&8iPc-t@(`QRo6%CCO?Y!=nP^*Mlg^ka!Xwlpd0##p-jdECqx(0iG`@? zA63m{S=UD`>eJ0ZeVItqp(GjGPXyvkeP8@K$G$AZ?^-n^@~}t1v&gDnD5cB;5$uRpF5`uNFmldW8zeriQPGj<1koW%6O;Y1b&P<(31Cu{O8he46sgr}6P$cq-Okm(!Y9Zp=4$CxOe> zF->^7Vw#R}oMwwco{x&ZrIG}(W>Erl4}0XE4>JU;P0;9tt(=o4fQ7WRSqGY!ob>u= zZgYaUJ3e)ujt;>>?wT0$D-m;MNTp1cR>T$e%WzTbtV4u&iqxO!#jHLzLXcaEJtySl z*_G>7>)>Y^WZ>gtGDL@eDZ``AZFj|U+6!o8LmbjH6(rV%Gx9U*-7@aq%KTldi~m8N z9d_C(9kDg}9-_)8=ltt)E_sLbJ_JKdiD#x+9kzVKjXyD;M3wq&u@@?`JKR29N!r@d z2p#>TPb=@+*~5)}r`T^3D6k72(74Yx4t2c6T$BlRs7}wR+4z@luBJ5SmTkd0Ua7zO zujxOY*V^LBYEG~hrEgI2{C?xZXcp7wHal5sIwfl=C0*Ap9 zdZ_@?gIO*^EB=G^dOp02u2<`;FRCCi-$&=X)(zP^?uMQmTgRCBGneTQwK2)8*F*=} z?5*sK<1$LbU-3$_(hBvvp%PKiT8G7vm6bK7v@1|F2zKZ0_PzzU)PtVs6PL*}jd#8) z{z~tQ=*hOUsIMXlnvNOuk*!bG3ez)=_bVBD+g5URzI{HFgv2JsEeNF=@``rKSFj;e z$_8XN(PJ^LSbb7$9lH&cCDAD&SN_JVqsi$GwY*E7xEJ`Y9fp1e<*@+;+c~3Bx3+3( zdv9z265IFsLUBkI&_;*%24>>4mnjnnjjT1kb{AFHwh8aAM#xspBOfScrVzg{{Q7z! z&_bHGGgPkrgVEANan?CDx3Vy;pALi)m=#d*Q+DStW_+00*G zW;x8rTt40v841_1@+a4o5ptu=1*fe~^&-YahO8kI{gfnJxIPv2YIq1YIMH7t_l#9T zUX{2*KV;?;x4Vu8rT%N+eAq3pMaeCUO4DRZ3bmv=!z4_zmcm=>w&rvV~`cz*uWZu1?<5Glg$bpMab!>)mIt5{1@lfn3i z_B7U9*t(n1H4)OeQFKOVd<}jl->s@Ucx$vR(EJ0-jn(e!Y!SVJYB(Ds7Ahv_;lRCZ zI2HXuUb4qT2+BfU3|;~y_STHN3kGzBuSjMoD8%xj9PIoO2Fp^F2RCYp5=5R(@g^e2 z8k;q$jsnm(H?n&TX^eWsgb2p?YJRf6)nqE_D1U`9RfG;R9{B189kNPtQt&-xjeedj zHK#4ghyl>WWlSGM+f4vPxEYh>XqB>61z4%phkr0_IGKGPsRSq_{Xo{38s1=4JyFCQ z`i-t|cZ5-qJ(luqffzcoV6Tu;!D{mxp9+=Q9Cc$Qb+Jqxtiicvd35DHAx3|r?@Gkv z!RaTP)}{j`v(tq|gd;-LeiK5uK+?RLbUJ-6c2WgD0MAXWaH-2_hBE({O2*;sx@tq- znskt%vDAkeR)WK`QLSs9zqC(*`KvWC=pGUN$EKA3Q0@NrU1AElNq~Qcz2ho1cDOu9 zr+4Td%iN;KvFQo33`};nA!ETmIP5xJ*cGe>?hp(Y;O(D$jHiUIMel=+B}&R6wQwdLkv64d1_z#EdvoHPkOFy;@_4Dak-5y~;E_|lYQ zjQ^4i5bx=bHWR(`A>)#SOS?CLv$wAQ zLq@FQLqNGOO-^uev{N>gC|u`$Fi$>BNlw9$9%y&SB?d*OIL=M^~`RScL7mO zPpu5yWkd7V08coqXBbc%mV%QC5dy(vK~>GH;Y&Fsvjbn2$dX}N;jt|inWgV8R&d?< zxN{!2tNP(kL%aS|&Xnv%PkQt#va@)AJSjl>H5fVl6PPvXa`_<|yBj&Gy(FeLK&dho z6JRiYt59Ft1F6m6j(t|P_nm%;)3m^>S*!Juq84TC$AejN<^5gOJBsC$M=MUZWSkk- zO$)%~j5m~WmzooG#!L-%Z0NR#cZij8PZVK2(3Dgu)byZC(=NwS0hxkae$>7|wh?h> zpHZz$nGqox&{A1IZ4#YFMl-;q$c4w7$;e6O;#@lajw$L2d3-*n`@=DK1ve-XP1&S_ zOqy{>IMUWvIgsxy$7FXO=uk~KIvXhORN@12Nq^!PV`DHZv!H;N3$#P&e-C)M|G6mm zZ-p^)b2hVcva+{RG;;)4fja2y?fwPlC#p@@ov@>>zfdE@0#4V~_MzRb*hT>GdqbfS z7<&8B!!`ZdJH>mF(b{N7Hn(@rWRTRW6LR)=uH;n~X|{&#c{E>`5)NrCe{4UNS>GmZI4*-79D+{^Ick;NnD3uB)#ynmbvXZ{!a zngSSxPbWX1G@M5FLvIu4RSY9h%xZ zK>q+_N|&9S1m2XN=Ap(Ui|iWfYe!QwtIv7#i9kRG?{9fDYC>D-LwQ7zSC0sJDOw#vd{BruDGDL9BOt_FTkXK*0&sYOSC#{G*CL3VgQLvisVXsVaR2mpMY}ET$&0Fj(Z>ehE0R1 z)(b=+t#!bga;oV5`U~d^b%$Q}d?j6=|AcGCuFgURlRV4aHIf7Pa7+(K#e(eH@F(Rj zD04K~*&vk{Z}?6~-)9|E$FJn*%s-OqquN{%3FH*Szmv{Wn(M?apF)HBIe!1_H~HQX zK5v!v1kltxZ%I!6IQS7gmI-ecCiA!mbFnr=*}-&Ny|ELc7WUPnX>y9=T>PoPM_I%b z=lLW?fb{;DGIj|w?LcSZDwf}*;0=4VpG<{uwm#F*4HtOUzRux%+h8F_AokV!(^Y%{ zhRCww!Q*?x`B~HExc1F$G$+oxmAe8vCEYU}S@0^~t~ZQ(x#w*Osd z@we6f%U0JkFYH!_k>4weu)4*JFflUs!b#YE@j%Fj1#veA8`QG(3^wCWRwXY$fQ<&2gXFFz+Ll6#c%-0Z| zh!ciQSa6fES<9o@`Cnvp%%42ox zb-U+IogDl!MI;6V!?XYcTWZiz*B8b*-4Q{g@M;z9rT$CiNBF&j(c3R3j}6r?5!dTPZ2VSLje-Sw7BA)LnT(ls+qFT`S1&}(#q*i)anm&elYVMf+>d7?bGx!FCk)2+#(vQ6Z zeYUMrPCUWn0A_LPK=j?hoh5BZ%XyS}TZ$xZrNoV|U#{Aii?Mok{i|ir8;f2Zw+(n{ zf^CYlO4uivq<{LF71YB>)~W%q@URk(luNg-wF%J?HQ5{N;7_tA`t1vu&95uIn-{h* zc{hZNVUn8Y4s{t}6CPvgRDf54H6?L07*iqB?dh~i>NUqXYXDBx!F!B3gyq6m4w=GE z!wmg=^q`)B7(n{%IQ56CzOFh}ZKi%BX?8bg3m|fi3j1Z{5gm@k(CutEDSW7nl2*hAx4;lRxLFG*^E(EU~mIRaMs3T)EX(c3A(0f(tg2#DNz}bN!KDlho7GZHb+mlLL^b zhp^xj6T4b-KX)-#^6KM=@!oktQoG9P8e8Uak)8F*Ay6}}Ik(v+;~!SLPzwFk zTKNdB$`zp^G|8_D06WHv&dDH*5sg{J^)!01I^~t^5}qV=?a25ogKG_^dUpd^RB#H2 znx-LC$FJWUuMHTj&mX}eL1o3xAdPwXGH&Gur`u*(57y|I9QJXAXf4F0Ly@A8ejOCj z;FLadV>nqAyggN{wcvo}(p`pk@m{mdLeQM^=e3J|6bs;0wUfaT`#vj0nUWy^7M#|` z+sr#;?UveFDD75OV<|Yt);lfIGdO+Ck!ZU@0PLj}iQ}t2uP`$|M zpC0K>={$2rz$z2edF_Pk^-kd;oQuP*^(66-|C6@KIx4W6%vpVKCj1`c$%qfC^ zq^u>sW6!sMgw*oq@QhoJdHIi`YOmXeQiDm#{4-_6(<(ZH<%65aK^>jnePTHSQ@>}K zAKbgE#2|YDzN?j}Cz(EJ7xJSA^N7FvV@)QoSa>pgfRxZ$y}vExk~Pxk5C zSRzYtpuD1VbD(de!q>^gqzZjWy5DHH-LSvvwZ0iU^Ws#9~A4dFk0QYD$#wpEunm~VA-Y5hKh zFso7L%$zE3Bvh$BK8oX3rnoxG@H<@Is4xuijp4Dh_RHm3UHUa78BiVhku8ADPnC+_ z$t;ly&1@8@C9g}{I1DU9Lv@ZGM80($W^G0fKF$&x$@>j3tQa>KQ)A`RdsfwVQ7O8_ zs=ZIeAA~ffYz2=E2$*i^PW9ZbxG} z@NKe@LVj^Yd>U44PB*M%FpC*B~RkJ-BM<15%etj*YbI^*Y7 zL(xnVMr`7QkO10M?rFl9>MecGN=Wm^48NaL6fT9`_Y(KGEVr6jw-6NIf@CU8*MH zIMG`j64|s)GxmmAs5de7*Xgbw4w4#pWgjqhq?Q79w-Imy_z42+;1g^OgnlCfo!+!; z829WMKF8rs+v+FeW$yJ{f0Dx{Ir}s{6rxys+3T?@KHpxkK?j>-#e#zvO@+FD- z)R8Ki>Z-$4;Ym|{TeL#9Ry9a91b7Mmb2B(7Tvbb|iMhHT0xG#2y@o<^|EHyCIpj`m z@d9K;a6nr#k8)-twNur^v$epeN)zA~0dYObZd^+HBG+edP}plcalL2TVucv5XCK0l zNq`^J(Q!C;$Ux*ir*|d-RSK{yDH_U? z&Mp#`tM1)*Tj2!-Pf;7{-HniaU>qMV&N1>VBMo_aZ~>-3uj#(?us>5aS(yOheW0Qz z=%i!VQhRjvoC1`gCkf(obiytrP&xEd*{*tc6p&UFek>KuNd zelnY+*GgrkMtjL+*cxUT@=fv+ml2c1( zfUUT_Bj67xLp65OdQ}!wIeVZ+n1Pn!w_Uy~uyRDDLd!6=q@v5kq_skm)0zlfUoN#9 zX-i2;|GnI{oXT?OTG-py4ST^hlngAw-;NqY24NXDLE4~U5hAPsCZU&t=EVy<{~;z0 zKOK$jZaS$S=$#8oKUZ<=J>BZLGks*Dp~v}!=BFKMhvnFRG1kFX`z4f3JLRDBTZx}Q zu6(!f`_zLARcF<;9BFZ=y*qdC+imIe*IA*=OgSx@s>&66<;fyF=WRW~1~hKmF5VsT6JITRv%w-O7IF zf+!9|1utR|nPS3rSw%05MQz{el?jO%8~qG{(ORh&gveiO4_?qw2KK5Ud(IlM{Y#Gk zH+<2P7Y;%z9EEoFNK5)0ve-o?>nrtwe(P5z&1@}uJh0bC&y#1DC)x|8ApShXq;$+> znUi-3Iu1^b_c(#~R8JQHkP!bAsc#^Au`38~kpIU5+kaOOwX=5y4e6N}IfHKS9HWPQHb^}gL_49qlkTGZiZnquns2;xRS;CkMuPg>dHzWW;KFF2x!R;5Jr&qcl zOlzmFVl=dFF;R(8qOq128-W9Ix=|h4qEY-X&+B}+AndOwG9lCexVq(MGpyt?r>ZB` zb^^pcm3PkDNpiMSve>XfZ_`n$nemr6%F>zpI9>@}o*V&{@<ZBP360!!LV9Y-#0#_AW&L#9-XXx4#=+_D~bPX@LYM_K$+&_^)gcXb=1f{QpYN zHmXMcMi42`Q()j#8aF#Hu`BTtEbKOn%(PhU#S&S|ieX~64zG=05zJW>nJ{SpT*C5om({_=l>D5G z)9H%&g-cXfsaQ(wypo*wmFbTf1X=2ZI*P#$XP-2;wZBf-T%Tl~bbhz$&jkmQkSa!) zck2Eyq~>z0cLT?(40|teRp-RvEsGY%9{P0^IKLv;I# zRT=e(g45>{SC1VWEcO&!SvaVd!!tI$=o*2z_jIy?q5Fih;6{=nNY?aXXma=1 zM^BIX$tVr_;S0gy#GM5flE)M>?;xo7QjVU#Da*-OLm%%5(Tm=Oow1`kR#40OexZ#VH*0J)ND+-M>ghoYCr^4s;uDUeAK>- zB|}@9BOUE8UqO{&$|XDxuL>H?#Idvb;vkC9&6O-sIp%yvnD(MCTWmcsBSmGsTXL`{ z?DUfP+s`zyr)TrwS;Ei*-I4gtEjl~oMzwP-?nJKR`^4pIHH=9XT8|eHo?~zpEd?0rhQp_QO1n zd%tfRZd3l^EB%w1*z=`hXrUOaO1iRA#Sgh%&#Fk=A<+Ul59NJT4YnqLGliMk<3}XB zlqu@EFGHhcl}xSKrnP%7RSf^#I5{Qe7pw8E=WMEUf|7|WKo$FV>G ztS4G{L3^=iZ7m&|j^CoY3-ngwSG*auT_A1#)8i9E3yOUMIgP`AoYMLaV<-Pcm_hn& zZe?pG3Yyuna5OSC`@`#>Cdk>($s-M3JfX$RkG;oO7nL?EqLHa8!BPi-ZGS5zSlE!_ zb>>5L8FG+S3#;l`+)W_jkt*nfbr_;tt(#)$%1rqf10szQq}{G7INmJE&5N6 z0<#_K-iZYoEe_3}U$n+HN>O=z9qL!wz2Zq|NxAa)WPp&6vcT52muT(r#$E|LWlD02 z#|+J6-#%{D>Upg6q+G?0QoVL*;Es|g0J<$a!RmBNnCy^;tchatVHMW0Z{%4-;psxs zX}rO=$w!qNK%$9(V`EY77`i@zAGp#1@i|Ils3(3rh%uwXDMi(4&0^FZx;JRyD{NQ_ zc=Fj^vwrH-zty^RqtWapZ0Otxrf}X}?cFZw>!gvH1U` zPbwf{LX*Fu2(N@0>s4u_;EOvnfyae-5qiYEo!E?zK@hUDiXJW6QRNi{_)IK19CSha za)jjy%IfNC6iSX37pGn~7q4CFZkvz;_>@}7-Kmffckc?Brg8g^hGThJz`k0+lUB^a-hDCZQmH76WF3sH@9qZRcT8`)_w?J%6hj%hI0UEFxtA2-$s?uvDnbD#CK=WBIg!q4QPj~L48JCoWB9Ez zl{l1Zr9U>rU@@j?bf*hyR;>fHz} z$9lk;_-vQCtC|pth0={}6_!;Vn7VC|DKdX{D6)wZrh^qzXbp~lk6xAH8tAbc4mFu_ zW|b+?59h8vm9bmp7xl1Shfd}@7<`Bk882jwD}*HWz&!vB;3M5N z12GUt!VDAb*w&t=mdvQmud}JD$ux>|FAhUGGG>!SLRlE)l8ya1emHqIknzG^0#b_U z^m-n{5Q?HM85TT=SM)*hBW18+=L^6$T@N!s*~*}{=zXc#POhCnM_{x2b%K-a0a4G) z|N2zBzJ&#XuJF@oIR;Al;=I2h+D4FjM1wZkDo+Q)S@8mcO@)DQ=ey}YX(mP+j_kg+ zt(Sv-uhyYSbtlcPnl}nj!i}Khl2j+ri<5n5;U)3Ya#+tSpjd;8tT$$axGgu2KkV9 zu2o_7v^wsh-zM2tQ@AijadM8g(!O^6J1i4v^K?uDxfwA~>hk{@mN|a4qceB32hf=U z{?)k|sM-^~%8mq@lqc8{VTi-q(bHJZ zeolSuVi4-4t@XjguBTUB&!W&L0_V}_D}BD*yaQxq#lqhlE>J2<-Hekae&+`Q*>{Mr zen5dcA>F#3OwQ;agYA;O^z*MF3Oq;|g}WvDzY(BmLai^AzsLw+d*by&EfEzg8&dii zY-?n0Q3-pJhD{F>^%*Antl15jITpEhy?OaIdCzrhxX9HlZ}rsnd-uq*!01yQ5wOP^ z<&&~H1ocXukA3vmusTS^EVvcv(WJyD^Wal0*Vg0q!gqs|)*3Q3vrGMSNb@-;Cj>p8 zK=O+?v0yoHNr;3>ol~0HW>k0(=GU<3?kKTS4t1;0j?dYu89wGgk#VY6x#kVfF*+fs z(h5Vr!s>;$ovo(ZEg}Y`0FJik(>vt~zsfBDn^gzb%JlW_{8RsM!F1>U;q05DD{ZrG zD|S+`Rk3X+6{}*~wr$(CZQDu3so1v7v%l`YyU)$}`XA?RU+nRYvG?B2h9h8y&j)0gObxLzS@^I zZV$(@$!Ox*t8`=BdYnwDcJGUd?_Waf9*(#M6do^>Z)0czSt1GSb|0xFu2j5fS09qz*@0B@II3vgD*!xZrY4o^PZKve{v=LObkrUb(CtQSQpel zh8$)n%i1M6WxTc*!R%rHl$^Y~z0V(LlI^QWdXf}b3t#dn{jUeuoO5Yc9oV%dlBduG zv1#v!AUrouUdCHHDgAUh2yZC?IZeEqQ?qcv=;E!dA5p_8E6-{se0Y*~I{$v{%LdY2 zQveqp@81$g{&&ctqns7-C?j{utf=r7tbL7AmJ z@+(3S!7WYLO=?@nY=;AqDKzYk=4T(^zKQ!sp;r)E#W-Pxz;cq-V(x7u$H3^kbTAph zTO`@JZ3>}G`O(FuC8+Ck+*d3RZ3=*_s{C1S_q*_hmBntZHu-}%M zhK84S>g@YyNH(X2el}?r!aB_Qe6;ki?mHc%m+#vkjoA&tyRhArmz;Ba%5CWg-68&~ z^lcw4Fuel&wc&t!r}|0#VP0XVI|KZ=xp;Ix5>ves*y-$MY&tXJ5ybyA?pvxGBfU z1{&P18O<3~w~kN@d2O;6xOPf)tMg$l#yJ3)STViV6zH~R)cL*&S*spJF@?+3r}){O zm&!AwC?Z$&$1NvZ5jWUP5<_-lSX10yo5!?eZb;Xa$X>rNme1;Y2TuN)}I*lx3;&$8OA zAVcNM$NR(k%NycWW1-4XIuR~7vkA8c^+bs(SYDb=P%ZH@&|ts}wpM0n*XG~xNbiXH zu@88Cp8vLcq6B>3(#Al~62LP5tB$2JvZhf|pmVgbv9vIAr2E$^WN-A3j){9xKoYQK z1h)P584l6LnlV=}qag5I9`@j{pa=_khkV@4q94Jqm^6P?8T8b~YeGv^EhcoYvsoeCT+d!dSxhA6 z1%>U0QG4iS6^c@c>a$@eq7dJBgW`~)UE7k_wZO8!*e>b*6=bDJP@Us|-w*q@LB{^S z`iGpXEvx~(rI3v^fXU?e*BIrmLM=0K3&4E)=eT(P@J-?zt_`-eNE!--^?VL45y_r# zq9G2;V>oHpqM0yu=@{m|@0M72lUTX|zVT1ggN?UnI>#;ERA!8-1UmJODrJ9IAUN+2 z=L7V5Xw*_7@*q+{<$-O*?w58}RY#+X3qu4Zn=qmagRDJzzR?>!Fc7MXLk2?zA)6nn zC`mC`o+}he$6cJIcXst5Ni}BpIYj|1uoQn>gX#OoGtE7ivsg6_H2V+k9T_t44k6|} z8Bdxq0;NjAlcR? zhtGIMQ}oYiD`nW%Mmo+2f8!4drV`24*g;>Srq60 zVaFKNI4Eks&~>+H#GBtc6BJYMrYwMkB9=4zz$!LR3GEqQU0oXo-_(;|h&wMAUj{DO zg&D!hT14}8b5KYrXY1^84}xlf}3^YIccfTDi}z#p>jp zJuFITUU6aU?a>ANWtSz4HD}UrY0JQtA&Fise<$09ZrHwRGG6~nb#vM~?7!Z{$(1BD zQb6{!{@ZB%-$9_xW`;&K09i;!dz=5!*HGRFUmHd0UQ$4LYvPzG`g$>C(irNm5%=SJNU}@7O{-O`e^jd67h;xTW%tbZP^oqj9he8rI!9gky&%hZQX@f?{R$FR(Fv@#5dtdKw)`(lT_IoKDlwmKb*C|h zKIe}1&UV!<>cxs56X3X5l5>QvSEa$X->U0>4kIlZ;^vn56_LOkXWHjG3#k0TTI}Qj zEgD}a7tFK7%GyDX(C){=%U?D=+!oZGt#wC zwb(4l^;eQ@{z24Q)X_KxUUe+8YNBWfqpC^2IBq$;GgR?Kn~koba6Y!2Dj4r zGou97QWx|$wM(U!=*u;12JE+7{t8<`?+8*R&7u{#ES2R5{e%?lz)A7vH&dvqgrW)K zpIyTPLf2GLAsnDx1rQ8R^2-OfCj94Ns=;aOU~4}pd71j%H=1!{dp2yytz_Di#!$A{sA4{P)F=tt-oVfFD(9Lz-Nf{ky5ctjFC*#5lP{|ZbMkZ8sM$mmJ_ z+SAIFkr6F#xaV#i>LzQ{!!X}0QHqOaG$zu3e+eD4ZIQ~31#drLp%i*lGF5M8j&y`D z70RX&*po&)8m?OJ?N&w|jY`Ew_R zY>M%KOb*+ERAGU!Vvb)394!g-5hgNhs#Z6P3Jb#0k^g;ArwWrnqg)Fqn+XqylDbR}h(e|mc7 zjAky{JP6szKhl$Fw2PLn9<05u8sSLMQYaDQ#o{>eMsOyt3;q;wlYe5<-?%|q(PZUT zIo9KmGZBwkJEvwTg8Ttv`sO0z?tv2{(~sn+$#BAsciqSrHL@7Y(>TxZ28SYq@n_eF zP%D&Oh(yRcDj$(Wd7>ppk#X!(XlpN<$YyzYkZT&JjTQN}V{exePr8e!t8{wcsoa~{ zK?HvB#&?nE;;9jW`CgY=KR#=)S0493EHH-;eJlF_Tq`u>fk2t67FUQ0-<(7rpN?=s zS>Y-ig26FpK{jAL`Ym-NSp>(|DU%YL%iXPGzZKQeN;=8<5~s{=a?zy`6|RMB{c7VJ znI?DFqzxxiQf*?#`-B3B=%I{m2X{j;GE^cctl z#O^n(8!{JS9YXC5XwMJeks`W%20fi@UMqOoRFAH4GwS_{(EU=Y;O9F+p90Exz*UeE zR(pg8HwJ_r)fNFtqZZBL2oBBr+z&Tt`ibxg+$r?6^(!Bg6&##|-$ za#7z3L*gw?_oRUMNa4?6AJgb%pwE~DxU@L z6o=sK4VEy-_|-Eq%_DD!Q!zStrH0jSy`{M#8D3^Bob^1kdQP0rt23Td)=gUqsV{W99B)HM zXjX6eK1&Y3-%M-01}ylb-Cdvn=30Ap^HQ2_qUTLh`(ZEV|=}9q|vj#=k|30!}71nuIER zzNqQF^&pELt-^smiZ|L)TJ>3&S}MW$ozG!Usr$7xM(Ie zO&gPCcP4!GMfYJ3~Sw!CHgrt@y zKq!1CN-g5<<8VbBu{u`;(I)2=d{f9auz?(Lgcyq~Ky^}0!@A_KVMOy9K3hKr5aX|< zklu@{zJZS)LtK+1O01CKW)U#bPp;9Qm9i4DmckG2gWxrlp)$no@@4wtlPSQ6&xhe3 zaptWe#g#rNf)IDccsIs(7WaEeLE!cswU?*g_HZ=%FQ#4Cn}*7!G-2mRPTGo!doI+? zhH<5vs|*Qx%|*LkKzjuYT2Ie(??m;t`(x}|uEyci%*NA2|MAE z^w{OTKMy^p9`2vP`(fx8SA5yqqu7I;|AHw|eqg9; zYzUr63~P4LaG9TN5eR*U`SA;x-W0Qry?=LTnbB`H^ptjAKH#htG8S90H7grFq{osh zf#bU+rou2U`c~$BFkSYsqtN8xAXKP2EYE)XTV;XpYgaHtFhsj@k;Z}#W3^JaBZF2< z7JEW`ci$$;^{GdeTjsJE2LboeccTyY@1LbZH6B)d2!fenC!JF>rV!L;;tIo>_F$J3 z3}3z=%xK{sadieT8NOs@p#|Kw{!aTY5vazA6&c$joULK;P5}yP=4sN*9M;g!!kgRk z?tIz0F$v`1ya2D|wd_#Zq5HrRSwdq7c zkf?ARarO(-qdk+6N$=ci*n+PbZSD6=uN4K7PhDX!&r+$kLJovGXcO5bN}TuYj)k+S zlWx(pRCdYbjqIk6m(|&-Od^|UcbMs?)md2^gp2Vko+tLOHkMCeG}!y$H#hjf`ND}} zDsJS`Ir;I{Q{lqFX3f--S@R5;&JvyO%`JAo@(@npb?U2!jzye}^#U6gQuU}wK^DhZ z9jRgnK=-eMzH?sYzV)!X=5)QBj6bwPg`YYA@imCSDv$Vlu3wY`gE6#~P)I z#b%)Gd>$Fz8%l7$${Tbyb(O#J3T-HUDWvV+_x>!=&gGH*coT3*$4h=9JXGJyCjIK- z9aZtgUttwnaUEX^i65HU{m5b8pyM4>yz=3FzsWJD|BR!js{D*WQT12}TncqW(T>h+ zBsxE{zJ;M%TgK*D(hJh=QbF*Fxm`gnEy90X7AL}LKwxNnE#!~mh9!p;!$+Vv8CJL5 zj%s}7adcvVUjUD(mw+fAGBBl{4;e%o3zdG2T_HVWL@R4G!NU5YPPcx54o5jh2jL8H z(eVeNv(7qR;?UgxfmUW+kp#&-m!>0OUP)?a9OLcB&L(1)pJ>%vLZR<_0elcHX*emW^?kmb!j0(2J0G*DZU@q-g!nDIk+pCC znH-&1kYzb_dq~{kh`lTyWtsGOHnc4%+YGl!tHL_$XZLK?1>21S+&uLb=sVA0Q$X90 z5d<01VDWQaQyPi+)np}hg-|-C|8P-~Or}g@6&QO$Wb<}yc5a$P_n+p-hi``&E-)UI z6UirnYgnaFhWpc$2E+_7mY!f|x=dpR8oT?0Y_XPUeUPk?z(0`K8Yd&jWQ)~p=3xa1 z()iw)Nxh?Mhz*Aw3I%P5c+nB*iOLS>m>gc>NEAMr8?GC#zcLmz%6}bZ+cFn9E0a6P zDg-Kj-QB%Xz&okIbk%0dWIbEk5tDfSu?NL1tJaY-*?N6-EzI-;tQW#sRwNcZ!G3m&j2J-YJrT~Y-*D|7>4mCM2@>lx${ z*PkNxV%o>!0RTBqcJ2$$9U`6t|G!Sd~)470zS*wP`L{Zp;cuL09rz~p}`eMZcfLdCE#h3H^9D-`uu{snq6N3WOvc=o9b4V zmmij86@B3`H_0a0ex;XR0wEp#cXt6+E7cFzF75Z8Z@1!&5(6!KH0@elgGpKE%oSL4 z-%Mgo%YRv#nN<~a``o<#`TERpGm!BuGyC4zHq1<*ah=6TmNK9x+x&?~HrXe@&Da96 zSXz6q5$lx5eD*_L+ko*%&bnep+D~EK_wmX47ROfk_JYj!u?dt0<$;^rpsC6e!7B8y z1m>q?_t%R+;_G%Z6^s}DZ&~#Hy>E!#)hdu?GBYrDlWPYk0IR-CB+I7yFYn}KfIEFX z+8?|AqM_h9?^_`_=p32u530PA&yS^^tQwFyc~_-N$O<>BKpip=wWcvtDvtf{=CV!R ztGVwp!S)ew)pCXAq5{-WME20$Q(ZJElMH?@l?n<}X8S)&!ks^MA1an=!efcjYeusG zv#DkV&o_t#fi>$0U?~QU(1u;e5*g=$V#SV>>t`RJr)7AFX&L)b%z6-=5fd^QZ`oxC z2k`Y%E2O8Zt5PVAKYFWSdz%F=y%kvBk2(>eJ6V;{z4-xhr0wxWRxz9=c|Uv2GV)+F zLGoA3qy$p1P$p&GHd0Tg1(&zzNe#;|KuXKQcP|x+2TQ+=;YP?ENhKEArGrBkAn8(^ zfAN3z22FGTum3^Q3K!<{)f#&pv8Cr5^T}@mrusv?*w=!hp(8iZXF$x(h+ivY2E^GQ zHV2hjTget^4*`)G)lzi)>DSl7qT?YhX);r4dX{koHwyOB4ddi>N`jfifLGYyt#7cc zomQ!X1~k(Wz%fyHXGTZMGcn4mFTJPT>CTE{`5iq|Za^1#q4VT|7zgjQ#6?(394$mR z|4A79HXQFmwOc5Jbzklx?(*=SR|r~4*QDhxfPM8o$ceCIXI8gpAhnyi*9F@=M9t*U z42e7slt899gt0;qD^^TUG%j$5z^`pUcR~uw^4I#t6D5&?oL)=HX7e4p0 zweo47Y>88v03iv2gKwc2Q)oWEpJFi9&#{=5r(PBnF;ln84hmCqu~4@uSAHm@=1fuW zN^EHRgAQRgFU_)Uzjw#D?m|a)sjyx8zRmYl2`-0----UoPu-AUPY){D-Q`q4v_}__ z!1{%Epv}B*GAN&cm3t>L_phMvjz~SoJA7c53qvjjEA-{lR2*NxAJx1@Bz~TCd)_U4 zt_hXFW$kPN*w!Soo&r*E-`6+Dp z);x2m1J{UbG4mY!iU#I3CCj0{c53OO~N%Bg^(4b+Hp;5 zIZlsln?iQhT99r(Xz39DHiSpE*anTW+T6X_1a_U<<8sh((XXBrI3FB{=b@aDEGyCl zEHiE?gW(B=d;eWSNqzkneKd$F*O^C)yX7ME+HcgxWn4%4sbmMsNvES?(R77~k3tFj z`+&tDd#Q@sHf;Qw6q#cQ?J&HTZp#xT=pseHab5c4x$;`OU2xl&wUmad?u5?X07Nwy2lOvmT`uk(&qz?JK(2^S1<^+ zf$jBfw5P_^YI_cCT5HB%y8e9M;hCWXmvyov>f#b2)Gz6uUV0sC(7nXB&8$7s_Aj zwN~zYGqXk_`Z?bxCF?-f_?+060YB-aI)GDjCA_+&8`O{sdX@$!MHuWxIKE~(M2NWL zH`Sjuz4iG!JMlnG?2Dr{V12NtMr5(?cmC)R4ojD+;a4Y6O*SJUG>pBd5qO33P_g3` zYb*WLlPV?KQevch6PlWfI^x727?V4v-b{TFgER|&ZR-p}`5=Pr>{J2slA&zPb zDM)l=JWbEzwVA-X3^9%+;(Wf$|cLd5bh}twn339%KS9?Bi zwbQJ*H9{q=8Ad(RRJ_HMzsR4gPsFq^3(rR2Fk)#~PVBV3c9>PJyk~`{RhFeQ9>5%6s$fMLi8{reT`=t(RF_Mhk7Z#=ewQ$b zAT)^8Lv`gi*2$Gr-du6}J4#P0q<>LHI(UsCwS{7tlg38NE$MADDUWs$dF0}GCcKgT z3uSc^-Op9JVeisv?82fJu2!(vjasPwPI|&Q{BC<@?%dEvBR!e^In_UB-cn0_yXl^% z;f)QU!0-;|gcmgv%&u06sP2=(p8*e&2Cr1FBVP$J+|uit+K6)p;H6$x82+@$BK~sEUuzrl(KdT8d#V z$Ykr1(aE(b+1Kj%5M+hxUc?o@{A56jj*$&j`vrLG9Kc7`IhuvT{t}c>VP9HaIKy%Q zfvwEM^NGaK;7$!B2+#gYP(nTiViAhdj#2{l{1_Ua_&rA#SV$qhoIaU#1z?E7W?$w{6Q@a@Wb;i zMi~Z$xnh-y=s_=GsyFh=ZAF#!3MjJ6Xy0tt?l8OL6xz<5N{x4&57=iO%w6m}6LIQ( z>xb^%h!{Ese)zXpx$|Cm$E;R52mJKxe&2;av<*p@Hqb2u;AEX`dR|o7mvRk4*nM^ z+y8x_#(;Cx*ZYSKW1ymz43X$}?N~Ul z6^jNbB;g-h1MHfFXYyWCr>wWKzj!=`QUYL}H^yXez#m;5KDPqg5?-w()w1;q0Mv76 z0QI~Rk+POSUQhy=6tGiK@hqU>;G}QoeWTA4 zu$GrY8HO}-{)45kcYiQ6@0+ONFT^u5V3MUUJ1}o0Z{D=ZNGkgSCearEA<%D!{gy)u z@lrJG^+J79c3X6Eonicl-s@pA75l@TFv_&jIw$d)D+c3!`SJSee&yLM(LXVQbgIh*L z%pp|EQ@3{{lH#AxlxmkDjOPXv7B0{T21ypE&23VaIrk~pHn5uGt1yFR1` zPAf9ni6UfH`_%~Q!Yh^Z5*|b%Av?AB&7UcKlfSMJNJH(;h69l}#)3x)<25zGC4cOL zD01Nr6UDqZ9d@C5%v6=1wvuJU;|P`ywX)=2-R$tm=9L}a?3{VKdwrp$pT4z>gw!l! zSj@j31S;a7HgvDIl4jS#z3sXcp_6FzgT3kJjz%nTW`@c!`etpIRU3>cueSojP|q*P zq>(7Zthy>KDH`^t*+zl!#)X>&Xd;>vDO;?{u32jefhlKGK`sdab41uS6(FLHFsol% zw|C34TInuju2M>qtoeJkOb?SZdFv^~s<8X8is+OGdyS1&+AZzS;619Vo?lp6YSj}+ zymC1fSPH4?Ub(v5nz3>|8N4%p*ws?m-vbYt+}0cL?#w+Dt|zkk4H5A7|i)(0SDJO1gMl zcRSW|iPC@4uFNXkJ7aE*eAl@DP|)UzyeRUF_^Bt^fqxpuk`%`_5!sT=rbqzLj4=PW zxdYpAFN9J9HnQ@)32yxC3(g$+B~Q7ur)@FB{vJa54!Cyz8Mg!4TQ;hIm~H-Bt%v_Y zBC-Ztx__yc(f#G5`wtznzlaU%>Hx6^5u~pvfZIKUCQPVA#v9rK7*0zYsFOUQJ@)-x zI9K9h=laeCd{L>eZ?}j}jjVktV5N4|aqS*yy=aTt-sSWC@N34zwu=d9ap47eC!V=q z;TA6STi)6`3>7%(HZE|14e&2qpUzzTs3vITjp6ii_5dn{JeXGB4*v4Hj(aJ3%(neq{<+QPXZioaV~In+}Y#6NKbqIRC!b3qi;jbQAY} zyB<0{-6=RQK}Zp{1K*;uSs2!L)yxFy-Eu}*E(6~|-Z^N_5rmq4HBl=DvG&)KVpKfF zobkAw5d5Uw+bXgqe#?AAQ+Bw@v7e~BxxW#izR6$zf&iX&9ZLlPC7$`L?U)gChb5p zcZwP&vTi|n#!qEiyZ!M+1*_JUdjfy!NG8A85Yw&Vrcu)vewuc*xajM#gQ1e|sob947cN|6 z3mZ9!wAlDfA;N@W#Ms6Y-OKPy31nZuPlz|R2eEsY;T3vKO!tT4y$Q=%A`wJ5mPnKo zwB(-ggU(=yLKc;MpXq&Ro`b-jmdq?K^w#tBsDc10q6r1!sxkqn({RoTy@1|Na!PtX zGxdAFOh`&814qh|9WmTMtxke?<^APWcs|qpX^NYvx{l6~HD*0v9{aW=EmqYsS^^As z7po(%FKQ*$$$d!BMkmbQi+S3i^FIk@ujZw9FlSCeT^lQ&;tvbhSW2UQrJ2$jtUTvV zdmS;9+dwgtl6JF}B2)E_g2+PM-|l`ctYH6`=Stf}xJ6~T%X*WYu0#2b>VhX})Dj=z zEL|r3-NeJCDM2_FhC&l!m3~I1kK6=;lnj;l1{MN>OX4ss0cWdmxQDOQnUbHBBVvAR z?~|Qspe55O`L<3jy3XIB6{ln&0pSDrL_L~zJIOpsyQT)McB%!ErwY`QG?&pom@5+pjQL&Yr|WQSZ3+3MiaC&Lqa*#1HXR&oA4b z(BsA{qA0Y~1ukP!z{rCjKjh34UMs1QM9q9)R^=J}hhl(s+LlR8VhUh%$Y;Wp%=o^3 z3x`eNuP-iPx!i3}kMWov4XCWA-aqA`X0H%k9DRI{L=p#!zt-0u8Cx+?USXja_~+#ZwDCOJt83 z^I6l!gJDsyosq40w7iUW(lI_Qgv)}x_io=MBPJ+}Mc5_Qho)XBMZ<%Qzh)YWc@54NH<&p-J>9*dMS9 zYW|`9L$|9t9hCq54Jv} z7lCs^>>)5IR|-l_+V#Gd?^zGf^A~|1^E9(tK6AJe*(Di_)pAA>a~PC1tDT##cYPmk z6T+?netLT+-)BN*QIg7aAG(bj56-)t(lrf8R z7&LRq1b8ns?{n05bgK^>O^6D{mHk-5o+-R2y0&QtcTayYXB@PoV$%7o=-S+^JwPTK zN=->N^}2pyxjF#9SIvaCk~e48vfvJT?7A9CNM#_@27@C}!D_mLldYvwqdU2&2)m@+ z_Pt5t2$7R?PTTk8m;BDkX~v%`aWc`*R7W;fYK^^2yS1{|6Br2308!PVrvOL64=V;y z8s2i}Ip4>@;U=zbH%*j`W?=}68>qc)61;6E zfUUW4T2ztug-#IK=s-q#a3u07xe%|SMDBeyfnBB^yFDmyp7zY6yU ztbIIuyrMi6lMEGfD_K<<>8X`+ao9-C!x;kUSu=C>PB?5|B2>IH%;eJ!pC zHSvTut^t{gf?vZ*&GV@Op(6TF%oTIcJu=gk_G>cV@Q2gH`1|^>jU8lX#r`WvyP78XQ?jtDT!*>Zq!aQLiM^tdZJ8ZMDBu zl7kX0g;b@p?SNCyMtwh9HGF2?-^f2g$>2$Ds&@wDBtF^Z(x@S>ab6ZQqF-?u+zG!w zl$gJ4X?e~&kU5fBJ8l%~ghMtJ2Tp9t;3o3rt43*QQQo%hFT_m?B-ve|NN-AB5 zJU)k)R|||>JEdO*p0_wzMR5%|e!{_-CC->QzBg5fakDq)4vbCQBfYki3DL~8)V|-o zE=SJ`Yto8d#i93qqJqCmM-}SUWp=W{$-7*sjYTuknB_)CaAQ>3`_Mb-w5<$y{ldJM zGQ0N+bDVW|cj%NVv?<|k!`_PFC3CBsM~_NiCq#4$@;k@7n$C#Fk{`yOrRFx@tJ|f@ zcOK_h45GI4kzjAhR=Vf=nSx%^A-6 z`h{V)i+I;`Ay49F02Je-ThzR(u_D({vF=>`{E+aXx{=HrPjBI5ccJkrlz zbhDMEf4){uk$_JeTY~Q-o0Ax>d7p!$Vkqr|W6d*$D>NtQU1@VoFZ2?h-fVCWP*Mtf zwUD*e*hg99I=Vlcc(?2D$#`%kcqze z*5KwplpYjFIeZ+z3?P)~?`8o1Wf|b#r6=ISzbnrLjY(@9j`;2~3Seb?OMbP>hfUZH zY%IwJG~J3O`8ISfM%A%W32UQx4nxDFdTh977Vy;W%YYYgG(^MCq;f;I;m1d9OB5zd z#K;^v?^MoUH$C9>*5M<_noN=BiaS(51*-NA7*g*0LW2tGfZ0mE+$?^WkIVNdHIPet zJHpyXMYC>0SsGtkK7PQ`Cg&2kIIY>Vxr1n+_HqJS0lPJrLb6!Gq4EboiH_7VlVtbO zRr_hG*}}*V`!_&_=Mt3X@Oh~VPca>-$ZlzOxxE4&GruxBd&7|FamBr09>gCk0V^ts z2Ia=G_eV;3heXq@g}lyxj>763z`Hv*e(HMD8P_mSncf*kRA(#?#Qu$KQyOG}ylAVQ zJ6Evb*Pqy*HfwtVsm)=*P|}r1D`;vP>nzvq8O5p5sCFTd(4r9T6Be@*esIZlP)^#= zSLvLs$gy!VT-B@ETqwNC*@M??hRt|JuF*bx>OBDW3g;g8R`agw+9Q83_X6#-=*o0p zug6x-jJ2uNv%(TOKE}?~96E<>BDb8yN^lyXp1hA#6m`&P5u z25B=S^ma6`h?LZ#cED|1RA-?KQuD1w%C!~Cs-$_YDl%&16!Sx|AZVhLUAd@^tK0?q ze$({#HS0*aEGMVZlq3?+F5S4fGZ>?@<<06I;~hq9aMlvWs2gaM6O1w6K47Cq71FWYPMq#C}i0fWnO=qfyH;)~#srGa@e5Sm-7V&(Bjc&;a!%-gx; zDfb%n@hWqWeR1SkM{WLZ{&{iQ?MyM1+T>Zse1+h_mR>O6s$)qX^*qtmt(IDH*fgAKsjBO8Hi7b<%vYXEsaR^~R@p&Y^*hA;q zz&d*BDx_HUDTPVVA@%`1YrLx*COkB?#WP$zocg3OWoF6ma_Aiw`t%*EmGBCfM1dlS zgoc(dw}9LM=_rm2qPY-gpfRGJ?pu^GWcDPbE)G;`I~a6&|oHZtA3i1n-f zsvV?JtQM5iYfdr3yYoe~=~fNjNfb5iZ5#ujtZU-}{ZRX0hiAu_Z55}%Gd}OvPct2W z4H>?XqMKGFqm?`C<7+ui#!8MWNQbHMh~()xD?^N@%Vr)wi7G_Fy%kgxTzV)4K^;te ziGBV9j$nf9wxOYAl=(t1I+7<9XUz2qL)S5O&FOsw7tUM*8cKgirtDRC+>xfo zrP6)zDE|oNu|lHS_hMp0CS~J}muYSrhAA|1rhs|^Z%&hGa(q4o0r<&A2R&Xk!U=Tv zR(5^M#mJ zmdJr11P5S(>fBMj%YybDE-j@s7{TNP)Z-0Cm(aSxeupEUi`2Y!YDo^?H?&Q*(MavY z$c&aWxvkReKHJYAncM$Jt5E%VnmJ4yOM>pqo~~i{kO(8=WCFS!_GnaW#&MGFwM)EQ z2;H2hYY45(0X+nzoE^mbTGY)o>qch=tRySCE>%Krw~VnNWl^_}Y>&geVs?t)w^&9z zzIe&Y>vc|z~Xt`5YmK(E|E;(23tp9-;?F){QK~Q(%`LXbQ@T*!1UmMinLIJ4D&>A8HG;eSUAL?YXZsCLJxWWXr3o`+jtOxkkk{C~YV<9$k5>qt z0jr*~DL5aFj#)sUh0^;L^Cy=bMER9vNkg>hxfWefd|(l!WHm8*Kf?ltj}lYm-26D1 zk~<~c$brDjXJ~C&GxTeB2N@johA$E5fgtiY)+Weu;Y79{NirEbp8yiZ3@UIip7sRJ zO#{RtOJo)GmVE|`0&DzT3Eb!C2AX_5l+xXJ#blLJh~g*5TrAXG6~jflKhwkt96d;U zUvCEZ+}rW_-U$UdSq6)WKuiuc#?2C~Hw;em<=m%N42^fJ+xC$$rjo}Kqei@WnfwUc zoESZpPq4~*l_~w!-RO+Y$(E(u4~49^o*ILQt%9xL8$3GpKh8e~;T%xdvkojW^itr^ ze^Zu7olv%0z4KUY?&m@6qmE@7_B+K&lz*?@%ugc~0y2T3F*0>1iPCxi$*n+Aiv6Lq z9F0xd(sV2|_*is@^h1f-4?Hp(*z%X;xf{cjmmWN8ptb|f6ZX9^X2TXYm@3~pCTB-f zAI%XGcp8`>`TAl%FiBb{cX^(FgU(cFk~wz_2bRnq^*D*Uil4cAoNIKdCUcjGIzPeQ z4(W6{?{KR%+XwBw)iVf}`nUJEoe<_g$Ap8vH_mEV#FO^GYg4z+N)|rup6rIGu{9+O zTbCNh@*|dcPEv-G5^OF zukh<{Sv((|7WKj{5!kDnUSRjTwW&nytcnt)Nr6RBjsZg!49F>pNb~(kRtDuO68>jA zu(~mP=#iP{fYHVzX7KaS`3yH_MDaOl!3lOtDY%?Ln)i3Av5te}7TuDN^Uz2smW6#7 z5^cWOL>Is;?+>yb9@lh}bdllZlq_X|QyAcsZww9T;`R=_ZT5aFg2kIsb9gz3h~;&f zn&$LK*P(*gY2iaJG^nD8ayjU1pnt_RjS^bQ#v?%_JhmTWP21HmT>KmnpL;7NbskFW zAAY#wOVCV|R$&m&iI*Iu!fr34$mqB`UGd8IEUL6W{CW37p$u|oc5*V~>1b(*Ppikr z#qI9$^t9yc+@O+H z;M``tM^`HphDd3Io1WH*vK8O19h@1eo!CGz17y$; zTG{ETue*(t_xF#O~vu`4q2W;$ISvk{mo7sHEpJamP z!K+9)0|n4cX62%?+fVR=bL6BrVt#X#&c|jdP_h%w;0`J09n&SUxn*frpX zLr~`Uwl&xzN>MrC>d{8S4Vb|8rNEWV4tp`^9*5L5mQ>gPW_g~hZ>t?-ol7X70s+z4z=Ayu6Gqq@@_wZOxN zMg>Nlbw7na99j3r!TB@Zl07Qqkg>MwG?3Is_oQb=5Wbdo1zA-MQ~=QgRL4OZdP=YD z!|1Epei7M;WFTH%pNm^8DG@xxaIa)Nzk%x5Vp^Hq0g=I@DhC3~_bnen?e^yWMIRo^ z;-E}W(q#n4r`T?g2al*|LJ>xjgI38%qQKMfvjYUokC?*mRTf=oX*R4-iW=qPSfASi z>$T!*Nn#KBe1h^)pqH_|lp}YrCceaFywh~`cda&tK^qoo=FnQZqHv=J0)93lI4*>S~CkQfenBqqb|Lt2h0H6H--fZ|!C+Yz3HT##BOQF}= zU#;kIN4GzJ&u`ew+g886-FrWLb0d#)12r^ar@ixTX4Nz~B^;yp6=DVZ7c(CNADbS- zK1gjQHS{)}_9|jb0q_7jvNN*BTIAr33h|cSYDI|ifH@H4;54%jI#Zg4@D*Ho7;*2o6ss5kcg$8;Wtfx`Mq;*}ghWbntn*dkhfpRoKoyHa3>H9uGb~K2CG4u2x2# zT(0Qo-dAzuo53uWN1Objq0CVC&c8MqWEz#p$5^WUpLjeHPt_P_)Xi9Z89ZU69D||U zZjjgf-?M7|7?P---+EMV(x>cY6AEPe`JFE_GeXTkwHal21Dj#CWa9)=c-*h0S#`klJ$Wzji{v^_Zw` zeb4!NwV6;SDOytoxhTxrYG7&fWc1a&x~f?zO;V~lU5UnS29KrYZ~M*v^{&4xqN= zbbbM50Q+J-lH+S;D!?spMEYYN`AT?1eMZ^x=LC&r{Tf~?Pz%n)29#|B#0O~ljrI3A zJGvGLrXoyO&HG9v^#IJIb6YN>k>*_})2sF4s8f%J^Jaz7s5uZ9%ZCZ!)a0pIWOYKg zodb{`E)%iywayN4!H6M#Gjn2Ck~Mc2 zSGXO)i&Z=o5KS8eTQKtZiw@u?%;=t8uiVKra*ZghDB>iLHOjMGc(40eFCZUh#|)lT z`@qqR)g$tM^%GA@jo}bowOHdj59s{XIdZM{8ck_ItkK(>#!80dZFy$WOx!mg`~P{L$+x=#72h0kYcOS3&Ac@6J09z zk{hCw9R*DnaFo}tLY5C;Rhi4T@iCv+N`4wV5ycU)qE9$ZhV+7lJtVtYFnqz#p%3S>)LrlY&^;kuvg9;#IiyaKHBcO8oz^TMws)ABDX&7=$`hL8 zKV3Rm^jy%S*lA`jL!1Jbpz3LOdnbYN*Qjqky-Cd`F=M)}nQp_EgT&nfEF0!FLj|n- z({r27BiP`T574wHNpW-U@ERYsMdP)Y5Agj%JzBr5#P7QU)3ACp=agmP{2$idF}kvD z>l)p$QL$aI?Nn^rw(W{-+qP}n72BxTsid-Rp7(t3X}8_hzH|QEe{-$9_FA*eImR3l zqxT*fO7R38wig`K2N+PG-kYCNQiT3%JpVDj&ORrDgfeE~`4Q+4QgMAWnlp8?>&f!j zz{iMUek6l{t$G<&=Z{q@ZZ#lu5A@eLzbvL;%qNESVAN(afn zeu<3hK6SesG~7@J43{n4z{a1<2|6OR8I?tQCX7qF+IyLwo%DvATSMGq9Y*zX*5@UV zub1stTZ0r^4>#!ab-U?p4aAxM<63`Tgdxrvv={OyG=-j5ymr@=;+imJdkbT9EWH}j z;q}ApK@oS&492R!>52hw5BqAa@F^|}R7i$0c zY^2=c-pXO^#FS{G~X`5+8LXs|{1gBFT zZ*r(KuCso8Jt!OD?zInZSPuAlxp^JYyX7x%4#<7EO;ow2eh$j)vke=9q7&rsghF`_ z1B<-fI(*#TnYZY!-Gl{CfyYE=I%%qcwe>?Vl$KOu#j=+!R&s}H-b?v{Rj+H0O8U>U zPc?(NU&QN*qIt-%a#ta>3}|uKu|@X{Kki6iG7LGXN#NiaP!iv8VkIV=U>M?)rqJZ&>fJIPJpCq8UYWG4e7*;FiPGCn(yf5X?N9q^O0AQGFt zoA*W*6*lP%Wel80gD{35+)G0zSHZBCXL6Sd%PQf6+>KFUx^_6adqR@&PShnP*m zT%fkZ51StPhP_5AWzw(@_qzZ7?KO-&%ABX!UpfX~q23E4*~;5AKVdR*=I1#&w*ZW{ z%h7@dgDoT}{S~r4ado_FJ^|Xc4vOendp({gR1HpcohcrNP5T)If-9bKbV_=K?LhiW zuwV%Ez``i%e8O+QXmdGBgX9`D&Af4HbQ@hXMi%@U^Xo7hVSgYy7x%(T{jo2qc3k@z zTc>TZo3o?^U)u@i$$s1SNKpw+?5@B z-@|Ge@ai48Xn!6P>|7$}!f*OHsywZ6BM}QTsaF-4({EyrCO{*Zb}lTuX>&PP)D9ajrHR$^9S1Iw$yWFsG(UnzQ@TLV(%4QsWnKt<-hk7VS?OQIG+i> z#Fe6IGqMN$J>C|;@-@klY}It=N?(g*2;1?~VY8pb;=OHkbaHR>5$j;6qDgJ}g?s~L zLXd2->vT!@(N}F$14%)0{W1hli^6ytjw=VrI%+yG#>Z$;JYgApV0y>FRHJQk)FQ

9o#t?D}&CLO=rUD*I4)iuIbjVNUoH5L-Z0(v55DDkQUJ2?(+<~d+QHV zW2)+4?O9dI`w6G%hNlBa9>n;zj6DIJ`TM&EL+|_6y(IYy>{fyW92bwrpVA1(^Vtt9 zao8ZMS;YmvX+!B0>Gl{W9JHYns+aHRk}@TZot8*jt3*YMcQXarPtc9u7CF}|vq8AZ zDR#WMfsZE$Lj+%9379T2TqS&z=EVsX%0=3!W_%5VA>jk*->H{qeqT146_KA0&3&&_ zll2{2k$dSPkfWeVr78%w5i8kB{DTU!3_m>(ZN*%;CAAe!V3W&81Sw=!%-OfOWwI@^ z7@6CWw36%uzq^3;-GHl;ZEg!$WoHKUhGIWc z3-p&>P#*lubh2U<#Xe%^+--HkY@sx}EH6RXx@_g>#e_lfz@uPF>sA@Dl`2Fm_zFy`=JX%%x>`HevFFp%bnUu0^SuwACmrs4ctAU^ zC!N6=-6D82GjhCHy$L!_?EaD>oRjaDv@mE*Qr*G$vPbC%BU?yH1nzHEqTxQo<4j=j zMShDeL?hX(8K>>#(VinKNv5n=tHJ=YV0CWo@ZI!Sea*oQ;i5r~+?a1Akz}tLhR^4}=$x z7Z%ykSYmce$|13;lVGErv`7UinPwX{B2i&%oIVpkVo|gyL!a0L1Su#@XAUa1hq7@ix@YXF+H( zP8#ZSrReeM?6O2!kKH+&CT5#d*10rQ{(>DIx~O8rTz^xsWr;Dq$*$19shwIbZj2GT zF9;mT5`)mNCn;g;>FOBMO6=$row1;8OR_9~oy~?%G1$&B(XYF<*Tf2<%(4IZLrqLa zvWAd)^>$gp_S-TNY_9@|Xt&~^^RFp{+g<+V6$U|d1iW@GFN-QTI))rZ1PPsGuq4H?cVtO_}=*e|G^|dh2_rZ zf8x7zmCe&g*7JMDh~rt#h8;9BZvF)#Qj zIDTjoaN)SMLx#rDJ3Te@m^1lj#v<_3=k0~o#%4A+7LJ4B+w0F$kni|jIOR9$)Y`>r z%{Z)f5FoHAHjgtbJZ=mo{2hyOzwBwR^iWn_%J}k#F3M$nc9oaj(Bs@WGu)k18kQ1qhDihZ&kp zqzXw_mLB`|om>^YH0XM7v|II~3050x3*T9^Ahr7&FohQ^|@8zMR5FKgU^rRt`%fi!u^B z-J}lLuy-4rp7r$4xsolv>rqS%P+4*tYgY1jH{-Kq&%c}Rb&k@oGOS=GRxsbgP08_t zDj6LcXI}8*bdmWDP2j^EDn||*QeCf$U`moyeH|Blt2d-RjA@`1aUEd!o z=Vc?tdgJZj)yBf5vmt|B;b5A&lml~ZX|bt`vj}T zLz6556IWWc_xshekTUeCp`i20k*z!d#F%M}+O|^eECUFqo*YQ~M_O_7YF}`X(H3cB zc~_~>fvR1#7DF|7yCHrAIoiN$CKmxt@qFVov+B~qGpECPnbN=-$kXljE=ZHA?0zY! z4*#@S$_|n!Z%&?WI1F{v_f!A-`*)ROi~-%5{*uIZXyQIZ2S{-JU4m;65k}&A$+ibX z!P^=mjNg|h&BU_Ef=8ITGDPD()8jFo-Tv(@s4B}x0 zzMYQdPq}w=xy^8g%W9kHP|ei&Jn}XbX4t>#JqMpK&L$Lp)SY1D)2kMUJ(Q4Nj-Wyv;!` zv3*b>hZ@jcDi<1qgFxubk1NgBX;{4*D-M30^Q&N)p6NA>xx;_k?t^afjoTR4-yg3q zRCRq6d$eQC!N92w;3x4^(o&ixHQ?GL>!RuNQNvCDUSKpz-dB)1AUYUAG%$o0%V^^m z9`WnqwR{U9H!eCssPFEQ+W{D3ykB4leV0!lRrh-L_CQrrj*XM;-SFa=3}G&W7UxSjj#qLtS7 zm}MOaZv(no^ZEv*Q!oQZ?j#n{X%L5B_Es$U2i9kw4dAhd||1w>Nr+`1CYzI zd>>c#=+;y)P`qakk0RK!b5URzrGix<=yW$rpVO(xH=|=48Ulq5BqTb^?y;N9^bhw1 zr|d_D2^qeH`V$>{LtikE*F@qY>?tXw7n~OG)b}aQV}!U+}jdv=sbh(WLx4D9)b6hbf|DhC$M8M zu{zi)aTBj=nSRdjgYUL_gN$RbZ|hn)TbH1Y-z)fr*wVCLp0aO8cS}+u*%gBfy8=^NXqi{(>wSl`pKc03kR%8jHovg*N`?==hNA@u+*Uz)5@wol+> zNr0Jo`M{Ma1M1T2(Qfww=2D>IF{?KlDz4}=ZX8bN+mT2LjSaFP_ znTB)NAR_&SKD(yiz*03+WSsO3S$c62VPAKiv&BQ)f^Toephjz2Od+^NoqgsZBP+c| zBQvPbcX-&P>W`j>Z4))SK#Bs_Z$9|+Hy8-<{!ipB4W%~}kK|;P)&ei(HVKnUdnj}DSyH)% zW9HMBe$GBbeffi+hMZ~lTSjCm-mv3CO?gY%e%fWu%^s=lWe}dYYyYX(&o!=)g+_HI@^bFoVPqR~A<J(NZKP90>~B0t6+Wltkm1FZislfNasT!e{XB90LupDp}&?f&mu8!-NZgig&+OuGg9-O)fjhW- z$65#ub2TkB8T7CCmjWv4Ga+d4!zgR(yppP|4kq^$Wf~t4` z=|DwZfXF$VD&U`ey#4c(uLq;x%kI)acMj*~$oRJw&;LADgR|Wt%7om=btCVAq9%|; zCDYa4^n)dcM(2$3$A~pvGPXxfS0yRtvWqIlT3<~mxWsl?`X}Xv_+vXeZg~h2rFQ-w z(A(ACcT{XJ^Jviq9oUqRW{gG2T_4tw&JP+1(GPw;XOXgRx>)2XHbz6L+rLX4>NGwAUE~W4JF^b*FhrC7dP3m{r_4sew|x6H)hEMTF<%2i!HK1`v!0PR zVWYG9GWAK?*0maIz1{DGcZ00{gh+k^8tfzk^>=`2xNFKVR)D}b`r<*_Smnw%4t=8M z#}eRBCvO5uHv0Sp#}I;3J+CguFe+)XZ$=d0IaryiZ41iP%kXl6>arjehZDd{2rNq&hBmLPkc{;x zn0At_4{ru%W4{2{ukP85`_Nn?=)tCXðtZVs7^!jh8 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 |H2T5R}8d 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 eYS9QVm;@UOD7e6D{& GfxInfo:: - nsIGfxInfo::FEATURE_BLOCKED_DEVICE, DRIVER_COMPARISON_IGNORED, - V(0, 0, 0, 0), "FEATURE_HARDWARE_VIDEO_DECODING_NO_R600", ""); - -- // Disable on Release/late Beta on AMD --#if !defined(EARLY_BETA_OR_EARLIER) -- APPEND_TO_DRIVER_BLOCKLIST(OperatingSystem::Linux, DeviceFamily::AtiAll, -- nsIGfxInfo::FEATURE_HARDWARE_VIDEO_DECODING, -- nsIGfxInfo::FEATURE_BLOCKED_DEVICE, -- DRIVER_COMPARISON_IGNORED, V(0, 0, 0, 0), -- "FEATURE_HARDWARE_VIDEO_DECODING_DISABLE", ""); --#endif - //////////////////////////////////// - // FEATURE_HW_DECODED_VIDEO_ZERO_COPY - ALLOWLIST - APPEND_TO_DRIVER_BLOCKLIST2(OperatingSystem::Linux, DeviceFamily::All, diff --git a/firefox-gcc-13-build.patch b/firefox-gcc-13-build.patch deleted file mode 100644 index 8512b76..0000000 --- a/firefox-gcc-13-build.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- firefox-109.0.1/gfx/2d/Rect.h.old 2023-02-07 09:44:24.946279843 +0100 -+++ firefox-109.0.1/gfx/2d/Rect.h 2023-02-07 09:44:47.969032049 +0100 -@@ -324,8 +324,8 @@ IntRectTyped RoundedToInt(const R - - template - bool RectIsInt32Safe(const RectTyped& aRect) { -- float min = (float)std::numeric_limits::min(); -- float max = (float)std::numeric_limits::max(); -+ float min = (float)std::numeric_limits::min(); -+ float max = (float)std::numeric_limits::max(); - return aRect.x > min && aRect.y > min && aRect.width < max && - aRect.height < max && aRect.XMost() < max && aRect.YMost() < max; - } -diff -up firefox-109.0.1/toolkit/components/telemetry/pingsender/pingsender.cpp.old firefox-109.0.1/toolkit/components/telemetry/pingsender/pingsender.cpp ---- firefox-109.0.1/toolkit/components/telemetry/pingsender/pingsender.cpp.old 2023-02-07 11:03:41.788720090 +0100 -+++ firefox-109.0.1/toolkit/components/telemetry/pingsender/pingsender.cpp 2023-02-07 11:04:29.195345659 +0100 -@@ -10,6 +10,7 @@ - #include - #include - #include -+#include - - #include - diff --git a/firefox-gcc-always-inline.patch b/firefox-gcc-always-inline.patch deleted file mode 100644 index d7af60f..0000000 --- a/firefox-gcc-always-inline.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up firefox-114.0.2/gfx/wr/swgl/src/gl.cc.inline firefox-114.0.2/gfx/wr/swgl/src/gl.cc ---- firefox-114.0.2/gfx/wr/swgl/src/gl.cc.inline 2023-06-22 11:08:53.294593327 +0200 -+++ firefox-114.0.2/gfx/wr/swgl/src/gl.cc 2023-06-22 11:12:43.663486734 +0200 -@@ -58,9 +58,7 @@ WINBASEAPI BOOL WINAPI QueryPerformanceF - } - - #else --// GCC is slower when dealing with always_inline, especially in debug builds. --// When using Clang, use always_inline more aggressively. --# if defined(__clang__) || defined(NDEBUG) -+# if defined(__clang__) || defined (__GNUC__) || defined(NDEBUG) - # define ALWAYS_INLINE __attribute__((always_inline)) inline - # else - # define ALWAYS_INLINE inline diff --git a/firefox-i686-build.patch b/firefox-i686-build.patch deleted file mode 100644 index 320199f..0000000 --- a/firefox-i686-build.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up firefox-105.0/mozglue/misc/SIMD_avx2.cpp.old firefox-105.0/mozglue/misc/SIMD_avx2.cpp ---- firefox-105.0/mozglue/misc/SIMD_avx2.cpp.old 2022-09-22 21:35:07.006221995 +0200 -+++ firefox-105.0/mozglue/misc/SIMD_avx2.cpp 2022-09-22 21:36:12.972480517 +0200 -@@ -55,7 +55,7 @@ __m256i CmpEq256(__m256i a, __m256i b) { - return _mm256_cmpeq_epi64(a, b); - } - --# if defined(__GNUC__) && !defined(__clang__) -+# if 0 - - // See the comment in SIMD.cpp over Load32BitsIntoXMM. This is just adapted - // from that workaround. Testing this, it also yields the correct instructions diff --git a/firefox-mozconfig b/firefox-mozconfig index af5d664..9944800 100644 --- a/firefox-mozconfig +++ b/firefox-mozconfig @@ -1,26 +1,31 @@ . $topsrcdir/browser/config/mozconfig -ac_add_options --with-system-zlib +ac_add_options --allow-addon-sideload +ac_add_options --disable-crashreporter ac_add_options --disable-strip -ac_add_options --enable-necko-wifi ac_add_options --disable-updater +ac_add_options --enable-av1 ac_add_options --enable-chrome-format=omni +ac_add_options --enable-js-shell +ac_add_options --enable-necko-wifi +ac_add_options --enable-official-branding ac_add_options --enable-pulseaudio -ac_add_options --enable-av1 -ac_add_options --without-system-icu ac_add_options --enable-release -ac_add_options --update-channel=release -ac_add_options --allow-addon-sideload -ac_add_options --with-system-fdk-aac -ac_add_options --enable-js-shell -ac_add_options --with-unsigned-addon-scopes=app,system +ac_add_options --enable-system-ffi ac_add_options --without-sysroot +ac_add_options --without-system-icu ac_add_options --without-wasm-sandboxed-libraries -ac_add_options --enable-libproxy +ac_add_options --with-system-jpeg +ac_add_options --with-system-zlib +ac_add_options --with-unsigned-addon-scopes=app,system export BUILD_OFFICIAL=1 export MOZILLA_OFFICIAL=1 -export MOZ_TELEMETRY_REPORTING=1 +export MOZ_UPDATE_CHANNEL=release +export MOZ_APP_REMOTINGNAME=firefox +mk_add_options MOZ_TELEMETRY_REPORTING= +mk_add_options MOZ_NORMANDY= +mk_add_options MOZ_SERVICES_HEALTHREPORT= mk_add_options BUILD_OFFICIAL=1 mk_add_options MOZILLA_OFFICIAL=1 mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir diff --git a/firefox-tests-xpcshell-freeze.patch b/firefox-tests-xpcshell-freeze.patch deleted file mode 100644 index 1115417..0000000 --- a/firefox-tests-xpcshell-freeze.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up firefox-88.0/testing/xpcshell/runxpcshelltests.py.old firefox-88.0/testing/xpcshell/runxpcshelltests.py ---- firefox-88.0/testing/xpcshell/runxpcshelltests.py.old 2021-04-30 10:45:14.466616224 +0200 -+++ firefox-88.0/testing/xpcshell/runxpcshelltests.py 2021-04-30 10:45:21.339525085 +0200 -@@ -1382,8 +1382,8 @@ class XPCShellTests(object): - self.log.info("Process %s" % label) - self.log.info(msg) - -- dumpOutput(proc.stdout, "stdout") -- dumpOutput(proc.stderr, "stderr") -+ #dumpOutput(proc.stdout, "stdout") -+ #dumpOutput(proc.stderr, "stderr") - self.nodeProc = {} - - def startHttp3Server(self): diff --git a/firefox.desktop b/firefox.desktop index 02e156d..6e51fb3 100644 --- a/firefox.desktop +++ b/firefox.desktop @@ -272,5 +272,4 @@ Exec=firefox --private-window %u Name=Open the Profile Manager Name[cs]=Správa profilů Name[de]=Profilverwaltung öffnen -Name[fr]=Ouvrir le gestionnaire de profils Exec=firefox --ProfileManager diff --git a/firefox.sh.in b/firefox.sh.in index 078627f..df17b63 100644 --- a/firefox.sh.in +++ b/firefox.sh.in @@ -64,12 +64,13 @@ MOZ_DIST_BIN="$MOZ_LIB_DIR/firefox" MOZ_LANGPACKS_DIR="$MOZ_DIST_BIN/langpacks" MOZ_EXTENSIONS_PROFILE_DIR="$HOME/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}" MOZ_PROGRAM="$MOZ_DIST_BIN/$MOZ_FIREFOX_FILE" -MOZ_LAUNCHER="$MOZ_DIST_BIN/run-mozilla.sh" GETENFORCE_FILE="/usr/sbin/getenforce" ## ## Enable Wayland backend? ## +%DISABLE_WAYLAND_PLACEHOLDER% + if ! [ $MOZ_DISABLE_WAYLAND ] && [ "$WAYLAND_DISPLAY" ]; then if [ "$XDG_CURRENT_DESKTOP" == "GNOME" ]; then export MOZ_ENABLE_WAYLAND=1 @@ -160,7 +161,7 @@ export G_SLICE=always-malloc ## ## Enable Xinput2 (mozbz#1207973) ## -export MOZ_USE_XINPUT2=${MOZ_USE_XINPUT2-1} +export MOZ_USE_XINPUT2=1 # OK, here's where all the real work gets done @@ -193,8 +194,8 @@ fi # When Firefox is not running, restore SELinux labels for profile files # (rhbz#1731371) if [ $MOZILLA_DOWN -ne 0 ]; then - if [ -x $GETENFORCE_FILE ] && [ `$GETENFORCE_FILE` != "Disabled" ]; then - (restorecon -vr ~/.mozilla/firefox/* &) + if [ -x $GETENFORCE_FILE ] && [ `$GETENFORCE_FILE` != "Disabled" ] && [ -d ~/.mozilla/firefox ]; then + (/usr/sbin/restorecon -vr ~/.mozilla/firefox &) fi fi @@ -245,35 +246,6 @@ fi NSS_SSL_CBC_RANDOM_IV=${NSS_SSL_CBC_RANDOM_IV-1} export NSS_SSL_CBC_RANDOM_IV -# Prepare command line arguments -script_args="" -pass_arg_count=0 -while [ $# -gt $pass_arg_count ] -do - case "$1" in - -g | --debug) - script_args="$script_args -g" - debugging=1 - shift - ;; - -d | --debugger) - if [ $# -gt 1 ]; then - script_args="$script_args -d $2" - shift 2 - else - shift - fi - ;; - *) - # Move the unrecognized argument to the end of the list. - arg="$1" - shift - set -- "$@" "$arg" - pass_arg_count=`expr $pass_arg_count + 1` - ;; - esac -done - # Flatpak specific environment variables %FLATPAK_ENV_VARS% @@ -284,7 +256,7 @@ export MOZ_ALLOW_DOWNGRADE=1 debugging=0 if [ $debugging = 1 ] then - echo $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@" + echo $MOZ_PROGRAM "$@" fi -exec $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@" +exec $MOZ_PROGRAM "$@" diff --git a/firefox.spec b/firefox.spec index b36de37..86d2821 100644 --- a/firefox.spec +++ b/firefox.spec @@ -1,139 +1,81 @@ -# NOTE: FOR UPGRADING FROM ANOLIS 8, PLEASE ALWAYS BUMPING RELEASE FROM 2 %define anolis_release 1 -%global release_build 1 +%define homepage %(grep '^HOME_URL\s*=' /etc/os-release | sed 's/^HOME_URL\s*=//;s/^\s*"//;s/"\s*$//') +# Produce debug (non-optimized) package build. Suitable for debugging only +# as the build is *very* slow. +%global debug_build 0 +# Run Mozilla test suite as a part of compile rpm section. Turn off when +# building locally and don't want to spend 24 hours waiting for results. %global run_firefox_tests 0 -%ifarch x86_64 + +%ifarch x86_64 %{ix86} %global run_firefox_tests 0 %endif -%global create_debuginfo 1 -%global debug_build 0 -%global use_xdg_file_portal 0 - -%global system_nss 1 -%global system_libevent 1 -%global build_with_asan 0 -%global test_on_wayland 1 -%if "%{toolchain}" == "clang" -%global build_with_clang 1 -%else -%global build_with_clang 0 -%endif -%global enable_mozilla_crashreporter 0 -%ifarch x86_64 -%global enable_mozilla_crashreporter 0 -%endif -%if %{build_with_asan} -%global enable_mozilla_crashreporter 0 -%endif -%if !%{create_debuginfo} -%define _unpackaged_files_terminate_build 0 -%global debug_package %{nil} -%global enable_mozilla_crashreporter 0 -%endif +# System libraries options +%global system_nss 1 +%global bundle_nss 0 -%global system_ffi 1 -%global system_webp 1 -%global system_libvpx 1 -%global system_jpeg 1 -%global system_pixman 1 -%global use_bundled_cbindgen 1 -%if %{debug_build} -%global release_build 0 -%endif -%global build_with_pgo 0 -%ifarch x86_64 -%if %{release_build} -%global build_with_pgo 0 -%endif -%endif +%global dts_version 11 +%global llvm_version 7.0 +%global nspr_version 4.35 +%global nspr_version_max 4.36 +%global nss_version 3.101 +%global nss_version_max 3.102 +%global rust_version 1.66 +%global system_libvpx 0 -%if 0%{?build_with_pgo} -%global use_xvfb 1 -%global build_tests 1 -%endif +# Toolsets setup +%global use_dts 0 +%global use_gcc_ts 0 +%global use_nodejs_scl 0 +%global use_python3_scl 0 -%if 0%{?run_firefox_tests} -%global use_xvfb 1 -%global build_tests 1 -%endif +%global nodejs_build_req nodejs %global launch_wayland_compositor 0 -%if %{build_with_pgo} && %{test_on_wayland} -%global launch_wayland_compositor 1 -%endif -%if %{run_firefox_tests} && %{test_on_wayland} -%global launch_wayland_compositor 1 -%endif - -%global default_bookmarks_file %{_datadir}/bookmarks/default-bookmarks.html -%global firefox_app_id \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\} -%global cairo_version 1.13.1 -%global freetype_version 2.1.9 -%global libnotify_version 0.7.0 -%if %{?system_libvpx} -%global libvpx_version 1.10.0 -%endif - -%if %{?system_nss} -%global nspr_version 4.32 -%global nspr_build_version %{nspr_version} -%global nss_version 3.90 -%global nss_build_version %{nss_version} +%if 0%{?run_firefox_tests} + %global test_on_wayland 1 + %global launch_wayland_compositor 1 + %global build_tests 1 %endif -%global mozappdir %{_libdir}/firefox -%global mozappdirdev %{_libdir}/firefox-devel-%{version} -%global langpackdir %{mozappdir}/langpacks -%global tarballdir firefox-%{version} -%global official_branding 1 +%global mozappdir %{_libdir}/firefox +%global langpackdir %{mozappdir}/browser/extensions +%define bundled_install_path %{mozappdir}/bundled +%global pre_version esr +# Workaround the dreaded "upstream source file changed content" rpminspect failure. +# If set to .b2 or .b3 ... the processed source file needs to be renamed before upload, e.g. +# firefox-102.8.0esr.b2.processed-source.tar.xz +# When unset use processed source file name as is. +##global buildnum .b2 -%bcond_with langpacks - -%if %{with langpacks} -%bcond_without langpacks_subpkg -%endif - -%if !%{release_build} -%global pre_tag .npgo -%endif -%if %{build_with_clang} -%global pre_tag .clang -%endif -%if %{build_with_asan} -%global pre_tag .asan -%global build_with_pgo 0 -%endif -%if !%{system_nss} -%global nss_tag .nss -%endif -%if %{debug_build} -%global pre_tag .debug -%endif +%bcond_without langpacks +# Exclude private libraries from autogenerated provides and requires %global __provides_exclude_from ^%{mozappdir} %global __requires_exclude ^(%%(find %{buildroot}%{mozappdir} -name '*.so' | xargs -n1 basename | sort -u | paste -s -d '|' -)) -%undefine _package_note_flags -%global _package_note_status 0 - Summary: Mozilla Firefox Web browser Name: firefox -Version: 115.13.0 -Release: %{anolis_release}%{?pre_tag}%{?dist} +Version: 128.3.1 +Release: %{anolis_release}%{?dist} URL: https://www.mozilla.org/firefox/ License: MPLv1.1 or GPLv2+ or LGPLv2+ + +# We can't use the official tarball as it contains some test files that use +# licenses that are rejected by Red Hat Legal. +# The official tarball has to be always processed by the process-official-tarball +# script +# Link to original tarball: https://archive.mozilla.org/pub/firefox/releases/%%{version}%%{?pre_version}/source/firefox-%%{version}%%{?pre_version}.source.tar.xz Source0: https://ftp.mozilla.org/pub/firefox/releases/%{version}esr/source/firefox-%{version}esr.source.tar.xz %if %{with langpacks} -SOURCE1001: https://ftp.mozilla.org/pub/firefox/releases/%{version}esr/linux-x86_64/xpi/en-US.xpi -SOURCE1002: https://ftp.mozilla.org/pub/firefox/releases/%{version}esr/linux-x86_64/xpi/zh-CN.xpi -SOURCE1003: https://ftp.mozilla.org/pub/firefox/releases/%{version}esr/linux-x86_64/xpi/zh-TW.xpi +Source1: firefox-langpacks-%{version}%{?pre_version}-20241009.tar.xz %endif -# generate by gen_cbindgen-vendor.sh Source2: cbindgen-vendor.tar.xz +Source3: process-official-tarball Source10: firefox-mozconfig Source12: firefox-anolis-default-prefs.js Source20: firefox.desktop @@ -143,320 +85,914 @@ Source24: mozilla-api-key Source25: firefox-symbolic.svg Source26: distribution.ini Source27: google-api-key -Source28: firefox-wayland.sh.in -Source29: firefox-wayland.desktop Source30: firefox-x11.sh.in Source31: firefox-x11.desktop Source32: node-stdout-nonblocking-wrapper Source33: firefox.appdata.xml.in Source34: firefox-search-provider.ini Source35: google-loc-api-key -#Source37: mochitest-python.tar.gz -Source38: print_results -Source39: print-errors -Source40: run-tests-x11 -Source41: run-tests-wayland -Source42: psummary -Source43: print_failures -Source44: print-error-reftest -Source45: run-wayland-compositor - -Patch40: build-aarch64-skia.patch -Patch44: build-arm-libopus.patch -Patch47: shebang-build.patch -Patch53: firefox-gcc-build.patch -Patch54: mozilla-1669639.patch -Patch71: 0001-GLIBCXX-fix-for-GCC-12.patch -Patch78: firefox-i686-build.patch -Patch79: firefox-gcc-13-build.patch - -Patch102: firefox-tests-xpcshell-freeze.patch - -Patch215: firefox-enable-addons.patch -Patch219: rhbz-1173156.patch -Patch226: rhbz-1354671.patch -Patch228: disable-openh264-download.patch -Patch229: firefox-nss-addon-hack.patch -Patch230: firefox-enable-vaapi.patch - -# upstream pacthes -Patch402: mozilla-1196777.patch -Patch407: mozilla-1667096.patch -# PGO/LTO patches -Patch600: pgo.patch -Patch603: firefox-gcc-always-inline.patch -# https://bugzilla.mozilla.org/show_bug.cgi?id=1474486 -Patch1200: firefox-112.0-commasplit.patch - -Patch1201: add-loongarch64-support-for-nix.patch -Patch1202: add-loongarch64-support-for-cty.patch -Patch1203: add-loongarch64-support-for-authenticator.patch -Patch1204: add-loongarch64-support-for-ipc.patch -Patch1205: add-loongarch64-support-for-libwebrtc.patch -Patch1206: backport-Bug-1782159-to-support-loongarch64.patch - -BuildRequires: pkgconfig(libpng) -BuildRequires: pkgconfig(gtk+-3.0) -BuildRequires: pkgconfig(krb5) -BuildRequires: pkgconfig(pango) -BuildRequires: pkgconfig(freetype2) >= %{freetype_version} -BuildRequires: pkgconfig(xt) -BuildRequires: pkgconfig(xrender) -BuildRequires: pkgconfig(libstartup-notification-1.0) -BuildRequires: pkgconfig(libnotify) >= %{libnotify_version} -BuildRequires: pkgconfig(dri) -BuildRequires: pkgconfig(libcurl) -BuildRequires: pkgconfig(alsa) -BuildRequires: pkgconfig(libpulse) -BuildRequires: pkgconfig(zlib) -BuildRequires: zip bzip2-devel dbus-glib-devel libproxy-devel -BuildRequires: autoconf yasm make -BuildRequires: llvm llvm-devel clang clang-libs clang-devel -BuildRequires: rust cargo -BuildRequires: nodejs -BuildRequires: nasm >= 1.13 -BuildRequires: fdk-aac-free-devel mesa-libgbm-devel pipewire-devel -BuildRequires: desktop-file-utils libappstream-glib pciutils-libs -BuildRequires: perl-interpreter -BuildRequires: python3-devel python3-setuptools - -%if %{?system_nss} +Source36: testing.sh +Source37: mochitest-python.tar.gz + +# Bundled libraries +Source401: nss-setup-flags-env.inc + +# -- Downstream only -- +Patch01: build-disable-elfhack.patch +Patch02: firefox-gcc-build.patch +Patch03: build-big-endian-errors.patch +# Disable PipeWire support for PipeWire 0.2 +Patch09: rhbz-2131158-webrtc-nss-fix.patch +Patch10: build-ffvpx.patch + +# -- Upstreamed patches -- +Patch51: mozilla-bmo1170092.patch + +# -- Submitted upstream, not merged -- +Patch101: mozilla-bmo1636168-fscreen.patch +Patch102: mozilla-bmo1670333.patch +# Big endian fix +Patch103: mozilla-bmo1504834-part1.patch +Patch104: mozilla-bmo1504834-part3.patch +# Big endian fix +Patch105: mozilla-bmo849632.patch +# Big endian fix +Patch106: mozilla-bmo998749.patch +# Big endian fix +Patch107: mozilla-bmo1716707-swizzle.patch +Patch108: mozilla-bmo1716707-svg.patch +Patch109: mozilla-bmo1789216-disable-av1.patch +Patch110: build-libaom.patch + +# ---- Fedora specific patches ---- +Patch151: firefox-enable-addons.patch +Patch152: rhbz-1173156.patch +Patch154: firefox-nss-addon-hack.patch +# ARM run-time patch +Patch155: rhbz-1354671.patch + + +# BUILD REQURES/REQUIRES +%if %{?system_nss} && !0%{?bundle_nss} BuildRequires: pkgconfig(nspr) >= %{nspr_version} +BuildRequires: pkgconfig(nspr) < %{nspr_version_max} BuildRequires: pkgconfig(nss) >= %{nss_version} +BuildRequires: pkgconfig(nss) < %{nss_version_max} BuildRequires: nss-static >= %{nss_version} -%endif - -%if %{?system_jpeg} -BuildRequires: libjpeg-devel -%endif - -%if %{?system_pixman} -BuildRequires: pixman-devel -%endif - -%if %{?system_webp} -BuildRequires: pkgconfig(libwebp) >= 1.0.2 -BuildRequires: pkgconfig(libwebpdemux) >= 1.0.2 +BuildRequires: nss-static < %{nss_version_max} %endif %if %{?system_libvpx} -BuildRequires: pkgconfig(vpx) >= %{libvpx_version} -%endif - -%if %{build_with_clang} -BuildRequires: lld +BuildRequires: libvpx-devel >= 1.8.2 %endif -%if !0%{?use_bundled_cbindgen} -BuildRequires: cbindgen -%endif - -%if %{?system_ffi} +BuildRequires: bzip2-devel +BuildRequires: desktop-file-utils +BuildRequires: libappstream-glib +BuildRequires: libjpeg-devel +BuildRequires: libstdc++-devel +BuildRequires: libstdc++-static +BuildRequires: m4 +BuildRequires: make +BuildRequires: nasm >= 1.13 +BuildRequires: %{nodejs_build_req} >= 10.21 +BuildRequires: pciutils-libs +BuildRequires: perl-interpreter +BuildRequires: pkgconfig(alsa) +BuildRequires: pkgconfig(dri) +BuildRequires: pkgconfig(freetype2) +BuildRequires: pkgconfig(gtk+-3.0) +BuildRequires: pkgconfig(krb5) +BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libffi) -%endif - -%if 0%{?use_xvfb} -BuildRequires: xorg-x11-server-Xvfb -%endif - -%if %{build_with_asan} -BuildRequires: libasan libasan-static -%endif +BuildRequires: pkgconfig(libnotify) +BuildRequires: pkgconfig(libpng) +BuildRequires: pkgconfig(libpulse) +BuildRequires: pkgconfig(libstartup-notification-1.0) +BuildRequires: pkgconfig(pango) +BuildRequires: pkgconfig(xrender) +BuildRequires: pkgconfig(xt) +BuildRequires: pkgconfig(xtst) +BuildRequires: pkgconfig(zlib) +BuildRequires: zip + + +BuildRequires: cargo +BuildRequires: clang-libs >= %{llvm_version} +BuildRequires: clang-devel >= %{llvm_version} +BuildRequires: clang >= %{llvm_version} +BuildRequires: llvm-devel >= %{llvm_version} +BuildRequires: llvm >= %{llvm_version} +#BuildRequires: python38-devel +#BuildRequires: python38-setuptools +BuildRequires: rustfmt >= %{rust_version} +BuildRequires: rust >= %{rust_version} + +%if 0%{?use_dts} +BuildRequires: devtoolset-%{dts_version}-gcc +BuildRequires: devtoolset-%{dts_version}-gcc-c++ +BuildRequires: devtoolset-%{dts_version}-libatomic-devel +%endif + +# Bundled nss/nspr requirement +%if 0%{?bundle_nss} +BuildRequires: gawk +BuildRequires: gcc-c++ +BuildRequires: nss-softokn +BuildRequires: perl-interpreter +BuildRequires: pkgconfig +BuildRequires: psmisc +BuildRequires: sqlite-devel +BuildRequires: xmlto +BuildRequires: zlib-devel +%endif + +#%if !0%{?flatpak} +#TODO +#BuildRequires: system-bookmarks +#%endif %if 0%{?test_on_wayland} -BuildRequires: mutter -BuildRequires: gsettings-desktop-schemas +BuildRequires: dbus-x11 +BuildRequires: gnome-keyring BuildRequires: gnome-settings-daemon +BuildRequires: gsettings-desktop-schemas BuildRequires: mesa-dri-drivers +BuildRequires: mutter BuildRequires: xorg-x11-server-Xwayland -BuildRequires: dbus-x11 -BuildRequires: gnome-keyring %endif %if 0%{?run_firefox_tests} -BuildRequires: procps-ng -BuildRequires: nss-tools -BuildRequires: python2.7 -BuildRequires: dejavu-sans-mono-fonts +BuildRequires: abattis-cantarell-fonts +BuildRequires: dbus-x11 BuildRequires: dejavu-sans-fonts +BuildRequires: dejavu-sans-mono-fonts BuildRequires: dejavu-serif-fonts -BuildRequires: dbus-x11 BuildRequires: gnome-keyring -BuildRequires: mesa-dri-drivers -BuildRequires: liberation-fonts-common -BuildRequires: liberation-mono-fonts -BuildRequires: liberation-sans-fonts -BuildRequires: liberation-serif-fonts BuildRequires: google-carlito-fonts BuildRequires: google-droid-sans-fonts -BuildRequires: google-noto-fonts-common BuildRequires: google-noto-cjk-fonts-common +BuildRequires: google-noto-emoji-color-fonts +BuildRequires: google-noto-fonts-common BuildRequires: google-noto-sans-cjk-ttc-fonts -BuildRequires: google-noto-sans-gurmukhi-fonts BuildRequires: google-noto-sans-fonts -BuildRequires: google-noto-emoji-color-fonts +BuildRequires: google-noto-sans-gurmukhi-fonts BuildRequires: google-noto-sans-sinhala-vf-fonts -BuildRequires: thai-scalable-fonts-common -BuildRequires: thai-scalable-waree-fonts -BuildRequires: khmeros-base-fonts BuildRequires: jomolhari-fonts +BuildRequires: khmeros-base-fonts +BuildRequires: liberation-fonts-common +BuildRequires: liberation-mono-fonts +BuildRequires: liberation-sans-fonts +BuildRequires: liberation-serif-fonts BuildRequires: lohit-tamil-fonts BuildRequires: lohit-telugu-fonts +BuildRequires: mesa-dri-drivers +BuildRequires: nss-tools BuildRequires: paktype-naskh-basic-fonts +BuildRequires: procps-ng BuildRequires: pt-sans-fonts -BuildRequires: smc-meera-fonts +#BuildRequires: smc-meera-fonts BuildRequires: stix-fonts -BuildRequires: abattis-cantarell-fonts +BuildRequires: thai-scalable-fonts-common +BuildRequires: thai-scalable-waree-fonts BuildRequires: xorg-x11-fonts-ISO8859-1-100dpi BuildRequires: xorg-x11-fonts-misc +BuildRequires: xorg-x11-server-Xvfb %endif -%if %{?system_libevent} -BuildRequires: pkgconfig(libevent) -%endif -%ifarch loongarch64 -BuildRequires: cargo-vendored-libc -%endif Requires: mozilla-filesystem Requires: p11-kit-trust Requires: pciutils-libs -Requires: u2f-hidraw-policy -Recommends: mozilla-openh264 >= 2.1.1 -Recommends: libva -%if %{?system_nss} -Requires: nspr >= %{nspr_build_version} -Requires: nss >= %{nss_build_version} -%endif -%if %{?use_xdg_file_portal} -Requires: xdg-desktop-portal -%endif -%if %{with langpacks_subpkg} -Recommends: firefox-langpacks = %{version}-%{release} -%else -Obsoletes: firefox-langpacks < %{version}-%{release} + +%if %{?system_nss} && !0%{?bundle_nss} +Requires: nspr >= %{nspr_version} +Requires: nss >= %{nss_version} %endif + Obsoletes: mozilla <= 37:1.7.13 Provides: webclient +# Bundled libraries +#Provides: bundled(libjxl) it's used only on nightly builds +Provides: bundled(angle) +Provides: bundled(aom) +Provides: bundled(audioipc-2) +Provides: bundled(bergamot-translator) +Provides: bundled(brotli) +Provides: bundled(bsdiff) +Provides: bundled(bspatch) +Provides: bundled(cairo) +Provides: bundled(cfworker) +Provides: bundled(cld2) +Provides: bundled(content) +Provides: bundled(content_analysis_sdk) +Provides: bundled(cubeb) +Provides: bundled(cups) +Provides: bundled(d3) +Provides: bundled(d3.js) +Provides: bundled(double-conversion) +Provides: bundled(drm) +Provides: bundled(expat) +Provides: bundled(fastText) +Provides: bundled(fathom) +Provides: bundled(fdlibm) +Provides: bundled(ffvpx) +Provides: bundled(freetype2) +Provides: bundled(function2) +Provides: bundled(gbm) +Provides: bundled(gemmology) +Provides: bundled(googletest) +Provides: bundled(graphite2) +Provides: bundled(harfbuzz) +Provides: bundled(highway) +Provides: bundled(hunspell) +Provides: bundled(intgemm) +Provides: bundled(irregexp) +Provides: bundled(jpeg-xl) +Provides: bundled(kissfft) +Provides: bundled(libaom) +Provides: bundled(libcubeb) +Provides: bundled(libdav1d) +Provides: bundled(libdrm) +Provides: bundled(libepoxy) +Provides: bundled(libfuzzer) +Provides: bundled(libgbm) +Provides: bundled(libjpeg) +Provides: bundled(libjxl) +Provides: bundled(libmar) +Provides: bundled(libmkv) +Provides: bundled(libnestegg) +Provides: bundled(libogg) +Provides: bundled(libopus) +Provides: bundled(libpng) +Provides: bundled(libprio) +Provides: bundled(libsoundtouch) +Provides: bundled(libspeex_resampler) +Provides: bundled(libsrtp) +Provides: bundled(libtheora) +Provides: bundled(libtremor) +Provides: bundled(libvorbis) +Provides: bundled(libvpx) +Provides: bundled(libwebp) +Provides: bundled(libwebrtc) +Provides: bundled(libyuv) +Provides: bundled(lit) +Provides: bundled(MotionMark) +Provides: bundled(mp4parse-rust) +Provides: bundled(msgpack) +Provides: bundled(msgpack-c) +Provides: bundled(mtransport) +Provides: bundled(nestegg) +Provides: bundled(nICEr) +Provides: bundled(nimbus) +Provides: bundled(openmax_dl) +Provides: bundled(openmax_il) +Provides: bundled(openvr) +Provides: bundled(ots) +Provides: bundled(pdf.js) +Provides: bundled(pdfjs) +Provides: bundled(perfetto) +Provides: bundled(picosha2) +Provides: bundled(PKI) +Provides: bundled(PKI.js) +Provides: bundled(puppeteer) +Provides: bundled(pywebsocket3) +Provides: bundled(qcms) +Provides: bundled(reader) +Provides: bundled(rlbox) +Provides: bundled(rlbox_sandboxing_api) +Provides: bundled(rlbox_wasm2c_sandbox) +Provides: bundled(schemas) +Provides: bundled(sfntly) +Provides: bundled(simde) +Provides: bundled(sipcc) +Provides: bundled(skia) +Provides: bundled(soundtouch) +Provides: bundled(source-map) +Provides: bundled(Speedometer3) +Provides: bundled(sqlite3) +Provides: bundled(src) +Provides: bundled(thebes) +Provides: bundled(theora) +Provides: bundled(usrsctp) +Provides: bundled(vendor) +Provides: bundled(vsdownload) +Provides: bundled(wabt) +Provides: bundled(wasm2c) +Provides: bundled(wasm2c_sandbox_compiler) +Provides: bundled(webaudio) +Provides: bundled(webgl-conf) +Provides: bundled(WebRender) +Provides: bundled(wgpu) +Provides: bundled(wgpu_bindings) +Provides: bundled(woff2) +Provides: bundled(xsimd) +Provides: bundled(xz-embedded) +Provides: bundled(ycbcr) +Provides: bundled(zlib) +Provides: bundled(zstd) +Provides: bundled(Zycore) +Provides: bundled(Zydis) + +%if 0%{?bundle_nss} +Provides: bundled(nss) = %{nss_version} +Provides: bundled(nspr) = %{nspr_version} +%endif + +# Rust third parties: +# List obtained by `get_rust_bundled_provides.sh build.log` script:: +Provides: bundled(crate(aa-stroke)) = 0.1.0 +Provides: bundled(crate(adler)) = 1.0.2 +Provides: bundled(crate(ahash)) = 0.8.11 +Provides: bundled(crate(aho-corasick)) = 1.1.0 +Provides: bundled(crate(alsa)) = 0.8.1 +Provides: bundled(crate(alsa-sys)) = 0.3.1 +Provides: bundled(crate(anyhow)) = 1.0.69 +Provides: bundled(crate(app_services_logger)) = 0.1.0 +Provides: bundled(crate(app_units)) = 0.7.3 +Provides: bundled(crate(arrayref)) = 0.3.6 +Provides: bundled(crate(arrayvec)) = 0.7.2 +Provides: bundled(crate(ash)) = 0.38.0+1.3.281 +Provides: bundled(crate(askama)) = 0.12.0 +Provides: bundled(crate(askama_derive)) = 0.12.1 +Provides: bundled(crate(askama_escape)) = 0.10.3 +Provides: bundled(crate(async-task)) = 4.3.0 +Provides: bundled(crate(async-trait)) = 0.1.68 +Provides: bundled(crate(atomic_refcell)) = 0.1.9 +Provides: bundled(crate(atty)) = 0.2.14 +Provides: bundled(crate(audioipc2)) = 0.6.0 +Provides: bundled(crate(audioipc2-client)) = 0.6.0 +Provides: bundled(crate(audioipc2-server)) = 0.6.0 +Provides: bundled(crate(audio_thread_priority)) = 0.32.0 +Provides: bundled(crate(authenticator)) = 0.4.0-alpha.24 +Provides: bundled(crate(authrs_bridge)) = 0.1.0 +Provides: bundled(crate(autocfg)) = 1.1.0 +Provides: bundled(crate(autocfg)) = 1.1.0 +Provides: bundled(crate(base64)) = 0.21.3 +Provides: bundled(crate(basic-toml)) = 0.1.2 +Provides: bundled(crate(bhttp)) = 0.3.1 +Provides: bundled(crate(binary_http)) = 0.1.0 +Provides: bundled(crate(bincode)) = 1.3.3 +Provides: bundled(crate(bindgen)) = 0.63.999 +Provides: bundled(crate(bindgen)) = 0.69.4 +Provides: bundled(crate(bitflags)) = 1.3.2 +Provides: bundled(crate(bitflags)) = 1.999.999 +Provides: bundled(crate(bitflags)) = 2.5.0 +Provides: bundled(crate(bitreader)) = 0.3.6 +Provides: bundled(crate(bit-set)) = 0.5.3 +Provides: bundled(crate(bit-vec)) = 0.6.3 +Provides: bundled(crate(block-buffer)) = 0.10.3 +Provides: bundled(crate(bookmark_sync)) = 0.1.0 +Provides: bundled(crate(buildid_reader)) = 0.1.0 +Provides: bundled(crate(build-parallel)) = 0.1.2 +Provides: bundled(crate(builtins-static)) = 0.1.0 +Provides: bundled(crate(bumpalo)) = 3.15.4 +Provides: bundled(crate(byteorder)) = 1.5.0 +Provides: bundled(crate(bytes)) = 1.4.0 +Provides: bundled(crate(cache-padded)) = 1.2.0 +Provides: bundled(crate(camino)) = 1.1.2 +Provides: bundled(crate(cargo_metadata)) = 0.15.3 +Provides: bundled(crate(cargo-platform)) = 0.1.2 +Provides: bundled(crate(cascade_bloom_filter)) = 0.1.0 +Provides: bundled(crate(cbindgen)) = 0.26.0 +Provides: bundled(crate(cc)) = 1.0.89 +Provides: bundled(crate(cert_storage)) = 0.0.1 +Provides: bundled(crate(cexpr)) = 0.6.0 +Provides: bundled(crate(cfg_aliases)) = 0.1.1 +Provides: bundled(crate(cfg-if)) = 1.0.0 +Provides: bundled(crate(chardetng)) = 0.1.9 +Provides: bundled(crate(chardetng_c)) = 0.1.2 +Provides: bundled(crate(chrono)) = 0.4.19 +Provides: bundled(crate(chunky-vec)) = 0.1.0 +Provides: bundled(crate(clang-sys)) = 1.7.0 +Provides: bundled(crate(clap)) = 3.2.25 +Provides: bundled(crate(clap_lex)) = 0.2.4 +Provides: bundled(crate(cmake)) = 0.1.999 +Provides: bundled(crate(codespan-reporting)) = 0.11.1 +Provides: bundled(crate(core_maths)) = 0.1.0 +Provides: bundled(crate(cose)) = 0.1.4 +Provides: bundled(crate(cose-c)) = 0.1.5 +Provides: bundled(crate(cpufeatures)) = 0.2.8 +Provides: bundled(crate(crc32fast)) = 1.3.2 +Provides: bundled(crate(crossbeam-channel)) = 0.5.6 +Provides: bundled(crate(crossbeam-deque)) = 0.8.2 +Provides: bundled(crate(crossbeam-epoch)) = 0.9.14 +Provides: bundled(crate(crossbeam-queue)) = 0.3.8 +Provides: bundled(crate(crossbeam-utils)) = 0.8.14 +Provides: bundled(crate(crypto-common)) = 0.1.6 +Provides: bundled(crate(crypto_hash)) = 0.1.0 +Provides: bundled(crate(cssparser)) = 0.34.0 +Provides: bundled(crate(cssparser-macros)) = 0.6.1 +Provides: bundled(crate(cstr)) = 0.2.11 +Provides: bundled(crate(cubeb)) = 0.13.0 +Provides: bundled(crate(cubeb-backend)) = 0.13.0 +Provides: bundled(crate(cubeb-core)) = 0.13.0 +Provides: bundled(crate(cubeb-pulse)) = 0.5.0 +Provides: bundled(crate(cubeb-sys)) = 0.13.0 +Provides: bundled(crate(dap_ffi)) = 0.1.0 +Provides: bundled(crate(darling)) = 0.20.1 +Provides: bundled(crate(darling_core)) = 0.20.1 +Provides: bundled(crate(darling_macro)) = 0.20.1 +Provides: bundled(crate(data-encoding)) = 2.3.3 +Provides: bundled(crate(data-encoding-ffi)) = 0.1.0 +Provides: bundled(crate(data_storage)) = 0.0.1 +Provides: bundled(crate(dbus)) = 0.6.5 +Provides: bundled(crate(deranged)) = 0.3.11 +Provides: bundled(crate(derive_common)) = 0.0.1 +Provides: bundled(crate(derive_more)) = 0.99.999 +Provides: bundled(crate(derive_more)) = 1.0.0-beta.2 +Provides: bundled(crate(derive_more-impl)) = 1.0.0-beta.2 +Provides: bundled(crate(digest)) = 0.10.6 +Provides: bundled(crate(diplomat)) = 0.7.0 +Provides: bundled(crate(diplomat_core)) = 0.7.0 +Provides: bundled(crate(diplomat-runtime)) = 0.7.0 +Provides: bundled(crate(dirs)) = 4.0.0 +Provides: bundled(crate(dirs-sys)) = 0.3.7 +Provides: bundled(crate(displaydoc)) = 0.2.4 +Provides: bundled(crate(dns-parser)) = 0.8.0 +Provides: bundled(crate(document-features)) = 0.2.8 +Provides: bundled(crate(dogear)) = 0.5.0 +Provides: bundled(crate(dom)) = 0.1.0 +Provides: bundled(crate(dom_fragmentdirectives)) = 0.1.0 +Provides: bundled(crate(dtoa)) = 0.4.8 +Provides: bundled(crate(dtoa-short)) = 0.3.3 +Provides: bundled(crate(either)) = 1.8.1 +Provides: bundled(crate(encoding_c)) = 0.9.8 +Provides: bundled(crate(encoding_c_mem)) = 0.2.6 +Provides: bundled(crate(encoding_glue)) = 0.1.0 +Provides: bundled(crate(encoding_rs)) = 0.8.34 +Provides: bundled(crate(enum-map)) = 2.7.3 +Provides: bundled(crate(enum-map-derive)) = 0.17.0 +Provides: bundled(crate(enumset)) = 1.1.2 +Provides: bundled(crate(enumset_derive)) = 0.8.1 +Provides: bundled(crate(env_logger)) = 0.10.0 +Provides: bundled(crate(equivalent)) = 1.0.1 +Provides: bundled(crate(error-chain)) = 0.12.4 +Provides: bundled(crate(error-support)) = 0.1.0 +Provides: bundled(crate(error-support-macros)) = 0.1.0 +Provides: bundled(crate(etagere)) = 0.2.7 +Provides: bundled(crate(euclid)) = 0.22.10 +Provides: bundled(crate(fallible_collections)) = 0.4.9 +Provides: bundled(crate(fallible-iterator)) = 0.3.0 +Provides: bundled(crate(fallible-streaming-iterator)) = 0.1.9 +Provides: bundled(crate(fastrand)) = 1.9.0 +Provides: bundled(crate(fastrand)) = 2.0.0 +Provides: bundled(crate(ffi-support)) = 0.4.4 +Provides: bundled(crate(firefox-on-glean)) = 0.1.0 +Provides: bundled(crate(flate2)) = 1.0.26 +Provides: bundled(crate(fluent)) = 0.16.0 +Provides: bundled(crate(fluent-bundle)) = 0.15.2 +Provides: bundled(crate(fluent-fallback)) = 0.7.0 +Provides: bundled(crate(fluent-ffi)) = 0.1.0 +Provides: bundled(crate(fluent-langneg)) = 0.13.0 +Provides: bundled(crate(fluent-langneg-ffi)) = 0.1.0 +Provides: bundled(crate(fluent-pseudo)) = 0.3.1 +Provides: bundled(crate(fluent-syntax)) = 0.11.0 +Provides: bundled(crate(fnv)) = 1.0.7 +Provides: bundled(crate(fog_control)) = 0.1.0 +Provides: bundled(crate(form_urlencoded)) = 1.2.1 +Provides: bundled(crate(freetype)) = 0.7.0 +Provides: bundled(crate(fs-err)) = 2.9.0 +Provides: bundled(crate(futures)) = 0.3.28 +Provides: bundled(crate(futures-channel)) = 0.3.28 +Provides: bundled(crate(futures-core)) = 0.3.28 +Provides: bundled(crate(futures-executor)) = 0.3.28 +Provides: bundled(crate(futures-io)) = 0.3.28 +Provides: bundled(crate(futures-macro)) = 0.3.28 +Provides: bundled(crate(futures-sink)) = 0.3.28 +Provides: bundled(crate(futures-task)) = 0.3.28 +Provides: bundled(crate(futures-util)) = 0.3.28 +Provides: bundled(crate(fxhash)) = 0.2.1 +Provides: bundled(crate(gecko_logger)) = 0.1.0 +Provides: bundled(crate(gecko-profiler)) = 0.1.0 +Provides: bundled(crate(geckoservo)) = 0.0.1 +Provides: bundled(crate(generic-array)) = 0.14.6 +Provides: bundled(crate(getrandom)) = 0.2.14 +Provides: bundled(crate(gkrust)) = 0.1.0 +Provides: bundled(crate(gkrust-shared)) = 0.1.0 +Provides: bundled(crate(gkrust_utils)) = 0.1.0 +Provides: bundled(crate(gleam)) = 0.15.0 +Provides: bundled(crate(glean)) = 60.1.1 +Provides: bundled(crate(glean-core)) = 60.1.1 +Provides: bundled(crate(gl_generator)) = 0.14.0 +Provides: bundled(crate(glob)) = 0.3.1 +Provides: bundled(crate(glsl)) = 6.0.2 +Provides: bundled(crate(glslopt)) = 0.1.10 +Provides: bundled(crate(glsl-to-cxx)) = 0.1.0 +Provides: bundled(crate(goblin)) = 0.8.1 +Provides: bundled(crate(golden_gate)) = 0.1.0 +Provides: bundled(crate(gpu-alloc)) = 0.6.0 +Provides: bundled(crate(gpu-alloc-types)) = 0.3.0 +Provides: bundled(crate(gpu-descriptor)) = 0.3.0 +Provides: bundled(crate(gpu-descriptor-types)) = 0.2.0 +Provides: bundled(crate(half)) = 1.8.2 +Provides: bundled(crate(hashbrown)) = 0.12.3 +Provides: bundled(crate(hashbrown)) = 0.13.999 +Provides: bundled(crate(hashbrown)) = 0.14.5 +Provides: bundled(crate(hashlink)) = 0.9.1 +Provides: bundled(crate(heck)) = 0.4.1 +Provides: bundled(crate(hex)) = 0.4.3 +Provides: bundled(crate(hexf-parse)) = 0.2.1 +Provides: bundled(crate(http_sfv)) = 0.1.0 +Provides: bundled(crate(icu_capi)) = 1.4.0 +Provides: bundled(crate(icu_collections)) = 1.4.0 +Provides: bundled(crate(icu_locid)) = 1.4.0 +Provides: bundled(crate(icu_locid_transform)) = 1.4.0 +Provides: bundled(crate(icu_locid_transform_data)) = 1.4.0 +Provides: bundled(crate(icu_properties)) = 1.4.0 +Provides: bundled(crate(icu_properties_data)) = 1.4.0 +Provides: bundled(crate(icu_provider)) = 1.4.0 +Provides: bundled(crate(icu_provider_adapters)) = 1.4.0 +Provides: bundled(crate(icu_provider_macros)) = 1.4.0 +Provides: bundled(crate(icu_segmenter)) = 1.4.0 +Provides: bundled(crate(icu_segmenter_data)) = 1.4.0 +Provides: bundled(crate(id-arena)) = 2.2.1 +Provides: bundled(crate(ident_case)) = 1.0.1 +Provides: bundled(crate(idna)) = 0.5.0 +Provides: bundled(crate(indexmap)) = 1.9.3 +Provides: bundled(crate(indexmap)) = 2.2.6 +Provides: bundled(crate(inherent)) = 1.0.7 +Provides: bundled(crate(interrupt-support)) = 0.1.0 +Provides: bundled(crate(intl-memoizer)) = 0.5.1 +Provides: bundled(crate(intl_pluralrules)) = 7.0.2 +Provides: bundled(crate(io-lifetimes)) = 1.0.10 +Provides: bundled(crate(iovec)) = 0.1.4 +Provides: bundled(crate(ipcclientcerts-static)) = 0.1.0 +Provides: bundled(crate(itertools)) = 0.10.5 +Provides: bundled(crate(itoa)) = 1.0.5 +Provides: bundled(crate(itoa)) = 1.0.6 +Provides: bundled(crate(jobserver)) = 0.1.25 +Provides: bundled(crate(jog)) = 0.1.0 +Provides: bundled(crate(jsrust)) = 0.1.0 +Provides: bundled(crate(jsrust_shared)) = 0.1.0 +Provides: bundled(crate(keccak)) = 0.1.4 +Provides: bundled(crate(khronos_api)) = 3.1.0 +Provides: bundled(crate(kvstore)) = 0.1.0 +Provides: bundled(crate(l10nregistry)) = 0.3.0 +Provides: bundled(crate(l10nregistry-ffi)) = 0.1.0 +Provides: bundled(crate(lazycell)) = 1.3.0 +Provides: bundled(crate(lazy_static)) = 1.4.0 +Provides: bundled(crate(leb128)) = 0.2.5 +Provides: bundled(crate(libc)) = 0.2.144 +Provides: bundled(crate(libc)) = 0.2.153 +Provides: bundled(crate(libdbus-sys)) = 0.2.2 +Provides: bundled(crate(libloading)) = 0.8.3 +Provides: bundled(crate(libm)) = 0.2.6 +Provides: bundled(crate(libsqlite3-sys)) = 0.28.0 +Provides: bundled(crate(libudev)) = 0.2.0 +Provides: bundled(crate(libudev-sys)) = 0.1.3 +Provides: bundled(crate(linux-raw-sys)) = 0.3.7 +Provides: bundled(crate(linux-raw-sys)) = 0.4.12 +Provides: bundled(crate(litemap)) = 0.7.2 +Provides: bundled(crate(litrs)) = 0.4.1 +Provides: bundled(crate(lmdb-rkv)) = 0.14.0 +Provides: bundled(crate(lmdb-rkv-sys)) = 0.11.2 +Provides: bundled(crate(localization-ffi)) = 0.1.0 +Provides: bundled(crate(lock_api)) = 0.4.9 +Provides: bundled(crate(log)) = 0.4.17 +Provides: bundled(crate(log)) = 0.4.20 +Provides: bundled(crate(malloc_size_of)) = 0.0.1 +Provides: bundled(crate(malloc_size_of_derive)) = 0.1.3 +Provides: bundled(crate(mapped_hyph)) = 0.4.3 +Provides: bundled(crate(matches)) = 0.1.10 +Provides: bundled(crate(md-5)) = 0.10.5 +Provides: bundled(crate(mdns_service)) = 0.1.1 +Provides: bundled(crate(memalloc)) = 0.1.0 +Provides: bundled(crate(memchr)) = 2.5.0 +Provides: bundled(crate(memmap2)) = 0.5.999 +Provides: bundled(crate(memmap2)) = 0.8.999 +Provides: bundled(crate(memmap2)) = 0.9.3 +Provides: bundled(crate(memoffset)) = 0.8.999 +Provides: bundled(crate(memoffset)) = 0.9.0 +Provides: bundled(crate(midir)) = 0.7.0 +Provides: bundled(crate(midir_impl)) = 0.1.0 +Provides: bundled(crate(mime)) = 0.3.16 +Provides: bundled(crate(mime_guess)) = 2.0.4 +Provides: bundled(crate(mime-guess-ffi)) = 0.1.0 +Provides: bundled(crate(minimal-lexical)) = 0.2.1 +Provides: bundled(crate(miniz_oxide)) = 0.7.1 +Provides: bundled(crate(mio)) = 0.8.8 +Provides: bundled(crate(moz_asserts)) = 0.1.0 +Provides: bundled(crate(mozbuild)) = 0.1.0 +Provides: bundled(crate(moz_cbor)) = 0.1.2 +Provides: bundled(crate(mozglue-static)) = 0.1.0 +Provides: bundled(crate(mozilla-central-workspace-hack)) = 0.1.0 +Provides: bundled(crate(moz_task)) = 0.1.0 +Provides: bundled(crate(mozurl)) = 0.0.1 +Provides: bundled(crate(mp4parse)) = 0.17.0 +Provides: bundled(crate(mp4parse_capi)) = 0.17.0 +Provides: bundled(crate(murmurhash3)) = 0.0.5 +Provides: bundled(crate(naga)) = 0.20.0 +Provides: bundled(crate(neqo-common)) = 0.7.9 +Provides: bundled(crate(neqo-crypto)) = 0.7.9 +Provides: bundled(crate(neqo_glue)) = 0.1.0 +Provides: bundled(crate(neqo-http3)) = 0.7.9 +Provides: bundled(crate(neqo-qpack)) = 0.7.9 +Provides: bundled(crate(neqo-transport)) = 0.7.9 +Provides: bundled(crate(netwerk_helper)) = 0.0.1 +Provides: bundled(crate(new_debug_unreachable)) = 1.0.4 +Provides: bundled(crate(nix)) = 0.26.99 +Provides: bundled(crate(nix)) = 0.28.0 +Provides: bundled(crate(nom)) = 7.1.3 +Provides: bundled(crate(nserror)) = 0.1.0 +Provides: bundled(crate(nss_build_common)) = 0.1.0 +Provides: bundled(crate(nss-gk-api)) = 0.3.0 +Provides: bundled(crate(nsstring)) = 0.1.0 +Provides: bundled(crate(num-conv)) = 0.1.0 +Provides: bundled(crate(num_cpus)) = 1.15.0 +Provides: bundled(crate(num-derive)) = 0.4.2 +Provides: bundled(crate(num-integer)) = 0.1.45 +Provides: bundled(crate(num-traits)) = 0.2.15 +Provides: bundled(crate(object)) = 0.32.0 +Provides: bundled(crate(oblivious_http)) = 0.1.0 +Provides: bundled(crate(ohttp)) = 0.3.1 +Provides: bundled(crate(once_cell)) = 1.19.0 +Provides: bundled(crate(oneshot-uniffi)) = 0.1.6 +Provides: bundled(crate(ordered-float)) = 3.4.0 +Provides: bundled(crate(origin-trials-ffi)) = 0.1.0 +Provides: bundled(crate(origin-trial-token)) = 0.1.1 +Provides: bundled(crate(os_str_bytes)) = 6.5.0 +Provides: bundled(crate(oxilangtag)) = 0.1.3 +Provides: bundled(crate(oxilangtag-ffi)) = 0.1.0 +Provides: bundled(crate(parking_lot)) = 0.12.1 +Provides: bundled(crate(parking_lot_core)) = 0.9.9 +Provides: bundled(crate(paste)) = 1.0.11 +Provides: bundled(crate(peek-poke)) = 0.3.0 +Provides: bundled(crate(peek-poke-derive)) = 0.3.0 +Provides: bundled(crate(percent-encoding)) = 2.3.1 +Provides: bundled(crate(phf)) = 0.11.2 +Provides: bundled(crate(phf_codegen)) = 0.11.2 +Provides: bundled(crate(phf_generator)) = 0.11.2 +Provides: bundled(crate(phf_macros)) = 0.11.2 +Provides: bundled(crate(phf_shared)) = 0.11.2 +Provides: bundled(crate(pin-project-lite)) = 0.2.9 +Provides: bundled(crate(pin-utils)) = 0.1.0 +Provides: bundled(crate(pkcs11-bindings)) = 0.1.5 +Provides: bundled(crate(pkg-config)) = 0.3.26 +Provides: bundled(crate(plain)) = 0.2.3 +Provides: bundled(crate(plane-split)) = 0.18.0 +Provides: bundled(crate(powerfmt)) = 0.2.0 +Provides: bundled(crate(ppv-lite86)) = 0.2.17 +Provides: bundled(crate(precomputed-hash)) = 0.1.1 +Provides: bundled(crate(prefs_parser)) = 0.0.1 +Provides: bundled(crate(prio)) = 0.16.2 +Provides: bundled(crate(processtools)) = 0.1.0 +Provides: bundled(crate(proc-macro2)) = 1.0.74 +Provides: bundled(crate(proc-macro2)) = 1.0.85 +Provides: bundled(crate(profiler_helper)) = 0.1.0 +Provides: bundled(crate(profiler-macros)) = 0.1.0 +Provides: bundled(crate(profiling)) = 1.0.7 +Provides: bundled(crate(prost)) = 0.12.1 +Provides: bundled(crate(prost-derive)) = 0.12.1 +Provides: bundled(crate(pulse)) = 0.3.0 +Provides: bundled(crate(pulse-ffi)) = 0.1.0 +Provides: bundled(crate(qcms)) = 0.3.0 +Provides: bundled(crate(qlog)) = 0.13.0 +Provides: bundled(crate(quick-error)) = 1.2.3 +Provides: bundled(crate(quote)) = 1.0.27 +Provides: bundled(crate(quote)) = 1.0.35 +Provides: bundled(crate(rand)) = 0.8.5 +Provides: bundled(crate(rand_chacha)) = 0.3.1 +Provides: bundled(crate(rand_core)) = 0.6.4 +Provides: bundled(crate(raw-window-handle)) = 0.6.0 +Provides: bundled(crate(rayon)) = 1.6.1 +Provides: bundled(crate(rayon-core)) = 1.12.0 +Provides: bundled(crate(regex)) = 1.9.4 +Provides: bundled(crate(regex-automata)) = 0.3.7 +Provides: bundled(crate(regex-syntax)) = 0.7.5 +Provides: bundled(crate(relevancy)) = 0.1.0 +Provides: bundled(crate(remote_settings)) = 0.1.0 +Provides: bundled(crate(remove_dir_all)) = 0.5.3 +Provides: bundled(crate(replace_with)) = 0.1.7 +Provides: bundled(crate(ringbuf)) = 0.2.8 +Provides: bundled(crate(rkv)) = 0.19.0 +Provides: bundled(crate(ron)) = 0.8.1 +Provides: bundled(crate(rsclientcerts)) = 0.1.0 +Provides: bundled(crate(rsdparsa_capi)) = 0.1.0 +Provides: bundled(crate(runloop)) = 0.1.0 +Provides: bundled(crate(rure)) = 0.2.2 +Provides: bundled(crate(rusqlite)) = 0.31.0 +Provides: bundled(crate(rust_cascade)) = 1.5.0 +Provides: bundled(crate(rustc-demangle)) = 0.1.21 +Provides: bundled(crate(rustc-hash)) = 1.1.0 +Provides: bundled(crate(rustc_version)) = 0.4.0 +Provides: bundled(crate(rust_decimal)) = 1.28.1 +Provides: bundled(crate(rustix)) = 0.37.19 +Provides: bundled(crate(rustix)) = 0.38.28 +Provides: bundled(crate(ryu)) = 1.0.12 +Provides: bundled(crate(ryu)) = 1.0.13 +Provides: bundled(crate(same-file)) = 1.0.6 +Provides: bundled(crate(scopeguard)) = 1.1.0 +Provides: bundled(crate(scroll)) = 0.12.0 +Provides: bundled(crate(scroll_derive)) = 0.12.0 +Provides: bundled(crate(selectors)) = 0.22.0 +Provides: bundled(crate(self_cell)) = 0.10.2 +Provides: bundled(crate(semver)) = 1.0.16 +Provides: bundled(crate(serde)) = 1.0.163 +Provides: bundled(crate(serde)) = 1.0.203 +Provides: bundled(crate(serde_bytes)) = 0.11.9 +Provides: bundled(crate(serde_cbor)) = 0.11.2 +Provides: bundled(crate(serde_derive)) = 1.0.163 +Provides: bundled(crate(serde_derive)) = 1.0.203 +Provides: bundled(crate(serde_json)) = 1.0.116 +Provides: bundled(crate(serde_json)) = 1.0.96 +Provides: bundled(crate(serde_path_to_error)) = 0.1.11 +Provides: bundled(crate(serde_with)) = 3.0.0 +Provides: bundled(crate(serde_with_macros)) = 3.0.0 +Provides: bundled(crate(servo_arc)) = 0.1.1 +Provides: bundled(crate(sfv)) = 0.9.4 +Provides: bundled(crate(sha1)) = 0.10.5 +Provides: bundled(crate(sha2)) = 0.10.6 +Provides: bundled(crate(sha3)) = 0.10.8 +Provides: bundled(crate(shlex)) = 1.1.0 +Provides: bundled(crate(siphasher)) = 0.3.10 +Provides: bundled(crate(slab)) = 0.4.8 +Provides: bundled(crate(smallbitvec)) = 2.5.1 +Provides: bundled(crate(smallvec)) = 1.13.1 +Provides: bundled(crate(smawk)) = 0.3.2 +Provides: bundled(crate(socket2)) = 0.4.999 +Provides: bundled(crate(socket2)) = 0.5.7 +Provides: bundled(crate(spirv)) = 0.3.0+sdk-1.3.268.0 +Provides: bundled(crate(sql-support)) = 0.1.0 +Provides: bundled(crate(stable_deref_trait)) = 1.2.0 +Provides: bundled(crate(static_assertions)) = 1.1.0 +Provides: bundled(crate(static_prefs)) = 0.1.0 +Provides: bundled(crate(storage)) = 0.1.0 +Provides: bundled(crate(storage_variant)) = 0.1.0 +Provides: bundled(crate(strck)) = 0.1.2 +Provides: bundled(crate(strck_ident)) = 0.1.2 +Provides: bundled(crate(strsim)) = 0.10.0 +Provides: bundled(crate(style)) = 0.0.1 +Provides: bundled(crate(style_derive)) = 0.0.1 +Provides: bundled(crate(style_traits)) = 0.0.1 +Provides: bundled(crate(subtle)) = 2.5.0 +Provides: bundled(crate(suggest)) = 0.1.0 +Provides: bundled(crate(svg_fmt)) = 0.4.1 +Provides: bundled(crate(swgl)) = 0.1.0 +Provides: bundled(crate(syn)) = 1.0.109 +Provides: bundled(crate(syn)) = 2.0.16 +Provides: bundled(crate(syn)) = 2.0.46 +Provides: bundled(crate(sync15)) = 0.1.0 +Provides: bundled(crate(sync-guid)) = 0.1.0 +Provides: bundled(crate(synstructure)) = 0.13.1 +Provides: bundled(crate(tabs)) = 0.1.0 +Provides: bundled(crate(tempfile)) = 3.5.0 +Provides: bundled(crate(tempfile)) = 3.9.0 +Provides: bundled(crate(termcolor)) = 1.2.0 +Provides: bundled(crate(termcolor)) = 1.4.1 +Provides: bundled(crate(textwrap)) = 0.16.0 +Provides: bundled(crate(textwrap)) = 0.16.1 +Provides: bundled(crate(thin-vec)) = 0.2.12 +Provides: bundled(crate(thiserror)) = 1.0.61 +Provides: bundled(crate(thiserror-impl)) = 1.0.61 +Provides: bundled(crate(threadbound)) = 0.1.5 +Provides: bundled(crate(time)) = 0.1.45 +Provides: bundled(crate(time)) = 0.3.36 +Provides: bundled(crate(time-core)) = 0.1.2 +Provides: bundled(crate(time-macros)) = 0.2.18 +Provides: bundled(crate(tinystr)) = 0.7.4 +Provides: bundled(crate(tinyvec)) = 1.999.999 +Provides: bundled(crate(toml)) = 0.5.11 +Provides: bundled(crate(topological-sort)) = 0.1.0 +Provides: bundled(crate(to_shmem)) = 0.0.1 +Provides: bundled(crate(to_shmem_derive)) = 0.0.1 +Provides: bundled(crate(tracy-rs)) = 0.1.2 +Provides: bundled(crate(typed-arena-nomut)) = 0.1.0 +Provides: bundled(crate(type-map)) = 0.4.0 +Provides: bundled(crate(typenum)) = 1.16.0 +Provides: bundled(crate(types)) = 0.1.0 +Provides: bundled(crate(uluru)) = 3.0.0 +Provides: bundled(crate(unicase)) = 2.6.0 +Provides: bundled(crate(unic-langid)) = 0.9.5 +Provides: bundled(crate(unic-langid-ffi)) = 0.1.0 +Provides: bundled(crate(unic-langid-impl)) = 0.9.5 +Provides: bundled(crate(unicode-bidi)) = 0.3.15 +Provides: bundled(crate(unicode-bidi-ffi)) = 0.1.0 +Provides: bundled(crate(unicode-ident)) = 1.0.6 +Provides: bundled(crate(unicode-ident)) = 1.0.8 +Provides: bundled(crate(unicode-linebreak)) = 0.1.5 +Provides: bundled(crate(unicode-normalization)) = 0.1.22 +Provides: bundled(crate(unicode-width)) = 0.1.10 +Provides: bundled(crate(unicode-xid)) = 0.2.4 +Provides: bundled(crate(uniffi)) = 0.27.1 +Provides: bundled(crate(uniffi_bindgen)) = 0.27.1 +Provides: bundled(crate(uniffi_build)) = 0.27.1 +Provides: bundled(crate(uniffi_checksum_derive)) = 0.27.1 +Provides: bundled(crate(uniffi_core)) = 0.27.1 +Provides: bundled(crate(uniffi_macros)) = 0.27.1 +Provides: bundled(crate(uniffi_meta)) = 0.27.1 +Provides: bundled(crate(uniffi_testing)) = 0.27.1 +Provides: bundled(crate(uniffi_udl)) = 0.27.1 +Provides: bundled(crate(url)) = 2.5.0 +Provides: bundled(crate(utf8_iter)) = 1.0.3 +Provides: bundled(crate(uuid)) = 1.3.0 +Provides: bundled(crate(vcpkg)) = 0.2.999 +Provides: bundled(crate(version_check)) = 0.9.4 +Provides: bundled(crate(viaduct)) = 0.1.0 +Provides: bundled(crate(void)) = 1.0.2 +Provides: bundled(crate(walkdir)) = 2.3.2 +Provides: bundled(crate(wasm-encoder)) = 0.205.0 +Provides: bundled(crate(wast)) = 205.0.0 +Provides: bundled(crate(webext-storage)) = 0.1.0 +Provides: bundled(crate(webext_storage_bridge)) = 0.1.0 +Provides: bundled(crate(webrender)) = 0.62.0 +Provides: bundled(crate(webrender_api)) = 0.62.0 +Provides: bundled(crate(webrender_bindings)) = 0.1.0 +Provides: bundled(crate(webrender_build)) = 0.0.2 +Provides: bundled(crate(webrtc-sdp)) = 0.3.11 +Provides: bundled(crate(weedle2)) = 5.0.0 +Provides: bundled(crate(wgpu_bindings)) = 0.1.0 +Provides: bundled(crate(wgpu-core)) = 0.20.0 +Provides: bundled(crate(wgpu-hal)) = 0.20.0 +Provides: bundled(crate(wgpu-types)) = 0.20.0 +Provides: bundled(crate(whatsys)) = 0.3.1 +Provides: bundled(crate(wpf-gpu-raster)) = 0.1.0 +Provides: bundled(crate(wr_glyph_rasterizer)) = 0.1.0 +Provides: bundled(crate(writeable)) = 0.5.4 +Provides: bundled(crate(wr_malloc_size_of)) = 0.0.2 +Provides: bundled(crate(xmldecl)) = 0.2.0 +Provides: bundled(crate(xml-rs)) = 0.8.4 +Provides: bundled(crate(xpcom)) = 0.1.0 +Provides: bundled(crate(xpcom_macros)) = 0.1.0 +Provides: bundled(crate(yoke)) = 0.7.3 +Provides: bundled(crate(yoke-derive)) = 0.7.3 +Provides: bundled(crate(zeitstempel)) = 0.1.1 +Provides: bundled(crate(zerocopy)) = 0.7.32 +Provides: bundled(crate(zerofrom)) = 0.1.2 +Provides: bundled(crate(zerofrom-derive)) = 0.1.3 +Provides: bundled(crate(zerovec)) = 0.10.1 +Provides: bundled(crate(zerovec-derive)) = 0.10.1 + %description Mozilla Firefox is an open-source web browser, designed for standards compliance, performance and portability. -%if %{with langpacks_subpkg} -%package langpacks -Summary: Firefox langpacks -Requires: %{name} = %{version}-%{release} - -%description langpacks -The firefox-langpacks package contains all the localization -and translations langpack add-ons. - -%files langpacks -f %{name}.lang -%dir %{langpackdir} -%endif - -%if %{enable_mozilla_crashreporter} -%global moz_debug_prefix %{_prefix}/lib/debug -%global moz_debug_dir %{moz_debug_prefix}%{mozappdir} -%global uname_m %(uname -m) -%global symbols_file_name %{name}-%{version}.en-US.%{_os}-%{uname_m}.crashreporter-symbols.zip -%global symbols_file_path %{moz_debug_dir}/%{symbols_file_name} -%global _find_debuginfo_opts -p %{symbols_file_path} -o debugcrashreporter.list -%global crashreporter_pkg_name mozilla-crashreporter-%{name}-debuginfo - -%package -n %{crashreporter_pkg_name} -Summary: Debugging symbols used by Mozilla's crash reporter servers - -%description -n %{crashreporter_pkg_name} -This package provides debug information for Firefox, for use by -Mozilla's crash reporter servers. If you are trying to locally -debug %{name}, you want to install %{name}-debuginfo instead. - -%files -n %{crashreporter_pkg_name} -f debugcrashreporter.list -%endif - -%package x11 -Summary: Firefox X11 launcher. -Requires: %{name} - -%description x11 -The firefox-x11 package contains launcher and desktop file -to run Firefox explicitly on X11. - -%package wayland -Summary: Firefox Wayland launcher. -Requires: %{name} - -%description wayland -The firefox-wayland package contains launcher and desktop file -to run Firefox explicitly on Wayland. - %if 0%{?run_firefox_tests} %global testsuite_pkg_name %{name}-testresults %package -n %{testsuite_pkg_name} Summary: Results of testsuite - %description -n %{testsuite_pkg_name} This package contains results of tests executed during build. - %files -n %{testsuite_pkg_name} /%{version}-%{release}/test_results /%{version}-%{release}/test_summary.txt /%{version}-%{release}/failures-* %endif -%prep -%setup -q -n %{tarballdir} +#--------------------------------------------------------------------- -%patch -P40 -p1 -b .aarch64-skia -%patch -P44 -p1 -b .build-arm-libopus -%patch -P47 -p1 -b .fedora-shebang -%patch -P53 -p1 -b .firefox-gcc-build -%patch -P54 -p1 -b .1669639 -%patch -P71 -p1 -b .0001-GLIBCXX-fix-for-GCC-12 -%patch -P78 -p1 -b .firefox-i686 -%patch -P79 -p1 -b .firefox-gcc-13-build - -%patch -P102 -p1 -b .firefox-tests-xpcshell-freeze - -%patch -P215 -p1 -b .addons -%patch -P219 -p1 -b .rhbz-1173156 +%prep +echo "Build environment" +echo "--------------------------------------------" +echo "dist %{?dist}" +echo "bundle_nss %{?bundle_nss}" +echo "system_nss %{?system_nss}" +echo "use_dts %{?use_dts}" +echo "use_nodejs_scl %{?use_nodejs_scl}" +echo "use_python3_scl %{?use_python3_scl}" +echo "--------------------------------------------" +#clang -print-search-dirs +%setup -q -n %{name}-%{version} + +# -- Downstream only -- +%patch -P1 -p1 -b .disable-elfhack +%patch -P2 -p1 -b .firefox-gcc-build +%patch -P3 -p1 -b .build-big-endian-errors +%patch -P9 -p1 -b .rhbz-2131158-webrtc-nss-fix +%patch -P10 -p1 -b .build-ffvpx + +# -- Upstreamed patches -- +%patch -P51 -p1 -b .mozilla-bmo1170092 + +# -- Submitted upstream, not merged -- +%patch -P101 -p1 -b .mozilla-bmo1636168-fscreen +%patch -P102 -p1 -b .mozilla-bmo1670333 +%patch -P103 -p1 -b .mozilla-bmo1504834-part1 +%patch -P104 -p1 -b .mozilla-bmo1504834-part3 +%patch -P105 -p1 -b .mozilla-bmo849632 +%patch -P106 -p1 -b .mozilla-bmo998749 +%patch -P107 -p1 -b .mozilla-bmo1716707-swizzle +%patch -P108 -p1 -b .mozilla-bmo1716707-svg +%patch -P109 -p1 -b .mozilla-bmo1789216-disable-av1 +%patch -P110 -p1 -b .libaom + +# ---- Fedora specific patches ---- +%patch -P151 -p1 -b .addons +%patch -P152 -p1 -b .rhbz-1173156 +%patch -P154 -p1 -b .addons-nss-hack +# ARM run-time patch %ifarch aarch64 -%patch -P226 -p1 -b .1354671 +%patch -P155 -p1 -b .rhbz-1354671 %endif -%patch -P228 -p1 -b .disable-openh264-download -%patch -P229 -p1 -b .firefox-nss-addon-hack -%patch -P230 -p1 -b .firefox-enable-vaapi -%patch -P402 -p1 -b .1196777 -%patch -P407 -p1 -b .1667096 +# ---- Security patches ---- -%if %{build_with_pgo} -%if !%{build_with_clang} -%patch -P600 -p1 -b .pgo -%endif -%endif -%patch -P603 -p1 -b .inline - -%patch -P1200 -p1 -b .rustflags-commasplit - -%patch1201 -p1 -%patch1202 -p1 -%patch1203 -p1 -%patch1204 -p1 -%patch1205 -p1 -%patch1206 -p1 - -rm -f .mozconfig -cp %{SOURCE10} .mozconfig -echo "ac_add_options --enable-default-toolkit=cairo-gtk3-wayland" >> .mozconfig -%if %{official_branding} -echo "ac_add_options --enable-official-branding" >> .mozconfig -%endif -cp %{SOURCE24} mozilla-api-key -cp %{SOURCE27} google-api-key -cp %{SOURCE35} google-loc-api-key +%{__rm} -f .mozconfig +%{__cp} %{SOURCE10} .mozconfig +%{__cp} %{SOURCE24} mozilla-api-key +%{__cp} %{SOURCE27} google-api-key +%{__cp} %{SOURCE35} google-loc-api-key echo "ac_add_options --prefix=\"%{_prefix}\"" >> .mozconfig echo "ac_add_options --libdir=\"%{_libdir}\"" >> .mozconfig @@ -469,24 +1005,15 @@ echo "ac_add_options --without-system-nspr" >> .mozconfig echo "ac_add_options --without-system-nss" >> .mozconfig %endif -%if %{?system_libevent} -echo "ac_add_options --with-system-libevent" >> .mozconfig -%endif - -%if %{?system_ffi} -echo "ac_add_options --enable-system-ffi" >> .mozconfig -%endif - -%ifarch aarch64 -echo "ac_add_options --disable-elf-hack" >> .mozconfig -%endif - %if %{?debug_build} echo "ac_add_options --enable-debug" >> .mozconfig echo "ac_add_options --disable-optimize" >> .mozconfig %else %global optimize_flags "none" -%ifarch aarch64 +%ifarch s390x +%global optimize_flags "-g -O1" +%endif +%ifarch ppc64le aarch64 %global optimize_flags "-g -O2" %endif %if %{optimize_flags} != "none" @@ -497,69 +1024,99 @@ echo 'ac_add_options --enable-optimize' >> .mozconfig echo "ac_add_options --disable-debug" >> .mozconfig %endif -%ifnarch x86_64 +# Second arches fail to start with jemalloc enabled +%ifnarch %{ix86} x86_64 echo "ac_add_options --disable-jemalloc" >> .mozconfig %endif -%if !%{enable_mozilla_crashreporter} -echo "ac_add_options --disable-crashreporter" >> .mozconfig -%endif - %if 0%{?build_tests} echo "ac_add_options --enable-tests" >> .mozconfig %else echo "ac_add_options --disable-tests" >> .mozconfig %endif -%if !%{?system_jpeg} -echo "ac_add_options --without-system-jpeg" >> .mozconfig -%else -echo "ac_add_options --with-system-jpeg" >> .mozconfig -%endif - -%if %{?system_pixman} -echo "ac_add_options --enable-system-pixman" >> .mozconfig -%endif - -%if %{?system_webp} -echo "ac_add_options --with-system-webp" >> .mozconfig -%else -echo "ac_add_options --without-system-webp" >> .mozconfig -%endif - %if %{?system_libvpx} echo "ac_add_options --with-system-libvpx" >> .mozconfig %else echo "ac_add_options --without-system-libvpx" >> .mozconfig %endif -%if %{build_with_asan} -echo "ac_add_options --enable-address-sanitizer" >> .mozconfig -echo "ac_add_options --disable-jemalloc" >> .mozconfig +%ifarch s390x +echo "ac_add_options --disable-jit" >> .mozconfig +%endif + +%ifarch ppc64 ppc64le +echo "ac_add_options --disable-webrtc" >> .mozconfig +echo "ac_add_options --disable-lto" >> .mozconfig %endif +echo "ac_add_options --disable-lto" >> .mozconfig + +# api keys full path echo "ac_add_options --with-mozilla-api-keyfile=`pwd`/mozilla-api-key" >> .mozconfig echo "ac_add_options --with-google-location-service-api-keyfile=`pwd`/google-loc-api-key" >> .mozconfig echo "ac_add_options --with-google-safebrowsing-api-keyfile=`pwd`/google-api-key" >> .mozconfig +# May result in empty --with-libclang-path= in earlier versions. +# So far this is needed only for c8s/c9s. +# Clang 17 upstream's detection fails, tell it where to look. +echo "ac_add_options --with-libclang-path=`llvm-config --libdir`" >> .mozconfig + echo 'export NODEJS="%{_buildrootdir}/bin/node-stdout-nonblocking-wrapper"' >> .mozconfig +# Remove executable bit to make brp-mangle-shebangs happy. chmod -x third_party/rust/itertools/src/lib.rs chmod a-x third_party/rust/ash/src/extensions/ext/*.rs chmod a-x third_party/rust/ash/src/extensions/khr/*.rs chmod a-x third_party/rust/ash/src/extensions/nv/*.rs +#--------------------------------------------------------------------- + %build +# TODO: causes SIGSEGV on the webrender compilation, we might remove it with newer rust version +# Disable LTO to work around rhbz#1883904 %define _lto_cflags %{nil} -%if 0%{?use_bundled_cbindgen} +export PATH="%{_buildrootdir}/bin:$PATH" +# Cleanup buildroot for existing rpms from bundled nss/nspr and other packages +rm -rf %{_buildrootdir}/* + +function install_rpms_to_current_dir() { + PACKAGE_RPM=$(eval echo $1) + PACKAGE_DIR=%{_rpmdir} + + if [ ! -f $PACKAGE_DIR/$PACKAGE_RPM ]; then + # Hack for tps tests + ARCH_STR=%{_arch} + %ifarch %{ix86} + ARCH_STR="i?86" + %endif + PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR" + fi + + for package in $(ls $PACKAGE_DIR/$PACKAGE_RPM) + do + echo "$package" + rpm2cpio "$package" | cpio -ivdu + done +} + +# Enable toolsets +set +e + +set -e +env +which gcc +which c++ +which g++ +which ld +which nasm +which node +which python3 +# Bundled cbindgen mkdir -p my_rust_vendor cd my_rust_vendor -tar xf %{SOURCE2} -%ifarch loongarch64 -rm -rf %{_builddir}/%{name}-%{version}/my_rust_vendor/libc/ -cp -r /usr/share/cargo/vendor/libc %{_builddir}/%{name}-%{version}/my_rust_vendor -%endif +%{__tar} xf %{SOURCE2} mkdir -p .cargo cat > .cargo/config <> .mozconfig %endif -%if %{build_with_asan} -MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fsanitize=address -Dxmalloc=myxmalloc" -MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -fsanitize=address -ldl" + +%if 0%{?bundle_nss} + mkdir -p %{_buildrootdir}%{bundled_install_path}/%{_lib} + MOZ_LINK_FLAGS="-L%{_buildrootdir}%{bundled_install_path}/%{_lib} $MOZ_LINK_FLAGS" + MOZ_LINK_FLAGS="-Wl,-rpath,%{bundled_install_path}/%{_lib} $MOZ_LINK_FLAGS" + MOZ_LINK_FLAGS="-Wl,-rpath-link,%{_buildrootdir}%{bundled_install_path}/%{_lib} $MOZ_LINK_FLAGS" %endif +# We don't wantfirefox to use CK_GCM_PARAMS_V3 in nss MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -DNSS_PKCS11_3_0_STRICT" echo "export CFLAGS=\"$MOZ_OPT_FLAGS\"" >> .mozconfig echo "export CXXFLAGS=\"$MOZ_OPT_FLAGS\"" >> .mozconfig echo "export LDFLAGS=\"$MOZ_LINK_FLAGS\"" >> .mozconfig - -%if %{build_with_clang} -echo "export LLVM_PROFDATA=\"llvm-profdata\"" >> .mozconfig -echo "export AR=\"llvm-ar\"" >> .mozconfig -echo "export NM=\"llvm-nm\"" >> .mozconfig -echo "export RANLIB=\"llvm-ranlib\"" >> .mozconfig -echo "ac_add_options --enable-linker=lld" >> .mozconfig -%else echo "export CC=gcc" >> .mozconfig echo "export CXX=g++" >> .mozconfig echo "export AR=\"gcc-ar\"" >> .mozconfig echo "export NM=\"gcc-nm\"" >> .mozconfig echo "export RANLIB=\"gcc-ranlib\"" >> .mozconfig -%endif -%if 0%{?build_with_pgo} -echo "ac_add_options MOZ_PGO=1" >> .mozconfig -export CCACHE_DISABLE=1 -%endif - -%constrain_build -m 2048 -echo "mk_add_options MOZ_MAKE_FLAGS=\"-j%{_smp_build_ncpus}\"" >> .mozconfig +MOZ_SMP_FLAGS=-j1 +# On x86_64 architectures, Mozilla can build up to 4 jobs at once in parallel, +# however builds tend to fail on other arches when building in parallel. +#%ifarch %{ix86} s390x aarch64 ppc64le +#[ -z "$RPM_BUILD_NCPUS" ] && \ +# RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`" +#[ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2 +#%endif +#%ifarch x86_64 ppc ppc64 ppc64le +[ -z "$RPM_BUILD_NCPUS" ] && \ + RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`" +[ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2 +[ "$RPM_BUILD_NCPUS" -ge 4 ] && MOZ_SMP_FLAGS=-j4 +[ "$RPM_BUILD_NCPUS" -ge 8 ] && MOZ_SMP_FLAGS=-j8 +[ "$RPM_BUILD_NCPUS" -ge 16 ] && MOZ_SMP_FLAGS=-j16 +#%endif + +echo "mk_add_options MOZ_MAKE_FLAGS=\"$MOZ_SMP_FLAGS\"" >> .mozconfig echo "mk_add_options MOZ_SERVICES_SYNC=1" >> .mozconfig echo "export STRIP=/bin/true" >> .mozconfig %if %{launch_wayland_compositor} -cp %{SOURCE45} . -. ./run-wayland-compositor +cp %{SOURCE36} . +. ./testing.sh run_wayland_compositor %endif -%if %{build_with_pgo} -%if %{test_on_wayland} -env | grep "WAYLAND" -MOZ_ENABLE_WAYLAND=1 ./mach build -v 2>&1 | cat - || exit 1 -%else -xvfb-run ./mach build -v 2>&1 | cat - || exit 1 -%endif -%else -./mach build -v 2>&1 | cat - || exit 1 +# We could use %%include, but in %%files, %%post and other sections, but in these +# sections it could lead to syntax errors about unclosed %%if. Work around it by +# using the following macro +%define include_file() %{expand:%(cat '%1')} + +%if 0%{?bundle_nss} + echo "Setting nss flags" + # nss-setup-flags-env.inc + %include_file %{SOURCE401} + export PATH=%{_buildrootdir}/%{bundled_install_path}/bin:$PATH + echo $PKG_CONFIG_PATH %endif +./mach build -v 2>&1 || exit 1 + +#--------------------------------------------------------------------- %install -export MACH_USE_SYSTEM_PYTHON=1 +export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system +function install_rpms_to_current_dir() { + PACKAGE_RPM=$(eval echo $1) + PACKAGE_DIR=%{_rpmdir} + + if [ ! -f $PACKAGE_DIR/$PACKAGE_RPM ]; then + # Hack for tps tests + ARCH_STR=%{_arch} + %ifarch %{ix86} + ARCH_STR="i?86" + %endif + PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR" + fi + + for package in $(ls $PACKAGE_DIR/$PACKAGE_RPM) + do + echo "$package" + rpm2cpio "$package" | cpio -ivdu + done +} + +%if 0%{?bundle_nss} + pushd %{buildroot} + install_rpms_to_current_dir nspr-4*.rpm + install_rpms_to_current_dir nss-3*.rpm + install_rpms_to_current_dir nss-softokn-3*.rpm + install_rpms_to_current_dir nss-softokn-freebl-3*.rpm + install_rpms_to_current_dir nss-util-3*.rpm + + # cleanup unecessary nss files + rm -rf %{buildroot}/%{bundled_install_path}/lib/dracut + rm -rf %{buildroot}/%{bundled_install_path}/%{_lib}/nss + rm -rf %{buildroot}/%{bundled_install_path}/%{_lib}/share + rm -rf %{buildroot}/%{bundled_install_path}/share + rm -rf %{buildroot}/etc/pki + rm -rf %{buildroot}/usr/lib/.build-id + rm -rf %{buildroot}/etc/crypto-policies + popd +%endif + +# run Firefox test suite %if %{launch_wayland_compositor} -cp %{SOURCE45} . -. ./run-wayland-compositor +cp %{SOURCE36} . +. ./testing.sh run_wayland_compositor %endif %if 0%{?run_firefox_tests} -mkdir -p objdir/_virtualenvs/init_py3 -cat > objdir/_virtualenvs/init_py3/pip.conf << EOF + mkdir -p objdir/_virtualenvs/init_py3 + %{__cat} > objdir/_virtualenvs/init_py3/pip.conf << EOF [global] find-links=`pwd`/mochitest-python no-index=true EOF -tar xf %{SOURCE37} -cp %{SOURCE40} %{SOURCE41} %{SOURCE42} %{SOURCE38} %{SOURCE39} %{SOURCE43} %{SOURCE44} . -mkdir -p test_results -%if %{test_on_wayland} -./run-tests-wayland || true -%else -./run-tests-x11 || true -%endif -./print_results > test_summary.txt 2>&1 || true -./print_failures || true -%endif - -cat > objdir/dist/bin/browser/defaults/preferences/firefox-l10n.js << EOF + tar xf %{SOURCE37} + cp %{SOURCE36} . + mkdir -p test_results + %if %{?test_on_wayland} + ./testing.sh run_tests_wayland || true + %else + ./testing.sh run_tests_x11 || true + %endif + ./testing.sh print_results > test_summary.txt 2>&1 || true + ./testing.sh print_failures || true +%endif + +# set up our default bookmarks +#%if !0%{?flatpak} + #%global default_bookmarks_file /usr/share/bookmarks/default-bookmarks.html + #%{__cp} -p %{default_bookmarks_file} objdir/dist/bin/browser/chrome/browser/content/browser/default-bookmarks.html +#%endif + +# Make sure locale works for langpacks +%{__cat} > objdir/dist/bin/browser/defaults/preferences/firefox-l10n.js << EOF pref("general.useragent.locale", "chrome://global/locale/intl.properties"); EOF DESTDIR=%{buildroot} make -C objdir install -mkdir -p %{buildroot}{%{_libdir},%{_bindir},%{_datadir}/applications} + +%{__mkdir_p} %{buildroot}{%{_libdir},%{_bindir},%{_datadir}/applications} desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE20} -desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE31} -desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE29} -rm -rf %{buildroot}%{_bindir}/firefox -sed -e 's,/__PREFIX__,%{_prefix},g' %{SOURCE21} > %{buildroot}%{_bindir}/firefox -chmod 755 %{buildroot}%{_bindir}/firefox +# set up the firefox start script +%{__rm} -rf %{buildroot}%{_bindir}/firefox +%{__sed} -e 's,/__PREFIX__,%{_prefix},g' %{SOURCE21} > %{buildroot}%{_bindir}/firefox +%{__chmod} 755 %{buildroot}%{_bindir}/firefox + +%if 0%{?flatpak} +sed -i -e 's|%FLATPAK_ENV_VARS%|export TMPDIR="$XDG_CACHE_HOME/tmp"|' %{buildroot}%{_bindir}/firefox +%else sed -i -e 's|%FLATPAK_ENV_VARS%||' %{buildroot}%{_bindir}/firefox -sed -e 's,/__PREFIX__,%{_prefix},g' %{SOURCE30} > %{buildroot}%{_bindir}/firefox-x11 -chmod 755 %{buildroot}%{_bindir}/firefox-x11 -sed -e 's,/__PREFIX__,%{_prefix},g' %{SOURCE28} > %{buildroot}%{_bindir}/firefox-wayland -chmod 755 %{buildroot}%{_bindir}/firefox-wayland +%endif -install -p -D -m 644 %{SOURCE23} %{buildroot}%{_mandir}/man1/firefox.1 -rm -f %{buildroot}/%{mozappdir}/firefox-config -rm -f %{buildroot}/%{mozappdir}/update-settings.ini +%{__install} -p -D -m 644 %{SOURCE23} %{buildroot}%{_mandir}/man1/firefox.1 + +%{__rm} -f %{buildroot}/%{mozappdir}/firefox-config +%{__rm} -f %{buildroot}/%{mozappdir}/update-settings.ini for s in 16 22 24 32 48 256; do - mkdir -p %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps - cp -p browser/branding/official/default${s}.png \ - %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps/firefox.png + %{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps + %{__cp} -p browser/branding/official/default${s}.png \ + %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps/firefox.png done -mkdir -p %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps -cp -p %{SOURCE25} \ - %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps +# Install hight contrast icon +%{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps +%{__cp} -p %{SOURCE25} \ + %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps echo > %{name}.lang %if %{with langpacks} -mkdir -p %{buildroot}%{langpackdir} -for langpack in %{_sourcedir}/*.xpi; do +# Extract langpacks, make any mods needed, repack the langpack, and install it. +%{__mkdir_p} %{buildroot}%{langpackdir} +%{__tar} xf %{SOURCE1} +for langpack in `ls firefox-langpacks/*.xpi`; do language=`basename $langpack .xpi` extensionID=langpack-$language@firefox.mozilla.org - mkdir -p $extensionID + %{__mkdir_p} $extensionID unzip -qq $langpack -d $extensionID find $extensionID -type f | xargs chmod 644 @@ -717,11 +1361,17 @@ for langpack in %{_sourcedir}/*.xpi; do zip -qq -r9mX ../${extensionID}.xpi * cd - - install -m 644 ${extensionID}.xpi %{buildroot}%{langpackdir} + %{__install} -m 644 ${extensionID}.xpi %{buildroot}%{langpackdir} language=`echo $language | sed -e 's/-/_/g'` +%if 0%{?flatpak} + echo "%{langpackdir}/${extensionID}.xpi" >> %{name}.lang +%else echo "%%lang($language) %{langpackdir}/${extensionID}.xpi" >> %{name}.lang +%endif done +%{__rm} -rf firefox-langpacks +# Install langpack workaround (see #707100, #821169) function create_default_langpack() { language_long=$1 language_short=$2 @@ -731,92 +1381,130 @@ cd - echo "%%lang($language_short) %{langpackdir}/langpack-$language_short@firefox.mozilla.org.xpi" >> %{name}.lang } -create_default_langpack "zh-CN" "zh" -%endif +# Table of fallbacks for each language +#create_default_langpack "bn-IN" "bn" +create_default_langpack "es-AR" "es" +create_default_langpack "fy-NL" "fy" +create_default_langpack "ga-IE" "ga" +create_default_langpack "gu-IN" "gu" +create_default_langpack "hi-IN" "hi" +create_default_langpack "hy-AM" "hy" +create_default_langpack "nb-NO" "nb" +create_default_langpack "nn-NO" "nn" +create_default_langpack "pa-IN" "pa" +create_default_langpack "pt-PT" "pt" +create_default_langpack "sv-SE" "sv" +create_default_langpack "zh-TW" "zh" +%endif + +# Keep compatibility with the old preference location. +%{__mkdir_p} %{buildroot}%{mozappdir}/defaults/preferences +%{__mkdir_p} %{buildroot}%{mozappdir}/browser/defaults +ln -s %{mozappdir}/defaults/preferences $RPM_BUILD_ROOT/%{mozappdir}/browser/defaults/preferences +# Default preferences +%{__cp} %{SOURCE12} %{buildroot}%{mozappdir}/defaults/preferences/all-anolis.js +sed -i -e 's|%PREFIX%|%{_prefix}|' %{buildroot}%{mozappdir}/defaults/preferences/all-anolis.js +sed -i -e 's|%HOMEPAGE%|%{homepage}|' %{buildroot}%{mozappdir}/defaults/preferences/all-anolis.js + +# System config dir +%{__mkdir_p} %{buildroot}/%{_sysconfdir}/%{name}/pref + +# System extensions +%global firefox_app_id \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\} +%{__mkdir_p} %{buildroot}%{_datadir}/mozilla/extensions/%{firefox_app_id} +%{__mkdir_p} %{buildroot}%{_libdir}/mozilla/extensions/%{firefox_app_id} -mkdir -p %{buildroot}/%{mozappdir}/browser/defaults/preferences -mkdir -p %{buildroot}/%{_sysconfdir}/%{name}/pref -mkdir -p %{buildroot}%{_datadir}/mozilla/extensions/%{firefox_app_id} -mkdir -p %{buildroot}%{_libdir}/mozilla/extensions/%{firefox_app_id} -install -p -c -m 644 LICENSE %{buildroot}/%{mozappdir} -rm -rf %{buildroot}%{mozappdir}/dictionaries -ln -s %{_datadir}/hunspell %{buildroot}%{mozappdir}/dictionaries +# Copy over the LICENSE +%{__install} -p -c -m 644 LICENSE %{buildroot}/%{mozappdir} -%if %{enable_mozilla_crashreporter} -./mach buildsymbols -sed -i -e "s/\[Crash Reporter\]/[Crash Reporter]\nEnabled=1/" %{buildroot}/%{mozappdir}/application.ini -mkdir -p %{buildroot}/%{moz_debug_dir} -cp objdir/dist/%{symbols_file_name} %{buildroot}/%{moz_debug_dir} -%endif +# Use the system hunspell dictionaries +%{__rm} -rf %{buildroot}%{mozappdir}/dictionaries +ln -s %{_datadir}/myspell %{buildroot}%{mozappdir}/dictionaries %if 0%{?run_firefox_tests} -mkdir -p %{buildroot}/%{version}-%{release}/test_results -cp test_results/* %{buildroot}/%{version}-%{release}/test_results -cp test_summary.txt %{buildroot}/%{version}-%{release}/ -cp failures-* %{buildroot}/%{version}-%{release}/ || true +%{__mkdir_p} %{buildroot}/%{version}-%{release}/test_results +%{__cp} test_results/* %{buildroot}/%{version}-%{release}/test_results +%{__cp} test_summary.txt %{buildroot}/%{version}-%{release}/ +%{__cp} failures-* %{buildroot}/%{version}-%{release}/ || true %endif -cp %{SOURCE12} %{buildroot}%{mozappdir}/browser/defaults/preferences -%if %{?use_xdg_file_portal} -echo 'pref("widget.use-xdg-desktop-portal.file-picker", 1);' >> %{buildroot}%{mozappdir}/browser/defaults/preferences/firefox-anolis-default-prefs.js -%endif - -cp build/unix/run-mozilla.sh %{buildroot}%{mozappdir} +# Add distribution.ini +%{__mkdir_p} %{buildroot}%{mozappdir}/distribution +%{__cp} %{SOURCE26} %{buildroot}%{mozappdir}/distribution -mkdir -p %{buildroot}%{mozappdir}/distribution -cp %{SOURCE26} %{buildroot}%{mozappdir}/distribution +# CentOS +%if 0%{?centos} +%{__sed} -ie 's/redhat/centos/g' %{buildroot}%{mozappdir}/distribution +(source /etc/os-release; %{__sed} -ie 's/Red Hat Enterprise Linux/$NAME/' %{buildroot}%{mozappdir}/distribution) +cat %{buildroot}%{mozappdir}/distribution +%endif +# Install appdata file mkdir -p %{buildroot}%{_datadir}/metainfo -sed -e "s/__VERSION__/%{version}/" \ - -e "s/__DATE__/$(date '+%F')/" \ - %{SOURCE33} > %{buildroot}%{_datadir}/metainfo/firefox.appdata.xml +%{__sed} -e "s/__VERSION__/%{version}/" \ + -e "s/__DATE__/$(date '+%Y-%m-%d')/" \ + %{SOURCE33} > %{buildroot}%{_datadir}/metainfo/firefox.appdata.xml +# Install Gnome search provider files mkdir -p %{buildroot}%{_datadir}/gnome-shell/search-providers -cp %{SOURCE34} %{buildroot}%{_datadir}/gnome-shell/search-providers - -rm -f %{buildroot}%{mozappdirdev}/sdk/lib/libmozjs.so -rm -f %{buildroot}%{mozappdirdev}/sdk/lib/libmozalloc.so -rm -f %{buildroot}%{mozappdirdev}/sdk/lib/libxul.so - -%pretrans -p -require 'posix' -require 'os' -if (posix.stat("%{mozappdir}/browser/defaults/preferences", "type") == "link") then - posix.unlink("%{mozappdir}/browser/defaults/preferences") - posix.mkdir("%{mozappdir}/browser/defaults/preferences") - if (posix.stat("%{mozappdir}/defaults/preferences", "type") == "directory") then - for i,filename in pairs(posix.dir("%{mozappdir}/defaults/preferences")) do - os.rename("%{mozappdir}/defaults/preferences/"..filename, "%{mozappdir}/browser/defaults/preferences/"..filename) - end - f = io.open("%{mozappdir}/defaults/preferences/README","w") - if f then - f:write("Content of this directory has been moved to %{mozappdir}/browser/defaults/preferences.") - f:close() - end - end -end +%{__cp} %{SOURCE34} %{buildroot}%{_datadir}/gnome-shell/search-providers + +# Remove gtk2 support as flash plugin is no longer supported +rm -rf %{buildroot}%{mozappdir}/gtk2/ + +# Create a symlink to replace libnssckbi.so with p11-kit-client.so +# instead of p11-kit-trust.so, so that Firefox can see the system +# trust store on the host through the p11-kit RPC protocol. A symlink +# to libnss3.so is also needed, because Firefox tries to load +# libnssckbi.so from the same directory where libnss3.so is loaded (as +# of Firefox 89). +%if 0%{?flatpak} +ln -sf /usr/lib64/libnss3.so %{buildroot}%{_libdir}/libnss3.so +ln -sf /usr/lib64/pkcs11/p11-kit-client.so %{buildroot}%{_libdir}/libnssckbi.so +%endif + +# clean the created bundled rpms if there are any +rm -rf %{_srcrpmdir}/libffi*.src.rpm +find %{_rpmdir} -name "libffi*.rpm" -delete +rm -rf %{_srcrpmdir}/openssl*.src.rpm +find %{_rpmdir} -name "openssl*.rpm" -delete +rm -rf %{_srcrpmdir}/nss*.src.rpm +find %{_rpmdir} -name "nss*.rpm" -delete +rm -rf %{_srcrpmdir}/nspr*.src.rpm +find %{_rpmdir} -name "nspr*.rpm" -delete + +#--------------------------------------------------------------------- %check appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/*.appdata.xml %preun +# is it a final removal? if [ $1 -eq 0 ]; then - rm -rf %{mozappdir}/components - rm -rf %{mozappdir}/extensions - rm -rf %{mozappdir}/plugins - rm -rf %{langpackdir} + %{__rm} -rf %{mozappdir}/components + %{__rm} -rf %{mozappdir}/extensions + %{__rm} -rf %{mozappdir}/plugins fi -%if %{with langpacks_subpkg} -%files -%else +%post +update-desktop-database &> /dev/null || : +touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : + +%postun +update-desktop-database &> /dev/null || : +if [ $1 -eq 0 ] ; then + touch --no-create %{_datadir}/icons/hicolor &>/dev/null + gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : + %{__rm} -rf %{langpackdir} +fi + +%posttrans +gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : + %files -f %{name}.lang -%endif %{_bindir}/firefox %{mozappdir}/firefox %{mozappdir}/firefox-bin -%{mozappdir}/glxtest -%{mozappdir}/vaapitest %doc %{_mandir}/man1/* %dir %{_sysconfdir}/%{name} %dir %{_sysconfdir}/%{name}/* @@ -828,54 +1516,64 @@ fi %dir %{mozappdir} %license %{mozappdir}/LICENSE %{mozappdir}/browser/chrome -%{mozappdir}/browser/defaults/preferences/firefox-anolis-default-prefs.js +%{mozappdir}/defaults/preferences/* +%{mozappdir}/browser/defaults/preferences %{mozappdir}/browser/features/*.xpi %{mozappdir}/distribution/distribution.ini +# That's Windows only %ghost %{mozappdir}/browser/features/aushelper@mozilla.org.xpi -%if %{without langpacks_subpkg} %if %{with langpacks} %dir %{langpackdir} %endif -%endif %{mozappdir}/browser/omni.ja -%{mozappdir}/run-mozilla.sh %{mozappdir}/application.ini %{mozappdir}/pingsender %exclude %{mozappdir}/removed-files -%{_datadir}/icons/hicolor/*/apps/firefox.png +%if 0%{?flatpak} +%{_libdir}/libnss3.so +%{_libdir}/libnssckbi.so +%endif +%{_datadir}/icons/hicolor/16x16/apps/firefox.png +%{_datadir}/icons/hicolor/22x22/apps/firefox.png +%{_datadir}/icons/hicolor/24x24/apps/firefox.png +%{_datadir}/icons/hicolor/256x256/apps/firefox.png +%{_datadir}/icons/hicolor/32x32/apps/firefox.png +%{_datadir}/icons/hicolor/48x48/apps/firefox.png %{_datadir}/icons/hicolor/symbolic/apps/firefox-symbolic.svg -%if %{enable_mozilla_crashreporter} -%{mozappdir}/crashreporter -%{mozappdir}/crashreporter.ini -%{mozappdir}/minidump-analyzer -%{mozappdir}/Throbber-small.gif -%{mozappdir}/browser/crashreporter-override.ini -%endif %{mozappdir}/*.so %{mozappdir}/defaults/pref/channel-prefs.js %{mozappdir}/dependentlibs.list %{mozappdir}/dictionaries %{mozappdir}/omni.ja %{mozappdir}/platform.ini -%{mozappdir}/plugin-container %{mozappdir}/gmp-clearkey %{mozappdir}/fonts/TwemojiMozilla.ttf +%{mozappdir}/glxtest +%{mozappdir}/vaapitest +%ifarch aarch64 +%{mozappdir}/v4l2test +%endif + %if !%{?system_nss} %exclude %{mozappdir}/libnssckbi.so %endif -%if %{build_with_asan} -%{mozappdir}/llvm-symbolizer -%endif - -%files x11 -%{_bindir}/firefox-x11 -%{_datadir}/applications/firefox-x11.desktop -%files wayland -%{_bindir}/firefox-wayland -%{_datadir}/applications/firefox-wayland.desktop +%if 0%{?bundle_nss} +%{mozappdir}/bundled/%{_lib}/libfreebl* +%{mozappdir}/bundled/%{_lib}/libnss* +%{mozappdir}/bundled/%{_lib}/libsmime3* +%{mozappdir}/bundled/%{_lib}/libsoftokn* +%{mozappdir}/bundled/%{_lib}/libssl3* +%{mozappdir}/bundled/%{_lib}/libnspr4.so +%{mozappdir}/bundled/%{_lib}/libplc4.so +%{mozappdir}/bundled/%{_lib}/libplds4.so +%endif +#--------------------------------------------------------------------- %changelog +* Fri Nov 08 2024 Kaiqiang Wang - 128.3.1-1 +- update to 128.3.1esr + * Mon Aug 12 2024 lidongyue - 115.13.0-1 - update to 115.13.0esr @@ -896,3 +1594,4 @@ fi * Fri Apr 21 2023 Chunmei Xu - 112.0.1-1 - init from upstream + diff --git a/gen_cbindgen-vendor.sh b/gen_cbindgen-vendor.sh deleted file mode 100755 index c2b60f0..0000000 --- a/gen_cbindgen-vendor.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash -set -x - -# Dummy Cargo.toml file with cbindgen dependency -cat > Cargo.toml < -+ -+#include "libavutil/channel_layout.h" -+#include "libavutil/common.h" -+#include "libavutil/opt.h" -+#include "avcodec.h" -+#include "codec_internal.h" -+#include "decode.h" -+ -+#ifdef AACDECODER_LIB_VL0 -+#define FDKDEC_VER_AT_LEAST(vl0, vl1) \ -+ ((AACDECODER_LIB_VL0 > vl0) || \ -+ (AACDECODER_LIB_VL0 == vl0 && AACDECODER_LIB_VL1 >= vl1)) -+#else -+#define FDKDEC_VER_AT_LEAST(vl0, vl1) 0 -+#endif -+ -+#if !FDKDEC_VER_AT_LEAST(2, 5) // < 2.5.10 -+#define AAC_PCM_MAX_OUTPUT_CHANNELS AAC_PCM_OUTPUT_CHANNELS -+#endif -+ -+enum ConcealMethod { -+ CONCEAL_METHOD_SPECTRAL_MUTING = 0, -+ CONCEAL_METHOD_NOISE_SUBSTITUTION = 1, -+ CONCEAL_METHOD_ENERGY_INTERPOLATION = 2, -+ CONCEAL_METHOD_NB, -+}; -+ -+typedef struct FDKAACDecContext { -+ const AVClass *class; -+ HANDLE_AACDECODER handle; -+ uint8_t *decoder_buffer; -+ int decoder_buffer_size; -+ uint8_t *anc_buffer; -+ int conceal_method; -+ int drc_level; -+ int drc_boost; -+ int drc_heavy; -+ int drc_effect; -+ int drc_cut; -+ int album_mode; -+ int level_limit; -+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10 -+ int output_delay_set; -+ int flush_samples; -+ int delay_samples; -+#endif -+ AVChannelLayout downmix_layout; -+} FDKAACDecContext; -+ -+ -+#define DMX_ANC_BUFFSIZE 128 -+#define DECODER_MAX_CHANNELS 8 -+#define DECODER_BUFFSIZE 2048 * sizeof(INT_PCM) -+ -+#define OFFSET(x) offsetof(FDKAACDecContext, x) -+#define AD AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_DECODING_PARAM -+static const AVOption fdk_aac_dec_options[] = { -+ { "conceal", "Error concealment method", OFFSET(conceal_method), AV_OPT_TYPE_INT, { .i64 = CONCEAL_METHOD_NOISE_SUBSTITUTION }, CONCEAL_METHOD_SPECTRAL_MUTING, CONCEAL_METHOD_NB - 1, AD, "conceal" }, -+ { "spectral", "Spectral muting", 0, AV_OPT_TYPE_CONST, { .i64 = CONCEAL_METHOD_SPECTRAL_MUTING }, INT_MIN, INT_MAX, AD, "conceal" }, -+ { "noise", "Noise Substitution", 0, AV_OPT_TYPE_CONST, { .i64 = CONCEAL_METHOD_NOISE_SUBSTITUTION }, INT_MIN, INT_MAX, AD, "conceal" }, -+ { "energy", "Energy Interpolation", 0, AV_OPT_TYPE_CONST, { .i64 = CONCEAL_METHOD_ENERGY_INTERPOLATION }, INT_MIN, INT_MAX, AD, "conceal" }, -+ { "drc_boost", "Dynamic Range Control: boost, where [0] is none and [127] is max boost", -+ OFFSET(drc_boost), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 127, AD, NULL }, -+ { "drc_cut", "Dynamic Range Control: attenuation factor, where [0] is none and [127] is max compression", -+ OFFSET(drc_cut), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 127, AD, NULL }, -+ { "drc_level", "Dynamic Range Control: reference level, quantized to 0.25dB steps where [0] is 0dB and [127] is -31.75dB, -1 for auto, and -2 for disabled", -+ OFFSET(drc_level), AV_OPT_TYPE_INT, { .i64 = -1}, -2, 127, AD, NULL }, -+ { "drc_heavy", "Dynamic Range Control: heavy compression, where [1] is on (RF mode) and [0] is off", -+ OFFSET(drc_heavy), AV_OPT_TYPE_INT, { .i64 = -1}, -1, 1, AD, NULL }, -+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10 -+ { "level_limit", "Signal level limiting", -+ OFFSET(level_limit), AV_OPT_TYPE_BOOL, { .i64 = -1 }, -1, 1, AD }, -+#endif -+#if FDKDEC_VER_AT_LEAST(3, 0) // 3.0.0 -+ { "drc_effect","Dynamic Range Control: effect type, where e.g. [0] is none and [6] is general", -+ OFFSET(drc_effect), AV_OPT_TYPE_INT, { .i64 = -1}, -1, 8, AD, NULL }, -+#endif -+#if FDKDEC_VER_AT_LEAST(3, 1) // 3.1.0 -+ { "album_mode","Dynamic Range Control: album mode, where [0] is off and [1] is on", -+ OFFSET(album_mode), AV_OPT_TYPE_INT, { .i64 = -1}, -1, 1, AD, NULL }, -+#endif -+ { "downmix", "Request a specific channel layout from the decoder", OFFSET(downmix_layout), AV_OPT_TYPE_CHLAYOUT, {.str = NULL}, .flags = AD }, -+ { NULL } -+}; -+ -+static const AVClass fdk_aac_dec_class = { -+ .class_name = "libfdk-aac decoder", -+ .item_name = av_default_item_name, -+ .option = fdk_aac_dec_options, -+ .version = LIBAVUTIL_VERSION_INT, -+}; -+ -+static int get_stream_info(AVCodecContext *avctx) -+{ -+ FDKAACDecContext *s = avctx->priv_data; -+ CStreamInfo *info = aacDecoder_GetStreamInfo(s->handle); -+ int channel_counts[0x24] = { 0 }; -+ int i, ch_error = 0; -+ uint64_t ch_layout = 0; -+ -+ if (!info) { -+ av_log(avctx, AV_LOG_ERROR, "Unable to get stream info\n"); -+ return AVERROR_UNKNOWN; -+ } -+ -+ if (info->sampleRate <= 0) { -+ av_log(avctx, AV_LOG_ERROR, "Stream info not initialized\n"); -+ return AVERROR_UNKNOWN; -+ } -+ avctx->sample_rate = info->sampleRate; -+ avctx->frame_size = info->frameSize; -+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10 -+ if (!s->output_delay_set && info->outputDelay) { -+ // Set this only once. -+ s->flush_samples = info->outputDelay; -+ s->delay_samples = info->outputDelay; -+ s->output_delay_set = 1; -+ } -+#endif -+ -+ for (i = 0; i < info->numChannels; i++) { -+ AUDIO_CHANNEL_TYPE ctype = info->pChannelType[i]; -+ if (ctype <= ACT_NONE || ctype >= FF_ARRAY_ELEMS(channel_counts)) { -+ av_log(avctx, AV_LOG_WARNING, "unknown channel type\n"); -+ break; -+ } -+ channel_counts[ctype]++; -+ } -+ av_log(avctx, AV_LOG_DEBUG, -+ "%d channels - front:%d side:%d back:%d lfe:%d top:%d\n", -+ info->numChannels, -+ channel_counts[ACT_FRONT], channel_counts[ACT_SIDE], -+ channel_counts[ACT_BACK], channel_counts[ACT_LFE], -+ channel_counts[ACT_FRONT_TOP] + channel_counts[ACT_SIDE_TOP] + -+ channel_counts[ACT_BACK_TOP] + channel_counts[ACT_TOP]); -+ -+ switch (channel_counts[ACT_FRONT]) { -+ case 4: -+ ch_layout |= AV_CH_LAYOUT_STEREO | AV_CH_FRONT_LEFT_OF_CENTER | -+ AV_CH_FRONT_RIGHT_OF_CENTER; -+ break; -+ case 3: -+ ch_layout |= AV_CH_LAYOUT_STEREO | AV_CH_FRONT_CENTER; -+ break; -+ case 2: -+ ch_layout |= AV_CH_LAYOUT_STEREO; -+ break; -+ case 1: -+ ch_layout |= AV_CH_FRONT_CENTER; -+ break; -+ default: -+ av_log(avctx, AV_LOG_WARNING, -+ "unsupported number of front channels: %d\n", -+ channel_counts[ACT_FRONT]); -+ ch_error = 1; -+ break; -+ } -+ if (channel_counts[ACT_SIDE] > 0) { -+ if (channel_counts[ACT_SIDE] == 2) { -+ ch_layout |= AV_CH_SIDE_LEFT | AV_CH_SIDE_RIGHT; -+ } else { -+ av_log(avctx, AV_LOG_WARNING, -+ "unsupported number of side channels: %d\n", -+ channel_counts[ACT_SIDE]); -+ ch_error = 1; -+ } -+ } -+ if (channel_counts[ACT_BACK] > 0) { -+ switch (channel_counts[ACT_BACK]) { -+ case 3: -+ ch_layout |= AV_CH_BACK_LEFT | AV_CH_BACK_RIGHT | AV_CH_BACK_CENTER; -+ break; -+ case 2: -+ ch_layout |= AV_CH_BACK_LEFT | AV_CH_BACK_RIGHT; -+ break; -+ case 1: -+ ch_layout |= AV_CH_BACK_CENTER; -+ break; -+ default: -+ av_log(avctx, AV_LOG_WARNING, -+ "unsupported number of back channels: %d\n", -+ channel_counts[ACT_BACK]); -+ ch_error = 1; -+ break; -+ } -+ } -+ if (channel_counts[ACT_LFE] > 0) { -+ if (channel_counts[ACT_LFE] == 1) { -+ ch_layout |= AV_CH_LOW_FREQUENCY; -+ } else { -+ av_log(avctx, AV_LOG_WARNING, -+ "unsupported number of LFE channels: %d\n", -+ channel_counts[ACT_LFE]); -+ ch_error = 1; -+ } -+ } -+ -+ av_channel_layout_uninit(&avctx->ch_layout); -+ av_channel_layout_from_mask(&avctx->ch_layout, ch_layout); -+ if (!ch_error && avctx->ch_layout.nb_channels != info->numChannels) { -+ av_log(avctx, AV_LOG_WARNING, "unsupported channel configuration\n"); -+ ch_error = 1; -+ } -+ if (ch_error) -+ avctx->ch_layout.order = AV_CHANNEL_ORDER_UNSPEC; -+ -+ return 0; -+} -+ -+static av_cold int fdk_aac_decode_close(AVCodecContext *avctx) -+{ -+ FDKAACDecContext *s = avctx->priv_data; -+ -+ if (s->handle) -+ aacDecoder_Close(s->handle); -+ av_freep(&s->decoder_buffer); -+ av_freep(&s->anc_buffer); -+ -+ return 0; -+} -+ -+static av_cold int fdk_aac_decode_init(AVCodecContext *avctx) -+{ -+ FDKAACDecContext *s = avctx->priv_data; -+ AAC_DECODER_ERROR err; -+ -+ s->handle = aacDecoder_Open(avctx->extradata_size ? TT_MP4_RAW : TT_MP4_ADTS, 1); -+ if (!s->handle) { -+ av_log(avctx, AV_LOG_ERROR, "Error opening decoder\n"); -+ return AVERROR_UNKNOWN; -+ } -+ -+ if (avctx->extradata_size) { -+ if ((err = aacDecoder_ConfigRaw(s->handle, &avctx->extradata, -+ &avctx->extradata_size)) != AAC_DEC_OK) { -+ av_log(avctx, AV_LOG_ERROR, "Unable to set extradata\n"); -+ return AVERROR_INVALIDDATA; -+ } -+ } -+ -+ if ((err = aacDecoder_SetParam(s->handle, AAC_CONCEAL_METHOD, -+ s->conceal_method)) != AAC_DEC_OK) { -+ av_log(avctx, AV_LOG_ERROR, "Unable to set error concealment method\n"); -+ return AVERROR_UNKNOWN; -+ } -+ -+#if FF_API_OLD_CHANNEL_LAYOUT -+FF_DISABLE_DEPRECATION_WARNINGS -+ if (avctx->request_channel_layout) { -+ av_channel_layout_uninit(&s->downmix_layout); -+ av_channel_layout_from_mask(&s->downmix_layout, avctx->request_channel_layout); -+ } -+FF_ENABLE_DEPRECATION_WARNINGS -+#endif -+ if (s->downmix_layout.nb_channels > 0 && -+ s->downmix_layout.order != AV_CHANNEL_ORDER_NATIVE) { -+ int downmix_channels = -1; -+ -+ switch (s->downmix_layout.u.mask) { -+ case AV_CH_LAYOUT_STEREO: -+ case AV_CH_LAYOUT_STEREO_DOWNMIX: -+ downmix_channels = 2; -+ break; -+ case AV_CH_LAYOUT_MONO: -+ downmix_channels = 1; -+ break; -+ default: -+ av_log(avctx, AV_LOG_WARNING, "Invalid downmix option\n"); -+ break; -+ } -+ -+ if (downmix_channels != -1) { -+ if (aacDecoder_SetParam(s->handle, AAC_PCM_MAX_OUTPUT_CHANNELS, -+ downmix_channels) != AAC_DEC_OK) { -+ av_log(avctx, AV_LOG_WARNING, "Unable to set output channels in the decoder\n"); -+ } else { -+ s->anc_buffer = av_malloc(DMX_ANC_BUFFSIZE); -+ if (!s->anc_buffer) { -+ av_log(avctx, AV_LOG_ERROR, "Unable to allocate ancillary buffer for the decoder\n"); -+ return AVERROR(ENOMEM); -+ } -+ if (aacDecoder_AncDataInit(s->handle, s->anc_buffer, DMX_ANC_BUFFSIZE)) { -+ av_log(avctx, AV_LOG_ERROR, "Unable to register downmix ancillary buffer in the decoder\n"); -+ return AVERROR_UNKNOWN; -+ } -+ } -+ } -+ } -+ -+ if (s->drc_boost != -1) { -+ if (aacDecoder_SetParam(s->handle, AAC_DRC_BOOST_FACTOR, s->drc_boost) != AAC_DEC_OK) { -+ av_log(avctx, AV_LOG_ERROR, "Unable to set DRC boost factor in the decoder\n"); -+ return AVERROR_UNKNOWN; -+ } -+ } -+ -+ if (s->drc_cut != -1) { -+ if (aacDecoder_SetParam(s->handle, AAC_DRC_ATTENUATION_FACTOR, s->drc_cut) != AAC_DEC_OK) { -+ av_log(avctx, AV_LOG_ERROR, "Unable to set DRC attenuation factor in the decoder\n"); -+ return AVERROR_UNKNOWN; -+ } -+ } -+ -+ if (s->drc_level != -1) { -+ // This option defaults to -1, i.e. not calling -+ // aacDecoder_SetParam(AAC_DRC_REFERENCE_LEVEL) at all, which defaults -+ // to the level from DRC metadata, if available. The user can set -+ // -drc_level -2, which calls aacDecoder_SetParam( -+ // AAC_DRC_REFERENCE_LEVEL) with a negative value, which then -+ // explicitly disables the feature. -+ if (aacDecoder_SetParam(s->handle, AAC_DRC_REFERENCE_LEVEL, s->drc_level) != AAC_DEC_OK) { -+ av_log(avctx, AV_LOG_ERROR, "Unable to set DRC reference level in the decoder\n"); -+ return AVERROR_UNKNOWN; -+ } -+ } -+ -+ if (s->drc_heavy != -1) { -+ if (aacDecoder_SetParam(s->handle, AAC_DRC_HEAVY_COMPRESSION, s->drc_heavy) != AAC_DEC_OK) { -+ av_log(avctx, AV_LOG_ERROR, "Unable to set DRC heavy compression in the decoder\n"); -+ return AVERROR_UNKNOWN; -+ } -+ } -+ -+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10 -+ // Setting this parameter to -1 enables the auto behaviour in the library. -+ if (aacDecoder_SetParam(s->handle, AAC_PCM_LIMITER_ENABLE, s->level_limit) != AAC_DEC_OK) { -+ av_log(avctx, AV_LOG_ERROR, "Unable to set in signal level limiting in the decoder\n"); -+ return AVERROR_UNKNOWN; -+ } -+#endif -+ -+#if FDKDEC_VER_AT_LEAST(3, 0) // 3.0.0 -+ if (s->drc_effect != -1) { -+ if (aacDecoder_SetParam(s->handle, AAC_UNIDRC_SET_EFFECT, s->drc_effect) != AAC_DEC_OK) { -+ av_log(avctx, AV_LOG_ERROR, "Unable to set DRC effect type in the decoder\n"); -+ return AVERROR_UNKNOWN; -+ } -+ } -+#endif -+ -+#if FDKDEC_VER_AT_LEAST(3, 1) // 3.1.0 -+ if (s->album_mode != -1) { -+ if (aacDecoder_SetParam(s->handle, AAC_UNIDRC_ALBUM_MODE, s->album_mode) != AAC_DEC_OK) { -+ av_log(avctx, AV_LOG_ERROR, "Unable to set album mode in the decoder\n"); -+ return AVERROR_UNKNOWN; -+ } -+ } -+#endif -+ -+ avctx->sample_fmt = AV_SAMPLE_FMT_S16; -+ -+ s->decoder_buffer_size = DECODER_BUFFSIZE * DECODER_MAX_CHANNELS; -+ s->decoder_buffer = av_malloc(s->decoder_buffer_size); -+ if (!s->decoder_buffer) -+ return AVERROR(ENOMEM); -+ -+ return 0; -+} -+ -+static int fdk_aac_decode_frame(AVCodecContext *avctx, AVFrame *frame, -+ int *got_frame_ptr, AVPacket *avpkt) -+{ -+ FDKAACDecContext *s = avctx->priv_data; -+ int ret; -+ AAC_DECODER_ERROR err; -+ UINT valid = avpkt->size; -+ UINT flags = 0; -+ int input_offset = 0; -+ -+ if (avpkt->size) { -+ err = aacDecoder_Fill(s->handle, &avpkt->data, &avpkt->size, &valid); -+ if (err != AAC_DEC_OK) { -+ av_log(avctx, AV_LOG_ERROR, "aacDecoder_Fill() failed: %x\n", err); -+ return AVERROR_INVALIDDATA; -+ } -+ } else { -+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10 -+ /* Handle decoder draining */ -+ if (s->flush_samples > 0) { -+ flags |= AACDEC_FLUSH; -+ } else { -+ return AVERROR_EOF; -+ } -+#else -+ return AVERROR_EOF; -+#endif -+ } -+ -+ err = aacDecoder_DecodeFrame(s->handle, (INT_PCM *) s->decoder_buffer, -+ s->decoder_buffer_size / sizeof(INT_PCM), -+ flags); -+ if (err == AAC_DEC_NOT_ENOUGH_BITS) { -+ ret = avpkt->size - valid; -+ goto end; -+ } -+ if (err != AAC_DEC_OK) { -+ av_log(avctx, AV_LOG_ERROR, -+ "aacDecoder_DecodeFrame() failed: %x\n", err); -+ ret = AVERROR_UNKNOWN; -+ goto end; -+ } -+ -+ if ((ret = get_stream_info(avctx)) < 0) -+ goto end; -+ frame->nb_samples = avctx->frame_size; -+ -+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10 -+ if (flags & AACDEC_FLUSH) { -+ // Only return the right amount of samples at the end; if calling the -+ // decoder with AACDEC_FLUSH, it will keep returning frames indefinitely. -+ frame->nb_samples = FFMIN(s->flush_samples, frame->nb_samples); -+ av_log(s, AV_LOG_DEBUG, "Returning %d/%d delayed samples.\n", -+ frame->nb_samples, s->flush_samples); -+ s->flush_samples -= frame->nb_samples; -+ } else { -+ // Trim off samples from the start to compensate for extra decoder -+ // delay. We could also just adjust the pts, but this avoids -+ // including the extra samples in the output altogether. -+ if (s->delay_samples) { -+ int drop_samples = FFMIN(s->delay_samples, frame->nb_samples); -+ av_log(s, AV_LOG_DEBUG, "Dropping %d/%d delayed samples.\n", -+ drop_samples, s->delay_samples); -+ s->delay_samples -= drop_samples; -+ frame->nb_samples -= drop_samples; -+ input_offset = drop_samples * avctx->ch_layout.nb_channels; -+ if (frame->nb_samples <= 0) -+ return 0; -+ } -+ } -+#endif -+ -+ if ((ret = ff_get_buffer(avctx, frame, 0)) < 0) -+ goto end; -+ -+ memcpy(frame->extended_data[0], s->decoder_buffer + input_offset, -+ avctx->ch_layout.nb_channels * frame->nb_samples * -+ av_get_bytes_per_sample(avctx->sample_fmt)); -+ -+ *got_frame_ptr = 1; -+ ret = avpkt->size - valid; -+ -+end: -+ return ret; -+} -+ -+static av_cold void fdk_aac_decode_flush(AVCodecContext *avctx) -+{ -+ FDKAACDecContext *s = avctx->priv_data; -+ AAC_DECODER_ERROR err; -+ -+ if (!s->handle) -+ return; -+ -+ if ((err = aacDecoder_SetParam(s->handle, -+ AAC_TPDEC_CLEAR_BUFFER, 1)) != AAC_DEC_OK) -+ av_log(avctx, AV_LOG_WARNING, "failed to clear buffer when flushing\n"); -+} -+ -+const FFCodec ff_libfdk_aac_decoder = { -+ .p.name = "libfdk_aac", -+ CODEC_LONG_NAME("Fraunhofer FDK AAC"), -+ .p.type = AVMEDIA_TYPE_AUDIO, -+ .p.id = AV_CODEC_ID_AAC, -+ .priv_data_size = sizeof(FDKAACDecContext), -+ .init = fdk_aac_decode_init, -+ FF_CODEC_DECODE_CB(fdk_aac_decode_frame), -+ .close = fdk_aac_decode_close, -+ .flush = fdk_aac_decode_flush, -+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF -+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10 -+ | AV_CODEC_CAP_DELAY -+#endif -+ , -+ .p.priv_class = &fdk_aac_dec_class, -+ .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, -+ .p.wrapper_name = "libfdk", -+}; -diff -up firefox-108.0/media/ffvpx/libavcodec/moz.build.1667096 firefox-108.0/media/ffvpx/libavcodec/moz.build ---- firefox-108.0/media/ffvpx/libavcodec/moz.build.1667096 2022-12-05 21:18:01.000000000 +0100 -+++ firefox-108.0/media/ffvpx/libavcodec/moz.build 2022-12-08 08:29:54.514562328 +0100 -@@ -130,6 +130,12 @@ if CONFIG['MOZ_LIBAV_FFT']: - 'avfft.c', - ] - -+if CONFIG['MOZ_FDK_AAC']: -+ SOURCES += [ -+ 'libfdk-aacdec.c', -+ ] -+ OS_LIBS += CONFIG['MOZ_FDK_AAC_LIBS'] -+ - SYMBOLS_FILE = 'avcodec.symbols' - NoVisibilityFlags() - -diff -up firefox-108.0/toolkit/moz.configure.1667096 firefox-108.0/toolkit/moz.configure ---- firefox-108.0/toolkit/moz.configure.1667096 2022-12-05 21:21:08.000000000 +0100 -+++ firefox-108.0/toolkit/moz.configure 2022-12-08 08:29:54.514562328 +0100 -@@ -2134,6 +2134,15 @@ with only_when(compile_environment): - - set_config("MOZ_SYSTEM_PNG", True, when="--with-system-png") - -+# FDK AAC support -+# ============================================================== -+option('--with-system-fdk-aac', -+ help='Use system libfdk-aac (located with pkgconfig)') -+ -+system_fdk_aac = pkg_check_modules('MOZ_FDK_AAC', 'fdk-aac', -+ when='--with-system-fdk-aac') -+ -+set_config('MOZ_FDK_AAC', depends(when=system_fdk_aac)(lambda: True)) - - # FFmpeg's ffvpx configuration - # ============================================================== diff --git a/mozilla-1669639.patch b/mozilla-1669639.patch deleted file mode 100644 index cd04aab..0000000 --- a/mozilla-1669639.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- firefox-81.0.1/build/mach_initialize.py.old 2020-10-06 14:16:06.212974910 +0200 -+++ firefox-81.0.1/build/mach_initialize.py 2020-10-06 14:19:03.313179557 +0200 -@@ -507,7 +507,10 @@ class ImportHook(object): - # doesn't happen or because it doesn't matter). - if not os.path.exists(module.__file__[:-1]): - if os.path.exists(module.__file__): -- os.remove(module.__file__) -+ try: -+ os.remove(module.__file__) -+ except: -+ pass - del sys.modules[module.__name__] - module = self(name, globals, locals, fromlist, level) - diff --git a/mozilla-bmo1170092.patch b/mozilla-bmo1170092.patch new file mode 100644 index 0000000..36d2b00 --- /dev/null +++ b/mozilla-bmo1170092.patch @@ -0,0 +1,95 @@ +diff -up firefox-115.0.2/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 firefox-115.0.2/extensions/pref/autoconfig/src/nsReadConfig.cpp +--- firefox-115.0.2/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 2023-07-10 21:08:53.000000000 +0200 ++++ firefox-115.0.2/extensions/pref/autoconfig/src/nsReadConfig.cpp 2023-07-17 10:33:23.443355156 +0200 +@@ -263,8 +263,20 @@ nsresult nsReadConfig::openAndEvaluateJS + if (NS_FAILED(rv)) return rv; + + rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile); +- if (NS_FAILED(rv)) return rv; ++ if (NS_FAILED(rv)) { ++ // Look for cfg file in /etc//pref ++ rv = NS_GetSpecialDirectory(NS_APP_PREFS_SYSTEM_CONFIG_DIR, ++ getter_AddRefs(jsFile)); ++ NS_ENSURE_SUCCESS(rv, rv); ++ ++ rv = jsFile->AppendNative(nsLiteralCString("pref")); ++ NS_ENSURE_SUCCESS(rv, rv); ++ rv = jsFile->AppendNative(nsDependentCString(aFileName)); ++ NS_ENSURE_SUCCESS(rv, rv); + ++ rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile); ++ NS_ENSURE_SUCCESS(rv, rv); ++ } + } else { + nsAutoCString location("resource://gre/defaults/autoconfig/"); + location += aFileName; +diff -up firefox-115.0.2/modules/libpref/Preferences.cpp.1170092 firefox-115.0.2/modules/libpref/Preferences.cpp +--- firefox-115.0.2/modules/libpref/Preferences.cpp.1170092 2023-07-10 21:09:00.000000000 +0200 ++++ firefox-115.0.2/modules/libpref/Preferences.cpp 2023-07-17 10:33:23.444355156 +0200 +@@ -4825,6 +4825,9 @@ nsresult Preferences::InitInitialObjects + // + // Thus, in the omni.jar case, we always load app-specific default + // preferences from omni.jar, whether or not `$app == $gre`. ++ // ++ // At very end load configuration from system config location: ++ // - /etc/firefox/pref/*.js + + nsresult rv = NS_ERROR_FAILURE; + UniquePtr find; +diff -up firefox-115.0.2/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-115.0.2/toolkit/xre/nsXREDirProvider.cpp +--- firefox-115.0.2/toolkit/xre/nsXREDirProvider.cpp.1170092 2023-07-10 22:57:20.000000000 +0200 ++++ firefox-115.0.2/toolkit/xre/nsXREDirProvider.cpp 2023-07-17 10:56:25.309692121 +0200 +@@ -72,6 +72,7 @@ + #endif + #ifdef XP_UNIX + # include ++# include "nsIXULAppInfo.h" + #endif + #ifdef XP_IOS + # include "UIKitDirProvider.h" +@@ -478,6 +479,17 @@ nsXREDirProvider::GetFile(const char* aP + rv = file->AppendNative(nsLiteralCString(PREF_OVERRIDE_DIRNAME)); + NS_ENSURE_SUCCESS(rv, rv); + rv = EnsureDirectoryExists(file); ++ } else if (!strcmp(aProperty, NS_APP_PREFS_SYSTEM_CONFIG_DIR)) { ++ nsCString sysConfigDir = nsLiteralCString("/etc/"); ++ nsCOMPtr appInfo = do_GetService("@mozilla.org/xre/app-info;1"); ++ if (!appInfo) ++ return NS_ERROR_NOT_AVAILABLE; ++ nsCString appName; ++ appInfo->GetName(appName); ++ ToLowerCase(appName); ++ sysConfigDir.Append(appName); ++ NS_NewNativeLocalFile(sysConfigDir, false, getter_AddRefs(file)); ++ rv = EnsureDirectoryExists(file); + } else { + // We don't know anything about this property. Fail without warning, because + // otherwise we'll get too much warning spam due to +@@ -694,6 +706,16 @@ nsXREDirProvider::GetFiles(const char* a + } + #endif + ++ // Add /etc//pref/ directory if it exists ++ nsCOMPtr systemPrefDir; ++ rv = NS_GetSpecialDirectory(NS_APP_PREFS_SYSTEM_CONFIG_DIR, ++ getter_AddRefs(systemPrefDir)); ++ if (NS_SUCCEEDED(rv)) { ++ rv = systemPrefDir->AppendNative(nsLiteralCString("pref")); ++ if (NS_SUCCEEDED(rv)) ++ directories.AppendObject(systemPrefDir); ++ } ++ + rv = NS_NewArrayEnumerator(aResult, directories, NS_GET_IID(nsIFile)); + } else if (!strcmp(aProperty, NS_APP_CHROME_DIR_LIST)) { + // NS_APP_CHROME_DIR_LIST is only used to get default (native) icons +diff -up firefox-115.0.2/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 firefox-115.0.2/xpcom/io/nsAppDirectoryServiceDefs.h +--- firefox-115.0.2/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 2023-07-10 21:09:13.000000000 +0200 ++++ firefox-115.0.2/xpcom/io/nsAppDirectoryServiceDefs.h 2023-07-17 10:33:23.444355156 +0200 +@@ -58,6 +58,7 @@ + #define NS_APP_PREFS_DEFAULTS_DIR_LIST "PrefDL" + #define NS_APP_PREFS_OVERRIDE_DIR \ + "PrefDOverride" // Directory for per-profile defaults ++#define NS_APP_PREFS_SYSTEM_CONFIG_DIR "PrefSysConf" // Directory with system-wide configuration + + #define NS_APP_USER_PROFILE_50_DIR "ProfD" + #define NS_APP_USER_PROFILE_LOCAL_50_DIR "ProfLD" diff --git a/mozilla-bmo1504834-part1.patch b/mozilla-bmo1504834-part1.patch new file mode 100644 index 0000000..f117b89 --- /dev/null +++ b/mozilla-bmo1504834-part1.patch @@ -0,0 +1,86 @@ +diff -up firefox-128.0/gfx/2d/DrawTargetSkia.cpp.mozilla-bmo1504834-part1 firefox-128.0/gfx/2d/DrawTargetSkia.cpp +--- firefox-128.0/gfx/2d/DrawTargetSkia.cpp.mozilla-bmo1504834-part1 2024-06-12 15:02:55.000000000 +0200 ++++ firefox-128.0/gfx/2d/DrawTargetSkia.cpp 2024-06-13 11:36:54.550728034 +0200 +@@ -156,8 +156,8 @@ static IntRect CalculateSurfaceBounds(co + } + + static const int kARGBAlphaOffset = +- SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0; +- ++ 0; // Skia is always BGRA SurfaceFormat::A8R8G8B8_UINT32 == ++ // SurfaceFormat::B8G8R8A8 ? 3 : 0; + static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize, + const int32_t aStride, SurfaceFormat aFormat) { + if (aFormat != SurfaceFormat::B8G8R8X8 || aSize.IsEmpty()) { +diff -up firefox-128.0/gfx/2d/Types.h.mozilla-bmo1504834-part1 firefox-128.0/gfx/2d/Types.h +--- firefox-128.0/gfx/2d/Types.h.mozilla-bmo1504834-part1 2024-06-12 15:02:56.000000000 +0200 ++++ firefox-128.0/gfx/2d/Types.h 2024-06-13 11:36:54.551728036 +0200 +@@ -89,18 +89,11 @@ enum class SurfaceFormat : int8_t { + // This represents the unknown format. + UNKNOWN, // TODO: Replace uses with Maybe. + +-// The following values are endian-independent synonyms. The _UINT32 suffix +-// indicates that the name reflects the layout when viewed as a uint32_t +-// value. +-#if MOZ_LITTLE_ENDIAN() ++ // The following values are endian-independent synonyms. The _UINT32 suffix ++ // indicates that the name reflects the layout when viewed as a uint32_t ++ // value. + A8R8G8B8_UINT32 = B8G8R8A8, // 0xAARRGGBB + X8R8G8B8_UINT32 = B8G8R8X8, // 0x00RRGGBB +-#elif MOZ_BIG_ENDIAN() +- A8R8G8B8_UINT32 = A8R8G8B8, // 0xAARRGGBB +- X8R8G8B8_UINT32 = X8R8G8B8, // 0x00RRGGBB +-#else +-# error "bad endianness" +-#endif + + // The following values are OS and endian-independent synonyms. + // +diff -up firefox-128.0/gfx/skia/skia/modules/skcms/skcms.cc.mozilla-bmo1504834-part1 firefox-128.0/gfx/skia/skia/modules/skcms/skcms.cc +--- firefox-128.0/gfx/skia/skia/modules/skcms/skcms.cc.mozilla-bmo1504834-part1 2024-06-12 15:02:57.000000000 +0200 ++++ firefox-128.0/gfx/skia/skia/modules/skcms/skcms.cc 2024-06-13 11:38:45.377835856 +0200 +@@ -31,6 +31,8 @@ + #include + #include + #endif ++#else ++ #define SKCMS_PORTABLE + #endif + + using namespace skcms_private; +@@ -324,20 +326,28 @@ enum { + static uint16_t read_big_u16(const uint8_t* ptr) { + uint16_t be; + memcpy(&be, ptr, sizeof(be)); +-#if defined(_MSC_VER) +- return _byteswap_ushort(be); ++#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ ++ return be; + #else +- return __builtin_bswap16(be); ++ #if defined(_MSC_VER) ++ return _byteswap_ushort(be); ++ #else ++ return __builtin_bswap16(be); ++ #endif + #endif + } + + static uint32_t read_big_u32(const uint8_t* ptr) { + uint32_t be; + memcpy(&be, ptr, sizeof(be)); +-#if defined(_MSC_VER) +- return _byteswap_ulong(be); ++#if __BYTE_ORDER == __ORDER_BIG_ENDIAN__ ++ return be; + #else +- return __builtin_bswap32(be); ++ #if defined(_MSC_VER) ++ return _byteswap_ulong(be); ++ #else ++ return __builtin_bswap32(be); ++ #endif + #endif + } + diff --git a/mozilla-bmo1504834-part3.patch b/mozilla-bmo1504834-part3.patch new file mode 100644 index 0000000..9c2ece0 --- /dev/null +++ b/mozilla-bmo1504834-part3.patch @@ -0,0 +1,17 @@ +# HG changeset patch +# Parent 09cd4ac2cc607e85aa572425b824fbab386af607 +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 --git a/gfx/skia/skia/src/opts/SkBlitMask_opts.h b/gfx/skia/skia/src/opts/SkBlitMask_opts.h +--- a/gfx/skia/skia/src/opts/SkBlitMask_opts.h ++++ b/gfx/skia/skia/src/opts/SkBlitMask_opts.h +@@ -210,6 +210,8 @@ namespace SK_OPTS_NS { + // ~~~> + // a = 1*aa + d(1-1*aa) = aa + d(1-aa) + // c = 0*aa + d(1-1*aa) = d(1-aa) ++ // TODO: Check this for endian-issues! ++ // Do we need to switch 255 to the front for all of those tuples? + return (aa & Sk4px(skvx::byte16{0,0,0,255, 0,0,0,255, 0,0,0,255, 0,0,0,255})) + + d.approxMulDiv255(aa.inv()); + }; diff --git a/mozilla-bmo1636168-fscreen.patch b/mozilla-bmo1636168-fscreen.patch new file mode 100644 index 0000000..6ee70ad --- /dev/null +++ b/mozilla-bmo1636168-fscreen.patch @@ -0,0 +1,62 @@ +diff -up firefox-128.0/widget/gtk/nsWindow.cpp.mozilla-bmo1636168-fscreen firefox-128.0/widget/gtk/nsWindow.cpp +--- firefox-128.0/widget/gtk/nsWindow.cpp.mozilla-bmo1636168-fscreen 2024-07-04 18:20:43.000000000 +0200 ++++ firefox-128.0/widget/gtk/nsWindow.cpp 2024-07-16 14:54:21.026716936 +0200 +@@ -174,7 +174,8 @@ const gint kEvents = GDK_TOUCHPAD_GESTUR + GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | + GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | + GDK_SMOOTH_SCROLL_MASK | GDK_TOUCH_MASK | GDK_SCROLL_MASK | +- GDK_POINTER_MOTION_MASK | GDK_PROPERTY_CHANGE_MASK; ++ GDK_POINTER_MOTION_MASK | GDK_PROPERTY_CHANGE_MASK | ++ GDK_FOCUS_CHANGE_MASK; + + /* utility functions */ + static bool is_mouse_in_window(GdkWindow* aWindow, gdouble aMouseX, +@@ -430,7 +431,8 @@ nsWindow::nsWindow() + mResizedAfterMoveToRect(false), + mConfiguredClearColor(false), + mGotNonBlankPaint(false), +- mNeedsToRetryCapturingMouse(false) { ++ mNeedsToRetryCapturingMouse(false), ++ mPendingFullscreen(false) { + mWindowType = WindowType::Child; + mSizeConstraints.mMaxSize = GetSafeWindowSize(mSizeConstraints.mMaxSize); + +@@ -5374,6 +5376,19 @@ void nsWindow::OnWindowStateEvent(GtkWid + ClearTransparencyBitmap(); + } + } ++ ++ // Hack to ensure window switched to fullscreen - avoid to fail when starting ++ // in kiosk mode ++ if (mPendingFullscreen && ++ !(aEvent->new_window_state & GDK_WINDOW_STATE_FULLSCREEN)) { ++ LOG( ++ " Window should be fullscreen, but it's not, retrying set to " ++ "fullscreen.\n"); ++ MakeFullScreen(true); ++ } else { ++ LOG(" Window successfully switched to fullscreen, happy now\n"); ++ mPendingFullscreen = false; ++ } + } + + void nsWindow::OnDPIChanged() { +@@ -7526,6 +7541,7 @@ nsresult nsWindow::MakeFullScreen(bool a + + if (mKioskMonitor.isSome()) { + KioskLockOnMonitor(); ++ mPendingFullscreen = true; + } else { + gtk_window_fullscreen(GTK_WINDOW(mShell)); + } +diff -up firefox-128.0/widget/gtk/nsWindow.h.mozilla-bmo1636168-fscreen firefox-128.0/widget/gtk/nsWindow.h +--- firefox-128.0/widget/gtk/nsWindow.h.mozilla-bmo1636168-fscreen 2024-07-04 18:20:43.000000000 +0200 ++++ firefox-128.0/widget/gtk/nsWindow.h 2024-07-16 14:25:51.636952919 +0200 +@@ -758,6 +758,7 @@ class nsWindow final : public nsBaseWidg + * move-to-rect callback we set mMovedAfterMoveToRect/mResizedAfterMoveToRect. + */ + bool mWaitingForMoveToRectCallback : 1; ++ bool mPendingFullscreen : 1; + bool mMovedAfterMoveToRect : 1; + bool mResizedAfterMoveToRect : 1; + diff --git a/mozilla-bmo1670333.patch b/mozilla-bmo1670333.patch new file mode 100644 index 0000000..4d29f5d --- /dev/null +++ b/mozilla-bmo1670333.patch @@ -0,0 +1,66 @@ +diff -up firefox-128.0/dom/media/mp4/MP4Demuxer.cpp.mozilla-bmo1670333 firefox-128.0/dom/media/mp4/MP4Demuxer.cpp +--- firefox-128.0/dom/media/mp4/MP4Demuxer.cpp.mozilla-bmo1670333 2024-07-04 18:20:27.000000000 +0200 ++++ firefox-128.0/dom/media/mp4/MP4Demuxer.cpp 2024-07-16 13:49:10.475630426 +0200 +@@ -33,6 +33,8 @@ mozilla::LogModule* GetDemuxerLog() { re + DDMOZ_LOG(gMediaDemuxerLog, mozilla::LogLevel::Debug, "::%s: " arg, \ + __func__, ##__VA_ARGS__) + ++extern bool gUseKeyframeFromContainer; ++ + namespace mozilla { + + using TimeUnit = media::TimeUnit; +@@ -419,6 +421,12 @@ already_AddRefed MP4TrackD + [[fallthrough]]; + case H264::FrameType::OTHER: { + bool keyframe = type == H264::FrameType::I_FRAME; ++ if (gUseKeyframeFromContainer) { ++ if (sample->mKeyframe && sample->mKeyframe != keyframe) { ++ sample->mKeyframe = keyframe; ++ } ++ break; ++ } + if (sample->mKeyframe != keyframe) { + NS_WARNING(nsPrintfCString("Frame incorrectly marked as %skeyframe " + "@ pts:%" PRId64 " dur:%" PRId64 +diff -up firefox-128.0/dom/media/platforms/PDMFactory.cpp.mozilla-bmo1670333 firefox-128.0/dom/media/platforms/PDMFactory.cpp +--- firefox-128.0/dom/media/platforms/PDMFactory.cpp.mozilla-bmo1670333 2024-07-04 18:20:26.000000000 +0200 ++++ firefox-128.0/dom/media/platforms/PDMFactory.cpp 2024-07-16 14:16:04.635809901 +0200 +@@ -62,6 +62,8 @@ + + #include + ++bool gUseKeyframeFromContainer = false; ++ + using DecodeSupport = mozilla::media::DecodeSupport; + using DecodeSupportSet = mozilla::media::DecodeSupportSet; + using MediaCodec = mozilla::media::MediaCodec; +@@ -543,7 +545,7 @@ void PDMFactory::CreateRddPDMs() { + #ifdef MOZ_FFMPEG + if (StaticPrefs::media_ffmpeg_enabled() && + StaticPrefs::media_rdd_ffmpeg_enabled() && +- !StartupPDM(FFmpegRuntimeLinker::CreateDecoder())) { ++ !(mFFmpegUsed = StartupPDM(FFmpegRuntimeLinker::CreateDecoder()))) { + mFailureFlags += GetFailureFlagBasedOnFFmpegStatus( + FFmpegRuntimeLinker::LinkStatusCode()); + } +@@ -719,7 +721,7 @@ void PDMFactory::CreateDefaultPDMs() { + StartupPDM(AgnosticDecoderModule::Create(), + StaticPrefs::media_prefer_non_ffvpx()); + +- if (StaticPrefs::media_gmp_decoder_enabled() && ++ if (StaticPrefs::media_gmp_decoder_enabled() && !mFFmpegUsed && + !StartupPDM(GMPDecoderModule::Create(), + StaticPrefs::media_gmp_decoder_preferred())) { + mFailureFlags += DecoderDoctorDiagnostics::Flags::GMPPDMFailedToStartup; +diff -up firefox-128.0/dom/media/platforms/PDMFactory.h.mozilla-bmo1670333 firefox-128.0/dom/media/platforms/PDMFactory.h +--- firefox-128.0/dom/media/platforms/PDMFactory.h.mozilla-bmo1670333 2024-07-04 18:20:26.000000000 +0200 ++++ firefox-128.0/dom/media/platforms/PDMFactory.h 2024-07-16 13:49:10.476630421 +0200 +@@ -98,6 +98,7 @@ class PDMFactory final { + RefPtr mNullPDM; + + DecoderDoctorDiagnostics::FlagsSet mFailureFlags; ++ bool mFFmpegUsed = false; + + friend class RemoteVideoDecoderParent; + static void EnsureInit(); diff --git a/mozilla-bmo1716707-svg.patch b/mozilla-bmo1716707-svg.patch new file mode 100644 index 0000000..9c0559c --- /dev/null +++ b/mozilla-bmo1716707-svg.patch @@ -0,0 +1,29 @@ +# HG changeset patch +# User M. Sirringhaus +# Date 1645518286 -3600 +# Tue Feb 22 09:24:46 2022 +0100 +# Node ID 81832d035e101471dcf52dd91de287268add7a91 +# Parent 66f7ce16eb4965108687280e5443edd610631efb +imported patch svg-rendering.patch + +diff --git a/image/imgFrame.cpp b/image/imgFrame.cpp +--- a/image/imgFrame.cpp ++++ b/image/imgFrame.cpp +@@ -372,6 +372,17 @@ nsresult imgFrame::InitWithDrawable(gfxD + return NS_ERROR_OUT_OF_MEMORY; + } + ++#if MOZ_BIG_ENDIAN() ++ if (aBackend == gfx::BackendType::SKIA && canUseDataSurface) { ++ // SKIA is lying about what format it returns on big endian ++ for (int ii=0; ii < mRawSurface->GetSize().Height()*mRawSurface->Stride() / 4; ++ii) { ++ uint32_t *vals = (uint32_t*)(mRawSurface->GetData()); ++ uint32_t val = ((vals[ii] << 8) & 0xFF00FF00 ) | ((vals[ii] >> 8) & 0xFF00FF ); ++ vals[ii] = (val << 16) | (val >> 16); ++ } ++ } ++#endif ++ + if (!canUseDataSurface) { + // We used an offscreen surface, which is an "optimized" surface from + // imgFrame's perspective. diff --git a/mozilla-bmo1716707-swizzle.patch b/mozilla-bmo1716707-swizzle.patch new file mode 100644 index 0000000..bb37560 --- /dev/null +++ b/mozilla-bmo1716707-swizzle.patch @@ -0,0 +1,34 @@ +# HG changeset patch +# User M. Sirringhaus +# Date 1645518286 -3600 +# Tue Feb 22 09:24:46 2022 +0100 +# Node ID 494640792b4677f6462e95b90a54a4e22aeb738b +# Parent 81832d035e101471dcf52dd91de287268add7a91 +imported patch one_swizzle_to_rule_them_all.patch + +Index: firefox-102.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp +=================================================================== +--- firefox-102.0.orig/gfx/webrender_bindings/RenderCompositorSWGL.cpp ++++ firefox-102.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp +@@ -7,6 +7,7 @@ + #include "RenderCompositorSWGL.h" + + #include "mozilla/gfx/Logging.h" ++#include "mozilla/gfx/Swizzle.h" + #include "mozilla/widget/CompositorWidget.h" + + #ifdef MOZ_WIDGET_GTK +@@ -235,6 +237,13 @@ void RenderCompositorSWGL::CommitMappedB + } + mDT->Flush(); + ++#if MOZ_BIG_ENDIAN() ++ // One swizzle to rule them all. ++ gfx::SwizzleData(mMappedData, mMappedStride, gfx::SurfaceFormat::B8G8R8A8, ++ mMappedData, mMappedStride, gfx::SurfaceFormat::A8R8G8B8, ++ mDT->GetSize()); ++#endif ++ + // Done with the DT. Hand it back to the widget and clear out any trace of it. + mWidget->EndRemoteDrawingInRegion(mDT, mDirtyRegion); + mDirtyRegion.SetEmpty(); diff --git a/mozilla-bmo1789216-disable-av1.patch b/mozilla-bmo1789216-disable-av1.patch new file mode 100644 index 0000000..c7fe0c3 --- /dev/null +++ b/mozilla-bmo1789216-disable-av1.patch @@ -0,0 +1,73 @@ +diff -up firefox-128.0/media/ffvpx/libavcodec/allcodecs.c.mozilla-bmo1789216-disable-av1 firefox-128.0/media/ffvpx/libavcodec/allcodecs.c +--- firefox-128.0/media/ffvpx/libavcodec/allcodecs.c.mozilla-bmo1789216-disable-av1 2024-06-12 15:03:01.000000000 +0200 ++++ firefox-128.0/media/ffvpx/libavcodec/allcodecs.c 2024-06-13 11:44:10.637215674 +0200 +@@ -764,8 +764,11 @@ extern const FFCodec ff_libaribb24_decod + extern const FFCodec ff_libcelt_decoder; + extern const FFCodec ff_libcodec2_encoder; + extern const FFCodec ff_libcodec2_decoder; ++#if CONFIG_MOZ_AV1 + extern const FFCodec ff_libdav1d_decoder; + extern const FFCodec ff_libdavs2_decoder; ++extern const FFCodec ff_libuavs3d_decoder; ++#endif + extern const FFCodec ff_libfdk_aac_encoder; + extern const FFCodec ff_libfdk_aac_decoder; + extern const FFCodec ff_libgsm_encoder; +@@ -793,7 +796,6 @@ extern const FFCodec ff_libspeex_decoder + extern const FFCodec ff_libsvtav1_encoder; + extern const FFCodec ff_libtheora_encoder; + extern const FFCodec ff_libtwolame_encoder; +-extern const FFCodec ff_libuavs3d_decoder; + extern const FFCodec ff_libvo_amrwbenc_encoder; + extern const FFCodec ff_libvorbis_encoder; + extern const FFCodec ff_libvorbis_decoder; +diff -up firefox-128.0/media/ffvpx/libavcodec/codec_list.c.mozilla-bmo1789216-disable-av1 firefox-128.0/media/ffvpx/libavcodec/codec_list.c +--- firefox-128.0/media/ffvpx/libavcodec/codec_list.c.mozilla-bmo1789216-disable-av1 2024-06-13 11:40:12.668924117 +0200 ++++ firefox-128.0/media/ffvpx/libavcodec/codec_list.c 2024-06-13 11:44:41.411253372 +0200 +@@ -11,12 +11,14 @@ static const FFCodec * const codec_list[ + #if CONFIG_MP3_DECODER + &ff_mp3_decoder, + #endif ++#if CONFIG_MOZ_AV1 + #if CONFIG_LIBDAV1D + &ff_libdav1d_decoder, + #endif + #if CONFIG_AV1_DECODER + &ff_av1_decoder, + #endif ++#endif + #if CONFIG_LIBVORBIS_DECODER + &ff_libvorbis_decoder, + #endif +diff -up firefox-128.0/media/ffvpx/libavcodec/moz.build.mozilla-bmo1789216-disable-av1 firefox-128.0/media/ffvpx/libavcodec/moz.build +--- firefox-128.0/media/ffvpx/libavcodec/moz.build.mozilla-bmo1789216-disable-av1 2024-06-13 11:40:12.669924118 +0200 ++++ firefox-128.0/media/ffvpx/libavcodec/moz.build 2024-06-13 11:45:22.867304151 +0200 +@@ -94,7 +94,6 @@ if not CONFIG['MOZ_FFVPX_AUDIOONLY']: + 'imgconvert.c', + 'libaom.c', + 'libaomenc.c', +- 'libdav1d.c', + 'libvpxdec.c', + 'libvpxenc.c', + 'mathtables.c', +@@ -119,10 +118,16 @@ if not CONFIG['MOZ_FFVPX_AUDIOONLY']: + 'vp9recon.c', + 'vpx_rac.c', + ] +- USE_LIBS += [ +- 'dav1d', +- 'media_libdav1d_asm', +- ] ++ if CONFIG['MOZ_AV1']: ++ USE_LIBS += [ ++ 'dav1d', ++ 'media_libdav1d_asm', ++ ] ++ SOURCES += [ ++ 'libdav1d.c', ++ ] ++ ++ + if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": + LOCAL_INCLUDES += ['/media/mozva'] + SOURCES += [ diff --git a/mozilla-bmo849632.patch b/mozilla-bmo849632.patch new file mode 100644 index 0000000..913d6bc --- /dev/null +++ b/mozilla-bmo849632.patch @@ -0,0 +1,26 @@ +# HG changeset patch +# Parent 3de59fe1b8708c01e134ce698c4232b8a854f617 +Problem: webGL sites are displayed in the wrong color (usually blue-ish) +Solution: Problem is with skia once again. Output of webgl seems endian-correct, but skia only + knows how to deal with little endian. + So we swizzle the output of webgl after reading it from readpixels() +Note: This does not fix all webGL sites, but is a step in the right direction + +Index: firefox-115.0/gfx/gl/GLContext.h +=================================================================== +--- firefox-115.0.orig/gfx/gl/GLContext.h ++++ firefox-115.0/gfx/gl/GLContext.h +@@ -1560,6 +1560,13 @@ class GLContext : public GenericAtomicRe + BEFORE_GL_CALL; + mSymbols.fReadPixels(x, y, width, height, format, type, pixels); + OnSyncCall(); ++#if MOZ_BIG_ENDIAN() ++ uint8_t* itr = (uint8_t*)pixels; ++ for (GLsizei i = 0; i < width * height; i++) { ++ NativeEndian::swapToLittleEndianInPlace((uint32_t*)itr, 1); ++ itr += 4; ++ } ++#endif + AFTER_GL_CALL; + mHeavyGLCallsSinceLastFlush = true; + } diff --git a/mozilla-bmo998749.patch b/mozilla-bmo998749.patch new file mode 100644 index 0000000..50e22b5 --- /dev/null +++ b/mozilla-bmo998749.patch @@ -0,0 +1,29 @@ +# HG changeset patch +# User msirringhaus@suse.de +# Date 1583738770 -3600 +# Mon Mar 09 08:26:10 2020 +0100 +# Node ID 34676feac1a542e409e22acf5b98735f8313b1ce +# Parent 506857dace0a08d1c9685e3ac264646590b3e27f +[mq]: mozilla-bmo998749.patch + +diff -r 506857dace0a -r 34676feac1a5 gfx/2d/FilterProcessing.h +--- a/gfx/2d/FilterProcessing.h Fri Feb 28 12:31:51 2020 +0100 ++++ b/gfx/2d/FilterProcessing.h Mon Mar 09 08:26:10 2020 +0100 +@@ -13,10 +13,17 @@ + namespace mozilla { + namespace gfx { + ++#if MOZ_BIG_ENDIAN() ++const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_B = 3; ++const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_G = 2; ++const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_R = 1; ++const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_A = 0; ++#else + const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_B = 0; + const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_G = 1; + const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_R = 2; + const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_A = 3; ++#endif + + class FilterProcessing { + public: diff --git a/node-stdout-nonblocking-wrapper b/node-stdout-nonblocking-wrapper index b2814b8..7dfb513 100755 --- a/node-stdout-nonblocking-wrapper +++ b/node-stdout-nonblocking-wrapper @@ -1,2 +1,2 @@ #!/bin/sh -exec /usr/bin/node "$@" 2>&1 | cat - +exec node "$@" 2>&1 | cat - diff --git a/nss-setup-flags-env.inc b/nss-setup-flags-env.inc new file mode 100644 index 0000000..334bfaa --- /dev/null +++ b/nss-setup-flags-env.inc @@ -0,0 +1,7 @@ +sed -i 's@%{bundled_install_path}@%{_buildrootdir}%{bundled_install_path}@g' %{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig/nss*.pc + +export LDFLAGS="-L%{_buildrootdir}%{bundled_install_path}/%{_lib} $LDFLAGS" +export LDFLAGS="-Wl,-rpath,%{bundled_install_path}/%{_lib} $LDFLAGS" +export LDFLAGS="-Wl,-rpath-link,%{_buildrootdir}%{bundled_install_path}/%{_lib} $LDFLAGS" +export PKG_CONFIG_PATH=%{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig +export PATH="%{_buildrootdir}%{bundled_install_path}/bin:$PATH" diff --git a/process-official-tarball b/process-official-tarball new file mode 100755 index 0000000..e3aabb9 --- /dev/null +++ b/process-official-tarball @@ -0,0 +1,28 @@ +#!/bin/sh + +rm -rf ./process-tarball-dir +mkdir ./process-tarball-dir +tar -xJf $1 --directory process-tarball-dir + +rm -vf ./process-tarball-dir/*/testing/web-platform/tests/conformance-checkers/html-rdfa/0030-isvalid.html +rm -vf ./process-tarball-dir/*/testing/web-platform/tests/conformance-checkers/html-rdfa/0008-isvalid.html +rm -vf ./process-tarball-dir/*/testing/web-platform/tests/conformance-checkers/html-rdfalite/0030-isvalid.html +rm -vf ./process-tarball-dir/*/testing/web-platform/tests/css/css-ui/support/cursors/woolly-64.svg +rm -vf ./process-tarball-dir/*/testing/web-platform/tests/css/css-ui/support/cursors/woolly.svg +rm -vf ./process-tarball-dir/*/testing/web-platform/tests/conformance-checkers/html-rdfa/0230-novalid.html +rm -vf ./process-tarball-dir/*/testing/web-platform/tests/conformance-checkers/html-rdfa/0231-isvalid.html +rm -vf ./process-tarball-dir/*/layout/inspector/tests/chrome/test_fontVariationsAPI.css +# A forbidden code point was found in: +rm -vf ./process-tarball-dir/*/mobile/android/android-components/components/browser/errorpages/src/main/res/values-ar/strings.xml +rm -vf ./process-tarball-dir/*/mobile/android/android-components/components/feature/addons/src/main/res/values-ur/strings.xml +rm -vf ./process-tarball-dir/*/third_party/webkit/PerformanceTests/Speedometer3/resources/editors/dist/assets/codemirror-521de7ab.js +rm -vf ./process-tarball-dir/*/third_party/python/pip/pip-24.0.dist-info/AUTHORS.txt + +processed_tarball=${1/source/processed-source} + +cd ./process-tarball-dir +tar -cf - ./* | xz -9 -T 0 -f > $processed_tarball +mv $processed_tarball .. +cd .. + +rm -rf ./process-tarball-dir diff --git a/rhbz-2131158-webrtc-nss-fix.patch b/rhbz-2131158-webrtc-nss-fix.patch new file mode 100644 index 0000000..78b458d --- /dev/null +++ b/rhbz-2131158-webrtc-nss-fix.patch @@ -0,0 +1,25 @@ +diff -up firefox-102.3.0/third_party/libsrtp/src/crypto/cipher/aes_gcm_nss.c.webrtc-fix firefox-102.3.0/third_party/libsrtp/src/crypto/cipher/aes_gcm_nss.c +--- firefox-102.3.0/third_party/libsrtp/src/crypto/cipher/aes_gcm_nss.c.webrtc-fix 2022-10-04 18:58:30.563683229 +0200 ++++ firefox-102.3.0/third_party/libsrtp/src/crypto/cipher/aes_gcm_nss.c 2022-10-04 18:58:44.583652963 +0200 +@@ -293,7 +293,7 @@ static srtp_err_status_t srtp_aes_gcm_ns + + int rv; + SECItem param = { siBuffer, (unsigned char *)&c->params, +- sizeof(CK_GCM_PARAMS) }; ++ sizeof(CK_NSS_GCM_PARAMS) }; + if (encrypt) { + rv = PK11_Encrypt(c->key, CKM_AES_GCM, ¶m, buf, enc_len, + *enc_len + 16, buf, *enc_len); +diff -up firefox-102.3.0/third_party/libsrtp/src/crypto/include/aes_gcm.h.webrtc-fix firefox-102.3.0/third_party/libsrtp/src/crypto/include/aes_gcm.h +--- firefox-102.3.0/third_party/libsrtp/src/crypto/include/aes_gcm.h.webrtc-fix 2022-10-04 18:59:16.635583764 +0200 ++++ firefox-102.3.0/third_party/libsrtp/src/crypto/include/aes_gcm.h 2022-10-04 18:59:31.848550924 +0200 +@@ -101,7 +101,7 @@ typedef struct { + uint8_t iv[12]; + uint8_t aad[MAX_AD_SIZE]; + int aad_size; +- CK_GCM_PARAMS params; ++ CK_NSS_GCM_PARAMS params; + uint8_t tag[16]; + } srtp_aes_gcm_ctx_t; + +diff -up firefox-102.3.0/third_party/prio/prio/encrypt.c.webrtc-fix firefox-102.3.0/third_party/prio/prio/encrypt.c diff --git a/shebang-build.patch b/shebang-build.patch deleted file mode 100644 index 9ade86c..0000000 --- a/shebang-build.patch +++ /dev/null @@ -1,9 +0,0 @@ -diff -up firefox-73.0/build/unix/run-mozilla.sh.old firefox-73.0/build/unix/run-mozilla.sh ---- firefox-73.0/build/unix/run-mozilla.sh.old 2020-02-12 09:58:00.150895904 +0100 -+++ firefox-73.0/build/unix/run-mozilla.sh 2020-02-12 09:58:06.505860696 +0100 -@@ -1,4 +1,4 @@ --#!/bin/sh -+#!/usr/bin/sh - # - # This Source Code Form is subject to the terms of the Mozilla Public - # License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/testing.sh b/testing.sh new file mode 100755 index 0000000..ef868ec --- /dev/null +++ b/testing.sh @@ -0,0 +1,260 @@ +#!/usr/bin/bash + + +function run_tests_wayland { + # usage: run-tests-wayland [test flavour] + + set -x + + RUN_XPCSHELL_TEST=1 + RUN_REFTEST=1 + RUN_MOCHITEST=1 + RUN_CRASHTEST=1 + + while (( "$#" )); do + SELECTED_TEST=$1 + if [ "$SELECTED_TEST" = "xpcshell" ] ; then + RUN_XPCSHELL_TEST=1 + elif [ "$SELECTED_TEST" = "reftest" ] ; then + RUN_REFTEST=1 + elif [ "$SELECTED_TEST" = "mochitest" ] ; then + RUN_MOCHITEST=1 + elif [ "$SELECTED_TEST" = "crashtest" ] ; then + RUN_CRASHTEST=1 + fi + shift + done + + export MACH_USE_SYSTEM_PYTHON=1 + export MOZ_NODE_PATH=/usr/bin/node + + MOCHITEST_PARAMS="--timeout 1 --chunk-by-dir 4" + TEST_DIR="test_results" + mkdir $TEST_DIR + + env | grep "DISPLAY" + + # Fix for system nss + ln -s /usr/bin/certutil objdir/dist/bin/certutil + ln -s /usr/bin/pk12util objdir/dist/bin/pk12util + + NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`" + + export MOZ_ENABLE_WAYLAND=1 + + if [ $RUN_XPCSHELL_TEST -ne 0 ] ; then + # ./mach xpcshell-test 2>&1 | cat - | tee $TEST_DIR/xpcshell + ./mach xpcshell-test --enable-webrender 2>&1 | cat - | tee $TEST_DIR/xpcshell-wr + sleep 60 + fi + + # Basic render testing + export TEST_PARAMS="--setpref reftest.ignoreWindowSize=true --setpref widget.wayland.test-workarounds.enabled=true" + #export TEST_FLAVOUR="" + #if [ $RUN_REFTEST -ne 0 ] ; then + # ./mach reftest --marionette localhost:$(($(($RANDOM))+2000)) $TEST_PARAMS 2>&1 | tee $TEST_DIR/reftest$TEST_FLAVOUR + #fi + #if [ $RUN_CRASHTEST -ne 0 ] ; then + # ./mach crashtest --marionette localhost:$(($(($RANDOM))+2000)) $TEST_PARAMS 2>&1 | tee $TEST_DIR/crashtest$TEST_FLAVOUR + #fi + #if [ $RUN_MOCHITEST -ne 0 ] ; then + # ./mach mochitest --marionette localhost:$(($(($RANDOM))+2000)) $MOCHITEST_PARAMS $TEST_PARAMS 2>&1 | tee $TEST_DIR/mochitest$TEST_FLAVOUR + #fi + + # WebRender testing + export TEST_PARAMS="--enable-webrender $TEST_PARAMS" + export TEST_FLAVOUR="-wr" + # Use dom/base/test or dom/base/test/chrome for short version + export MOCHITEST_DIR='dom' + if [ $RUN_REFTEST -ne 0 ] ; then + ./mach reftest $TEST_PARAMS 2>&1 | tee $TEST_DIR/reftest$TEST_FLAVOUR + sleep 60 + fi + if [ $RUN_CRASHTEST -ne 0 ] ; then + ./mach crashtest $TEST_PARAMS 2>&1 | tee $TEST_DIR/crashtest$TEST_FLAVOUR + sleep 60 + fi + if [ $RUN_MOCHITEST -ne 0 ] ; then + ./mach mochitest $MOCHITEST_DIR $MOCHITEST_PARAMS $TEST_PARAMS 2>&1 | tee $TEST_DIR/mochitest$TEST_FLAVOUR + sleep 60 + fi + + rm -f objdir/dist/bin/certutil + rm -f objdir/dist/bin/pk12util +} + +function run_tests_x11() { + set -x + + export MACH_USE_SYSTEM_PYTHON=1 + export MOZ_NODE_PATH=/usr/bin/node + export X_PARAMS="-screen 0 1600x1200x24" + export MOCHITEST_PARAMS="--timeout 1 --chunk-by-dir 4" + export TEST_DIR="test_results" + + # Fix for system nss + ln -s /usr/bin/certutil objdir/dist/bin/certutil + ln -s /usr/bin/pk12util objdir/dist/bin/pk12util + + NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`" + + # Basic render testing + export TEST_PARAMS="" + export TEST_FLAVOUR="" + #xvfb-run -s "$X_PARAMS" -n 91 ./mach xpcshell-test --sequential $TEST_PARAMS 2>&1 | cat - | tee $TEST_DIR/xpcshell + #xvfb-run -s "$X_PARAMS" -n 92 ./mach reftest --marionette localhost:$(($(($RANDOM))+2000)) $TEST_PARAMS 2>&1 | tee $TEST_DIR/reftest$TEST_FLAVOUR + #xvfb-run -s "$X_PARAMS" -n 93 ./mach crashtest --marionette localhost:$(($(($RANDOM))+2000)) $TEST_PARAMS 2>&1 | tee $TEST_DIR/crashtest$TEST_FLAVOUR + #xvfb-run -s "$X_PARAMS" -n 94 ./mach mochitest --marionette localhost:$(($(($RANDOM))+2000)) $MOCHITEST_PARAMS $TEST_PARAMS 2>&1 | tee $TEST_DIR/mochitest$TEST_FLAVOUR + + # WebRender testing + export TEST_PARAMS="--enable-webrender $TEST_PARAMS" + export TEST_FLAVOUR="-wr" + #xvfb-run -s "$X_PARAMS" -n 95 ./mach xpcshell-test --sequential $TEST_PARAMS 2>&1 | cat - | tee $TEST_DIR/xpcshell-wr + #sleep 60 + #xvfb-run -s "$X_PARAMS" -n 96 ./mach reftest $TEST_PARAMS 2>&1 | tee $TEST_DIR/reftest$TEST_FLAVOUR + #sleep 60 + #xvfb-run -s "$X_PARAMS" -n 97 ./mach crashtest $TEST_PARAMS 2>&1 | tee $TEST_DIR/crashtest$TEST_FLAVOUR + #sleep 60 + #export DISPLAY=:0 + #./mach mochitest dom/base/test/ $MOCHITEST_PARAMS $TEST_PARAMS 2>&1 | tee $TEST_DIR/mochitest$TEST_FLAVOUR + export DISPLAY=:98 + xvfb-run -s "$X_PARAMS" -n 98 ./mach mochitest dom/base/test/ $MOCHITEST_PARAMS $TEST_PARAMS 2>&1 | tee $TEST_DIR/mochitest$TEST_FLAVOUR + + rm -f objdir/dist/bin/certutil + rm -f objdir/dist/bin/pk12util +} + +function run_wayland_compositor() { + # Run wayland compositor and set WAYLAND_DISPLAY env variable + set -x + + echo export DESKTOP_SESSION=gnome > $HOME/.xsessionrc + echo export XDG_CURRENT_DESKTOP=GNOME > $HOME/.xsessionrc + echo export XDG_SESSION_TYPE=wayland >> $HOME/.xsessionrc + + # Turn off the screen saver and screen locking + gsettings set org.gnome.desktop.screensaver idle-activation-enabled false + gsettings set org.gnome.desktop.screensaver lock-enabled false + gsettings set org.gnome.desktop.screensaver lock-delay 3600 + + # Disable the screen saver + # This starts the gnome-keyring-daemon with an unlocked login keyring. libsecret uses this to + # store secrets. Firefox uses libsecret to store a key that protects sensitive information like + # credit card numbers. + if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then + # if not found, launch a new one + eval `dbus-launch --sh-syntax` + fi + eval `echo '' | /usr/bin/gnome-keyring-daemon -r -d --unlock --components=secrets` + + if [ -z "$XDG_RUNTIME_DIR" ]; then + export XDG_RUNTIME_DIR=$HOME + fi + + . xvfb-run -s "-screen 0 1600x1200x24" -n 80 mutter --display=:80 --wayland --nested & + export DISPLAY=:80 + + if [ -z "$WAYLAND_DISPLAY" ] ; then + export WAYLAND_DISPLAY=wayland-0 + else + export WAYLAND_DISPLAY=wayland-1 + fi + sleep 10 + retry_count=0 + max_retries=5 + until [ $retry_count -gt $max_retries ]; do + if [ -S "$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY" ]; then + retry_count=$(($max_retries + 1)) + else + retry_count=$(($retry_count + 1)) + echo "Waiting for Mutter, retry: $retry_count" + sleep 2 + fi + done + + env | grep "DISPLAY" +} + +function print_error_reftest() { + # Print reftest failures and compose them to html + + TEST_DIR="$1" + TEST_FLAVOUR="$2" + OUTPUT_FILE="failures-reftest$TEST_FLAVOUR.html" + + grep --text -e "REFTEST TEST-UNEXPECTED-PASS" -e "REFTEST TEST-UNEXPECTED-FAIL" -e "IMAGE 1 (TEST):" -e "IMAGE 2 (REFERENCE):" $TEST_DIR/reftest$TEST_FLAVOUR 2>&1 > $OUTPUT_FILE + sed -i '/REFTEST IMAGE 1/a ">' $OUTPUT_FILE + sed -i '/REFTEST IMAGE 2/a ">

' $OUTPUT_FILE + sed -i '/REFTEST TEST/a
' $OUTPUT_FILE + sed -i -e 's/^REFTEST IMAGE 1 (TEST): /&1 > failures-mochitest$TEST_FLAVOUR.txt + grep --text -e " FAIL " -e " TIMEOUT " $TEST_DIR/xpcshell$TEST_FLAVOUR 2>&1 > failures-xpcshell$TEST_FLAVOUR.txt + grep --text -e "REFTEST TEST-UNEXPECTED-PASS" -e "REFTEST TEST-UNEXPECTED-FAIL" $TEST_DIR/reftest$TEST_FLAVOUR 2>&1 > failures-reftest$TEST_FLAVOUR.txt +} + +function print_failures() { + #!/usr/bin/bash + # Analyze and print test failures + + export TEST_DIR="test_results" + + #./print-errors $TEST_DIR "" + print_errors $TEST_DIR "-wr" + #./print-error-reftest $TEST_DIR "" + print_error_reftest $TEST_DIR "-wr" +} + +function psummary() { + #!/usr/bin/bash + # Analyze and print specialized (basic/webrender) test results + + TEST_DIR=$1 + TEST_FLAVOUR=$2 + + MPASS=`grep "TEST_END: Test OK" $TEST_DIR/mochitest$TEST_FLAVOUR | wc -l` + MERR=`grep "TEST_END: Test ERROR" $TEST_DIR/mochitest$TEST_FLAVOUR | wc -l` + MUNEX=`grep "TEST-UNEXPECTED-FAIL" $TEST_DIR/mochitest$TEST_FLAVOUR | wc -l` + echo "Mochitest PASSED: $MPASS FAILED: $MERR UNEXPECTED-FAILURES: $MUNEX" + + XPCPASS=`grep --text "Expected results:" $TEST_DIR/xpcshell$TEST_FLAVOUR | cut -d ' ' -f 3` + XPCFAIL=`grep --text "Unexpected results:" $TEST_DIR/xpcshell$TEST_FLAVOUR | cut -d ' ' -f 3` + echo "XPCShell: PASSED: $XPCPASS FAILED: $XPCFAIL" + + CRPASS=`grep "REFTEST INFO | Successful:" $TEST_DIR/crashtest$TEST_FLAVOUR | cut -d ' ' -f 5` + CRFAIL=`grep "^REFTEST INFO | Unexpected:" $TEST_DIR/crashtest$TEST_FLAVOUR | cut -d ' ' -f 5` + echo "Crashtest: PASSED: $CRPASS FAILED: $CRFAIL" + + RFPASS=`grep --text "REFTEST INFO | Successful:" $TEST_DIR/reftest$TEST_FLAVOUR | cut -d ' ' -f 5` + RFUN=`grep --text "^REFTEST INFO | Unexpected:" $TEST_DIR/reftest$TEST_FLAVOUR | cut -d ' ' -f 5` + RFKNOWN=`grep --text "REFTEST INFO | Known problems:" $TEST_DIR/reftest$TEST_FLAVOUR | cut -d ' ' -f 6` + echo "Reftest: PASSED: $RFPASS FAILED: $RFUN Known issues: $RFKNOWN" +} + +function print_results() { + #!/usr/bin/bash + # Analyze and print general test results + + export TEST_DIR="test_results" + + echo "Test results" + #echo "Basic compositor" + #./psummary $TEST_DIR "" + echo "WebRender" + psummary $TEST_DIR "-wr" +} + +set -x +first=$1 +shift +$first $* + -- Gitee