mirror of
https://git.freebsd.org/ports.git
synced 2025-04-28 01:26:39 -04:00
mail/thunderbird: update to 137.0 (rc1)
Release Notes (soon): https://www.thunderbird.net/en-US/thunderbird/137.0/releasenotes/ Mention the big upgrade and the new thunderbird-esr port in UPDATING.
This commit is contained in:
parent
a9097e0cd9
commit
7eb19a67e0
11 changed files with 23929 additions and 12779 deletions
9
UPDATING
9
UPDATING
|
@ -5,6 +5,15 @@ they are unavoidable.
|
|||
You should get into the habit of checking this file for changes each time
|
||||
you update your ports collection, before attempting any port upgrades.
|
||||
|
||||
20250327:
|
||||
AFFECTS: users of thunderbird
|
||||
AUTHOR: cmt@FreeBSD.org
|
||||
|
||||
The mail/thunderbird port switched to Thunderbird's new release train,
|
||||
with frequent major releases (ca. 4-weeks-cycle). Users wanting to
|
||||
stay with the 128-releases for now and the ESR releases in general
|
||||
should switch to the mail/thunderbird-esr port.
|
||||
|
||||
20250325:
|
||||
AFFECTS: users of TeX*
|
||||
AUTHOR: bofh@FreeBSD.org
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
PORTNAME= thunderbird
|
||||
DISTVERSION= 128.9.0
|
||||
DISTVERSION= 137.0
|
||||
CATEGORIES= mail news net-im wayland
|
||||
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}esr/source \
|
||||
MOZILLA/${PORTNAME}/candidates/${DISTVERSION}esr-candidates/build1/source
|
||||
DISTFILES= ${DISTNAME}esr.source${EXTRACT_SUFX}
|
||||
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}${DISTVERSIONSUFFIX}/source \
|
||||
MOZILLA/${PORTNAME}/candidates/${DISTVERSION}${DISTVERSIONSUFFIX}-candidates/build1/source
|
||||
DISTFILES= ${DISTNAME}.source${EXTRACT_SUFX}
|
||||
|
||||
MAINTAINER= gecko@FreeBSD.org
|
||||
COMMENT= Mozilla Thunderbird is standalone mail and news that stands above
|
||||
WWW= https://www.mozilla.com/thunderbird/
|
||||
|
||||
BUILD_DEPENDS= nspr>=4.32:devel/nspr \
|
||||
nss>=3.101:security/nss \
|
||||
nss>=3.109:security/nss \
|
||||
libevent>=2.1.8:devel/libevent \
|
||||
harfbuzz>=8.5.0:print/harfbuzz \
|
||||
harfbuzz>=10.1.0:print/harfbuzz \
|
||||
graphite2>=1.3.14:graphics/graphite2 \
|
||||
png>=1.6.43:graphics/png \
|
||||
png>=1.6.45:graphics/png \
|
||||
dav1d>=1.0.0:multimedia/dav1d \
|
||||
libvpx>=1.14.0:multimedia/libvpx \
|
||||
libvpx>=1.15.0:multimedia/libvpx \
|
||||
${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \
|
||||
v4l_compat>0:multimedia/v4l_compat \
|
||||
autoconf2.13:devel/autoconf2.13 \
|
||||
|
@ -29,12 +29,16 @@ BUILD_DEPENDS= nspr>=4.32:devel/nspr \
|
|||
LIB_DEPENDS= libjson-c.so:devel/json-c
|
||||
|
||||
USE_GECKO= gecko
|
||||
# cannot use system icu: calendar is completely broken by
|
||||
CONFLICTS_INSTALL= thunderbird-esr
|
||||
# cannot use system icu: too old on 2025Q1
|
||||
# before re-enabling, check:
|
||||
# https://unicode-org.atlassian.net/browse/ICU-22132 (fix not in 74.1)
|
||||
USE_MOZILLA= -icu -sqlite
|
||||
CFLAGS_powerpc64le= -DSQLITE_BYTEORDER=1234
|
||||
|
||||
USES= tar:xz
|
||||
# helpful when testing beta
|
||||
WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION}
|
||||
|
||||
MOZ_OPTIONS= --enable-application=comm/mail --enable-official-branding
|
||||
MOZ_OPTIONS+= --with-system-bz2 --with-system-jsonc
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1742928407
|
||||
SHA256 (thunderbird-128.9.0esr.source.tar.xz) = 735579c7fd7018ef16ad3b28ba3f254d957da33435b3b1af945d95fd20f9407b
|
||||
SIZE (thunderbird-128.9.0esr.source.tar.xz) = 676939592
|
||||
TIMESTAMP = 1743079619
|
||||
SHA256 (thunderbird-137.0.source.tar.xz) = e4b103686f264339f322501f4d2591cfd8e90e8c105a1ce9d99941db096c342c
|
||||
SIZE (thunderbird-137.0.source.tar.xz) = 719178836
|
||||
|
|
|
@ -1,131 +0,0 @@
|
|||
commit 25a5572d5cd137aa6d893e09a00bd39908a59a18
|
||||
Author: Christoph Moench-Tegeder <cmt@burggraben.net>
|
||||
Date: Tue Sep 10 22:23:32 2024 +0200
|
||||
|
||||
based on:
|
||||
commit 717bba28411c
|
||||
Author: Jory A. Pratt <anarchy@gentoo.org>
|
||||
Date: Thu Jun 13 11:53:00 2019 -0700
|
||||
|
||||
Bug 1559213 - Allow to use system av1 libs instead of bundled.
|
||||
|
||||
diff --git config/external/moz.build config/external/moz.build
|
||||
index a24b470396cf..547f5f5c9e04 100644
|
||||
--- config/external/moz.build
|
||||
+++ config/external/moz.build
|
||||
@@ -40,8 +40,9 @@ if not CONFIG["MOZ_SYSTEM_LIBVPX"]:
|
||||
external_dirs += ["media/libvpx"]
|
||||
|
||||
if CONFIG["MOZ_AV1"]:
|
||||
- external_dirs += ["media/libaom"]
|
||||
- external_dirs += ["media/libdav1d"]
|
||||
+ if not CONFIG["MOZ_SYSTEM_AV1"]:
|
||||
+ external_dirs += ["media/libaom"]
|
||||
+ external_dirs += ["media/libdav1d"]
|
||||
|
||||
if not CONFIG["MOZ_SYSTEM_PNG"]:
|
||||
external_dirs += ["media/libpng"]
|
||||
diff --git dom/media/platforms/moz.build dom/media/platforms/moz.build
|
||||
index 61536cc6e225..29cf635bbb44 100644
|
||||
--- dom/media/platforms/moz.build
|
||||
+++ dom/media/platforms/moz.build
|
||||
@@ -71,6 +71,11 @@ if CONFIG["MOZ_AV1"]:
|
||||
"agnostic/AOMDecoder.cpp",
|
||||
"agnostic/DAV1DDecoder.cpp",
|
||||
]
|
||||
+ if CONFIG['MOZ_SYSTEM_AV1']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_SYSTEM_LIBAOM_CFLAGS']
|
||||
+ OS_LIBS += CONFIG['MOZ_SYSTEM_LIBAOM_LIBS']
|
||||
+ CXXFLAGS += CONFIG['MOZ_SYSTEM_LIBDAV1D_CFLAGS']
|
||||
+ OS_LIBS += CONFIG['MOZ_SYSTEM_LIBDAV1D_LIBS']
|
||||
|
||||
if CONFIG["MOZ_OMX"]:
|
||||
EXPORTS += [
|
||||
diff --git media/ffvpx/libavcodec/moz.build media/ffvpx/libavcodec/moz.build
|
||||
index 6f09049a6068..90a82a19a9d1 100644
|
||||
--- media/ffvpx/libavcodec/moz.build
|
||||
+++ media/ffvpx/libavcodec/moz.build
|
||||
@@ -119,10 +119,16 @@ if not CONFIG['MOZ_FFVPX_AUDIOONLY']:
|
||||
'vp9recon.c',
|
||||
'vpx_rac.c',
|
||||
]
|
||||
- USE_LIBS += [
|
||||
- 'dav1d',
|
||||
- 'media_libdav1d_asm',
|
||||
- ]
|
||||
+ if CONFIG["MOZ_SYSTEM_AV1"]:
|
||||
+ CFLAGS += CONFIG['MOZ_SYSTEM_LIBDAV1D_CFLAGS']
|
||||
+ OS_LIBS += CONFIG['MOZ_SYSTEM_LIBDAV1D_LIBS']
|
||||
+ CFLAGS += CONFIG['MOZ_SYSTEM_LIBAOM_CFLAGS']
|
||||
+ OS_LIBS += CONFIG['MOZ_SYSTEM_LIBAOM_LIBS']
|
||||
+ else:
|
||||
+ USE_LIBS += [
|
||||
+ 'dav1d',
|
||||
+ 'media_libdav1d_asm',
|
||||
+ ]
|
||||
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
||||
LOCAL_INCLUDES += ['/media/mozva']
|
||||
SOURCES += [
|
||||
diff --git media/libopus/moz.build media/libopus/moz.build
|
||||
index 943aee79ee99..4ad07e3e98af 100644
|
||||
--- media/libopus/moz.build
|
||||
+++ media/libopus/moz.build
|
||||
@@ -58,7 +58,7 @@ if not CONFIG["MOZ_SAMPLE_TYPE_FLOAT32"]:
|
||||
DEFINES["FIXED_POINT"] = 1
|
||||
DEFINES["DISABLE_FLOAT_API"] = True
|
||||
|
||||
-if CONFIG["OS_ARCH"] == "Linux":
|
||||
+if CONFIG["OS_ARCH"] in ("FreeBSD", "Linux"):
|
||||
OS_LIBS += [
|
||||
"m",
|
||||
]
|
||||
diff --git media/libvorbis/moz.build media/libvorbis/moz.build
|
||||
index cd17d4f89759..816edd72a000 100644
|
||||
--- media/libvorbis/moz.build
|
||||
+++ media/libvorbis/moz.build
|
||||
@@ -45,7 +45,7 @@ LOCAL_INCLUDES += ['lib']
|
||||
if CONFIG['OS_ARCH'] == 'SunOS':
|
||||
DEFINES['HAVE_ALLOCA_H'] = True
|
||||
|
||||
-if CONFIG["OS_ARCH"] == "Linux":
|
||||
+if CONFIG["OS_ARCH"] in ("FreeBSD", "Linux"):
|
||||
OS_LIBS += [
|
||||
"m",
|
||||
]
|
||||
diff --git toolkit/moz.configure toolkit/moz.configure
|
||||
index 1f85d2831f2f..07294b93f850 100644
|
||||
--- toolkit/moz.configure
|
||||
+++ toolkit/moz.configure
|
||||
@@ -883,7 +883,23 @@ def av1(value):
|
||||
return True
|
||||
|
||||
|
||||
-@depends(target, when=av1 & compile_environment)
|
||||
+option("--with-system-av1",
|
||||
+ help="Use system av1 (located with pkgconfig)")
|
||||
+
|
||||
+system_libaom_info = pkg_check_modules("MOZ_SYSTEM_LIBAOM", "aom >= 1.0.0",
|
||||
+ when="--with-system-av1")
|
||||
+
|
||||
+system_libdav1d_info = pkg_check_modules("MOZ_SYSTEM_LIBDAV1D", "dav1d >= 0.1.1",
|
||||
+ when="--with-system-av1")
|
||||
+
|
||||
+@depends(system_libaom_info, system_libdav1d_info)
|
||||
+def system_av1(system_libaom_info, system_libdav1d_info):
|
||||
+ has_av1_libs = False
|
||||
+ if system_libaom_info and system_libdav1d_info:
|
||||
+ has_av1_libs = True
|
||||
+ return has_av1_libs
|
||||
+
|
||||
+@depends(target, when=av1 & depends(system_av1)(lambda v: not v) & compile_environment)
|
||||
def dav1d_asm(target):
|
||||
if target.cpu in ("aarch64", "x86", "x86_64"):
|
||||
return True
|
||||
@@ -899,6 +915,7 @@ set_config("MOZ_DAV1D_ASM", dav1d_asm)
|
||||
set_define("MOZ_DAV1D_ASM", dav1d_asm)
|
||||
set_config("MOZ_AV1", av1)
|
||||
set_define("MOZ_AV1", av1)
|
||||
+set_config("MOZ_SYSTEM_AV1", depends_if(system_av1)(lambda _: True))
|
||||
|
||||
# JXL Image Codec Support
|
||||
# ==============================================================
|
50
mail/thunderbird/files/patch-bug1948776
Normal file
50
mail/thunderbird/files/patch-bug1948776
Normal file
|
@ -0,0 +1,50 @@
|
|||
commit 43b044fe8adaccb46868ac00c70a4e7a5d354a9c
|
||||
Author: Christoph Moench-Tegeder <cmt@burggraben.net>
|
||||
|
||||
Bug 1948776 - handle non-existence of MAP_NORESERVE for FreeBSD, r=afranchuk,jld,nika
|
||||
|
||||
The MAP_NORESERVE flag does not exist in FreeBSD. As the minimally-
|
||||
invasive workaround, I decided to remove that flag directly in the
|
||||
mmap() calls, instead of defining our own MAP_NORESERVE as 0
|
||||
possibly far away and not obviously connected to these places.
|
||||
|
||||
Differential Revision: https://phabricator.services.mozilla.com/D238531
|
||||
|
||||
diff --git ipc/glue/SharedMemoryPlatform_posix.cpp ipc/glue/SharedMemoryPlatform_posix.cpp
|
||||
index 61121bcbaf8d..b31f2200e8e6 100644
|
||||
--- ipc/glue/SharedMemoryPlatform_posix.cpp
|
||||
+++ ipc/glue/SharedMemoryPlatform_posix.cpp
|
||||
@@ -447,8 +447,12 @@ bool Platform::Protect(char* aAddr, size_t aSize, Access aAccess) {
|
||||
}
|
||||
|
||||
void* Platform::FindFreeAddressSpace(size_t aSize) {
|
||||
- void* memory = mmap(nullptr, aSize, PROT_NONE,
|
||||
- MAP_ANONYMOUS | MAP_NORESERVE | MAP_PRIVATE, -1, 0);
|
||||
+#ifndef __FreeBSD__
|
||||
+ constexpr int flags = MAP_ANONYMOUS | MAP_NORESERVE | MAP_PRIVATE;
|
||||
+#else
|
||||
+ constexpr int flags = MAP_ANONYMOUS | MAP_PRIVATE;
|
||||
+#endif
|
||||
+ void* memory = mmap(nullptr, aSize, PROT_NONE, flags, -1, 0);
|
||||
if (memory == MAP_FAILED) {
|
||||
return nullptr;
|
||||
}
|
||||
diff --git ipc/glue/SharedMemory_posix.cpp ipc/glue/SharedMemory_posix.cpp
|
||||
index da279f469237..9ed83af4b1f2 100644
|
||||
--- ipc/glue/SharedMemory_posix.cpp
|
||||
+++ ipc/glue/SharedMemory_posix.cpp
|
||||
@@ -61,8 +61,12 @@ SharedMemory::Handle SharedMemory::CloneHandle(const Handle& aHandle) {
|
||||
}
|
||||
|
||||
void* SharedMemory::FindFreeAddressSpace(size_t size) {
|
||||
- void* memory = mmap(nullptr, size, PROT_NONE,
|
||||
- MAP_ANONYMOUS | MAP_NORESERVE | MAP_PRIVATE, -1, 0);
|
||||
+#ifndef __FreeBSD__
|
||||
+ constexpr int flags = MAP_ANONYMOUS | MAP_NORESERVE | MAP_PRIVATE;
|
||||
+#else
|
||||
+ constexpr int flags = MAP_ANONYMOUS | MAP_PRIVATE;
|
||||
+#endif
|
||||
+ void* memory = mmap(nullptr, size, PROT_NONE, flags, -1, 0);
|
||||
if (memory == MAP_FAILED) {
|
||||
return nullptr;
|
||||
}
|
|
@ -1,10 +1,10 @@
|
|||
# Allow building against system-wide graphite2/harfbuzz.
|
||||
Allow building against system-wide graphite2/harfbuzz
|
||||
|
||||
diff --git config/system-headers.mozbuild config/system-headers.mozbuild
|
||||
index 0c06f581b33b..10f125be25ab 100644
|
||||
index af44c89057fc..c0ac271917fb 100644
|
||||
--- config/system-headers.mozbuild
|
||||
+++ config/system-headers.mozbuild
|
||||
@@ -1307,6 +1307,19 @@ if CONFIG["MOZ_ENABLE_LIBPROXY"]:
|
||||
@@ -1304,6 +1304,19 @@ if CONFIG["MOZ_ENABLE_LIBPROXY"]:
|
||||
"proxy.h",
|
||||
]
|
||||
|
||||
|
@ -25,10 +25,10 @@ index 0c06f581b33b..10f125be25ab 100644
|
|||
system_headers += [
|
||||
"unicode/calendar.h",
|
||||
diff --git dom/base/moz.build dom/base/moz.build
|
||||
index 14c9f9dd96fb..bd1c8f241e9b 100644
|
||||
index 170d19f09aa9..a47fc8b1193c 100644
|
||||
--- dom/base/moz.build
|
||||
+++ dom/base/moz.build
|
||||
@@ -606,6 +606,9 @@ FINAL_LIBRARY = "xul"
|
||||
@@ -620,6 +620,9 @@ FINAL_LIBRARY = "xul"
|
||||
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
||||
CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
|
||||
|
||||
|
@ -40,7 +40,7 @@ index 14c9f9dd96fb..bd1c8f241e9b 100644
|
|||
script="gen-usecounters.py",
|
||||
diff --git gfx/graphite2/geckoextra/moz.build gfx/graphite2/geckoextra/moz.build
|
||||
new file mode 100644
|
||||
index 000000000000..24e8d7a03274
|
||||
index 000000000000..ed0323eba9d5
|
||||
--- /dev/null
|
||||
+++ gfx/graphite2/geckoextra/moz.build
|
||||
@@ -0,0 +1,21 @@
|
||||
|
@ -104,10 +104,10 @@ index 56ea317bedfc..07dd7f66f1bc 100644
|
|||
"thebes",
|
||||
"ipc",
|
||||
diff --git gfx/skia/generate_mozbuild.py gfx/skia/generate_mozbuild.py
|
||||
index c161d24df853..8c7dd395b371 100755
|
||||
index b589efde1c5c..47f49e10df70 100755
|
||||
--- gfx/skia/generate_mozbuild.py
|
||||
+++ gfx/skia/generate_mozbuild.py
|
||||
@@ -91,6 +91,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
|
||||
@@ -95,6 +95,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
|
||||
'-Wno-unused-private-field',
|
||||
]
|
||||
|
||||
|
@ -118,10 +118,10 @@ index c161d24df853..8c7dd395b371 100755
|
|||
LOCAL_INCLUDES += [
|
||||
"/gfx/cairo/cairo/src",
|
||||
diff --git gfx/skia/moz.build gfx/skia/moz.build
|
||||
index 83aa2957a938..0859316a1f09 100644
|
||||
index 7fee54534878..ba1a4038e4a0 100644
|
||||
--- gfx/skia/moz.build
|
||||
+++ gfx/skia/moz.build
|
||||
@@ -601,6 +601,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
|
||||
@@ -623,6 +623,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
|
||||
'-Wno-unused-private-field',
|
||||
]
|
||||
|
||||
|
@ -132,10 +132,10 @@ index 83aa2957a938..0859316a1f09 100644
|
|||
LOCAL_INCLUDES += [
|
||||
"/gfx/cairo/cairo/src",
|
||||
diff --git gfx/thebes/moz.build gfx/thebes/moz.build
|
||||
index fd1fcf236d81..958d3f699ffd 100644
|
||||
index 48f2849e2025..7d0a161a91b4 100644
|
||||
--- gfx/thebes/moz.build
|
||||
+++ gfx/thebes/moz.build
|
||||
@@ -293,7 +293,13 @@ if CONFIG["MOZ_WAYLAND"]:
|
||||
@@ -295,7 +295,13 @@ if CONFIG["MOZ_WAYLAND"]:
|
||||
|
||||
LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"]
|
||||
|
||||
|
@ -151,7 +151,7 @@ index fd1fcf236d81..958d3f699ffd 100644
|
|||
CXXFLAGS += ["-Werror=switch"]
|
||||
|
||||
diff --git intl/unicharutil/util/moz.build intl/unicharutil/util/moz.build
|
||||
index 2bbd00415cae..f66bd37695d4 100644
|
||||
index 2396210428ee..092baac6f79c 100644
|
||||
--- intl/unicharutil/util/moz.build
|
||||
+++ intl/unicharutil/util/moz.build
|
||||
@@ -24,6 +24,9 @@ UNIFIED_SOURCES += [
|
||||
|
@ -165,10 +165,10 @@ index 2bbd00415cae..f66bd37695d4 100644
|
|||
|
||||
GeneratedFile(
|
||||
diff --git netwerk/dns/moz.build netwerk/dns/moz.build
|
||||
index c926d14707d1..35a3f33e2885 100644
|
||||
index 1bb0430f01aa..0360e0f468c0 100644
|
||||
--- netwerk/dns/moz.build
|
||||
+++ netwerk/dns/moz.build
|
||||
@@ -112,6 +112,9 @@ GeneratedFile(
|
||||
@@ -111,6 +111,9 @@ GeneratedFile(
|
||||
"etld_data.inc", script="prepare_tlds.py", inputs=["effective_tld_names.dat"]
|
||||
)
|
||||
|
||||
|
@ -179,10 +179,10 @@ index c926d14707d1..35a3f33e2885 100644
|
|||
LOCAL_INCLUDES += [
|
||||
"/netwerk/base",
|
||||
diff --git old-configure.in old-configure.in
|
||||
index 2ca88a20a4b3..88bc9b873eff 100644
|
||||
index 1af75c496b15..f1c7d7c48d28 100644
|
||||
--- old-configure.in
|
||||
+++ old-configure.in
|
||||
@@ -1067,6 +1067,27 @@ fi
|
||||
@@ -167,6 +167,27 @@ fi
|
||||
AC_DEFINE_UNQUOTED(MOZ_MACBUNDLE_ID,$MOZ_MACBUNDLE_ID)
|
||||
AC_SUBST(MOZ_MACBUNDLE_ID)
|
||||
|
||||
|
@ -210,11 +210,24 @@ index 2ca88a20a4b3..88bc9b873eff 100644
|
|||
dnl ========================================================
|
||||
dnl = Child Process Name for IPC
|
||||
dnl ========================================================
|
||||
diff --git security/rlbox/moz.build security/rlbox/moz.build
|
||||
index 7ad8d076f0f1..835b9d905e03 100644
|
||||
--- security/rlbox/moz.build
|
||||
+++ security/rlbox/moz.build
|
||||
@@ -47,6 +47,8 @@ if CONFIG["MOZ_WASM_SANDBOXING_GRAPHITE"]:
|
||||
for k, v in graphite_defines:
|
||||
WASM_DEFINES[k] = v
|
||||
LOCAL_INCLUDES += ["/gfx/graphite2/src"]
|
||||
+ if CONFIG["MOZ_SYSTEM_GRAPHITE2"]:
|
||||
+ WASM_CXXFLAGS += CONFIG["MOZ_GRAPHITE2_CFLAGS"]
|
||||
|
||||
if CONFIG["MOZ_WASM_SANDBOXING_OGG"]:
|
||||
include("/media/libogg/sources.mozbuild")
|
||||
diff --git toolkit/library/moz.build toolkit/library/moz.build
|
||||
index 76746f308011..f6844f4c400b 100644
|
||||
index ee6051567c8e..c24a5a513bbc 100644
|
||||
--- toolkit/library/moz.build
|
||||
+++ toolkit/library/moz.build
|
||||
@@ -292,6 +292,12 @@ if CONFIG["MOZ_SYSTEM_PNG"]:
|
||||
@@ -298,6 +298,12 @@ if CONFIG["MOZ_SYSTEM_PNG"]:
|
||||
if CONFIG["MOZ_SYSTEM_WEBP"]:
|
||||
OS_LIBS += CONFIG["MOZ_WEBP_LIBS"]
|
||||
|
||||
|
@ -228,10 +241,10 @@ index 76746f308011..f6844f4c400b 100644
|
|||
OS_LIBS += CONFIG["MOZ_LIBEVENT_LIBS"]
|
||||
|
||||
diff --git toolkit/moz.configure toolkit/moz.configure
|
||||
index a060a59f728f..f0778d1ae2d6 100644
|
||||
index 1f85d2831f2f..04ce56e2cc0b 100644
|
||||
--- toolkit/moz.configure
|
||||
+++ toolkit/moz.configure
|
||||
@@ -1218,6 +1218,26 @@ def enable_cairo_ft(target, tree_freetype, freetype2_info):
|
||||
@@ -1397,6 +1397,26 @@ def enable_cairo_ft(target, tree_freetype, freetype2_info):
|
||||
set_config("MOZ_ENABLE_CAIRO_FT", True, when=enable_cairo_ft)
|
||||
set_config("CAIRO_FT_CFLAGS", ft2_info.cflags, when=enable_cairo_ft)
|
||||
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
commit cb7967f55ab2f34635a10da523f277083ebd97a5
|
||||
Author: Christoph Moench-Tegeder <cmt@FreeBSD.org>
|
||||
commit e884ff2873b6ef8f3c8ee0a09e7651f46b3add95
|
||||
Author: Christoph Moench-Tegeder <cmt@burggraben.net>
|
||||
|
||||
chase gn_processor.py changes
|
||||
chase gn_processor.py move
|
||||
|
||||
diff --git python/mozbuild/mozbuild/gn_processor.py python/mozbuild/mozbuild/gn_processor.py
|
||||
index 3a9b9e7f3b..656a28ae6a 100644
|
||||
--- python/mozbuild/mozbuild/gn_processor.py
|
||||
+++ python/mozbuild/mozbuild/gn_processor.py
|
||||
@@ -185,6 +185,7 @@ def filter_gn_config(path, gn_result, sandbox_vars, input_vars, gn_target):
|
||||
diff --git build/gn_processor.py build/gn_processor.py
|
||||
index 2ba8b92c27..962479b228 100644
|
||||
--- build/gn_processor.py
|
||||
+++ build/gn_processor.py
|
||||
@@ -186,6 +186,7 @@ def filter_gn_config(path, gn_result, sandbox_vars, input_vars, gn_target):
|
||||
}
|
||||
oses = {
|
||||
"android": "Android",
|
||||
|
@ -15,7 +15,7 @@ index 3a9b9e7f3b..656a28ae6a 100644
|
|||
"linux": "Linux",
|
||||
"mac": "Darwin",
|
||||
"openbsd": "OpenBSD",
|
||||
@@ -742,17 +743,17 @@ def main():
|
||||
@@ -780,17 +781,17 @@ def main():
|
||||
|
||||
vars_set = []
|
||||
for is_debug in (True, False):
|
||||
|
@ -31,14 +31,14 @@ index 3a9b9e7f3b..656a28ae6a 100644
|
|||
+ if target_os in ("android", "freebsd", "linux", "win"):
|
||||
target_cpus.append("x86")
|
||||
- if target_os in ("linux", "openbsd"):
|
||||
+ if target_os in ("freebsd", "linux", "openbsd"):
|
||||
+ if target_os in ("linux", "freebsd", "openbsd"):
|
||||
target_cpus.append("riscv64")
|
||||
- if target_os == "linux":
|
||||
+ if target_os in ("freebsd", "linux"):
|
||||
target_cpus.extend(["ppc64", "mipsel", "mips64el"])
|
||||
target_cpus.extend(["loong64", "ppc64", "mipsel", "mips64el"])
|
||||
for target_cpu in target_cpus:
|
||||
vars = {
|
||||
@@ -761,7 +762,7 @@ def main():
|
||||
@@ -799,7 +800,7 @@ def main():
|
||||
"target_cpu": target_cpu,
|
||||
"target_os": target_os,
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
diff --git gfx/skia/skia/src/core/SkRasterPipeline.h gfx/skia/skia/src/core/SkRasterPipeline.h
|
||||
index 2475ea0d398d..67967483656d 100644
|
||||
--- gfx/skia/skia/src/core/SkRasterPipeline.h
|
||||
+++ gfx/skia/skia/src/core/SkRasterPipeline.h
|
||||
@@ -27,7 +27,7 @@ struct SkImageInfo;
|
||||
struct skcms_TransferFunction;
|
||||
|
||||
#if __has_cpp_attribute(clang::musttail) && !defined(__EMSCRIPTEN__) && !defined(SK_CPU_ARM32) && \
|
||||
- !defined(SK_CPU_LOONGARCH)
|
||||
+ !defined(SK_CPU_LOONGARCH) && !defined(__powerpc__)
|
||||
#define SK_HAS_MUSTTAIL 1
|
||||
#else
|
||||
#define SK_HAS_MUSTTAIL 0
|
File diff suppressed because it is too large
Load diff
|
@ -1,30 +1,17 @@
|
|||
commit 6e6860b4ecb7cea4ecbc07f45f491c562d1a83e7
|
||||
commit 79334dba3e5be4a7bb17a22b2fde70933991d6f4
|
||||
Author: Christoph Moench-Tegeder <cmt@FreeBSD.org>
|
||||
|
||||
enable pipewire on bsd
|
||||
|
||||
diff --git third_party/libwebrtc/BUILD.gn third_party/libwebrtc/BUILD.gn
|
||||
index 85ead4162f..7dc64543dc 100644
|
||||
--- third_party/libwebrtc/BUILD.gn
|
||||
+++ third_party/libwebrtc/BUILD.gn
|
||||
@@ -107,7 +107,7 @@ if (!build_with_chromium && !build_with_mozilla) {
|
||||
"tools_webrtc/perf:webrtc_dashboard_upload",
|
||||
]
|
||||
}
|
||||
- if ((is_linux || is_chromeos) && rtc_use_pipewire) {
|
||||
+ if ((is_linux || is_chromeos || is_bsd) && rtc_use_pipewire) {
|
||||
deps += [ "modules/desktop_capture:shared_screencast_stream_test" ]
|
||||
}
|
||||
}
|
||||
diff --git third_party/libwebrtc/build/config/BUILDCONFIG.gn third_party/libwebrtc/build/config/BUILDCONFIG.gn
|
||||
index 571ae5f0d6..863d428fc6 100644
|
||||
--- third_party/libwebrtc/build/config/BUILDCONFIG.gn
|
||||
+++ third_party/libwebrtc/build/config/BUILDCONFIG.gn
|
||||
diff --git third_party/chromium/build/config/BUILDCONFIG.gn third_party/chromium/build/config/BUILDCONFIG.gn
|
||||
index 889bdb9235..1566833175 100644
|
||||
--- third_party/chromium/build/config/BUILDCONFIG.gn
|
||||
+++ third_party/chromium/build/config/BUILDCONFIG.gn
|
||||
@@ -132,6 +132,7 @@ declare_args() {
|
||||
|
||||
# Set to true when compiling with the Clang compiler.
|
||||
is_clang = current_os != "linux" || current_os == "openbsd" ||
|
||||
+ current_os == "freebsd" ||
|
||||
+ current_os != "freebsd" ||
|
||||
(current_cpu != "s390x" && current_cpu != "s390" &&
|
||||
current_cpu != "ppc64" && current_cpu != "ppc" &&
|
||||
current_cpu != "mips" && current_cpu != "mips64" &&
|
||||
|
@ -35,17 +22,17 @@ index 571ae5f0d6..863d428fc6 100644
|
|||
- if (host_os == "linux" || host_os == "openbsd") {
|
||||
+ if (host_os == "linux" || host_os == "openbsd" || host_os == "freebsd") {
|
||||
if (target_os != "linux") {
|
||||
host_toolchain = "//build/toolchain/linux:clang_$host_cpu"
|
||||
host_toolchain = "//chromium/build/toolchain/linux:clang_$host_cpu"
|
||||
} else if (is_clang) {
|
||||
@@ -222,7 +223,7 @@ if (target_os == "android") {
|
||||
assert(host_os == "linux" || host_os == "mac",
|
||||
"Android builds are only supported on Linux and Mac hosts.")
|
||||
_default_toolchain = "//build/toolchain/android:android_clang_$target_cpu"
|
||||
_default_toolchain = "//chromium/build/toolchain/android:android_clang_$target_cpu"
|
||||
-} else if (target_os == "chromeos" || target_os == "linux" || target_os == "openbsd") {
|
||||
+} else if (target_os == "chromeos" || target_os == "linux" || target_os == "openbsd" || target_os == "freebsd") {
|
||||
# See comments in build/toolchain/cros/BUILD.gn about board compiles.
|
||||
if (is_clang) {
|
||||
_default_toolchain = "//build/toolchain/linux:clang_$target_cpu"
|
||||
_default_toolchain = "//chromium/build/toolchain/linux:clang_$target_cpu"
|
||||
@@ -288,7 +289,7 @@ is_chromeos = current_os == "chromeos"
|
||||
is_fuchsia = current_os == "fuchsia"
|
||||
is_ios = current_os == "ios"
|
||||
|
@ -55,11 +42,24 @@ index 571ae5f0d6..863d428fc6 100644
|
|||
is_mac = current_os == "mac"
|
||||
is_nacl = current_os == "nacl"
|
||||
is_win = current_os == "win" || current_os == "winuwp"
|
||||
diff --git third_party/libwebrtc/BUILD.gn third_party/libwebrtc/BUILD.gn
|
||||
index 14c47ef2be..31a86a41c0 100644
|
||||
--- third_party/libwebrtc/BUILD.gn
|
||||
+++ third_party/libwebrtc/BUILD.gn
|
||||
@@ -110,7 +110,7 @@ if (!build_with_chromium && !build_with_mozilla) {
|
||||
"tools_webrtc/perf:webrtc_dashboard_upload",
|
||||
]
|
||||
}
|
||||
- if ((is_linux || is_chromeos) && rtc_use_pipewire) {
|
||||
+ if ((is_linux || is_chromeos || is_bsd) && rtc_use_pipewire) {
|
||||
deps += [ "modules/desktop_capture:shared_screencast_stream_test" ]
|
||||
}
|
||||
}
|
||||
diff --git third_party/libwebrtc/modules/desktop_capture/BUILD.gn third_party/libwebrtc/modules/desktop_capture/BUILD.gn
|
||||
index 0634e0e9c4..d5deba7ee7 100644
|
||||
index 2f99e3f75f..7dc6c36aab 100644
|
||||
--- third_party/libwebrtc/modules/desktop_capture/BUILD.gn
|
||||
+++ third_party/libwebrtc/modules/desktop_capture/BUILD.gn
|
||||
@@ -75,7 +75,7 @@ if (rtc_include_tests) {
|
||||
@@ -74,7 +74,7 @@ if (rtc_include_tests) {
|
||||
"window_finder_unittest.cc",
|
||||
]
|
||||
|
||||
|
@ -68,7 +68,7 @@ index 0634e0e9c4..d5deba7ee7 100644
|
|||
configs += [ "../portal:gio" ]
|
||||
}
|
||||
|
||||
@@ -87,7 +87,7 @@ if (rtc_include_tests) {
|
||||
@@ -86,7 +86,7 @@ if (rtc_include_tests) {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -77,7 +77,7 @@ index 0634e0e9c4..d5deba7ee7 100644
|
|||
rtc_test("shared_screencast_stream_test") {
|
||||
testonly = true
|
||||
|
||||
@@ -146,7 +146,7 @@ if (rtc_include_tests) {
|
||||
@@ -145,7 +145,7 @@ if (rtc_include_tests) {
|
||||
"test_utils_unittest.cc",
|
||||
]
|
||||
|
||||
|
@ -86,16 +86,7 @@ index 0634e0e9c4..d5deba7ee7 100644
|
|||
configs += [ "../portal:gio" ]
|
||||
}
|
||||
|
||||
@@ -255,7 +255,7 @@ if (rtc_include_tests) {
|
||||
"mock_desktop_capturer_callback.h",
|
||||
]
|
||||
|
||||
- if ((is_linux || is_chromeos) && rtc_use_pipewire) {
|
||||
+ if ((is_linux || is_chromeos || is_bsd) && rtc_use_pipewire) {
|
||||
configs += [ "../portal:gio" ]
|
||||
}
|
||||
|
||||
@@ -268,7 +268,7 @@ if (rtc_include_tests) {
|
||||
@@ -267,7 +267,7 @@ if (rtc_include_tests) {
|
||||
}
|
||||
|
||||
# TODO(bugs.webrtc.org/14187): remove when all users are gone
|
||||
|
@ -104,7 +95,7 @@ index 0634e0e9c4..d5deba7ee7 100644
|
|||
config("pipewire_config") {
|
||||
configs = [ "../portal:pipewire_config" ]
|
||||
}
|
||||
@@ -326,7 +326,7 @@ rtc_library("desktop_capture") {
|
||||
@@ -329,7 +329,7 @@ rtc_library("desktop_capture") {
|
||||
"window_finder.cc",
|
||||
"window_finder.h",
|
||||
]
|
||||
|
@ -114,10 +105,10 @@ index 0634e0e9c4..d5deba7ee7 100644
|
|||
}
|
||||
if (is_mac) {
|
||||
diff --git third_party/libwebrtc/modules/portal/BUILD.gn third_party/libwebrtc/modules/portal/BUILD.gn
|
||||
index d7768b2323..3593a69592 100644
|
||||
index 6828388b31..7e1857d861 100644
|
||||
--- third_party/libwebrtc/modules/portal/BUILD.gn
|
||||
+++ third_party/libwebrtc/modules/portal/BUILD.gn
|
||||
@@ -10,7 +10,7 @@ import("//build/config/linux/pkg_config.gni")
|
||||
@@ -10,7 +10,7 @@ import("//chromium/build/config/linux/pkg_config.gni")
|
||||
import("//tools/generate_stubs/rules.gni")
|
||||
import("../../webrtc.gni")
|
||||
|
||||
|
@ -127,10 +118,10 @@ index d7768b2323..3593a69592 100644
|
|||
pkg_config("gio") {
|
||||
packages = [
|
||||
diff --git third_party/libwebrtc/webrtc.gni third_party/libwebrtc/webrtc.gni
|
||||
index e1273475b9..9bdbd7ec5e 100644
|
||||
index 7155b1db72..22ed06166a 100644
|
||||
--- third_party/libwebrtc/webrtc.gni
|
||||
+++ third_party/libwebrtc/webrtc.gni
|
||||
@@ -157,7 +157,7 @@ declare_args() {
|
||||
@@ -151,7 +151,7 @@ declare_args() {
|
||||
# By default it's only enabled on desktop Linux (excludes ChromeOS) and
|
||||
# only when using the sysroot as PipeWire is not available in older and
|
||||
# supported Ubuntu and Debian distributions.
|
||||
|
|
|
@ -1,104 +0,0 @@
|
|||
diff --git toolkit/components/processtools/ProcInfo_bsd.cpp toolkit/components/processtools/ProcInfo_bsd.cpp
|
||||
index a6ff4881940c..f041ed5e50ce 100644
|
||||
--- toolkit/components/processtools/ProcInfo_bsd.cpp
|
||||
+++ toolkit/components/processtools/ProcInfo_bsd.cpp
|
||||
@@ -18,6 +18,9 @@
|
||||
#include <cstdio>
|
||||
#include <cstring>
|
||||
#include <unistd.h>
|
||||
+#ifdef __FreeBSD__
|
||||
+#include <sys/user.h>
|
||||
+#endif
|
||||
|
||||
namespace mozilla {
|
||||
|
||||
@@ -50,25 +53,39 @@ ProcInfoPromise::ResolveOrRejectValue GetProcInfoSync(
|
||||
}
|
||||
for (const auto& request : aRequests) {
|
||||
size_t size;
|
||||
+#ifdef __FreeBSD__
|
||||
+ int mib[4];
|
||||
+ int mibsize = 4;
|
||||
+ mib[0] = CTL_KERN;
|
||||
+ mib[1] = KERN_PROC;
|
||||
+ mib[2] = KERN_PROC_PID | KERN_PROC_INC_THREAD;
|
||||
+ mib[3] = request.pid;
|
||||
+#else
|
||||
int mib[6];
|
||||
+ int mibsize = 6;
|
||||
mib[0] = CTL_KERN;
|
||||
mib[1] = KERN_PROC;
|
||||
mib[2] = KERN_PROC_PID | KERN_PROC_SHOW_THREADS;
|
||||
mib[3] = request.pid;
|
||||
mib[4] = sizeof(kinfo_proc);
|
||||
mib[5] = 0;
|
||||
- if (sysctl(mib, 6, nullptr, &size, nullptr, 0) == -1) {
|
||||
+#endif
|
||||
+ if (sysctl(mib, mibsize, nullptr, &size, nullptr, 0) == -1) {
|
||||
// Can't get info for this process. Skip it.
|
||||
continue;
|
||||
}
|
||||
|
||||
+#ifdef __FreeBSD__
|
||||
+ auto procs = MakeUniqueFallible<kinfo_proc[]>(size / sizeof(kinfo_proc));
|
||||
+#else
|
||||
mib[5] = size / sizeof(kinfo_proc);
|
||||
auto procs = MakeUniqueFallible<kinfo_proc[]>(mib[5]);
|
||||
+#endif
|
||||
if (!procs) {
|
||||
result.SetReject(NS_ERROR_OUT_OF_MEMORY);
|
||||
return result;
|
||||
}
|
||||
- if (sysctl(mib, 6, procs.get(), &size, nullptr, 0) == -1 &&
|
||||
+ if (sysctl(mib, mibsize, procs.get(), &size, nullptr, 0) == -1 &&
|
||||
errno != ENOMEM) {
|
||||
continue;
|
||||
}
|
||||
@@ -84,19 +101,34 @@ ProcInfoPromise::ResolveOrRejectValue GetProcInfoSync(
|
||||
bool found = false;
|
||||
for (size_t i = 0; i < size / sizeof(kinfo_proc); i++) {
|
||||
const auto& p = procs[i];
|
||||
+#ifdef __FreeBSD__
|
||||
+ if (i == 0) {
|
||||
+#else
|
||||
if (p.p_tid == -1) {
|
||||
+#endif
|
||||
// This is the process.
|
||||
found = true;
|
||||
+#ifdef __FreeBSD__
|
||||
+ info.cpuTime = uint64_t(p.ki_runtime) * 1'000u;
|
||||
+ info.memory = (p.ki_tsize + p.ki_dsize + p.ki_ssize) * getpagesize();
|
||||
+#else
|
||||
info.cpuTime = uint64_t(p.p_rtime_sec) * 1'000'000'000u +
|
||||
uint64_t(p.p_rtime_usec) * 1'000u;
|
||||
info.memory =
|
||||
(p.p_vm_tsize + p.p_vm_dsize + p.p_vm_ssize) * getpagesize();
|
||||
+#endif
|
||||
+
|
||||
} else {
|
||||
// This is one of its threads.
|
||||
ThreadInfo threadInfo;
|
||||
+#ifdef __FreeBSD__
|
||||
+ threadInfo.tid = p.ki_tid;
|
||||
+ threadInfo.cpuTime = uint64_t(p.ki_runtime) * 1'000u;
|
||||
+#else
|
||||
threadInfo.tid = p.p_tid;
|
||||
threadInfo.cpuTime = uint64_t(p.p_rtime_sec) * 1'000'000'000u +
|
||||
uint64_t(p.p_rtime_usec) * 1'000u;
|
||||
+#endif
|
||||
info.threads.AppendElement(threadInfo);
|
||||
}
|
||||
}
|
||||
diff --git toolkit/components/processtools/moz.build toolkit/components/processtools/moz.build
|
||||
index b7c164c1b0ac..a41dad52c343 100644
|
||||
--- toolkit/components/processtools/moz.build
|
||||
+++ toolkit/components/processtools/moz.build
|
||||
@@ -39,7 +39,7 @@ BROWSER_CHROME_MANIFESTS += ["tests/browser/browser.ini"]
|
||||
# Platform-specific implementations of `ProcInfo`.
|
||||
toolkit = CONFIG["MOZ_WIDGET_TOOLKIT"]
|
||||
if toolkit == "gtk" or toolkit == "android":
|
||||
- if CONFIG["OS_TARGET"] == "OpenBSD":
|
||||
+ if CONFIG["OS_TARGET"] == "FreeBSD" or CONFIG["OS_TARGET"] == "OpenBSD":
|
||||
UNIFIED_SOURCES += ["ProcInfo_bsd.cpp"]
|
||||
else:
|
||||
UNIFIED_SOURCES += ["ProcInfo_linux.cpp"]
|
Loading…
Add table
Reference in a new issue