about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2021-08-03 18:01:44 +0000
committerGitHub <noreply@github.com>2021-08-03 18:01:44 +0000
commit2427da39ca4f839e595c8be29453e1e6043ff99e (patch)
tree70df8234e7ed42c9fa8c4df1fcb34800bf703205 /pkgs
parent473ae2cb6daacd9031cbf5e4b178c4794637efed (diff)
parent711149a9077c3d98616cc9f3353593bd6155a834 (diff)
Merge staging-next into staging
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix33
-rw-r--r--pkgs/applications/graphics/openscad/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/helm/wrapper.nix5
-rw-r--r--pkgs/build-support/cc-wrapper/default.nix5
-rw-r--r--pkgs/data/themes/marwaita/default.nix6
-rw-r--r--pkgs/development/compilers/emscripten/default.nix6
-rw-r--r--pkgs/development/libraries/ada/gnatcoll/bindings.nix88
-rw-r--r--pkgs/development/libraries/ada/gnatcoll/core.nix47
-rw-r--r--pkgs/development/libraries/ada/gnatcoll/db.nix110
-rw-r--r--pkgs/development/libraries/ada/gnatcoll/gnatcoll-db-sqlite-static-external.patch18
-rw-r--r--pkgs/development/libraries/ada/gnatcoll/omp-setup-text-mode.patch23
-rw-r--r--pkgs/development/libraries/ada/xmlada/default.nix35
-rw-r--r--pkgs/development/ocaml-modules/checkseum/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/checkseum/makefile-no-opam.patch12
-rw-r--r--pkgs/development/ocaml-modules/decompress/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/gprbuild/boot.nix90
-rw-r--r--pkgs/development/tools/build-managers/gprbuild/default.nix65
-rw-r--r--pkgs/development/tools/build-managers/gprbuild/gpr-project-path-hook.sh8
-rw-r--r--pkgs/development/tools/build-managers/gprbuild/nixpkgs-gnat.xml56
-rw-r--r--pkgs/misc/vim-plugins/generated.nix376
-rw-r--r--pkgs/misc/vim-plugins/overrides.nix3
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names4
-rw-r--r--pkgs/servers/samba/4.x.nix13
-rw-r--r--pkgs/tools/admin/exoscale-cli/default.nix4
-rw-r--r--pkgs/tools/backup/bupstash/default.nix6
-rw-r--r--pkgs/tools/misc/recutils/default.nix5
-rw-r--r--pkgs/top-level/all-packages.nix32
-rw-r--r--pkgs/top-level/emacs-packages.nix2
28 files changed, 847 insertions, 219 deletions
diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix
index 69db13fec19e2..2fcfa9b84dde3 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix
@@ -21,7 +21,7 @@ formats commits for you.
 
 */
 
-{ lib, stdenv, texinfo, writeText, gcc }:
+{ lib, stdenv, texinfo, writeText, gcc, pkgs, buildPackages }:
 
 self: let
 
@@ -57,6 +57,37 @@ self: let
       project = if lib.versionAtLeast self.emacs.version "28"
                 then null
                 else super.project;
+      # Compilation instructions for the Ada executables:
+      # https://www.nongnu.org/ada-mode/ada-mode.html#Ada-executables
+      ada-mode = super.ada-mode.overrideAttrs (old: {
+        # actually unpack source of ada-mode and wisi
+        # which are both needed to compile the tools
+        # we need at runtime
+        phases = "unpackPhase " + old.phases; # not a list, interestingly…
+        srcs = [
+          super.ada-mode.src
+          self.wisi.src
+        ];
+
+        sourceRoot = "ada-mode-${self.ada-mode.version}";
+
+        nativeBuildInputs = [
+          buildPackages.gnat
+          buildPackages.gprbuild
+        ];
+
+        buildInputs = [
+          pkgs.gnatcoll-xref
+        ];
+
+        preInstall = ''
+          ./build.sh
+        '';
+
+        postInstall = ''
+          ./install.sh --prefix=$out
+        '';
+      });
     };
 
     elpaPackages = super // overrides;
diff --git a/pkgs/applications/graphics/openscad/default.nix b/pkgs/applications/graphics/openscad/default.nix
index ac41a23f8bb8d..c7be99469b059 100644
--- a/pkgs/applications/graphics/openscad/default.nix
+++ b/pkgs/applications/graphics/openscad/default.nix
@@ -68,7 +68,7 @@ mkDerivation rec {
     wrapQtApp "$out"/Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD
 
     mv --target-directory=$out/Applications/OpenSCAD.app/Contents/Resources \
-      $out/share/openscad/{examples,color-schemes,locale,libraries,fonts}
+      $out/share/openscad/{examples,color-schemes,locale,libraries,fonts,templates}
 
     rmdir $out/share/openscad
   '';
diff --git a/pkgs/applications/networking/cluster/helm/wrapper.nix b/pkgs/applications/networking/cluster/helm/wrapper.nix
index 21a29e31243b6..b912e9abe5b36 100644
--- a/pkgs/applications/networking/cluster/helm/wrapper.nix
+++ b/pkgs/applications/networking/cluster/helm/wrapper.nix
@@ -10,8 +10,6 @@ let
   let
 
   initialMakeWrapperArgs = [
-      "${helm}/bin/helm" "${placeholder "out"}/bin/helm"
-      "--argv0" "$0" "--set" "HELM_PLUGINS" "${pluginsDir}"
   ];
 
   pluginsDir = symlinkJoin {
@@ -26,7 +24,8 @@ in
     # extra actions upon
     postBuild = ''
       rm $out/bin/helm
-      makeWrapper ${lib.escapeShellArgs initialMakeWrapperArgs}  ${extraMakeWrapperArgs}
+      makeWrapper "${helm}/bin/helm" "$out/bin/helm" "--argv0" "$0" \
+        "--set" "HELM_PLUGINS" "${pluginsDir}" ${extraMakeWrapperArgs}
     '';
     paths = [ helm pluginsDir ];
 
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix
index 235d244a7c0d7..678027f9bf45b 100644
--- a/pkgs/build-support/cc-wrapper/default.nix
+++ b/pkgs/build-support/cc-wrapper/default.nix
@@ -234,6 +234,11 @@ stdenv.mkDerivation {
       wrap ${targetPrefix}gnatmake ${./gnat-wrapper.sh} $ccPath/${targetPrefix}gnatmake
       wrap ${targetPrefix}gnatbind ${./gnat-wrapper.sh} $ccPath/${targetPrefix}gnatbind
       wrap ${targetPrefix}gnatlink ${./gnat-wrapper.sh} $ccPath/${targetPrefix}gnatlink
+
+      # this symlink points to the unwrapped gnat's output "out". It is used by
+      # our custom gprconfig compiler description to find GNAT's ada runtime. See
+      # ../../development/tools/build-managers/gprbuild/{boot.nix, nixpkgs-gnat.xml}
+      ln -sf ${cc} $out/nix-support/gprconfig-gnat-unwrapped
     ''
 
     + optionalString cc.langD or false ''
diff --git a/pkgs/data/themes/marwaita/default.nix b/pkgs/data/themes/marwaita/default.nix
index 7d13e7942192c..cdb7b4ed6e055 100644
--- a/pkgs/data/themes/marwaita/default.nix
+++ b/pkgs/data/themes/marwaita/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "marwaita";
-  version = "9.5";
+  version = "10.0";
 
   src = fetchFromGitHub {
     owner = "darkomarko42";
     repo = pname;
     rev = version;
-    sha256 = "0hhiwims4nxq06kakc0hc4rn4hvnlrpbx6ca929vd2qbi6wa2k9h";
+    sha256 = "19xy6p3v4jqpw448ywmx1i6mbjpy06qa1rdwkdpxdlhf45fbdacr";
   };
 
   buildInputs = [
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "GTK theme supporting Budgie, Pantheon, Mate, Xfce4 and GNOME desktops";
     homepage = "https://www.pling.com/p/1239855/";
-    license = licenses.cc0;
+    license = licenses.gpl3Only;
     platforms = platforms.unix;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/pkgs/development/compilers/emscripten/default.nix b/pkgs/development/compilers/emscripten/default.nix
index a142008e2e30a..47ae2f76b7506 100644
--- a/pkgs/development/compilers/emscripten/default.nix
+++ b/pkgs/development/compilers/emscripten/default.nix
@@ -92,8 +92,10 @@ stdenv.mkDerivation rec {
       # wasm2c doesn't work with PIC
       $out/bin/emcc -s WASM2C -s STANDALONE_WASM $LTO test.c
 
-      for RELOCATABLE in "" "-s RELOCATABLE"; do
-        $out/bin/emcc $RELOCATABLE $LTO test.c
+      for MT in "" "-s USE_PTHREADS"; do
+        for RELOCATABLE in "" "-s RELOCATABLE"; do
+          $out/bin/emcc $RELOCATABLE $MT $LTO test.c
+        done
       done
     done
     popd
diff --git a/pkgs/development/libraries/ada/gnatcoll/bindings.nix b/pkgs/development/libraries/ada/gnatcoll/bindings.nix
new file mode 100644
index 0000000000000..666989af0acc7
--- /dev/null
+++ b/pkgs/development/libraries/ada/gnatcoll/bindings.nix
@@ -0,0 +1,88 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, gnat
+, gprbuild
+, gnatcoll-core
+, component
+# component dependencies
+, gmp
+, libiconv
+, xz
+, gcc-unwrapped
+, readline
+, zlib
+, python3
+, ncurses
+}:
+
+let
+  # omit python (2.7), no need to introduce a
+  # dependency on an EOL package for no reason
+  libsFor = {
+    iconv = [ libiconv ];
+    gmp = [ gmp ];
+    lzma = [ xz ];
+    readline = [ readline ];
+    python3 = [ python3 ncurses ];
+    syslog = [ ];
+    zlib = [ zlib ];
+  };
+in
+
+
+stdenv.mkDerivation rec {
+  pname = "gnatcoll-${component}";
+  version = "21.0.0";
+
+  src = fetchFromGitHub {
+    owner = "AdaCore";
+    repo = "gnatcoll-bindings";
+    rev = "v${version}";
+    sha256 = "1214hf0m8iz289rjpxdiddnixj65l2xjwbcr7mq5ysbddmig5992";
+  };
+
+  patches = [
+    ./omp-setup-text-mode.patch
+  ];
+
+  nativeBuildInputs = [
+    gprbuild
+    gnat
+    python3
+  ];
+
+  # propagate since gprbuild needs to find referenced .gpr files
+  # and all dependency C libraries when statically linking a
+  # downstream executable.
+  propagatedBuildInputs = [
+    gnatcoll-core
+  ] ++ libsFor."${component}" or [];
+
+  # explicit flag for GPL acceptance because upstreams
+  # allows a gcc runtime exception for all bindings
+  # except for readline (since it is GPL w/o exceptions)
+  buildFlags = lib.optionals (component == "readline") [
+    "--accept-gpl"
+  ];
+
+  buildPhase = ''
+    runHook preBuild
+    python3 ${component}/setup.py build $buildFlags
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    python3 ${component}/setup.py install --prefix $out
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "GNAT Components Collection - Bindings to C libraries";
+    homepage = "https://github.com/AdaCore/gnatcoll-bindings";
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+    maintainers = [ maintainers.sternenseemann ];
+  };
+}
diff --git a/pkgs/development/libraries/ada/gnatcoll/core.nix b/pkgs/development/libraries/ada/gnatcoll/core.nix
new file mode 100644
index 0000000000000..f5f84342137ec
--- /dev/null
+++ b/pkgs/development/libraries/ada/gnatcoll/core.nix
@@ -0,0 +1,47 @@
+{ stdenv
+, lib
+, gnat
+, gprbuild
+, fetchFromGitHub
+, xmlada
+, which
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gnatcoll-core";
+  version = "21.0.0";
+
+  src = fetchFromGitHub {
+    owner = "AdaCore";
+    repo = "gnatcoll-core";
+    rev = "v${version}";
+    sha256 = "0jgs2299zfbr6jg5bxlhqizi60si2m8vw7zq6ns4yhr38qqdskqg";
+  };
+
+  nativeBuildInputs = [
+    gprbuild
+    which
+    gnat
+  ];
+
+  # propagate since gprbuild needs to find
+  # referenced GPR project definitions
+  propagatedBuildInputs = [
+    gprbuild # libgpr
+  ];
+
+  makeFlags = [
+    "prefix=${placeholder "out"}"
+    "PROCESSORS=$(NIX_BUILD_CORES)"
+    # confusingly, for gprbuild --target is autoconf --host
+    "TARGET=${stdenv.hostPlatform.config}"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/AdaCore/gnatcoll-core";
+    description = "GNAT Components Collection - Core packages";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.sternenseemann ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/ada/gnatcoll/db.nix b/pkgs/development/libraries/ada/gnatcoll/db.nix
new file mode 100644
index 0000000000000..d0512507db246
--- /dev/null
+++ b/pkgs/development/libraries/ada/gnatcoll/db.nix
@@ -0,0 +1,110 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, gnat
+, gprbuild
+, which
+, gnatcoll-core
+, xmlada
+, component
+# components built by this derivation other components depend on
+, gnatcoll-sql
+, gnatcoll-sqlite
+, gnatcoll-xref
+# component specific extra dependencies
+, gnatcoll-iconv
+, gnatcoll-readline
+, sqlite
+, postgresql
+}:
+
+let
+  libsFor = {
+    gnatcoll_db2ada = [
+      gnatcoll-sql
+    ];
+    gnatinspect = [
+      gnatcoll-sqlite
+      gnatcoll-readline
+      gnatcoll-xref
+    ];
+    postgres = [
+      gnatcoll-sql
+      postgresql
+    ];
+    sqlite = [
+      gnatcoll-sql
+      sqlite
+    ];
+    xref = [
+      gnatcoll-iconv
+      gnatcoll-sqlite
+    ];
+  };
+
+  # These components are just tools and don't install a library
+  onlyExecutable = builtins.elem component [
+    "gnatcoll_db2ada"
+    "gnatinspect"
+  ];
+in
+
+stdenv.mkDerivation rec {
+  pname = "gnatcoll-${component}";
+  version = "21.0.0";
+
+  src = fetchFromGitHub {
+    owner = "AdaCore";
+    repo = "gnatcoll-db";
+    rev = "v${version}";
+    sha256 = "0fdfng3yfy645nlw8l3c2za0zkn6pdhkvyrw20wnjx4k26glgb6r";
+  };
+
+  patches = lib.optionals (component == "sqlite") [
+    # fixes build of the static sqlite component
+    # when building against the system libsqlite3
+    # See https://github.com/AdaCore/gprbuild/issues/27#issuecomment-298444608
+    ./gnatcoll-db-sqlite-static-external.patch
+  ];
+
+  # Link executables dynamically unless specified by the platform,
+  # as we usually do in nixpkgs where possible
+  postPatch = lib.optionalString (!stdenv.hostPlatform.isStatic) ''
+    for f in gnatcoll_db2ada/Makefile gnatinspect/Makefile; do
+      substituteInPlace "$f" --replace "=static" "=relocatable"
+    done
+  '';
+
+  nativeBuildInputs = [
+    gnat
+    gprbuild
+    which
+  ];
+
+  # Propagate since GPRbuild needs to find referenced .gpr files
+  # and other libraries to link against when static linking is used.
+  # For executables this is of course not relevant and we can reduce
+  # the closure size dramatically
+  ${if onlyExecutable then "buildInputs" else "propagatedBuildInputs"} = [
+    gnatcoll-core
+  ] ++ libsFor."${component}" or [];
+
+  makeFlags = [
+    "-C" component
+    "PROCESSORS=$(NIX_BUILD_CORES)"
+    # confusingly, for gprbuild --target is autoconf --host
+    "TARGET=${stdenv.hostPlatform.config}"
+    "prefix=${placeholder "out"}"
+  ] ++ lib.optional (component == "sqlite") [
+    # link against packaged, not vendored libsqlite3
+    "GNATCOLL_SQLITE=external"
+  ];
+
+  meta = with lib; {
+    description = "GNAT Components Collection - Database packages";
+    homepage = "https://github.com/AdaCore/gnatcoll-db";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.sternenseemann ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/ada/gnatcoll/gnatcoll-db-sqlite-static-external.patch b/pkgs/development/libraries/ada/gnatcoll/gnatcoll-db-sqlite-static-external.patch
new file mode 100644
index 0000000000000..f67837d7d5162
--- /dev/null
+++ b/pkgs/development/libraries/ada/gnatcoll/gnatcoll-db-sqlite-static-external.patch
@@ -0,0 +1,18 @@
+diff --git a/sqlite/gnatcoll_sqlite.gpr b/sqlite/gnatcoll_sqlite.gpr
+index 5bd53d35..580739f8 100644
+--- a/sqlite/gnatcoll_sqlite.gpr
++++ b/sqlite/gnatcoll_sqlite.gpr
+@@ -69,7 +69,12 @@ project GnatColl_Sqlite is
+          for Source_Dirs use (".", "amalgamation");
+       when "external" =>
+          for Source_Dirs use (".");
+-         for Library_Options use ("-lsqlite3") & Thread_Lib;
++         case Library_Type is
++            when "relocatable" =>
++               for Library_Options use ("-lsqlite3") & Thread_Lib;
++            when others =>
++               null;
++         end case;
+    end case;
+ 
+    package Compiler is
diff --git a/pkgs/development/libraries/ada/gnatcoll/omp-setup-text-mode.patch b/pkgs/development/libraries/ada/gnatcoll/omp-setup-text-mode.patch
new file mode 100644
index 0000000000000..07953809bb202
--- /dev/null
+++ b/pkgs/development/libraries/ada/gnatcoll/omp-setup-text-mode.patch
@@ -0,0 +1,23 @@
+commit 37c815ee660d1bf37256638d23b0346ad7cc19e7
+Author: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org>
+Date:   Wed Jul 21 00:18:30 2021 +0200
+
+    omp/setup.py: open version_information in text mode
+    
+    Otherwise saving the config in setup_support.py will fail as a bytes
+    object is not encodeable as JSON. Luckily, version_information is text
+    anyways.
+
+diff --git a/omp/setup.py b/omp/setup.py
+index 942ab1f5..5281398e 100755
+--- a/omp/setup.py
++++ b/omp/setup.py
+@@ -25,7 +25,7 @@ class GNATCollOMP(SetupApp):
+ 
+         # Set library version
+         with open(os.path.join(config.source_dir, '..',
+-                               'version_information'), 'rb') as fd:
++                               'version_information'), 'r') as fd:
+             version = fd.read().strip()
+         config.set_data('GNATCOLL_VERSION', version, sub='gprbuild')
+ 
diff --git a/pkgs/development/libraries/ada/xmlada/default.nix b/pkgs/development/libraries/ada/xmlada/default.nix
new file mode 100644
index 0000000000000..b855166d5590d
--- /dev/null
+++ b/pkgs/development/libraries/ada/xmlada/default.nix
@@ -0,0 +1,35 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, gnat
+# use gprbuild-boot since gprbuild proper depends
+# on this xmlada derivation.
+, gprbuild-boot
+}:
+
+stdenv.mkDerivation rec {
+  pname = "xmlada";
+  version = "21.0.0";
+
+  src = fetchFromGitHub {
+    name = "xmlada-${version}-src";
+    owner = "AdaCore";
+    repo = "xmlada";
+    rev = "v${version}";
+    sha256 = "00vljkvck951nj853v9sda5qbfm1mp8y2k61ja2595rmp8qcrazw";
+  };
+
+  nativeBuildInputs = [
+    gnat
+    gprbuild-boot
+  ];
+
+  meta = with lib; {
+    description = "XML/Ada: An XML parser for Ada";
+    homepage = "https://github.com/AdaCore/xmlada";
+    maintainers = [ maintainers.sternenseemann ];
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+  };
+}
+
diff --git a/pkgs/development/ocaml-modules/checkseum/default.nix b/pkgs/development/ocaml-modules/checkseum/default.nix
index 527afec33eb3b..3483af1dd4165 100644
--- a/pkgs/development/ocaml-modules/checkseum/default.nix
+++ b/pkgs/development/ocaml-modules/checkseum/default.nix
@@ -6,7 +6,7 @@
 }:
 
 buildDunePackage rec {
-  version = "0.3.1";
+  version = "0.3.2";
   pname = "checkseum";
 
   useDune2 = true;
@@ -15,13 +15,9 @@ buildDunePackage rec {
 
   src = fetchurl {
     url = "https://github.com/mirage/checkseum/releases/download/v${version}/checkseum-v${version}.tbz";
-    sha256 = "b9e4d054e17618b1faed8c0eb15afe0614b2f093e58b59a180bda4500a5d2da1";
+    sha256 = "9cdd282ea1cfc424095d7284e39e4d0ad091de3c3f2580539d03f6966d45ccd5";
   };
 
-  patches = [
-    ./makefile-no-opam.patch
-  ];
-
   nativeBuildInputs = [
     dune-configurator
     pkg-config
diff --git a/pkgs/development/ocaml-modules/checkseum/makefile-no-opam.patch b/pkgs/development/ocaml-modules/checkseum/makefile-no-opam.patch
deleted file mode 100644
index 49fb41b2e008d..0000000000000
--- a/pkgs/development/ocaml-modules/checkseum/makefile-no-opam.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/freestanding/Makefile b/freestanding/Makefile
-index d535050..bb286bd 100644
---- a/freestanding/Makefile
-+++ b/freestanding/Makefile
-@@ -1,4 +1,6 @@
--PKG_CONFIG_PATH := $(shell opam config var prefix)/lib/pkgconfig
-+ifneq (, $(shell command -v opam))
-+PKG_CONFIG_PATH ?= $(shell opam var prefix)/lib/pkgconfig
-+endif
- 
- EXISTS := $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) pkg-config --exists ocaml-freestanding; echo $$?)
- 
diff --git a/pkgs/development/ocaml-modules/decompress/default.nix b/pkgs/development/ocaml-modules/decompress/default.nix
index 4681e5a1879b8..7629349c1d1cd 100644
--- a/pkgs/development/ocaml-modules/decompress/default.nix
+++ b/pkgs/development/ocaml-modules/decompress/default.nix
@@ -4,7 +4,7 @@
 }:
 
 buildDunePackage rec {
-  version = "1.4.1";
+  version = "1.4.2";
   pname = "decompress";
 
   minimumOCamlVersion = "4.07";
@@ -13,7 +13,7 @@ buildDunePackage rec {
 
   src = fetchurl {
     url = "https://github.com/mirage/decompress/releases/download/v${version}/decompress-v${version}.tbz";
-    sha256 = "0130ea6acb61b0a25393fa23148e116d7a17c77558196f7abddaee9e05a1d7a8";
+    sha256 = "822f125b46c87f4a902c334db8c86d4d5f33ebe978e93c40351a4d3269b95225";
   };
 
   buildInputs = [ cmdliner ];
diff --git a/pkgs/development/tools/build-managers/gprbuild/boot.nix b/pkgs/development/tools/build-managers/gprbuild/boot.nix
new file mode 100644
index 0000000000000..352cd0b137bec
--- /dev/null
+++ b/pkgs/development/tools/build-managers/gprbuild/boot.nix
@@ -0,0 +1,90 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, gnat
+, which
+, xmlada # for src
+}:
+
+let
+  version = "21.0.0";
+
+  gprConfigKbSrc = fetchFromGitHub {
+    name = "gprconfig-kb-${version}-src";
+    owner = "AdaCore";
+    repo = "gprconfig_kb";
+    rev = "v${version}";
+    sha256 = "11qmzfdd0ipmhxl4k2hjidqc9i40bywrfkbiivd3lhscxca5pxpg";
+  };
+in
+
+stdenv.mkDerivation {
+  pname = "gprbuild-boot";
+  inherit version;
+
+  src = fetchFromGitHub {
+    name = "gprbuild-${version}";
+    owner = "AdaCore";
+    repo = "gprbuild";
+    rev = "v${version}";
+    sha256 = "1knpwasbrz6sxh3dhkc4izchcz4km04j77r4vxxhi23fbd8v1ynj";
+  };
+
+  nativeBuildInputs = [
+    gnat
+    which
+  ];
+
+  postPatch = ''
+    # The Makefile uses gprbuild to build gprbuild which
+    # we can't do at this point, delete it to prevent the
+    # default phases from failing.
+    rm Makefile
+
+    # make sure bootstrap script runs
+    patchShebangs --build bootstrap.sh
+  '';
+
+  # This setupHook populates GPR_PROJECT_PATH which is used by
+  # gprbuild to find dependencies. It works quite similar to
+  # the pkg-config setupHook in the sense that it also splits
+  # dependencies into GPR_PROJECT_PATH and GPR_PROJECT_PATH_FOR_BUILD,
+  # but gprbuild itself doesn't support this, so we'll need to
+  # introducing a wrapper for it in the future remains TODO.
+  # For the moment this doesn't matter since we have no situation
+  # were gprbuild is used to build something used at build time.
+  setupHook = ./gpr-project-path-hook.sh;
+
+  installPhase = ''
+    runHook preInstall
+
+    ./bootstrap.sh \
+      --with-xmlada=${xmlada.src} \
+      --with-kb=${gprConfigKbSrc} \
+      --prefix=$out
+
+    # Install custom compiler description which can detect nixpkgs'
+    # GNAT wrapper as a proper Ada compiler. The default compiler
+    # description expects the runtime library to be installed in
+    # the same prefix which isn't the case for nixpkgs. As a
+    # result, it would detect the unwrapped GNAT as a proper
+    # compiler which is unable to produce working binaries.
+    #
+    # Our compiler description is very similar to the upstream
+    # GNAT description except that we use a symlink in $out/nix-support
+    # created by the cc-wrapper to find the associated runtime
+    # libraries and use gnatmake instead of gnatls to find GNAT's
+    # bin directory.
+    install -m644 ${./nixpkgs-gnat.xml} $out/share/gprconfig/nixpkgs-gnat.xml
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Multi-language extensible build tool";
+    homepage = "https://github.com/AdaCore/gprbuild";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.sternenseemann ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/build-managers/gprbuild/default.nix b/pkgs/development/tools/build-managers/gprbuild/default.nix
new file mode 100644
index 0000000000000..3155151ae0f8a
--- /dev/null
+++ b/pkgs/development/tools/build-managers/gprbuild/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, gprbuild-boot
+, which
+, gnat
+, xmlada
+}:
+
+stdenv.mkDerivation {
+  pname = "gprbuild";
+
+  # See ./boot.nix for an explanation of the gprbuild setupHook,
+  # our custom knowledge base entry and the situation wrt a
+  # (future) gprbuild wrapper.
+  inherit (gprbuild-boot)
+    version
+    src
+    setupHook
+    meta
+    ;
+
+  nativeBuildInputs = [
+    gnat
+    gprbuild-boot
+    which
+  ];
+
+  propagatedBuildInputs = [
+    xmlada
+  ];
+
+  makeFlags = [
+    "ENABLE_SHARED=${if stdenv.hostPlatform.isStatic then "no" else "yes"}"
+    "PROCESSORS=$(NIX_BUILD_CORES)"
+    # confusingly, for gprbuild --target is autoconf --host
+    "TARGET=${stdenv.hostPlatform.config}"
+    "prefix=${placeholder "out"}"
+  ] ++ lib.optionals (!stdenv.hostPlatform.isStatic) [
+    "LIBRARY_TYPE=relocatable"
+  ];
+
+  # Fixes gprbuild being linked statically always
+  patches = lib.optional (!stdenv.hostPlatform.isStatic) (fetchpatch {
+    name = "gprbuild-relocatable-build.patch";
+    url = "https://aur.archlinux.org/cgit/aur.git/plain/relocatable-build.patch?h=gprbuild&id=1d4e8a5cb982e79135a0aaa3ef87654bed1fe4f0";
+    sha256 = "1r3xsp1pk9h666mm8mdravkybmd5gv2f751x2ffb1kxnwq1rwiyn";
+  });
+
+  buildFlags = [ "all" "libgpr.build" ];
+
+  installFlags = [ "all" "libgpr.install" ];
+
+  # link gprconfig_kb db from gprbuild-boot into build dir,
+  # the install process copies its contents to $out
+  preInstall = ''
+    ln -sf ${gprbuild-boot}/share/gprconfig share/gprconfig
+  '';
+
+  # no need for the install script
+  postInstall = ''
+    rm $out/doinstall
+  '';
+}
diff --git a/pkgs/development/tools/build-managers/gprbuild/gpr-project-path-hook.sh b/pkgs/development/tools/build-managers/gprbuild/gpr-project-path-hook.sh
new file mode 100644
index 0000000000000..f98b2ab9e58d3
--- /dev/null
+++ b/pkgs/development/tools/build-managers/gprbuild/gpr-project-path-hook.sh
@@ -0,0 +1,8 @@
+addAdaObjectsPath() {
+    local role_post
+    getHostRoleEnvHook
+
+    addToSearchPath "GPR_PROJECT_PATH${role_post}" "$1/share/gpr"
+}
+
+addEnvHooks "$targetOffset" addAdaObjectsPath
diff --git a/pkgs/development/tools/build-managers/gprbuild/nixpkgs-gnat.xml b/pkgs/development/tools/build-managers/gprbuild/nixpkgs-gnat.xml
new file mode 100644
index 0000000000000..ead88dc365c1e
--- /dev/null
+++ b/pkgs/development/tools/build-managers/gprbuild/nixpkgs-gnat.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" ?>
+<gprconfig>
+  <!-- This differs from the default GNAT compiler description
+       in the following ways:
+
+       * gnatmake is used over gnatls to detect the GNAT version
+         since the latter is not part of the wrapper.
+       * to find the runtime libraries, we rely on the symlink
+         ../nix-support/gprconfig-gnat-unwrapped which is a
+         gprconfig-specific addition to the cc-wrapper we employ
+         for Ada compilers (which is only GNAT at the moment).
+
+       For documentation on this file format and its use refer to
+       https://docs.adacore.com/gprbuild-docs/html/gprbuild_ug/companion_tools.html#the-gprconfig-knowledge-base
+  -->
+  <compiler_description>
+    <!-- We would like to name this something different, so users
+         of gprconfig know this is something custom, nixpkgs-related,
+         but unfortunately the knowledge base depends on the name of
+         the compiler for e. g. linker settings.
+    -->
+    <name>GNAT</name>
+    <executable prefix="1">(.*-.*-.*)?gnatmake</executable>
+    <version>
+      <external>${PREFIX}gnatmake -v</external>
+      <grep regexp="^GNATMAKE.+?(\d+(\.\d+)?)" group="1"></grep>
+    </version>
+    <languages>Ada</languages>
+    <variable name="gcc_version">
+      <external>${PREFIX}gcc -v</external>
+      <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep>
+    </variable>
+    <!-- The ada runtime libraries and objects are only part of the unwrapped
+         GNAT derivation. We can't symlink them into the wrapper derivation
+         (at least not the canonical location) since that screws with linking
+         against libraries distributed with gcc.
+
+         As a workaround, we create a symlink to the unwrapped GNAT's "out"
+         output in the cc-wrapper which we can read into a variable here and
+         use to find GNAT's Ada runtime.
+    -->
+    <variable name="gnat_unwrapped">
+      <external>readlink -n ${PATH}/../nix-support/gprconfig-gnat-unwrapped</external>
+    </variable>
+    <runtimes default="default,kernel,native">
+       <directory group="default" >$gnat_unwrapped/lib/gcc(-lib)?/$TARGET/$gcc_version/adalib/</directory>
+       <directory group="default" contents="^rts-">$gnat_unwrapped/lib/gcc(-lib)?/$TARGET/$gcc_version/ada_object_path</directory>
+       <directory group="2" >$gnat_unwrapped/lib/gcc(-lib)?/$TARGET/$gcc_version/rts-(.*)/adalib/</directory>
+       <directory group="1" >$gnat_unwrapped/$TARGET/lib/gnat/(.*)/adalib/</directory>
+    </runtimes>
+    <target>
+      <external>${PREFIX}gcc -dumpmachine</external>
+      <grep regexp="[^\r\n]+"></grep>
+    </target>
+  </compiler_description>
+</gprconfig>
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix
index 0b80612a248f8..951914a41c67c 100644
--- a/pkgs/misc/vim-plugins/generated.nix
+++ b/pkgs/misc/vim-plugins/generated.nix
@@ -77,12 +77,12 @@ final: prev:
 
   ale = buildVimPluginFrom2Nix {
     pname = "ale";
-    version = "2021-07-28";
+    version = "2021-08-03";
     src = fetchFromGitHub {
       owner = "dense-analysis";
       repo = "ale";
-      rev = "dce088a4f07c55f7cff4eef90224fa85aa402877";
-      sha256 = "17i58pfyq9950pkjcaiknx2bmp34x2sc3vswjpxj905d0ni36z9d";
+      rev = "fa032b1b7fde1cb00bfa3e16a0d3ebd37a7d8be4";
+      sha256 = "0gdascxqbydpf60rnk9zqrvjjhplc6qgy16k4m5k2x6q1zh7g64a";
     };
     meta.homepage = "https://github.com/dense-analysis/ale/";
   };
@@ -281,12 +281,12 @@ final: prev:
 
   barbar-nvim = buildVimPluginFrom2Nix {
     pname = "barbar-nvim";
-    version = "2021-06-12";
+    version = "2021-08-03";
     src = fetchFromGitHub {
       owner = "romgrk";
       repo = "barbar.nvim";
-      rev = "33639e53d0bf69444275ed048c5bfd7e29396634";
-      sha256 = "0zqc4j0nbdhap8a67529n2k4k53xnqxrjsn2a4sdqdwvm207y6r9";
+      rev = "f677f1d93be06c41eaabc87d845cdd5bd46a259f";
+      sha256 = "1crd8gyzqgycbcb9aipn31kphz3j1y1rlzqivfvgk2zqf550dqis";
     };
     meta.homepage = "https://github.com/romgrk/barbar.nvim/";
   };
@@ -425,12 +425,12 @@ final: prev:
 
   chadtree = buildVimPluginFrom2Nix {
     pname = "chadtree";
-    version = "2021-07-29";
+    version = "2021-08-03";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "chadtree";
-      rev = "75fa52709d1eb4a981075ef7e3cb9e220cc45bf3";
-      sha256 = "0syb3f0m7d5pv4ikj7ss8c81vzz0a71axfplvs9i9z9q1qrp3jkj";
+      rev = "2dfc18f269ea74502cfbb8fed0e6ef5408fc5aea";
+      sha256 = "1sf65kgjd8glx2y7jm4ysmk5yn1hrcmprd6ybc2n5gyi9b2ikrzq";
     };
     meta.homepage = "https://github.com/ms-jpq/chadtree/";
   };
@@ -521,12 +521,12 @@ final: prev:
 
   coc-fzf = buildVimPluginFrom2Nix {
     pname = "coc-fzf";
-    version = "2021-06-26";
+    version = "2021-08-03";
     src = fetchFromGitHub {
       owner = "antoinemadec";
       repo = "coc-fzf";
-      rev = "5b133aaa8c15f1c6fa831713892efd87189b0637";
-      sha256 = "18cb39d113z8yxriidc0dmkkkzpp6x5hl414n5fcqwhjk5h514rn";
+      rev = "415535475c43fedb8bccd72fbcc00bb850113eb7";
+      sha256 = "02blpv258ibzk2bz1bjcjcqiab9lb6ilhclj5s1abwblvn713i47";
     };
     meta.homepage = "https://github.com/antoinemadec/coc-fzf/";
   };
@@ -726,12 +726,12 @@ final: prev:
 
   completion-nvim = buildVimPluginFrom2Nix {
     pname = "completion-nvim";
-    version = "2021-07-03";
+    version = "2021-08-02";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "completion-nvim";
-      rev = "22624f0aa5d1fdd0c84456300d2390b223c1a226";
-      sha256 = "133zmiblkh145abrv9xagzq3qw504g1nvm5v1vmxhxsa7rilr376";
+      rev = "139fb6cfbd9f7384a5489d3e4afdacb8ed977ab0";
+      sha256 = "1641gx74mqbsp42m6z695l8xlr56b79vklghjdxywi35xbz4yq22";
     };
     meta.homepage = "https://github.com/nvim-lua/completion-nvim/";
   };
@@ -822,12 +822,12 @@ final: prev:
 
   Coqtail = buildVimPluginFrom2Nix {
     pname = "Coqtail";
-    version = "2021-07-21";
+    version = "2021-07-30";
     src = fetchFromGitHub {
       owner = "whonore";
       repo = "Coqtail";
-      rev = "2cad943df739c1fcf4d923854ae642fde38b477f";
-      sha256 = "1j761zpa41p9hmh4bxapaqjvxx9d3nhcf2bifsibcjghcxblj1xb";
+      rev = "570c13efcab0191e1ab3837c712c711944cbb21d";
+      sha256 = "09iwiicasv9qj8lbs3gljgha91s35xd8cbchmjn6k0ldc8nc19n7";
     };
     meta.homepage = "https://github.com/whonore/Coqtail/";
   };
@@ -1510,24 +1510,24 @@ final: prev:
 
   fastfold = buildVimPluginFrom2Nix {
     pname = "fastfold";
-    version = "2021-07-22";
+    version = "2021-08-02";
     src = fetchFromGitHub {
       owner = "konfekt";
       repo = "fastfold";
-      rev = "b5977da87ab7725d5bd9f46fd691eca433503835";
-      sha256 = "1j5b2nhmc4kq23dzhwsspwqx9shxpqp57175j0zr53phx01q3qcr";
+      rev = "37fc982d56f8bfe1cce8209414752e046effc65c";
+      sha256 = "1qzkvbdgr4h7bmql33na5h93jrjcf2m96j5y9vi79rvsl8wwjqww";
     };
     meta.homepage = "https://github.com/konfekt/fastfold/";
   };
 
   feline-nvim = buildVimPluginFrom2Nix {
     pname = "feline-nvim";
-    version = "2021-07-28";
+    version = "2021-07-30";
     src = fetchFromGitHub {
       owner = "famiu";
       repo = "feline.nvim";
-      rev = "cfc0ecfd5e6d37e45ca5102e76cbbbc8f5a03d26";
-      sha256 = "03qjlbby7ayy7q4wasz6k3blvfwy2ph7nvw3zmfw8rwmb2n7w6hc";
+      rev = "9977073d8f5c064785ff6b44aad30cbc6d887da0";
+      sha256 = "1cpk0jyhgx93bvjpc76gjp671k53av8mj6d19j4zwm3xm5v1by2p";
     };
     meta.homepage = "https://github.com/famiu/feline.nvim/";
   };
@@ -1546,12 +1546,12 @@ final: prev:
 
   fern-vim = buildVimPluginFrom2Nix {
     pname = "fern-vim";
-    version = "2021-07-24";
+    version = "2021-08-01";
     src = fetchFromGitHub {
       owner = "lambdalisue";
       repo = "fern.vim";
-      rev = "a4d4288a11d0e50214c4f5745da5f8ce39cb2a6d";
-      sha256 = "1ldv2ar8dm2arawxkzi2r7r1c6wacl9g9dkmyib038bdmr4qfn1g";
+      rev = "ff74cd42ca7e76691e826dbdc7efe7ab683e9856";
+      sha256 = "0h7i45rwzf3b8xm1rbyly287769fq1xyvl51sa44nghdy6zhx7vi";
     };
     meta.homepage = "https://github.com/lambdalisue/fern.vim/";
   };
@@ -1667,12 +1667,12 @@ final: prev:
 
   friendly-snippets = buildVimPluginFrom2Nix {
     pname = "friendly-snippets";
-    version = "2021-07-24";
+    version = "2021-08-02";
     src = fetchFromGitHub {
       owner = "rafamadriz";
       repo = "friendly-snippets";
-      rev = "d5bf63e50c1c7923f1de2d10d8d822f6eb8c872e";
-      sha256 = "14h8kd01674i82npc2b58ivhj2d80nb1x8v0j7ag5c5n24p1nphf";
+      rev = "459179fd7711fcec5c4926903e0785a8f464b21d";
+      sha256 = "1fvx3513pbsasar4bh06jaxaj8vaq1y65id2pppkgxp7jsknrf4i";
     };
     meta.homepage = "https://github.com/rafamadriz/friendly-snippets/";
   };
@@ -1871,12 +1871,12 @@ final: prev:
 
   gitsigns-nvim = buildVimPluginFrom2Nix {
     pname = "gitsigns-nvim";
-    version = "2021-07-29";
+    version = "2021-08-03";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "gitsigns.nvim";
-      rev = "0d45fff0a28cebdc87604117c0fc46f3a64550f6";
-      sha256 = "11mbcblgzsp7mzsy1knjd3cjcl60x45d57jf2nbcnf0ml312m1qc";
+      rev = "97ff7471a88e35dd1e73be1f8d70d274f44dcb26";
+      sha256 = "0m880kdyyarjj8gyqlq2vfhf6bxmax04p0a8k8yc8sz6lvl78avj";
     };
     meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/";
   };
@@ -2099,12 +2099,12 @@ final: prev:
 
   hologram-nvim = buildVimPluginFrom2Nix {
     pname = "hologram-nvim";
-    version = "2021-06-14";
+    version = "2021-08-01";
     src = fetchFromGitHub {
       owner = "edluffy";
       repo = "hologram.nvim";
-      rev = "d8300f996fde96fc37c02b89f70642c1c44057a3";
-      sha256 = "0g9i5mgd69kgkl27my1xnyd3yf77c8313ikbhm7cn6i6iqml1blf";
+      rev = "5598fea84f0bab236293793a6398fb7fbbf1cbc6";
+      sha256 = "0a5fgnqh475ngv4n4xbxzisvcx9vs1w4qn1k4imh8p61n02q0h8w";
     };
     meta.homepage = "https://github.com/edluffy/hologram.nvim/";
   };
@@ -2231,12 +2231,12 @@ final: prev:
 
   indent-blankline-nvim = buildVimPluginFrom2Nix {
     pname = "indent-blankline-nvim";
-    version = "2021-07-19";
+    version = "2021-08-03";
     src = fetchFromGitHub {
       owner = "lukas-reineke";
       repo = "indent-blankline.nvim";
-      rev = "0257caac96b28ec9efd80a00c13d31c469357f5b";
-      sha256 = "0r5c99xzsizqpk4h35lp3ip8lqang2vvg01vrv0bad3wqnjqq1d7";
+      rev = "0bac1e1a73c4f7e1ab9cca5f9f5ca557eb65c246";
+      sha256 = "0gxmn5kiwgxbkh3hghiqsq6jg5bkbcn8lk6yz6fjrs9ndb917hvc";
     };
     meta.homepage = "https://github.com/lukas-reineke/indent-blankline.nvim/";
   };
@@ -2628,12 +2628,12 @@ final: prev:
 
   lightspeed-nvim = buildVimPluginFrom2Nix {
     pname = "lightspeed-nvim";
-    version = "2021-07-29";
+    version = "2021-08-03";
     src = fetchFromGitHub {
       owner = "ggandor";
       repo = "lightspeed.nvim";
-      rev = "98841f4c3262214513f4f0de7d944d8384d50803";
-      sha256 = "0d0kwip2yds2m25q3f5mmrsqk8jmv3zl17mvg1jbdwmklyqwkk9f";
+      rev = "8668745f3209a79204056d076d23a69d540b9156";
+      sha256 = "09fy66ifj5nxg57vs4mdz3nyyl447a0qc8idvbd64xi4h2kavcf8";
     };
     meta.homepage = "https://github.com/ggandor/lightspeed.nvim/";
   };
@@ -2712,24 +2712,24 @@ final: prev:
 
   lsp_signature-nvim = buildVimPluginFrom2Nix {
     pname = "lsp_signature-nvim";
-    version = "2021-07-29";
+    version = "2021-08-03";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "lsp_signature.nvim";
-      rev = "9fcc1de38e861a42433ec25c3513b4c2f98d2422";
-      sha256 = "0sgh7nz3w7whfyvwwbpi610svwdq95wbr3awx17sjvvxhp5pcavj";
+      rev = "fbec3fe2b885ef365431146296bcce29de9478a8";
+      sha256 = "1d6mp96gx03n5087zwsydm33zyll8daw03wx3lsg0wpvp5ph43cd";
     };
     meta.homepage = "https://github.com/ray-x/lsp_signature.nvim/";
   };
 
   lspkind-nvim = buildVimPluginFrom2Nix {
     pname = "lspkind-nvim";
-    version = "2021-05-22";
+    version = "2021-08-03";
     src = fetchFromGitHub {
       owner = "onsails";
       repo = "lspkind-nvim";
-      rev = "3469f0c9a6767625d532a74a167f5d6ba2b8c5bf";
-      sha256 = "1ff1i6m9kk3n36n24c109g6yddcbbzm10iigvi0pv1z2fdpsrl07";
+      rev = "7ffcfe88334d0887833c9d8ca6f1231a11612cb5";
+      sha256 = "0i40z1a5h8rk4blwadcxpid10i264gbl7lhl16hjllyl77bbvvgs";
     };
     meta.homepage = "https://github.com/onsails/lspkind-nvim/";
   };
@@ -2772,12 +2772,12 @@ final: prev:
 
   luasnip = buildVimPluginFrom2Nix {
     pname = "luasnip";
-    version = "2021-07-25";
+    version = "2021-08-03";
     src = fetchFromGitHub {
       owner = "l3mon4d3";
       repo = "luasnip";
-      rev = "631a1551c9e0d983e9545d37c79fb024f4680a83";
-      sha256 = "0jiq37bfn8wpbrk62xrknglfkh3hbsx325crgg7amsk0bkhi8nav";
+      rev = "511f733cf2c6247f7a1b62b90e4bf0dfdae17a9f";
+      sha256 = "0h32ghhmlpa4xpblxvsjlrivnfz55rpm84fri9diisshk48dkn62";
     };
     meta.homepage = "https://github.com/l3mon4d3/luasnip/";
   };
@@ -3144,12 +3144,12 @@ final: prev:
 
   neco-vim = buildVimPluginFrom2Nix {
     pname = "neco-vim";
-    version = "2020-11-10";
+    version = "2021-08-03";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neco-vim";
-      rev = "2b1dca6ca16d6f5655748fcd4d54d772fcfd0d81";
-      sha256 = "1prnclm9i7m09v1ip0sgkgddxwclas3x48zc8c800vxmmvjhzd7j";
+      rev = "fb97a98717450fca16e5d2f8db667f7df227ba3c";
+      sha256 = "1d0l7d2mlm0dq6m13mr8958qc257bhhgl0y4xilpdkfgx35vir34";
     };
     meta.homepage = "https://github.com/Shougo/neco-vim/";
   };
@@ -3192,12 +3192,12 @@ final: prev:
 
   neogit = buildVimPluginFrom2Nix {
     pname = "neogit";
-    version = "2021-07-18";
+    version = "2021-08-03";
     src = fetchFromGitHub {
       owner = "TimUntersberger";
       repo = "neogit";
-      rev = "ee83d4fa8ac946e5e0064e65a5276e1ea030ae28";
-      sha256 = "0mrydz0xl2yqgsp1nsz4p55mjhx7x7z7pahcq3y5mzzla687dnqg";
+      rev = "3226b98318518bef47f55218041adfdf99c36e9a";
+      sha256 = "09r6k5afd940cf44gdb62ffnh0ns32qr20vxxqgsw3rdi5558wfc";
     };
     meta.homepage = "https://github.com/TimUntersberger/neogit/";
   };
@@ -3240,12 +3240,12 @@ final: prev:
 
   neorg = buildVimPluginFrom2Nix {
     pname = "neorg";
-    version = "2021-07-17";
+    version = "2021-08-01";
     src = fetchFromGitHub {
       owner = "vhyrro";
       repo = "neorg";
-      rev = "7f9f1d328c218b041ce899def4923334a5355c14";
-      sha256 = "1f7acjy3xhiz2yzkdp5x5f4p28zz583h7snyzrc2l8w7fwz600x9";
+      rev = "156bfdab640c6f57a6933e5e4fa60f9648f19857";
+      sha256 = "0x3rryszciai5012c6kv7dyb8jlyn3w04j22k9x7n9nids42xhqx";
     };
     meta.homepage = "https://github.com/vhyrro/neorg/";
   };
@@ -3348,12 +3348,12 @@ final: prev:
 
   nerdcommenter = buildVimPluginFrom2Nix {
     pname = "nerdcommenter";
-    version = "2021-07-29";
+    version = "2021-07-31";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "nerdcommenter";
-      rev = "85364c56c4d85af69ac6c57262b40812a77be1e4";
-      sha256 = "0qvy4ragn5f93ckmnph5zb90yfp7sv47zhz68f9cmvfrvc8hfa6i";
+      rev = "2c87cae76ed88f3b0c957df68c03573ecafa3728";
+      sha256 = "0byi8yrz9hjaprx6wqsa6p96vm59hzqmscjld0znjf83ljg83w3r";
     };
     meta.homepage = "https://github.com/preservim/nerdcommenter/";
   };
@@ -3432,12 +3432,12 @@ final: prev:
 
   nnn-vim = buildVimPluginFrom2Nix {
     pname = "nnn-vim";
-    version = "2021-07-29";
+    version = "2021-07-30";
     src = fetchFromGitHub {
       owner = "mcchrish";
       repo = "nnn.vim";
-      rev = "9de4725aff31c196602274ab9521ac740c9c801f";
-      sha256 = "0fjws1k352ij01gfz3dr5r5x5h8r3lh4s6bfz2apjc4m47nghiy7";
+      rev = "ed06cc9f0e40e96bb7e3900bf6a56858db21e3f7";
+      sha256 = "0qr7j9wf7kdkcv9a151nz0sjzvcx926dxss17b7mwrq3bpwhckvh";
     };
     meta.homepage = "https://github.com/mcchrish/nnn.vim/";
   };
@@ -3456,12 +3456,12 @@ final: prev:
 
   nord-nvim = buildVimPluginFrom2Nix {
     pname = "nord-nvim";
-    version = "2021-07-24";
+    version = "2021-08-03";
     src = fetchFromGitHub {
       owner = "shaunsingh";
       repo = "nord.nvim";
-      rev = "f58f77dee66babac1a859c2b552797d8128e1f86";
-      sha256 = "12jway928hhm8s9sbwaqzjjzdgrpvz1gr09q4q5wxicfqaln4cd1";
+      rev = "8f845e0a21b1d28cd41709b40b042f2e96113e47";
+      sha256 = "04avnpb4xils6hj7raxyvygj6cbwwkmn96fk9q7mvhy33534crm1";
     };
     meta.homepage = "https://github.com/shaunsingh/nord.nvim/";
   };
@@ -3492,12 +3492,12 @@ final: prev:
 
   null-ls-nvim = buildVimPluginFrom2Nix {
     pname = "null-ls-nvim";
-    version = "2021-07-29";
+    version = "2021-08-03";
     src = fetchFromGitHub {
       owner = "jose-elias-alvarez";
       repo = "null-ls.nvim";
-      rev = "7c50ca73dc2f89b128f1c42a4e04144d1213e7dc";
-      sha256 = "1qd7hmsxcn6w5fvqn28nb48xp33nl2hzgvh0fy12mzyq39d0n6ld";
+      rev = "2c9690964b91e34b421326dc4839b322a7b1a6cd";
+      sha256 = "0cany30kzcf2qy0lfhalxcinnyz7ff3ss3cxx2x9fmh74b9jhgrk";
     };
     meta.homepage = "https://github.com/jose-elias-alvarez/null-ls.nvim/";
   };
@@ -3540,12 +3540,12 @@ final: prev:
 
   nvim-autopairs = buildVimPluginFrom2Nix {
     pname = "nvim-autopairs";
-    version = "2021-07-29";
+    version = "2021-08-02";
     src = fetchFromGitHub {
       owner = "windwp";
       repo = "nvim-autopairs";
-      rev = "ad40d49f4512cf77c6527cb6aa9ee6b1c97855c9";
-      sha256 = "0qmdyr26va3il80lb166n0cadkxxq1vf0q56zj6vqihv4rn9nas5";
+      rev = "8b937f612e44e62c29db497b6af149719c30b9aa";
+      sha256 = "1s32zby1h0id8ciyi927wl63b8plzg3cg38akj73iqpv7dhdqgls";
     };
     meta.homepage = "https://github.com/windwp/nvim-autopairs/";
   };
@@ -3660,12 +3660,12 @@ final: prev:
 
   nvim-dap-ui = buildVimPluginFrom2Nix {
     pname = "nvim-dap-ui";
-    version = "2021-07-28";
+    version = "2021-07-31";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "nvim-dap-ui";
-      rev = "0b5f6cf6da0884d0788239d9270a2bd89855ec09";
-      sha256 = "04ha4zjjb78i98vn21v404g3fki77mwax7lq5w1hmmsp4qxmyv5k";
+      rev = "a47408920f8dd5ffb1db821ce72dd6ef21730c63";
+      sha256 = "1g9nlkdcvhzs6ds7493fcrgi5gizn4h517h65ynr31cfnajxm8wb";
     };
     meta.homepage = "https://github.com/rcarriga/nvim-dap-ui/";
   };
@@ -3684,36 +3684,36 @@ final: prev:
 
   nvim-gdb = buildVimPluginFrom2Nix {
     pname = "nvim-gdb";
-    version = "2021-07-29";
+    version = "2021-08-02";
     src = fetchFromGitHub {
       owner = "sakhnik";
       repo = "nvim-gdb";
-      rev = "388d1f952cf849d8ff066f87c13d7d162ae49e89";
-      sha256 = "001s0g80kv1xx6zjza0nai0x10p7j0ysvf31xm6clbl2r023zv2h";
+      rev = "f2c8d5b70f4cad18db5f15e897ba006aeba08f80";
+      sha256 = "0vq9lb2vir0am85nwjqphdmlx7akvpvcfgw3mr15rvnc9spzh8ix";
     };
     meta.homepage = "https://github.com/sakhnik/nvim-gdb/";
   };
 
   nvim-highlite = buildVimPluginFrom2Nix {
     pname = "nvim-highlite";
-    version = "2021-07-19";
+    version = "2021-08-03";
     src = fetchFromGitHub {
       owner = "Iron-E";
       repo = "nvim-highlite";
-      rev = "8e1d114f3d855653bc71fba9e5a22a05d3a1b1a2";
-      sha256 = "1dm6rwx3w8hbgg20ay4bcdd3c87bqpqvl64zfc673p81m76b3s86";
+      rev = "f95263e2d0d9177143d3203bb32adc8b24d34c0c";
+      sha256 = "1r5nlsbrs8sigs7ny23hiywr475dg1n15aqashzan4m1sgn37nab";
     };
     meta.homepage = "https://github.com/Iron-E/nvim-highlite/";
   };
 
   nvim-hlslens = buildVimPluginFrom2Nix {
     pname = "nvim-hlslens";
-    version = "2021-07-17";
+    version = "2021-08-03";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-hlslens";
-      rev = "1df774df358e70cbc9f74f34d38a82e756ceb001";
-      sha256 = "1zf5i30g49f7ks6hhvr84ac3ka57lv96c124cpr1d4h9xld1n9q8";
+      rev = "ada900452b2f7100c5e6bafafb87ec2979f1b423";
+      sha256 = "1qiisd6r1571b9f2agc7xphrh2a7g24yz9a2xaajissxddf3330g";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-hlslens/";
   };
@@ -3732,12 +3732,12 @@ final: prev:
 
   nvim-jdtls = buildVimPluginFrom2Nix {
     pname = "nvim-jdtls";
-    version = "2021-07-27";
+    version = "2021-07-31";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-jdtls";
-      rev = "e5ed033f610837c1b145c904063ef7164ae1c435";
-      sha256 = "1ga7k2rhhlkd97157qq2symmck6ygrc8mfvpn0w4pqgpgw54dyfq";
+      rev = "a0c6b2756f5faabf997a27fdbb085b3931f5945b";
+      sha256 = "14p445rdhimr4pykz4wyra3ya3h4x70vh7xlajfrdpsb3wwd94mc";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-jdtls/";
   };
@@ -3756,12 +3756,12 @@ final: prev:
 
   nvim-lspconfig = buildVimPluginFrom2Nix {
     pname = "nvim-lspconfig";
-    version = "2021-07-28";
+    version = "2021-08-01";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvim-lspconfig";
-      rev = "3df7c2afa4e6e5c9e9c9f85ab275837248ed7db4";
-      sha256 = "16krk21g2r45h9hds2jpgplchqzcqgpqg6pdw89pvzx3b5qazab2";
+      rev = "4bcc485e2e6ccb4ed7bdd9f1e12c9c4ad6fe1f0e";
+      sha256 = "18csqavwmdz7yn6j1wp9ypmpdkw6147xvn4gmd50wkphfh74bc67";
     };
     meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
   };
@@ -3804,12 +3804,12 @@ final: prev:
 
   nvim-scrollview = buildVimPluginFrom2Nix {
     pname = "nvim-scrollview";
-    version = "2021-07-28";
+    version = "2021-08-01";
     src = fetchFromGitHub {
       owner = "dstein64";
       repo = "nvim-scrollview";
-      rev = "53d9d8057ca33151e0dfe5c3e31021ab2461831f";
-      sha256 = "059ww0s49li41wy7l48xg33nj3vsp36ksbadhzpzbykxs2kwdqfj";
+      rev = "8cba9eee2ae26209a05fb5e511f123677d108c96";
+      sha256 = "1brbjjjsi8gdzqqba8l0v8n2d5chs396w9mr152iflck6vqfad9c";
     };
     meta.homepage = "https://github.com/dstein64/nvim-scrollview/";
   };
@@ -3828,48 +3828,48 @@ final: prev:
 
   nvim-toggleterm-lua = buildVimPluginFrom2Nix {
     pname = "nvim-toggleterm-lua";
-    version = "2021-07-28";
+    version = "2021-08-03";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "nvim-toggleterm.lua";
-      rev = "f9ffba63cc77837edaceae61a5b9de6e77c88e7f";
-      sha256 = "0j5znzrpmxmzkb2l2rpp9iaxggmnjz5lns648a67x1bkilcrmnx4";
+      rev = "66a7ea31fb571fddbfab9244d343612c83ae40f0";
+      sha256 = "143sj5kqx880bfabd816x4h0ckrvd3mc5wqv9h1rbw4vlbpk5zj0";
     };
     meta.homepage = "https://github.com/akinsho/nvim-toggleterm.lua/";
   };
 
   nvim-tree-lua = buildVimPluginFrom2Nix {
     pname = "nvim-tree-lua";
-    version = "2021-07-19";
+    version = "2021-08-02";
     src = fetchFromGitHub {
       owner = "kyazdani42";
       repo = "nvim-tree.lua";
-      rev = "d3e76b81e5b169af192dea4da0bd6f64faad2c36";
-      sha256 = "0hw50yyikndx1260a50j6izjsa4m709r7v3qzrpwz482d7fq700j";
+      rev = "7bed04718e146787c54784853817797258703f0a";
+      sha256 = "1g1vb9kgc13mqji3yrd4wjpryrvf605yf251k6gfkpnaz0mhzlz9";
     };
     meta.homepage = "https://github.com/kyazdani42/nvim-tree.lua/";
   };
 
   nvim-treesitter = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter";
-    version = "2021-07-29";
+    version = "2021-07-18";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter";
-      rev = "dedd74ebdbb8a921d95e3c670be9684d9f655c34";
-      sha256 = "1bkakcshw8f5j1iq4hm723jyc9dwwixa4fz5hb32wl7mxxqh9x82";
+      rev = "27f5e99cdd1b4e7f6a5cc30016d990ebf81a561c";
+      sha256 = "1msnzijwz4bj7hv8zkzp0x3y3dwwm3v5n63pmdx865d8ggb8dln6";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
   };
 
   nvim-treesitter-context = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter-context";
-    version = "2021-06-05";
+    version = "2021-08-03";
     src = fetchFromGitHub {
       owner = "romgrk";
       repo = "nvim-treesitter-context";
-      rev = "bdc598b519cfbfdf61baf9a27953da2fc1642b23";
-      sha256 = "1slyjfjcrna06b23kbw4vf81qbncgimzhw1qsqwsqldnvdc35lcr";
+      rev = "b7c04d6701b67795687c5d3b088be0218945b561";
+      sha256 = "0hqc8avln563bjdm7lsxjll37k3njy5nd767bg8yg8vm0mv8zn0p";
     };
     meta.homepage = "https://github.com/romgrk/nvim-treesitter-context/";
   };
@@ -3904,20 +3904,20 @@ final: prev:
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter-textobjects";
-      rev = "04a3fbe657581f6f45c0bb11735a6a4bcecdc46f";
-      sha256 = "1widam8cji1l7z628gsv3s15iid5jfq83df62iamfcjrbxzqcw56";
+      rev = "b100e6188c4b1e90af4066593e36a9f4ca7364b7";
+      sha256 = "1npcs5dxylny79hbkk1cnp3xp2yh4s3s6j314721k2v5mhim3dw2";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/";
   };
 
   nvim-ts-rainbow = buildVimPluginFrom2Nix {
     pname = "nvim-ts-rainbow";
-    version = "2021-07-26";
+    version = "2021-08-01";
     src = fetchFromGitHub {
       owner = "p00f";
       repo = "nvim-ts-rainbow";
-      rev = "dab7f11a14155fbc6076dccbb48cb7ab14bcbde5";
-      sha256 = "00bcbkskfigf3c83b28zgckiafh3xlv7azrw492ardf4ks3zdv79";
+      rev = "94138b1ba193d81f130dbe9fc1f255f97b7697d5";
+      sha256 = "1ha31j31yv8r46pl607s06xgjri7rp47w5zjf0k7qrg1cqgp9i5h";
     };
     meta.homepage = "https://github.com/p00f/nvim-ts-rainbow/";
   };
@@ -4068,12 +4068,12 @@ final: prev:
 
   packer-nvim = buildVimPluginFrom2Nix {
     pname = "packer-nvim";
-    version = "2021-07-29";
+    version = "2021-08-01";
     src = fetchFromGitHub {
       owner = "wbthomason";
       repo = "packer.nvim";
-      rev = "637520cbd85629bfee9e8bd2eb15d775d4c85373";
-      sha256 = "03s35f49lasx5bxigsd5miqfkm2jdz6mh72y9hllk8rzimi59agz";
+      rev = "2794f0767920c884736b746d1c0824cc55874f4b";
+      sha256 = "19cwjm98nq0f9z0kxc8l4350pkaw3m2dv5wb7nlwcz0m9w3dri0w";
     };
     meta.homepage = "https://github.com/wbthomason/packer.nvim/";
   };
@@ -4176,12 +4176,12 @@ final: prev:
 
   plenary-nvim = buildVimPluginFrom2Nix {
     pname = "plenary-nvim";
-    version = "2021-07-12";
+    version = "2021-08-03";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "plenary.nvim";
-      rev = "8bae2c1fadc9ed5bfcfb5ecbd0c0c4d7d40cb974";
-      sha256 = "1axvjv6n77afkjqk914dpc020kxd7mig6m5sr916k1n1q35jc4ny";
+      rev = "d897b4d9fdbc51febd71a1f96c96001ae4fa6121";
+      sha256 = "0rgqby4aakqamiw3ykvzhn3vd2grjkzgfxrpzjjp1ipkd2qak8mb";
     };
     meta.homepage = "https://github.com/nvim-lua/plenary.nvim/";
   };
@@ -4513,24 +4513,24 @@ final: prev:
 
   rust-tools-nvim = buildVimPluginFrom2Nix {
     pname = "rust-tools-nvim";
-    version = "2021-07-28";
+    version = "2021-08-01";
     src = fetchFromGitHub {
       owner = "simrat39";
       repo = "rust-tools.nvim";
-      rev = "858bb2a293e74b7c45b281491afd8e67cd8810c6";
-      sha256 = "1sjyffv375j1jgkhhpmbg880dvakn2ckw8h5a0wpvyxaqd84yrpv";
+      rev = "8ead43e5fb5cf94976f1a40319d8f5e74d204e68";
+      sha256 = "02hvy6ffzyc0gf7bngp6pngyf5an18f63mzdpxc3ldnxrd5dimjj";
     };
     meta.homepage = "https://github.com/simrat39/rust-tools.nvim/";
   };
 
   rust-vim = buildVimPluginFrom2Nix {
     pname = "rust-vim";
-    version = "2021-02-15";
+    version = "2021-08-01";
     src = fetchFromGitHub {
       owner = "rust-lang";
       repo = "rust.vim";
-      rev = "87c745d8d506fc1eecc1d81df15d5bde1658a2fc";
-      sha256 = "0v0ip731lclh9aqrmlqwnnz4skgawaq3invghh1c7lh0zdq22lzb";
+      rev = "7a66142d0ddfb18fc746f76396af0218b6b6146f";
+      sha256 = "16q5m64jhv41sphpk553zdsdhvc08lgyla256qby462sfhcvp80a";
     };
     meta.homepage = "https://github.com/rust-lang/rust.vim/";
   };
@@ -4850,12 +4850,12 @@ final: prev:
 
   splitjoin-vim = buildVimPluginFrom2Nix {
     pname = "splitjoin-vim";
-    version = "2021-07-17";
+    version = "2021-08-02";
     src = fetchFromGitHub {
       owner = "AndrewRadev";
       repo = "splitjoin.vim";
-      rev = "e5c60658d9aca5af479ef6371037cc6453a6b1eb";
-      sha256 = "07l7acnhp9nwwkmybjs2fdprql5nanyxxn9z3wl59y8jx2ca44p7";
+      rev = "a27352edee29fad650f129a41908bc62efc82978";
+      sha256 = "111z3kc3wc8n8cdmc0v4aysh8irfg4px0n0224wvsswax8ql2q74";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/AndrewRadev/splitjoin.vim/";
@@ -4971,12 +4971,12 @@ final: prev:
 
   symbols-outline-nvim = buildVimPluginFrom2Nix {
     pname = "symbols-outline-nvim";
-    version = "2021-07-29";
+    version = "2021-08-01";
     src = fetchFromGitHub {
       owner = "simrat39";
       repo = "symbols-outline.nvim";
-      rev = "81c615a9f108093b64b2b8f1b30837a34a8486cc";
-      sha256 = "1dqgxl7748mvagz3s58hfqb0yxwqx2vww1402zw20qv9736kcfsv";
+      rev = "cc3334e140dd3c21246fbd58233db5f01856ed56";
+      sha256 = "0z1kfkfwl9fx9a4imh9xyjxnip83yh98an22c3nghmvick5ssryi";
     };
     meta.homepage = "https://github.com/simrat39/symbols-outline.nvim/";
   };
@@ -5056,12 +5056,12 @@ final: prev:
 
   tagbar = buildVimPluginFrom2Nix {
     pname = "tagbar";
-    version = "2021-07-27";
+    version = "2021-08-02";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "tagbar";
-      rev = "a0a5714910d29ac3bfe91a2529a9c8cb28de77cc";
-      sha256 = "0y31fi2103ggv5s2lg9wqxvc0xghh3i3iwhzrwxylvimajcv4s0f";
+      rev = "23ea1961b97b6d33bb7226d7415d9c3338defa13";
+      sha256 = "11zvsclgfrc05q4k0sj14h596hv5gfh00dx3h987w2hawn0qbsk8";
     };
     meta.homepage = "https://github.com/preservim/tagbar/";
   };
@@ -5140,12 +5140,12 @@ final: prev:
 
   telescope-fzf-native-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-fzf-native-nvim";
-    version = "2021-07-06";
+    version = "2021-08-03";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-fzf-native.nvim";
-      rev = "fe8c8d8cf7ff215ac83e1119cba87c016070b27e";
-      sha256 = "0kzxf3kzw45mlccp8z5zl3cfda4n5afymmdyir3kd248ll904jy1";
+      rev = "2fd60ebe4c372199e0d953310640b1aeaf06166f";
+      sha256 = "0zs4fs62nbfm6vi0gmi49c3j430g7bzp81p6r4jl9vpqvb7hfpi2";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-fzf-native.nvim/";
   };
@@ -5201,12 +5201,12 @@ final: prev:
 
   telescope-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-nvim";
-    version = "2021-07-29";
+    version = "2021-08-03";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope.nvim";
-      rev = "82f4d3028b64ad930123a5c713c538c872185a80";
-      sha256 = "08dv4vxa8rn5xbdakv9j4vd1287bpdgckzayl3bmy4rn9djmk8vs";
+      rev = "f8caad1d6bd19dbd79945850342b49df41928525";
+      sha256 = "1liwcrb5w5s9bgniz6byw1c68x42z6162lsshhl1cm8s5ywh4sn5";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
   };
@@ -6366,12 +6366,12 @@ final: prev:
 
   vim-dadbod-ui = buildVimPluginFrom2Nix {
     pname = "vim-dadbod-ui";
-    version = "2021-05-12";
+    version = "2021-08-03";
     src = fetchFromGitHub {
       owner = "kristijanhusak";
       repo = "vim-dadbod-ui";
-      rev = "09fb2f51dcd022a6be20b48a730df493f4b3ca2d";
-      sha256 = "1bsy8illa9xsawx6lfs67y2xri38fpxdb4xz25ajy43snls41say";
+      rev = "e79b6cca4bfd7c56542353775d337a08dcbd9486";
+      sha256 = "1m5ipmgw45svdlqp8rj5kpdfczzn03rgav2j7qraqrl37bwlkxzd";
     };
     meta.homepage = "https://github.com/kristijanhusak/vim-dadbod-ui/";
   };
@@ -6510,12 +6510,12 @@ final: prev:
 
   vim-docbk-snippets = buildVimPluginFrom2Nix {
     pname = "vim-docbk-snippets";
-    version = "2019-09-13";
+    version = "2021-07-30";
     src = fetchFromGitHub {
       owner = "jhradilek";
       repo = "vim-snippets";
-      rev = "b8604893f46f6c570a55efff733f0371ac8a805d";
-      sha256 = "1qz3azgzv9718s2a6h8xw5nrvs4j776csmzsn9chvykdpx8rwim1";
+      rev = "81a8dcb66886a0717e9ca73c8857ee90c3989063";
+      sha256 = "0d6532qx66aiawpq2fdji0mnmvnlg5dnbvds5s4pgzafydikpr70";
     };
     meta.homepage = "https://github.com/jhradilek/vim-snippets/";
   };
@@ -6858,12 +6858,12 @@ final: prev:
 
   vim-fugitive = buildVimPluginFrom2Nix {
     pname = "vim-fugitive";
-    version = "2021-07-29";
+    version = "2021-08-03";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "058ffa406d8013ab8431b7543ae29dec72fd24e5";
-      sha256 = "1gnc4cxdq3srfbzl9v9cgbj7yyr5mjn5gnggr6af69q7ps7f81dg";
+      rev = "7a087725eebedf4c23b621d9a25ca6fac9a0a985";
+      sha256 = "0gvgi6sp6imjf865jfj5di8zvivm8hsfpg2qjjx0q4kss821yznm";
     };
     meta.homepage = "https://github.com/tpope/vim-fugitive/";
   };
@@ -6978,12 +6978,12 @@ final: prev:
 
   vim-go = buildVimPluginFrom2Nix {
     pname = "vim-go";
-    version = "2021-06-28";
+    version = "2021-08-02";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "32bcf757e455ab3b87c9201247b9a6b091d44ea0";
-      sha256 = "1ymd4dqd8725962iz12slrdgjp2sxqrrmznq18za4q14psy6dcin";
+      rev = "2ee4f84fa9871ce666d89907d3a3985d5109647f";
+      sha256 = "1554919qfr22831hw708hfvi006izzd66ygkymxjc3lsgywp1rl8";
     };
     meta.homepage = "https://github.com/fatih/vim-go/";
   };
@@ -7508,12 +7508,12 @@ final: prev:
 
   vim-kitty-navigator = buildVimPluginFrom2Nix {
     pname = "vim-kitty-navigator";
-    version = "2021-07-02";
+    version = "2021-08-02";
     src = fetchFromGitHub {
       owner = "knubie";
       repo = "vim-kitty-navigator";
-      rev = "dedbd5358a5b3b519f1f2c9c032ea6e4ff41d6b4";
-      sha256 = "01jgblg1qfq9149fab5kcaa3q5fa7d8psxvgs8gkbs109nxkrjc4";
+      rev = "68c64c36778dcaca6c94275ffcb703e772aad19f";
+      sha256 = "0x79w4lm3qfph4s86jdksyb6m1df2w32gp9yg2vqazk4szbcvd8z";
     };
     meta.homepage = "https://github.com/knubie/vim-kitty-navigator/";
   };
@@ -7602,6 +7602,18 @@ final: prev:
     meta.homepage = "https://github.com/ledger/vim-ledger/";
   };
 
+  vim-lfe = buildVimPluginFrom2Nix {
+    pname = "vim-lfe";
+    version = "2018-04-30";
+    src = fetchFromGitHub {
+      owner = "lfe-support";
+      repo = "vim-lfe";
+      rev = "290e7085fbd53d0c2b98b5d5a442d697c08b7d76";
+      sha256 = "1wf4lyrnz957ya5zvgkdk1k1jw9yk0bkzz7230m9ry9vl55ss64y";
+    };
+    meta.homepage = "https://github.com/lfe-support/vim-lfe/";
+  };
+
   vim-lightline-coc = buildVimPluginFrom2Nix {
     pname = "vim-lightline-coc";
     version = "2021-03-03";
@@ -7712,12 +7724,12 @@ final: prev:
 
   vim-maktaba = buildVimPluginFrom2Nix {
     pname = "vim-maktaba";
-    version = "2021-07-17";
+    version = "2021-08-02";
     src = fetchFromGitHub {
       owner = "google";
       repo = "vim-maktaba";
-      rev = "4e4404dffbd99159af9cfe816d13a6e69aadcee2";
-      sha256 = "1a1k27gvsd2ssnw3w8b29z3q8z2w2jxgcwpx5gd6djk1id26rhb6";
+      rev = "d520f12ef8e93f457f5b78ff84d464f83f778484";
+      sha256 = "07hm7sz6wazb3shjf5iggkgmif7ahyjzln855808dggglsxn765j";
     };
     meta.homepage = "https://github.com/google/vim-maktaba/";
   };
@@ -8181,12 +8193,12 @@ final: prev:
 
   vim-pandoc = buildVimPluginFrom2Nix {
     pname = "vim-pandoc";
-    version = "2021-06-09";
+    version = "2021-07-30";
     src = fetchFromGitHub {
       owner = "vim-pandoc";
       repo = "vim-pandoc";
-      rev = "1c56693951ce81f344cff0d7c8a6f7ea62a06981";
-      sha256 = "017g2cq05pfxjmcdm42qz6pv2cf2v18lnnrfnizm1cd388r9byll";
+      rev = "38476f9e61582d17d5e724fd3977913a9c0af5a4";
+      sha256 = "1zadap09iqdbssmqf44543hhkga696bxfv3gjcxln6xjfwmvmrck";
     };
     meta.homepage = "https://github.com/vim-pandoc/vim-pandoc/";
   };
@@ -9370,12 +9382,12 @@ final: prev:
 
   vim-unimpaired = buildVimPluginFrom2Nix {
     pname = "vim-unimpaired";
-    version = "2020-04-26";
+    version = "2021-08-01";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-unimpaired";
-      rev = "4afbe5ebf32ad85341b4c02b0e1d8ca96a64c561";
-      sha256 = "052amdb4bd2qbip3z9xz7h1cv61k4p038j65yijm68vy0hf2724y";
+      rev = "ee21252c035004efd6fea40335cd311e71cf7a33";
+      sha256 = "1grl78f5nhdryg1w0xh9j6fs1xd3j6dcv92vcvl9rp87ixgnmbag";
     };
     meta.homepage = "https://github.com/tpope/vim-unimpaired/";
   };
@@ -9418,12 +9430,12 @@ final: prev:
 
   vim-visual-multi = buildVimPluginFrom2Nix {
     pname = "vim-visual-multi";
-    version = "2021-07-27";
+    version = "2021-08-02";
     src = fetchFromGitHub {
       owner = "mg979";
       repo = "vim-visual-multi";
-      rev = "ccb024c03dda7eb01a5c057408b1828334d97e0a";
-      sha256 = "1p4hlxifmmhr7rg4cfxnwph1z5i895kwqq2nbdd8dashrqcl0vc9";
+      rev = "015c02c0246150d87f66e88f226e73e37a296191";
+      sha256 = "01m20bng31bs8r99bayw6qrkg5p1pqnwpc9k6cljpn7a52gbapwk";
     };
     meta.homepage = "https://github.com/mg979/vim-visual-multi/";
   };
@@ -9766,12 +9778,12 @@ final: prev:
 
   vimspector = buildVimPluginFrom2Nix {
     pname = "vimspector";
-    version = "2021-07-13";
+    version = "2021-08-02";
     src = fetchFromGitHub {
       owner = "puremourning";
       repo = "vimspector";
-      rev = "9c806d2a014a21ef4bce49a18791d04e1a66bdf7";
-      sha256 = "0imqzcdw28d5nmv2837x1m07pmir1yh9zbf52nsnvibw09z26kg8";
+      rev = "27eb464b8ec3df416cf72803a787edbf2e60440e";
+      sha256 = "1swgz7yjlkx6fqgf03kypywqhpqsb0pkjk3a9qvhj1wv6z5f9g0q";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/puremourning/vimspector/";
@@ -9779,12 +9791,12 @@ final: prev:
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2021-07-28";
+    version = "2021-08-02";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "6e3d52a23972b309b2d9f1ade7a16ed37a88d26e";
-      sha256 = "0650gjgicavqjapp86w7634ya0bjykcfkvdrcvpx72vnfjl7myiz";
+      rev = "b704fd3dc9979ca6b9ddf2894177af950a01f0be";
+      sha256 = "17rwbfq1vxd9ar6dwwq380qq1vkqwz6nq3x22bkbhj4jdaqp069x";
     };
     meta.homepage = "https://github.com/lervag/vimtex/";
   };
@@ -9839,12 +9851,12 @@ final: prev:
 
   vista-vim = buildVimPluginFrom2Nix {
     pname = "vista-vim";
-    version = "2021-06-16";
+    version = "2021-08-03";
     src = fetchFromGitHub {
       owner = "liuchengxu";
       repo = "vista.vim";
-      rev = "d709462958f2167008c9653a9cbc9de1067bfa2d";
-      sha256 = "1fq4ah4jzfddg2w7n1sy9fjfy6z9ab3jslfx48n991i0kwbw4vp0";
+      rev = "cb908f21c23d9c9ebce678c8dbc7a0f876384b8c";
+      sha256 = "0s2r7k1g7bzwy0yc7hx6iqyha3839jngr2db5gdihnc1niq9z8q5";
     };
     meta.homepage = "https://github.com/liuchengxu/vista.vim/";
   };
@@ -9897,6 +9909,18 @@ final: prev:
     meta.homepage = "https://github.com/folke/which-key.nvim/";
   };
 
+  wilder-nvim = buildVimPluginFrom2Nix {
+    pname = "wilder-nvim";
+    version = "2021-08-02";
+    src = fetchFromGitHub {
+      owner = "gelguy";
+      repo = "wilder.nvim";
+      rev = "a8a2feda01b8d498b49ef133f648297959de2fa8";
+      sha256 = "0sbcgv6zw9i7mv8plv7kr14zpvd24wlbgpx1k0hdfs3wbb8md9ya";
+    };
+    meta.homepage = "https://github.com/gelguy/wilder.nvim/";
+  };
+
   wildfire-vim = buildVimPluginFrom2Nix {
     pname = "wildfire-vim";
     version = "2021-05-10";
diff --git a/pkgs/misc/vim-plugins/overrides.nix b/pkgs/misc/vim-plugins/overrides.nix
index af0c6d4c806c3..086877dd5a100 100644
--- a/pkgs/misc/vim-plugins/overrides.nix
+++ b/pkgs/misc/vim-plugins/overrides.nix
@@ -501,7 +501,10 @@ self: super: {
 
   telescope-fzf-native-nvim = super.telescope-fzf-native-nvim.overrideAttrs (old: {
     dependencies = with self; [ telescope-nvim ];
+
+    dontBuild = false;
     buildPhase = "make";
+
     meta.platforms = lib.platforms.all;
   });
 
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index 96f2ce182566d..405f663584cfd 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -164,6 +164,7 @@ fszymanski/deoplete-emoji
 garbas/vim-snipmate
 gcmt/taboo.vim
 gcmt/wildfire.vim
+gelguy/wilder.nvim
 gennaro-tedesco/nvim-peekup
 gentoo/gentoo-syntax
 GEverding/vim-hocon
@@ -340,6 +341,7 @@ ledger/vim-ledger
 lepture/vim-jinja
 lervag/vimtex
 lewis6991/gitsigns.nvim@main
+lfe-support/vim-lfe
 lfilho/cosco.vim
 lifepillar/vim-gruvbox8
 lifepillar/vim-mucomplete
@@ -494,9 +496,9 @@ nvim-telescope/telescope-symbols.nvim
 nvim-telescope/telescope-z.nvim@main
 nvim-telescope/telescope.nvim
 nvim-treesitter/completion-treesitter
-nvim-treesitter/nvim-treesitter@0.5-compat
 nvim-treesitter/nvim-treesitter-refactor
 nvim-treesitter/nvim-treesitter-textobjects@0.5-compat
+nvim-treesitter/nvim-treesitter@0.5-compat
 nvim-treesitter/playground
 oberblastmeister/termwrapper.nvim
 ocaml/vim-ocaml
diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix
index fe2891f2ac72f..eb03ea3ef6e10 100644
--- a/pkgs/servers/samba/4.x.nix
+++ b/pkgs/servers/samba/4.x.nix
@@ -1,7 +1,6 @@
 { lib, stdenv
 , buildPackages
 , fetchurl
-, python3
 , wafHook
 , pkg-config
 , bison
@@ -64,7 +63,7 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [
-    python3
+    python3Packages.python
     wafHook
     pkg-config
     bison
@@ -83,7 +82,8 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    python3
+    python3Packages.python
+    python3Packages.wrapPython
     readline
     popt
     dbus
@@ -146,6 +146,8 @@ stdenv.mkDerivation rec {
   # module, which works correctly in all cases.
   PYTHON_CONFIG = "/invalid";
 
+  pythonPath = [ python3Packages.dnspython tdb ];
+
   preBuild = ''
     export MAKEFLAGS="-j $NIX_BUILD_CORES"
   '';
@@ -167,7 +169,10 @@ stdenv.mkDerivation rec {
 
     # Samba does its own shebang patching, but uses build Python
     find "$out/bin" -type f -executable -exec \
-      sed -i '1 s^#!${python3.pythonForBuild}/bin/python.*^#!${python3.interpreter}^' {} \;
+      sed -i '1 s^#!${python3Packages.python.pythonForBuild}/bin/python.*^#!${python3Packages.python.interpreter}^' {} \;
+
+    # Fix PYTHONPATH for some tools
+    wrapPythonPrograms
   '';
 
   passthru = {
diff --git a/pkgs/tools/admin/exoscale-cli/default.nix b/pkgs/tools/admin/exoscale-cli/default.nix
index 4fb11de26c3c7..950bc6e53d26d 100644
--- a/pkgs/tools/admin/exoscale-cli/default.nix
+++ b/pkgs/tools/admin/exoscale-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "exoscale-cli";
-  version = "1.37.0";
+  version = "1.38.0";
 
   src = fetchFromGitHub {
     owner  = "exoscale";
     repo   = "cli";
     rev    = "v${version}";
-    sha256 = "sha256-ETj14xwCQJv3xNYXFY/Z0FsxjxLrlpcVkap2sRsLzVU=";
+    sha256 = "sha256-o4jol44ayA13VDChQfOY1eoFOGUCvzfqjbQCqpXairY=";
   };
 
   goPackagePath = "github.com/exoscale/cli";
diff --git a/pkgs/tools/backup/bupstash/default.nix b/pkgs/tools/backup/bupstash/default.nix
index e04f1b9e2eb9f..ccf9115c1e751 100644
--- a/pkgs/tools/backup/bupstash/default.nix
+++ b/pkgs/tools/backup/bupstash/default.nix
@@ -1,16 +1,16 @@
 { lib, fetchFromGitHub, installShellFiles, rustPlatform, ronn, pkg-config, libsodium }:
 rustPlatform.buildRustPackage rec {
   pname = "bupstash";
-  version = "0.10.0";
+  version = "0.10.2";
 
   src = fetchFromGitHub {
     owner = "andrewchambers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-0vDty8JPUOt7mmBzQ9t1lnUyExBYW4hPmzvvhLSZhcs=";
+    sha256 = "sha256-0PKQYvKmAGP4/15nKhB+aZh8PF9dtDFjXEuPCA5tDYk=";
   };
 
-  cargoSha256 = "sha256-8W6uNLHCiCHB6mYyGnixiaHj1IyTnqjd8NaQG18W/uM=";
+  cargoSha256 = "sha256-6zVWKVtTL6zbB4Uulq+sK4vm3qAC0B5kf0DmDv5aneo=";
 
   nativeBuildInputs = [ ronn pkg-config installShellFiles ];
   buildInputs = [ libsodium ];
diff --git a/pkgs/tools/misc/recutils/default.nix b/pkgs/tools/misc/recutils/default.nix
index 5453ab75a4a7e..d6a5b517a84e4 100644
--- a/pkgs/tools/misc/recutils/default.nix
+++ b/pkgs/tools/misc/recutils/default.nix
@@ -1,10 +1,11 @@
 { fetchurl, lib, stdenv, emacs, curl, check, bc }:
 
 stdenv.mkDerivation rec {
-  name = "recutils-1.8";
+  pname = "recutils";
+  version = "1.8";
 
   src = fetchurl {
-    url = "mirror://gnu/recutils/${name}.tar.gz";
+    url = "mirror://gnu/recutils/recutils-${version}.tar.gz";
     sha256 = "14xiln4immfsw8isnvwvq0h23f6z0wilpgsc4qzabnrzb5lsx3nz";
   };
 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 2512b27508a90..67179d18ffcca 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -13732,6 +13732,14 @@ in
 
   global = callPackage ../development/tools/misc/global { };
 
+  gnatcoll-db2ada = callPackage ../development/libraries/ada/gnatcoll/db.nix {
+    component = "gnatcoll_db2ada";
+  };
+
+  gnatinspect = callPackage ../development/libraries/ada/gnatcoll/db.nix {
+    component = "gnatinspect";
+  };
+
   gnome-doc-utils = callPackage ../development/tools/documentation/gnome-doc-utils {};
 
   gnome-desktop-testing = callPackage ../development/tools/gnome-desktop-testing {};
@@ -13772,6 +13780,10 @@ in
 
   gotty = callPackage ../servers/gotty { };
 
+  gprbuild-boot = callPackage ../development/tools/build-managers/gprbuild/boot.nix { };
+
+  gprbuild = callPackage ../development/tools/build-managers/gprbuild { };
+
   gputils = callPackage ../development/tools/misc/gputils { };
 
   gpuvis = callPackage ../development/tools/misc/gpuvis { };
@@ -15606,6 +15618,24 @@ in
   # A GMP fork
   mpir = callPackage ../development/libraries/mpir {};
 
+  gnatcoll-core = callPackage ../development/libraries/ada/gnatcoll/core.nix { };
+
+  # gnatcoll-bindings repository
+  gnatcoll-gmp = callPackage ../development/libraries/ada/gnatcoll/bindings.nix { component = "gmp"; };
+  gnatcoll-iconv = callPackage ../development/libraries/ada/gnatcoll/bindings.nix { component = "iconv"; };
+  gnatcoll-lzma = callPackage ../development/libraries/ada/gnatcoll/bindings.nix { component = "lzma"; };
+  gnatcoll-omp = callPackage ../development/libraries/ada/gnatcoll/bindings.nix { component = "omp"; };
+  gnatcoll-python3 = callPackage ../development/libraries/ada/gnatcoll/bindings.nix { component = "python3"; };
+  gnatcoll-readline = callPackage ../development/libraries/ada/gnatcoll/bindings.nix { component = "readline"; };
+  gnatcoll-syslog = callPackage ../development/libraries/ada/gnatcoll/bindings.nix { component = "syslog"; };
+  gnatcoll-zlib = callPackage ../development/libraries/ada/gnatcoll/bindings.nix { component = "zlib"; };
+
+  # gnatcoll-db repository
+  gnatcoll-postgres = callPackage ../development/libraries/ada/gnatcoll/db.nix { component = "postgres"; };
+  gnatcoll-sql = callPackage ../development/libraries/ada/gnatcoll/db.nix { component = "sql"; };
+  gnatcoll-sqlite = callPackage ../development/libraries/ada/gnatcoll/db.nix { component = "sqlite"; };
+  gnatcoll-xref = callPackage ../development/libraries/ada/gnatcoll/db.nix { component = "xref"; };
+
   gns3Packages = dontRecurseIntoAttrs (callPackage ../applications/networking/gns3 { });
   gns3-gui = gns3Packages.guiStable;
   gns3-server = gns3Packages.serverStable;
@@ -19080,6 +19110,8 @@ in
     ];
   };
 
+  xmlada = callPackage ../development/libraries/ada/xmlada { };
+
   xmlrpc_c = callPackage ../development/libraries/xmlrpc-c { };
 
   xmlsec = callPackage ../development/libraries/xmlsec { };
diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix
index 4d4c172296a17..3fa2d2ea5dcab 100644
--- a/pkgs/top-level/emacs-packages.nix
+++ b/pkgs/top-level/emacs-packages.nix
@@ -26,7 +26,7 @@
 let
 
   mkElpaPackages = { pkgs, lib }: import ../applications/editors/emacs/elisp-packages/elpa-packages.nix {
-    inherit (pkgs) stdenv texinfo writeText gcc;
+    inherit (pkgs) stdenv texinfo writeText gcc pkgs buildPackages;
     inherit lib;
   };