about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2021-06-23 08:16:49 +0000
committerAlyssa Ross <hi@alyssa.is>2021-06-23 08:16:49 +0000
commit4dc730a187d41f9f2dce4fe2680c32dcecb79b93 (patch)
tree67673deb1649dc0a40962e70e6da302d7b6c4bf0 /nixpkgs/pkgs/development/libraries
parent633cab0ecb07627706c6b523e219490f019eaab5 (diff)
parent7e567a3d092b7de69cdf5deaeb8d9526de230916 (diff)
downloadnixlib-4dc730a187d41f9f2dce4fe2680c32dcecb79b93.tar
nixlib-4dc730a187d41f9f2dce4fe2680c32dcecb79b93.tar.gz
nixlib-4dc730a187d41f9f2dce4fe2680c32dcecb79b93.tar.bz2
nixlib-4dc730a187d41f9f2dce4fe2680c32dcecb79b93.tar.lz
nixlib-4dc730a187d41f9f2dce4fe2680c32dcecb79b93.tar.xz
nixlib-4dc730a187d41f9f2dce4fe2680c32dcecb79b93.tar.zst
nixlib-4dc730a187d41f9f2dce4fe2680c32dcecb79b93.zip
Merge commit '7e567a3d092b7de69cdf5deaeb8d9526de230916'
# Conflicts:
#	nixpkgs/pkgs/top-level/all-packages.nix
Diffstat (limited to 'nixpkgs/pkgs/development/libraries')
-rw-r--r--nixpkgs/pkgs/development/libraries/CGAL/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/a52dec/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/alembic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/amdvlk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/armadillo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/atk/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/attr/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/libbass/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/box2d/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/bwidget/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/cglm/default.nix27
-rw-r--r--nixpkgs/pkgs/development/libraries/dav1d/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/dbus-glib/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/drogon/default.nix51
-rw-r--r--nixpkgs/pkgs/development/libraries/drogon/fix_find_package.patch13
-rw-r--r--nixpkgs/pkgs/development/libraries/exiv2/default.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/gensio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gnutls/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/goffice/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/hunspell/dictionaries.nix70
-rw-r--r--nixpkgs/pkgs/development/libraries/hwloc/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/incrtcl/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/itktcl/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/kyotocabinet/default.nix17
-rw-r--r--nixpkgs/pkgs/development/libraries/leatherman/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libadwaita/default.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/libbencodetools/default.nix30
-rw-r--r--nixpkgs/pkgs/development/libraries/libcef/default.nix78
-rw-r--r--nixpkgs/pkgs/development/libraries/libcouchbase/0001-Fix-timeouts-in-libcouchbase-testsuite.patch36
-rw-r--r--nixpkgs/pkgs/development/libraries/libcouchbase/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libdeltachat/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libdrm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libfprint-2-tod1-vfs0090/0001-vfs0090-add-missing-explicit-dependencies-in-meson.b.patch28
-rw-r--r--nixpkgs/pkgs/development/libraries/libfprint-2-tod1-vfs0090/0002-vfs0090-add-missing-linux-limits.h-include.patch26
-rw-r--r--nixpkgs/pkgs/development/libraries/libfprint-2-tod1-vfs0090/default.nix42
-rw-r--r--nixpkgs/pkgs/development/libraries/libgcrypt/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libgmpris/default.nix34
-rw-r--r--nixpkgs/pkgs/development/libraries/libgpg-error/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/libharu/default.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/libjpeg-turbo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libksba/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/liblangtag/default.nix27
-rw-r--r--nixpkgs/pkgs/development/libraries/libmbim/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libndctl/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libpqxx/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/libqmi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libquotient/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/librealsense/default.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/librime/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libsass/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libserdes/default.nix61
-rw-r--r--nixpkgs/pkgs/development/libraries/libsidplayfp/default.nix25
-rw-r--r--nixpkgs/pkgs/development/libraries/libslirp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libusbmuxd/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libvori/default.nix21
-rw-r--r--nixpkgs/pkgs/development/libraries/libwacom/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/libwpe/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libxc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libxml2/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/mesa/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/mesa/missing-includes.patch12
-rw-r--r--nixpkgs/pkgs/development/libraries/mlt/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/nco/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/ncurses/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/nsss/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/nvidia-optical-flow-sdk/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/olm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/opencv/4.x.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/opencv/cuda_opt_flow.patch49
-rw-r--r--nixpkgs/pkgs/development/libraries/openssl/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/orocos-kdl/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/pipewire/0080-pipewire-config-dir.patch24
-rw-r--r--nixpkgs/pkgs/development/libraries/pipewire/0090-pipewire-config-template-paths.patch28
-rw-r--r--nixpkgs/pkgs/development/libraries/pipewire/default.nix44
-rw-r--r--nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/qxmpp/default.nix46
-rw-r--r--nixpkgs/pkgs/development/libraries/retro-gtk/default.nix70
-rw-r--r--nixpkgs/pkgs/development/libraries/retro-gtk/gio-unix.patch11
-rw-r--r--nixpkgs/pkgs/development/libraries/science/chemistry/xcfun/default.nix30
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/libtorch/bin.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/libtorch/binary-hashes.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/openblas/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/tensorflow-lite/default.nix181
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/tensorflow-lite/eigen_include_dir.patch45
-rw-r--r--nixpkgs/pkgs/development/libraries/skalibs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/sope/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/spice/correct-meson.patch26
-rw-r--r--nixpkgs/pkgs/development/libraries/spice/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/tcllib/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/tcltls/default.nix25
-rw-r--r--nixpkgs/pkgs/development/libraries/tclx/default.nix15
-rw-r--r--nixpkgs/pkgs/development/libraries/tix/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/tk/generic.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/utmps/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/wayland/protocols.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/zimlib/default.nix4
97 files changed, 1214 insertions, 450 deletions
diff --git a/nixpkgs/pkgs/development/libraries/CGAL/default.nix b/nixpkgs/pkgs/development/libraries/CGAL/default.nix
index bd8edc14a8bb..3ca359b3da5d 100644
--- a/nixpkgs/pkgs/development/libraries/CGAL/default.nix
+++ b/nixpkgs/pkgs/development/libraries/CGAL/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cgal";
-  version = "5.2.1";
+  version = "5.2.2";
 
   src = fetchFromGitHub {
     owner = "CGAL";
     repo = "releases";
     rev = "CGAL-${version}";
-    sha256 = "sha256-sJyeehgt84rLX8ZBYIbFgHLG2aJDDHEj5GeVnQhjiOQ=";
+    sha256 = "sha256-DeTJAAY3OEu+pVazt5es1v3l1nGAfjvE0wQmYISRYoo=";
   };
 
   # note: optional component libCGAL_ImageIO would need zlib and opengl;
diff --git a/nixpkgs/pkgs/development/libraries/a52dec/default.nix b/nixpkgs/pkgs/development/libraries/a52dec/default.nix
index faa819ec5615..74122f7ed24e 100644
--- a/nixpkgs/pkgs/development/libraries/a52dec/default.nix
+++ b/nixpkgs/pkgs/development/libraries/a52dec/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "0.7.4";
 
   src = fetchurl {
-    url = "${meta.homepage}/files/${pname}-${version}.tar.gz";
+    url = "https://liba52.sourceforge.net/files/${pname}-${version}.tar.gz";
     sha256 = "oh1ySrOzkzMwGUNTaH34LEdbXfuZdRPu9MJd5shl7DM=";
   };
 
@@ -13,6 +13,10 @@ stdenv.mkDerivation rec {
     "--enable-shared"
   ];
 
+  makeFlags = [
+    "AR=${stdenv.cc.targetPrefix}ar"
+  ];
+
   # fails 1 out of 1 tests with "BAD GLOBAL SYMBOLS" on i686
   # which can also be fixed with
   # hardeningDisable = lib.optional stdenv.isi686 "pic";
diff --git a/nixpkgs/pkgs/development/libraries/alembic/default.nix b/nixpkgs/pkgs/development/libraries/alembic/default.nix
index 333dbb053f52..0ed9aa204706 100644
--- a/nixpkgs/pkgs/development/libraries/alembic/default.nix
+++ b/nixpkgs/pkgs/development/libraries/alembic/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec
 {
   pname = "alembic";
-  version = "1.8.1";
+  version = "1.8.2";
 
   src = fetchFromGitHub {
     owner = "alembic";
     repo = "alembic";
     rev = version;
-    sha256 = "sha256-ObjpWreabeVzKYVgC62JaoGUf1BZCxP0STjox3akDvo=";
+    sha256 = "sha256-e87pnWIV8fbjEQa5iXRPXA9MkJN9NwY9PW/QI+cVSKo=";
   };
 
   outputs = [ "bin" "dev" "out" "lib" ];
diff --git a/nixpkgs/pkgs/development/libraries/amdvlk/default.nix b/nixpkgs/pkgs/development/libraries/amdvlk/default.nix
index e3bc04a6d226..5d5277afcd3e 100644
--- a/nixpkgs/pkgs/development/libraries/amdvlk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/amdvlk/default.nix
@@ -21,13 +21,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "amdvlk";
-  version = "2021.Q2.4";
+  version = "2021.Q2.5";
 
   src = fetchRepoProject {
     name = "${pname}-src";
     manifest = "https://github.com/GPUOpen-Drivers/AMDVLK.git";
     rev = "refs/tags/v-${version}";
-    sha256 = "KPWkwbD55BoztF6DPmvau9i1AMhR+5ad5VrrD8I2YyI=";
+    sha256 = "0NJoGk++SHt4dtoUj3UQeW4zFtwa7osczUr+vxi8DG8=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/armadillo/default.nix b/nixpkgs/pkgs/development/libraries/armadillo/default.nix
index 9e81ce0c6c8f..9fdccfb3faa0 100644
--- a/nixpkgs/pkgs/development/libraries/armadillo/default.nix
+++ b/nixpkgs/pkgs/development/libraries/armadillo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "armadillo";
-  version = "10.5.1";
+  version = "10.5.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz";
-    sha256 = "sha256-lq1uHLzyjz0cH/ly3ixA2t3b12gyVrrVAtPEY9L2TN8=";
+    sha256 = "sha256-Y/I87cVIpelASBblDPj4/MSSqxqtxsDO8wv8Kvzq2V8=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/atk/default.nix b/nixpkgs/pkgs/development/libraries/atk/default.nix
index 7961211dc63e..38c557316982 100644
--- a/nixpkgs/pkgs/development/libraries/atk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/atk/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv, fetchurl, meson, ninja, gettext, pkg-config, glib
 , fixDarwinDylibNames, gobject-introspection, gnome
+, withIntrospection ? stdenv.buildPlatform == stdenv.hostPlatform
 }:
 
 let
@@ -17,8 +18,9 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ meson ninja pkg-config gettext gobject-introspection glib ]
-    ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
+  nativeBuildInputs = [ meson ninja pkg-config gettext glib ]
+    ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames
+    ++ lib.optional withIntrospection gobject-introspection;
 
   propagatedBuildInputs = [
     # Required by atk.pc
@@ -31,6 +33,10 @@ stdenv.mkDerivation rec {
     ./fix_pc.patch
   ];
 
+  mesonFlags = [
+    "-Dintrospection=${lib.boolToString withIntrospection}"
+  ];
+
   doCheck = true;
 
   passthru = {
diff --git a/nixpkgs/pkgs/development/libraries/attr/default.nix b/nixpkgs/pkgs/development/libraries/attr/default.nix
index b81afc24ee98..b7c9287b68bc 100644
--- a/nixpkgs/pkgs/development/libraries/attr/default.nix
+++ b/nixpkgs/pkgs/development/libraries/attr/default.nix
@@ -31,15 +31,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://savannah.nongnu.org/projects/attr/";
     description = "Library and tools for manipulating extended attributes";
-    platforms = platforms.unix;
+    platforms = platforms.linux;
     license = licenses.gpl2Plus;
-
-    # The build failure on Darwin will likely be solved after upgrading the
-    # macOS SDK in nixpkgs. Check the current SDK version in
-    # ../../../../os-specific/darwin/apple-sdk/default.nix to see if it has
-    # been updated to 10.13 or later. Once the requirements are met, building
-    # it should be straightforward as Homebrew was able to build it without
-    # patching.
-    broken = stdenv.isDarwin;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/audio/libbass/default.nix b/nixpkgs/pkgs/development/libraries/audio/libbass/default.nix
index 2e10dbd88150..49a3a5478cff 100644
--- a/nixpkgs/pkgs/development/libraries/audio/libbass/default.nix
+++ b/nixpkgs/pkgs/development/libraries/audio/libbass/default.nix
@@ -15,7 +15,7 @@ let
         x86_64-linux = "x64/libbass.so";
       };
       urlpath = "bass24-linux.zip";
-      sha256 = "1z01im0l2ydi608vc0n0c1cfyp1vrh6681zn2zkhg98vvs20y805";
+      sha256 = "1ycvpfa7yyi1qxgflpfzcw1q32f0isd14m9cf351pk8zwndkmp4q";
     };
 
     bass_fx = {
diff --git a/nixpkgs/pkgs/development/libraries/box2d/default.nix b/nixpkgs/pkgs/development/libraries/box2d/default.nix
index 1b6ede9b3101..64349b1e3cf3 100644
--- a/nixpkgs/pkgs/development/libraries/box2d/default.nix
+++ b/nixpkgs/pkgs/development/libraries/box2d/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     description = "2D physics engine";
     homepage = "https://box2d.org/";
     maintainers = [ maintainers.raskin ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     license = licenses.zlib;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/bwidget/default.nix b/nixpkgs/pkgs/development/libraries/bwidget/default.nix
index f3f09497a660..34f0e8b5b495 100644
--- a/nixpkgs/pkgs/development/libraries/bwidget/default.nix
+++ b/nixpkgs/pkgs/development/libraries/bwidget/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv, fetchurl, tcl }:
+{ lib, fetchurl, tcl, tk }:
 
-stdenv.mkDerivation rec {
+tcl.mkTclDerivation rec {
   pname = "bwidget";
   version = "1.9.14";
 
@@ -10,21 +10,17 @@ stdenv.mkDerivation rec {
   };
 
   dontBuild = true;
+  propagatedBuildInputs = [ tk ];
 
   installPhase = ''
-    mkdir -p "$out/lib/${passthru.libPrefix}"
-    cp -R *.tcl lang images "$out/lib/${passthru.libPrefix}"
+    mkdir -p "$out/lib/bwidget${version}"
+    cp -R *.tcl lang images "$out/lib/bwidget${version}"
   '';
 
-  passthru = {
-    libPrefix = "bwidget${version}";
-  };
-
-  buildInputs = [ tcl ];
-
   meta = {
     homepage = "https://sourceforge.net/projects/tcllib";
     description = "High-level widget set for Tcl/Tk";
+    maintainers = with lib.maintainers; [ agbrooks ];
     license = lib.licenses.tcltk;
     platforms = lib.platforms.linux;
   };
diff --git a/nixpkgs/pkgs/development/libraries/cglm/default.nix b/nixpkgs/pkgs/development/libraries/cglm/default.nix
new file mode 100644
index 000000000000..a1c90f6b463b
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/cglm/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+}:
+
+stdenv.mkDerivation rec {
+  pname = "cglm";
+  version = "0.8.3";
+
+  src = fetchFromGitHub {
+    owner = "recp";
+    repo = "cglm";
+    rev = "v${version}";
+    sha256 = "0crzkxan3kivyah225md5c65zglg5c1cgrsmwhvp51hmrpmxss5v";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with lib; {
+    homepage = "https://github.com/recp/cglm";
+    description = "Highly Optimized Graphics Math (glm) for C";
+    license = licenses.mit;
+    maintainers = [ maintainers.ivar ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/dav1d/default.nix b/nixpkgs/pkgs/development/libraries/dav1d/default.nix
index 51df5a9254a5..fe6926fe809a 100644
--- a/nixpkgs/pkgs/development/libraries/dav1d/default.nix
+++ b/nixpkgs/pkgs/development/libraries/dav1d/default.nix
@@ -10,14 +10,14 @@ assert useVulkan -> withExamples;
 
 stdenv.mkDerivation rec {
   pname = "dav1d";
-  version = "0.8.2";
+  version = "0.9.0";
 
   src = fetchFromGitLab {
     domain = "code.videolan.org";
     owner = "videolan";
     repo = pname;
     rev = version;
-    sha256 = "0plmnxpz66yv3nqv1kgbyyfnwfqi9dqs0zbsdj488i6464a1m6si";
+    sha256 = "0ki3wlyaqr80gl1srbbd18dd5bs1sl9icxym8ar62abpvgzxl5yk";
   };
 
   nativeBuildInputs = [ meson ninja nasm pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/dbus-glib/default.nix b/nixpkgs/pkgs/development/libraries/dbus-glib/default.nix
index f56a1eaac245..0bab4eb1949e 100644
--- a/nixpkgs/pkgs/development/libraries/dbus-glib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/dbus-glib/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "dbus-glib-0.110";
+  name = "dbus-glib-0.112";
 
   src = fetchurl {
     url = "${meta.homepage}/releases/dbus-glib/${name}.tar.gz";
-    sha256 = "09g8swvc95bk1z6j8sw463p2v0dqmgm2zjfndf7i8sbcyq67dr3w";
+    sha256 = "sha256-fVUNzN/NKG4ziVUBgp7Zce62XGFOc6rbSgiu73GbFDo=";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "https://dbus.freedesktop.org";
-    license = with lib.licenses; [ afl21 gpl2 ];
+    license = with lib.licenses; [ afl21 gpl2Plus ];
     description = "Obsolete glib bindings for D-Bus lightweight IPC mechanism";
     maintainers = [ ];
     platforms = lib.platforms.unix;
diff --git a/nixpkgs/pkgs/development/libraries/drogon/default.nix b/nixpkgs/pkgs/development/libraries/drogon/default.nix
new file mode 100644
index 000000000000..ebb989c94035
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/drogon/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchFromGitHub, cmake, jsoncpp, libossp_uuid, zlib, openssl, lib }:
+
+stdenv.mkDerivation rec {
+  pname = "drogon";
+  version = "1.7.0";
+
+  src = fetchFromGitHub {
+    owner = "an-tao";
+    repo = "drogon";
+    rev = "v${version}";
+    sha256 = "18wn9ashv3h3pal6x5za6y7byfcrd49zy3wfx4hx0ygxzplmss0r";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  cmakeFlags = [
+    "-DBUILD_TESTING=${if doInstallCheck then "ON" else "OFF"}"
+    "-DBUILD_EXAMPLES=OFF"
+  ];
+
+  propagatedBuildInputs = [
+    jsoncpp
+    libossp_uuid
+    zlib
+    openssl
+  ];
+
+  patches = [
+    # this part of the test would normally fail because it attempts to configure a CMake project that uses find_package on itself
+    # this patch makes drogon and trantor visible to the test
+    ./fix_find_package.patch
+  ];
+
+  # modifying PATH here makes drogon_ctl visible to the test
+  installCheckPhase = ''
+    cd ..
+    patchShebangs test.sh
+    PATH=$PATH:$out/bin ./test.sh
+  '';
+
+  doInstallCheck = true;
+
+  meta = with lib; {
+    homepage = "https://github.com/an-tao/drogon";
+    description = "C++14/17 based HTTP web application framework";
+    license = licenses.mit;
+    maintainers = [ maintainers.urlordjames ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/drogon/fix_find_package.patch b/nixpkgs/pkgs/development/libraries/drogon/fix_find_package.patch
new file mode 100644
index 000000000000..b76dbfe48830
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/drogon/fix_find_package.patch
@@ -0,0 +1,13 @@
+diff --git a/test.sh b/test.sh
+index f017b9a..027031e 100755
+--- a/test.sh
++++ b/test.sh
+@@ -135,7 +135,7 @@ if [ $os = "windows" ]; then
+   conan install $src_dir -s compiler="Visual Studio" -s compiler.version=16 -sbuild_type=Debug -g cmake_paths
+   cmake_gen="$cmake_gen -DCMAKE_TOOLCHAIN_FILE=conan_paths.cmake -DCMAKE_INSTALL_PREFIX=$src_dir/install"
+ fi
+-cmake .. $cmake_gen
++cmake .. $cmake_gen -DDrogon_DIR=$out/lib/cmake/Drogon -DTrantor_DIR=$out/lib/cmake/Trantor
+ 
+ if [ $? -ne 0 ]; then
+     echo "Failed to run CMake for example project"
diff --git a/nixpkgs/pkgs/development/libraries/exiv2/default.nix b/nixpkgs/pkgs/development/libraries/exiv2/default.nix
index 9d29afd69279..2a394f8279b5 100644
--- a/nixpkgs/pkgs/development/libraries/exiv2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/exiv2/default.nix
@@ -1,6 +1,5 @@
 { lib, stdenv
 , fetchFromGitHub
-, fetchpatch
 , zlib
 , expat
 , cmake
@@ -15,7 +14,7 @@
 
 stdenv.mkDerivation rec {
   pname = "exiv2";
-  version = "0.27.3";
+  version = "0.27.4";
 
   outputs = [ "out" "dev" "doc" "man" ];
 
@@ -23,30 +22,9 @@ stdenv.mkDerivation rec {
     owner = "exiv2";
     repo  = "exiv2";
     rev = "v${version}";
-    sha256 = "0d294yhcdw8ziybyd4rp5hzwknzik2sm0cz60ff7fljacv75bjpy";
+    sha256 = "0m1x79q6i5fw3gr9k0dw0bbl7ym27g9vbmxiamks6yw028xqwc5a";
   };
 
-  patches = [
-    # Fix aarch64 build https://github.com/Exiv2/exiv2/pull/1271
-    (fetchpatch {
-      name = "cmake-fix-aarch64.patch";
-      url = "https://github.com/Exiv2/exiv2/commit/bbe0b70840cf28b7dd8c0b7e9bb1b741aeda2efd.patch";
-      sha256 = "13zw1mn0ag0jrz73hqjhdsh1img7jvj5yddip2k2sb5phy04rzfx";
-    })
-
-    # Use correct paths with multiple outputs
-    # https://github.com/Exiv2/exiv2/pull/1275
-    (fetchpatch {
-      url = "https://github.com/Exiv2/exiv2/commit/48f2c9dbbacc0ef84c8ebf4cb1a603327f0b8750.patch";
-      sha256 = "vjB3+Ld4c/2LT7nq6uatYwfHTh+HeU5QFPFXuNLpIPA=";
-    })
-    # https://github.com/Exiv2/exiv2/pull/1294
-    (fetchpatch {
-      url = "https://github.com/Exiv2/exiv2/commit/306c8a6fd4ddd70e76043ab255734720829a57e8.patch";
-      sha256 = "0D/omxYxBPGUu3uSErlf48dc6Ukwc2cEN9/J3e7a9eU=";
-    })
-  ];
-
   nativeBuildInputs = [
     cmake
     doxygen
diff --git a/nixpkgs/pkgs/development/libraries/gensio/default.nix b/nixpkgs/pkgs/development/libraries/gensio/default.nix
index a0c4f5a3e216..3978c05f2c71 100644
--- a/nixpkgs/pkgs/development/libraries/gensio/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gensio/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gensio";
-  version = "2.2.5";
+  version = "2.2.7";
 
   src = fetchFromGitHub {
     owner = "cminyard";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-QC07NGgZa++qHyGZY3fjosjJVuRFfc7HYmdGxQHAz4s=";
+    sha256 = "sha256-2wxsPHrQ9GgyUE4p6zYuR1mPU2OyjtgiPnMApEscR2g=";
   };
 
   passthru = {
diff --git a/nixpkgs/pkgs/development/libraries/gnutls/default.nix b/nixpkgs/pkgs/development/libraries/gnutls/default.nix
index bec366b8e168..2d9d280ba75f 100644
--- a/nixpkgs/pkgs/development/libraries/gnutls/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gnutls/default.nix
@@ -112,7 +112,7 @@ stdenv.mkDerivation {
        tampering, or message forgery."
     '';
 
-    homepage = "https://www.gnu.org/software/gnutls/";
+    homepage = "https://gnutls.org/";
     license = licenses.lgpl21Plus;
     maintainers = with maintainers; [ eelco fpletz ];
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/development/libraries/goffice/default.nix b/nixpkgs/pkgs/development/libraries/goffice/default.nix
index 3a48fa524842..85c9b77c6bdc 100644
--- a/nixpkgs/pkgs/development/libraries/goffice/default.nix
+++ b/nixpkgs/pkgs/development/libraries/goffice/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "goffice";
-  version = "0.10.49";
+  version = "0.10.50";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "X/wY27OF7fuFtsYlS55bTLPS/6MEK5Ms286ON/SzB+k=";
+    sha256 = "LFw93HsIs0UkCMgbEhxfASpzSYHXXkRN68yxxY5cv9w=";
   };
 
   nativeBuildInputs = [ pkg-config intltool ];
diff --git a/nixpkgs/pkgs/development/libraries/hunspell/dictionaries.nix b/nixpkgs/pkgs/development/libraries/hunspell/dictionaries.nix
index f1bcd4ad00c0..596326b36df4 100644
--- a/nixpkgs/pkgs/development/libraries/hunspell/dictionaries.nix
+++ b/nixpkgs/pkgs/development/libraries/hunspell/dictionaries.nix
@@ -5,10 +5,11 @@
 
 let
   mkDict =
-  { name, readmeFile, dictFileName, ... }@args:
+  { pname, readmeFile, dictFileName, ... }@args:
   stdenv.mkDerivation ({
-    inherit name;
+    inherit pname;
     installPhase = ''
+      runHook preInstall
       # hunspell dicts
       install -dm755 "$out/share/hunspell"
       install -m644 ${dictFileName}.dic "$out/share/hunspell/"
@@ -19,7 +20,7 @@ let
       ln -sv "$out/share/hunspell/${dictFileName}.aff" "$out/share/myspell/dicts/"
       # docs
       install -dm755 "$out/share/doc"
-      install -m644 ${readmeFile} $out/share/doc/${name}.txt
+      install -m644 ${readmeFile} $out/share/doc/${pname}.txt
       runHook postInstall
     '';
   } // args);
@@ -29,7 +30,7 @@ let
     mkDict rec {
       inherit dictFileName;
       version = "2.2";
-      name = "hunspell-dict-${shortName}-rla-${version}";
+      pname = "hunspell-dict-${shortName}-rla";
       readmeFile = "README.txt";
       src = fetchFromGitHub {
         owner = "sbosio";
@@ -70,7 +71,7 @@ let
       version = "2.40";
       # Should really use a string function or something
       _version = "2-40";
-      name = "hunspell-dict-${shortName}-dsso-${version}";
+      pname = "hunspell-dict-${shortName}-dsso";
       _name = "ooo_swedish_dict_${_version}";
       readmeFile = "LICENSE_en_US.txt";
       src = fetchurl {
@@ -104,7 +105,7 @@ let
         ln -sv "$out/share/hunspell/${dictFileName}.aff" "$out/share/myspell/dicts/"
         # docs
         install -dm755 "$out/share/doc"
-        install -m644 ${readmeFile} $out/share/doc/${name}.txt
+        install -m644 ${readmeFile} $out/share/doc/${pname}.txt
       '';
     };
 
@@ -113,7 +114,7 @@ let
     mkDict rec {
       inherit dictFileName;
       version = "5.3";
-      name = "hunspell-dict-${shortName}-dicollecte-${version}";
+      pname = "hunspell-dict-${shortName}-dicollecte";
       readmeFile = "README_dict_fr.txt";
       src = fetchurl {
          url = "http://www.dicollecte.org/download/fr/hunspell-french-dictionaries-v${version}.zip";
@@ -146,7 +147,7 @@ let
     mkDict rec {
       inherit src srcFileName dictFileName;
       version = "2018.04.16";
-      name = "hunspell-dict-${shortName}-wordlist-${version}";
+      pname = "hunspell-dict-${shortName}-wordlist";
       srcReadmeFile = "README_" + srcFileName + ".txt";
       readmeFile = "README_" + dictFileName + ".txt";
       meta = with lib; {
@@ -174,7 +175,7 @@ let
     mkDict rec {
       inherit src dictFileName;
       version = "2.4";
-      name = "hunspell-dict-${shortName}-linguistico-${version}";
+      pname = "hunspell-dict-${shortName}-linguistico";
       readmeFile = dictFileName + "_README.txt";
       meta = with lib; {
         description = "Hunspell dictionary for ${shortDescription}";
@@ -198,7 +199,7 @@ let
   mkDictFromXuxen =
     { shortName, srcs, shortDescription, longDescription, dictFileName }:
     stdenv.mkDerivation rec {
-      name = "hunspell-dict-${shortName}-xuxen-${version}";
+      pname = "hunspell-dict-${shortName}-xuxen";
       version = "5-2015.11.10";
 
       inherit srcs;
@@ -231,7 +232,7 @@ let
   mkDictFromJ3e =
     { shortName, shortDescription, dictFileName }:
     stdenv.mkDerivation rec {
-      name = "hunspell-dict-${shortName}-j3e-${version}";
+      pname = "hunspell-dict-${shortName}-j3e";
       version = "20161207";
 
       src = fetchurl {
@@ -272,7 +273,7 @@ let
     , readmeFile ? "README_${dictFileName}.txt"
     , sourceRoot ? dictFileName }:
     mkDict rec {
-      name = "hunspell-dict-${shortName}-libreoffice-${version}";
+      pname = "hunspell-dict-${shortName}-libreoffice";
       version = "6.3.0.4";
       inherit dictFileName readmeFile;
       src = fetchFromGitHub {
@@ -699,7 +700,7 @@ in rec {
 
   uk_UA = uk-ua;
   uk-ua = mkDict rec {
-    name = "hunspell-dict-uk-ua-${version}";
+    pname = "hunspell-dict-uk-ua";
     version = "4.6.3";
     _version = "4-6.3";
 
@@ -760,7 +761,7 @@ in rec {
 
   da_DK = da-dk;
   da-dk = mkDict rec {
-    name = "hunspell-dict-da-dk-${version}";
+    pname = "hunspell-dict-da-dk";
     version = "2.5.189";
 
     src = fetchurl {
@@ -784,4 +785,45 @@ in rec {
       maintainers = with maintainers; [ louisdk1 ];
     };
   };
+
+  /* DUTCH */
+
+  nl_NL = nl_nl;
+  nl_nl = mkDict rec {
+    pname = "hunspell-dict-nl-nl";
+    version = "2.20.19";
+
+    src = fetchFromGitHub {
+      owner = "OpenTaal";
+      repo = "opentaal-hunspell";
+      rev = version;
+      sha256 = "0jma8mmrncyzd77kxliyngs4z6z4769g3nh0a7xn2pd4s5y2xdpy";
+    };
+
+    preInstall = ''
+      mv nl.aff nl_NL.aff
+      mv nl.dic nl_NL.dic
+    '';
+
+    dictFileName = "nl_NL";
+    readmeFile = "README.md";
+
+    meta = with lib; {
+      description = "Hunspell dictionary for Dutch (Netherlands) from OpenTaal";
+      homepage = "https://www.opentaal.org/";
+      license = with licenses; [ bsd3 cc-by-nc-30 ];
+      maintainers = with maintainers; [ artturin ];
+    };
+  };
+
+  /* HEBREW */
+
+  he_IL = he-il;
+  he-il = mkDictFromLibreOffice {
+    shortName = "he-il";
+    dictFileName = "he_IL";
+    shortDescription = "Hebrew (Israel)";
+    readmeFile = "README_he_IL.txt";
+    license = with lib.licenses; [ agpl3Plus ];
+  };
 }
diff --git a/nixpkgs/pkgs/development/libraries/hwloc/default.nix b/nixpkgs/pkgs/development/libraries/hwloc/default.nix
index a6fb316d659f..9692ac531517 100644
--- a/nixpkgs/pkgs/development/libraries/hwloc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/hwloc/default.nix
@@ -6,17 +6,13 @@ assert x11Support -> libX11 != null && cairo != null;
 
 with lib;
 
-let
-  version = "2.4.1";
-  versmm = versions.major version + "." + versions.minor version;
-  name = "hwloc-${version}";
-
-in stdenv.mkDerivation {
-  inherit name;
+stdenv.mkDerivation rec {
+  pname = "hwloc";
+  version = "2.5.0";
 
   src = fetchurl {
-    url = "https://www.open-mpi.org/software/hwloc/v${versmm}/downloads/${name}.tar.bz2";
-    sha256 = "sha256-OSQh5p8mEgyKuV0VH+mJ8rS2nas8dzV0HE4KbX3l3mM=";
+    url = "https://www.open-mpi.org/software/hwloc/v${versions.majorMinor version}/downloads/hwloc-${version}.tar.bz2";
+    sha256 = "1j2j9wn39a8v91r23xncm1rzls6rjkgkvdvqghbdsnq8ps491kx9";
   };
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/incrtcl/default.nix b/nixpkgs/pkgs/development/libraries/incrtcl/default.nix
index 67ae5623db12..dae01961a10c 100644
--- a/nixpkgs/pkgs/development/libraries/incrtcl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/incrtcl/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, writeText, tcl }:
 
-stdenv.mkDerivation rec {
+tcl.mkTclDerivation rec {
   pname = "incrtcl";
   version = "4.2.0";
 
@@ -9,18 +9,12 @@ stdenv.mkDerivation rec {
     sha256 = "0w28v0zaraxcq1s9pa6cihqqwqvvwfgz275lks7w4gl7hxjxmasw";
   };
 
-  buildInputs = [ tcl ];
-  configureFlags = [ "--with-tcl=${tcl}/lib" ];
   enableParallelBuilding = true;
 
   patchPhase = ''
     substituteInPlace configure --replace "\''${TCL_SRC_DIR}/generic" "${tcl}/include"
   '';
 
-  preConfigure = ''
-    configureFlags="--exec_prefix=$prefix $configureFlags"
-  '';
-
   postInstall = ''
     rmdir $out/bin
     mv $out/lib/itcl${version}/* $out/lib
diff --git a/nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix b/nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix
index 78e2ebae96ac..47a3ca4f9f99 100644
--- a/nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-media-sdk";
-  version = "21.2.0";
+  version = "21.2.2";
 
   src = fetchFromGitHub {
     owner = "Intel-Media-SDK";
     repo = "MediaSDK";
     rev = "intel-mediasdk-${version}";
-    sha256 = "sha256-LusgmvlWOMEQjy47IpA9IYcl/cUTSMmvxSwvV/ihs2g=";
+    sha256 = "sha256-iSrr9g6C8YRcmu92sTyDCh76Cdu8wbDL3COwiVxox4Q=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/itktcl/default.nix b/nixpkgs/pkgs/development/libraries/itktcl/default.nix
index 570190a43c1e..66039c61b4d5 100644
--- a/nixpkgs/pkgs/development/libraries/itktcl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/itktcl/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, tcl, tk, incrtcl }:
 
-stdenv.mkDerivation rec {
+tcl.mkTclDerivation rec {
   pname = "itk-tcl";
   version = "4.1.0";
 
@@ -9,11 +9,10 @@ stdenv.mkDerivation rec {
     sha256 = "1iy964jfgsfnc1agk1w6bbm44x18ily8d4wmr7cc9z9f4acn2r6s";
   };
 
-  buildInputs = [ tcl tk incrtcl ];
+  buildInputs = [ tk incrtcl ];
   enableParallelBuilding = true;
 
   configureFlags = [
-    "--with-tcl=${tcl}/lib"
     "--with-tk=${tk}/lib"
     "--with-itcl=${incrtcl}/lib"
     "--with-tkinclude=${tk.dev}/include"
diff --git a/nixpkgs/pkgs/development/libraries/kyotocabinet/default.nix b/nixpkgs/pkgs/development/libraries/kyotocabinet/default.nix
index 4e8aa57d9568..153892304e9c 100644
--- a/nixpkgs/pkgs/development/libraries/kyotocabinet/default.nix
+++ b/nixpkgs/pkgs/development/libraries/kyotocabinet/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv, fetchurl, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "kyotocabinet-1.2.76";
+  pname = "kyotocabinet";
+  version = "1.2.79";
 
   src = fetchurl {
-    url = "http://fallabs.com/kyotocabinet/pkg/${name}.tar.gz";
-    sha256 = "0g6js20x7vnpq4p8ghbw3mh9wpqksya9vwhzdx6dnlf354zjsal1";
+    url = "https://dbmx.net/kyotocabinet/pkg/kyotocabinet-${version}.tar.gz";
+    sha256 = "079ymsahlrijswgwfr2la9yw5h57l752cprhp5dz31iamsj1vyv7";
   };
 
   prePatch = lib.optionalString stdenv.isDarwin ''
@@ -24,18 +25,12 @@ stdenv.mkDerivation rec {
         --replace stdc++ c++
   '';
 
-  patches = [(fetchurl {
-    name = "gcc6.patch";
-    url = "https://src.fedoraproject.org/rpms/kyotocabinet/raw/master/f/kyotocabinet-1.2.76-gcc6.patch";
-    sha256 = "1h5k38mkiq7lz8nd2gbn7yvimcz49g3z7phn1cr560bzjih8rz23";
-  })];
-
   buildInputs = [ zlib ];
 
   meta = with lib; {
-    homepage = "http://fallabs.com/kyotocabinet";
+    homepage = "https://dbmx.net/kyotocabinet";
     description = "A library of routines for managing a database";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/leatherman/default.nix b/nixpkgs/pkgs/development/libraries/leatherman/default.nix
index 61d87211e0a5..2d439db5934e 100644
--- a/nixpkgs/pkgs/development/libraries/leatherman/default.nix
+++ b/nixpkgs/pkgs/development/libraries/leatherman/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "leatherman";
-  version = "1.12.4";
+  version = "1.12.5";
 
   src = fetchFromGitHub {
-    sha256 = "sha256-7e9D9Q3CAm+2+0vl81djSZwKrQRXc5UxcbJVMt91/vU=";
+    sha256 = "sha256-1romJiOIQDlglo/nAJjn1l06dSwDRwG1b49H6js9MB4=";
     rev = version;
     repo = "leatherman";
     owner = "puppetlabs";
diff --git a/nixpkgs/pkgs/development/libraries/libadwaita/default.nix b/nixpkgs/pkgs/development/libraries/libadwaita/default.nix
index f3b9cad0720b..d6cffcab7fed 100644
--- a/nixpkgs/pkgs/development/libraries/libadwaita/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libadwaita/default.nix
@@ -2,35 +2,40 @@
 , stdenv
 , fetchFromGitLab
 , docbook-xsl-nons
+, gi-docgen
 , gtk-doc
+, libxml2
 , meson
 , ninja
 , pkg-config
 , sassc
 , vala
 , gobject-introspection
+, fribidi
 , gtk4
 , xvfb-run
 }:
 
 stdenv.mkDerivation rec {
   pname = "libadwaita";
-  version = "unstable-2021-05-01";
+  version = "1.0.0-alpha.1";
 
   outputs = [ "out" "dev" "devdoc" ];
-  outputBin = "dev";
+  outputBin = "devdoc"; # demo app
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "GNOME";
     repo = "libadwaita";
-    rev = "8d66b987a19979d9d7b85dacc6bad5ce0c8743fe";
-    sha256 = "0i3wav6jsyi4w4i2r1rad769m5y5s9djj4zqb7dfyh0bad24ba3q";
+    rev = version;
+    sha256 = "1v52md62kaqykv8b6kxxbxwnbdzlda4ir7n5wh2iizadcailyw7p";
   };
 
   nativeBuildInputs = [
     docbook-xsl-nons
+    gi-docgen
     gtk-doc
+    libxml2 # for xmllint
     meson
     ninja
     pkg-config
@@ -43,6 +48,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    fribidi
     gobject-introspection
     gtk4
   ];
@@ -57,6 +63,10 @@ stdenv.mkDerivation rec {
     xvfb-run meson test
   '';
 
+  postInstall = ''
+    mv $out/share/{doc,gtk-doc}
+  '';
+
   meta = with lib; {
     description = "Library to help with developing UI for mobile devices using GTK/GNOME";
     homepage = "https://gitlab.gnome.org/GNOME/libadwaita";
diff --git a/nixpkgs/pkgs/development/libraries/libbencodetools/default.nix b/nixpkgs/pkgs/development/libraries/libbencodetools/default.nix
new file mode 100644
index 000000000000..b8150a90f683
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libbencodetools/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, lib, fetchFromGitLab
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libbencodetools";
+  version = "unstable-2021-04-15";
+
+  src = fetchFromGitLab {
+    owner = "heikkiorsila";
+    repo = "bencodetools";
+    rev = "1ab11f6509a348975e8aec829d7abbf2f8e9b7d1";
+    sha256 = "1i2dgvxxwj844yn45hnfx3785ljbvbkri0nv0jx51z4i08w7cz0h";
+  };
+
+  postPatch = ''
+    patchShebangs .
+  '';
+
+  configureFlags = [
+    "--without-python"
+  ];
+
+  meta = with lib; {
+    description = "Collection of tools for manipulating bencoded data";
+    homepage = "https://gitlab.com/heikkiorsila/bencodetools";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libcef/default.nix b/nixpkgs/pkgs/development/libraries/libcef/default.nix
index 8f01958a9bcf..c3d6516a3dfd 100644
--- a/nixpkgs/pkgs/development/libraries/libcef/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcef/default.nix
@@ -1,26 +1,66 @@
-{ lib, stdenv, fetchurl, cmake, alsa-lib, atk, cairo, cups, dbus, expat, fontconfig
-, GConf, gdk-pixbuf, glib, gtk2, libX11, libxcb, libXcomposite, libXcursor
-, libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender, libXScrnSaver
-, libXtst, nspr, nss, pango, libpulseaudio, systemd, at-spi2-atk, at-spi2-core
+{ lib, stdenv, fetchurl, cmake
+, glib
+, nss
+, nspr
+, atk
+, at-spi2-atk
+, libdrm
+, expat
+, libxcb
+, libxkbcommon
+, libX11
+, libXcomposite
+, libXdamage
+, libXext
+, libXfixes
+, libXrandr
+, mesa
+, gtk3
+, pango
+, cairo
+, alsa-lib
+, dbus
+, at-spi2-core
+, cups
+, libxshmfence
 }:
 
 let
-  libPath =
-    lib.makeLibraryPath [
-      alsa-lib atk cairo cups dbus expat fontconfig GConf gdk-pixbuf glib gtk2
-      libX11 libxcb libXcomposite libXcursor libXdamage libXext libXfixes libXi
-      libXrandr libXrender libXScrnSaver libXtst nspr nss pango libpulseaudio
-      systemd at-spi2-core at-spi2-atk
-    ];
-in
-stdenv.mkDerivation rec {
+  rpath = lib.makeLibraryPath [
+    glib
+    nss
+    nspr
+    atk
+    at-spi2-atk
+    libdrm
+    expat
+    libxcb
+    libxkbcommon
+    libX11
+    libXcomposite
+    libXdamage
+    libXext
+    libXfixes
+    libXrandr
+    mesa
+    gtk3
+    pango
+    cairo
+    alsa-lib
+    dbus
+    at-spi2-core
+    cups
+    libxshmfence
+  ];
+in stdenv.mkDerivation rec {
   pname = "cef-binary";
-  version = "75.1.14-gc81164e";
+  version = "90.6.7";
+  gitRevision = "19ba721";
+  chromiumVersion = "90.0.4430.212";
 
   src = fetchurl {
-    name = "cef_binary_75.1.14+gc81164e+chromium-75.0.3770.100_linux64_minimal.tar.bz2";
-    url = "http://opensource.spotify.com/cefbuilds/cef_binary_75.1.14%2Bgc81164e%2Bchromium-75.0.3770.100_linux64_minimal.tar.bz2";
-    sha256 = "0985b2bx505j0q693hifjgidzb597wqf5idql5aqxs8lfxhc2pgg";
+    url = "https://cef-builds.spotifycdn.com/cef_binary_${version}+g${gitRevision}+chromium-${chromiumVersion}_linux64_minimal.tar.bz2";
+    sha256 = "1ja711x9fdlf21qw1k9xn3lvjc5zsfgnjga1w1r8sysam73jk7xj";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -32,7 +72,7 @@ stdenv.mkDerivation rec {
     mkdir -p $out/lib/ $out/share/cef/
     cp libcef_dll_wrapper/libcef_dll_wrapper.a $out/lib/
     cp ../Release/libcef.so $out/lib/
-    patchelf --set-rpath "${libPath}" $out/lib/libcef.so
+    patchelf --set-rpath "${rpath}" $out/lib/libcef.so
     cp ../Release/*.bin $out/share/cef/
     cp -r ../Resources/* $out/share/cef/
     cp -r ../include $out/
@@ -40,7 +80,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Simple framework for embedding Chromium-based browsers in other applications";
-    homepage = "http://opensource.spotify.com/cefbuilds/index.html";
+    homepage = "https://cef-builds.spotifycdn.com/index.html";
     maintainers = with maintainers; [ puffnfresh ];
     license = licenses.bsd3;
     platforms = with platforms; linux;
diff --git a/nixpkgs/pkgs/development/libraries/libcouchbase/0001-Fix-timeouts-in-libcouchbase-testsuite.patch b/nixpkgs/pkgs/development/libraries/libcouchbase/0001-Fix-timeouts-in-libcouchbase-testsuite.patch
deleted file mode 100644
index 1c57757f855c..000000000000
--- a/nixpkgs/pkgs/development/libraries/libcouchbase/0001-Fix-timeouts-in-libcouchbase-testsuite.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 58237e64fa77ec5cdec658b3295f71ec899175fa Mon Sep 17 00:00:00 2001
-From: Maximilian Bosch <maximilian@mbosch.me>
-Date: Sat, 5 Oct 2019 13:47:59 +0200
-Subject: [PATCH] Fix timeouts in libcouchbase testsuite
-
-Nix-specific patch. Basically
-https://github.com/couchbase/libcouchbase/commit/b272f6ab88be523bbcf9d5c4252d07fccb023fe5, but
-rebased onto 2.10.4.
----
- src/ssl/ssl_e.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/src/ssl/ssl_e.c b/src/ssl/ssl_e.c
-index f4506cf..734a3e6 100644
---- a/src/ssl/ssl_e.c
-+++ b/src/ssl/ssl_e.c
-@@ -210,10 +210,16 @@ flush_ssl_data(lcbio_ESSL *es)
-      * calls. While we could have done this inline with the send() call this
-      * would make future optimization more difficult. */
-     GT_WRITE_DONE:
-+#if !LCB_CAN_OPTIMIZE_SSL_BIO
-+    BIO_get_mem_ptr(es->wbio, &wmb);
-+#endif
-     while (wmb->length > (size_t)tmp_len) {
-         char dummy[4096];
-         unsigned to_read = MINIMUM(wmb->length-tmp_len, sizeof dummy);
-         BIO_read(es->wbio, dummy, to_read);
-+#if !LCB_CAN_OPTIMIZE_SSL_BIO
-+        BIO_get_mem_ptr(es->wbio, &wmb);
-+#endif
-     }
-     BIO_clear_retry_flags(es->wbio);
-     return 0;
--- 
-2.23.0
-
diff --git a/nixpkgs/pkgs/development/libraries/libcouchbase/default.nix b/nixpkgs/pkgs/development/libraries/libcouchbase/default.nix
index 9f75eafdf247..9cb83c5bf654 100644
--- a/nixpkgs/pkgs/development/libraries/libcouchbase/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcouchbase/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libcouchbase";
-  version = "2.10.4";
+  version = "3.1.3";
 
   src = fetchFromGitHub {
     owner = "couchbase";
     repo = "libcouchbase";
     rev = version;
-    sha256 = "1yfmcx65aqd5l87scha6kmm2s38n85ci3gg0h6qfs16s3jfi6bw7";
+    sha256 = "16mafxkdbns33yjyc2p3j2iajjpyq0zp66wpjir2qj1w3kgggcw8";
   };
 
   cmakeFlags = [ "-DLCB_NO_MOCK=ON" ];
@@ -19,8 +19,6 @@ stdenv.mkDerivation rec {
   # Running tests in parallel does not work
   enableParallelChecking = false;
 
-  patches = [ ./0001-Fix-timeouts-in-libcouchbase-testsuite.patch ];
-
   doCheck = !stdenv.isDarwin;
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/libraries/libdeltachat/default.nix b/nixpkgs/pkgs/development/libraries/libdeltachat/default.nix
index a5c0752b9ae1..77315776aca2 100644
--- a/nixpkgs/pkgs/development/libraries/libdeltachat/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libdeltachat/default.nix
@@ -11,19 +11,19 @@
 
 stdenv.mkDerivation rec {
   pname = "libdeltachat";
-  version = "1.55.0";
+  version = "1.56.0";
 
   src = fetchFromGitHub {
     owner = "deltachat";
     repo = "deltachat-core-rust";
     rev = version;
-    sha256 = "sha256-D30usAVpyiqXQMrTvmdaGFig7jhyb3rMTBQL/E2UL50=";
+    sha256 = "sha256-ZyVEI6q+GzHLEFH01TxS7NqwT7zqVgg0vduyf/fibB8=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    sha256 = "1hf7lrqbv0ba9c0kmnjn5x1fispyyjip1gmllq77z6nsjpn0f9w8";
+    sha256 = "0pb1rcv45xa95ziqap94yy52fy02vh401iqsgi18nm1j6iyyngc8";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/libdrm/default.nix b/nixpkgs/pkgs/development/libraries/libdrm/default.nix
index b7fd94f9f123..ca90750b8c24 100644
--- a/nixpkgs/pkgs/development/libraries/libdrm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libdrm/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libdrm";
-  version = "2.4.105";
+  version = "2.4.106";
 
   src = fetchurl {
     url = "https://dri.freedesktop.org/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0iiamypwdfiz250ki120nh598r48yyacmnndb4mkximdgi5h478x";
+    sha256 = "1m3vwpabjg3az84vmyxi96jyd7rrqm6qkhk1gq41w5wv89aarn4j";
   };
 
   outputs = [ "out" "dev" "bin" ];
diff --git a/nixpkgs/pkgs/development/libraries/libfprint-2-tod1-vfs0090/0001-vfs0090-add-missing-explicit-dependencies-in-meson.b.patch b/nixpkgs/pkgs/development/libraries/libfprint-2-tod1-vfs0090/0001-vfs0090-add-missing-explicit-dependencies-in-meson.b.patch
new file mode 100644
index 000000000000..ac06e83ab938
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libfprint-2-tod1-vfs0090/0001-vfs0090-add-missing-explicit-dependencies-in-meson.b.patch
@@ -0,0 +1,28 @@
+From c02f2e040dd1e7664777c5a705272e4eb7bfb569 Mon Sep 17 00:00:00 2001
+From: Vincent Breitmoser <look@my.amazin.horse>
+Date: Thu, 10 Jun 2021 14:09:19 +0200
+Subject: [PATCH] vfs0090: add missing explicit dependencies in meson.build
+
+Make all dependencies explicit, so they can be found when building with Nix.
+
+---
+ meson.build | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/meson.build b/meson.build
+index 54a7ca4..88f8793 100644
+--- a/meson.build
++++ b/meson.build
+@@ -17,6 +17,9 @@ udev_dep = dependency('udev')
+ vfs009x_deps += libfprint_tod_dep
+ vfs009x_deps += dependency('nss')
+ vfs009x_deps += dependency('openssl')
++vfs009x_deps += dependency('gusb')
++vfs009x_deps += dependency('libfprint-2')
++vfs009x_deps += dependency('glib-2.0')
+ 
+ vfs0090_deps += dependency('pixman-1')
+ 
+-- 
+2.31.1
+
diff --git a/nixpkgs/pkgs/development/libraries/libfprint-2-tod1-vfs0090/0002-vfs0090-add-missing-linux-limits.h-include.patch b/nixpkgs/pkgs/development/libraries/libfprint-2-tod1-vfs0090/0002-vfs0090-add-missing-linux-limits.h-include.patch
new file mode 100644
index 000000000000..6111cf0ad294
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libfprint-2-tod1-vfs0090/0002-vfs0090-add-missing-linux-limits.h-include.patch
@@ -0,0 +1,26 @@
+From 5405e02c629e689449e852424aed8cca217ed309 Mon Sep 17 00:00:00 2001
+From: Vincent Breitmoser <look@my.amazin.horse>
+Date: Thu, 10 Jun 2021 14:10:52 +0200
+Subject: [PATCH] vfs0090: add missing <linux/limits.h> include
+
+This header is needed for the NAME_MAX constant used in this file.
+
+---
+ vfs0090.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/vfs0090.c b/vfs0090.c
+index 8034faf..6070df7 100644
+--- a/vfs0090.c
++++ b/vfs0090.c
+@@ -24,6 +24,7 @@
+ 
+ #include <errno.h>
+ #include <ctype.h>
++#include <linux/limits.h>
+ #include <nss.h>
+ #include <pk11pub.h>
+ #include <sechash.h>
+-- 
+2.31.1
+
diff --git a/nixpkgs/pkgs/development/libraries/libfprint-2-tod1-vfs0090/default.nix b/nixpkgs/pkgs/development/libraries/libfprint-2-tod1-vfs0090/default.nix
new file mode 100644
index 000000000000..840f8e227153
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libfprint-2-tod1-vfs0090/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, lib, fetchFromGitLab, pkg-config, libfprint, libfprint-tod, gusb, udev, nss, openssl, meson, pixman, ninja, glib }:
+stdenv.mkDerivation {
+  pname = "libfprint-2-tod1-vfs0090";
+  version = "0.8.5";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.freedesktop.org";
+    owner = "3v1n0";
+    repo = "libfprint-tod-vfs0090";
+    rev = "6084a1545589beec0c741200b18b0902cca225ba";
+    sha256 = "sha256-tSML/8USd/LuHF/YGLvNgykixF6VYtfE4SXzeV47840=";
+  };
+
+  patches = [
+    # TODO remove once https://gitlab.freedesktop.org/3v1n0/libfprint-tod-vfs0090/-/merge_requests/1 is merged
+    ./0001-vfs0090-add-missing-explicit-dependencies-in-meson.b.patch
+    # TODO remove once https://gitlab.freedesktop.org/3v1n0/libfprint-tod-vfs0090/-/merge_requests/2 is merged
+    ./0002-vfs0090-add-missing-linux-limits.h-include.patch
+  ];
+
+  nativeBuildInputs = [ pkg-config meson ninja ];
+  buildInputs = [ libfprint libfprint-tod glib gusb udev nss openssl pixman ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -D -t "$out/lib/libfprint-2/tod-1/" libfprint-tod-vfs009x.so
+    install -D -t "$out/lib/udev/rules.d/" $src/60-libfprint-2-tod-vfs0090.rules
+
+    runHook postInstall
+  '';
+
+  passthru.driverPath = "/lib/libfprint-2/tod-1";
+
+  meta = with lib; {
+    description = "A libfprint-2-tod Touch OEM Driver for 2016 ThinkPad's fingerprint readers";
+    homepage = "https://gitlab.freedesktop.org/3v1n0/libfprint-tod-vfs0090";
+    license = licenses.lgpl21Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ valodim ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libgcrypt/default.nix b/nixpkgs/pkgs/development/libraries/libgcrypt/default.nix
index 6b761d2170c3..506b1a5b25fb 100644
--- a/nixpkgs/pkgs/development/libraries/libgcrypt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgcrypt/default.nix
@@ -4,11 +4,11 @@ assert enableCapabilities -> stdenv.isLinux;
 
 stdenv.mkDerivation rec {
   pname = "libgcrypt";
-  version = "1.9.2";
+  version = "1.9.3";
 
   src = fetchurl {
     url = "mirror://gnupg/libgcrypt/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-ssENCRUTsnHkcXcnRgex/7o9lbGIu/qHl/lIrskFPFo=";
+    sha256 = "sha256-l+vk+U4vfjW3UhlM4VoPPGYyTg/2ryZlm7+1/y7DKP0=";
   };
 
   outputs = [ "out" "dev" "info" ];
@@ -58,6 +58,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://www.gnu.org/software/libgcrypt/";
+    changelog = "https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=blob;f=NEWS;hb=refs/tags/${pname}-${version}";
     description = "General-purpose cryptographic library";
     license = licenses.lgpl2Plus;
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/development/libraries/libgmpris/default.nix b/nixpkgs/pkgs/development/libraries/libgmpris/default.nix
new file mode 100644
index 000000000000..a7826fabd134
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libgmpris/default.nix
@@ -0,0 +1,34 @@
+{ stdenv
+, lib
+, fetchurl
+, pkg-config
+, glib
+, gobject-introspection
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libgmpris";
+  version = "2.2.1-8";
+
+  src = fetchurl {
+    url = "https://www.sonarnerd.net/src/focal/src/${pname}_${version}.tar.gz";
+    sha256 = "sha256-iyKNmg6sf+mxlY/4vt5lKdrKfJzkoCYU2j1O8uwk8K4=";
+  };
+
+  nativeBuildInputs = [ pkg-config gobject-introspection ];
+
+  buildInputs = [ glib ];
+
+  postInstall = ''
+    mkdir -p $out/share/doc/${pname}
+    cp ./AUTHORS $out/share/doc/${pname}
+    cp ./README $out/share/doc/${pname}
+  '';
+
+  meta = with lib; {
+    homepage = "https://www.sonarnerd.net/src/";
+    description = "GMPRIS GDBus bindings GDBus bindings generated from the GMPRIS XML spec files";
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ lovesegfault ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libgpg-error/default.nix b/nixpkgs/pkgs/development/libraries/libgpg-error/default.nix
index da53a9916d05..1f6fd4835afa 100644
--- a/nixpkgs/pkgs/development/libraries/libgpg-error/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgpg-error/default.nix
@@ -34,16 +34,6 @@ in stdenv.mkDerivation (rec {
   '' + lib.optionalString (stdenv.hostPlatform.isAarch32 && stdenv.hostPlatform.isMusl) ''
     ln -s src/syscfg/lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.arm-unknown-linux-musleabihf.h
     ln -s src/syscfg/lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-musleabihf.h
-  ''
-  # This file was accidentally excluded from the sdist until
-  # 013720333c6ec1d38791689bc49ba039d98e16b3, post release.
-  # TODO make unconditional next mass rebuild
-  + lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
-    cp ${fetchurl {
-      url = "https://raw.githubusercontent.com/gpg/libgpg-error/50e62b36ea01ed25d12c443088b85d4f41a2b3e1/src/gen-lock-obj.sh";
-      sha256 = "10cslipa6npalj869asaamj0w941dhmx0yjafpyyh69ypsg2m2c3";
-    }} ./src/gen-lock-obj.sh
-    chmod +x ./src/gen-lock-obj.sh
   '';
 
   outputs = [ "out" "dev" "info" ];
diff --git a/nixpkgs/pkgs/development/libraries/libharu/default.nix b/nixpkgs/pkgs/development/libraries/libharu/default.nix
index 53c14027ff36..7b8a5ac02c89 100644
--- a/nixpkgs/pkgs/development/libraries/libharu/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libharu/default.nix
@@ -1,10 +1,13 @@
-{ lib, stdenv, fetchzip, cmake, zlib, libpng }:
+{ lib, stdenv, fetchFromGitHub, cmake, zlib, libpng }:
 
-stdenv.mkDerivation {
-  name = "libharu-2.3.0";
+stdenv.mkDerivation rec {
+  pname = "libharu";
+  version = "2.3.0";
 
-  src = fetchzip {
-    url = "https://github.com/libharu/libharu/archive/RELEASE_2_3_0.tar.gz";
+  src = fetchFromGitHub {
+    owner = "libharu";
+    repo = pname;
+    rev = "RELEASE_${lib.replaceStrings ["."] ["_"] version}";
     sha256 = "15s9hswnl3qqi7yh29jyrg0hma2n99haxznvcywmsp8kjqlyg75q";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libjpeg-turbo/default.nix b/nixpkgs/pkgs/development/libraries/libjpeg-turbo/default.nix
index 964a007cc80b..3d7df2bba9cb 100644
--- a/nixpkgs/pkgs/development/libraries/libjpeg-turbo/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libjpeg-turbo/default.nix
@@ -16,13 +16,13 @@ assert !(enableJpeg7 && enableJpeg8);  # pick only one or none, not both
 stdenv.mkDerivation rec {
 
   pname = "libjpeg-turbo";
-  version = "2.0.6";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "libjpeg-turbo";
     repo = "libjpeg-turbo";
     rev = version;
-    sha256 = "0njdxfmyk8smj8bbd6fs3lxjaq3lybivwgg16gpnbiyl984dpi9b";
+    sha256 = "sha256-Ma3Q/zMJPjsQmoaYJtVbHJOx65AfGLWJYi2iRFm3l5s=";
   };
 
   # This is needed by freeimage
diff --git a/nixpkgs/pkgs/development/libraries/libksba/default.nix b/nixpkgs/pkgs/development/libraries/libksba/default.nix
index e623aa0d1119..c8998446c7da 100644
--- a/nixpkgs/pkgs/development/libraries/libksba/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libksba/default.nix
@@ -1,11 +1,11 @@
 { buildPackages, lib, stdenv, fetchurl, gettext, libgpgerror }:
 
 stdenv.mkDerivation rec {
-  name = "libksba-1.5.0";
+  name = "libksba-1.5.1";
 
   src = fetchurl {
     url = "mirror://gnupg/libksba/${name}.tar.bz2";
-    sha256 = "1fm0mf3wq9fmyi1rmc1vk2fafn6liiw2mgxml3g7ybbb44lz2jmf";
+    sha256 = "sha256-sPTGXk5EfZojSfa4wOd6KL6VMeRUi6AsVF0fRtx7+SE=";
   };
 
   outputs = [ "out" "dev" "info" ];
diff --git a/nixpkgs/pkgs/development/libraries/liblangtag/default.nix b/nixpkgs/pkgs/development/libraries/liblangtag/default.nix
index 5c31197ebff2..5ba2ecc5d6bc 100644
--- a/nixpkgs/pkgs/development/libraries/liblangtag/default.nix
+++ b/nixpkgs/pkgs/development/libraries/liblangtag/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchFromBitbucket, autoreconfHook, gtk-doc, gettext
+{ lib, stdenv, fetchurl, autoreconfHook, gtk-doc, gettext
 , pkg-config, glib, libxml2, gobject-introspection, gnome-common, unzip
 }:
 
@@ -6,11 +6,10 @@ stdenv.mkDerivation rec {
   pname = "liblangtag";
   version = "0.6.3";
 
-  src = fetchFromBitbucket {
-    owner = "tagoh";
-    repo = pname;
-    rev = version;
-    sha256 = "10rycs8xrxzf9frzalv3qx8cs1jcildhrr4imzxdmr9f4l585z96";
+  # Artifact tarball contains lt-localealias.h needed for darwin
+  src = fetchurl {
+    url = "https://bitbucket.org/tagoh/liblangtag/downloads/${pname}-${version}.tar.bz2";
+    sha256 = "sha256-HxKiCgLsOo0i5U3tuLaDpDycFgvaG6M3vxBgYHrnM70=";
   };
 
   core_zip = fetchurl {
@@ -31,19 +30,19 @@ stdenv.mkDerivation rec {
     cp "${language_subtag_registry}" data/language-subtag-registry
   '';
 
-  configureFlags = [
-    "--with-locale-alias=${stdenv.cc.libc}/share/locale/locale.alias"
-  ];
+  configureFlags =
+    lib.optional
+      (stdenv.hostPlatform.libc == "glibc")
+      "--with-locale-alias=${stdenv.cc.libc}/share/locale/locale.alias";
 
   buildInputs = [ gettext glib libxml2 gobject-introspection gnome-common ];
   nativeBuildInputs = [ autoreconfHook gtk-doc gettext pkg-config unzip ];
 
-  meta = {
-    inherit version;
+  meta = with lib; {
     description = "An interface library to access tags for identifying languages";
-    license = lib.licenses.mpl20;
-    maintainers = [lib.maintainers.raskin];
-    platforms = lib.platforms.linux;
+    license = licenses.mpl20;
+    maintainers = [ maintainers.raskin ];
+    platforms = platforms.unix;
     # There are links to a homepage that are broken by a BitBucket change
     homepage = "https://bitbucket.org/tagoh/liblangtag/overview";
   };
diff --git a/nixpkgs/pkgs/development/libraries/libmbim/default.nix b/nixpkgs/pkgs/development/libraries/libmbim/default.nix
index 9695b221cb97..ef13fdc9de12 100644
--- a/nixpkgs/pkgs/development/libraries/libmbim/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmbim/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv
 , fetchurl
 , pkg-config
-, gobject-introspection
 , glib
 , python3
 , systemd
 , libgudev
+, withIntrospection ? stdenv.hostPlatform == stdenv.buildPlatform
+, gobject-introspection
 }:
 
 stdenv.mkDerivation rec {
@@ -21,7 +22,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [
     "--with-udev-base-dir=${placeholder "out"}/lib/udev"
-    "--enable-introspection"
+    (lib.enableFeature withIntrospection "introspection")
   ];
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/libndctl/default.nix b/nixpkgs/pkgs/development/libraries/libndctl/default.nix
index 91a2c378c03c..6e82191e7558 100644
--- a/nixpkgs/pkgs/development/libraries/libndctl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libndctl/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook
-, asciidoctor, pkg-config, xmlto, docbook_xsl, docbook_xml_dtd_45, libxslt
+, asciidoc, pkg-config, xmlto, docbook_xsl, docbook_xml_dtd_45, libxslt
 , json_c, kmod, which, util-linux, udev, keyutils
 }:
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "lib" "man" "dev" ];
 
   nativeBuildInputs =
-    [ autoreconfHook asciidoctor pkg-config xmlto docbook_xml_dtd_45 docbook_xsl libxslt
+    [ autoreconfHook asciidoc pkg-config xmlto docbook_xml_dtd_45 docbook_xsl libxslt
       which
     ];
 
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
   configureFlags =
     [ "--without-bash"
       "--without-systemd"
+      "--disable-asciidoctor" # depends on ruby 2.7, use asciidoc instead
     ];
 
   patchPhase = ''
diff --git a/nixpkgs/pkgs/development/libraries/libpqxx/default.nix b/nixpkgs/pkgs/development/libraries/libpqxx/default.nix
index feb9c7e65147..a1d99117515d 100644
--- a/nixpkgs/pkgs/development/libraries/libpqxx/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libpqxx/default.nix
@@ -1,24 +1,24 @@
-{ lib, stdenv, fetchFromGitHub, postgresql, doxygen, xmlto, python2, gnused }:
+{ lib, stdenv, fetchFromGitHub, postgresql, python3, gnused }:
 
 stdenv.mkDerivation rec {
   pname = "libpqxx";
-  version = "6.4.5";
+  version = "7.5.2";
 
   src = fetchFromGitHub {
     owner = "jtv";
     repo = pname;
     rev = version;
-    sha256 = "0djmjr2b5x5nd2a4idv5j8s6w0kdmvil910iv1kyc7x94dirbrni";
+    sha256 = "15ifd28v6xbbx931icydy8xmkd8030b20xzqjja6vwwvzss2w9fa";
   };
 
-  nativeBuildInputs = [ gnused python2 ];
-  buildInputs = [ postgresql doxygen xmlto ];
+  nativeBuildInputs = [ gnused python3 ];
+  buildInputs = [ postgresql ];
 
   preConfigure = ''
-    patchShebangs .
+    patchShebangs ./tools/splitconfig
   '';
 
-  configureFlags = [ "--enable-shared" ];
+  configureFlags = [ "--enable-shared --disable-documentation" ];
 
   meta = {
     description = "A C++ library to access PostgreSQL databases";
diff --git a/nixpkgs/pkgs/development/libraries/libqmi/default.nix b/nixpkgs/pkgs/development/libraries/libqmi/default.nix
index 8a3179b03427..a812a2d78489 100644
--- a/nixpkgs/pkgs/development/libraries/libqmi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libqmi/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libqmi";
-  version = "1.28.2";
+  version = "1.28.4";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libqmi/${pname}-${version}.tar.xz";
-    sha256 = "jIw+5xmHTSUpvOmzWwKP5DWzbwA5eaNg060JOESdt4M=";
+    sha256 = "sha256-OxTNKrUiGnrbs5/tFu9pdTjqHHkwiCGtLRm1BeHarqA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/libquotient/default.nix b/nixpkgs/pkgs/development/libraries/libquotient/default.nix
index f4fe894eaf4d..7c89e98576af 100644
--- a/nixpkgs/pkgs/development/libraries/libquotient/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libquotient/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "libquotient";
-  version = "0.6.6";
+  version = "0.6.7";
 
   src = fetchFromGitHub {
     owner = "quotient-im";
     repo = "libQuotient";
     rev = version;
-    sha256 = "sha256-QSpkcQEDTMsFbQBa7dTuL/5HraVChUHqUuJdNMty/4s=";
+    sha256 = "sha256-fAzYv9OsanXqocEvbSB3OA9OVicwcZ0xT9uYbrFPEHc=";
   };
 
   buildInputs = [ qtbase qtmultimedia ];
diff --git a/nixpkgs/pkgs/development/libraries/librealsense/default.nix b/nixpkgs/pkgs/development/libraries/librealsense/default.nix
index 4015ab02a3a8..0011dc2f6e11 100644
--- a/nixpkgs/pkgs/development/libraries/librealsense/default.nix
+++ b/nixpkgs/pkgs/development/libraries/librealsense/default.nix
@@ -1,6 +1,16 @@
-{ stdenv, config, lib, fetchFromGitHub, cmake, libusb1, ninja, pkg-config, gcc
+{ stdenv
+, config
+, lib
+, fetchFromGitHub
+, fetchpatch
+, cmake
+, libusb1
+, ninja
+, pkg-config
+, gcc
 , cudaSupport ? config.cudaSupport or false, cudatoolkit
-, enablePython ? false, pythonPackages ? null }:
+, enablePython ? false, pythonPackages ? null
+}:
 
 assert cudaSupport -> cudatoolkit != null;
 assert enablePython -> pythonPackages != null;
@@ -24,7 +34,13 @@ stdenv.mkDerivation rec {
   ] ++ lib.optional cudaSupport cudatoolkit
     ++ lib.optionals enablePython (with pythonPackages; [python pybind11 ]);
 
-  patches = lib.optionals enablePython [
+  patches = [
+    # fix build on aarch64-darwin
+    # https://github.com/IntelRealSense/librealsense/pull/9253
+    (fetchpatch {
+      url = "https://github.com/IntelRealSense/librealsense/commit/beb4c44debc8336de991c983274cad841eb5c323.patch";
+      sha256 = "05mxsd2pz3xrvywdqyxkwdvxx8hjfxzcgl51897avz4v2j89pyq8";
+    })
     ./py_sitepackage_dir.patch
     ./py_pybind11_no_external_download.patch
   ];
@@ -57,6 +73,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/IntelRealSense/librealsense";
     license = licenses.asl20;
     maintainers = with maintainers; [ brian-dawn ];
-    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/librime/default.nix b/nixpkgs/pkgs/development/libraries/librime/default.nix
index eb9c514d59d2..3a2ca1e18c15 100644
--- a/nixpkgs/pkgs/development/libraries/librime/default.nix
+++ b/nixpkgs/pkgs/development/libraries/librime/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "librime";
-  version = "1.7.2";
+  version = "1.7.3";
 
   src = fetchFromGitHub {
     owner = "rime";
     repo = pname;
     rev = version;
-    sha256 = "023c7bpfnyf8wlrssn89ziwsjccflyanrxlaqmwcbx8a5dvipk01";
+    sha256 = "sha256-GzNMwyJR9PgJN0eGYbnBW6LS3vo4SUVLdyNG9kcEE18=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/libsass/default.nix b/nixpkgs/pkgs/development/libraries/libsass/default.nix
index f4caa22b3229..9b61ce65d453 100644
--- a/nixpkgs/pkgs/development/libraries/libsass/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libsass/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libsass";
-  version = "3.6.4";
+  version = "3.6.5";
 
   src = fetchFromGitHub {
     owner = "sass";
     repo = pname;
     rev = version;
-    sha256 = "074kvacdan85h4qrvsk97575ys9xgkc044gplz3m6vn4a8pcl2rn";
+    sha256 = "1cxj6r85d5f3qxdwzxrmkx8z875hig4cr8zsi30w6vj23cyds3l2";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     extraPostFetch = ''
diff --git a/nixpkgs/pkgs/development/libraries/libserdes/default.nix b/nixpkgs/pkgs/development/libraries/libserdes/default.nix
new file mode 100644
index 000000000000..7b48f150c9a1
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libserdes/default.nix
@@ -0,0 +1,61 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, perl
+, boost
+, rdkafka
+, jansson
+, curl
+, avro-c
+, avro-cpp }:
+
+stdenv.mkDerivation rec {
+  pname = "libserdes";
+  version = "6.2.0";
+
+  src = fetchFromGitHub {
+    owner = "confluentinc";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "194ras18xw5fcnjgg1isnb24ydx9040ndciniwcbdb7w7wd901gc";
+  };
+
+  outputs = [ "dev" "out" ];
+
+  nativeBuildInputs = [ perl ];
+
+  buildInputs = [ boost rdkafka jansson curl avro-c avro-cpp ];
+
+  makeFlags = [ "GEN_PKG_CONFIG=y" ];
+
+  postPatch = ''
+    patchShebangs configure lds-gen.pl
+  '';
+
+  # Has a configure script but it’s not Autoconf so steal some bits from multiple-outputs.sh:
+  setOutputFlags = false;
+
+  preConfigure = ''
+    configureFlagsArray+=(
+      "--libdir=''${!outputLib}/lib"
+      "--includedir=''${!outputInclude}/include"
+    )
+  '';
+
+  preInstall = ''
+    installFlagsArray+=("pkgconfigdir=''${!outputDev}/lib/pkgconfig")
+  '';
+
+  # Header files get installed with executable bit for some reason; get rid of it.
+  postInstall = ''
+    chmod -x ''${!outputInclude}/include/libserdes/*.h
+  '';
+
+  meta = with lib; {
+    description = "A schema-based serializer/deserializer C/C++ library with support for Avro and the Confluent Platform Schema Registry";
+    homepage = "https://github.com/confluentinc/libserdes";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ liff ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libsidplayfp/default.nix b/nixpkgs/pkgs/development/libraries/libsidplayfp/default.nix
index 97991a0cffbf..fe02a96a565c 100644
--- a/nixpkgs/pkgs/development/libraries/libsidplayfp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libsidplayfp/default.nix
@@ -1,7 +1,7 @@
 { stdenv
 , lib
 , fetchFromGitHub
-, fetchpatch
+, nix-update-script
 , autoreconfHook
 , pkg-config
 , perl
@@ -16,29 +16,16 @@
 
 stdenv.mkDerivation rec {
   pname = "libsidplayfp";
-  version = "2.1.1";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "libsidplayfp";
     repo = "libsidplayfp";
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "0487gap2b0ypikyra74lk1qwqwr0vncldamk5xb1db2x97v504fd";
+    sha256 = "sha256-lDM4nJozZF8Rt+XWnM41hBAYatZVsmvvQajgHLI9uy0=";
   };
 
-  # https://github.com/libsidplayfp/libsidplayfp/issues/13
-  # Remove on next version bump
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/libsidplayfp/libsidplayfp/commit/84f5498f5653261ed84328e1b5676c31e3ba9e6e.patch";
-      sha256 = "1vysbl4fkdzm11k40msng2ag6i6mb6z9jsw32vyj9calcfha5957";
-    })
-    (fetchpatch {
-      url = "https://github.com/libsidplayfp/libsidplayfp/commit/c1a1b732cc2e791d910522d58f47c6d094493c6d.patch";
-      sha256 = "1d3sgdly0q9dysgkx5afxbwfas6p0m8n3lw1hmj4n6wm3j9sdz4g";
-    })
-  ];
-
   postPatch = ''
     patchShebangs .
   '';
@@ -72,6 +59,12 @@ stdenv.mkDerivation rec {
     mv docs/html $doc/share/doc/libsidplayfp/
   '';
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = pname;
+    };
+  };
+
   meta = with lib; {
     description = "A library to play Commodore 64 music derived from libsidplay2";
     longDescription = ''
diff --git a/nixpkgs/pkgs/development/libraries/libslirp/default.nix b/nixpkgs/pkgs/development/libraries/libslirp/default.nix
index 5da6cf6bbbcb..f4eaa9c31993 100644
--- a/nixpkgs/pkgs/development/libraries/libslirp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libslirp/default.nix
@@ -9,14 +9,14 @@
 
 stdenv.mkDerivation rec {
   pname = "libslirp";
-  version = "4.5.0";
+  version = "4.6.1";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "slirp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-UdKBED7xR0gDf3aj3+6I62CnAwGP7XxskaFzWeUUkkk=";
+    sha256 = "sha256-AM6NxO4hjFiUAzRYbXV3fe18xwCBmzdM63n93UOxjKw=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/libusbmuxd/default.nix b/nixpkgs/pkgs/development/libraries/libusbmuxd/default.nix
index 66198a6ec33f..7bba6e8b4040 100644
--- a/nixpkgs/pkgs/development/libraries/libusbmuxd/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libusbmuxd/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libusbmuxd";
-  version = "2.0.2";
+  version = "unstable-2021-02-06";
 
   src = fetchFromGitHub {
     owner = "libimobiledevice";
     repo = pname;
-    rev = version;
-    sha256 = "139pzsnixkck6ly1q6p0diqr0hgd0mx0pr4xx1jamm3f3656kpf9";
+    rev = "3eb50a07bad4c2222e76df93b23a0161922150d1";
+    sha256 = "sha256-pBPBgE6s8JYKJYEV8CcumNki+6jD5r7HzQ0nZ8yQLdM=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/libvori/default.nix b/nixpkgs/pkgs/development/libraries/libvori/default.nix
new file mode 100644
index 000000000000..2eb7bffbdf12
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libvori/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, lib, fetchurl, cmake }:
+
+stdenv.mkDerivation rec {
+  pname = "libvori";
+  version = "210412";
+
+  src = fetchurl {
+    url = "https://brehm-research.de/files/${pname}-${version}.tar.gz";
+    sha256 = "1b4hpwibf3k7gl6n984l3wdi0zyl2fmpz84m9g2di4yhm6p8c61k";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with lib; {
+    description = "Library for Voronoi intergration of electron densities";
+    homepage = "https://brehm-research.de/libvori.php";
+    license = with licenses; [ lgpl3Only ];
+    platforms = platforms.unix;
+    maintainers = [ maintainers.sheepforce ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libwacom/default.nix b/nixpkgs/pkgs/development/libraries/libwacom/default.nix
index c17b8be592aa..5bb6445ac38f 100644
--- a/nixpkgs/pkgs/development/libraries/libwacom/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libwacom/default.nix
@@ -1,8 +1,8 @@
-{ lib, stdenv, fetchFromGitHub, meson, ninja, glib, pkg-config, udev, libgudev, doxygen }:
+{ lib, stdenv, fetchFromGitHub, meson, ninja, glib, pkg-config, udev, libgudev, doxygen, python3 }:
 
 stdenv.mkDerivation rec {
   pname = "libwacom";
-  version = "1.9";
+  version = "1.10";
 
   outputs = [ "out" "dev" ];
 
@@ -10,10 +10,10 @@ stdenv.mkDerivation rec {
     owner = "linuxwacom";
     repo = "libwacom";
     rev = "libwacom-${version}";
-    sha256 = "sha256-o1xCSrWKPzz1GePEVB1jgx2cGzRtw0I6c4wful08Vx4=";
+    sha256 = "sha256-Q7b54AMAxdIzN7TUuhIdlrXaVtj2szV4n3y9bAE0LsU=";
   };
 
-  nativeBuildInputs = [ pkg-config meson ninja doxygen ];
+  nativeBuildInputs = [ pkg-config meson ninja doxygen python3 ];
 
   mesonFlags = [ "-Dtests=disabled" ];
 
diff --git a/nixpkgs/pkgs/development/libraries/libwpe/default.nix b/nixpkgs/pkgs/development/libraries/libwpe/default.nix
index 9e7886eb68d1..1fcb91a7fb39 100644
--- a/nixpkgs/pkgs/development/libraries/libwpe/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libwpe/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libwpe";
-  version = "1.10.0";
+  version = "1.10.1";
 
   src = fetchurl {
     url = "https://wpewebkit.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "sha256-JBXicNReNZXtQFK8EF9zN0TcLTZ34S/0qDHlAphBCE0=";
+    sha256 = "sha256-oyez/88jVtvoFIwdtLvcU1nX5xY9F39nVRqDk7FErfA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/libxc/default.nix b/nixpkgs/pkgs/development/libraries/libxc/default.nix
index 48c5a4f9b475..95ce2406223c 100644
--- a/nixpkgs/pkgs/development/libraries/libxc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libxc/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitLab, cmake, gfortran, perl }:
 
 let
-  version = "5.1.4";
+  version = "5.1.5";
 
 in stdenv.mkDerivation {
   pname = "libxc";
@@ -11,7 +11,7 @@ in stdenv.mkDerivation {
     owner = "libxc";
     repo = "libxc";
     rev = version;
-    sha256 = "0rs6v72zz3jr22r29zxxdk8wdsfv6wid6cx2661974z09dbvbr1f";
+    sha256 = "0cy3x2zn1bldc5i0rzislfbc8h4nqgds445jkfqjv0d1shvdy0zn";
   };
 
   buildInputs = [ gfortran ];
diff --git a/nixpkgs/pkgs/development/libraries/libxml2/default.nix b/nixpkgs/pkgs/development/libraries/libxml2/default.nix
index ca3cbc4a1884..1b58b4539e46 100644
--- a/nixpkgs/pkgs/development/libraries/libxml2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libxml2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl
+{ stdenv, lib, fetchurl, fetchpatch
 , zlib, xz, libintl, python, gettext, ncurses, findXMLCatalogs
 , pythonSupport ? enableShared && stdenv.buildPlatform == stdenv.hostPlatform
 , icuSupport ? false, icu ? null
@@ -27,6 +27,13 @@ stdenv.mkDerivation rec {
     #   https://github.com/NixOS/nixpkgs/pull/63174
     #   https://github.com/NixOS/nixpkgs/pull/72342
     ./utf8-xmlErrorFuncHandler.patch
+
+    # Work around lxml API misuse.
+    # https://gitlab.gnome.org/GNOME/libxml2/issues/255
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/libxml2/commit/85b1792e37b131e7a51af98a37f92472e8de5f3f.patch";
+      sha256 = "epqlNs2S0Zczox3KyCB6R2aJKh87lXydlZ0x6tLHweE=";
+    })
   ];
 
   outputs = [ "bin" "dev" "out" "man" "doc" ]
diff --git a/nixpkgs/pkgs/development/libraries/mesa/default.nix b/nixpkgs/pkgs/development/libraries/mesa/default.nix
index 2b94f9c3bb50..3c7ea16b26ae 100644
--- a/nixpkgs/pkgs/development/libraries/mesa/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mesa/default.nix
@@ -4,8 +4,7 @@
 , expat, libdrm, xorg, wayland, wayland-protocols, openssl
 , llvmPackages, libffi, libomxil-bellagio, libva-minimal
 , libelf, libvdpau
-, libglvnd
-, enableRadv ? true
+, libglvnd, libunwind
 , galliumDrivers ? ["auto"]
 , driDrivers ? ["auto"]
 , vulkanDrivers ? ["auto"]
@@ -32,7 +31,7 @@ with lib;
 let
   # Release calendar: https://www.mesa3d.org/release-calendar.html
   # Release frequency: https://www.mesa3d.org/releasing.html#schedule
-  version = "21.0.1";
+  version = "21.1.2";
   branch  = versions.major version;
 
 self = stdenv.mkDerivation {
@@ -46,7 +45,7 @@ self = stdenv.mkDerivation {
       "ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz"
       "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
     ];
-    sha256 = "1fqj2xhhd1ary0pfg31jq6fqcnd6qgyrw1445nmz554k8n2ck7rp";
+    sha256 = "0pw2wba4q66rhdx0hpimvxmrl7k2vv315gmmk17kl7snc0vvdd13";
   };
 
   prePatch = "patchShebangs .";
@@ -128,6 +127,7 @@ self = stdenv.mkDerivation {
     libpthreadstubs openssl /*or another sha1 provider*/
   ] ++ lib.optionals (elem "wayland" eglPlatforms) [ wayland wayland-protocols ]
     ++ lib.optionals stdenv.isLinux [ libomxil-bellagio libva-minimal ]
+    ++ lib.optionals stdenv.isDarwin [ libunwind ]
     ++ lib.optional withValgrind valgrind-light;
 
   depsBuildBuild = [ pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/mesa/missing-includes.patch b/nixpkgs/pkgs/development/libraries/mesa/missing-includes.patch
index 72488893c6b6..c17d54908553 100644
--- a/nixpkgs/pkgs/development/libraries/mesa/missing-includes.patch
+++ b/nixpkgs/pkgs/development/libraries/mesa/missing-includes.patch
@@ -9,14 +9,14 @@
  #include "pipe/p_compiler.h"
  #include "pipe/p_state.h"
  
---- ./src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h
-+++ ./src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h
+--- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h
++++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h
 @@ -28,6 +28,8 @@
  #ifndef RADV_AMDGPU_WINSYS_H
  #define RADV_AMDGPU_WINSYS_H
- 
+
 +#include <sys/types.h>
 +
- #include "radv_radeon_winsys.h"
- #include "ac_gpu_info.h"
- #include "addrlib/addrinterface.h"<Paste>
+ #include <amdgpu.h>
+ #include <pthread.h>
+ #include "util/list.h"
diff --git a/nixpkgs/pkgs/development/libraries/mlt/default.nix b/nixpkgs/pkgs/development/libraries/mlt/default.nix
index 021dc1c3d95f..8bd2bc80362c 100644
--- a/nixpkgs/pkgs/development/libraries/mlt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mlt/default.nix
@@ -2,6 +2,8 @@
 , SDL, ffmpeg, frei0r, libjack2, libdv, libsamplerate, libexif
 , libvorbis, libxml2, movit, pkg-config, sox, fftw, opencv4, SDL2
 , gtk2, genericUpdater, common-updater-scripts, libebur128
+, jack2, ladspa-sdk, swig, which, ncurses
+, enablePython ? false, python
 }:
 
 stdenv.mkDerivation rec {
@@ -16,18 +18,22 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    SDL ffmpeg frei0r libjack2 libdv libsamplerate libvorbis libxml2
-    makeWrapper movit pkg-config sox libexif gtk2 fftw libebur128
-    opencv4 SDL2
-  ];
+    SDL ffmpeg frei0r libjack2 libdv libsamplerate libvorbis libxml2.dev
+    movit sox libexif gtk2 fftw libebur128 opencv4 SDL2 jack2
+    ladspa-sdk
+  ] ++ lib.optional enablePython ncurses;
+
+  nativeBuildInputs = [ pkg-config makeWrapper which ]
+  ++ lib.optionals enablePython [ python swig ];
 
   # Mostly taken from:
   # http://www.kdenlive.org/user-manual/downloading-and-installing-kdenlive/installing-source/installing-mlt-rendering-engine
   configureFlags = [
     "--avformat-swscale" "--enable-gpl" "--enable-gpl3" "--enable-opengl"
-  ];
+  ] ++ lib.optional enablePython "--swig-languages=python";
 
   enableParallelBuilding = true;
+  outPythonPath = lib.optionalString enablePython "$(toPythonPath $out)";
 
   postInstall = ''
     wrapProgram $out/bin/melt --prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1
@@ -36,6 +42,11 @@ stdenv.mkDerivation rec {
     s=${movit.dev}/include
     t=$(for ((i = 0; i < ''${#s}; i++)); do echo -n X; done)
     sed -i $out/lib/mlt/libmltopengl.so -e "s|$s|$t|g"
+  '' + lib.optionalString enablePython ''
+    mkdir -p ${outPythonPath}/mlt
+    cp -a src/swig/python/_mlt.so ${outPythonPath}/mlt/
+    cp -a src/swig/python/mlt.py ${outPythonPath}/mlt/__init__.py
+    sed -i ${outPythonPath}/mlt/__init__.py -e "s|return importlib.import_module('_mlt')|return importlib.import_module('mlt._mlt')|g"
   '';
 
   passthru.updateScript = genericUpdater {
@@ -47,7 +58,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Open source multimedia framework, designed for television broadcasting";
     homepage = "https://www.mltframework.org";
-    license = licenses.gpl3;
+    license = with licenses; [ gpl3Only gpl2Only lgpl21Only ];
     maintainers = with maintainers; [ tohl peti ];
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/development/libraries/nco/default.nix b/nixpkgs/pkgs/development/libraries/nco/default.nix
index 958be905f835..b7df32633b4a 100644
--- a/nixpkgs/pkgs/development/libraries/nco/default.nix
+++ b/nixpkgs/pkgs/development/libraries/nco/default.nix
@@ -1,10 +1,10 @@
-{ lib, stdenv, fetchzip, netcdf, netcdfcxx4, gsl, udunits, antlr, which, curl, flex, coreutils }:
+{ lib, stdenv, fetchzip, netcdf, netcdfcxx4, gsl, udunits, antlr2, which, curl, flex, coreutils }:
 
 stdenv.mkDerivation rec {
   version = "4.9.8";
   pname = "nco";
 
-  nativeBuildInputs = [ flex which antlr ];
+  nativeBuildInputs = [ flex which antlr2 ];
   buildInputs = [ netcdf netcdfcxx4 gsl udunits curl coreutils ];
 
   src = fetchzip {
diff --git a/nixpkgs/pkgs/development/libraries/ncurses/default.nix b/nixpkgs/pkgs/development/libraries/ncurses/default.nix
index 742de6cf92e7..dd1eea632e18 100644
--- a/nixpkgs/pkgs/development/libraries/ncurses/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ncurses/default.nix
@@ -42,6 +42,7 @@ stdenv.mkDerivation rec {
   ] ++ lib.optional unicode "--enable-widec"
     ++ lib.optional (!withCxx) "--without-cxx"
     ++ lib.optional (abiVersion == "5") "--with-abi-version=5"
+    ++ lib.optional stdenv.hostPlatform.isNetBSD "--enable-rpath"
     ++ lib.optionals stdenv.hostPlatform.isWindows [
       "--enable-sp-funcs"
       "--enable-term-driver"
diff --git a/nixpkgs/pkgs/development/libraries/nsss/default.nix b/nixpkgs/pkgs/development/libraries/nsss/default.nix
index 4e71c4d65e6e..527e7d4898e1 100644
--- a/nixpkgs/pkgs/development/libraries/nsss/default.nix
+++ b/nixpkgs/pkgs/development/libraries/nsss/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
 
 buildPackage {
   pname = "nsss";
-  version = "0.1.0.0";
-  sha256 = "15rxbwf16wm1la079yr2xn4bccjgd7m8dh6r7bpr6s57cj93i2mq";
+  version = "0.1.0.1";
+  sha256 = "1nair10m7fddp50mpqnwj0qiggnh5qmnffmyzxis5l1ixcav1ir0";
 
   description = "An implementation of a subset of the pwd.h, group.h and shadow.h family of functions.";
 
diff --git a/nixpkgs/pkgs/development/libraries/nvidia-optical-flow-sdk/default.nix b/nixpkgs/pkgs/development/libraries/nvidia-optical-flow-sdk/default.nix
index f9c2547d4246..a82fa9068c66 100644
--- a/nixpkgs/pkgs/development/libraries/nvidia-optical-flow-sdk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/nvidia-optical-flow-sdk/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation {
   pname = "nvidia-optical-flow-sdk";
-  version = "1.0";
+  version = "2.0";
 
   src = fetchFromGitHub {
     owner = "NVIDIA";
     repo = "NVIDIAOpticalFlowSDK";
-    rev = "79c6cee80a2df9a196f20afd6b598a9810964c32";
-    sha256 = "1y6igwv75v1ynqm7j6la3ky0f15mgnj1jyyak82yvhcsx1aax0a1";
+    rev = "edb50da3cf849840d680249aa6dbef248ebce2ca";
+    sha256 = "0hv0m0k9wl2wjhhl886j7ymngnf2xz7851nfh57s1gy5bv9lgdgz";
   };
 
   # # We only need the header files. The library files are
@@ -25,4 +25,3 @@ stdenv.mkDerivation {
     platforms = platforms.all;
   };
 }
-
diff --git a/nixpkgs/pkgs/development/libraries/olm/default.nix b/nixpkgs/pkgs/development/libraries/olm/default.nix
index ca3a081aee00..e7642e16c955 100644
--- a/nixpkgs/pkgs/development/libraries/olm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/olm/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "olm";
-  version = "3.2.2";
+  version = "3.2.4";
 
   src = fetchFromGitLab {
     domain = "gitlab.matrix.org";
     owner = "matrix-org";
     repo = pname;
     rev = version;
-    sha256 = "0qji25wiwmkxyfpraxj96c54hyayqmjkvwh0gsy5gb5pz5bp4mcy";
+    sha256 = "1rl7j26li1irb1lqnnkzan7jrj38kvmdn69rlwbbp390v3z15lvh";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/opencv/4.x.nix b/nixpkgs/pkgs/development/libraries/opencv/4.x.nix
index 58609a9186d6..a33eff4faa53 100644
--- a/nixpkgs/pkgs/development/libraries/opencv/4.x.nix
+++ b/nixpkgs/pkgs/development/libraries/opencv/4.x.nix
@@ -301,7 +301,7 @@ stdenv.mkDerivation {
     "-DCUDA_FAST_MATH=ON"
     "-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/cc"
     "-DCUDA_NVCC_FLAGS=--expt-relaxed-constexpr"
-    "-DNVIDIA_OPTICAL_FLOW_1_0_HEADERS_PATH=${nvidia-optical-flow-sdk}"
+    "-DNVIDIA_OPTICAL_FLOW_2_0_HEADERS_PATH=${nvidia-optical-flow-sdk}"
   ] ++ lib.optionals stdenv.isDarwin [
     "-DWITH_OPENCL=OFF"
     "-DWITH_LAPACK=OFF"
diff --git a/nixpkgs/pkgs/development/libraries/opencv/cuda_opt_flow.patch b/nixpkgs/pkgs/development/libraries/opencv/cuda_opt_flow.patch
index cb96721fb530..2f97abd51bbf 100644
--- a/nixpkgs/pkgs/development/libraries/opencv/cuda_opt_flow.patch
+++ b/nixpkgs/pkgs/development/libraries/opencv/cuda_opt_flow.patch
@@ -1,26 +1,27 @@
-diff --git a/opencv_contrib/cudaoptflow/CMakeLists.txt b/opencv_contrib/cudaoptflow/CMakeLists.txt
-index e5b823ab4a..a728060d0b 100644
---- a/opencv_contrib/cudaoptflow/CMakeLists.txt
-+++ b/opencv_contrib/cudaoptflow/CMakeLists.txt
-@@ -11,18 +11,6 @@ ocv_define_module(cudaoptflow opencv_video opencv_optflow opencv_cudaarithm open
- set(NVIDIA_OPTICAL_FLOW_1_0_HEADERS_COMMIT "79c6cee80a2df9a196f20afd6b598a9810964c32")
- set(NVIDIA_OPTICAL_FLOW_1_0_HEADERS_MD5 "ca5acedee6cb45d0ec610a6732de5c15")
- set(NVIDIA_OPTICAL_FLOW_1_0_HEADERS_PATH "${OpenCV_BINARY_DIR}/3rdparty/NVIDIAOpticalFlowSDK_1_0_Headers")
--ocv_download(FILENAME "${NVIDIA_OPTICAL_FLOW_1_0_HEADERS_COMMIT}.zip"
--               HASH ${NVIDIA_OPTICAL_FLOW_1_0_HEADERS_MD5}
--               URL
--                 "https://github.com/NVIDIA/NVIDIAOpticalFlowSDK/archive/"
--               DESTINATION_DIR "${NVIDIA_OPTICAL_FLOW_1_0_HEADERS_PATH}"
--               STATUS NVIDIA_OPTICAL_FLOW_1_0_HEADERS_DOWNLOAD_SUCCESS
--               ID "NVIDIA_OPTICAL_FLOW"
--               UNPACK RELATIVE_URL)
- 
--if(NOT NVIDIA_OPTICAL_FLOW_1_0_HEADERS_DOWNLOAD_SUCCESS)
--  message(STATUS "Failed to download NVIDIA_Optical_Flow_1_0 Headers")
--else()
--  add_definitions(-DHAVE_NVIDIA_OPTFLOW=1)
--  ocv_include_directories(SYSTEM "${NVIDIA_OPTICAL_FLOW_1_0_HEADERS_PATH}/NVIDIAOpticalFlowSDK-${NVIDIA_OPTICAL_FLOW_1_0_HEADERS_COMMIT}")
+diff --unified --recursive --text a/opencv_contrib/cudaoptflow/CMakeLists.txt b/opencv_contrib/cudaoptflow/CMakeLists.txt
+--- a/opencv_contrib/cudaoptflow/CMakeLists.txt	2021-06-12 01:35:47.536395972 +0300
++++ b/opencv_contrib/cudaoptflow/CMakeLists.txt	2021-06-12 01:36:02.029498597 +0300
+@@ -12,19 +12,6 @@
+   set(NVIDIA_OPTICAL_FLOW_2_0_HEADERS_COMMIT "edb50da3cf849840d680249aa6dbef248ebce2ca")
+   set(NVIDIA_OPTICAL_FLOW_2_0_HEADERS_MD5 "a73cd48b18dcc0cc8933b30796074191")
+   set(NVIDIA_OPTICAL_FLOW_2_0_HEADERS_PATH "${OpenCV_BINARY_DIR}/3rdparty/NVIDIAOpticalFlowSDK_2_0_Headers")
+-  ocv_download(FILENAME "${NVIDIA_OPTICAL_FLOW_2_0_HEADERS_COMMIT}.zip"
+-                 HASH ${NVIDIA_OPTICAL_FLOW_2_0_HEADERS_MD5}
+-                 URL "https://github.com/NVIDIA/NVIDIAOpticalFlowSDK/archive/"
+-                 DESTINATION_DIR "${NVIDIA_OPTICAL_FLOW_2_0_HEADERS_PATH}"
+-                 STATUS NVIDIA_OPTICAL_FLOW_2_0_HEADERS_DOWNLOAD_SUCCESS
+-                 ID "NVIDIA_OPTICAL_FLOW"
+-                 UNPACK RELATIVE_URL)
+-
+-  if(NOT NVIDIA_OPTICAL_FLOW_2_0_HEADERS_DOWNLOAD_SUCCESS)
+-    message(STATUS "Failed to download NVIDIA_Optical_Flow_2_0 Headers")
+-  else()
+-    message(STATUS "Building with NVIDIA Optical Flow API 2.0")
+-    add_definitions(-DHAVE_NVIDIA_OPTFLOW=2)
+-    ocv_include_directories(SYSTEM "${NVIDIA_OPTICAL_FLOW_2_0_HEADERS_PATH}/NVIDIAOpticalFlowSDK-${NVIDIA_OPTICAL_FLOW_2_0_HEADERS_COMMIT}")
+-  endif()
 -endif()
 \ No newline at end of file
-+add_definitions(-DHAVE_NVIDIA_OPTFLOW=1)
-+ocv_include_directories(SYSTEM "${NVIDIA_OPTICAL_FLOW_1_0_HEADERS_PATH}")
++  add_definitions(-DHAVE_NVIDIA_OPTFLOW=2)
++  ocv_include_directories(SYSTEM "${NVIDIA_OPTICAL_FLOW_2_0_HEADERS_PATH}")
++endif()
diff --git a/nixpkgs/pkgs/development/libraries/openssl/default.nix b/nixpkgs/pkgs/development/libraries/openssl/default.nix
index 2a586f9e9efc..77a6b513ee6e 100644
--- a/nixpkgs/pkgs/development/libraries/openssl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openssl/default.nix
@@ -54,7 +54,10 @@ let
 
     outputs = [ "bin" "dev" "out" "man" ] ++ optional withDocs "doc";
     setOutputFlags = false;
-    separateDebugInfo = !(stdenv.hostPlatform.useLLVM or false) && stdenv.cc.isGNU;
+    separateDebugInfo =
+      !stdenv.hostPlatform.isDarwin &&
+      !(stdenv.hostPlatform.useLLVM or false) &&
+      stdenv.cc.isGNU;
 
     nativeBuildInputs = [ perl ];
     buildInputs = lib.optional withCryptodev cryptodev
diff --git a/nixpkgs/pkgs/development/libraries/orocos-kdl/default.nix b/nixpkgs/pkgs/development/libraries/orocos-kdl/default.nix
index 094ee544649d..032b67e683dc 100644
--- a/nixpkgs/pkgs/development/libraries/orocos-kdl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/orocos-kdl/default.nix
@@ -2,13 +2,15 @@
 
 stdenv.mkDerivation rec {
   pname = "orocos-kdl";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "orocos";
     repo = "orocos_kinematics_dynamics";
     rev = "v${version}";
-    sha256 = "0qj56j231h0rnjbglakammxn2lwmhy5f2qa37v1f6pcn81dn13vv";
+    sha256 = "181w2q6lsrfcvrgqwi6m0xrydjlblj1b654apf2d7zjc7qqgd6ca";
+    # Needed to build Python bindings
+    fetchSubmodules = true;
   };
 
   sourceRoot = "source/orocos_kdl";
diff --git a/nixpkgs/pkgs/development/libraries/pipewire/0080-pipewire-config-dir.patch b/nixpkgs/pkgs/development/libraries/pipewire/0080-pipewire-config-dir.patch
index b92e2818ea07..b8d8fcb0f905 100644
--- a/nixpkgs/pkgs/development/libraries/pipewire/0080-pipewire-config-dir.patch
+++ b/nixpkgs/pkgs/development/libraries/pipewire/0080-pipewire-config-dir.patch
@@ -1,30 +1,30 @@
 diff --git a/meson.build b/meson.build
-index a27569bd..fcf18344 100644
+index b6b4553b..f21c29d8 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -36,7 +36,10 @@ pipewire_libexecdir = prefix / get_option('libexecdir')
- pipewire_localedir = prefix / get_option('localedir')
+@@ -37,7 +37,10 @@ pipewire_localedir = prefix / get_option('localedir')
  pipewire_sysconfdir = prefix / get_option('sysconfdir')
  
--pipewire_configdir = pipewire_sysconfdir / 'pipewire'
-+pipewire_configdir = get_option('pipewire_config_dir')
-+if pipewire_configdir == ''
-+  pipewire_configdir = pipewire_sysconfdir / 'pipewire'
+ pipewire_configdir = pipewire_sysconfdir / 'pipewire'
+-pipewire_confdatadir = pipewire_datadir / 'pipewire'
++pipewire_confdatadir = get_option('pipewire_confdata_dir')
++if pipewire_confdatadir == ''
++  pipewire_confdatadir = pipewire_datadir / 'pipewire'
 +endif
  modules_install_dir = pipewire_libdir / pipewire_name
  
  if host_machine.system() == 'linux'
 diff --git a/meson_options.txt b/meson_options.txt
-index 85beb86a..372e8faa 100644
+index 9bc33fcd..e4bd2dc1 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -67,6 +67,9 @@ option('jack-devel',
+@@ -61,6 +61,9 @@ option('jack-devel',
  option('libjack-path',
         description: 'Where to install the libjack.so library',
         type: 'string')
-+option('pipewire_config_dir',
-+       type : 'string',
-+       description : 'Directory for pipewire configuration (defaults to /etc/pipewire)')
++option('pipewire_confdata_dir',
++       type: 'string',
++       description: 'Directory for pipewire default configuration (defaults to /usr/share/pipewire)')
  option('spa-plugins',
         description: 'Enable spa plugins integration',
         type: 'feature',
diff --git a/nixpkgs/pkgs/development/libraries/pipewire/0090-pipewire-config-template-paths.patch b/nixpkgs/pkgs/development/libraries/pipewire/0090-pipewire-config-template-paths.patch
new file mode 100644
index 000000000000..966cb9579777
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/pipewire/0090-pipewire-config-template-paths.patch
@@ -0,0 +1,28 @@
+diff --git a/src/daemon/pipewire.conf.in b/src/daemon/pipewire.conf.in
+index bbafa134..227d3e06 100644
+--- a/src/daemon/pipewire.conf.in
++++ b/src/daemon/pipewire.conf.in
+@@ -116,7 +116,7 @@ context.modules = [
+             # access.allowed to list an array of paths of allowed
+             # apps.
+             #access.allowed = [
+-            #    @media_session_path@
++            #    <media_session_path>
+             #]
+ 
+             # An array of rejected paths.
+@@ -220,12 +220,12 @@ context.exec = [
+     # but it is better to start it as a systemd service.
+     # Run the session manager with -h for options.
+     #
+-    @comment@{ path = "@media_session_path@"  args = "" }
++    @comment@{ path = "<media_session_path>"  args = "" }
+     #
+     # You can optionally start the pulseaudio-server here as well
+     # but it is better to start it as a systemd service.
+     # It can be interesting to start another daemon here that listens
+     # on another address with the -a option (eg. -a tcp:4713).
+     #
+-    @comment@{ path = "@pipewire_path@" args = "-c pipewire-pulse.conf" }
++    @comment@{ path = "<pipewire_path>" args = "-c pipewire-pulse.conf" }
+ ]
diff --git a/nixpkgs/pkgs/development/libraries/pipewire/default.nix b/nixpkgs/pkgs/development/libraries/pipewire/default.nix
index 40f4e328c317..8504d2669849 100644
--- a/nixpkgs/pkgs/development/libraries/pipewire/default.nix
+++ b/nixpkgs/pkgs/development/libraries/pipewire/default.nix
@@ -2,6 +2,7 @@
 , lib
 , fetchFromGitLab
 , removeReferencesTo
+, python3
 , meson
 , ninja
 , systemd
@@ -19,6 +20,7 @@
 , SDL2
 , vulkan-headers
 , vulkan-loader
+, webrtc-audio-processing
 , ncurses
 , makeFontsConf
 , callPackage
@@ -31,6 +33,8 @@
 , nativeHfpSupport ? true
 , ofonoSupport ? true
 , hsphfpdSupport ? true
+, pulseTunnelSupport ? true, libpulseaudio ? null
+, zeroconfSupport ? true, avahi ? null
 }:
 
 let
@@ -42,7 +46,7 @@ let
 
   self = stdenv.mkDerivation rec {
     pname = "pipewire";
-    version = "0.3.27";
+    version = "0.3.30";
 
     outputs = [
       "out"
@@ -60,7 +64,7 @@ let
       owner = "pipewire";
       repo = "pipewire";
       rev = version;
-      sha256 = "sha256-GfcMODQWtcahBvXnZ98/PKIm4pkqLaz09oOy7zQR4IA=";
+      sha256 = "sha256-DnaPvZoDaegjtJNKBmCJEAZe5FQBnSER79FPnxiWQUE=";
     };
 
     patches = [
@@ -72,8 +76,10 @@ let
       ./0055-pipewire-media-session-path.patch
       # Move installed tests into their own output.
       ./0070-installed-tests-path.patch
-      # Add flag to specify configuration directory (different from the installation directory).
+      # Add option for changing the config install directory
       ./0080-pipewire-config-dir.patch
+      # Remove output paths from the comments in the config templates to break dependency cycles
+      ./0090-pipewire-config-template-paths.patch
     ];
 
     nativeBuildInputs = [
@@ -82,6 +88,7 @@ let
       meson
       ninja
       pkg-config
+      python3
     ];
 
     buildInputs = [
@@ -94,12 +101,15 @@ let
       udev
       vulkan-headers
       vulkan-loader
+      webrtc-audio-processing
       valgrind
       SDL2
       systemd
     ] ++ lib.optionals gstreamerSupport [ gst_all_1.gst-plugins-base gst_all_1.gstreamer ]
     ++ lib.optional ffmpegSupport ffmpeg
-    ++ lib.optionals bluezSupport [ bluez libopenaptx ldacbt sbc fdk_aac ];
+    ++ lib.optionals bluezSupport [ bluez libopenaptx ldacbt sbc fdk_aac ]
+    ++ lib.optional pulseTunnelSupport libpulseaudio
+    ++ lib.optional zeroconfSupport avahi;
 
     mesonFlags = [
       "-Ddocs=enabled"
@@ -112,6 +122,8 @@ let
       "-Dmedia-session-prefix=${placeholder "mediaSession"}"
       "-Dlibjack-path=${placeholder "jack"}/lib"
       "-Dlibcamera=disabled"
+      "-Dlibpulse=${mesonEnable pulseTunnelSupport}"
+      "-Davahi=${mesonEnable zeroconfSupport}"
       "-Dgstreamer=${mesonEnable gstreamerSupport}"
       "-Dffmpeg=${mesonEnable ffmpegSupport}"
       "-Dbluez5=${mesonEnable bluezSupport}"
@@ -119,24 +131,35 @@ let
       "-Dbluez5-backend-hfp-native=${mesonEnable nativeHfpSupport}"
       "-Dbluez5-backend-ofono=${mesonEnable ofonoSupport}"
       "-Dbluez5-backend-hsphfpd=${mesonEnable hsphfpdSupport}"
-      "-Dpipewire_config_dir=/etc/pipewire"
+      "-Dsysconfdir=/etc"
+      "-Dpipewire_confdata_dir=${placeholder "lib"}/share/pipewire"
     ];
 
     FONTCONFIG_FILE = fontsConf; # Fontconfig error: Cannot load default config file
 
     doCheck = true;
 
+    postUnpack = ''
+      patchShebangs source/doc/strip-static.sh
+      patchShebangs source/spa/tests/gen-cpp-test.py
+    '';
+
     postInstall = ''
-      pushd .
-      cd $out
+      pushd $lib/share
       mkdir -p $out/nix-support/etc/pipewire
-      for f in etc/pipewire/*.conf; do bin/spa-json-dump "$f" > "$out/nix-support/$f.json"; done
+      for f in pipewire/*.conf; do
+        echo "Generating JSON from $f"
+        $out/bin/spa-json-dump "$f" > "$out/nix-support/etc/$f.json"
+      done
 
       mkdir -p $mediaSession/nix-support/etc/pipewire/media-session.d
-      for f in etc/pipewire/media-session.d/*.conf; do bin/spa-json-dump "$f" > "$mediaSession/nix-support/$f.json"; done
+      for f in pipewire/media-session.d/*.conf; do
+        echo "Generating JSON from $f"
+        $out/bin/spa-json-dump "$f" > "$mediaSession/nix-support/etc/$f.json"
+      done
       popd
 
-      moveToOutput "etc/pipewire/media-session.d/*.conf" "$mediaSession"
+      moveToOutput "share/pipewire/media-session.d/*.conf" "$mediaSession"
       moveToOutput "share/systemd/user/pipewire-media-session.*" "$mediaSession"
       moveToOutput "lib/systemd/user/pipewire-media-session.*" "$mediaSession"
       moveToOutput "bin/pipewire-media-session" "$mediaSession"
@@ -155,6 +178,7 @@ let
         test-paths = callPackage ./test-paths.nix {
           paths-out = [
             "share/alsa/alsa.conf.d/50-pipewire.conf"
+            "nix-support/etc/pipewire/client-rt.conf.json"
             "nix-support/etc/pipewire/client.conf.json"
             "nix-support/etc/pipewire/jack.conf.json"
             "nix-support/etc/pipewire/pipewire.conf.json"
diff --git a/nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix b/nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
index c2fa32b6d05a..80998e6ef19f 100644
--- a/nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qtstyleplugin-kvantum";
-  version = "0.11.2";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "tsujan";
     repo = "Kvantum";
     rev = "V${version}";
-    sha256 = "1jcfv96ws6sm3kc2q8zriwqhry24qbq3zbp8gkqw75wssbv82rmc";
+    sha256 = "133m5ifs8ylhdh78m99n0y76q0nix68xsqfwcsrak4yr1n5pj9qp";
   };
 
   nativeBuildInputs = [
@@ -33,6 +33,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/tsujan/Kvantum";
     license = licenses.gpl3;
     platforms = platforms.linux;
+    broken = lib.versionOlder qtbase.version "5.14";
     maintainers = [ maintainers.bugworm ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/qxmpp/default.nix b/nixpkgs/pkgs/development/libraries/qxmpp/default.nix
new file mode 100644
index 000000000000..4867c67277d8
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qxmpp/default.nix
@@ -0,0 +1,46 @@
+{ mkDerivation
+, lib
+, fetchFromGitHub
+, cmake
+, pkg-config
+, withGstreamer ? true
+, gst_all_1
+}:
+
+mkDerivation rec {
+  pname = "qxmpp";
+  version = "1.4.0";
+
+  src = fetchFromGitHub {
+    owner = "qxmpp-project";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1knpq1jkwk0lxdwczbmzf7qrjvlxba9yr40nbq9s5nqkcx6q1c3i";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ] ++ lib.optionals withGstreamer [
+    pkg-config
+  ];
+  buildInputs = lib.optionals withGstreamer (with gst_all_1; [
+    gstreamer
+    gst-plugins-bad
+    gst-plugins-base
+    gst-plugins-good
+  ]);
+  cmakeFlags = [
+    "-DBUILD_EXAMPLES=false"
+    "-DBUILD_TESTS=false"
+  ] ++ lib.optionals withGstreamer [
+    "-DWITH_GSTREAMER=ON"
+  ];
+
+  meta = with lib; {
+    description = "Cross-platform C++ XMPP client and server library";
+    homepage = "https://github.com/qxmpp-project/qxmpp";
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ astro ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/retro-gtk/default.nix b/nixpkgs/pkgs/development/libraries/retro-gtk/default.nix
new file mode 100644
index 000000000000..3ab3ffcda0d3
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/retro-gtk/default.nix
@@ -0,0 +1,70 @@
+{ lib
+, stdenv
+, fetchurl
+, cmake
+, meson
+, ninja
+, pkg-config
+, epoxy
+, glib
+, gtk3
+, libpulseaudio
+, libsamplerate
+, gobject-introspection
+, vala
+, gtk-doc
+}:
+
+stdenv.mkDerivation rec {
+  pname = "retro-gtk";
+  version = "1.0.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/retro-gtk/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1lnb7dwcj3lrrvdzd85dxwrlid28xf4qdbrgfjyg1wn1z6sv063i";
+  };
+
+  patches = [
+    # https://gitlab.gnome.org/GNOME/retro-gtk/-/merge_requests/150
+    ./gio-unix.patch
+  ];
+
+  nativeBuildInputs = [
+    gobject-introspection
+    gtk-doc
+    meson
+    ninja
+    pkg-config
+    vala
+  ];
+
+  buildInputs = [
+    epoxy
+    glib
+    gtk3
+    libpulseaudio
+    libsamplerate
+  ];
+
+  meta = with lib; {
+    description = "The GTK Libretro frontend framework";
+    longDescription = ''
+      Libretro is a plugin format design to implement video game
+      console emulators, video games and similar multimedia
+      software. Such plugins are called Libretro cores.
+
+      RetroGTK is a framework easing the use of Libretro cores in
+      conjunction with GTK.
+
+      It encourages the cores to be installed in a well defined
+      centralized place — namely the libretro subdirectory of your lib
+      directory — and it recommends them to come with Libretro core
+      descriptors.
+    '';
+    homepage = "https://gitlab.gnome.org/GNOME/retro-gtk";
+    changelog = "https://gitlab.gnome.org/GNOME/retro-gtk/-/blob/master/NEWS";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.DamienCassou ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/retro-gtk/gio-unix.patch b/nixpkgs/pkgs/development/libraries/retro-gtk/gio-unix.patch
new file mode 100644
index 000000000000..91f561c6504f
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/retro-gtk/gio-unix.patch
@@ -0,0 +1,11 @@
+--- a/retro-gtk/meson.build 2021-03-21 20:25:51.000000000 +0100
++++ b/retro-gtk/meson.build 2021-05-23 17:36:46.793693816 +0200
+@@ -103,6 +103,7 @@
+ retro_gtk_deps = [
+   epoxy,
+   gio,
++  gio_unix,
+   glib,
+   gmodule,
+   gobject,
+   
diff --git a/nixpkgs/pkgs/development/libraries/science/chemistry/xcfun/default.nix b/nixpkgs/pkgs/development/libraries/science/chemistry/xcfun/default.nix
new file mode 100644
index 000000000000..7f8ef3dc47d7
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/science/chemistry/xcfun/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, lib, fetchFromGitHub, cmake, gfortran, python3 } :
+
+stdenv.mkDerivation rec {
+  pname = "xcfun";
+  version = "2.1.1";
+
+  src = fetchFromGitHub  {
+    owner = "dftlibs";
+    repo = pname;
+    rev = "v${version}";
+    sha256= "1bj70cnhbh6ziy02x988wwl7cbwaq17ld7qwhswqkgnnx8rpgxid";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    gfortran
+  ];
+
+  propagatedBuildInputs = [ (python3.withPackages (p: with p; [ pybind11 ])) ];
+
+  cmakeFlags = [ "-DXCFUN_MAX_ORDER=3" ];
+
+  meta = with lib; {
+    description = "A library of exchange-correlation functionals with arbitrary-order derivatives";
+    homepage = "https://github.com/dftlibs/xcfun";
+    license = licenses.mpl20;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.sheepforce ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/science/math/libtorch/bin.nix b/nixpkgs/pkgs/development/libraries/science/math/libtorch/bin.nix
index 87b5835aa9ef..efbd071ecd79 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/libtorch/bin.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/libtorch/bin.nix
@@ -18,7 +18,7 @@ let
   # this derivation. However, we should ensure on version bumps
   # that the CUDA toolkit for `passthru.tests` is still
   # up-to-date.
-  version = "1.8.1";
+  version = "1.9.0";
   device = if cudaSupport then "cuda" else "cpu";
   srcs = import ./binary-hashes.nix version;
   unavailable = throw "libtorch is not available for this platform";
diff --git a/nixpkgs/pkgs/development/libraries/science/math/libtorch/binary-hashes.nix b/nixpkgs/pkgs/development/libraries/science/math/libtorch/binary-hashes.nix
index ec4522a75592..6ded62fb87c3 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/libtorch/binary-hashes.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/libtorch/binary-hashes.nix
@@ -1,14 +1,14 @@
 version: {
   x86_64-darwin-cpu = {
     url = "https://download.pytorch.org/libtorch/cpu/libtorch-macos-${version}.zip";
-    hash = "sha256-FYgnd5zlycjCYnP5bZcjpMdGYXrRERwhFFBYo/SJgzs=";
+    hash = "sha256-TOJ+iQpqazta46y4IzIbfEGMjz/fz+pRDV8fKqriB6Q=";
   };
   x86_64-linux-cpu = {
     url = "https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-${version}%2Bcpu.zip";
-    hash = "sha256-xneCcVrY25Whgbs/kPbwdS1Lc0e6RxsDRpA5lHTZigc=";
+    hash = "sha256-gZMNLCzW3j+eplBqWo6lVvuHS5iRqtMD8NL3MoszsVg=";
   };
   x86_64-linux-cuda = {
     url = "https://download.pytorch.org/libtorch/cu111/libtorch-cxx11-abi-shared-with-deps-${version}%2Bcu111.zip";
-    hash = "sha256-VW+TW00nD49GBztCyxHE4dTyy81aN/kfYE3hKQOIm50=";
+    hash = "sha256-dRu4F8k2SAbtghwrPJNyX0u3tsODCbXfi9EqUdf4xYc=";
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/science/math/openblas/default.nix b/nixpkgs/pkgs/development/libraries/science/math/openblas/default.nix
index f464a755f6e4..ccb37d295bff 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/openblas/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/openblas/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, perl, which
+{ lib, stdenv, fetchFromGitHub, perl, which
 # Most packages depending on openblas expect integer width to match
 # pointer width, but some expect to use 32-bit integers always
 # (for compatibility with reference BLAS).
@@ -116,7 +116,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "openblas";
-  version = "0.3.13";
+  version = "0.3.15";
 
   outputs = [ "out" "dev" ];
 
@@ -124,19 +124,9 @@ stdenv.mkDerivation rec {
     owner = "xianyi";
     repo = "OpenBLAS";
     rev = "v${version}";
-    sha256 = "14jxh0v3jfbw4mfjx4mcz4dd51lyq7pqvh9k8dg94539ypzjr2lj";
+    sha256 = "1qjr02cqncv20abdp1yzr55n7smhx6h9chqvb0xbp18byynvj87w";
   };
 
-  # apply https://github.com/xianyi/OpenBLAS/pull/3060 to fix a crash on arm
-  # remove this when updating to 0.3.14 or newer
-  patches = [
-    (fetchpatch {
-      name = "label-get_cpu_ftr-as-volatile.patch";
-      url = "https://github.com/xianyi/OpenBLAS/commit/6fe0f1fab9d6a7f46d71d37ebb210fbf56924fbc.diff";
-      sha256 = "06gwh73k4sas1ap2fi3jvpifbjkys2vhmnbj4mzrsvj279ljsfdk";
-    })
-  ];
-
   inherit blas64;
 
   # Some hardening features are disabled due to sporadic failures in
diff --git a/nixpkgs/pkgs/development/libraries/science/math/tensorflow-lite/default.nix b/nixpkgs/pkgs/development/libraries/science/math/tensorflow-lite/default.nix
new file mode 100644
index 000000000000..cf2346bad271
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/science/math/tensorflow-lite/default.nix
@@ -0,0 +1,181 @@
+{ stdenv
+, bash
+, abseil-cpp
+, fetchFromGitHub
+, fetchFromGitLab
+, fetchpatch
+, fetchurl
+, flatbuffers
+, hostPlatform
+, lib
+, zlib
+}:
+let
+  tflite-eigen = fetchFromGitLab {
+    owner = "libeigen";
+    repo = "eigen";
+    rev = "3d9051ea84a5089b277c88dac456b3b1576bfa7f";
+    sha256 = "1y3f2jvimb5i904f4n37h23cv2pkdlbz8656s0kga1y7c0p50wif";
+  };
+
+  gemmlowp-src = fetchFromGitHub {
+    owner = "google";
+    repo = "gemmlowp";
+    rev = "fda83bdc38b118cc6b56753bd540caa49e570745";
+    sha256 = "1sbp8kmr2azwlvfbzryy1frxi99jhsh1nc93bdbxdf8zdgpv0kxl";
+  };
+
+  neon-2-sse-src = fetchFromGitHub {
+    owner = "intel";
+    repo = "ARM_NEON_2_x86_SSE";
+    rev = "1200fe90bb174a6224a525ee60148671a786a71f";
+    sha256 = "0fhxch711ck809dpq1myxz63jiiwfcnxvj45ww0kg8s0pqpn5kv6";
+  };
+
+  farmhash-src = fetchFromGitHub {
+    owner = "google";
+    repo = "farmhash";
+    rev = "816a4ae622e964763ca0862d9dbd19324a1eaf45";
+    sha256 = "1mqxsljq476n1hb8ilkrpb39yz3ip2hnc7rhzszz4sri8ma7qzp6";
+  };
+
+  fft2d-src = fetchurl {
+    url = "http://www.kurims.kyoto-u.ac.jp/~ooura/fft2d.tgz";
+    sha256 = "ada7e99087c4ed477bfdf11413f2ba8db8a840ba9bbf8ac94f4f3972e2a7cec9";
+  };
+
+  fp16-src = fetchFromGitHub {
+    owner = "Maratyszcza";
+    repo = "FP16";
+    rev = "4dfe081cf6bcd15db339cf2680b9281b8451eeb3";
+    sha256 = "06a8dfl3a29r93nxpp6hpywsajz5d555n3sqd3i6krybb6swnvh7";
+  };
+
+  ruy-src = fetchFromGitHub {
+    owner = "google";
+    repo = "ruy";
+    rev = "23633b37099b614a2f836ef012cafc8087fdb98c";
+    sha256 = "14k9hz6ss8qy8nsajk6lrq25f6qxrldxky31ijw0dpqnfnnswrx4";
+  };
+
+  cpuinfo-src = fetchFromGitHub {
+    owner = "pytorch";
+    repo = "cpuinfo";
+    rev = "5916273f79a21551890fd3d56fc5375a78d1598d";
+    sha256 = "0q6760xdxsg18acdv8vq3yrq7ksr7wsm8zbyan01zf2khnb6fw4x";
+  };
+in
+stdenv.mkDerivation rec {
+  pname = "tensorflow-lite";
+  version = "2.5.0";
+
+  src = fetchFromGitHub {
+    owner = "tensorflow";
+    repo = "tensorflow";
+    rev = "v${version}";
+    sha256 = "1jdw2i1rq06zqd6aabh7bbm0avsg4pygnfmd7gviv0blhih9054l";
+  };
+
+  patches = [
+    # TODO: remove on the next version bump
+    (fetchpatch {
+      name = "include-schema-conversion-utils-source.patch";
+      url = "https://github.com/tensorflow/tensorflow/commit/f3c4f4733692150fd6174f2cd16438cfaba2e5ab.patch";
+      sha256 = "0zx4hbz679kn79f30159rl1mq74dg45cvaawii0cyv48z472yy4k";
+    })
+    # TODO: remove on the next version bump
+    (fetchpatch {
+      name = "cxxstandard-var.patch";
+      url = "https://github.com/tensorflow/tensorflow/commit/9b128ae4200e10b4752f903492d1e7d11957ed5c.patch";
+      sha256 = "1q0izdwdji5fbyqll6k4dmkzfykyvvz5cvc6hysdj285nkn2wy6h";
+    })
+  ];
+
+  buildInputs = [ zlib flatbuffers ];
+
+  dontConfigure = true;
+
+  postPatch = ''
+    substituteInPlace ./tensorflow/lite/tools/make/Makefile \
+      --replace /bin/bash ${bash}/bin/bash \
+      --replace /bin/sh ${bash}/bin/sh
+  '';
+
+  makefile = "tensorflow/lite/tools/make/Makefile";
+
+  preBuild =
+    let
+      includes =
+        lib.concatMapStringsSep
+          " "
+          (subdir: "-I $PWD/tensorflow/lite/tools/make/downloads/${subdir}")
+          [
+            "neon_2_sse"
+            "gemmlowp"
+            "absl"
+            "fp16/include"
+            "farmhash/src"
+            "ruy"
+            "cpuinfo"
+            "cpuinfo/src"
+            "cpuinfo/include"
+            "cpuinfo/deps/clog/include"
+            "eigen"
+          ];
+    in
+    ''
+      # enter the vendoring lair of doom
+
+      prefix="$PWD/tensorflow/lite/tools/make/downloads"
+
+      mkdir -p "$prefix"
+
+      tar xzf ${fft2d-src} -C "$prefix"
+
+      ln -s ${ruy-src} "$prefix/ruy"
+      ln -s ${gemmlowp-src} "$prefix/gemmlowp"
+      ln -s ${neon-2-sse-src} "$prefix/neon_2_sse"
+      ln -s ${farmhash-src} "$prefix/farmhash"
+      ln -s ${cpuinfo-src} "$prefix/cpuinfo"
+      ln -s ${fp16-src} "$prefix/fp16"
+      ln -s ${tflite-eigen} "$prefix/eigen"
+
+      # tensorflow lite is using the *source* of flatbuffers
+      ln -s ${flatbuffers.src} "$prefix/flatbuffers"
+
+      # tensorflow lite expects to compile abseil into `libtensorflow-lite.a`
+      ln -s ${abseil-cpp.src} "$prefix/absl"
+
+      # set CXXSTANDARD=c++17 here because abseil-cpp in nixpkgs is set as
+      # such and would be used in dependents like libedgetpu
+      buildFlagsArray+=(
+        INCLUDES="-I $PWD ${includes}"
+        CXXSTANDARD="-std=c++17"
+        TARGET_TOOLCHAIN_PREFIX=""
+        -j$NIX_BUILD_CORES
+        all)
+    '';
+
+  installPhase = ''
+    mkdir "$out"
+
+    # copy the static lib and binaries into the output dir
+    cp -r ./tensorflow/lite/tools/make/gen/linux_${hostPlatform.uname.processor}/{bin,lib} "$out"
+
+    find ./tensorflow/lite -type f -name '*.h' | while read f; do
+      path="$out/include/''${f/.\//}"
+      install -D "$f" "$path"
+
+      # remove executable bit from headers
+      chmod -x "$path"
+    done
+  '';
+
+  meta = with lib; {
+    description = "An open source deep learning framework for on-device inference.";
+    homepage = "https://www.tensorflow.org/lite";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ cpcloud ];
+    platforms = [ "x86_64-linux" "aarch64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/science/math/tensorflow-lite/eigen_include_dir.patch b/nixpkgs/pkgs/development/libraries/science/math/tensorflow-lite/eigen_include_dir.patch
new file mode 100644
index 000000000000..6fa3c703efa9
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/science/math/tensorflow-lite/eigen_include_dir.patch
@@ -0,0 +1,45 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 28103856e..a36909c0e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -449,13 +449,6 @@ install(FILES
+   DESTINATION ${INCLUDE_INSTALL_DIR} COMPONENT Devel
+   )
+ 
+-if(EIGEN_BUILD_PKGCONFIG)
+-    configure_file(eigen3.pc.in eigen3.pc @ONLY)
+-    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/eigen3.pc
+-        DESTINATION ${PKGCONFIG_INSTALL_DIR}
+-        )
+-endif()
+-
+ install(DIRECTORY Eigen DESTINATION ${INCLUDE_INSTALL_DIR} COMPONENT Devel)
+ 
+ add_subdirectory(doc EXCLUDE_FROM_ALL)
+@@ -570,8 +563,15 @@ set ( EIGEN_VERSION_MAJOR  ${EIGEN_WORLD_VERSION} )
+ set ( EIGEN_VERSION_MINOR  ${EIGEN_MAJOR_VERSION} )
+ set ( EIGEN_VERSION_PATCH  ${EIGEN_MINOR_VERSION} )
+ set ( EIGEN_DEFINITIONS "")
+-set ( EIGEN_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/${INCLUDE_INSTALL_DIR}" )
+ set ( EIGEN_ROOT_DIR ${CMAKE_INSTALL_PREFIX} )
++GNUInstallDirs_get_absolute_install_dir(EIGEN_INCLUDE_DIR INCLUDE_INSTALL_DIR)
++
++if(EIGEN_BUILD_PKGCONFIG)
++    configure_file(eigen3.pc.in eigen3.pc @ONLY)
++    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/eigen3.pc
++        DESTINATION ${PKGCONFIG_INSTALL_DIR}
++        )
++endif()
+ 
+ # Interface libraries require at least CMake 3.0
+ if (NOT CMAKE_VERSION VERSION_LESS 3.0)
+diff --git a/eigen3.pc.in b/eigen3.pc.in
+index 3368a3aa1..d6778bf06 100644
+--- a/eigen3.pc.in
++++ b/eigen3.pc.in
+@@ -6,4 +6,4 @@ Description: A C++ template library for linear algebra: vectors, matrices, and r
+ Requires:
+ Version: @EIGEN_VERSION_NUMBER@
+ Libs:
+-Cflags: -I${prefix}/@INCLUDE_INSTALL_DIR@
++Cflags: -I@EIGEN_INCLUDE_DIR@
diff --git a/nixpkgs/pkgs/development/libraries/skalibs/default.nix b/nixpkgs/pkgs/development/libraries/skalibs/default.nix
index 3d90a8ebb21c..09530db0532c 100644
--- a/nixpkgs/pkgs/development/libraries/skalibs/default.nix
+++ b/nixpkgs/pkgs/development/libraries/skalibs/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
 
 buildPackage {
   pname = "skalibs";
-  version = "2.10.0.2";
-  sha256 = "03qyi77wgcw3nzy7i932wd98d6j7nnzxc8ddl973vf5sa1v3vflb";
+  version = "2.10.0.3";
+  sha256 = "0ka6n5rnxd5sn5lycarf596d5wlak5s535zqqlz0rnhdcnpb105p";
 
   description = "A set of general-purpose C programming libraries";
 
diff --git a/nixpkgs/pkgs/development/libraries/sope/default.nix b/nixpkgs/pkgs/development/libraries/sope/default.nix
index b956967ee88e..25c65d82632d 100644
--- a/nixpkgs/pkgs/development/libraries/sope/default.nix
+++ b/nixpkgs/pkgs/development/libraries/sope/default.nix
@@ -4,13 +4,13 @@ with lib;
 
 gnustep.stdenv.mkDerivation rec {
   pname = "sope";
-  version = "5.0.1";
+  version = "5.1.1";
 
   src = fetchFromGitHub {
     owner = "inverse-inc";
     repo = pname;
     rev = "SOPE-${version}";
-    sha256 = "031m8ydr4jhh29332mfbsw0i5d0cjfqfyfs55jm832dlmv4447gb";
+    sha256 = "0pap7c38kgadyp1a6qkmf9xhk69ybpmhfd4kc2n5nafhdbvks985";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/nixpkgs/pkgs/development/libraries/spice/correct-meson.patch b/nixpkgs/pkgs/development/libraries/spice/correct-meson.patch
deleted file mode 100644
index d3422cb915b3..000000000000
--- a/nixpkgs/pkgs/development/libraries/spice/correct-meson.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/meson.build b/meson.build
-index 8b8ae8bb..e58c436c 100644
---- a/meson.build
-+++ b/meson.build
-@@ -2,7 +2,7 @@
- # project definition
- #
- project('spice', 'c',
--        version : run_command('build-aux/git-version-gen', '${MESON_SOURCE_ROOT}/.tarball-version', check : true).stdout().strip(),
-+        version : run_command('build-aux/git-version-gen', meson.source_root() + '/.tarball-version', check : true).stdout().strip(),
-         license : 'LGPLv2.1',
-         meson_version : '>= 0.48')
-
-diff --git a/server/meson.build b/server/meson.build
-index 34d8eef1..988ccab2 100644
---- a/server/meson.build
-+++ b/server/meson.build
-@@ -7,7 +7,7 @@ version_info = meson.project_version().split('.')
- major = '@0@'.format(version_info[0])
- minor = '@0@'.format(version_info[1])
- micro = version_info[2].to_int()
--if not version_info[3].contains('git')
-+if not version_info.contains('git')
-   micro += 1
- endif
- micro = '@0@'.format(micro)
diff --git a/nixpkgs/pkgs/development/libraries/spice/default.nix b/nixpkgs/pkgs/development/libraries/spice/default.nix
index ff1f5eb8041a..33677303ddcb 100644
--- a/nixpkgs/pkgs/development/libraries/spice/default.nix
+++ b/nixpkgs/pkgs/development/libraries/spice/default.nix
@@ -26,18 +26,13 @@
 
 stdenv.mkDerivation rec {
   pname = "spice";
-  version = "0.14.2";
+  version = "0.15.0";
 
   src = fetchurl {
-    url = "https://www.spice-space.org/download/releases/${pname}-${version}.tar.bz2";
-    sha256 = "19r999py9v9c7md2bb8ysj809ag1hh6djl1ik8jcgx065s4b60xj";
+    url = "https://www.spice-space.org/download/releases/spice-server/${pname}-${version}.tar.bz2";
+    sha256 = "1xd0xffw0g5vvwbq4ksmm3jjfq45f9dw20xpmi82g1fj9f7wy85k";
   };
 
-  patches = [
-    # submitted https://gitlab.freedesktop.org/spice/spice/merge_requests/4
-    ./correct-meson.patch
-  ];
-
   postPatch = ''
     patchShebangs build-aux
   '';
diff --git a/nixpkgs/pkgs/development/libraries/tcllib/default.nix b/nixpkgs/pkgs/development/libraries/tcllib/default.nix
index 4cab15ca5c22..90c4528a6454 100644
--- a/nixpkgs/pkgs/development/libraries/tcllib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tcllib/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv, fetchurl, tcl }:
+{ lib, fetchurl, tcl }:
 
-stdenv.mkDerivation rec {
+tcl.mkTclDerivation rec {
   pname = "tcllib";
   version = "1.20";
 
@@ -9,12 +9,6 @@ stdenv.mkDerivation rec {
     sha256 = "0wax281h6ksz974a5qpfgf9y34lmlpd8i87lkm1w94ybbd3rgc73";
   };
 
-  passthru = {
-    libPrefix = "tcllib${version}";
-  };
-
-  buildInputs = [ tcl ];
-
   meta = {
     homepage = "https://sourceforge.net/projects/tcllib/";
     description = "Tcl-only library of standard routines for Tcl";
diff --git a/nixpkgs/pkgs/development/libraries/tcltls/default.nix b/nixpkgs/pkgs/development/libraries/tcltls/default.nix
index e88358bbce0a..8883ad5dd440 100644
--- a/nixpkgs/pkgs/development/libraries/tcltls/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tcltls/default.nix
@@ -1,33 +1,24 @@
-{ lib, stdenv, fetchurl, tcl, openssl }:
+{ lib, fetchurl, tcl, openssl }:
 
-stdenv.mkDerivation rec {
+tcl.mkTclDerivation rec {
   pname = "tcltls";
-  version = "1.6.7";
+  version = "1.7.21";
 
   src = fetchurl {
-    url = "mirror://sourceforge/tls/tls${version}-src.tar.gz";
-    sha256 = "1f53sfcnrridjl5ayrq1xrqkahs8khf8c3d0m2brndbhahzdw6ai";
+    url = "https://core.tcl-lang.org/tcltls/uv/tcltls-${version}.tar.gz";
+    sha256 = "0xf1rfsnn4k9j1bd2a1p8ir0xr4a3phgr9lcgbazh4084l2y8sl0";
   };
 
-  buildInputs = [ tcl openssl ];
+  buildInputs = [ openssl ];
 
   configureFlags = [
-    "--with-tcl=${tcl}/lib"
-    "--with-tclinclude=${tcl}/include"
     "--with-ssl-dir=${openssl.dev}"
   ];
 
-  preConfigure = ''
-    configureFlags="--exec_prefix=$prefix $configureFlags"
-  '';
-
-  passthru = {
-    libPrefix = "tls${version}";
-  };
-
   meta = {
-    homepage = "http://tls.sourceforge.net/";
+    homepage = "https://core.tcl-lang.org/tcltls/index";
     description = "An OpenSSL / RSA-bsafe Tcl extension";
+    maintainers = [ lib.maintainers.agbrooks ];
     license = lib.licenses.tcltk;
     platforms = lib.platforms.unix;
   };
diff --git a/nixpkgs/pkgs/development/libraries/tclx/default.nix b/nixpkgs/pkgs/development/libraries/tclx/default.nix
index 85eae730575f..a8cf2a44fab6 100644
--- a/nixpkgs/pkgs/development/libraries/tclx/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tclx/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv, fetchurl, tcl }:
+{ lib, fetchurl, tcl }:
 
-stdenv.mkDerivation rec {
+tcl.mkTclDerivation rec {
   name = "tclx-${version}.${patch}";
   version = "8.4";
   patch = "1";
@@ -10,13 +10,10 @@ stdenv.mkDerivation rec {
     sha256 = "1v2qwzzidz0is58fd1p7wfdbscxm3ip2wlbqkj5jdhf6drh1zd59";
   };
 
-  passthru = {
-    libPrefix = ""; # Using tclx${version} did not work
-  };
-
-  buildInputs = [ tcl ];
-
-  configureFlags = [ "--with-tcl=${tcl}/lib" "--exec-prefix=\${prefix}" ];
+  # required in order for tclx to properly detect tclx.tcl at runtime
+  postInstall = ''
+    ln -s $prefix/lib/tclx${version} $prefix/lib/tclx${version}/tclx${version}
+  '';
 
   meta = {
     homepage = "http://tclx.sourceforge.net/";
diff --git a/nixpkgs/pkgs/development/libraries/tix/default.nix b/nixpkgs/pkgs/development/libraries/tix/default.nix
index e0f91330efca..c42847ef5335 100644
--- a/nixpkgs/pkgs/development/libraries/tix/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tix/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, tcl, tk, fetchpatch } :
 
-stdenv.mkDerivation {
+tcl.mkTclDerivation {
   version = "8.4.3";
   pname = "tix";
   src = fetchurl {
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
     sha256 = "1jaz0l22xj7x1k4rb9ia6i1psnbwk4pblgq4gfvya7gg7fbb7r36";
     })
   ;
-  buildInputs = [ tcl tk ];
+  buildInputs = [ tk ];
   # the configure script expects to find the location of the sources of
   # tcl and tk in {tcl,tk}Config.sh
   # In fact, it only needs some private headers. We copy them in
@@ -34,8 +34,8 @@ stdenv.mkDerivation {
       ln -s $i private_headers/generic;
     done;
     '';
+  addTclConfigureFlags = false;
   configureFlags = [
-    "--with-tclinclude=${tcl}/include"
     "--with-tclconfig=."
     "--with-tkinclude=${tk.dev}/include"
     "--with-tkconfig=."
@@ -52,4 +52,3 @@ stdenv.mkDerivation {
     ];
   };
 }
-
diff --git a/nixpkgs/pkgs/development/libraries/tk/generic.nix b/nixpkgs/pkgs/development/libraries/tk/generic.nix
index ecb3840b2de3..b829d846be56 100644
--- a/nixpkgs/pkgs/development/libraries/tk/generic.nix
+++ b/nixpkgs/pkgs/development/libraries/tk/generic.nix
@@ -2,7 +2,7 @@
 , enableAqua ? stdenv.isDarwin, darwin
 , ... }:
 
-stdenv.mkDerivation {
+tcl.mkTclDerivation {
   name = "tk-${tcl.version}";
 
   inherit src patches;
@@ -33,14 +33,13 @@ stdenv.mkDerivation {
 
   configureFlags = [
     "--enable-threads"
-    "--with-tcl=${tcl}/lib"
   ] ++ lib.optional stdenv.is64bit "--enable-64bit"
     ++ lib.optional enableAqua "--enable-aqua";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = lib.optional enableAqua (with darwin.apple_sdk.frameworks; [ Cocoa ]);
 
-  propagatedBuildInputs = [ tcl libXft ];
+  propagatedBuildInputs = [ libXft ];
 
   doCheck = false; # fails. can't find itself
 
diff --git a/nixpkgs/pkgs/development/libraries/utmps/default.nix b/nixpkgs/pkgs/development/libraries/utmps/default.nix
index 107c23dcb59b..be74748cb369 100644
--- a/nixpkgs/pkgs/development/libraries/utmps/default.nix
+++ b/nixpkgs/pkgs/development/libraries/utmps/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
 
 buildPackage {
   pname = "utmps";
-  version = "0.1.0.0";
-  sha256 = "09p0k2sgxr7jlsbrn66fzvzf9zxvpjp85y79xk10hxjglypszyml";
+  version = "0.1.0.2";
+  sha256 = "1vjza7m65ziq54q0sv46kb3lss9cmxkkv0n9h3i8505x0h2hlvlb";
 
   description = "A secure utmpx and wtmp implementation";
 
diff --git a/nixpkgs/pkgs/development/libraries/wayland/protocols.nix b/nixpkgs/pkgs/development/libraries/wayland/protocols.nix
index 8a2b05aa4dff..7f3ec5f3d597 100644
--- a/nixpkgs/pkgs/development/libraries/wayland/protocols.nix
+++ b/nixpkgs/pkgs/development/libraries/wayland/protocols.nix
@@ -1,15 +1,29 @@
-{ lib, stdenv, fetchurl, wayland-scanner }:
+{ lib, stdenv, fetchurl
+, pkg-config
+, meson, ninja, wayland-scanner
+, python3, wayland
+}:
 
 stdenv.mkDerivation rec {
   pname = "wayland-protocols";
   version = "1.21";
 
+  doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
+
   src = fetchurl {
     url = "https://wayland.freedesktop.org/releases/${pname}-${version}.tar.xz";
     sha256 = "1rfdlkzz67qsb955zqb8jbw3m22pl6ppvrvfq8bqiqcb5n24b6dr";
   };
 
-  nativeBuildInputs = [ wayland-scanner ];
+  postPatch = lib.optionalString doCheck ''
+    patchShebangs tests/
+  '';
+
+  depsBuildBuild = [ pkg-config ];
+  nativeBuildInputs = [ meson ninja wayland-scanner ];
+  checkInputs = [ python3 wayland ];
+
+  mesonFlags = [ "-Dtests=${lib.boolToString doCheck}" ];
 
   meta = {
     description = "Wayland protocol extensions";
diff --git a/nixpkgs/pkgs/development/libraries/zimlib/default.nix b/nixpkgs/pkgs/development/libraries/zimlib/default.nix
index 76d54ed62563..9f8e357d3ab0 100644
--- a/nixpkgs/pkgs/development/libraries/zimlib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/zimlib/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zimlib";
-  version = "6.3.0";
+  version = "6.3.2";
 
   src = fetchFromGitHub {
     owner = "openzim";
     repo = "libzim";
     rev = version;
-    sha256 = "0iy0f1clhihq277x218ccx3mszgpr3h9l0by48b9ykr115nffw3s";
+    sha256 = "sha256-xlYu74akK9WFy86hcQe7zp11TImwl8llgDIZBRgmbAI=";
   };
 
   nativeBuildInputs = [