{ stdenv, fetchurl, config, makeWrapper , gconf , alsaLib , at-spi2-atk , atk , cairo , cups , curl , dbus-glib , dbus , fontconfig , freetype , gdk-pixbuf , glib , glibc , gst-plugins-base , gstreamer , gtk2 , gtk3 , kerberos , libX11 , libXScrnSaver , libXcomposite , libXcursor , libXdamage , libXext , libXfixes , libXi , libXinerama , libXrender , libXt , libxcb , libcanberra-gtk2 , libgnome , libgnomeui , gnome3 , libGLU, libGL , nspr , nss , pango , writeScript , xidel , coreutils , gnused , gnugrep , gnupg , runtimeShell }: # imports `version` and `sources` with (import ./release_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 gconf alsaLib at-spi2-atk atk cairo cups curl dbus-glib dbus fontconfig freetype gdk-pixbuf glib glibc gst-plugins-base gstreamer gtk2 gtk3 kerberos libX11 libXScrnSaver libXcomposite libXcursor libXdamage libXext libXfixes libXi libXinerama libXrender libXt libxcb libcanberra-gtk2 libgnome libgnomeui 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 <