Skip to content

Instantly share code, notes, and snippets.

@ArdaXi
Created December 29, 2015 13:23
Show Gist options
  • Save ArdaXi/cc13a3b4a6ceb397fdb5 to your computer and use it in GitHub Desktop.
Save ArdaXi/cc13a3b4a6ceb397fdb5 to your computer and use it in GitHub Desktop.
firefox-bin-28
{ 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
, libXcomposite
, libXdamage
, libXext
, libXfixes
, libXinerama
, libXrender
, libXt
, libcanberra
, libgnome
, libgnomeui
, mesa
, nspr
, nss
, pango
, libheimdal
, libpulseaudio
, systemd
}:
assert stdenv.isLinux;
# imports `version` and `sources`
with (import ./sources.nix);
let
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.cc.cc
alsaLib
atk
cairo
cups
dbus_glib
dbus_libs
fontconfig
freetype
gconf
gdk_pixbuf
glib
glibc
gst_plugins_base
gstreamer
gtk
libX11
libXScrnSaver
libXcomposite
libXdamage
libXext
libXfixes
libXinerama
libXrender
libXt
libcanberra
libgnome
libgnomeui
mesa
nspr
nss
pango
libheimdal
libpulseaudio
systemd
] + ":" + stdenv.lib.makeSearchPath "lib64" [
stdenv.cc.cc
];
# "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 firefox-bin plugin-container \
updater crashreporter webapprt-stub
do
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
"$out/usr/lib/firefox-bin-${version}/$executable"
done
find . -executable -type f -exec \
patchelf --set-rpath "$libPath" \
"$out/usr/lib/firefox-bin-${version}/{}" \;
# 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/usr/lib/firefox-bin-${version}/browser/icons/mozicon128.png
Name=Firefox
GenericName=Web Browser
Categories=Application;Network;
EOF
'';
meta = with stdenv.lib; {
description = "Mozilla Firefox, free web browser (binary package)";
homepage = http://www.mozilla.org/firefox/;
license = {
free = false;
url = http://www.mozilla.org/en-US/foundation/trademarks/policy/;
};
platforms = platforms.linux;
};
}
# TODO share code with thunderbird-bin/generate_nix.rb
version = if ARGV.empty?
"latest"
else
ARGV[0]
end
base_path = "archive.mozilla.org/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_sources.rb. DO NOT EDIT.
# Execute the following command in a temporary directory to update the file.
#
# ruby generate_sources.rb > sources.nix
{
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')
];
}
EOF
# This file is generated from generate_sources.rb. DO NOT EDIT.
# Execute the following command in a temporary directory to update the file.
#
# ruby generate_sources.rb > sources.nix
{
version = "28.0";
sources = [
{ locale = "ach"; arch = "linux-i686"; sha256 = "96432847759db7685e6431e7d319da084346b2ebbb0915dd52a3b8df34c340ed"; }
{ locale = "ach"; arch = "linux-x86_64"; sha256 = "52dbb320674b0b4241ad46cfe106eb48af5681b11588d806cf6fe35474d9063b"; }
{ locale = "af"; arch = "linux-i686"; sha256 = "b9f71e599cc98fe5c4f76e372f1e18b4fee4e78babdd35f9ce656294d57c63c1"; }
{ locale = "af"; arch = "linux-x86_64"; sha256 = "fd7b60b89bfd8176f6ce2768666b61468e268198c591e04a2c8266e262bb6a52"; }
{ locale = "an"; arch = "linux-i686"; sha256 = "0cf41fdc44ade687295714645b44dc7ab345fd370881c464088c3b09c734ea30"; }
{ locale = "an"; arch = "linux-x86_64"; sha256 = "6566ca234246b1183857898d912d7bb36e9979a178818c66e5049e0ae3a36ef2"; }
{ locale = "ar"; arch = "linux-i686"; sha256 = "2500971a201bd1c50519b8cac64b30c3331912139b1682a4deb7f81a089027d4"; }
{ locale = "ar"; arch = "linux-x86_64"; sha256 = "76e5dec5829219502cc2b441b89f1c9c6a991f967a6aab1fe76bdc0faf535e91"; }
{ locale = "as"; arch = "linux-i686"; sha256 = "039d0bfe4bcb9a8e635817fa59a059cf971e84acaa169d608aaf2126b979e4d9"; }
{ locale = "as"; arch = "linux-x86_64"; sha256 = "6d69003723a25505059af2d7ba8f6a37dad1a4a9977cb48f67b58c6f2746dece"; }
{ locale = "ast"; arch = "linux-i686"; sha256 = "52d5306ceeb8e0cfe9879a97ea421702f86d1936474ad866d8aa764ffb6c84b9"; }
{ locale = "ast"; arch = "linux-x86_64"; sha256 = "9746f37874b3b38ceac932220a3807a79418fd98196b4473e4f490f83135897c"; }
{ locale = "be"; arch = "linux-i686"; sha256 = "511207868ae597b280d3da46167dc733179a9bd4683b2a4ede1291d86a9dab79"; }
{ locale = "be"; arch = "linux-x86_64"; sha256 = "ade7b8fd5d27f9f871dec316e9f89a9646ee061884fef5b9cc416c5482ed61eb"; }
{ locale = "bg"; arch = "linux-i686"; sha256 = "b7a45cd8cfddd5d396d0d10ec03359aaf4dd5abf7721bf589209c8a7982c45c7"; }
{ locale = "bg"; arch = "linux-x86_64"; sha256 = "7b4dea339c8549da37f6dd0e44dd473e50a2f1d96baefdfc4ee4607d2fcb8281"; }
{ locale = "bn-BD"; arch = "linux-i686"; sha256 = "5798cd3f9393c38db548e2498feb6eaba3689da2f86834b76516ffaeb3bd733f"; }
{ locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "d29eda317227894b9cc238cc9cb8fe189f40f94660d401fef8ea6f9acb88640a"; }
{ locale = "bn-IN"; arch = "linux-i686"; sha256 = "8eb427b90adc3783f443165270bee408f3aab377613ff1568c8a09868fba90a9"; }
{ locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "e1e3425cf41ebee441def01db3865786acaa24745c3d8bf2f0be238c7ec5b6f0"; }
{ locale = "br"; arch = "linux-i686"; sha256 = "01b4ccbf16584605b1a013ca2084b7cff0ce8b735deeccd5c25f04440c9afa3c"; }
{ locale = "br"; arch = "linux-x86_64"; sha256 = "341a1084a1ca8021e240f40e845b1586b744586e4268104c734effac2198c885"; }
{ locale = "bs"; arch = "linux-i686"; sha256 = "f796534e6fbe2115cd3b56e43389ee0cb5b374fb232f6612bd8030b36a3574f8"; }
{ locale = "bs"; arch = "linux-x86_64"; sha256 = "6c0da8f369715369804d032c9a3d3c9a3fc073198ec3071e33f74723ac90e06f"; }
{ locale = "ca"; arch = "linux-i686"; sha256 = "11fb574953c668c274d3f40b18171fc1aa3dd4e1a41366b43079cc8541e16a10"; }
{ locale = "ca"; arch = "linux-x86_64"; sha256 = "78927e6a0535e1e098d0f82aab88e57d220336a9a86696543b915537e2f56995"; }
{ locale = "cs"; arch = "linux-i686"; sha256 = "a020c31ff656202c45d2f4b1607ddf50d3f5997c8318071ef50cab0540b3b222"; }
{ locale = "cs"; arch = "linux-x86_64"; sha256 = "b65f383013a372298f31ced1db9c40c6afd3462597580d90906429f8dab7b973"; }
{ locale = "csb"; arch = "linux-i686"; sha256 = "7c357d766b2606dca885baecde87d1a8dfc6a4ef6b1e148a246ebd9415023405"; }
{ locale = "csb"; arch = "linux-x86_64"; sha256 = "a24e2b9d259745233b23562632cfc17320a3361d1a999a8d20cb446354a5b1e1"; }
{ locale = "cy"; arch = "linux-i686"; sha256 = "357120781e219c7850cfb51bab8e8117077f9063f7324022db755468e8efd236"; }
{ locale = "cy"; arch = "linux-x86_64"; sha256 = "18b521ef22688f13afdb18e0a87b8e0f19e22f25bb128ef109918888872c8c4e"; }
{ locale = "da"; arch = "linux-i686"; sha256 = "a03faf3f843659e621a9283f1c8b1bf689b282fe868441271e7ee6fb0249116c"; }
{ locale = "da"; arch = "linux-x86_64"; sha256 = "cd50c9e84fdb0f90df7633904dd6a287be33019b9708c57bc31af9a810e0a2d8"; }
{ locale = "de"; arch = "linux-i686"; sha256 = "b5d085d3ef2ff8b1ac47d7ec2e2c1987fab77c1897210a2f09e19164963c0f4d"; }
{ locale = "de"; arch = "linux-x86_64"; sha256 = "c0698a438baf77f0e1b17704ab492329c24c4b563947ca9acb5a8052bcb8df20"; }
{ locale = "el"; arch = "linux-i686"; sha256 = "65add8d6e2fc8eff189a0e87790cfbbe6331e0da1e640912ddeef7494d3e704f"; }
{ locale = "el"; arch = "linux-x86_64"; sha256 = "cff214a394ea69248e2923ac93e70ecacf4b50d98ae578613c6d895c91b5bc67"; }
{ locale = "en-GB"; arch = "linux-i686"; sha256 = "5b38c4735e55b3cf939178b53db779754da2a1a330009c6651ab4268d8134be3"; }
{ locale = "en-GB"; arch = "linux-x86_64"; sha256 = "d92fbeb305f3de20df0fefd2c1cec70768263013b7ec7536e68e46fb3da0a5a8"; }
{ locale = "en-US"; arch = "linux-i686"; sha256 = "10bc55b70e0e298ceb3613431c5a6cf36aaf1e6ace1a43616e452a7b232e7d38"; }
{ locale = "en-US"; arch = "linux-x86_64"; sha256 = "10c0f42bf3d67f2e8d77d40496a6e8cf9003ba67ff2c7d1e9c78a81f63bd87c0"; }
{ locale = "en-ZA"; arch = "linux-i686"; sha256 = "e3cbc0bf1feea5f14f84353f6a4b7bb9006504207ba7140b1b2155dea5213ca3"; }
{ locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "c2d95a028ee370d92ac2bb33dce46f94f38a595f7742a875af894d07fe0cfa76"; }
{ locale = "eo"; arch = "linux-i686"; sha256 = "55abddc90c25ea7613211c85d887dae90edcecf15d9ad13cca11cdadc00b652d"; }
{ locale = "eo"; arch = "linux-x86_64"; sha256 = "57ad7b5e8c45413a4b36e95ee6d0baf7ebac46ca713acb1e66db4f5f46b69ff5"; }
{ locale = "es-AR"; arch = "linux-i686"; sha256 = "fd9d7b5a4ae085e01fcdb8133c780a2efc6c72220e39bdc211063e88b9f9490e"; }
{ locale = "es-AR"; arch = "linux-x86_64"; sha256 = "7fe8e652f1ef61c985cc8f238ee4c0ac5f8c8a3243bc3baf58af79e9326b883e"; }
{ locale = "es-CL"; arch = "linux-i686"; sha256 = "b41a59bd3b933f5e4aa0aea205cc67f82a6feb2f9fc3d210d2507628998bce6e"; }
{ locale = "es-CL"; arch = "linux-x86_64"; sha256 = "34195d6372edbb6b932995aa215c0de747f735f4d9cf9647dec1c6bca59e16cb"; }
{ locale = "es-ES"; arch = "linux-i686"; sha256 = "7d8ae0a704271843661baf8d494e3a68c5cdf537b6537c9946c7134a09062bf0"; }
{ locale = "es-ES"; arch = "linux-x86_64"; sha256 = "f9352ee81d262b9bacd94a7555dc5ed388c44436567be65aeb2e480cf7b8187c"; }
{ locale = "es-MX"; arch = "linux-i686"; sha256 = "0adda4a37b848c208507b9020330ea862cb0e27ca8e1b00524acb52258b5d089"; }
{ locale = "es-MX"; arch = "linux-x86_64"; sha256 = "15c9b8427bb86ddb09095358966c1f8082a4ff9d1b315002e8cc21cda0deeb56"; }
{ locale = "et"; arch = "linux-i686"; sha256 = "1903b596a5fbd145fec1124c603bb9682eb57b98c0e2ef921edf53b899437411"; }
{ locale = "et"; arch = "linux-x86_64"; sha256 = "429f01926cd4a325ab01582f5aebd5a15710f87de451b5bd538d52f17378a289"; }
{ locale = "eu"; arch = "linux-i686"; sha256 = "cea57afb56aba05aaf96a6a7e371a1cee0104228194be25680f0547ddfac4891"; }
{ locale = "eu"; arch = "linux-x86_64"; sha256 = "ef6e56b13a2fc5ccebb2e9cdb62bac7bb61d8f9d8a505e43602ff9421f8d94ac"; }
{ locale = "fa"; arch = "linux-i686"; sha256 = "ddf38b5a655f3987995fbf4b5a122ffcc6eb351ff6eff4babe308375ab8702fa"; }
{ locale = "fa"; arch = "linux-x86_64"; sha256 = "3a026a89a2929900a6dc8184654af3cd9f2817f7966c64154aa4ef1dc8062e6d"; }
{ locale = "ff"; arch = "linux-i686"; sha256 = "4d2624db0153fc138c1919de2539a4265b297cb4ccdfa03850d339392b06c501"; }
{ locale = "ff"; arch = "linux-x86_64"; sha256 = "e5688f8ec1d7f9771fb4be8b2a310b40ee7aef2ee2f2feaca04a462af8b0dd58"; }
{ locale = "fi"; arch = "linux-i686"; sha256 = "3c5208ebb01efdb903e97c60b2f65c8b9608fbcf9868091354706540d5a182c9"; }
{ locale = "fi"; arch = "linux-x86_64"; sha256 = "d2376960578f3b9f5da0a5c559bc820e873df7ad8babef88878a22c484bc35c6"; }
{ locale = "fr"; arch = "linux-i686"; sha256 = "9fe23375609405eae61ab29007bb7cc760df86c16265a296c49fcd29c06a0b8d"; }
{ locale = "fr"; arch = "linux-x86_64"; sha256 = "0c57c432d787e464c6870cccfcd2e5c809225ee62145c585280995c6e7bbae86"; }
{ locale = "fy-NL"; arch = "linux-i686"; sha256 = "f886bfd513ea6c6d3780d139d909c9fa61f8e49c21c4164f0e19568bab697dc7"; }
{ locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "62beacb52bf9ce32763a78e761250024aafa7a14fb4d270eb70d54ec7791aae5"; }
{ locale = "ga-IE"; arch = "linux-i686"; sha256 = "ff98e505861724a2a3b6a6e52089f57d0b636b99b73775dbf1b2958c4cac4c36"; }
{ locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "0f89462df6cacef855d2aec4e2087843aa0baab3e0fa47cc16d8950518c05999"; }
{ locale = "gd"; arch = "linux-i686"; sha256 = "b3b637b1ce1b3a1bb6698264941e5e92fcf21501617a40ba72c683c09c7f14dd"; }
{ locale = "gd"; arch = "linux-x86_64"; sha256 = "2675835956008e7ea7ed150860400a31829bb5c8a596da2cc9b919af46ae486b"; }
{ locale = "gl"; arch = "linux-i686"; sha256 = "9c01a7360b93f8e32617f8e2df92e54759e99884e4ece15b86f46e9c1643d46a"; }
{ locale = "gl"; arch = "linux-x86_64"; sha256 = "7b727f0f05398f05c60f4c1a08eae88c864d552d398d3d5ab01cbc5518fa2761"; }
{ locale = "gu-IN"; arch = "linux-i686"; sha256 = "685ddb95ae2afb4a997dda690b728d853b38395d41300105e2666c29aa35ddfc"; }
{ locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "527462537723c75f8340febe5d29c83eb8cc7e8a4f6cc6ed2fe1a4fd541199c2"; }
{ locale = "he"; arch = "linux-i686"; sha256 = "e0f80cb86d26f7f91f89bad1718c0a702deb0653c6adccdafdafaf117632cd0f"; }
{ locale = "he"; arch = "linux-x86_64"; sha256 = "b60e072f673e7c5d0cc89896ce87e2f616412077c3f5d5ed8d649ff83ae21ac0"; }
{ locale = "hi-IN"; arch = "linux-i686"; sha256 = "960839aaa40afdf8d0a2d3fe661252880380368b06efefae11405e9f3c33924e"; }
{ locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "924012d609d0a2e97fd610498d42b2185e5484d9672fa2a72c736242e4868fb6"; }
{ locale = "hr"; arch = "linux-i686"; sha256 = "eb63cf086701c8eaa60b1ec53b976a03ab82182def47a0df79e7403bc692976d"; }
{ locale = "hr"; arch = "linux-x86_64"; sha256 = "4ce26f9e09faf08c8104f291cfd962006100fc000c04c7d44e7222086b55e282"; }
{ locale = "hu"; arch = "linux-i686"; sha256 = "1ce8877fa0bd68129d3b82178cc47b2157541a093618dc7b93c3db27b7949a98"; }
{ locale = "hu"; arch = "linux-x86_64"; sha256 = "f1cb52c999256ca28046baeadcc46dc25990ae39383e22ef012de0bf70ec6ec6"; }
{ locale = "hy-AM"; arch = "linux-i686"; sha256 = "743bdb62b7b7c0ebb9e1e53ddae7f712adfab3e7c791309dd2a5a58691b94d2b"; }
{ locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "fff7605b9ae8f66b9983f23a69e6c44ed78f29dfe4221d6f0eeddeec46706f8d"; }
{ locale = "id"; arch = "linux-i686"; sha256 = "b3e5abe4ab37a935b9b92313202947efc8de685a1308e3430d3c1a136f2e14a0"; }
{ locale = "id"; arch = "linux-x86_64"; sha256 = "5c88c128fe3bc215589c1f0608fb7e9af96d077cd8286b8ebfbd3d7d53833afa"; }
{ locale = "is"; arch = "linux-i686"; sha256 = "6025c864041ed7b0e734a5c195b84339fc93419fbc03d79f960d2078d66a159e"; }
{ locale = "is"; arch = "linux-x86_64"; sha256 = "8ba87a6c9e437318ea5419381bbf886ff76ffa98ac08db62ba6d0c681d116187"; }
{ locale = "it"; arch = "linux-i686"; sha256 = "5ce7fdc63b7cf123b7600cd1e3b0d2da926f3467ed31720a1899000391f4ce7d"; }
{ locale = "it"; arch = "linux-x86_64"; sha256 = "a3018e809317eee64dc5572ddc8771de2a20db9bdc1003b7254bbd142343a097"; }
{ locale = "ja"; arch = "linux-i686"; sha256 = "6cb7bf303235bca4d6a970336c3c89e3f9c23f5ee8f2b7515fea7df2317423b7"; }
{ locale = "ja"; arch = "linux-x86_64"; sha256 = "2dd9f5d92bf5c4becd3470534981ddd71fc99e36713967019e79971ff8bc88da"; }
{ locale = "kk"; arch = "linux-i686"; sha256 = "b037d02ee9207fa2c92de988f033dffd2460bd9c61f025bdc73d55f7067a36e5"; }
{ locale = "kk"; arch = "linux-x86_64"; sha256 = "b80a354697ca92cc94986f780274c7b6395468d77b35ee196a524eaa4b72375b"; }
{ locale = "km"; arch = "linux-i686"; sha256 = "30fb30c534f665d519d84cf4fb0afd9a9ccb4001f5fc9ed239874c4ccd4fd713"; }
{ locale = "km"; arch = "linux-x86_64"; sha256 = "0c77672faf8ace82485c0d2cb0a071305ba6594aa7d939145dcc080e4d783504"; }
{ locale = "kn"; arch = "linux-i686"; sha256 = "ba08444f2e8366b8bad48eaace20d8bcc2947025eb5286e4206277e42fd192c6"; }
{ locale = "kn"; arch = "linux-x86_64"; sha256 = "b07da32ba42b694c37534b4d91c730ced3e95dc00a743d6659f43452da6e9e5b"; }
{ locale = "ko"; arch = "linux-i686"; sha256 = "ddcc10a10985f9142c4c574cca94b83518be469642411ef1c9e2f1b145f7ff50"; }
{ locale = "ko"; arch = "linux-x86_64"; sha256 = "5f500c3398a4b558bfab106cf8c8a72878b28860b74906f3ca36adaddab050ba"; }
{ locale = "ku"; arch = "linux-i686"; sha256 = "72addeb841d8d2b95af4ebb3576b9676b58b4f322caee79247f86b101df10ba6"; }
{ locale = "ku"; arch = "linux-x86_64"; sha256 = "0e60dcad4cf7163e27fa4ca15e07b40b1827c9d847e1aaef738eb50c24380051"; }
{ locale = "lij"; arch = "linux-i686"; sha256 = "f4819a66603788e56d56bf77d9c987eaeceba674a033fd26bb87c9d0b2138684"; }
{ locale = "lij"; arch = "linux-x86_64"; sha256 = "03ef41de846dd78d4a42a789bae7b900bfc0ebacac4c4554d1a779296e108782"; }
{ locale = "lt"; arch = "linux-i686"; sha256 = "083ca65cfb4268f3c8440990232f6c46f8ec2bbc754914549be12675f35f18f5"; }
{ locale = "lt"; arch = "linux-x86_64"; sha256 = "fa79e80639d996213351d8e4465fbdc1b9334e80a23e61418ac8a80737f5e4fe"; }
{ locale = "lv"; arch = "linux-i686"; sha256 = "2fc71bb1ae2160d1c142df9234d2a54ee15acb0ef56b7a9da0bba52948924013"; }
{ locale = "lv"; arch = "linux-x86_64"; sha256 = "0bf57602cdc60b54da1889e0df801b8c59a13e99712e7b3935bd20328829160f"; }
{ locale = "mai"; arch = "linux-i686"; sha256 = "740978fc63e81894c7c32ea6283e046857caeaf1f90dd449bae6d1c4a9c1ae1d"; }
{ locale = "mai"; arch = "linux-x86_64"; sha256 = "a77be01c7b9592e622c4faf0d20a373bea364d468ef44f2d1a04662b3fe9a25e"; }
{ locale = "mk"; arch = "linux-i686"; sha256 = "e0995df6e5f50137b8bf76fda1ae51c50132a1c24f811c2d97c1a0cdb6da73bf"; }
{ locale = "mk"; arch = "linux-x86_64"; sha256 = "3bc72ffd975644fee5286c1225901cfe5761741c6084e360d06848be8c417030"; }
{ locale = "ml"; arch = "linux-i686"; sha256 = "db88992d4068cf4d6a54c9ca6b1ecefb43e1e68292e31a87a3d4cecd27bf9242"; }
{ locale = "ml"; arch = "linux-x86_64"; sha256 = "9c96a386d27c18e4d99f249845f513e1bbd90ea8290c63d960c96d19d5368e61"; }
{ locale = "mr"; arch = "linux-i686"; sha256 = "e26cfd734e6238f6499f27b13d8da7e7af982a918d5bdb2a3cdc4774611bfda0"; }
{ locale = "mr"; arch = "linux-x86_64"; sha256 = "502cd71aa6b79203ec3e1ee005d26ed523fc92b3bb038e68f12cf3b72bf0f45f"; }
{ locale = "nb-NO"; arch = "linux-i686"; sha256 = "8934ebdd4e6230d0b103152150a375c3f9ab424038ae8d3e22b2920e14c214a4"; }
{ locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "754a60ffe62fa512a690784fda79813ba7faf77f0e6d4957aa0ed4a2a63a9dca"; }
{ locale = "nl"; arch = "linux-i686"; sha256 = "0c0621993165a47b839d623c44bcb8547b93086c406bf4a323f5f56aeec37e40"; }
{ locale = "nl"; arch = "linux-x86_64"; sha256 = "3157ec663fc072f9774fe0e92c55bd9bded06ea0550805b1f9f41f3f0f2f55fb"; }
{ locale = "nn-NO"; arch = "linux-i686"; sha256 = "c53c9676c659a6bf5f02aa847603e9efde9ae264a4919f09b3e01e75831d6b2a"; }
{ locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "4bbfa386af7e9c38b450b3c12073f85e6fe38a5c80eb2a43e200a07bc5568e18"; }
{ locale = "or"; arch = "linux-i686"; sha256 = "de78cdd62291dff43b189f795a047b11eb0b9fe447e791c005cc27cf7dc1e162"; }
{ locale = "or"; arch = "linux-x86_64"; sha256 = "2ee06c84dbace7880dbb8112a2fed704b9dc71bf19f792bbca60ce41e8141f65"; }
{ locale = "pa-IN"; arch = "linux-i686"; sha256 = "2ee0c26a59c8735d4c2bb763b06a6d9cfa5d3b107d75723664ad3c02196d509d"; }
{ locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "7193199350c73d14a5adc0e390de976f2a842832263eb56d52698df36cf770e4"; }
{ locale = "pl"; arch = "linux-i686"; sha256 = "5fff97883c7fcbc4d2cd40042d002e933f13e76779509d1b44c9048ef0f2e0c4"; }
{ locale = "pl"; arch = "linux-x86_64"; sha256 = "6be69ba32e8a4d2e4bf8c6e4cbf8a4247ba379c0d39f0a45ceb4f2c7e0679d95"; }
{ locale = "pt-BR"; arch = "linux-i686"; sha256 = "5cd4622bd36376de7ce0437398410b38704c0194d58055213a034c4d244c142c"; }
{ locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "799a9d47fb0c00d45ecf3692d10d0ca96d150fb1ec42fb97a44923f484861a6c"; }
{ locale = "pt-PT"; arch = "linux-i686"; sha256 = "be1813566b3159e3bcd9f3c07f756c9f274b122c2451c89cd1eb106339f12589"; }
{ locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "ca595932ee20aecab0b400566ae558041984a787666bf4feaef1767c6560c9d9"; }
{ locale = "rm"; arch = "linux-i686"; sha256 = "00f3dedf8eb98012c85b172fc1b703262bfa2b2628ae827b1c01407da208b641"; }
{ locale = "rm"; arch = "linux-x86_64"; sha256 = "94f6b747bf59e053fcde7cad7fccc041c787ed7ce96c1b36244db1f22fb4dc8e"; }
{ locale = "ro"; arch = "linux-i686"; sha256 = "83ba6a8cd600fd10e5dad245d68572ca9f7e933b51a05c3540d22e1c13bc5505"; }
{ locale = "ro"; arch = "linux-x86_64"; sha256 = "5849ddc212ff178a8bea82e5be83b7f9379899e4f873e6a5c5edd16d1813fc31"; }
{ locale = "ru"; arch = "linux-i686"; sha256 = "44698f641153a87b78410d1cdd4a13126d9b34c8a67fc30ce5e96e8b9139f92d"; }
{ locale = "ru"; arch = "linux-x86_64"; sha256 = "1387804491cc96de7f6136be44923c5c9cfad882ba0a32be579342268f56d2a6"; }
{ locale = "si"; arch = "linux-i686"; sha256 = "2639379b22af22ad27faa6fc85ae0392b3cdd27881834234133b598f65807fde"; }
{ locale = "si"; arch = "linux-x86_64"; sha256 = "06ac279a5506c2aafb8834c92238da37cebaed9955df746d748bd4f1ae66f252"; }
{ locale = "sk"; arch = "linux-i686"; sha256 = "435206f30bcedc373bc2daeef1a261a1b0745228ea520746a0addcbd7953a18a"; }
{ locale = "sk"; arch = "linux-x86_64"; sha256 = "137cd40bece3889609ca9b05c9d9f282364d37629d0e78248a061fbee69e3010"; }
{ locale = "sl"; arch = "linux-i686"; sha256 = "e921b0e7052797744218597d7e1b6866f8287abf8c92a84addd33c269749fc16"; }
{ locale = "sl"; arch = "linux-x86_64"; sha256 = "83523ccf3bc761b4ae5172b86e5474eaeb4603aafa673870293e08dfc50c71e7"; }
{ locale = "son"; arch = "linux-i686"; sha256 = "16871de8871491fe231225e27e600daafc04ade60ad6f46783da066170dbd67e"; }
{ locale = "son"; arch = "linux-x86_64"; sha256 = "b9d13d6d5b68c25a64a9666cc9f5a5d6a4b211c4f31e2ae1513603f603216dd0"; }
{ locale = "sq"; arch = "linux-i686"; sha256 = "2958a8aaa36d27edf9f340e679d70027d86d81c60d55022bb8469052472e313a"; }
{ locale = "sq"; arch = "linux-x86_64"; sha256 = "73951ac2554487be22c76e3ae8f4828e855535f924927bc072433f77776e59a2"; }
{ locale = "sr"; arch = "linux-i686"; sha256 = "02d48058e92942149e5f2ce420b795ca717e831859609bf6d43713c13396a2ce"; }
{ locale = "sr"; arch = "linux-x86_64"; sha256 = "32feee3eb6a48fdbb5503e1137a6af811e2ac7bf68bc312085e57396cee96e91"; }
{ locale = "sv-SE"; arch = "linux-i686"; sha256 = "a54e662383481e8546404312092ab5b0066104b5d91d35915b07ad3cf1a4c5ad"; }
{ locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "dfa0be213c0b8441bf9bc8eb651f3a850e03e2de9119390e271e10ef97718367"; }
{ locale = "ta"; arch = "linux-i686"; sha256 = "9beee257a852ff04aa14f9bdc2f5ca45f0411e7df3801662cd7a8ec40ebbf829"; }
{ locale = "ta"; arch = "linux-x86_64"; sha256 = "22a830abee34490d0db5f2c332608414bf600832683206ed7c17db35169d87aa"; }
{ locale = "te"; arch = "linux-i686"; sha256 = "5ae424bb0972a0ec1b2da2180701c0cbc9d9f19677d30c9bfad195b13686dc6d"; }
{ locale = "te"; arch = "linux-x86_64"; sha256 = "097b797a8c581d487f85aa83c0ff1190c087c844f8847517ae287c0e89cf1af6"; }
{ locale = "th"; arch = "linux-i686"; sha256 = "599387164751e429fd928bd9fde1f078a9d391838d559052a791f8a85549e126"; }
{ locale = "th"; arch = "linux-x86_64"; sha256 = "1dd25ea625c41bdf7892ed4b9a0ef8d9a9459d6130e040b109fdae37aba1075f"; }
{ locale = "tr"; arch = "linux-i686"; sha256 = "a7ec4920d8bd56e43f26cab9adf83b97678afa2765176f087cd81dab0250cb69"; }
{ locale = "tr"; arch = "linux-x86_64"; sha256 = "4862522d1811ad26872e0dad3b1cb4bc0515fa54de26ca5d196b406b8c1c940b"; }
{ locale = "uk"; arch = "linux-i686"; sha256 = "2591935535f90be8fecf0124cf57288149f80a3694395f907fe217092b49a683"; }
{ locale = "uk"; arch = "linux-x86_64"; sha256 = "f0b80f40eaf7afc45030ed1eda71482fa94cc80b51e41fdba5012140dd2bf673"; }
{ locale = "vi"; arch = "linux-i686"; sha256 = "2bfb32ec4ec4663bec7ca6f8c54b652a6693d0e490c333ba19c63b5e9f7adc25"; }
{ locale = "vi"; arch = "linux-x86_64"; sha256 = "f18fc2193eb8568e7deb0035c8dd5301b2e97d7e4eb27c73c96d236a4faa9e9c"; }
{ locale = "xh"; arch = "linux-i686"; sha256 = "281b0deb88c952c70d1dc357087f58a278f136dd3a635b377e4048633cf79857"; }
{ locale = "xh"; arch = "linux-x86_64"; sha256 = "d374699ddb6150337145cafde48a428119a9a82750dbd771ef1e183bee6832e4"; }
{ locale = "zh-CN"; arch = "linux-i686"; sha256 = "287f335dee537311536d89dd2c285b4496559575ffba4e322772b942487aaa54"; }
{ locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "319a4349bef07bc959a00ab3f7ab125de548be03fbdfabb5480660097fcc6af9"; }
{ locale = "zh-TW"; arch = "linux-i686"; sha256 = "a17936741d07f7b096aeae89fe071297a107ac16a023bd7bfdeb1293edd5909d"; }
{ locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "aa845308e0c008d0e8837d0f993221d1acd2d31eb9315fc7dd68db906c91dff9"; }
{ locale = "zu"; arch = "linux-i686"; sha256 = "ab5032a678fcbe8c8d3bcf9d75f273d50c9129f2793a6f6cea250d338d5be60d"; }
{ locale = "zu"; arch = "linux-x86_64"; sha256 = "7880230b7e5ac5dcede87f3f88388005ae1dd720f1242f1ce2ad1b1c450c7859"; }
];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment