{ stdenv, lib, buildMozillaMach, callPackage, fetchurl, fetchpatch, nixosTests, icu, fetchpatch2 }: rec { thunderbird = thunderbird-115; thunderbird-102 = (buildMozillaMach rec { pname = "thunderbird"; version = "102.14.0"; application = "comm/mail"; applicationName = "Mozilla Thunderbird"; binaryName = pname; src = fetchurl { url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz"; hash = "sha512-SuPyFoM67FVCH4J9VbwbX8LwrU/v7LJ3JKW+MxjDUd8k0wpIl7kk5zPtLjmVvihLbRNQSdRgARQ/sclh/vwYMA=="; }; extraPatches = [ # The file to be patched is different from firefox's `no-buildconfig-ffx90.patch`. ./no-buildconfig.patch ]; meta = with lib; { changelog = "https://www.thunderbird.net/en-US/thunderbird/${version}/releasenotes/"; description = "A full-featured e-mail client"; homepage = "https://thunderbird.net/"; mainProgram = "thunderbird"; maintainers = with maintainers; [ eelco lovesegfault pierron vcunat ]; platforms = platforms.unix; badPlatforms = platforms.darwin; broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory". # not in `badPlatforms` because cross-compilation on 64-bit machine might work. license = licenses.mpl20; knownVulnerabilities = [ "Thunderbird 102 support has ended" ]; }; updateScript = callPackage ./update.nix { attrPath = "thunderbird-unwrapped"; versionPrefix = "102"; }; }).override { geolocationSupport = false; webrtcSupport = false; pgoSupport = false; # console.warn: feeds: "downloadFeed: network connection unavailable" }; thunderbird-115 = (buildMozillaMach rec { pname = "thunderbird"; version = "115.4.2"; application = "comm/mail"; applicationName = "Mozilla Thunderbird"; binaryName = pname; src = fetchurl { url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz"; sha512 = "44cedd5931edbac2ab0babfaf0e71a0262317c01fd7d71e8740bb8f54766c9b49b9e325f1d2796c3a233d4298457d8769b675213a21bef759c46086080bcc8bc"; }; extraPatches = [ # The file to be patched is different from firefox's `no-buildconfig-ffx90.patch`. ./no-buildconfig-115.patch ]; meta = with lib; { changelog = "https://www.thunderbird.net/en-US/thunderbird/${version}/releasenotes/"; description = "A full-featured e-mail client"; homepage = "https://thunderbird.net/"; mainProgram = "thunderbird"; maintainers = with maintainers; [ eelco lovesegfault pierron vcunat ]; platforms = platforms.unix; badPlatforms = platforms.darwin; broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory". # not in `badPlatforms` because cross-compilation on 64-bit machine might work. license = licenses.mpl20; }; updateScript = callPackage ./update.nix { attrPath = "thunderbird-unwrapped"; versionPrefix = "115"; }; }).override { geolocationSupport = false; webrtcSupport = false; pgoSupport = false; # console.warn: feeds: "downloadFeed: network connection unavailable" 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="; })]; }); }; }