Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
133 lines
4.5 KiB
Nix
133 lines
4.5 KiB
Nix
{
|
|
stdenv,
|
|
lib,
|
|
buildMozillaMach,
|
|
callPackage,
|
|
fetchurl,
|
|
icu73,
|
|
icu77,
|
|
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=";
|
|
})
|
|
];
|
|
});
|
|
icu73' = patchICU icu73;
|
|
icu77' = patchICU icu77;
|
|
|
|
common =
|
|
{
|
|
version,
|
|
sha512,
|
|
updateScript,
|
|
applicationName ? "Thunderbird",
|
|
}:
|
|
(buildMozillaMach rec {
|
|
pname = "thunderbird";
|
|
inherit version updateScript applicationName;
|
|
application = "comm/mail";
|
|
binaryName = "thunderbird";
|
|
src = fetchurl {
|
|
url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
|
|
inherit sha512;
|
|
};
|
|
extraPatches = [
|
|
# 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)
|
|
]
|
|
++ lib.optional (lib.versionAtLeast version "140") (fetchpatch2 {
|
|
# https://bugzilla.mozilla.org/show_bug.cgi?id=1982003
|
|
name = "rustc-1.89.patch";
|
|
url = "https://raw.githubusercontent.com/openbsd/ports/3ef8a2538893109bea8211ef13a870822264e096/mail/mozilla-thunderbird/patches/patch-third_party_rust_allocator-api2_src_stable_vec_mod_rs";
|
|
extraPrefix = "";
|
|
hash = "sha256-eL+RNVLMkj8x/8qQJVUFHDdDpS0ahV1XEN1L0reaYG4=";
|
|
})
|
|
++ lib.optionals (lib.versionOlder version "139") [
|
|
# clang-19 fixes for char_traits build issue
|
|
# https://github.com/rnpgp/rnp/pull/2242/commits/e0790a2c4ff8e09d52522785cec1c9db23d304ac
|
|
# https://github.com/rnpgp/sexpp/pull/54/commits/46744a14ffc235330bb99cebfaf294829c31bba4
|
|
# Remove when upstream bumps bundled rnp version: https://bugzilla.mozilla.org/show_bug.cgi?id=1893950
|
|
./0001-Removed-lookup-against-basic_string-uint8_t.patch
|
|
./0001-Implemented-char_traits-for-SEXP-octet_t.patch
|
|
];
|
|
|
|
extraPassthru = {
|
|
icu73 = icu73';
|
|
icu77 = icu77';
|
|
};
|
|
|
|
meta = {
|
|
changelog = "https://www.thunderbird.net/en-US/thunderbird/${version}/releasenotes/";
|
|
description = "Full-featured e-mail client";
|
|
homepage = "https://thunderbird.net/";
|
|
mainProgram = "thunderbird";
|
|
maintainers = with lib.maintainers; [
|
|
lovesegfault
|
|
pierron
|
|
vcunat
|
|
];
|
|
platforms = lib.platforms.unix;
|
|
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 = lib.licenses.mpl20;
|
|
};
|
|
}).override
|
|
{
|
|
geolocationSupport = false;
|
|
webrtcSupport = false;
|
|
|
|
pgoSupport = false; # console.warn: feeds: "downloadFeed: network connection unavailable"
|
|
|
|
icu73 = icu73';
|
|
icu77 = icu77';
|
|
};
|
|
|
|
in
|
|
rec {
|
|
thunderbird = thunderbird-latest;
|
|
|
|
thunderbird-latest = common {
|
|
version = "143.0.1";
|
|
sha512 = "5f4fd5e4f5bc9fee9852d51b8e675f7c9c605660332c24aa0c90e5437301b468153c1788720bc80a53cfc1c3bf95a4bdb622a0533b8f11fb9853b290485c47c6";
|
|
|
|
updateScript = callPackage ./update.nix {
|
|
attrPath = "thunderbirdPackages.thunderbird-latest";
|
|
};
|
|
};
|
|
|
|
# Eventually, switch to an updateScript without versionPrefix hardcoded...
|
|
thunderbird-esr = thunderbird-140;
|
|
|
|
thunderbird-140 = common {
|
|
applicationName = "Thunderbird ESR";
|
|
|
|
version = "140.3.0esr";
|
|
sha512 = "82a9c4aa250b01e0e4d53890b0337972e46504636831c1b6307b841c4c5aeec86482b2da3c1666c46e870a75f6cb54db9f759664688b382ad66efa647145d900";
|
|
|
|
updateScript = callPackage ./update.nix {
|
|
attrPath = "thunderbirdPackages.thunderbird-140";
|
|
versionPrefix = "140";
|
|
versionSuffix = "esr";
|
|
};
|
|
};
|
|
}
|
|
// lib.optionalAttrs config.allowAliases {
|
|
thunderbird-102 = throw "Thunderbird 102 support ended in September 2023";
|
|
thunderbird-115 = throw "Thunderbird 115 support ended in October 2024";
|
|
thunderbird-128 = throw "Thunderbird 128 support ended in August 2025";
|
|
}
|