summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/backup/deja-dup/default.nix6
-rw-r--r--pkgs/applications/misc/et/default.nix13
-rw-r--r--pkgs/applications/misc/keepass/default.nix6
-rw-r--r--pkgs/applications/misc/pell/default.nix8
-rw-r--r--pkgs/applications/misc/rofi/default.nix4
-rw-r--r--pkgs/applications/misc/sent/default.nix17
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix14
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/chromium-atk-r1.patch11
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/chromium-gcc-r1.patch14
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/chromium-gcc5-r1.patch66
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/chromium-gcc5-r2.patch36
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/chromium-gcc5-r3.patch98
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/chromium-gcc5-r4.patch98
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/chromium-gn-bootstrap-r14.patch27
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/chromium-gn-bootstrap-r19.patch10
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/chromium-sysroot-r1.patch14
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/constexpr-fix.patch98
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.nix18
-rw-r--r--pkgs/applications/networking/firehol/default.nix4
-rw-r--r--pkgs/applications/networking/firehol/iprange.nix4
-rw-r--r--pkgs/applications/networking/gns3/default.nix6
-rw-r--r--pkgs/applications/networking/ids/bro/default.nix4
-rw-r--r--pkgs/applications/networking/remote/putty/default.nix17
-rw-r--r--pkgs/applications/office/homebank/default.nix4
-rw-r--r--pkgs/applications/office/zim/default.nix4
-rw-r--r--pkgs/applications/science/biology/bowtie2/default.nix26
26 files changed, 382 insertions, 245 deletions
diff --git a/pkgs/applications/backup/deja-dup/default.nix b/pkgs/applications/backup/deja-dup/default.nix
index 4d3a9a385d6..c330aeb0092 100644
--- a/pkgs/applications/backup/deja-dup/default.nix
+++ b/pkgs/applications/backup/deja-dup/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   name = "deja-dup-${version}";
-  version = "36.1";
+  version = "36.3";
 
   src = fetchurl {
     url = "https://launchpad.net/deja-dup/36/${version}/+download/deja-dup-${version}.tar.xz";
-    sha256 = "1s48k2sxrpwkzp37s4x7934lyg5194c47nv9ks15rksd5s0alnld";
+    sha256 = "08pwybzp7ynfcf0vqxfc3p8ir4gnzcv4v4cq5bwidbff9crklhrc";
   };
 
   patches = [
@@ -77,7 +77,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://launchpad.net/deja-dup;
     license = with licenses; gpl3;
-    maintainers = with maintainers; [ jtojnar ];
+    maintainers = with maintainers; [ jtojnar joncojonathan ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/applications/misc/et/default.nix b/pkgs/applications/misc/et/default.nix
index 4a77423bea8..40631b0a0db 100644
--- a/pkgs/applications/misc/et/default.nix
+++ b/pkgs/applications/misc/et/default.nix
@@ -2,23 +2,18 @@
 
 stdenv.mkDerivation rec {
   name = "et-${version}";
-  version = "2017-03-04";
+  version = "0.1";
 
   src = fetchFromGitHub {
     owner = "geistesk";
     repo = "et";
-    rev = "151e9b6bc0d2d4f45bda8ced740ee99d0f2012f6";
-    sha256 = "1a1jdnzmal05k506bbvzlwsj2f3kql6l5xc1gdabm79y6vaf4r7s";
+    rev = "${version}";
+    sha256 = "1d2hq6p1y2ynk0a3l35lwbm1fcl9kg7rpjcin8bx4xcdpbw42y94";
   };
 
   buildInputs = [ libnotify gdk_pixbuf ];
   nativeBuildInputs = [ pkgconfig ];
 
-  prePatch = ''
-    substituteInPlace Makefile \
-        --replace ' = gcc' ' ?= gcc'
-  '';
-
   installPhase = ''
     mkdir -p $out/bin
     cp et $out/bin
@@ -26,7 +21,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "Minimal libnotify-based (egg) timer for GNU/Linux";
+    description = "Minimal libnotify-based (egg) timer";
     homepage = https://github.com/geistesk/et;
     license = licenses.gpl3;
     platforms = platforms.unix;
diff --git a/pkgs/applications/misc/keepass/default.nix b/pkgs/applications/misc/keepass/default.nix
index e36fbfa0f3f..49e4711550d 100644
--- a/pkgs/applications/misc/keepass/default.nix
+++ b/pkgs/applications/misc/keepass/default.nix
@@ -8,11 +8,11 @@
 # plugin derivations in the Nix store and nowhere else.
 with builtins; buildDotnetPackage rec {
   baseName = "keepass";
-  version = "2.36";
+  version = "2.37";
 
   src = fetchurl {
     url = "mirror://sourceforge/keepass/KeePass-${version}-Source.zip";
-    sha256 = "1j6qhy8h3z6higbpq3q9v04amvgbn90yj3kbsvj17azdkffkwzny";
+    sha256 = "1wfbpfjng1blzkbjnxsdnny544297bm9869ianbr6l0hrvcgv3qx";
   };
 
   sourceRoot = ".";
@@ -98,7 +98,7 @@ with builtins; buildDotnetPackage rec {
   meta = {
     description = "GUI password manager with strong cryptography";
     homepage = http://www.keepass.info/;
-    maintainers = with stdenv.lib.maintainers; [ amorsillo obadz jraygauthier ];
+    maintainers = with stdenv.lib.maintainers; [ amorsillo obadz joncojonathan jraygauthier ];
     platforms = with stdenv.lib.platforms; all;
     license = stdenv.lib.licenses.gpl2;
   };
diff --git a/pkgs/applications/misc/pell/default.nix b/pkgs/applications/misc/pell/default.nix
index f79d71ca250..ad2ab147340 100644
--- a/pkgs/applications/misc/pell/default.nix
+++ b/pkgs/applications/misc/pell/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "pell";
-  version = "0.0.1";
+  version = "0.0.2";
   name = "${pname}-${version}";
 
   src = fetchFromGitHub {
     owner = "ebzzry";
     repo = pname;
-    rev = "3f95341eb9439c7a6be1f3c6366c0552ab8208f0";
-    sha256 = "183aj3ys080g2kahl8x8rkhzlsb6h5ls9xm1v2kasfbn1pi5i6nn";
+    rev = "ec14de0a9b666433954184167bf3b82cf21193f8";
+    sha256 = "0r2gbb4l9rr5x99m62zicknsp1gf9fr124xpyd8ak9izr5hvskn9";
   };
 
   installPhase = ''
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = https://github.com/ebzzry/pell;
-    description = "A simple periodic host monitor using ping";
+    description = "A simple host availability monitor";
     license = licenses.mit;
     maintainers = [ maintainers.ebzzry ];
     platforms = platforms.unix;
diff --git a/pkgs/applications/misc/rofi/default.nix b/pkgs/applications/misc/rofi/default.nix
index 1e8320d75a3..bdf14c03bcc 100644
--- a/pkgs/applications/misc/rofi/default.nix
+++ b/pkgs/applications/misc/rofi/default.nix
@@ -4,12 +4,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.4.1";
+  version = "1.4.2";
   name = "rofi-${version}";
 
   src = fetchurl {
     url = "https://github.com/DaveDavenport/rofi/releases/download/${version}/${name}.tar.gz";
-    sha256 = "19x11s71q24gjdnsjf1ar6raq1drav7qp3nzjkw8qajpgvjrxwcn";
+    sha256 = "0ys7grazqz5hw3nx2393df54ykcd5gw0zn66kik5fvzijpg3qfcx";
   };
 
   preConfigure = ''
diff --git a/pkgs/applications/misc/sent/default.nix b/pkgs/applications/misc/sent/default.nix
index c6430af5560..24e76500a6a 100644
--- a/pkgs/applications/misc/sent/default.nix
+++ b/pkgs/applications/misc/sent/default.nix
@@ -1,15 +1,18 @@
-{ stdenv, fetchurl, libpng, libX11, libXft
+{ stdenv, fetchurl, farbfeld, libX11, libXft
 , patches ? [] }:
 
 stdenv.mkDerivation rec {
-  name = "sent-0.2";
+  name = "sent-1";
 
   src = fetchurl {
-    url = "http://dl.suckless.org/tools/${name}.tar.gz";
-    sha256 = "0xhh752hwaa26k4q6wvrb9jnpbnylss2aw6z11j7l9rav7wn3fak";
+    url = "https://dl.suckless.org/tools/${name}.tar.gz";
+    sha256 = "0cxysz5lp25mgww73jl0mgip68x7iyvialyzdbriyaff269xxwvv";
   };
 
-  buildInputs = [ libpng libX11 libXft ];
+  buildInputs = [ farbfeld libX11 libXft ];
+
+  # unpacking doesn't create a directory
+  sourceRoot = ".";
 
   inherit patches;
 
@@ -17,8 +20,8 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A simple plaintext presentation tool";
-    homepage = http://tools.suckless.org/sent/;
-    license = licenses.mit;
+    homepage = https://tools.suckless.org/sent/;
+    license = licenses.isc;
     platforms = platforms.linux;
     maintainers = with maintainers; [ pSub ];
   };
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index f6f9a829c2d..63483b4da71 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -133,22 +133,14 @@ let
       # https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/
       # https://git.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/chromium
       # for updated patches and hints about build flags
-      ++ optionals (versionRange "61" "62") [
-      ./patches/chromium-gn-bootstrap-r14.patch
-      ./patches/chromium-gcc-r1.patch
-      ./patches/chromium-atk-r1.patch
-      ./patches/chromium-gcc5-r1.patch
-    ]
       ++ optionals (versionRange "62" "63") [
       ./patches/chromium-gn-bootstrap-r17.patch
-      ./patches/chromium-gcc5-r2.patch
+      ./patches/chromium-gcc5-r3.patch
       ./patches/chromium-glibc2.26-r1.patch
     ]
       ++ optionals (versionAtLeast version "63") [
-      ./patches/chromium-gn-bootstrap-r19.patch
-      ./patches/chromium-gcc5-r2.patch
-      ./patches/chromium-glibc2.26-r1.patch
-      ./patches/chromium-sysroot-r1.patch
+      ./patches/chromium-gcc5-r4.patch
+      ./patches/constexpr-fix.patch
     ]
       ++ optional enableWideVine ./patches/widevine.patch;
 
diff --git a/pkgs/applications/networking/browsers/chromium/patches/chromium-atk-r1.patch b/pkgs/applications/networking/browsers/chromium/patches/chromium-atk-r1.patch
deleted file mode 100644
index 602be1e3ba7..00000000000
--- a/pkgs/applications/networking/browsers/chromium/patches/chromium-atk-r1.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/content/browser/accessibility/browser_accessibility_auralinux.cc.orig	2017-07-27 06:28:01.090257874 +0000
-+++ b/content/browser/accessibility/browser_accessibility_auralinux.cc	2017-07-27 06:28:21.174653680 +0000
-@@ -571,7 +571,7 @@
- // it's best to leave this out rather than break people's builds:
- #if defined(ATK_CHECK_VERSION)
- #if ATK_CHECK_VERSION(2, 16, 0)
--      atk_state_set_add_state(atk_state_set, ATK_STATE_READ_ONLY);
-+      atk_state_set_add_state(state_set, ATK_STATE_READ_ONLY);
- #endif
- #endif
-       break;
\ No newline at end of file
diff --git a/pkgs/applications/networking/browsers/chromium/patches/chromium-gcc-r1.patch b/pkgs/applications/networking/browsers/chromium/patches/chromium-gcc-r1.patch
deleted file mode 100644
index 036d57b601d..00000000000
--- a/pkgs/applications/networking/browsers/chromium/patches/chromium-gcc-r1.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/base/numerics/safe_math_shared_impl.h b/base/numerics/safe_math_shared_impl.h
-index 99f230ce7e9a..de2415d402f5 100644
---- a/base/numerics/safe_math_shared_impl.h
-+++ b/base/numerics/safe_math_shared_impl.h
-@@ -21,8 +21,7 @@
- #if !defined(__native_client__) &&                         \
-     ((defined(__clang__) &&                                \
-       ((__clang_major__ > 3) ||                            \
--       (__clang_major__ == 3 && __clang_minor__ >= 4))) || \
--     (defined(__GNUC__) && __GNUC__ >= 5))
-+       (__clang_major__ == 3 && __clang_minor__ >= 4))))
- #include "base/numerics/safe_math_clang_gcc_impl.h"
- #define BASE_HAS_OPTIMIZED_SAFE_MATH (1)
- #else
\ No newline at end of file
diff --git a/pkgs/applications/networking/browsers/chromium/patches/chromium-gcc5-r1.patch b/pkgs/applications/networking/browsers/chromium/patches/chromium-gcc5-r1.patch
deleted file mode 100644
index 8d2886fbfa9..00000000000
--- a/pkgs/applications/networking/browsers/chromium/patches/chromium-gcc5-r1.patch
+++ /dev/null
@@ -1,66 +0,0 @@
---- a/chrome/browser/devtools/devtools_file_system_indexer.cc
-+++ b/chrome/browser/devtools/devtools_file_system_indexer.cc
-@@ -34,7 +34,6 @@ using base::TimeDelta;
- using base::TimeTicks;
- using content::BrowserThread;
- using std::map;
--using std::set;
- using std::string;
- using std::vector;
- 
-@@ -191,7 +190,7 @@ vector<FilePath> Index::Search(const string& query) {
-     if (trigram != kUndefinedTrigram)
-       trigrams.push_back(trigram);
-   }
--  set<FileId> file_ids;
-+  std::set<FileId> file_ids;
-   bool first = true;
-   vector<Trigram>::const_iterator it = trigrams.begin();
-   for (; it != trigrams.end(); ++it) {
-@@ -203,7 +202,7 @@ vector<FilePath> Index::Search(const string& query) {
-       first = false;
-       continue;
-     }
--    set<FileId> intersection = base::STLSetIntersection<set<FileId> >(
-+    std::set<FileId> intersection = base::STLSetIntersection<std::set<FileId> >(
-         file_ids, index_[trigram]);
-     file_ids.swap(intersection);
-   }
-diff --git a/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h b/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h
-index 94bb9161ec85..e40c6387f72e 100644
---- a/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h
-+++ b/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h
-@@ -63,7 +63,7 @@ class WTF_EXPORT ArrayBufferContents {
-           allocation_length_(0),
-           data_(data),
-           data_length_(0),
--          kind_(AllocationKind::kNormal),
-+          kind_(WTF::ArrayBufferContents::AllocationKind::kNormal),
-           deleter_(deleter) {}
-     DataHandle(void* allocation_base,
-                size_t allocation_length,
-@@ -94,11 +94,11 @@ class WTF_EXPORT ArrayBufferContents {
-              reinterpret_cast<uintptr_t>(allocation_base_) +
-                  allocation_length_);
-       switch (kind_) {
--        case AllocationKind::kNormal:
-+        case WTF::ArrayBufferContents::AllocationKind::kNormal:
-           DCHECK(deleter_);
-           deleter_(data_);
-           return;
--        case AllocationKind::kReservation:
-+        case WTF::ArrayBufferContents::AllocationKind::kReservation:
-           ReleaseReservedMemory(allocation_base_, allocation_length_);
-           return;
-       }
---- a/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.orig	2017-08-15 12:45:59.433532111 +0000
-+++ b/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc	2017-08-15 17:52:59.691328825 +0000
-@@ -10,7 +10,7 @@
- 
- #include "webrtc/modules/audio_processing/aec3/aec_state.h"
- 
--#include <math.h>
-+#include <cmath>
- #include <numeric>
- #include <vector>
- 
\ No newline at end of file
diff --git a/pkgs/applications/networking/browsers/chromium/patches/chromium-gcc5-r2.patch b/pkgs/applications/networking/browsers/chromium/patches/chromium-gcc5-r2.patch
deleted file mode 100644
index f2be2d5b8ae..00000000000
--- a/pkgs/applications/networking/browsers/chromium/patches/chromium-gcc5-r2.patch
+++ /dev/null
@@ -1,36 +0,0 @@
---- a/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h
-+++ b/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h
-@@ -63,7 +63,7 @@ class WTF_EXPORT ArrayBufferContents {
-           allocation_length_(0),
-           data_(data),
-           data_length_(0),
--          kind_(AllocationKind::kNormal),
-+          kind_(WTF::ArrayBufferContents::AllocationKind::kNormal),
-           deleter_(deleter) {}
-     DataHandle(void* allocation_base,
-                size_t allocation_length,
-@@ -94,11 +94,11 @@ class WTF_EXPORT ArrayBufferContents {
-              reinterpret_cast<uintptr_t>(allocation_base_) +
-                  allocation_length_);
-       switch (kind_) {
--        case AllocationKind::kNormal:
-+        case WTF::ArrayBufferContents::AllocationKind::kNormal:
-           DCHECK(deleter_);
-           deleter_(data_);
-           return;
--        case AllocationKind::kReservation:
-+        case WTF::ArrayBufferContents::AllocationKind::kReservation:
-           ReleaseReservedMemory(allocation_base_, allocation_length_);
-           return;
-       }
---- a/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.orig	2017-08-15 12:45:59.433532111 +0000
-+++ b/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc	2017-08-15 17:52:59.691328825 +0000
-@@ -10,7 +10,7 @@
- 
- #include "webrtc/modules/audio_processing/aec3/aec_state.h"
- 
--#include <math.h>
-+#include <cmath>
- #include <numeric>
- #include <vector>
- 
diff --git a/pkgs/applications/networking/browsers/chromium/patches/chromium-gcc5-r3.patch b/pkgs/applications/networking/browsers/chromium/patches/chromium-gcc5-r3.patch
new file mode 100644
index 00000000000..7605df6b145
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/patches/chromium-gcc5-r3.patch
@@ -0,0 +1,98 @@
+--- a/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h
++++ b/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h
+@@ -63,7 +63,7 @@ class WTF_EXPORT ArrayBufferContents {
+           allocation_length_(0),
+           data_(data),
+           data_length_(0),
+-          kind_(AllocationKind::kNormal),
++          kind_(WTF::ArrayBufferContents::AllocationKind::kNormal),
+           deleter_(deleter) {}
+     DataHandle(void* allocation_base,
+                size_t allocation_length,
+@@ -94,11 +94,11 @@ class WTF_EXPORT ArrayBufferContents {
+              reinterpret_cast<uintptr_t>(allocation_base_) +
+                  allocation_length_);
+       switch (kind_) {
+-        case AllocationKind::kNormal:
++        case WTF::ArrayBufferContents::AllocationKind::kNormal:
+           DCHECK(deleter_);
+           deleter_(data_);
+           return;
+-        case AllocationKind::kReservation:
++        case WTF::ArrayBufferContents::AllocationKind::kReservation:
+           ReleaseReservedMemory(allocation_base_, allocation_length_);
+           return;
+       }
+--- a/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.orig	2017-08-15 12:45:59.433532111 +0000
++++ b/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc	2017-08-15 17:52:59.691328825 +0000
+@@ -10,7 +10,7 @@
+ 
+ #include "webrtc/modules/audio_processing/aec3/aec_state.h"
+ 
+-#include <math.h>
++#include <cmath>
+ #include <numeric>
+ #include <vector>
+ 
+--- a/gpu/ipc/common/mailbox_struct_traits.h
++++ b/gpu/ipc/common/mailbox_struct_traits.h
+@@ -15,7 +15,7 @@ namespace mojo {
+ template <>
+ struct StructTraits<gpu::mojom::MailboxDataView, gpu::Mailbox> {
+   static base::span<const int8_t> name(const gpu::Mailbox& mailbox) {
+-    return mailbox.name;
++    return base::make_span(mailbox.name);
+   }
+   static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out);
+ };
+--- a/services/viz/public/cpp/compositing/filter_operation_struct_traits.h
++++ b/services/viz/public/cpp/compositing/filter_operation_struct_traits.h
+@@ -134,7 +134,7 @@ struct StructTraits<viz::mojom::FilterOperationDataView, cc::FilterOperation> {
+   static base::span<const float> matrix(const cc::FilterOperation& operation) {
+     if (operation.type() != cc::FilterOperation::COLOR_MATRIX)
+       return base::span<const float>();
+-    return operation.matrix();
++    return base::make_span(operation.matrix());
+   }
+ 
+   static base::span<const gfx::Rect> shape(
+--- a/services/viz/public/cpp/compositing/quads_struct_traits.h
++++ b/services/viz/public/cpp/compositing/quads_struct_traits.h
+@@ -284,7 +284,7 @@
+ 
+   static base::span<const float> vertex_opacity(const cc::DrawQuad& input) {
+     const cc::TextureDrawQuad* quad = cc::TextureDrawQuad::MaterialCast(&input);
+-    return quad->vertex_opacity;
++    return base::make_span(quad->vertex_opacity);
+   }
+ 
+   static bool y_flipped(const cc::DrawQuad& input) {
+--- a/third_party/WebKit/Source/platform/exported/WebCORS.cpp
++++ b/third_party/WebKit/Source/platform/exported/WebCORS.cpp
+@@ -480,7 +480,7 @@ WebString AccessControlErrorString(
+     }
+     default:
+       NOTREACHED();
+-      return "";
++      return WebString();
+   }
+ }
+ 
+@@ -512,7 +512,7 @@ WebString PreflightErrorString(const PreflightStatus status,
+     }
+     default:
+       NOTREACHED();
+-      return "";
++      return WebString();
+   }
+ }
+ 
+@@ -533,7 +533,7 @@ WebString RedirectErrorString(const RedirectStatus status,
+     }
+     default:
+       NOTREACHED();
+-      return "";
++      return WebString();
+   }
+ }
+ 
diff --git a/pkgs/applications/networking/browsers/chromium/patches/chromium-gcc5-r4.patch b/pkgs/applications/networking/browsers/chromium/patches/chromium-gcc5-r4.patch
new file mode 100644
index 00000000000..cb978d58a06
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/patches/chromium-gcc5-r4.patch
@@ -0,0 +1,98 @@
+--- a/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h
++++ b/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h
+@@ -63,7 +63,7 @@ class WTF_EXPORT ArrayBufferContents {
+           allocation_length_(0),
+           data_(data),
+           data_length_(0),
+-          kind_(AllocationKind::kNormal),
++          kind_(WTF::ArrayBufferContents::AllocationKind::kNormal),
+           deleter_(deleter) {}
+     DataHandle(void* allocation_base,
+                size_t allocation_length,
+@@ -94,11 +94,11 @@ class WTF_EXPORT ArrayBufferContents {
+              reinterpret_cast<uintptr_t>(allocation_base_) +
+                  allocation_length_);
+       switch (kind_) {
+-        case AllocationKind::kNormal:
++        case WTF::ArrayBufferContents::AllocationKind::kNormal:
+           DCHECK(deleter_);
+           deleter_(data_);
+           return;
+-        case AllocationKind::kReservation:
++        case WTF::ArrayBufferContents::AllocationKind::kReservation:
+           ReleaseReservedMemory(allocation_base_, allocation_length_);
+           return;
+       }
+--- a/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.orig	2017-08-15 12:45:59.433532111 +0000
++++ b/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc	2017-08-15 17:52:59.691328825 +0000
+@@ -10,7 +10,7 @@
+ 
+ #include "webrtc/modules/audio_processing/aec3/aec_state.h"
+ 
+-#include <math.h>
++#include <cmath>
+ #include <numeric>
+ #include <vector>
+ 
+--- a/gpu/ipc/common/mailbox_struct_traits.h
++++ b/gpu/ipc/common/mailbox_struct_traits.h
+@@ -15,7 +15,7 @@ namespace mojo {
+ template <>
+ struct StructTraits<gpu::mojom::MailboxDataView, gpu::Mailbox> {
+   static base::span<const int8_t> name(const gpu::Mailbox& mailbox) {
+-    return mailbox.name;
++    return base::make_span(mailbox.name);
+   }
+   static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out);
+ };
+--- a/services/viz/public/cpp/compositing/filter_operation_struct_traits.h
++++ b/services/viz/public/cpp/compositing/filter_operation_struct_traits.h
+@@ -134,7 +134,7 @@ struct StructTraits<viz::mojom::FilterOperationDataView, cc::FilterOperation> {
+   static base::span<const float> matrix(const cc::FilterOperation& operation) {
+     if (operation.type() != cc::FilterOperation::COLOR_MATRIX)
+       return base::span<const float>();
+-    return operation.matrix();
++    return base::make_span(operation.matrix());
+   }
+ 
+   static base::span<const gfx::Rect> shape(
+--- a/services/viz/public/cpp/compositing/quads_struct_traits.h
++++ b/services/viz/public/cpp/compositing/quads_struct_traits.h
+@@ -303,7 +303,7 @@ struct StructTraits<viz::mojom::TextureQuadStateDataView, viz::DrawQuad> {
+   static base::span<const float> vertex_opacity(const viz::DrawQuad& input) {
+     const viz::TextureDrawQuad* quad =
+         viz::TextureDrawQuad::MaterialCast(&input);
+-    return quad->vertex_opacity;
++    return base::make_span(quad->vertex_opacity);
+   }
+
+   static bool y_flipped(const viz::DrawQuad& input) {
+--- a/third_party/WebKit/Source/platform/exported/WebCORS.cpp
++++ b/third_party/WebKit/Source/platform/exported/WebCORS.cpp
+@@ -480,7 +480,7 @@ WebString AccessControlErrorString(
+     }
+     default:
+       NOTREACHED();
+-      return "";
++      return WebString();
+   }
+ }
+ 
+@@ -512,7 +512,7 @@ WebString PreflightErrorString(const PreflightStatus status,
+     }
+     default:
+       NOTREACHED();
+-      return "";
++      return WebString();
+   }
+ }
+ 
+@@ -533,7 +533,7 @@ WebString RedirectErrorString(const RedirectStatus status,
+     }
+     default:
+       NOTREACHED();
+-      return "";
++      return WebString();
+   }
+ }
+ 
diff --git a/pkgs/applications/networking/browsers/chromium/patches/chromium-gn-bootstrap-r14.patch b/pkgs/applications/networking/browsers/chromium/patches/chromium-gn-bootstrap-r14.patch
deleted file mode 100644
index 62426715366..00000000000
--- a/pkgs/applications/networking/browsers/chromium/patches/chromium-gn-bootstrap-r14.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-commit 96c271f8ab2be7ea4199078ea65ac50c6ada4685
-Author: Pawel Hajdan, Jr <phajdan.jr@chromium.org>
-Date:   Wed Jul 26 21:51:54 2017 +0000
-
-    wip
-
-diff --git a/tools/gn/bootstrap/bootstrap.py b/tools/gn/bootstrap/bootstrap.py
-index 1390560f8e37..ff2ae57c46b0 100755
---- a/tools/gn/bootstrap/bootstrap.py
-+++ b/tools/gn/bootstrap/bootstrap.py
-@@ -449,6 +449,7 @@ def write_gn_ninja(path, root_gen_dir, options):
-       'base/metrics/histogram_base.cc',
-       'base/metrics/histogram_functions.cc',
-       'base/metrics/histogram_samples.cc',
-+      'base/metrics/histogram_snapshot_manager.cc',
-       'base/metrics/metrics_hashes.cc',
-       'base/metrics/persistent_histogram_allocator.cc',
-       'base/metrics/persistent_memory_allocator.cc',
-@@ -534,7 +535,7 @@ def write_gn_ninja(path, root_gen_dir, options):
-       'base/trace_event/heap_profiler_allocation_context_tracker.cc',
-       'base/trace_event/heap_profiler_allocation_register.cc',
-       'base/trace_event/heap_profiler_event_filter.cc',
--      'base/trace_event/heap_profiler_event_writer.cc',
-+      'base/trace_event/heap_profiler_heap_dump_writer.cc',
-       'base/trace_event/heap_profiler_serialization_state.cc',
-       'base/trace_event/heap_profiler_stack_frame_deduplicator.cc',
-       'base/trace_event/heap_profiler_type_name_deduplicator.cc',
\ No newline at end of file
diff --git a/pkgs/applications/networking/browsers/chromium/patches/chromium-gn-bootstrap-r19.patch b/pkgs/applications/networking/browsers/chromium/patches/chromium-gn-bootstrap-r19.patch
deleted file mode 100644
index 999fdb7eda7..00000000000
--- a/pkgs/applications/networking/browsers/chromium/patches/chromium-gn-bootstrap-r19.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/tools/gn/bootstrap/bootstrap.py
-+++ b/tools/gn/bootstrap/bootstrap.py
-@@ -576,7 +576,6 @@ def write_gn_ninja(path, root_gen_dir, options):
-       'base/trace_event/trace_log.cc',
-       'base/trace_event/trace_log_constants.cc',
-       'base/trace_event/tracing_agent.cc',
--      'base/tracked_objects.cc',
-       'base/unguessable_token.cc',
-       'base/value_iterators.cc',
-       'base/values.cc',
diff --git a/pkgs/applications/networking/browsers/chromium/patches/chromium-sysroot-r1.patch b/pkgs/applications/networking/browsers/chromium/patches/chromium-sysroot-r1.patch
deleted file mode 100644
index b5ff0d8cba1..00000000000
--- a/pkgs/applications/networking/browsers/chromium/patches/chromium-sysroot-r1.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/chrome/installer/BUILD.gn
-+++ b/chrome/installer/BUILD.gn
-@@ -3,9 +3,10 @@
- # found in the LICENSE file.
- 
- import("//build/config/chrome_build.gni")
-+import("//build/config/sysroot.gni")
- 
- declare_args() {
--  enable_linux_installer = is_linux && !is_component_build
-+  enable_linux_installer = is_linux && !is_component_build && use_sysroot
- }
- 
- # Meta-target that forwards to the installer of the correct type (if any).
diff --git a/pkgs/applications/networking/browsers/chromium/patches/constexpr-fix.patch b/pkgs/applications/networking/browsers/chromium/patches/constexpr-fix.patch
new file mode 100644
index 00000000000..9f187752ea6
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/patches/constexpr-fix.patch
@@ -0,0 +1,98 @@
+From aab2cc3a20af9ebe9ddb8dfd15089f131f95817f Mon Sep 17 00:00:00 2001
+From: Tomas Popela <tomas.popela@gmail.com>
+Date: Fri, 20 Oct 2017 14:06:42 +0200
+Subject: [PATCH] Fix the build of base/numerics with GCC
+
+Initialize the uninitialized variables where the build is failing.
+
+BUG=776705
+
+Change-Id: I5782e18086a752b3676f8738930bf0553f3f97ad
+---
+ base/numerics/checked_math_impl.h |  6 +++---
+ base/numerics/clamped_math_impl.h | 10 +++++-----
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/base/numerics/checked_math_impl.h b/base/numerics/checked_math_impl.h
+index 2926b37b5e..e083389ebf 100644
+--- a/base/numerics/checked_math_impl.h
++++ b/base/numerics/checked_math_impl.h
+@@ -67,7 +67,7 @@ struct CheckedAddOp<T,
+       return false;
+     }
+ 
+-    Promotion presult;
++    Promotion presult = {};
+     bool is_valid = true;
+     if (IsIntegerArithmeticSafe<Promotion, T, U>::value) {
+       presult = static_cast<Promotion>(x) + static_cast<Promotion>(y);
+@@ -127,7 +127,7 @@ struct CheckedSubOp<T,
+       return false;
+     }
+ 
+-    Promotion presult;
++    Promotion presult = {};
+     bool is_valid = true;
+     if (IsIntegerArithmeticSafe<Promotion, T, U>::value) {
+       presult = static_cast<Promotion>(x) - static_cast<Promotion>(y);
+@@ -183,7 +183,7 @@ struct CheckedMulOp<T,
+       return false;
+     }
+ 
+-    Promotion presult;
++    Promotion presult = {};
+     bool is_valid = true;
+     if (CheckedMulFastOp<Promotion, Promotion>::is_supported) {
+       // The fast op may be available with the promoted type.
+diff --git a/base/numerics/clamped_math_impl.h b/base/numerics/clamped_math_impl.h
+index 7b5e4346f2..303a7e945a 100644
+--- a/base/numerics/clamped_math_impl.h
++++ b/base/numerics/clamped_math_impl.h
+@@ -87,7 +87,7 @@ struct ClampedAddOp<T,
+                   "The saturation result cannot be determined from the "
+                   "provided types.");
+     const V saturated = CommonMaxOrMin<V>(IsValueNegative(y));
+-    V result;
++    V result = {};
+     return BASE_NUMERICS_LIKELY((CheckedAddOp<T, U>::Do(x, y, &result)))
+                ? result
+                : saturated;
+@@ -114,7 +114,7 @@ struct ClampedSubOp<T,
+                   "The saturation result cannot be determined from the "
+                   "provided types.");
+     const V saturated = CommonMaxOrMin<V>(!IsValueNegative(y));
+-    V result;
++    V result = {};
+     return BASE_NUMERICS_LIKELY((CheckedSubOp<T, U>::Do(x, y, &result)))
+                ? result
+                : saturated;
+@@ -136,7 +136,7 @@ struct ClampedMulOp<T,
+     if (ClampedMulFastOp<T, U>::is_supported)
+       return ClampedMulFastOp<T, U>::template Do<V>(x, y);
+ 
+-    V result;
++    V result = {};
+     const V saturated =
+         CommonMaxOrMin<V>(IsValueNegative(x) ^ IsValueNegative(y));
+     return BASE_NUMERICS_LIKELY((CheckedMulOp<T, U>::Do(x, y, &result)))
+@@ -156,7 +156,7 @@ struct ClampedDivOp<T,
+   using result_type = typename MaxExponentPromotion<T, U>::type;
+   template <typename V = result_type>
+   static constexpr V Do(T x, U y) {
+-    V result;
++    V result = {};
+     if (BASE_NUMERICS_LIKELY((CheckedDivOp<T, U>::Do(x, y, &result))))
+       return result;
+     // Saturation goes to max, min, or NaN (if x is zero).
+@@ -176,7 +176,7 @@ struct ClampedModOp<T,
+   using result_type = typename MaxExponentPromotion<T, U>::type;
+   template <typename V = result_type>
+   static constexpr V Do(T x, U y) {
+-    V result;
++    V result = {};
+     return BASE_NUMERICS_LIKELY((CheckedModOp<T, U>::Do(x, y, &result)))
+                ? result
+                : x;
+-- 
+2.14.2
+
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index af4c30b431f..5fe20b9a981 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -1,18 +1,18 @@
 # This file is autogenerated from update.sh in the same directory.
 {
   beta = {
-    sha256 = "0c8qn2i7iygl3kgrdwwd8h3l5j8hg66dw99qgr618cgca1b4im68";
-    sha256bin64 = "04mfg18zpx19ha0mrlwx2aabn0vhl08n9c60hazivmw99pzlg8dn";
-    version = "62.0.3202.29";
+    sha256 = "0qn3pjq5n3ri3qh25wg5gd2as5a8wlkncqvi975xsab771833pz8";
+    sha256bin64 = "10d1v9sa0wnnhjz6ria315aml20v1jl2bnkhcqi125rqk5fw9wrq";
+    version = "62.0.3202.62";
   };
   dev = {
-    sha256 = "1zd7rid626fglbyrp7c6517jldhgfk3vjn357vhlhy6pgj1ydrrn";
-    sha256bin64 = "0hqb5prf0ags4bnla6skyi5vmkrazhd8n3ri4ijhbqjbb536bfpb";
-    version = "63.0.3218.0";
+    sha256 = "0dx9n9j1apngs4gc1n0kyccczm58045l342jr06azaw5yamsk8xb";
+    sha256bin64 = "1syqi1fx3kkn7865m6ldicg9cxcg1pfy9l1fr2k5mcqxsdblcyyv";
+    version = "63.0.3239.9";
   };
   stable = {
-    sha256 = "06r89jim9cq87668ya8wwk69hh17rl04cj94nb9c28v6mj69cda1";
-    sha256bin64 = "1cm9snw29nkzq4bafqgi6fd0gqcc3jp60y6vfsrf9k4dvdard2sv";
-    version = "61.0.3163.100";
+    sha256 = "0qn3pjq5n3ri3qh25wg5gd2as5a8wlkncqvi975xsab771833pz8";
+    sha256bin64 = "1ijpv76wbxgwcvgr3nd9ciyyf26z56gxw4caga4x6600pa2lm8wq";
+    version = "62.0.3202.62";
   };
 }
diff --git a/pkgs/applications/networking/firehol/default.nix b/pkgs/applications/networking/firehol/default.nix
index 0f1928fff2b..cf41ca1b0b3 100644
--- a/pkgs/applications/networking/firehol/default.nix
+++ b/pkgs/applications/networking/firehol/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   name = "firehol-${version}";
-  version = "3.1.4";
+  version = "3.1.5";
 
   src = fetchFromGitHub {
     owner = "firehol";
     repo = "firehol";
     rev = "v${version}";
-    sha256 = "121kjq5149r11k58lr9mkqns2k8jbdbjg2k93v8v7axhng6js7s9";
+    sha256 = "15cy1zxfpprma2zkmhj61zzhmw1pfnyhln7pca5lzvr1ifn2d0y0";
   };
 
   patches = [
diff --git a/pkgs/applications/networking/firehol/iprange.nix b/pkgs/applications/networking/firehol/iprange.nix
index d1f3ad69687..bb245928f07 100644
--- a/pkgs/applications/networking/firehol/iprange.nix
+++ b/pkgs/applications/networking/firehol/iprange.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "iprange-${version}";
-  version = "1.0.3";
+  version = "1.0.4";
 
   src = fetchurl {
     url = "https://github.com/firehol/iprange/releases/download/v${version}/iprange-${version}.tar.xz";
-    sha256 = "0lwgl5ybrhsv43llq3kgdjpvgyfl43f3nxm0g8a8cd7zmn754bg2";
+    sha256 = "0rymw4ydn09dng34q4g5111706fyppzs2gd5br76frgvfj4x2f71";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/gns3/default.nix b/pkgs/applications/networking/gns3/default.nix
index 5aa1649ff5f..bee3062a5a2 100644
--- a/pkgs/applications/networking/gns3/default.nix
+++ b/pkgs/applications/networking/gns3/default.nix
@@ -2,7 +2,7 @@
 
 let
   stableVersion = "2.0.3";
-  previewVersion = "2.1.0rc2";
+  previewVersion = "2.1.0rc3";
   addVersion = args:
     let version = if args.stable then stableVersion else previewVersion;
         branch = if args.stable then "stable" else "preview";
@@ -16,7 +16,7 @@ in {
   };
   guiPreview = mkGui {
     stable = false;
-    sha256Hash = "1frfhys5s5lnqzk216y3wj2pli5g3b5imfzcmddxdcibksx13i17";
+    sha256Hash = "0yc5lr01xb7lk4dsrwx79mimbr91vldpvqbrx37j3kym6p5m84cn";
   };
 
   serverStable = mkServer {
@@ -25,6 +25,6 @@ in {
   };
   serverPreview = mkServer {
     stable = false;
-    sha256Hash = "0vm4hir8yqj7xhykgg3x5rv1nj1qq6sg19sjj7r5w60brrlsw7v9";
+    sha256Hash = "1lac88d9cmlhrwmlvxv1sk86600rwznw3lpsm440bax6qbdfcis3";
   };
 }
diff --git a/pkgs/applications/networking/ids/bro/default.nix b/pkgs/applications/networking/ids/bro/default.nix
index f3962811a8a..7ae3e8c7361 100644
--- a/pkgs/applications/networking/ids/bro/default.nix
+++ b/pkgs/applications/networking/ids/bro/default.nix
@@ -2,11 +2,11 @@
 , geoip, gperftools, python, swig }:
 
 stdenv.mkDerivation rec {
-  name = "bro-2.5.1";
+  name = "bro-2.5.2";
 
   src = fetchurl {
     url = "http://www.bro.org/downloads/${name}.tar.gz";
-    sha256 = "04cmm0vs8q31mgaq3pxybjk834py3ji16qp4qcir7vjbhq1fav1c";
+    sha256 = "0w5rynw278nl6pdl5s7gsmxjwkl6z1g5pcm6byg930k26yyb35db";
   };
 
   nativeBuildInputs = [ cmake flex bison file ];
diff --git a/pkgs/applications/networking/remote/putty/default.nix b/pkgs/applications/networking/remote/putty/default.nix
index 6b765a0c9f1..4c1ddcef5cc 100644
--- a/pkgs/applications/networking/remote/putty/default.nix
+++ b/pkgs/applications/networking/remote/putty/default.nix
@@ -1,12 +1,16 @@
-{ stdenv, fetchurl, ncurses, gtk2, pkgconfig, autoconf, automake, perl, halibut, libtool }:
+{ stdenv, fetchurl, autoconf, automake, pkgconfig, libtool
+, gtk2, halibut, ncurses, perl }:
 
 stdenv.mkDerivation rec {
-  version = "0.67";
+  version = "0.70";
   name = "putty-${version}";
 
   src = fetchurl {
-    url = "http://the.earth.li/~sgtatham/putty/latest/${name}.tar.gz";
-    sha256 = "0isak6dy5vmfzf9ckcq6jvhgrn3xfmfcmziaa7g2jqm4x1c286c0";
+    urls = [
+      "https://the.earth.li/~sgtatham/putty/${version}/${name}.tar.gz"
+      "ftp://ftp.wayne.edu/putty/putty-website-mirror/${version}/${name}.tar.gz"
+    ];
+    sha256 = "1gmhwwj1y7b5hgkrkxpf4jddjpk9l5832zq5ibhsiicndsfs92mv";
   };
 
   preConfigure = ''
@@ -19,8 +23,9 @@ stdenv.mkDerivation rec {
     cd unix
   '';
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk2 ncurses autoconf automake perl halibut libtool ];
+  nativeBuildInputs = [ autoconf automake halibut libtool perl pkgconfig ];
+  buildInputs = [ gtk2 ncurses ];
+  enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
     description = "A Free Telnet/SSH Client";
diff --git a/pkgs/applications/office/homebank/default.nix b/pkgs/applications/office/homebank/default.nix
index 65a7c9730e9..1d90e8be282 100644
--- a/pkgs/applications/office/homebank/default.nix
+++ b/pkgs/applications/office/homebank/default.nix
@@ -2,10 +2,10 @@
 , hicolor_icon_theme, libsoup, gnome3 }:
 
 stdenv.mkDerivation rec {
-  name = "homebank-5.1.5";
+  name = "homebank-5.1.6";
   src = fetchurl {
     url = "http://homebank.free.fr/public/${name}.tar.gz";
-    sha256 = "03rkl4bvi1cmb8rqyvmhxhg63bdmb3nzqa3firfimsbphm3x6gsw";
+    sha256 = "1q4h890g6a6pm6kfiavbq9sbpsnap0f854sja2y5q3x0j0ay2q98";
   };
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
diff --git a/pkgs/applications/office/zim/default.nix b/pkgs/applications/office/zim/default.nix
index 18c4514c4de..48b278cc1df 100644
--- a/pkgs/applications/office/zim/default.nix
+++ b/pkgs/applications/office/zim/default.nix
@@ -9,11 +9,11 @@
 
 python2Packages.buildPythonApplication rec {
   name = "zim-${version}";
-  version = "0.67-rc2";
+  version = "0.67";
 
   src = fetchurl {
     url = "http://zim-wiki.org/downloads/${name}.tar.gz";
-    sha256 = "0l4q2dfnvyn0jr1lggf8g7515q4z7qr1lnmy0lsyhjf477ldszqf";
+    sha256 = "1gdbzy9qyzj3rn9fsl0ss7lbk9kyka99656bphx2dah694yyyz5k";
   };
 
   propagatedBuildInputs = with python2Packages; [ pyGtkGlade pyxdg pygobject2 ];
diff --git a/pkgs/applications/science/biology/bowtie2/default.nix b/pkgs/applications/science/biology/bowtie2/default.nix
new file mode 100644
index 00000000000..05a85cafedf
--- /dev/null
+++ b/pkgs/applications/science/biology/bowtie2/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, zlib, tbb }:
+
+stdenv.mkDerivation rec {
+  pname = "bowtie2";
+  version = "2.3.3.1";
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "BenLangmead";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1pcyks76bnnkq6h0gqjw4fkdddjjnw7k5ibim7ajkbvfw58a99y0";
+  };
+
+  buildInputs = [ zlib tbb ];
+
+  installFlags = [ "prefix=$(out)" ];
+
+  meta = with stdenv.lib; {
+    description = "An ultrafast and memory-efficient tool for aligning sequencing reads to long reference sequences";
+    license = licenses.gpl3;
+    homepage = http://bowtie-bio.sf.net/bowtie2;
+    maintainers = with maintainers; [ rybern ];
+    platforms = platforms.all;
+  };
+}