71 lines
1.5 KiB
Nix
71 lines
1.5 KiB
Nix
{
|
|
pname,
|
|
version,
|
|
src,
|
|
nativeBuildInputs,
|
|
passthru,
|
|
meta,
|
|
stdenv,
|
|
config,
|
|
writeText,
|
|
autoPatchelfHook,
|
|
patchelfUnstable,
|
|
alsa-lib,
|
|
}:
|
|
|
|
let
|
|
policies = {
|
|
DisableAppUpdate = true;
|
|
}
|
|
// config.thunderbird.policies or { };
|
|
|
|
policiesJson = writeText "thunderbird-policies.json" (builtins.toJSON { inherit policies; });
|
|
in
|
|
stdenv.mkDerivation {
|
|
inherit
|
|
pname
|
|
version
|
|
src
|
|
;
|
|
|
|
nativeBuildInputs = nativeBuildInputs ++ [
|
|
autoPatchelfHook
|
|
patchelfUnstable
|
|
];
|
|
|
|
buildInputs = [
|
|
alsa-lib
|
|
];
|
|
|
|
# Thunderbird uses "relrhack" to manually process relocations from a fixed offset
|
|
patchelfFlags = [ "--no-clobber-old-sections" ];
|
|
|
|
postPatch = ''
|
|
# Don't download updates from Mozilla directly
|
|
echo 'pref("app.update.auto", "false");' >> defaults/pref/channel-prefs.js
|
|
'';
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
mkdir -p "$prefix/usr/lib/thunderbird-bin-${version}"
|
|
cp -r * "$prefix/usr/lib/thunderbird-bin-${version}"
|
|
|
|
mkdir -p "$out/bin"
|
|
ln -s "$prefix/usr/lib/thunderbird-bin-${version}/thunderbird" "$out/bin/"
|
|
|
|
# wrapThunderbird expects "$out/lib" instead of "$out/usr/lib"
|
|
ln -s "$out/usr/lib" "$out/lib"
|
|
|
|
gappsWrapperArgs+=(--argv0 "$out/bin/.thunderbird-wrapped")
|
|
|
|
# See: https://github.com/mozilla/policy-templates/blob/master/README.md
|
|
mkdir -p "$out/lib/thunderbird-bin-${version}/distribution";
|
|
ln -s ${policiesJson} "$out/lib/thunderbird-bin-${version}/distribution/policies.json";
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
inherit passthru meta;
|
|
}
|