mail/thunderbird: use libc for res_* functions
thunderbird's javascript code needs more than basic DNS resolution
(e.g. SRV, TXT, MX lookups) - more than javascript natively has
(welcome to the web) and builds it's own bindings for libc to use
the resolver(3) interface. Unlike linux, where the resolver routines
live in libresolv, FreeBSD has these routines in libc.
I'm referencing libc.so.7 directly, as this is enough to make this
code work on 13/amd64 (others should work too) - the official way
of using libc.so would be much more work (and reimplementing parts
of the dynamic linker in javascript takes the cake, or something).
This is enough to make adding and using new CalDAV calendars possible;
other problems might linger and possibly require a better solution.
(cherry picked from commit 9a2174d4e0
)
This commit is contained in:
parent
d885cb58c8
commit
96f4c70e70
2 changed files with 26 additions and 1 deletions
|
@ -2,7 +2,7 @@
|
|||
|
||||
PORTNAME= thunderbird
|
||||
DISTVERSION= 91.4.0
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 3
|
||||
CATEGORIES= mail news net-im
|
||||
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
|
||||
MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build2/source
|
||||
|
|
25
mail/thunderbird/files/patch-comm_mail_modules_DNS.jsm
Normal file
25
mail/thunderbird/files/patch-comm_mail_modules_DNS.jsm
Normal file
|
@ -0,0 +1,25 @@
|
|||
--- comm/mail/modules/DNS.jsm.orig 2021-12-12 21:21:31.875731000 +0100
|
||||
+++ comm/mail/modules/DNS.jsm 2021-12-12 22:31:04.895700000 +0100
|
||||
@@ -38,11 +38,17 @@
|
||||
_open() {
|
||||
function findLibrary() {
|
||||
let lastException = null;
|
||||
- let candidates = [
|
||||
- { name: "resolv.9", suffix: "" },
|
||||
- { name: "resolv", suffix: ".2" },
|
||||
- { name: "resolv", suffix: "" },
|
||||
- ];
|
||||
+ if(Services.appinfo.OS.toLowerCase() == "freebsd") {
|
||||
+ let candidates = [
|
||||
+ { name: "c", suffix: ".7" },
|
||||
+ ]
|
||||
+ } else {
|
||||
+ let candidates = [
|
||||
+ { name: "resolv.9", suffix: "" },
|
||||
+ { name: "resolv", suffix: ".2" },
|
||||
+ { name: "resolv", suffix: "" },
|
||||
+ ];
|
||||
+ }
|
||||
let tried = [];
|
||||
for (let candidate of candidates) {
|
||||
try {
|
Loading…
Reference in a new issue