diff options
author | Vladimír Čunát <vcunat@gmail.com> | 2014-08-02 05:08:07 +0200 |
---|---|---|
committer | Vladimír Čunát <vcunat@gmail.com> | 2014-08-02 05:08:07 +0200 |
commit | 6295a3ca36cc746e11c7b01fd47562fde3a703ec (patch) | |
tree | 18d9289564e8893a9d7e4df671e5226bcd2b0f0c /pkgs/applications/networking | |
parent | 91b53aaebc0ca2e80d073459324515879e300f34 (diff) | |
parent | fb565f1a4ea2a71debe48e206ef6c2d032bba0a3 (diff) | |
download | nixpkgs-6295a3ca36cc746e11c7b01fd47562fde3a703ec.tar nixpkgs-6295a3ca36cc746e11c7b01fd47562fde3a703ec.tar.gz nixpkgs-6295a3ca36cc746e11c7b01fd47562fde3a703ec.tar.bz2 nixpkgs-6295a3ca36cc746e11c7b01fd47562fde3a703ec.tar.lz nixpkgs-6295a3ca36cc746e11c7b01fd47562fde3a703ec.tar.xz nixpkgs-6295a3ca36cc746e11c7b01fd47562fde3a703ec.tar.zst nixpkgs-6295a3ca36cc746e11c7b01fd47562fde3a703ec.zip |
Merge recent master into x-updates
Hydra: ?compare=1142825 Conflicts (easy): pkgs/applications/audio/lmms/default.nix pkgs/desktops/e18/enlightenment.nix pkgs/games/exult/default.nix pkgs/os-specific/linux/alsa-plugins/default.nix
Diffstat (limited to 'pkgs/applications/networking')
63 files changed, 527 insertions, 2043 deletions
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index 3aac5f9b17a..31125795271 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -79,7 +79,7 @@ let }; opusWithCustomModes = libopus.override { - withCustomModes = !versionOlder source.version "35.0.0.0"; + withCustomModes = true; }; defaultDependencies = [ @@ -132,19 +132,13 @@ let find -iname '*.gyp*' \( -type f -o -type l \) \ -exec sed -i -e 's|<(DEPTH)|'"$(pwd)"'|g' {} + \ -exec chmod u+w {} + - '' + optionalString (!versionOlder source.version "37.0.0.0") '' - python third_party/libaddressinput/chromium/tools/update-strings.py ''; - postPatch = let - toPatch = if versionOlder source.version "36.0.0.0" - then "content/browser/browser_main_loop.cc" - else "sandbox/linux/suid/client/setuid_sandbox_client.cc"; - in '' + postPatch = '' sed -i -e '/base::FilePath exe_dir/,/^ *} *$/c \ sandbox_binary = base::FilePath(getenv("CHROMIUM_SANDBOX_BINARY_PATH")); - ' ${toPatch} - '' + optionalString (!versionOlder source.version "36.0.0.0") '' + ' sandbox/linux/suid/client/setuid_sandbox_client.cc + sed -i -e '/module_path *=.*libexif.so/ { s|= [^;]*|= base::FilePath().AppendASCII("${libexif}/lib/libexif.so")| }' chrome/utility/media_galleries/image_metadata_extractor.cc @@ -165,6 +159,7 @@ let use_cups = cupsSupport; linux_sandbox_chrome_path="${libExecPath}/${packageName}"; werror = ""; + clang = false; # FIXME: In version 37, omnibox.mojom.js doesn't seem to be generated. use_mojo = versionOlder source.version "37.0.0.0"; diff --git a/pkgs/applications/networking/browsers/chromium/source/default.nix b/pkgs/applications/networking/browsers/chromium/source/default.nix index 6a6b299ee51..70b01d071a7 100644 --- a/pkgs/applications/networking/browsers/chromium/source/default.nix +++ b/pkgs/applications/networking/browsers/chromium/source/default.nix @@ -22,9 +22,7 @@ stdenv.mkDerivation { prePatch = "patchShebangs ."; - patches = if (versionOlder version "36.0.0.0") - then singleton ./sandbox_userns_31.patch - else singleton ./sandbox_userns_36.patch; + patches = singleton ./sandbox_userns_36.patch; postPatch = '' sed -i -r \ @@ -32,14 +30,15 @@ stdenv.mkDerivation { -e 's|/bin/echo|echo|' \ -e "/python_arch/s/: *'[^']*'/: '""'/" \ build/common.gypi chrome/chrome_tests.gypi + '' + optionalString (versionOlder version "38.0.0.0") ('' sed -i -e '/not RunGN/,+1d' -e '/import.*depot/d' build/gyp_chromium sed -i -e 's|/usr/bin/gcc|gcc|' \ third_party/WebKit/Source/build/scripts/scripts.gypi \ third_party/WebKit/Source/build/scripts/preprocessor.pm - '' + optionalString useOpenSSL '' - cat $opensslPatches | patch -p1 -d third_party/openssl/openssl '' + optionalString (!versionOlder version "37.0.0.0") '' patch -p1 -d third_party/angle < "${./angle_build_37.patch}" + '') + optionalString useOpenSSL '' + cat $opensslPatches | patch -p1 -d third_party/openssl/openssl ''; outputs = [ "out" "sandbox" "bundled" "main" ]; diff --git a/pkgs/applications/networking/browsers/chromium/source/sandbox_userns_31.patch b/pkgs/applications/networking/browsers/chromium/source/sandbox_userns_31.patch deleted file mode 100644 index 490c1a9cebe..00000000000 --- a/pkgs/applications/networking/browsers/chromium/source/sandbox_userns_31.patch +++ /dev/null @@ -1,297 +0,0 @@ -commit ff4e8b4af04c58fc4c58ee7ed108aefcdc26a960 -Author: aszlig <aszlig@redmoonstudios.org> -Date: Thu May 16 14:17:56 2013 +0200 - - zygote: Add support for user namespaces on Linux. - - The implementation is done by patching the Zygote host to execute the sandbox - binary with CLONE_NEWUSER and setting the uid and gid mapping so that the child - process is using uid 0 and gid 0 which map to the current user of the parent. - Afterwards, the sandbox will continue as if it was called as a setuid binary. - - In addition, this adds new_user_namespace as an option in process_util in order - to set the UID and GID mapping correctly. The reason for this is that just - passing CLONE_NEWUSER to clone_flags doesn't help in LaunchProcess(), because - without setting the mappings exec*() will clear the process's capability sets. - - If the kernel doesn't support unprivileged user namespaces and the sandbox - binary doesn't have the setuid flag, the Zygote main process will run without a - sandbox. This is to mimic the behaviour if no SUID sandbox binary path is set. - - Signed-off-by: aszlig <aszlig@redmoonstudios.org> - -diff --git a/base/process/launch.cc b/base/process/launch.cc -index 1329a5a..ec28fdf 100644 ---- a/base/process/launch.cc -+++ b/base/process/launch.cc -@@ -24,6 +24,7 @@ LaunchOptions::LaunchOptions() - new_process_group(false) - #if defined(OS_LINUX) - , clone_flags(0) -+ , new_user_namespace(false) - #endif // OS_LINUX - #if defined(OS_CHROMEOS) - , ctrl_terminal_fd(-1) -diff --git a/base/process/launch.h b/base/process/launch.h -index ac2df5e..34a3851 100644 ---- a/base/process/launch.h -+++ b/base/process/launch.h -@@ -100,6 +100,9 @@ struct BASE_EXPORT LaunchOptions { - #if defined(OS_LINUX) - // If non-zero, start the process using clone(), using flags as provided. - int clone_flags; -+ -+ // If true, start the process in a new user namespace. -+ bool new_user_namespace; - #endif // defined(OS_LINUX) - - #if defined(OS_CHROMEOS) -diff --git a/base/process/launch_posix.cc b/base/process/launch_posix.cc -index de6286d..9333494 100644 ---- a/base/process/launch_posix.cc -+++ b/base/process/launch_posix.cc -@@ -37,6 +37,13 @@ - #include "base/threading/platform_thread.h" - #include "base/threading/thread_restrictions.h" - -+#if defined(OS_LINUX) -+#include <sched.h> -+#if !defined(CLONE_NEWUSER) -+#define CLONE_NEWUSER 0x10000000 -+#endif -+#endif -+ - #if defined(OS_CHROMEOS) - #include <sys/ioctl.h> - #endif -@@ -294,13 +301,23 @@ bool LaunchProcess(const std::vector<std::string>& argv, - - pid_t pid; - #if defined(OS_LINUX) -- if (options.clone_flags) { -+ int map_pipe_fd[2]; -+ int flags = options.clone_flags; -+ -+ if (options.new_user_namespace) { -+ flags |= CLONE_NEWUSER; -+ if (pipe(map_pipe_fd) < 0) { -+ DPLOG(ERROR) << "user namespace pipe"; -+ return false; -+ } -+ } -+ -+ if (options.clone_flags || options.new_user_namespace) { - // Signal handling in this function assumes the creation of a new - // process, so we check that a thread is not being created by mistake - // and that signal handling follows the process-creation rules. -- RAW_CHECK( -- !(options.clone_flags & (CLONE_SIGHAND | CLONE_THREAD | CLONE_VM))); -- pid = syscall(__NR_clone, options.clone_flags, 0, 0, 0); -+ RAW_CHECK(!(flags & (CLONE_SIGHAND | CLONE_THREAD | CLONE_VM))); -+ pid = syscall(__NR_clone, flags, 0, 0, 0); - } else - #endif - { -@@ -318,6 +335,21 @@ bool LaunchProcess(const std::vector<std::string>& argv, - } else if (pid == 0) { - // Child process - -+#if defined(OS_LINUX) -+ if (options.new_user_namespace) { -+ // Close the write end of the pipe so we get an EOF when the parent closes -+ // the FD. This is to avoid race conditions when the UID/GID mappings are -+ // written _after_ execvp(). -+ close(map_pipe_fd[1]); -+ -+ char dummy; -+ if (HANDLE_EINTR(read(map_pipe_fd[0], &dummy, 1)) != 0) { -+ RAW_LOG(ERROR, "Unexpected input in uid/gid mapping pipe."); -+ _exit(127); -+ } -+ } -+#endif -+ - // DANGER: fork() rule: in the child, if you don't end up doing exec*(), - // you call _exit() instead of exit(). This is because _exit() does not - // call any previously-registered (in the parent) exit handlers, which -@@ -433,6 +465,40 @@ bool LaunchProcess(const std::vector<std::string>& argv, - _exit(127); - } else { - // Parent process -+#if defined(OS_LINUX) -+ if (options.new_user_namespace) { -+ // We need to write UID/GID mapping here to map the current user outside -+ // the namespace to the root user inside the namespace in order to -+ // correctly "fool" the child process. -+ char buf[256]; -+ int map_fd, map_len; -+ -+ snprintf(buf, sizeof(buf), "/proc/%d/uid_map", pid); -+ map_fd = open(buf, O_RDWR); -+ DPCHECK(map_fd >= 0); -+ snprintf(buf, sizeof(buf), "0 %d 1", geteuid()); -+ map_len = strlen(buf); -+ if (write(map_fd, buf, map_len) != map_len) { -+ RAW_LOG(WARNING, "Can't write to uid_map."); -+ } -+ close(map_fd); -+ -+ snprintf(buf, sizeof(buf), "/proc/%d/gid_map", pid); -+ map_fd = open(buf, O_RDWR); -+ DPCHECK(map_fd >= 0); -+ snprintf(buf, sizeof(buf), "0 %d 1", getegid()); -+ map_len = strlen(buf); -+ if (write(map_fd, buf, map_len) != map_len) { -+ RAW_LOG(WARNING, "Can't write to gid_map."); -+ } -+ close(map_fd); -+ -+ // Close the pipe on the parent, so the child can continue doing the -+ // execvp() call. -+ close(map_pipe_fd[1]); -+ } -+#endif -+ - if (options.wait) { - // While this isn't strictly disk IO, waiting for another process to - // finish is the sort of thing ThreadRestrictions is trying to prevent. -diff --git a/content/browser/zygote_host/zygote_host_impl_linux.cc b/content/browser/zygote_host/zygote_host_impl_linux.cc -index fea43b5..95cbe07 100644 ---- a/content/browser/zygote_host/zygote_host_impl_linux.cc -+++ b/content/browser/zygote_host/zygote_host_impl_linux.cc -@@ -121,25 +121,31 @@ void ZygoteHostImpl::Init(const std::string& sandbox_cmd) { - - sandbox_binary_ = sandbox_cmd.c_str(); - -- // A non empty sandbox_cmd means we want a SUID sandbox. -- using_suid_sandbox_ = !sandbox_cmd.empty(); -+ bool userns_sandbox = false; -+ const std::vector<std::string> cmd_line_unwrapped(cmd_line.argv()); - -- if (using_suid_sandbox_) { -+ if (!sandbox_cmd.empty()) { - struct stat st; - if (stat(sandbox_binary_.c_str(), &st) != 0) { - LOG(FATAL) << "The SUID sandbox helper binary is missing: " - << sandbox_binary_ << " Aborting now."; - } - -- if (access(sandbox_binary_.c_str(), X_OK) == 0 && -- (st.st_uid == 0) && -- (st.st_mode & S_ISUID) && -- (st.st_mode & S_IXOTH)) { -+ if (access(sandbox_binary_.c_str(), X_OK) == 0) { -+ using_suid_sandbox_ = true; -+ - cmd_line.PrependWrapper(sandbox_binary_); - - scoped_ptr<sandbox::SetuidSandboxClient> - sandbox_client(sandbox::SetuidSandboxClient::Create()); - sandbox_client->SetupLaunchEnvironment(); -+ -+ if (!((st.st_uid == 0) && -+ (st.st_mode & S_ISUID) && -+ (st.st_mode & S_IXOTH))) { -+ userns_sandbox = true; -+ sandbox_client->SetNoSuid(); -+ } - } else { - LOG(FATAL) << "The SUID sandbox helper binary was found, but is not " - "configured correctly. Rather than run without sandboxing " -@@ -163,7 +169,19 @@ void ZygoteHostImpl::Init(const std::string& sandbox_cmd) { - base::ProcessHandle process = -1; - base::LaunchOptions options; - options.fds_to_remap = &fds_to_map; -+ if (userns_sandbox) -+ options.new_user_namespace = true; - base::LaunchProcess(cmd_line.argv(), options, &process); -+ -+ if (process == -1 && userns_sandbox) { -+ LOG(ERROR) << "User namespace sandbox failed to start, running without " -+ << "sandbox! You need at least kernel 3.8.0 with CONFIG_USER_NS " -+ << "enabled in order to use the sandbox without setuid bit."; -+ using_suid_sandbox_ = false; -+ options.new_user_namespace = false; -+ base::LaunchProcess(cmd_line_unwrapped, options, &process); -+ } -+ - CHECK(process != -1) << "Failed to launch zygote process"; - - if (using_suid_sandbox_) { -diff --git a/content/zygote/zygote_main_linux.cc b/content/zygote/zygote_main_linux.cc -index 567b305..1089233 100644 ---- a/content/zygote/zygote_main_linux.cc -+++ b/content/zygote/zygote_main_linux.cc -@@ -426,6 +426,13 @@ static bool EnterSuidSandbox(LinuxSandbox* linux_sandbox, - *has_started_new_init = true; - } - -+ // Don't set non-dumpable, as it causes trouble when the host tries to find -+ // the zygote process (XXX: Not quite sure why this happens with user -+ // namespaces). Fortunately, we also have the seccomp filter sandbox which -+ // should disallow the use of ptrace. -+ if (setuid_sandbox->IsNoSuid()) -+ return true; -+ - #if !defined(OS_OPENBSD) - // Previously, we required that the binary be non-readable. This causes the - // kernel to mark the process as non-dumpable at startup. The thinking was -diff --git a/sandbox/linux/suid/client/setuid_sandbox_client.cc b/sandbox/linux/suid/client/setuid_sandbox_client.cc -index 34231d4..36e3201 100644 ---- a/sandbox/linux/suid/client/setuid_sandbox_client.cc -+++ b/sandbox/linux/suid/client/setuid_sandbox_client.cc -@@ -166,6 +166,10 @@ bool SetuidSandboxClient::IsInNewNETNamespace() const { - return env_->HasVar(kSandboxNETNSEnvironmentVarName); - } - -+bool SetuidSandboxClient::IsNoSuid() const { -+ return env_->HasVar(kSandboxNoSuidVarName); -+} -+ - bool SetuidSandboxClient::IsSandboxed() const { - return sandboxed_; - } -@@ -175,5 +179,9 @@ void SetuidSandboxClient::SetupLaunchEnvironment() { - SetSandboxAPIEnvironmentVariable(env_); - } - -+void SetuidSandboxClient::SetNoSuid() { -+ env_->SetVar(kSandboxNoSuidVarName, "1"); -+} -+ - } // namespace sandbox - -diff --git a/sandbox/linux/suid/client/setuid_sandbox_client.h b/sandbox/linux/suid/client/setuid_sandbox_client.h -index a9f6536..2e8113a 100644 ---- a/sandbox/linux/suid/client/setuid_sandbox_client.h -+++ b/sandbox/linux/suid/client/setuid_sandbox_client.h -@@ -39,6 +39,8 @@ class SetuidSandboxClient { - bool IsInNewPIDNamespace() const; - // Did the setuid helper create a new network namespace ? - bool IsInNewNETNamespace() const; -+ // Is sandboxed without SUID binary ? -+ bool IsNoSuid() const; - // Are we done and fully sandboxed ? - bool IsSandboxed() const; - -@@ -46,6 +48,8 @@ class SetuidSandboxClient { - // helper. - void SetupLaunchEnvironment(); - -+ void SetNoSuid(); -+ - private: - // Holds the environment. Will never be NULL. - base::Environment* env_; -diff --git a/sandbox/linux/suid/common/sandbox.h b/sandbox/linux/suid/common/sandbox.h -index aad4ff8..bd710d5 100644 ---- a/sandbox/linux/suid/common/sandbox.h -+++ b/sandbox/linux/suid/common/sandbox.h -@@ -18,6 +18,7 @@ static const char kAdjustLowMemMarginSwitch[] = "--adjust-low-mem"; - - static const char kSandboxDescriptorEnvironmentVarName[] = "SBX_D"; - static const char kSandboxHelperPidEnvironmentVarName[] = "SBX_HELPER_PID"; -+static const char kSandboxNoSuidVarName[] = "SBX_NO_SUID"; - - static const long kSUIDSandboxApiNumber = 1; - static const char kSandboxEnvironmentApiRequest[] = "SBX_CHROME_API_RQ"; diff --git a/pkgs/applications/networking/browsers/chromium/source/sources.nix b/pkgs/applications/networking/browsers/chromium/source/sources.nix index 965328d43a4..294577aa559 100644 --- a/pkgs/applications/networking/browsers/chromium/source/sources.nix +++ b/pkgs/applications/networking/browsers/chromium/source/sources.nix @@ -1,21 +1,21 @@ # This file is autogenerated from update.sh in the parent directory. { dev = { - version = "37.0.2054.3"; - sha256 = "1sly1fb9wh10m36crikahn7wgsq7j090jaga4l8zk4kihzprcnj2"; - sha256bin32 = "0242ypzgzskkmsw3iyirxzlm1gbng94lv723ffcr018grq9yg4gs"; - sha256bin64 = "17kzb7k0vn96wa6a4xfx05885li1qjg8bp6y3ngs2i0wws9ypfd9"; + version = "38.0.2101.0"; + sha256 = "01lmnw6kf7qahifybpcf7275ilbsdz1mg10lckh9jhbqk4mxy4c4"; + sha256bin32 = "06grj03bvkgfmr5gfhv5gqn9vrz0r37svp5wr0l7d2iav7vk7g9g"; + sha256bin64 = "0d856xkjpx1pcwrkfqa40kwy3s1nvc2qksvrvvdfb84fg3gc4j42"; }; beta = { - version = "36.0.1985.84"; - sha256 = "02hhqx5m4hxmnf8l3a2ah9k39bpz35sll6gv89vz27vdgb6mza0j"; - sha256bin32 = "1jjxzknyiw6d5p0bcb7c9d0siffg55wmm34lq1phz1jlqq6hz6zy"; - sha256bin64 = "1jr9a386arfmd8rskns9bmlczzr3xzcw9ykv7xf23iz86qqp723r"; + version = "37.0.2062.44"; + sha256 = "0pvwdrwygn236bg8wdambwkw9iglq0a3lm8sr7k3q02ng5v0l111"; + sha256bin32 = "1j326kgng245b1lf5dlg0ipwbrm7miiz5byhisqls30v1q3njka9"; + sha256bin64 = "1w86salg04z42c518v6nn40003zhabk33plrz5zh9nfjdxn6nxig"; }; stable = { - version = "35.0.1916.153"; - sha256 = "03p7wmlvbrgd8m94344z4azkhrffwrr5c76dm8c4jcxs0x1yn318"; - sha256bin32 = "0xm34xwdai8ns6bkq5dshh4izls70rwgvya23md4vxq6iv78sykn"; - sha256bin64 = "1x2cm1i8v8d69856b42anms33clv63adzpqy58in6i9vba13swif"; + version = "36.0.1985.125"; + sha256 = "08shkm89qzzdlrjg0rg5qiszbk6ziginsicyxqyk353y76jx10hp"; + sha256bin32 = "1ahazz56k127xncgl1lzwsmydbh0vcxq0hzrb9cm9zzdkzqjzg03"; + sha256bin64 = "0qx5316cd8l9g8w389aqi5m3csmr5s8hs7sivlk02mbs0jzi8ppc"; }; } diff --git a/pkgs/applications/networking/browsers/elinks/default.nix b/pkgs/applications/networking/browsers/elinks/default.nix index 61db2656a40..0e4fd4db1ba 100644 --- a/pkgs/applications/networking/browsers/elinks/default.nix +++ b/pkgs/applications/networking/browsers/elinks/default.nix @@ -43,6 +43,6 @@ stdenv.mkDerivation rec { meta = { description = "Full-featured text-mode web browser"; homepage = http://elinks.or.cz; - license = "GPLv2"; + license = stdenv.lib.licenses.gpl2; }; } diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix index b8e3124f185..969ced923b3 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/default.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix @@ -38,184 +38,186 @@ }: let - version = "30.0"; + version = "31.0"; sources = [ - { locale = "ach"; arch = "linux-i686"; sha256 = "44d2fc9d491b6c001e35cff6e5f1c38c8561d24f8fe2dfb4d79365bcabe965ea"; } - { locale = "ach"; arch = "linux-x86_64"; sha256 = "e9fb52a3b82a1434b7fa3bae606749819672c96ce8678c51f1fdbc68520e26bf"; } - { locale = "af"; arch = "linux-i686"; sha256 = "bfce74c891ea370ce4e0fe43d578c3c0050d2655fff7372806ed6be338b2c438"; } - { locale = "af"; arch = "linux-x86_64"; sha256 = "18408a9c3f3b8c4d9f8cfe067ac23ddcdd3d3a7a22892ba8d74de5679a064db6"; } - { locale = "an"; arch = "linux-i686"; sha256 = "601efbf7944408ba1ac35831eaa92c4910cd904bfadc32895ff8d756c70ae934"; } - { locale = "an"; arch = "linux-x86_64"; sha256 = "0ba4c272ebac9ecafe5dbfb7fbba1cd2790d126f5b1756ab9a323c94b644df0b"; } - { locale = "ar"; arch = "linux-i686"; sha256 = "23ea3168aea75b044fa217b78b01a2dc8c9dd92171d726c4a78c23cffc474469"; } - { locale = "ar"; arch = "linux-x86_64"; sha256 = "dae2c1634e17b8c3e276e4c758c4d4c3b1b0d6006adac8e420c13b6f09a6cf53"; } - { locale = "as"; arch = "linux-i686"; sha256 = "7d36bd4589556374822f2ab5dd102d557257b5e0b529d1c963f96e9ab6a08850"; } - { locale = "as"; arch = "linux-x86_64"; sha256 = "c13ccf3546bafcfeb41c33762e41af249306d4bcfd3ad7fc957db481372be0dc"; } - { locale = "ast"; arch = "linux-i686"; sha256 = "853310674d7011956d760883af15b8e343250f8fc3acb3067e0f5a3d978c06ff"; } - { locale = "ast"; arch = "linux-x86_64"; sha256 = "2b938081e8672ed5ae16c40c6300e585a26f54da278726f48b98f3ca3e065662"; } - { locale = "be"; arch = "linux-i686"; sha256 = "b9acce210f2adf188ba9a3d92774a846a263baa5e076bb9452b89ca5609d6ac8"; } - { locale = "be"; arch = "linux-x86_64"; sha256 = "dd2a33ee1ed8c848454b6e64a0c1527f193d070e4d867c4f13fa84f39c9bfecd"; } - { locale = "bg"; arch = "linux-i686"; sha256 = "ee060cd395ef28bbad4be74aa42e2a51e7ad866183d139bffbcc7634dc94d738"; } - { locale = "bg"; arch = "linux-x86_64"; sha256 = "11a5dd807083da8c3132d9d6518dc674642418eff1fccf68e451ac67b90f141a"; } - { locale = "bn-BD"; arch = "linux-i686"; sha256 = "339d286f7f8f469bb6f9f85a8b21a745ecc42717dc91c21c7db88822e9be661a"; } - { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "fc3f06743a84a7684e43cd4efedb02a126dd119f6141da49c6120f1bbcdf9392"; } - { locale = "bn-IN"; arch = "linux-i686"; sha256 = "c585982368f258a8a728f782c37428311f0b6a6512231c077a439dd93645c3a2"; } - { locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "00b9af4425050ec42b4a45a3c4a16700edcc66297331b601950fb81421ef8eb4"; } - { locale = "br"; arch = "linux-i686"; sha256 = "b86d944592f16f5f0e558106e3464248e3d686f45527a40fb64aaa79d9f73422"; } - { locale = "br"; arch = "linux-x86_64"; sha256 = "b894c12508f0b0a892154ea61fb2bb01947929041a63518f7c405ed976cc4d3f"; } - { locale = "bs"; arch = "linux-i686"; sha256 = "f7da0fead608f63c4a5be92fed9e0109fbe7288948d15dde05e10bba80b47743"; } - { locale = "bs"; arch = "linux-x86_64"; sha256 = "1cb090f9b16bcae95055377bc14a531697c480ad50e3a098dbd572770924d558"; } - { locale = "ca"; arch = "linux-i686"; sha256 = "0b36330715f8909e1515c535a06f4e3fdd7660de11b3424b4ce88f336561935f"; } - { locale = "ca"; arch = "linux-x86_64"; sha256 = "c6e9e545d09e589fd5fbfd2c6482a5ef366c470e294823b3ba05c5e728bca2c2"; } - { locale = "cs"; arch = "linux-i686"; sha256 = "ff1ca239be0e99b923c63c5bbc425dd2989bc40dbdc82dd731d7173fd539406a"; } - { locale = "cs"; arch = "linux-x86_64"; sha256 = "fe8472d6a4bf9fcda3caef51449fc3e20e1fbadbb772b330a012ffa7219afae3"; } - { locale = "csb"; arch = "linux-i686"; sha256 = "db1b7dbc7b0cd564a04b3a37827e8d77277cd7ba6a59403c45115d34e637f463"; } - { locale = "csb"; arch = "linux-x86_64"; sha256 = "023dd75e02f41a2ce9991fb40a8a46767f1a10da876a390035a084c5b97bd9d2"; } - { locale = "cy"; arch = "linux-i686"; sha256 = "9a6ac60099b03bdeb71c1a7739dafeff4b1682ffc43997191196e1f590421afa"; } - { locale = "cy"; arch = "linux-x86_64"; sha256 = "a5f2030fb08c0dd6dff95310209ed7c6ee613680dd500f00e30e26c547f9c249"; } - { locale = "da"; arch = "linux-i686"; sha256 = "99a893ac19b0ca28177c8957d7296e6deef9ddb36a6b5b17823cb1e6fc9ec683"; } - { locale = "da"; arch = "linux-x86_64"; sha256 = "69f29e795f203fe47e22daf1259c2ecfb39c362babefbbccb31405f4632f236b"; } - { locale = "de"; arch = "linux-i686"; sha256 = "925aac0800ce63a88fadc945da40b00ed6dde327637821518a372d7affb6e450"; } - { locale = "de"; arch = "linux-x86_64"; sha256 = "d86c5d2102a95ff5a6e580a1ca7af25c2f470211182ef70e988b29b195be6dd4"; } - { locale = "el"; arch = "linux-i686"; sha256 = "af07fac82dea32d33bd6bc440e2a645eb160d196cf0d4883b878d3d2c584f81a"; } - { locale = "el"; arch = "linux-x86_64"; sha256 = "fcc96c25422837f19f9ff6cde02c81c4a5a3b7c8e6809b90c8761519571db1f6"; } - { locale = "en-GB"; arch = "linux-i686"; sha256 = "758f7bb669743d6067e416c26f43806b16ddd16511a6818373e70960cbbd7151"; } - { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "d46ba3d642bf43fca46dfb29efb5d08a15f114eb9facc868e86c31f7c9c98014"; } - { locale = "en-US"; arch = "linux-i686"; sha256 = "4bca44a1ba94bf5616f7ea650e37cd3e5a719546def9e4a08ee88aedbc3a4db6"; } - { locale = "en-US"; arch = "linux-x86_64"; sha256 = "3303cc600153d0198dace9826b6883aa510d4e380aa985b092b1da67ad865625"; } - { locale = "en-ZA"; arch = "linux-i686"; sha256 = "13736870573863aab644bf2be2219fe4b5c6bde4bd79b84f22e12d39e7cda6e0"; } - { locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "7e88fa9f355f6787d38e75d86d5b592a1a2cec208255f276887f53a12beb9e97"; } - { locale = "eo"; arch = "linux-i686"; sha256 = "ae4446e223c0169dd0b56db58760fdb323a2bec8135e45c79d385d895b64cee8"; } - { locale = "eo"; arch = "linux-x86_64"; sha256 = "202f61dd8e5506594ae70bbee9150d86c8037887f8345871dc5c1c9e498b1d66"; } - { locale = "es-AR"; arch = "linux-i686"; sha256 = "8fb276ed26fd46fceb029fbade706cb6e55d2958f03400ec1290784c533888c4"; } - { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "78130525d30d7c592bb63d7cedf3ab5db804d457c4d127d90b93d94501ad7b3c"; } - { locale = "es-CL"; arch = "linux-i686"; sha256 = "ef6bf393a681f4a08031eeda61bba3614ebfab222fed43f9f8b21cfa8eb3862e"; } - { locale = "es-CL"; arch = "linux-x86_64"; sha256 = "e56224bca0ebfab9eedecafafd792e48cb67e3f8741c4d5a94c8f74f634cecf6"; } - { locale = "es-ES"; arch = "linux-i686"; sha256 = "9e007e6aa0f8aa3d1fac5dc13e98f81c23e6ff1e574545c021f8f7feeff86ce2"; } - { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "d4ff94f46fd086300992a30a1c4a8aa97ad7164d6cd26e82b20b5d0680b38169"; } - { locale = "es-MX"; arch = "linux-i686"; sha256 = "9db42a0557838b23ac4937adfec407804e624e679e9ffd6da739d17cdfbaab78"; } - { locale = "es-MX"; arch = "linux-x86_64"; sha256 = "d42d619d6da78d0bbcb32b0a93a2eaa623eadb3a5af43e5b8b14400e6e969779"; } - { locale = "et"; arch = "linux-i686"; sha256 = "5947822f3f02bd4ba530ad978de1a9d237981e3abdf1598e44095c650794d1ff"; } - { locale = "et"; arch = "linux-x86_64"; sha256 = "7521a4db287bb928f50b64817f3631e96ea4cead81b1a84ab7c3b930b3450e86"; } - { locale = "eu"; arch = "linux-i686"; sha256 = "44095e98e74205fa012a2c0c636de3fe9cfb79d5729abf15214c1e7734946014"; } - { locale = "eu"; arch = "linux-x86_64"; sha256 = "2032dfbc82a9aca1a2f4cf67e6089400bf305d13906f048c5c9b906a7201a9fb"; } - { locale = "fa"; arch = "linux-i686"; sha256 = "469b8008287c93e152e762e82fb61644384c1e2631a6c45033503652daed09b1"; } - { locale = "fa"; arch = "linux-x86_64"; sha256 = "61ea0d8941d22083f918d014d56a613788d1f4f549e5a62d50a1f9071439a36f"; } - { locale = "ff"; arch = "linux-i686"; sha256 = "81a0083e5e4136e3ab3e6db0e2adcedfae7572722655a9cb8b9ca388c6057342"; } - { locale = "ff"; arch = "linux-x86_64"; sha256 = "0efe16da918288754a3af816d72448a73690eb71b110cf3ff0586ee7505b9735"; } - { locale = "fi"; arch = "linux-i686"; sha256 = "a0ee069e7c3100b921aab7c54c5d32741df4e058f52cb7f42acb2643bd534b30"; } - { locale = "fi"; arch = "linux-x86_64"; sha256 = "55c84d504603d648e7d72a2fb8badb0bc9148cb376bb0cc6054f091867cb2613"; } - { locale = "fr"; arch = "linux-i686"; sha256 = "9c9abea13db23ef5ef8c9a3ccb5a0702b44a8db2402f43f01a478eb61e7ddf34"; } - { locale = "fr"; arch = "linux-x86_64"; sha256 = "ce26fc67cbc2031880ffa3529a59ca4122016258ab1c023e23247c26308b6a3e"; } - { locale = "fy-NL"; arch = "linux-i686"; sha256 = "4a734880ed65a207d98630647a341644df4f68149c50ce5e683bb21b5c27f2c6"; } - { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "bace955c686456d7894ca7bc1cf854eb158d6183050318efc73768e232c9a413"; } - { locale = "ga-IE"; arch = "linux-i686"; sha256 = "4801f40ebd820b8f229cfcd04a04351fcee9f78268af1c9863089ef6c64d736a"; } - { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "c417c0182e6f706473bc4b7cf8c14aec96f96e21c17b8593b71ff38c97f7e9d2"; } - { locale = "gd"; arch = "linux-i686"; sha256 = "15a9d316d472d2918eff0c6f02600e40a8f62d7ef53ab14c57537fdda0b5257a"; } - { locale = "gd"; arch = "linux-x86_64"; sha256 = "8fcdcf093148222865a905586774dae5d805ef22c01afadeaabe3f0c7b315dba"; } - { locale = "gl"; arch = "linux-i686"; sha256 = "83b0ccfe7cf7166899d17b2c9b1ea8effda9cf02024698f8db8f943a388bb3dc"; } - { locale = "gl"; arch = "linux-x86_64"; sha256 = "550026595e6e59405b5869183af056ba5a60a303270f1a176ef25e3db1c70289"; } - { locale = "gu-IN"; arch = "linux-i686"; sha256 = "7e7dc86fa805808931ba57455b99c9273a4b0aa60998affce3c4b06f0ae7fc70"; } - { locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "e0f35d7fe7875785e3749131cf86c5cbea5cbd7b3abd2c2c69f5f8376d3e53d7"; } - { locale = "he"; arch = "linux-i686"; sha256 = "5c200c8da3209c2120a8576c30ab609331b52807d0640daaa1a70f665c776969"; } - { locale = "he"; arch = "linux-x86_64"; sha256 = "6923a64d1ac5453453f148d38f116faca41be5b1d0a13d4f128bb73db67cb8e2"; } - { locale = "hi-IN"; arch = "linux-i686"; sha256 = "6a7e5d06169d6dd87e505012604c93a28440156a3f81e6fe24d567f9c2b2a919"; } - { locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "56801593b9dd5ecefed8d7eaf438879dd23006ffff9a31c543861259dedf8263"; } - { locale = "hr"; arch = "linux-i686"; sha256 = "4573cd0269639d122496bcaf842d8c741f4d54e8f57d0690b97d8e7e86ee7e74"; } - { locale = "hr"; arch = "linux-x86_64"; sha256 = "753984384829229601fbe55d0b6615f3432fdf9babe908fb642f6ac79c749727"; } - { locale = "hu"; arch = "linux-i686"; sha256 = "c330478e6e77eff117bce58e17661b83a30308f0a680f648fbf06d1c00f3883c"; } - { locale = "hu"; arch = "linux-x86_64"; sha256 = "9d118ba236aa7a9b517278c375aa4e4fa65f85c71b8bea9c41702f6ae7b815cb"; } - { locale = "hy-AM"; arch = "linux-i686"; sha256 = "48c1691073b6ede77f5c5d5ae07af7372f17b9f52fd92950c2cca0a01b3b340e"; } - { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "beda26cefeeeeee59ea52fdd28e1e3025ca4cc3124541fc6825100a61eb398d8"; } - { locale = "id"; arch = "linux-i686"; sha256 = "8cf6d0bc2d4bcc68a5ddc935c3bd6ed19a63284dc3227e849be729645a6171d4"; } - { locale = "id"; arch = "linux-x86_64"; sha256 = "8be5900b83840871ffb6faba08fea9b35f9f396cae08b228c68e333719fb819f"; } - { locale = "is"; arch = "linux-i686"; sha256 = "7c167389105063b84d507b09c689fa18bf854fd695010c8273b9711b21a24034"; } - { locale = "is"; arch = "linux-x86_64"; sha256 = "c79321c83c9e654f6eaf96ddf5d24f279d517fbf35dfdf923acf026124919598"; } - { locale = "it"; arch = "linux-i686"; sha256 = "a3eb17e0eda3cbf8ffbbd1ecd1716929ac87a801f060dd8ed5291298667775a9"; } - { locale = "it"; arch = "linux-x86_64"; sha256 = "3742453f0748911b393fed804e5827f014cc595a9df4516438dfa163d5050411"; } - { locale = "ja"; arch = "linux-i686"; sha256 = "fa030c64e04766ae5200370586c08b2f25627343586cd8a0486e583f345c466e"; } - { locale = "ja"; arch = "linux-x86_64"; sha256 = "fddeae03ffdfef0f6cc999807e001ea931c15b1833da48655bcb5845f1e017a3"; } - { locale = "kk"; arch = "linux-i686"; sha256 = "39d94b10fa751faf7423e5d43cd07ef4485ff26e21e47d106d2268058e2f33d9"; } - { locale = "kk"; arch = "linux-x86_64"; sha256 = "1dc7138dd5c08088479c5e7e8054d7ed640504860a0043ecea2c8b0c9c1892f9"; } - { locale = "km"; arch = "linux-i686"; sha256 = "0d12a305de4a63fc6c6394bd4044f44ca3626cbc41ca9ef1adad6d5041f6f1fd"; } - { locale = "km"; arch = "linux-x86_64"; sha256 = "7710091695dd100b7f33585fce58c54fec462a96540a7d791f1935088f21fadf"; } - { locale = "kn"; arch = "linux-i686"; sha256 = "b039e6a1114522ccae10b89ab794a222966fbf0914513b3c14f05c082a78b922"; } - { locale = "kn"; arch = "linux-x86_64"; sha256 = "cf82965b25d3990a57d861d688f1bd69e5b069fe281937274060ebe36ddbb8a6"; } - { locale = "ko"; arch = "linux-i686"; sha256 = "8b9378d39d7b42852c2bb537b0e85312760c343e6485826ed949ab4617293025"; } - { locale = "ko"; arch = "linux-x86_64"; sha256 = "4b946a0cbedad2b8d0c3598c04eeb058cea05d6d7e6388e4cfa3146a40f7c449"; } - { locale = "ku"; arch = "linux-i686"; sha256 = "11950c4a54c6a165e924fb6e68bcc46d63b5fddfcd2561c58a0ce401c0146d36"; } - { locale = "ku"; arch = "linux-x86_64"; sha256 = "37a07a4e059580c31433b419bcd61d928ad1db7e607cf8443378472d54b61b78"; } - { locale = "lij"; arch = "linux-i686"; sha256 = "c0efca49f31800a3773b0d05add56b195d1cbea287108803bb1ef5249a0dc94f"; } - { locale = "lij"; arch = "linux-x86_64"; sha256 = "6e4b2d8c5e9942bc469f722110ba310b2ccdc4dda6e3baee93ae54012ae658a2"; } - { locale = "lt"; arch = "linux-i686"; sha256 = "acde9010aa815f6645868b03f3d68d9a24c450ed830f063e2846ac1219ee628b"; } - { locale = "lt"; arch = "linux-x86_64"; sha256 = "c2491cd3e5d11c302d7ec3191d646e2073c46f69966fc382901a93d16fb0c902"; } - { locale = "lv"; arch = "linux-i686"; sha256 = "7411de62c4d8c01c8bb15b3f2dfc2e2ed17755e2f9856ead8e5e0fd05971ffd5"; } - { locale = "lv"; arch = "linux-x86_64"; sha256 = "e8e57e629396eb180e0041a50ae98ecb2292f514d423423748e4d4cebc54fb59"; } - { locale = "mai"; arch = "linux-i686"; sha256 = "26a053e48f4e6f04e4856a0dcb26e577a6ddb99afc883786d9c260d57e5e4a6d"; } - { locale = "mai"; arch = "linux-x86_64"; sha256 = "86be2c736aa5ccf926d44f24afdb2d40c28444b5bd6cf090f9a847199b38b492"; } - { locale = "mk"; arch = "linux-i686"; sha256 = "dcf7759bcde70158298ad9e2434e37d4e8240e00589a83dd8dbba53c35466a58"; } - { locale = "mk"; arch = "linux-x86_64"; sha256 = "056297d6404794a8da78aeceb620b0ebbcb38a693ee1079cc02e4d0411e40ec3"; } - { locale = "ml"; arch = "linux-i686"; sha256 = "2d632b3a5b60f18955906adca80b7ac7af3bfa39d03afd308efd1136cfc8971d"; } - { locale = "ml"; arch = "linux-x86_64"; sha256 = "b54a9d47cadeae4f92d22a362ca887a18a16ef64500149ac8eb9355dbbe5971b"; } - { locale = "mr"; arch = "linux-i686"; sha256 = "e66b22488bf2c772fa6d29cf43f3e9c1aa2a1a867620a1144af8cb92c2647651"; } - { locale = "mr"; arch = "linux-x86_64"; sha256 = "da982205e9b659dd66ab05ca815324642bed2117e668e67ad620bb2d87c5d1c8"; } - { locale = "ms"; arch = "linux-i686"; sha256 = "ad39ffa6d6d765c1e983d885f5d139a28e481d536068d517b4807137fa8d3036"; } - { locale = "ms"; arch = "linux-x86_64"; sha256 = "fb1b6ed5e2e7247beb69f3d0ad937f76ce7c1107ccdad742ff5085d4b3a8da98"; } - { locale = "nb-NO"; arch = "linux-i686"; sha256 = "5220da4627863f9fa1c11886e9c19c315547afafa96c98b22a1a4359c75f1056"; } - { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "5f9d60faadc7b76b010cd9cf35922b1881377b535e8afc5d9b974651156df866"; } - { locale = "nl"; arch = "linux-i686"; sha256 = "357b28841ea861b8297a4986460d1d265b27202c37bb296dcc69224f9b07fc51"; } - { locale = "nl"; arch = "linux-x86_64"; sha256 = "9a8505da2fe045ab6c2a2277d2d043374a26f106a5966b00f42e22fb26cf929a"; } - { locale = "nn-NO"; arch = "linux-i686"; sha256 = "f115bb50d1e052584caf7363db875ae222ee37449fa151e2f313c157a6274d76"; } - { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "2e7829a8a20c946bddce13b7b3d1b3600f90d90d2438f3eb69188d47203b264d"; } - { locale = "or"; arch = "linux-i686"; sha256 = "9ad48bdf2b7f1deedb05bdcc49740d5075ebf6ec228d82a7ed455c6bb36d7cb0"; } - { locale = "or"; arch = "linux-x86_64"; sha256 = "a007bc73fb1ea7765016e9faebac2c4f5e0111a45b3d75d1e55f4de8931796a2"; } - { locale = "pa-IN"; arch = "linux-i686"; sha256 = "8a38d2b1516ed4b58e36d266cd25a5bd10548f9e412076c9b4f1f27256c98c2a"; } - { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "664fa562261532d0f6bad10b84e15d47b69073768c2d12986c8d776eb1af8ddd"; } - { locale = "pl"; arch = "linux-i686"; sha256 = "3bb8963f1e3dcdb22cc55feebb2583fefd6f3760f4e6f2cc754174079d4ca07f"; } - { locale = "pl"; arch = "linux-x86_64"; sha256 = "710f1d86d2974d6ad3c63ebc0873518fd59f218ba07b27d06fb75c83af2c632e"; } - { locale = "pt-BR"; arch = "linux-i686"; sha256 = "cd2fafbd2291bad8481c4086db3c2973a7869b28a5e68a5ff199079814c6b3fc"; } - { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "f0ba5dc2366757841afb9c9f7799c40667304c36efe7da284202e8e7a45aa1fc"; } - { locale = "pt-PT"; arch = "linux-i686"; sha256 = "051af14810ad0cee4487757833f1f5b4a6f6f903f3cecf00d00410c1324d9ce4"; } - { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "82102b33dc1989bc3aa49da3915baf7e4012afe6e4bd7f80a301dfe847f3dbbe"; } - { locale = "rm"; arch = "linux-i686"; sha256 = "02051668e46d98f4e2e5becc3192f6173dfdf3a48cc82264c5821be06c5e12a0"; } - { locale = "rm"; arch = "linux-x86_64"; sha256 = "9600c1d272785b946058ffac9e57a8b1701d065f24fa940ad22e4b5aec2efad9"; } - { locale = "ro"; arch = "linux-i686"; sha256 = "7f17cbd3041396135eee08eac597c8c6a936e5a33d67d2b5de8ae157a56719ad"; } - { locale = "ro"; arch = "linux-x86_64"; sha256 = "ba1de85abe53a7d66f6311d6a202d91f86e871bace168cf60a759ab0e17eccdb"; } - { locale = "ru"; arch = "linux-i686"; sha256 = "9dcd0c2b5671fc5849b01f2932504a7217fca9a4b4eca8e9b6ff8f5a146517e2"; } - { locale = "ru"; arch = "linux-x86_64"; sha256 = "725214900968e4e648d3d13635bf72d34910eb31a30b83a3e7ba9c5c4085c2d7"; } - { locale = "si"; arch = "linux-i686"; sha256 = "d22ed75aa727351efcdba1cffe8e24ff305943c9a3072cac08b004677cf6a028"; } - { locale = "si"; arch = "linux-x86_64"; sha256 = "89d60c682413949a6dad4b7fd49cc4508c4e067fe5847c5f21d5e25a953f195f"; } - { locale = "sk"; arch = "linux-i686"; sha256 = "4ecbc58df00eaf4fafb1c33a93493bdd3e544562a67c60e2d4d93da90d369261"; } - { locale = "sk"; arch = "linux-x86_64"; sha256 = "75baa2c5153e282e2671d6222b7fc8c3b9cfc2b9ee0a595a4451fd314a928fb4"; } - { locale = "sl"; arch = "linux-i686"; sha256 = "53e2ae3525d0bd2005a86bf7ed3f27ca66906ddfceb85a738bd60e46ba2df773"; } - { locale = "sl"; arch = "linux-x86_64"; sha256 = "2dcc5592a49767dc3f2a7d40387bb550fd36724419ff567f9d107e32b2cf2d6d"; } - { locale = "son"; arch = "linux-i686"; sha256 = "d3b7372c59b21d0393768197517b3666ab78705b04a6e84a3345da031bad3776"; } - { locale = "son"; arch = "linux-x86_64"; sha256 = "fc017e7a18701880c7a54c23a0f77a6521aae17880dbc562e2b37167ba918fa0"; } - { locale = "sq"; arch = "linux-i686"; sha256 = "7f9c9100c559ebfbfff35adc694199079930f4bf9f1f6a820c0e17d80ea0e12b"; } - { locale = "sq"; arch = "linux-x86_64"; sha256 = "0f3fcddabab8263eb4c238942c45c0b5efc20c169948da24c56ed401a85209dc"; } - { locale = "sr"; arch = "linux-i686"; sha256 = "6281e2f849b3c530ff383cfd4cdc4ab06115362c3d57ba8133a9f799af08e815"; } - { locale = "sr"; arch = "linux-x86_64"; sha256 = "368ca83faa5ef3640f71d977916614369ebac1622681e828b75e9abf6ebeb425"; } - { locale = "sv-SE"; arch = "linux-i686"; sha256 = "9f77f497fc3e8c585bd546c0bb95c92f9f37d683e092c0762b3fe0022b6d39b5"; } - { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "0aa21764f0ca58591e3cfebba75196edd51a8fdbadb738f036994178c9612a67"; } - { locale = "ta"; arch = "linux-i686"; sha256 = "463ce70405d84945c201cca56c84171e097e6a0420d38cd453a0836fad82f09c"; } - { locale = "ta"; arch = "linux-x86_64"; sha256 = "db7e78bc1f4bcb573474806d19324eca58f42008fb0b0fa856f701f1430aeefd"; } - { locale = "te"; arch = "linux-i686"; sha256 = "18643daf675f8ef9785a0039d012c3a8ce96f4d228426651c5f09c292cbfb335"; } - { locale = "te"; arch = "linux-x86_64"; sha256 = "d9f8a260fc47b608fd523c61e9c6981776997f4b7fc247e794be32d177abfbc0"; } - { locale = "th"; arch = "linux-i686"; sha256 = "e03b80d55d2a545ab3219c5e88ed6b7d6974945e32321a2fc96039a6996638f6"; } - { locale = "th"; arch = "linux-x86_64"; sha256 = "0416fd2b7e7ddde59a101fcba8258622a83b739effb327984fa8405e634c2121"; } - { locale = "tr"; arch = "linux-i686"; sha256 = "75a49ce141c9a04254185b62af72c7e8c214e19e5257ff308b294aee6ac49a28"; } - { locale = "tr"; arch = "linux-x86_64"; sha256 = "0845a554b299b848d35894144d3ba5c7e0b808bcc9b2732e904463258ca73cb7"; } - { locale = "uk"; arch = "linux-i686"; sha256 = "a89f58c0f20a3ff7e609f572a4786f06b48886b7e2d303824417f42af49c8df2"; } - { locale = "uk"; arch = "linux-x86_64"; sha256 = "b45768588aaf80917c8ad40d62835cc96c3dadf97715234e66542b96eeb8db8e"; } - { locale = "vi"; arch = "linux-i686"; sha256 = "3fc35e59ecbbdf1b76b5b66e962a60eb724d9514d622879108725bcf7881fd1e"; } - { locale = "vi"; arch = "linux-x86_64"; sha256 = "88116edeeecbfe1ac03af0da26aff84bc3aa5ba00574e899ec08e0d68243f509"; } - { locale = "xh"; arch = "linux-i686"; sha256 = "a3afd3ac14049c72a9be28fb9a0849e4d3c5c2f13cb160c480988c4231679329"; } - { locale = "xh"; arch = "linux-x86_64"; sha256 = "569587e9cc4cd99899d2939367d56f2e4e9ae333b583064a648f05a8b0b58e2c"; } - { locale = "zh-CN"; arch = "linux-i686"; sha256 = "358e44998142e56356b839a51dff97fe85e6293424bd0c148decf61f01b6125b"; } - { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "7b5a84dbbe361a775aaadad8fd328e24f6cf2e336297f1d5906f51ff5d3dfae7"; } - { locale = "zh-TW"; arch = "linux-i686"; sha256 = "cf2cb9bed37dffe178a524ef5fe983e0e8b18f17c999e98474ae13e012da54da"; } - { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "aa0f1c5fb96dc4585e70fbcc291c6842be25e5d59be8bf39e8dc0232e9f1a76c"; } - { locale = "zu"; arch = "linux-i686"; sha256 = "775f6507ae8d6c2ef6e29e6b4d00453dcf9a0c9651eb9da482c78b5ebe64f2cd"; } - { locale = "zu"; arch = "linux-x86_64"; sha256 = "603510372a52497a8e41468dbc193afa25b0615f504f4548201deb89f27bd354"; } + { locale = "ach"; arch = "linux-i686"; sha256 = "8372c1227b75486e297fd914bac530a45b22b789e627638e010d4c25337f350f"; } + { locale = "ach"; arch = "linux-x86_64"; sha256 = "e01412aa570a462a3bb1ba851cd7133014b3299c0ad349c15534edc35c6d6397"; } + { locale = "af"; arch = "linux-i686"; sha256 = "e75bd2d41de60483ed1eadcf03d9cd57146210ff9fdfe04e984404ce4bca29f7"; } + { locale = "af"; arch = "linux-x86_64"; sha256 = "32697271215a0e63b7d0b25398d27772da5d53e88d020df24f170ebc341e5394"; } + { locale = "an"; arch = "linux-i686"; sha256 = "3a590702183a86283e4de415eefdeed6f95f1e5d48c64456c4d6db8f84dcfb68"; } + { locale = "an"; arch = "linux-x86_64"; sha256 = "98d35a6a2f0875a9723ed9511f3bea65f58da3196db3f75aaf7420d45bde33ad"; } + { locale = "ar"; arch = "linux-i686"; sha256 = "e632f104442b725cf8e0e25c9a924b166289e1fab601a70aee0a81394632423c"; } + { locale = "ar"; arch = "linux-x86_64"; sha256 = "603a054ceb36645881f52042e556572252e898bfa78cec04811e65f27b9db026"; } + { locale = "as"; arch = "linux-i686"; sha256 = "05e64b9113f450bfbfa1b99c9580dbb2442af35d6cc20dec0c7af379dd5d37db"; } + { locale = "as"; arch = "linux-x86_64"; sha256 = "85b57a101afd0c4aae040bb1f3523ddda3079d46ac8abe9cad826939fd274353"; } + { locale = "ast"; arch = "linux-i686"; sha256 = "5df5eb0db623b42d9a2c9be58807ec66f43a26dd1365d44202d4b0db50d6a6f0"; } + { locale = "ast"; arch = "linux-x86_64"; sha256 = "6faac3f3637bd68d6c20c73dd84c554afdaa136c4e142c26eb8142b7ab00895f"; } + { locale = "be"; arch = "linux-i686"; sha256 = "4a87051df26ddb3fd2cf7c2beabc2d403cbc4d2f2e7e0802fb11566722171b57"; } + { locale = "be"; arch = "linux-x86_64"; sha256 = "8194b851ed7f9559b78f63711df598ed094783eb2cc288fbd1e880d53118dde5"; } + { locale = "bg"; arch = "linux-i686"; sha256 = "f6f903529d3276d1aa55968d4978fe5977d45076db0ee99d87199d59a9441ad5"; } + { locale = "bg"; arch = "linux-x86_64"; sha256 = "bce34ee8ec314db0f7abfeddf491d15642dcedea125dc9bb7d7dda3915054940"; } + { locale = "bn-BD"; arch = "linux-i686"; sha256 = "9bd0e37ddf9a222263ca90308245e2078f45d754d8a2b0bc1e4dea13a5e7b581"; } + { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "debb3a9983e4219b6632cdfd09d04ab95314ba4e0bd7ff36fd89f0a748d25cdd"; } + { locale = "bn-IN"; arch = "linux-i686"; sha256 = "ea2c9d29f4a3dfe8e0f146979c47ccba835b81cb1f1ed6e95124a837918590fa"; } + { locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "b2bf8e36ac1ca1afeae463bf95a289db7cf2d2fa303083ab405497cca2993b57"; } + { locale = "br"; arch = "linux-i686"; sha256 = "b4b9d2828e5387a65d0f63b2149400626cd47fc81b97b912eda11b3fe31d4604"; } + { locale = "br"; arch = "linux-x86_64"; sha256 = "c3af78f1215ffc1e9b6c193ba87d17e2f08e1a24856ee68aabf95b3ee7804ea9"; } + { locale = "bs"; arch = "linux-i686"; sha256 = "7930f10d5d43e4504b9f347bcb2a2ef451be4418cee86c199b3e98c38587a20d"; } + { locale = "bs"; arch = "linux-x86_64"; sha256 = "ee31279d2acf7286c9a59c99e68fdd1692b96247585230df20ea2bea5ee30ba2"; } + { locale = "ca"; arch = "linux-i686"; sha256 = "f22f7964180ad27a122e56f070c6a2a0e3b044fe15ec5046b04db03877a3b7c7"; } + { locale = "ca"; arch = "linux-x86_64"; sha256 = "84e8675f9613d1a8a49a760ee46d4625b88092cfc542e6b750384d0d5a0a465f"; } + { locale = "cs"; arch = "linux-i686"; sha256 = "bed550a83c763a8147ef862cca7ca36106bfc5b34ea81f008c94886b86a3dde2"; } + { locale = "cs"; arch = "linux-x86_64"; sha256 = "8bf76f388c6286a1b91cf460325b98c2dd08842031288617d9141b1368b5f62c"; } + { locale = "csb"; arch = "linux-i686"; sha256 = "2420bf49ff3429b3f186b17555b8b3250d44579b5ff7ce616914af646b5996be"; } + { locale = "csb"; arch = "linux-x86_64"; sha256 = "a0ee304a61b12ec1dd3caf5d876acbd9d2ad4443f9b96e73ecc1de8a1e16206f"; } + { locale = "cy"; arch = "linux-i686"; sha256 = "603a66c237e95534d2dbd004e7fd77b69d5b99b73cba797c7825aaca6d849c61"; } + { locale = "cy"; arch = "linux-x86_64"; sha256 = "69f68c024d6e9999b5a846d12c5a61ca63d962f6bd21737769d1fe5519916dad"; } + { locale = "da"; arch = "linux-i686"; sha256 = "da8ed391e8ae9729cf2af35700aff3f6900af208fee9eab6a6bd0fcb303abd09"; } + { locale = "da"; arch = "linux-x86_64"; sha256 = "7e3cc63eb61289e1006f683581345caaffe3ae39f7a636ff4f451b1e77a8ffb6"; } + { locale = "de"; arch = "linux-i686"; sha256 = "f191e74047cdddd43fa72242b1dce15a28160f62b4b8eae08ad117f4b27d6e0f"; } + { locale = "de"; arch = "linux-x86_64"; sha256 = "a81165d446cab525645ca2b18ef28cf253c6ee6267086d692a3904c79f7e5be0"; } + { locale = "el"; arch = "linux-i686"; sha256 = "eb0757aafd2a1c4bb9abeab01a3960d3ac21b92879f8dc7d24f485a43d305957"; } + { locale = "el"; arch = "linux-x86_64"; sha256 = "900f64bad286393f6d96f0ff00c6e78ae6cce998046cf506e2b3ec7a7b8e76c0"; } + { locale = "en-GB"; arch = "linux-i686"; sha256 = "99284b229b7bfcc44cce3ebeee523e49bd5d9c7d860345ad3e242af4f9848683"; } + { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "9a4e003441556422375d4bede21da27a03d31b5ec452ff467abcfffdfe363f4a"; } + { locale = "en-US"; arch = "linux-i686"; sha256 = "13b4297db52ef851b38f292eba2b2136e4c2f1453e004012fe8b1fbcf000abce"; } + { locale = "en-US"; arch = "linux-x86_64"; sha256 = "ce87f081c4867b9968a2695341001854aa6c1f4f19073d13f54f333cfed236fc"; } + { locale = "en-ZA"; arch = "linux-i686"; sha256 = "849584baf4c6dd330bf9c798e3e8923004a3a381642d4f684b5de3fb5b4fd895"; } + { locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "635d0cb43a2b5f7f0401f961fd88fc0d6735223ad421ec0ef92a4ee16b29727f"; } + { locale = "eo"; arch = "linux-i686"; sha256 = "91da9571212dc82f5d7140e4de073189018f7f895a3b263a4f8840401b4b10bb"; } + { locale = "eo"; arch = "linux-x86_64"; sha256 = "77f39ab0168efe9070ecd881dbd2884fe5f35eeea17a63ad8d957398f6eef40d"; } + { locale = "es-AR"; arch = "linux-i686"; sha256 = "f4ec6f07e67195981c12b5cbc3a6289a6e9d29539014c034039bd498a40f9301"; } + { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "3f24135fd1a6fd2207bf1d80fc79cb34536b109e195e43a3a13eba0b68548c0e"; } + { locale = "es-CL"; arch = "linux-i686"; sha256 = "de3672a512473cc6edc48bb775bc9a405d0c9effccdb0cd46af5ce2593d67613"; } + { locale = "es-CL"; arch = "linux-x86_64"; sha256 = "770134c2bd8bc9f2e629e355b8e3b0949f67dd2ecd1b3a1d513bff364e53b734"; } + { locale = "es-ES"; arch = "linux-i686"; sha256 = "4eeb5854427cde599468b90af70ae3e04eb9aff5132659f6e1ddb2f859f0be74"; } + { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "eb91e2e9b80cab85e6ab75e78a9b206a18bb647ffb247c0d5ed324ee219dccd9"; } + { locale = "es-MX"; arch = "linux-i686"; sha256 = "0aa0c85a51a50adb9eca5e5a1eda0ca11ddc15ad12b2d930ebe769f10d535433"; } + { locale = "es-MX"; arch = "linux-x86_64"; sha256 = "3f340072c80c95283b17e797bf4fdbde9d1de55b5f10f1c9e8193f8426c6157d"; } + { locale = "et"; arch = "linux-i686"; sha256 = "4719961e58e755ea2d9b94ff7439e1f9e858b0dacbd8631f98fadebca36c72a1"; } + { locale = "et"; arch = "linux-x86_64"; sha256 = "70aa1a76414c50b00fc85be87a07b936c7f60d83037f13716862e8491ec8d609"; } + { locale = "eu"; arch = "linux-i686"; sha256 = "ea450d11b0cd3b4381797bf6ca48d74fb18d661864eccb365bc2d51b872b101a"; } + { locale = "eu"; arch = "linux-x86_64"; sha256 = "d543e7fdd4c27875d30a1d527219e257296c6010e80dc0d5529722aa82cc666f"; } + { locale = "fa"; arch = "linux-i686"; sha256 = "4b8aaf0d27f10474c6ec4eeec1418ffb08338475c5433199ac2db79aab5273b2"; } + { locale = "fa"; arch = "linux-x86_64"; sha256 = "df10d71c7a762696ee682ca705052b15031dc7e84aa396f67fa26463e3dcd353"; } + { locale = "ff"; arch = "linux-i686"; sha256 = "acdfec7656b48e5502692c408cd8c7543add80181130bdd2e0ec66ac44219a06"; } + { locale = "ff"; arch = "linux-x86_64"; sha256 = "a9a0041cba2f80b09a2f22da6f1e9bfdfc1cbf0f5c324a427a1758174901fc27"; } + { locale = "fi"; arch = "linux-i686"; sha256 = "304e90020134af5564d5c90c5d9fee6264aa871e82419408f5b0e9d97f8f8ff1"; } + { locale = "fi"; arch = "linux-x86_64"; sha256 = "bfb86547ea4e0a5650a152070a7651a7f63b0df366fa4aed7f890033332e64a5"; } + { locale = "fr"; arch = "linux-i686"; sha256 = "1ccef0f95df1571b9e378d97122303982f93251bd3ed70d0af93babc3459bad2"; } + { locale = "fr"; arch = "linux-x86_64"; sha256 = "93ffcc3bbba8b7e0941fe674f6a67ed378e75b37c3e52debbef2434ea75f2b09"; } + { locale = "fy-NL"; arch = "linux-i686"; sha256 = "20ae7baa888fdcb467388313fa51104f8ba77ca31b2bcd731e2d65a46ff75c3f"; } + { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "33a028be0c63dc892efc93bd03375c8c4f9be38acb96a2bc516300c204086b3d"; } + { locale = "ga-IE"; arch = "linux-i686"; sha256 = "ddf134c692d321744bd787b7833ccc9b06ef130865c8f8ee816d35ff55c344a7"; } + { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "e76e18b18a7468ee6a550e837abf04b79833ae084210f723d0781f2b81e3077e"; } + { locale = "gd"; arch = "linux-i686"; sha256 = "3c361e322be79ffaec9a382aacf3b9cc90f03fa664e35e283cd8572e66d3b8b0"; } + { locale = "gd"; arch = "linux-x86_64"; sha256 = "5e95305321ff373d9cc6eee522dbd5ee948e6c298f2fb38d655965ec1de448e0"; } + { locale = "gl"; arch = "linux-i686"; sha256 = "99b9dbf38f50f5385072d72d14684e980aead6125c4c91cfa8e69bd5c7f1aa0e"; } + { locale = "gl"; arch = "linux-x86_64"; sha256 = "372bf1395f96be3b41d05630267354f7a6c0706e90f5e21320ab5ebd5d411d41"; } + { locale = "gu-IN"; arch = "linux-i686"; sha256 = "0b8429553052c8e23d3aaf1210d53b51fac2250d1d526311a22757ebd85ca54f"; } + { locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "da6a7d7292965a0c1eaf58564d9bf85192719831208e8762d06c7082ee9824d7"; } + { locale = "he"; arch = "linux-i686"; sha256 = "78ac97da0515eb5a94455dcbf4cbd9a8d1ddbf03d4b8d29bad7b9e8fdbf5ef12"; } + { locale = "he"; arch = "linux-x86_64"; sha256 = "c0d853c639cfa7b14ce10ee50776f3aebf0c84807bb59d9ec6e0e20554ae8ed2"; } + { locale = "hi-IN"; arch = "linux-i686"; sha256 = "82376fe3005c56d2e895e1ffa0e9233f3885700117a73d1c49d67d742e324752"; } + { locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "0ed6234fa9c5d449437d133c83f572ceca3dd82df6cbee8573c9f137c50bcf9c"; } + { locale = "hr"; arch = "linux-i686"; sha256 = "10ff3539c27dc49763fe322e9540878d421bdf590d9a307fecc6c158472889c3"; } + { locale = "hr"; arch = "linux-x86_64"; sha256 = "f97d7e3b290b0fc6a9116198da7fc7eb32895da74a3ad572d29577e14ab12f20"; } + { locale = "hsb"; arch = "linux-i686"; sha256 = "bba1a949823e70d1b5f4a0bec27437b6fc11638fa67b2ca286a833a0d44f5ef8"; } + { locale = "hsb"; arch = "linux-x86_64"; sha256 = "5efaf3ec7f7b5d94df17d2fe0d5877a35442d33ccbf141fcf30e11351f9b4000"; } + { locale = "hu"; arch = "linux-i686"; sha256 = "88a86463f2a47e38886cd2e8b470702623c772086b71d55e61de80e1c1be4fb3"; } + { locale = "hu"; arch = "linux-x86_64"; sha256 = "967ff3bb62c8dbc93a25f75bec73803428b3fe5024841d3e2d97e444c1d27304"; } + { locale = "hy-AM"; arch = "linux-i686"; sha256 = "4bac63a8b8fea36c3dab794dff933972f9adff7f91a7d3957d4edc3c60534016"; } + { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "9c26a2438462429f96b2d8bb8c4566b1b1f7d03200ed68aaca4eb6602342c33c"; } + { locale = "id"; arch = "linux-i686"; sha256 = "e36cd7195d5cd21afd97f31a5108af5999ade8a97f92db3e00067f3cfc31cd72"; } + { locale = "id"; arch = "linux-x86_64"; sha256 = "191e47625a6764670bfbab673989e5b2e6ad45ad1c3a0544a129afe8cb963171"; } + { locale = "is"; arch = "linux-i686"; sha256 = "c839d21d4e16b05bd9aa995ff2124b6b8418ca1405a8f3bfc70fb65b5710488b"; } + { locale = "is"; arch = "linux-x86_64"; sha256 = "16d8df9867e6a13a2be7408f459e2c67d449a47105cf9709e4a743abed8229a9"; } + { locale = "it"; arch = "linux-i686"; sha256 = "7f9c3909cda97d9a40f2630af4f11e6dd8e29f45ab949348123c4334f6aee8fe"; } + { locale = "it"; arch = "linux-x86_64"; sha256 = "52f95491dbf4ee9a1f2ee552feb8a30b8196b6747064e45d5a98d0fecfa11f67"; } + { locale = "ja"; arch = "linux-i686"; sha256 = "6586fd1d792feea4e98442736f06eab15d7de526667db6a3ce7de1afac9fdaec"; } + { locale = "ja"; arch = "linux-x86_64"; sha256 = "0ef883bdf3d415a5795bd613af05b16a406b3af3415ac1c1ebc646dd76f76467"; } + { locale = "kk"; arch = "linux-i686"; sha256 = "39167c7ee9f0e9b62308fcaba0f061bda0eaac9d3bb707c6556f71085c7ddd54"; } + { locale = "kk"; arch = "linux-x86_64"; sha256 = "ec2c9ae1f5daba1e3b0c8a4f24737b0968bc818748b682418f02983e25302703"; } + { locale = "km"; arch = "linux-i686"; sha256 = "797747aa402ad42b6addd04d69995b0ea5c628da71f2cce15c8e612d15461189"; } + { locale = "km"; arch = "linux-x86_64"; sha256 = "fd75e5fbba75dd8a6cdafdb1c4983bfd4336f300df559518d3fff0e6e7e482d6"; } + { locale = "kn"; arch = "linux-i686"; sha256 = "fada07e5679bcf174078e0c596cd121301f72c307401922e5772c6fa79eeedbe"; } + { locale = "kn"; arch = "linux-x86_64"; sha256 = "d9cbb3dc02e3db54ea691dc09c882fcd65fd99bb1d0250e29e3d0a37df72179b"; } + { locale = "ko"; arch = "linux-i686"; sha256 = "22bd8b1dec10117579a267d5bb9b10f460c27c9419305aa1cc4456b09fcd7df5"; } + { locale = "ko"; arch = "linux-x86_64"; sha256 = "0e9da5e79ebb149a62606e002202b70908d329a26c213df35480962fb05a9f7c"; } + { locale = "ku"; arch = "linux-i686"; sha256 = "e5f55ab5112ca3a137c4df37460304ff7e33471e3e95e2709ace1cb32ef88084"; } + { locale = "ku"; arch = "linux-x86_64"; sha256 = "224385ae3a9da1fbbbc0d309eba0de6f64e29da4de29299cb1c778cb5a57c968"; } + { locale = "lij"; arch = "linux-i686"; sha256 = "e39f5edc61e25f490dcae7ea4fdc91033f5e868cbcaf848180c40bd920455f17"; } + { locale = "lij"; arch = "linux-x86_64"; sha256 = "f6e9725f368ce4df3be078a1ad268a29cfeba01e5606de85fbe2e375b3a5e263"; } + { locale = "lt"; arch = "linux-i686"; sha256 = "46b2c694c60540ded3d3f6cb504bc5b7a709cc0940ff6b3223f05d7b8e1f7309"; } + { locale = "lt"; arch = "linux-x86_64"; sha256 = "51d10f5c63e377b0f9e46d7ee12ea8552b8df57d6e8d9334555b7fbab617c8a4"; } + { locale = "lv"; arch = "linux-i686"; sha256 = "8e224c3efcca9864255332b7f7c089c0c04b0eb2dfe60cd04d7dd6a61d807852"; } + { locale = "lv"; arch = "linux-x86_64"; sha256 = "e53090be92e7557be5d38aed25ac0a2fb1006d15bb38d61141473f4b38c6e26c"; } + { locale = "mai"; arch = "linux-i686"; sha256 = "479795f542d17476bb721d3e7c7fef565617528016085976a63b9e5864b4dd31"; } + { locale = "mai"; arch = "linux-x86_64"; sha256 = "8daa2882e27a19894ded43885e868dd7203f506cb1bd25ede1d36328fffbbe0d"; } + { locale = "mk"; arch = "linux-i686"; sha256 = "78f6fa53d5fda46fbe54b9978acaa75faaf094d2d3b8e464539609253da07c52"; } + { locale = "mk"; arch = "linux-x86_64"; sha256 = "47a147a93dc7d1e683a57f0d7ddd7fbe3d944145932e0773be8dab6a7a0b4b01"; } + { locale = "ml"; arch = "linux-i686"; sha256 = "6ac6a36596db8bf675df76abc629fc99ff019455f8c08842668a08cb40b67e9a"; } + { locale = "ml"; arch = "linux-x86_64"; sha256 = "c4d4bed760c429c5db1d5c42682127794f81e20182aed0fc37f4c9aaf7bc582c"; } + { locale = "mr"; arch = "linux-i686"; sha256 = "a2fc483f2aca2cbb7bdff42e4b27b711fdf27f46bee707d1c6d664c391c95def"; } + { locale = "mr"; arch = "linux-x86_64"; sha256 = "5209926b3130b8b75d933287872af62ac752fc9e3fc170b540a2f0bc49d97bdf"; } + { locale = "ms"; arch = "linux-i686"; sha256 = "926944ef9a3807b3379bba4b2fff05d8c2776cc4e3239b0b2bd2e5424151e6ee"; } + { locale = "ms"; arch = "linux-x86_64"; sha256 = "20cf8557fa41119febc99bbc6de10ea7e97d3c1abc2245241db862ca8a735db1"; } + { locale = "nb-NO"; arch = "linux-i686"; sha256 = "5a2778d9e93ae4371ad29737904aaecacf494855b45e5e79cfe773410f6600f6"; } + { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "8cfe4c778ee258dcd511990fd71eefcda46ab73c4448705e3815c5c371ee6ea1"; } + { locale = "nl"; arch = "linux-i686"; sha256 = "350efbbaeb3ef9eee16a398ce482c2a3790f5b85dda6177857d7448de03af9e1"; } + { locale = "nl"; arch = "linux-x86_64"; sha256 = "6d1310f7e2ebe5fc846f966bfa930a2bf3cd0877260de40b01496cb860630c37"; } + { locale = "nn-NO"; arch = "linux-i686"; sha256 = "6447690e509ec0d1306bbfa484df82e62dd5909603b43440443c28bf2f489f24"; } + { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "6e71ad4fe85b02f8745e6b3b39a6f69f13fff45fd555704747d1f59fcf64447a"; } + { locale = "or"; arch = "linux-i686"; sha256 = "71866d15af41df9d98716544d25d8fc2069a9a8f92cdd8180731e3b3fb3c3492"; } + { locale = "or"; arch = "linux-x86_64"; sha256 = "22ace7c20948526f1011e16581c870a919c4d8002bd0c3210ae8f702d1f8a03f"; } + { locale = "pa-IN"; arch = "linux-i686"; sha256 = "12eabc66d39bd767c129c1a1777a6a13812efa0bc3df430dd7940908f53094ec"; } + { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "54501bca85e231e9fab0aa894a6e566966fdbd172fc45888d97eb828e248d105"; } + { locale = "pl"; arch = "linux-i686"; sha256 = "e16acf44c5ab2ee708ba0f74301106a5fc0c36cd65ebd302043af09803f30138"; } + { locale = "pl"; arch = "linux-x86_64"; sha256 = "a1532684d5d0e9e2091a5d42202dc6b49ee8c21df14600f0772e1f0f53f6d638"; } + { locale = "pt-BR"; arch = "linux-i686"; sha256 = "9827bfda689b01e795d4ddf7ab1169e25cc1728175af74e8a08fa3e8ef40e40c"; } + { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "bfe02180011d564fe8deff4d3f3f8e3a6bfde05469738b5b2f8849a2ee485ba8"; } + { locale = "pt-PT"; arch = "linux-i686"; sha256 = "83fcda599d09946da8a968d903fa12b93502a23337f019d3217cc80f81607fe7"; } + { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "533050be56e6dbf06a5631a5b7a7db2da4f5514f224cb787600671c79c020379"; } + { locale = "rm"; arch = "linux-i686"; sha256 = "62906af16b8e179be3015f6be9cf4b9481fcc506044c053373f9bc2e315729fa"; } + { locale = "rm"; arch = "linux-x86_64"; sha256 = "f968ed9ba8ed43d0d52b02db23b2badf6e6a2544d105f23d6b09b80a07a28ee3"; } + { locale = "ro"; arch = "linux-i686"; sha256 = "503fc4cf0de24ff5b1658d09264f8bb3b131c678f61c554ddf1006633ff2d336"; } + { locale = "ro"; arch = "linux-x86_64"; sha256 = "514625ffbf4af4519a7671896f2f2797a1b17057dea356f7c17fa52a17736358"; } + { locale = "ru"; arch = "linux-i686"; sha256 = "01521832ab38fd46751578691b82c0283d9c7a68459ab7225328afa285699b01"; } + { locale = "ru"; arch = "linux-x86_64"; sha256 = "16b780ed767ff0537ec4619453d8cd3ebdcf124704d03d1741b5501007078dee"; } + { locale = "si"; arch = "linux-i686"; sha256 = "35ee6cded95ea13c8c480a46ffc9398f50d172aff2030611d6713b04ddc1c54d"; } + { locale = "si"; arch = "linux-x86_64"; sha256 = "c4ad9cec257bacffbcf3b4c84c63ec52e1ce830754b5be0b622a44ab223919ad"; } + { locale = "sk"; arch = "linux-i686"; sha256 = "53a6bc5aebe5edf4bad34e163a54a3bed30a7c74ff883463caf057793ac3f58e"; } + { locale = "sk"; arch = "linux-x86_64"; sha256 = "5110806bb3f02317b542bb79ce34c6bffeef68982807a5e53614958fb9adc779"; } + { locale = "sl"; arch = "linux-i686"; sha256 = "3a58652b394fc2ffe1abcc1e89596f3e9357a2455cda8a0c76a44ff20331ada2"; } + { locale = "sl"; arch = "linux-x86_64"; sha256 = "fb733f327080e5b4e2ae079a5cdbdb645fde1c9388368c13fcc6af4d3d91da7a"; } + { locale = "son"; arch = "linux-i686"; sha256 = "56a262e4411404e94747312858ae1e7ca99ea48171361f03cdc660f8b0da0da2"; } + { locale = "son"; arch = "linux-x86_64"; sha256 = "db77a5cab885f96efcbaae8e9f284ad30ab78aae1a405a5f1c2ac7d4d2e43498"; } + { locale = "sq"; arch = "linux-i686"; sha256 = "fde7c85f09997ab3f7918072a9577f8d70947c5fafcc70782d684759146941bd"; } + { locale = "sq"; arch = "linux-x86_64"; sha256 = "9865054be5d0a3913e4fa16aafdacd345607955b1d733d978033a2825d926c32"; } + { locale = "sr"; arch = "linux-i686"; sha256 = "87f9f7d46a211b9205df5258f551b7c42264fdb81c70f836a37b3d5a821c4c03"; } + { locale = "sr"; arch = "linux-x86_64"; sha256 = "ed03914c382efdec2f218e87e8efdd2b761e16ad0cc2a646b02050f27503161b"; } + { locale = "sv-SE"; arch = "linux-i686"; sha256 = "1e28e39ac45177607a2ff3c71d3317b8b777679bc9e8dad2236991f05c6823ca"; } + { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "81c2fdc5ec9f338b1dc3cd5d2e8dd62cf106c4cf759826be8eb7f3f3f550c49e"; } + { locale = "ta"; arch = "linux-i686"; sha256 = "8e27ba1c8079745a93bebf6f7e4dbfa9ffc32b91d6dfa12975497466f3ec1550"; } + { locale = "ta"; arch = "linux-x86_64"; sha256 = "c244aeff11608d6f1a8513045ab53d4909af02915761b15ff34ddbbc9995dcbe"; } + { locale = "te"; arch = "linux-i686"; sha256 = "32e404eeeebeb521d909cc64fe1ba3c0b40130f7a4b4ae742a48ba61e8b668d4"; } + { locale = "te"; arch = "linux-x86_64"; sha256 = "83b5cefddc6308050c24d9fb30818fa1fb3c1d4ba9a2de9d8fc99878b01855b4"; } + { locale = "th"; arch = "linux-i686"; sha256 = "009cb39521635c1c89717b3d526a59c05e7ab82082ec31f0fd482800f01d3e8b"; } + { locale = "th"; arch = "linux-x86_64"; sha256 = "1fe31902ef44e7049e9efa4774098c00d3ecad0a4c4f585716cb4bec158e3b88"; } + { locale = "tr"; arch = "linux-i686"; sha256 = "e54ee04479b9891420af6fc1d639da121b677660a5bf1dfd8565792c9e1cdbdf"; } + { locale = "tr"; arch = "linux-x86_64"; sha256 = "bdfae1142a7714a0be9bd24b02582a9ab9913c17d130cf0b2928deb657f8bebc"; } + { locale = "uk"; arch = "linux-i686"; sha256 = "b2d6b518e86c3bae1068f7a6d7cdc975f3b0f99e514c5d3d18dbe5e62d15dbce"; } + { locale = "uk"; arch = "linux-x86_64"; sha256 = "71bd0518b69c911dbb21297cd676ed66231a3b7bc59090a9f6a85d6882263277"; } + { locale = "vi"; arch = "linux-i686"; sha256 = "390fb219da7169d69a7aca1df883750d56bf34f0f7b6b49781d6f3c6b8962962"; } + { locale = "vi"; arch = "linux-x86_64"; sha256 = "1c5af9f646ced5533223bca6dd36f364c0ca9d3f02ba93797aa8b091144cf7e2"; } + { locale = "xh"; arch = "linux-i686"; sha256 = "5d0d04c7c84ffc51b11f99205ae767954b78d98c3a2d18bfcceca1cb292fcd9a"; } + { locale = "xh"; arch = "linux-x86_64"; sha256 = "5fafe2b375ee0935da52ec9037c4f515d1be5cf783548215d289a300e06bb9de"; } + { locale = "zh-CN"; arch = "linux-i686"; sha256 = "1361b7cfc08d4d000107a244ec2a163ab27616b1d1db13917f34acc4d4167d34"; } + { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "66aa04a7b5240df285afd37608c816b7c09cb365c6d0cd5aa4dbe8a7be61d824"; } + { locale = "zh-TW"; arch = "linux-i686"; sha256 = "c0e3d9b584ba10e2a67a904253b2d93ab3546465e69619f932b566ad6b04a003"; } + { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "6a24f9f3631bc0bcc15de6a124c0f7dbcee6d0099e2f0b0622a18e54c04620a9"; } + { locale = "zu"; arch = "linux-i686"; sha256 = "7fa59f6ee26d48f992015b0bb667a0c230cea854eafa67d7c4e51d38e1a267d3"; } + { locale = "zu"; arch = "linux-x86_64"; sha256 = "4af969f1e0d0703e83d903fc2a30739ae2ab42cc3a24219be8bfd152490970c5"; } ]; arch = if stdenv.system == "i686-linux" diff --git a/pkgs/applications/networking/browsers/firefox/3.6.nix b/pkgs/applications/networking/browsers/firefox/3.6.nix deleted file mode 100644 index c430bb7089a..00000000000 --- a/pkgs/applications/networking/browsers/firefox/3.6.nix +++ /dev/null @@ -1,155 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL -, libjpeg, libpng, zlib, cairo, dbus, dbus_glib, bzip2, xlibs -, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify - -, # If you want the resulting program to call itself "Firefox" instead - # of "Shiretoko" or whatever, enable this option. However, those - # binaries may not be distributed without permission from the - # Mozilla Foundation, see - # http://www.mozilla.org/foundation/trademarks/. - enableOfficialBranding ? false -}: - -rec { - - firefoxVersion = "3.6.27"; - - xulVersion = "1.9.2.27"; # this attribute is used by other packages - - - src = fetchurl { - url = "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2"; - sha1 = "dd472a10e4ef5b017f00074d0325be13e832d610"; - }; - - - commonConfigureFlags = - [ "--enable-optimize" - "--disable-debug" - "--enable-strip" - "--with-system-jpeg" - "--with-system-zlib" - "--with-system-bz2" - "--with-system-nspr" - "--with-system-nss" - # "--with-system-png" # <-- "--with-system-png won't work because the system's libpng doesn't have APNG support" - "--enable-system-cairo" - #"--enable-system-sqlite" # <-- this seems to be discouraged - "--disable-crashreporter" - "--disable-tests" - "--disable-necko-wifi" # maybe we want to enable this at some point - ]; - - xulrunner = stdenv.mkDerivation { - name = "xulrunner-${xulVersion}"; - - inherit src; - - patches = [ - # Loongson2f related patches: - ./xulrunner-chromium-mips.patch - ./xulrunner-mips-n32.patch - ./xulrunner-1.9.2_beta4-mips-bus-error.patch - - # Fix building on GCC 4.6. - ./gcc-4.6.patch - ]; - - buildInputs = - [ pkgconfig gtk perl zip libIDL libjpeg libpng zlib cairo bzip2 - python dbus dbus_glib pango freetype fontconfig xlibs.libXi - xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file - alsaLib nspr nss libnotify xlibs.pixman - ]; - - preConfigure = if stdenv.isMips then '' - export ac_cv_thread_keyword=no - '' else ""; - - configureFlags = - [ "--enable-application=xulrunner" - "--disable-javaxpcom" - ] ++ commonConfigureFlags; - - # !!! Temporary hack. - preBuild = '' - export NIX_ENFORCE_PURITY= - ''; - - installFlags = "SKIP_GRE_REGISTRATION=1"; - - postInstall = '' - # Fix some references to /bin paths in the Xulrunner shell script. - substituteInPlace $out/bin/xulrunner \ - --replace /bin/pwd "$(type -tP pwd)" \ - --replace /bin/ls "$(type -tP ls)" - - # Fix run-mozilla.sh search - libDir=$(cd $out/lib && ls -d xulrunner-[0-9]*) - echo libDir: $libDir - test -n "$libDir" - cd $out/bin - mv xulrunner ../lib/$libDir/ - - for i in $out/lib/$libDir/*; do - file $i; - if file $i | grep executable &>/dev/null; then - ln -s $i $out/bin - fi; - done; - rm -f $out/bin/run-mozilla.sh - ''; # */ - - enableParallelBuilding = true; - - meta = { - description = "Mozilla Firefox XUL runner"; - homepage = http://www.mozilla.org/firefox/; - }; - - passthru = { inherit gtk; version = xulVersion; }; - }; - - - firefox = stdenv.mkDerivation rec { - name = "firefox-${firefoxVersion}"; - - inherit src; - - buildInputs = - [ pkgconfig gtk perl zip libIDL libjpeg zlib cairo bzip2 python - dbus dbus_glib pango freetype fontconfig alsaLib nspr nss libnotify - xlibs.pixman - ]; - - propagatedBuildInputs = [xulrunner]; - - configureFlags = - [ "--enable-application=browser" - "--with-libxul-sdk=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}" - ] - ++ commonConfigureFlags - ++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding"; - - postInstall = '' - libDir=$(cd $out/lib && ls -d firefox-[0-9]*) - test -n "$libDir" - - ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $out/lib/$libDir/xulrunner - - # Register extensions etc. !!! is this needed anymore? - echo "running firefox -register..." - $out/bin/firefox -register - ''; # */ - - meta = { - description = "Mozilla Firefox - the browser, reloaded"; - homepage = http://www.mozilla.org/firefox/; - }; - - passthru = { - inherit gtk xulrunner nspr; - isFirefox3Like = true; - }; - }; -} diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix index 1e2c3e2cfb1..ad2ea75bd70 100644 --- a/pkgs/applications/networking/browsers/firefox/default.nix +++ b/pkgs/applications/networking/browsers/firefox/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL -, libjpeg, libpng, zlib, dbus, dbus_glib, bzip2, xlibs +{ lib, stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL +, libjpeg, zlib, dbus, dbus_glib, bzip2, xlibs , freetype, fontconfig, file, alsaLib, nspr, nss, libnotify , yasm, mesa, sqlite, unzip, makeWrapper, pysqlite , hunspell, libevent, libstartup_notification, libvpx @@ -15,27 +15,38 @@ assert stdenv.gcc ? libc && stdenv.gcc.libc != null; -rec { - - firefoxVersion = "30.0"; - - xulVersion = "30.0"; # this attribute is used by other packages +let version = "31.0"; in +stdenv.mkDerivation rec { + name = "firefox-${version}"; src = fetchurl { - url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2"; - sha1 = "bll9hxf31gvg9db6gxgmq25qsjif3p11"; + url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${version}/source/firefox-${version}.source.tar.bz2"; + sha1 = "a6c3e25ee3aeb7da42db2aaeb50a385d63532beb"; }; - commonConfigureFlags = - [ "--with-system-jpeg" + buildInputs = + [ pkgconfig gtk perl zip libIDL libjpeg zlib bzip2 + python dbus dbus_glib pango freetype fontconfig xlibs.libXi + xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file + alsaLib nspr nss libnotify xlibs.pixman yasm mesa + xlibs.libXScrnSaver xlibs.scrnsaverproto pysqlite + xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper + hunspell libevent libstartup_notification libvpx cairo + gstreamer gst_plugins_base icu + ]; + + configureFlags = + [ "--enable-application=browser" + "--disable-javaxpcom" + "--with-system-jpeg" "--with-system-zlib" "--with-system-bz2" "--with-system-nspr" "--with-system-nss" "--with-system-libevent" "--with-system-libvpx" - "--with-system-png" + # "--with-system-png" # needs APNG support # "--with-system-icu" # causes ‘ar: invalid option -- 'L'’ in Firefox 28.0 "--enable-system-ffi" "--enable-system-hunspell" @@ -52,160 +63,45 @@ rec { "--disable-installer" "--disable-updater" "--disable-pulseaudio" - ] ++ (if debugBuild then [ "--enable-debug" "--enable-profiling"] - else [ "--disable-debug" "--enable-release" - "--enable-optimize" "--enable-strip" ]); - - - xulrunner = stdenv.mkDerivation rec { - name = "xulrunner-${xulVersion}"; - - inherit src; - - buildInputs = - [ pkgconfig libpng gtk perl zip libIDL libjpeg zlib bzip2 - python dbus dbus_glib pango freetype fontconfig xlibs.libXi - xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file - alsaLib nspr nss libnotify xlibs.pixman yasm mesa - xlibs.libXScrnSaver xlibs.scrnsaverproto pysqlite - xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper - hunspell libevent libstartup_notification libvpx cairo - gstreamer gst_plugins_base icu - ]; - - configureFlags = - [ "--enable-application=xulrunner" - "--disable-javaxpcom" - ] ++ commonConfigureFlags; - - #enableParallelBuilding = true; # cf. https://github.com/NixOS/nixpkgs/pull/1699#issuecomment-35196282 - - preConfigure = - '' - export NIX_LDFLAGS="$NIX_LDFLAGS -L$out/lib/xulrunner-${xulVersion}" - - mkdir ../objdir - cd ../objdir - configureScript=../mozilla-release/configure - ''; # */ - - #installFlags = "SKIP_GRE_REGISTRATION=1"; + ] + ++ (if debugBuild then [ "--enable-debug" "--enable-profiling"] + else [ "--disable-debug" "--enable-release" + "--enable-optimize" "--enable-strip" ]) + ++ lib.optional enableOfficialBranding "--enable-official-branding"; + + enableParallelBuilding = true; + + preConfigure = + '' + mkdir ../objdir + cd ../objdir + configureScript=../mozilla-release/configure + ''; - preInstall = '' - # The following is needed for startup cache creation on grsecurity kernels + preInstall = + '' + # The following is needed for startup cache creation on grsecurity kernels. paxmark m ../objdir/dist/bin/xpcshell ''; - postInstall = '' - # Fix run-mozilla.sh search - libDir=$(cd $out/lib && ls -d xulrunner-[0-9]*) - echo libDir: $libDir - test -n "$libDir" - cd $out/bin - rm xulrunner - - for i in $out/lib/$libDir/*; do - file $i; - if file $i | grep executable &>/dev/null; then - echo -e '#! /bin/sh\nexec "'"$i"'" "$@"' > "$out/bin/$(basename "$i")"; - chmod a+x "$out/bin/$(basename "$i")"; - fi; - done - for i in $out/lib/$libDir/*.so; do - patchelf --set-rpath "$(patchelf --print-rpath "$i"):$out/lib/$libDir" $i || true - done - + postInstall = + '' # For grsecurity kernels - paxmark m $out/lib/$libDir/{plugin-container,xulrunner} - - for i in $out/lib/$libDir/{plugin-container,xulrunner,xulrunner-stub}; do - wrapProgram $i --prefix LD_LIBRARY_PATH ':' "$out/lib/$libDir" - done - - rm -f $out/bin/run-mozilla.sh - ''; # */ + paxmark m $out/lib/*/{plugin-container,xulrunner} - meta = { - description = "Mozilla Firefox XUL runner"; - homepage = http://www.mozilla.com/en-US/firefox/; - }; + # Remove SDK cruft. FIXME: move to a separate output? + rm -rf $out/share/idl $out/include $out/lib/firefox-devel-* + ''; - passthru = { inherit gtk; version = xulVersion; }; + meta = { + description = "Mozilla Firefox - the browser, reloaded"; + homepage = http://www.mozilla.com/en-US/firefox/; + maintainers = with lib.maintainers; [ eelco wizeman ]; + platforms = lib.platforms.linux; }; - - firefox = stdenv.mkDerivation rec { - name = "firefox-${firefoxVersion}"; - - inherit src; - - enableParallelBuilding = true; - - buildInputs = - [ pkgconfig libpng gtk perl zip libIDL libjpeg zlib bzip2 python - dbus dbus_glib pango freetype fontconfig alsaLib nspr nss libnotify - xlibs.pixman yasm mesa sqlite file unzip pysqlite - hunspell libevent libstartup_notification libvpx cairo - gstreamer gst_plugins_base icu - ]; - - patches = [ - ./disable-reporter.patch # fixes "search box not working when built on xulrunner" - ./xpidl.patch - ]; - - propagatedBuildInputs = [xulrunner]; - - configureFlags = - [ "--enable-application=browser" - "--with-libxul-sdk=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}" - "--enable-chrome-format=jar" - ] - ++ commonConfigureFlags - ++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding"; - - makeFlags = [ - "SYSTEM_LIBXUL=1" - ]; - - # Because preConfigure runs configure from a subdirectory. - configureScript = "../configure"; - - preConfigure = - '' - # Hack to work around make's idea of -lbz2 dependency - find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${ - stdenv.lib.concatStringsSep ":" - (map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc])) - }' ';' - - # Building directly in the main source directory is not allowed. - mkdir obj_dir - cd obj_dir - ''; - - postInstall = - '' - ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $(echo $out/lib/firefox-*)/xulrunner - cd "$out/lib/"firefox-* - rm firefox - echo -e '#!${stdenv.shell}\nexec ${xulrunner}/bin/xulrunner "'"$PWD"'/application.ini" "$@"' > firefox - chmod a+x firefox - - # Put chrome.manifest etc. in the right place. - mv browser/* . - rmdir browser - ''; # */ - - meta = { - description = "Mozilla Firefox - the browser, reloaded"; - homepage = http://www.mozilla.com/en-US/firefox/; - maintainers = with stdenv.lib.maintainers; [ eelco wizeman ]; - }; - - passthru = { - inherit gtk xulrunner nspr; - isFirefox3Like = true; - }; + passthru = { + inherit gtk nspr version; + isFirefox3Like = true; }; } diff --git a/pkgs/applications/networking/browsers/firefox/disable-reporter.patch b/pkgs/applications/networking/browsers/firefox/disable-reporter.patch deleted file mode 100644 index 0a71a7210f2..00000000000 --- a/pkgs/applications/networking/browsers/firefox/disable-reporter.patch +++ /dev/null @@ -1,20 +0,0 @@ -# from: -# - https://www.linuxquestions.org/questions/linux-from-scratch-13/blfs-xulrunner-firefox-21-0-and-search-4175462532/ -# - http://www.mail-archive.com/blfs-support@linuxfromscratch.org/msg17359.html - ---- mozilla-release/browser/base/content/browser.js.orig 2013-05-11 16:19:21.000000000 -0300 -+++ mozilla-release/browser/base/content/browser.js 2013-06-07 00:39:16.114862388 -0300 -@@ -3559,10 +3559,12 @@ - */ - recordSearchInHealthReport: function (engine, source) { - #ifdef MOZ_SERVICES_HEALTHREPORT -- let reporter = Cc["@mozilla.org/datareporting/service;1"] -+ /*let reporter = Cc["@mozilla.org/datareporting/service;1"] - .getService() - .wrappedJSObject - .healthReporter; -+ */ -+ return; - - // This can happen if the FHR component of the data reporting service is - // disabled. This is controlled by a pref that most will never use. diff --git a/pkgs/applications/networking/browsers/firefox/gcc-4.6.patch b/pkgs/applications/networking/browsers/firefox/gcc-4.6.patch deleted file mode 100644 index f5f685951ef..00000000000 --- a/pkgs/applications/networking/browsers/firefox/gcc-4.6.patch +++ /dev/null @@ -1,13 +0,0 @@ -https://346825.bugs.gentoo.org/attachment.cgi?id=270163 - ---- a/gfx/ots/src/os2.cc -+++ b/gfx/ots/src/os2.cc -@@ -2,6 +2,8 @@ - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - -+#include <cstddef> -+ - #include "os2.h" - - #include "head.h" diff --git a/pkgs/applications/networking/browsers/firefox/xpidl.patch b/pkgs/applications/networking/browsers/firefox/xpidl.patch deleted file mode 100644 index e6a6b4d8264..00000000000 --- a/pkgs/applications/networking/browsers/firefox/xpidl.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- mozilla-release/python/mozbuild/mozbuild/backend/recursivemake.py 2013-12-05 08:07:53.000000000 -0800 -+++ mozilla-release_1/python/mozbuild/mozbuild/backend/recursivemake.py 2013-12-12 23:38:39.697318563 -0800 -@@ -421,7 +421,7 @@ - def _handle_idl_manager(self, manager): - build_files = self._purge_manifests['xpidl'] - -- for p in ('Makefile', 'backend.mk', '.deps/.mkdir.done', -+ for p in ('Makefile.in', 'Makefile', 'backend.mk', '.deps/.mkdir.done', - 'xpt/.mkdir.done'): - build_files.add(p) - diff --git a/pkgs/applications/networking/browsers/firefox/xulrunner-1.9.2_beta4-mips-bus-error.patch b/pkgs/applications/networking/browsers/firefox/xulrunner-1.9.2_beta4-mips-bus-error.patch deleted file mode 100644 index 54799397f6f..00000000000 --- a/pkgs/applications/networking/browsers/firefox/xulrunner-1.9.2_beta4-mips-bus-error.patch +++ /dev/null @@ -1,26 +0,0 @@ -http://www.gentoo-cn.org/gitweb/?p=loongson.git;a=blob;f=net-libs/xulrunner/files/xulrunner-1.9.2_beta4-mips-bus-error.patch;h=2bf51d77054796ffaf4f4d903dd8560bf96b7844;hb=HEAD - ---- ./xpcom/glue/nsTArray.h.orig 2009-04-26 01:21:58.000000000 +0800 -+++ ./xpcom/glue/nsTArray.h 2009-04-26 01:21:33.000000000 +0800 -@@ -168,6 +168,7 @@ - - // The array's elements (prefixed with a Header). This pointer is never - // null. If the array is empty, then this will point to sEmptyHdr. -+ void *padding; - Header *mHdr; - }; - -diff --git a/layout/svg/base/src/nsSVGGlyphFrame.cpp b/layout/svg/base/src/nsSVGGlyphFrame.cpp -index 6d452d0..3ce4193 100644 ---- a/layout/svg/base/src/nsSVGGlyphFrame.cpp -+++ b/layout/svg/base/src/nsSVGGlyphFrame.cpp -@@ -169,8 +169,8 @@ private: - PRBool SetupForDirectTextRun(gfxContext *aContext, float aScale); - void SetupFor(gfxContext *aContext, float aScale); - -- nsSVGGlyphFrame *mSource; - nsAutoTArray<CharacterPosition,80> mPositions; -+ nsSVGGlyphFrame *mSource; - gfxMatrix mInitialMatrix; - // Textrun advance width from start to mCurrentChar, in appunits - gfxFloat mCurrentAdvance; diff --git a/pkgs/applications/networking/browsers/firefox/xulrunner-chromium-mips.patch b/pkgs/applications/networking/browsers/firefox/xulrunner-chromium-mips.patch deleted file mode 100644 index d309f5fb6e8..00000000000 --- a/pkgs/applications/networking/browsers/firefox/xulrunner-chromium-mips.patch +++ /dev/null @@ -1,207 +0,0 @@ -http://gentoo-overlays.zugaina.org/loongson/portage/net-libs/xulrunner/files/xulrunner-chromium-mips.patch - -diff --git a/ipc/chromium/src/base/atomicops.h b/ipc/chromium/src/base/atomicops.h -index 87df918..363bf63 100644 ---- a/ipc/chromium/src/base/atomicops.h -+++ b/ipc/chromium/src/base/atomicops.h -@@ -132,6 +132,8 @@ Atomic64 Release_Load(volatile const Atomic64* ptr); - #include "base/atomicops_internals_x86_gcc.h" - #elif defined(COMPILER_GCC) && defined(ARCH_CPU_ARM_FAMILY) - #include "base/atomicops_internals_arm_gcc.h" -+#elif defined(COMPILER_GCC) && defined(ARCH_CPU_MIPS_FAMILY) -+#include "base/atomicops_internals_mips_gcc.h" - #else - #error "Atomic operations are not supported on your platform" - #endif -diff --git a/ipc/chromium/src/base/atomicops_internals_mips_gcc.h b/ipc/chromium/src/base/atomicops_internals_mips_gcc.h -new file mode 100644 -index 0000000..d1b87ee ---- /dev/null -+++ b/ipc/chromium/src/base/atomicops_internals_mips_gcc.h -@@ -0,0 +1,160 @@ -+// Copyright (c) 2010 Zhang, Le <r0bertz@gentoo.org> -+// Use of this source code is governed by GPLv2. -+ -+// This file is an internal atomic implementation, use base/atomicops.h instead. -+ -+#ifndef BASE_ATOMICOPS_INTERNALS_MIPS_GCC_H_ -+#define BASE_ATOMICOPS_INTERNALS_MIPS_GCC_H_ -+ -+#define ATOMICOPS_COMPILER_BARRIER() __asm__ __volatile__("" : : : "memory") -+ -+namespace base { -+namespace subtle { -+ -+// 32-bit low-level operations on any platform. -+ -+inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, -+ Atomic32 old_value, -+ Atomic32 new_value) { -+ Atomic32 prev; -+ __asm__ __volatile__( -+ " .set push \n" -+ " .set noat \n" -+ " .set mips3 \n" -+ "1: ll %0, %2 \n" -+ " bne %0, %z3, 2f \n" -+ " .set mips0 \n" -+ " move $1, %z4 \n" -+ " .set mips3 \n" -+ " sc $1, %1 \n" -+ " beqz $1, 3f \n" -+ "2: \n" -+ " .subsection 2 \n" -+ "3: b 1b \n" -+ " .previous \n" -+ " .set pop \n" -+ : "=&r" (prev), "=R" (*ptr) -+ : "R" (*ptr), "Jr" (old_value), "Jr" (new_value) -+ : "memory"); -+ return prev; -+} -+ -+inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr, -+ Atomic32 new_value) { -+ unsigned int ret_value; -+ unsigned long dummy; -+ -+ __asm__ __volatile__(" .set mips3 \n" -+ "1: ll %0, %3 # xchg_u32 \n" -+ " .set mips0 \n" -+ " move %2, %z4 \n" -+ " .set mips3 \n" -+ " sc %2, %1 \n" -+ " beqz %2, 2f \n" -+ " .subsection 2 \n" -+ "2: b 1b \n" -+ " .previous \n" -+ " .set mips0 \n" -+ : "=&r" (ret_value), "=m" (*ptr), "=&r" (dummy) -+ : "R" (*ptr), "Jr" (new_value) -+ : "memory"); -+ -+ return ret_value; // Now it's the previous value. -+} -+ -+inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr, -+ Atomic32 increment) { -+ Atomic32 temp, result; -+ __asm__ __volatile__( -+ " .set mips3 \n" -+ "1: ll %1, %2 # atomic_add_return \n" -+ " addu %0, %1, %3 \n" -+ " sc %0, %2 \n" -+ " beqz %0, 2f \n" -+ " addu %0, %1, %3 \n" -+ " .subsection 2 \n" -+ "2: b 1b \n" -+ " .previous \n" -+ " .set mips0 \n" -+ : "=&r" (result), "=&r" (temp), "=m" (*ptr) -+ : "Ir" (increment), "m" (*ptr) -+ : "memory"); -+ return result; -+} -+ -+inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr, -+ Atomic32 increment) { -+ Atomic32 temp, result; -+ __asm__ __volatile__( -+ " .set mips3 \n" -+ "1: ll %1, %2 # atomic_add_return \n" -+ " addu %0, %1, %3 \n" -+ " sc %0, %2 \n" -+ " beqz %0, 2f \n" -+ " addu %0, %1, %3 \n" -+ " .subsection 2 \n" -+ "2: b 1b \n" -+ " .previous \n" -+ " .set mips0 \n" -+ : "=&r" (result), "=&r" (temp), "=m" (*ptr) -+ : "Ir" (increment), "m" (*ptr) -+ : "memory"); -+ __asm__ __volatile__("sync" : : : "memory"); -+ return result; -+} -+ -+inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, -+ Atomic32 old_value, -+ Atomic32 new_value) { -+ Atomic32 x = NoBarrier_CompareAndSwap(ptr, old_value, new_value); -+ __asm__ __volatile__("sync" : : : "memory"); -+ return x; -+} -+ -+inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, -+ Atomic32 old_value, -+ Atomic32 new_value) { -+ return NoBarrier_CompareAndSwap(ptr, old_value, new_value); -+} -+ -+inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) { -+ *ptr = value; -+} -+ -+inline void MemoryBarrier() { -+ __asm__ __volatile__("sync" : : : "memory"); -+} -+ -+inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) { -+ *ptr = value; -+ __asm__ __volatile__("sync" : : : "memory"); -+} -+ -+inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) { -+ ATOMICOPS_COMPILER_BARRIER(); -+ *ptr = value; // An x86 store acts as a release barrier. -+ // See comments in Atomic64 version of Release_Store(), below. -+} -+ -+inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) { -+ return *ptr; -+} -+ -+inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) { -+ Atomic32 value = *ptr; // An x86 load acts as a acquire barrier. -+ // See comments in Atomic64 version of Release_Store(), below. -+ ATOMICOPS_COMPILER_BARRIER(); -+ return value; -+} -+ -+inline Atomic32 Release_Load(volatile const Atomic32* ptr) { -+ MemoryBarrier(); -+ return *ptr; -+} -+ -+} // namespace base::subtle -+} // namespace base -+ -+#undef ATOMICOPS_COMPILER_BARRIER -+ -+#endif // BASE_ATOMICOPS_INTERNALS_MIPS_GCC_H_ -diff --git a/ipc/chromium/src/base/debug_util_posix.cc b/ipc/chromium/src/base/debug_util_posix.cc -index f7c58b4..50fb41d 100644 ---- a/ipc/chromium/src/base/debug_util_posix.cc -+++ b/ipc/chromium/src/base/debug_util_posix.cc -@@ -108,7 +108,7 @@ bool DebugUtil::BeingDebugged() { - - // static - void DebugUtil::BreakDebugger() { --#if !defined(ARCH_CPU_ARM_FAMILY) -+#if !defined(ARCH_CPU_ARM_FAMILY) && !defined(ARCH_CPU_MIPS_FAMILY) - asm ("int3"); - #endif - } -diff --git a/ipc/chromium/src/build/build_config.h b/ipc/chromium/src/build/build_config.h -index 36f83e7..128bbc7 100644 ---- a/ipc/chromium/src/build/build_config.h -+++ b/ipc/chromium/src/build/build_config.h -@@ -57,6 +57,8 @@ - #define ARCH_CPU_ARMEL 1 - #define ARCH_CPU_32_BITS 1 - #define WCHAR_T_IS_UNSIGNED 1 -+#elif defined(__MIPSEL__) -+#define ARCH_CPU_MIPS_FAMILY 1 - #else - #error Please add support for your architecture in build/build_config.h - #endif diff --git a/pkgs/applications/networking/browsers/firefox/xulrunner-mips-n32.patch b/pkgs/applications/networking/browsers/firefox/xulrunner-mips-n32.patch deleted file mode 100644 index 8be51035260..00000000000 --- a/pkgs/applications/networking/browsers/firefox/xulrunner-mips-n32.patch +++ /dev/null @@ -1,764 +0,0 @@ -http://gentoo-overlays.zugaina.org/loongson/portage/net-libs/xulrunner/files/xulrunner-mips-n32.patch - -From 1aa3577cf7e79b574bd2cff058ea00221194869b Mon Sep 17 00:00:00 2001 -From: Zhang Le <r0bertz@gentoo.org> -Date: Thu, 12 Mar 2009 02:24:34 +0800 -Subject: [PATCH 2/2] xulrunner mips n32 ABI patch - -Signed-off-by: Zhang Le <r0bertz@gentoo.org> ---- - xpcom/reflect/xptcall/src/md/unix/Makefile.in | 5 + - .../xptcall/src/md/unix/xptcinvoke_asm_mips64.s | 159 ++++++++++++++ - .../xptcall/src/md/unix/xptcinvoke_mips64.cpp | 173 ++++++++++++++++ - .../xptcall/src/md/unix/xptcstubs_asm_mips64.s | 149 +++++++++++++ - .../xptcall/src/md/unix/xptcstubs_mips64.cpp | 218 ++++++++++++++++++++ - 5 files changed, 704 insertions(+), 0 deletions(-) - create mode 100644 xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips64.s - create mode 100644 xpcom/reflect/xptcall/src/md/unix/xptcinvoke_mips64.cpp - create mode 100644 xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips64.s - create mode 100644 xpcom/reflect/xptcall/src/md/unix/xptcstubs_mips64.cpp - -diff --git a/xpcom/reflect/xptcall/src/md/unix/Makefile.in b/xpcom/reflect/xptcall/src/md/unix/Makefile.in -index 524174e..63586cf 100644 ---- a/xpcom/reflect/xptcall/src/md/unix/Makefile.in -+++ b/xpcom/reflect/xptcall/src/md/unix/Makefile.in -@@ -274,8 +274,13 @@ endif - - ifeq ($(OS_ARCH),Linux) - ifneq (,$(findstring mips, $(OS_TEST))) -+ifneq (,$(findstring mips64, $(OS_TEST))) -+CPPSRCS := xptcinvoke_mips64.cpp xptcstubs_mips64.cpp -+ASFILES := xptcinvoke_asm_mips64.s xptcstubs_asm_mips64.s -+else - CPPSRCS := xptcinvoke_mips.cpp xptcstubs_mips.cpp - ASFILES := xptcinvoke_asm_mips.s xptcstubs_asm_mips.s -+endif - ASFLAGS += -I$(DIST)/include -x assembler-with-cpp - endif - endif -diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips64.s b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips64.s -new file mode 100644 -index 0000000..f146ad8 ---- /dev/null -+++ b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips64.s -@@ -0,0 +1,159 @@ -+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 -+ * -+ * The contents of this file are subject to the Mozilla Public License Version -+ * 1.1 (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * http://www.mozilla.org/MPL/ -+ * -+ * Software distributed under the License is distributed on an "AS IS" basis, -+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -+ * for the specific language governing rights and limitations under the -+ * License. -+ * -+ * The Original Code is mozilla.org code. -+ * -+ * The Initial Developer of the Original Code is -+ * Netscape Communications Corporation. -+ * Portions created by the Initial Developer are Copyright (C) 1998 -+ * the Initial Developer. All Rights Reserved. -+ * -+ * Contributor(s): -+ * ZHANG Le <r0bertz@gentoo.org> -+ * -+ * Alternatively, the contents of this file may be used under the terms of -+ * either of the GNU General Public License Version 2 or later (the "GPL"), -+ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -+ * in which case the provisions of the GPL or the LGPL are applicable instead -+ * of those above. If you wish to allow use of your version of this file only -+ * under the terms of either the GPL or the LGPL, and not to allow others to -+ * use your version of this file under the terms of the MPL, indicate your -+ * decision by deleting the provisions above and replace them with the notice -+ * and other provisions required by the GPL or the LGPL. If you do not delete -+ * the provisions above, a recipient may use your version of this file under -+ * the terms of any one of the MPL, the GPL or the LGPL. -+ * -+ * ***** END LICENSE BLOCK ***** */ -+#include <sys/regdef.h> -+#include <sys/asm.h> -+ -+.text -+.globl invoke_count_words -+.globl invoke_copy_to_stack -+ -+LOCALSZ=7 # a0, a1, a2, a3, s0, ra, gp -+FRAMESZ=(((NARGSAVE+LOCALSZ)*SZREG)+ALSZ)&ALMASK -+ -+RAOFF=FRAMESZ-(1*SZREG) -+A0OFF=FRAMESZ-(2*SZREG) -+A1OFF=FRAMESZ-(3*SZREG) -+A2OFF=FRAMESZ-(4*SZREG) -+A3OFF=FRAMESZ-(5*SZREG) -+S0OFF=FRAMESZ-(6*SZREG) -+GPOFF=FRAMESZ-(7*SZREG) -+ -+# -+# _NS_InvokeByIndex_P(that, methodIndex, paramCount, params) -+# a0 a1 a2 a3 -+ -+NESTED(_NS_InvokeByIndex_P, FRAMESZ, ra) -+ PTR_SUBU sp, FRAMESZ -+ SETUP_GP64(GPOFF, _NS_InvokeByIndex_P) -+ -+ REG_S ra, RAOFF(sp) -+ REG_S a0, A0OFF(sp) -+ REG_S a1, A1OFF(sp) -+ REG_S a2, A2OFF(sp) -+ REG_S a3, A3OFF(sp) -+ REG_S s0, S0OFF(sp) -+ -+ # invoke_count_words(paramCount, params) -+ move a0, a2 -+ move a1, a3 -+ jal invoke_count_words -+ -+ # invoke_copy_to_stack(PRUint32* d, PRUint32 paramCount, -+ # nsXPTCVariant* s, PRUint32 *reg) -+ -+ REG_L a1, A2OFF(sp) # a1 - paramCount -+ REG_L a2, A3OFF(sp) # a2 - params -+ -+ # save sp before we copy the params to the stack -+ move t0, sp -+ -+ # assume full size of 16 bytes per param to be safe -+ sll v0, 4 # 16 bytes * num params -+ subu sp, sp, v0 # make room -+ move a0, sp # a0 - param stack address -+ -+ # create temporary stack space to write int and fp regs -+ subu sp, 64 # 64 = 8 regs of 8 bytes -+ move a3, sp -+ -+ # save the old sp and save the arg stack -+ subu sp, sp, 16 -+ REG_S t0, 0(sp) -+ REG_S a0, 8(sp) -+ -+ # copy the param into the stack areas -+ jal invoke_copy_to_stack -+ -+ REG_L t3, 8(sp) # get previous a0 -+ REG_L sp, 0(sp) # get orig sp back -+ -+ REG_L a0, A0OFF(sp) # a0 - that -+ REG_L a1, A1OFF(sp) # a1 - methodIndex -+ -+ # t1 = methodIndex * pow(2, PTRLOG) -+ # (use shift instead of mult) -+ sll t1, a1, PTRLOG -+ -+ # calculate the function we need to jump to, -+ # which must then be saved in t9 -+ lw t9, 0(a0) -+ addu t9, t9, t1 -+#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */ -+ lw t9, (t9) -+#else /* not G++ V3 ABI */ -+ lw t9, 2*PTRSIZE(t9) -+#endif /* G++ V3 ABI */ -+ -+ # get register save area from invoke_copy_to_stack -+ subu t1, t3, 64 -+ -+ # a1..a7 and f13..f19 should now be set to what -+ # invoke_copy_to_stack told us. skip a0 and f12 -+ # because that's the "this" pointer -+ -+ REG_L a1, 0(t1) -+ REG_L a2, 8(t1) -+ REG_L a3, 16(t1) -+ REG_L a4, 24(t1) -+ REG_L a5, 32(t1) -+ REG_L a6, 40(t1) -+ REG_L a7, 48(t1) -+ -+ l.d $f13, 0(t1) -+ l.d $f14, 8(t1) -+ l.d $f15, 16(t1) -+ l.d $f16, 24(t1) -+ l.d $f17, 32(t1) -+ l.d $f18, 40(t1) -+ l.d $f19, 48(t1) -+ -+ # save away our stack pointer and create -+ # the stack pointer for the function -+ move s0, sp -+ move sp, t3 -+ -+ jalr t9 -+ -+ move sp, s0 -+ -+ RESTORE_GP64 -+ REG_L ra, RAOFF(sp) -+ REG_L s0, S0OFF(sp) -+ PTR_ADDU sp, FRAMESZ -+ j ra -+.end _NS_InvokeByIndex_P -diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_mips64.cpp b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_mips64.cpp -new file mode 100644 -index 0000000..d1d1a7d ---- /dev/null -+++ b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_mips64.cpp -@@ -0,0 +1,173 @@ -+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 -+ * -+ * The contents of this file are subject to the Mozilla Public License Version -+ * 1.1 (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * http://www.mozilla.org/MPL/ -+ * -+ * Software distributed under the License is distributed on an "AS IS" basis, -+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -+ * for the specific language governing rights and limitations under the -+ * License. -+ * -+ * The Original Code is mozilla.org code. -+ * -+ * The Initial Developer of the Original Code is -+ * Netscape Communications Corporation. -+ * Portions created by the Initial Developer are Copyright (C) 1998 -+ * the Initial Developer. All Rights Reserved. -+ * -+ * Contributor(s): -+ * ZHANG Le <r0bertz@gentoo.org> -+ * -+ * Alternatively, the contents of this file may be used under the terms of -+ * either of the GNU General Public License Version 2 or later (the "GPL"), -+ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -+ * in which case the provisions of the GPL or the LGPL are applicable instead -+ * of those above. If you wish to allow use of your version of this file only -+ * under the terms of either the GPL or the LGPL, and not to allow others to -+ * use your version of this file under the terms of the MPL, indicate your -+ * decision by deleting the provisions above and replace them with the notice -+ * and other provisions required by the GPL or the LGPL. If you do not delete -+ * the provisions above, a recipient may use your version of this file under -+ * the terms of any one of the MPL, the GPL or the LGPL. -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+/* Platform specific code to invoke XPCOM methods on native objects */ -+ -+#include "xptcprivate.h" -+ -+#if (_MIPS_SIM != _ABIN32) -+#error "This code is for MIPS N32 only" -+#endif -+ -+extern "C" uint32 -+invoke_count_words(PRUint32 paramCount, nsXPTCVariant* s) -+{ -+ return paramCount; -+} -+ -+extern "C" void -+invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount, -+ nsXPTCVariant* s, PRUint64 *regs) -+{ -+#define N_ARG_REGS 7 /* 8 regs minus 1 for "this" ptr */ -+ -+ for (PRUint32 i = 0; i < paramCount; i++, s++) -+ { -+ if (s->IsPtrData()) { -+ if (i < N_ARG_REGS) -+ regs[i] = (PRUint64)s->ptr; -+ else -+ *d++ = (PRUint64)s->ptr; -+ continue; -+ } -+ switch (s->type) { -+ // -+ // signed types first -+ // -+ case nsXPTType::T_I8: -+ if (i < N_ARG_REGS) -+ ((PRInt64*)regs)[i] = s->val.i8; -+ else -+ *d++ = s->val.i8; -+ break; -+ case nsXPTType::T_I16: -+ if (i < N_ARG_REGS) -+ ((PRInt64*)regs)[i] = s->val.i16; -+ else -+ *d++ = s->val.i16; -+ break; -+ case nsXPTType::T_I32: -+ if (i < N_ARG_REGS) -+ ((PRInt64*)regs)[i] = s->val.i32; -+ else -+ *d++ = s->val.i32; -+ break; -+ case nsXPTType::T_I64: -+ if (i < N_ARG_REGS) -+ ((PRInt64*)regs)[i] = s->val.i64; -+ else -+ *d++ = s->val.i64; -+ break; -+ // -+ // unsigned types next -+ // -+ case nsXPTType::T_U8: -+ if (i < N_ARG_REGS) -+ regs[i] = s->val.u8; -+ else -+ *d++ = s->val.u8; -+ break; -+ case nsXPTType::T_U16: -+ if (i < N_ARG_REGS) -+ regs[i] = s->val.u16; -+ else -+ *d++ = s->val.u16; -+ break; -+ case nsXPTType::T_U32: -+ if (i < N_ARG_REGS) -+ regs[i] = s->val.u32; -+ else -+ *d++ = s->val.u32; -+ break; -+ case nsXPTType::T_U64: -+ if (i < N_ARG_REGS) -+ regs[i] = s->val.u64; -+ else -+ *d++ = s->val.u64; -+ break; -+ case nsXPTType::T_FLOAT: -+ if (i < N_ARG_REGS) -+ *(float*)®s[i] = s->val.f; -+ else -+ *(float*)d++ = s->val.f; -+ break; -+ case nsXPTType::T_DOUBLE: -+ if (i < N_ARG_REGS) -+ *(double*)®s[i] = s->val.d; -+ else -+ *(double*)d++ = s->val.d; -+ break; -+ case nsXPTType::T_BOOL: -+ if (i < N_ARG_REGS) -+ regs[i] = s->val.b; -+ else -+ *d++ = s->val.b; -+ break; -+ case nsXPTType::T_CHAR: -+ if (i < N_ARG_REGS) -+ regs[i] = s->val.c; -+ else -+ *d++ = s->val.c; -+ break; -+ case nsXPTType::T_WCHAR: -+ if (i < N_ARG_REGS) -+ regs[i] = s->val.wc; -+ else -+ *d++ = s->val.wc; -+ break; -+ default: -+ // all the others are plain pointer types -+ if (i < N_ARG_REGS) -+ regs[i] = (PRUint64)s->val.p; -+ else -+ *d++ = (PRUint64)s->val.p; -+ break; -+ } -+ } -+} -+ -+extern "C" nsresult _NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex, -+ PRUint32 paramCount, -+ nsXPTCVariant* params); -+ -+EXPORT_XPCOM_API(nsresult) -+NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex, -+ PRUint32 paramCount, nsXPTCVariant* params) -+{ -+ return _NS_InvokeByIndex_P(that, methodIndex, paramCount, params); -+} -diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips64.s b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips64.s -new file mode 100644 -index 0000000..dfee24b ---- /dev/null -+++ b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips64.s -@@ -0,0 +1,149 @@ -+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 -+ * -+ * The contents of this file are subject to the Mozilla Public License Version -+ * 1.1 (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * http://www.mozilla.org/MPL/ -+ * -+ * Software distributed under the License is distributed on an "AS IS" basis, -+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -+ * for the specific language governing rights and limitations under the -+ * License. -+ * -+ * The Original Code is mozilla.org code. -+ * -+ * The Initial Developer of the Original Code is -+ * Netscape Communications Corporation. -+ * Portions created by the Initial Developer are Copyright (C) 1998 -+ * the Initial Developer. All Rights Reserved. -+ * -+ * Contributor(s): -+ * ZHANG Le <r0bertz@gentoo.org> -+ * -+ * Alternatively, the contents of this file may be used under the terms of -+ * either of the GNU General Public License Version 2 or later (the "GPL"), -+ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -+ * in which case the provisions of the GPL or the LGPL are applicable instead -+ * of those above. If you wish to allow use of your version of this file only -+ * under the terms of either the GPL or the LGPL, and not to allow others to -+ * use your version of this file under the terms of the MPL, indicate your -+ * decision by deleting the provisions above and replace them with the notice -+ * and other provisions required by the GPL or the LGPL. If you do not delete -+ * the provisions above, a recipient may use your version of this file under -+ * the terms of any one of the MPL, the GPL or the LGPL. -+ * -+ * ***** END LICENSE BLOCK ***** */ -+#include <sys/regdef.h> -+#include <sys/asm.h> -+ -+LOCALSZ=16 -+FRAMESZ=(((NARGSAVE+LOCALSZ)*SZREG)+ALSZ)&ALMASK -+ -+A1OFF=FRAMESZ-(9*SZREG) -+A2OFF=FRAMESZ-(8*SZREG) -+A3OFF=FRAMESZ-(7*SZREG) -+A4OFF=FRAMESZ-(6*SZREG) -+A5OFF=FRAMESZ-(5*SZREG) -+A6OFF=FRAMESZ-(4*SZREG) -+A7OFF=FRAMESZ-(3*SZREG) -+GPOFF=FRAMESZ-(2*SZREG) -+RAOFF=FRAMESZ-(1*SZREG) -+ -+F13OFF=FRAMESZ-(16*SZREG) -+F14OFF=FRAMESZ-(15*SZREG) -+F15OFF=FRAMESZ-(14*SZREG) -+F16OFF=FRAMESZ-(13*SZREG) -+F17OFF=FRAMESZ-(12*SZREG) -+F18OFF=FRAMESZ-(11*SZREG) -+F19OFF=FRAMESZ-(10*SZREG) -+ -+#define SENTINEL_ENTRY(n) /* defined in cpp file, not here */ -+ -+#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */ -+#define STUB_ENTRY(x) \ -+ .if x < 10; \ -+ MAKE_STUB(x, _ZN14nsXPTCStubBase5Stub ##x ##Ev); \ -+ .elseif x < 100; \ -+ MAKE_STUB(x, _ZN14nsXPTCStubBase6Stub ##x ##Ev); \ -+ .elseif x < 1000; \ -+ MAKE_STUB(x, _ZN14nsXPTCStubBase7Stub ##x ##Ev); \ -+ .else; \ -+ .err; \ -+ .endif -+#else /* not G++ V3 ABI */ -+#define STUB_ENTRY(x) \ -+ MAKE_STUB(x, Stub ##x ##__14nsXPTCStubBase) -+#endif /* G++ V3 ABI */ -+ -+#define MAKE_STUB(x, name) \ -+ .globl name; \ -+ .type name,@function; \ -+ .aent name,0; \ -+name:; \ -+ PTR_SUBU sp,FRAMESZ; \ -+ SETUP_GP64(GPOFF, name); \ -+ li t0,x; \ -+ b sharedstub; \ -+ -+# -+# open a dummy frame for the function entries -+# -+ .text -+ .align 2 -+ .type dummy,@function -+ .ent dummy, 0 -+dummy: -+ .frame sp, FRAMESZ, ra -+ .mask 0x90000FF0, RAOFF-FRAMESZ -+ .fmask 0x000FF000, F19OFF-FRAMESZ -+ -+#include "xptcstubsdef.inc" -+ -+sharedstub: -+ -+ REG_S a1, A1OFF(sp) -+ REG_S a2, A2OFF(sp) -+ REG_S a3, A3OFF(sp) -+ REG_S a4, A4OFF(sp) -+ REG_S a5, A5OFF(sp) -+ REG_S a6, A6OFF(sp) -+ REG_S a7, A7OFF(sp) -+ REG_S ra, RAOFF(sp) -+ -+ s.d $f13, F13OFF(sp) -+ s.d $f14, F14OFF(sp) -+ s.d $f15, F15OFF(sp) -+ s.d $f16, F16OFF(sp) -+ s.d $f17, F17OFF(sp) -+ s.d $f18, F18OFF(sp) -+ s.d $f19, F19OFF(sp) -+ -+ # t0 is methodIndex -+ move a1, t0 -+ -+ # a2 is stack address where extra function params -+ # are stored that do not fit in registers -+ move a2, sp -+ addi a2, FRAMESZ -+ -+ # a3 is stack address of a1..a7 -+ move a3, sp -+ addi a3, A1OFF -+ -+ # a4 is stack address of f13..f19 -+ move a4, sp -+ addi a4, F13OFF -+ -+ # PrepareAndDispatch(that, methodIndex, args, gprArgs, fpArgs) -+ # a0 a1 a2 a3 a4 -+ # -+ jal PrepareAndDispatch -+ -+ REG_L ra, RAOFF(sp) -+ RESTORE_GP64 -+ -+ PTR_ADDU sp, FRAMESZ -+ j ra -+ END(dummy) -diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcstubs_mips64.cpp b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_mips64.cpp -new file mode 100644 -index 0000000..c404065 ---- /dev/null -+++ b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_mips64.cpp -@@ -0,0 +1,218 @@ -+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 -+ * -+ * The contents of this file are subject to the Mozilla Public License Version -+ * 1.1 (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * http://www.mozilla.org/MPL/ -+ * -+ * Software distributed under the License is distributed on an "AS IS" basis, -+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -+ * for the specific language governing rights and limitations under the -+ * License. -+ * -+ * The Original Code is mozilla.org code. -+ * -+ * The Initial Developer of the Original Code is -+ * Netscape Communications Corporation. -+ * Portions created by the Initial Developer are Copyright (C) 1999 -+ * the Initial Developer. All Rights Reserved. -+ * -+ * Contributor(s): -+ * ZHANG Le <r0bertz@gentoo.org> -+ * -+ * Alternatively, the contents of this file may be used under the terms of -+ * either of the GNU General Public License Version 2 or later (the "GPL"), -+ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -+ * in which case the provisions of the GPL or the LGPL are applicable instead -+ * of those above. If you wish to allow use of your version of this file only -+ * under the terms of either the GPL or the LGPL, and not to allow others to -+ * use your version of this file under the terms of the MPL, indicate your -+ * decision by deleting the provisions above and replace them with the notice -+ * and other provisions required by the GPL or the LGPL. If you do not delete -+ * the provisions above, a recipient may use your version of this file under -+ * the terms of any one of the MPL, the GPL or the LGPL. -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#include "xptcprivate.h" -+#include "xptiprivate.h" -+ -+#if (_MIPS_SIM != _ABIN32) -+#error "This code is for MIPS N32 only" -+#endif -+ -+/* -+ * This is for MIPS N32 ABI -+ * -+ * When we're called, the "gp" registers are stored in gprData and -+ * the "fp" registers are stored in fprData. There are 8 regs -+ * available which coorespond to the first 7 parameters of the -+ * function and the "this" pointer. If there are additional parms, -+ * they are stored on the stack at address "args". -+ * -+ */ -+extern "C" nsresult -+PrepareAndDispatch(nsXPTCStubBase* self, PRUint32 methodIndex, PRUint64* args, -+ PRUint64 *gprData, double *fprData) -+{ -+#define PARAM_BUFFER_COUNT 16 -+#define PARAM_GPR_COUNT 7 -+#define PARAM_FPR_COUNT 7 -+ -+ nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT]; -+ nsXPTCMiniVariant* dispatchParams = NULL; -+ const nsXPTMethodInfo* info; -+ PRUint8 paramCount; -+ PRUint8 i; -+ nsresult result = NS_ERROR_FAILURE; -+ -+ NS_ASSERTION(self,"no self"); -+ -+ self->mEntry->GetMethodInfo(PRUint16(methodIndex), &info); -+ NS_ASSERTION(info,"no method info"); -+ -+ paramCount = info->GetParamCount(); -+ -+ // setup variant array pointer -+ if(paramCount > PARAM_BUFFER_COUNT) -+ dispatchParams = new nsXPTCMiniVariant[paramCount]; -+ else -+ dispatchParams = paramBuffer; -+ NS_ASSERTION(dispatchParams,"no place for params"); -+ -+ PRUint64* ap = args; -+ PRUint32 iCount = 0; -+ for(i = 0; i < paramCount; i++) -+ { -+ const nsXPTParamInfo& param = info->GetParam(i); -+ const nsXPTType& type = param.GetType(); -+ nsXPTCMiniVariant* dp = &dispatchParams[i]; -+ -+ if(param.IsOut() || !type.IsArithmetic()) -+ { -+ if (iCount < PARAM_GPR_COUNT) -+ dp->val.p = (void*)gprData[iCount++]; -+ else -+ dp->val.p = (void*)*ap++; -+ continue; -+ } -+ // else -+ switch(type) -+ { -+ case nsXPTType::T_I8: -+ if (iCount < PARAM_GPR_COUNT) -+ dp->val.i8 = (PRInt8)gprData[iCount++]; -+ else -+ dp->val.i8 = (PRInt8)*ap++; -+ break; -+ -+ case nsXPTType::T_I16: -+ if (iCount < PARAM_GPR_COUNT) -+ dp->val.i16 = (PRInt16)gprData[iCount++]; -+ else -+ dp->val.i16 = (PRInt16)*ap++; -+ break; -+ -+ case nsXPTType::T_I32: -+ if (iCount < PARAM_GPR_COUNT) -+ dp->val.i32 = (PRInt32)gprData[iCount++]; -+ else -+ dp->val.i32 = (PRInt32)*ap++; -+ break; -+ -+ case nsXPTType::T_I64: -+ if (iCount < PARAM_GPR_COUNT) -+ dp->val.i64 = (PRInt64)gprData[iCount++]; -+ else -+ dp->val.i64 = (PRInt64)*ap++; -+ break; -+ -+ case nsXPTType::T_U8: -+ if (iCount < PARAM_GPR_COUNT) -+ dp->val.u8 = (PRUint8)gprData[iCount++]; -+ else -+ dp->val.u8 = (PRUint8)*ap++; -+ break; -+ -+ case nsXPTType::T_U16: -+ if (iCount < PARAM_GPR_COUNT) -+ dp->val.u16 = (PRUint16)gprData[iCount++]; -+ else -+ dp->val.u16 = (PRUint16)*ap++; -+ break; -+ -+ case nsXPTType::T_U32: -+ if (iCount < PARAM_GPR_COUNT) -+ dp->val.u32 = (PRUint32)gprData[iCount++]; -+ else -+ dp->val.u32 = (PRUint32)*ap++; -+ break; -+ -+ case nsXPTType::T_U64: -+ if (iCount < PARAM_GPR_COUNT) -+ dp->val.u64 = (PRUint64)gprData[iCount++]; -+ else -+ dp->val.u64 = (PRUint64)*ap++; -+ break; -+ -+ case nsXPTType::T_FLOAT: -+ if (iCount < PARAM_FPR_COUNT) -+ dp->val.f = (double)fprData[iCount++]; -+ else -+ dp->val.f = *((double*)ap++); -+ break; -+ -+ case nsXPTType::T_DOUBLE: -+ if (iCount < PARAM_FPR_COUNT) -+ dp->val.d = (double)fprData[iCount++]; -+ else -+ dp->val.d = *((double*)ap++); -+ break; -+ -+ case nsXPTType::T_BOOL: -+ if (iCount < PARAM_GPR_COUNT) -+ dp->val.b = (PRBool)gprData[iCount++]; -+ else -+ dp->val.b = (PRBool)*ap++; -+ break; -+ -+ case nsXPTType::T_CHAR: -+ if (iCount < PARAM_GPR_COUNT) -+ dp->val.c = (char)gprData[iCount++]; -+ else -+ dp->val.c = (char)*ap++; -+ break; -+ -+ case nsXPTType::T_WCHAR: -+ if (iCount < PARAM_GPR_COUNT) -+ dp->val.wc = (wchar_t)gprData[iCount++]; -+ else -+ dp->val.wc = (wchar_t)*ap++; -+ break; -+ -+ default: -+ NS_ASSERTION(0, "bad type"); -+ break; -+ } -+ } -+ -+ result = self->mOuter->CallMethod((PRUint16)methodIndex, info, dispatchParams); -+ -+ if(dispatchParams != paramBuffer) -+ delete [] dispatchParams; -+ -+ return result; -+} -+ -+#define STUB_ENTRY(n) /* defined in the assembly file */ -+ -+#define SENTINEL_ENTRY(n) \ -+nsresult nsXPTCStubBase::Sentinel##n() \ -+{ \ -+ NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \ -+ return NS_ERROR_NOT_IMPLEMENTED; \ -+} -+ -+#include "xptcstubsdef.inc" --- -1.6.2 - diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix index 617d307b783..d39dfe3582e 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix @@ -89,6 +89,6 @@ stdenv.mkDerivation { description = "Adobe Flash Player browser plugin"; homepage = http://www.adobe.com/products/flashplayer/; maintainers = with stdenv.lib.maintainers; [ wizeman ]; - license = "unfree"; + license = stdenv.lib.licenses.unfree; }; } diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/gecko-mediaplayer/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/gecko-mediaplayer/default.nix index 44f191e54f1..05e3a8bf613 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/gecko-mediaplayer/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/gecko-mediaplayer/default.nix @@ -10,12 +10,12 @@ stdenv.mkDerivation rec { sha256 = "913fd39e70c564cb210c2544a88869f9d1a448184421f000b14b2bc5ba718b49"; }; - buildInputs = [ pkgconfig glib dbus dbus_glib browser x11 GConf browser.xulrunner gmtk ]; + buildInputs = [ pkgconfig glib dbus dbus_glib browser x11 GConf browser gmtk ]; # !!! fix this preBuild = '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo ${browser.xulrunner}/include/xulrunner-*) -I${browser.nspr}/include/nspr" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo ${browser}/include/xulrunner-*) -I${browser.nspr}/include/nspr" echo $NIX_CFLAGS_COMPILE ''; @@ -31,6 +31,7 @@ stdenv.mkDerivation rec { meta = { description = "A browser plugin that uses GNOME MPlayer to play media in a browser"; homepage = http://kdekorte.googlepages.com/gecko-mediaplayer; + broken = true; }; } diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix index e1bc4e977f6..afe0600d6f7 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix @@ -109,7 +109,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.google.com/chat/video/; - license = "unfree"; + license = stdenv.lib.licenses.unfree; maintainers = [ stdenv.lib.maintainers.eelco ]; }; } diff --git a/pkgs/applications/networking/browsers/netsurf/default.nix b/pkgs/applications/networking/browsers/netsurf/default.nix index cf01a3c6d5f..07184bfd9f2 100644 --- a/pkgs/applications/networking/browsers/netsurf/default.nix +++ b/pkgs/applications/networking/browsers/netsurf/default.nix @@ -42,7 +42,7 @@ rec { meta = { description = "HTML5 compliant parsing library, written in C"; homepage = http://www.netsurf-browser.org/projects/hubbub/; - license = "MIT"; + license = stdenv.lib.licenses.mit; maintainers = [lib.maintainers.marcweber]; platforms = lib.platforms.linux; }; @@ -63,7 +63,7 @@ rec { meta = { description = "implementation of the W3C DOM, written in C"; homepage = http://www.netsurf-browser.org/projects/hubbub/; - license = "MIT"; + license = stdenv.lib.licenses.mit; maintainers = [lib.maintainers.marcweber]; platforms = lib.platforms.linux; }; diff --git a/pkgs/applications/networking/browsers/netsurf/libCSS.nix b/pkgs/applications/networking/browsers/netsurf/libCSS.nix index 7ad39ee4ec9..ede053aeca3 100644 --- a/pkgs/applications/networking/browsers/netsurf/libCSS.nix +++ b/pkgs/applications/networking/browsers/netsurf/libCSS.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation { meta = { description = "libCSS is a CSS parser and selection engine, written in C"; # used by netsurf homepage = http://www.netsurf-browser.org/projects/libcss/; - license = "MIT"; + license = stdenv.lib.licenses.mit; maintainers = [args.lib.maintainers.marcweber]; platforms = args.lib.platforms.linux; }; diff --git a/pkgs/applications/networking/browsers/netsurf/libParserUtils.nix b/pkgs/applications/networking/browsers/netsurf/libParserUtils.nix index fec93c39ab9..32bede76e43 100644 --- a/pkgs/applications/networking/browsers/netsurf/libParserUtils.nix +++ b/pkgs/applications/networking/browsers/netsurf/libParserUtils.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation { meta = { description = "LibParserUtils is a library for building efficient parsers, written in C"; homepage = http://www.netsurf-browser.org/projects/libparserutils/; - license = "MIT"; + license = stdenv.lib.licenses.mit; maintainers = [args.lib.maintainers.marcweber]; platforms = args.lib.platforms.linux; broken = true; diff --git a/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix b/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix index 462d532cb9c..9c16ff9b89c 100644 --- a/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix +++ b/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation { meta = { description = "Libnsbmp is a decoding library for BMP and ICO image file formats"; # used by netsurf homepage = http://www.netsurf-browser.org/projects/libnsbmp/; - license = "MIT"; + license = stdenv.lib.licenses.mit; maintainers = [args.lib.maintainers.marcweber]; platforms = args.lib.platforms.linux; }; diff --git a/pkgs/applications/networking/browsers/netsurf/libnsgif.nix b/pkgs/applications/networking/browsers/netsurf/libnsgif.nix index 5894e5c1c03..a4502d2354d 100644 --- a/pkgs/applications/networking/browsers/netsurf/libnsgif.nix +++ b/pkgs/applications/networking/browsers/netsurf/libnsgif.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation { meta = { description = "Libnsbmp is a decoding library for gif image file formats"; # used by netsurf homepage = http://www.netsurf-browser.org/projects/libnsgif/; - license = "MIT"; + license = stdenv.lib.licenses.mit; maintainers = [args.lib.maintainers.marcweber]; platforms = args.lib.platforms.linux; broken = true; diff --git a/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix b/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix index a90e6fa193c..300e9965092 100644 --- a/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix +++ b/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation { meta = { description = "implementation of SVG Tiny, written in C"; homepage = http://www.netsurf-browser.org/projects/libsvgtiny/; - license = "MIT"; + license = stdenv.lib.licenses.mit; maintainers = [args.lib.maintainers.marcweber]; platforms = args.lib.platforms.linux; }; diff --git a/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix b/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix index c4e4a60fbd6..8d19d1c1ef2 100644 --- a/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix +++ b/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation { meta = { description = "LibWapcaplet is a string internment library, written in C"; homepage = http://www.netsurf-browser.org/projects/libwapcaplet/; - license = "MIT"; + license = stdenv.lib.licenses.mit; maintainers = [args.lib.maintainers.marcweber]; platforms = args.lib.platforms.linux; }; diff --git a/pkgs/applications/networking/ids/daq/default.nix b/pkgs/applications/networking/ids/daq/default.nix index 92175bb23e9..36571809a37 100644 --- a/pkgs/applications/networking/ids/daq/default.nix +++ b/pkgs/applications/networking/ids/daq/default.nix @@ -14,6 +14,6 @@ stdenv.mkDerivation rec { meta = { description = "Data AcQuisition library (DAQ), for packet I/O"; homepage = http://www.snort.org; - license = "GPLv2"; + license = stdenv.lib.licenses.gpl2; }; } diff --git a/pkgs/applications/networking/ids/snort/default.nix b/pkgs/applications/networking/ids/snort/default.nix index b674f3a83fb..858e99c245b 100644 --- a/pkgs/applications/networking/ids/snort/default.nix +++ b/pkgs/applications/networking/ids/snort/default.nix @@ -14,6 +14,6 @@ stdenv.mkDerivation rec { meta = { description = "Snort is an open source network intrusion prevention and detection system (IDS/IPS)"; homepage = http://www.snort.org; - license = "GPLv2"; + license = stdenv.lib.licenses.gpl2; }; } diff --git a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix index 457d3441b3a..ec614bf4b8c 100644 --- a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix +++ b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { ''; homepage = http://www.bitlbee.org/; - license = "GPLv2+"; + license = stdenv.lib.licenses.gpl2Plus; maintainers = [ stdenv.lib.maintainers.ludo ]; platforms = stdenv.lib.platforms.gnu; # arbitrary choice diff --git a/pkgs/applications/networking/instant-messengers/centerim/default.nix b/pkgs/applications/networking/instant-messengers/centerim/default.nix index d746d54974a..54e2d813be8 100644 --- a/pkgs/applications/networking/instant-messengers/centerim/default.nix +++ b/pkgs/applications/networking/instant-messengers/centerim/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.centerim.org/; description = "Fork of CenterICQ, a curses instant messaging program"; - license = "GPLv2+"; + license = stdenv.lib.licenses.gpl2Plus; platforms = with stdenv.lib.platforms; linux; }; } diff --git a/pkgs/applications/networking/instant-messengers/gtmess/default.nix b/pkgs/applications/networking/instant-messengers/gtmess/default.nix index 68973b4e47f..64021c93bc8 100644 --- a/pkgs/applications/networking/instant-messengers/gtmess/default.nix +++ b/pkgs/applications/networking/instant-messengers/gtmess/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation { meta = { description = "Console MSN Messenger client for Linux and other unix systems"; homepage = http://gtmess.sourceforge.net/; - license = "GPLv2+"; + license = stdenv.lib.licenses.gpl2Plus; platforms = with stdenv.lib.platforms; linux; }; } diff --git a/pkgs/applications/networking/instant-messengers/kadu/default.nix b/pkgs/applications/networking/instant-messengers/kadu/default.nix index 4e176ec56dc..be24878259f 100644 --- a/pkgs/applications/networking/instant-messengers/kadu/default.nix +++ b/pkgs/applications/networking/instant-messengers/kadu/default.nix @@ -34,7 +34,7 @@ stdenv.mkDerivation { meta = { description = "An instant-messenger client for the gadu-gadu network (most popular polish IM network)"; homepage = http://www.kadu.net/w/English:Main_Page; - license = "GPLv2"; + license = stdenv.lib.licenses.gpl2; platforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.piotr ]; }; diff --git a/pkgs/applications/networking/instant-messengers/linphone/default.nix b/pkgs/applications/networking/instant-messengers/linphone/default.nix index c3af0ad0e34..be12c7e8e2a 100644 --- a/pkgs/applications/networking/instant-messengers/linphone/default.nix +++ b/pkgs/applications/networking/instant-messengers/linphone/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.linphone.org/; description = "Open Source video SIP softphone"; - license = "GPLv2+"; + license = stdenv.lib.licenses.gpl2Plus; platforms = stdenv.lib.platforms.gnu; }; } diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix index cf42dd5700b..7cbc38ea0dc 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix @@ -14,6 +14,6 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.cypherpunks.ca/otr; description = "Plugin for Pidgin 2.x which implements OTR Messaging"; - license = "GPLv2"; + license = stdenv.lib.licenses.gpl2; }; } diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/skype4pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/skype4pidgin/default.nix index 544aa06877a..6402e7154de 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/skype4pidgin/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/skype4pidgin/default.nix @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { meta = { homepage = https://github.com/novas0x2a/skype4pidgin; - license = "GPLv3+"; + license = stdenv.lib.licenses.gpl3Plus; description = "Plugin to use a running skype account through pidgin"; }; } diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix index b87db662f45..348802fe16e 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix @@ -24,6 +24,6 @@ stdenv.mkDerivation rec { meta = { homepage = http://tox.dhs.org/; description = "Tox plugin for Pidgin / libpurple"; - license = "GPLv3"; + license = stdenv.lib.licenses.gpl3; }; } diff --git a/pkgs/applications/networking/instant-messengers/sflphone/default.nix b/pkgs/applications/networking/instant-messengers/sflphone/default.nix index a31a682abf8..fb14782ef9f 100644 --- a/pkgs/applications/networking/instant-messengers/sflphone/default.nix +++ b/pkgs/applications/networking/instant-messengers/sflphone/default.nix @@ -14,7 +14,7 @@ let meta = { homepage = http://sflphone.org/; - license = "GPLv3+"; + license = stdenv.lib.licenses.gpl3Plus; description = "Free software enterprise-class softphone for GNU/Linux"; platforms = with stdenv.lib.platforms; linux; maintainers = with stdenv.lib.maintainers; [viric]; diff --git a/pkgs/applications/networking/instant-messengers/silc-client/default.nix b/pkgs/applications/networking/instant-messengers/silc-client/default.nix index a4035604168..4ce098e6ca4 100644 --- a/pkgs/applications/networking/instant-messengers/silc-client/default.nix +++ b/pkgs/applications/networking/instant-messengers/silc-client/default.nix @@ -30,7 +30,7 @@ stdenv.mkDerivation { meta = { homepage = http://silcnet.org/; description = "Secure Internet Live Conferencing server"; - license = "GPLv2"; + license = stdenv.lib.licenses.gpl2; maintainers = with stdenv.lib.maintainers; [viric]; platforms = with stdenv.lib.platforms; linux; }; diff --git a/pkgs/applications/networking/instant-messengers/skype-call-recorder/default.nix b/pkgs/applications/networking/instant-messengers/skype-call-recorder/default.nix index 2fa82e1251b..713aa8f0374 100644 --- a/pkgs/applications/networking/instant-messengers/skype-call-recorder/default.nix +++ b/pkgs/applications/networking/instant-messengers/skype-call-recorder/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation { meta = { homepage = http://atdot.ch/scr/; description = "Open source tool to record your Skype calls on Linux"; - license = "GPLv2+"; + license = stdenv.lib.licenses.gpl2Plus; platforms = with stdenv.lib.platforms; linux; maintainers = with stdenv.lib.maintainers; [viric]; }; diff --git a/pkgs/applications/networking/instant-messengers/skype/default.nix b/pkgs/applications/networking/instant-messengers/skype/default.nix index f1ac1063934..32755306cc7 100644 --- a/pkgs/applications/networking/instant-messengers/skype/default.nix +++ b/pkgs/applications/networking/instant-messengers/skype/default.nix @@ -66,6 +66,6 @@ stdenv.mkDerivation rec { meta = { description = "A proprietary voice-over-IP (VoIP) client"; homepage = http://www.skype.com/; - license = "unfree"; + license = stdenv.lib.licenses.unfree; }; } diff --git a/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix b/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix index 51639f6050d..b0302ba8e0b 100644 --- a/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix +++ b/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { meta = { description = "Command-line interface for Telegram messenger"; homepage = https://telegram.org/; - license = "GPLv2"; + license = stdenv.lib.licenses.gpl2; platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/applications/networking/instant-messengers/toxic/default.nix b/pkgs/applications/networking/instant-messengers/toxic/default.nix index ded2bbf9250..b3e1ff74cfa 100644 --- a/pkgs/applications/networking/instant-messengers/toxic/default.nix +++ b/pkgs/applications/networking/instant-messengers/toxic/default.nix @@ -1,9 +1,9 @@ { stdenv, fetchurl, autoconf, libtool, automake, libsodium, ncurses -, libtoxcore, pkgconfig }: +, libtoxcore, openal, libvpx, freealut, libconfig, pkgconfig }: let - version = "b308e19e6b"; - date = "20140224"; + version = "7566aa9d26"; + date = "20140728"; in stdenv.mkDerivation rec { name = "toxic-${date}-${version}"; @@ -11,29 +11,20 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://github.com/Tox/toxic/tarball/${version}"; name = "${name}.tar.gz"; - sha256 = "0fgkvnpy3dl2h378h796z9md0zg05b3174fgx17b919av6j9x4ma"; + sha256 = "13vns0qc0hxhab6rpz0irnzgv42mp3v1nrbwm90iymhf4xkc9nwa"; }; - preConfigure = '' - autoreconf -i - ''; + makeFlags = [ "-Cbuild" "VERSION=${version}" ]; + installFlags = [ "PREFIX=$(out)" ]; - NIX_LDFLAGS = "-lsodium"; - - configureFlags = [ - "--with-libtoxcore-headers=${libtoxcore}/include" - "--with-libtoxcore-libs=${libtoxcore}/lib" - "--with-libsodium-headers=${libtoxcore}/include" - "--with-libsodium-libs=${libtoxcore}/lib" + buildInputs = [ + autoconf libtool automake libtoxcore libsodium ncurses openal libvpx + freealut libconfig pkgconfig ]; - buildInputs = [ autoconf libtool automake libtoxcore libsodium ncurses pkgconfig ]; - - doCheck = true; - meta = { description = "Reference CLI for Tox"; - license = "GPLv3+"; + license = stdenv.lib.licenses.gpl3Plus; maintainers = with stdenv.lib.maintainers; [ viric ]; platforms = stdenv.lib.platforms.all; }; diff --git a/pkgs/applications/networking/instant-messengers/utox/default.nix b/pkgs/applications/networking/instant-messengers/utox/default.nix new file mode 100644 index 00000000000..823df5c27a2 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/utox/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchFromGitHub, pkgconfig, libtoxcore, dbus, libvpx, libX11, openal, freetype, libv4l +, libXrender, fontconfig, libXext, libXft }: + + +stdenv.mkDerivation rec { + name = "utox-dev"; + + src = fetchFromGitHub { + owner = "notsecure"; + repo = "uTox"; + rev = "d70f9bfb4ff8a156ec35803da6226b0ac8c47961"; + sha256 = "10cvsg0phv0jsrdl3zkk339c4bzn3xc82q1x90h6gcnrbg4vzmp0"; + }; + + buildInputs = [ pkgconfig libtoxcore dbus libvpx libX11 openal freetype + libv4l libXrender fontconfig libXext libXft ]; + + doCheck = false; + + makeFlags = "DESTDIR=$(out)"; + + meta = with stdenv.lib; { + description = "Lightweight Tox client"; + license = licenses.gpl3; + maintainers = with stdenv.lib.maintainers; [ iElectric ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/applications/networking/iptraf/default.nix b/pkgs/applications/networking/iptraf/default.nix index f0a6dbbe7e7..db1f2011f11 100644 --- a/pkgs/applications/networking/iptraf/default.nix +++ b/pkgs/applications/networking/iptraf/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://iptraf.seul.org/; - license = "GPLv2+"; + license = stdenv.lib.licenses.gpl2Plus; description = "Console-based network statistics utility for Linux"; }; } diff --git a/pkgs/applications/networking/irc/ii/default.nix b/pkgs/applications/networking/irc/ii/default.nix index 537897c13b4..224f639cc15 100644 --- a/pkgs/applications/networking/irc/ii/default.nix +++ b/pkgs/applications/networking/irc/ii/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://tools.suckless.org/ii/; - license = "MIT"; + license = stdenv.lib.licenses.mit; description = "Irc it, simple FIFO based irc client"; }; } diff --git a/pkgs/applications/networking/irc/irssi/fish/default.nix b/pkgs/applications/networking/irc/irssi/fish/default.nix index 98d5afa0ba9..eb21f34838e 100644 --- a/pkgs/applications/networking/irc/irssi/fish/default.nix +++ b/pkgs/applications/networking/irc/irssi/fish/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { meta = { homepage = https://github.com/falsovsky/FiSH-irssi; - license = "unfree"; # I can't find any mention of license + license = stdenv.lib.licenses.unfree; # I can't find any mention of license maintainers = with stdenv.lib.maintainers; [viric]; }; } diff --git a/pkgs/applications/networking/irc/irssi/otr/default.nix b/pkgs/applications/networking/irc/irssi/otr/default.nix index 988320dd61f..4841aa8070e 100644 --- a/pkgs/applications/networking/irc/irssi/otr/default.nix +++ b/pkgs/applications/networking/irc/irssi/otr/default.nix @@ -25,6 +25,6 @@ stdenv.mkDerivation rec { meta = { homepage = https://github.com/cryptodotis/irssi-otr; - license = "GPLv2+"; + license = stdenv.lib.licenses.gpl2Plus; }; } diff --git a/pkgs/applications/networking/irc/quassel/default.nix b/pkgs/applications/networking/irc/quassel/default.nix index 2a5be53619d..ba3d7b8c368 100644 --- a/pkgs/applications/networking/irc/quassel/default.nix +++ b/pkgs/applications/networking/irc/quassel/default.nix @@ -40,10 +40,15 @@ in with stdenv; mkDerivation rec { ++ edf ssl "WITH_OPENSSL" ++ edf previews "WITH_WEBKIT" ; - preFixup = '' - wrapProgram "$out/bin/quasselclient" \ - --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules" - ''; + preFixup = + lib.optionalString client '' + wrapProgram "$out/bin/quasselclient" \ + --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules" + '' + + lib.optionalString monolithic '' + wrapProgram "$out/bin/quassel" \ + --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules" + ''; meta = with stdenv.lib; { homepage = http://quassel-irc.org/; @@ -55,10 +60,9 @@ in with stdenv; mkDerivation rec { combination of screen and a text-based IRC client such as WeeChat, but graphical (based on Qt4/KDE4). ''; - license = "GPLv3"; + license = stdenv.lib.licenses.gpl3; maintainers = [ maintainers.phreedom ]; repositories.git = https://github.com/quassel/quassel.git; inherit (qt4.meta) platforms; }; } - diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix index dbd5a41afd3..9c397f27c46 100644 --- a/pkgs/applications/networking/mailreaders/mutt/default.nix +++ b/pkgs/applications/networking/mailreaders/mutt/default.nix @@ -55,9 +55,8 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "A small but very powerful text-based mail client"; homepage = http://www.mutt.org; - license = "GPLv2+"; + license = stdenv.lib.licenses.gpl2Plus; platforms = platforms.unix; maintainers = with maintainers; [ the-kenny ]; }; } - diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix index 13facc90690..15acd5af8df 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix @@ -38,118 +38,118 @@ }: let - version = "24.6.0"; + version = "31.0"; sources = [ - { locale = "id"; arch = "linux-i686"; sha256 = "e19f6f5b8f19178350ec68386afd2ab7e5900b8c1fdb7bf81928fedcfcea5cbe"; } - { locale = "id"; arch = "linux-x86_64"; sha256 = "ece7445451150b2776f5debc818e288b9037dac1f2da9c7f7db584b6d2b73d34"; } - { locale = "he"; arch = "linux-i686"; sha256 = "0ff30ffc7ffe087056b0e72d66d2bc264c1060e3abb65e0c4d53d976855f436f"; } - { locale = "he"; arch = "linux-x86_64"; sha256 = "dd41d433644f7790ace1f246ec6703c060456260716710fc4318ca834ecd758b"; } - { locale = "el"; arch = "linux-i686"; sha256 = "eb6d53c00a6cd912279b56c5322d65b94fdd2a021c9ea2c854f664e476ae89e2"; } - { locale = "el"; arch = "linux-x86_64"; sha256 = "b0fdf2dc2de7ba5296f69694908aef4954b24b4c3092bddbec8995bf838bb817"; } - { locale = "tr"; arch = "linux-i686"; sha256 = "71f4f7738540445dc64399368bb63bf48ede79f055d6647ba9ed4d274040d623"; } - { locale = "tr"; arch = "linux-x86_64"; sha256 = "2be714b598bf8f1a3c6c9a13141d370c4d29bfec3e4053eb6f1c8a6a7988a96b"; } - { locale = "ast"; arch = "linux-i686"; sha256 = "8b2c3b83f4f88e33ac31b07dfb64e83fd1b2cce9ad877c8bb5715a0e6299ce6f"; } - { locale = "ast"; arch = "linux-x86_64"; sha256 = "93cd2c5c6c2ac05af3bb55a723bf3f02234d55064b5ea7cba6289bd07cca7647"; } - { locale = "nl"; arch = "linux-i686"; sha256 = "2f11b85055fa21b4e2677b92fef34a769ed56bdbd877fefb86599edb5dd39932"; } - { locale = "nl"; arch = "linux-x86_64"; sha256 = "d47057633c0ec5e785a723c45c5b8b0168e3d3fabe4aaedb4ca1adbff29a4dcd"; } - { locale = "bn-BD"; arch = "linux-i686"; sha256 = "902274548b7308e75c465f71912a7d1e5539e92420ffa17c80a2ac20d02d8630"; } - { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "044494d6bfc07b9cbeaa325dab3c1f0c5e554a05f1a050d960c39fbe093d9482"; } - { locale = "eu"; arch = "linux-i686"; sha256 = "e453a06a64c35ed81e661c67fbd4241a7c5494b1f3d2bf5ace7543798feb338c"; } - { locale = "eu"; arch = "linux-x86_64"; sha256 = "e8006f0e89153424c809de41ec1a714b91011b5a2a9601c1893a6ff30dcbd2ac"; } - { locale = "fr"; arch = "linux-i686"; sha256 = "fed414783f8e9bba5be6d4cb90ef04f274aabab34f3b4351a329d5c5ae7ae8f0"; } - { locale = "fr"; arch = "linux-x86_64"; sha256 = "e8f0203bf90bc30c89380c417921139f7b92ef1d38b3d95d292acee3be4e93c3"; } - { locale = "br"; arch = "linux-i686"; sha256 = "0948d002df401b9aaedbf8e3277ce312edeb635baa57b1bdf5de87cc13dd36cb"; } - { locale = "br"; arch = "linux-x86_64"; sha256 = "733e09671f00c693e13a726fa597b4705822e693ddce8a0494c57fde1de3cb56"; } - { locale = "pa-IN"; arch = "linux-i686"; sha256 = "c160c17e4b9b0e3d579a01b5973d142c711d4f87b03fd542d073d816ced9a9c9"; } - { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "0c281e6430a233aca5c6130e907e08c7d05aed8851214063546aff5a5df82232"; } - { locale = "gd"; arch = "linux-i686"; sha256 = "5d85eb78f01e1d52e733d4abf8d33281ec2c4adf9a9c65f50c6d6e2b6acf3d1d"; } - { locale = "gd"; arch = "linux-x86_64"; sha256 = "a7bb71bb08ccfc01f8e91b47b6ee0ac4592976e964454304da493e0582d262d1"; } - { locale = "bg"; arch = "linux-i686"; sha256 = "a63e060eac9efb27b4166e05ff6a035afd51cd29d45ddf69e5226e08441ac53c"; } - { locale = "bg"; arch = "linux-x86_64"; sha256 = "8a5f45352e180e984c7f1bc37f0e7602cbc6085a3dcdcac2d74f493941fd9f0e"; } - { locale = "sv-SE"; arch = "linux-i686"; sha256 = "ef70e1ff3ff3ce2fd9ecbe62ed010c06e63b410b843cdc3aa3c93fda2bf56708"; } - { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "af33cba52556057abf17df0e92c11ecbf39382bbf92c66b137113e5503ae170b"; } - { locale = "ja"; arch = "linux-i686"; sha256 = "f87eac6641ebccf018c76275adcba03976b9c62b9fa51533ec67ab0d2a5a91b9"; } - { locale = "ja"; arch = "linux-x86_64"; sha256 = "009b53f10bd785a799026dab028fbb7fa46c154569eba98db2673af12f6c19c4"; } - { locale = "pt-BR"; arch = "linux-i686"; sha256 = "ae2243346546cc2c768a9c24fc296013a45459637ab65477537f9d08d5ae193c"; } - { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "5cb2af1ec854e12b91bdf7f2fe88b56bfb45bf7144cf5cc3f0e307259d767a43"; } - { locale = "is"; arch = "linux-i686"; sha256 = "bf3a2e4efd86b1e73ac38ef3dc880ce2cee3102d2844b17ebf31aa6528040a92"; } - { locale = "is"; arch = "linux-x86_64"; sha256 = "d36f8d321d2952310dcb19a288f36f6496ca24e7f49fb483882c270c1c96571d"; } - { locale = "es-AR"; arch = "linux-i686"; sha256 = "e05f63d1f978029169a91719551b6e399be0e0d37310921168904d188e41f50d"; } - { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "b8025a7a724a0d98c4f706e7ce59aae8c0f7bcd0082733ce6bee73a1d243feef"; } - { locale = "nn-NO"; arch = "linux-i686"; sha256 = "26ded9a3ebea58bcf80ca47759d4fdb86fe91aea8dcf56afdbaf7a32d548ee66"; } - { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "fd8321d5d6adaae042651d911df6ef587afda19ee82bdcfce98814144282b54d"; } - { locale = "sr"; arch = "linux-i686"; sha256 = "94b94517072901f34ab28b6cf3a2fd8852867f147ab4b47f34f7d9ae16fbd603"; } - { locale = "sr"; arch = "linux-x86_64"; sha256 = "e38f493ea1b8c0b183bad2f2627eb166e75e875a62b33704f50f8f831fd552ec"; } - { locale = "si"; arch = "linux-i686"; sha256 = "319ae8256ecf3d7623195e474040fffffff230cd612571872a38b52b608c0507"; } - { locale = "si"; arch = "linux-x86_64"; sha256 = "f776b8a9efad41f5c2f8770452a0bd053a3ba9ed4b74da3e3f24214c69e9779e"; } - { locale = "ro"; arch = "linux-i686"; sha256 = "f6aea954d3ba2334411a7ce9e7e1da926b0039935c5db3a5480f0fbda583b849"; } - { locale = "ro"; arch = "linux-x86_64"; sha256 = "9fef811764441b2b16e408808f4608e17cd21175cf45774162b3bce8b8612491"; } - { locale = "it"; arch = "linux-i686"; sha256 = "71df4de89a1eff632339dbaf48ce41182f7a20f7e55a223f6816ef86d3465443"; } - { locale = "it"; arch = "linux-x86_64"; sha256 = "076332c97a5c854b2313bd9f2138a6660d8e04fbddc3f8beb89acf071efd4c86"; } - { locale = "pl"; arch = "linux-i686"; sha256 = "1a45f7d1d8817f6c724dff556886edc3f2d0ee62ff45bea8d6b7ef63f7f92928"; } - { locale = "pl"; arch = "linux-x86_64"; sha256 = "8aa25320126052c9ebc3496e8731224e30fbd45ee2679f4d87f7f2050a01c312"; } - { locale = "sk"; arch = "linux-i686"; sha256 = "83a31a94eeb95e28612eeb1e696ed387b6793da350efda439de11833e0ea1173"; } - { locale = "sk"; arch = "linux-x86_64"; sha256 = "8c1647f8bfb210f7da8aa164777ef412bf3d4459ce53c95ee2211b4b5df440dc"; } - { locale = "vi"; arch = "linux-i686"; sha256 = "e5bb99de119fd6496674fb9cc8432f146e684afc652dec2861108d1ef20b49d7"; } - { locale = "vi"; arch = "linux-x86_64"; sha256 = "f35e62031154a32da68ea3d6960da8807f0de7ade7071526fafd6ace48c88976"; } - { locale = "rm"; arch = "linux-i686"; sha256 = "0826595dddc981b64d4f1a59cd71411c34ccd0aeac182925709abeedff8461fc"; } - { locale = "rm"; arch = "linux-x86_64"; sha256 = "b5b8d30251fc482861518e1c86001aa5eca6b53a65e14a8c6ff9e61eaf651044"; } - { locale = "ar"; arch = "linux-i686"; sha256 = "a9b2138cacc983142353ec09a5c4226fc731501da4c0200cc86026e6b28ca10c"; } - { locale = "ar"; arch = "linux-x86_64"; sha256 = "6c9a2ce8a8d3b4815475827caf89a3fee8371c422aa6c4984bb03f56728b682c"; } - { locale = "es-ES"; arch = "linux-i686"; sha256 = "813260cf5ab06e55c563e015e0172ce0192ccdd894a352ef6d4f439252032619"; } - { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "c879fe62db6952f91c51ec7c172bc67d5351f55e99ab6df5cdd8639206f3444a"; } - { locale = "fi"; arch = "linux-i686"; sha256 = "33888c19b7e5e57155748d7372ad2b0e61f522ee96913f8846c754c3361fcb4a"; } - { locale = "fi"; arch = "linux-x86_64"; sha256 = "d5487588cf07cbd2b02b1c566b6515d087cf8fe9d528890b1dd5a0de53ab1d8c"; } - { locale = "hu"; arch = "linux-i686"; sha256 = "72b3a36269de70bd627589bad817e7702a4c83fff9b460e4f787486fa4bf15c7"; } - { locale = "hu"; arch = "linux-x86_64"; sha256 = "d458ed4b62f65ce7c3787930549cbee42842ae87a846e5d1565c1881b3bc17e8"; } - { locale = "zh-CN"; arch = "linux-i686"; sha256 = "3155a71e847020b2806f6b31acbaa702ccf20f8bd805c2aedb0c9c415f75b88f"; } - { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "b56beb864d247685cd9ba6820e5a8a143be28ff95440e38670c8963d2c769738"; } - { locale = "uk"; arch = "linux-i686"; sha256 = "74b7059580a4f389278b1059d80308101ffcfd0a738c6d614e56560ce116db34"; } - { locale = "uk"; arch = "linux-x86_64"; sha256 = "a351421c230f6629de0125a30767ff10d541264f6249f6fa2568eae76189398f"; } - { locale = "ko"; arch = "linux-i686"; sha256 = "d26ba336a555276c36f9a003df9bc3e0df1c40dd4da7062d1cd8b3a6cba6d52c"; } - { locale = "ko"; arch = "linux-x86_64"; sha256 = "078e5878f823b2d19568af8bda095e6ab46097a680b209bae9242d7658377abf"; } - { locale = "cs"; arch = "linux-i686"; sha256 = "c9aaab25dabdba0708459a82882b926155b475314d72463633af10c27d9e5dfb"; } - { locale = "cs"; arch = "linux-x86_64"; sha256 = "9a9fc61875f0427c26107b96ee3a6f7d71717c0d4aa6e41cc7b1b56bff2131e7"; } - { locale = "be"; arch = "linux-i686"; sha256 = "afc862a2a1054f08cffa0ec4facb2e9098fb042f7e4dab85c2ace7f30a384426"; } - { locale = "be"; arch = "linux-x86_64"; sha256 = "50353005857df556840fab0b18e8784dc18cbcdc5c45f4fc1f68f6b78b58048c"; } - { locale = "ru"; arch = "linux-i686"; sha256 = "4876fcda18fd01b51f392a56085ebfcb97cefd69355666f42d58ffe53b9eb8e9"; } - { locale = "ru"; arch = "linux-x86_64"; sha256 = "ef90a31aa408c6c86f3103d7bc82e3e8b5ac7bc9956d431ef46e1f44156b7dbf"; } - { locale = "ta-LK"; arch = "linux-i686"; sha256 = "ee4a961e76e63a79d08118e2355e37b1b2a1e0260613532ac6dc7c9a9e86caf1"; } - { locale = "ta-LK"; arch = "linux-x86_64"; sha256 = "9a1233c0ee7a72f8b1c071a6cd507d870d34bd64c71f7f960c00cf2e840ea5b1"; } - { locale = "zh-TW"; arch = "linux-i686"; sha256 = "00bf471763ca98d7c7e0243f5bbc75230b6cf8cea9c5dab17464c47544d102de"; } - { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "61e474bd0c930b9d6bcc553a87c07e415e1fe037dd033a6a97f9137d4fc73f49"; } - { locale = "de"; arch = "linux-i686"; sha256 = "e93520901aa59938e1c51c9943225dded88c668a91da6660de9f41714114ac8b"; } - { locale = "de"; arch = "linux-x86_64"; sha256 = "008156ddb73f4eb91d801d8bc35685e517328b5e5f13a4ed39873df471d01c67"; } - { locale = "nb-NO"; arch = "linux-i686"; sha256 = "20b3b10e12238238737fa0da3dce5e2fdff1161594b415c5872dd7416001482b"; } - { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "79f854469ac1a6fb0768934dc20ebc511a01904c71f321ed31ebe400ab88f4d8"; } - { locale = "fy-NL"; arch = "linux-i686"; sha256 = "61cec7fef6e75ecd7d459e973b258c5b62af0dbfd175b7000484594e63ead2e4"; } - { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "83b3761bfd949e3890c7006ba9610e858fab25815cd6e2f3f293ca707086a78c"; } - { locale = "sq"; arch = "linux-i686"; sha256 = "f36321189ed80130b9e4a3a6e387531c48745f4c109f35afe928cf2d44e1b424"; } - { locale = "sq"; arch = "linux-x86_64"; sha256 = "81da71b2ce832788213ed60f801fd79e61205a98c44e9082a35f2195af314de8"; } - { locale = "ga-IE"; arch = "linux-i686"; sha256 = "b759d93d78964eb8b9ce5aaad37d652fa425cfb5d6049f58a31c2492e3aa475d"; } - { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "62b32a8a4e7455c42bbf8cc5029919a64ca2ff61e06f535dd628a8dd612a15d9"; } - { locale = "da"; arch = "linux-i686"; sha256 = "4ad6ede882e973b37627105812619d2e8c804d50d496d96f68554bf75ca093fe"; } - { locale = "da"; arch = "linux-x86_64"; sha256 = "9fd6ce0edef1a8c8eb7d811afa39600a2c946f9ed87610a9e98a971d4cf31b08"; } - { locale = "hr"; arch = "linux-i686"; sha256 = "35254ef736865d1a7c368e62c9cba68fa64b7f017aca4d9569aeb18b5f559717"; } - { locale = "hr"; arch = "linux-x86_64"; sha256 = "6ff8a5b4ebfb9217b37afdfc4d5cab01f1ce66387010d2105a51bed486eea52c"; } - { locale = "ca"; arch = "linux-i686"; sha256 = "eb4af3ff107f6827d0288bd68486b8eef174c5dc6e9b5313099d99b2e695db0d"; } - { locale = "ca"; arch = "linux-x86_64"; sha256 = "80a6bf800a53af0cc9445c632546ce7cefcf5bd819e6e5e35e662330d58d757c"; } - { locale = "en-US"; arch = "linux-i686"; sha256 = "ba35f578095f79582341e988ce7c5e07f489833f7a309756c80caf4f56367987"; } - { locale = "en-US"; arch = "linux-x86_64"; sha256 = "09c193e865e90b6d2c547c17d10add7d43e8b89b630a8a490323d4ed391c924d"; } - { locale = "pt-PT"; arch = "linux-i686"; sha256 = "57610296c564291a8432fdb9215bcfbab6f09792c47e5606c1619bb203c7f5de"; } - { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "c702acf69957ffd1c4774f42d4f28dc239a4c5bcf6e003c236952167bf9e7e9f"; } - { locale = "gl"; arch = "linux-i686"; sha256 = "56ae2d38af2988791163e6b118c781d55e2c545097aa5afccc72998705312888"; } - { locale = "gl"; arch = "linux-x86_64"; sha256 = "c5386f149831aa2f48b65391f31f8f2e0a9c3b7a8bcaae67420a5819e80315ec"; } - { locale = "lt"; arch = "linux-i686"; sha256 = "8409401c0b87be071d081c03eb34e3338cb62e80669045f5d268f8da60d96bce"; } - { locale = "lt"; arch = "linux-x86_64"; sha256 = "4f93e9b0688e30586b3d372944ae5579f7249220733d6045e6bca3830e7f121a"; } - { locale = "en-GB"; arch = "linux-i686"; sha256 = "ae1608b9e15862f82d15c5acbcd9f65775efc4368588bc685ebff523ff93e2d6"; } - { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "2466f020209de610f429315e0b090b43cf42c9ce540c6bc51e7ad11f5a3449f5"; } - { locale = "sl"; arch = "linux-i686"; sha256 = "76cbcf31388cbe72ebbf3fa3be66a0cfe20cd572febf062f3a58a9c50313aa03"; } - { locale = "sl"; arch = "linux-x86_64"; sha256 = "e4aa9dd8bb21f3d79ce5f9cfc907fc8a355fef349dcdec30403d534bf3cfbdf6"; } - { locale = "et"; arch = "linux-i686"; sha256 = "06561fa96d5166bfbe8eb492ebc08b3d2a768a8a7a251b357dec89ad33f3825e"; } - { locale = "et"; arch = "linux-x86_64"; sha256 = "85e663261cc6722c25dd36e1c0a15b7a82a3a6aaca54191effe8ea09ccb8c43e"; } - { locale = "hy-AM"; arch = "linux-i686"; sha256 = "d80f116d39e48b42a767fbda5b6e765be4bc3d210cf95d80bb014606785be3e6"; } - { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "c2e124736d63581a3034e60fe3d40bfef9458a712853ab5c8c5d391a9d3af6a9"; } + { locale = "nn-NO"; arch = "linux-i686"; sha256 = "a1e9954236de1d0581342fbb894b721528bc51a208d3bbedd4d8defbcc1cb50f"; } + { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "0fe9c22ad8cf575813ae8e476d985a3b951174df5beda67fd98e261f831252aa"; } + { locale = "lt"; arch = "linux-i686"; sha256 = "35fb5c44bc3ed25beec4f6172c44f75426579f27bd2302361870615bb1f62194"; } + { locale = "lt"; arch = "linux-x86_64"; sha256 = "3b04ffd5e1640c0138e5dab63a1059bd0342fff9f44547c6b34fbe6da810f911"; } + { locale = "ta-LK"; arch = "linux-i686"; sha256 = "2e8a1b96820216fda11c234d80a74d7326b49d7ac3f595f646aa10dccde61940"; } + { locale = "ta-LK"; arch = "linux-x86_64"; sha256 = "006f25951b4ac90b8d8d32491d260900dfcfb24c10cd4a10dbadf3840b4bcd4e"; } + { locale = "bn-BD"; arch = "linux-i686"; sha256 = "839e95de15a4e0287cfe36d70e07d1d40a1708016f615244a84553794ac76b4c"; } + { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "592a353df70c368c3c9855ead6d3b68433e7ebaaf42169108b9e74a83517230b"; } + { locale = "de"; arch = "linux-i686"; sha256 = "890bc1ee046ebf67079bd39ecb761a78fbf8cee8f72b32958ad18a0c3184b23b"; } + { locale = "de"; arch = "linux-x86_64"; sha256 = "7b52dfc2cea5bedae2ccfe11b0ec2d66edb81b76c2272c60f4bb247970384c9f"; } + { locale = "rm"; arch = "linux-i686"; sha256 = "6ab1e46650ff296719e498a1b9e5dad5c2f32e6be9d6fec12d1ab917a5f76872"; } + { locale = "rm"; arch = "linux-x86_64"; sha256 = "fdb170e3f546de759ef8a8aa85f6c3bf5152e121739cc27797c3065f4f85c183"; } + { locale = "nl"; arch = "linux-i686"; sha256 = "208be79ce95d45f4f69d8bf53d4e2f457410653a81117b4bd4d42bf14a1485dc"; } + { locale = "nl"; arch = "linux-x86_64"; sha256 = "2e562f9f59457d484ccfb1beb0129e2ca3ba4e5cbf5c955a65480836dc2e6567"; } + { locale = "sv-SE"; arch = "linux-i686"; sha256 = "07c7836bac31fa835c244dbe5eff19bad5dc5a9339cb8a94bd07d88f8590c867"; } + { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "7124de1e3cff7a5c17506f8e175aab1aaf96d4c9fd57824d6c0af110f47b1fbc"; } + { locale = "fy-NL"; arch = "linux-i686"; sha256 = "5d4e7f1f82b53161e84abf45f4a7210f0304399efed2df621c2e24cd5f1e1db0"; } + { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "814798f7dd066228ae73ce6bfdf430db4f0c4e905ce8a6670c73f894865dbf4e"; } + { locale = "si"; arch = "linux-i686"; sha256 = "35727d874cdeca69e18cedc109b6c3540c8dbb7450b2158cb1209cf00272cc38"; } + { locale = "si"; arch = "linux-x86_64"; sha256 = "0aa2232adc0e06c0a841a11155c2cd8f317b2f12b0e02c239ebe6150ad3bc278"; } + { locale = "vi"; arch = "linux-i686"; sha256 = "b45871e531b18a35f60240dc0417e5a9f08f8c9e3ea762a36e938425505df8b0"; } + { locale = "vi"; arch = "linux-x86_64"; sha256 = "a32dd96a41ed33a81c240c60c3538db45c1c4357ceaf37c8482a378a526c5454"; } + { locale = "br"; arch = "linux-i686"; sha256 = "3162753876da622895175afb60cd89be1ee343a10a45f9ac3feb3b306e161838"; } + { locale = "br"; arch = "linux-x86_64"; sha256 = "7c8d26a07d239f18f94f14696036974317ac1186072ba4482c315d02dcb97e5f"; } + { locale = "da"; arch = "linux-i686"; sha256 = "8cfaf98f3702b418bfd7692373b9f6e99a4b06e47a75a2df602e98d8f6acf761"; } + { locale = "da"; arch = "linux-x86_64"; sha256 = "6bd9ab36402f3391abc2e96f8786e16407736cf04d524e562736ac47279e2a26"; } + { locale = "fi"; arch = "linux-i686"; sha256 = "0a3e7c130197d4abcbf4d37eef51a946c11cf72707686f8c7a0caa9cc21e75c8"; } + { locale = "fi"; arch = "linux-x86_64"; sha256 = "8d4003960a8a7a496662b59834118c8712443761b867e5f54f3bf4a683715d22"; } + { locale = "he"; arch = "linux-i686"; sha256 = "5db77f9d117071feeddb5eadf74ea6332ccf9abaa441ba4d7b0a5f0f3781452d"; } + { locale = "he"; arch = "linux-x86_64"; sha256 = "46995a9f269f0385fc9ac9d31ee65d84e79ac81bd61892adaeb1afff991bcc82"; } + { locale = "zh-CN"; arch = "linux-i686"; sha256 = "73071beb9caa24aaac8eec9cfb01f7e333dc6ac438ab36e7f5afa7d850dbeb8e"; } + { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "a17cc26a51bbcff44837d74bdb35ba0ae10def6f4b536c4a67e9169221bd0afb"; } + { locale = "gl"; arch = "linux-i686"; sha256 = "4782b1f56c1f5fb1f802385d693a96b5013503e97e4d73e43fb90c3331aec839"; } + { locale = "gl"; arch = "linux-x86_64"; sha256 = "dbba59d0c697e6dc05bc2b554eed2c6040642cb1246a4119cd7c37b0451c6d4e"; } + { locale = "sl"; arch = "linux-i686"; sha256 = "b37a5eaf187d1c026990f55a3e993594a49bb689f1643d2f944c7f3c7cfd6819"; } + { locale = "sl"; arch = "linux-x86_64"; sha256 = "629132c5cc5f937fb504542662bb8aa7570eee1ae648087dbfb0c6dedadfa53c"; } + { locale = "cs"; arch = "linux-i686"; sha256 = "89e818736957569f91f7f329118b09a27b072c6d7c89f601eb02cd1d870c4088"; } + { locale = "cs"; arch = "linux-x86_64"; sha256 = "6a3a358227972a0eb60b1b531f322ebb2e604805bfb50b55d88cb8447b443105"; } + { locale = "ca"; arch = "linux-i686"; sha256 = "794b1e0be4bd6f8facebe3aa44f66a139a660d4fe75891f463adb5d7da7b32cb"; } + { locale = "ca"; arch = "linux-x86_64"; sha256 = "81b51a607844b229d026d9acec4ea1739c365a890857871260b6eca92a176e04"; } + { locale = "ar"; arch = "linux-i686"; sha256 = "924c5c47c76fc09f5a46176ef1a6e3466d783b8a4c08a5e660a03e0e84459116"; } + { locale = "ar"; arch = "linux-x86_64"; sha256 = "c46c2285a6f1c825e52ea6cd7dda31d6f67be15668ecf71883c55c9fa21a3fd5"; } + { locale = "tr"; arch = "linux-i686"; sha256 = "58a53bf3ad217b36beb9795f34349cfa3f10b7a39044f024c547be31b033ee28"; } + { locale = "tr"; arch = "linux-x86_64"; sha256 = "21d1f89810a284818c0a73e8abd5b51a9ea58b7db2b9bf6dd5e0119f4bfc13a3"; } + { locale = "ru"; arch = "linux-i686"; sha256 = "67cb3d38230d24c2a7615468ae2465e6f768904e3735ce31833dcba7b98023c5"; } + { locale = "ru"; arch = "linux-x86_64"; sha256 = "9e6b5351e96b9b2c57ce04fddaf9656adf84bc2a961a8ca614cec2f830d4e2a7"; } + { locale = "uk"; arch = "linux-i686"; sha256 = "80d0a09d93362f7eff9c7a20025080207a14c43e56b132c3962dd1d795d2a85c"; } + { locale = "uk"; arch = "linux-x86_64"; sha256 = "07d92405612e1000bc0b401481e94548877511ce224f19b23aa4fa192f21d489"; } + { locale = "fr"; arch = "linux-i686"; sha256 = "0d70e52c8dc5bf6f13c8ea2a5762cb94534ec54548c792ae181febc3d23c01cb"; } + { locale = "fr"; arch = "linux-x86_64"; sha256 = "2962de1886753b81684360ffbf97afa4d4371662a6f467ebc369e225d335745d"; } + { locale = "hr"; arch = "linux-i686"; sha256 = "6eacb202078be4de4a86c3fc957dbf482e32ab28805d719aa5d0d7f4fd832f48"; } + { locale = "hr"; arch = "linux-x86_64"; sha256 = "83ed10b7d9d74a28f9982a9d11840522f214ccb53ed599f9fce6ae26bd9d2298"; } + { locale = "el"; arch = "linux-i686"; sha256 = "227140594d1e12f2edf4e942327a8c64ab922796f7bda324eead8a299a6082ab"; } + { locale = "el"; arch = "linux-x86_64"; sha256 = "bc219c6795389fbdf20c4a84a61c350f376374285eff9aaedbc4893fdcbbdc24"; } + { locale = "et"; arch = "linux-i686"; sha256 = "4ac7de0edc1d2b084f38058f8c55e8c2fad0782a1f7f7ac69af5c6f28e2a71f9"; } + { locale = "et"; arch = "linux-x86_64"; sha256 = "cf026ebca03f6eb59b81073f754b9989f2023bb61d8dfaacbb28da3372abf43b"; } + { locale = "it"; arch = "linux-i686"; sha256 = "001f67664b02736aa757fa99ec00c8df023ead8f94113d1040092057031c4557"; } + { locale = "it"; arch = "linux-x86_64"; sha256 = "39fdd81738e0cea77c0f860f0e5253416daa6bd13f1e9feab4c6a52c6dd981f9"; } + { locale = "ja"; arch = "linux-i686"; sha256 = "0a5a830078e0774e81154f07055613d4b6dd6875be4ac976ac70883cfa0ed9cc"; } + { locale = "ja"; arch = "linux-x86_64"; sha256 = "a33890be6ac154862b7b80f864990b3bbad2db8adbf1d26bf2cd61b175db673e"; } + { locale = "bg"; arch = "linux-i686"; sha256 = "6f837f1c640c46dd99c4ab691ec6964e40b6d931830d4da604d4329c6d1ecde2"; } + { locale = "bg"; arch = "linux-x86_64"; sha256 = "a37294fbf0b358e5b9619aa36a20f92fc637a6b0697b8d607b958d256ce81225"; } + { locale = "nb-NO"; arch = "linux-i686"; sha256 = "2bbb5800b9a6d03545ca3dfc8f99f9f30c11e474ea360481f1f7e9610b0a87b0"; } + { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "e2a68f359f48a19437605b581bf9a8cf911feabfb2b15ec3724c60d1cbfe15ec"; } + { locale = "es-ES"; arch = "linux-i686"; sha256 = "976fbb88b1c75dc402b9eea76aef4d8a0886ee76bcf65d798a6ae8234b2b297a"; } + { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "190679f7638b3697b236d971014f0da938aa2d664afb93e7f4d1c0fb51bfb46e"; } + { locale = "ro"; arch = "linux-i686"; sha256 = "530b19e48b0e49047746b2f5dd486cfb19930b1064478c465ce2acb21eac66ba"; } + { locale = "ro"; arch = "linux-x86_64"; sha256 = "0fe30abe10b4c97aef9ee40550205e0f269c5cfe76c08a36c8cf886a5af78558"; } + { locale = "en-GB"; arch = "linux-i686"; sha256 = "3f2d2784e3aa75cbd3ca0579d660b50b31e488253e52fedbfefc7c5448803967"; } + { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "83e64293ed8d1ecf509e2617a71fed9583e4d4c3de3ae5b50175ad8c0f8322ae"; } + { locale = "gd"; arch = "linux-i686"; sha256 = "aa282b17eeeb185734f33d2ed9f287958d8a48ed82653d197426e3e3091ecba3"; } + { locale = "gd"; arch = "linux-x86_64"; sha256 = "c17db84f0cfd5525e4b8a08e300cabbbcd2bc45f59eb886e180eef0f8c4e45ef"; } + { locale = "be"; arch = "linux-i686"; sha256 = "909ae64789280db1a07b3b57dfa1a5d337fecd3bd59bacd3bab2eb72dbecb04f"; } + { locale = "be"; arch = "linux-x86_64"; sha256 = "9021a15bda3d4947e1ed6ee6666a252e3541b020d8d7eb58e854e426719f8d6d"; } + { locale = "pl"; arch = "linux-i686"; sha256 = "a3536d7e8bb429d562e7731fea8675dc9d442ca8e59cc72eb1b404da12d1d53a"; } + { locale = "pl"; arch = "linux-x86_64"; sha256 = "99cb049415e4837e615e1946409d1fd62966ae8eb843d89dfb61a6675b5b363f"; } + { locale = "pa-IN"; arch = "linux-i686"; sha256 = "06a17ca2ee8f44098252f24dae17589f32c80bd35e127a093c18161751a581fc"; } + { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "b8537b39f3e1242e3ed705ff919b01eb89ac72cf7c15ef0c44d258069c8ea317"; } + { locale = "ko"; arch = "linux-i686"; sha256 = "f2f1e9babb37f79121034f9b8cbc90fbf9f0fa1c152a7f0d7162aff6f6e33f1a"; } + { locale = "ko"; arch = "linux-x86_64"; sha256 = "60bc6bd468c820066e00f8108e0912df57a941b4150c06797a7958ec684c4969"; } + { locale = "sq"; arch = "linux-i686"; sha256 = "a88591a1850b56c68dd75b4ecff79a32d46dcb42f788d66bb46d45cd0f0d5672"; } + { locale = "sq"; arch = "linux-x86_64"; sha256 = "2bb7656dde363f3c3d3c8c8b4dbdb306f7e618491c917bc7c1b6e6f41d30fbf0"; } + { locale = "id"; arch = "linux-i686"; sha256 = "b396c752f7652e5ee31d6bec4bfb70b2d86438d966051f91e4d7a77ce5a924dc"; } + { locale = "id"; arch = "linux-x86_64"; sha256 = "1f0595e6953b0b6aa09577f180897760f8f85ba15e00e6ae3b12105c705cdac4"; } + { locale = "sk"; arch = "linux-i686"; sha256 = "4d3a4d283705889759dcb321e4b700896b132634005590e546bf6744e6187260"; } + { locale = "sk"; arch = "linux-x86_64"; sha256 = "456252e7bb5f29ef3c76afb2df0f406fcf93ef1c6df56d0f209bb85e91c8acce"; } + { locale = "en-US"; arch = "linux-i686"; sha256 = "ee93df33057576bd55bc80b71aeec7c6f487028f0fe52f679614811be5c71bae"; } + { locale = "en-US"; arch = "linux-x86_64"; sha256 = "7f7189250d76f970bfc1879b2ac6fe2d42bdcf3a652614fa4e080dcc636bbd4c"; } + { locale = "sr"; arch = "linux-i686"; sha256 = "cb389bd9712def87c06ffab3fc50b8fa58c773c6725fd0e0befec3e2ac957ef5"; } + { locale = "sr"; arch = "linux-x86_64"; sha256 = "8f9bf916357e7385dec5de9e4d58f6dfbe3c7fc6d2b66298304c3630189833e6"; } + { locale = "zh-TW"; arch = "linux-i686"; sha256 = "f89251f74b85c22a9f7b97b844a118e498698e205f733f1fb0d7a98787f973ee"; } + { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "019a15e1e83b6810de6a4d64deb3eba1a9c2a0c6f1c382582e356445e40d5bda"; } + { locale = "es-AR"; arch = "linux-i686"; sha256 = "ae1d03ddf4b424edc59e08c65a9fb20107311289e4faf8f06f14bc471b00d35f"; } + { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "a19dce910ba5be35c0fd51be50bd96be3b3db84587f749ed9a108a14a3b732b7"; } + { locale = "ast"; arch = "linux-i686"; sha256 = "8cb4cb6a99955209026224a4cbbcab7b37b0b9fc38147eeaa439631be7750c08"; } + { locale = "ast"; arch = "linux-x86_64"; sha256 = "4520a3ae24cc7056eb87d48280999c2c3da6aa76b9182c291512dc80363efb27"; } + { locale = "ga-IE"; arch = "linux-i686"; sha256 = "8803a9477f6ac963bdacfd82f6e6b8aabb217fa6c39b311645e461f38cda3757"; } + { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "c8eae521293986be6d626302d91abbb88a12855565fd41c3614f7a5d7534f0cd"; } + { locale = "pt-BR"; arch = "linux-i686"; sha256 = "9ea7f173533757c99a9c2dfdceab5cc58e583f929a2e7db95184823a00319a0a"; } + { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "6b9775f8142273d118870887da2728da4732609395897513739df7b352a4989c"; } + { locale = "is"; arch = "linux-i686"; sha256 = "bcaeea579405f015fcdb78e16cfd92e4c0895614c5966a1a7049a4fe310b1c46"; } + { locale = "is"; arch = "linux-x86_64"; sha256 = "7de3a89ece968819fcd7f438aaa2f5762f9d936b20fb3c364467ac123b24182e"; } + { locale = "eu"; arch = "linux-i686"; sha256 = "af7f04ef648264f56dcb62e7e473586f3c5b13d3ecd2918278962f335dda7966"; } + { locale = "eu"; arch = "linux-x86_64"; sha256 = "8477854792552b471e4eb11f71c79b14544cf438e795feae3082c0f3a31e0c8a"; } + { locale = "hu"; arch = "linux-i686"; sha256 = "21db7e27557670796db9282174e7da04afe3a0c89b31e042f7bbd3992e4e08be"; } + { locale = "hu"; arch = "linux-x86_64"; sha256 = "8f05b160d346b45308ba0c7dbe531bce043f22abffd2a4d1200628669a3b4aa0"; } + { locale = "hy-AM"; arch = "linux-i686"; sha256 = "5e77c23bdb52dba7b663b574520972e2b78588e5143922c1e1837c0e0bd71a86"; } + { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "35e663dad586cce929baa1ec501b149ff586df15a687eb41a8cc619c542a625c"; } + { locale = "pt-PT"; arch = "linux-i686"; sha256 = "211322939ab3b4bfc3e6f0548356c9479db5deb687e1e2232f527462017dcd2d"; } + { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "0d50802a6fd7d9256591076c267759d39af91f680025b03ec6925e21c20494e4"; } ]; arch = if stdenv.system == "i686-linux" diff --git a/pkgs/applications/networking/mumble/default.nix b/pkgs/applications/networking/mumble/default.nix index b2b2e37fd66..7b9396ff5ff 100644 --- a/pkgs/applications/networking/mumble/default.nix +++ b/pkgs/applications/networking/mumble/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, qt4, boost, protobuf, libsndfile , speex, libopus, avahi, pkgconfig , jackSupport ? false -, jackaudio ? null +, jack2 ? null , speechdSupport ? false , speechd ? null }: -assert jackSupport -> jackaudio != null; +assert jackSupport -> jack2 != null; assert speechdSupport -> speechd != null; let @@ -15,11 +15,11 @@ let in stdenv.mkDerivation rec { name = "mumble-" + version; - version = "1.2.6"; + version = "1.2.7"; src = fetchurl { url = "mirror://sourceforge/mumble/${name}.tar.gz"; - sha256 = "1zxnbwbd81p7lvscghlpkad8kynh9gbf1nhc092sp64pp37xwv47"; + sha256 = "0zjqkkdkcvgmqic6np87hj6b6f851lkzyd6y3cqj6zzacjvps31d"; }; patches = optional jackSupport ./mumble-jack-support.patch; @@ -36,7 +36,7 @@ stdenv.mkDerivation rec { buildInputs = [ qt4 boost protobuf libsndfile speex libopus avahi pkgconfig ] - ++ (optional jackSupport jackaudio) + ++ (optional jackSupport jack2) ++ (optional speechdSupport speechd); installPhase = '' diff --git a/pkgs/applications/networking/p2p/freenet/default.nix b/pkgs/applications/networking/p2p/freenet/default.nix index 4c74c2c32de..013694d259c 100644 --- a/pkgs/applications/networking/p2p/freenet/default.nix +++ b/pkgs/applications/networking/p2p/freenet/default.nix @@ -50,7 +50,7 @@ stdenv.mkDerivation { meta = { description = "Decentralised and censorship-resistant network"; homepage = https://freenetproject.org/; - license = "GPLv2+"; + license = stdenv.lib.licenses.gpl2Plus; platforms = with stdenv.lib.platforms; linux; }; } diff --git a/pkgs/applications/networking/p2p/gnunet/default.nix b/pkgs/applications/networking/p2p/gnunet/default.nix index bcd0eb503f6..6c28840f7e5 100644 --- a/pkgs/applications/networking/p2p/gnunet/default.nix +++ b/pkgs/applications/networking/p2p/gnunet/default.nix @@ -73,7 +73,7 @@ stdenv.mkDerivation rec { homepage = http://gnunet.org/; - license = "GPLv2+"; + license = stdenv.lib.licenses.gpl2Plus; maintainers = with stdenv.lib.maintainers; [ ludo viric ]; platforms = stdenv.lib.platforms.gnu; diff --git a/pkgs/applications/networking/p2p/gnunet/svn.nix b/pkgs/applications/networking/p2p/gnunet/svn.nix index ed6c348706b..25a51b3c936 100644 --- a/pkgs/applications/networking/p2p/gnunet/svn.nix +++ b/pkgs/applications/networking/p2p/gnunet/svn.nix @@ -85,7 +85,7 @@ stdenv.mkDerivation rec { homepage = http://gnunet.org/; - license = "GPLv2+"; + license = stdenv.lib.licenses.gpl2Plus; maintainers = with stdenv.lib.maintainers; [ ludo viric ]; platforms = stdenv.lib.platforms.gnu; diff --git a/pkgs/applications/networking/p2p/tribler/default.nix b/pkgs/applications/networking/p2p/tribler/default.nix index 5fa19c71d9a..5bc228f9a6b 100644 --- a/pkgs/applications/networking/p2p/tribler/default.nix +++ b/pkgs/applications/networking/p2p/tribler/default.nix @@ -44,6 +44,6 @@ stdenv.mkDerivation { meta = { homepage = http://www.tribler.org/; description = "A completely decentralised P2P filesharing client based on the Bittorrent protocol"; - license = "LGPLv2.1"; + license = stdenv.lib.licenses.lgpl21; }; } diff --git a/pkgs/applications/networking/pjsip/default.nix b/pkgs/applications/networking/pjsip/default.nix index 558394199f4..4d08e1cc60a 100644 --- a/pkgs/applications/networking/pjsip/default.nix +++ b/pkgs/applications/networking/pjsip/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { meta = { description = "SIP stack and media stack for presence, im, and multimedia communication"; homepage = http://pjsip.org/; - license = "GPLv2+"; + license = stdenv.lib.licenses.gpl2Plus; maintainers = with stdenv.lib.maintainers; [viric]; platforms = with stdenv.lib.platforms; linux; }; diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix index 24bc20af652..8fb929d53e1 100644 --- a/pkgs/applications/networking/remote/remmina/default.nix +++ b/pkgs/applications/networking/remote/remmina/default.nix @@ -42,7 +42,7 @@ stdenv.mkDerivation { ''; meta = with stdenv.lib; { - license = "GPLv2"; + license = stdenv.lib.licenses.gpl2; homepage = "http://remmina.sourceforge.net/"; description = "Remmina is a remote desktop client written in GTK+"; maintainers = []; diff --git a/pkgs/applications/networking/remote/ssvnc/default.nix b/pkgs/applications/networking/remote/ssvnc/default.nix index 619925354f0..f142395aa57 100644 --- a/pkgs/applications/networking/remote/ssvnc/default.nix +++ b/pkgs/applications/networking/remote/ssvnc/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { meta = { description = "VNC viewer that adds encryption security to VNC connections"; homepage = "http://www.karlrunge.com/x11vnc/ssvnc.html"; - license = "GPLv2"; + license = stdenv.lib.licenses.gpl2; maintainers = [ stdenv.lib.maintainers.edwtjo ]; platforms = with stdenv.lib.platforms; linux; }; diff --git a/pkgs/applications/networking/remote/teamviewer/8.nix b/pkgs/applications/networking/remote/teamviewer/8.nix index 440eb90390a..459ae9fab82 100644 --- a/pkgs/applications/networking/remote/teamviewer/8.nix +++ b/pkgs/applications/networking/remote/teamviewer/8.nix @@ -41,7 +41,7 @@ stdenv.mkDerivation { meta = { homepage = "http://www.teamviewer.com"; - license = "unfree"; + license = stdenv.lib.licenses.unfree; description = "Desktop sharing application, providing remote support and online meetings"; }; } diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/applications/networking/remote/teamviewer/default.nix index 6802782bcb5..65ddd7305c8 100644 --- a/pkgs/applications/networking/remote/teamviewer/default.nix +++ b/pkgs/applications/networking/remote/teamviewer/default.nix @@ -47,7 +47,7 @@ stdenv.mkDerivation { meta = { homepage = "http://www.teamviewer.com"; - license = "unfree"; + license = stdenv.lib.licenses.unfree; description = "Desktop sharing application, providing remote support and online meetings"; }; } diff --git a/pkgs/applications/networking/sniffers/etherape/default.nix b/pkgs/applications/networking/sniffers/etherape/default.nix index a51f65cbccb..f5104665562 100644 --- a/pkgs/applications/networking/sniffers/etherape/default.nix +++ b/pkgs/applications/networking/sniffers/etherape/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://etherape.sourceforge.net/; - license = "GPLv2+"; + license = stdenv.lib.licenses.gpl2Plus; platforms = with stdenv.lib.platforms; linux; }; } diff --git a/pkgs/applications/networking/spideroak/default.nix b/pkgs/applications/networking/spideroak/default.nix new file mode 100644 index 00000000000..403630e25e5 --- /dev/null +++ b/pkgs/applications/networking/spideroak/default.nix @@ -0,0 +1,62 @@ +{ stdenv, fetchurl, makeWrapper, glib +, fontconfig, patchelf, libXext, libX11 +, freetype, libXrender +}: + +let + arch = if stdenv.system == "x86_64-linux" then "x86_64" + else if stdenv.system == "i686-linux" then "i386" + else throw "Spideroak client for: ${stdenv.system} not supported!"; + + interpreter = if stdenv.system == "x86_64-linux" then "ld-linux-x86-64.so.2" + else if stdenv.system == "i686-linux" then "ld-linux.so.2" + else throw "Spideroak client for: ${stdenv.system} not supported!"; + + sha256 = if stdenv.system == "x86_64-linux" then "0ax5ij3fwq3q9agf7qkw2zg53fcd82llg734pq3swzpn3z1ajs38" + else if stdenv.system == "i686-linux" then "18hvgx8bvd2khnqfn434gd4mflv0w5y8kvim72rvya2kwxsyf3i1" + else throw "Spideroak client for: ${stdenv.system} not supported!"; + + ldpath = stdenv.lib.makeSearchPath "lib" [ + glib fontconfig libXext libX11 freetype libXrender + ]; + + version = "5.1.6"; + +in stdenv.mkDerivation { + name = "spideroak-${version}"; + + src = fetchurl { + name = "spideroak-${version}-${arch}"; + url = "https://spideroak.com/getbuild?platform=slackware&arch=${arch}&version=${version}"; + inherit sha256; + }; + + sourceRoot = "."; + + unpackCmd = "tar -xzf $curSrc"; + + installPhase = '' + ensureDir "$out" + cp -r "./"* "$out" + ensureDir "$out/bin" + rm "$out/usr/bin/SpiderOak" + + patchelf --set-interpreter ${stdenv.glibc}/lib/${interpreter} \ + "$out/opt/SpiderOak/lib/SpiderOak" + + RPATH=$out/opt/SpiderOak/lib:${ldpath} + makeWrapper $out/opt/SpiderOak/lib/SpiderOak $out/bin/spideroak --set LD_LIBRARY_PATH $RPATH \ + --set QT_PLUGIN_PATH $out/opt/SpiderOak/lib/plugins/ \ + --set SpiderOak_EXEC_SCRIPT $out/bin/spideroak + ''; + + buildInputs = [ patchelf makeWrapper ]; + + meta = { + homepage = "https://spideroak.com"; + description = "Secure online backup and sychronization"; + license = stdenv.lib.licenses.unfree; + maintainers = with stdenv.lib.maintainers; [ amorsillo ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/applications/networking/sync/unison/default.nix b/pkgs/applications/networking/sync/unison/default.nix index 744c8c01efa..4ac5e8300ca 100644 --- a/pkgs/applications/networking/sync/unison/default.nix +++ b/pkgs/applications/networking/sync/unison/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation (rec { meta = { homepage = http://www.cis.upenn.edu/~bcpierce/unison/; description = "Bidirectional file synchronizer"; - license = "GPLv3+"; + license = stdenv.lib.licenses.gpl3Plus; maintainers = with stdenv.lib.maintainers; [viric]; platforms = with stdenv.lib.platforms; linux; }; diff --git a/pkgs/applications/networking/vnstat/default.nix b/pkgs/applications/networking/vnstat/default.nix index 57afefd7dcd..6d4306044a4 100644 --- a/pkgs/applications/networking/vnstat/default.nix +++ b/pkgs/applications/networking/vnstat/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://humdi.net/vnstat/; - license = "GPLv2+"; + license = stdenv.lib.licenses.gpl2Plus; description = "Console-based network statistics utility for Linux"; }; } diff --git a/pkgs/applications/networking/yafc/default.nix b/pkgs/applications/networking/yafc/default.nix index 752a7824e6f..2e60b9aa322 100644 --- a/pkgs/applications/networking/yafc/default.nix +++ b/pkgs/applications/networking/yafc/default.nix @@ -13,6 +13,6 @@ stdenv.mkDerivation rec { description = "ftp/sftp client with readline, autocompletion and bookmarks"; homepage = http://www.yafc-ftp.com; maintainers = [ stdenv.lib.maintainers.page ]; - license = "GPLv2+"; + license = stdenv.lib.licenses.gpl2Plus; }; } |