Unverified Commit c43b8cd6 authored by Martin Weinelt's avatar Martin Weinelt
Browse files

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.
parent 2740b264
Loading
Loading
Loading
Loading
+0 −26
Original line number Diff line number Diff line
@@ -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
+2 −8
Original line number Diff line number Diff line
@@ -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;