diff --git a/srcpkgs/thunderbird/patches/fix-desktop-icon-path.patch b/srcpkgs/thunderbird/patches/fix-desktop-icon-path.patch deleted file mode 100644 index c4664d3da7c..00000000000 --- a/srcpkgs/thunderbird/patches/fix-desktop-icon-path.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/taskcluster/docker/firefox-snap/firefox.desktop 2019-01-18 19:31:39.428839442 +0100 -+++ b/taskcluster/docker/firefox-snap/firefox.desktop 2019-01-18 19:32:20.689063456 +0100 -@@ -154,7 +154,7 @@ - Terminal=false - X-MultipleArgs=false - Type=Application --Icon=/browser/chrome/icons/default/default128.png -+Icon=firefox - Categories=GNOME;GTK;Network;WebBrowser; - MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall; - StartupNotify=true diff --git a/srcpkgs/thunderbird/patches/fix-tools.patch b/srcpkgs/thunderbird/patches/fix-tools.patch deleted file mode 100644 index 94de423ce59..00000000000 --- a/srcpkgs/thunderbird/patches/fix-tools.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/tools/profiler/core/platform-linux-android.cpp 2019-01-29 12:09:40.980448579 +0100 -+++ b/tools/profiler/core/platform-linux-android.cpp 2019-01-29 12:11:09.689590967 +0100 -@@ -497,8 +501,10 @@ - ucontext_t sSyncUContext; - - void Registers::SyncPopulate() { -+#if defined(__GLIBC__) - if (!getcontext(&sSyncUContext)) { - PopulateRegsFromContext(*this, &sSyncUContext); - } -+#endif - } - #endif diff --git a/srcpkgs/thunderbird/patches/fix-webrtc-glibcisms.patch b/srcpkgs/thunderbird/patches/fix-webrtc-glibcisms.patch index 5d17021a99f..4f9043b58e1 100644 --- a/srcpkgs/thunderbird/patches/fix-webrtc-glibcisms.patch +++ b/srcpkgs/thunderbird/patches/fix-webrtc-glibcisms.patch @@ -1,20 +1,20 @@ ---- a/third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c 2019-01-29 11:20:52.298793223 +0100 -+++ b/third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c 2019-01-29 11:21:48.250250850 +0100 -@@ -14,7 +14,7 @@ - #ifndef __GLIBC_PREREQ - #define __GLIBC_PREREQ(a, b) 0 +--- a/third_party/libwebrtc/system_wrappers/source/cpu_features_linux.cc ++++ b/third_party/libwebrtc/system_wrappers/source/cpu_features_linux.cc +@@ -18,7 +18,7 @@ + #define WEBRTC_GLIBC_PREREQ(a, b) 0 #endif --#if __GLIBC_PREREQ(2, 16) -+#if !__GLIBC__ || __GLIBC_PREREQ(2, 16) + +-#if WEBRTC_GLIBC_PREREQ(2, 16) ++#if !__GLIBC__ || WEBRTC_GLIBC_PREREQ(2, 16) #include #else - #include -@@ -32,7 +32,7 @@ + #include +@@ -40,7 +40,7 @@ int architecture = 0; - unsigned long hwcap = 0; + uint64_t hwcap = 0; const char* platform = NULL; --#if __GLIBC_PREREQ(2, 16) -+#if !__GLIBC__ || __GLIBC_PREREQ(2, 16) +-#if WEBRTC_GLIBC_PREREQ(2, 16) ++#if !__GLIBC__ || WEBRTC_GLIBC_PREREQ(2, 16) hwcap = getauxval(AT_HWCAP); platform = (const char*)getauxval(AT_PLATFORM); #else diff --git a/srcpkgs/thunderbird/patches/lto-thin.patch b/srcpkgs/thunderbird/patches/lto-thin.patch new file mode 100644 index 00000000000..e85cbce3658 --- /dev/null +++ b/srcpkgs/thunderbird/patches/lto-thin.patch @@ -0,0 +1,19 @@ +$OpenBSD: patch-config_makefiles_rust_mk,v 1.6 2021/01/26 15:52:58 landry Exp $ + +use lto=thin to reduce memory pressure when building gkrust +https://bugzilla.mozilla.org/show_bug.cgi?id=1644409 +https://bugzilla.mozilla.org/show_bug.cgi?id=1640982 + +Index: config/makefiles/rust.mk +--- a/config/makefiles/rust.mk.orig ++++ a/config/makefiles/rust.mk +@@ -70,7 +70,8 @@ ifndef MOZ_DEBUG_RUST + # gkrust_gtest. And not when doing cross-language LTO. + ifndef MOZ_LTO_RUST_CROSS + ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE))) +-cargo_rustc_flags += -Clto ++cargo_rustc_flags += -Clto=thin ++export CARGO_PROFILE_RELEASE_LTO=thin + endif + # We need -Cembed-bitcode=yes for all crates when using -Clto. + RUSTFLAGS += -Cembed-bitcode=yes diff --git a/srcpkgs/thunderbird/patches/skia-sucks3.patch b/srcpkgs/thunderbird/patches/skia-sucks3.patch index 908311cdb6d..4bf77e68440 100644 --- a/srcpkgs/thunderbird/patches/skia-sucks3.patch +++ b/srcpkgs/thunderbird/patches/skia-sucks3.patch @@ -30,27 +30,3 @@ diff -r 46ea866ca3ac -r 6ef20eee3f8f gfx/2d/DrawTargetSkia.cpp mCanvas->saveLayer(saveRec); SetPermitSubpixelAA(aOpaque); ---- a/gfx/layers/composite/CompositableHost.cpp -+++ b/gfx/layers/composite/CompositableHost.cpp -@@ -13,6 +13,7 @@ - #include "ImageHost.h" // for ImageHostBuffered, etc - #include "Layers.h" - #include "TiledContentHost.h" // for TiledContentHost -+#include "mozilla/EndianUtils.h" - #include "mozilla/gfx/gfxVars.h" - #include "mozilla/layers/LayersSurfaces.h" // for SurfaceDescriptor - #include "mozilla/layers/TextureHost.h" // for TextureHost, etc -@@ -92,9 +93,13 @@ bool CompositableHost::AddMaskEffect(EffectChain& aEffects, - } - MOZ_ASSERT(source); - -+ // Setting an alpha-mask here breaks the URL-bar on big endian (s390x) -+ // if the typed URL is too long for the textbox (automatic scrolling needed) -+#if MOZ_LITTLE_ENDIAN() - RefPtr effect = - new EffectMask(source, source->GetSize(), aTransform); - aEffects.mSecondaryEffects[EffectTypes::MASK] = effect; -+#endif - return true; - } - diff --git a/srcpkgs/thunderbird/patches/sndio.patch b/srcpkgs/thunderbird/patches/sndio.patch deleted file mode 100644 index 68628bea8d8..00000000000 --- a/srcpkgs/thunderbird/patches/sndio.patch +++ /dev/null @@ -1,52 +0,0 @@ ---- a/old-configure.in -+++ b/old-configure.in -@@ -2818,6 +2818,22 @@ - _NON_GLOBAL_ACDEFINES="$_NON_GLOBAL_ACDEFINES NECKO_COOKIES" - fi - -+dnl ================================== -+dnl = Check sndio availability -+dnl ================================== -+ -+MOZ_ARG_ENABLE_BOOL(sndio, -+[ --enable-sndio Enable sndio support], -+ MOZ_SNDIO=1, -+ MOZ_SNDIO=) -+ -+if test -n "$MOZ_SNDIO"; then -+ MOZ_SNDIO_LIBS="-lsndio" -+ AC_SUBST_LIST(MOZ_SNDIO_LIBS) -+fi -+ -+AC_SUBST(MOZ_SNDIO) -+ - dnl ======================================================== - dnl = - dnl = Maintainer debug option (no --enable equivalent) ---- a/media/libcubeb/src/moz.build -+++ b/media/libcubeb/src/moz.build -@@ -44,11 +44,13 @@ - ] - DEFINES['USE_JACK'] = True - --if CONFIG['OS_ARCH'] == 'OpenBSD': -+if CONFIG['MOZ_SNDIO']: - SOURCES += [ - 'cubeb_sndio.c', - ] - DEFINES['USE_SNDIO'] = True -+ -+if CONFIG['OS_ARCH'] == 'OpenBSD': - DEFINES['DISABLE_LIBSNDIO_DLOPEN'] = True - - if CONFIG['OS_TARGET'] == 'Darwin': ---- a/build/moz.configure/old.configure 2020-06-30 12:17:04.087609070 +0200 -+++ b/build/moz.configure/old.configure 2020-06-30 12:17:04.087609070 +0200 -@@ -88,6 +88,7 @@ - @old_configure_options( - "--cache-file", - "--datadir", -+ "--enable-sndio", - "--enable-crashreporter", - "--enable-dbus", - "--enable-debug-js-modules", diff --git a/srcpkgs/thunderbird/template b/srcpkgs/thunderbird/template index fab2f55245e..419e018b976 100644 --- a/srcpkgs/thunderbird/template +++ b/srcpkgs/thunderbird/template @@ -3,28 +3,28 @@ # THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/thunderbird-i18n". # pkgname=thunderbird -version=91.9.0 -revision=2 +version=102.0.3 +revision=1 build_helper="rust" short_desc="Standalone Mail/News reader" maintainer="Érico Nogueira " license="MPL-2.0, GPL-2.0-or-later, LGPL-2.1-or-later" homepage="https://www.thunderbird.net/" distfiles="${MOZILLA_SITE}/${pkgname}/releases/${version}/source/${pkgname}-${version}.source.tar.xz" -checksum=616e48327c4b0cdd2fd3c6385bfa4d380ba5cc7c52ce6014ae39d389a19fd092 +checksum=9dcdea5d3b0d169f8df2b1542a57afdbdf4640d3a599752343cf1fcf6b2c4be0 lib32disabled=yes hostmakedepends="autoconf213 unzip zip pkg-config perl python3 yasm rust cargo llvm clang nodejs-lts cbindgen python nasm which tar" -makedepends="nss-devel libjpeg-turbo-devel gtk+-devel gtk+3-devel icu-devel +makedepends="nss-devel libjpeg-turbo-devel gtk+3-devel icu-devel pixman-devel libevent-devel libnotify-devel libvpx-devel libXrender-devel libXcomposite-devel libSM-devel libXt-devel rust-std libXdamage-devel freetype-devel $(vopt_if alsa alsa-lib-devel) $(vopt_if dbus dbus-glib-devel) $(vopt_if pulseaudio pulseaudio-devel) $(vopt_if xscreensaver libXScrnSaver-devel) $(vopt_if sndio sndio-devel) $(vopt_if jack jack-devel)" -depends="nss>=3.47.1 desktop-file-utils hicolor-icon-theme" +depends="nss>=3.72 nspr>=4.32 desktop-file-utils hicolor-icon-theme" build_options="alsa jack dbus pulseaudio xscreensaver sndio wayland" build_options_default="alsa jack dbus pulseaudio xscreensaver sndio wayland" @@ -77,24 +77,38 @@ post_patch() { do_build() { cp "${FILESDIR}/mozconfig" "${wrksrc}/.mozconfig" + echo "MOZ_APP_REMOTINGNAME=Thunderbird" >>.mozconfig + case "$XBPS_TARGET_MACHINE" in *-musl) echo "ac_add_options --disable-jemalloc" >>.mozconfig - echo "ac_add_options --disable-gold" >>.mozconfig - echo "ac_add_options --enable-release" >>.mozconfig + echo "ac_add_options --enable-linker=bfd" >>.mozconfig ;; esac case "$XBPS_TARGET_MACHINE" in - x86_64*|i686*|arm*) + x86_64*|i686*|arm*|aarch64*) echo "ac_add_options --disable-elf-hack" >>.mozconfig ;; esac - # webrtc currently fails to build on 32-bit ppc... + # third_party/libwebrtc/common_audio/wav_file.cc:93:2: error: + # #error "Need to convert samples to big-endian when reading from WAV file" + if [ "$XBPS_TARGET_ENDIAN" = "be" ]; then + echo "ac_add_options --disable-webrtc" >>.mozconfig + fi + + # it seems mozilla has started catching up with google's webrtc + # and this newly involves introducing several megabytes of generated + # json junk that we just cannot maintain in-tree, additionally they + # have indicated that they will be re-generating these frequently + # + # it is unacceptable to keep a 7MB patch downstream, so disable it + # + # https://phabricator.services.mozilla.com/D134738 + # case "$XBPS_TARGET_MACHINE" in - ppc64*) ;; - ppc*) echo "ac_add_options --disable-webrtc" >>.mozconfig ;; + ppc64le*|armv7l*) echo "ac_add_options --disable-webrtc" >>.mozconfig ;; esac if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then @@ -130,6 +144,10 @@ do_build() { echo "ac_add_options --host=$XBPS_TRIPLET" >>.mozconfig fi + # XXX: wasi currently not ready + # echo "ac_add_options --with-wasi-sysroot=/usr/share/wasi-sysroot" >>.mozconfig + echo "ac_add_options --without-wasm-sandboxed-libraries" >>.mozconfig + mkdir -p third_party/rust/libloading/.deps case "$XBPS_TARGET_MACHINE" in @@ -165,7 +183,7 @@ do_build() { export MOZ_MAKE_FLAGS="${makejobs}" export MOZ_NOSPAM=1 export MOZBUILD_STATE_PATH="${wrksrc}/mozbuild" - export MACH_USE_SYSTEM_PYTHON=1 + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system export AS=$CC @@ -186,7 +204,7 @@ ac_add_options --enable-default-toolkit=$(vopt_if wayland 'cairo-gtk3-wayland' ' ./mach build } do_install() { - export MACH_USE_SYSTEM_PYTHON=1 + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system export MOZBUILD_STATE_PATH="${wrksrc}/mozbuild" DESTDIR="$DESTDIR" ./mach install