summary refs log tree commit diff
path: root/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb')
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb219
1 files changed, 0 insertions, 219 deletions
diff --git a/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb b/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb
deleted file mode 100644
index 7936741cb3e7..000000000000
--- a/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb
+++ /dev/null
@@ -1,219 +0,0 @@
-# TODO share code with thunderbird-bin/generate_nix.rb
-
-version = if ARGV.empty?
-            "latest"
-          else
-            ARGV[0]
-          end
-
-base_path = "download-installer.cdn.mozilla.net/pub/firefox/releases"
-
-arches = ["linux-i686", "linux-x86_64"]
-
-arches.each do |arch|
-  system("wget", "--recursive", "--continue", "--no-parent", "--reject-regex", ".*\\?.*", "--reject", "xpi", "http://#{base_path}/#{version}/#{arch}/")
-end
-
-locales = Dir.glob("#{base_path}/#{version}/#{arches[0]}/*").map do |path|
-  File.basename(path)
-end.sort
-
-locales.delete("index.html")
-locales.delete("xpi")
-
-# real version number, e.g. "30.0" instead of "latest".
-real_version = Dir.glob("#{base_path}/#{version}/#{arches[0]}/#{locales[0]}/firefox-*")[0].match(/firefox-([0-9.]*)/)[1][0..-2]
-
-locale_arch_path_tuples = locales.flat_map do |locale|
-  arches.map do |arch|
-    path = Dir.glob("#{base_path}/#{version}/#{arch}/#{locale}/firefox-*")[0]
-
-    [locale, arch, path]
-  end
-end
-
-paths = locale_arch_path_tuples.map do |tuple| tuple[2] end
-
-hashes = IO.popen(["sha256sum", "--binary", *paths]) do |input|
-  input.each_line.map do |line|
-    $stderr.puts(line)
-
-    line.match(/^[0-9a-f]*/)[0]
-  end
-end
-
-
-puts(<<"EOH")
-# This file is generated from generate_nix.rb. DO NOT EDIT.
-# Execute the following command in a temporary directory to update the file.
-#
-# ruby generate_nix.rb > default.nix
-
-{ stdenv, fetchurl, config
-, alsaLib
-, atk
-, cairo
-, cups
-, dbus_glib
-, dbus_libs
-, fontconfig
-, freetype
-, gconf
-, gdk_pixbuf
-, glib
-, glibc
-, gst_plugins_base
-, gstreamer
-, gtk
-, libX11
-, libXScrnSaver
-, libXext
-, libXinerama
-, libXrender
-, libXt
-, libcanberra
-, libgnome
-, libgnomeui
-, mesa
-, nspr
-, nss
-, pango
-, heimdal
-, pulseaudio
-, systemd
-}:
-
-assert stdenv.isLinux;
-
-let
-  version = "#{real_version}";
-  sources = [
-EOH
-
-locale_arch_path_tuples.zip(hashes) do |tuple, hash|
-  locale, arch, path = tuple
-
-  puts(%Q|    { locale = "#{locale}"; arch = "#{arch}"; sha256 = "#{hash}"; }|)
-end
-
-puts(<<'EOF')
-  ];
-
-  arch = if stdenv.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;
-
-in
-
-stdenv.mkDerivation {
-  name = "firefox-bin-${version}";
-
-  src = fetchurl {
-    url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/${version}/${source.arch}/${source.locale}/firefox-${version}.tar.bz2";
-    inherit (source) sha256;
-  };
-
-  phases = "unpackPhase installPhase";
-
-  libPath = stdenv.lib.makeLibraryPath
-    [ stdenv.gcc.gcc
-      alsaLib
-      atk
-      cairo
-      cups
-      dbus_glib
-      dbus_libs
-      fontconfig
-      freetype
-      gconf
-      gdk_pixbuf
-      glib
-      glibc
-      gst_plugins_base
-      gstreamer
-      gtk
-      libX11
-      libXScrnSaver
-      libXext
-      libXinerama
-      libXrender
-      libXt
-      libcanberra
-      libgnome
-      libgnomeui
-      mesa
-      nspr
-      nss
-      pango
-      heimdal
-      pulseaudio
-      systemd
-    ] + ":" + stdenv.lib.makeSearchPath "lib64" [
-      stdenv.gcc.gcc
-    ];
-
-  # "strip" after "patchelf" may break binaries.
-  # See: https://github.com/NixOS/patchelf/issues/10
-  dontStrip = 1;
-
-  installPhase =
-    ''
-      mkdir -p "$prefix/usr/lib/firefox-bin-${version}"
-      cp -r * "$prefix/usr/lib/firefox-bin-${version}"
-
-      mkdir -p "$out/bin"
-      ln -s "$prefix/usr/lib/firefox-bin-${version}/firefox" "$out/bin/"
-
-      for executable in \
-        firefox mozilla-xremote-client firefox-bin plugin-container \
-        updater crashreporter webapprt-stub
-      do
-        patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-          "$out/usr/lib/firefox-bin-${version}/$executable"
-      done
-
-      for executable in \
-        firefox mozilla-xremote-client firefox-bin plugin-container \
-        updater crashreporter webapprt-stub libxul.so
-      do
-        patchelf --set-rpath "$libPath" \
-          "$out/usr/lib/firefox-bin-${version}/$executable"
-      done
-
-      # Create a desktop item.
-      mkdir -p $out/share/applications
-      cat > $out/share/applications/firefox.desktop <<EOF
-      [Desktop Entry]
-      Type=Application
-      Exec=$out/bin/firefox
-      Icon=$out/lib/firefox-bin-${version}/chrome/icons/default/default256.png
-      Name=Firefox
-      GenericName=Web Browser
-      Categories=Application;Network;
-      EOF
-    '';
-
-  meta = with stdenv.lib; {
-    description = "Mozilla Firefox, free web browser";
-    homepage = http://www.mozilla.org/firefox/;
-    license = {
-      shortName = "unfree"; # not sure
-      fullName = "unfree";
-      url = http://www.mozilla.org/en-US/foundation/trademarks/policy/;
-    };
-    platforms = platforms.linux;
-  };
-}
-EOF