diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/68.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/68.nix new file mode 100644 index 000000000000..e643954fea0d --- /dev/null +++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/68.nix @@ -0,0 +1,183 @@ +# This pakcage is keeped until Thunderbird 78 supports OpenPGP. +# https://www.thunderbird.net/en-US/thunderbird/78.0.1/releasenotes/ +{ stdenv, fetchurl, config, makeWrapper +, alsaLib +, at-spi2-atk +, atk +, cairo +, cups +, curl +, dbus-glib +, dbus +, fontconfig +, freetype +, gdk-pixbuf +, glib +, glibc +, gtk2 +, gtk3 +, kerberos +, libX11 +, libXScrnSaver +, libXcomposite +, libXcursor +, libXdamage +, libXext +, libXfixes +, libXi +, libXinerama +, libXrender +, libXt +, libxcb +, libcanberra +, gnome3 +, libGLU, libGL +, nspr +, nss +, pango +, writeScript +, xidel +, coreutils +, gnused +, gnugrep +, gnupg +, runtimeShell +}: + +# imports `version` and `sources` +with (import ./68_sources.nix); + +let + arch = if stdenv.hostPlatform.system == "i686-linux" + then "linux-i686" + else "linux-x86_64"; + + isPrefixOf = prefix: string: + builtins.substring 0 (builtins.stringLength prefix) string == prefix; + + sourceMatches = locale: source: + (isPrefixOf source.locale locale) && source.arch == arch; + + systemLocale = config.i18n.defaultLocale or "en-US"; + + defaultSource = stdenv.lib.findFirst (sourceMatches "en-US") {} sources; + + source = stdenv.lib.findFirst (sourceMatches systemLocale) defaultSource sources; + + name = "thunderbird-bin-${version}"; +in + +stdenv.mkDerivation { + inherit name; + + src = fetchurl { + url = "https://download-installer.cdn.mozilla.net/pub/thunderbird/releases/${version}/${source.arch}/${source.locale}/thunderbird-${version}.tar.bz2"; + inherit (source) sha512; + }; + + phases = "unpackPhase installPhase"; + + libPath = stdenv.lib.makeLibraryPath + [ stdenv.cc.cc + alsaLib + at-spi2-atk + atk + cairo + cups + curl + dbus-glib + dbus + fontconfig + freetype + gdk-pixbuf + glib + glibc + gtk2 + gtk3 + kerberos + libX11 + libXScrnSaver + libXcomposite + libXcursor + libXdamage + libXext + libXfixes + libXi + libXinerama + libXrender + libXt + libxcb + libcanberra + libGLU libGL + nspr + nss + pango + ] + ":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" [ + stdenv.cc.cc + ]; + + buildInputs = [ gtk3 gnome3.adwaita-icon-theme ]; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = + '' + 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/" + + for executable in \ + thunderbird crashreporter thunderbird-bin plugin-container updater + do + patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + "$out/usr/lib/thunderbird-bin-${version}/$executable" + done + + find . -executable -type f -exec \ + patchelf --set-rpath "$libPath" \ + "$out/usr/lib/thunderbird-bin-${version}/{}" \; + + # Create a desktop item. + mkdir -p $out/share/applications + cat > $out/share/applications/thunderbird.desktop <