Page MenuHomeFreeBSD

mail/thunderbird: port to powerpc64
AbandonedPublic

Authored by mikael on Feb 16 2020, 8:52 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mar 12 2024, 9:35 AM
Unknown Object (File)
Dec 22 2023, 12:49 AM
Unknown Object (File)
Dec 20 2023, 6:45 AM
Unknown Object (File)
Nov 25 2023, 10:19 PM
Unknown Object (File)
Nov 24 2023, 8:05 PM
Unknown Object (File)
Nov 24 2023, 3:14 AM
Unknown Object (File)
Nov 23 2023, 5:54 PM
Unknown Object (File)
Nov 23 2023, 4:48 AM

Details

Reviewers
manu
Group Reviewers
PowerPC
gecko
Summary

Mostly copy'n'paste of firefox's patches

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

@jbeich
Would you accept putting those patches to EXTRA_PATCHES only for powerpc64? That way, you wouldn't have to worry about them breaking next update, PPC devs could maintain them.

files/patch-bug* look fine. The rest is similar to D21765.

@jbeich
Would you accept putting those patches to EXTRA_PATCHES only for powerpc64? That way, you wouldn't have to worry about them breaking next update, PPC devs could maintain them.

What are you actually asking? I'm OK with simple patches, so EXTRA_PATCHES may not be necessary. However, those REINPLACE_CMD lines are likely going to cause maintenance headache. Or are you going to convert those into proper patches then?

mail/thunderbird/Makefile
70 ↗(On Diff #68422)

Already done in rP521576 for all USE_GECKO ports.

mail/thunderbird/files/patch-media_webrtc_trunk_webrtc_moz.build
1 ↗(On Diff #68422)

Rename patch-media_webrtc_trunk_webrtc_moz.build to patch-bugNNN where NNN is upstream bug where progress can be tracked. Otherwise, other people may not be aware if this was reported upstream and I may not remember the exact bug number.

mail/thunderbird/files/patch-security_nss_lib_freebl_mpi_mpcpucache.c
2 ↗(On Diff #68422)

Because it's a bundled library update. For individual change see NSS repo e.g,.
https://hg.mozilla.org/projects/nss/rev/86efb7b1db1d

Why is the fix required despite --with-system-nss? If you want to keep it rename the file to include upstream bug number, so it's easier to prune on update.

mail/thunderbird/files/patch-third__party_rust_libloading_build.rs
7 ↗(On Diff #68422)

Can you try applying www/firefox/files/patch-bug1628567 instead?

mail/thunderbird/files/patch-xpcom_reflect_xptcall_md_unix_moz.build
8 ↗(On Diff #68422)

Why do you need to avoid GNU as? It creates extra work as now you have to fix ASM to compile with Clang assembler.

mikael marked an inline comment as done.
mikael edited the summary of this revision. (Show Details)
mikael edited the test plan for this revision. (Show Details)
jhibbits added inline comments.
mail/thunderbird/files/patch-bug1493916
24–28

This starting code looks quite odd. 'register' keyword is useless 99% of the time, and throwing it into r2 is pointless; on top of r2 being used for the TOC pointer, 'array' is already in a register, and if not, it's forced by the sheer notion of the constraint. Also, I believe it should be "+r" since it's an in/out variable (might be wrong), and the instruction really should read 'dcbzl 0, %0', because the instruction is special-cased on r0 for rA. Not a knock on your change, but a knock on the original code.

mail/thunderbird/files/patch-bug1612181_comment1
37

Missed a spot, should be %r9

40

Check here, too. There are a bunch that need fixed still.

Looks OK but why did you remove gfx/ patches?

mail/thunderbird/files/patch-bug1628567
1

Please, copy patch comment from www/firefox as well.

Since mail/thunderbird now builds and works on powerpc64, is this OBE? Or is more needed?

mikael added inline comments.
mail/thunderbird/files/patch-security_nss_lib_freebl_mpi_mpcpucache.c
2 ↗(On Diff #68422)

A few files in nss are built (it also happens on amd64), see third_party/prio/moz.build

third_party/prio/mpcpucache.o
/usr/local/bin/clang90 -std=gnu99 -o mpcpucache.o -c  -DNDEBUG=1 -DTRIMMED=1 -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/usr/ports/mail/thunderbird/work/thunderbird-68.8.0/third_party/prio -I/usr/ports/mail/thunderbird/work/.build/third_party/prio -I/usr/ports/mail/thunderbird/work/thunderbird-68.8.0/security/nss/lib/freebl/mpi -I/usr/ports/mail/thunderbird/work/thunderbird-68.8.0/third_party/msgpack/include -I/usr/ports/mail/thunderbird/work/thunderbird-68.8.0/third_party/prio/include -I/usr/ports/mail/thunderbird/work/.build/dist/include -I/usr/local/include/nspr -I/usr/local/include -I/usr/local/include/nss -I/usr/ports/mail/thunderbird/work/.build/dist/include/nss -I/usr/local/include -I/usr/local/include -I/usr/local/include/pixman-1 -fPIC -include /usr/ports/mail/thunderbird/work/.build/mozilla-config.h -DMOZILLA_CLIENT -Qunused-arguments -DLIBICONV_PLUG -isystem /usr/local/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -O2 -pipe -O3 -DLIBICONV_PLUG -isystem /usr/local/include -fno-strict-aliasing -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-aliasing -ffunction-sections -fdata-sections -fno-math-errno -fPIC -pipe -I/usr/local/include -O2 -O3 -fno-omit-frame-pointer -funwind-tables -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wclass-varargs -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=backend-plugin -Wno-error=return-std-move -Wno-error=atomic-alignment -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments  -MD -MP -MF .deps/mpcpucache.o.pp   /usr/ports/mail/thunderbird/work/thunderbird-68.8.0/security/nss/lib/freebl/mpi/mpcpucache.c
mail/thunderbird/files/patch-third__party_rust_libloading_build.rs
7 ↗(On Diff #68422)

It doesn't apply but I can regenerate it.

mail/thunderbird/files/patch-xpcom_reflect_xptcall_md_unix_moz.build
8 ↗(On Diff #68422)

We don't have a gnu toolchain in the base system for elfv2, we rely on clang integrated as.