buildMozillaMach: use vendored icu library

Mozilla vendors various patches on top of ICU that upstream is very slow
to accept. Instead of extracting the patches and keeping them up to date
on our system icu we decided it would likely be fine to rely on the
vendored version.
This commit is contained in:
Martin Weinelt
2026-01-28 23:21:39 +01:00
parent 2740b26457
commit c43b8cd611
2 changed files with 2 additions and 34 deletions
@@ -4,30 +4,11 @@
buildMozillaMach,
callPackage,
fetchurl,
icu77,
icu78,
fetchpatch2,
config,
}:
let
patchICU =
icu:
icu.overrideAttrs (attrs: {
# standardize vtzone output
# Work around ICU-22132 https://unicode-org.atlassian.net/browse/ICU-22132
# https://bugzilla.mozilla.org/show_bug.cgi?id=1790071
patches = attrs.patches ++ [
(fetchpatch2 {
url = "https://hg.mozilla.org/mozilla-central/raw-file/fb8582f80c558000436922fb37572adcd4efeafc/intl/icu-patches/bug-1790071-ICU-22132-standardize-vtzone-output.diff";
stripLen = 3;
hash = "sha256-MGNnWix+kDNtLuACrrONDNcFxzjlUcLhesxwVZFzPAM=";
})
];
});
icu77' = patchICU icu77;
icu78' = patchICU icu78;
common =
{
version,
@@ -48,10 +29,6 @@ let
# The file to be patched is different from firefox's `no-buildconfig-ffx90.patch`.
(if lib.versionOlder version "140" then ./no-buildconfig.patch else ./no-buildconfig-tb140.patch)
];
extraPassthru = {
icu77 = icu77';
icu78 = icu78';
};
meta = {
changelog = "https://www.thunderbird.net/en-US/thunderbird/${version}/releasenotes/";
@@ -76,9 +53,6 @@ let
webrtcSupport = false;
pgoSupport = false; # console.warn: feeds: "downloadFeed: network connection unavailable"
icu77 = icu77';
icu78 = icu78';
};
in
@@ -76,8 +76,6 @@ in
glib,
gnum4,
gtk3,
icu77, # if you fiddle with the icu parameters, please check Thunderbird's overrides
icu78,
libGL,
libGLU,
libevent,
@@ -359,10 +357,6 @@ buildStdenv.mkDerivation {
rm -rf obj-x86_64-pc-linux-gnu
patchShebangs mach build
''
# https://bugzilla.mozilla.org/show_bug.cgi?id=1927380
+ lib.optionalString (lib.versionAtLeast version "134") ''
sed -i "s/icu-i18n/icu-uc &/" js/moz.configure
''
+ extraPostPatch;
# Ignore trivial whitespace changes in patches, this fixes compatibility of
@@ -506,7 +500,8 @@ buildStdenv.mkDerivation {
# MacOS builds use bundled versions of libraries: https://bugzilla.mozilla.org/show_bug.cgi?id=1776255
"--enable-system-pixman"
"--with-system-ffi"
"--with-system-icu"
# Mozilla vendors 10+ patches and ICU upstream is very slow to adopt them
# "--with-system-icu"
"--with-system-jpeg"
"--with-system-libevent"
"--with-system-libvpx"
@@ -609,7 +604,6 @@ buildStdenv.mkDerivation {
libdrm
]
))
++ [ (if (lib.versionAtLeast version "147") then icu78 else icu77) ]
++ lib.optional gssSupport libkrb5
++ lib.optional jemallocSupport jemalloc
++ extraBuildInputs;