diff -Nru thunderbird-102.2.2/debian/changelog thunderbird-102.2.2/debian/changelog --- thunderbird-102.2.2/debian/changelog 2022-09-08 15:25:57.000000000 +0000 +++ thunderbird-102.2.2/debian/changelog 2022-09-15 15:05:29.000000000 +0000 @@ -1,3 +1,47 @@ +thunderbird (1:102.2.2-1+rpi1) bookworm-staging; urgency=medium + + [changes brought over from firefox-esr 60.3.0esr-1+rpi1 by Peter Michael Green at Wed, 05 Dec 2018 06:56:52 +0000] + * Hack broken rust target selection so it produces the right target + on raspbian. + * Fix clean target. + + [changes introduced in 60.4.0-1+rpi1 by Peter Michael Green] + * Further fixes to clean target (still not completely fixed :( ). + + [changes introduced in 1:68.5.0-1~deb10u1+rpi1 by Peter Michael Green] + * Disable neon (patches taken from firefox-esr package) + * Build in a chroot with arm64 binutils-arm-linux-gnueabihf + + [changes brought forward from 1:68.5.0-1~deb10u1+rpi2 by Peter Michael Green at Sun, 15 Mar 2020 16:27:21 +0000] + * Actually build the binary packages on armhf. + * Yet more clean target fixing. + + [changes brought over from firefox-esr 78.3.0esr-2+rpi1 by Peter Michael Green] + * Clean up pycache directories. + * Disable neon in qcms. + + [changes introduced in 1:78.4.0-1~deb10u1+rpi1 by Peter Michael Green] + * Add export NSS_DISABLE_ARM32_NEON=1 to hopefully disable neon in nss. + * Adding the define in debian/rules didn't seem to work, try to patch out neon in nss instead + + [changes brought forward from 1:78.5.1-1+rpi2 by Peter Michael Green at Tue, 15 Dec 2020 00:33:33 +0000] + * Actually build thunderbird binary on armhf + (changelog says this was already done, but it got lost somewhere + along the way). + + [changes introduced in 1:91.3.2-1+rpi1 by Peter Michael Green] + * Use a #define instead of a typedef for double_t in fdlibm to prevent conflicting + definitions error. + + [changes introduced in 1:91.5.1-1+rpi1 by Peter Micheal Green] + * Further hacks to rust target selection. + + [changes introduced in 1:102.1.1-1+rpi1 by Peter Michael Green] + * Don't build rust code with Clto to avoid out of memory errors. + * Disable more armv7/neon stuff. + + -- Raspbian forward porter Thu, 15 Sep 2022 15:05:29 +0000 + thunderbird (1:102.2.2-1) unstable; urgency=medium * [f1dc81f] New upstream version 102.2.2 diff -Nru thunderbird-102.2.2/debian/control thunderbird-102.2.2/debian/control --- thunderbird-102.2.2/debian/control 2022-09-01 05:26:14.000000000 +0000 +++ thunderbird-102.2.2/debian/control 2022-09-15 15:05:29.000000000 +0000 @@ -63,7 +63,7 @@ Standards-Version: 4.6.1 Package: thunderbird -Architecture: amd64 arm64 i386 mips64el ppc64el s390x ppc64 +Architecture: amd64 armhf arm64 i386 mips64el ppc64el s390x ppc64 Depends: debianutils (>= 1.16), fontconfig, diff -Nru thunderbird-102.2.2/debian/patches/disable-more-armv7neon-stuff.patch thunderbird-102.2.2/debian/patches/disable-more-armv7neon-stuff.patch --- thunderbird-102.2.2/debian/patches/disable-more-armv7neon-stuff.patch 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-102.2.2/debian/patches/disable-more-armv7neon-stuff.patch 2022-09-15 15:05:29.000000000 +0000 @@ -0,0 +1,476 @@ +From: Peter Michael Green +Date: Sat, 27 Aug 2022 08:00:25 +0000 +X-Dgit-Generated: 1:102.1.1-1+rpi1 70b656c7d4dc4ae5fbef1dc3870a3931474445f4 +Subject: Disable more armv7/neon stuff. + + +--- + +--- thunderbird-102.1.1.orig/gfx/ycbcr/moz.build ++++ thunderbird-102.1.1/gfx/ycbcr/moz.build +@@ -53,13 +53,13 @@ else: + 'yuv_row_other.cpp', + ] + +-if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['HAVE_ARM_NEON']: +- SOURCES += [ +- 'yuv_row_arm.s', +- ] +- SOURCES += [ +- 'yuv_convert_arm.cpp', +- ] ++#if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['HAVE_ARM_NEON']: ++# SOURCES += [ ++# 'yuv_row_arm.s', ++# ] ++# SOURCES += [ ++# 'yuv_convert_arm.cpp', ++# ] + + LOCAL_INCLUDES += ['/media/libyuv/libyuv/include'] + +--- thunderbird-102.1.1.orig/media/libaom/moz.build ++++ thunderbird-102.1.1/media/libaom/moz.build +@@ -42,26 +42,6 @@ elif CONFIG['CPU_ARCH'] == 'x86': + ASFLAGS += [ '-I%s/media/libaom/config/linux/ia32/' % TOPSRCDIR ] + LOCAL_INCLUDES += [ '/media/libaom/config/linux/ia32/' ] + EXPORTS.aom += [ 'config/linux/ia32/config/aom_config.h' ] +-elif CONFIG['CPU_ARCH'] == 'arm': +- EXPORTS.aom += files['ARM_EXPORTS'] +- ASFLAGS += [ +- '-I%s/media/libaom/config/linux/arm/' % TOPSRCDIR, +- '-I%s/libaom' % OBJDIR, +- ] +- LOCAL_INCLUDES += [ '/media/libaom/config/linux/arm/' ] +- EXPORTS.aom += [ 'config/linux/arm/config/aom_config.h' ] +- +- SOURCES += files['ARM_SOURCES'] +- +- for f in SOURCES: +- if f.endswith('neon.c'): +- SOURCES[f].flags += CONFIG['VPX_ASFLAGS'] +- +- if CONFIG['OS_TARGET'] == 'Android': +- # For cpu-features.h +- LOCAL_INCLUDES += [ +- '%%%s/sources/android/cpufeatures' % CONFIG['ANDROID_NDK'], +- ] + else: + # Generic C-only configuration + EXPORTS.aom += files['GENERIC_EXPORTS'] +--- thunderbird-102.1.1.orig/media/libaom/sources.mozbuild ++++ thunderbird-102.1.1/media/libaom/sources.mozbuild +@@ -1,118 +1,6 @@ + # This file is generated. Do not edit. + + files = { +- 'ARM_EXPORTS': [ +- '../../third_party/aom/aom/aom.h', +- '../../third_party/aom/aom/aom_codec.h', +- '../../third_party/aom/aom/aom_decoder.h', +- '../../third_party/aom/aom/aom_encoder.h', +- '../../third_party/aom/aom/aom_frame_buffer.h', +- '../../third_party/aom/aom/aom_image.h', +- '../../third_party/aom/aom/aom_integer.h', +- '../../third_party/aom/aom/aomcx.h', +- '../../third_party/aom/aom/aomdx.h', +- '../../third_party/aom/aom_mem/aom_mem.h', +- '../../third_party/aom/aom_ports/aom_timer.h', +- '../../third_party/aom/aom_ports/arm.h', +- '../../third_party/aom/aom_ports/bitops.h', +- '../../third_party/aom/aom_ports/mem.h', +- '../../third_party/aom/aom_ports/sanitizer.h', +- '../../third_party/aom/aom_ports/system_state.h', +- '../../third_party/aom/aom_scale/aom_scale.h', +- '../../third_party/aom/aom_scale/yv12config.h', +- ], +- 'ARM_SOURCES': [ +- '../../third_party/aom/aom/src/aom_codec.c', +- '../../third_party/aom/aom/src/aom_decoder.c', +- '../../third_party/aom/aom/src/aom_encoder.c', +- '../../third_party/aom/aom/src/aom_image.c', +- '../../third_party/aom/aom/src/aom_integer.c', +- '../../third_party/aom/aom_dsp/aom_convolve.c', +- '../../third_party/aom/aom_dsp/aom_dsp_rtcd.c', +- '../../third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c', +- '../../third_party/aom/aom_dsp/arm/fwd_txfm_neon.c', +- '../../third_party/aom/aom_dsp/arm/intrapred_neon.c', +- '../../third_party/aom/aom_dsp/arm/loopfilter_neon.c', +- '../../third_party/aom/aom_dsp/arm/subtract_neon.c', +- '../../third_party/aom/aom_dsp/binary_codes_reader.c', +- '../../third_party/aom/aom_dsp/bitreader_buffer.c', +- '../../third_party/aom/aom_dsp/bitwriter_buffer.c', +- '../../third_party/aom/aom_dsp/blend_a64_hmask.c', +- '../../third_party/aom/aom_dsp/blend_a64_mask.c', +- '../../third_party/aom/aom_dsp/blend_a64_vmask.c', +- '../../third_party/aom/aom_dsp/daalaboolreader.c', +- '../../third_party/aom/aom_dsp/entcode.c', +- '../../third_party/aom/aom_dsp/entdec.c', +- '../../third_party/aom/aom_dsp/fft.c', +- '../../third_party/aom/aom_dsp/grain_synthesis.c', +- '../../third_party/aom/aom_dsp/intrapred.c', +- '../../third_party/aom/aom_dsp/loopfilter.c', +- '../../third_party/aom/aom_dsp/subtract.c', +- '../../third_party/aom/aom_mem/aom_mem.c', +- '../../third_party/aom/aom_ports/arm_cpudetect.c', +- '../../third_party/aom/aom_scale/aom_scale_rtcd.c', +- '../../third_party/aom/aom_scale/generic/aom_scale.c', +- '../../third_party/aom/aom_scale/generic/gen_scalers.c', +- '../../third_party/aom/aom_scale/generic/yv12config.c', +- '../../third_party/aom/aom_scale/generic/yv12extend.c', +- '../../third_party/aom/aom_util/aom_thread.c', +- '../../third_party/aom/aom_util/debug_util.c', +- '../../third_party/aom/av1/av1_dx_iface.c', +- '../../third_party/aom/av1/common/alloccommon.c', +- '../../third_party/aom/av1/common/arm/av1_inv_txfm_neon.c', +- '../../third_party/aom/av1/common/arm/av1_txfm_neon.c', +- '../../third_party/aom/av1/common/arm/blend_a64_hmask_neon.c', +- '../../third_party/aom/av1/common/arm/blend_a64_vmask_neon.c', +- '../../third_party/aom/av1/common/arm/cfl_neon.c', +- '../../third_party/aom/av1/common/arm/convolve_neon.c', +- '../../third_party/aom/av1/common/arm/jnt_convolve_neon.c', +- '../../third_party/aom/av1/common/arm/reconinter_neon.c', +- '../../third_party/aom/av1/common/arm/selfguided_neon.c', +- '../../third_party/aom/av1/common/arm/warp_plane_neon.c', +- '../../third_party/aom/av1/common/arm/wiener_convolve_neon.c', +- '../../third_party/aom/av1/common/av1_inv_txfm1d.c', +- '../../third_party/aom/av1/common/av1_inv_txfm2d.c', +- '../../third_party/aom/av1/common/av1_loopfilter.c', +- '../../third_party/aom/av1/common/av1_rtcd.c', +- '../../third_party/aom/av1/common/av1_txfm.c', +- '../../third_party/aom/av1/common/blockd.c', +- '../../third_party/aom/av1/common/cdef.c', +- '../../third_party/aom/av1/common/cdef_block.c', +- '../../third_party/aom/av1/common/cdef_block_neon.c', +- '../../third_party/aom/av1/common/cfl.c', +- '../../third_party/aom/av1/common/convolve.c', +- '../../third_party/aom/av1/common/debugmodes.c', +- '../../third_party/aom/av1/common/entropy.c', +- '../../third_party/aom/av1/common/entropymode.c', +- '../../third_party/aom/av1/common/entropymv.c', +- '../../third_party/aom/av1/common/frame_buffers.c', +- '../../third_party/aom/av1/common/idct.c', +- '../../third_party/aom/av1/common/mvref_common.c', +- '../../third_party/aom/av1/common/obu_util.c', +- '../../third_party/aom/av1/common/odintrin.c', +- '../../third_party/aom/av1/common/pred_common.c', +- '../../third_party/aom/av1/common/quant_common.c', +- '../../third_party/aom/av1/common/reconinter.c', +- '../../third_party/aom/av1/common/reconintra.c', +- '../../third_party/aom/av1/common/resize.c', +- '../../third_party/aom/av1/common/restoration.c', +- '../../third_party/aom/av1/common/scale.c', +- '../../third_party/aom/av1/common/scan.c', +- '../../third_party/aom/av1/common/seg_common.c', +- '../../third_party/aom/av1/common/thread_common.c', +- '../../third_party/aom/av1/common/tile_common.c', +- '../../third_party/aom/av1/common/timing.c', +- '../../third_party/aom/av1/common/txb_common.c', +- '../../third_party/aom/av1/common/warped_motion.c', +- '../../third_party/aom/av1/decoder/decodeframe.c', +- '../../third_party/aom/av1/decoder/decodemv.c', +- '../../third_party/aom/av1/decoder/decoder.c', +- '../../third_party/aom/av1/decoder/decodetxb.c', +- '../../third_party/aom/av1/decoder/detokenize.c', +- '../../third_party/aom/av1/decoder/dthread.c', +- '../../third_party/aom/av1/decoder/obu.c', +- '../../third_party/aom/av1/encoder/arm/neon/quantize_neon.c', +- ], + 'GENERIC_EXPORTS': [ + '../../third_party/aom/aom/aom.h', + '../../third_party/aom/aom/aom_codec.h', +--- thunderbird-102.1.1.orig/media/libvpx/sources.mozbuild ++++ thunderbird-102.1.1/media/libvpx/sources.mozbuild +@@ -537,249 +537,6 @@ files = { + 'libvpx/vpx_util/vpx_thread.c', + 'libvpx/vpx_util/vpx_write_yuv_frame.c', + ], +- 'ARM_EXPORTS': [ +- 'libvpx/vpx/vp8.h', +- 'libvpx/vpx/vp8cx.h', +- 'libvpx/vpx/vp8dx.h', +- 'libvpx/vpx/vpx_codec.h', +- 'libvpx/vpx/vpx_decoder.h', +- 'libvpx/vpx/vpx_encoder.h', +- 'libvpx/vpx/vpx_ext_ratectrl.h', +- 'libvpx/vpx/vpx_frame_buffer.h', +- 'libvpx/vpx/vpx_image.h', +- 'libvpx/vpx/vpx_integer.h', +- 'libvpx/vpx_mem/include/vpx_mem_intrnl.h', +- 'libvpx/vpx_mem/vpx_mem.h', +- 'libvpx/vpx_ports/arm.h', +- 'libvpx/vpx_ports/bitops.h', +- 'libvpx/vpx_ports/compiler_attributes.h', +- 'libvpx/vpx_ports/mem.h', +- 'libvpx/vpx_ports/static_assert.h', +- 'libvpx/vpx_ports/system_state.h', +- 'libvpx/vpx_ports/vpx_timer.h', +- 'libvpx/vpx_scale/vpx_scale.h', +- 'libvpx/vpx_scale/yv12config.h', +-], +- 'ARM_SOURCES': [ +- 'libvpx/vp8/common/alloccommon.c', +- 'libvpx/vp8/common/arm/loopfilter_arm.c', +- 'libvpx/vp8/common/arm/neon/bilinearpredict_neon.c', +- 'libvpx/vp8/common/arm/neon/copymem_neon.c', +- 'libvpx/vp8/common/arm/neon/dc_only_idct_add_neon.c', +- 'libvpx/vp8/common/arm/neon/dequant_idct_neon.c', +- 'libvpx/vp8/common/arm/neon/dequantizeb_neon.c', +- 'libvpx/vp8/common/arm/neon/idct_blk_neon.c', +- 'libvpx/vp8/common/arm/neon/iwalsh_neon.c', +- 'libvpx/vp8/common/arm/neon/loopfiltersimplehorizontaledge_neon.c', +- 'libvpx/vp8/common/arm/neon/loopfiltersimpleverticaledge_neon.c', +- 'libvpx/vp8/common/arm/neon/mbloopfilter_neon.c', +- 'libvpx/vp8/common/arm/neon/shortidct4x4llm_neon.c', +- 'libvpx/vp8/common/arm/neon/sixtappredict_neon.c', +- 'libvpx/vp8/common/arm/neon/vp8_loopfilter_neon.c', +- 'libvpx/vp8/common/blockd.c', +- 'libvpx/vp8/common/dequantize.c', +- 'libvpx/vp8/common/entropy.c', +- 'libvpx/vp8/common/entropymode.c', +- 'libvpx/vp8/common/entropymv.c', +- 'libvpx/vp8/common/extend.c', +- 'libvpx/vp8/common/filter.c', +- 'libvpx/vp8/common/findnearmv.c', +- 'libvpx/vp8/common/generic/systemdependent.c', +- 'libvpx/vp8/common/idct_blk.c', +- 'libvpx/vp8/common/idctllm.c', +- 'libvpx/vp8/common/loopfilter_filters.c', +- 'libvpx/vp8/common/mbpitch.c', +- 'libvpx/vp8/common/modecont.c', +- 'libvpx/vp8/common/quant_common.c', +- 'libvpx/vp8/common/reconinter.c', +- 'libvpx/vp8/common/reconintra.c', +- 'libvpx/vp8/common/reconintra4x4.c', +- 'libvpx/vp8/common/rtcd.c', +- 'libvpx/vp8/common/setupintrarecon.c', +- 'libvpx/vp8/common/swapyv12buffer.c', +- 'libvpx/vp8/common/treecoder.c', +- 'libvpx/vp8/common/vp8_loopfilter.c', +- 'libvpx/vp8/common/vp8_skin_detection.c', +- 'libvpx/vp8/decoder/dboolhuff.c', +- 'libvpx/vp8/decoder/decodeframe.c', +- 'libvpx/vp8/decoder/decodemv.c', +- 'libvpx/vp8/decoder/detokenize.c', +- 'libvpx/vp8/decoder/onyxd_if.c', +- 'libvpx/vp8/decoder/threading.c', +- 'libvpx/vp8/encoder/arm/neon/denoising_neon.c', +- 'libvpx/vp8/encoder/arm/neon/fastquantizeb_neon.c', +- 'libvpx/vp8/encoder/arm/neon/shortfdct_neon.c', +- 'libvpx/vp8/encoder/arm/neon/vp8_shortwalsh4x4_neon.c', +- 'libvpx/vp8/encoder/bitstream.c', +- 'libvpx/vp8/encoder/boolhuff.c', +- 'libvpx/vp8/encoder/copy_c.c', +- 'libvpx/vp8/encoder/dct.c', +- 'libvpx/vp8/encoder/denoising.c', +- 'libvpx/vp8/encoder/encodeframe.c', +- 'libvpx/vp8/encoder/encodeintra.c', +- 'libvpx/vp8/encoder/encodemb.c', +- 'libvpx/vp8/encoder/encodemv.c', +- 'libvpx/vp8/encoder/ethreading.c', +- 'libvpx/vp8/encoder/lookahead.c', +- 'libvpx/vp8/encoder/mcomp.c', +- 'libvpx/vp8/encoder/modecosts.c', +- 'libvpx/vp8/encoder/mr_dissim.c', +- 'libvpx/vp8/encoder/onyx_if.c', +- 'libvpx/vp8/encoder/pickinter.c', +- 'libvpx/vp8/encoder/picklpf.c', +- 'libvpx/vp8/encoder/ratectrl.c', +- 'libvpx/vp8/encoder/rdopt.c', +- 'libvpx/vp8/encoder/segmentation.c', +- 'libvpx/vp8/encoder/tokenize.c', +- 'libvpx/vp8/encoder/treewriter.c', +- 'libvpx/vp8/encoder/vp8_quantize.c', +- 'libvpx/vp8/vp8_cx_iface.c', +- 'libvpx/vp8/vp8_dx_iface.c', +- 'libvpx/vp9/common/arm/neon/vp9_iht16x16_add_neon.c', +- 'libvpx/vp9/common/arm/neon/vp9_iht4x4_add_neon.c', +- 'libvpx/vp9/common/arm/neon/vp9_iht8x8_add_neon.c', +- 'libvpx/vp9/common/vp9_alloccommon.c', +- 'libvpx/vp9/common/vp9_blockd.c', +- 'libvpx/vp9/common/vp9_common_data.c', +- 'libvpx/vp9/common/vp9_entropy.c', +- 'libvpx/vp9/common/vp9_entropymode.c', +- 'libvpx/vp9/common/vp9_entropymv.c', +- 'libvpx/vp9/common/vp9_filter.c', +- 'libvpx/vp9/common/vp9_frame_buffers.c', +- 'libvpx/vp9/common/vp9_idct.c', +- 'libvpx/vp9/common/vp9_loopfilter.c', +- 'libvpx/vp9/common/vp9_mvref_common.c', +- 'libvpx/vp9/common/vp9_pred_common.c', +- 'libvpx/vp9/common/vp9_quant_common.c', +- 'libvpx/vp9/common/vp9_reconinter.c', +- 'libvpx/vp9/common/vp9_reconintra.c', +- 'libvpx/vp9/common/vp9_rtcd.c', +- 'libvpx/vp9/common/vp9_scale.c', +- 'libvpx/vp9/common/vp9_scan.c', +- 'libvpx/vp9/common/vp9_seg_common.c', +- 'libvpx/vp9/common/vp9_thread_common.c', +- 'libvpx/vp9/common/vp9_tile_common.c', +- 'libvpx/vp9/decoder/vp9_decodeframe.c', +- 'libvpx/vp9/decoder/vp9_decodemv.c', +- 'libvpx/vp9/decoder/vp9_decoder.c', +- 'libvpx/vp9/decoder/vp9_detokenize.c', +- 'libvpx/vp9/decoder/vp9_dsubexp.c', +- 'libvpx/vp9/decoder/vp9_job_queue.c', +- 'libvpx/vp9/encoder/arm/neon/vp9_error_neon.c', +- 'libvpx/vp9/encoder/arm/neon/vp9_frame_scale_neon.c', +- 'libvpx/vp9/encoder/arm/neon/vp9_quantize_neon.c', +- 'libvpx/vp9/encoder/vp9_aq_cyclicrefresh.c', +- 'libvpx/vp9/encoder/vp9_bitstream.c', +- 'libvpx/vp9/encoder/vp9_context_tree.c', +- 'libvpx/vp9/encoder/vp9_cost.c', +- 'libvpx/vp9/encoder/vp9_dct.c', +- 'libvpx/vp9/encoder/vp9_encodeframe.c', +- 'libvpx/vp9/encoder/vp9_encodemb.c', +- 'libvpx/vp9/encoder/vp9_encodemv.c', +- 'libvpx/vp9/encoder/vp9_encoder.c', +- 'libvpx/vp9/encoder/vp9_ethread.c', +- 'libvpx/vp9/encoder/vp9_ext_ratectrl.c', +- 'libvpx/vp9/encoder/vp9_extend.c', +- 'libvpx/vp9/encoder/vp9_frame_scale.c', +- 'libvpx/vp9/encoder/vp9_lookahead.c', +- 'libvpx/vp9/encoder/vp9_mcomp.c', +- 'libvpx/vp9/encoder/vp9_multi_thread.c', +- 'libvpx/vp9/encoder/vp9_noise_estimate.c', +- 'libvpx/vp9/encoder/vp9_picklpf.c', +- 'libvpx/vp9/encoder/vp9_pickmode.c', +- 'libvpx/vp9/encoder/vp9_quantize.c', +- 'libvpx/vp9/encoder/vp9_ratectrl.c', +- 'libvpx/vp9/encoder/vp9_rd.c', +- 'libvpx/vp9/encoder/vp9_rdopt.c', +- 'libvpx/vp9/encoder/vp9_resize.c', +- 'libvpx/vp9/encoder/vp9_segmentation.c', +- 'libvpx/vp9/encoder/vp9_skin_detection.c', +- 'libvpx/vp9/encoder/vp9_speed_features.c', +- 'libvpx/vp9/encoder/vp9_subexp.c', +- 'libvpx/vp9/encoder/vp9_svc_layercontext.c', +- 'libvpx/vp9/encoder/vp9_tokenize.c', +- 'libvpx/vp9/encoder/vp9_treewriter.c', +- 'libvpx/vp9/vp9_cx_iface.c', +- 'libvpx/vp9/vp9_dx_iface.c', +- 'libvpx/vp9/vp9_iface_common.c', +- 'libvpx/vpx/src/vpx_codec.c', +- 'libvpx/vpx/src/vpx_decoder.c', +- 'libvpx/vpx/src/vpx_encoder.c', +- 'libvpx/vpx/src/vpx_image.c', +- 'libvpx/vpx_dsp/arm/avg_neon.c', +- 'libvpx/vpx_dsp/arm/avg_pred_neon.c', +- 'libvpx/vpx_dsp/arm/fdct16x16_neon.c', +- 'libvpx/vpx_dsp/arm/fdct32x32_neon.c', +- 'libvpx/vpx_dsp/arm/fdct_neon.c', +- 'libvpx/vpx_dsp/arm/fdct_partial_neon.c', +- 'libvpx/vpx_dsp/arm/fwd_txfm_neon.c', +- 'libvpx/vpx_dsp/arm/hadamard_neon.c', +- 'libvpx/vpx_dsp/arm/idct16x16_1_add_neon.c', +- 'libvpx/vpx_dsp/arm/idct16x16_add_neon.c', +- 'libvpx/vpx_dsp/arm/idct32x32_135_add_neon.c', +- 'libvpx/vpx_dsp/arm/idct32x32_1_add_neon.c', +- 'libvpx/vpx_dsp/arm/idct32x32_34_add_neon.c', +- 'libvpx/vpx_dsp/arm/idct32x32_add_neon.c', +- 'libvpx/vpx_dsp/arm/idct4x4_1_add_neon.asm', +- 'libvpx/vpx_dsp/arm/idct4x4_add_neon.asm', +- 'libvpx/vpx_dsp/arm/idct8x8_1_add_neon.c', +- 'libvpx/vpx_dsp/arm/idct8x8_add_neon.c', +- 'libvpx/vpx_dsp/arm/idct_neon.asm', +- 'libvpx/vpx_dsp/arm/intrapred_neon.c', +- 'libvpx/vpx_dsp/arm/intrapred_neon_asm.asm', +- 'libvpx/vpx_dsp/arm/loopfilter_16_neon.asm', +- 'libvpx/vpx_dsp/arm/loopfilter_4_neon.asm', +- 'libvpx/vpx_dsp/arm/loopfilter_8_neon.asm', +- 'libvpx/vpx_dsp/arm/quantize_neon.c', +- 'libvpx/vpx_dsp/arm/sad4d_neon.c', +- 'libvpx/vpx_dsp/arm/sad_neon.c', +- 'libvpx/vpx_dsp/arm/save_reg_neon.asm', +- 'libvpx/vpx_dsp/arm/subpel_variance_neon.c', +- 'libvpx/vpx_dsp/arm/subtract_neon.c', +- 'libvpx/vpx_dsp/arm/sum_squares_neon.c', +- 'libvpx/vpx_dsp/arm/variance_neon.c', +- 'libvpx/vpx_dsp/arm/vpx_convolve8_avg_horiz_filter_type1_neon.asm', +- 'libvpx/vpx_dsp/arm/vpx_convolve8_avg_horiz_filter_type2_neon.asm', +- 'libvpx/vpx_dsp/arm/vpx_convolve8_avg_vert_filter_type1_neon.asm', +- 'libvpx/vpx_dsp/arm/vpx_convolve8_avg_vert_filter_type2_neon.asm', +- 'libvpx/vpx_dsp/arm/vpx_convolve8_horiz_filter_type1_neon.asm', +- 'libvpx/vpx_dsp/arm/vpx_convolve8_horiz_filter_type2_neon.asm', +- 'libvpx/vpx_dsp/arm/vpx_convolve8_neon_asm.c', +- 'libvpx/vpx_dsp/arm/vpx_convolve8_vert_filter_type1_neon.asm', +- 'libvpx/vpx_dsp/arm/vpx_convolve8_vert_filter_type2_neon.asm', +- 'libvpx/vpx_dsp/arm/vpx_convolve_avg_neon_asm.asm', +- 'libvpx/vpx_dsp/arm/vpx_convolve_copy_neon_asm.asm', +- 'libvpx/vpx_dsp/arm/vpx_convolve_neon.c', +- 'libvpx/vpx_dsp/arm/vpx_scaled_convolve8_neon.c', +- 'libvpx/vpx_dsp/avg.c', +- 'libvpx/vpx_dsp/bitreader.c', +- 'libvpx/vpx_dsp/bitreader_buffer.c', +- 'libvpx/vpx_dsp/bitwriter.c', +- 'libvpx/vpx_dsp/bitwriter_buffer.c', +- 'libvpx/vpx_dsp/fwd_txfm.c', +- 'libvpx/vpx_dsp/intrapred.c', +- 'libvpx/vpx_dsp/inv_txfm.c', +- 'libvpx/vpx_dsp/loopfilter.c', +- 'libvpx/vpx_dsp/prob.c', +- 'libvpx/vpx_dsp/psnr.c', +- 'libvpx/vpx_dsp/quantize.c', +- 'libvpx/vpx_dsp/sad.c', +- 'libvpx/vpx_dsp/skin_detection.c', +- 'libvpx/vpx_dsp/subtract.c', +- 'libvpx/vpx_dsp/sum_squares.c', +- 'libvpx/vpx_dsp/variance.c', +- 'libvpx/vpx_dsp/vpx_convolve.c', +- 'libvpx/vpx_dsp/vpx_dsp_rtcd.c', +- 'libvpx/vpx_mem/vpx_mem.c', +- 'libvpx/vpx_ports/arm_cpudetect.c', +- 'libvpx/vpx_scale/generic/gen_scalers.c', +- 'libvpx/vpx_scale/generic/vpx_scale.c', +- 'libvpx/vpx_scale/generic/yv12config.c', +- 'libvpx/vpx_scale/generic/yv12extend.c', +- 'libvpx/vpx_scale/vpx_scale_rtcd.c', +- 'libvpx/vpx_util/vpx_thread.c', +- 'libvpx/vpx_util/vpx_write_yuv_frame.c', +-], + 'ARM64_EXPORTS': [ + 'libvpx/vpx/vp8.h', + 'libvpx/vpx/vp8cx.h', +--- thunderbird-102.1.1.orig/mozglue/build/arm.h ++++ thunderbird-102.1.1/mozglue/build/arm.h +@@ -59,13 +59,13 @@ + # define MOZILLA_MAY_SUPPORT_ARMV6 1 + # endif + +-# if defined(HAVE_ARM_NEON) +-# define MOZILLA_MAY_SUPPORT_NEON 1 +-# endif ++//# if defined(HAVE_ARM_NEON) ++//# define MOZILLA_MAY_SUPPORT_NEON 1 ++//# endif + +-# if defined(HAVE_ARM_SIMD) +-# define MOZILLA_MAY_SUPPORT_ARMV7 1 +-# endif ++//# if defined(HAVE_ARM_SIMD) ++//# define MOZILLA_MAY_SUPPORT_ARMV7 1 ++//# endif + # endif + + // Currently we only have CPU detection for Linux via /proc/cpuinfo +--- thunderbird-102.1.1.orig/third_party/aom/aom_dsp/aom_dsp.cmake ++++ thunderbird-102.1.1/third_party/aom/aom_dsp/aom_dsp.cmake +@@ -96,12 +96,12 @@ list(APPEND AOM_DSP_COMMON_INTRIN_AVX2 + "${AOM_ROOT}/aom_dsp/x86/intrapred_avx2.c" + "${AOM_ROOT}/aom_dsp/x86/blend_a64_mask_avx2.c") + +-list(APPEND AOM_DSP_COMMON_INTRIN_NEON +- "${AOM_ROOT}/aom_dsp/arm/fwd_txfm_neon.c" +- "${AOM_ROOT}/aom_dsp/arm/loopfilter_neon.c" +- "${AOM_ROOT}/aom_dsp/arm/intrapred_neon.c" +- "${AOM_ROOT}/aom_dsp/arm/subtract_neon.c" +- "${AOM_ROOT}/aom_dsp/arm/blend_a64_mask_neon.c") ++#list(APPEND AOM_DSP_COMMON_INTRIN_NEON ++# "${AOM_ROOT}/aom_dsp/arm/fwd_txfm_neon.c" ++# "${AOM_ROOT}/aom_dsp/arm/loopfilter_neon.c" ++# "${AOM_ROOT}/aom_dsp/arm/intrapred_neon.c" ++# "${AOM_ROOT}/aom_dsp/arm/subtract_neon.c" ++# "${AOM_ROOT}/aom_dsp/arm/blend_a64_mask_neon.c") + + list(APPEND AOM_DSP_COMMON_INTRIN_DSPR2 + "${AOM_ROOT}/aom_dsp/mips/common_dspr2.c" diff -Nru thunderbird-102.2.2/debian/patches/disable-neon-in-qcms.patch thunderbird-102.2.2/debian/patches/disable-neon-in-qcms.patch --- thunderbird-102.2.2/debian/patches/disable-neon-in-qcms.patch 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-102.2.2/debian/patches/disable-neon-in-qcms.patch 2022-09-15 15:05:29.000000000 +0000 @@ -0,0 +1,83 @@ +From: Peter Michael Green +Subject: Disable neon in qcms. + +--- thunderbird-102.1.1.orig/gfx/qcms/qcmsint.h ++++ thunderbird-102.1.1/gfx/qcms/qcmsint.h +@@ -96,18 +96,18 @@ void qcms_transform_data_bgra_out_lut_al + unsigned char *dest, + size_t length); + +-void qcms_transform_data_rgb_out_lut_neon(const qcms_transform *transform, +- const unsigned char *src, +- unsigned char *dest, +- size_t length); +-void qcms_transform_data_rgba_out_lut_neon(const qcms_transform *transform, +- const unsigned char *src, +- unsigned char *dest, +- size_t length); +-void qcms_transform_data_bgra_out_lut_neon(const qcms_transform *transform, +- const unsigned char *src, +- unsigned char *dest, +- size_t length); ++//void qcms_transform_data_rgb_out_lut_neon(const qcms_transform *transform, ++// const unsigned char *src, ++// unsigned char *dest, ++// size_t length); ++//void qcms_transform_data_rgba_out_lut_neon(const qcms_transform *transform, ++// const unsigned char *src, ++// unsigned char *dest, ++// size_t length); ++//void qcms_transform_data_bgra_out_lut_neon(const qcms_transform *transform, ++// const unsigned char *src, ++// unsigned char *dest, ++// size_t length); + + extern bool qcms_supports_iccv4; + extern bool qcms_supports_neon; +--- thunderbird-102.1.1.orig/gfx/qcms/src/lib.rs ++++ thunderbird-102.1.1/gfx/qcms/src/lib.rs +@@ -64,8 +64,8 @@ pub use transform::DataType; + pub use transform::Transform; + #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] + mod transform_avx; +-#[cfg(all(any(target_arch = "aarch64", target_arch = "arm"), feature = "neon"))] +-mod transform_neon; ++//#[cfg(all(any(target_arch = "aarch64", target_arch = "arm"), feature = "neon"))] ++//mod transform_neon; + #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] + mod transform_sse2; + mod transform_util; +--- thunderbird-102.1.1.orig/gfx/qcms/src/transform.rs ++++ thunderbird-102.1.1/gfx/qcms/src/transform.rs +@@ -21,11 +21,11 @@ + // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + #![allow(clippy::missing_safety_doc)] +-#[cfg(all(any(target_arch = "arm", target_arch = "aarch64"), feature = "neon"))] ++/*#[cfg(all(any(target_arch = "arm", target_arch = "aarch64"), feature = "neon"))] + use crate::transform_neon::{ + qcms_transform_data_bgra_out_lut_neon, qcms_transform_data_rgb_out_lut_neon, + qcms_transform_data_rgba_out_lut_neon, +-}; ++};*/ + use crate::{ + chain::chain_transform, + double_to_s15Fixed16Number, +@@ -1369,7 +1369,7 @@ pub fn transform_create( + } + } + +- #[cfg(all(target_arch = "arm", feature = "neon"))] ++ /*#[cfg(all(target_arch = "arm", feature = "neon"))] + let neon_supported = is_arm_feature_detected!("neon"); + #[cfg(all(target_arch = "aarch64", feature = "neon"))] + let neon_supported = is_aarch64_feature_detected!("neon"); +@@ -1383,7 +1383,7 @@ pub fn transform_create( + } else if in_type == BGRA8 { + transform.transform_fn = Some(qcms_transform_data_bgra_out_lut_neon) + } +- } ++ }*/ + + if transform.transform_fn.is_none() { + if in_type == RGB8 { diff -Nru thunderbird-102.2.2/debian/patches/dont-build-rust-code-with-clto-to-avoid-.patch thunderbird-102.2.2/debian/patches/dont-build-rust-code-with-clto-to-avoid-.patch --- thunderbird-102.2.2/debian/patches/dont-build-rust-code-with-clto-to-avoid-.patch 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-102.2.2/debian/patches/dont-build-rust-code-with-clto-to-avoid-.patch 2022-09-15 15:05:29.000000000 +0000 @@ -0,0 +1,19 @@ +From: Peter Michael Green +Date: Sat, 27 Aug 2022 07:58:37 +0000 +X-Dgit-Generated: 1:102.1.1-1+rpi1 a0abbcf457e1e18e8fdf656950505c94453e00b9 +Subject: Don't build rust code with Clto to avoid out of memory errors. + + +--- + +--- thunderbird-102.1.1.orig/config/makefiles/rust.mk ++++ thunderbird-102.1.1/config/makefiles/rust.mk +@@ -90,7 +90,7 @@ ifndef rustflags_sancov + # Never enable when coverage is enabled to work around https://github.com/rust-lang/rust/issues/90045. + ifndef MOZ_CODE_COVERAGE + ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE))) +-cargo_rustc_flags += -Clto ++#cargo_rustc_flags += -Clto + endif + # We need -Cembed-bitcode=yes for all crates when using -Clto. + RUSTFLAGS += -Cembed-bitcode=yes diff -Nru thunderbird-102.2.2/debian/patches/further-raspbian-hacks-to-rust-target-se.patch thunderbird-102.2.2/debian/patches/further-raspbian-hacks-to-rust-target-se.patch --- thunderbird-102.2.2/debian/patches/further-raspbian-hacks-to-rust-target-se.patch 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-102.2.2/debian/patches/further-raspbian-hacks-to-rust-target-se.patch 2022-09-15 15:05:29.000000000 +0000 @@ -0,0 +1,20 @@ +From: Peter Michael Green +Date: Sat, 5 Feb 2022 14:30:32 +0000 +X-Dgit-Generated: 1:91.5.1-1+rpi1 ee3c5f7c5038a688fb27935d347ea039c851f63f +Subject: Further raspbian hacks to rust target selection. + + +--- + +--- thunderbird-91.5.1.orig/build/moz.configure/rust.configure ++++ thunderbird-91.5.1/build/moz.configure/rust.configure +@@ -393,6 +393,9 @@ def detect_rustc_target( + if rustc_target is None: + die("Don't know how to translate {} for rustc".format(host_or_target.alias)) + ++ #raspbian hack ++ if rustc_target == "armv7-unknown-linux-gnueabihf": ++ rustc_target = "arm-unknown-linux-gnueabihf" + return rustc_target + + diff -Nru thunderbird-102.2.2/debian/patches/patch-out-neon-in-freebl.patch thunderbird-102.2.2/debian/patches/patch-out-neon-in-freebl.patch --- thunderbird-102.2.2/debian/patches/patch-out-neon-in-freebl.patch 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-102.2.2/debian/patches/patch-out-neon-in-freebl.patch 2022-09-15 15:05:29.000000000 +0000 @@ -0,0 +1,205 @@ +From: Peter Michael Green +Subject: Patch out neon in freebl + +--- thunderbird-102.1.1.orig/security/nss/lib/freebl/Makefile ++++ thunderbird-102.1.1/security/nss/lib/freebl/Makefile +@@ -153,9 +153,9 @@ ifeq ($(CPU_ARCH),aarch64) + endif + endif + ifeq ($(CPU_ARCH),arm) +-ifndef NSS_DISABLE_ARM32_NEON +- EXTRA_SRCS += gcm-arm32-neon.c +-endif ++#ifndef NSS_DISABLE_ARM32_NEON ++# EXTRA_SRCS += gcm-arm32-neon.c ++#endif + ifdef CC_IS_CLANG + DEFINES += -DUSE_HW_AES -DUSE_HW_SHA1 -DUSE_HW_SHA2 + EXTRA_SRCS += aes-armv8.c sha1-armv8.c sha256-armv8.c +@@ -774,9 +774,9 @@ USES_SOFTFLOAT_ABI := $(shell $(CC) -o - + $(OBJDIR)/$(PROG_PREFIX)aes-armv8$(OBJ_SUFFIX): CFLAGS += -march=armv8-a -mfpu=crypto-neon-fp-armv8$(if $(USES_SOFTFLOAT_ABI), -mfloat-abi=softfp) + $(OBJDIR)/$(PROG_PREFIX)sha1-armv8$(OBJ_SUFFIX): CFLAGS += -march=armv8-a -mfpu=crypto-neon-fp-armv8$(if $(USES_SOFTFLOAT_ABI), -mfloat-abi=softfp) + $(OBJDIR)/$(PROG_PREFIX)sha256-armv8$(OBJ_SUFFIX): CFLAGS += -march=armv8-a -mfpu=crypto-neon-fp-armv8$(if $(USES_SOFTFLOAT_ABI), -mfloat-abi=softfp) +-ifndef NSS_DISABLE_ARM32_NEON +-$(OBJDIR)/$(PROG_PREFIX)gcm-arm32-neon$(OBJ_SUFFIX): CFLAGS += -mfpu=neon$(if $(USES_SOFTFLOAT_ABI), -mfloat-abi=softfp) +-endif ++#ifndef NSS_DISABLE_ARM32_NEON ++#$(OBJDIR)/$(PROG_PREFIX)gcm-arm32-neon$(OBJ_SUFFIX): CFLAGS += -mfpu=neon$(if $(USES_SOFTFLOAT_ABI), -mfloat-abi=softfp) ++#endif + endif + + ifeq ($(CPU_ARCH),aarch64) +--- thunderbird-102.1.1.orig/security/nss/lib/freebl/freebl.gyp ++++ thunderbird-102.1.1/security/nss/lib/freebl/freebl.gyp +@@ -103,13 +103,13 @@ + ], + }, + }], +- [ 'target_arch=="arm"', { +- # Gecko doesn't support non-NEON platform on Android, but tier-3 +- # platform such as Linux/arm will need it +- 'cflags_mozilla': [ +- '-mfpu=neon' +- ], +- }], ++ #[ 'target_arch=="arm"', { ++ # # Gecko doesn't support non-NEON platform on Android, but tier-3 ++ # # platform such as Linux/arm will need it ++ # 'cflags_mozilla': [ ++ # '-mfpu=neon' ++ # ], ++ #}], + [ 'target_arch=="x64"', { + 'sources': [ + 'verified/Hacl_Poly1305_128.c', +@@ -172,13 +172,13 @@ + ], + }, + }], +- [ 'target_arch=="arm"', { +- # Gecko doesn't support non-NEON platform on Android, but tier-3 +- # platform such as Linux/arm will need it +- 'cflags_mozilla': [ +- '-mfpu=neon' +- ], +- }], ++ #[ 'target_arch=="arm"', { ++ # # Gecko doesn't support non-NEON platform on Android, but tier-3 ++ # # platform such as Linux/arm will need it ++ # 'cflags_mozilla': [ ++ # '-mfpu=neon' ++ # ], ++ #}], + [ 'target_arch=="x64"', { + 'sources': [ + 'verified/Hacl_Poly1305_256.c', +@@ -251,25 +251,25 @@ + }] + ] + }, +- { +- 'target_name': 'gcm-aes-arm32-neon_c_lib', +- 'type': 'static_library', +- 'sources': [ +- 'gcm-arm32-neon.c' +- ], +- 'dependencies': [ +- '<(DEPTH)/exports.gyp:nss_exports' +- ], +- 'cflags': [ +- '-march=armv7', +- '-mfpu=neon', +- '<@(softfp_cflags)', +- ], +- 'cflags_mozilla': [ +- '-mfpu=neon', +- '<@(softfp_cflags)', +- ] +- }, ++ #{ ++ # 'target_name': 'gcm-aes-arm32-neon_c_lib', ++ # 'type': 'static_library', ++ # 'sources': [ ++ # 'gcm-arm32-neon.c' ++ # ], ++ # 'dependencies': [ ++ # '<(DEPTH)/exports.gyp:nss_exports' ++ # ], ++ # #'cflags': [ ++ # # '-march=armv7', ++ # # '-mfpu=neon', ++ # # '<@(softfp_cflags)', ++ # #], ++ # #'cflags_mozilla': [ ++ # # '-mfpu=neon', ++ # # '<@(softfp_cflags)', ++ # #] ++ #}, + { + 'target_name': 'gcm-aes-aarch64_c_lib', + 'type': 'static_library', +@@ -525,12 +525,12 @@ + 'sha-x86_c_lib', + ], + }], +- [ 'disable_arm32_neon==0 and target_arch=="arm"', { +- 'dependencies': [ +- 'gcm-aes-arm32-neon_c_lib', +- ], +- }], +- [ 'disable_arm32_neon==1 and target_arch=="arm"', { ++ #[ 'disable_arm32_neon==0 and target_arch=="arm"', { ++ # 'dependencies': [ ++ # 'gcm-aes-arm32-neon_c_lib', ++ # ], ++ #}], ++ [ 'target_arch=="arm"', { + 'defines!': [ + 'NSS_DISABLE_ARM32_NEON', + ], +@@ -612,12 +612,12 @@ + 'sha-x86_c_lib', + ], + }], +- [ 'disable_arm32_neon==0 and target_arch=="arm"', { +- 'dependencies': [ +- 'gcm-aes-arm32-neon_c_lib', +- ], +- }], +- [ 'disable_arm32_neon==1 and target_arch=="arm"', { ++ #[ 'disable_arm32_neon==0 and target_arch=="arm"', { ++ # 'dependencies': [ ++ # 'gcm-aes-arm32-neon_c_lib', ++ # ], ++ #}], ++ [ 'target_arch=="arm"', { + 'defines!': [ + 'NSS_DISABLE_ARM32_NEON', + ], +--- thunderbird-102.1.1.orig/security/nss/lib/freebl/gcm.c ++++ thunderbird-102.1.1/security/nss/lib/freebl/gcm.c +@@ -25,7 +25,7 @@ + #elif defined(__arm__) && defined(IS_LITTLE_ENDIAN) && \ + !defined(NSS_DISABLE_ARM32_NEON) + /* We don't test on big endian platform, so disable this on big endian. */ +-#define USE_ARM_GCM ++//#define USE_ARM_GCM + #endif + + /* Forward declarations */ +--- thunderbird-102.1.1.orig/security/nss/lib/freebl/rijndael.c ++++ thunderbird-102.1.1/security/nss/lib/freebl/rijndael.c +@@ -20,10 +20,10 @@ + #include "gcm.h" + #include "mpi.h" + +-#if !defined(IS_LITTLE_ENDIAN) && !defined(NSS_X86_OR_X64) ++//#if !defined(IS_LITTLE_ENDIAN) && !defined(NSS_X86_OR_X64) + // not test yet on big endian platform of arm + #undef USE_HW_AES +-#endif ++//#endif + + #ifdef __powerpc64__ + #include "ppc-crypto.h" +--- thunderbird-102.1.1.orig/third_party/rust/nss_build_common/.cargo-checksum.json ++++ thunderbird-102.1.1/third_party/rust/nss_build_common/.cargo-checksum.json +@@ -1 +1 @@ +-{"files":{"Cargo.toml":"4f1d37d926e853eb9f3d8074b45c00a317e2b4aafbc339a471430d28526716e9","src/lib.rs":"1cbfa62f63ce62078b51105c28bd4783c0045a4059175a1644ac0cc79837bf00"},"package":null} +\ No newline at end of file ++{"files":{"Cargo.toml":"4f1d37d926e853eb9f3d8074b45c00a317e2b4aafbc339a471430d28526716e9","src/lib.rs":"e1b529d6facc6f16a234a81d4b39904002ee023539a73bd29fae75e9a433fef3"},"package":null} +--- thunderbird-102.1.1.orig/third_party/rust/nss_build_common/src/lib.rs ++++ thunderbird-102.1.1/third_party/rust/nss_build_common/src/lib.rs +@@ -117,9 +117,9 @@ fn get_nss_libs(kind: LinkingKind) -> Ve + if target_arch == "x86_64" || target_arch == "x86" { + static_libs.push("gcm-aes-x86_c_lib"); + } +- if target_arch == "arm" { +- static_libs.push("gcm-aes-arm32-neon_c_lib") +- } ++ //if target_arch == "arm" { ++ // static_libs.push("gcm-aes-arm32-neon_c_lib") ++ //} + if target_arch == "aarch64" { + static_libs.push("gcm-aes-aarch64_c_lib"); + } diff -Nru thunderbird-102.2.2/debian/patches/raspbian-rust-triplet-hack.patch thunderbird-102.2.2/debian/patches/raspbian-rust-triplet-hack.patch --- thunderbird-102.2.2/debian/patches/raspbian-rust-triplet-hack.patch 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-102.2.2/debian/patches/raspbian-rust-triplet-hack.patch 2022-09-15 15:05:29.000000000 +0000 @@ -0,0 +1,21 @@ +Description: Hack broken rust target selection so it produces the right target on raspbian. +Author: Peter Michael Green +diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure +index 40f017da67..07308cb6cd 100644 +--- a/build/moz.configure/rust.configure ++++ b/build/moz.configure/rust.configure +@@ -236,9 +236,14 @@ def rust_compiler(rustc_info, cargo_info): + + + @depends(rustc, when=rust_compiler) ++@imports("sys") ++@imports(_from="__builtin__", _import='repr') + @imports(_from="__builtin__", _import="ValueError") + def rust_supported_targets(rustc): ++ #HACK: if there are multiple matches the algorithm uses the last one ++ #put arm-unknown-linux-gnuebihf on the end of the list so it gets preffered + out = check_cmd_output(rustc, "--print", "target-list").splitlines() ++ out.append("arm-unknown-linux-gnueabihf") + data = {} + for t in out: + try: diff -Nru thunderbird-102.2.2/debian/patches/series thunderbird-102.2.2/debian/patches/series --- thunderbird-102.2.2/debian/patches/series 2022-09-01 05:26:14.000000000 +0000 +++ thunderbird-102.2.2/debian/patches/series 2022-09-15 15:05:29.000000000 +0000 @@ -28,3 +28,12 @@ debian-hacks/Decrease-Cargo-minimal-version-to-1.46.0.patch debian-hacks/Fix-Floating-Point-Normalization-breakage-on-32bit-Linux.patch fixes/Bug-1773070-Rename-remove-some-eventState-s-variables.-r-.patch +raspbian-rust-triplet-hack.patch +try-to-disable-neon.patch +try-harder-to-disable-neon.patch +disable-neon-in-qcms.patch +patch-out-neon-in-freebl.patch +use-a-define-instead-of-a-typedef-for-do.patch +further-raspbian-hacks-to-rust-target-se.patch +dont-build-rust-code-with-clto-to-avoid-.patch +disable-more-armv7neon-stuff.patch diff -Nru thunderbird-102.2.2/debian/patches/try-harder-to-disable-neon.patch thunderbird-102.2.2/debian/patches/try-harder-to-disable-neon.patch --- thunderbird-102.2.2/debian/patches/try-harder-to-disable-neon.patch 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-102.2.2/debian/patches/try-harder-to-disable-neon.patch 2022-09-15 15:05:29.000000000 +0000 @@ -0,0 +1,21 @@ +From: Peter Michael Green +Date: Thu, 7 Nov 2019 11:23:19 +0000 +X-Dgit-Generated: 68.2.0esr-1+rpi1 a8a34a748cbe157a1fb6bfdb2c127ff6ec8416e9 +Subject: Try harder to disable neon. + + +--- + +--- firefox-esr-68.2.0esr.orig/build/moz.configure/arm.configure ++++ firefox-esr-68.2.0esr/build/moz.configure/arm.configure +@@ -229,8 +229,8 @@ def build_arm_neon(arm_arch): + return arm_arch >= 700 + + +-set_config("BUILD_ARM_NEON", build_arm_neon) +-set_define("BUILD_ARM_NEON", build_arm_neon) ++#set_config("BUILD_ARM_NEON", build_arm_neon) ++#set_define("BUILD_ARM_NEON", build_arm_neon) + + + set_config("ARM_ARCH", depends(arm_target.arm_arch)(lambda x: str(x))) diff -Nru thunderbird-102.2.2/debian/patches/try-to-disable-neon.patch thunderbird-102.2.2/debian/patches/try-to-disable-neon.patch --- thunderbird-102.2.2/debian/patches/try-to-disable-neon.patch 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-102.2.2/debian/patches/try-to-disable-neon.patch 2022-09-15 15:05:29.000000000 +0000 @@ -0,0 +1,15 @@ +From: Peter Michael Green +Date: Thu, 7 Nov 2019 08:48:48 +0000 +X-Dgit-Generated: 68.2.0esr-1+rpi1 be4da04b831a114d84fc719b35cbf9cd4014c464 +Subject: Try to disable neon. + + +--- + +--- firefox-esr-68.2.0esr.orig/build/moz.configure/arm.configure ++++ firefox-esr-68.2.0esr/build/moz.configure/arm.configure +@@ -228,3 +228,3 @@ + def build_arm_neon(arm_arch): +- return arm_arch >= 7 ++ return arm_arch >= 700 + diff -Nru thunderbird-102.2.2/debian/patches/use-a-define-instead-of-a-typedef-for-do.patch thunderbird-102.2.2/debian/patches/use-a-define-instead-of-a-typedef-for-do.patch --- thunderbird-102.2.2/debian/patches/use-a-define-instead-of-a-typedef-for-do.patch 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-102.2.2/debian/patches/use-a-define-instead-of-a-typedef-for-do.patch 2022-09-15 15:05:29.000000000 +0000 @@ -0,0 +1,19 @@ +From: Peter Michael Green +Date: Thu, 16 Dec 2021 16:46:38 +0000 +X-Dgit-Generated: 1:91.3.2-1+rpi1 10aa006b9ea2d3980ee1e37aa18a8c8910ee2e39 +Subject: Use a #define instead of a typedef for double_t in fdlibm to prevent conflicting definitions error. + + +--- + +--- thunderbird-91.3.2.orig/modules/fdlibm/src/math_private.h ++++ thunderbird-91.3.2/modules/fdlibm/src/math_private.h +@@ -35,7 +35,7 @@ typedef double __double_t; + #else + typedef long double __double_t; + #endif +-typedef __double_t double_t; ++#define double_t __double_t + typedef float __float_t; + /* + * The original fdlibm code used statements like: diff -Nru thunderbird-102.2.2/debian/rules thunderbird-102.2.2/debian/rules --- thunderbird-102.2.2/debian/rules 2022-09-01 05:26:14.000000000 +0000 +++ thunderbird-102.2.2/debian/rules 2022-09-15 15:05:29.000000000 +0000 @@ -79,6 +79,8 @@ export MOZBUILD_STATE_PATH = $(CURDIR)/debian/.mozbuild export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system +export NSS_DISABLE_ARM32_NEON=1 + %: dh $@ @@ -92,7 +94,16 @@ rm -f configure old-configure js/src/configure js/src/old-configure mozconfig.* # needed for thunderbird-l10n rm -rf $(THUNDERBIRD_L10N_BUILDDIR) + rm -rf third_party/python/psutil/tmp/ + rm -f third_party/python/psutil/psutil/*.so + rm -rf third_party/python/psutil/build/temp* + rm -rf third_party/python/psutil/build/lib* + find . -name '*.pyc' -delete + rm -f mozconfig.* rm -rf $(CARGO_HOME) + rm -rf debian/thunderbird-l10n-uz debian/thunderbird-l10n-cak debian/thunderbird-l10n-ka + rm -f config/external/icu/data/icudt64l.dat + find . -name __pycache__ -delete rm -rf $(MOZBUILD_STATE_PATH) override_dh_auto_configure: