about summary refs log tree commit diff
path: root/pkgs/development/libraries
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries')
-rw-r--r--pkgs/development/libraries/CGAL/default.nix4
-rw-r--r--pkgs/development/libraries/LAStools/default.nix6
-rw-r--r--pkgs/development/libraries/LASzip/LASzip2.nix10
-rw-r--r--pkgs/development/libraries/SDL2/Fix-build-against-wayland-1.20.patch43
-rw-r--r--pkgs/development/libraries/SDL2/default.nix6
-rw-r--r--pkgs/development/libraries/SDL2_ttf/2.0.15.nix25
-rw-r--r--pkgs/development/libraries/SDL2_ttf/default.nix8
-rw-r--r--pkgs/development/libraries/abseil-cpp/202103.nix (renamed from pkgs/development/libraries/abseil-cpp/default.nix)2
-rw-r--r--pkgs/development/libraries/abseil-cpp/202111.nix36
-rw-r--r--pkgs/development/libraries/accountsservice/default.nix2
-rw-r--r--pkgs/development/libraries/ace/default.nix4
-rw-r--r--pkgs/development/libraries/aften/default.nix2
-rw-r--r--pkgs/development/libraries/amdvlk/default.nix8
-rw-r--r--pkgs/development/libraries/apr-util/default.nix13
-rw-r--r--pkgs/development/libraries/aqbanking/default.nix2
-rw-r--r--pkgs/development/libraries/aqbanking/gwenhywfar.nix4
-rw-r--r--pkgs/development/libraries/arb/default.nix6
-rw-r--r--pkgs/development/libraries/argtable/default.nix2
-rw-r--r--pkgs/development/libraries/armadillo/default.nix4
-rw-r--r--pkgs/development/libraries/arrayfire/default.nix13
-rw-r--r--pkgs/development/libraries/arrow-cpp/default.nix38
-rw-r--r--pkgs/development/libraries/assimp/default.nix11
-rw-r--r--pkgs/development/libraries/audio/libkeyfinder/default.nix4
-rw-r--r--pkgs/development/libraries/audio/libsmf/default.nix11
-rw-r--r--pkgs/development/libraries/audio/lilv/default.nix12
-rw-r--r--pkgs/development/libraries/audio/lvtk/default.nix10
-rw-r--r--pkgs/development/libraries/audio/roc-toolkit/0001-Remove-deprecated-scons-call.patch24
-rw-r--r--pkgs/development/libraries/audio/roc-toolkit/0002-Fix-compatibility-with-new-SCons.patch31
-rw-r--r--pkgs/development/libraries/audio/roc-toolkit/default.nix72
-rw-r--r--pkgs/development/libraries/audio/rtmidi/default.nix32
-rw-r--r--pkgs/development/libraries/audio/vamp-plugin-sdk/default.nix4
-rw-r--r--pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix4
-rw-r--r--pkgs/development/libraries/avro-c/default.nix4
-rw-r--r--pkgs/development/libraries/aws-c-common/default.nix6
-rw-r--r--pkgs/development/libraries/aws-c-s3/default.nix4
-rw-r--r--pkgs/development/libraries/aws-crt-cpp/0001-build-Make-includedir-properly-overrideable.patch58
-rw-r--r--pkgs/development/libraries/aws-crt-cpp/default.nix13
-rw-r--r--pkgs/development/libraries/aws-sdk-cpp/default.nix16
-rw-r--r--pkgs/development/libraries/bctoolbox/default.nix4
-rw-r--r--pkgs/development/libraries/belcard/default.nix4
-rw-r--r--pkgs/development/libraries/belr/default.nix4
-rw-r--r--pkgs/development/libraries/blitz/default.nix4
-rw-r--r--pkgs/development/libraries/boca/default.nix4
-rw-r--r--pkgs/development/libraries/boehm-gc/default.nix9
-rw-r--r--pkgs/development/libraries/boost/generic.nix4
-rw-r--r--pkgs/development/libraries/botan/2.0.upstream10
-rw-r--r--pkgs/development/libraries/botan/default.upstream9
-rw-r--r--pkgs/development/libraries/box2d/default.nix15
-rw-r--r--pkgs/development/libraries/bzrtp/default.nix4
-rw-r--r--pkgs/development/libraries/c-ares/default.nix4
-rw-r--r--pkgs/development/libraries/c-blosc/default.nix4
-rw-r--r--pkgs/development/libraries/capstone/default.nix10
-rw-r--r--pkgs/development/libraries/catch2/default.nix4
-rw-r--r--pkgs/development/libraries/celt/generic.nix2
-rw-r--r--pkgs/development/libraries/chromaprint/default.nix8
-rw-r--r--pkgs/development/libraries/cimg/default.nix6
-rw-r--r--pkgs/development/libraries/cmrt/default.nix10
-rw-r--r--pkgs/development/libraries/codec2/default.nix2
-rw-r--r--pkgs/development/libraries/cpp-utilities/default.nix4
-rw-r--r--pkgs/development/libraries/crc32c/default.nix2
-rw-r--r--pkgs/development/libraries/crypto++/default.nix33
-rw-r--r--pkgs/development/libraries/cxxopts/default.nix22
-rw-r--r--pkgs/development/libraries/cxxopts/fix-install-path.patch18
-rw-r--r--pkgs/development/libraries/db/generic.nix5
-rw-r--r--pkgs/development/libraries/dbus-cplusplus/default.nix4
-rw-r--r--pkgs/development/libraries/dlib/default.nix4
-rw-r--r--pkgs/development/libraries/double-conversion/default.nix4
-rw-r--r--pkgs/development/libraries/duckdb/default.nix42
-rw-r--r--pkgs/development/libraries/duckdb/version.patch51
-rw-r--r--pkgs/development/libraries/dyncall/default.nix6
-rw-r--r--pkgs/development/libraries/easyloggingpp/default.nix4
-rw-r--r--pkgs/development/libraries/eccodes/default.nix4
-rw-r--r--pkgs/development/libraries/eigen/default.upstream4
-rw-r--r--pkgs/development/libraries/elfio/default.nix4
-rw-r--r--pkgs/development/libraries/elpa/default.nix9
-rw-r--r--pkgs/development/libraries/embree/default.nix4
-rw-r--r--pkgs/development/libraries/enchant/2.x.nix4
-rw-r--r--pkgs/development/libraries/exiv2/default.nix11
-rw-r--r--pkgs/development/libraries/expat/default.nix4
-rw-r--r--pkgs/development/libraries/faad2/default.nix2
-rw-r--r--pkgs/development/libraries/farstream/default.nix11
-rw-r--r--pkgs/development/libraries/fcft/default.nix4
-rw-r--r--pkgs/development/libraries/fcgi/default.nix2
-rw-r--r--pkgs/development/libraries/fflas-ffpack/default.nix6
-rw-r--r--pkgs/development/libraries/ffmpeg-full/default.nix26
-rw-r--r--pkgs/development/libraries/ffmpeg/0001-fate-ffmpeg-add-missing-samples-dependency-to-fate-s.patch27
-rw-r--r--pkgs/development/libraries/ffmpeg/5.nix14
-rw-r--r--pkgs/development/libraries/ffmpeg/generic.nix9
-rw-r--r--pkgs/development/libraries/ffmpegthumbnailer/default.nix6
-rw-r--r--pkgs/development/libraries/ffms/default.nix4
-rw-r--r--pkgs/development/libraries/fftw/default.nix18
-rw-r--r--pkgs/development/libraries/flann/default.nix2
-rw-r--r--pkgs/development/libraries/flatpak/default.nix14
-rw-r--r--pkgs/development/libraries/flint/default.nix1
-rw-r--r--pkgs/development/libraries/folks/default.nix14
-rw-r--r--pkgs/development/libraries/folly/default.nix35
-rw-r--r--pkgs/development/libraries/fontconfig/default.nix9
-rw-r--r--pkgs/development/libraries/fplll/default.nix7
-rw-r--r--pkgs/development/libraries/freenect/default.nix5
-rw-r--r--pkgs/development/libraries/freetds/default.nix4
-rw-r--r--pkgs/development/libraries/freetype/default.nix4
-rw-r--r--pkgs/development/libraries/fribidi/default.nix4
-rw-r--r--pkgs/development/libraries/funambol/default.nix2
-rw-r--r--pkgs/development/libraries/gbenchmark/default.nix4
-rw-r--r--pkgs/development/libraries/gdal/2.4.nix4
-rw-r--r--pkgs/development/libraries/gdal/default.nix12
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/xlib.nix6
-rw-r--r--pkgs/development/libraries/gettext/default.nix8
-rw-r--r--pkgs/development/libraries/giblib/default.nix37
-rw-r--r--pkgs/development/libraries/git2/default.nix38
-rw-r--r--pkgs/development/libraries/givaro/default.nix4
-rw-r--r--pkgs/development/libraries/gjs/default.nix4
-rw-r--r--pkgs/development/libraries/glew/default.nix71
-rw-r--r--pkgs/development/libraries/glib-networking/default.nix4
-rw-r--r--pkgs/development/libraries/glib/default.nix19
-rw-r--r--pkgs/development/libraries/glibc/2.33-master.patch.gzbin65714 -> 147266 bytes
-rw-r--r--pkgs/development/libraries/glibc/common.nix4
-rw-r--r--pkgs/development/libraries/globalarrays/default.nix4
-rw-r--r--pkgs/development/libraries/gmp/5.1.3-CVE-2021-43618.patch20
-rw-r--r--pkgs/development/libraries/gmp/5.1.x.nix6
-rw-r--r--pkgs/development/libraries/gmp/6.2.1-CVE-2021-43618.patch19
-rw-r--r--pkgs/development/libraries/gmp/6.x.nix2
-rw-r--r--pkgs/development/libraries/gnome-sharp/default.nix45
-rw-r--r--pkgs/development/libraries/gnome-sharp/fix-mono-path.patch13
-rw-r--r--pkgs/development/libraries/gnutls/default.nix8
-rw-r--r--pkgs/development/libraries/gobject-introspection/default.nix9
-rw-r--r--pkgs/development/libraries/goffice/default.nix4
-rw-r--r--pkgs/development/libraries/grantlee/5/default.nix11
-rw-r--r--pkgs/development/libraries/graphene-hardened-malloc/default.nix10
-rw-r--r--pkgs/development/libraries/grib-api/default.nix71
-rw-r--r--pkgs/development/libraries/grilo-plugins/default.nix2
-rw-r--r--pkgs/development/libraries/gsl/default.nix4
-rw-r--r--pkgs/development/libraries/gsound/default.nix7
-rw-r--r--pkgs/development/libraries/gstreamer/bad/default.nix67
-rw-r--r--pkgs/development/libraries/gstreamer/bad/fix_pkgconfig_includedir.patch15
-rw-r--r--pkgs/development/libraries/gstreamer/base/default.nix10
-rw-r--r--pkgs/development/libraries/gstreamer/base/fix_pkgconfig_includedir.patch15
-rw-r--r--pkgs/development/libraries/gstreamer/core/default.nix14
-rw-r--r--pkgs/development/libraries/gstreamer/core/fix_pkgconfig_includedir.patch17
-rw-r--r--pkgs/development/libraries/gstreamer/devtools/default.nix10
-rw-r--r--pkgs/development/libraries/gstreamer/devtools/fix_pkgconfig_includedir.patch15
-rw-r--r--pkgs/development/libraries/gstreamer/ges/default.nix8
-rw-r--r--pkgs/development/libraries/gstreamer/ges/fix_pkgconfig_includedir.patch15
-rw-r--r--pkgs/development/libraries/gstreamer/good/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/libav/default.nix6
-rw-r--r--pkgs/development/libraries/gstreamer/rtsp-server/default.nix16
-rw-r--r--pkgs/development/libraries/gstreamer/rtsp-server/fix_pkgconfig_includedir.patch15
-rw-r--r--pkgs/development/libraries/gstreamer/ugly/default.nix23
-rw-r--r--pkgs/development/libraries/gstreamer/vaapi/default.nix4
-rw-r--r--pkgs/development/libraries/gthree/default.nix1
-rw-r--r--pkgs/development/libraries/gtk-sharp/2.0.nix12
-rw-r--r--pkgs/development/libraries/gtk-sharp/3.0.nix12
-rw-r--r--pkgs/development/libraries/gtk/3.x.nix14
-rw-r--r--pkgs/development/libraries/gtk/4.x.nix14
-rw-r--r--pkgs/development/libraries/gtkmm/4.x.nix4
-rw-r--r--pkgs/development/libraries/gupnp/default.nix4
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix4
-rw-r--r--pkgs/development/libraries/hidapi/default.nix27
-rw-r--r--pkgs/development/libraries/highfive/default.nix6
-rw-r--r--pkgs/development/libraries/hunspell/default.nix10
-rw-r--r--pkgs/development/libraries/idnkit/default.nix7
-rw-r--r--pkgs/development/libraries/igraph/default.nix4
-rw-r--r--pkgs/development/libraries/imath/default.nix4
-rw-r--r--pkgs/development/libraries/imgui/default.nix4
-rw-r--r--pkgs/development/libraries/iml/default.nix1
-rw-r--r--pkgs/development/libraries/imlib2/default.nix18
-rw-r--r--pkgs/development/libraries/intel-gmmlib/default.nix4
-rw-r--r--pkgs/development/libraries/intel-media-driver/default.nix4
-rw-r--r--pkgs/development/libraries/intel-media-sdk/default.nix4
-rw-r--r--pkgs/development/libraries/iso-codes/default.nix8
-rw-r--r--pkgs/development/libraries/jabcode/default.nix1
-rw-r--r--pkgs/development/libraries/java/commons/bcel/default.nix2
-rw-r--r--pkgs/development/libraries/java/commons/bsf/default.nix2
-rw-r--r--pkgs/development/libraries/java/commons/compress/default.nix2
-rw-r--r--pkgs/development/libraries/java/commons/fileupload/default.nix8
-rw-r--r--pkgs/development/libraries/java/commons/io/default.nix2
-rw-r--r--pkgs/development/libraries/java/commons/lang/default.nix2
-rw-r--r--pkgs/development/libraries/java/commons/logging/default.nix2
-rw-r--r--pkgs/development/libraries/java/gwt-dragdrop/default.nix27
-rw-r--r--pkgs/development/libraries/java/gwt-widgets/default.nix25
-rw-r--r--pkgs/development/libraries/java/lombok/default.nix4
-rw-r--r--pkgs/development/libraries/jitterentropy/default.nix30
-rw-r--r--pkgs/development/libraries/jitterentropy/reproducible-manpages.patch13
-rw-r--r--pkgs/development/libraries/judy/cross.patch22
-rw-r--r--pkgs/development/libraries/judy/default.nix10
-rw-r--r--pkgs/development/libraries/kdb/default.nix29
-rw-r--r--pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch8
-rw-r--r--pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh27
-rw-r--r--pkgs/development/libraries/kde-frameworks/fetch.sh2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kinit/0001-kinit-libpath.patch45
-rw-r--r--pkgs/development/libraries/kde-frameworks/kinit/0002-start_kdeinit-path.patch2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kinit/default.nix1
-rw-r--r--pkgs/development/libraries/kde-frameworks/kpackage/0001-Allow-external-paths-default.patch4
-rw-r--r--pkgs/development/libraries/kde-frameworks/sonnet.nix8
-rw-r--r--pkgs/development/libraries/kde-frameworks/srcs.nix664
-rw-r--r--pkgs/development/libraries/kerberos/krb5-Fix-Linux-build-error-with-musl-libc.patch32
-rw-r--r--pkgs/development/libraries/kerberos/krb5-Fix-typo-in-musl-build-fix.patch28
-rw-r--r--pkgs/development/libraries/kerberos/krb5.nix16
-rw-r--r--pkgs/development/libraries/keybinder/default.nix11
-rw-r--r--pkgs/development/libraries/khronos-ocl-icd-loader/default.nix4
-rw-r--r--pkgs/development/libraries/ldutils/default.nix6
-rw-r--r--pkgs/development/libraries/leatherman/default.nix4
-rw-r--r--pkgs/development/libraries/lensfun/default.nix6
-rw-r--r--pkgs/development/libraries/lib3ds/default.nix5
-rw-r--r--pkgs/development/libraries/libLAS/default.nix5
-rw-r--r--pkgs/development/libraries/libadwaita/default.nix15
-rw-r--r--pkgs/development/libraries/libamqpcpp/default.nix4
-rw-r--r--pkgs/development/libraries/libbaseencode/default.nix4
-rw-r--r--pkgs/development/libraries/libcaca/default.nix38
-rw-r--r--pkgs/development/libraries/libcamera/default.nix22
-rw-r--r--pkgs/development/libraries/libcangjie/default.nix7
-rw-r--r--pkgs/development/libraries/libcdaudio/default.nix8
-rw-r--r--pkgs/development/libraries/libcdio-paranoia/default.nix7
-rw-r--r--pkgs/development/libraries/libcdio/default.nix5
-rw-r--r--pkgs/development/libraries/libcec/default.nix10
-rw-r--r--pkgs/development/libraries/libcec/platform.nix10
-rw-r--r--pkgs/development/libraries/libcef/default.nix12
-rw-r--r--pkgs/development/libraries/libcello/default.nix4
-rw-r--r--pkgs/development/libraries/libchop/default.nix5
-rw-r--r--pkgs/development/libraries/libcommuni/default.nix4
-rw-r--r--pkgs/development/libraries/libcotp/default.nix4
-rw-r--r--pkgs/development/libraries/libcrafter/default.nix10
-rw-r--r--pkgs/development/libraries/libcryptui/default.nix8
-rw-r--r--pkgs/development/libraries/libcryptui/fix-latest-gnupg.patch (renamed from pkgs/development/libraries/libcryptui/fix-gnupg-2.2.patch)2
-rw-r--r--pkgs/development/libraries/libcyaml/default.nix4
-rw-r--r--pkgs/development/libraries/libdbi-drivers/default.nix5
-rw-r--r--pkgs/development/libraries/libdbusmenu/default.nix9
-rw-r--r--pkgs/development/libraries/libdeltachat/default.nix8
-rw-r--r--pkgs/development/libraries/libdnet/default.nix7
-rw-r--r--pkgs/development/libraries/libdv/default.nix5
-rw-r--r--pkgs/development/libraries/libdvdnav/4.2.1.nix7
-rw-r--r--pkgs/development/libraries/libdvdread/4.9.9.nix7
-rw-r--r--pkgs/development/libraries/libdwg/default.nix7
-rw-r--r--pkgs/development/libraries/libedit/default.nix4
-rw-r--r--pkgs/development/libraries/libee/default.nix7
-rw-r--r--pkgs/development/libraries/libepoxy/default.nix25
-rw-r--r--pkgs/development/libraries/libesmtp/default.nix27
-rw-r--r--pkgs/development/libraries/libevdev/default.nix4
-rw-r--r--pkgs/development/libraries/libextractor/default.nix2
-rw-r--r--pkgs/development/libraries/libf2c/default.nix4
-rw-r--r--pkgs/development/libraries/libfabric/default.nix4
-rw-r--r--pkgs/development/libraries/libfaketime/default.nix10
-rw-r--r--pkgs/development/libraries/libffi/default.nix6
-rw-r--r--pkgs/development/libraries/libfido2/default.nix4
-rw-r--r--pkgs/development/libraries/libfilezilla/default.nix4
-rw-r--r--pkgs/development/libraries/libfprint-tod/default.nix4
-rw-r--r--pkgs/development/libraries/libfprint/default.nix4
-rw-r--r--pkgs/development/libraries/libfyaml/default.nix4
-rw-r--r--pkgs/development/libraries/libgbinder/default.nix4
-rw-r--r--pkgs/development/libraries/libgcrypt/1.5.nix5
-rw-r--r--pkgs/development/libraries/libgcrypt/default.nix17
-rw-r--r--pkgs/development/libraries/libgda/default.nix4
-rw-r--r--pkgs/development/libraries/libgit2/default.nix58
-rw-r--r--pkgs/development/libraries/libgksu/default.nix86
-rw-r--r--pkgs/development/libraries/libgksu/libgksu-2.0.0-fbsd.patch60
-rw-r--r--pkgs/development/libraries/libgksu/libgksu-2.0.12-automake-1.11.2.patch25
-rw-r--r--pkgs/development/libraries/libgksu/libgksu-2.0.12-fix-make-3.82.patch19
-rw-r--r--pkgs/development/libraries/libgksu/libgksu-2.0.12-notests.patch26
-rw-r--r--pkgs/development/libraries/libgksu/libgksu-2.0.12-revert-forkpty.patch359
-rw-r--r--pkgs/development/libraries/libgksu/libgksu-2.0.7-libs.patch76
-rw-r--r--pkgs/development/libraries/libgksu/libgksu-2.0.7-polinguas.patch40
-rw-r--r--pkgs/development/libraries/libglvnd/default.nix5
-rw-r--r--pkgs/development/libraries/libgphoto2/default.nix4
-rw-r--r--pkgs/development/libraries/libgpod/default.nix5
-rw-r--r--pkgs/development/libraries/libgroove/default.nix33
-rw-r--r--pkgs/development/libraries/libgroove/no-warnings-as-errors.patch15
-rw-r--r--pkgs/development/libraries/libgsf/default.nix4
-rw-r--r--pkgs/development/libraries/libgtop/default.nix2
-rw-r--r--pkgs/development/libraries/libhandy/default.nix2
-rw-r--r--pkgs/development/libraries/libhttpseverywhere/default.nix7
-rw-r--r--pkgs/development/libraries/libhwy/default.nix47
-rw-r--r--pkgs/development/libraries/libical/default.nix4
-rw-r--r--pkgs/development/libraries/libimagequant/default.nix4
-rw-r--r--pkgs/development/libraries/libime/default.nix4
-rw-r--r--pkgs/development/libraries/libindicator/default.nix8
-rw-r--r--pkgs/development/libraries/libinotify-kqueue/default.nix10
-rw-r--r--pkgs/development/libraries/libinput/default.nix110
-rw-r--r--pkgs/development/libraries/libite/default.nix4
-rw-r--r--pkgs/development/libraries/libjcat/default.nix12
-rw-r--r--pkgs/development/libraries/libjpeg-turbo/default.nix4
-rw-r--r--pkgs/development/libraries/libjpeg/default.nix4
-rw-r--r--pkgs/development/libraries/libjxl/default.nix40
-rw-r--r--pkgs/development/libraries/libksba/default.nix4
-rw-r--r--pkgs/development/libraries/liblcf/default.nix5
-rw-r--r--pkgs/development/libraries/liblogging/default.nix5
-rw-r--r--pkgs/development/libraries/liblognorm/default.nix5
-rw-r--r--pkgs/development/libraries/libmbim/default.nix4
-rw-r--r--pkgs/development/libraries/libmd/default.nix4
-rw-r--r--pkgs/development/libraries/libmikmod/default.nix6
-rw-r--r--pkgs/development/libraries/libmms/default.nix5
-rw-r--r--pkgs/development/libraries/libmodbus/default.nix7
-rw-r--r--pkgs/development/libraries/libmodulemd/default.nix1
-rw-r--r--pkgs/development/libraries/libmowgli/default.nix10
-rw-r--r--pkgs/development/libraries/libmx/default.nix10
-rw-r--r--pkgs/development/libraries/libmysqlconnectorcpp/default.nix6
-rw-r--r--pkgs/development/libraries/libnatpmp/default.nix11
-rw-r--r--pkgs/development/libraries/libnats-c/default.nix6
-rw-r--r--pkgs/development/libraries/libndp/default.nix9
-rw-r--r--pkgs/development/libraries/libnfnetlink/default.nix5
-rw-r--r--pkgs/development/libraries/libnice/default.nix2
-rw-r--r--pkgs/development/libraries/libnxml/default.nix7
-rw-r--r--pkgs/development/libraries/liboil/default.nix5
-rw-r--r--pkgs/development/libraries/liboop/default.nix3
-rw-r--r--pkgs/development/libraries/libosmium/default.nix8
-rw-r--r--pkgs/development/libraries/libotr/default.nix5
-rw-r--r--pkgs/development/libraries/libpinyin/default.nix34
-rw-r--r--pkgs/development/libraries/libpipeline/default.nix7
-rw-r--r--pkgs/development/libraries/libplacebo/default.nix6
-rw-r--r--pkgs/development/libraries/libplctag/default.nix4
-rw-r--r--pkgs/development/libraries/libpng/12.nix5
-rw-r--r--pkgs/development/libraries/libportal/default.nix46
-rw-r--r--pkgs/development/libraries/libpqxx/default.nix4
-rw-r--r--pkgs/development/libraries/libproxy/default.nix10
-rw-r--r--pkgs/development/libraries/libpseudo/default.nix5
-rw-r--r--pkgs/development/libraries/libptytty/default.nix26
-rw-r--r--pkgs/development/libraries/libqalculate/default.nix4
-rw-r--r--pkgs/development/libraries/librdf/raptor.nix5
-rw-r--r--pkgs/development/libraries/librdf/rasqal.nix5
-rw-r--r--pkgs/development/libraries/librdf/redland.nix5
-rw-r--r--pkgs/development/libraries/libre/default.nix24
-rw-r--r--pkgs/development/libraries/libredwg/default.nix4
-rw-r--r--pkgs/development/libraries/librem/default.nix24
-rw-r--r--pkgs/development/libraries/librep/default.nix1
-rw-r--r--pkgs/development/libraries/libressl/default.nix4
-rw-r--r--pkgs/development/libraries/libroxml/default.nix9
-rw-r--r--pkgs/development/libraries/librsvg/default.nix8
-rw-r--r--pkgs/development/libraries/librtlsdr/default.nix2
-rw-r--r--pkgs/development/libraries/libscrypt/default.nix4
-rw-r--r--pkgs/development/libraries/libsearpc/default.nix27
-rw-r--r--pkgs/development/libraries/libseccomp/default.nix12
-rw-r--r--pkgs/development/libraries/libshout/default.nix2
-rw-r--r--pkgs/development/libraries/libshumate/default.nix17
-rw-r--r--pkgs/development/libraries/libsigcxx/1.2.nix5
-rw-r--r--pkgs/development/libraries/libsigsegv/default.nix5
-rw-r--r--pkgs/development/libraries/libsoup/3.x.nix4
-rw-r--r--pkgs/development/libraries/libsoup/default.nix4
-rw-r--r--pkgs/development/libraries/libspng/default.nix4
-rw-r--r--pkgs/development/libraries/libstemmer/default.nix3
-rw-r--r--pkgs/development/libraries/libsurvive/default.nix12
-rw-r--r--pkgs/development/libraries/libtasn1/default.nix7
-rw-r--r--pkgs/development/libraries/libthai/default.nix4
-rw-r--r--pkgs/development/libraries/libthreadar/default.nix1
-rw-r--r--pkgs/development/libraries/libtiff/default.nix8
-rw-r--r--pkgs/development/libraries/libtiger/default.nix5
-rw-r--r--pkgs/development/libraries/libtorrent-rasterbar/1.1.nix1
-rw-r--r--pkgs/development/libraries/libtoxcore/new-api.nix3
-rw-r--r--pkgs/development/libraries/libudfread/default.nix22
-rw-r--r--pkgs/development/libraries/libunibreak/default.nix4
-rw-r--r--pkgs/development/libraries/liburcu/default.nix4
-rw-r--r--pkgs/development/libraries/liburing/default.nix11
-rw-r--r--pkgs/development/libraries/libusbgx/default.nix22
-rw-r--r--pkgs/development/libraries/libuv/default.nix4
-rw-r--r--pkgs/development/libraries/libviper/default.nix5
-rw-r--r--pkgs/development/libraries/libvirt/5.9.0.nix141
-rw-r--r--pkgs/development/libraries/libvirt/default.nix21
-rw-r--r--pkgs/development/libraries/libvncserver/default.nix25
-rw-r--r--pkgs/development/libraries/libwacom/default.nix4
-rw-r--r--pkgs/development/libraries/libwpd/0.8.nix5
-rw-r--r--pkgs/development/libraries/libwpd/default.nix5
-rw-r--r--pkgs/development/libraries/libwpe/default.nix4
-rw-r--r--pkgs/development/libraries/libwpe/fdo.nix4
-rw-r--r--pkgs/development/libraries/libx86emu/default.nix4
-rw-r--r--pkgs/development/libraries/libxc/default.nix4
-rw-r--r--pkgs/development/libraries/libxdg-basedir/default.nix6
-rw-r--r--pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix5
-rw-r--r--pkgs/development/libraries/libxls/default.nix22
-rw-r--r--pkgs/development/libraries/libxslt/default.nix8
-rw-r--r--pkgs/development/libraries/libyaml-cpp/0.3.0.nix2
-rw-r--r--pkgs/development/libraries/libyaml-cpp/default.nix2
-rw-r--r--pkgs/development/libraries/libyang/default.nix61
-rw-r--r--pkgs/development/libraries/libzim/default.nix4
-rw-r--r--pkgs/development/libraries/libzmf/default.nix1
-rw-r--r--pkgs/development/libraries/linbox/default.nix18
-rw-r--r--pkgs/development/libraries/linbox/patches/linbox-pr256-part2.patch13
-rw-r--r--pkgs/development/libraries/liquidfun/default.nix33
-rw-r--r--pkgs/development/libraries/lirc/default.nix4
-rw-r--r--pkgs/development/libraries/live555/default.nix44
-rw-r--r--pkgs/development/libraries/log4cplus/default.nix10
-rw-r--r--pkgs/development/libraries/loudmouth/default.nix2
-rw-r--r--pkgs/development/libraries/lzlib/default.nix12
-rw-r--r--pkgs/development/libraries/mapbox-gl-qml/default.nix4
-rw-r--r--pkgs/development/libraries/mauikit-filebrowsing/default.nix4
-rw-r--r--pkgs/development/libraries/mauikit/default.nix4
-rw-r--r--pkgs/development/libraries/mbedtls/default.nix4
-rw-r--r--pkgs/development/libraries/mdds/default.upstream10
-rw-r--r--pkgs/development/libraries/menu-cache/default.nix10
-rw-r--r--pkgs/development/libraries/mesa/default.nix12
-rw-r--r--pkgs/development/libraries/mesa/musl.patch59
-rw-r--r--pkgs/development/libraries/minizip/default.nix3
-rw-r--r--pkgs/development/libraries/mlt/default.nix4
-rw-r--r--pkgs/development/libraries/mm-common/default.nix4
-rw-r--r--pkgs/development/libraries/mpich/default.nix8
-rw-r--r--pkgs/development/libraries/mpir/default.nix1
-rw-r--r--pkgs/development/libraries/mysocketw/default.nix18
-rw-r--r--pkgs/development/libraries/mythes/default.nix5
-rw-r--r--pkgs/development/libraries/nanoflann/default.nix4
-rw-r--r--pkgs/development/libraries/ncnn/cmakelists.patch13
-rw-r--r--pkgs/development/libraries/ncnn/default.nix50
-rw-r--r--pkgs/development/libraries/ncnn/gpu-include.patch13
-rw-r--r--pkgs/development/libraries/nco/default.nix4
-rw-r--r--pkgs/development/libraries/ncurses/default.nix64
-rw-r--r--pkgs/development/libraries/ndpi/default.nix6
-rw-r--r--pkgs/development/libraries/neardal/default.nix3
-rw-r--r--pkgs/development/libraries/neon/0.29.nix49
-rw-r--r--pkgs/development/libraries/neon/darwin-fix-configure.patch (renamed from pkgs/development/libraries/neon/0.29.6-darwin-fix-configure.patch)0
-rw-r--r--pkgs/development/libraries/neon/default.nix2
-rw-r--r--pkgs/development/libraries/nghttp3/default.nix14
-rw-r--r--pkgs/development/libraries/ngtcp2/default.nix19
-rw-r--r--pkgs/development/libraries/notcurses/default.nix58
-rw-r--r--pkgs/development/libraries/npth/default.nix5
-rw-r--r--pkgs/development/libraries/nspr/default.nix4
-rw-r--r--pkgs/development/libraries/nss/default.nix4
-rw-r--r--pkgs/development/libraries/nsync/default.nix29
-rw-r--r--pkgs/development/libraries/ntrack/default.nix4
-rw-r--r--pkgs/development/libraries/nuspell/default.nix4
-rw-r--r--pkgs/development/libraries/ogre/1.10.x.nix7
-rw-r--r--pkgs/development/libraries/olm/default.nix4
-rw-r--r--pkgs/development/libraries/opae/default.nix7
-rw-r--r--pkgs/development/libraries/openal-soft/default.nix5
-rw-r--r--pkgs/development/libraries/openbabel/2.nix12
-rw-r--r--pkgs/development/libraries/opencl-headers/default.nix2
-rw-r--r--pkgs/development/libraries/opencv/4.x.nix22
-rw-r--r--pkgs/development/libraries/opencv/default.nix6
-rw-r--r--pkgs/development/libraries/opendbx/default.nix5
-rw-r--r--pkgs/development/libraries/openexr/3.nix18
-rw-r--r--pkgs/development/libraries/openexr/default.nix7
-rw-r--r--pkgs/development/libraries/openfec/default.nix40
-rw-r--r--pkgs/development/libraries/openh264/default.nix10
-rw-r--r--pkgs/development/libraries/openslp/default.nix7
-rw-r--r--pkgs/development/libraries/openssl/default.nix31
-rw-r--r--pkgs/development/libraries/openxr-loader/default.nix4
-rw-r--r--pkgs/development/libraries/osip/default.upstream3
-rw-r--r--pkgs/development/libraries/p11-kit/default.nix55
-rw-r--r--pkgs/development/libraries/pango/default.nix4
-rw-r--r--pkgs/development/libraries/pangomm/2.48.nix4
-rw-r--r--pkgs/development/libraries/pangomm/default.nix4
-rw-r--r--pkgs/development/libraries/pangoxsl/default.nix22
-rw-r--r--pkgs/development/libraries/pcmsolver/default.nix4
-rw-r--r--pkgs/development/libraries/pcre/default.nix4
-rw-r--r--pkgs/development/libraries/pcre2/default.nix4
-rw-r--r--pkgs/development/libraries/phash/default.nix1
-rw-r--r--pkgs/development/libraries/physics/apfel/default.nix4
-rw-r--r--pkgs/development/libraries/physics/fastjet/default.nix2
-rw-r--r--pkgs/development/libraries/pico-sdk/default.nix4
-rw-r--r--pkgs/development/libraries/pipewire/0050-pipewire-pulse-path.patch10
-rw-r--r--pkgs/development/libraries/pipewire/0090-pipewire-config-template-paths.patch26
-rw-r--r--pkgs/development/libraries/pipewire/default.nix57
-rw-r--r--pkgs/development/libraries/pipewire/media-session.nix15
-rw-r--r--pkgs/development/libraries/pipewire/wireplumber.nix83
-rw-r--r--pkgs/development/libraries/pkcs11helper/default.nix6
-rw-r--r--pkgs/development/libraries/plasma-wayland-protocols/default.nix4
-rw-r--r--pkgs/development/libraries/pocketsphinx/default.nix5
-rw-r--r--pkgs/development/libraries/poco/default.nix10
-rw-r--r--pkgs/development/libraries/polkit/default.nix9
-rw-r--r--pkgs/development/libraries/poppler/default.nix4
-rw-r--r--pkgs/development/libraries/portmidi/default.nix2
-rw-r--r--pkgs/development/libraries/precice/default.nix2
-rw-r--r--pkgs/development/libraries/proj/default.nix13
-rw-r--r--pkgs/development/libraries/protobuf/3.16.nix4
-rw-r--r--pkgs/development/libraries/protobuf/3.18.nix4
-rw-r--r--pkgs/development/libraries/protobuf/3.19.nix4
-rw-r--r--pkgs/development/libraries/protolock/default.nix2
-rw-r--r--pkgs/development/libraries/protozero/default.nix8
-rw-r--r--pkgs/development/libraries/ptex/default.nix4
-rw-r--r--pkgs/development/libraries/pth/default.nix5
-rw-r--r--pkgs/development/libraries/pugixml/default.nix4
-rw-r--r--pkgs/development/libraries/qcoro/default.nix5
-rw-r--r--pkgs/development/libraries/qgnomeplatform/default.nix4
-rw-r--r--pkgs/development/libraries/qpdf/default.nix4
-rw-r--r--pkgs/development/libraries/qrcodegen/default.nix39
-rw-r--r--pkgs/development/libraries/qscintilla-qt4/default.nix67
-rw-r--r--pkgs/development/libraries/qscintilla-qt4/fix-qt4-build.patch (renamed from pkgs/development/libraries/qscintilla/fix-qt4-build.patch)0
-rw-r--r--pkgs/development/libraries/qscintilla/default.nix43
-rw-r--r--pkgs/development/libraries/qt-5/5.12/default.nix39
-rw-r--r--pkgs/development/libraries/qt-5/5.14/default.nix39
-rw-r--r--pkgs/development/libraries/qt-5/5.15/default.nix39
-rw-r--r--pkgs/development/libraries/qt-5/5.15/srcs.nix4
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtwebengine.nix5
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtwebkit.nix4
-rw-r--r--pkgs/development/libraries/qt-5/qtModule.nix2
-rw-r--r--pkgs/development/libraries/qtscriptgenerator/default.nix8
-rw-r--r--pkgs/development/libraries/qtstyleplugin-kvantum/default.nix4
-rw-r--r--pkgs/development/libraries/quickder/default.nix4
-rw-r--r--pkgs/development/libraries/quictls/default.nix6
-rw-r--r--pkgs/development/libraries/qwt/6.nix7
-rw-r--r--pkgs/development/libraries/qwt/6_qt4.nix7
-rw-r--r--pkgs/development/libraries/rabbitmq-java-client/default.nix11
-rw-r--r--pkgs/development/libraries/range-v3/default.nix11
-rw-r--r--pkgs/development/libraries/re2/default.nix12
-rw-r--r--pkgs/development/libraries/readline/5.x.nix7
-rw-r--r--pkgs/development/libraries/readline/6.2.nix7
-rw-r--r--pkgs/development/libraries/readline/6.3.nix3
-rw-r--r--pkgs/development/libraries/reproc/default.nix4
-rw-r--r--pkgs/development/libraries/resolv_wrapper/default.nix5
-rw-r--r--pkgs/development/libraries/retro-gtk/default.nix6
-rw-r--r--pkgs/development/libraries/rinutils/default.nix4
-rw-r--r--pkgs/development/libraries/rlog/default.nix7
-rw-r--r--pkgs/development/libraries/rocksdb/default.nix4
-rw-r--r--pkgs/development/libraries/rocm-device-libs/default.nix2
-rw-r--r--pkgs/development/libraries/rure/Cargo.lock49
-rw-r--r--pkgs/development/libraries/rure/default.nix41
-rw-r--r--pkgs/development/libraries/rure/pin.json5
-rwxr-xr-xpkgs/development/libraries/rure/update.sh51
-rw-r--r--pkgs/development/libraries/s2n-tls/default.nix4
-rw-r--r--pkgs/development/libraries/safefile/default.nix17
-rw-r--r--pkgs/development/libraries/science/astronomy/indilib/default.nix4
-rw-r--r--pkgs/development/libraries/science/astronomy/stellarsolver/default.nix6
-rw-r--r--pkgs/development/libraries/science/biology/htslib/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/fenics/default.nix11
-rw-r--r--pkgs/development/libraries/science/math/itpp/default.nix1
-rw-r--r--pkgs/development/libraries/science/math/lcalc/default.nix92
-rw-r--r--pkgs/development/libraries/science/math/lcalc/makefile.patch113
-rw-r--r--pkgs/development/libraries/science/math/libhomfly/default.nix2
-rw-r--r--pkgs/development/libraries/science/math/liblapack/default.nix9
-rw-r--r--pkgs/development/libraries/science/math/metis/default.nix2
-rw-r--r--pkgs/development/libraries/science/math/openblas/default.nix12
-rw-r--r--pkgs/development/libraries/science/math/openlibm/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/petsc/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/primecount/default.nix8
-rw-r--r--pkgs/development/libraries/science/math/primesieve/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/scalapack/default.nix32
-rw-r--r--pkgs/development/libraries/science/math/scs/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/trilinos/default.nix100
-rw-r--r--pkgs/development/libraries/science/math/zn_poly/default.nix2
-rw-r--r--pkgs/development/libraries/seasocks/default.nix4
-rw-r--r--pkgs/development/libraries/sentry-native/default.nix4
-rw-r--r--pkgs/development/libraries/shapelib/default.nix5
-rw-r--r--pkgs/development/libraries/shhmsg/default.nix5
-rw-r--r--pkgs/development/libraries/simgear/default.nix4
-rw-r--r--pkgs/development/libraries/smarty3/default.nix4
-rw-r--r--pkgs/development/libraries/smooth/default.nix4
-rw-r--r--pkgs/development/libraries/smpeg/default.nix2
-rw-r--r--pkgs/development/libraries/snack/default.nix6
-rw-r--r--pkgs/development/libraries/soci/default.nix9
-rw-r--r--pkgs/development/libraries/sofia-sip/default.nix4
-rw-r--r--pkgs/development/libraries/sope/default.nix4
-rw-r--r--pkgs/development/libraries/spandsp/default.nix1
-rw-r--r--pkgs/development/libraries/sparsehash/default.nix5
-rw-r--r--pkgs/development/libraries/speechd/default.nix80
-rw-r--r--pkgs/development/libraries/speechd/fix-mbrola-paths.patch21
-rw-r--r--pkgs/development/libraries/speex/default.nix5
-rw-r--r--pkgs/development/libraries/sphinxbase/default.nix5
-rw-r--r--pkgs/development/libraries/spice-gtk/default.nix22
-rw-r--r--pkgs/development/libraries/spice/default.nix6
-rw-r--r--pkgs/development/libraries/spirv-headers/default.nix6
-rw-r--r--pkgs/development/libraries/sqlcipher/default.nix11
-rw-r--r--pkgs/development/libraries/sqlite/default.nix7
-rw-r--r--pkgs/development/libraries/sqlite/tools.nix7
-rw-r--r--pkgs/development/libraries/srt/default.nix4
-rw-r--r--pkgs/development/libraries/stfl/default.nix6
-rw-r--r--pkgs/development/libraries/swiften/build-fix.patch10
-rw-r--r--pkgs/development/libraries/swiften/default.nix72
-rw-r--r--pkgs/development/libraries/tbb/default.nix2
-rw-r--r--pkgs/development/libraries/tdb/default.nix4
-rw-r--r--pkgs/development/libraries/tdlib/default.nix6
-rw-r--r--pkgs/development/libraries/thrift/0.10.nix2
-rw-r--r--pkgs/development/libraries/thrift/default.nix2
-rw-r--r--pkgs/development/libraries/tiledb/default.nix4
-rw-r--r--pkgs/development/libraries/tl-expected/default.nix2
-rw-r--r--pkgs/development/libraries/tracker-miners/default.nix1
-rw-r--r--pkgs/development/libraries/tracker/default.nix13
-rw-r--r--pkgs/development/libraries/ucx/default.nix4
-rw-r--r--pkgs/development/libraries/umockdev/default.nix4
-rw-r--r--pkgs/development/libraries/unicorn/default.nix2
-rw-r--r--pkgs/development/libraries/uriparser/default.nix8
-rw-r--r--pkgs/development/libraries/v8/5_x.nix199
-rw-r--r--pkgs/development/libraries/v8/8_x.nix169
-rw-r--r--pkgs/development/libraries/v8/default.nix110
-rw-r--r--pkgs/development/libraries/v8/gcc_arm.patch31
-rw-r--r--pkgs/development/libraries/v8/libv8-5.4.232.patch97
-rwxr-xr-xpkgs/development/libraries/v8/update.sh49
-rw-r--r--pkgs/development/libraries/vigra/default.nix6
-rw-r--r--pkgs/development/libraries/volk/default.nix11
-rw-r--r--pkgs/development/libraries/vulkan-headers/default.nix6
-rw-r--r--pkgs/development/libraries/vulkan-loader/default.nix18
-rw-r--r--pkgs/development/libraries/wayland/default.nix13
-rw-r--r--pkgs/development/libraries/wayland/protocols.nix4
-rw-r--r--pkgs/development/libraries/waylandpp/default.nix4
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix4
-rw-r--r--pkgs/development/libraries/webrtc-audio-processing/0.3.nix26
-rw-r--r--pkgs/development/libraries/webrtc-audio-processing/default.nix33
-rw-r--r--pkgs/development/libraries/websocket++/default.nix2
-rw-r--r--pkgs/development/libraries/wlroots/0.14.nix (renamed from pkgs/development/libraries/wlroots/default.nix)4
-rw-r--r--pkgs/development/libraries/wlroots/0.15.nix (renamed from pkgs/development/libraries/wlroots/0.12.nix)41
-rw-r--r--pkgs/development/libraries/wolfssl/default.nix14
-rw-r--r--pkgs/development/libraries/wxwidgets/0001-fix-assertion-using-hide-in-destroy.patch43
-rw-r--r--pkgs/development/libraries/wxwidgets/2.8/default.nix121
-rw-r--r--pkgs/development/libraries/wxwidgets/2.9/default.nix151
-rw-r--r--pkgs/development/libraries/wxwidgets/3.0/default.nix157
-rw-r--r--pkgs/development/libraries/wxwidgets/3.0/mac.nix104
-rw-r--r--pkgs/development/libraries/x264/default.nix2
-rw-r--r--pkgs/development/libraries/x265/default.nix167
-rw-r--r--pkgs/development/libraries/xalanc/default.nix38
-rw-r--r--pkgs/development/libraries/xapian/default.nix2
-rw-r--r--pkgs/development/libraries/xbase/default.nix6
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal-wlr/default.nix4
-rw-r--r--pkgs/development/libraries/xed/default.nix2
-rw-r--r--pkgs/development/libraries/xgboost/default.nix4
-rw-r--r--pkgs/development/libraries/xine-lib/default.nix20
-rw-r--r--pkgs/development/libraries/xml-security-c/default.nix2
-rw-r--r--pkgs/development/libraries/xmlsec/default.nix1
-rw-r--r--pkgs/development/libraries/xxHash/default.nix9
-rw-r--r--pkgs/development/libraries/zeitgeist/default.nix16
-rw-r--r--pkgs/development/libraries/zlib/default.nix6
-rw-r--r--pkgs/development/libraries/zxing-cpp/default.nix5
606 files changed, 5170 insertions, 4562 deletions
diff --git a/pkgs/development/libraries/CGAL/default.nix b/pkgs/development/libraries/CGAL/default.nix
index 630ff8a6964f7..2f2a0905d542b 100644
--- a/pkgs/development/libraries/CGAL/default.nix
+++ b/pkgs/development/libraries/CGAL/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cgal";
-  version = "5.3.1";
+  version = "5.4";
 
   src = fetchFromGitHub {
     owner = "CGAL";
     repo = "releases";
     rev = "CGAL-${version}";
-    sha256 = "sha256-atILY/d2b99v0Kk226KwJ/qEcJnWBhtge52wkz6Bgcg=";
+    sha256 = "sha256-flrVWsvGAdGVCZ1Ygy9z30w6aU8WAzpMLv+JbP2CKjE=";
   };
 
   # note: optional component libCGAL_ImageIO would need zlib and opengl;
diff --git a/pkgs/development/libraries/LAStools/default.nix b/pkgs/development/libraries/LAStools/default.nix
index f9f3b09ba0ac8..d38fa0609d86d 100644
--- a/pkgs/development/libraries/LAStools/default.nix
+++ b/pkgs/development/libraries/LAStools/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "LAStools";
-  version = "201003"; # LAStools makes release-ish commits with a message containing their version number as YYMMDD; these align with their website changelog
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "LAStools";
     repo = "LAStools";
-    rev = "635b76b42cc4912762da31b92f875df5310e1714";
-    sha256 = "0682ca3bp51lmfp46vsjnd1bqpn05g95pf4kclvjv1y8qivkxsaq";
+    rev = "v${version}";
+    sha256 = "19y49j5af3z3fsiknq9kg9yjcsr73ywng8dfy837y97q4shc9g00";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/LASzip/LASzip2.nix b/pkgs/development/libraries/LASzip/LASzip2.nix
index b080153826ad1..4f63dfe8059c8 100644
--- a/pkgs/development/libraries/LASzip/LASzip2.nix
+++ b/pkgs/development/libraries/LASzip/LASzip2.nix
@@ -1,12 +1,14 @@
-{ lib, stdenv, fetchurl, cmake }:
+{ lib, stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
   version = "2.2.0";
   pname = "LASzip";
 
-  src = fetchurl {
-    url = "https://github.com/LASzip/LASzip/archive/v${version}.tar.gz";
-    sha256 = "b8e8cc295f764b9d402bc587f3aac67c83ed8b39f1cb686b07c168579c61fbb2";
+  src = fetchFromGitHub {
+    owner = "LASzip";
+    repo = "LASzip";
+    rev = "v${version}";
+    sha256 = "sha256-TXzse4oLjNX5R2xDR721iV+gW/rP5z3Zciv4OgxfeqA=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/SDL2/Fix-build-against-wayland-1.20.patch b/pkgs/development/libraries/SDL2/Fix-build-against-wayland-1.20.patch
new file mode 100644
index 0000000000000..1be600bedb355
--- /dev/null
+++ b/pkgs/development/libraries/SDL2/Fix-build-against-wayland-1.20.patch
@@ -0,0 +1,43 @@
+From a31d1f1683ef2e9c063c3fa1db79d111cca99414 Mon Sep 17 00:00:00 2001
+From: David Redondo <kde@david-redondo.de>
+Date: Fri, 10 Dec 2021 16:22:34 +0100
+Subject: [PATCH] Fix build against wayland 1.20
+
+Fixes #5088
+
+(cherry picked from commit e2ade2bfc46d915cd306c63c830b81d800b2575f)
+---
+ src/video/wayland/SDL_waylanddyn.h | 2 ++
+ src/video/wayland/SDL_waylandsym.h | 4 ++++
+ 2 files changed, 6 insertions(+)
+
+diff --git a/src/video/wayland/SDL_waylanddyn.h b/src/video/wayland/SDL_waylanddyn.h
+index 485a9c19f..37070e946 100644
+--- a/src/video/wayland/SDL_waylanddyn.h
++++ b/src/video/wayland/SDL_waylanddyn.h
+@@ -81,6 +81,8 @@ void SDL_WAYLAND_UnloadSymbols(void);
+ #define wl_proxy_add_listener (*WAYLAND_wl_proxy_add_listener)
+ #define wl_proxy_marshal_constructor (*WAYLAND_wl_proxy_marshal_constructor)
+ #define wl_proxy_marshal_constructor_versioned (*WAYLAND_wl_proxy_marshal_constructor_versioned)
++#define wl_proxy_marshal_flags (*WAYLAND_wl_proxy_marshal_flags)
++#define wl_proxy_marshal_array_flags (*WAYLAND_wl_proxy_marshal_array_flags)
+
+ #define wl_seat_interface (*WAYLAND_wl_seat_interface)
+ #define wl_surface_interface (*WAYLAND_wl_surface_interface)
+diff --git a/src/video/wayland/SDL_waylandsym.h b/src/video/wayland/SDL_waylandsym.h
+index c4c189d3c..789f49e27 100644
+--- a/src/video/wayland/SDL_waylandsym.h
++++ b/src/video/wayland/SDL_waylandsym.h
+@@ -71,6 +71,10 @@ SDL_WAYLAND_SYM(struct wl_proxy *, wl_proxy_marshal_constructor, (struct wl_prox
+ SDL_WAYLAND_MODULE(WAYLAND_CLIENT_1_10)
+ SDL_WAYLAND_SYM(struct wl_proxy *, wl_proxy_marshal_constructor_versioned, (struct wl_proxy *proxy, uint32_t opcode, const struct wl_interface *interface, uint32_t version, ...))
+
++SDL_WAYLAND_MODULE(WAYLAND_CLIENT_1_20)
++SDL_WAYLAND_SYM(struct wl_proxy*, wl_proxy_marshal_flags, (struct wl_proxy *proxy, uint32_t opcode, const struct wl_interface *interfac, uint32_t version, uint32_t flags, ...))
++SDL_WAYLAND_SYM(struct wl_proxy*, wl_proxy_marshal_array_flags, (struct wl_proxy *proxy, uint32_t opcode, const struct wl_interface *interface, uint32_t version,  uint32_t flags, union wl_argument *args))
++
+ SDL_WAYLAND_INTERFACE(wl_seat_interface)
+ SDL_WAYLAND_INTERFACE(wl_surface_interface)
+ SDL_WAYLAND_INTERFACE(wl_shm_pool_interface)
+--
+2.33.1
diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix
index d02dac1f562fd..95022211d2f73 100644
--- a/pkgs/development/libraries/SDL2/default.nix
+++ b/pkgs/development/libraries/SDL2/default.nix
@@ -35,7 +35,11 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" ];
   outputBin = "dev"; # sdl-config
 
-  patches = [ ./find-headers.patch ];
+  patches = [
+    ./find-headers.patch
+    # To fix the build with wayland 1.20.0:
+    ./Fix-build-against-wayland-1.20.patch
+  ];
 
   # Fix with mesa 19.2: https://bugzilla.libsdl.org/show_bug.cgi?id=4797
   postPatch = ''
diff --git a/pkgs/development/libraries/SDL2_ttf/2.0.15.nix b/pkgs/development/libraries/SDL2_ttf/2.0.15.nix
new file mode 100644
index 0000000000000..a5057c0fbec84
--- /dev/null
+++ b/pkgs/development/libraries/SDL2_ttf/2.0.15.nix
@@ -0,0 +1,25 @@
+{ lib, stdenv, pkg-config, darwin, fetchurl, SDL2, freetype, libGL }:
+
+stdenv.mkDerivation rec {
+  pname = "SDL2_ttf";
+  version = "2.0.15";
+
+  src = fetchurl {
+    url = "https://www.libsdl.org/projects/SDL_ttf/release/${pname}-${version}.tar.gz";
+    sha256 = "0cyd48dipc0m399qy8s03lci8b0bpiy8xlkvrm2ia7wcv0dfpv59";
+  };
+
+  configureFlags = lib.optional stdenv.isDarwin "--disable-sdltest";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ SDL2 freetype libGL ]
+    ++ lib.optional stdenv.isDarwin darwin.libobjc;
+
+  meta = with lib; {
+    description = "SDL TrueType library";
+    platforms = platforms.unix;
+    license = licenses.zlib;
+    homepage = "https://www.libsdl.org/projects/SDL_ttf/";
+  };
+}
diff --git a/pkgs/development/libraries/SDL2_ttf/default.nix b/pkgs/development/libraries/SDL2_ttf/default.nix
index a5057c0fbec84..6975dfff24ae8 100644
--- a/pkgs/development/libraries/SDL2_ttf/default.nix
+++ b/pkgs/development/libraries/SDL2_ttf/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "SDL2_ttf";
-  version = "2.0.15";
+  version = "2.0.18";
 
   src = fetchurl {
     url = "https://www.libsdl.org/projects/SDL_ttf/release/${pname}-${version}.tar.gz";
-    sha256 = "0cyd48dipc0m399qy8s03lci8b0bpiy8xlkvrm2ia7wcv0dfpv59";
+    sha256 = "sha256-cjTriINRTgGed0fHA+SndFdbGNQ1wipKKdBoy3aKIlE=";
   };
 
   configureFlags = lib.optional stdenv.isDarwin "--disable-sdltest";
@@ -17,9 +17,9 @@ stdenv.mkDerivation rec {
     ++ lib.optional stdenv.isDarwin darwin.libobjc;
 
   meta = with lib; {
-    description = "SDL TrueType library";
+    description = "Support for TrueType (.ttf) font files with Simple Directmedia Layer";
     platforms = platforms.unix;
     license = licenses.zlib;
-    homepage = "https://www.libsdl.org/projects/SDL_ttf/";
+    homepage = "https://github.com/libsdl-org/SDL_ttf";
   };
 }
diff --git a/pkgs/development/libraries/abseil-cpp/default.nix b/pkgs/development/libraries/abseil-cpp/202103.nix
index 2ade512de310f..d2a1f389324c5 100644
--- a/pkgs/development/libraries/abseil-cpp/default.nix
+++ b/pkgs/development/libraries/abseil-cpp/202103.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     owner = "abseil";
     repo = "abseil-cpp";
     rev = version;
-    sha256 = "0g9rbhk3mwjdfxk7cscd04vm8fphd5flz9yykpgvyy1nwa34zk3x";
+    sha256 = "sha256-fcxPhuI2eL/fnd6nT11p8DpUNwGNaXZmd03yOiZcOT0=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/abseil-cpp/202111.nix b/pkgs/development/libraries/abseil-cpp/202111.nix
new file mode 100644
index 0000000000000..d40ca0bd4ab23
--- /dev/null
+++ b/pkgs/development/libraries/abseil-cpp/202111.nix
@@ -0,0 +1,36 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, cmake
+, static ? stdenv.hostPlatform.isStatic
+, cxxStandard ? null
+}:
+
+stdenv.mkDerivation rec {
+  pname = "abseil-cpp";
+  version = "20211102.0";
+
+  src = fetchFromGitHub {
+    owner = "abseil";
+    repo = "abseil-cpp";
+    rev = version;
+    sha256 = "sha256-sSXT6D4JSrk3dA7kVaxfKkzOMBpqXQb0WbMYWG+nGwk=";
+  };
+
+  cmakeFlags = [
+    "-DBUILD_SHARED_LIBS=${if static then "OFF" else "ON"}"
+  ] ++ lib.optionals (cxxStandard != null) [
+    "-DCMAKE_CXX_STANDARD=${cxxStandard}"
+  ];
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with lib; {
+    description = "An open-source collection of C++ code designed to augment the C++ standard library";
+    homepage = "https://abseil.io/";
+    license = licenses.asl20;
+    platforms = platforms.all;
+    maintainers = [ maintainers.andersk ];
+  };
+}
diff --git a/pkgs/development/libraries/accountsservice/default.nix b/pkgs/development/libraries/accountsservice/default.nix
index 41c9da0420470..bd6f2545b3b09 100644
--- a/pkgs/development/libraries/accountsservice/default.nix
+++ b/pkgs/development/libraries/accountsservice/default.nix
@@ -41,12 +41,14 @@ stdenv.mkDerivation rec {
   buildInputs = [
     glib
     polkit
+    systemd
   ];
 
   mesonFlags = [
     "-Dadmin_group=wheel"
     "-Dlocalstatedir=/var"
     "-Dsystemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
+    "-Dsystemd=true"
   ];
 
   postPatch = ''
diff --git a/pkgs/development/libraries/ace/default.nix b/pkgs/development/libraries/ace/default.nix
index df390ec1668da..9616c13cc40c9 100644
--- a/pkgs/development/libraries/ace/default.nix
+++ b/pkgs/development/libraries/ace/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ace";
-  version = "7.0.5";
+  version = "7.0.6";
 
   src = fetchurl {
     url = "https://download.dre.vanderbilt.edu/previous_versions/ACE-${version}.tar.bz2";
-    sha256 = "sha256-Q4v0HhhKUmLit5+V7bb9g4T7fqaeJJxU512vBZqNl1c=";
+    sha256 = "sha256-SgzX2khR92n9388z9mPrpK+tgk7+/59Z8TTEZA7oAhY=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/aften/default.nix b/pkgs/development/libraries/aften/default.nix
index 488c5b6e729ad..11ed0f1b28b78 100644
--- a/pkgs/development/libraries/aften/default.nix
+++ b/pkgs/development/libraries/aften/default.nix
@@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
     homepage = "http://aften.sourceforge.net/";
     license = licenses.lgpl21Only;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
   };
 }
diff --git a/pkgs/development/libraries/amdvlk/default.nix b/pkgs/development/libraries/amdvlk/default.nix
index 6c9650cacca94..16fb32cf011f3 100644
--- a/pkgs/development/libraries/amdvlk/default.nix
+++ b/pkgs/development/libraries/amdvlk/default.nix
@@ -22,13 +22,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "amdvlk";
-  version = "2021.Q4.2";
+  version = "2022.Q1.1";
 
   src = fetchRepoProject {
     name = "${pname}-src";
     manifest = "https://github.com/GPUOpen-Drivers/AMDVLK.git";
     rev = "refs/tags/v-${version}";
-    sha256 = "DpylZjIqWmCnUI0lEvd/HQcY+lr8asMurt1K9MI3qQw=";
+    sha256 = "jdAFIC2JYPqCADx/73KM6E3rLFWF4SlEdY9lCK1NOhU=";
   };
 
   buildInputs = [
@@ -87,11 +87,11 @@ in stdenv.mkDerivation rec {
     #!nix-shell -i bash -p coreutils curl gnused jq common-updater-scripts
 
     function setHash() {
-      sed -i "pkgs/development/libraries/amdvlk/default.nix" -e 's,sha256 = "[^.'"'"']*",sha256 = "'"$1"'",'
+      sed -i "pkgs/development/libraries/amdvlk/default.nix" -e 's,sha256 = "[^'"'"'"]*",sha256 = "'"$1"'",'
     }
 
     version="$(curl -sL "https://api.github.com/repos/GPUOpen-Drivers/AMDVLK/releases?per_page=1" | jq '.[0].tag_name | split("-") | .[1]' --raw-output)"
-    sed -i "pkgs/development/libraries/amdvlk/default.nix" -e 's/version = "[^.'"'"']*"/version = "'"$version"'"/'
+    sed -i "pkgs/development/libraries/amdvlk/default.nix" -e 's/version = "[^'"'"'"]*"/version = "'"$version"'"/'
 
     setHash "$(nix-instantiate --eval -A lib.fakeSha256 | xargs echo)"
     hash="$(nix to-base64 $(nix-build -A amdvlk 2>&1 | tail -n3 | grep 'got:' | cut -d: -f2- | xargs echo || true))"
diff --git a/pkgs/development/libraries/apr-util/default.nix b/pkgs/development/libraries/apr-util/default.nix
index bd00a612d4eec..57bf47f3abf17 100644
--- a/pkgs/development/libraries/apr-util/default.nix
+++ b/pkgs/development/libraries/apr-util/default.nix
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" ];
   outputBin = "dev";
 
+  nativeBuildInputs = [ makeWrapper ];
   buildInputs = optional stdenv.isFreeBSD autoreconfHook;
 
   configureFlags = [ "--with-apr=${apr.dev}" "--with-expat=${expat.dev}" ]
@@ -38,7 +39,15 @@ stdenv.mkDerivation rec {
         "--without-freetds" "--without-berkeley-db" "--without-crypto" ]
     ;
 
-  propagatedBuildInputs = [ makeWrapper apr expat libiconv ]
+  # For some reason, db version 6.9 is selected when cross-compiling.
+  # It's unclear as to why, it requires someone with more autotools / configure knowledge to go deeper into that.
+  # Always replacing the link flag with a generic link flag seems to help though, so let's do that for now.
+  postConfigure = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
+    substituteInPlace Makefile \
+      --replace "-ldb-6.9" "-ldb"
+  '';
+
+  propagatedBuildInputs = [ apr expat libiconv ]
     ++ optional sslSupport openssl
     ++ optional bdbSupport db
     ++ optional ldapSupport openldap
@@ -63,7 +72,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    homepage = "http://apr.apache.org/";
+    homepage = "https://apr.apache.org/";
     description = "A companion library to APR, the Apache Portable Runtime";
     maintainers = [ maintainers.eelco ];
     platforms = platforms.unix;
diff --git a/pkgs/development/libraries/aqbanking/default.nix b/pkgs/development/libraries/aqbanking/default.nix
index 1e11661b0098f..2db69f8028c4c 100644
--- a/pkgs/development/libraries/aqbanking/default.nix
+++ b/pkgs/development/libraries/aqbanking/default.nix
@@ -29,7 +29,7 @@ in stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "An interface to banking tasks, file formats and country information";
-    homepage = "https://www.aquamaniac.de/";
+    homepage = "https://www.aquamaniac.de/rdm/";
     hydraPlatforms = [];
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ goibhniu ];
diff --git a/pkgs/development/libraries/aqbanking/gwenhywfar.nix b/pkgs/development/libraries/aqbanking/gwenhywfar.nix
index 64b7aefe8b926..527db0e2c1e62 100644
--- a/pkgs/development/libraries/aqbanking/gwenhywfar.nix
+++ b/pkgs/development/libraries/aqbanking/gwenhywfar.nix
@@ -61,8 +61,8 @@ in stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "OS abstraction functions used by aqbanking and related tools";
-    homepage = "http://www2.aquamaniac.de/sites/download/packages.php?package=01&showall=1";
-    license = licenses.lgpl21;
+    homepage = "https://www.aquamaniac.de/rdm/projects/gwenhywfar";
+    license = licenses.lgpl21Plus;
     maintainers = with maintainers; [ goibhniu ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/development/libraries/arb/default.nix b/pkgs/development/libraries/arb/default.nix
index e47dcd8e0ba20..dc160c37ad236 100644
--- a/pkgs/development/libraries/arb/default.nix
+++ b/pkgs/development/libraries/arb/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "arb";
-  version = "2.21.1";
+  version = "2.22.1";
 
   src = fetchFromGitHub {
     owner = "fredrik-johansson";
     repo = pname;
     rev = version;
-    sha256 = "sha256-OBY2gKVnvrZLVrv+d6rXQLo026mrGB9eyNV4LESgrNI=";
+    sha256 = "sha256-Xd3dy7zr4i3pULLFOYtedpS5Yj9Ljwyu6r4kfhRynmE=";
   };
 
   buildInputs = [ mpir gmp mpfr flint ];
@@ -27,6 +27,8 @@ stdenv.mkDerivation rec {
     "--with-flint=${flint}"
   ];
 
+  enableParallelBuilding = true;
+
   doCheck = true;
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/argtable/default.nix b/pkgs/development/libraries/argtable/default.nix
index f22f81c877099..9752b9600397c 100644
--- a/pkgs/development/libraries/argtable/default.nix
+++ b/pkgs/development/libraries/argtable/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "https://argtable.org";
+    homepage = "https://github.com/argtable/argtable3";
     description = "A single-file, ANSI C command-line parsing library";
     longDescription = ''
       Argtable is an open source ANSI C library that parses GNU-style
diff --git a/pkgs/development/libraries/armadillo/default.nix b/pkgs/development/libraries/armadillo/default.nix
index 839a59edfe74b..14400f8ebf952 100644
--- a/pkgs/development/libraries/armadillo/default.nix
+++ b/pkgs/development/libraries/armadillo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "armadillo";
-  version = "10.7.4";
+  version = "10.8.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz";
-    sha256 = "sha256-LBsyxbJZsF40vC3N4cq1ic/LtYF5xyqTxdquoeOVBlI=";
+    sha256 = "sha256-if3YmL9r/3X278OjAYF+Tt51K5qAkn+wfuNYsT41OSI=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/arrayfire/default.nix b/pkgs/development/libraries/arrayfire/default.nix
index a66db48001775..bc0da2ddea20c 100644
--- a/pkgs/development/libraries/arrayfire/default.nix
+++ b/pkgs/development/libraries/arrayfire/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchFromGitHub, cmake, pkg-config
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config
 , opencl-clhpp, ocl-icd, fftw, fftwFloat
 , blas, lapack, boost, mesa, libGLU, libGL
 , freeimage, python3, clfft, clblas
@@ -8,11 +8,14 @@
 
 stdenv.mkDerivation rec {
   pname = "arrayfire";
-  version = "3.6.4";
+  version = "3.7.3";
 
-  src = fetchurl {
-    url = "http://arrayfire.com/arrayfire_source/arrayfire-full-${version}.tar.bz2";
-    sha256 = "1fin7a9rliyqic3z83agkpb8zlq663q6gdxsnm156cs8s7f7rc9h";
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0gcbg6b6gs38xhks5pp0vkcqs89zl7rh9982jqlzsd0h724qddw0";
+    fetchSubmodules = true;
   };
 
   cmakeFlags = [
diff --git a/pkgs/development/libraries/arrow-cpp/default.nix b/pkgs/development/libraries/arrow-cpp/default.nix
index 5138a9654522f..ea0f67ce8c7f5 100644
--- a/pkgs/development/libraries/arrow-cpp/default.nix
+++ b/pkgs/development/libraries/arrow-cpp/default.nix
@@ -22,6 +22,7 @@
 , libnsl
 , lz4
 , minio
+, ninja
 , nlohmann_json
 , openssl
 , perl
@@ -30,6 +31,7 @@
 , rapidjson
 , re2
 , snappy
+, sqlite
 , thrift
 , tzdata
 , utf8proc
@@ -54,26 +56,26 @@ let
   arrow-testing = fetchFromGitHub {
     owner = "apache";
     repo = "arrow-testing";
-    rev = "1d8525e109a12a8c67c489eba48715a199609153";
-    hash = "sha256-tesDW/1yRyhZtpLbPvCVEsocs6KtstYofxB5GiSMEFM=";
+    rev = "634739c664433cec366b4b9a81d1e1044a8c5eda";
+    hash = "sha256-r1WVgJJsI7v485L6Qb+5i7kFO4Tvxyk1T0JBb4og6pg=";
   };
 
   parquet-testing = fetchFromGitHub {
     owner = "apache";
     repo = "parquet-testing";
-    rev = "d4d485956a643c693b5549e1a62d52ca61c170f1";
-    hash = "sha256-GmOAS8gGhzDI0WzORMkWHRRUl/XBwmNen2d3VefZxxc=";
+    rev = "acd375eb86a81cd856476fca0f52ba6036a067ff";
+    hash = "sha256-z/kmi+4dBO/dsVkJA4NgUoxl0pXi8RWIGvI8MGu/gcc=";
   };
 
 in
 stdenv.mkDerivation rec {
   pname = "arrow-cpp";
-  version = "6.0.1";
+  version = "7.0.0";
 
   src = fetchurl {
     url =
       "mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz";
-    hash = "sha256-N4az0t+VTQeLPmj5jS5a7Lqj+irM8HXXo6E8GHucUpQ=";
+    hash = "sha256-6PSbFJoV7O9OQPz6sbh8ETxrHuGGAFwWnlzfldMamd4=";
   };
   sourceRoot = "apache-arrow-${version}/cpp";
 
@@ -85,8 +87,8 @@ stdenv.mkDerivation rec {
     # ./cpp/thirdparty/versions.txt
     owner = "microsoft";
     repo = "mimalloc";
-    rev = "v1.7.2";
-    hash = "sha256-yHupYFgC8mJuLUSpuEAfwF7l6Ue4EiuO1Q4qN4T6wWc=";
+    rev = "v1.7.3";
+    hash = "sha256-Ca877VitpWyKmZNHavqgewk/P+tyd2xHDNVqveKh87M=";
   };
 
   ARROW_XSIMD_URL = fetchFromGitHub {
@@ -103,6 +105,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     cmake
+    ninja
     autoconf # for vendored jemalloc
     flatbuffers
   ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
@@ -156,6 +159,10 @@ stdenv.mkDerivation rec {
     "-DARROW_COMPUTE=ON"
     "-DARROW_CSV=ON"
     "-DARROW_DATASET=ON"
+    "-DARROW_ENGINE=ON"
+    "-DARROW_FILESYSTEM=ON"
+    "-DARROW_FLIGHT_SQL=${if enableFlight then "ON" else "OFF"}"
+    "-DARROW_IPC=ON"
     "-DARROW_JEMALLOC=${if enableJemalloc then "ON" else "OFF"}"
     "-DARROW_JSON=ON"
     "-DARROW_PLASMA=ON"
@@ -199,21 +206,12 @@ stdenv.mkDerivation rec {
         "S3RegionResolutionTest.PublicBucket"
         "S3RegionResolutionTest.RestrictedBucket"
         "TestMinioServer.Connect"
-        "TestS3FS.GetFileInfoRoot"
-        "TestS3FS.OpenOutputStreamBackgroundWrites"
-        "TestS3FS.OpenOutputStreamDestructorBackgroundWrites"
-        "TestS3FS.OpenOutputStreamDestructorSyncWrite"
-        "TestS3FS.OpenOutputStreamDestructorSyncWrites"
-        "TestS3FS.OpenOutputStreamMetadata"
-        "TestS3FS.OpenOutputStreamSyncWrites"
+        "TestS3FS.*"
         "TestS3FSGeneric.*"
-      ] ++ lib.optionals enableGcs [
-        "GcsFileSystem.FileSystemCompare"
-        "GcsIntegrationTest.*"
       ];
     in
     lib.optionalString doInstallCheck "-${builtins.concatStringsSep ":" filteredTests}";
-  installCheckInputs = [ perl which ] ++ lib.optional enableS3 minio;
+  installCheckInputs = [ perl which sqlite ] ++ lib.optional enableS3 minio;
   installCheckPhase =
     let
       excludedTests = lib.optionals stdenv.isDarwin [
@@ -221,7 +219,7 @@ stdenv.mkDerivation rec {
         # path on Darwin. See https://github.com/NixOS/nix/pull/1085
         "plasma-external-store-tests"
         "plasma-client-tests"
-      ];
+      ] ++ [ "arrow-gcsfs-test" ];
     in
     ''
       runHook preInstallCheck
diff --git a/pkgs/development/libraries/assimp/default.nix b/pkgs/development/libraries/assimp/default.nix
index a98242f9c7c5a..804c97ffd747c 100644
--- a/pkgs/development/libraries/assimp/default.nix
+++ b/pkgs/development/libraries/assimp/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, boost, zlib }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, boost, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "assimp";
@@ -12,6 +12,15 @@ stdenv.mkDerivation rec {
     hash = "sha256-GNSfaP8O5IsjGwtC3DFaV4OiMMUXIcmHmz+5TCT/HP8=";
   };
 
+  patches = [
+    # Fix include directory with split outputs
+    # https://github.com/assimp/assimp/pull/4337
+    (fetchpatch {
+      url = "https://github.com/assimp/assimp/commit/5dcaf445c3da079cf43890a0688428a7e1de0b30.patch";
+      sha256 = "sha256-KwqTAoDPkhFq469+VaUuGoqfymu2bWLG9W3BvFvyU5I=";
+    })
+  ];
+
   nativeBuildInputs = [ cmake ];
   buildInputs = [ boost zlib ];
 
diff --git a/pkgs/development/libraries/audio/libkeyfinder/default.nix b/pkgs/development/libraries/audio/libkeyfinder/default.nix
index 8265cd0ba7c1f..cb34f24ced8d8 100644
--- a/pkgs/development/libraries/audio/libkeyfinder/default.nix
+++ b/pkgs/development/libraries/audio/libkeyfinder/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libkeyfinder";
-  version = "2.2.5";
+  version = "2.2.6";
 
   src = fetchFromGitHub {
     owner = "mixxxdj";
     repo = "libkeyfinder";
     rev = "v${version}";
-    sha256 = "sha256-4jbnsKMGJKUIRfRPymGGgqPgwPyLInc6rLvCXnOcQ5g=";
+    sha256 = "sha256-7w/Wc9ncLinbnM2q3yv5DBtFoJFAM2e9xAUTsqvE9mg=";
   };
 
   # needed for finding libkeyfinder.so to link it into keyfinder-tests executable
diff --git a/pkgs/development/libraries/audio/libsmf/default.nix b/pkgs/development/libraries/audio/libsmf/default.nix
index a98f3f55a488c..b3e3a34973c01 100644
--- a/pkgs/development/libraries/audio/libsmf/default.nix
+++ b/pkgs/development/libraries/audio/libsmf/default.nix
@@ -1,11 +1,14 @@
-{ lib, stdenv, fetchurl, autoreconfHook, glib, pkg-config }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, glib, pkg-config }:
 
 stdenv.mkDerivation rec {
   version = "1.3";
   pname = "libsmf";
-  src = fetchurl {
-    url = "https://github.com/stump/libsmf/archive/${pname}-${version}.tar.gz";
-    sha256 = "1527pcc1vd0l5iks2yw8m0bymcrnih2md5465lwpzw0wgy4rky7n";
+
+  src = fetchFromGitHub {
+    owner = "stump";
+    repo = "libsmf";
+    rev = "libsmf-${version}";
+    sha256 = "sha256-OJXJkXvbM2GQNInZXU2ldObquKHhqkdu1zqUDnVZN0Y=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/development/libraries/audio/lilv/default.nix b/pkgs/development/libraries/audio/lilv/default.nix
index a630d0420b49e..a29fda0ec2b20 100644
--- a/pkgs/development/libraries/audio/lilv/default.nix
+++ b/pkgs/development/libraries/audio/lilv/default.nix
@@ -1,9 +1,15 @@
-{ lib, stdenv, fetchurl, lv2, pkg-config, python3, serd, sord, sratom, wafHook }:
+{ lib, stdenv, fetchurl, lv2, pkg-config, python3, serd, sord, sratom, wafHook
+
+# test derivations
+, pipewire
+}:
 
 stdenv.mkDerivation rec {
   pname = "lilv";
   version = "0.24.12";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchurl {
     url = "https://download.drobilla.net/${pname}-${version}.tar.bz2";
     sha256 = "sha256-JqN3kIkMnB+DggO0f1sjIDNP6SwCpNJuu+Jmnb12kGE=";
@@ -15,6 +21,10 @@ stdenv.mkDerivation rec {
   buildInputs = [ serd sord sratom ];
   propagatedBuildInputs = [ lv2 ];
 
+  passthru.tests = {
+    inherit pipewire;
+  };
+
   meta = with lib; {
     homepage = "http://drobilla.net/software/lilv";
     description = "A C library to make the use of LV2 plugins";
diff --git a/pkgs/development/libraries/audio/lvtk/default.nix b/pkgs/development/libraries/audio/lvtk/default.nix
index 111a72972ed34..414634f070701 100644
--- a/pkgs/development/libraries/audio/lvtk/default.nix
+++ b/pkgs/development/libraries/audio/lvtk/default.nix
@@ -1,12 +1,14 @@
-{ lib, stdenv, fetchurl, boost, gtkmm2, lv2, pkg-config, python2, wafHook }:
+{ lib, stdenv, fetchFromGitHub, boost, gtkmm2, lv2, pkg-config, python2, wafHook }:
 
 stdenv.mkDerivation rec {
   pname = "lvtk";
   version = "1.2.0";
 
-  src = fetchurl {
-    url = "https://github.com/lvtk/lvtk/archive/${version}.tar.gz";
-    sha256 = "03nbj2cqcklqwh50zj2gwm07crh5iwqbpxbpzwbg5hvgl4k4rnjd";
+  src = fetchFromGitHub {
+    owner = "lvtk";
+    repo = "lvtk";
+    rev = version;
+    sha256 = "sha256-6IoyhBig3Nvc4Y8F0w8b1up6sn8O2RmoUVaBQ//+Aaw=";
   };
 
   nativeBuildInputs = [ pkg-config python2 wafHook ];
diff --git a/pkgs/development/libraries/audio/roc-toolkit/0001-Remove-deprecated-scons-call.patch b/pkgs/development/libraries/audio/roc-toolkit/0001-Remove-deprecated-scons-call.patch
new file mode 100644
index 0000000000000..e13dda549705f
--- /dev/null
+++ b/pkgs/development/libraries/audio/roc-toolkit/0001-Remove-deprecated-scons-call.patch
@@ -0,0 +1,24 @@
+From abdfbb94df98fe88be4dd92ca587500126558411 Mon Sep 17 00:00:00 2001
+From: Victor Gaydov <victor@enise.org>
+Date: Sun, 26 Jul 2020 11:54:52 +0300
+Subject: [PATCH] Remove deprecated scons call
+
+---
+ SConstruct | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/SConstruct b/SConstruct
+index 407025d8..04afa91f 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -49,7 +49,6 @@ env = Environment(ENV=os.environ, tools=[
+ # performance tuning
+ env.Decider('MD5-timestamp')
+ env.SetOption('implicit_cache', 1)
+-env.SourceCode('.', None)
+ 
+ # provide absolute path to force single sconsign file
+ # per-directory sconsign files seems to be buggy with generated sources
+-- 
+2.34.1
+
diff --git a/pkgs/development/libraries/audio/roc-toolkit/0002-Fix-compatibility-with-new-SCons.patch b/pkgs/development/libraries/audio/roc-toolkit/0002-Fix-compatibility-with-new-SCons.patch
new file mode 100644
index 0000000000000..097f1b3ff4797
--- /dev/null
+++ b/pkgs/development/libraries/audio/roc-toolkit/0002-Fix-compatibility-with-new-SCons.patch
@@ -0,0 +1,31 @@
+From 15b37bb12a362c7889ac431eca4a47d6b2bdb97c Mon Sep 17 00:00:00 2001
+From: Victor Gaydov <victor@enise.org>
+Date: Sat, 5 Dec 2020 18:38:36 +0300
+Subject: [PATCH] Fix compatibility with new SCons
+
+---
+ site_scons/site_tools/roc/config.py | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/site_scons/site_tools/roc/config.py b/site_scons/site_tools/roc/config.py
+index b42b3adb..03b76be7 100644
+--- a/site_scons/site_tools/roc/config.py
++++ b/site_scons/site_tools/roc/config.py
+@@ -13,7 +13,13 @@ def _run_prog(context, src, suffix):
+     # RunProg may incorrectly use cached results from a previous run saved for
+     # different file contents but the same invocation number. To prevent this, we
+     # monkey patch its global counter with a hashsum of the file contents.
+-    SCons.SConf._ac_build_counter = int(hashlib.md5(src.encode()).hexdigest(), 16)
++    # The workaround is needed only for older versions of SCons, where
++    # _ac_build_counter was an integer.
++    try:
++        if type(SCons.SConf._ac_build_counter) is int:
++            SCons.SConf._ac_build_counter = int(hashlib.md5(src.encode()).hexdigest(), 16)
++    except:
++        pass
+     return context.RunProg(src, suffix)
+ 
+ def CheckLibWithHeaderExt(context, libs, headers, language, expr='1', run=True):
+-- 
+2.34.1
+
diff --git a/pkgs/development/libraries/audio/roc-toolkit/default.nix b/pkgs/development/libraries/audio/roc-toolkit/default.nix
new file mode 100644
index 0000000000000..98c088ed54952
--- /dev/null
+++ b/pkgs/development/libraries/audio/roc-toolkit/default.nix
@@ -0,0 +1,72 @@
+{ stdenv,
+  lib,
+  fetchFromGitHub,
+  scons,
+  ragel,
+  gengetopt,
+  pkg-config,
+  libuv,
+  openfecSupport ? true,
+  openfec,
+  libunwindSupport ? true,
+  libunwind,
+  pulseaudioSupport ? true,
+  libpulseaudio
+}:
+
+stdenv.mkDerivation rec {
+  pname = "roc-toolkit";
+  version = "0.1.5";
+
+  src = fetchFromGitHub {
+    owner = "roc-streaming";
+    repo = "roc-toolkit";
+    rev = "v${version}";
+    sha256 = "sha256:1pld340zfch4p3qaf5anrspq7vmxrgf9ddsdsq92pk49axaaz19w";
+  };
+
+  nativeBuildInputs = [
+    scons
+    ragel
+    gengetopt
+    pkg-config
+  ];
+
+  buildInputs = [
+    libuv
+    libunwind
+    openfec
+    libpulseaudio
+  ];
+
+  sconsFlags =
+    [ "--build=${stdenv.buildPlatform.config}"
+      "--host=${stdenv.hostPlatform.config}"
+      "--prefix=${placeholder "out"}"
+      "--disable-sox"
+      "--disable-doc"
+      "--disable-tests" ] ++
+    lib.optional (!libunwindSupport) "--disable-libunwind" ++
+    lib.optional (!pulseaudioSupport) "--disable-pulseaudio" ++
+    (if (!openfecSupport)
+       then ["--disable-openfec"]
+       else [ "--with-libraries=${openfec}/lib"
+              "--with-openfec-includes=${openfec.dev}/include" ]);
+
+  prePatch = lib.optionalString stdenv.isAarch64
+    "sed -i 's/c++98/c++11/g' SConstruct";
+
+  # TODO: Remove these patches in the next version.
+  patches = [
+    ./0001-Remove-deprecated-scons-call.patch
+    ./0002-Fix-compatibility-with-new-SCons.patch
+  ];
+
+  meta = with lib; {
+    description = "Roc is a toolkit for real-time audio streaming over the network";
+    homepage = "https://github.com/roc-streaming/roc-toolkit";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ bgamari ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/audio/rtmidi/default.nix b/pkgs/development/libraries/audio/rtmidi/default.nix
index 2ba981ae46edd..0780d2978805d 100644
--- a/pkgs/development/libraries/audio/rtmidi/default.nix
+++ b/pkgs/development/libraries/audio/rtmidi/default.nix
@@ -15,43 +15,31 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "4.0.0";
   pname = "rtmidi";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "thestk";
     repo = "rtmidi";
     rev = version;
-    sha256 = "1g31p6a96djlbk9jh5r4pjly3x76lhccva9hrw6xzdma8dsjzgyq";
+    sha256 = "1r1sqmdi499zfh6z6kjkab6d4a7kz3il5kkcdfz9saa6ry992211";
   };
 
   patches = [
-    # PR #230, fix CMake problems
+    # Remove when https://github.com/thestk/rtmidi/pull/278 merged
     (fetchpatch {
-      name = "RtMidi-Fix-JACK_HAS_PORT_RENAME-define.patch";
-      url = "https://github.com/thestk/rtmidi/pull/230/commits/768a30a61b60240b66cc2d43bc27a544ff9f1622.patch";
-      sha256 = "1sym4f7nb2qyyxfhi1l0xsm2hfh6gddn81y36qvfq4mcs33vvid0";
+      name = "0001-rtmidi-Use-posix-sched_yield-instead-of-pthread_yield.patch";
+      url = "https://github.com/thestk/rtmidi/pull/278/commits/cfe34c02112c256235b62b45895fc2c401fd874d.patch";
+      sha256 = "0yzq7zbdkl5r4i0r6vy2kq986cqdxz2cpzb7s977mvh09kdikrw1";
     })
+    # Remove when https://github.com/thestk/rtmidi/pull/277 merged
     (fetchpatch {
-      name = "RtMidi-Add-prefix-define-for-pkgconfig.patch";
-      url = "https://github.com/thestk/rtmidi/pull/230/commits/7a32e23e3f6cb43c0d2d58443ce205d438e76f44.patch";
-      sha256 = "06im8mb05wah6bnkadw2gpkhmilxb8p84pxqr50b205cchpq304w";
+      name = "0002-rtmidi-include-TargetConditionals.h-on-Apple-platforms.patch";
+      url = "https://github.com/thestk/rtmidi/pull/277/commits/9d863beb28f03ec53f3e4c22cc0d3c34a1e1789b.patch";
+      sha256 = "1hlrg23c1ycnwdvxpic8wvypiril04rlph0g820qn1naf92imfjg";
     })
-    (fetchpatch {
-      name = "RtMidi-Adjust-public-header-installs-to-match-autotools.patch";
-      url = "https://github.com/thestk/rtmidi/pull/230/commits/892fe5492f0e787484fa4a37027b08c265ce001f.patch";
-      sha256 = "0ca9m42xa3gmycimzvzvl67wa266xq9pfp1b4v555rh2fp52kbcj";
-    })
-
-    # https://github.com/thestk/rtmidi/pull/277
-    ./macos_include_targetconditionals.patch
   ];
 
-  postPatch = ''
-    substituteInPlace rtmidi.pc.in \
-      --replace 'Requires:' 'Requires.private:'
-  '';
-
   nativeBuildInputs = [ cmake pkg-config ];
 
   buildInputs = lib.optional alsaSupport alsa-lib
diff --git a/pkgs/development/libraries/audio/vamp-plugin-sdk/default.nix b/pkgs/development/libraries/audio/vamp-plugin-sdk/default.nix
index 01b3caa24ea2c..65ce6580dcecf 100644
--- a/pkgs/development/libraries/audio/vamp-plugin-sdk/default.nix
+++ b/pkgs/development/libraries/audio/vamp-plugin-sdk/default.nix
@@ -18,6 +18,10 @@ stdenv.mkDerivation rec {
   buildInputs = [ libsndfile ];
 
   enableParallelBuilding = true;
+  makeFlags = [
+    "AR:=$(AR)"
+    "RANLIB:=$(RANLIB)"
+  ] ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "-o test";
 
   meta = with lib; {
     description = "Audio processing plugin system for plugins that extract descriptive information from audio data";
diff --git a/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix b/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix
index afecd561b727d..3a1118c0d81b1 100644
--- a/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix
+++ b/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "zita-alsa-pcmi";
-  version = "0.3.2";
+  version = "0.4.0";
   src = fetchurl {
     url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2";
-    sha256 = "12d7vdg74yh21w69qi0wg57iz4876j94qbiq09bvscih6xz9y78s";
+    sha256 = "sha256-vYyfNg37VB+2DkinE7rx4i1BssdMGaD+ny005y9Q8cU=";
   };
 
   buildInputs = [ alsa-lib ];
diff --git a/pkgs/development/libraries/avro-c/default.nix b/pkgs/development/libraries/avro-c/default.nix
index ee43daf2d0445..76d5839402cf1 100644
--- a/pkgs/development/libraries/avro-c/default.nix
+++ b/pkgs/development/libraries/avro-c/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "avro-c";
-  version = "1.10.2";
+  version = "1.11.0";
 
   src = fetchurl {
     url = "mirror://apache/avro/avro-${version}/c/avro-c-${version}.tar.gz";
-    sha256 = "sha256-rj+zK+xKBon1Rn4JIBGS7cbo80ITTvBq1FLKhw9Wt+I=";
+    sha256 = "sha256-BlJZClStjkqliiuf8fTOcaZKQbCgXEUp0cUYxh52BkM=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/aws-c-common/default.nix b/pkgs/development/libraries/aws-c-common/default.nix
index e7a09a19ece56..4af6d9b0ac421 100644
--- a/pkgs/development/libraries/aws-c-common/default.nix
+++ b/pkgs/development/libraries/aws-c-common/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "aws-c-common";
-  version = "0.6.17";
+  version = "0.6.18";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+FzTEpotxco4+9gLVUL+rkCWoMjRCorKQ47JINHsnNA=";
+    sha256 = "sha256-5Y+cfiVtZGmExPuE3s5m8hnd0HrPwSiKptj0DM1mtUY=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
   cmakeFlags = [
     "-DBUILD_SHARED_LIBS=ON"
     "-DCMAKE_SKIP_BUILD_RPATH=OFF" # for tests
+  ] ++ lib.optionals stdenv.hostPlatform.isRiscV [
+    "-DCMAKE_C_FLAGS=-fasynchronous-unwind-tables"
   ];
 
   # aws-c-common misuses cmake modules, so we need
diff --git a/pkgs/development/libraries/aws-c-s3/default.nix b/pkgs/development/libraries/aws-c-s3/default.nix
index 514fdee1d4e22..bd8ac2365a412 100644
--- a/pkgs/development/libraries/aws-c-s3/default.nix
+++ b/pkgs/development/libraries/aws-c-s3/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "aws-c-s3";
-  version = "0.1.27";
+  version = "0.1.30";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-c-s3";
     rev = "v${version}";
-    sha256 = "sha256-GtBUC5cKMN9rd5GQbYoipVvxrUCCNKbb5vhHUGQpeH8=";
+    sha256 = "sha256-vsKQJPYdaBveb9kpZitmXFTqEeWWA4h0BkqxRzdOu28=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/aws-crt-cpp/0001-build-Make-includedir-properly-overrideable.patch b/pkgs/development/libraries/aws-crt-cpp/0001-build-Make-includedir-properly-overrideable.patch
new file mode 100644
index 0000000000000..ed08abfb48f84
--- /dev/null
+++ b/pkgs/development/libraries/aws-crt-cpp/0001-build-Make-includedir-properly-overrideable.patch
@@ -0,0 +1,58 @@
+From 6be95cf45c4b5beae8b364468cef42d5c5880836 Mon Sep 17 00:00:00 2001
+From: Jan Tojnar <jtojnar@gmail.com>
+Date: Sun, 9 Jan 2022 01:57:18 +0100
+Subject: [PATCH] build: Make includedir properly overrideable
+
+This is required by some package managers like Nix.
+---
+ CMakeLists.txt | 20 ++++++++++++--------
+ 1 file changed, 12 insertions(+), 8 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ad50174..e0be58c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -54,6 +54,10 @@ elseif(NOT DEFINED CMAKE_INSTALL_LIBDIR)
+     set(CMAKE_INSTALL_LIBDIR "lib")
+ endif()
+ 
++if(NOT DEFINED CMAKE_INSTALL_INCLUDEDIR)
++    set(CMAKE_INSTALL_INCLUDEDIR "include")
++endif()
++
+ if (${CMAKE_INSTALL_LIBDIR} STREQUAL "lib64")
+     set(FIND_LIBRARY_USE_LIB64_PATHS true)
+ endif()
+@@ -302,7 +306,7 @@ endif ()
+ 
+ target_include_directories(${PROJECT_NAME} PUBLIC
+         $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+-        $<INSTALL_INTERFACE:include>)
++        $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
+ 
+ aws_use_package(aws-c-http)
+ aws_use_package(aws-c-mqtt)
+@@ -316,13 +320,13 @@ aws_use_package(aws-c-s3)
+ 
+ target_link_libraries(${PROJECT_NAME} ${DEP_AWS_LIBS})
+ 
+-install(FILES ${AWS_CRT_HEADERS} DESTINATION "include/aws/crt" COMPONENT Development)
+-install(FILES ${AWS_CRT_AUTH_HEADERS} DESTINATION "include/aws/crt/auth" COMPONENT Development)
+-install(FILES ${AWS_CRT_CRYPTO_HEADERS} DESTINATION "include/aws/crt/crypto" COMPONENT Development)
+-install(FILES ${AWS_CRT_IO_HEADERS} DESTINATION "include/aws/crt/io" COMPONENT Development)
+-install(FILES ${AWS_CRT_IOT_HEADERS} DESTINATION "include/aws/iot" COMPONENT Development)
+-install(FILES ${AWS_CRT_MQTT_HEADERS} DESTINATION "include/aws/crt/mqtt" COMPONENT Development)
+-install(FILES ${AWS_CRT_HTTP_HEADERS} DESTINATION "include/aws/crt/http" COMPONENT Development)
++install(FILES ${AWS_CRT_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/crt" COMPONENT Development)
++install(FILES ${AWS_CRT_AUTH_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/crt/auth" COMPONENT Development)
++install(FILES ${AWS_CRT_CRYPTO_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/crt/crypto" COMPONENT Development)
++install(FILES ${AWS_CRT_IO_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/crt/io" COMPONENT Development)
++install(FILES ${AWS_CRT_IOT_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/iot" COMPONENT Development)
++install(FILES ${AWS_CRT_MQTT_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/crt/mqtt" COMPONENT Development)
++install(FILES ${AWS_CRT_HTTP_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/crt/http" COMPONENT Development)
+ 
+ install(
+         TARGETS ${PROJECT_NAME}
+-- 
+2.34.1
+
diff --git a/pkgs/development/libraries/aws-crt-cpp/default.nix b/pkgs/development/libraries/aws-crt-cpp/default.nix
index 5d4a44ccf1595..9f70be5eb8d09 100644
--- a/pkgs/development/libraries/aws-crt-cpp/default.nix
+++ b/pkgs/development/libraries/aws-crt-cpp/default.nix
@@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
   pname = "aws-crt-cpp";
   version = "0.17.8";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-crt-cpp";
@@ -25,6 +27,12 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-eHABIg3v5ycpQzacW/8C74PT6yDOXGmJqDa9P1hN7Mo=";
   };
 
+  patches = [
+    # Correct include path for split outputs.
+    # https://github.com/awslabs/aws-crt-cpp/pull/325
+    ./0001-build-Make-includedir-properly-overrideable.patch
+  ];
+
   postPatch = ''
     substituteInPlace CMakeLists.txt --replace '-Werror' ""
   '';
@@ -53,6 +61,11 @@ stdenv.mkDerivation rec {
     "-DBUILD_SHARED_LIBS=ON"
   ];
 
+  postInstall = ''
+    # Prevent dependency cycle.
+    moveToOutput lib/aws-crt-cpp/cmake "$dev"
+  '';
+
   meta = with lib; {
     description = "C++ wrapper around the aws-c-* libraries";
     homepage = "https://github.com/awslabs/aws-crt-cpp";
diff --git a/pkgs/development/libraries/aws-sdk-cpp/default.nix b/pkgs/development/libraries/aws-sdk-cpp/default.nix
index 25570b7d03a02..769cc2d3bd29d 100644
--- a/pkgs/development/libraries/aws-sdk-cpp/default.nix
+++ b/pkgs/development/libraries/aws-sdk-cpp/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, curl, openssl, s2n-tls, zlib
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, curl, openssl, s2n-tls, zlib
 , aws-crt-cpp
 , aws-c-cal, aws-c-common, aws-c-event-stream, aws-c-io, aws-checksums
 , CoreAudio, AudioToolbox
@@ -18,13 +18,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "aws-sdk-cpp";
-  version = "1.9.121";
+  version = "1.9.150";
 
   src = fetchFromGitHub {
-    owner = "awslabs";
+    owner = "aws";
     repo = "aws-sdk-cpp";
     rev = version;
-    sha256 = "sha256-VQpWauk0tdJ1QU0HmtdTwQdKbiAuTTXXsUo2cqpqmdU=";
+    sha256 = "sha256-fgLdXWQKHaCwulrw9KV3vpQ71DjnQAL4heIRW7Rk7UY=";
   };
 
   postPatch = ''
@@ -82,6 +82,12 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./cmake-dirs.patch
+
+    # fix cmake config
+    (fetchpatch {
+      url = "https://github.com/aws/aws-sdk-cpp/commit/b102aaf5693c4165c84b616ab9ffb9edfb705239.diff";
+      sha256 = "sha256-38QBo3MEFpyHPb8jZEURRPkoeu4DqWhVeErJayiHKF0=";
+    })
   ];
 
   # Builds in 2+h with 2 cores, and ~10m with a big-parallel builder.
@@ -89,7 +95,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A C++ interface for Amazon Web Services";
-    homepage = "https://github.com/awslabs/aws-sdk-cpp";
+    homepage = "https://github.com/aws/aws-sdk-cpp";
     license = licenses.asl20;
     platforms = platforms.unix;
     maintainers = with maintainers; [ eelco orivej ];
diff --git a/pkgs/development/libraries/bctoolbox/default.nix b/pkgs/development/libraries/bctoolbox/default.nix
index 2d8ddb27ad4aa..c4abb634ca86c 100644
--- a/pkgs/development/libraries/bctoolbox/default.nix
+++ b/pkgs/development/libraries/bctoolbox/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "bctoolbox";
-  version = "5.0.58";
+  version = "5.1.0";
 
   nativeBuildInputs = [ cmake bcunit ];
   buildInputs = [ mbedtls ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "sha256-N7XxGTZkMSL+zyKHteVeRoZ63ZdT5Pq60xi9v6QURxA=";
+    sha256 = "sha256-h+JeyZSXCuV6MtOrWxvpg7v3BXks5T70Cy2gP+If0A8=";
   };
 
   # Do not build static libraries
diff --git a/pkgs/development/libraries/belcard/default.nix b/pkgs/development/libraries/belcard/default.nix
index dbc85992ba4e9..12253427424bb 100644
--- a/pkgs/development/libraries/belcard/default.nix
+++ b/pkgs/development/libraries/belcard/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "belcard";
-  version = "4.5.3";
+  version = "5.0.55";
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "sha256-+7vqTbg1QergWPx2LQ2wkVehOma6Ix02IfwnJTJ/E5I=";
+    sha256 = "sha256-5KHmyNplrVADVlD2IBPwEe3vbEjAMNlz+p5aIBHb6kI=";
   };
 
   buildInputs = [ bctoolbox belr ];
diff --git a/pkgs/development/libraries/belr/default.nix b/pkgs/development/libraries/belr/default.nix
index 90e27a6a9dc14..c841b6d3e4828 100644
--- a/pkgs/development/libraries/belr/default.nix
+++ b/pkgs/development/libraries/belr/default.nix
@@ -6,7 +6,7 @@
 
 stdenv.mkDerivation rec {
   pname = "belr";
-  version = "4.5.3";
+  version = "5.0.55";
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "sha256-TTfBOhnyyAvQe+HXfr2GkuDTx07cHLqcsssW0dA7GlQ=";
+    sha256 = "sha256-P3oDlaT3rN1lRhpKjbGBk7a0hJAQGQcWydFM45GMUU4=";
   };
 
   buildInputs = [ bctoolbox ];
diff --git a/pkgs/development/libraries/blitz/default.nix b/pkgs/development/libraries/blitz/default.nix
index c4a983d879ced..2b5e5a4addca3 100644
--- a/pkgs/development/libraries/blitz/default.nix
+++ b/pkgs/development/libraries/blitz/default.nix
@@ -4,7 +4,7 @@
 , pkg-config
 , gfortran
 , texinfo
-, python
+, python2
 , boost
   # Select SIMD alignment width (in bytes) for vectorization.
 , simdWidth ? 1
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     sha256 = "0nq84vwvvbq7m0my6h835ijfw53bxdp42qjc6kjhk436888qy9rh";
   };
 
-  nativeBuildInputs = [ pkg-config python texinfo ];
+  nativeBuildInputs = [ pkg-config python2 texinfo ];
   buildInputs = [ gfortran texinfo boost ];
 
   configureFlags =
diff --git a/pkgs/development/libraries/boca/default.nix b/pkgs/development/libraries/boca/default.nix
index ffbc99f79f7da..2c86bf981b701 100644
--- a/pkgs/development/libraries/boca/default.nix
+++ b/pkgs/development/libraries/boca/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "BoCA";
-  version = "1.0.5";
+  version = "1.0.6a";
 
   src = fetchFromGitHub {
     owner = "enzo1982";
     repo = "boca";
     rev = "v${version}";
-    sha256 = "sha256-ooLPpwTxG7QBAGhEGhta4T06ZDWlPysocHbb/Sq7Wyo=";
+    sha256 = "sha256-LndlwdM5NlTv73Z1lMkHuIZkVfn48P/LssBnE4X9Sgc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/boehm-gc/default.nix b/pkgs/development/libraries/boehm-gc/default.nix
index 2c467e90634f4..d5057a614843e 100644
--- a/pkgs/development/libraries/boehm-gc/default.nix
+++ b/pkgs/development/libraries/boehm-gc/default.nix
@@ -1,6 +1,7 @@
 { lib, stdenv, fetchurl
 , autoreconfHook
-, enableLargeConfig ? false # doc: https://github.com/ivmai/bdwgc/blob/v8.0.6/doc/README.macros#L195
+, enableLargeConfig ? false # doc: https://github.com/ivmai/bdwgc/blob/v8.0.6/doc/README.macros (LARGE_CONFIG)
+, nixVersions
 }:
 
 stdenv.mkDerivation rec {
@@ -18,10 +19,6 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" "doc" ];
   separateDebugInfo = stdenv.isLinux && stdenv.hostPlatform.libc != "musl";
 
-  preConfigure = lib.optionalString (stdenv.hostPlatform.libc == "musl") ''
-    export NIX_CFLAGS_COMPILE+=" -D_GNU_SOURCE -DUSE_MMAP -DHAVE_DL_ITERATE_PHDR"
-  '';
-
   # boehm-gc whitelists GCC threading models
   patches = lib.optional stdenv.hostPlatform.isMinGW ./mcfgthread.patch;
 
@@ -36,6 +33,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.tests = nixVersions;
+
   meta = {
     description = "The Boehm-Demers-Weiser conservative garbage collector for C and C++";
 
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index 6358df1a555cd..4906930357073 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -31,8 +31,8 @@ assert enableShared || enableStatic;
 assert enablePython -> stdenv.hostPlatform == stdenv.buildPlatform;
 assert enableNumpy -> enablePython;
 
-# Boost <1.69 can't be build with clang >8, because pth was removed
-assert with lib; ((toolset == "clang" && !(versionOlder stdenv.cc.version "8.0.0")) -> !(versionOlder version "1.69"));
+# Boost <1.69 can't be built on linux with clang >8, because pth was removed
+assert with lib; ((stdenv.isLinux && toolset == "clang" && !(versionOlder stdenv.cc.version "8.0.0")) -> !(versionOlder version "1.69"));
 
 with lib;
 let
diff --git a/pkgs/development/libraries/botan/2.0.upstream b/pkgs/development/libraries/botan/2.0.upstream
deleted file mode 100644
index 74eb1a2ca83f6..0000000000000
--- a/pkgs/development/libraries/botan/2.0.upstream
+++ /dev/null
@@ -1,10 +0,0 @@
-url https://botan.randombit.net/
-version_link 'Botan-[0-9]+([.][0-9]+)*[.](tgz|tbz|tbz2|tar[.]bz2)$'
-ensure_version
-attribute_name botan2
-do_overwrite(){
-  ensure_hash
-  set_var_value sha256 $CURRENT_HASH
-  set_var_value baseVersion ${CURRENT_VERSION%.*}
-  set_var_value revision ${CURRENT_VERSION##*.}
-}
diff --git a/pkgs/development/libraries/botan/default.upstream b/pkgs/development/libraries/botan/default.upstream
deleted file mode 100644
index 43f6a3b268eed..0000000000000
--- a/pkgs/development/libraries/botan/default.upstream
+++ /dev/null
@@ -1,9 +0,0 @@
-url http://botan.randombit.net/download.html
-version_link 'Botan-[0-9]+[.][0-9]*[02468]([.][0-9]+)?[.](tgz|tbz|tbz2|tar[.]bz2)$'
-ensure_version
-do_overwrite(){
-  ensure_hash
-  set_var_value sha256 $CURRENT_HASH
-  set_var_value baseVersion ${CURRENT_VERSION%.*}
-  set_var_value revision ${CURRENT_VERSION##*.}
-}
diff --git a/pkgs/development/libraries/box2d/default.nix b/pkgs/development/libraries/box2d/default.nix
index 64349b1e3cf37..84e2dbc05644a 100644
--- a/pkgs/development/libraries/box2d/default.nix
+++ b/pkgs/development/libraries/box2d/default.nix
@@ -1,18 +1,18 @@
-{ lib, stdenv, fetchurl, unzip, cmake, libGLU, libGL, freeglut, libX11, xorgproto
+{ lib, stdenv, fetchFromGitHub, cmake, libGLU, libGL, freeglut, libX11, xorgproto
 , libXi, pkg-config }:
 
 stdenv.mkDerivation rec {
   pname = "box2d";
   version = "2.3.1";
 
-  src = fetchurl {
-    url = "https://github.com/erincatto/box2d/archive/v${version}.tar.gz";
-    sha256 = "0p03ngsmyz0r5kbpiaq10ns4fxwkjvvawi8k6pfall46b93wizsq";
+  src = fetchFromGitHub {
+    owner = "erincatto";
+    repo = "box2d";
+    rev = "v${version}";
+    sha256 = "sha256-Z2J17YMzQNZqABIa5eyJDT7BWfXveymzs+DWsrklPIs=";
   };
 
-  sourceRoot = "box2d-${version}/Box2D";
-
-  nativeBuildInputs = [ cmake unzip pkg-config ];
+  nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = [ libGLU libGL freeglut libX11 xorgproto libXi ];
 
   cmakeFlags = [
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
   ];
 
   prePatch = ''
+    cd Box2D
     substituteInPlace Box2D/Common/b2Settings.h \
       --replace 'b2_maxPolygonVertices	8' 'b2_maxPolygonVertices	15'
   '';
diff --git a/pkgs/development/libraries/bzrtp/default.nix b/pkgs/development/libraries/bzrtp/default.nix
index 1144f4afaf54f..29b665fec6287 100644
--- a/pkgs/development/libraries/bzrtp/default.nix
+++ b/pkgs/development/libraries/bzrtp/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "bzrtp";
-  version = "5.0.55";
+  version = "5.1.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "sha256-+rUDKdMUeVnGsvG7NgQkN6e+DY2bThIyuPTvqxG6uDk=";
+    sha256 = "sha256-GsHVuNXzLkbKUaHtnyXAr7bR9Emc55zcmKt3RGjCMtA=";
   };
 
   buildInputs = [ bctoolbox sqlite ];
diff --git a/pkgs/development/libraries/c-ares/default.nix b/pkgs/development/libraries/c-ares/default.nix
index 4f571b7f1dd9c..b133f9867d32f 100644
--- a/pkgs/development/libraries/c-ares/default.nix
+++ b/pkgs/development/libraries/c-ares/default.nix
@@ -8,11 +8,11 @@
 let self =
 stdenv.mkDerivation rec {
   pname = "c-ares";
-  version = "1.17.2";
+  version = "1.18.1";
 
   src = fetchurl {
     url = "https://c-ares.haxx.se/download/${pname}-${version}.tar.gz";
-    sha256 = "sha256-SAPIRM4gzlEO8OuD+OpB+iTsqunSgMRoxYLSuyWzkT0=";
+    sha256 = "sha256-Gn1SqKhKn7/7G+kTPA9uFyF9kepab6Yfa0cpzaeOu88=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/c-blosc/default.nix b/pkgs/development/libraries/c-blosc/default.nix
index 6f59c96d2bc60..b03f3be904cb6 100644
--- a/pkgs/development/libraries/c-blosc/default.nix
+++ b/pkgs/development/libraries/c-blosc/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "c-blosc";
-  version = "1.21.0";
+  version = "1.21.1";
 
   src = fetchFromGitHub {
     owner = "Blosc";
     repo = "c-blosc";
     rev = "v${version}";
-    sha256 = "sha256-B8SFOc1oGgU5AGAbkqe5oz045H08TnymNAbzz2oOKoo=";
+    sha256 = "sha256-6SKEyciwDOxcbO8chvmxrLCxLkc93zxo6eH0c/lRyT8=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/capstone/default.nix b/pkgs/development/libraries/capstone/default.nix
index cce14951c8be6..adc52da1e560f 100644
--- a/pkgs/development/libraries/capstone/default.nix
+++ b/pkgs/development/libraries/capstone/default.nix
@@ -1,12 +1,14 @@
-{ lib, stdenv, fetchurl, pkg-config }:
+{ lib, stdenv, fetchFromGitHub, pkg-config }:
 
 stdenv.mkDerivation rec {
   pname = "capstone";
   version = "4.0.2";
 
-  src = fetchurl {
-    url    = "https://github.com/aquynh/capstone/archive/${version}.tar.gz";
-    sha256 = "0sjjbqps48az4map0kmai7j7dak3gy0xcq0sgx8fg09g0acdg0bw";
+  src = fetchFromGitHub {
+    owner = "aquynh";
+    repo = "capstone";
+    rev = version;
+    sha256 = "sha256-XMwQ7UaPC8YYu4yxsE4bbR3leYPfBHu5iixSLz05r3g=";
   };
 
   # replace faulty macos detection
diff --git a/pkgs/development/libraries/catch2/default.nix b/pkgs/development/libraries/catch2/default.nix
index 5adcc2d1dd9e3..71a99ad6b6961 100644
--- a/pkgs/development/libraries/catch2/default.nix
+++ b/pkgs/development/libraries/catch2/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "catch2";
-  version = "2.13.7";
+  version = "2.13.8";
 
   src = fetchFromGitHub {
     owner = "catchorg";
     repo = "Catch2";
     rev = "v${version}";
-    sha256="sha256-NhZ8Hh7dka7KggEKKZyEbIZahuuTYeCT7cYYSUvkPzI=";
+    sha256="sha256-jOA2TxDgaJUJ2Jn7dVGZUbjmphTDuVZahzSaxfJpRqE=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/celt/generic.nix b/pkgs/development/libraries/celt/generic.nix
index d4fe5e83658b1..3b47b1d5e72bd 100644
--- a/pkgs/development/libraries/celt/generic.nix
+++ b/pkgs/development/libraries/celt/generic.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "Ultra-low delay audio codec";
-    homepage    = "http://www.celt-codec.org/";
+    homepage    = "https://gitlab.xiph.org/xiph/celt"; # http://www.celt-codec.org/ is gone
     license     = licenses.bsd2;
     maintainers = with maintainers; [ codyopel raskin ];
     platforms   = platforms.unix;
diff --git a/pkgs/development/libraries/chromaprint/default.nix b/pkgs/development/libraries/chromaprint/default.nix
index 599ef02eec091..5b8cc369ee31c 100644
--- a/pkgs/development/libraries/chromaprint/default.nix
+++ b/pkgs/development/libraries/chromaprint/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, fetchurl, cmake, boost, ffmpeg, darwin, zlib }:
+{ lib, stdenv, fetchurl, cmake, boost, ffmpeg_4, darwin, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "chromaprint";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchurl {
     url = "https://github.com/acoustid/chromaprint/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "0sknmyl5254rc55bvkhfwpl4dfvz45xglk1rq8zq5crmwq058fjp";
+    sha256 = "sha256-oarY+juLGLeNN1Wzdn+v+au2ckLgG0eOyaZOGQ8zXhw=";
   };
 
   nativeBuildInputs = [ cmake ];
 
-  buildInputs = [ boost ffmpeg ] ++ lib.optionals stdenv.isDarwin
+  buildInputs = [ boost ffmpeg_4 ] ++ lib.optionals stdenv.isDarwin
     (with darwin.apple_sdk.frameworks; [Accelerate CoreGraphics CoreVideo zlib]);
 
   cmakeFlags = [ "-DBUILD_EXAMPLES=ON" "-DBUILD_TOOLS=ON" ];
diff --git a/pkgs/development/libraries/cimg/default.nix b/pkgs/development/libraries/cimg/default.nix
index 09a407fc3bc3c..47e9ffa925abb 100644
--- a/pkgs/development/libraries/cimg/default.nix
+++ b/pkgs/development/libraries/cimg/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cimg";
-  version = "2.9.9";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "dtschump";
     repo = "CImg";
     rev = "v.${version}";
-    hash = "sha256-DWyqVN7v+j2XCArv4jmrD45XKWMNhd2DddJHH3gQWQY=";
+    hash = "sha256-dC4VuWTz0uyFxLjBQ+2ggndHaCErcoI7tJMfkqbWmeg=";
   };
 
   outputs = [ "out" "doc" ];
@@ -21,8 +21,8 @@ stdenv.mkDerivation rec {
 
     install -dm 755 $out/include/CImg/plugins $doc/share/doc/cimg/examples
     install -m 644 CImg.h $out/include/
-    cp -dr --no-preserve=ownership examples/* $doc/share/doc/cimg/examples/
     cp -dr --no-preserve=ownership plugins/* $out/include/CImg/plugins/
+    cp -dr --no-preserve=ownership examples/* $doc/share/doc/cimg/examples/
     cp README.txt $doc/share/doc/cimg/
 
     runHook postInstall
diff --git a/pkgs/development/libraries/cmrt/default.nix b/pkgs/development/libraries/cmrt/default.nix
index 43d73ba200ced..5b2895a3f1774 100644
--- a/pkgs/development/libraries/cmrt/default.nix
+++ b/pkgs/development/libraries/cmrt/default.nix
@@ -1,12 +1,14 @@
-{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, libdrm, libva }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, libdrm, libva }:
 
 stdenv.mkDerivation rec {
   pname = "cmrt";
   version = "1.0.6";
 
-  src = fetchurl {
-    url = "https://github.com/intel/cmrt/archive/${version}.tar.gz";
-    sha256 = "1q7651nvvcqhph5rgfhklm71zqd0c405mrh3wx0cfzvil82yj8na";
+  src = fetchFromGitHub {
+    owner = "intel";
+    repo = "cmrt";
+    rev = version;
+    sha256 = "sha256-W6MQI41J9CKeM1eILCkvmW34cbCC8YeEF2mE+Ci8o7s=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/development/libraries/codec2/default.nix b/pkgs/development/libraries/codec2/default.nix
index bf8a6897f27d9..7d271e16f2408 100644
--- a/pkgs/development/libraries/codec2/default.nix
+++ b/pkgs/development/libraries/codec2/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Speech codec designed for communications quality speech at low data rates";
-    homepage = "http://www.rowetel.com/blog/?page_id=452";
+    homepage = "https://www.rowetel.com/codec2.html";
     license = licenses.lgpl21Only;
     platforms = platforms.unix;
     maintainers = with maintainers; [ markuskowa ];
diff --git a/pkgs/development/libraries/cpp-utilities/default.nix b/pkgs/development/libraries/cpp-utilities/default.nix
index 3f5b7b3db91dd..a3de08a838bc9 100644
--- a/pkgs/development/libraries/cpp-utilities/default.nix
+++ b/pkgs/development/libraries/cpp-utilities/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cpp-utilities";
-  version = "5.11.3";
+  version = "5.13.0";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-a/fuzZ8crmyO87QzIKuYPk0LC3EvvHZrWO17LtWu77I=";
+    sha256 = "sha256-R22nWkI778LpCK3a5C6tvuIsEXU49wPya1fFQxdpocg=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/crc32c/default.nix b/pkgs/development/libraries/crc32c/default.nix
index 4a8afcfc2b3eb..bfd7bee94b658 100644
--- a/pkgs/development/libraries/crc32c/default.nix
+++ b/pkgs/development/libraries/crc32c/default.nix
@@ -68,6 +68,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/google/crc32c";
     description = "CRC32C implementation with support for CPU-specific acceleration instructions";
     license = with licenses; [ bsd3 ];
-    maintainers = with maintainers; [ andir cpcloud ];
+    maintainers = with maintainers; [ cpcloud ];
   };
 }
diff --git a/pkgs/development/libraries/crypto++/default.nix b/pkgs/development/libraries/crypto++/default.nix
index bedf75e75ca46..a31a4472e1c4b 100644
--- a/pkgs/development/libraries/crypto++/default.nix
+++ b/pkgs/development/libraries/crypto++/default.nix
@@ -1,6 +1,12 @@
-{ lib, stdenv, fetchFromGitHub
+{ lib
+, stdenv
+, fetchFromGitHub
 , enableStatic ? stdenv.hostPlatform.isStatic
 , enableShared ? !enableStatic
+# Multi-threading with OpenMP is disabled by default
+# more info on https://www.cryptopp.com/wiki/OpenMP
+, withOpenMP ? false
+, llvmPackages
 }:
 
 stdenv.mkDerivation rec {
@@ -19,36 +25,45 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     substituteInPlace GNUmakefile \
-      --replace "AR = libtool" "AR = ar" \
+      --replace "AR = /usr/bin/libtool" "AR = ar" \
       --replace "ARFLAGS = -static -o" "ARFLAGS = -cru"
   '';
 
+  buildInputs = lib.optionals (stdenv.cc.isClang && withOpenMP) [ llvmPackages.openmp ];
+
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
+
   buildFlags =
        lib.optional enableStatic "static"
     ++ lib.optional enableShared "shared"
     ++ [ "libcryptopp.pc" ];
+
   enableParallelBuilding = true;
   hardeningDisable = [ "fortify" ];
+  CXXFLAGS = lib.optionals (withOpenMP) [ "-fopenmp" ];
 
   doCheck = true;
 
   # always built for checks but install static lib only when necessary
-  preInstall = lib.optionalString (!enableStatic) "rm libcryptopp.a";
+  preInstall = lib.optionalString (!enableStatic) "rm -f libcryptopp.a";
 
   installTargets = [ "install-lib" ];
   installFlags = [ "LDCONF=true" ];
+  # TODO: remove postInstall hook with v8.7 -> https://github.com/weidai11/cryptopp/commit/230c558a
   postInstall = lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
     ln -sr $out/lib/libcryptopp.so.${version} $out/lib/libcryptopp.so.${lib.versions.majorMinor version}
     ln -sr $out/lib/libcryptopp.so.${version} $out/lib/libcryptopp.so.${lib.versions.major version}
   '';
 
-  meta = {
-    description = "Crypto++, a free C++ class library of cryptographic schemes";
+  meta = with lib; {
+    description = "A free C++ class library of cryptographic schemes";
     homepage = "https://cryptopp.com/";
-    changelog = "https://raw.githubusercontent.com/weidai11/cryptopp/CRYPTOPP_${underscoredVersion}/History.txt";
-    license = with lib.licenses; [ boost publicDomain ];
-    platforms = lib.platforms.all;
-    maintainers = with lib.maintainers; [ c0bw3b ];
+    changelog = [
+      "https://raw.githubusercontent.com/weidai11/cryptopp/CRYPTOPP_${underscoredVersion}/History.txt"
+      "https://github.com/weidai11/cryptopp/releases/tag/CRYPTOPP_${underscoredVersion}"
+    ];
+    license = with licenses; [ boost publicDomain ];
+    platforms = platforms.all;
+    maintainers = with maintainers; [ c0bw3b ];
   };
 }
diff --git a/pkgs/development/libraries/cxxopts/default.nix b/pkgs/development/libraries/cxxopts/default.nix
index 855a9eef8ea06..9d3ea6f32de3d 100644
--- a/pkgs/development/libraries/cxxopts/default.nix
+++ b/pkgs/development/libraries/cxxopts/default.nix
@@ -1,21 +1,29 @@
-{ cmake, fetchFromGitHub, icu, lib, pkg-config, stdenv, enableUnicodeHelp ? true }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, icu
+, pkg-config
+, enableUnicodeHelp ? true
+}:
 
 stdenv.mkDerivation rec {
   name = "cxxopts";
-  version = "unstable-2020-12-14";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "jarro2783";
     repo = name;
-    rev = "2d8e17c4f88efce80e274cb03eeb902e055a91d3";
-    sha256 = "0pwrac81zfqjs17g3hx8r3ds2xf04npb6mz111qjy4bx17314ib7";
+    rev = "v${version}";
+    sha256 = "08x7j168l1xwj0r3rv89cgghmfhsx98lpq35r3vkh504m1pd55a6";
   };
 
+  # CMake does not set CMAKE_LIBRARY_ARCHITECTURE variable in Nix, which breaks architecture-independent library path generation
+  patches = [ ./fix-install-path.patch ];
+
   buildInputs = lib.optional enableUnicodeHelp [ icu.dev ];
   cmakeFlags = [ "-DCXXOPTS_BUILD_EXAMPLES=OFF" ]
-    ++ lib.optional enableUnicodeHelp "-DCXXOPTS_USE_UNICODE_HELP=TRUE"
-    # Due to -Wsuggest-override, remove when cxxopts is updated
-    ++ lib.optional stdenv.isDarwin "-DCXXOPTS_ENABLE_WARNINGS=OFF";
+    ++ lib.optional enableUnicodeHelp "-DCXXOPTS_USE_UNICODE_HELP=TRUE";
   nativeBuildInputs = [ cmake ] ++ lib.optional enableUnicodeHelp [ pkg-config ];
 
   doCheck = true;
diff --git a/pkgs/development/libraries/cxxopts/fix-install-path.patch b/pkgs/development/libraries/cxxopts/fix-install-path.patch
new file mode 100644
index 0000000000000..d91e3fb6dc18f
--- /dev/null
+++ b/pkgs/development/libraries/cxxopts/fix-install-path.patch
@@ -0,0 +1,18 @@
+diff --git a/cmake/cxxopts.cmake b/cmake/cxxopts.cmake
+index 46e87ba..0ead543 100644
+--- a/cmake/cxxopts.cmake
++++ b/cmake/cxxopts.cmake
+@@ -87,7 +87,12 @@ endfunction()
+ 
+ # Helper function to ecapsulate install logic
+ function(cxxopts_install_logic)
+-    string(REPLACE "/${CMAKE_LIBRARY_ARCHITECTURE}" "" CMAKE_INSTALL_LIBDIR_ARCHIND "${CMAKE_INSTALL_LIBDIR}")
++    if(CMAKE_LIBRARY_ARCHITECTURE)
++        string(REPLACE "/${CMAKE_LIBRARY_ARCHITECTURE}" "" CMAKE_INSTALL_LIBDIR_ARCHIND "${CMAKE_INSTALL_LIBDIR}")
++    else()
++        # On some systems (e.g. NixOS), `CMAKE_LIBRARY_ARCHITECTURE` can be empty
++        set(CMAKE_INSTALL_LIBDIR_ARCHIND "${CMAKE_INSTALL_LIBDIR}")
++    endif()
+     set(CXXOPTS_CMAKE_DIR "${CMAKE_INSTALL_LIBDIR_ARCHIND}/cmake/cxxopts" CACHE STRING "Installation directory for cmake files, relative to ${CMAKE_INSTALL_PREFIX}.")
+     set(version_config "${PROJECT_BINARY_DIR}/cxxopts-config-version.cmake")
+     set(project_config "${PROJECT_BINARY_DIR}/cxxopts-config.cmake")
diff --git a/pkgs/development/libraries/db/generic.nix b/pkgs/development/libraries/db/generic.nix
index a564db369fba2..a2b9314ca9ce1 100644
--- a/pkgs/development/libraries/db/generic.nix
+++ b/pkgs/development/libraries/db/generic.nix
@@ -11,10 +11,11 @@
 }:
 
 stdenv.mkDerivation (rec {
-  name = "db-${version}";
+  pname = "db";
+  inherit version;
 
   src = fetchurl {
-    url = "https://download.oracle.com/berkeley-db/${name}.tar.gz";
+    url = "https://download.oracle.com/berkeley-db/${pname}-${version}.tar.gz";
     sha256 = sha256;
   };
 
diff --git a/pkgs/development/libraries/dbus-cplusplus/default.nix b/pkgs/development/libraries/dbus-cplusplus/default.nix
index 731c038527ce5..005f1ac0302cb 100644
--- a/pkgs/development/libraries/dbus-cplusplus/default.nix
+++ b/pkgs/development/libraries/dbus-cplusplus/default.nix
@@ -13,8 +13,8 @@ stdenv.mkDerivation rec {
   patches = [
     (fetchurl {
       name = "gcc-4.7.patch";
-      url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/"
-          + "dbus-c%2B%2B/files/dbus-c%2B%2B-0.9.0-gcc-4.7.patch";
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/"
+          + "dbus-c++/files/dbus-c++-0.9.0-gcc-4.7.patch";
       sha256 = "0rwcz9pvc13b3yfr0lkifnfz0vb5q6dg240bzgf37ni4s8rpc72g";
     })
     (fetchurl {
diff --git a/pkgs/development/libraries/dlib/default.nix b/pkgs/development/libraries/dlib/default.nix
index aadd61370b1fe..ea6d45e5dffc2 100644
--- a/pkgs/development/libraries/dlib/default.nix
+++ b/pkgs/development/libraries/dlib/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dlib";
-  version = "19.22";
+  version = "19.23";
 
   src = fetchFromGitHub {
     owner = "davisking";
     repo = "dlib";
     rev ="v${version}";
-    sha256 = "sha256-cEbw01w4KgSG3JTvTE/qruo7i4/L++m02HW+0VNmSSQ=";
+    sha256 = "sha256-88vusoLEkjh3WRh/PxPtsVIFk85serRq2VxVcEus3IE=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/double-conversion/default.nix b/pkgs/development/libraries/double-conversion/default.nix
index 2bdcc3c8a997a..9efdcd0c4f074 100644
--- a/pkgs/development/libraries/double-conversion/default.nix
+++ b/pkgs/development/libraries/double-conversion/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "double-conversion";
-  version = "3.1.5";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "double-conversion";
     rev = "v${version}";
-    sha256 = "0csy4pjw1p8rp6g5qxi2h0ychhhp1fldv7gb761627fs2mclw9gv";
+    sha256 = "sha256-Vvzjg+UOgegkH8x2vtNU1TS01k5O4ilRJjD7F+BmVmU=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/duckdb/default.nix b/pkgs/development/libraries/duckdb/default.nix
index f1e4f56a59501..7d12d9fabf2f7 100644
--- a/pkgs/development/libraries/duckdb/default.nix
+++ b/pkgs/development/libraries/duckdb/default.nix
@@ -1,26 +1,58 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , cmake
+, ninja
+, openssl
+, openjdk11
+, unixODBC
+, withHttpFs ? true
+, withJdbc ? false
+, withOdbc ? false
 }:
 
+let
+  enableFeature = yes: if yes then "ON" else "OFF";
+in
 stdenv.mkDerivation rec {
   pname = "duckdb";
-  version = "0.3.1";
+  version = "0.3.2";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-apTU7WgKw/YEnT4maibyffqOrCoVwHPOkNINlAmtYYI=";
+    sha256 = "sha256-F5YOqDeY3rgcnuu5SNqOfUxhsaXgqvdJZTnD1unI0tc=";
   };
 
-  nativeBuildInputs = [ cmake ];
+  patches = [ ./version.patch ];
+  postPatch = ''
+    substituteInPlace CMakeLists.txt --subst-var-by DUCKDB_VERSION "v${version}"
+  '';
+
+  cmakeFlags = [
+    "-DBUILD_FTS_EXTENSION=ON"
+    "-DBUILD_HTTPFS_EXTENSION=${enableFeature withHttpFs}"
+    "-DBUILD_ICU_EXTENSION=ON"
+    "-DBUILD_ODBC_DRIVER=${enableFeature withOdbc}"
+    "-DBUILD_PARQUET_EXTENSION=ON"
+    "-DBUILD_REST_EXTENSION=ON"
+    "-DBUILD_TPCDS_EXTENSION=ON"
+    "-DBUILD_TPCH_EXTENSION=ON"
+    "-DBUILD_VISUALIZER_EXTENSION=ON"
+    "-DJDBC_DRIVER=${enableFeature withJdbc}"
+  ];
+
+  nativeBuildInputs = [ cmake ninja ];
+  buildInputs = lib.optionals withHttpFs [ openssl ]
+    ++ lib.optionals withJdbc [ openjdk11 ]
+    ++ lib.optionals withOdbc [ unixODBC ];
 
   meta = with lib; {
     homepage = "https://github.com/duckdb/duckdb";
     description = "Embeddable SQL OLAP Database Management System";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = with maintainers; [ costrouc ];
+    maintainers = with maintainers; [ costrouc cpcloud ];
   };
 }
diff --git a/pkgs/development/libraries/duckdb/version.patch b/pkgs/development/libraries/duckdb/version.patch
new file mode 100644
index 0000000000000..1f5491eac23cd
--- /dev/null
+++ b/pkgs/development/libraries/duckdb/version.patch
@@ -0,0 +1,51 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 92c097228..5f51929f6 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -157,45 +157,7 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "SunOS")
+   set(SUN TRUE)
+ endif()
+ 
+-execute_process(
+-        COMMAND git log -1 --format=%h
+-        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+-        RESULT_VARIABLE GIT_RESULT
+-        OUTPUT_VARIABLE GIT_COMMIT_HASH
+-        OUTPUT_STRIP_TRAILING_WHITESPACE)
+-execute_process(
+-        COMMAND git describe --tags --abbrev=0
+-        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+-        OUTPUT_VARIABLE GIT_LAST_TAG
+-        OUTPUT_STRIP_TRAILING_WHITESPACE)
+-execute_process(
+-        COMMAND git describe --tags --long
+-        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+-        OUTPUT_VARIABLE GIT_ITERATION
+-        OUTPUT_STRIP_TRAILING_WHITESPACE)
+-
+-if(GIT_RESULT EQUAL "0")
+-  string(REGEX REPLACE "v([0-9]+).[0-9]+.[0-9]+" "\\1" DUCKDB_MAJOR_VERSION "${GIT_LAST_TAG}")
+-  string(REGEX REPLACE "v[0-9]+.([0-9]+).[0-9]+" "\\1" DUCKDB_MINOR_VERSION "${GIT_LAST_TAG}")
+-  string(REGEX REPLACE "v[0-9]+.[0-9]+.([0-9]+)" "\\1" DUCKDB_PATCH_VERSION "${GIT_LAST_TAG}")
+-  string(REGEX REPLACE ".*-([0-9]+)-.*" "\\1" DUCKDB_DEV_ITERATION "${GIT_ITERATION}")
+-
+-  if(DUCKDB_DEV_ITERATION EQUAL 0)
+-    # on a tag; directly use the version
+-    set(DUCKDB_VERSION "${GIT_LAST_TAG}")
+-  else()
+-    # not on a tag, increment the patch version by one and add a -devX suffix
+-    math(EXPR DUCKDB_PATCH_VERSION "${DUCKDB_PATCH_VERSION}+1")
+-    set(DUCKDB_VERSION "v${DUCKDB_MAJOR_VERSION}.${DUCKDB_MINOR_VERSION}.${DUCKDB_PATCH_VERSION}-dev${DUCKDB_DEV_ITERATION}")
+-  endif()
+-else()
+-  # fallback for when building from tarball
+-  set(DUCKDB_MAJOR_VERSION 0)
+-  set(DUCKDB_MINOR_VERSION 0)
+-  set(DUCKDB_PATCH_VERSION 1)
+-  set(DUCKDB_DEV_ITERATION 0)
+-  set(DUCKDB_VERSION "v${DUCKDB_MAJOR_VERSION}.${DUCKDB_MINOR_VERSION}.${DUCKDB_PATCH_VERSION}-dev${DUCKDB_DEV_ITERATION}")
+-endif()
++set(DUCKDB_VERSION "@DUCKDB_VERSION@")
+ 
+ option(AMALGAMATION_BUILD
+        "Build from the amalgamation files, rather than from the normal sources."
diff --git a/pkgs/development/libraries/dyncall/default.nix b/pkgs/development/libraries/dyncall/default.nix
index f92f2f0affe4d..3197e3abed9e0 100644
--- a/pkgs/development/libraries/dyncall/default.nix
+++ b/pkgs/development/libraries/dyncall/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "dyncall";
-  version = "1.2";
+  version = "1.3";
 
   src = fetchurl {
     url = "https://www.dyncall.org/r${version}/dyncall-${version}.tar.gz";
-    # https://www.dyncall.org/r1.2/SHA256
-    sha256 = "sha256-6IFUwCQ0IVYHBPXHKUr73snpka+gYB1a3/UELqgYCNc=";
+    # https://www.dyncall.org/r1.3/SHA256
+    sha256 = "sha256-q/Ys/DHr1/IWWNqhNwp3gcxRQxYrwIaDhKwH3vnj05A=";
   };
 
   # XXX: broken tests, failures masked, lets avoid crashing a bunch for now :)
diff --git a/pkgs/development/libraries/easyloggingpp/default.nix b/pkgs/development/libraries/easyloggingpp/default.nix
index ad582d9330591..03c4ea0ee8f1e 100644
--- a/pkgs/development/libraries/easyloggingpp/default.nix
+++ b/pkgs/development/libraries/easyloggingpp/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   pname = "easyloggingpp";
   version = "9.97.0";
   src = fetchFromGitHub {
-    owner = "muflihun";
+    owner = "amrayn";
     repo = "easyloggingpp";
     rev = "v${version}";
     sha256 = "sha256-sFWmZMnucMuvpwDzuowni21KiD3bx0lH1Ts+yhusOYs=";
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   '';
   meta = {
     description = "C++ logging library";
-    homepage = "https://muflihun.github.io/easyloggingpp/";
+    homepage = "https://github.com/amrayn/easyloggingpp";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [acowley];
     platforms = lib.platforms.all;
diff --git a/pkgs/development/libraries/eccodes/default.nix b/pkgs/development/libraries/eccodes/default.nix
index dc0648366a9fe..5182c59567dad 100644
--- a/pkgs/development/libraries/eccodes/default.nix
+++ b/pkgs/development/libraries/eccodes/default.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "eccodes";
-  version = "2.24.0";
+  version = "2.24.2";
 
   src = fetchurl {
     url = "https://confluence.ecmwf.int/download/attachments/45757960/eccodes-${version}-Source.tar.gz";
-    sha256 = "sha256-MHrit59KfTF4mCS8od8UEvYMrWj0m/xJu8HUeA8+W5Y=";
+    sha256 = "sha256-xgrQ/YnhGRis4NhMAUifISIrEdbK0/90lYVqCt1hBAM=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/eigen/default.upstream b/pkgs/development/libraries/eigen/default.upstream
deleted file mode 100644
index c0c05efc466cc..0000000000000
--- a/pkgs/development/libraries/eigen/default.upstream
+++ /dev/null
@@ -1,4 +0,0 @@
-url http://eigen.tuxfamily.org/
-ensure_choice
-version '.*/([-0-9.]+)[.]tar[.].*' '\1'
-do_overwrite() { do_overwrite_just_version; }
diff --git a/pkgs/development/libraries/elfio/default.nix b/pkgs/development/libraries/elfio/default.nix
index 98e9ee3f59ed5..5bf4f3a333086 100644
--- a/pkgs/development/libraries/elfio/default.nix
+++ b/pkgs/development/libraries/elfio/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "elfio";
-  version = "3.9";
+  version = "3.10";
 
   src = fetchFromGitHub {
     owner = "serge1";
     repo = "elfio";
     rev = "Release_${version}";
-    sha256 = "sha256-5O9KnHZXzepp3O1PGenJarrHElWLHgyBvvDig1Hkmo4=";
+    sha256 = "sha256-DuZhkiHXdCplRiOy1Gsu7voVPdCbFt+4qFqlOeOeWQw=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/elpa/default.nix b/pkgs/development/libraries/elpa/default.nix
index 3bb59ce9ca6a8..76152996a1d07 100644
--- a/pkgs/development/libraries/elpa/default.nix
+++ b/pkgs/development/libraries/elpa/default.nix
@@ -13,13 +13,15 @@
 , cudatoolkit
 } :
 
-# The standard Scalapack has no iLP64 interface
-assert (!blas.isILP64) && (!lapack.isILP64);
+assert blas.isILP64 == lapack.isILP64;
+assert blas.isILP64 == scalapack.isILP64;
 
 stdenv.mkDerivation rec {
   pname = "elpa";
   version = "2021.11.001";
 
+  passthru = { inherit (blas) isILP64; };
+
   src = fetchurl {
     url = "https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/${version}/elpa-${version}.tar.gz";
     sha256 = "0bw0nwzwvjfmijfwznmrghypd3q237a3h5g5fcdncilrqnk1sdpv";
@@ -60,7 +62,8 @@ stdenv.mkDerivation rec {
     "--with-mpi"
     "--enable-openmp"
     "--without-threading-support-check-during-build"
-  ] ++ lib.optional (!avxSupport) "--disable-avx"
+  ] ++ lib.optional blas.isILP64 "--enable-64bit-integer-math-support"
+    ++ lib.optional (!avxSupport) "--disable-avx"
     ++ lib.optional (!avx2Support) "--disable-avx2"
     ++ lib.optional (!avx512Support) "--disable-avx512"
     ++ lib.optional (!stdenv.hostPlatform.isx86_64) "--disable-sse"
diff --git a/pkgs/development/libraries/embree/default.nix b/pkgs/development/libraries/embree/default.nix
index b85c057217e7d..6417f4b05a1ca 100644
--- a/pkgs/development/libraries/embree/default.nix
+++ b/pkgs/development/libraries/embree/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "embree";
-  version = "3.13.1";
+  version = "3.13.3";
 
   src = fetchFromGitHub {
     owner = "embree";
     repo = "embree";
     rev = "v${version}";
-    sha256 = "sha256-6BL/NnveIMg+xD8Zsc3sidL0iw0YbJITgd8Zf4Mh28I=";
+    sha256 = "sha256-g6BsXMNUvx17hgAq0PewtBLgtWqpp03M0k6vWNapDKs=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/enchant/2.x.nix b/pkgs/development/libraries/enchant/2.x.nix
index 0d1374018b6cd..e70a8210df87d 100644
--- a/pkgs/development/libraries/enchant/2.x.nix
+++ b/pkgs/development/libraries/enchant/2.x.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "enchant";
-  version = "2.3.1";
+  version = "2.3.2";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://github.com/AbiWord/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-e0sa/PLNi/ppHe6mGIQE0zfyMXS7w5ucKt0r80Bzbpw=";
+    sha256 = "sha256-zpukf9TTQDG9aURVmKaYpmEWArKw6R1wXpGm9QmerW4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/exiv2/default.nix b/pkgs/development/libraries/exiv2/default.nix
index 5ef3bfa2ac408..d970f376d0997 100644
--- a/pkgs/development/libraries/exiv2/default.nix
+++ b/pkgs/development/libraries/exiv2/default.nix
@@ -11,13 +11,14 @@
 , graphviz
 , libxslt
 , libiconv
+, removeReferencesTo
 }:
 
 stdenv.mkDerivation rec {
   pname = "exiv2";
   version = "0.27.5";
 
-  outputs = [ "out" "dev" "doc" "man" ];
+  outputs = [ "out" "lib" "dev" "doc" "man" "static" ];
 
   src = fetchFromGitHub {
     owner = "exiv2";
@@ -32,6 +33,7 @@ stdenv.mkDerivation rec {
     gettext
     graphviz
     libxslt
+    removeReferencesTo
   ];
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
@@ -94,8 +96,15 @@ stdenv.mkDerivation rec {
       rm *
       mv .exiv2 exiv2
     )
+
+    mkdir -p $static/lib
+    mv $lib/lib/*.a $static/lib/
+
+    remove-references-to -t ${stdenv.cc.cc} $lib/lib/*.so.*.*.* $out/bin/exiv2 $static/lib/*.a
   '';
 
+  disallowedReferences = [ stdenv.cc.cc ];
+
   meta = with lib; {
     homepage = "https://www.exiv2.org/";
     description = "A library and command-line utility to manage image metadata";
diff --git a/pkgs/development/libraries/expat/default.nix b/pkgs/development/libraries/expat/default.nix
index 3bfc215aea7b3..322c6ecebbf62 100644
--- a/pkgs/development/libraries/expat/default.nix
+++ b/pkgs/development/libraries/expat/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "expat";
-  version = "2.4.1";
+  version = "2.4.4";
 
   src = fetchurl {
     url = "https://github.com/libexpat/libexpat/releases/download/R_${lib.replaceStrings ["."] ["_"] version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-zwMtDbqbkoY2VI4ysyei1msaq2PE9KE90TLC0dLy+2o=";
+    sha256 = "sha256-tdJdbjczUcLtGbVitHMtAdJYmsjI6eeWLY3xIHzDEbg=";
   };
 
   outputs = [ "out" "dev" ]; # TODO: fix referrers
diff --git a/pkgs/development/libraries/faad2/default.nix b/pkgs/development/libraries/faad2/default.nix
index 0afef1c9fd822..396acbc1bdf22 100644
--- a/pkgs/development/libraries/faad2/default.nix
+++ b/pkgs/development/libraries/faad2/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "An open source MPEG-4 and MPEG-2 AAC decoder";
-    license     = licenses.gpl2;
+    license     = licenses.gpl2Plus;
     maintainers = with maintainers; [ codyopel ];
     platforms   = platforms.all;
   };
diff --git a/pkgs/development/libraries/farstream/default.nix b/pkgs/development/libraries/farstream/default.nix
index e26ebef0c518a..98c660dc798d5 100644
--- a/pkgs/development/libraries/farstream/default.nix
+++ b/pkgs/development/libraries/farstream/default.nix
@@ -11,25 +11,21 @@
 , gst-plugins-good
 , gst-plugins-bad
 , gst-libav
+, python3
 }:
 
 stdenv.mkDerivation rec {
   pname = "farstream";
-  version = "0.2.8";
+  version = "0.2.9";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/farstream/releases/farstream/${pname}-${version}.tar.gz";
-    sha256 = "0249ncd20x5mf884fd8bw75c3118b9fdml837v4fib349xmrqfrb";
+    sha256 = "0yzlh9jf47a3ir40447s7hlwp98f9yr8z4gcm0vjwz6g6cj12zfb";
   };
 
   patches = [
-    # Python has not been used for ages
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/farstream/farstream/commit/73891c28fa27d5e65a71762e826f13747d743588.patch";
-      sha256 = "19pw1m8xhxyf5yhl6k898w240ra2k0m28gfv858x70c4wl786lrn";
-    })
     # Fix build with newer gnumake.
     (fetchpatch {
       url = "https://gitlab.freedesktop.org/farstream/farstream/-/commit/54987d44.diff";
@@ -47,6 +43,7 @@ stdenv.mkDerivation rec {
     pkg-config
     autoreconfHook
     gobject-introspection
+    python3
   ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/libraries/fcft/default.nix b/pkgs/development/libraries/fcft/default.nix
index de20caf22fbc3..31e9e2fbbbd75 100644
--- a/pkgs/development/libraries/fcft/default.nix
+++ b/pkgs/development/libraries/fcft/default.nix
@@ -20,14 +20,14 @@ in
 
 stdenv.mkDerivation rec {
   pname = "fcft";
-  version = "2.5.1";
+  version = "3.0.1";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "dnkl";
     repo = "fcft";
     rev = version;
-    sha256 = "0dn0ic2ddi5qz6nqscsn7nlih67ad8vpclppbqwas6xavdfq6va2";
+    sha256 = "0jxy92ny8b7s7yvz1mr8zpf7l2zsn506fi9f98pvh9k25jprg0cx";
   };
 
   depsBuildBuild = [ pkg-config ];
diff --git a/pkgs/development/libraries/fcgi/default.nix b/pkgs/development/libraries/fcgi/default.nix
index 1ec666a920c38..434d445ceb480 100644
--- a/pkgs/development/libraries/fcgi/default.nix
+++ b/pkgs/development/libraries/fcgi/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A language independent, scalable, open extension to CG";
-    homepage = "http://www.fastcgi.com/";
+    homepage = "https://fastcgi-archives.github.io/"; # Formerly http://www.fastcgi.com/
     license = "FastCGI see LICENSE.TERMS";
     platforms = platforms.all;
   };
diff --git a/pkgs/development/libraries/fflas-ffpack/default.nix b/pkgs/development/libraries/fflas-ffpack/default.nix
index ca2f3b0e381d6..134d9031e97ee 100644
--- a/pkgs/development/libraries/fflas-ffpack/default.nix
+++ b/pkgs/development/libraries/fflas-ffpack/default.nix
@@ -6,13 +6,13 @@ assert (!blas.isILP64) && (!lapack.isILP64);
 
 stdenv.mkDerivation rec {
   pname = "fflas-ffpack";
-  version = "2.4.3";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = "linbox-team";
     repo = pname;
-    rev = version;
-    sha256 = "1ynbjd72qrwp0b4kpn0p5d7gddpvj8dlb5fwdxajr5pvkvi3if74";
+    rev = "v${version}";
+    sha256 = "sha256-Eztc2jUyKRVUiZkYEh+IFHkDuPIy+Gx3ZW/MsuOVaMc=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix
index 77bd473485b06..9d9a1a126cb21 100644
--- a/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, ffmpeg, addOpenGLRunpath, pkg-config, perl, texinfo, yasm
+{ lib, stdenv, buildPackages, ffmpeg, addOpenGLRunpath, pkg-config, perl, texinfo, yasm
 /*
  *  Licensing options (yes some are listed twice, filters and such are not listed)
  */
@@ -32,7 +32,6 @@
 , avdeviceLibrary ? true # Build avdevice library
 , avfilterLibrary ? true # Build avfilter library
 , avformatLibrary ? true # Build avformat library
-, avresampleLibrary ? true # Build avresample library
 , avutilLibrary ? true # Build avutil library
 , postprocLibrary ? true # Build postproc library
 , swresampleLibrary ? true # Build swresample library
@@ -100,6 +99,7 @@
 , libxcbshapeExtlib ? true # X11 grabbing shape rendering
 , libXv ? null # Xlib support
 , libXext ? null # Xlib support
+, libxml2 ? null # libxml2 support, for IMF and DASH demuxers
 , xz ? null # xz-utils
 , nvenc ? !stdenv.isDarwin && !stdenv.isAarch64, nv-codec-headers ? null # NVIDIA NVENC support
 , openal ? null # OpenAL 1.1 capture support
@@ -107,7 +107,7 @@
 , opencore-amr ? null # AMR-NB de/encoder & AMR-WB decoder
 #, opencv ? null # Video filtering
 , openglExtlib ? false, libGL ? null, libGLU ? null # OpenGL rendering
-#, openh264 ? null # H.264/AVC encoder
+, openh264 ? null # H.264/AVC encoder
 , openjpeg ? null # JPEG 2000 de/encoder
 , opensslExtlib ? false, openssl ? null
 , libpulseaudio ? null # Pulseaudio input support
@@ -132,6 +132,7 @@
 , xavs ? null # AVS encoder
 , xvidcore ? null # Xvid encoder, native encoder exists
 , zeromq4 ? null # Message passing
+, zimg ? null
 , zlib ? null
 , vulkan-loader ? null
 , glslang ? null
@@ -163,7 +164,7 @@
  *
  * Not packaged:
  *   aacplus avisynth cdio-paranoia crystalhd libavc1394 libiec61883
- *   libnut libquvi nvenc opencl openh264 oss shine twolame
+ *   libnut libquvi nvenc opencl oss shine twolame
  *   utvideo vo-aacenc vo-amrwbenc xvmc zvbi blackmagic-design-desktop-video
  *
  * Need fixes to support Darwin:
@@ -224,7 +225,6 @@ assert avdeviceLibrary -> avformatLibrary
                        && avcodecLibrary
                        && avutilLibrary; # configure flag since 0.6
 assert avformatLibrary -> avcodecLibrary && avutilLibrary; # configure flag since 0.6
-assert avresampleLibrary -> avutilLibrary;
 assert postprocLibrary -> avutilLibrary;
 assert swresampleLibrary -> soxr != null;
 assert swscaleLibrary -> avutilLibrary;
@@ -259,7 +259,7 @@ stdenv.mkDerivation rec {
 
   configurePlatforms = [];
   configureFlags = [
-    "--target_os=${stdenv.hostPlatform.parsed.kernel.name}"
+    "--target_os=${if stdenv.hostPlatform.isMinGW then "mingw64" else stdenv.hostPlatform.parsed.kernel.name}" #mingw32 and mingw64 doesn't have a difference here, it is internally rewritten as mingw32
     "--arch=${stdenv.hostPlatform.parsed.cpu.name}"
     /*
      *  Licensing flags
@@ -281,7 +281,7 @@ stdenv.mkDerivation rec {
     (enableFeature hardcodedTablesBuild "hardcoded-tables")
     (enableFeature safeBitstreamReaderBuild "safe-bitstream-reader")
     (if multithreadBuild then (
-       if isCygwin then
+       if stdenv.hostPlatform.isWindows then
          "--disable-pthreads --enable-w32threads"
        else # Use POSIX threads by default
          "--enable-pthreads --disable-w32threads")
@@ -303,7 +303,6 @@ stdenv.mkDerivation rec {
     (enableFeature avdeviceLibrary "avdevice")
     (enableFeature avfilterLibrary "avfilter")
     (enableFeature avformatLibrary "avformat")
-    (enableFeature avresampleLibrary "avresample")
     (enableFeature avutilLibrary "avutil")
     (enableFeature (postprocLibrary && gplLicensing) "postproc")
     (enableFeature swresampleLibrary "swresample")
@@ -374,6 +373,7 @@ stdenv.mkDerivation rec {
     (enableFeature libxcbshmExtlib "libxcb-shm")
     (enableFeature libxcbxfixesExtlib "libxcb-xfixes")
     (enableFeature libxcbshapeExtlib "libxcb-shape")
+    (enableFeature (libxml2 != null) "libxml2")
     (enableFeature (xz != null) "lzma")
     (enableFeature nvenc "nvenc")
     (enableFeature (openal != null) "openal")
@@ -381,7 +381,7 @@ stdenv.mkDerivation rec {
     (enableFeature (opencore-amr != null && version3Licensing) "libopencore-amrnb")
     #(enableFeature (opencv != null) "libopencv")
     (enableFeature openglExtlib "opengl")
-    #(enableFeature (openh264 != null) "openh264")
+    (enableFeature (openh264 != null) "libopenh264")
     (enableFeature (openjpeg != null) "libopenjpeg")
     (enableFeature (opensslExtlib && gplLicensing) "openssl")
     (enableFeature (libpulseaudio != null) "libpulse")
@@ -403,6 +403,7 @@ stdenv.mkDerivation rec {
     (enableFeature (xavs != null && gplLicensing) "libxavs")
     (enableFeature (xvidcore != null && gplLicensing) "libxvid")
     (enableFeature (zeromq4 != null) "libzmq")
+    (enableFeature (zimg != null) "libzimg")
     (enableFeature (zlib != null) "zlib")
     (enableFeature (isLinux && vulkan-loader != null) "vulkan")
     (enableFeature (isLinux && vulkan-loader != null && glslang != null) "libglslang")
@@ -418,6 +419,7 @@ stdenv.mkDerivation rec {
   ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
     "--cross-prefix=${stdenv.cc.targetPrefix}"
     "--enable-cross-compile"
+    "--host-cc=${buildPackages.stdenv.cc}/bin/cc"
   ] ++ optionals stdenv.cc.isClang [
     "--cc=clang"
     "--cxx=clang++"
@@ -429,9 +431,9 @@ stdenv.mkDerivation rec {
     bzip2 celt dav1d fontconfig freetype frei0r fribidi game-music-emu gnutls gsm
     libjack2 ladspaH lame libaom libass libbluray libbs2b libcaca libdc1394 libmodplug libmysofa
     libogg libopus librsvg libssh libtheora libvdpau libvorbis libvpx libwebp libX11
-    libxcb libXv libXext xz openal openjpeg libpulseaudio rav1e svt-av1 rtmpdump opencore-amr
+    libxcb libXv libXext libxml2 xz openal openjpeg libpulseaudio rav1e svt-av1 rtmpdump opencore-amr
     samba SDL2 soxr speex srt vid-stab vo-amrwbenc x264 x265 xavs xvidcore
-    zeromq4 zlib
+    zeromq4 zimg zlib openh264
   ] ++ optionals openglExtlib [ libGL libGLU ]
     ++ optionals nonfreeLicensing [ fdk_aac openssl ]
     ++ optional ((isLinux || isFreeBSD) && libva != null) libva
@@ -451,7 +453,7 @@ stdenv.mkDerivation rec {
   checkPhase = let
     ldLibraryPathEnv = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH";
   in ''
-    ${ldLibraryPathEnv}="libavcodec:libavdevice:libavfilter:libavformat:libavresample:libavutil:libpostproc:libswresample:libswscale:''${${ldLibraryPathEnv}}" \
+    ${ldLibraryPathEnv}="libavcodec:libavdevice:libavfilter:libavformat:libavutil:libpostproc:libswresample:libswscale:''${${ldLibraryPathEnv}}" \
       make check -j$NIX_BUILD_CORES
   '';
 
diff --git a/pkgs/development/libraries/ffmpeg/0001-fate-ffmpeg-add-missing-samples-dependency-to-fate-s.patch b/pkgs/development/libraries/ffmpeg/0001-fate-ffmpeg-add-missing-samples-dependency-to-fate-s.patch
new file mode 100644
index 0000000000000..ac016069357df
--- /dev/null
+++ b/pkgs/development/libraries/ffmpeg/0001-fate-ffmpeg-add-missing-samples-dependency-to-fate-s.patch
@@ -0,0 +1,27 @@
+From a66b58d61caaae452785a2d69f5de9259ab27138 Mon Sep 17 00:00:00 2001
+From: James Almer <jamrial@gmail.com>
+Date: Sun, 16 Jan 2022 00:32:52 -0300
+Subject: [PATCH] fate/ffmpeg: add missing samples dependency to fate-shortest
+
+Signed-off-by: James Almer <jamrial@gmail.com>
+(cherry picked from commit b1ef5882e35d1a95e9c4838d0933084773055345)
+---
+ tests/fate/ffmpeg.mak | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/fate/ffmpeg.mak b/tests/fate/ffmpeg.mak
+index 0b00bb5b23..b80467d02e 100644
+--- a/tests/fate/ffmpeg.mak
++++ b/tests/fate/ffmpeg.mak
+@@ -86,7 +86,7 @@ fate-unknown_layout-ac3: CMD = md5 -auto_conversion_filters \
+   -guess_layout_max 0 -f s32le -ac 1 -ar 44100 -i $(TARGET_PATH)/$(AREF) \
+   -f ac3 -flags +bitexact -c ac3_fixed
+ 
+-FATE_FFMPEG-$(call ALLYES, FILE_PROTOCOL LAVFI_INDEV RAWVIDEO_DEMUXER      \
++FATE_SAMPLES_FFMPEG-$(call ALLYES, FILE_PROTOCOL LAVFI_INDEV RAWVIDEO_DEMUXER \
+                            SINE_FILTER PCM_S16LE_DECODER RAWVIDEO_DECODER  \
+                            ARESAMPLE_FILTER AMIX_FILTER MPEG4_ENCODER      \
+                            AC3_FIXED_ENCODER FRAMECRC_MUXER PIPE_PROTOCOL) \
+-- 
+2.33.1
+
diff --git a/pkgs/development/libraries/ffmpeg/5.nix b/pkgs/development/libraries/ffmpeg/5.nix
new file mode 100644
index 0000000000000..7b79ddff77ebb
--- /dev/null
+++ b/pkgs/development/libraries/ffmpeg/5.nix
@@ -0,0 +1,14 @@
+{ callPackage
+# Darwin frameworks
+, Cocoa, CoreMedia, VideoToolbox
+, ...
+}@args:
+
+callPackage ./generic.nix (rec {
+  version = "5.0";
+  branch = version;
+  sha256 = "1ndy6a2bhl6nvz9grmcaakh4xi0vss455466s47l6qy7na6hn4y0";
+  darwinFrameworks = [ Cocoa CoreMedia VideoToolbox ];
+
+  patches = [ ./0001-fate-ffmpeg-add-missing-samples-dependency-to-fate-s.patch ];
+} // args)
diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix
index 876910da6d259..e3b0534d2af92 100644
--- a/pkgs/development/libraries/ffmpeg/generic.nix
+++ b/pkgs/development/libraries/ffmpeg/generic.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, buildPackages, fetchurl, pkg-config, addOpenGLRunpath, perl, texinfo, yasm
 , alsa-lib, bzip2, fontconfig, freetype, gnutls, libiconv, lame, libass, libogg
 , libssh, libtheora, libva, libdrm, libvorbis, libvpx, xz, libpulseaudio, soxr
-, x264, x265, xvidcore, zlib, libopus, speex, nv-codec-headers, dav1d
+, x264, x265, xvidcore, zimg, zlib, libopus, speex, nv-codec-headers, dav1d
 , srt ? null
 , openglSupport ? false, libGLU ? null, libGL ? null
 , libmfxSupport ? false, intel-media-sdk ? null
@@ -54,6 +54,8 @@ let
 
   ifMinVer = minVer: flag: if reqMin minVer then flag else null;
 
+  ifVerOlder = maxVer: flag: if (lib.versionOlder branch maxVer) then flag else null;
+
   # Version specific fix
   verFix = withoutFix: fixVer: withFix: if reqMatch fixVer then withFix else withoutFix;
 
@@ -121,7 +123,7 @@ stdenv.mkDerivation rec {
       (ifMinVer "0.6" "--enable-avdevice")
       "--enable-avfilter"
       (ifMinVer "0.6" "--enable-avformat")
-      (ifMinVer "1.0" "--enable-avresample")
+      (ifMinVer "1.0" (ifVerOlder "5.0" "--enable-avresample"))
       (ifMinVer "1.1" "--enable-avutil")
       "--enable-postproc"
       (ifMinVer "0.9" "--enable-swresample")
@@ -152,6 +154,7 @@ stdenv.mkDerivation rec {
       (ifMinVer "1.2" "--enable-libsoxr")
       "--enable-libx264"
       "--enable-libxvid"
+      "--enable-libzimg"
       "--enable-zlib"
       (ifMinVer "2.8" "--enable-libopus")
       "--enable-libspeex"
@@ -174,7 +177,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     bzip2 fontconfig freetype gnutls libiconv lame libass libogg libssh libtheora
-    libvorbis xz soxr x264 x265 xvidcore zlib libopus speex srt nv-codec-headers
+    libvorbis xz soxr x264 x265 xvidcore zimg zlib libopus speex srt nv-codec-headers
   ] ++ optionals openglSupport [ libGL libGLU ]
     ++ optional libmfxSupport intel-media-sdk
     ++ optional libaomSupport libaom
diff --git a/pkgs/development/libraries/ffmpegthumbnailer/default.nix b/pkgs/development/libraries/ffmpegthumbnailer/default.nix
index dfdbf8eb2f808..9bfee290871f2 100644
--- a/pkgs/development/libraries/ffmpegthumbnailer/default.nix
+++ b/pkgs/development/libraries/ffmpegthumbnailer/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ffmpegthumbnailer";
-  version = "2.2.2";
+  version = "unstable-2021-09-02";
 
   src = fetchFromGitHub {
     owner = "dirkvdb";
     repo = "ffmpegthumbnailer";
-    rev = version;
-    sha256 = "1bakbr714j7yxdal1f5iq0gcl4cxggbbgj227ihdh5kvygqlwich";
+    rev = "d92e191dd793b12cee0a0f685f5a8d8252988399";
+    sha256 = "1ysfq3g74b8ivivrdpfi4vm23d3cyc3rfla5i6y8q9aycis9xv6q";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/ffms/default.nix b/pkgs/development/libraries/ffms/default.nix
index 283942df63f9e..6e7a58f5597eb 100644
--- a/pkgs/development/libraries/ffms/default.nix
+++ b/pkgs/development/libraries/ffms/default.nix
@@ -3,7 +3,7 @@
 , fetchFromGitHub
 , autoreconfHook
 , pkg-config
-, ffmpeg
+, ffmpeg_4
 , zlib
 }:
 
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = [
-    ffmpeg
+    ffmpeg_4
     zlib
   ];
 
diff --git a/pkgs/development/libraries/fftw/default.nix b/pkgs/development/libraries/fftw/default.nix
index 37a7f1ce8fe47..4f3d685c1fa4f 100644
--- a/pkgs/development/libraries/fftw/default.nix
+++ b/pkgs/development/libraries/fftw/default.nix
@@ -3,7 +3,7 @@
 , lib
 , gfortran
 , perl
-, llvmPackages ? null
+, llvmPackages
 , precision ? "double"
 , enableAvx ? stdenv.hostPlatform.avxSupport
 , enableAvx2 ? stdenv.hostPlatform.avx2Support
@@ -11,27 +11,23 @@
 , enableFma ? stdenv.hostPlatform.fmaSupport
 , enableMpi ? false
 , mpi
+, withDoc ? stdenv.cc.isGNU
 }:
 
 with lib;
 
-assert stdenv.cc.isClang -> llvmPackages != null;
 assert elem precision [ "single" "double" "long-double" "quad-precision" ];
 
-let
-  version = "3.3.9";
-  withDoc = stdenv.cc.isGNU;
-in
-
-stdenv.mkDerivation {
-  name = "fftw-${precision}-${version}";
+stdenv.mkDerivation rec {
+  pname = "fftw-${precision}";
+  version = "3.3.10";
 
   src = fetchurl {
     urls = [
-      "http://fftw.org/fftw-${version}.tar.gz"
+      "https://fftw.org/fftw-${version}.tar.gz"
       "ftp://ftp.fftw.org/pub/fftw/fftw-${version}.tar.gz"
     ];
-    sha256 = "sha256-vyx85AsEroEa9xTetRJRDMLBe5q51t3PSf5Eh+6nrz0=";
+    sha256 = "sha256-VskyVJhSzdz6/as4ILAgDHdCZ1vpIXnlnmIVs0DiZGc=";
   };
 
   outputs = [ "out" "dev" "man" ]
diff --git a/pkgs/development/libraries/flann/default.nix b/pkgs/development/libraries/flann/default.nix
index 283c815b199b4..c294aec893a50 100644
--- a/pkgs/development/libraries/flann/default.nix
+++ b/pkgs/development/libraries/flann/default.nix
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
   buildInputs = lib.optionals enablePython [ python3 ];
 
   meta = {
-    homepage = "http://people.cs.ubc.ca/~mariusm/flann/";
+    homepage = "https://github.com/flann-lib/flann";
     license = lib.licenses.bsd3;
     description = "Fast approximate nearest neighbor searches in high dimensional spaces";
     maintainers = with lib.maintainers; [viric];
diff --git a/pkgs/development/libraries/flatpak/default.nix b/pkgs/development/libraries/flatpak/default.nix
index 40e07c5907420..c97f1effd67c5 100644
--- a/pkgs/development/libraries/flatpak/default.nix
+++ b/pkgs/development/libraries/flatpak/default.nix
@@ -1,6 +1,5 @@
 { lib, stdenv
 , fetchurl
-, fetchpatch
 , autoreconfHook
 , docbook_xml_dtd_45
 , docbook-xsl-nons
@@ -54,14 +53,14 @@
 
 stdenv.mkDerivation rec {
   pname = "flatpak";
-  version = "1.12.2";
+  version = "1.12.4";
 
   # TODO: split out lib once we figure out what to do with triggerdir
   outputs = [ "out" "dev" "man" "doc" "devdoc" "installedTests" ];
 
   src = fetchurl {
     url = "https://github.com/flatpak/flatpak/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "df1eb464f9142c11627f99f04f6a5c02c868bbb145489b8902cb6c105e774b75"; # Taken from https://github.com/flatpak/flatpak/releases/
+    sha256 = "792e6265f7f6d71b2a087028472a048287bed2587e43d2eec2c31d360c16211c"; # Taken from https://github.com/flatpak/flatpak/releases/
   };
 
   patches = [
@@ -78,7 +77,7 @@ stdenv.mkDerivation rec {
     # Hardcode paths used by Flatpak itself.
     (substituteAll {
       src = ./fix-paths.patch;
-      p11kit = "${p11-kit.dev}/bin/p11-kit";
+      p11kit = "${p11-kit.bin}/bin/p11-kit";
     })
 
     # Adapt paths exposed to sandbox for NixOS.
@@ -97,13 +96,6 @@ stdenv.mkDerivation rec {
 
     # But we want the GDK_PIXBUF_MODULE_FILE from the wrapper affect the icon validator.
     ./validate-icon-pixbuf.patch
-
-    # Tests don't respect the FLATPAK_BINARY override that was added, this is a workaround.
-    # https://github.com/flatpak/flatpak/pull/4496 (Can be removed once included).
-    (fetchpatch {
-      url = "https://github.com/flatpak/flatpak/commit/96dbe28cfa96e80b23fa1d8072eb36edad41279c.patch";
-      sha256 = "1jczk06ymfs98h3nsg245g0jwxvml7wg2x6pb7mrfpsdmrpz2czd";
-    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/flint/default.nix b/pkgs/development/libraries/flint/default.nix
index 858144b150aa0..6873508eb7dcd 100644
--- a/pkgs/development/libraries/flint/default.nix
+++ b/pkgs/development/libraries/flint/default.nix
@@ -51,6 +51,5 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     homepage = "https://www.flintlib.org/";
     downloadPage = "https://www.flintlib.org/downloads.html";
-    updateWalker = true;
   };
 }
diff --git a/pkgs/development/libraries/folks/default.nix b/pkgs/development/libraries/folks/default.nix
index 45d3f128c01c2..965016e1c740e 100644
--- a/pkgs/development/libraries/folks/default.nix
+++ b/pkgs/development/libraries/folks/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , lib
 , fetchurl
-, fetchpatch
 , pkg-config
 , meson
 , ninja
@@ -36,24 +35,15 @@
 
 stdenv.mkDerivation rec {
   pname = "folks";
-  version = "0.15.3";
+  version = "0.15.4";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "Idc3+vCT9L4GVHPucMogiFuaLDaFlB26JMIjn9PFRKU=";
+    sha256 = "5xCZr8noj61OdXrhNLw/1j4SuQGtYrDtVTavt5Ekr18=";
   };
 
-  patches = [
-    # Fix build with evolution-data-server ≥ 3.41
-    # https://gitlab.gnome.org/GNOME/folks/-/merge_requests/52
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/folks/-/commit/62d588b0c609de17df5b4d1ebfbc67c456267efc.patch";
-      sha256 = "TDL/5kvVwHnvDMuKDdPLQmpmE1FTZhY+7HG8NxKqt5w=";
-    })
-  ];
-
   nativeBuildInputs = [
     gettext
     gobject-introspection
diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix
index 85c80532b5112..2f02698f3abfc 100644
--- a/pkgs/development/libraries/folly/default.nix
+++ b/pkgs/development/libraries/folly/default.nix
@@ -1,31 +1,33 @@
 { lib, stdenv
 , fetchFromGitHub
-, cmake
 , boost
-, libevent
+, cmake
 , double-conversion
-, glog
+, fetchpatch
+, fmt_8
 , gflags
+, glog
+, libevent
 , libiberty
+, libunwind
 , lz4
-, xz
-, zlib
-, jemalloc
 , openssl
 , pkg-config
-, libunwind
-, fmt
+, xz
+, zlib
+, zstd
+, follyMobile ? false
 }:
 
-stdenv.mkDerivation (rec {
+stdenv.mkDerivation rec {
   pname = "folly";
-  version = "2021.10.25.00";
+  version = "2022.02.07.00";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "folly";
     rev = "v${version}";
-    sha256 = "sha256-+di8Dzt5NRbqIydBR4sB6bUbQrZZ8URUosdP2JGQMec=";
+    sha256 = "sha256-C/PQBXhOELNxQFfQhgQeU+QmsdtFeBESyWerC+QZBEI=";
   };
 
   nativeBuildInputs = [
@@ -45,11 +47,12 @@ stdenv.mkDerivation (rec {
     lz4
     xz
     zlib
-    jemalloc
     libunwind
-    fmt
+    fmt_8
+    zstd
   ];
 
+  NIX_CFLAGS_COMPILE = [ "-DFOLLY_MOBILE=${if follyMobile then "1" else "0"}" ];
   cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
 
   meta = with lib; {
@@ -57,9 +60,7 @@ stdenv.mkDerivation (rec {
     homepage = "https://github.com/facebook/folly";
     license = licenses.asl20;
     # 32bit is not supported: https://github.com/facebook/folly/issues/103
-    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
     maintainers = with maintainers; [ abbradar pierreis ];
   };
-} // lib.optionalAttrs stdenv.isDarwin {
-  LDFLAGS = "-ljemalloc";
-})
+}
diff --git a/pkgs/development/libraries/fontconfig/default.nix b/pkgs/development/libraries/fontconfig/default.nix
index 22875e51842aa..64e6f9a247678 100644
--- a/pkgs/development/libraries/fontconfig/default.nix
+++ b/pkgs/development/libraries/fontconfig/default.nix
@@ -1,4 +1,5 @@
 { lib, stdenv
+, fetchpatch
 , substituteAll
 , fetchurl
 , pkg-config
@@ -21,6 +22,14 @@ stdenv.mkDerivation rec {
     sha256 = "0g004r0bkkqz00mpm3svnnxn7d83158q0yb9ggxryizxfg5m5w55";
   };
 
+  patches = [
+    # Fix font style detection
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/fontconfig/fontconfig/-/commit/92fbf14b0d7c4737ffe1e8326b7ab8ffae5548c3.patch";
+      sha256 = "1wmyax2151hg3m11q61mv25k45zk2w3xapb4p1r6wzk91zjlsgyr";
+    })
+  ];
+
   outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/fplll/default.nix b/pkgs/development/libraries/fplll/default.nix
index 3a82b566a50f1..7d4ff382d8c1f 100644
--- a/pkgs/development/libraries/fplll/default.nix
+++ b/pkgs/development/libraries/fplll/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
-, fetchpatch
+, pkg-config
 , gettext
 , autoreconfHook
 , gmp
@@ -9,16 +9,17 @@
 
 stdenv.mkDerivation rec {
   pname = "fplll";
-  version = "5.3.2";
+  version = "5.4.1";
 
   src = fetchFromGitHub {
     owner = "fplll";
     repo = "fplll";
     rev = version;
-    sha256 = "00iyz218ywspizjiimrjdcqvdqmrsb2367zyy3vkmypnf9i9l680";
+    sha256 = "sha256-6Zde8/bPOQQ16DqhqrQuGXDrf5HQEn5lwxauvyBr4XQ=";
   };
 
   nativeBuildInputs = [
+    pkg-config
     gettext
     autoreconfHook
   ];
diff --git a/pkgs/development/libraries/freenect/default.nix b/pkgs/development/libraries/freenect/default.nix
index 0e96a346f418b..59b161384045f 100644
--- a/pkgs/development/libraries/freenect/default.nix
+++ b/pkgs/development/libraries/freenect/default.nix
@@ -18,6 +18,11 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake pkg-config ];
 
+  # see https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=libfreenect&id=0d17db49ba64bcb9e3a4eed61cf55c9a5ceb97f1
+  patchPhase = lib.concatMapStrings (x: ''
+    substituteInPlace ${x} --replace "{GLUT_LIBRARY}" "{GLUT_LIBRARIES}"
+  '') [ "examples/CMakeLists.txt" "wrappers/cpp/CMakeLists.txt" ];
+
   meta = {
     description = "Drivers and libraries for the Xbox Kinect device on Windows, Linux, and macOS";
     homepage = "http://openkinect.org";
diff --git a/pkgs/development/libraries/freetds/default.nix b/pkgs/development/libraries/freetds/default.nix
index ed455c534b2af..e5797d332ae26 100644
--- a/pkgs/development/libraries/freetds/default.nix
+++ b/pkgs/development/libraries/freetds/default.nix
@@ -8,11 +8,11 @@ assert odbcSupport -> unixODBC != null;
 
 stdenv.mkDerivation rec {
   pname = "freetds";
-  version = "1.3.3";
+  version = "1.3.8";
 
   src = fetchurl {
     url    = "https://www.freetds.org/files/stable/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-26AufwZh/0LcKJ/EHXzefgMIn9Mm8I7ijIcqyf9KHIQ=";
+    sha256 = "sha256-18p+ZaJgwCvjUchel4aaOjIr5jeVPKRNNhW1WljSezM=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/freetype/default.nix b/pkgs/development/libraries/freetype/default.nix
index 6c66561f29f2f..5dfd56370022c 100644
--- a/pkgs/development/libraries/freetype/default.nix
+++ b/pkgs/development/libraries/freetype/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "freetype";
-  version = "2.11.0";
+  version = "2.11.1";
 
   src = fetchurl {
     url = "mirror://savannah/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-i+45vTloxIBLcGFKCjrVlyma0OgkvIqtXOiq9IBnvec=";
+    sha256 = "sha256-MzOufP2ohCnJenrmO30BqzmAdsO2cYLpYOVoQFDyxcg=";
   };
 
   propagatedBuildInputs = [ zlib bzip2 libpng ]; # needed when linking against freetype
diff --git a/pkgs/development/libraries/fribidi/default.nix b/pkgs/development/libraries/fribidi/default.nix
index 27f3b825d10aa..3549368fecbc8 100644
--- a/pkgs/development/libraries/fribidi/default.nix
+++ b/pkgs/development/libraries/fribidi/default.nix
@@ -10,14 +10,14 @@
 
 stdenv.mkDerivation rec {
   pname = "fribidi";
-  version = "1.0.10";
+  version = "1.0.11";
 
   outputs = [ "out" "devdoc" ];
 
   # NOTE: Only URL tarball has "Have pre-generated man pages: true", which works-around upstream usage of some rare ancient `c2man` fossil application.
   src = fetchurl {
     url = "https://github.com/fribidi/fribidi/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "009wcpgk4jj5x52skjkfs6xar6x38mcngs75rb59nj9ig1y6h73z";
+    sha256 = "sha256-MPk+nGPuYn0aLO3PWaw01FvzAkCYL5nkTG4BVGa05z0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/funambol/default.nix b/pkgs/development/libraries/funambol/default.nix
index e5ad34a56bb61..3e7bf0d21a2bf 100644
--- a/pkgs/development/libraries/funambol/default.nix
+++ b/pkgs/development/libraries/funambol/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "SyncML client sdk by Funambol project";
-    homepage = "http://www.funambol.com";
+    homepage = "https://www.funambol.com";
     license = licenses.agpl3;
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/libraries/gbenchmark/default.nix b/pkgs/development/libraries/gbenchmark/default.nix
index 0bb9e58fe3552..fc356d6f00341 100644
--- a/pkgs/development/libraries/gbenchmark/default.nix
+++ b/pkgs/development/libraries/gbenchmark/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gbenchmark";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "benchmark";
     rev = "v${version}";
-    sha256 = "sha256-EAJk3JhLdkuGKRMtspTLejck8doWPd7Z0Lv/Mvf3KFY=";
+    sha256 = "sha256-yUiFxi80FWBmTZgqmqTMf9oqcBeg3o4I4vKd4djyRWY=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/gdal/2.4.nix b/pkgs/development/libraries/gdal/2.4.nix
index 234d986b21fa6..0e57160f1947a 100644
--- a/pkgs/development/libraries/gdal/2.4.nix
+++ b/pkgs/development/libraries/gdal/2.4.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, libjpeg, libtiff, zlib
-, postgresql, libmysqlclient, libgeotiff, python2Packages, proj, geos, openssl
+, postgresql, libmysqlclient, libgeotiff, python3Packages, proj, geos, openssl
 , libpng, sqlite, libspatialite, poppler, hdf4, qhull, giflib, expat
 , libiconv, libxml2
 , netcdfSupport ? true, netcdf, hdf5, curl
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libjpeg libtiff libgeotiff libpng proj openssl sqlite
     libspatialite poppler hdf4 qhull giflib expat libxml2 proj ]
-  ++ (with python2Packages; [ python numpy wrapPython ])
+  ++ (with python3Packages; [ python numpy wrapPython ])
   ++ lib.optional stdenv.isDarwin libiconv
   ++ lib.optionals netcdfSupport [ netcdf hdf5 curl ];
 
diff --git a/pkgs/development/libraries/gdal/default.nix b/pkgs/development/libraries/gdal/default.nix
index 62735dfa9b0c7..3e5ae303dd779 100644
--- a/pkgs/development/libraries/gdal/default.nix
+++ b/pkgs/development/libraries/gdal/default.nix
@@ -7,13 +7,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "gdal";
-  version = "3.3.2";
+  version = "3.4.1";
 
   src = fetchFromGitHub {
     owner = "OSGeo";
     repo = "gdal";
     rev = "v${version}";
-    sha256 = "sha256-fla3EMDmuW0+vmmU0sgtLsGfO7dDApLQ2EoKJeR/1IM=";
+    sha256 = "11rjdaxmsp9n3r9xhmgd7ksy8bh5fazwsxdj0xvl4hsy6bcn4n97";
   };
 
   sourceRoot = "source/gdal";
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     expat
     libxml2
     postgresql
-  ] ++ (with pythonPackages; [ python numpy wrapPython ])
+  ] ++ (with pythonPackages; [ python setuptools numpy wrapPython ])
     ++ lib.optional stdenv.isDarwin libiconv
     ++ lib.optionals netcdfSupport [ netcdf hdf5 curl ];
 
@@ -62,7 +62,11 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
-  CXXFLAGS = "-fpermissive";
+  CXXFLAGS = lib.concatStringsSep " " [
+    "-fpermissive"
+    # poppler uses std::optional
+    "-std=c++17"
+  ];
 
   # - Unset CC and CXX as they confuse libtool.
   # - teach gdal that libdf is the legacy name for libhdf
diff --git a/pkgs/development/libraries/gdk-pixbuf/xlib.nix b/pkgs/development/libraries/gdk-pixbuf/xlib.nix
index bc4c14beb4587..dd498bb9aeac6 100644
--- a/pkgs/development/libraries/gdk-pixbuf/xlib.nix
+++ b/pkgs/development/libraries/gdk-pixbuf/xlib.nix
@@ -12,7 +12,7 @@
 
 stdenv.mkDerivation rec {
   pname = "gdk-pixbuf-xlib";
-  version = "2020-06-11-unstable";
+  version = "2.40.2";
 
   outputs = [ "out" "dev" "devdoc" ];
 
@@ -20,8 +20,8 @@ stdenv.mkDerivation rec {
     domain = "gitlab.gnome.org";
     owner = "Archive";
     repo = "gdk-pixbuf-xlib";
-    rev = "3116b8ae55501cf48d16970aa2b50a5530e15223";
-    sha256 = "15wisf2xld3cr7lprnic8fvwpcmww4rydwc1bn2zilyi52vzl2zd";
+    rev = version;
+    hash = "sha256-b4EUaYzg2NlBMU90dGQivOvkv9KKSzES/ymPqzrelu8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix
index 3f8215d19fc28..22acc73c49c63 100644
--- a/pkgs/development/libraries/gettext/default.nix
+++ b/pkgs/development/libraries/gettext/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, libiconv, xz }:
+{ stdenv, lib, fetchurl, fetchpatch, libiconv, xz }:
 
 # Note: this package is used for bootstrapping fetchurl, and thus
 # cannot use fetchpatch! All mutable patches (generated by GitHub or
@@ -15,7 +15,11 @@ stdenv.mkDerivation rec {
   };
   patches = [
     ./absolute-paths.diff
-  ];
+  ] ++ lib.optional stdenv.hostPlatform.isWindows (fetchpatch {
+    url = "https://aur.archlinux.org/cgit/aur.git/plain/gettext_formatstring-ruby.patch?h=mingw-w64-gettext&id=e8b577ee3d399518d005e33613f23363a7df07ee";
+    name = "gettext_formatstring-ruby.patch";
+    sha256 = "sha256-6SxZObOMkQDxuKJuJY+mQ/VuJJxSeGbf97J8ZZddCV0=";
+  });
 
   outputs = [ "out" "man" "doc" "info" ];
 
diff --git a/pkgs/development/libraries/giblib/default.nix b/pkgs/development/libraries/giblib/default.nix
deleted file mode 100644
index ca4a3c98e0a60..0000000000000
--- a/pkgs/development/libraries/giblib/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib, stdenv, fetchurl, xlibsWrapper, imlib2 }:
-
-stdenv.mkDerivation rec {
-  pname = "giblib";
-  version = "1.2.4";
-
-  src = fetchurl {
-    url = "http://linuxbrit.co.uk/downloads/giblib-${version}.tar.gz";
-    sha256 = "1b4bmbmj52glq0s898lppkpzxlprq9aav49r06j2wx4dv3212rhp";
-  };
-
-  outputs = [ "out" "dev" ];
-  setOutputFlags = false;
-
-  preConfigure = ''
-    configureFlagsArray+=(
-      --includedir=$dev/include
-    )
-  '';
-
-  buildInputs = [ xlibsWrapper ];
-  propagatedBuildInputs = [ imlib2 ];
-
-  postFixup = ''
-    moveToOutput bin/giblib-config "$dev"
-
-    # Doesn't contain useful stuff
-    rm -rf $out/share/doc
-  '';
-
-  meta = {
-    homepage = "http://linuxbrit.co.uk/giblib/";
-    description = "wrapper library for imlib2, and other stuff";
-    platforms = lib.platforms.unix;
-    license = lib.licenses.mit;
-  };
-}
diff --git a/pkgs/development/libraries/git2/default.nix b/pkgs/development/libraries/git2/default.nix
deleted file mode 100644
index 35ef9fba1051e..0000000000000
--- a/pkgs/development/libraries/git2/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, python3
-, zlib, libssh2, openssl, pcre, http-parser
-, libiconv, Security
-}:
-
-stdenv.mkDerivation rec {
-  pname = "libgit2";
-  version = "1.3.0";
-  # keep the version in sync with python3.pkgs.pygit2 and libgit2-glib
-
-  src = fetchFromGitHub {
-    owner = "libgit2";
-    repo = "libgit2";
-    rev = "v${version}";
-    sha256 = "sha256-7atNkOBzX+nU1gtFQEaE+EF1L+eex+Ajhq2ocoJY920=";
-  };
-
-  cmakeFlags = [
-    "-DTHREADSAFE=ON"
-    "-DUSE_HTTP_PARSER=system"
-  ];
-
-  nativeBuildInputs = [ cmake python3 pkg-config ];
-
-  buildInputs = [ zlib libssh2 openssl pcre http-parser ]
-    ++ lib.optional stdenv.isDarwin Security;
-
-  propagatedBuildInputs = lib.optional (!stdenv.isLinux) libiconv;
-
-  doCheck = false; # hangs. or very expensive?
-
-  meta = {
-    description = "The Git linkable library";
-    homepage = "https://libgit2.github.com/";
-    license = lib.licenses.gpl2;
-    platforms = with lib.platforms; all;
-  };
-}
diff --git a/pkgs/development/libraries/givaro/default.nix b/pkgs/development/libraries/givaro/default.nix
index 29674118dfee3..83f7854a73b0b 100644
--- a/pkgs/development/libraries/givaro/default.nix
+++ b/pkgs/development/libraries/givaro/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchFromGitHub, automake, autoconf, libtool, autoreconfHook, gmpxx }:
 stdenv.mkDerivation rec {
   pname = "givaro";
-  version = "4.1.1";
+  version = "4.2.0";
   src = fetchFromGitHub {
     owner = "linbox-team";
     repo = pname;
     rev = "v${version}";
-    sha256 = "11wz57q6ijsvfs5r82masxgr319as92syi78lnl9lgdblpc6xigk";
+    sha256 = "sha256-KR0WJc0CSvaBnPRott4hQJhWNBb/Wi6MIhcTExtVobQ=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/gjs/default.nix b/pkgs/development/libraries/gjs/default.nix
index 29eb1b9482470..07c97ea6e0d67 100644
--- a/pkgs/development/libraries/gjs/default.nix
+++ b/pkgs/development/libraries/gjs/default.nix
@@ -30,13 +30,13 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "gjs";
-  version = "1.70.0";
+  version = "1.70.1";
 
   outputs = [ "out" "dev" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gjs/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-SwYpNBoxigI3ThE6uX+anzMlQjJp/B4LBDpf+wGGHF8=";
+    sha256 = "sha256-u9wO7HzyX7xTR2n2ofssehjhe4ce/bDKWOmr8IsoAD8=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/glew/default.nix b/pkgs/development/libraries/glew/default.nix
index ae32bbe95223b..7e281892a1fd1 100644
--- a/pkgs/development/libraries/glew/default.nix
+++ b/pkgs/development/libraries/glew/default.nix
@@ -1,9 +1,8 @@
-{ lib, stdenv, fetchurl, libGLU, xlibsWrapper, libXmu, libXi
+{ lib, stdenv, fetchurl, fetchpatch, cmake, libGLU, xlibsWrapper, libXmu, libXi
 , OpenGL
+, enableEGL ? false
 }:
 
-with lib;
-
 stdenv.mkDerivation rec {
   pname = "glew";
   version = "2.2.0";
@@ -13,48 +12,46 @@ stdenv.mkDerivation rec {
     sha256 = "1qak8f7g1iswgswrgkzc7idk7jmqgwrs58fhg2ai007v7j4q5z6l";
   };
 
-  outputs = [ "bin" "out" "dev" "doc" ];
-
-  buildInputs = optionals (!stdenv.isDarwin) [ xlibsWrapper libXmu libXi ];
-  propagatedBuildInputs = if stdenv.isDarwin then [ OpenGL ] else [ libGLU ]; # GL/glew.h includes GL/glu.h
+  outputs = [ "bin" "out" "dev" ];
 
-  patchPhase = ''
-    sed -i 's|lib64|lib|' config/Makefile.linux
-    substituteInPlace config/Makefile.darwin --replace /usr/local "$out"
-    ${optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
-      sed -i -e 's/\(INSTALL.*\)-s/\1/' Makefile
-    ''}
-  '';
+  patches = [
+    # https://github.com/nigels-com/glew/pull/342
+    (fetchpatch {
+      url = "https://github.com/nigels-com/glew/commit/966e53fa153175864e151ec8a8e11f688c3e752d.diff";
+      sha256 = "sha256-xsSwdAbdWZA4KVoQhaLlkYvO711i3QlHGtv6v1Omkhw=";
+    })
+  ];
 
-  buildFlags = [ "all" ];
-  installFlags = [ "install.all" ];
+  nativeBuildInputs = [ cmake ];
+  buildInputs = lib.optionals (!stdenv.isDarwin) [ xlibsWrapper libXmu libXi ];
+  propagatedBuildInputs = if stdenv.isDarwin then [ OpenGL ] else [ libGLU ]; # GL/glew.h includes GL/glu.h
 
-  preInstall = ''
-    makeFlagsArray+=(GLEW_DEST=$out BINDIR=$bin/bin INCDIR=$dev/include/GL)
-  '';
+  cmakeDir = "cmake";
+  cmakeFlags = [
+    "-DBUILD_SHARED_LIBS=ON"
+  ] ++ lib.optional enableEGL "-DGLEW_EGL=ON";
 
   postInstall = ''
-    mkdir -pv $out/share/doc/glew
-    mkdir -p $out/lib/pkgconfig
-    cp glew*.pc $out/lib/pkgconfig
-    cp -r README.md LICENSE.txt doc $out/share/doc/glew
-    rm $out/lib/*.a
+    moveToOutput lib/cmake "''${!outputDev}"
+    moveToOutput lib/pkgconfig "''${!outputDev}"
+
+    cat >> "''${!outputDev}"/lib/cmake/glew/glew-config.cmake <<EOF
+    # nixpkg's workaround for a cmake bug
+    # https://discourse.cmake.org/t/the-findglew-cmake-module-does-not-set-glew-libraries-in-some-cases/989/3
+    set(GLEW_VERSION "$version")
+    set(GLEW_LIBRARIES GLEW::glew\''${_glew_target_postfix})
+    get_target_property(GLEW_INCLUDE_DIRS GLEW::glew\''${_glew_target_postfix} INTERFACE_INCLUDE_DIRECTORIES)
+    EOF
   '';
 
-  makeFlags = [
-    "SYSTEM=${if stdenv.hostPlatform.isMinGW then "mingw" else stdenv.hostPlatform.parsed.kernel.name}"
-    "CC=${stdenv.cc.targetPrefix}cc"
-    "LD=${stdenv.cc.targetPrefix}cc"
-    "AR=${stdenv.cc.targetPrefix}ar"
-  ];
-
-  enableParallelBuilding = true;
-
   meta = with lib; {
-    description = "An OpenGL extension loading library for C(++)";
+    description = "An OpenGL extension loading library for C/C++";
     homepage = "http://glew.sourceforge.net/";
-    license = licenses.free; # different files under different licenses
-      #["BSD" "GLX" "SGI-B" "GPL2"]
-    platforms = platforms.mesaPlatforms;
+    license = with licenses; [ /* modified bsd */ free mit gpl2Only ]; # For full details, see https://github.com/nigels-com/glew#copyright-and-licensing
+    platforms = with platforms;
+      if enableEGL then
+        subtractLists darwin mesaPlatforms
+      else
+        mesaPlatforms;
   };
 }
diff --git a/pkgs/development/libraries/glib-networking/default.nix b/pkgs/development/libraries/glib-networking/default.nix
index d5bc952597d47..1a693e0e04527 100644
--- a/pkgs/development/libraries/glib-networking/default.nix
+++ b/pkgs/development/libraries/glib-networking/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "glib-networking";
-  version = "2.70.0";
+  version = "2.70.1";
 
   outputs = [ "out" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0dbg1na239mbavn4hknkax5sns9q2dbdnqw9wcpmhv58mzkhid36";
+    sha256 = "Kha/wtJxzNMmbj+0YryKQQPALoG7szmqktb7BgWS17w=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index d41bfd2f413b7..30f43c00a05d1 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -45,11 +45,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "glib";
-  version = "2.70.1";
+  version = "2.70.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "+be85/UXU6H0OFO7ysqL8J4V6ZQmjinP16dvZWNiY8A=";
+    sha256 = "BVFFnIXNPaPVjdyQFv0ovlr1A/XhYVpxultRKslFgG8=";
   };
 
   patches = optionals stdenv.isDarwin [
@@ -93,6 +93,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     libelf setupHook pcre
+  ] ++ optionals (!stdenv.hostPlatform.isWindows) [
     bash gnum4 # install glib-gettextize and m4 macros for other apps to use
   ] ++ optionals stdenv.isLinux [
     libselinux
@@ -143,6 +144,9 @@ stdenv.mkDerivation rec {
     patchShebangs glib/gen-unicode-tables.pl
     patchShebangs tests/gen-casefold-txt.py
     patchShebangs tests/gen-casemap-txt.py
+  '' + lib.optionalString stdenv.hostPlatform.isWindows ''
+    substituteInPlace gio/win32/meson.build \
+      --replace "libintl, " ""
   '';
 
   DETERMINISTIC_BUILD = 1;
@@ -191,10 +195,17 @@ stdenv.mkDerivation rec {
 
   passthru = rec {
     gioModuleDir = "lib/gio/modules";
-    makeSchemaPath = dir: name: "${dir}/share/gsettings-schemas/${name}/glib-2.0/schemas";
+
+    makeSchemaDataDirPath = dir: name: "${dir}/share/gsettings-schemas/${name}";
+    makeSchemaPath = dir: name: "${makeSchemaDataDirPath dir name}/glib-2.0/schemas";
     getSchemaPath = pkg: makeSchemaPath pkg pkg.name;
+    getSchemaDataDirPath = pkg: makeSchemaDataDirPath pkg pkg.name;
+
     inherit flattenInclude;
-    updateScript = gnome.updateScript { packageName = "glib"; };
+    updateScript = gnome.updateScript {
+      packageName = "glib";
+      versionPolicy = "odd-unstable";
+    };
   };
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/glibc/2.33-master.patch.gz b/pkgs/development/libraries/glibc/2.33-master.patch.gz
index 50f74b15822e9..49ffd4a7441cb 100644
--- a/pkgs/development/libraries/glibc/2.33-master.patch.gz
+++ b/pkgs/development/libraries/glibc/2.33-master.patch.gz
Binary files differdiff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix
index 6fa46d6d6c10e..9a84a5f8167af 100644
--- a/pkgs/development/libraries/glibc/common.nix
+++ b/pkgs/development/libraries/glibc/common.nix
@@ -44,7 +44,7 @@
 
 let
   version = "2.33";
-  patchSuffix = "-59";
+  patchSuffix = "-108";
   sha256 = "sha256-LiVWAA4QXb1X8Layoy/yzxc73k8Nhd/8z9i35RoGd/8=";
 in
 
@@ -63,7 +63,7 @@ stdenv.mkDerivation ({
     [
       /* No tarballs for stable upstream branch, only https://sourceware.org/git/glibc.git and using git would complicate bootstrapping.
           $ git fetch --all -p && git checkout origin/release/2.33/master && git describe
-          glibc-2.33-59-gf9592d65f2
+          glibc-2.33-108-g3e2a15c666
           $ git show --minimal --reverse glibc-2.33.. | gzip -9n --rsyncable - > 2.33-master.patch.gz
 
          To compare the archive contents zdiff can be used.
diff --git a/pkgs/development/libraries/globalarrays/default.nix b/pkgs/development/libraries/globalarrays/default.nix
index a2e983ece83d9..0a8b372a52fc6 100644
--- a/pkgs/development/libraries/globalarrays/default.nix
+++ b/pkgs/development/libraries/globalarrays/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "globalarrays";
-  version = "5.8";
+  version = "5.8.1";
 
   src = fetchFromGitHub {
     owner = "GlobalArrays";
     repo = "ga";
     rev = "v${version}";
-    sha256 = "0bky91ncz6vy0011ps9prsnq9f4a5s5xwr23kkmi39xzg0417mnd";
+    sha256 = "sha256-IyHdeIUHu/T4lb/etGGnNB2guIspual8/v9eS807Qco=";
   };
 
   nativeBuildInputs = [ autoreconfHook gfortran ];
diff --git a/pkgs/development/libraries/gmp/5.1.3-CVE-2021-43618.patch b/pkgs/development/libraries/gmp/5.1.3-CVE-2021-43618.patch
new file mode 100644
index 0000000000000..13b9bc5f58cd9
--- /dev/null
+++ b/pkgs/development/libraries/gmp/5.1.3-CVE-2021-43618.patch
@@ -0,0 +1,20 @@
+Based on https://gmplib.org/repo/gmp-6.2/raw-rev/561a9c25298e,
+adapted for 5.x by ris
+
+diff -r e1fd9db13b47 -r 561a9c25298e mpz/inp_raw.c
+--- a/mpz/inp_raw.c	Tue Dec 22 23:49:51 2020 +0100
++++ b/mpz/inp_raw.c	Thu Oct 21 19:06:49 2021 +0200
+@@ -81,8 +81,11 @@
+ 
+   abs_csize = ABS (csize);
+ 
++  if (UNLIKELY (abs_csize > ~(mp_bitcnt_t) 0 / 8))
++    return 0; /* Bit size overflows */
++
+   /* round up to a multiple of limbs */
+-  abs_xsize = (abs_csize*8 + GMP_NUMB_BITS-1) / GMP_NUMB_BITS;
++  abs_xsize = ((mp_bitcnt_t)abs_csize*8 + GMP_NUMB_BITS-1) / GMP_NUMB_BITS;
+ 
+   if (abs_xsize != 0)
+     {
+
diff --git a/pkgs/development/libraries/gmp/5.1.x.nix b/pkgs/development/libraries/gmp/5.1.x.nix
index aa3704eb0b58c..c83a4785ebeac 100644
--- a/pkgs/development/libraries/gmp/5.1.x.nix
+++ b/pkgs/development/libraries/gmp/5.1.x.nix
@@ -22,7 +22,11 @@ let self = stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ m4 ];
 
-  patches = if stdenv.isDarwin then [ ./need-size-t.patch ] else null;
+  patches = [
+    ./5.1.3-CVE-2021-43618.patch
+  ] ++ lib.optionals stdenv.isDarwin [
+    ./need-size-t.patch
+  ];
 
   configureFlags = [
     "--with-pic"
diff --git a/pkgs/development/libraries/gmp/6.2.1-CVE-2021-43618.patch b/pkgs/development/libraries/gmp/6.2.1-CVE-2021-43618.patch
new file mode 100644
index 0000000000000..eec8206dba05c
--- /dev/null
+++ b/pkgs/development/libraries/gmp/6.2.1-CVE-2021-43618.patch
@@ -0,0 +1,19 @@
+https://gmplib.org/repo/gmp-6.2/raw-rev/561a9c25298e
+
+diff -r e1fd9db13b47 -r 561a9c25298e mpz/inp_raw.c
+--- a/mpz/inp_raw.c	Tue Dec 22 23:49:51 2020 +0100
++++ b/mpz/inp_raw.c	Thu Oct 21 19:06:49 2021 +0200
+@@ -88,8 +88,11 @@
+ 
+   abs_csize = ABS (csize);
+ 
++  if (UNLIKELY (abs_csize > ~(mp_bitcnt_t) 0 / 8))
++    return 0; /* Bit size overflows */
++
+   /* round up to a multiple of limbs */
+-  abs_xsize = BITS_TO_LIMBS (abs_csize*8);
++  abs_xsize = BITS_TO_LIMBS ((mp_bitcnt_t) abs_csize * 8);
+ 
+   if (abs_xsize != 0)
+     {
+
diff --git a/pkgs/development/libraries/gmp/6.x.nix b/pkgs/development/libraries/gmp/6.x.nix
index 59bc98aa559f2..9093073cecff4 100644
--- a/pkgs/development/libraries/gmp/6.x.nix
+++ b/pkgs/development/libraries/gmp/6.x.nix
@@ -20,6 +20,8 @@ let self = stdenv.mkDerivation rec {
     sha256 = "0z2ddfiwgi0xbf65z4fg4hqqzlhv0cc6hdcswf3c6n21xdmk5sga";
   };
 
+  patches = [ ./6.2.1-CVE-2021-43618.patch ];
+
   #outputs TODO: split $cxx due to libstdc++ dependency
   # maybe let ghc use a version with *.so shared with rest of nixpkgs and *.a added
   # - see #5855 for related discussion
diff --git a/pkgs/development/libraries/gnome-sharp/default.nix b/pkgs/development/libraries/gnome-sharp/default.nix
deleted file mode 100644
index 4aa510f360681..0000000000000
--- a/pkgs/development/libraries/gnome-sharp/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ stdenv
-, lib
-, fetchFromGitHub
-, pkg-config
-, gtk2
-, mono
-, gtk-sharp-2_0
-, gnome2
-, autoconf
-, automake
-, libtool
-, which
-}:
-
-stdenv.mkDerivation rec {
-  pname = "gnome-sharp";
-  version = "2.24.4";
-
-  src = fetchFromGitHub {
-    owner = "mono";
-    repo = "gnome-sharp";
-    rev = version;
-    sha256 = "15jsm6n0sih0nf3w8vmvik97q7l3imz4vkdzmp9k7bssiz4glj1z";
-  };
-
-  nativeBuildInputs = [ pkg-config autoconf automake libtool which ];
-  buildInputs = [ gtk2 mono gtk-sharp-2_0 ]
-  ++ (with gnome2; [ libart_lgpl gnome_vfs libgnome libgnomecanvas libgnomeui ]);
-
-  patches = [ ./fix-mono-path.patch ];
-
-  preConfigure = ''
-    ./bootstrap-${lib.versions.majorMinor version}
-  '';
-
-  dontStrip = true;
-
-  meta = with lib; {
-    homepage = "https://www.mono-project.com/docs/gui/gtksharp/";
-    description = "A .NET language binding for assorted GNOME libraries";
-    license = licenses.lgpl21;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ vbgl ];
-  };
-}
diff --git a/pkgs/development/libraries/gnome-sharp/fix-mono-path.patch b/pkgs/development/libraries/gnome-sharp/fix-mono-path.patch
deleted file mode 100644
index 706f119c8baac..0000000000000
--- a/pkgs/development/libraries/gnome-sharp/fix-mono-path.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/sample/gconf/Makefile.am b/sample/gconf/Makefile.am
-index a0ee802..8260694 100644
---- a/sample/gconf/Makefile.am
-+++ b/sample/gconf/Makefile.am
-@@ -22,7 +22,7 @@ sample.exe: $(SCHEMA) $(srcdir)/sample.glade $(FILES) $(ASSEMBLIES)
-	$(CSC) /out:sample.exe $(FILES) $(REFERENCES) $(RESOURCES)
- 
- Settings.cs: $(SCHEMA)
--	MONO_PATH=$(top_builddir)/gconf/GConf/gconf-sharp.dll:${MONO_PATH} $(RUNTIME) $(GCONFDIR)/tools/gconfsharp-schemagen.exe Sample $(SCHEMA) > Settings.cs
-+	MONO_PATH=$(top_builddir)/gconf/GConf/:${MONO_PATH} $(RUNTIME) $(GCONFDIR)/tools/gconfsharp-schemagen.exe Sample $(SCHEMA) > Settings.cs
- 
- CLEANFILES = sample.exe Settings.cs
-
diff --git a/pkgs/development/libraries/gnutls/default.nix b/pkgs/development/libraries/gnutls/default.nix
index f560529530337..627e5f46f7281 100644
--- a/pkgs/development/libraries/gnutls/default.nix
+++ b/pkgs/development/libraries/gnutls/default.nix
@@ -1,5 +1,5 @@
 { config, lib, stdenv, fetchurl, zlib, lzo, libtasn1, nettle, pkg-config, lzip
-, perl, gmp, autoconf, automake, libidn, libiconv
+, perl, gmp, autoconf, automake, libidn2, libiconv
 , unbound, dns-root-data, gettext, util-linux
 , cxxBindings ? !stdenv.hostPlatform.isStatic # tries to link libstdc++.so
 , guileBindings ? config.gnutls.guile or false, guile
@@ -21,11 +21,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gnutls";
-  version = "3.7.2";
+  version = "3.7.3";
 
   src = fetchurl {
     url = "mirror://gnupg/gnutls/v${lib.versions.majorMinor version}/gnutls-${version}.tar.xz";
-    sha256 = "646e6c5a9a185faa4cea796d378a1ba8e1148dbb197ca6605f95986a25af2752";
+    sha256 = "16n4yvw3792gcdxkikjmhddr6cbs4wlk027zfxlhmchsqcxw8ngw";
   };
 
   outputs = [ "bin" "dev" "out" "man" "devdoc" ];
@@ -71,7 +71,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  buildInputs = [ lzo lzip libtasn1 libidn zlib gmp libunistring unbound gettext libiconv ]
+  buildInputs = [ lzo lzip libtasn1 libidn2 zlib gmp libunistring unbound gettext libiconv ]
     ++ lib.optional (withP11-kit) p11-kit
     ++ lib.optional (isDarwin && withSecurity) Security
     ++ lib.optional (tpmSupport && stdenv.isLinux) trousers
diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix
index 25b7770101d13..667d50ca4d8b8 100644
--- a/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/pkgs/development/libraries/gobject-introspection/default.nix
@@ -46,6 +46,15 @@ stdenv.mkDerivation rec {
       src = ./absolute_shlib_path.patch;
       inherit nixStoreDir;
     })
+    # Fix build with meson 0.61.0
+    (fetchurl {
+      url = "https://gitlab.gnome.org/GNOME/gobject-introspection/-/commit/827494d6415b696a98fa195cbd883b50cc893bfc.patch";
+      sha256 = "sha256-imVWzU760FRsX+eXREQDQ6mDcmzZ5ASLT9rBf4oyBGQ=";
+    })
+    (fetchurl {
+      url = "https://gitlab.gnome.org/GNOME/gobject-introspection/-/commit/effb1e09dee263cdac4ec593e8caf316e6f01fe2.patch";
+      sha256 = "sha256-o7a0qDT5IYcYcz8toeZu+nPj3SwS52sNgmxgzsmlp4Q=";
+    })
   ] ++ lib.optionals x11Support [
     # Hardcode the cairo shared library path in the Cairo gir shipped with this package.
     # https://github.com/NixOS/nixpkgs/issues/34080
diff --git a/pkgs/development/libraries/goffice/default.nix b/pkgs/development/libraries/goffice/default.nix
index 85c9b77c6bdcb..0617eaa1a2600 100644
--- a/pkgs/development/libraries/goffice/default.nix
+++ b/pkgs/development/libraries/goffice/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "goffice";
-  version = "0.10.50";
+  version = "0.10.51";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "LFw93HsIs0UkCMgbEhxfASpzSYHXXkRN68yxxY5cv9w=";
+    sha256 = "LoQQiE1qUa4AyUIJKKv6c/elUsGqIiNx308txazDzSM=";
   };
 
   nativeBuildInputs = [ pkg-config intltool ];
diff --git a/pkgs/development/libraries/grantlee/5/default.nix b/pkgs/development/libraries/grantlee/5/default.nix
index 6c8bf6eb72235..56899b1f89783 100644
--- a/pkgs/development/libraries/grantlee/5/default.nix
+++ b/pkgs/development/libraries/grantlee/5/default.nix
@@ -1,14 +1,15 @@
-{ mkDerivation, lib, fetchurl, qtbase, qtscript, cmake }:
+{ mkDerivation, lib, fetchFromGitHub, qtbase, qtscript, cmake }:
 
 mkDerivation rec {
   pname = "grantlee";
   version = "5.2.0";
   grantleePluginPrefix = "lib/grantlee/${lib.versions.majorMinor version}";
 
-  src = fetchurl {
-    url = "https://github.com/steveire/grantlee/archive/v${version}.tar.gz";
-    sha256 = "02lrdbnvaz19hkawbbj2psww1m04qsbhvv172ggpp5bbfkjwx6hk";
-    name = "${pname}-${version}.tar.gz";
+  src = fetchFromGitHub {
+    owner = "steveire";
+    repo = "grantlee";
+    rev = "v${version}";
+    sha256 = "sha256-mAbgzdBdIW1wOTQNBePQuyTgkKdpn1c+zR3H7mXHvgk=";
   };
 
   buildInputs = [ qtbase qtscript ];
diff --git a/pkgs/development/libraries/graphene-hardened-malloc/default.nix b/pkgs/development/libraries/graphene-hardened-malloc/default.nix
index 35a4d93626802..f3c16c8ac3217 100644
--- a/pkgs/development/libraries/graphene-hardened-malloc/default.nix
+++ b/pkgs/development/libraries/graphene-hardened-malloc/default.nix
@@ -1,12 +1,14 @@
-{ lib, stdenv, fetchurl, python3, runCommand, makeWrapper, stress-ng }:
+{ lib, stdenv, fetchFromGitHub, python3, runCommand, makeWrapper, stress-ng }:
 
 lib.fix (self: stdenv.mkDerivation rec {
   pname = "graphene-hardened-malloc";
   version = "8";
 
-  src = fetchurl {
-    url = "https://github.com/GrapheneOS/hardened_malloc/archive/${version}.tar.gz";
-    sha256 = "0lipyd2pb1bmghkyv9zmg25jwcglj7m281f01zlh3ghz3xlfh0ym";
+  src = fetchFromGitHub {
+    owner = "GrapheneOS";
+    repo = "hardened_malloc";
+    rev = version;
+    sha256 = "sha256-+5kJb3hhuFTto7zsIymIXl3tpKUOm3v1DCY4EkAOCgo=";
   };
 
   doCheck = true;
diff --git a/pkgs/development/libraries/grib-api/default.nix b/pkgs/development/libraries/grib-api/default.nix
deleted file mode 100644
index 1f7097dc4a3f5..0000000000000
--- a/pkgs/development/libraries/grib-api/default.nix
+++ /dev/null
@@ -1,71 +0,0 @@
-{ fetchurl, fetchpatch, lib, stdenv,
-  cmake, netcdf, gfortran, libpng, openjpeg,
-  enablePython ? false, pythonPackages ? null }:
-
-stdenv.mkDerivation rec {
-  pname = "grib-api";
-  version = "1.28.0";
-
-  src = fetchurl {
-    url = "https://software.ecmwf.int/wiki/download/attachments/3473437/grib_api-${version}-Source.tar.gz";
-    sha256 = "0qbj12ap7yy2rl1pq629chnss2jl73wxdj1lwzv0xp87r6z5qdfl";
-  };
-
-  patches = [
-    (fetchpatch {
-      url = "https://salsa.debian.org/science-team/grib-api/raw/debian/1.28.0-2/debian/patches/openjpeg2.patch";
-      sha256 = "05faxh51vlidiazxq1ssd3k4cjivk1adyn30k94mxqa1xnb2r2pc";
-    })
-  ];
-
-  preConfigure = ''
-    # Fix "no member named 'inmem_' in 'jas_image_t'"
-    substituteInPlace "src/grib_jasper_encoding.c" --replace "image.inmem_    = 1;" ""
-  '';
-
-  nativeBuildInputs = [ cmake gfortran ];
-  buildInputs = [ netcdf
-                  libpng
-                  openjpeg
-                ] ++ lib.optionals enablePython [
-                  pythonPackages.python
-                ];
-
-  propagatedBuildInputs = lib.optionals enablePython [
-                  pythonPackages.numpy
-                ];
-
-  cmakeFlags = [ "-DENABLE_PYTHON=${if enablePython then "ON" else "OFF"}"
-                 "-DENABLE_PNG=ON"
-                 "-DENABLE_FORTRAN=ON"
-                 "-DOPENJPEG_INCLUDE_DIR=${openjpeg.dev}/include/${openjpeg.incDir}"
-               ];
-
-  doCheck = true;
-
-  # Only do tests that don't require downloading 120MB of testdata
-  # We fix the darwin checkPhase, which searches for libgrib_api.dylib
-  # in /nix/store by setting DYLD_LIBRARY_PATH
-  checkPhase = lib.optionalString (stdenv.isDarwin) ''
-    substituteInPlace "tests/include.sh" --replace "set -ea" "set -ea; export DYLD_LIBRARY_PATH=$(pwd)/lib"
-  '' + ''
-    ctest -R "t_definitions|t_calendar|t_unit_tests" -VV
-  '';
-
-
-  meta = with lib; {
-    homepage = "https://software.ecmwf.int/wiki/display/GRIB/Home";
-    license = licenses.asl20;
-    platforms = with platforms; linux ++ darwin;
-    description = "ECMWF Library for the GRIB file format -- DEPRECATED";
-    longDescription = ''
-      The ECMWF GRIB API is an application program interface accessible from C,
-      FORTRAN and Python programs developed for encoding and decoding WMO FM-92
-      GRIB edition 1 and edition 2 messages.
-
-      Please note: GRIB-API support is being discontinued at the end of 2018.
-      After which there will be no further releases. Please upgrade to ecCodes
-    '';
-    maintainers = with maintainers; [ knedlsepp ];
-  };
-}
diff --git a/pkgs/development/libraries/grilo-plugins/default.nix b/pkgs/development/libraries/grilo-plugins/default.nix
index ed8f8edd656fb..db968f4730f89 100644
--- a/pkgs/development/libraries/grilo-plugins/default.nix
+++ b/pkgs/development/libraries/grilo-plugins/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
     # * chromaprint (gst-plugins-bad)
     (substituteAll {
       src = ./chromaprint-gst-plugins.patch;
-      load_plugins = lib.concatMapStrings (plugin: ''gst_registry_scan_path(gst_registry_get(), "${plugin}/lib/gstreamer-1.0");'') (with gst_all_1; [
+      load_plugins = lib.concatMapStrings (plugin: ''gst_registry_scan_path(gst_registry_get(), "${lib.getLib plugin}/lib/gstreamer-1.0");'') (with gst_all_1; [
         gstreamer
         gst-plugins-base
         gst-plugins-bad
diff --git a/pkgs/development/libraries/gsl/default.nix b/pkgs/development/libraries/gsl/default.nix
index 9cc27ef489843..0d14630bda3b0 100644
--- a/pkgs/development/libraries/gsl/default.nix
+++ b/pkgs/development/libraries/gsl/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gsl";
-  version = "2.7";
+  version = "2.7.1";
 
   src = fetchurl {
     url = "mirror://gnu/gsl/${pname}-${version}.tar.gz";
-    sha256 = "sha256-77vzeF2g5TA4vnkHUAYotGYVLbw8FzqH3hteui4jYCs=";
+    sha256 = "sha256-3LD71DBIgyt1f/mUJpGo3XACbV2g/4VgHlJof23us0s=";
   };
 
   preConfigure = if (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11" && stdenv.isDarwin) then ''
diff --git a/pkgs/development/libraries/gsound/default.nix b/pkgs/development/libraries/gsound/default.nix
index 13a8aaa2f1981..ddbfc307b2d11 100644
--- a/pkgs/development/libraries/gsound/default.nix
+++ b/pkgs/development/libraries/gsound/default.nix
@@ -9,9 +9,16 @@ stdenv.mkDerivation rec {
     sha256 = "06l80xgykj7x1kqkjvcq06pwj2rmca458zvs053qc55x3sg06bfa";
   };
 
+  strictDeps = true;
+  depsBuildBuild = [ pkg-config ];
   nativeBuildInputs = [ pkg-config meson ninja gobject-introspection libtool vala ];
   buildInputs = [ glib libcanberra ];
 
+  mesonFlags = [
+    "-Dintrospection=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}"
+    "-Denable_vala=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}"
+  ];
+
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index 8c6a8b056781b..0e17e13e58189 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchurl
-, fetchpatch
 , meson
 , ninja
 , gettext
@@ -9,18 +8,20 @@
 , python3
 , gst-plugins-base
 , orc
+, gstreamer
 , gobject-introspection
 , enableZbar ? false
 , faacSupport ? false
 , faac
 , faad2
+, ldacbt
 , libass
 , libkate
-, libmms
 , lrdf
 , ladspaH
 , libnice
 , webrtc-audio-processing
+, webrtc-audio-processing_1
 , lilv
 , lv2
 , serd
@@ -28,7 +29,7 @@
 , sratom
 , libbs2b
 , libmodplug
-, mpeg2dec
+, libmpeg2
 , libmicrodns
 , openjpeg
 , libopus
@@ -40,6 +41,7 @@
 , fdk_aac
 , flite
 , gsm
+, json-glib
 , libaom
 , libdc1394
 , libde265
@@ -47,7 +49,7 @@
 , libdvdnav
 , libdvdread
 , libgudev
-, libofa
+, qrencode
 , libsndfile
 , libusb1
 , neon
@@ -89,32 +91,20 @@
 , CoreVideo
 , Foundation
 , MediaToolbox
+, enableGplPlugins ? true
 }:
 
 stdenv.mkDerivation rec {
   pname = "gst-plugins-bad";
-  version = "1.18.2";
+  version = "1.20.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "06ildd4rl6cynirv3p00d2ddf5is9svj4i7mkahldzhq24pq5mca";
+    sha256 = "sha256-AVuNTZo5Xr9ETUCHaGeiA03TMEs61IvDoN0MHucdwR0=";
   };
 
-  patches = [
-    # Use pkgconfig to inject the includedirs
-    ./fix_pkgconfig_includedir.patch
-    # Fix “error: cannot initialize a parameter of type 'unsigned long *' with an rvalue of type 'typename std::remove_reference<decltype(*(&opencv_dilate_erode_type))>::type *' (aka 'volatile unsigned long *')” on Darwin.
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/commit/640a65bf966df065d41a511e2d76d1f26a2e770c.patch";
-      sha256 = "E5pig+qEfR58Jticr6ydFxZOhM3ZJ8zgrf5K4BdiB/Y=";
-      includes = [
-        "ext/opencv/gstcvdilateerode.cpp"
-      ];
-    })
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
@@ -122,6 +112,7 @@ stdenv.mkDerivation rec {
     orc # for orcc
     python3
     gettext
+    gstreamer # for gst-tester-1.0
     gobject-introspection
   ] ++ lib.optionals stdenv.isLinux [
     wayland # for wayland-scanner
@@ -133,14 +124,14 @@ stdenv.mkDerivation rec {
     # gobject-introspection has to be in both nativeBuildInputs and
     # buildInputs. The build tries to link against libgirepository-1.0.so
     gobject-introspection
-    faad2
+    json-glib
+    ldacbt
     libass
     libkate
-    libmms
-    webrtc-audio-processing # webrtc
+    webrtc-audio-processing # required by webrtcdsp
+    #webrtc-audio-processing_1 # required by isac
     libbs2b
     libmodplug
-    mpeg2dec
     libmicrodns
     openjpeg
     libopenmpt
@@ -154,9 +145,9 @@ stdenv.mkDerivation rec {
     libde265
     libdvdnav
     libdvdread
+    qrencode
     libsndfile
     libusb1
-    mjpegtools
     neon
     openal
     opencv4
@@ -175,7 +166,6 @@ stdenv.mkDerivation rec {
     libGLU
     libgme
     openssl
-    x265
     libxml2
     libintl
     srt
@@ -184,6 +174,11 @@ stdenv.mkDerivation rec {
     zbar
   ] ++ lib.optionals faacSupport [
     faac
+  ] ++ lib.optionals enableGplPlugins [
+    libmpeg2
+    mjpegtools
+    faad2
+    x265
   ] ++ lib.optionals stdenv.isLinux [
     bluez
     libva # vaapi requires libva -> libdrm -> libpciaccess, which is Linux-only in nixpkgs
@@ -202,7 +197,6 @@ stdenv.mkDerivation rec {
     libdrm
     libgudev
     libnice
-    libofa
     sbc
     spandsp
 
@@ -238,7 +232,7 @@ stdenv.mkDerivation rec {
     "-Ddts=disabled" # required `libdca` library not packaged in nixpkgs as of writing, and marked as "BIG FAT WARNING: libdca is still in early development"
     "-Dzbar=${if enableZbar then "enabled" else "disabled"}"
     "-Dfaac=${if faacSupport then "enabled" else "disabled"}"
-    "-Diqa=disabled" # required `dssim` library not packaging in nixpkgs as of writing
+    "-Diqa=disabled" # required `dssim` library not packaging in nixpkgs as of writing, also this is AGPL so update license when adding support
     "-Dmagicleap=disabled" # required `ml_audio` library not packaged in nixpkgs as of writing
     "-Dmsdk=disabled" # not packaged in nixpkgs as of writing / no Windows support
     # As of writing, with `libmpcdec` in `buildInputs` we get
@@ -264,6 +258,10 @@ stdenv.mkDerivation rec {
     "-Dwasapi2=disabled" # not packaged in nixpkgs as of writing / no Windows support
     "-Dwpe=disabled" # required `wpe-webkit` library not packaged in nixpkgs as of writing
     "-Dzxing=disabled" # required `zxing-cpp` library not packaged in nixpkgs as of writing
+    "-Disac=disabled" # depends on `webrtc-audio-coding-1` not compatible with 0.3
+    "-Dgs=disabled" # depends on `google-cloud-cpp`
+    "-Donnx=disabled" # depends on `libonnxruntime` not packaged in nixpkgs as of writing
+    "-Dopenaptx=disabled" # depends on older version of `libopenaptx` due to licensing conflict https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2235
   ]
   ++ lib.optionals (!stdenv.isLinux) [
     "-Dva=disabled" # see comment on `libva` in `buildInputs`
@@ -274,7 +272,6 @@ stdenv.mkDerivation rec {
     "-Ddirectfb=disabled"
     "-Dflite=disabled"
     "-Dkms=disabled" # renders to libdrm output
-    "-Dofa=disabled"
     "-Dlv2=disabled"
     "-Dsbc=disabled"
     "-Dspandsp=disabled"
@@ -295,7 +292,17 @@ stdenv.mkDerivation rec {
     "-Dapplemedia=disabled"
   ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
     "-Dintrospection=disabled"
-  ];
+  ] ++ (if enableGplPlugins then [
+    "-Dgpl=enabled"
+  ] else [
+    "-Ddts=disabled"
+    "-Dfaad=disabled"
+    "-Diqa=disabled"
+    "-Dmpeg2enc=disabled"
+    "-Dmplex=disabled"
+    "-Dresindvd=disabled"
+    "-Dx265=disabled"
+  ]);
 
   # Argument list too long
   strictDeps = true;
@@ -320,7 +327,7 @@ stdenv.mkDerivation rec {
       something - be it a good code review, some documentation, a set of tests,
       a real live maintainer, or some actual wide use.
     '';
-    license = licenses.lgpl2Plus;
+    license = if enableGplPlugins then licenses.gpl2Plus else licenses.lgpl2Plus;
     platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ matthewbauer ];
   };
diff --git a/pkgs/development/libraries/gstreamer/bad/fix_pkgconfig_includedir.patch b/pkgs/development/libraries/gstreamer/bad/fix_pkgconfig_includedir.patch
deleted file mode 100644
index c687fffc9c08a..0000000000000
--- a/pkgs/development/libraries/gstreamer/bad/fix_pkgconfig_includedir.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build
-index 271f327f3..7e2afa754 100644
---- a/pkgconfig/meson.build
-+++ b/pkgconfig/meson.build
-@@ -2,8 +2,8 @@ pkgconf = configuration_data()
- 
- pkgconf.set('prefix', join_paths(get_option('prefix')))
- pkgconf.set('exec_prefix', '${prefix}')
--pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
--pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
-+pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir')))
-+pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir')))
- pkgconf.set('GST_API_VERSION', api_version)
- pkgconf.set('VERSION', gst_version)
- 
diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix
index 1edadf0a51bcd..82d90845677cf 100644
--- a/pkgs/development/libraries/gstreamer/base/default.nix
+++ b/pkgs/development/libraries/gstreamer/base/default.nix
@@ -41,19 +41,15 @@
 
 stdenv.mkDerivation rec {
   pname = "gst-plugins-base";
-  version = "1.18.4";
+  version = "1.20.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "08w3ivbc6n4vdds2ap6q7l8zdk9if8417nznyqidf0adm0lk5r99";
+    sha256 = "sha256-TLZvzPcwsQN+ZTOGLCEomQkSpttOW70U4O+RRFDrTHw=";
   };
 
-  patches = [
-    ./fix_pkgconfig_includedir.patch
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
@@ -120,7 +116,7 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     patchShebangs \
-      common/scangobj-merge.py \
+      scripts/meson-pkg-config-file-fixup.py \
       scripts/extract-release-date-from-doap-file.py
   '';
 
diff --git a/pkgs/development/libraries/gstreamer/base/fix_pkgconfig_includedir.patch b/pkgs/development/libraries/gstreamer/base/fix_pkgconfig_includedir.patch
deleted file mode 100644
index 04486a4647f91..0000000000000
--- a/pkgs/development/libraries/gstreamer/base/fix_pkgconfig_includedir.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build
-index 04abfbee5..88c86b431 100644
---- a/pkgconfig/meson.build
-+++ b/pkgconfig/meson.build
-@@ -2,8 +2,8 @@ pkgconf = configuration_data()
- 
- pkgconf.set('prefix', get_option('prefix'))
- pkgconf.set('exec_prefix', '${prefix}')
--pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
--pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
-+pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir')))
-+pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir')))
- pkgconf.set('GST_API_VERSION', api_version)
- pkgconf.set('VERSION', gst_version)
- pkgconf.set('LIBM', libm.found() ? '-lm' : '')
diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix
index 9cc1675de3aee..fa1188347731f 100644
--- a/pkgs/development/libraries/gstreamer/core/default.nix
+++ b/pkgs/development/libraries/gstreamer/core/default.nix
@@ -21,26 +21,22 @@
 
 stdenv.mkDerivation rec {
   pname = "gstreamer";
-  version = "1.18.4";
+  version = "1.20.0";
 
   outputs = [
+    "bin"
     "out"
     "dev"
     # "devdoc" # disabled until `hotdoc` is packaged in nixpkgs, see:
     # - https://github.com/NixOS/nixpkgs/pull/98767
     # - https://github.com/NixOS/nixpkgs/issues/98769#issuecomment-702296551
   ];
-  outputBin = "dev";
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1igv9l4hm21kp1jmlwlagzs7ly1vaxv1sbda29q8247372dwkvls";
+    sha256 = "sha256-7fS///hVkdT/97Ibue1/D+q8EjrEpO/ynnPLzkVPnbc=";
   };
 
-  patches = [
-    ./fix_pkgconfig_includedir.patch
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
@@ -94,14 +90,14 @@ stdenv.mkDerivation rec {
   '';
 
   postInstall = ''
-    for prog in "$dev/bin/"*; do
+    for prog in "$bin/bin/"*; do
         # We can't use --suffix here due to quoting so we craft the export command by hand
         wrapProgram "$prog" --run 'export GST_PLUGIN_SYSTEM_PATH_1_0=$GST_PLUGIN_SYSTEM_PATH_1_0''${GST_PLUGIN_SYSTEM_PATH_1_0:+:}$(unset _tmp; for profile in $NIX_PROFILES; do _tmp="$profile/lib/gstreamer-1.0''${_tmp:+:}$_tmp"; done; printf '%s' "$_tmp")'
     done
   '';
 
   preFixup = ''
-    moveToOutput "share/bash-completion" "$dev"
+    moveToOutput "share/bash-completion" "$bin"
   '';
 
   setupHook = ./setup-hook.sh;
diff --git a/pkgs/development/libraries/gstreamer/core/fix_pkgconfig_includedir.patch b/pkgs/development/libraries/gstreamer/core/fix_pkgconfig_includedir.patch
deleted file mode 100644
index db16842693502..0000000000000
--- a/pkgs/development/libraries/gstreamer/core/fix_pkgconfig_includedir.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build
-index edb0586c2..7ed46dfce 100644
---- a/pkgconfig/meson.build
-+++ b/pkgconfig/meson.build
-@@ -2,8 +2,8 @@ pkgconf = configuration_data()
- 
- pkgconf.set('prefix', join_paths(get_option('prefix')))
- pkgconf.set('exec_prefix', '${prefix}')
--pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
--pkgconf.set('libexecdir', '${prefix}/@0@'.format(get_option('libexecdir')))
--pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
-+pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir')))
-+pkgconf.set('libexecdir', join_paths(get_option('prefix'), get_option('libexecdir')))
-+pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir')))
- pkgconf.set('GST_API_VERSION', apiversion)
- pkgconf.set('VERSION', gst_version)
- pkgconf.set('LIBM', mathlib.found() ? '-lm' : '')
diff --git a/pkgs/development/libraries/gstreamer/devtools/default.nix b/pkgs/development/libraries/gstreamer/devtools/default.nix
index 12cb6dac6f31e..aa92410e0e48d 100644
--- a/pkgs/development/libraries/gstreamer/devtools/default.nix
+++ b/pkgs/development/libraries/gstreamer/devtools/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchurl
+, cairo
 , meson
 , ninja
 , pkg-config
@@ -12,17 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gst-devtools";
-  version = "1.18.4";
+  version = "1.20.0";
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1kvcabcfzm7wqih3lzgrg9xjbn4xpx43d1m2zkkvab4i8161kggz";
+    sha256 = "sha256-afyHVuydk+XFJYyZCIQ08gPpH9vFryjR8sWD/YGbeh0=";
   };
 
-  patches = [
-    ./fix_pkgconfig_includedir.patch
-  ];
-
   outputs = [
     "out"
     "dev"
@@ -40,6 +37,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    cairo
     python3
     json-glib
   ];
diff --git a/pkgs/development/libraries/gstreamer/devtools/fix_pkgconfig_includedir.patch b/pkgs/development/libraries/gstreamer/devtools/fix_pkgconfig_includedir.patch
deleted file mode 100644
index ff19c7cbf6f84..0000000000000
--- a/pkgs/development/libraries/gstreamer/devtools/fix_pkgconfig_includedir.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/validate/pkgconfig/meson.build b/validate/pkgconfig/meson.build
-index a612b21b..c017eaff 100644
---- a/validate/pkgconfig/meson.build
-+++ b/validate/pkgconfig/meson.build
-@@ -2,8 +2,8 @@ pkgconf = configuration_data()
-
- pkgconf.set('prefix', get_option('prefix'))
- pkgconf.set('exec_prefix', '${prefix}')
--pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
--pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
-+pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir')))
-+pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir')))
- pkgconf.set('GST_API_VERSION', apiversion)
- pkgconf.set('VERSION', gst_version)
-
diff --git a/pkgs/development/libraries/gstreamer/ges/default.nix b/pkgs/development/libraries/gstreamer/ges/default.nix
index 840b0f252857c..4630ce6d0ce4f 100644
--- a/pkgs/development/libraries/gstreamer/ges/default.nix
+++ b/pkgs/development/libraries/gstreamer/ges/default.nix
@@ -16,7 +16,7 @@
 
 stdenv.mkDerivation rec {
   pname = "gst-editing-services";
-  version = "1.18.4";
+  version = "1.20.0";
 
   outputs = [
     "out"
@@ -26,13 +26,9 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "010xg960qsh5dwmf0y9l1q13h0cymmrgapzla2zsw66ylxqbi1s6";
+    sha256 = "sha256-+Detz0Bz0ZpZCJhOh5zQOfQZLKNo5x056MzYpWuf7t8=";
   };
 
-  patches = [
-    ./fix_pkgconfig_includedir.patch
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
diff --git a/pkgs/development/libraries/gstreamer/ges/fix_pkgconfig_includedir.patch b/pkgs/development/libraries/gstreamer/ges/fix_pkgconfig_includedir.patch
deleted file mode 100644
index 1e12f3bbfbeac..0000000000000
--- a/pkgs/development/libraries/gstreamer/ges/fix_pkgconfig_includedir.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build
-index a612b21b..c017eaff 100644
---- a/pkgconfig/meson.build
-+++ b/pkgconfig/meson.build
-@@ -2,8 +2,8 @@ pkgconf = configuration_data()
- 
- pkgconf.set('prefix', get_option('prefix'))
- pkgconf.set('exec_prefix', '${prefix}')
--pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
--pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
-+pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir')))
-+pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir')))
- pkgconf.set('GST_API_VERSION', apiversion)
- pkgconf.set('VERSION', gst_version)
- 
diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix
index bc1656c191a4a..3b686e4c7f59f 100644
--- a/pkgs/development/libraries/gstreamer/good/default.nix
+++ b/pkgs/development/libraries/gstreamer/good/default.nix
@@ -48,13 +48,13 @@ assert raspiCameraSupport -> (stdenv.isLinux && stdenv.isAarch64);
 
 stdenv.mkDerivation rec {
   pname = "gst-plugins-good";
-  version = "1.18.4";
+  version = "1.20.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1c1rpq709cy8maaykyn1n0kckj9c6fl3mhvixkk6xmdwkcx0xrdn";
+    sha256 = "sha256-LRGcFauMnnn4zTxr9YL/egULKMyuUqtIZeGhRkmRZZw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix
index 009a1555f770e..0d9f22d7d65f0 100644
--- a/pkgs/development/libraries/gstreamer/libav/default.nix
+++ b/pkgs/development/libraries/gstreamer/libav/default.nix
@@ -5,6 +5,7 @@
 , ninja
 , pkg-config
 , python3
+, gstreamer
 , gst-plugins-base
 , gettext
 , libav
@@ -15,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gst-libav";
-  version = "1.18.4";
+  version = "1.20.0";
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "15n3x3vhshqa3icw93g4vqmqd46122anzqvfxwn6q8famlxlcjil";
+    sha256 = "sha256-Xu5e2NUIKjG1AESOQVNcci7jDNX4Ik8ymCu6ui7t7xc=";
   };
 
   outputs = [ "out" "dev" ];
@@ -33,6 +34,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    gstreamer
     gst-plugins-base
     libav
   ];
diff --git a/pkgs/development/libraries/gstreamer/rtsp-server/default.nix b/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
index d66376b64996c..80190200c26c0 100644
--- a/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
+++ b/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchurl
 , meson
 , ninja
@@ -12,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gst-rtsp-server";
-  version = "1.18.4";
+  version = "1.20.0";
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "153c78klvzlmi86d0gmdf7w9crv11rkd4y82b14a0wdr83gbhsx4";
+    sha256 = "sha256-wgn17ZBtpxP91EqIROkJqmyK89+2MCWbCSz7d6d1WEM=";
   };
 
   outputs = [
@@ -25,15 +26,6 @@ stdenv.mkDerivation rec {
     # "devdoc" # disabled until `hotdoc` is packaged in nixpkgs
   ];
 
-  patches = [
-    # To use split outputs, we need this so double prefix won't be used in the
-    # pkg-config files. Hopefully, this won't be needed on the next release,
-    # _if_
-    # https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/merge_requests/1
-    # will be merged. For the current release, this merge request won't apply.
-    ./fix_pkgconfig_includedir.patch
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
diff --git a/pkgs/development/libraries/gstreamer/rtsp-server/fix_pkgconfig_includedir.patch b/pkgs/development/libraries/gstreamer/rtsp-server/fix_pkgconfig_includedir.patch
deleted file mode 100644
index d31fe19fb0fee..0000000000000
--- a/pkgs/development/libraries/gstreamer/rtsp-server/fix_pkgconfig_includedir.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git i/pkgconfig/meson.build w/pkgconfig/meson.build
-index 8ed8299..594cbfe 100644
---- i/pkgconfig/meson.build
-+++ w/pkgconfig/meson.build
-@@ -2,8 +2,8 @@ pkgconf = configuration_data()
- 
- pkgconf.set('prefix', get_option('prefix'))
- pkgconf.set('exec_prefix', '${prefix}')
--pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
--pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
-+pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir')))
-+pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir')))
- pkgconf.set('GST_API_VERSION', api_version)
- pkgconf.set('VERSION', gst_version)
- 
diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix
index 049e8a99f095a..05133271f8462 100644
--- a/pkgs/development/libraries/gstreamer/ugly/default.nix
+++ b/pkgs/development/libraries/gstreamer/ugly/default.nix
@@ -19,17 +19,18 @@
 , IOKit
 , CoreFoundation
 , DiskArbitration
+, enableGplPlugins ? true
 }:
 
 stdenv.mkDerivation rec {
   pname = "gst-plugins-ugly";
-  version = "1.18.4";
+  version = "1.20.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0g6i4db1883q3j0l2gdv46fcqwiiaw63n6mhvsfcms1i1p7g1391";
+    sha256 = "sha256-To3LXSZVLwpJN/a8Ynm9kHD1XKauDqoy1y0mTEQAHC4=";
   };
 
   nativeBuildInputs = [
@@ -43,14 +44,15 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gst-plugins-base
     orc
+    libintl
+    opencore-amr
+  ] ++ lib.optionals enableGplPlugins [
     a52dec
     libcdio
     libdvdread
     libmad
     libmpeg2
     x264
-    libintl
-    opencore-amr
   ] ++ lib.optionals stdenv.isDarwin [
     IOKit
     CoreFoundation
@@ -60,7 +62,16 @@ stdenv.mkDerivation rec {
   mesonFlags = [
     "-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing
     "-Dsidplay=disabled" # sidplay / sidplay/player.h isn't packaged in nixpkgs as of writing
-  ];
+  ] ++ (if enableGplPlugins then [
+    "-Dgpl=enabled"
+  ] else [
+    "-Da52dec=disabled"
+    "-Dcdio=disabled"
+    "-Ddvdread=disabled"
+    "-Dmpeg2dec=disabled"
+    "-Dsidplay=disabled"
+    "-Dx264=disabled"
+  ]);
 
   postPatch = ''
     patchShebangs \
@@ -76,7 +87,7 @@ stdenv.mkDerivation rec {
       the plug-ins or the supporting libraries might not be how we'd
       like. The code might be widely known to present patent problems.
     '';
-    license = licenses.lgpl2Plus;
+    license = if enableGplPlugins then licenses.gpl2Plus else licenses.lgpl2Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ matthewbauer ];
   };
diff --git a/pkgs/development/libraries/gstreamer/vaapi/default.nix b/pkgs/development/libraries/gstreamer/vaapi/default.nix
index 19e65c5a75eba..c8b6230cd5957 100644
--- a/pkgs/development/libraries/gstreamer/vaapi/default.nix
+++ b/pkgs/development/libraries/gstreamer/vaapi/default.nix
@@ -21,11 +21,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gstreamer-vaapi";
-  version = "1.18.4";
+  version = "1.20.0";
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1sia4l88z7kkxm2z9j20l43rqkrnsa47xccski10s5gkhsprinwj";
+    sha256 = "sha256-95pHNG39XlheBj53B45fxJiwbe6JW/y/R9iGP8rJ6jI=";
   };
 
   outputs = [
diff --git a/pkgs/development/libraries/gthree/default.nix b/pkgs/development/libraries/gthree/default.nix
index a59541edb2570..fa4cb404b0aac 100644
--- a/pkgs/development/libraries/gthree/default.nix
+++ b/pkgs/development/libraries/gthree/default.nix
@@ -69,5 +69,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ jtojnar ];
     platforms = platforms.unix;
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/gthree.x86_64-darwin
   };
 }
diff --git a/pkgs/development/libraries/gtk-sharp/2.0.nix b/pkgs/development/libraries/gtk-sharp/2.0.nix
index f35f5e0552c48..b083ca02cf2ce 100644
--- a/pkgs/development/libraries/gtk-sharp/2.0.nix
+++ b/pkgs/development/libraries/gtk-sharp/2.0.nix
@@ -6,14 +6,6 @@
 , glib
 , pango
 , gtk2
-, GConf ? null
-, libglade ? null
-, libgtkhtml ? null
-, gtkhtml ? null
-, libgnomecanvas ? null
-, libgnomeui ? null
-, libgnomeprint ? null
-, libgnomeprintui ? null
 , libxml2
 , monoDLLFixer
 , autoconf
@@ -54,8 +46,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config autoconf automake libtool which ];
 
   buildInputs = [
-    mono glib pango gtk2 GConf libglade libgnomecanvas
-    libgtkhtml libgnomeui libgnomeprint libgnomeprintui gtkhtml libxml2
+    mono glib pango gtk2
+    libxml2
   ];
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/gtk-sharp/3.0.nix b/pkgs/development/libraries/gtk-sharp/3.0.nix
index 6b996244a9f39..8b594a00a7e56 100644
--- a/pkgs/development/libraries/gtk-sharp/3.0.nix
+++ b/pkgs/development/libraries/gtk-sharp/3.0.nix
@@ -6,14 +6,6 @@
 , glib
 , pango
 , gtk3
-, GConf ? null
-, libglade ? null
-, libgtkhtml ? null
-, gtkhtml ? null
-, libgnomecanvas ? null
-, libgnomeui ? null
-, libgnomeprint ? null
-, libgnomeprintui ? null
 , libxml2
 , monoDLLFixer
 }:
@@ -30,8 +22,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [
-    mono glib pango gtk3 GConf libglade libgnomecanvas
-    libgtkhtml libgnomeui libgnomeprint libgnomeprintui gtkhtml libxml2
+    mono glib pango gtk3
+    libxml2
   ];
 
   patches = [
diff --git a/pkgs/development/libraries/gtk/3.x.nix b/pkgs/development/libraries/gtk/3.x.nix
index 82bcad0b98564..bb1451594475c 100644
--- a/pkgs/development/libraries/gtk/3.x.nix
+++ b/pkgs/development/libraries/gtk/3.x.nix
@@ -44,6 +44,7 @@
 , cups
 , AppKit
 , Cocoa
+, QuartzCore
 , broadwaySupport ? true
 }:
 
@@ -59,7 +60,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gtk+3";
-  version = "3.24.30";
+  version = "3.24.31";
 
   outputs = [ "out" "dev" ] ++ lib.optional withGtkDoc "devdoc";
   outputBin = "dev";
@@ -71,7 +72,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk+/${lib.versions.majorMinor version}/gtk+-${version}.tar.xz";
-    sha256 = "sha256-unW//zIK0fTPvukrqBPsM2MizDxmDUBqrQFLBwh6O6k=";
+    sha256 = "sha256-Qjw+f9tMRZ7oieNf1Ncf0mI1YlQcEEGxHAflrR/xC/k=";
   };
 
   patches = [
@@ -83,6 +84,12 @@ stdenv.mkDerivation rec {
     # e.g. https://gitlab.gnome.org/GNOME/gtk/blob/3.24.4/gtk/gtk-launch.c#L31-33
     # https://gitlab.gnome.org/GNOME/gtk/merge_requests/536
     ./patches/3.0-darwin-x11.patch
+
+    # 3.24.31 does not declare QuartzCore dependency properly and fails to link
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gtk/-/commit/0ac61443694b477c41fc246cb387ef86aba441de.patch";
+      sha256 = "sha256-KaMeIdV/gfM4xzN9lIkY99E7bzAfTM6VETk5DEunB2w=";
+    })
   ];
 
   nativeBuildInputs = [
@@ -104,7 +111,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     libxkbcommon
-    libepoxy
+    (libepoxy.override { inherit x11Support; })
     isocodes
   ] ++ lib.optionals stdenv.isDarwin [
     AppKit
@@ -133,6 +140,7 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals stdenv.isDarwin [
     # explicitly propagated, always needed
     Cocoa
+    QuartzCore
   ] ++ lib.optionals waylandSupport [
     libGL
     wayland
diff --git a/pkgs/development/libraries/gtk/4.x.nix b/pkgs/development/libraries/gtk/4.x.nix
index d763c99882e00..6da3fc769ea67 100644
--- a/pkgs/development/libraries/gtk/4.x.nix
+++ b/pkgs/development/libraries/gtk/4.x.nix
@@ -23,6 +23,9 @@
 , xorg
 , libepoxy
 , libxkbcommon
+, libpng
+, libtiff
+, libjpeg
 , libxml2
 , gnome
 , gsettings-desktop-schemas
@@ -59,7 +62,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gtk4";
-  version = "4.4.1";
+  version = "4.6.1";
 
   outputs = [ "out" "dev" ] ++ lib.optionals x11Support [ "devdoc" ];
   outputBin = "dev";
@@ -71,7 +74,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk/${lib.versions.majorMinor version}/gtk-${version}.tar.xz";
-    sha256 = "D6ramD3GsLxAnLNMFxPB8yZ+Z8CT+GseOxfbYQCj3fQ=";
+    sha256 = "2FUI0hy7zWPVaKeGKvXs1juXjX1XmcvkBMkdI4nQ7F8=";
   };
 
   nativeBuildInputs = [
@@ -89,7 +92,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     libxkbcommon
-    libepoxy
+    libpng
+    libtiff
+    libjpeg
+    (libepoxy.override { inherit x11Support; })
     isocodes
   ] ++ lib.optionals vulkanSupport [
     vulkan-headers
@@ -130,6 +136,8 @@ stdenv.mkDerivation rec {
     glib
     graphene
     pango
+  ] ++ lib.optionals waylandSupport [
+    wayland
   ] ++ lib.optionals vulkanSupport [
     vulkan-loader
   ] ++ [
diff --git a/pkgs/development/libraries/gtkmm/4.x.nix b/pkgs/development/libraries/gtkmm/4.x.nix
index c1bac87a6c08d..1960a04e95f43 100644
--- a/pkgs/development/libraries/gtkmm/4.x.nix
+++ b/pkgs/development/libraries/gtkmm/4.x.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gtkmm";
-  version = "4.4.0";
+  version = "4.6.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "LrRkMmCW5qQMgunNB0Fk2BA/teB4ZWecCmSeQXRwDdo=";
+    sha256 = "E1OgkJPLVx71rAXZPSALrxMq1gS19JQHd2VuFQWBTB8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gupnp/default.nix b/pkgs/development/libraries/gupnp/default.nix
index 1a77e50eb5404..afb6c0d037cbd 100644
--- a/pkgs/development/libraries/gupnp/default.nix
+++ b/pkgs/development/libraries/gupnp/default.nix
@@ -20,14 +20,14 @@
 
 stdenv.mkDerivation rec {
   pname = "gupnp";
-  version = "1.4.0";
+  version = "1.4.3";
 
   outputs = [ "out" "dev" ]
     ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gupnp/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-WQ/7ArhNoqGuxo/VNLxArxs33T9iI/nRV3/EirSL428=";
+    sha256 = "sha256-FO2nd5NNot90PQckiZM72YETMre1v0Fia4Ay77KLM7o=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index 06cc41c6b58ad..1e36f1e7f0f71 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -24,7 +24,7 @@
 }:
 
 let
-  version = "3.0.0";
+  version = "3.2.0";
   inherit (lib) optional optionals optionalString;
   mesonFeatureFlag = opt: b:
     "-D${opt}=${if b then "enabled" else "disabled"}";
@@ -39,7 +39,7 @@ stdenv.mkDerivation {
     owner = "harfbuzz";
     repo = "harfbuzz";
     rev = version;
-    sha256 = "sha256-yRRr4RcnbwoZ1Hn3+zbbocKFyBSLYx/exaAHNGsPINA=";
+    sha256 = "sha256-iNYp/hyJTaaF6e09YpUL7ktBhq2wRN9zKiEH59WLbYU=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/hidapi/default.nix b/pkgs/development/libraries/hidapi/default.nix
index 6a3665809b4aa..ffe534ede4af2 100644
--- a/pkgs/development/libraries/hidapi/default.nix
+++ b/pkgs/development/libraries/hidapi/default.nix
@@ -1,32 +1,39 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, udev, libusb1
-, darwin }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, libusb1
+, udev
+, Cocoa
+, IOKit
+}:
 
 stdenv.mkDerivation rec {
   pname = "hidapi";
-  version = "0.10.1";
+  version = "0.11.2";
 
   src = fetchFromGitHub {
     owner = "libusb";
     repo = "hidapi";
     rev = "${pname}-${version}";
-    sha256 = "1nr4z4b10vpbh3ss525r7spz4i43zim2ba5qzfl15dgdxshxxivb";
+    sha256 = "sha256-zSAhnvnDI3+q8VwZ8fIx/YmvwTpL87PBJ2C1mTmD7Ko=";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config ];
+  nativeBuildInputs = [ cmake pkg-config ];
 
-  buildInputs = [ ]
-    ++ lib.optionals stdenv.isLinux [ libusb1 udev ];
+  buildInputs = lib.optionals stdenv.isLinux [ libusb1 udev ];
 
   enableParallelBuilding = true;
 
-  propagatedBuildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ IOKit Cocoa ]);
+  propagatedBuildInputs = lib.optionals stdenv.isDarwin [ Cocoa IOKit ];
 
   meta = with lib; {
     description = "Library for communicating with USB and Bluetooth HID devices";
     homepage = "https://github.com/libusb/hidapi";
     maintainers = with maintainers; [ prusnak ];
-    # Actually, you can chose between GPLv3, BSD or HIDAPI license (more liberal)
-    license = licenses.bsd3;
+    # You can choose between GPLv3, BSD or HIDAPI license (even more liberal)
+    license = with licenses; [ bsd3 /* or */ gpl3Only ] ;
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/highfive/default.nix b/pkgs/development/libraries/highfive/default.nix
index 015147d70bc38..1a8ea5c1ae565 100644
--- a/pkgs/development/libraries/highfive/default.nix
+++ b/pkgs/development/libraries/highfive/default.nix
@@ -12,13 +12,13 @@ assert mpiSupport -> mpi != null;
 
 stdenv.mkDerivation rec {
   pname = "highfive";
-  version = "2.2";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "BlueBrain";
     repo = "HighFive";
-    rev = "4c70d818ed18231563fe49ff197d1c41054be592";
-    sha256 = "02xy3c2ix3nw8109aw75ixj651knzc5rjqwqrxximm4hzwx09frk";
+    rev = "v${version}";
+    sha256 = "qaIThJGdoLgs82h+W4BKQEu1yy1bB8bZFiuxI7IxInw=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/hunspell/default.nix b/pkgs/development/libraries/hunspell/default.nix
index fe4fc1e6d338a..44f49adbd3a62 100644
--- a/pkgs/development/libraries/hunspell/default.nix
+++ b/pkgs/development/libraries/hunspell/default.nix
@@ -1,12 +1,14 @@
-{ lib, stdenv, fetchurl, fetchpatch, ncurses, readline, autoreconfHook }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, ncurses, readline, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   version = "1.7.0";
   pname = "hunspell";
 
-  src = fetchurl {
-    url = "https://github.com/hunspell/hunspell/archive/v${version}.tar.gz";
-    sha256 = "12mwwqz6qkx7q1lg9vpjiiwh4fk4c8xs6g6g0xa2ia0hp5pbh9xv";
+  src = fetchFromGitHub {
+    owner = "hunspell";
+    repo = "hunspell";
+    rev = "v${version}";
+    sha256 = "sha256-YSJztik0QTZFNR8k8Xu1hakyE16NziDavYVkEUCbtGM=";
   };
 
   outputs = [ "bin" "dev" "out" "man" ];
diff --git a/pkgs/development/libraries/idnkit/default.nix b/pkgs/development/libraries/idnkit/default.nix
index 472a23a2b74e8..37354f8be489d 100644
--- a/pkgs/development/libraries/idnkit/default.nix
+++ b/pkgs/development/libraries/idnkit/default.nix
@@ -12,9 +12,12 @@ stdenv.mkDerivation rec {
   buildInputs = [ libiconv ];
 
   meta = with lib; {
-    homepage = "https://www.nic.ad.jp/ja/idn/idnkit";
+    homepage = "https://jprs.co.jp/idn/index-e.html";
     description = "Provides functionalities about i18n domain name processing";
-    license = "idnkit-2 license";
+    license = {
+      fullName = "Open Source Code License version 1.1";
+      url = "https://jprs.co.jp/idn/idnkit2-OSCL.txt";
+    };
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/igraph/default.nix b/pkgs/development/libraries/igraph/default.nix
index 159943d8db4bd..06aad781bc739 100644
--- a/pkgs/development/libraries/igraph/default.nix
+++ b/pkgs/development/libraries/igraph/default.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "igraph";
-  version = "0.9.5";
+  version = "0.9.6";
 
   src = fetchFromGitHub {
     owner = "igraph";
     repo = pname;
     rev = version;
-    sha256 = "sha256-R5v1nbfYyIOzdw7LmkGQE4yVxpTVs6YF62jkfFrA1z8=";
+    sha256 = "sha256-nMM4ZQLIth9QHlLu+sXE4AXoDlq1UP20+YuBi+Op+go=";
   };
 
   # Normally, igraph wants us to call bootstrap.sh, which will call
diff --git a/pkgs/development/libraries/imath/default.nix b/pkgs/development/libraries/imath/default.nix
index 15bd5907af9e0..b0a98f7b26384 100644
--- a/pkgs/development/libraries/imath/default.nix
+++ b/pkgs/development/libraries/imath/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "imath";
-  version = "3.1.3";
+  version = "3.1.4";
 
   src = fetchFromGitHub {
     owner = "AcademySoftwareFoundation";
     repo = "imath";
     rev = "v${version}";
-    sha256 = "sha256-LoyV1Wtugva6MTpREstP2rYMrHW2xR0qfEAIV1Fo1Ns=";
+    sha256 = "sha256-FZXIIzAxhd0QlJAV0q7spEa1pNFXutI0WFZbT3izN4M=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/imgui/default.nix b/pkgs/development/libraries/imgui/default.nix
index 038c5a0362005..62f750db62c93 100644
--- a/pkgs/development/libraries/imgui/default.nix
+++ b/pkgs/development/libraries/imgui/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "imgui";
-  version = "1.86";
+  version = "1.87";
 
   src = fetchFromGitHub {
     owner = "ocornut";
     repo = "imgui";
     rev = "v${version}";
-    sha256 = "sha256-NuyWrtD+/bRkMlsvU0gNkQhDJVlSPPWhBELN/AtYRwk=";
+    sha256 = "sha256-H5rqXZFw+2PfVMsYvAK+K+pxxI8HnUC0GlPhooWgEYM=";
   };
 
   dontBuild = true;
diff --git a/pkgs/development/libraries/iml/default.nix b/pkgs/development/libraries/iml/default.nix
index 474605fe7696b..884cebab2e300 100644
--- a/pkgs/development/libraries/iml/default.nix
+++ b/pkgs/development/libraries/iml/default.nix
@@ -24,6 +24,5 @@ stdenv.mkDerivation rec {
     maintainers = [lib.maintainers.raskin];
     platforms = lib.platforms.unix;
     homepage = "https://cs.uwaterloo.ca/~astorjoh/iml.html";
-    updateWalker = true;
   };
 }
diff --git a/pkgs/development/libraries/imlib2/default.nix b/pkgs/development/libraries/imlib2/default.nix
index b61f4e442bf24..1447a327e0dfc 100644
--- a/pkgs/development/libraries/imlib2/default.nix
+++ b/pkgs/development/libraries/imlib2/default.nix
@@ -12,11 +12,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "imlib2";
-  version = "1.7.3";
+  version = "1.7.5";
 
   src = fetchurl {
-    url = "mirror://sourceforge/enlightenment/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-FY0LjCC8ESIa+ed6ZKEW/KcFGwPN6ixPMdMfRpOC+Zc=";
+    url = "mirror://sourceforge/enlightenment/${pname}-${version}.tar.xz";
+    hash = "sha256-RY2DAKp6bUzjU1GDi7pdn9+wiES9WxU8WTjs/kP/Ngo=";
   };
 
   buildInputs = [
@@ -28,11 +28,6 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  preConfigure = ''
-    substituteInPlace imlib2-config.in \
-      --replace "@my_libs@" ""
-  '';
-
   # Do not build amd64 assembly code on Darwin, because it fails to compile
   # with unknow directive errors
   configureFlags = optional stdenv.isDarwin "--enable-amd64=no"
@@ -40,10 +35,6 @@ stdenv.mkDerivation rec {
 
   outputs = [ "bin" "out" "dev" ];
 
-  postInstall = ''
-    moveToOutput bin/imlib2-config "$dev"
-  '';
-
   meta = with lib; {
     description = "Image manipulation library";
 
@@ -56,7 +47,8 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = "https://docs.enlightenment.org/api/imlib2/html";
-    license = licenses.mit;
+    changelog = "https://git.enlightenment.org/legacy/imlib2.git/plain/ChangeLog?h=v${version}";
+    license = licenses.imlib2;
     platforms = platforms.unix;
     maintainers = with maintainers; [ spwhitt ];
   };
diff --git a/pkgs/development/libraries/intel-gmmlib/default.nix b/pkgs/development/libraries/intel-gmmlib/default.nix
index 644975ca66c1a..8581ab729a630 100644
--- a/pkgs/development/libraries/intel-gmmlib/default.nix
+++ b/pkgs/development/libraries/intel-gmmlib/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-gmmlib";
-  version = "22.0.1";
+  version = "22.0.2";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "gmmlib";
     rev = "intel-gmmlib-${version}";
-    sha256 = "1s46vwcs26hdlsa8h51gq4fyi9i8k5hrcx5ffbv9g7v3x706nplf";
+    sha256 = "001kkm1l4s9i7ikaqpf78l5h0a5dy1m9w5r5g0yrlqpi54h6ph28";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/intel-media-driver/default.nix b/pkgs/development/libraries/intel-media-driver/default.nix
index d76a58fc633dd..08ce423549854 100644
--- a/pkgs/development/libraries/intel-media-driver/default.nix
+++ b/pkgs/development/libraries/intel-media-driver/default.nix
@@ -14,7 +14,7 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-media-driver";
-  version = "22.1.0";
+  version = "22.1.1";
 
   outputs = [ "out" "dev" ];
 
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     owner = "intel";
     repo = "media-driver";
     rev = "intel-media-${version}";
-    sha256 = "0giba5274kzpjb5rp3d9bbnvcz7fp8ybi4s3hha2idxk0l5yamf1";
+    sha256 = "1gv89k48s03hwvlcg484li0dznqg93z82xv9lpv3gkncvwfvh9c8";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/intel-media-sdk/default.nix b/pkgs/development/libraries/intel-media-sdk/default.nix
index 870276c17232e..d383a3093f21e 100644
--- a/pkgs/development/libraries/intel-media-sdk/default.nix
+++ b/pkgs/development/libraries/intel-media-sdk/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-media-sdk";
-  version = "21.4.3";
+  version = "22.1.0";
 
   src = fetchFromGitHub {
     owner = "Intel-Media-SDK";
     repo = "MediaSDK";
     rev = "intel-mediasdk-${version}";
-    sha256 = "sha256-Z6wIwgcKa+EaqSmbD//pYzGjDezASNWGnLCROiRvACo=";
+    sha256 = "sha256-iISG947MUWVVAxykFwB5UK5Z4uQnEWJ6AFr/ZlHx4Nw=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/iso-codes/default.nix b/pkgs/development/libraries/iso-codes/default.nix
index 75ace8097c9ba..1b4396bfee07c 100644
--- a/pkgs/development/libraries/iso-codes/default.nix
+++ b/pkgs/development/libraries/iso-codes/default.nix
@@ -1,12 +1,12 @@
-{lib, stdenv, fetchurl, gettext, python3}:
+{ lib, stdenv, fetchurl, gettext, python3 }:
 
 stdenv.mkDerivation rec {
   pname = "iso-codes";
-  version = "4.6.0";
+  version = "4.9.0";
 
   src = fetchurl {
-    url = "https://salsa.debian.org/iso-codes-team/iso-codes/-/archive/${pname}-${version}/${pname}-${pname}-${version}.tar.bz2";
-    sha256 = "sha256-Ivd5538QpTFXP2r6ca/g12IZ0ZW1nduu0z4kiSb9Mxs=";
+    url = "https://salsa.debian.org/iso-codes-team/iso-codes/-/archive/v${version}/${pname}-v${version}.tar.gz";
+    sha256 = "02lq602ghws423w04jsyjr92p0nmrfp59n1m5hbbi1c6fhxryghc";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/libraries/jabcode/default.nix b/pkgs/development/libraries/jabcode/default.nix
index 314a0cdf7eff6..489b44a4e5c40 100644
--- a/pkgs/development/libraries/jabcode/default.nix
+++ b/pkgs/development/libraries/jabcode/default.nix
@@ -46,5 +46,6 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl21;
     maintainers = [ maintainers.xaverdh ];
     platforms = platforms.unix;
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/jabcode.x86_64-darwin
   };
 }
diff --git a/pkgs/development/libraries/java/commons/bcel/default.nix b/pkgs/development/libraries/java/commons/bcel/default.nix
index 9d34aaf6c8e9c..104320a8d89fe 100644
--- a/pkgs/development/libraries/java/commons/bcel/default.nix
+++ b/pkgs/development/libraries/java/commons/bcel/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage    = "http://commons.apache.org/proper/commons-bcel/";
+    homepage    = "https://commons.apache.org/proper/commons-bcel/";
     description = "Gives users a convenient way to analyze, create, and manipulate (binary) Java class files";
     maintainers = with lib.maintainers; [ copumpkin ];
     license     = lib.licenses.asl20;
diff --git a/pkgs/development/libraries/java/commons/bsf/default.nix b/pkgs/development/libraries/java/commons/bsf/default.nix
index 08b6a99a55dad..22a9fae358d25 100644
--- a/pkgs/development/libraries/java/commons/bsf/default.nix
+++ b/pkgs/development/libraries/java/commons/bsf/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Interface to scripting languages, including JSR-223";
-    homepage = "http://commons.apache.org/proper/commons-bsf/";
+    homepage = "https://commons.apache.org/proper/commons-bsf/";
     license = lib.licenses.asl20;
     platforms = lib.platforms.unix;
   };
diff --git a/pkgs/development/libraries/java/commons/compress/default.nix b/pkgs/development/libraries/java/commons/compress/default.nix
index 3bbedde2e9543..c685eb691c5fb 100644
--- a/pkgs/development/libraries/java/commons/compress/default.nix
+++ b/pkgs/development/libraries/java/commons/compress/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage    = "http://commons.apache.org/proper/commons-compress";
+    homepage    = "https://commons.apache.org/proper/commons-compress";
     description = "Allows manipulation of ar, cpio, Unix dump, tar, zip, gzip, XZ, Pack200, bzip2, 7z, arj, lzma, snappy, DEFLATE and Z files";
     maintainers = with lib.maintainers; [ copumpkin ];
     license     = lib.licenses.asl20;
diff --git a/pkgs/development/libraries/java/commons/fileupload/default.nix b/pkgs/development/libraries/java/commons/fileupload/default.nix
index 868f2da4e537e..73b5d0d140a2e 100644
--- a/pkgs/development/libraries/java/commons/fileupload/default.nix
+++ b/pkgs/development/libraries/java/commons/fileupload/default.nix
@@ -1,21 +1,21 @@
 {lib, stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  version = "1.3.1";
+  version = "1.4";
   pname = "commons-fileupload";
 
   src = fetchurl {
     url    = "mirror://apache/commons/fileupload/binaries/${pname}-${version}-bin.tar.gz";
-    sha256 = "1jy7w2j2ay56mpq4ij3331cf9zgpkm832ydr63svb35j0ymnky72";
+    sha256 = "1avfv4gljp7flra767yzas54vfb6az9s1nhxfjv48jj2x0llxxkx";
   };
   installPhase = ''
     tar xf ${src}
     mkdir -p $out/share/java
-    cp lib/*.jar $out/share/java/
+    cp commons-fileupload-*-bin/*.jar $out/share/java/
   '';
 
   meta = {
-    homepage    = "http://commons.apache.org/proper/commons-fileupload";
+    homepage    = "https://commons.apache.org/proper/commons-fileupload";
     description = "Makes it easy to add robust, high-performance, file upload capability to your servlets and web applications";
     maintainers = with lib.maintainers; [ copumpkin ];
     license     = lib.licenses.asl20;
diff --git a/pkgs/development/libraries/java/commons/io/default.nix b/pkgs/development/libraries/java/commons/io/default.nix
index ba8b59162c5c6..d8b32607a9e50 100644
--- a/pkgs/development/libraries/java/commons/io/default.nix
+++ b/pkgs/development/libraries/java/commons/io/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage    = "http://commons.apache.org/proper/commons-io";
+    homepage    = "https://commons.apache.org/proper/commons-io";
     description = "A library of utilities to assist with developing IO functionality";
     maintainers = with lib.maintainers; [ copumpkin ];
     license     = lib.licenses.asl20;
diff --git a/pkgs/development/libraries/java/commons/lang/default.nix b/pkgs/development/libraries/java/commons/lang/default.nix
index 974f7bf9a1cce..07e94148817e6 100644
--- a/pkgs/development/libraries/java/commons/lang/default.nix
+++ b/pkgs/development/libraries/java/commons/lang/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage    = "http://commons.apache.org/proper/commons-lang";
+    homepage    = "https://commons.apache.org/proper/commons-lang";
     description = "Provides additional methods to manipulate standard Java library classes";
     maintainers = with lib.maintainers; [ copumpkin ];
     license     = lib.licenses.asl20;
diff --git a/pkgs/development/libraries/java/commons/logging/default.nix b/pkgs/development/libraries/java/commons/logging/default.nix
index 5b6c8b36b3491..f98c8bd72e0cd 100644
--- a/pkgs/development/libraries/java/commons/logging/default.nix
+++ b/pkgs/development/libraries/java/commons/logging/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Wrapper around a variety of logging API implementations";
-    homepage = "http://commons.apache.org/proper/commons-logging";
+    homepage = "https://commons.apache.org/proper/commons-logging";
     license = lib.licenses.asl20;
     platforms = lib.platforms.unix;
   };
diff --git a/pkgs/development/libraries/java/gwt-dragdrop/default.nix b/pkgs/development/libraries/java/gwt-dragdrop/default.nix
deleted file mode 100644
index a7270bbfa2ba2..0000000000000
--- a/pkgs/development/libraries/java/gwt-dragdrop/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, stdenv, fetchurl }:
-
-stdenv.mkDerivation rec {
-  pname = "gwt-dnd";
-  version = "2.6.5";
-
-  src = fetchurl {
-    url = "http://gwt-dnd.googlecode.com/files/gwt-dnd-${version}.jar";
-    sha256 = "07zdlr8afs499asnw0dcjmw1cnjc646v91lflx5dv4qj374c97fw";
-  };
-
-  dontUnpack = true;
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/share/java
-    cp $src $out/share/java/$name.jar
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    platforms = platforms.unix;
-    license = licenses.asl20;
-  };
-}
diff --git a/pkgs/development/libraries/java/gwt-widgets/default.nix b/pkgs/development/libraries/java/gwt-widgets/default.nix
deleted file mode 100644
index ebba8548016ef..0000000000000
--- a/pkgs/development/libraries/java/gwt-widgets/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib, stdenv, fetchurl }:
-
-stdenv.mkDerivation rec {
-  pname = "gwt-widgets";
-  version = "0.2.0";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/gwt-widget/gwt-widgets-${version}-bin.tar.gz";
-    sha256 = "09isj4j6842rj13nv8264irkjjhvmgihmi170ciabc98911bakxb";
-  };
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/share/java
-    cp gwt-widgets-*.jar $out/share/java
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    platforms = platforms.unix;
-    license = with licenses; [ afl21 lgpl2 ];
-  };
-}
diff --git a/pkgs/development/libraries/java/lombok/default.nix b/pkgs/development/libraries/java/lombok/default.nix
index af75be5375796..4eee98157d50f 100644
--- a/pkgs/development/libraries/java/lombok/default.nix
+++ b/pkgs/development/libraries/java/lombok/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lombok";
-  version = "1.18.20";
+  version = "1.18.22";
 
   src = fetchurl {
     url = "https://projectlombok.org/downloads/lombok-${version}.jar";
-    sha256 = "sha256-zpR75sL751n7vo7ztCtoJfgUyYyIU/EBPy2WMM7fdLA=";
+    sha256 = "sha256-7O8VgUEdeoLMBCgWZ+4LrF18ClqudM/DhDA5bJHDGDE=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/libraries/jitterentropy/default.nix b/pkgs/development/libraries/jitterentropy/default.nix
index 11f6141872db0..c65a3af9c42ae 100644
--- a/pkgs/development/libraries/jitterentropy/default.nix
+++ b/pkgs/development/libraries/jitterentropy/default.nix
@@ -1,37 +1,31 @@
 { lib, stdenv, fetchFromGitHub }:
+
 stdenv.mkDerivation rec {
   pname = "jitterentropy";
-  version = "2.2.0";
+  version = "3.3.1";
 
   src = fetchFromGitHub {
     owner = "smuellerDD";
     repo = "jitterentropy-library";
     rev = "v${version}";
-    sha256 = "0n2l1fxr7bynnarpwdjifb2fvlsq8w5wmfh31yk5nrc756cjlgyw";
+    hash = "sha256-go7eGwBoZ58LkgKL7t8oZSc1cFlE6fPOT/ML3Aa8+CM=";
   };
-  patches = [
-    # Can be removed when upgrading beyond 2.2.0
-    ./reproducible-manpages.patch
-  ];
 
-  enableParallelBuilding = true;
+  outputs = [ "out" "dev" ];
 
-  preInstall = ''
-    mkdir -p $out/include
-    substituteInPlace Makefile \
-      --replace "install -m 0755 -s" \
-                'install -m 0755 -s --strip-program $(STRIP)'
-  '';
+  enableParallelBuilding = true;
+  hardeningDisable = [ "fortify" ]; # avoid warnings
 
   installFlags = [
-    "PREFIX=$(out)"
+    "PREFIX=${placeholder "out"}"
   ];
 
-  meta = {
+  meta = with lib; {
     description = "Provides a noise source using the CPU execution timing jitter";
     homepage = "https://github.com/smuellerDD/jitterentropy-library";
-    license = with lib.licenses; [ gpl2 bsd3 ];
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ johnazoidberg ];
+    changelog = "https://github.com/smuellerDD/jitterentropy-library/raw/v${version}/CHANGES.md";
+    license = with licenses; [ bsd3 /* OR */ gpl2Only ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ johnazoidberg c0bw3b ];
   };
 }
diff --git a/pkgs/development/libraries/jitterentropy/reproducible-manpages.patch b/pkgs/development/libraries/jitterentropy/reproducible-manpages.patch
deleted file mode 100644
index 68de5a8ae7813..0000000000000
--- a/pkgs/development/libraries/jitterentropy/reproducible-manpages.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 4ff069b..3b8714a 100644
---- a/Makefile
-+++ b/Makefile
-@@ -58,7 +58,7 @@ cppcheck:
- install:
- 	install -d -m 0755 $(DESTDIR)$(PREFIX)/share/man/man3
- 	install -m 644 doc/$(NAME).3 $(DESTDIR)$(PREFIX)/share/man/man3/
--	gzip -9 $(DESTDIR)$(PREFIX)/share/man/man3/$(NAME).3
-+	gzip -n -9 $(DESTDIR)$(PREFIX)/share/man/man3/$(NAME).3
- 	install -d -m 0755 $(DESTDIR)$(PREFIX)/$(LIBDIR)
- 	install -m 0755 -s lib$(NAME).so.$(LIBVERSION) $(DESTDIR)$(PREFIX)/$(LIBDIR)/
- 	install -d -m 0755 $(DESTDIR)$(PREFIX)/$(INCDIR)
diff --git a/pkgs/development/libraries/judy/cross.patch b/pkgs/development/libraries/judy/cross.patch
new file mode 100644
index 0000000000000..a4e53c08a6d66
--- /dev/null
+++ b/pkgs/development/libraries/judy/cross.patch
@@ -0,0 +1,22 @@
+--- a/src/Judy1/Makefile.am
++++ b/src/Judy1/Makefile.am
+@@ -18,7 +18,7 @@
+ libinline_la_CFLAGS = $(AM_CFLAGS) -DJUDYGETINLINE
+ 
+ Judy1Tables.c: Judy1TablesGen.c
+-	$(CC) $(INCLUDES) $(AM_CFLAGS) @CFLAGS@ -o Judy1TablesGen Judy1TablesGen.c; ./Judy1TablesGen
++	$(CC_FOR_BUILD) $(INCLUDES) $(AM_CFLAGS) @CFLAGS@ -o Judy1TablesGen Judy1TablesGen.c; ./Judy1TablesGen
+ 
+ Judy1ByCount.c:../JudyCommon/JudyByCount.c
+ 	cp -f ../JudyCommon/JudyByCount.c      		Judy1ByCount.c   
+--- a/src/JudyL/Makefile.am
++++ b/src/JudyL/Makefile.am
+@@ -18,7 +18,7 @@
+ libinline_la_CFLAGS = $(AM_CFLAGS) -DJUDYGETINLINE
+ 
+ JudyLTables.c: JudyLTablesGen.c
+-	$(CC) $(INCLUDES) $(AM_CFLAGS) @CFLAGS@ -o JudyLTablesGen JudyLTablesGen.c; ./JudyLTablesGen 
++	$(CC_FOR_BUILD) $(INCLUDES) $(AM_CFLAGS) @CFLAGS@ -o JudyLTablesGen JudyLTablesGen.c; ./JudyLTablesGen 
+ 
+ JudyLByCount.c:   ../JudyCommon/JudyByCount.c
+ 	cp -f ../JudyCommon/JudyByCount.c      		JudyLByCount.c   
diff --git a/pkgs/development/libraries/judy/default.nix b/pkgs/development/libraries/judy/default.nix
index bec72ac802061..da8e89f935655 100644
--- a/pkgs/development/libraries/judy/default.nix
+++ b/pkgs/development/libraries/judy/default.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, fetchurl}:
+{ lib, stdenv, fetchurl, pkgsBuildBuild, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   pname = "judy";
@@ -9,11 +9,9 @@ stdenv.mkDerivation rec {
     sha256 = "1sv3990vsx8hrza1mvq3bhvv9m6ff08y4yz7swn6znszz24l0w6j";
   };
 
-  # gcc 4.8 optimisations break judy.
-  # https://sourceforge.net/p/judy/mailman/message/31995144/
-  preConfigure = lib.optionalString stdenv.cc.isGNU ''
-    configureFlagsArray+=("CFLAGS=-fno-strict-aliasing -fno-aggressive-loop-optimizations")
-  '';
+  nativeBuildInputs = [ autoreconfHook ];
+  depsBuildBuild = [ pkgsBuildBuild.stdenv.cc ];
+  patches = [ ./cross.patch ];
 
   # Disable parallel builds as manpages lack some dependencies:
   #    ../tool/jhton ext/JudyHS_funcs_3.htm | grep -v '^[   ]*$' | sed -e 's/\.C//' > man/man3/JudyHS_funcs
diff --git a/pkgs/development/libraries/kdb/default.nix b/pkgs/development/libraries/kdb/default.nix
index 03eabc6447b43..e3d3409554057 100644
--- a/pkgs/development/libraries/kdb/default.nix
+++ b/pkgs/development/libraries/kdb/default.nix
@@ -1,7 +1,15 @@
-{
-  mkDerivation, lib, fetchurl,
-  extra-cmake-modules,
-  qtbase, qttranslations, kcoreaddons, python2, sqlite, postgresql, libmysqlclient
+{ mkDerivation
+, lib
+, fetchurl
+, fetchpatch
+, extra-cmake-modules
+, qtbase
+, qttranslations
+, kcoreaddons
+, python2
+, sqlite
+, postgresql
+, libmysqlclient
 }:
 
 mkDerivation rec {
@@ -13,6 +21,19 @@ mkDerivation rec {
     sha256 = "0s909x34a56n3xwhqz27irl2gbzidax0685w2kf34f0liny872cg";
   };
 
+  patches = [
+    # fix build with newer QT versions
+    (fetchpatch {
+      url = "https://github.com/KDE/kdb/commit/b36d74f13a1421437a725fb74502c993c359392a.patch";
+      sha256 = "sha256-ENMZTUZ3yCKUhHPMUcDe1cMY2GLBz0G3ZvMRyj8Hfrw=";
+    })
+    # fix build with newer posgresql versions
+    (fetchpatch {
+      url = "https://github.com/KDE/kdb/commit/40cdaea4d7824cc1b0d26e6ad2dcb61fa2077911.patch";
+      sha256 = "sha256-cZpX6L/NZX3vztnh0s2+v4J7kBcKgUdecY53LRp8CwM=";
+    })
+  ];
+
   nativeBuildInputs = [ extra-cmake-modules ];
 
   buildInputs = [ qttranslations kcoreaddons python2 sqlite postgresql libmysqlclient ];
diff --git a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch
index 804fffc8fdcbe..b035b3664a2ae 100644
--- a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch
+++ b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch
@@ -1,8 +1,8 @@
-diff --git a/kde-modules/KDEInstallDirs.cmake b/kde-modules/KDEInstallDirs.cmake
+diff --git a/kde-modules/KDEInstallDirsCommon.cmake b/kde-modules/KDEInstallDirsCommon.cmake
 index c1d056b..d9e19f0 100644
---- a/kde-modules/KDEInstallDirs.cmake
-+++ b/kde-modules/KDEInstallDirs.cmake
-@@ -242,35 +242,6 @@
+--- a/kde-modules/KDEInstallDirsCommon.cmake
++++ b/kde-modules/KDEInstallDirsCommon.cmake
+@@ -15,35 +15,6 @@
  # GNUInstallDirs code deals with re-configuring, but that is dealt with
  # by the _define_* macros in this module).
  set(_LIBDIR_DEFAULT "lib")
diff --git a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh
index 4135f6bfd7aa3..ac077b73d6a6d 100644
--- a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh
+++ b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh
@@ -59,23 +59,24 @@ xdgDataSubdirs=( \
     "wallpapers" "applications" "desktop-directories" "mime" "appdata" "dbus-1" \
 )
 
-ecmHostPathSeen=( )
+# ecmHostPathsSeen is an associative array of the paths that have already been
+# seen by ecmHostPathHook.
+declare -gA ecmHostPathsSeen
 
-ecmUnseenHostPath() {
-    for pkg in "${ecmHostPathSeen[@]}"
-    do
-        if [ "${pkg:?}" == "$1" ]
-        then
-            return 1
-        fi
-    done
-
-    ecmHostPathSeen+=("$1")
-    return 0
+ecmHostPathIsNotSeen() {
+    if [[ -n "${ecmHostPathsSeen["$1"]:-}" ]]; then
+        # The path has been seen before.
+        return 1
+    else
+        # The path has not been seen before.
+        # Now it is seen, so record it.
+        ecmHostPathsSeen["$1"]=1
+        return 0
+    fi
 }
 
 ecmHostPathHook() {
-    ecmUnseenHostPath "$1" || return 0
+    ecmHostPathIsNotSeen "$1" || return 0
 
     local xdgConfigDir="$1/etc/xdg"
     if [ -d "$xdgConfigDir" ]
diff --git a/pkgs/development/libraries/kde-frameworks/fetch.sh b/pkgs/development/libraries/kde-frameworks/fetch.sh
index 7f6c19667e154..50204bc0ec0e2 100644
--- a/pkgs/development/libraries/kde-frameworks/fetch.sh
+++ b/pkgs/development/libraries/kde-frameworks/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/frameworks/5.87/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/frameworks/5.90/ -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/kde-frameworks/kinit/0001-kinit-libpath.patch b/pkgs/development/libraries/kde-frameworks/kinit/0001-kinit-libpath.patch
deleted file mode 100644
index a3e4014df509b..0000000000000
--- a/pkgs/development/libraries/kde-frameworks/kinit/0001-kinit-libpath.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 715c5f461b4992dac066601202a673bc551a5e33 Mon Sep 17 00:00:00 2001
-From: Thomas Tuegel <ttuegel@mailbox.org>
-Date: Sun, 16 Feb 2020 14:23:31 -0600
-Subject: [PATCH 1/4] kinit-libpath
-
----
- src/kdeinit/kinit.cpp | 22 +++++++++-------------
- 1 file changed, 9 insertions(+), 13 deletions(-)
-
-diff --git a/src/kdeinit/kinit.cpp b/src/kdeinit/kinit.cpp
-index 8fff17a..0801b75 100644
---- a/src/kdeinit/kinit.cpp
-+++ b/src/kdeinit/kinit.cpp
-@@ -622,19 +622,15 @@ static pid_t launch(int argc, const char *_name, const char *args,
- 
-         if (!libpath.isEmpty()) {
-             if (libpath_relative) {
--                // NB: Because Qt makes the actual dlopen() call, the
--                //     RUNPATH of kdeinit is *not* respected - see
--                //     https://sourceware.org/bugzilla/show_bug.cgi?id=13945
--                //     - so we try hacking it in ourselves
--                QString install_lib_dir = QFile::decodeName(
--                        CMAKE_INSTALL_PREFIX "/" KDE_INSTALL_LIBDIR "/");
--                QString orig_libpath = libpath;
--                libpath = install_lib_dir + libpath;
--                l.setFileName(libpath);
--                if (!l.load()) {
--                    libpath = orig_libpath;
--                    l.setFileName(libpath);
--                    l.load();
-+                // Try to load the library relative to the active profiles.
-+                QByteArrayList profiles = qgetenv("NIX_PROFILES").split(' ');
-+                // Reverse the profile list.
-+                std::reverse(profiles.begin(), profiles.end());
-+                for (const QByteArray &profile: profiles) {
-+                    if (!profile.isEmpty()) {
-+                        l.setFileName(QFile::decodeName(profile) + QStringLiteral("/lib/") + libpath);
-+                        if (l.load()) break;
-+                    }
-                 }
-             } else {
-                 l.load();
--- 
-2.23.1
-
diff --git a/pkgs/development/libraries/kde-frameworks/kinit/0002-start_kdeinit-path.patch b/pkgs/development/libraries/kde-frameworks/kinit/0002-start_kdeinit-path.patch
index 3728c3c58b83e..f9c019c2ae2a3 100644
--- a/pkgs/development/libraries/kde-frameworks/kinit/0002-start_kdeinit-path.patch
+++ b/pkgs/development/libraries/kde-frameworks/kinit/0002-start_kdeinit-path.patch
@@ -11,7 +11,7 @@ diff --git a/src/start_kdeinit/start_kdeinit_wrapper.c b/src/start_kdeinit/start
 index 891f50c..ef664ad 100644
 --- a/src/start_kdeinit/start_kdeinit_wrapper.c
 +++ b/src/start_kdeinit/start_kdeinit_wrapper.c
-@@ -23,7 +23,7 @@
+@@ -11,7 +11,7 @@
  #include <string.h>
  #include <unistd.h>
  
diff --git a/pkgs/development/libraries/kde-frameworks/kinit/default.nix b/pkgs/development/libraries/kde-frameworks/kinit/default.nix
index 2a3a3dd5d1f09..dcd84f1f35a1d 100644
--- a/pkgs/development/libraries/kde-frameworks/kinit/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kinit/default.nix
@@ -14,7 +14,6 @@ mkDerivation {
     kconfig kcrash ki18n kio kservice kwindowsystem
   ];
   patches = [
-    ./0001-kinit-libpath.patch
     ./0002-start_kdeinit-path.patch
     ./0003-kdeinit-extra-libs.patch
     ./0004-start_kdeinit-environ-hard-limit.patch
diff --git a/pkgs/development/libraries/kde-frameworks/kpackage/0001-Allow-external-paths-default.patch b/pkgs/development/libraries/kde-frameworks/kpackage/0001-Allow-external-paths-default.patch
index dbcdac463c9c3..4b1c0aadf76d1 100644
--- a/pkgs/development/libraries/kde-frameworks/kpackage/0001-Allow-external-paths-default.patch
+++ b/pkgs/development/libraries/kde-frameworks/kpackage/0001-Allow-external-paths-default.patch
@@ -11,10 +11,10 @@ diff --git a/src/kpackage/package.cpp b/src/kpackage/package.cpp
 index 36f5600..881f176 100644
 --- a/src/kpackage/package.cpp
 +++ b/src/kpackage/package.cpp
-@@ -858,7 +858,7 @@ PackagePrivate::PackagePrivate()
+@@ -866,7 +866,7 @@ PackagePrivate::PackagePrivate()
+ PackagePrivate::PackagePrivate()
      : QSharedData()
      , fallbackPackage(nullptr)
-     , metadata(nullptr)
 -    , externalPaths(false)
 +    , externalPaths(true)
      , valid(false)
diff --git a/pkgs/development/libraries/kde-frameworks/sonnet.nix b/pkgs/development/libraries/kde-frameworks/sonnet.nix
index 8647c8e0712c7..2eff7bad24029 100644
--- a/pkgs/development/libraries/kde-frameworks/sonnet.nix
+++ b/pkgs/development/libraries/kde-frameworks/sonnet.nix
@@ -1,18 +1,10 @@
 { mkDerivation
-, fetchpatch
 , extra-cmake-modules
 , aspell, qtbase, qttools
 }:
 
 mkDerivation {
   name = "sonnet";
-  patches = [
-    # Pull upstream path to fix determinism.
-    (fetchpatch {
-      url = "https://invent.kde.org/frameworks/sonnet/-/commit/a01fc66b8affb01221d1fdf84146a78c172d4c6b.patch";
-      sha256 = "1jzd65rmgvfpcxrsnsmdz8ac1ldqs9rjfryy8fryy0ibzbhc1050";
-    })
-  ];
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ aspell qttools ];
   propagatedBuildInputs = [ qtbase ];
diff --git a/pkgs/development/libraries/kde-frameworks/srcs.nix b/pkgs/development/libraries/kde-frameworks/srcs.nix
index 03f261c19b021..1ffc5df68c36f 100644
--- a/pkgs/development/libraries/kde-frameworks/srcs.nix
+++ b/pkgs/development/libraries/kde-frameworks/srcs.nix
@@ -4,667 +4,667 @@
 
 {
   attica = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/attica-5.87.0.tar.xz";
-      sha256 = "0wjfrlmwg03js544xjlpznxxqv14cj40fpzbfnlj24kjgd1ai8dq";
-      name = "attica-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/attica-5.90.0.tar.xz";
+      sha256 = "0zs37qyh9biafk76ps2xfc41hbd1n4dq42qqqcvbqcrwfgqz2wlk";
+      name = "attica-5.90.0.tar.xz";
     };
   };
   baloo = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/baloo-5.87.0.tar.xz";
-      sha256 = "0h55hn6klsq19l44qzc95l1r7hx2zr9hr4ysxd8kvcxc02imaswb";
-      name = "baloo-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/baloo-5.90.0.tar.xz";
+      sha256 = "1nnfys8dyiivd2if81qrgrmpprfni77an9l3wff0l5k85ac86i56";
+      name = "baloo-5.90.0.tar.xz";
     };
   };
   bluez-qt = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/bluez-qt-5.87.0.tar.xz";
-      sha256 = "1shk3riddgdb0i6f0603hbhww13z1b566rdaplxsbgk8cyhl5acz";
-      name = "bluez-qt-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/bluez-qt-5.90.0.tar.xz";
+      sha256 = "056i5ndrg5fqm1bx49a0plfhlladphha128wi766zdhcm6np11z3";
+      name = "bluez-qt-5.90.0.tar.xz";
     };
   };
   breeze-icons = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/breeze-icons-5.87.0.tar.xz";
-      sha256 = "19f7n4r6b0b1l8hc79xbj8gc18xf488bk4i0wdbw22x9vwl4h58h";
-      name = "breeze-icons-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/breeze-icons-5.90.0.tar.xz";
+      sha256 = "06dfh571rf8gp4gnnqn13xqgc1bpc4ycn6bmxf38x53fxxfl3fnn";
+      name = "breeze-icons-5.90.0.tar.xz";
     };
   };
   extra-cmake-modules = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/extra-cmake-modules-5.87.0.tar.xz";
-      sha256 = "1axwz0p3ggjpcxpqqlyng3fa2pxmjxgybncgkp8i81i7iq6sf72l";
-      name = "extra-cmake-modules-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/extra-cmake-modules-5.90.0.tar.xz";
+      sha256 = "1c5wza7srib3mdkf29ygmyj5b6jq322s6h7k5hlljqm5xhy7q07k";
+      name = "extra-cmake-modules-5.90.0.tar.xz";
     };
   };
   frameworkintegration = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/frameworkintegration-5.87.0.tar.xz";
-      sha256 = "1bbgxqgy28abrk2cgzj7k2m18xmkl9kw58dal03pzlmh77br00lb";
-      name = "frameworkintegration-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/frameworkintegration-5.90.0.tar.xz";
+      sha256 = "1v7vlq2gk7j5b6gzbawgnpii7csh2zclp5v24qhx4qrmpfssylan";
+      name = "frameworkintegration-5.90.0.tar.xz";
     };
   };
   kactivities = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kactivities-5.87.0.tar.xz";
-      sha256 = "1ynngg9x70dwcnn4ncf7h63hj5p187d4mk1aqriax0iz21mfjmp9";
-      name = "kactivities-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kactivities-5.90.0.tar.xz";
+      sha256 = "0wf7nnf3bjz2iq2wqxnyay1100ks0zscsh7sa8xfcijrl7pp305w";
+      name = "kactivities-5.90.0.tar.xz";
     };
   };
   kactivities-stats = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kactivities-stats-5.87.0.tar.xz";
-      sha256 = "1n7jzbfwgwclnrnssxm180fis74qp3v9nximhc0l8fmb8ac1f106";
-      name = "kactivities-stats-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kactivities-stats-5.90.0.tar.xz";
+      sha256 = "0qamy8xggjlnm8pkv6vxbaagcp1hg9vgi2ws2yb9xpqk8mdlfbvp";
+      name = "kactivities-stats-5.90.0.tar.xz";
     };
   };
   kapidox = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kapidox-5.87.0.tar.xz";
-      sha256 = "0iyla9i4ln6w9wkm4dand53ir6gzsm4180diwi9p2q5mfrk0rvja";
-      name = "kapidox-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kapidox-5.90.0.tar.xz";
+      sha256 = "16jl519sx7pirjp5x57x5gbgv477457063rrbwpvyf2ldb6lc29p";
+      name = "kapidox-5.90.0.tar.xz";
     };
   };
   karchive = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/karchive-5.87.0.tar.xz";
-      sha256 = "0d8wqrynwmqazlf5v7qas9akrvcwr4lrqg3dcbnq61mmc252wgqh";
-      name = "karchive-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/karchive-5.90.0.tar.xz";
+      sha256 = "0411rpgr9dy0zf9mmhj7n7ax0afrn7zvkpzpnjvpvvqsrfkz7qm6";
+      name = "karchive-5.90.0.tar.xz";
     };
   };
   kauth = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kauth-5.87.0.tar.xz";
-      sha256 = "1gbq487v2nn0zyis6xdvsn0mz7yy131vafq76jdi7b6nyh5c1lgi";
-      name = "kauth-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kauth-5.90.0.tar.xz";
+      sha256 = "1g4i1prspcczpx25wvd8lgdk8c3my7kp3wv489gvcci40rl5z913";
+      name = "kauth-5.90.0.tar.xz";
     };
   };
   kbookmarks = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kbookmarks-5.87.0.tar.xz";
-      sha256 = "0klws0psdq9vx09p38ckki7aqbdkcns1smk8ckj79krpsjv8q9nx";
-      name = "kbookmarks-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kbookmarks-5.90.0.tar.xz";
+      sha256 = "1svc1i9zxbxf65crfhnv6sz5gknb7x87lzjd8cn11y5lwnsw36kx";
+      name = "kbookmarks-5.90.0.tar.xz";
     };
   };
   kcalendarcore = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kcalendarcore-5.87.0.tar.xz";
-      sha256 = "0ig2w0dxrf9ih9hqk5rvqqmyhg658m1hs4807zl66llplkr58q0n";
-      name = "kcalendarcore-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kcalendarcore-5.90.0.tar.xz";
+      sha256 = "0qbds2ysjv9rqwpvrhisvdd6wyhq5qwhbw5xcbj7ndxwpf8lpa8w";
+      name = "kcalendarcore-5.90.0.tar.xz";
     };
   };
   kcmutils = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kcmutils-5.87.0.tar.xz";
-      sha256 = "09pcif2gmkbhwqb8cxfs89nw81wdpdsd4a2n7xdm1xz6lpwwmk1h";
-      name = "kcmutils-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kcmutils-5.90.0.tar.xz";
+      sha256 = "04crq3j48xwlvp047p3waqrv1gg5sv1950jh02w85q00yjjh0qxk";
+      name = "kcmutils-5.90.0.tar.xz";
     };
   };
   kcodecs = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kcodecs-5.87.0.tar.xz";
-      sha256 = "1fb8agbkwxnxb0hlzz0ya460z3ihn9qz2zvjdxvk21rjhmp1alh7";
-      name = "kcodecs-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kcodecs-5.90.0.tar.xz";
+      sha256 = "0kwqyhjs63pqslqcmv3sngyqvl6ah8iaa6nn045sb8a58xb09inh";
+      name = "kcodecs-5.90.0.tar.xz";
     };
   };
   kcompletion = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kcompletion-5.87.0.tar.xz";
-      sha256 = "15c9sgdgw6cf5y2jjgjlsxn0p0pxvrmhzcyq05d9fqhy185ng03p";
-      name = "kcompletion-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kcompletion-5.90.0.tar.xz";
+      sha256 = "0hd3nsixibw5z846mpib2lap3ar65rqvasifdnlmqsrvxfmw0ggk";
+      name = "kcompletion-5.90.0.tar.xz";
     };
   };
   kconfig = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kconfig-5.87.0.tar.xz";
-      sha256 = "1l8px5qpf5qfma24filim1swblgbdvnf25pc38qc6s79inkganrl";
-      name = "kconfig-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kconfig-5.90.0.tar.xz";
+      sha256 = "0yqs3ydxzhhb7rrl01swjc9xw8j1bs3n204bf9slb2bs7lfz56rn";
+      name = "kconfig-5.90.0.tar.xz";
     };
   };
   kconfigwidgets = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kconfigwidgets-5.87.0.tar.xz";
-      sha256 = "18m3nqlp87am2w8my4y933ck9k3cs5q62nkhbp8ngaavw8cfbd84";
-      name = "kconfigwidgets-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kconfigwidgets-5.90.0.tar.xz";
+      sha256 = "1sm1x64x2v3xfcz9ia6qk8d8y1q02fggrc2q0yy5ag5xh1yr9zwq";
+      name = "kconfigwidgets-5.90.0.tar.xz";
     };
   };
   kcontacts = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kcontacts-5.87.0.tar.xz";
-      sha256 = "02zyirvds572rxbdc47ncs71a66z5hql0vpj8lx1zpr0nnvpvlcv";
-      name = "kcontacts-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kcontacts-5.90.0.tar.xz";
+      sha256 = "0vv2136da5a6lwdj2x38jx2qwrk96hgn8iwaad4yynvc2csx6dim";
+      name = "kcontacts-5.90.0.tar.xz";
     };
   };
   kcoreaddons = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kcoreaddons-5.87.0.tar.xz";
-      sha256 = "19pdpz7jjknccaqc2i6zfmclmrk60clzanvx72ryvh7yb0xyk7yj";
-      name = "kcoreaddons-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kcoreaddons-5.90.0.tar.xz";
+      sha256 = "02m4h4r0kdy94zq8c6d2fhnd8qwrp4a0v5i4wf6khk4yf4fqy5kf";
+      name = "kcoreaddons-5.90.0.tar.xz";
     };
   };
   kcrash = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kcrash-5.87.0.tar.xz";
-      sha256 = "1l48dn5vqn4lns57v61p1a8r3pklx4xclsa3890pjf6iviqxf22r";
-      name = "kcrash-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kcrash-5.90.0.tar.xz";
+      sha256 = "0634jqzbvr8xkv53n2q3fcqlkcmq843w7g455v3swnlaqi92l04f";
+      name = "kcrash-5.90.0.tar.xz";
     };
   };
   kdav = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kdav-5.87.0.tar.xz";
-      sha256 = "0sb1g0wdpql5gw52nxhzkk1wa9md2k25lwyf902g3pf7ahdgdk5z";
-      name = "kdav-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kdav-5.90.0.tar.xz";
+      sha256 = "0181ray8vigmwlamx4j5dinw10al0g4l965kyx4wjq9k59nxxgbi";
+      name = "kdav-5.90.0.tar.xz";
     };
   };
   kdbusaddons = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kdbusaddons-5.87.0.tar.xz";
-      sha256 = "14xmrvak95aqc98a6k6ldg1w4g7syx2xng3vgvwj9wzpzr3shp6p";
-      name = "kdbusaddons-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kdbusaddons-5.90.0.tar.xz";
+      sha256 = "0g609bymfixwaic30y7i0q96anf7pi3galipmjbbfg85ghj9rsa4";
+      name = "kdbusaddons-5.90.0.tar.xz";
     };
   };
   kdeclarative = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kdeclarative-5.87.0.tar.xz";
-      sha256 = "0zx4alsqk3vqfgyi6x7v2mcar92j3swmg0ms0b9mjl95bvpgi4k7";
-      name = "kdeclarative-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kdeclarative-5.90.0.tar.xz";
+      sha256 = "1z7zyj6pw2ym3izi19kpgy12mqpar6mbdbsn6jpxy36l6m3jld1y";
+      name = "kdeclarative-5.90.0.tar.xz";
     };
   };
   kded = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kded-5.87.0.tar.xz";
-      sha256 = "18dw1dd2lmwsh04yan1q72c5lzcgzm9kig1rqag3rg81h7pclsr5";
-      name = "kded-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kded-5.90.0.tar.xz";
+      sha256 = "094g6p87nd5cxcars71315w6zrxjgiw2080p6cf6g72ww54k7sps";
+      name = "kded-5.90.0.tar.xz";
     };
   };
   kdelibs4support = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/portingAids/kdelibs4support-5.87.0.tar.xz";
-      sha256 = "17kw76fd97rhdyna3dc7hsajvd8bv9l71qx0xaqn65pvzbndf2jf";
-      name = "kdelibs4support-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/portingAids/kdelibs4support-5.90.0.tar.xz";
+      sha256 = "0zxc11jbg06qz79ljrd6wl36jp73hafcmbk29d0hcvxnkscg3k29";
+      name = "kdelibs4support-5.90.0.tar.xz";
     };
   };
   kdesignerplugin = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/portingAids/kdesignerplugin-5.87.0.tar.xz";
-      sha256 = "12rckqvg6w5cycvmxbrkvxi7ysfk6bqk3yi1ik4ryqh4x5dz2am9";
-      name = "kdesignerplugin-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/portingAids/kdesignerplugin-5.90.0.tar.xz";
+      sha256 = "18gsy8f32hjadzjnavi3dsknc6hflcnfpr0107lwfc735fd2x2iq";
+      name = "kdesignerplugin-5.90.0.tar.xz";
     };
   };
   kdesu = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kdesu-5.87.0.tar.xz";
-      sha256 = "05bb3hcb00j1f047q6ngbb8arrp4s03da880sky0slvvicm4ynkr";
-      name = "kdesu-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kdesu-5.90.0.tar.xz";
+      sha256 = "1q8k2q7c41fzw9gwx9nq4zjpjdwvh29zyh3zd0w3r2kxf6vhf1wp";
+      name = "kdesu-5.90.0.tar.xz";
     };
   };
   kdewebkit = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/portingAids/kdewebkit-5.87.0.tar.xz";
-      sha256 = "1a578sa6nfp2vycrrhc37idwg47nrrfhv6dp8rfb2gj4vf67bzcv";
-      name = "kdewebkit-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/portingAids/kdewebkit-5.90.0.tar.xz";
+      sha256 = "19dqlxy2sl822aldqy1jj7fvxabmg97a0av7d5ayzhnbhhy5izx1";
+      name = "kdewebkit-5.90.0.tar.xz";
     };
   };
   kdnssd = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kdnssd-5.87.0.tar.xz";
-      sha256 = "1rs8i75qm1vazy8cnvcv3sha6faf27bav491z8brcs8fiab96dnw";
-      name = "kdnssd-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kdnssd-5.90.0.tar.xz";
+      sha256 = "17szlqsafz6p4h7s9wascaggn5909c1ig452wy6y4z4402s2lsrr";
+      name = "kdnssd-5.90.0.tar.xz";
     };
   };
   kdoctools = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kdoctools-5.87.0.tar.xz";
-      sha256 = "0md5wiv5mv4q63g9ads8d0xg8qxlh91dqgyg66n8abcg56qq83ps";
-      name = "kdoctools-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kdoctools-5.90.0.tar.xz";
+      sha256 = "1l2a9mlcm8np3s8myq0hj08l82284r90yhx3z2gn7h68b8fzyx0s";
+      name = "kdoctools-5.90.0.tar.xz";
     };
   };
   kemoticons = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kemoticons-5.87.0.tar.xz";
-      sha256 = "0iah6ws0x9xnm900rii2k82gf155cbwlnxbz2rxbybp1dmbjbz5y";
-      name = "kemoticons-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kemoticons-5.90.0.tar.xz";
+      sha256 = "08mgk56dafj3q9gs69qcx17qfc45s8ifkjrpzg44p8zs0q51q6cb";
+      name = "kemoticons-5.90.0.tar.xz";
     };
   };
   kfilemetadata = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kfilemetadata-5.87.0.tar.xz";
-      sha256 = "1nh4gzprc588q8zfz94j76x3vvf77cnsc30xrs07316726mksw2i";
-      name = "kfilemetadata-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kfilemetadata-5.90.0.tar.xz";
+      sha256 = "18y4bn6hz8xa68m0nxv88a1f3xkkks7c7pbiqb1vkrp9bbh52yax";
+      name = "kfilemetadata-5.90.0.tar.xz";
     };
   };
   kglobalaccel = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kglobalaccel-5.87.0.tar.xz";
-      sha256 = "1wk6mxq6ylkvalcwbrkmc0whvkbllkfwnsf4hxz86cnixqb7ybjh";
-      name = "kglobalaccel-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kglobalaccel-5.90.0.tar.xz";
+      sha256 = "04qd1fcc22x70jacqzrv44q1jg5ldzynlfpw5cg2679409r0wnxw";
+      name = "kglobalaccel-5.90.0.tar.xz";
     };
   };
   kguiaddons = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kguiaddons-5.87.0.tar.xz";
-      sha256 = "1k88x22f8db90x28fryg6cp239sfs0zrjk18l72v09bg3zc7y1lh";
-      name = "kguiaddons-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kguiaddons-5.90.0.tar.xz";
+      sha256 = "0m9l8xyc7xyj29fzxwp8ahr2l1rzs5rw1c26x446kb7smxvy8awx";
+      name = "kguiaddons-5.90.0.tar.xz";
     };
   };
   kholidays = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kholidays-5.87.0.tar.xz";
-      sha256 = "1ca51vkmwwrl1fvs2fw16nvpmag2licywwmwjiaapkk8hv6v1gzm";
-      name = "kholidays-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kholidays-5.90.0.tar.xz";
+      sha256 = "1p1kgy110ijk5a3ix4g9y1i7w0gsnzf82jdkwbdza95vibm82iz8";
+      name = "kholidays-5.90.0.tar.xz";
     };
   };
   khtml = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/portingAids/khtml-5.87.0.tar.xz";
-      sha256 = "1jxpznzw4r8ikx0g5n1fg0qrkllph5cwih4lcvwjn6cqx2ypgn6f";
-      name = "khtml-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/portingAids/khtml-5.90.0.tar.xz";
+      sha256 = "1bi839x4dhlkqxmv98pq01725b8i8szdxf9b1hf1jv37fk468mja";
+      name = "khtml-5.90.0.tar.xz";
     };
   };
   ki18n = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/ki18n-5.87.0.tar.xz";
-      sha256 = "0395khchbhp7x4fgb2fwxlpx0mhdvbkgd0v7kwgmm0n4bkn7jphi";
-      name = "ki18n-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/ki18n-5.90.0.tar.xz";
+      sha256 = "13k8kbkmgdywclcdbfj5ri3gmdblv8yzalmvqd0hn7sym6pkdqfw";
+      name = "ki18n-5.90.0.tar.xz";
     };
   };
   kiconthemes = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kiconthemes-5.87.0.tar.xz";
-      sha256 = "04chb3y3d6hxwy9f1xdifvl2mbcd8xbh7fv6x5m5vnb1cviwc6j7";
-      name = "kiconthemes-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kiconthemes-5.90.0.tar.xz";
+      sha256 = "0w3wi4xy1yy2s1a927cj4my63q0fqhw06ghy9zjw830m31xwpx1k";
+      name = "kiconthemes-5.90.0.tar.xz";
     };
   };
   kidletime = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kidletime-5.87.0.tar.xz";
-      sha256 = "1m0p602i9c4dmkll3g8flmzq23ywv20rxnvzc1c8bf5kqn6321qp";
-      name = "kidletime-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kidletime-5.90.0.tar.xz";
+      sha256 = "1xzwmk0aqv1lcdi51nl1k0lyiinnqxwla6w0xxmsh6193qa3fpvq";
+      name = "kidletime-5.90.0.tar.xz";
     };
   };
   kimageformats = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kimageformats-5.87.0.tar.xz";
-      sha256 = "0c4qq5j6hzz90kh7mmirafglr9l5wck3r67ij436gpmq69ignvmg";
-      name = "kimageformats-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kimageformats-5.90.0.tar.xz";
+      sha256 = "0r3ihkly0hf20aqbn7b9171mzqjna078rksdp96z6f7f1qy99v1v";
+      name = "kimageformats-5.90.0.tar.xz";
     };
   };
   kinit = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kinit-5.87.0.tar.xz";
-      sha256 = "0435syvhisagbq82qcbims5adq88ivv793gvb3kx03hxhyyx81xs";
-      name = "kinit-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kinit-5.90.0.tar.xz";
+      sha256 = "0z65hfhj68ahjm558p2pj7dlrczcww8f2xyw9f44w10bp3p5hf1a";
+      name = "kinit-5.90.0.tar.xz";
     };
   };
   kio = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kio-5.87.0.tar.xz";
-      sha256 = "0sxwrqvfkqm679v99lx50vd2p4bx10pdzrjhxg0njfwww2fxa7mr";
-      name = "kio-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kio-5.90.0.tar.xz";
+      sha256 = "0ds6465fyzjj2azwdghrkxr9wvih0m96lv4kp6syqwii8nv2w7rs";
+      name = "kio-5.90.0.tar.xz";
     };
   };
   kirigami2 = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kirigami2-5.87.0.tar.xz";
-      sha256 = "1wvj0nnb1dd1k12arlmlx99gjhk7v2jpw5sgyjka6kkps31nr1zi";
-      name = "kirigami2-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kirigami2-5.90.0.tar.xz";
+      sha256 = "0r48n11pv3yqsf11phl19cs52ph5ldabrfmq3xmsvxsknm6c4f9b";
+      name = "kirigami2-5.90.0.tar.xz";
     };
   };
   kitemmodels = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kitemmodels-5.87.0.tar.xz";
-      sha256 = "1qx78pfbnwsq8nn6fa8qjjc0zn4nwh4dqs0ifb9iaam33cl3kw92";
-      name = "kitemmodels-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kitemmodels-5.90.0.tar.xz";
+      sha256 = "0f7zlif7kskbwpw8yrzlfyl954b623icdd9qn0algjcc2i9gqbzi";
+      name = "kitemmodels-5.90.0.tar.xz";
     };
   };
   kitemviews = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kitemviews-5.87.0.tar.xz";
-      sha256 = "1nrg92nyc39fl1n7k38pa4k8dahwl76wadv0v0ixyh1zx0x4clbg";
-      name = "kitemviews-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kitemviews-5.90.0.tar.xz";
+      sha256 = "10s285vxaaxjcy3am4bvch5wd7wv64wwcjvj7lqk2866aql9hmzp";
+      name = "kitemviews-5.90.0.tar.xz";
     };
   };
   kjobwidgets = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kjobwidgets-5.87.0.tar.xz";
-      sha256 = "0s0g4dygc6c9p5w7vdk7bninizsdhj5xan351x15b4k0ddgq8sz5";
-      name = "kjobwidgets-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kjobwidgets-5.90.0.tar.xz";
+      sha256 = "1jv3c68mlsxhnd6jgqw5d4qqd66jf8bh6zbcs6bq0bad52ad2r8d";
+      name = "kjobwidgets-5.90.0.tar.xz";
     };
   };
   kjs = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/portingAids/kjs-5.87.0.tar.xz";
-      sha256 = "1ihwhjgk3k2nmyfg2brdjriymm2qi5dgmh47phmb9b2gvzqx6yg8";
-      name = "kjs-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/portingAids/kjs-5.90.0.tar.xz";
+      sha256 = "1z5d1ixzvaq6x9x0jhmh5bdrdqpsl1x7mh3s8wnycfxwmln6bawv";
+      name = "kjs-5.90.0.tar.xz";
     };
   };
   kjsembed = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/portingAids/kjsembed-5.87.0.tar.xz";
-      sha256 = "0j8b637k8vx2qhl3zf6744ywykv6hnfcs2xgsq0i8w5ji0a2jigv";
-      name = "kjsembed-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/portingAids/kjsembed-5.90.0.tar.xz";
+      sha256 = "0ydrsg7z1b5hkskjvkb0b9lhx60aqcby2alhfbmkac197sf2frn4";
+      name = "kjsembed-5.90.0.tar.xz";
     };
   };
   kmediaplayer = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/portingAids/kmediaplayer-5.87.0.tar.xz";
-      sha256 = "0mrmb7q4wmj8v9ipb9vh4c8scl1mr0frz3yvpc96dyimvb87pp08";
-      name = "kmediaplayer-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/portingAids/kmediaplayer-5.90.0.tar.xz";
+      sha256 = "010m5qrn41hcxsmxsq72m83qxikfvn3mgibkgy4bn2x8kxibzmlq";
+      name = "kmediaplayer-5.90.0.tar.xz";
     };
   };
   knewstuff = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/knewstuff-5.87.0.tar.xz";
-      sha256 = "0xnilr3r3l36g3j7a2nf2kqmill22ibrr6qfniqcywmcqpnq7x4q";
-      name = "knewstuff-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/knewstuff-5.90.0.tar.xz";
+      sha256 = "0q30p7z5zg3p24gp8q83i7my5bg4yfcdwsblmhl230kih8aap2cg";
+      name = "knewstuff-5.90.0.tar.xz";
     };
   };
   knotifications = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/knotifications-5.87.0.tar.xz";
-      sha256 = "03zraci1lnzz3d5i97i2m2h4z8xp4fmm28aizk3xipqkgy3q61c3";
-      name = "knotifications-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/knotifications-5.90.0.tar.xz";
+      sha256 = "15qb3jh5y1z84dp6wddwid4bk3ks05knkxlwv79hb9cdj8m4m7gi";
+      name = "knotifications-5.90.0.tar.xz";
     };
   };
   knotifyconfig = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/knotifyconfig-5.87.0.tar.xz";
-      sha256 = "0jd5yzjg625ixm3fbmpafvg6wc69cvppqr0z0y0wzkbzbd930ggh";
-      name = "knotifyconfig-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/knotifyconfig-5.90.0.tar.xz";
+      sha256 = "1qss40sr7az9x4yvl59mblzzgjm3hd8nvxgqmqlylargvggw496c";
+      name = "knotifyconfig-5.90.0.tar.xz";
     };
   };
   kpackage = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kpackage-5.87.0.tar.xz";
-      sha256 = "1dmhj1byxmk407mcz62ydrzzjab6c4da22blkm4f5das79blkdsy";
-      name = "kpackage-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kpackage-5.90.0.tar.xz";
+      sha256 = "1rig9aws8530sav0pmginqmdcrnz10qjbxfc5lw6mmb3sfig53z0";
+      name = "kpackage-5.90.0.tar.xz";
     };
   };
   kparts = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kparts-5.87.0.tar.xz";
-      sha256 = "0jmjyvrskhvnp0w1d9l9k5azwf1ppda97qp2801179x77bgdfbgi";
-      name = "kparts-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kparts-5.90.0.tar.xz";
+      sha256 = "1x8kxd8kgzabd9dyqx2yx1qrrzl1mms4hm3lyg3f1nxki7xl6ra2";
+      name = "kparts-5.90.0.tar.xz";
     };
   };
   kpeople = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kpeople-5.87.0.tar.xz";
-      sha256 = "002qnfxyrzv9jr1z86ih7v7bprbpfx311s646rbmjc6c9wqa5a1a";
-      name = "kpeople-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kpeople-5.90.0.tar.xz";
+      sha256 = "1632k365bn9n3n8babq620v0px2hmapk8fprx28xpfp27zakhfgw";
+      name = "kpeople-5.90.0.tar.xz";
     };
   };
   kplotting = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kplotting-5.87.0.tar.xz";
-      sha256 = "1np6rqrxldnhz82ak291kr87zqccmp9a3v4gvxl0xsm2qnpzxlxz";
-      name = "kplotting-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kplotting-5.90.0.tar.xz";
+      sha256 = "0i5ganvpzkpkd2p1avw0fpbp3mgbbifg8mmpvdf28ayh75dvrh9y";
+      name = "kplotting-5.90.0.tar.xz";
     };
   };
   kpty = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kpty-5.87.0.tar.xz";
-      sha256 = "1qd2lj53m0gbpmfilwrcz5v2m735daqlxj2qv1j5m28b3bjwz2li";
-      name = "kpty-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kpty-5.90.0.tar.xz";
+      sha256 = "1p5ny9ry0wwwprhpj9s9xg96h9476rldly7mawvfp5q3ihys8c4a";
+      name = "kpty-5.90.0.tar.xz";
     };
   };
   kquickcharts = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kquickcharts-5.87.0.tar.xz";
-      sha256 = "1dx4ilwih9pfimfn5l3fgjf0z1k75p6sb7y03akgnl4i9w2aycv8";
-      name = "kquickcharts-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kquickcharts-5.90.0.tar.xz";
+      sha256 = "1vf9vwrb03z6f19xyc1dc50s3kz21s4mkrv85mmyia0by4qvq5fi";
+      name = "kquickcharts-5.90.0.tar.xz";
     };
   };
   kross = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/portingAids/kross-5.87.0.tar.xz";
-      sha256 = "1nnyl67b43064y5gvj7ccvzz5481vbaycjhxxzgf4iaj0qm2vpfh";
-      name = "kross-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/portingAids/kross-5.90.0.tar.xz";
+      sha256 = "1gs7h03j753pq78q0fmajgd5pw8j3mc105rsph1c22l23vccya3z";
+      name = "kross-5.90.0.tar.xz";
     };
   };
   krunner = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/krunner-5.87.0.tar.xz";
-      sha256 = "0ygqfaif9xp30ahrld85xzsgmfmy51560hl8ym8shggwar20kb1s";
-      name = "krunner-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/krunner-5.90.0.tar.xz";
+      sha256 = "1q3hsml5274v8dy8rnqpnwxliad2q7a8mbs8k6kpqzih9z94crgi";
+      name = "krunner-5.90.0.tar.xz";
     };
   };
   kservice = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kservice-5.87.0.tar.xz";
-      sha256 = "0a3fcqhwbzqwy9wy1787p8hr1s1jfmz3y1dk2spiifwk9l668mxn";
-      name = "kservice-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kservice-5.90.0.tar.xz";
+      sha256 = "121y8bbq3m4pv5m9pj753v2nk914216a86ksmdqbgffw217qckdd";
+      name = "kservice-5.90.0.tar.xz";
     };
   };
   ktexteditor = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/ktexteditor-5.87.0.tar.xz";
-      sha256 = "13dnwf2zvp3k6xb0ry5a11gaf2j7x2swhq8d689w4gf3awpma7rg";
-      name = "ktexteditor-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/ktexteditor-5.90.0.tar.xz";
+      sha256 = "1g1dky9bgr2zjr0rw9c730shz588ykyw7qw3sgf0dr3sh8aq222n";
+      name = "ktexteditor-5.90.0.tar.xz";
     };
   };
   ktextwidgets = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/ktextwidgets-5.87.0.tar.xz";
-      sha256 = "04gmqw8wjf6r8lpsjcsg0925a6b6hnckzy5i9ykvian1kq2d79fr";
-      name = "ktextwidgets-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/ktextwidgets-5.90.0.tar.xz";
+      sha256 = "02g85zahh6hfsw3fcac7hp8kv4d1ha2asmmhnknqd054yl0adxjg";
+      name = "ktextwidgets-5.90.0.tar.xz";
     };
   };
   kunitconversion = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kunitconversion-5.87.0.tar.xz";
-      sha256 = "1b5yvs0inr0kj7i4j5yavlxz6n8h3d2wbgw39r2harzxd4xjzz4h";
-      name = "kunitconversion-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kunitconversion-5.90.0.tar.xz";
+      sha256 = "1vrvbsd8limfsmgjcv5kvzyf7g62rv1a0rvbdyq15z23zf4rsmf3";
+      name = "kunitconversion-5.90.0.tar.xz";
     };
   };
   kwallet = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kwallet-5.87.0.tar.xz";
-      sha256 = "1a2qiwhf6hwh6qs9x84hz1ryaaqqm8bpg9v29kjy6cq9krn3mwar";
-      name = "kwallet-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kwallet-5.90.0.tar.xz";
+      sha256 = "06ffg84jvrc8xhymg1g5j311vq3ajfqg3arx2cxa98aqld213akl";
+      name = "kwallet-5.90.0.tar.xz";
     };
   };
   kwayland = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kwayland-5.87.0.tar.xz";
-      sha256 = "03lrlprvc3bj43f0l0dirg93l7amzlcx4ajaqh9h54g030qanfmc";
-      name = "kwayland-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kwayland-5.90.0.tar.xz";
+      sha256 = "0n7f4rx695q889j8g4sdpdi3jhk29z8zc4wrk5srs2diqi4y0qqi";
+      name = "kwayland-5.90.0.tar.xz";
     };
   };
   kwidgetsaddons = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kwidgetsaddons-5.87.0.tar.xz";
-      sha256 = "00gv9lxiah6yg8lxjd0md0zyvhi7zc9s6fg14jfh0cb1i0zrn49b";
-      name = "kwidgetsaddons-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kwidgetsaddons-5.90.0.tar.xz";
+      sha256 = "1c17iq0q2w80p7v7k32db0pc5sbzqhvh0w5d145a1nkgr3nbnk6a";
+      name = "kwidgetsaddons-5.90.0.tar.xz";
     };
   };
   kwindowsystem = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kwindowsystem-5.87.0.tar.xz";
-      sha256 = "0rxmpawp5g46xp5irk1gcdq6n2y9r9vlx1dm5gpqhcfh7gr64ja2";
-      name = "kwindowsystem-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kwindowsystem-5.90.0.tar.xz";
+      sha256 = "0fj7a86dk833ld76c3b1s4ri47bhpvjsi6ryfgdv5q7h2fwh6ia5";
+      name = "kwindowsystem-5.90.0.tar.xz";
     };
   };
   kxmlgui = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kxmlgui-5.87.0.tar.xz";
-      sha256 = "1wnss0rjspgih3m2a3faflamf7n681k8sf8pzrcsrvvrzq95n65i";
-      name = "kxmlgui-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kxmlgui-5.90.0.tar.xz";
+      sha256 = "1q8v1wrx67c37jnd874ilkk8kfk3zvf3f86qg51k16ml0nrwjysg";
+      name = "kxmlgui-5.90.0.tar.xz";
     };
   };
   kxmlrpcclient = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/portingAids/kxmlrpcclient-5.87.0.tar.xz";
-      sha256 = "03l5zs4l52f3w01hsk00r8hmnccyy3iw2vhiclvpp6dksmb8yad7";
-      name = "kxmlrpcclient-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/portingAids/kxmlrpcclient-5.90.0.tar.xz";
+      sha256 = "0mq2wgi4qnvscjdkis7jhs004k3s1b3wg0vijjai7xzy772kvclc";
+      name = "kxmlrpcclient-5.90.0.tar.xz";
     };
   };
   modemmanager-qt = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/modemmanager-qt-5.87.0.tar.xz";
-      sha256 = "1ag98r2hhd93gki3dvlz48sgqc2805b0p0w4m0az0czvxnclg0rk";
-      name = "modemmanager-qt-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/modemmanager-qt-5.90.0.tar.xz";
+      sha256 = "08nlvg5lwvl3rspi848gp2b2b5pki6sy8c3ww9nn4afy4lk7p609";
+      name = "modemmanager-qt-5.90.0.tar.xz";
     };
   };
   networkmanager-qt = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/networkmanager-qt-5.87.0.tar.xz";
-      sha256 = "0a4sxcm88mfry1sjc4r0qx5aqmbb61ghmd912wqk19nx18qgkm5y";
-      name = "networkmanager-qt-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/networkmanager-qt-5.90.0.tar.xz";
+      sha256 = "0i9wvrxbkbil21zndiq4cmnldbqsrdp9gnhmp2ns78xdih8wysa7";
+      name = "networkmanager-qt-5.90.0.tar.xz";
     };
   };
   oxygen-icons5 = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/oxygen-icons5-5.87.0.tar.xz";
-      sha256 = "0mpxv2m6nkl1cp3p0xgpm916k2ykvkyk0x0ka4azs8iyy0anc36m";
-      name = "oxygen-icons5-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/oxygen-icons5-5.90.0.tar.xz";
+      sha256 = "1izfh6cxivmwiymy7lwbmf9j1hxy2skv6z1lbjr0c4snmx6pqx1g";
+      name = "oxygen-icons5-5.90.0.tar.xz";
     };
   };
   plasma-framework = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/plasma-framework-5.87.0.tar.xz";
-      sha256 = "1y7w4b7jb8rnkfan97yln5w9w68skrmif4wqqba4f9mj6y2dcajb";
-      name = "plasma-framework-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/plasma-framework-5.90.0.tar.xz";
+      sha256 = "1msqjnwvb815kii0rjhn1lvsnvq5wr8iprdjzsviw67va6gaz4p1";
+      name = "plasma-framework-5.90.0.tar.xz";
     };
   };
   prison = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/prison-5.87.0.tar.xz";
-      sha256 = "0vb8ny4za37v4nmcy9qw8zz5zcr46clci9lg22s84f26l4vlcs87";
-      name = "prison-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/prison-5.90.0.tar.xz";
+      sha256 = "0z2k2hyjj86va5rqgd8qrvhflfppcl2d3f9smxb5w9pp19ashvyk";
+      name = "prison-5.90.0.tar.xz";
     };
   };
   purpose = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/purpose-5.87.0.tar.xz";
-      sha256 = "0ddpm2hm3x1p25hkjzff4vs906n5bkkk4j3myh0gvyqn8accdhsd";
-      name = "purpose-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/purpose-5.90.0.tar.xz";
+      sha256 = "182196hj3mdy1k7wfgadfxy7m1kbqzk6kksn7yd681h2gpky82l1";
+      name = "purpose-5.90.0.tar.xz";
     };
   };
   qqc2-desktop-style = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/qqc2-desktop-style-5.87.0.tar.xz";
-      sha256 = "02i4rg5gf7i63lm4f0afm9n3lgzvklpbg43d0zcsdwzph386baq7";
-      name = "qqc2-desktop-style-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/qqc2-desktop-style-5.90.0.tar.xz";
+      sha256 = "05g1rydx0innmiz28mslix4bjsrhsnci227gadngzijncp2v288r";
+      name = "qqc2-desktop-style-5.90.0.tar.xz";
     };
   };
   solid = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/solid-5.87.0.tar.xz";
-      sha256 = "0zmcc4ryp4j93999f0fgwvchs4gycbynsz0wghrhdqkfhsjvhqra";
-      name = "solid-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/solid-5.90.0.tar.xz";
+      sha256 = "10hk4mh426dhi7is5hxa1varn15ijzra5a420zk297pzkphvx0ip";
+      name = "solid-5.90.0.tar.xz";
     };
   };
   sonnet = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/sonnet-5.87.0.tar.xz";
-      sha256 = "1cc9j9ks33s6amr01a7ywnqiqvm498vlmqqva40ddvkfq1azxmhs";
-      name = "sonnet-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/sonnet-5.90.0.tar.xz";
+      sha256 = "0d4xxm9vw1rc2mypv4z0yihcn679sab0afxr2kbzq01wr6p759y7";
+      name = "sonnet-5.90.0.tar.xz";
     };
   };
   syndication = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/syndication-5.87.0.tar.xz";
-      sha256 = "1xbs83smgqzk01r7nds6p74v9n1pa0zhlafbbxlj2m226p1zf8bs";
-      name = "syndication-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/syndication-5.90.0.tar.xz";
+      sha256 = "0a9j443w42jwvlzjh5mfxn25kwjrz1ya6sgy0c4y3n5xbg031zmx";
+      name = "syndication-5.90.0.tar.xz";
     };
   };
   syntax-highlighting = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/syntax-highlighting-5.87.0.tar.xz";
-      sha256 = "148wm3qdjkwzvcm51x3cppsxl4rylbjyjp1pfh6545fhikm5nqi6";
-      name = "syntax-highlighting-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/syntax-highlighting-5.90.0.tar.xz";
+      sha256 = "19mckdfdxb5i26y75cgmda91s864jbh1wmf98bv8xa1iqxwkwj5z";
+      name = "syntax-highlighting-5.90.0.tar.xz";
     };
   };
   threadweaver = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/threadweaver-5.87.0.tar.xz";
-      sha256 = "1gqpzv2ijw66fpvaqv66xsglh19lv0k4j9i505xmmkzlyddbhkch";
-      name = "threadweaver-5.87.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/threadweaver-5.90.0.tar.xz";
+      sha256 = "1frhzlzmnrp5y3lrl0ahzxh8syj4vlkjvaypsmbm2bkkn4akizg3";
+      name = "threadweaver-5.90.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/kerberos/krb5-Fix-Linux-build-error-with-musl-libc.patch b/pkgs/development/libraries/kerberos/krb5-Fix-Linux-build-error-with-musl-libc.patch
deleted file mode 100644
index 0f33815b6e91d..0000000000000
--- a/pkgs/development/libraries/kerberos/krb5-Fix-Linux-build-error-with-musl-libc.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From cbdbc8d00d31344fafe00e0fdf984e04e631f7c4 Mon Sep 17 00:00:00 2001
-From: TBK <tbk@jjtc.eu>
-Date: Wed, 26 Feb 2020 21:12:45 +0100
-Subject: [PATCH] Fix Linux build error with musl libc
-
-Commit bf5953c549a6d279977df69ffe89b2ba51460eaf caused a build failure
-on non-glibc Linux build environments.  Change the conditionalization
-so that __GLIBC_PREREQ will only be used if it is defined.
-
-[ghudson@mit.edu: simplified conditionals; rewrote commit message]
-
-ticket: 8880 (new)
-tags: pullup
-target_version: 1.18-next
----
- src/util/support/plugins.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/src/util/support/plugins.c b/src/util/support/plugins.c
-index 3329db7dc3..1644d16fd0 100644
---- a/src/util/support/plugins.c
-+++ b/src/util/support/plugins.c
-@@ -62,8 +62,7 @@
-  * dlopen() with RTLD_NODELETE, we weren't going to unload the plugin objects
-  * anyway.
-  */
--#ifdef __linux__
--#include <features.h>
-+#ifdef __GLIBC__PREREQ
- #if ! __GLIBC_PREREQ(2, 25)
- #define dlclose(x)
- #endif
diff --git a/pkgs/development/libraries/kerberos/krb5-Fix-typo-in-musl-build-fix.patch b/pkgs/development/libraries/kerberos/krb5-Fix-typo-in-musl-build-fix.patch
deleted file mode 100644
index f8718606a7f8f..0000000000000
--- a/pkgs/development/libraries/kerberos/krb5-Fix-typo-in-musl-build-fix.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From b009cca2026b615ef5386faa4c0230bc27c4161d Mon Sep 17 00:00:00 2001
-From: Greg Hudson <ghudson@mit.edu>
-Date: Thu, 12 Mar 2020 00:44:10 -0400
-Subject: [PATCH] Fix typo in musl build fix
-
-Commit cbdbc8d00d31344fafe00e0fdf984e04e631f7c4 checked for
-__GLIBC__PREREQ instead of __GLIBC_PREREQ, thus accidentally reverting
-the workaround introduced in commit
-bf5953c549a6d279977df69ffe89b2ba51460eaf.  Fix the typo.
-
-ticket: 8880
----
- src/util/support/plugins.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/util/support/plugins.c b/src/util/support/plugins.c
-index 1644d16fd0..1ff10c354d 100644
---- a/src/util/support/plugins.c
-+++ b/src/util/support/plugins.c
-@@ -62,7 +62,7 @@
-  * dlopen() with RTLD_NODELETE, we weren't going to unload the plugin objects
-  * anyway.
-  */
--#ifdef __GLIBC__PREREQ
-+#ifdef __GLIBC_PREREQ
- #if ! __GLIBC_PREREQ(2, 25)
- #define dlclose(x)
- #endif
diff --git a/pkgs/development/libraries/kerberos/krb5.nix b/pkgs/development/libraries/kerberos/krb5.nix
index ebec5936b5412..c632c2fdac9e2 100644
--- a/pkgs/development/libraries/kerberos/krb5.nix
+++ b/pkgs/development/libraries/kerberos/krb5.nix
@@ -19,23 +19,13 @@ in
 with lib;
 stdenv.mkDerivation rec {
   name = "${type}krb5-${version}";
-  majorVersion = "1.18"; # remove patches below with next upgrade
-  version = majorVersion;
+  version = "1.19.2";
 
   src = fetchurl {
-    url = "https://kerberos.org/dist/krb5/${majorVersion}/krb5-${version}.tar.gz";
-    sha256 = "121c5xsy3x0i4wdkrpw62yhvji6virbh6n30ypazkp0isws3k4bk";
+    url = "https://kerberos.org/dist/krb5/${versions.majorMinor version}/krb5-${version}.tar.gz";
+    sha256 = "0snz1jm2w4dkk65zcz953jmmv9mqa30fanch2bk8r3rs9vp3yi8h";
   };
 
-  patches = optionals stdenv.hostPlatform.isMusl [
-    # TODO: Remove with next release > 1.18
-    # Patches to fix musl build with 1.18.
-    # Not using `fetchpatch` for these for now to avoid infinite recursion
-    # errors in downstream projects (unclear if it's a nixpkgs issue so far).
-    ./krb5-Fix-Linux-build-error-with-musl-libc.patch
-    ./krb5-Fix-typo-in-musl-build-fix.patch
-  ];
-
   outputs = [ "out" "dev" ];
 
   configureFlags = [ "--with-tcl=no" "--localstatedir=/var/lib"]
diff --git a/pkgs/development/libraries/keybinder/default.nix b/pkgs/development/libraries/keybinder/default.nix
index fb481c19d05f7..95eb0ce4de0a1 100644
--- a/pkgs/development/libraries/keybinder/default.nix
+++ b/pkgs/development/libraries/keybinder/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, autoconf, automake, libtool, pkg-config, gnome
+{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, pkg-config, gnome
 , gtk-doc, gtk2, python2Packages, lua, gobject-introspection
 }:
 
@@ -8,10 +8,11 @@ in stdenv.mkDerivation rec {
   pname = "keybinder";
   version = "0.3.0";
 
-  src = fetchurl {
-    name = "${pname}-${version}.tar.gz";
-    url = "https://github.com/engla/keybinder/archive/v${version}.tar.gz";
-    sha256 = "0kkplz5snycik5xknwq1s8rnmls3qsp32z09mdpmaacydcw7g3cf";
+  src = fetchFromGitHub {
+    owner = "engla";
+    repo = "keybinder";
+    rev = "v${version}";
+    sha256 = "sha256-q/+hqhvXIknT+/5oENcWSr1OuF00kaZlXFUP1fdCMlk=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix b/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix
index 1d4afb973fbb8..732efda1df466 100644
--- a/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix
+++ b/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "khronos-ocl-icd-loader-${version}";
-  version = "2021.06.30";
+  version = "2022.01.04";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "OpenCL-ICD-Loader";
     rev = "v${version}";
-    sha256 = "sha256-1bSeGI8IufKtdcyxVHX4DVxkPKfJrUBVzzIGe8rQ/AA=";
+    sha256 = "sha256-T2tBoN0yv41W+UksFABVjsetdkXlnEFUINfxumGgC04=";
   };
 
   patches = lib.optional withTracing ./tracing.patch;
diff --git a/pkgs/development/libraries/ldutils/default.nix b/pkgs/development/libraries/ldutils/default.nix
index 5f09c08d4d1ee..0268aa8ce62db 100644
--- a/pkgs/development/libraries/ldutils/default.nix
+++ b/pkgs/development/libraries/ldutils/default.nix
@@ -8,13 +8,13 @@
 
 mkDerivation rec {
   pname = "ldutils";
-  version = "1.03";
+  version = "1.10";
 
   src = fetchFromGitLab {
     owner = "ldutils-projects";
     repo = pname;
     rev = "v_${version}";
-    sha256 = "0pi05py71hh5vlhl0kjh9wxmd7yixw10s0kr2wb4l4c0abqxr82j";
+    sha256 = "sha256-fP+tZY+ayaeuxPvywO/639sNE+IwrxaEJ245q9HTOCU=";
   };
 
   buildInputs = [
@@ -26,6 +26,8 @@ mkDerivation rec {
     qmake
   ];
 
+  qmakeFlags = [ "ldutils.pro" ];
+
   LDUTILS_LIB=placeholder "out";
   LDUTILS_INCLUDE=placeholder "out";
 
diff --git a/pkgs/development/libraries/leatherman/default.nix b/pkgs/development/libraries/leatherman/default.nix
index 24bec8ec350fb..874c567ed42e8 100644
--- a/pkgs/development/libraries/leatherman/default.nix
+++ b/pkgs/development/libraries/leatherman/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "leatherman";
-  version = "1.12.6";
+  version = "1.12.7";
 
   src = fetchFromGitHub {
-    sha256 = "sha256-k5Lt/NCSlBaTGhpR4T3Q4Ih+RR1xKROxz+RNYor7zaQ=";
+    sha256 = "sha256-a79/seKO6Efn6g4RWdqsP83pL5AIBAp1InjnMdOs3Qk=";
     rev = version;
     repo = "leatherman";
     owner = "puppetlabs";
diff --git a/pkgs/development/libraries/lensfun/default.nix b/pkgs/development/libraries/lensfun/default.nix
index 23675c9f9f895..a889e5358a50b 100644
--- a/pkgs/development/libraries/lensfun/default.nix
+++ b/pkgs/development/libraries/lensfun/default.nix
@@ -25,9 +25,9 @@ stdenv.mkDerivation {
   };
 
   # replace database with a more recent snapshot
-  postUnpack = ''
-    rm -R source/data/db
-    cp -R ${lensfunDatabase}/data/db source/data
+  prePatch = ''
+    rm -R ./data/db
+    cp -R ${lensfunDatabase}/data/db ./data
   '';
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/lib3ds/default.nix b/pkgs/development/libraries/lib3ds/default.nix
index 6e926dfb421c6..78ee4172b57a5 100644
--- a/pkgs/development/libraries/lib3ds/default.nix
+++ b/pkgs/development/libraries/lib3ds/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
-  name = "lib3ds-1.3.0";
+  pname = "lib3ds";
+  version = "1.3.0";
 
   src = fetchurl {
-    url = "http://lib3ds.googlecode.com/files/${name}.zip";
+    url = "http://lib3ds.googlecode.com/files/lib3ds-${version}.zip";
     sha256 = "1qr9arfdkjf7q11xhvxwzmhxqz3nhcjkyb8zzfjpz9jm54q0rc7m";
   };
 
diff --git a/pkgs/development/libraries/libLAS/default.nix b/pkgs/development/libraries/libLAS/default.nix
index 7d762fc80775a..5d0f2ff568464 100644
--- a/pkgs/development/libraries/libLAS/default.nix
+++ b/pkgs/development/libraries/libLAS/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, boost, cmake, gdal, libgeotiff, libtiff, LASzip2, fixDarwinDylibNames }:
 
 stdenv.mkDerivation rec {
-  name = "libLAS-1.8.1";
+  pname = "libLAS";
+  version = "1.8.1";
 
   src = fetchurl {
-    url = "https://download.osgeo.org/liblas/${name}.tar.bz2";
+    url = "https://download.osgeo.org/liblas/libLAS-${version}.tar.bz2";
     sha256 = "0xjfxb3ydvr2258ji3spzyf81g9caap19ql2pk91wiivqsc4mnws";
   };
 
diff --git a/pkgs/development/libraries/libadwaita/default.nix b/pkgs/development/libraries/libadwaita/default.nix
index 6324a134ed88b..856ec30bccb29 100644
--- a/pkgs/development/libraries/libadwaita/default.nix
+++ b/pkgs/development/libraries/libadwaita/default.nix
@@ -5,7 +5,7 @@
 , gi-docgen
 , gtk-doc
 , libxml2
-, meson_0_60
+, meson
 , ninja
 , pkg-config
 , sassc
@@ -21,7 +21,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libadwaita";
-  version = "1.0.0.alpha.4";
+  version = "1.0.2";
 
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "devdoc"; # demo app
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     owner = "GNOME";
     repo = "libadwaita";
     rev = version;
-    sha256 = "sha256-3aVeBaKSl6SaPQLodsyJHwnNOlXlWfIaLnbbl3+mlDA=";
+    hash = "sha256-D7Qq8yAWkr/G5I4k8G1+viJkEJSrCBAg31Q+g3U9FcQ=";
   };
 
   nativeBuildInputs = [
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     gi-docgen
     gtk-doc
     libxml2 # for xmllint
-    meson_0_60
+    meson
     ninja
     pkg-config
     sassc
@@ -53,6 +53,9 @@ stdenv.mkDerivation rec {
   buildInputs = [
     fribidi
     gobject-introspection
+  ];
+
+  propagatedBuildInputs = [
     gtk4
   ];
 
@@ -73,7 +76,7 @@ stdenv.mkDerivation rec {
       # AdwSettings needs to be initialized from “org.gnome.desktop.interface” GSettings schema when portal is not used for color scheme.
       # It will not actually be used since the “color-scheme” key will only have been introduced in GNOME 42, falling back to detecting theme name.
       # See adw_settings_constructed function in https://gitlab.gnome.org/GNOME/libadwaita/commit/60ec69f0a5d49cad8a6d79e4ecefd06dc6e3db12
-      "XDG_DATA_DIRS=${glib.getSchemaPath gsettings-desktop-schemas}/../.."
+      "XDG_DATA_DIRS=${glib.getSchemaDataDirPath gsettings-desktop-schemas}"
 
       # Tests need a cache directory
       "HOME=$TMPDIR"
@@ -92,7 +95,7 @@ stdenv.mkDerivation rec {
     description = "Library to help with developing UI for mobile devices using GTK/GNOME";
     homepage = "https://gitlab.gnome.org/GNOME/libadwaita";
     license = licenses.lgpl21Plus;
-    maintainers = with maintainers; [ dotlambda ];
+    maintainers = teams.gnome.members ++ (with maintainers; [ dotlambda ]);
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libamqpcpp/default.nix b/pkgs/development/libraries/libamqpcpp/default.nix
index ee34afad4f74f..2a1ea4f606d75 100644
--- a/pkgs/development/libraries/libamqpcpp/default.nix
+++ b/pkgs/development/libraries/libamqpcpp/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libamqpcpp";
-  version = "4.3.12";
+  version = "4.3.16";
 
   src = fetchFromGitHub {
     owner = "CopernicaMarketingSoftware";
     repo = "AMQP-CPP";
     rev = "v${version}";
-    sha256 = "sha256-veiD2RrJ08HYZ1Jy8EUe6ct2qh7a2xZCn3TTM+Hvu+0=";
+    sha256 = "sha256-aBLNdw9LhHFwnIt70vIYlX1/j2IUTmpm5Ub+ZImF8FI=";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/development/libraries/libbaseencode/default.nix b/pkgs/development/libraries/libbaseencode/default.nix
index c40f9bafb4769..b72f5ca1dbfbd 100644
--- a/pkgs/development/libraries/libbaseencode/default.nix
+++ b/pkgs/development/libraries/libbaseencode/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libbaseencode";
-  version = "1.0.11";
+  version = "1.0.12";
 
   src = fetchFromGitHub {
     owner = "paolostivanin";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1f52yh052z8k90d1ag6nk01p1gf4i1zxp1daw8mashs8avqr2m7g";
+    sha256 = "sha256-TKmM2BPzas9qbWI8n63lfR8OvsSj+BKC12NXpfe9aow=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/libcaca/default.nix b/pkgs/development/libraries/libcaca/default.nix
index f12409f271f92..b0d09a5f74912 100644
--- a/pkgs/development/libraries/libcaca/default.nix
+++ b/pkgs/development/libraries/libcaca/default.nix
@@ -1,40 +1,32 @@
 { lib
 , stdenv
-, fetchurl
+, fetchFromGitHub
+, autoreconfHook
 , imlib2
 , libX11
 , libXext
 , ncurses
 , pkg-config
-, x11Support ? !stdenv.isDarwin
 , zlib
+, x11Support ? !stdenv.isDarwin
 }:
 
 stdenv.mkDerivation rec {
   pname = "libcaca";
-  version = "0.99.beta19";
+  version = "0.99.beta20";
 
-  src = fetchurl {
-    urls = [
-      "http://fossies.org/linux/privat/${pname}-${version}.tar.gz"
-      "http://caca.zoy.org/files/libcaca/${pname}-${version}.tar.gz"
-    ];
-    hash = "sha256-EotGfE7QMmTBh0BRcqToMEk0LMjML2VfU6LQ7p03cvQ=";
+  src = fetchFromGitHub {
+    owner = "cacalabs";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-N0Lfi0d4kjxirEbIjdeearYWvStkKMyV6lgeyNKXcVw=";
   };
 
-  outputs = [ "bin" "dev" "out" "man" ];
-
-  configureFlags = [
-    (if x11Support then "--enable-x11" else "--disable-x11")
-  ];
-
-  NIX_CFLAGS_COMPILE = lib.optionalString (!x11Support) "-DX_DISPLAY_MISSING";
-
-  enableParallelBuilding = true;
-
   nativeBuildInputs = [
+    autoreconfHook
     pkg-config
   ];
+
   buildInputs = [
     ncurses
     zlib
@@ -44,6 +36,14 @@ stdenv.mkDerivation rec {
     libXext
   ];
 
+  outputs = [ "bin" "dev" "out" "man" ];
+
+  configureFlags = [
+    (if x11Support then "--enable-x11" else "--disable-x11")
+  ];
+
+  NIX_CFLAGS_COMPILE = lib.optionalString (!x11Support) "-DX_DISPLAY_MISSING";
+
   postInstall = ''
     mkdir -p $dev/bin
     mv $bin/bin/caca-config $dev/bin/caca-config
diff --git a/pkgs/development/libraries/libcamera/default.nix b/pkgs/development/libraries/libcamera/default.nix
index 187e2cf908e21..37acf1fc8f03d 100644
--- a/pkgs/development/libraries/libcamera/default.nix
+++ b/pkgs/development/libraries/libcamera/default.nix
@@ -4,9 +4,11 @@
 , meson
 , ninja
 , pkg-config
+, makeFontsConf
 , boost
 , gnutls
 , openssl
+, libdrm
 , libevent
 , lttng-ust
 , gst_all_1
@@ -15,16 +17,17 @@
 , doxygen
 , python3
 , python3Packages
+, systemd # for libudev
 }:
 
 stdenv.mkDerivation {
   pname = "libcamera";
-  version = "unstable-2021-09-24";
+  version = "unstable-2022-01-03";
 
   src = fetchgit {
     url = "https://git.libcamera.org/libcamera/libcamera.git";
-    rev = "40f5fddca7f774944a53f58eeaebc4db79c373d8";
-    sha256 = "0jklgdv5ma4nszxibms5lkf5d2ips7ncynwa1flglrhl5bl4wkzz";
+    rev = "1db1e31e664c1f613dc964d8519fe75d67b154b6";
+    hash = "sha256-pXYPIU9xDWA870Gp1Jgizi5xnUHRvTqEq/ofFXdVZdg=";
   };
 
   postPatch = ''
@@ -44,6 +47,10 @@ stdenv.mkDerivation {
 
     # cam integration
     libevent
+    libdrm
+
+    # hotplugging
+    systemd
 
     # lttng tracing
     lttng-ust
@@ -65,11 +72,18 @@ stdenv.mkDerivation {
     openssl
   ];
 
-  mesonFlags = [ "-Dv4l2=true" "-Dqcam=disabled" ];
+  mesonFlags = [
+    "-Dv4l2=true"
+    "-Dqcam=disabled"
+    "-Dlc-compliance=disabled" # tries unconditionally to download gtest when enabled
+    ];
 
   # Fixes error on a deprecated declaration
   NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
 
+  # Silence fontconfig warnings about missing config
+  FONTCONFIG_FILE = makeFontsConf { fontDirectories = []; };
+
   meta = with lib; {
     description = "An open source camera stack and framework for Linux, Android, and ChromeOS";
     homepage = "https://libcamera.org";
diff --git a/pkgs/development/libraries/libcangjie/default.nix b/pkgs/development/libraries/libcangjie/default.nix
index c6bbbcdb61ab0..73277d30de3cb 100644
--- a/pkgs/development/libraries/libcangjie/default.nix
+++ b/pkgs/development/libraries/libcangjie/default.nix
@@ -5,9 +5,10 @@ stdenv.mkDerivation rec {
   version = "1.4_rev_${rev}";
   rev = "a73c1d8783f7b6526fd9b2cc44a669ffa5518d3d";
 
+  # fetchFromGitLab isn't working for some reason
   src = fetchurl {
-    url = "https://github.com/Cangjians/libcangjie/archive/${rev}.tar.gz";
-    sha256 = "0i5svvcx099fc9hh5dvr3gpb1041v6vn5fnylxy82zjy239114lg";
+    url = "https://gitlab.freedesktop.org/cangjie/libcangjie/-/archive/a73c1d8783f7b6526fd9b2cc44a669ffa5518d3d/libcangjie-a73c1d8783f7b6526fd9b2cc44a669ffa5518d3d.tar.gz";
+    sha256 = "sha256-j5IQ0hBefoF8p966YrfZgYCw7ht5twJhYi4l0NneukQ=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -26,7 +27,7 @@ stdenv.mkDerivation rec {
     longDescription = ''
       libcangjie is a library implementing the Cangjie input method.
     '';
-    homepage = "http://cangjians.github.io/projects/libcangjie/";
+    homepage = "https://gitlab.freedesktop.org/cangjie/libcangjie";
     license = lib.licenses.lgpl3Plus;
 
     maintainers = [ lib.maintainers.linquize ];
diff --git a/pkgs/development/libraries/libcdaudio/default.nix b/pkgs/development/libraries/libcdaudio/default.nix
index e5f6324e261cc..dccad33dda93d 100644
--- a/pkgs/development/libraries/libcdaudio/default.nix
+++ b/pkgs/development/libraries/libcdaudio/default.nix
@@ -1,9 +1,11 @@
 {lib, stdenv, fetchurl}:
 
-stdenv.mkDerivation {
-  name = "libcdaudio-0.99.12p2";
+stdenv.mkDerivation rec {
+  pname = "libcdaudio";
+  version = "0.99.12p2";
+
   src = fetchurl {
-    url = "mirror://sourceforge/libcdaudio/libcdaudio-0.99.12p2.tar.gz";
+    url = "mirror://sourceforge/libcdaudio/libcdaudio-${version}.tar.gz";
     sha256 = "1fsy6dlzxrx177qc877qhajm9l4g28mvh06h2l15rxy4bapzknjz" ;
   };
 
diff --git a/pkgs/development/libraries/libcdio-paranoia/default.nix b/pkgs/development/libraries/libcdio-paranoia/default.nix
index 905d39dbd8ea3..999c04504898b 100644
--- a/pkgs/development/libraries/libcdio-paranoia/default.nix
+++ b/pkgs/development/libraries/libcdio-paranoia/default.nix
@@ -1,13 +1,14 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook, libcdio, pkg-config,
   libiconv, IOKit, DiskArbitration}:
 
-stdenv.mkDerivation {
-  name = "libcdio-paranoia-0.94+2";
+stdenv.mkDerivation rec {
+  pname = "libcdio-paranoia";
+  version = "0.94+2";
 
   src = fetchFromGitHub {
     owner = "rocky";
     repo = "libcdio-paranoia";
-    rev = "release-10.2+0.94+2";
+    rev = "release-10.2+${version}";
     sha256 = "1wjgmmaca4baw7k5c3vdap9hnjc49ciagi5kvpvync3aqfmdvkha";
   };
 
diff --git a/pkgs/development/libraries/libcdio/default.nix b/pkgs/development/libraries/libcdio/default.nix
index 71a953b83904f..546573c623064 100644
--- a/pkgs/development/libraries/libcdio/default.nix
+++ b/pkgs/development/libraries/libcdio/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, fetchpatch, libcddb, pkg-config, ncurses, help2man, libiconv, Carbon, IOKit }:
 
 stdenv.mkDerivation rec {
-  name = "libcdio-2.1.0";
+  pname = "libcdio";
+  version = "2.1.0";
 
   src = fetchurl {
-    url = "mirror://gnu/libcdio/${name}.tar.bz2";
+    url = "mirror://gnu/libcdio/libcdio-${version}.tar.bz2";
     sha256 = "0avi6apv5ydjy6b9c3z9a46rvp5i57qyr09vr7x4nndxkmcfjl45";
   };
 
diff --git a/pkgs/development/libraries/libcec/default.nix b/pkgs/development/libraries/libcec/default.nix
index b0de959234774..e03416a221c19 100644
--- a/pkgs/development/libraries/libcec/default.nix
+++ b/pkgs/development/libraries/libcec/default.nix
@@ -1,12 +1,14 @@
-{ lib, stdenv, fetchurl, cmake, pkg-config, udev, libcec_platform, libraspberrypi ? null }:
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, udev, libcec_platform, libraspberrypi ? null }:
 
 stdenv.mkDerivation rec {
   pname = "libcec";
   version = "6.0.2";
 
-  src = fetchurl {
-    url = "https://github.com/Pulse-Eight/libcec/archive/libcec-${version}.tar.gz";
-    sha256 = "0xrkrcgfgr5r8r0854bw3i9jbq4jmf8nzc5vrrx2sxzvlkbrc1h9";
+  src = fetchFromGitHub {
+    owner = "Pulse-Eight";
+    repo = "libcec";
+    rev = "libcec-${version}";
+    sha256 = "sha256-OWqCn7Z0KG8sLlfMWd0btJIFJs79ET3Y1AV/y/Kj2TU=";
   };
 
   nativeBuildInputs = [ pkg-config cmake ];
diff --git a/pkgs/development/libraries/libcec/platform.nix b/pkgs/development/libraries/libcec/platform.nix
index 45c34b53cd77a..cba1d0ba4c594 100644
--- a/pkgs/development/libraries/libcec/platform.nix
+++ b/pkgs/development/libraries/libcec/platform.nix
@@ -1,12 +1,14 @@
-{ lib, stdenv, fetchurl, cmake }:
+{ lib, stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
   pname = "p8-platform";
   version = "2.1.0.1";
 
-  src = fetchurl {
-    url = "https://github.com/Pulse-Eight/platform/archive/p8-platform-${version}.tar.gz";
-    sha256 = "18381y54f7d18ckpzf9cfxbz1ws6imprbbm9pvhcg5c86ln8skq6";
+  src = fetchFromGitHub {
+    owner = "Pulse-Eight";
+    repo = "platform";
+    rev = "p8-platform-${version}";
+    sha256 = "sha256-zAI/AOLJAunv+cCQ6bOXrgkW+wl5frj3ktzx2cDeCCk=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/libcef/default.nix b/pkgs/development/libraries/libcef/default.nix
index 85163daad0a14..d2ac5ef214cef 100644
--- a/pkgs/development/libraries/libcef/default.nix
+++ b/pkgs/development/libraries/libcef/default.nix
@@ -59,17 +59,17 @@ let
     "aarch64-linux" = {
       platformStr = "linuxarm64";
       projectArch = "arm64";
-      sha256 = "1j93qawh9h6k2ic70i10npppv5f9dch961lc1wxwsi68daq8r081";
+      sha256 = "01ny1k10dklsqrrqmxqd9433413wmpk4ddsmkjp9dzv52dvpcl08";
     };
     "i686-linux" = {
       platformStr = "linux32";
       projectArch = "x86";
-      sha256 = "0ki4zr8ih06kirgbpxbinv4baw3qvacx208q6qy1cvpfh6ll4fwb";
+      sha256 = "000j6pc336c43xczl1rs5zf8nsf17y76f1kpy14gqgpwyzl8my0w";
     };
     "x86_64-linux" = {
       platformStr = "linux64";
       projectArch = "x86_64";
-      sha256 = "1ja711x9fdlf21qw1k9xn3lvjc5zsfgnjga1w1r8sysam73jk7xj";
+      sha256 = "1ydjckld89dkpy5zrvk7jjpz70mnlmbm8yinkfpzgcwbkcakk6k7";
     };
   };
 
@@ -77,9 +77,9 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "cef-binary";
-  version = "90.6.7";
-  gitRevision = "19ba721";
-  chromiumVersion = "90.0.4430.212";
+  version = "96.0.18";
+  gitRevision = "fe551e4";
+  chromiumVersion = "96.0.4664.110";
 
   src = fetchurl {
     url = "https://cef-builds.spotifycdn.com/cef_binary_${version}+g${gitRevision}+chromium-${chromiumVersion}_${platformInfo.platformStr}_minimal.tar.bz2";
diff --git a/pkgs/development/libraries/libcello/default.nix b/pkgs/development/libraries/libcello/default.nix
index 100077bcc7064..b2f3fc5fae5be 100644
--- a/pkgs/development/libraries/libcello/default.nix
+++ b/pkgs/development/libraries/libcello/default.nix
@@ -5,14 +5,14 @@ stdenv.mkDerivation rec {
   version = "2.1.0";
 
   src = fetchurl {
-    url = "http://libcello.org/static/libCello-${version}.tar.gz";
+    url = "https://libcello.org/static/libCello-${version}.tar.gz";
     sha256 = "0a1b2x5ni07vd9ridnl7zv7h2s32070wsphjy94qr066b99gdb29";
   };
 
   makeFlags = [ "PREFIX=$(out)" ];
 
   meta = {
-    homepage = "http://libcello.org/";
+    homepage = "https://libcello.org/";
     description = "Higher level programming in C";
     license = lib.licenses.bsd3;
     maintainers = [ lib.maintainers.MostAwesomeDude ];
diff --git a/pkgs/development/libraries/libchop/default.nix b/pkgs/development/libraries/libchop/default.nix
index f02ac04621fc3..22cf5068f3934 100644
--- a/pkgs/development/libraries/libchop/default.nix
+++ b/pkgs/development/libraries/libchop/default.nix
@@ -4,10 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "libchop-0.5.2";
+  pname = "libchop";
+  version = "0.5.2";
 
   src = fetchurl {
-    url = "mirror://savannah/libchop/${name}.tar.gz";
+    url = "mirror://savannah/libchop/libchop-${version}.tar.gz";
     sha256 = "0fpdyxww41ba52d98blvnf543xvirq1v9xz1i3x1gm9lzlzpmc2g";
   };
 
diff --git a/pkgs/development/libraries/libcommuni/default.nix b/pkgs/development/libraries/libcommuni/default.nix
index 3e2c0daf0b46a..dd5472849fd9e 100644
--- a/pkgs/development/libraries/libcommuni/default.nix
+++ b/pkgs/development/libraries/libcommuni/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libcommuni";
-  version = "3.6.0";
+  version = "3.7.0";
 
   src = fetchFromGitHub {
     owner = "communi";
     repo = "libcommuni";
     rev = "v${version}";
-    sha256 = "sha256-ABvrMoOVSycbQ8iRDzi7zkFnuSgHMMBgm9cDUWlD4uc=";
+    sha256 = "sha256-9eYJpmjW1J48RD6wVJOHmsAgTbauNeeCrXe076ufq1I=";
   };
 
   buildInputs = [ qtbase qtdeclarative ];
diff --git a/pkgs/development/libraries/libcotp/default.nix b/pkgs/development/libraries/libcotp/default.nix
index 986890102dc67..bd555bdbc3646 100644
--- a/pkgs/development/libraries/libcotp/default.nix
+++ b/pkgs/development/libraries/libcotp/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libcotp";
-  version = "1.2.3";
+  version = "1.2.4";
 
   src = fetchFromGitHub {
     owner = "paolostivanin";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1qq4shwiz1if9vys052dnsbm4dfw1ynlj6nsb0v4zjly3ndspfsk";
+    sha256 = "sha256-PN0kd0CP2zrkuPTdaS3TdsdEl+Gy6CecrDSh0Bd7mRk=";
   };
 
   buildInputs = [ libbaseencode libgcrypt ];
diff --git a/pkgs/development/libraries/libcrafter/default.nix b/pkgs/development/libraries/libcrafter/default.nix
index 37ac9bf7f171d..22543972c1e6c 100644
--- a/pkgs/development/libraries/libcrafter/default.nix
+++ b/pkgs/development/libraries/libcrafter/default.nix
@@ -1,12 +1,14 @@
-{ lib, stdenv, fetchzip, autoconf, automake, libtool, libpcap }:
+{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, libpcap }:
 
 stdenv.mkDerivation rec {
   pname = "libcrafter";
   version = "1.0";
 
-  src = fetchzip {
-    url = "https://github.com/pellegre/libcrafter/archive/version-${version}.zip";
-    sha256 = "1d2vgxawdwk2zg3scxclxdby1rhghmivly8azdjja89kw7gls9xl";
+  src = fetchFromGitHub {
+    owner = "pellegre";
+    repo = "libcrafter";
+    rev = "version-${version}";
+    sha256 = "sha256-tCdN3+EzISVl+wp5umOFD+bgV+uUdabH+2LyxlV/W7Q=";
   };
 
   preConfigure = "cd libcrafter";
diff --git a/pkgs/development/libraries/libcryptui/default.nix b/pkgs/development/libraries/libcryptui/default.nix
index e816846842f1e..89b7dfa664442 100644
--- a/pkgs/development/libraries/libcryptui/default.nix
+++ b/pkgs/development/libraries/libcryptui/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, intltool, glib, gnome, gtk3, gnupg22, gpgme, dbus-glib, libgnome-keyring }:
+{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, intltool, glib, gnome, gtk3, gnupg, gpgme, dbus-glib, libgnome-keyring }:
 
 stdenv.mkDerivation rec {
   pname = "libcryptui";
@@ -10,11 +10,13 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
-    ./fix-gnupg-2.2.patch # based on https://gitlab.gnome.org/GNOME/libcryptui/-/commit/b05e301d1b264a5d8f07cb96e5edc243d99bff79.patch
+    # based on https://gitlab.gnome.org/GNOME/libcryptui/-/commit/b05e301d1b264a5d8f07cb96e5edc243d99bff79.patch
+    # https://gitlab.gnome.org/GNOME/libcryptui/-/merge_requests/1
+    ./fix-latest-gnupg.patch
   ];
 
   nativeBuildInputs = [ pkg-config intltool autoreconfHook ];
-  buildInputs = [ glib gtk3 gnupg22 gpgme dbus-glib libgnome-keyring ];
+  buildInputs = [ glib gtk3 gnupg gpgme dbus-glib libgnome-keyring ];
   propagatedBuildInputs = [ dbus-glib ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/libcryptui/fix-gnupg-2.2.patch b/pkgs/development/libraries/libcryptui/fix-latest-gnupg.patch
index 50d5e0c82c1c4..e12b584d16ebe 100644
--- a/pkgs/development/libraries/libcryptui/fix-gnupg-2.2.patch
+++ b/pkgs/development/libraries/libcryptui/fix-latest-gnupg.patch
@@ -17,7 +17,7 @@ index 4486e7b2..be5b28b4 100644
  
  if test	"$DO_CHECK" = "yes"; then
 -	accepted_versions="1.2 1.4 2.0"
-+	accepted_versions="1.2 1.4 2.0 2.2"
++	accepted_versions="1.2 1.4 2.0 2.2 2.3"
  	AC_PATH_PROGS(GNUPG, [gpg gpg2], no)
  	AC_DEFINE_UNQUOTED(GNUPG, "$GNUPG", [Path to gpg executable.])
  	ok="no"
diff --git a/pkgs/development/libraries/libcyaml/default.nix b/pkgs/development/libraries/libcyaml/default.nix
index 4b8d85b5b55b3..dede81b0a1c3d 100644
--- a/pkgs/development/libraries/libcyaml/default.nix
+++ b/pkgs/development/libraries/libcyaml/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libcyaml";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "tlsa";
     repo = "libcyaml";
     rev = "v${version}";
-    sha256 = "sha256-8Dd6LQovPx+y2957zY8blA0ls10ekGvTCeKmLyHZnOI=";
+    sha256 = "sha256-ntgTgIJ3u1IbR/eYOgwmgR9Jvx28P+l44wAMlBEcbj8=";
   };
 
   buildInputs = [ libyaml ];
diff --git a/pkgs/development/libraries/libdbi-drivers/default.nix b/pkgs/development/libraries/libdbi-drivers/default.nix
index 6a86d4941bff3..79e063826f8b1 100644
--- a/pkgs/development/libraries/libdbi-drivers/default.nix
+++ b/pkgs/development/libraries/libdbi-drivers/default.nix
@@ -6,10 +6,11 @@
 
 with lib;
 stdenv.mkDerivation rec {
-  name = "libdbi-drivers-0.9.0";
+  pname = "libdbi-drivers";
+  version = "0.9.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libdbi-drivers/${name}.tar.gz";
+    url = "mirror://sourceforge/libdbi-drivers/libdbi-drivers-${version}.tar.gz";
     sha256 = "0m680h8cc4428xin4p733azysamzgzcmv4psjvraykrsaz6ymlj3";
   };
 
diff --git a/pkgs/development/libraries/libdbusmenu/default.nix b/pkgs/development/libraries/libdbusmenu/default.nix
index 8e9fe4de88ae9..0b5531d70c543 100644
--- a/pkgs/development/libraries/libdbusmenu/default.nix
+++ b/pkgs/development/libraries/libdbusmenu/default.nix
@@ -7,14 +7,11 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  name = let postfix = if gtkVersion == null then "glib" else "gtk${gtkVersion}";
-          in "libdbusmenu-${postfix}-${version}";
-  version = "${versionMajor}.${versionMinor}";
-  versionMajor = "16.04";
-  versionMinor = "0";
+  pname = "libdbusmenu-${if gtkVersion == null then "glib" else "gtk${gtkVersion}"}";
+  version = "16.04.0";
 
   src = fetchurl {
-    url = "${meta.homepage}/${versionMajor}/${version}/+download/libdbusmenu-${version}.tar.gz";
+    url = "https://launchpad.net/dbusmenu/${lib.versions.majorMinor version}/${version}/+download/libdbusmenu-${version}.tar.gz";
     sha256 = "12l7z8dhl917iy9h02sxmpclnhkdjryn08r8i4sr8l3lrlm4mk5r";
   };
 
diff --git a/pkgs/development/libraries/libdeltachat/default.nix b/pkgs/development/libraries/libdeltachat/default.nix
index 5db8e7524b59c..8d506efef89d7 100644
--- a/pkgs/development/libraries/libdeltachat/default.nix
+++ b/pkgs/development/libraries/libdeltachat/default.nix
@@ -6,6 +6,7 @@
 , perl
 , pkg-config
 , rustPlatform
+, sqlcipher
 , sqlite
 , fixDarwinDylibNames
 , CoreFoundation
@@ -15,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libdeltachat";
-  version = "1.70.0";
+  version = "1.75.0";
 
   src = fetchFromGitHub {
     owner = "deltachat";
     repo = "deltachat-core-rust";
     rev = version;
-    hash = "sha256-702XhFWvFG+g++3X97sy6C5DMNWogv1Xbr8QPR8QyLo=";
+    hash = "sha256-3oYQwV1Srnq8VfS+M+BwIznXRxQFXr78SwXO3Xu08ws=";
   };
 
   patches = [
@@ -33,7 +34,7 @@ stdenv.mkDerivation rec {
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-MiSGJMXe8vouv4XEHXq274FHEvBMtd7IX6DyNJIWYeU=";
+    hash = "sha256-jti1aY8a9YB8x6fz7UqTY4uDj6gkMnG1hTN/Mgc+mHs=";
   };
 
   nativeBuildInputs = [
@@ -49,6 +50,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     openssl
+    sqlcipher
     sqlite
   ] ++ lib.optionals stdenv.isDarwin [
     CoreFoundation
diff --git a/pkgs/development/libraries/libdnet/default.nix b/pkgs/development/libraries/libdnet/default.nix
index 43d9d2077fe32..6455bf03b5aea 100644
--- a/pkgs/development/libraries/libdnet/default.nix
+++ b/pkgs/development/libraries/libdnet/default.nix
@@ -1,12 +1,13 @@
 {lib, stdenv, fetchurl, automake, autoconf, libtool}:
 
-stdenv.mkDerivation {
-  name = "libdnet-1.12";
+stdenv.mkDerivation rec {
+  pname = "libdnet";
+  version = "1.12";
 
   enableParallelBuilding = true;
 
   src = fetchurl {
-    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libdnet/libdnet-1.12.tgz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libdnet/libdnet-${version}.tgz";
     sha256 = "09mhbr8x66ykhf5581a5zjpplpjxibqzgkkpx689kybwg0wk1cw3";
   };
 
diff --git a/pkgs/development/libraries/libdv/default.nix b/pkgs/development/libraries/libdv/default.nix
index ff3c7f6f86313..55191fff89991 100644
--- a/pkgs/development/libraries/libdv/default.nix
+++ b/pkgs/development/libraries/libdv/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, popt }:
 
 stdenv.mkDerivation rec {
-  name = "libdv-1.0.0";
+  pname = "libdv";
+  version = "1.0.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libdv/${name}.tar.gz";
+    url = "mirror://sourceforge/libdv/libdv-${version}.tar.gz";
     sha256 = "1fl96f2xh2slkv1i1ix7kqk576a0ak1d33cylm0mbhm96d0761d3";
   };
 
diff --git a/pkgs/development/libraries/libdvdnav/4.2.1.nix b/pkgs/development/libraries/libdvdnav/4.2.1.nix
index 1f832de5bb3bd..0285ff22fe2f9 100644
--- a/pkgs/development/libraries/libdvdnav/4.2.1.nix
+++ b/pkgs/development/libraries/libdvdnav/4.2.1.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, pkg-config, libdvdread}:
 
-stdenv.mkDerivation {
-  name = "libdvdnav-4.2.1";
+stdenv.mkDerivation rec {
+  pname = "libdvdnav";
+  version = "4.2.1";
 
   src = fetchurl {
-    url = "http://dvdnav.mplayerhq.hu/releases/libdvdnav-4.2.1.tar.xz";
+    url = "http://dvdnav.mplayerhq.hu/releases/libdvdnav-${version}.tar.xz";
     sha256 = "7fca272ecc3241b6de41bbbf7ac9a303ba25cb9e0c82aa23901d3104887f2372";
   };
 
diff --git a/pkgs/development/libraries/libdvdread/4.9.9.nix b/pkgs/development/libraries/libdvdread/4.9.9.nix
index 7049e1dd99358..87ab724796c7a 100644
--- a/pkgs/development/libraries/libdvdread/4.9.9.nix
+++ b/pkgs/development/libraries/libdvdread/4.9.9.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, libdvdcss}:
 
-stdenv.mkDerivation {
-  name = "libdvdread-4.9.9";
+stdenv.mkDerivation rec {
+  pname = "libdvdread";
+  version = "4.9.9";
 
   src = fetchurl {
-    url = "http://dvdnav.mplayerhq.hu/releases/libdvdread-4.9.9.tar.xz";
+    url = "http://dvdnav.mplayerhq.hu/releases/libdvdread-${version}.tar.xz";
     sha256 = "d91275471ef69d488b05cf15c60e1cd65e17648bfc692b405787419f47ca424a";
   };
 
diff --git a/pkgs/development/libraries/libdwg/default.nix b/pkgs/development/libraries/libdwg/default.nix
index 5a0347e59542a..37eeb73f91cd7 100644
--- a/pkgs/development/libraries/libdwg/default.nix
+++ b/pkgs/development/libraries/libdwg/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, indent}:
 
-stdenv.mkDerivation {
-  name = "libdwg-0.6";
+stdenv.mkDerivation rec {
+  pname = "libdwg";
+  version = "0.6";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libdwg/libdwg-0.6.tar.bz2";
+    url = "mirror://sourceforge/libdwg/libdwg-${version}.tar.bz2";
     sha256 = "0l8ks1x70mkna1q7mzy1fxplinz141bd24qhrm1zkdil74mcsryc";
   };
 
diff --git a/pkgs/development/libraries/libedit/default.nix b/pkgs/development/libraries/libedit/default.nix
index 35efdc781d464..0e65ca8a6ff4a 100644
--- a/pkgs/development/libraries/libedit/default.nix
+++ b/pkgs/development/libraries/libedit/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libedit";
-  version = "20210714-3.1";
+  version = "20210910-3.1";
 
   src = fetchurl {
     url = "https://thrysoee.dk/editline/${pname}-${version}.tar.gz";
-    sha256 = "sha256-MCO0mK1ZP9d0WuOyCrrVRt5Qa2e4+7VXljfKaauC28k=";
+    sha256 = "sha256-Z5KmqZIFB2LtzKKP8zGM233jfcz3vDDbWfzXAX7tE8U=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libee/default.nix b/pkgs/development/libraries/libee/default.nix
index 7172df01e2232..ae0529718259c 100644
--- a/pkgs/development/libraries/libee/default.nix
+++ b/pkgs/development/libraries/libee/default.nix
@@ -1,9 +1,10 @@
 { lib, stdenv, fetchurl, pkg-config, libestr }:
-stdenv.mkDerivation {
-  name = "libee-0.4.1";
+stdenv.mkDerivation rec {
+  pname = "libee";
+  version = "0.4.1";
 
   src = fetchurl {
-    url = "http://www.libee.org/download/files/download/libee-0.4.1.tar.gz";
+    url = "http://www.libee.org/download/files/download/libee-${version}.tar.gz";
     sha256 = "09xhgzmsq0g3jsyj24vy67bhzk2fv971w5ixdkhfwgar70cw1nn0";
   };
 
diff --git a/pkgs/development/libraries/libepoxy/default.nix b/pkgs/development/libraries/libepoxy/default.nix
index 4141de4fc00da..c54c3c86d232b 100644
--- a/pkgs/development/libraries/libepoxy/default.nix
+++ b/pkgs/development/libraries/libepoxy/default.nix
@@ -10,13 +10,14 @@
 , libX11
 , Carbon
 , OpenGL
+, x11Support ? !stdenv.isDarwin
 }:
 
 let
   inherit (lib) getLib optional optionalString;
 
 in
-stdenv.mkDerivation (rec {
+stdenv.mkDerivation rec {
   pname = "libepoxy";
   version = "1.5.9";
 
@@ -40,7 +41,7 @@ stdenv.mkDerivation (rec {
 
   nativeBuildInputs = [ meson ninja pkg-config utilmacros python3 ];
 
-  buildInputs = [
+  buildInputs = lib.optionals x11Support [
     libGL
     libX11
   ] ++ lib.optionals stdenv.isDarwin [
@@ -50,10 +51,16 @@ stdenv.mkDerivation (rec {
 
   mesonFlags = [
     "-Dtests=${if doCheck then "true" else "false"}"
-  ]
-  ++ optional stdenv.isDarwin "-Dglx=yes";
+    "-Dglx=${if x11Support then "yes" else "no"}"
+  ];
+
+  NIX_CFLAGS_COMPILE = lib.optionalString x11Support ''-DLIBGL_PATH="${getLib libGL}/lib"'';
 
-  NIX_CFLAGS_COMPILE = ''-DLIBGL_PATH="${getLib libGL}/lib"'';
+  # cgl_epoxy_api fails in darwin sandbox and on Hydra (because it's headless?)
+  preCheck = lib.optionalString stdenv.isDarwin ''
+    substituteInPlace ../test/meson.build \
+      --replace "[ 'cgl_epoxy_api', [ 'cgl_epoxy_api.c' ] ]," ""
+  '';
 
   # tests are running from version 1.5.9
   doCheck = true;
@@ -65,10 +72,4 @@ stdenv.mkDerivation (rec {
     maintainers = with maintainers; [ goibhniu erictapen ];
     platforms = platforms.unix;
   };
-} // lib.optionalAttrs stdenv.isDarwin {
-  # cgl_epoxy_api fails in darwin sandbox and on Hydra (because it's headless?)
-  preCheck = ''
-    substituteInPlace ../test/meson.build \
-      --replace "[ 'cgl_epoxy_api', [ 'cgl_epoxy_api.c' ] ]," ""
-  '';
-})
+}
diff --git a/pkgs/development/libraries/libesmtp/default.nix b/pkgs/development/libraries/libesmtp/default.nix
index 542cff712c82c..3193f383d610a 100644
--- a/pkgs/development/libraries/libesmtp/default.nix
+++ b/pkgs/development/libraries/libesmtp/default.nix
@@ -1,18 +1,29 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, openssl }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "libESMTP";
-  version = "1.0.6";
+  version = "1.1.0";
 
-  src = fetchurl {
-    url = "http://brianstafford.info/libesmtp/libesmtp-1.0.6.tar.bz2";
-    sha256 = "02zbniyz7qys1jmx3ghx21kxmns1wc3hmv80gp7ag7yra9f1m9nh";
+  nativeBuildInputs = [ meson ninja pkg-config ];
+  buildInputs = [ openssl ];
+
+  src = fetchFromGitHub {
+    owner = "libesmtp";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1bhh8hlsl9597x0bnfl563k2c09b61qnkb9mfyqcmzlq63m1zw5y";
   };
 
   meta = with lib; {
-    homepage = "http://brianstafford.info/libesmtp/index.html";
     description = "A Library for Posting Electronic Mail";
-    license = licenses.lgpl21;
+    longDescription = ''
+      libESMTP is an SMTP client library which manages submission of electronic mail
+      via a preconfigured Mail Transport Agent (MTA) such as Exim or Postfix.
+      It implements many SMTP extensions including TLS for security
+      and PIPELINING for high performance.
+    '';
+    homepage = "https://libesmtp.github.io/";
+    license = licenses.lgpl21Plus;
   };
 }
 
diff --git a/pkgs/development/libraries/libevdev/default.nix b/pkgs/development/libraries/libevdev/default.nix
index 33b3f0b32e1d7..cca5abef4fc72 100644
--- a/pkgs/development/libraries/libevdev/default.nix
+++ b/pkgs/development/libraries/libevdev/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libevdev";
-  version = "1.11.0";
+  version = "1.12.0";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-Y/TqFImFihCQgOC0C9Q+TgkDoeEuqIjVgduMSVdHwtA=";
+    sha256 = "sha256-L3KeNIBpV5H5SC6DiL1yNAK4nw6vEYBXu96jzs7psjc=";
   };
 
   nativeBuildInputs = [ python3 ];
diff --git a/pkgs/development/libraries/libextractor/default.nix b/pkgs/development/libraries/libextractor/default.nix
index cef1fbc512ae0..7251e5b645bee 100644
--- a/pkgs/development/libraries/libextractor/default.nix
+++ b/pkgs/development/libraries/libextractor/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     (substituteAll {
       src = ./gst-hardcode-plugins.patch;
       load_gst_plugins = lib.concatMapStrings
-        (plugin: ''gst_registry_scan_path(gst_registry_get(), "${plugin}/lib/gstreamer-1.0");'')
+        (plugin: ''gst_registry_scan_path(gst_registry_get(), "${lib.getLib plugin}/lib/gstreamer-1.0");'')
         (gstPlugins gst_all_1);
     })
   ];
diff --git a/pkgs/development/libraries/libf2c/default.nix b/pkgs/development/libraries/libf2c/default.nix
index 5a5d8b93057a0..a2cb4d2bd2460 100644
--- a/pkgs/development/libraries/libf2c/default.nix
+++ b/pkgs/development/libraries/libf2c/default.nix
@@ -27,6 +27,10 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
+  # Makefile is missing depepdencies on generated headers:
+  #   main.c:4:10: fatal error: signal1.h: No such file or directory
+  enableParallelBuilding = false;
+
   meta = {
     description = "F2c converts Fortran 77 source code to C";
     homepage = "http://www.netlib.org/f2c/";
diff --git a/pkgs/development/libraries/libfabric/default.nix b/pkgs/development/libraries/libfabric/default.nix
index c1c6ef7032ae7..38c88fe70f3c7 100644
--- a/pkgs/development/libraries/libfabric/default.nix
+++ b/pkgs/development/libraries/libfabric/default.nix
@@ -3,7 +3,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libfabric";
-  version = "1.13.2";
+  version = "1.14.0";
 
   enableParallelBuilding = true;
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     owner = "ofiwg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ydMZP83keUGDYDw9i/SCa4U1KEgfuqkFklwRKbfLoK8=";
+    sha256 = "sha256-MmvJV3Pne+bJtC91rdpNMZovoqMgm3gHFJwGH3tchgI=";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
diff --git a/pkgs/development/libraries/libfaketime/default.nix b/pkgs/development/libraries/libfaketime/default.nix
index 34c957715ddea..7ac48a705a806 100644
--- a/pkgs/development/libraries/libfaketime/default.nix
+++ b/pkgs/development/libraries/libfaketime/default.nix
@@ -1,12 +1,14 @@
-{ lib, stdenv, fetchurl, perl, coreutils }:
+{ lib, stdenv, fetchFromGitHub, perl, coreutils }:
 
 stdenv.mkDerivation rec {
   pname = "libfaketime";
   version = "0.9.9";
 
-  src = fetchurl {
-    url = "https://github.com/wolfcw/libfaketime/archive/v${version}.tar.gz";
-    sha256 = "sha256-V9AYEVA2HAqbXI7vBbETkvYTStosLZmOkuY9rtY5ZHw=";
+  src = fetchFromGitHub {
+    owner = "wolfcw";
+    repo = "libfaketime";
+    rev = "v${version}";
+    sha256 = "sha256-P1guVggteGtoq8+eeE966hDPkRwsn0m7oLCohyPrIb4=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/libffi/default.nix b/pkgs/development/libraries/libffi/default.nix
index 4332f43c5afb3..6a22d585fbc88 100644
--- a/pkgs/development/libraries/libffi/default.nix
+++ b/pkgs/development/libraries/libffi/default.nix
@@ -1,6 +1,8 @@
 { lib, stdenv, fetchurl, fetchpatch
 , autoreconfHook
 
+, doCheck ? true # test suite depends on dejagnu which cannot be used during bootstrapping
+, dejagnu
 }:
 
 # Note: this package is used for bootstrapping fetchurl, and thus
@@ -39,6 +41,10 @@ stdenv.mkDerivation rec {
 
   dontStrip = stdenv.hostPlatform != stdenv.buildPlatform; # Don't run the native `strip' when cross-compiling.
 
+  inherit doCheck;
+
+  checkInputs = [ dejagnu ];
+
   meta = with lib; {
     description = "A foreign function call interface library";
     longDescription = ''
diff --git a/pkgs/development/libraries/libfido2/default.nix b/pkgs/development/libraries/libfido2/default.nix
index 62a72175b8eed..13bbd246c64ad 100644
--- a/pkgs/development/libraries/libfido2/default.nix
+++ b/pkgs/development/libraries/libfido2/default.nix
@@ -12,12 +12,12 @@
 
 stdenv.mkDerivation rec {
   pname = "libfido2";
-  version = "1.8.0";
+  version = "1.9.0";
 
   # releases on https://developers.yubico.com/libfido2/Releases/ are signed
   src = fetchurl {
     url = "https://developers.yubico.com/${pname}/Releases/${pname}-${version}.tar.gz";
-    sha256 = "07gxyy5yzgfh5hg7q9fr77z5mkj0xjvd5ya7p5f5kar4iwc92hjm";
+    sha256 = "sha256-ujnjrzc20t/IrT0ctuO+fszAlYhhCjsHyGXQ7T5YwtI=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/libfilezilla/default.nix b/pkgs/development/libraries/libfilezilla/default.nix
index 95e00cdd73293..b02b856442bff 100644
--- a/pkgs/development/libraries/libfilezilla/default.nix
+++ b/pkgs/development/libraries/libfilezilla/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libfilezilla";
-  version = "0.35.0";
+  version = "0.36.0";
 
   src = fetchurl {
     url = "https://download.filezilla-project.org/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-7uJRDc49BpHqc9wdoQ+sfbEhWwup7vphbfMFNosJKug=";
+    sha256 = "sha256-wCccGO3n+7yCayHJcsLLD/lnRO5aFckdjXTpvDhTqHI=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/development/libraries/libfprint-tod/default.nix b/pkgs/development/libraries/libfprint-tod/default.nix
index 8d7df57896d4c..bffafc5e44f40 100644
--- a/pkgs/development/libraries/libfprint-tod/default.nix
+++ b/pkgs/development/libraries/libfprint-tod/default.nix
@@ -19,7 +19,9 @@ in  {
     sha256 = "0cj7iy5799pchyzqqncpkhibkq012g3bdpn18pfb19nm43svhn4j";
   };
 
-  mesonFlags = mesonFlags ++ [
+  mesonFlags = [
+    # Include virtual drivers for fprintd tests
+    "-Ddrivers=all"
     "-Dudev_hwdb_dir=${placeholder "out"}/lib/udev/hwdb.d"
   ];
 
diff --git a/pkgs/development/libraries/libfprint/default.nix b/pkgs/development/libraries/libfprint/default.nix
index 42e308f41a9ec..809635c1774a0 100644
--- a/pkgs/development/libraries/libfprint/default.nix
+++ b/pkgs/development/libraries/libfprint/default.nix
@@ -19,7 +19,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libfprint";
-  version = "1.92.1";
+  version = "1.94.2";
   outputs = [ "out" "devdoc" ];
 
   src = fetchFromGitLab {
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     owner = "libfprint";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0dpwzmwl9jjpaz44znvy3v8s9sln0c71b756rs1knk0zx8sa1qbc";
+    sha256 = "sha256-FQwjJOgANSmJu9ev1K2oovNGovsbxnWMxNveTmH5fHg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libfyaml/default.nix b/pkgs/development/libraries/libfyaml/default.nix
index e1e30657a3529..9384a7c976034 100644
--- a/pkgs/development/libraries/libfyaml/default.nix
+++ b/pkgs/development/libraries/libfyaml/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libfyaml";
-  version = "0.7.3";
+  version = "0.7.12";
 
   src = fetchFromGitHub {
     owner = "pantoniou";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-RxaeDtsdPtcTYJ7qMVmBCm1TsMI7YsXCz2w/Bq2RmaA=";
+    sha256 = "sha256-gmVjiwf8PsDYRt8jmXNrd+hJSL099hbLjq8Z0c1u2HE=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/development/libraries/libgbinder/default.nix b/pkgs/development/libraries/libgbinder/default.nix
index 38b0c6c8def0f..f2ecf94053b00 100644
--- a/pkgs/development/libraries/libgbinder/default.nix
+++ b/pkgs/development/libraries/libgbinder/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libgbinder";
-  version = "1.1.14";
+  version = "1.1.16";
 
   src = fetchFromGitHub {
     owner = "mer-hybris";
     repo = pname;
     rev = version;
-    sha256 = "sha256-WYVFbp5aEqdxZQYSJ96Mi7ruLu4TkDbw/NCV8roPN28=";
+    sha256 = "sha256-g+3yRRiTv2l7ZpJc5a6tOPsErKjdALomAWmYHErdfIQ=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libgcrypt/1.5.nix b/pkgs/development/libraries/libgcrypt/1.5.nix
index 897222116e894..b30aa89b14853 100644
--- a/pkgs/development/libraries/libgcrypt/1.5.nix
+++ b/pkgs/development/libraries/libgcrypt/1.5.nix
@@ -3,10 +3,11 @@
 assert enableCapabilities -> stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "libgcrypt-1.5.6";
+  pname = "libgcrypt";
+  version = "1.5.6";
 
   src = fetchurl {
-    url = "mirror://gnupg/libgcrypt/${name}.tar.bz2";
+    url = "mirror://gnupg/libgcrypt/libgcrypt-${version}.tar.bz2";
     sha256 = "0ydy7bgra5jbq9mxl5x031nif3m6y3balc6ndw2ngj11wnsjc61h";
   };
 
diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix
index 08e79a16e1ac3..9195019b05593 100644
--- a/pkgs/development/libraries/libgcrypt/default.nix
+++ b/pkgs/development/libraries/libgcrypt/default.nix
@@ -1,4 +1,15 @@
-{ lib, stdenv, fetchurl, gettext, libgpg-error, enableCapabilities ? false, libcap, buildPackages }:
+{ lib
+, stdenv
+, fetchurl
+, gettext
+, libgpg-error
+, enableCapabilities ? false, libcap
+, buildPackages
+# for passthru.tests
+, gnupg
+, libotr
+, rsyslog
+}:
 
 assert enableCapabilities -> stdenv.isLinux;
 
@@ -56,6 +67,10 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  passthru.tests = {
+    inherit gnupg libotr rsyslog;
+  };
+
   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}";
diff --git a/pkgs/development/libraries/libgda/default.nix b/pkgs/development/libraries/libgda/default.nix
index 63acabb320e4c..a9993b7255a98 100644
--- a/pkgs/development/libraries/libgda/default.nix
+++ b/pkgs/development/libraries/libgda/default.nix
@@ -11,8 +11,6 @@
 , gobject-introspection
 , vala
 , libgee
-, overrideCC
-, gcc6
 , fetchpatch
 , autoreconfHook
 , gtk-doc
@@ -27,7 +25,7 @@
 assert mysqlSupport -> libmysqlclient != null;
 assert postgresSupport -> postgresql != null;
 
-(if stdenv.isAarch64 then overrideCC stdenv gcc6 else stdenv).mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "libgda";
   version = "5.2.10";
 
diff --git a/pkgs/development/libraries/libgit2/default.nix b/pkgs/development/libraries/libgit2/default.nix
new file mode 100644
index 0000000000000..dc12e643cb75e
--- /dev/null
+++ b/pkgs/development/libraries/libgit2/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, cmake
+, pkg-config
+, python3
+, zlib
+, libssh2
+, openssl
+, pcre
+, http-parser
+, libiconv
+, Security
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libgit2";
+  version = "1.4.0";
+  # also check the following packages for updates: python3.pkgs.pygit2 and libgit2-glib
+
+  src = fetchFromGitHub {
+    owner = "libgit2";
+    repo = "libgit2";
+    rev = "v${version}";
+    sha256 = "sha256-21t7fD/5O+HIHUDEv8MqloDmAIm9sSpJYqreCD3Co2k=";
+  };
+
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/libgit2/libgit2/commit/8bc9eda779b2e2602fc74944aba5d39198e0642f.patch";
+      sha256 = "sha256-r2i4+WsrxIpSwH0g/AikBdAajBncXb1zz0uOQB0h1Jk=";
+    })
+  ];
+
+  cmakeFlags = [
+    "-DTHREADSAFE=ON"
+    "-DUSE_HTTP_PARSER=system"
+    "-DUSE_SSH=ON"
+  ];
+
+  nativeBuildInputs = [ cmake python3 pkg-config ];
+
+  buildInputs = [ zlib libssh2 openssl pcre http-parser ]
+    ++ lib.optional stdenv.isDarwin Security;
+
+  propagatedBuildInputs = lib.optional (!stdenv.isLinux) libiconv;
+
+  doCheck = false; # hangs. or very expensive?
+
+  meta = {
+    description = "Linkable library implementation of Git that you can use in your application";
+    homepage = "https://libgit2.org/";
+    license = lib.licenses.gpl2Plus;
+    platforms = lib.platforms.all;
+    maintainers = with lib.maintainers; [ ];
+  };
+}
diff --git a/pkgs/development/libraries/libgksu/default.nix b/pkgs/development/libraries/libgksu/default.nix
deleted file mode 100644
index b00e7b3245182..0000000000000
--- a/pkgs/development/libraries/libgksu/default.nix
+++ /dev/null
@@ -1,86 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, wrapGAppsHook, gtk2, gnome2, gnome,
-  libstartup_notification, libgtop, perlPackages,
-  autoreconfHook, intltool, docbook_xsl, xauth
-}:
-
-stdenv.mkDerivation rec {
-  version = "2.0.12";
-  pname = "libgksu";
-
-  src = fetchurl {
-    url = "http://people.debian.org/~kov/gksu/${pname}-${version}.tar.gz";
-    sha256 = "1brz9j3nf7l2gd3a5grbp0s3nksmlrp6rxmgp5s6gjvxcb1wzy92";
-  };
-
-  nativeBuildInputs = [
-    pkg-config autoreconfHook intltool docbook_xsl wrapGAppsHook
-  ];
-
-  buildInputs = [
-    gtk2 gnome2.GConf libstartup_notification
-    gnome.libgnome-keyring libgtop gnome2.libglade
-  ] ++ (with perlPackages; [ perl XMLParser ]);
-
-  enableParallelBuilding = true;
-
-  hardeningDisable = [ "format" ];
-
-  patches = [
-        # Patches from the gentoo ebuild
-
-        # Fix compilation on bsdc
-        ./libgksu-2.0.0-fbsd.patch
-
-        # Fix wrong usage of LDFLAGS, gentoo bug #226837
-        ./libgksu-2.0.7-libs.patch
-
-        # Use po/LINGUAS
-        ./libgksu-2.0.7-polinguas.patch
-
-        # Don't forkpty; gentoo bug #298289
-        ./libgksu-2.0.12-revert-forkpty.patch
-
-        # Make this gmake-3.82 compliant, gentoo bug #333961
-        ./libgksu-2.0.12-fix-make-3.82.patch
-
-        # Do not build test programs that are never executed; also fixes gentoo bug #367397 (underlinking issues).
-        ./libgksu-2.0.12-notests.patch
-
-        # Fix automake-1.11.2 compatibility, gentoo bug #397411
-        ./libgksu-2.0.12-automake-1.11.2.patch
-  ];
-
-  postPatch = ''
-    # gentoo bug #467026
-    sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac
-
-    # Fix some binary paths
-    sed -i -e 's|/usr/bin/xauth|${xauth}/bin/xauth|g' libgksu/gksu-run-helper.c libgksu/libgksu.c
-    sed -i -e 's|/usr/bin/sudo|/run/wrappers/bin/sudo|g' libgksu/libgksu.c
-    sed -i -e 's|/bin/su\([^d]\)|/run/wrappers/bin/su\1|g' libgksu/libgksu.c
-
-    touch NEWS README
-  '';
-
-  preConfigure = ''
-    intltoolize --force --copy --automake
-  '';
-
-  configureFlags = [
-    "--disable-gtk-doc"
-  ];
-
-  meta = {
-    description = "A library for integration of su into applications";
-    longDescription = ''
-      This library comes from the gksu program. It provides a simple API
-      to use su and sudo in programs that need to execute tasks as other
-      user.  It provides X authentication facilities for running
-      programs in an X session.
-    '';
-    homepage = "https://www.nongnu.org/gksu/";
-    license = lib.licenses.lgpl2;
-    maintainers = [ lib.maintainers.romildo ];
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/pkgs/development/libraries/libgksu/libgksu-2.0.0-fbsd.patch b/pkgs/development/libraries/libgksu/libgksu-2.0.0-fbsd.patch
deleted file mode 100644
index 5c007be5b4b4d..0000000000000
--- a/pkgs/development/libraries/libgksu/libgksu-2.0.0-fbsd.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-diff --exclude-from=/home/dang/.diffrc -up -ruN libgksu-2.0.0.orig/libgksu/libgksu.c libgksu-2.0.0/libgksu/libgksu.c
---- libgksu-2.0.0.orig/libgksu/libgksu.c	2006-09-14 22:35:51.000000000 -0400
-+++ libgksu-2.0.0/libgksu/libgksu.c	2006-12-12 11:28:01.000000000 -0500
-@@ -23,7 +23,12 @@
- #include <unistd.h>
- #include <string.h>
- #include <fcntl.h>
-+#ifdef __FreeBSD__
-+#include <libutil.h>
-+#include <termios.h>
-+#else
- #include <pty.h>
-+#endif
- #include <pwd.h>
- #include <sys/types.h>
- #include <sys/wait.h>
-diff --exclude-from=/home/dang/.diffrc -up -ruN libgksu-2.0.0.orig/libgksu/Makefile.am libgksu-2.0.0/libgksu/Makefile.am
---- libgksu-2.0.0.orig/libgksu/Makefile.am	2006-09-14 22:35:52.000000000 -0400
-+++ libgksu-2.0.0/libgksu/Makefile.am	2006-12-12 11:28:01.000000000 -0500
-@@ -30,6 +30,6 @@ gksu_run_helper_SOURCES = gksu-run-helpe
- noinst_PROGRAMS = test-gksu
- test_gksu_SOURCES = test-gksu.c
- test_gksu_LDADD = libgksu2.la
--test_gksu_LDFLAGS = `pkg-config --libs glib-2.0`
-+test_gksu_LDFLAGS = `pkg-config --libs glib-2.0 gthread-2.0`
- 
- EXTRA_DIST = libgksu.ver
-diff --exclude-from=/home/dang/.diffrc -up -ruN libgksu-2.0.0.orig/libgksu/Makefile.in libgksu-2.0.0/libgksu/Makefile.in
---- libgksu-2.0.0.orig/libgksu/Makefile.in	2006-09-23 15:37:44.000000000 -0400
-+++ libgksu-2.0.0/libgksu/Makefile.in	2006-12-12 11:30:09.000000000 -0500
-@@ -283,7 +283,7 @@ gksu_run_helper_LDFLAGS = `pkg-config --
- gksu_run_helper_SOURCES = gksu-run-helper.c
- test_gksu_SOURCES = test-gksu.c
- test_gksu_LDADD = libgksu2.la
--test_gksu_LDFLAGS = `pkg-config --libs glib-2.0`
-+test_gksu_LDFLAGS = `pkg-config --libs glib-2.0 gthread-2.0`
- EXTRA_DIST = libgksu.ver
- all: all-am
- 
-diff --exclude-from=/home/dang/.diffrc -up -ruN libgksu-2.0.0.orig/libgksuui/Makefile.am libgksu-2.0.0/libgksuui/Makefile.am
---- libgksu-2.0.0.orig/libgksuui/Makefile.am	2006-09-14 22:35:31.000000000 -0400
-+++ libgksu-2.0.0/libgksuui/Makefile.am	2006-12-12 11:28:01.000000000 -0500
-@@ -12,4 +12,4 @@ includedir = ${prefix}/include/$(PACKAGE
- noinst_PROGRAMS = test-gksuui
- test_gksuui_SOURCES = test-gksuui.c
- test_gksuui_LDADD = libgksuui1.0.la
--test_gksuui_LDFLAGS = `pkg-config --libs glib-2.0`
-+test_gksuui_LDFLAGS = `pkg-config --libs glib-2.0 gthread-2.0`
-diff --exclude-from=/home/dang/.diffrc -up -ruN libgksu-2.0.0.orig/libgksuui/Makefile.in libgksu-2.0.0/libgksuui/Makefile.in
---- libgksu-2.0.0.orig/libgksuui/Makefile.in	2006-09-23 15:37:44.000000000 -0400
-+++ libgksu-2.0.0/libgksuui/Makefile.in	2006-12-12 11:30:22.000000000 -0500
-@@ -250,7 +250,7 @@ libgksuui1_0_la_LDFLAGS = -Wl,-O1 `pkg-c
- noinst_HEADERS = defines.h gksuui.h gksuui-dialog.h
- test_gksuui_SOURCES = test-gksuui.c
- test_gksuui_LDADD = libgksuui1.0.la
--test_gksuui_LDFLAGS = `pkg-config --libs glib-2.0`
-+test_gksuui_LDFLAGS = `pkg-config --libs glib-2.0 gthread-2.0`
- all: all-am
- 
- .SUFFIXES:
diff --git a/pkgs/development/libraries/libgksu/libgksu-2.0.12-automake-1.11.2.patch b/pkgs/development/libraries/libgksu/libgksu-2.0.12-automake-1.11.2.patch
deleted file mode 100644
index 0f22166fb8b7f..0000000000000
--- a/pkgs/development/libraries/libgksu/libgksu-2.0.12-automake-1.11.2.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Due to the following change, pkglib_PROGRAMS is invalid:
-    http://git.savannah.gnu.org/cgit/automake.git/commit/?id=9ca632642b006ac6b0fc4ce0ae5b34023faa8cbf
-
-https://savannah.nongnu.org/bugs/index.php?35241
-https://bugs.gentoo.org/show_bug.cgi?id=397411
-
----
- libgksu/Makefile.am |    4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libgksu/Makefile.am b/libgksu/Makefile.am
-index 49362f9..3cb1090 100644
---- a/libgksu/Makefile.am
-+++ b/libgksu/Makefile.am
-@@ -22,8 +22,8 @@ includedir = ${prefix}/include/${PACKAGE}
- pkgconfigdir = ${libdir}/pkgconfig
- pkgconfig_DATA = libgksu2.pc
- 
--pkglibdir = ${libdir}/${PACKAGE}
--pkglib_PROGRAMS = gksu-run-helper
-+gksulibdir = ${libdir}/${PACKAGE}
-+gksulib_PROGRAMS = gksu-run-helper
- gksu_run_helper_LDADD = ${GLIB_LIBS} 
- gksu_run_helper_SOURCES = gksu-run-helper.c
- 
diff --git a/pkgs/development/libraries/libgksu/libgksu-2.0.12-fix-make-3.82.patch b/pkgs/development/libraries/libgksu/libgksu-2.0.12-fix-make-3.82.patch
deleted file mode 100644
index dd52b8247fa46..0000000000000
--- a/pkgs/development/libraries/libgksu/libgksu-2.0.12-fix-make-3.82.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- libgksu/Makefile.am-orig	2010-08-22 16:11:19.872577459 -0500
-+++ libgksu/Makefile.am	2010-08-22 16:11:55.289599110 -0500
-@@ -17,11 +17,11 @@
- 
- if GCONF_SCHEMAS_INSTALL
- install-data-local:
--        if test -z "$(DESTDIR)" ; then \
--          for p in $(schemas_DATA) ; do \
--            GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(srcdir)/$$p ; \
--          done \
--        fi
-+	if test -z "$(DESTDIR)" ; then \
-+		for p in $(schemas_DATA) ; do \
-+			GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(srcdir)/$$p ; \
-+		done \
-+	fi
- else
- install-data-local:
- endif
diff --git a/pkgs/development/libraries/libgksu/libgksu-2.0.12-notests.patch b/pkgs/development/libraries/libgksu/libgksu-2.0.12-notests.patch
deleted file mode 100644
index 3787ef6bfc13f..0000000000000
--- a/pkgs/development/libraries/libgksu/libgksu-2.0.12-notests.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Index: libgksu-2.0.12/libgksu/Makefile.am
-===================================================================
---- libgksu-2.0.12.orig/libgksu/Makefile.am
-+++ libgksu-2.0.12/libgksu/Makefile.am
-@@ -27,7 +27,7 @@ pkglib_PROGRAMS = gksu-run-helper
- gksu_run_helper_LDFLAGS = `pkg-config --libs glib-2.0`
- gksu_run_helper_SOURCES = gksu-run-helper.c
- 
--noinst_PROGRAMS = test-gksu
-+EXTRA_PROGRAMS = test-gksu
- test_gksu_SOURCES = test-gksu.c
- test_gksu_LDADD = libgksu2.la
- test_gksu_LDFLAGS = `pkg-config --libs glib-2.0`
-Index: libgksu-2.0.12/libgksuui/Makefile.am
-===================================================================
---- libgksu-2.0.12.orig/libgksuui/Makefile.am
-+++ libgksu-2.0.12/libgksuui/Makefile.am
-@@ -9,7 +9,7 @@ libgksuui1_0_la_LDFLAGS = -Wl,-O1 `pkg-c
- noinst_HEADERS = defines.h gksuui.h gksuui-dialog.h
- includedir = ${prefix}/include/$(PACKAGE)
- 
--noinst_PROGRAMS = test-gksuui
-+EXTRA_PROGRAMS = test-gksuui
- test_gksuui_SOURCES = test-gksuui.c
- test_gksuui_LDADD = libgksuui1.0.la
- test_gksuui_LDFLAGS = `pkg-config --libs glib-2.0`
diff --git a/pkgs/development/libraries/libgksu/libgksu-2.0.12-revert-forkpty.patch b/pkgs/development/libraries/libgksu/libgksu-2.0.12-revert-forkpty.patch
deleted file mode 100644
index 2c3a8cc786bb5..0000000000000
--- a/pkgs/development/libraries/libgksu/libgksu-2.0.12-revert-forkpty.patch
+++ /dev/null
@@ -1,359 +0,0 @@
-diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN libgksu-2.0.12.orig/libgksu/libgksu.c libgksu-2.0.12/libgksu/libgksu.c
---- libgksu-2.0.12.orig/libgksu/libgksu.c	2009-06-29 13:48:24.000000000 -0400
-+++ libgksu-2.0.12/libgksu/libgksu.c	2010-01-12 07:32:10.450657456 -0500
-@@ -1,7 +1,6 @@
- /*
-  * Gksu -- a library providing access to su functionality
-  * Copyright (C) 2004-2009 Gustavo Noronha Silva
-- * Portions Copyright (C) 2009 VMware, Inc.
-  *
-  * This library is free software; you can redistribute it and/or
-  * modify it under the terms of the GNU Lesser General Public
-@@ -56,9 +55,6 @@
- static void
- gksu_context_launch_complete (GksuContext *context);
- 
--static void
--read_line (int fd, gchar *buffer, int n);
--
- GType
- gksu_error_get_type (void)
- {
-@@ -2009,8 +2005,6 @@ gksu_su_fuller (GksuContext *context,
-       for (i = 0 ; cmd[i] != NULL ; i++)
- 	g_free (cmd[i]);
-       g_free(cmd);
--
--      _exit(1);
-     }
-   else if (pid == -1)
-     {
-@@ -2125,10 +2119,10 @@ gksu_su_fuller (GksuContext *context,
- 	  /* drop the \n echoed on password entry if su did request
- 	     a password */
- 	  if (password_needed)
--	    read_line (fdpty, buf, 255);
-+	    read (fdpty, buf, 255);
- 	  if (context->debug)
- 	    fprintf (stderr, "DEBUG (run:post-after-pass) buf: -%s-\n", buf);
--	  read_line (fdpty, buf, 255);
-+	  read (fdpty, buf, 255);
- 	  if (context->debug)
- 	    fprintf (stderr, "DEBUG (run:post-after-pass) buf: -%s-\n", buf);
- 	}
-@@ -2142,9 +2136,7 @@ gksu_su_fuller (GksuContext *context,
- 	{
- 	  int retval = 0;
- 
--	  /* Red Hat's su shows the full path to su in its error messages. */
--	  if (!strncmp (buf, "su:", 3) ||
--	      !strncmp (buf, "/bin/su:", 7))
-+	  if (!strncmp (buf, "su", 2))
- 	    {
- 	      gchar **strings;
- 
-@@ -2155,11 +2147,7 @@ gksu_su_fuller (GksuContext *context,
- 		}
- 
- 	      strings = g_strsplit (buf, ":", 2);
--
--	      /* Red Hat and Fedora use 'incorrect password'. */
--	      if (strings[1] &&
--	          (g_str_has_prefix(strings[1], " Authentication failure") ||
--	           g_str_has_prefix(strings[1], " incorrect password")))
-+	      if (strings[1] && !strncmp (strings[1], " Authentication failure", 23))
- 		{
- 		  if (used_gnome_keyring)
- 		    g_set_error (error, gksu_quark,
-@@ -2473,12 +2461,6 @@ gksu_sudo_fuller (GksuContext *context,
- {
-   char **cmd;
-   char buffer[256] = {0};
--  char *child_stderr = NULL;
--  /* This command is used to gain a token */
--  char *const verifycmd[] =
--    {
--      "/usr/bin/sudo", "-p", "GNOME_SUDO_PASS", "-v", NULL
--    };
-   int argcount = 8;
-   int i, j;
- 
-@@ -2489,8 +2471,9 @@ gksu_sudo_fuller (GksuContext *context,
- 
-   pid_t pid;
-   int status;
--  FILE *fdfile = NULL;
--  int fdpty = -1;
-+  FILE *infile, *outfile;
-+  int parent_pipe[2];	/* For talking to the parent */
-+  int child_pipe[2];	/* For talking to the child */
- 
-   context->sudo_mode = TRUE;
- 
-@@ -2565,10 +2548,6 @@ gksu_sudo_fuller (GksuContext *context,
-   cmd[argcount] = g_strdup("-S");
-   argcount++;
- 
--  /* Make sudo noninteractive (we should already have a token) */
--  cmd[argcount] = g_strdup("-n");
--  argcount++;
--
-   /* Make sudo use next arg as prompt */
-   cmd[argcount] = g_strdup("-p");
-   argcount++;
-@@ -2647,21 +2626,26 @@ gksu_sudo_fuller (GksuContext *context,
- 	fprintf (stderr, "cmd[%d]: %s\n", i, cmd[i]);
-     }
- 
--  pid = forkpty(&fdpty, NULL, NULL, NULL);
--  if (pid == 0)
-+  if ((pipe(parent_pipe)) == -1)
-     {
--      // Child
--      setsid();   // make us session leader
--
--      execv(verifycmd[0], verifycmd);
-+      g_set_error (error, gksu_quark, GKSU_ERROR_PIPE,
-+		   _("Error creating pipe: %s"),
-+		   strerror(errno));
-+      sudo_reset_xauth (context, xauth, xauth_env);
-+      return FALSE;
-+    }
- 
--      g_set_error (error, gksu_quark, GKSU_ERROR_EXEC,
--		   _("Failed to exec new process: %s"),
-+  if ((pipe(child_pipe)) == -1)
-+    {
-+      g_set_error (error, gksu_quark, GKSU_ERROR_PIPE,
-+		   _("Error creating pipe: %s"),
- 		   strerror(errno));
-       sudo_reset_xauth (context, xauth, xauth_env);
-       return FALSE;
-     }
--  else if (pid == -1)
-+
-+  pid = fork();
-+  if (pid == -1)
-     {
-       g_set_error (error, gksu_quark, GKSU_ERROR_FORK,
- 		   _("Failed to fork new process: %s"),
-@@ -2669,26 +2653,56 @@ gksu_sudo_fuller (GksuContext *context,
-       sudo_reset_xauth (context, xauth, xauth_env);
-       return FALSE;
-     }
-+  else if (pid == 0)
-+    {
-+      // Child
-+      setsid();   // make us session leader
-+      close(child_pipe[1]);
-+      dup2(child_pipe[0], STDIN_FILENO);
-+      dup2(parent_pipe[1], STDERR_FILENO);
- 
-+      execv(cmd[0], cmd);
-+
-+      g_set_error (error, gksu_quark, GKSU_ERROR_EXEC,
-+		   _("Failed to exec new process: %s"),
-+		   strerror(errno));
-+      sudo_reset_xauth (context, xauth, xauth_env);
-+      return FALSE;
-+    }
-   else
-     {
-       gint counter = 0;
-       gchar *cmdline = NULL;
--      struct termios tio;
- 
-       // Parent
--      fdfile = fdopen(fdpty, "w+");
-+      close(parent_pipe[1]);
- 
--      /* make sure we notice that ECHO is turned off, if it gets
--         turned off */
--      tcgetattr (fdpty, &tio);
--      for (counter = 0; (tio.c_lflag & ECHO) && counter < 15; counter++)
--      {
--        usleep (1000);
--        tcgetattr (fdpty, &tio);
--      }
-+      infile = fdopen(parent_pipe[0], "r");
-+      if (!infile)
-+	{
-+	  g_set_error (error, gksu_quark, GKSU_ERROR_PIPE,
-+		       _("Error opening pipe: %s"),
-+		       strerror(errno));
-+	  sudo_reset_xauth (context, xauth, xauth_env);
-+	  return FALSE;
-+	}
- 
--      fcntl (fdpty, F_SETFL, O_NONBLOCK);
-+      outfile = fdopen(child_pipe[1], "w");
-+      if (!outfile)
-+	{
-+	  g_set_error (error, gksu_quark, GKSU_ERROR_PIPE,
-+		       _("Error opening pipe: %s"),
-+		       strerror(errno));
-+	  sudo_reset_xauth (context, xauth, xauth_env);
-+	  return FALSE;
-+	}
-+
-+      /*
-+	we are expecting to receive a GNOME_SUDO_PASS
-+	if we don't there are two possibilities: an error
-+	or a password is not needed
-+      */
-+      fcntl (parent_pipe[0], F_SETFL, O_NONBLOCK);
- 
-       { /* no matter if we can read, since we're using
- 	   O_NONBLOCK; this is just to avoid the prompt
-@@ -2697,11 +2711,11 @@ gksu_sudo_fuller (GksuContext *context,
- 	struct timeval tv;
- 
- 	FD_ZERO(&rfds);
--	FD_SET(fdpty, &rfds);
-+	FD_SET(parent_pipe[0], &rfds);
- 	tv.tv_sec = 1;
- 	tv.tv_usec = 0;
- 
--	select (fdpty + 1, &rfds, NULL, NULL, &tv);
-+	select (parent_pipe[0] + 1, &rfds, NULL, NULL, &tv);
-       }
- 
-       /* Try hard to find the prompt; it may happen that we're
-@@ -2713,7 +2727,7 @@ gksu_sudo_fuller (GksuContext *context,
- 	  if (strncmp (buffer, "GNOME_SUDO_PASS", 15) == 0)
- 	    break;
- 
--	  read_line (fdpty, buffer, 256);
-+	  read_line (parent_pipe[0], buffer, 256);
- 
- 	  if (context->debug)
- 	    fprintf (stderr, "buffer: -%s-\n", buffer);
-@@ -2747,17 +2761,18 @@ gksu_sudo_fuller (GksuContext *context,
- 
- 	  usleep (1000);
- 
--	  write (fdpty, password, strlen(password) + 1);
--	  write (fdpty, "\n", 1);
-+	  fprintf (outfile, "%s\n", password);
-+	  fclose (outfile);
- 
- 	  nullify_password (password);
- 
--	  fcntl(fdpty, F_SETFL, fcntl(fdpty, F_GETFL) & ~O_NONBLOCK);
-+	  /* turn NONBLOCK off */
-+	  fcntl(parent_pipe[0], F_SETFL, fcntl(parent_pipe[0], F_GETFL) & ~O_NONBLOCK);
- 	  /* ignore the first newline that comes right after sudo receives
- 	     the password */
--	  fgets (buffer, 255, fdfile);
--	  /* this is the status we are interested in */
--	  fgets (buffer, 255, fdfile);
-+	  fgets (buffer, 255, infile);
-+	  /* this is the status we are interessted in */
-+	  fgets (buffer, 255, infile);
- 	}
-       else
- 	{
-@@ -2766,7 +2781,7 @@ gksu_sudo_fuller (GksuContext *context,
- 	    fprintf (stderr, "No password prompt found; we'll assume we don't need a password.\n");
- 
-           /* turn NONBLOCK off, also if have no prompt */
--          fcntl(fdpty, F_SETFL, fcntl(fdpty, F_GETFL) & ~O_NONBLOCK);
-+          fcntl(parent_pipe[0], F_SETFL, fcntl(parent_pipe[0], F_GETFL) & ~O_NONBLOCK);
- 
- 	  should_display = gconf_client_get_bool (context->gconf_client,
- 						  BASE_PATH "display-no-pass-info", NULL);
-@@ -2785,9 +2800,14 @@ gksu_sudo_fuller (GksuContext *context,
- 	  fprintf (stderr, "%s", buffer);
- 	}
- 
--      if (g_str_has_prefix (buffer, "Sorry, try again."))
-+      if (!strcmp (buffer, "Sorry, try again.\n"))
- 	g_set_error (error, gksu_quark, GKSU_ERROR_WRONGPASS,
- 		     _("Wrong password."));
-+      else if (!strncmp (buffer, "Sorry, user ", 12))
-+	g_set_error (error, gksu_quark, GKSU_ERROR_NOT_ALLOWED,
-+		     _("The underlying authorization mechanism (sudo) "
-+		       "does not allow you to run this program. Contact "
-+		       "the system administrator."));
-       else
- 	{
- 	  gchar *haystack = buffer;
-@@ -2805,10 +2825,6 @@ gksu_sudo_fuller (GksuContext *context,
- 	    }
- 	}
- 
--      /* If we have an error, let's just stop sudo right there. */
--      if (error)
--        close(fdpty);
--
-       cmdline = g_strdup("sudo");
-       /* wait for the child process to end or become something other
- 	 than sudo */
-@@ -2825,23 +2841,17 @@ gksu_sudo_fuller (GksuContext *context,
-       if (context->sn_context)
- 	gksu_context_launch_complete (context);
- 
-+      while (read (parent_pipe[0], buffer, 255) > 0)
-+	{
-+	  fprintf (stderr, "%s", buffer);
-+	  bzero(buffer, 256);
-+	}
-+
-       /* if the process is still active waitpid() on it */
-       if (pid_exited != pid)
- 	waitpid(pid, &status, 0);
-       sudo_reset_xauth (context, xauth, xauth_env);
- 
--      /*
--       * Did token acquisition succeed? If so, spawn sudo in
--       * non-interactive mode. It should either succeed or die
--       * immediately if you're not allowed to run the command.
--       */
--      if (WEXITSTATUS(status) == 0)
--        {
--          g_spawn_sync(NULL, cmd, NULL, 0, NULL, NULL,
--                       NULL, &child_stderr, &status,
--                       error);
--        }
--
-       if (exit_status)
-       {
-       	if (WIFEXITED(status)) {
-@@ -2853,13 +2863,6 @@ gksu_sudo_fuller (GksuContext *context,
- 
-       if (WEXITSTATUS(status))
- 	{
--          if (g_str_has_prefix(child_stderr, "Sorry, user "))
--            {
--              g_set_error (error, gksu_quark, GKSU_ERROR_NOT_ALLOWED,
--                           _("The underlying authorization mechanism (sudo) "
--                             "does not allow you to run this program. Contact "
--                             "the system administrator."));
--            }
- 	  if(cmdline)
- 	    {
- 	      /* sudo already exec()ed something else, don't report
-@@ -2868,7 +2871,6 @@ gksu_sudo_fuller (GksuContext *context,
- 	      if (!g_str_has_suffix (cmdline, "sudo"))
- 		{
- 		  g_free (cmdline);
--		  g_free (child_stderr);
- 		  return FALSE;
- 		}
- 	      g_free (cmdline);
-@@ -2881,11 +2883,11 @@ gksu_sudo_fuller (GksuContext *context,
- 	}
-     }
- 
--  fprintf(stderr, child_stderr);
--  g_free(child_stderr);
--
-   /* if error is set we have found an error condition */
--  return (error == NULL);
-+  if (error)
-+    return FALSE;
-+
-+  return TRUE;
- }
- 
- /**
diff --git a/pkgs/development/libraries/libgksu/libgksu-2.0.7-libs.patch b/pkgs/development/libraries/libgksu/libgksu-2.0.7-libs.patch
deleted file mode 100644
index b9fb77f271473..0000000000000
--- a/pkgs/development/libraries/libgksu/libgksu-2.0.7-libs.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-# https://savannah.nongnu.org/bugs/?25362
-# https://bugs.gentoo.org/show_bug.cgi?id=226837
-diff -Nura a/configure.ac b/configure.ac
---- a/configure.ac	2009-01-19 22:15:30.000000000 +0100
-+++ b/configure.ac	2009-01-19 22:18:10.000000000 +0100
-@@ -43,6 +43,9 @@
- PKG_CHECK_MODULES(LIBGKSU, [gtk+-2.0 >= 2.4.0, gconf-2.0, libstartup-notification-1.0, gnome-keyring-1, libgtop-2.0])
- PKG_CHECK_MODULES(GKSU_PROPERTIES, [gtk+-2.0 >= 2.4.0, gconf-2.0, libglade-2.0])
- 
-+PKG_CHECK_MODULES(GLIB, [glib-2.0 gthread-2.0])
-+PKG_CHECK_MODULES(GTK, [gtk+-2.0 gconf-2.0])
-+
- # Checks for library functions.
- ALL_LINGUAS="ca cs da de es eu fr hu it ko lt pl pt_BR ro ru sk sv nb nl zh_CN"
- 
-diff -Nura a/gksu-properties/Makefile.am b/gksu-properties/Makefile.am
---- a/gksu-properties/Makefile.am	2009-01-19 22:15:59.000000000 +0100
-+++ b/gksu-properties/Makefile.am	2009-01-19 22:19:13.000000000 +0100
-@@ -3,7 +3,7 @@
- AM_CPPFLAGS = -DLOCALEDIR=\"$(datadir)/locale\" -DDATA_DIR=\"$(datadir)\" -DPREFIX=\"$(prefix)\"
- 
- bin_PROGRAMS = gksu-properties
--gksu_properties_LDFLAGS = ${GKSU_PROPERTIES_LIBS}
-+gksu_properties_LDADD = ${GKSU_PROPERTIES_LIBS}
- gksu_properties_SOURCES = gksu-properties.c
- 
- gladedir = ${prefix}/share/${PACKAGE}
-diff -Nura a/libgksu/Makefile.am b/libgksu/Makefile.am
---- a/libgksu/Makefile.am	2009-01-19 22:15:59.000000000 +0100
-+++ b/libgksu/Makefile.am	2009-01-19 22:18:25.000000000 +0100
-@@ -8,8 +8,8 @@
- # major -> breaks backward compatibility (changes to existing ABI)
- # minor -> keeps compatibility (additions to the API)
- # micro -> no change to the API/ABI
--libgksu2_la_LIBADD = ../libgksuui/libgksuui1.0.la
--libgksu2_la_LDFLAGS = -version-info 0:2:0 -Wl,-O1 -lutil ${LIBGKSU_LIBS}
-+libgksu2_la_LIBADD = ../libgksuui/libgksuui1.0.la -lutil ${LIBGKSU_LIBS}
-+libgksu2_la_LDFLAGS = -version-info 0:2:0 -Wl,-O1
- if USE_VERSION_SCRIPT
- libgksu2_la_LDFLAGS += -Wl,--version-script=libgksu.ver
- endif
-@@ -24,12 +24,11 @@
- 
- pkglibdir = ${libdir}/${PACKAGE}
- pkglib_PROGRAMS = gksu-run-helper
--gksu_run_helper_LDFLAGS = `pkg-config --libs glib-2.0`
-+gksu_run_helper_LDADD = ${GLIB_LIBS} 
- gksu_run_helper_SOURCES = gksu-run-helper.c
- 
- noinst_PROGRAMS = test-gksu
- test_gksu_SOURCES = test-gksu.c
--test_gksu_LDADD = libgksu2.la
--test_gksu_LDFLAGS = `pkg-config --libs glib-2.0 gthread-2.0`
-+test_gksu_LDADD = libgksu2.la ${GLIB_LIBS}
- 
- EXTRA_DIST = libgksu.ver
-diff -Nura a/libgksuui/Makefile.am b/libgksuui/Makefile.am
---- a/libgksuui/Makefile.am	2009-01-19 22:15:59.000000000 +0100
-+++ b/libgksuui/Makefile.am	2009-01-19 22:18:54.000000000 +0100
-@@ -4,12 +4,13 @@
- 
- noinst_LTLIBRARIES = libgksuui1.0.la
- libgksuui1_0_la_SOURCES = gksuui-dialog.c
--libgksuui1_0_la_LDFLAGS = -Wl,-O1 `pkg-config --libs gtk+-2.0 gconf-2.0`
-+libgksuui1_0_la_LDFLAGS = -Wl,-O1
-+libgksuui1_0_la_LIBADD = ${GTK_LIBS}
- 
- noinst_HEADERS = defines.h gksuui.h gksuui-dialog.h
- includedir = ${prefix}/include/$(PACKAGE)
- 
- noinst_PROGRAMS = test-gksuui
- test_gksuui_SOURCES = test-gksuui.c
--test_gksuui_LDADD = libgksuui1.0.la
--test_gksuui_LDFLAGS = `pkg-config --libs glib-2.0 gthread-2.0`
-+test_gksuui_LDADD = libgksuui1.0.la ${GLIB_LIBS}
-+
diff --git a/pkgs/development/libraries/libgksu/libgksu-2.0.7-polinguas.patch b/pkgs/development/libraries/libgksu/libgksu-2.0.7-polinguas.patch
deleted file mode 100644
index e423af16b44ca..0000000000000
--- a/pkgs/development/libraries/libgksu/libgksu-2.0.7-polinguas.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-# https://savannah.nongnu.org/bugs/?25360
-diff -Nura a/configure.ac b/configure.ac
---- a/configure.ac	2009-01-19 21:50:57.000000000 +0100
-+++ b/configure.ac	2009-01-19 21:53:21.000000000 +0100
-@@ -50,7 +50,7 @@
- GETTEXT_PACKAGE=AC_PACKAGE_NAME
- AC_SUBST(GETTEXT_PACKAGE)
- 
--IT_PROG_INTLTOOL
-+IT_PROG_INTLTOOL([0.35.5])
- AM_GLIB_GNU_GETTEXT
- 
- ##################################################
-diff -Nura a/po/LINGUAS b/po/LINGUAS
---- a/po/LINGUAS	1970-01-01 01:00:00.000000000 +0100
-+++ b/po/LINGUAS	2009-01-19 21:54:24.000000000 +0100
-@@ -0,0 +1,23 @@
-+# please keep this list sorted alphabetically
-+# http://live.gnome.org/GnomeGoals/PoLinguas
-+#
-+ca
-+cs
-+da
-+de
-+es
-+eu
-+fr
-+hu
-+it
-+ko
-+lt
-+pl
-+pt_BR
-+ro
-+ru
-+sk
-+sv
-+nb
-+nl
-+zh_CN
diff --git a/pkgs/development/libraries/libglvnd/default.nix b/pkgs/development/libraries/libglvnd/default.nix
index b4d8657359f1a..769140ff54a3a 100644
--- a/pkgs/development/libraries/libglvnd/default.nix
+++ b/pkgs/development/libraries/libglvnd/default.nix
@@ -5,14 +5,14 @@
 
 stdenv.mkDerivation rec {
   pname = "libglvnd";
-  version = "1.3.4";
+  version = "1.4.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "glvnd";
     repo = "libglvnd";
     rev = "v${version}";
-    sha256 = "0phvgg2h3pcz3x39gaymwb37bnw1s26clq9wsj0zx398zmp3dwpk";
+    sha256 = "06y7m486kgg566krbhb0gvmpzy6ayd98psnrmmkrnw8p513lg8k3";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config python3 addOpenGLRunpath ];
@@ -63,6 +63,7 @@ stdenv.mkDerivation rec {
     '';
     inherit (src.meta) homepage;
     # https://gitlab.freedesktop.org/glvnd/libglvnd#libglvnd:
+    changelog = "https://gitlab.freedesktop.org/glvnd/libglvnd/-/tags/v${version}";
     license = with licenses; [ mit bsd1 bsd3 gpl3Only asl20 ];
     platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ primeos ];
diff --git a/pkgs/development/libraries/libgphoto2/default.nix b/pkgs/development/libraries/libgphoto2/default.nix
index 63015fdf6cb36..6da4c9a53a5b2 100644
--- a/pkgs/development/libraries/libgphoto2/default.nix
+++ b/pkgs/development/libraries/libgphoto2/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libgphoto2";
-  version = "2.5.27";
+  version = "2.5.28";
 
   src = fetchFromGitHub {
     owner = "gphoto";
     repo = "libgphoto2";
     rev = "libgphoto2-${builtins.replaceStrings [ "." ] [ "_" ] version}-release";
-    sha256 = "sha256-c7fBl6GBLAU+RL5WFC4PL+n/nEHZUfqIJ9qq1+qNNCg=";
+    sha256 = "sha256-e3zMinUUBKzZlQQzkS0oPWAzIVlmQoLj73Spj0XiTIE=";
   };
 
   depsBuildBuild = [ pkg-config ];
diff --git a/pkgs/development/libraries/libgpod/default.nix b/pkgs/development/libraries/libgpod/default.nix
index 49dcec3ee781c..e56e512931a0a 100644
--- a/pkgs/development/libraries/libgpod/default.nix
+++ b/pkgs/development/libraries/libgpod/default.nix
@@ -6,10 +6,11 @@
 
 
 stdenv.mkDerivation rec {
-  name = "libgpod-0.8.3";
+  pname = "libgpod";
+  version = "0.8.3";
 
   src = fetchurl {
-    url = "mirror://sourceforge/gtkpod/${name}.tar.bz2";
+    url = "mirror://sourceforge/gtkpod/libgpod-${version}.tar.bz2";
     sha256 = "0pcmgv1ra0ymv73mlj4qxzgyir026z9jpl5s5bkg35afs1cpk2k3";
   };
 
diff --git a/pkgs/development/libraries/libgroove/default.nix b/pkgs/development/libraries/libgroove/default.nix
deleted file mode 100644
index f14524df0dc55..0000000000000
--- a/pkgs/development/libraries/libgroove/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, ffmpeg_3, SDL2, chromaprint, libebur128 }:
-
-stdenv.mkDerivation rec {
-  version = "4.3.0";
-  pname = "libgroove";
-
-  src = fetchFromGitHub {
-    owner = "andrewrk";
-    repo = "libgroove";
-    rev = version;
-    sha256 = "1la9d9kig50mc74bxvhx6hzqv0nrci9aqdm4k2j4q0s1nlfgxipd";
-  };
-
-  patches = [
-    ./no-warnings-as-errors.patch
-    (fetchpatch {
-      name = "update-for-ffmpeg-3.0.patch";
-      url = "https://aur.archlinux.org/cgit/aur.git/plain/0001-update-for-ffmpeg-3.0.patch?h=libgroove&id=a9f3bd2a5afd3227733414a5d54c7a2aa0a1249e";
-      sha256 = "0800drk9df1kwbv80f2ffv77xk888249fk0d961rp2a305hvyrk0";
-    })
-  ];
-
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ ffmpeg_3 SDL2 chromaprint libebur128 ];
-
-  meta = with lib; {
-    description = "Streaming audio processing library";
-    homepage = "https://github.com/andrewrk/libgroove";
-    license = licenses.mit;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ andrewrk ];
-  };
-}
diff --git a/pkgs/development/libraries/libgroove/no-warnings-as-errors.patch b/pkgs/development/libraries/libgroove/no-warnings-as-errors.patch
deleted file mode 100644
index 86a8a935769c9..0000000000000
--- a/pkgs/development/libraries/libgroove/no-warnings-as-errors.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a1e8541..6bc9c30 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -135,8 +135,8 @@ configure_file (
-   "${PROJECT_BINARY_DIR}/config.h"
-   )
- 
--set(LIB_CFLAGS "${C99_C_FLAGS} -pedantic -Werror -Wall -Werror=strict-prototypes -Werror=old-style-definition -Werror=missing-prototypes -D_REENTRANT -D_POSIX_C_SOURCE=200809L")
--set(EXAMPLE_CFLAGS "${C99_C_FLAGS} -pedantic -Werror -Wall -g")
-+set(LIB_CFLAGS "${C99_C_FLAGS} -pedantic -Wall -Werror=strict-prototypes -Werror=old-style-definition -Werror=missing-prototypes -D_REENTRANT -D_POSIX_C_SOURCE=200809L")
-+set(EXAMPLE_CFLAGS "${C99_C_FLAGS} -pedantic -Wall -g")
- set(EXAMPLE_INCLUDES "${PROJECT_SOURCE_DIR}")
- 
- add_library(groove SHARED ${LIBGROOVE_SOURCES} ${LIBGROOVE_HEADERS})
diff --git a/pkgs/development/libraries/libgsf/default.nix b/pkgs/development/libraries/libgsf/default.nix
index 1ccc5d7789671..1850da7e64686 100644
--- a/pkgs/development/libraries/libgsf/default.nix
+++ b/pkgs/development/libraries/libgsf/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libgsf";
-  version = "1.14.47";
+  version = "1.14.48";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i";
+    sha256 = "/4bX8dRt0Ovvt72DCnSkHbZDYrmHv4hT//arTBEyuDc=";
   };
 
   nativeBuildInputs = [ pkg-config intltool libintl ];
diff --git a/pkgs/development/libraries/libgtop/default.nix b/pkgs/development/libraries/libgtop/default.nix
index 98b0dc89fee83..5176550809884 100644
--- a/pkgs/development/libraries/libgtop/default.nix
+++ b/pkgs/development/libraries/libgtop/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
   pname = "libgtop";
   version = "2.40.0";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1m6jbqk8maa52gxrf223442fr5bvvxgb7ham6v039i3r1i62gwvq";
diff --git a/pkgs/development/libraries/libhandy/default.nix b/pkgs/development/libraries/libhandy/default.nix
index 0744ae30f3444..63c494999a93c 100644
--- a/pkgs/development/libraries/libhandy/default.nix
+++ b/pkgs/development/libraries/libhandy/default.nix
@@ -94,7 +94,7 @@ stdenv.mkDerivation rec {
         # HdySettings needs to be initialized from “org.gnome.desktop.interface” GSettings schema when portal is not used for color scheme.
         # It will not actually be used since the “color-scheme” key will only have been introduced in GNOME 42, falling back to detecting theme name.
         # See hdy_settings_constructed function in https://gitlab.gnome.org/GNOME/libhandy/-/commit/bb68249b005c445947bfb2bee66c91d0fe9c41a4
-        "${glib.getSchemaPath gsettings-desktop-schemas}/../.."
+        (glib.getSchemaDataDirPath gsettings-desktop-schemas)
 
         # Some tests require icons
         "${hicolor-icon-theme}/share"
diff --git a/pkgs/development/libraries/libhttpseverywhere/default.nix b/pkgs/development/libraries/libhttpseverywhere/default.nix
index 975ad22581318..80bc73e9a0434 100644
--- a/pkgs/development/libraries/libhttpseverywhere/default.nix
+++ b/pkgs/development/libraries/libhttpseverywhere/default.nix
@@ -15,12 +15,17 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs = [ vala gobject-introspection meson ninja pkg-config ];
   buildInputs = [ glib libgee json-glib libsoup libarchive ];
 
-  # Fixes build with vala >=0.42
   patches = [
+    # Fixes build with vala >=0.42
     (fetchpatch {
       url = "https://gitlab.gnome.org/GNOME/libhttpseverywhere/commit/6da08ef1ade9ea267cecf14dd5cb2c3e6e5e50cb.patch";
       sha256 = "1nwjlh8iqgjayccwdh0fbpq2g1h8bg1k1g9i324f2bhhvyhmpq8f";
     })
+    # fix build with meson 0.60
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/libhttpseverywhere/-/commit/4c38b2ca25802c464f3204a62815201d8cf549fd.patch";
+      sha256 = "sha256-1+fmR0bpvJ9ISN2Hr+BTIQz+Bf6VfY1RdVZ/OohUlWU=";
+    })
   ];
 
   mesonFlags = [ "-Denable_valadoc=true" ];
diff --git a/pkgs/development/libraries/libhwy/default.nix b/pkgs/development/libraries/libhwy/default.nix
new file mode 100644
index 0000000000000..7656e063822da
--- /dev/null
+++ b/pkgs/development/libraries/libhwy/default.nix
@@ -0,0 +1,47 @@
+{ lib, stdenv, cmake, ninja, gtest, fetchpatch, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "libhwy";
+  version = "0.15.0";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "highway";
+    rev = version;
+    sha256 = "sha256-v2HyyHtBydr7QiI83DW1yRv2kWjUOGxFT6mmdrN9XPo=";
+  };
+
+  patches = [
+    # Remove on next release
+    # https://github.com/google/highway/issues/460
+    (fetchpatch {
+      name = "hwy-add-missing-includes.patch";
+      url = "https://github.com/google/highway/commit/8ccab40c2f931aca6004d175eec342cc60f6baec.patch";
+      sha256 = "sha256-wlp5gIvK2+OlKtsZwxq/pXTbESkUtimHXaYDjcBzmQ0=";
+    })
+  ];
+
+  nativeBuildInputs = [ cmake ninja ];
+
+  checkInputs = [ gtest ];
+
+  # Required for case-insensitive filesystems ("BUILD" exists)
+  dontUseCmakeBuildDir = true;
+
+  cmakeFlags = [
+    "-GNinja"
+    "-DCMAKE_INSTALL_LIBDIR=lib"
+    "-DCMAKE_INSTALL_INCLUDEDIR=include"
+  ] ++ lib.optional doCheck "-DHWY_SYSTEM_GTEST:BOOL=ON";
+
+  # hydra's darwin machines run into https://github.com/libjxl/libjxl/issues/408
+  doCheck = !stdenv.hostPlatform.isDarwin;
+
+  meta = with lib; {
+    description = "Performance-portable, length-agnostic SIMD with runtime dispatch";
+    homepage = "https://github.com/google/highway";
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ zhaofengli ];
+  };
+}
diff --git a/pkgs/development/libraries/libical/default.nix b/pkgs/development/libraries/libical/default.nix
index 909ee73e69a6d..f4a1959a512c7 100644
--- a/pkgs/development/libraries/libical/default.nix
+++ b/pkgs/development/libraries/libical/default.nix
@@ -20,7 +20,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libical";
-  version = "3.0.10";
+  version = "3.0.11";
 
   outputs = [ "out" "dev" ]; # "devdoc" ];
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     owner = "libical";
     repo = "libical";
     rev = "v${version}";
-    sha256 = "sha256-fLmEJlkZLYLcKZqZwitf8rH261QDPTJZf/+/+FMsGIg=";
+    sha256 = "sha256-9kMYqWITZ2LlBDebJUZFWyVclAjfIZtc3Dm7lii9ZMc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libimagequant/default.nix b/pkgs/development/libraries/libimagequant/default.nix
index 348f610bf1839..5f4d500758956 100644
--- a/pkgs/development/libraries/libimagequant/default.nix
+++ b/pkgs/development/libraries/libimagequant/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libimagequant";
-  version = "2.15.1";
+  version = "2.17.0";
 
   src = fetchFromGitHub {
     owner = "ImageOptim";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ElMwLeUdrJeJJ9YoieCF/CUNcNMwj5WcjXmMW/nMyAw=";
+    sha256 = "sha256-ZoBCZsoUO66X4sDbMO89g4IX5+jqGMLGR7aC2UwD2tE=";
   };
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/libime/default.nix b/pkgs/development/libraries/libime/default.nix
index b8efaf8017d2c..7584e29b6914b 100644
--- a/pkgs/development/libraries/libime/default.nix
+++ b/pkgs/development/libraries/libime/default.nix
@@ -26,13 +26,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "libime";
-  version = "1.0.10";
+  version = "1.0.11";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = "libime";
     rev = version;
-    sha256 = "sha256-dHlya2vC3ugslP0K2oIHadcZQTmzt+tzNMkLy8V5M1Q=";
+    sha256 = "sha256-0yo0D9Yxn7tx1HtEaQvWCDwpWxnRVa1rIGK/mC4G8CI=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/libraries/libindicator/default.nix b/pkgs/development/libraries/libindicator/default.nix
index 139672f6d8058..d06657b0081de 100644
--- a/pkgs/development/libraries/libindicator/default.nix
+++ b/pkgs/development/libraries/libindicator/default.nix
@@ -5,13 +5,11 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  name = "libindicator-gtk${gtkVersion}-${version}";
-  version = "${versionMajor}.${versionMinor}";
-  versionMajor = "12.10";
-  versionMinor = "1";
+  pname = "libindicator-gtk${gtkVersion}";
+  version = "12.10.1";
 
   src = fetchurl {
-    url = "${meta.homepage}/${versionMajor}/${version}/+download/libindicator-${version}.tar.gz";
+    url = "https://launchpad.net/libindicator/${lib.versions.majorMinor version}/${version}/+download/libindicator-${version}.tar.gz";
     sha256 = "b2d2e44c10313d5c9cd60db455d520f80b36dc39562df079a3f29495e8f9447f";
   };
 
diff --git a/pkgs/development/libraries/libinotify-kqueue/default.nix b/pkgs/development/libraries/libinotify-kqueue/default.nix
index 1f147b0ad5c57..d01407b43d0f0 100644
--- a/pkgs/development/libraries/libinotify-kqueue/default.nix
+++ b/pkgs/development/libraries/libinotify-kqueue/default.nix
@@ -1,12 +1,14 @@
-{ lib, stdenv, fetchzip, autoreconfHook }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   pname = "libinotify-kqueue";
   version = "20180201";
 
-  src = fetchzip {
-    url = "https://github.com/libinotify-kqueue/libinotify-kqueue/archive/${version}.tar.gz";
-    sha256 = "0dkh6n0ghhcl7cjkjmpin118h7al6i4vlkmw57vip5f6ngr6q3pl";
+  src = fetchFromGitHub {
+    owner = "libinotify-kqueue";
+    repo = "libinotify-kqueue";
+    rev = version;
+    sha256 = "sha256-9A5s8rPGlRv3KbxOukk0VB2IQrDxVjklO5RB+IA1cDY=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix
index 54843486e1372..89bdc15ff62c1 100644
--- a/pkgs/development/libraries/libinput/default.nix
+++ b/pkgs/development/libraries/libinput/default.nix
@@ -1,47 +1,71 @@
-{ lib, stdenv, fetchurl, pkg-config, meson, ninja
-, libevdev, mtdev, udev, libwacom
-, documentationSupport ? false, doxygen, graphviz # Documentation
-, eventGUISupport ? false, cairo, glib, gtk3 # GUI event viewer support
-, testsSupport ? false, check, valgrind, python3
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, meson
+, ninja
+, libevdev
+, mtdev
+, udev
+, libwacom
+, documentationSupport ? false
+, doxygen
+, graphviz
+, runCommand
+, eventGUISupport ? false
+, cairo
+, glib
+, gtk3
+, testsSupport ? false
+, check
+, valgrind
+, python3
 , nixosTests
 }:
 
 let
   mkFlag = optSet: flag: "-D${flag}=${lib.boolToString optSet}";
 
-  sphinx-build = if documentationSupport then
-    python3.pkgs.sphinx.overrideAttrs (super: {
-      propagatedBuildInputs = super.propagatedBuildInputs ++ (with python3.pkgs; [ recommonmark sphinx_rtd_theme ]);
-
-      postFixup = super.postFixup or "" + ''
-        # Do not propagate Python
-        rm $out/nix-support/propagated-build-inputs
-      '';
-    })
-  else null;
+  sphinx-build =
+    let
+      env = python3.withPackages (pp: with pp; [
+        sphinx
+        recommonmark
+        sphinx_rtd_theme
+      ]);
+    in
+    # Expose only the sphinx-build binary to avoid contaminating
+    # everything with Sphinx’s Python environment.
+    runCommand "sphinx-build" { } ''
+      mkdir -p "$out/bin"
+      ln -s "${env}/bin/sphinx-build" "$out/bin"
+    '';
 in
 
 stdenv.mkDerivation rec {
   pname = "libinput";
-  version = "1.19.1";
+  version = "1.19.3";
+
+  outputs = [ "bin" "out" "dev" ];
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libinput/libinput-${version}.tar.xz";
-    sha256 = "sha256-C9z1sXg7c3hUt68coi32e8Nqb+fJz6cfAekUn5IgRG0=";
+    sha256 = "sha256-PK54zN4Z19Dzh+WLxzTU0Xq19kJvVKnotyjJCxe6oGg=";
   };
 
-  outputs = [ "bin" "out" "dev" ];
-
-  mesonFlags = [
-    (mkFlag documentationSupport "documentation")
-    (mkFlag eventGUISupport "debug-gui")
-    (mkFlag testsSupport "tests")
-    "--sysconfdir=/etc"
-    "--libexecdir=${placeholder "bin"}/libexec"
+  patches = [
+    ./udev-absolute-path.patch
   ];
 
-  nativeBuildInputs = [ pkg-config meson ninja ]
-    ++ lib.optionals documentationSupport [ doxygen graphviz sphinx-build ];
+  nativeBuildInputs = [
+    pkg-config
+    meson
+    ninja
+  ] ++ lib.optionals documentationSupport [
+    doxygen
+    graphviz
+    sphinx-build
+  ];
 
   buildInputs = [
     libevdev
@@ -53,20 +77,34 @@ stdenv.mkDerivation rec {
       pyyaml
       setuptools
     ]))
-  ] ++ lib.optionals eventGUISupport [ cairo glib gtk3 ];
+  ] ++ lib.optionals eventGUISupport [
+    # GUI event viewer
+    cairo
+    glib
+    gtk3
+  ];
+
+  propagatedBuildInputs = [
+    udev
+  ];
 
   checkInputs = [
     check
     valgrind
   ];
 
-  propagatedBuildInputs = [ udev ];
+  mesonFlags = [
+    (mkFlag documentationSupport "documentation")
+    (mkFlag eventGUISupport "debug-gui")
+    (mkFlag testsSupport "tests")
+    "--sysconfdir=/etc"
+    "--libexecdir=${placeholder "bin"}/libexec"
+  ];
 
-  patches = [ ./udev-absolute-path.patch ];
+  doCheck = testsSupport && stdenv.hostPlatform == stdenv.buildPlatform;
 
   postPatch = ''
     patchShebangs \
-      tools/helper-copy-and-exec-from-tmp.sh \
       test/symbols-leak-test \
       test/check-leftover-udev-rules.sh \
       test/helper-copy-and-exec-from-tmp.sh
@@ -75,17 +113,15 @@ stdenv.mkDerivation rec {
     sed -i "/install_subdir('libinput', install_dir : dir_etc)/d" meson.build
   '';
 
-  doCheck = testsSupport && stdenv.hostPlatform == stdenv.buildPlatform;
-
   passthru.tests = {
     libinput-module = nixosTests.libinput;
   };
 
   meta = with lib; {
     description = "Handles input devices in Wayland compositors and provides a generic X.Org input driver";
-    homepage    = "https://www.freedesktop.org/wiki/Software/libinput/";
-    license     = licenses.mit;
-    platforms   = platforms.unix;
-    maintainers = with maintainers; [ codyopel ];
+    homepage = "https://www.freedesktop.org/wiki/Software/libinput/";
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ codyopel ] ++ teams.freedesktop.members;
   };
 }
diff --git a/pkgs/development/libraries/libite/default.nix b/pkgs/development/libraries/libite/default.nix
index 3c1d1e8902075..067eba793f7f3 100644
--- a/pkgs/development/libraries/libite/default.nix
+++ b/pkgs/development/libraries/libite/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libite";
-  version = "2.4.0";
+  version = "2.5.1";
 
   src = fetchFromGitHub {
     owner = "troglobit";
     repo = "libite";
     rev = "v${version}";
-    sha256 = "sha256-EV1YVOxd92z2hBZIqe6jzYV06YfNTAbZntZQdH05lBI=";
+    sha256 = "sha256-G9X0ZMyasS9praogWnLDU1LeTvK4fYPgJ89o2y3AIJI=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/development/libraries/libjcat/default.nix b/pkgs/development/libraries/libjcat/default.nix
index f027fbe3cb8bf..f40898d11815f 100644
--- a/pkgs/development/libraries/libjcat/default.nix
+++ b/pkgs/development/libraries/libjcat/default.nix
@@ -18,7 +18,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libjcat";
-  version = "0.1.7";
+  version = "0.1.10";
 
   outputs = [ "bin" "out" "dev" "devdoc" "man" "installedTests" ];
 
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     owner = "hughsie";
     repo = "libjcat";
     rev = version;
-    sha256 = "sha256-WYCYRFjjy9nr1p1SqzBGCBZ5vkhFybddXpHUcwdEDIQ=";
+    sha256 = "sha256-6fqcP8LWvRoDf5gJz+kW0w5+3PP/luuoPMak1QLKzzM=";
   };
 
   patches = [
@@ -43,9 +43,7 @@ stdenv.mkDerivation rec {
     gobject-introspection
     vala
     gtk-doc
-    (python3.withPackages (pkgs: with pkgs; [
-      setuptools
-    ]))
+    python3
   ];
 
   buildInputs = [
@@ -60,10 +58,6 @@ stdenv.mkDerivation rec {
     "-Dinstalled_test_prefix=${placeholder "installedTests"}"
   ];
 
-  postPatch = ''
-    patchShebangs contrib/generate-version-script.py
-  '';
-
   doCheck = true;
 
   passthru = {
diff --git a/pkgs/development/libraries/libjpeg-turbo/default.nix b/pkgs/development/libraries/libjpeg-turbo/default.nix
index 3d7df2bba9cbe..92aaf6201b936 100644
--- a/pkgs/development/libraries/libjpeg-turbo/default.nix
+++ b/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.1.0";
+  version = "2.1.2";
 
   src = fetchFromGitHub {
     owner = "libjpeg-turbo";
     repo = "libjpeg-turbo";
     rev = version;
-    sha256 = "sha256-Ma3Q/zMJPjsQmoaYJtVbHJOx65AfGLWJYi2iRFm3l5s=";
+    sha256 = "sha256-mlHueKAU/uNUdV9s4jWKAE+XVJdpEFhw2hxGvqRwAGc=";
   };
 
   # This is needed by freeimage
diff --git a/pkgs/development/libraries/libjpeg/default.nix b/pkgs/development/libraries/libjpeg/default.nix
index 028bf5cac3379..6a6009c98e964 100644
--- a/pkgs/development/libraries/libjpeg/default.nix
+++ b/pkgs/development/libraries/libjpeg/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libjpeg";
-  version = "9d";
+  version = "9e";
 
   src = fetchurl {
     url = "http://www.ijg.org/files/jpegsrc.v${version}.tar.gz";
-    sha256 = "1vkip9rz4hz8f31a2kl7wl7f772wg1z0fg1fbd1653wzwlxllhvc";
+    sha256 = "sha256-QHfWpqda6wGIT3CJGdJZNMkzBeSffj8225EpMg5vTz0=";
   };
 
   configureFlags = lib.optional static "--enable-static --disable-shared";
diff --git a/pkgs/development/libraries/libjxl/default.nix b/pkgs/development/libraries/libjxl/default.nix
index b406654caba1f..081ddaf4988a5 100644
--- a/pkgs/development/libraries/libjxl/default.nix
+++ b/pkgs/development/libraries/libjxl/default.nix
@@ -1,4 +1,5 @@
 { stdenv, lib, fetchFromGitHub
+, fetchpatch
 , asciidoc
 , brotli
 , cmake
@@ -7,6 +8,7 @@
 , giflib
 , gperftools
 , gtest
+, libhwy
 , libjpeg
 , libpng
 , libwebp
@@ -18,23 +20,34 @@
 
 stdenv.mkDerivation rec {
   pname = "libjxl";
-  version = "0.5";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "libjxl";
     repo = "libjxl";
     rev = "v${version}";
-    sha256 = "0grljgmy6cfhm8zni9d1mdn01qzc49k1pl75vhr7qcd3sp4r8lxm";
+    sha256 = "sha256-fTK5hyU9PZ6nigMsfzVugwviihgAXfEcLF+l+n5h+54=";
     # There are various submodules in `third_party/`.
     fetchSubmodules = true;
   };
 
-  # hydra's darwin machines run into https://github.com/libjxl/libjxl/issues/408
-  # unless we disable highway's tests
-  postPatch = lib.optional stdenv.isDarwin ''
-    substituteInPlace third_party/highway/CMakeLists.txt \
-      --replace 'if(BUILD_TESTING)' 'if(false)'
-  '';
+  patches = [
+    # present in master, remove after 0.7?
+    (fetchpatch {
+      name = "fix-link-lld-macho.patch";
+      url = "https://github.com/libjxl/libjxl/commit/88fe3fff3dc70c72405f57c69feffd9823930034.patch";
+      sha256 = "1419fyiq4srpj72cynwyvqy8ldi7vn9asvkp5fsbmiqkyhb15jpk";
+    })
+
+    # "robust statistics" have been removed in upstream mainline as they are
+    # conidered to cause "interoperability problems". sure enough the tests
+    # fail with precision issues on aarch64.
+    (fetchpatch {
+      name = "remove-robust-and-descriptive-statistics.patch";
+      url = "https://github.com/libjxl/libjxl/commit/204f87a5e4d684544b13900109abf040dc0b402b.patch";
+      sha256 = "sha256-DoAaYWLmQ+R9GZbHMTYGe0gBL9ZesgtB+2WhmbARna8=";
+    })
+  ];
 
   nativeBuildInputs = [
     asciidoc # for docs
@@ -66,6 +79,7 @@ stdenv.mkDerivation rec {
     brotli
     giflib
     gperftools # provides `libtcmalloc`
+    libhwy
     libjpeg
     libpng
     libwebp
@@ -81,6 +95,9 @@ stdenv.mkDerivation rec {
     # using the vendorered ones is easier.
     "-DJPEGXL_FORCE_SYSTEM_BROTLI=ON"
 
+    # Use our version of highway, though it is still statically linked in
+    "-DJPEGXL_FORCE_SYSTEM_HWY=ON"
+
     # TODO: Update this package to enable this (overridably via an option):
     # Viewer tools for evaluation.
     # "-DJPEGXL_ENABLE_VIEWERS=ON"
@@ -92,13 +109,17 @@ stdenv.mkDerivation rec {
     # "-DJPEGXL_ENABLE_PLUGINS=ON"
   ];
 
+  LDFLAGS = lib.optionalString stdenv.hostPlatform.isRiscV "-latomic";
+
   doCheck = true;
 
   # The test driver runs a test `LibraryCLinkageTest` which without
   # LD_LIBRARY_PATH setting errors with:
   #     /build/source/build/tools/tests/libjxl_test: error while loading shared libraries: libjxl.so.0
   # The required file is in the build directory (`$PWD`).
-  preCheck = ''
+  preCheck = if stdenv.isDarwin then ''
+    export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH''${DYLD_LIBRARY_PATH:+:}$PWD
+  '' else ''
     export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD
   '';
 
@@ -108,6 +129,5 @@ stdenv.mkDerivation rec {
     license = licenses.bsd3;
     maintainers = with maintainers; [ nh2 ];
     platforms = platforms.all;
-    broken = stdenv.hostPlatform.isAarch64; # `internal compiler error`, see https://github.com/NixOS/nixpkgs/pull/103160#issuecomment-866388610
   };
 }
diff --git a/pkgs/development/libraries/libksba/default.nix b/pkgs/development/libraries/libksba/default.nix
index 63c0ed63bae4a..e6fb5162b7a69 100644
--- a/pkgs/development/libraries/libksba/default.nix
+++ b/pkgs/development/libraries/libksba/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libksba";
-  version = "1.5.1";
+  version = "1.6.0";
 
   src = fetchurl {
     url = "mirror://gnupg/libksba/libksba-${version}.tar.bz2";
-    sha256 = "sha256-sPTGXk5EfZojSfa4wOd6KL6VMeRUi6AsVF0fRtx7+SE=";
+    sha256 = "sha256-2taD5vLZFdiAqkvtXOqaEVaQuJNbeKG74BZpGJMHpIs=";
   };
 
   outputs = [ "out" "dev" "info" ];
diff --git a/pkgs/development/libraries/liblcf/default.nix b/pkgs/development/libraries/liblcf/default.nix
index 50c41982450f9..45bb7f5b60edc 100644
--- a/pkgs/development/libraries/liblcf/default.nix
+++ b/pkgs/development/libraries/liblcf/default.nix
@@ -2,17 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "liblcf";
-  version = "0.6.2";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "EasyRPG";
     repo = "liblcf";
     rev = version;
-    sha256 = "0b0bz9ydpc98mxbg78bgf8kil85kxyqgkzxgsjq7awzmyw7f3c1c";
+    sha256 = "sha256-69cYZ8hJ92gK39gueaEoUM0K7BDWIQ/0NvcQ/6e3Sg8=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
   propagatedBuildInputs = [ expat icu ];
+  enableParallelBuilding = true;
 
   meta = with lib; {
     description = "Library to handle RPG Maker 2000/2003 and EasyRPG projects";
diff --git a/pkgs/development/libraries/liblogging/default.nix b/pkgs/development/libraries/liblogging/default.nix
index 4a28bf6774124..df27688e10524 100644
--- a/pkgs/development/libraries/liblogging/default.nix
+++ b/pkgs/development/libraries/liblogging/default.nix
@@ -3,10 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "liblogging-1.0.6";
+  pname = "liblogging";
+  version = "1.0.6";
 
   src = fetchurl {
-    url = "http://download.rsyslog.com/liblogging/${name}.tar.gz";
+    url = "http://download.rsyslog.com/liblogging/liblogging-${version}.tar.gz";
     sha256 = "14xz00mq07qmcgprlj5b2r21ljgpa4sbwmpr6jm2wrf8wms6331k";
   };
 
diff --git a/pkgs/development/libraries/liblognorm/default.nix b/pkgs/development/libraries/liblognorm/default.nix
index 293f72d67b2b2..af4190f968333 100644
--- a/pkgs/development/libraries/liblognorm/default.nix
+++ b/pkgs/development/libraries/liblognorm/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, libestr, json_c, pcre, fastJson }:
 
 stdenv.mkDerivation rec {
-  name = "liblognorm-2.0.6";
+  pname = "liblognorm";
+  version = "2.0.6";
 
   src = fetchurl {
-    url = "http://www.liblognorm.com/files/download/${name}.tar.gz";
+    url = "http://www.liblognorm.com/files/download/liblognorm-${version}.tar.gz";
     sha256 = "1wpn15c617r7lfm1z9d5aggmmi339s6yn4pdz698j0r2bkl5gw6g";
   };
 
diff --git a/pkgs/development/libraries/libmbim/default.nix b/pkgs/development/libraries/libmbim/default.nix
index 83950e9825835..5a57dfb578dee 100644
--- a/pkgs/development/libraries/libmbim/default.nix
+++ b/pkgs/development/libraries/libmbim/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmbim";
-  version = "1.26.0";
+  version = "1.26.2";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libmbim/${pname}-${version}.tar.xz";
-    sha256 = "1kqkx139z62w391bz6lwmcjg7v12jxlcm7hj88222xrcn8k0j7qy";
+    sha256 = "sha256-EMd79bXrjJK6gOm1GZI62biYNivI4ZKOK8mhfuumSa8=";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/development/libraries/libmd/default.nix b/pkgs/development/libraries/libmd/default.nix
index 7093376aa7e53..a429cb219d582 100644
--- a/pkgs/development/libraries/libmd/default.nix
+++ b/pkgs/development/libraries/libmd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmd";
-  version = "1.0.3";
+  version = "1.0.4";
 
   src = fetchurl {
     url = "https://archive.hadrons.org/software/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0jmga8y94h857ilra3qjaiax3wd5pd6mx1h120zhl9fcjmzhj0js";
+    sha256 = "sha256-9RySEELjS+3e3tS3VVdlZVnPWx8kSAM7TB7sEcB+Uw8=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/libraries/libmikmod/default.nix b/pkgs/development/libraries/libmikmod/default.nix
index 02ccf0c66fb5e..c7a00e7372dd3 100644
--- a/pkgs/development/libraries/libmikmod/default.nix
+++ b/pkgs/development/libraries/libmikmod/default.nix
@@ -4,9 +4,11 @@ let
   inherit (lib) optional optionalString;
 
 in stdenv.mkDerivation rec {
-  name = "libmikmod-3.3.11.1";
+  pname = "libmikmod";
+  version = "3.3.11.1";
+
   src = fetchurl {
-    url = "mirror://sourceforge/mikmod/${name}.tar.gz";
+    url = "mirror://sourceforge/mikmod/libmikmod-${version}.tar.gz";
     sha256 = "06bdnhb0l81srdzg6gn2v2ydhhaazza7rshrcj3q8dpqr3gn97dd";
   };
 
diff --git a/pkgs/development/libraries/libmms/default.nix b/pkgs/development/libraries/libmms/default.nix
index 83add1d42a5d4..0d099e77b6e3c 100644
--- a/pkgs/development/libraries/libmms/default.nix
+++ b/pkgs/development/libraries/libmms/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, glib, pkg-config }:
 
 stdenv.mkDerivation rec {
-  name = "libmms-0.6.4";
+  pname = "libmms";
+  version = "0.6.4";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libmms/${name}.tar.gz";
+    url = "mirror://sourceforge/libmms/libmms-${version}.tar.gz";
     sha256 = "0kvhxr5hkabj9v7ah2rzkbirndfqdijd9hp8v52c1z6bxddf019w";
   };
 
diff --git a/pkgs/development/libraries/libmodbus/default.nix b/pkgs/development/libraries/libmodbus/default.nix
index b311c4f041818..d5a5647837dd9 100644
--- a/pkgs/development/libraries/libmodbus/default.nix
+++ b/pkgs/development/libraries/libmodbus/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libmodbus-3.1.6";
+  pname = "libmodbus";
+  version = "3.1.7";
 
   src = fetchurl {
-    url = "http://libmodbus.org/releases/${name}.tar.gz";
-    sha256 = "05kwz0n5gn9m33cflzv87lz3zp502yp8fpfzbx70knvfl6agmnfp";
+    url = "http://libmodbus.org/releases/libmodbus-${version}.tar.gz";
+    sha256 = "sha256-ff6VhDHQVwsnHhpbMpt2pljonGFM8RnrWq23Jch/j70=";
   };
 
   configureFlags = [
diff --git a/pkgs/development/libraries/libmodulemd/default.nix b/pkgs/development/libraries/libmodulemd/default.nix
index 79f590af5ffd1..8f59975a59672 100644
--- a/pkgs/development/libraries/libmodulemd/default.nix
+++ b/pkgs/development/libraries/libmodulemd/default.nix
@@ -56,7 +56,6 @@ stdenv.mkDerivation rec {
   ];
 
   mesonFlags = [
-    "-Ddeveloper_build=false"
     "-Dgobject_overrides_dir_py3=${placeholder "py"}/${python3.sitePackages}/gi/overrides"
   ];
 
diff --git a/pkgs/development/libraries/libmowgli/default.nix b/pkgs/development/libraries/libmowgli/default.nix
index e227c09b2b612..a2a3971844bc1 100644
--- a/pkgs/development/libraries/libmowgli/default.nix
+++ b/pkgs/development/libraries/libmowgli/default.nix
@@ -1,12 +1,14 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
   pname = "libmowgli";
   version = "2.1.3";
 
-  src = fetchurl {
-    url = "https://github.com/atheme/libmowgli-2/archive/v${version}.tar.gz";
-    sha256 = "0xx4vndmwz40pxa5gikl8z8cskpdl9a30i2i5fjncqzlp4pspymp";
+  src = fetchFromGitHub {
+    owner = "atheme";
+    repo = "libmowgli-2";
+    rev = "v${version}";
+    sha256 = "sha256-jlw6ixMoIdIjmQ86N+KN+Gez218sw894POkcCYnT0s0=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/libmx/default.nix b/pkgs/development/libraries/libmx/default.nix
index f4256de6981b5..683c21095e6bd 100644
--- a/pkgs/development/libraries/libmx/default.nix
+++ b/pkgs/development/libraries/libmx/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl
+{ lib, stdenv, fetchFromGitHub
 , libtool, pkg-config, automake, autoconf, intltool
 , glib, gobject-introspection, gtk2, gtk-doc
 , clutter, clutter-gtk
@@ -8,9 +8,11 @@ stdenv.mkDerivation rec {
   pname = "libmx";
   version = "1.4.7";
 
-  src = fetchurl {
-    url = "https://github.com/clutter-project/mx/archive/${version}.tar.gz";
-    sha256 = "8a7514ea33c1dec7251d0141e24a702e7701dc9f00348cbcf1816925b7f74dbc";
+  src = fetchFromGitHub {
+    owner = "clutter-project";
+    repo = "mx";
+    rev = version;
+    sha256 = "sha256-+heIPSkg3d22xsU48UOTJ9FPLXC7zLivcnabQOM9aEk=";
   };
 
   # remove the following superfluous checks
diff --git a/pkgs/development/libraries/libmysqlconnectorcpp/default.nix b/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
index 40d814814caa9..5303dbed6ca87 100644
--- a/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
+++ b/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmysqlconnectorcpp";
-  version = "8.0.23";
+  version = "8.0.28";
 
   src = fetchurl {
     url = "https://cdn.mysql.com/Downloads/Connector-C++/mysql-connector-c++-${version}-src.tar.gz";
-    sha256 = "sha256-mvBklaaggP7WLacJePHLDGbwWO3V6p7ak0WmS/jsaI8=";
+    sha256 = "sha256-yyb+neBaO18e0ioZlCm2eR7OGEM+sEZeKnP89EWGQgs=";
   };
 
   nativeBuildInputs = [
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "https://dev.mysql.com/downloads/connector/cpp/";
     description = "C++ library for connecting to mysql servers";
-    license = lib.licenses.gpl2;
+    license = lib.licenses.gpl2Only;
     platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libnatpmp/default.nix b/pkgs/development/libraries/libnatpmp/default.nix
index 36c1c0dc098c3..9672d1cceca76 100644
--- a/pkgs/development/libraries/libnatpmp/default.nix
+++ b/pkgs/development/libraries/libnatpmp/default.nix
@@ -10,13 +10,10 @@ stdenv.mkDerivation rec {
     sha256 = "1c1n8n7mp0amsd6vkz32n8zj3vnsckv308bb7na0dg0r8969rap1";
   };
 
-  postPatch = ''
-    substituteInPlace Makefile \
-      --replace "gcc" "${stdenv.cc.targetPrefix}cc" \
-      --replace "ar" "${stdenv.cc.targetPrefix}ar"
-  '';
-
-  makeFlags = [ "INSTALLPREFIX=$(out)" ];
+  makeFlags = [
+    "INSTALLPREFIX=$(out)"
+    "CC:=$(CC)"
+  ];
 
   postFixup = ''
     chmod +x $out/lib/*
diff --git a/pkgs/development/libraries/libnats-c/default.nix b/pkgs/development/libraries/libnats-c/default.nix
index 3d1e2b7ac4a34..7913515df66c5 100644
--- a/pkgs/development/libraries/libnats-c/default.nix
+++ b/pkgs/development/libraries/libnats-c/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname   = "libnats";
-  version = "2.1.0";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner  = "nats-io";
     repo   = "nats.c";
-    rev    = "refs/tags/v${version}";
-    sha256 = "16a0f0gvrmyrqvmh6vinqny3qhm6wyzw5ijnn3r82b1gqlpws0fz";
+    rev    = "v${version}";
+    sha256 = "1ngji3sa44y27lnq4x5dzbd117s9psx4w0j50b4c2b72cf2z139q";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/libndp/default.nix b/pkgs/development/libraries/libndp/default.nix
index 42f6ecc648920..6109c48b036e0 100644
--- a/pkgs/development/libraries/libndp/default.nix
+++ b/pkgs/development/libraries/libndp/default.nix
@@ -1,13 +1,16 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchurl, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  name = "libndp-1.8";
+  pname = "libndp";
+  version = "1.8";
 
   src = fetchurl {
-    url = "http://libndp.org/files/${name}.tar.gz";
+    url = "http://libndp.org/files/libndp-${version}.tar.gz";
     sha256 = "sha256-iP+2buLrUn8Ub1wC9cy8OLqX0rDVfrRr+6SIghqwwCs=";
   };
 
+  nativeBuildInputs = [ autoreconfHook ];
+
   meta = with lib; {
     homepage = "http://libndp.org/";
     description = "Library for Neighbor Discovery Protocol";
diff --git a/pkgs/development/libraries/libnfnetlink/default.nix b/pkgs/development/libraries/libnfnetlink/default.nix
index a070d2e3af2eb..b22722d3439e7 100644
--- a/pkgs/development/libraries/libnfnetlink/default.nix
+++ b/pkgs/development/libraries/libnfnetlink/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libnfnetlink-1.0.1";
+  pname = "libnfnetlink";
+  version = "1.0.1";
 
   src = fetchurl {
-    url = "https://www.netfilter.org/projects/libnfnetlink/files/${name}.tar.bz2";
+    url = "https://www.netfilter.org/projects/libnfnetlink/files/libnfnetlink-${version}.tar.bz2";
     sha256 = "06mm2x4b01k3m7wnrxblk9j0mybyr4pfz28ml7944xhjx6fy2w7j";
   };
 
diff --git a/pkgs/development/libraries/libnice/default.nix b/pkgs/development/libraries/libnice/default.nix
index 87f2d73271253..42fb795d38ed7 100644
--- a/pkgs/development/libraries/libnice/default.nix
+++ b/pkgs/development/libraries/libnice/default.nix
@@ -13,6 +13,7 @@
 , gupnp-igd
 , gst_all_1
 , gnutls
+, graphviz
 }:
 
 stdenv.mkDerivation rec {
@@ -48,6 +49,7 @@ stdenv.mkDerivation rec {
     gtk-doc
     docbook_xsl
     docbook_xml_dtd_412
+    graphviz
   ];
 
   buildInputs = [
diff --git a/pkgs/development/libraries/libnxml/default.nix b/pkgs/development/libraries/libnxml/default.nix
index 846170011437b..6a0c52c9e99a9 100644
--- a/pkgs/development/libraries/libnxml/default.nix
+++ b/pkgs/development/libraries/libnxml/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, curl}:
 
-stdenv.mkDerivation {
-  name = "libnxml-0.18.3";
+stdenv.mkDerivation rec {
+  pname = "libnxml";
+  version = "0.18.3";
 
   src = fetchurl {
-    url = "https://www.autistici.org/bakunin/libnxml/libnxml-0.18.3.tar.gz";
+    url = "https://www.autistici.org/bakunin/libnxml/libnxml-${version}.tar.gz";
     sha256 = "0ix5b9bxd7r517vhgcxwdviq4m0g0pq46s5g3h04gcqnpbin150g";
   };
 
diff --git a/pkgs/development/libraries/liboil/default.nix b/pkgs/development/libraries/liboil/default.nix
index 8d92997581595..62fa4f10aa417 100644
--- a/pkgs/development/libraries/liboil/default.nix
+++ b/pkgs/development/libraries/liboil/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, pkg-config }:
 
 stdenv.mkDerivation rec {
-  name = "liboil-0.3.17";
+  pname = "liboil";
+  version = "0.3.17";
 
   src = fetchurl {
-    url = "${meta.homepage}/download/${name}.tar.gz";
+    url = "${meta.homepage}/download/liboil-${version}.tar.gz";
     sha256 = "0sgwic99hxlb1av8cm0albzh8myb7r3lpcwxfm606l0bkc3h4pqh";
   };
 
diff --git a/pkgs/development/libraries/liboop/default.nix b/pkgs/development/libraries/liboop/default.nix
index 5d849ebe1caf9..7a5d38db0d36c 100644
--- a/pkgs/development/libraries/liboop/default.nix
+++ b/pkgs/development/libraries/liboop/default.nix
@@ -1,7 +1,8 @@
 {lib, stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "liboop-1.0";
+  pname = "liboop";
+  version = "1.0";
 
   src = fetchurl {
     url = "http://download.ofb.net/liboop/liboop.tar.gz";
diff --git a/pkgs/development/libraries/libosmium/default.nix b/pkgs/development/libraries/libosmium/default.nix
index 917a64f40e94e..01cdc96e39cd6 100644
--- a/pkgs/development/libraries/libosmium/default.nix
+++ b/pkgs/development/libraries/libosmium/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libosmium";
-  version = "2.17.2";
+  version = "2.18.0";
 
   src = fetchFromGitHub {
     owner = "osmcode";
     repo = "libosmium";
     rev = "v${version}";
-    sha256 = "sha256-+WeEK7rWoUPAiAsgd5qT2bwDf+5IlP4uuyh7+i2L/HU=";
+    sha256 = "sha256-IPdaBT6hRNHo8kuOsiKdyiQkRxA/l+44U3qGGG89BTo=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -23,6 +23,10 @@ stdenv.mkDerivation rec {
     description = "Fast and flexible C++ library for working with OpenStreetMap data";
     homepage = "https://osmcode.org/libosmium/";
     license = licenses.boost;
+    changelog = [
+      "https://github.com/osmcode/libosmium/releases/tag/v${version}"
+      "https://github.com/osmcode/libosmium/blob/v${version}/CHANGELOG.md"
+    ];
     maintainers = with maintainers; [ das-g ];
   };
 }
diff --git a/pkgs/development/libraries/libotr/default.nix b/pkgs/development/libraries/libotr/default.nix
index 7c2a2b9a6b9a0..53699ab7eacd3 100644
--- a/pkgs/development/libraries/libotr/default.nix
+++ b/pkgs/development/libraries/libotr/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libgcrypt, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  name = "libotr-4.1.1";
+  pname = "libotr";
+  version = "4.1.1";
 
   src = fetchurl {
-    url = "https://otr.cypherpunks.ca/${name}.tar.gz";
+    url = "https://otr.cypherpunks.ca/libotr-${version}.tar.gz";
     sha256 = "1x8rliydhbibmzwdbyr7pd7n87m2jmxnqkpvaalnf4154hj1hfwb";
   };
 
diff --git a/pkgs/development/libraries/libpinyin/default.nix b/pkgs/development/libraries/libpinyin/default.nix
index 2d802cf28d76e..4f6b2ed00506b 100644
--- a/pkgs/development/libraries/libpinyin/default.nix
+++ b/pkgs/development/libraries/libpinyin/default.nix
@@ -1,4 +1,7 @@
-{ lib, stdenv, fetchurl, fetchFromGitHub
+{ lib
+, stdenv
+, fetchurl
+, fetchFromGitHub
 , autoreconfHook
 , glib
 , db
@@ -7,32 +10,37 @@
 
 let
   modelData = fetchurl {
-    url    = "mirror://sourceforge/libpinyin/models/model17.text.tar.gz";
-    sha256 = "1kb2nswpsqlk2qm5jr7vqcp97f2dx7nvpk24lxjs1g12n252f5z0";
+    url = "mirror://sourceforge/libpinyin/models/model19.text.tar.gz";
+    sha256 = "02zml6m8sj5q97ibpvaj9s9yz3gfj0jnjrfhkn02qv4nwm72lhjn";
   };
 in
 stdenv.mkDerivation rec {
   pname = "libpinyin";
-  version = "2.3.0";
+  version = "2.6.1";
 
   src = fetchFromGitHub {
-    owner  = "libpinyin";
-    repo   = "libpinyin";
-    rev    = version;
-    sha256 = "14fkpp16s5k0pbw5wwd24pqr0qbdjgbl90n9aqwx72m03n7an40l";
+    owner = "libpinyin";
+    repo = "libpinyin";
+    rev = version;
+    sha256 = "0izisma5g9a7mxfxs177pi1d7v9dklm0ar4z404nf2s8x4wcg3ib";
   };
 
   postUnpack = ''
     tar -xzf ${modelData} -C $sourceRoot/data
   '';
 
-  nativeBuildInputs = [ autoreconfHook glib db pkg-config ];
+  nativeBuildInputs = [
+    autoreconfHook
+    glib
+    db
+    pkg-config
+  ];
 
   meta = with lib; {
     description = "Library for intelligent sentence-based Chinese pinyin input method";
-    homepage    = "https://sourceforge.net/projects/libpinyin";
-    license     = licenses.gpl2;
-    maintainers = with maintainers; [ ericsagnes ];
-    platforms   = platforms.linux;
+    homepage = "https://sourceforge.net/projects/libpinyin";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ linsui ericsagnes ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libpipeline/default.nix b/pkgs/development/libraries/libpipeline/default.nix
index b5310c3cb8caa..9e2c834277629 100644
--- a/pkgs/development/libraries/libpipeline/default.nix
+++ b/pkgs/development/libraries/libpipeline/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libpipeline-1.5.3";
+  pname = "libpipeline";
+  version = "1.5.4";
 
   src = fetchurl {
-    url = "mirror://savannah/libpipeline/${name}.tar.gz";
-    sha256 = "1c5dl017xil2ssb6a5vg927bnsbc9vymfgi9ahvqbb8gypx0igsx";
+    url = "mirror://savannah/libpipeline/libpipeline-${version}.tar.gz";
+    sha256 = "sha256-23hb3boKN+8UtO+Cri0YuIJOaYPfuZEDGTheKN8/Gpw=";
   };
 
   patches = lib.optionals stdenv.isDarwin [ ./fix-on-osx.patch ];
diff --git a/pkgs/development/libraries/libplacebo/default.nix b/pkgs/development/libraries/libplacebo/default.nix
index 5ce953be07011..94492132b9bfe 100644
--- a/pkgs/development/libraries/libplacebo/default.nix
+++ b/pkgs/development/libraries/libplacebo/default.nix
@@ -12,18 +12,19 @@
 , libepoxy
 , libGL
 , xorg
+, libunwind
 }:
 
 stdenv.mkDerivation rec {
   pname = "libplacebo";
-  version = "4.157.0";
+  version = "4.192.1";
 
   src = fetchFromGitLab {
     domain = "code.videolan.org";
     owner = "videolan";
     repo = pname;
     rev = "v${version}";
-    sha256 = "08kqsd29h8wm0vz7698wh2mdgpwv6anqc5n7d1spnnamwyfwc64h";
+    sha256 = "13z2f0vwf9fgfzqgkqzvqwa8c8nkymrg5hv7xslfx53dacjfidhy";
   };
 
   nativeBuildInputs = [
@@ -42,6 +43,7 @@ stdenv.mkDerivation rec {
     libepoxy
     libGL
     xorg.libX11
+    libunwind
   ];
 
   mesonFlags = [
diff --git a/pkgs/development/libraries/libplctag/default.nix b/pkgs/development/libraries/libplctag/default.nix
index 334fc61fc3d63..2af3b3f3bcf79 100644
--- a/pkgs/development/libraries/libplctag/default.nix
+++ b/pkgs/development/libraries/libplctag/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libplctag";
-  version = "2.4.8";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = "libplctag";
     repo = "libplctag";
     rev = "v${version}";
-    sha256 = "sha256-GVYG+ioqGo0k6ClrJu2mijtuBBFc9l6dNexNDNyh5+8=";
+    sha256 = "sha256-Xzdljx08aXwD6pE1f/3YBAjvrSzvs2fcXmmLH04GFyg=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/libpng/12.nix b/pkgs/development/libraries/libpng/12.nix
index bf3d5168d6c68..a76a1ada6c876 100644
--- a/pkgs/development/libraries/libpng/12.nix
+++ b/pkgs/development/libraries/libpng/12.nix
@@ -3,10 +3,11 @@
 assert stdenv.hostPlatform == stdenv.buildPlatform -> zlib != null;
 
 stdenv.mkDerivation rec {
-  name = "libpng-1.2.59";
+  pname = "libpng";
+  version = "1.2.59";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libpng/${name}.tar.xz";
+    url = "mirror://sourceforge/libpng/libpng-${version}.tar.xz";
     sha256 = "1izw9ybm27llk8531w6h4jp4rk2rxy2s9vil16nwik5dp0amyqxl";
   };
 
diff --git a/pkgs/development/libraries/libportal/default.nix b/pkgs/development/libraries/libportal/default.nix
index 97c5303eabe72..b261c0395e6dd 100644
--- a/pkgs/development/libraries/libportal/default.nix
+++ b/pkgs/development/libraries/libportal/default.nix
@@ -4,42 +4,66 @@
 , meson
 , ninja
 , pkg-config
-, gtk-doc
-, docbook-xsl-nons
-, docbook_xml_dtd_45
+, gobject-introspection
+, vala
+, gi-docgen
 , glib
+, gtk3
+, gtk4
+, libsForQt5
+, variant ? null
 }:
 
+assert variant == null || variant == "gtk3" || variant == "gtk4" || variant == "qt5";
+
 stdenv.mkDerivation rec {
-  pname = "libportal";
-  version = "0.4";
+  pname = "libportal" + lib.optionalString (variant != null) "-${variant}";
+  version = "0.5";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchFromGitHub {
     owner = "flatpak";
-    repo = pname;
+    repo = "libportal";
     rev = version;
-    sha256 = "fuYZWGkdazq6H0rThqpF6KIcvwgc17o+CiISb1LjBso=";
+    sha256 = "oPPO2f6NNeok0SGh4jELkkOP6VUxXZiwPM/n6CUHm0Q=";
   };
 
   nativeBuildInputs = [
     meson
     ninja
     pkg-config
-    gtk-doc
-    docbook-xsl-nons
-    docbook_xml_dtd_45
+    gi-docgen
+  ] ++ lib.optionals (variant != "qt5") [
+    gobject-introspection
+    vala
   ];
 
   propagatedBuildInputs = [
     glib
+  ] ++ lib.optionals (variant == "gtk3") [
+    gtk3
+  ] ++ lib.optionals (variant == "gtk4") [
+    gtk4
+  ] ++ lib.optionals (variant == "qt5") [
+    libsForQt5.qtbase
+  ];
+
+  mesonFlags = [
+    "-Dbackends=${lib.optionalString (variant != null) variant}"
+    "-Dvapi=${if variant != "qt5" then "true" else "false"}"
+    "-Dintrospection=${if variant != "qt5" then "true" else "false"}"
   ];
 
+  postFixup = ''
+    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+    moveToOutput "share/doc" "$devdoc"
+  '';
+
   meta = with lib; {
     description = "Flatpak portal library";
     homepage = "https://github.com/flatpak/libportal";
-    license = licenses.lgpl2Plus;
+    license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ jtojnar ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/development/libraries/libpqxx/default.nix b/pkgs/development/libraries/libpqxx/default.nix
index e95adbd629422..d7eba4c87396b 100644
--- a/pkgs/development/libraries/libpqxx/default.nix
+++ b/pkgs/development/libraries/libpqxx/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libpqxx";
-  version = "7.6.0";
+  version = "7.7.0";
 
   src = fetchFromGitHub {
     owner = "jtv";
     repo = pname;
     rev = version;
-    sha256 = "sha256-shcGJebjXJ3ORvcdINJFLiuW7ySqe6HyPUQioeUG/wM=";
+    sha256 = "sha256-O30czHwEDXz5xY4o3MWhmEK06OKTKMQCy0M6qwSEpy8=";
   };
 
   nativeBuildInputs = [ gnused python3 ];
diff --git a/pkgs/development/libraries/libproxy/default.nix b/pkgs/development/libraries/libproxy/default.nix
index c5d6bc4612f31..f6bf1e81668d6 100644
--- a/pkgs/development/libraries/libproxy/default.nix
+++ b/pkgs/development/libraries/libproxy/default.nix
@@ -5,8 +5,8 @@
 , zlib
 , dbus
 , networkmanager
-, enableJavaScript ? stdenv.isDarwin || lib.meta.availableOn stdenv.hostPlatform spidermonkey_68
-, spidermonkey_68
+, enableJavaScript ? stdenv.isDarwin || lib.meta.availableOn stdenv.hostPlatform spidermonkey_78
+, spidermonkey_78
 , pcre
 , gsettings-desktop-schemas
 , glib
@@ -17,9 +17,7 @@
 , JavaScriptCore
 }:
 
-let
-  jsRuntime = if stdenv.hostPlatform.isDarwin then JavaScriptCore else spidermonkey_68;
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "libproxy";
   version = "0.4.17";
 
@@ -43,7 +41,7 @@ in stdenv.mkDerivation rec {
     python3
     zlib
   ] ++ lib.optionals enableJavaScript [
-    jsRuntime
+    (if stdenv.hostPlatform.isDarwin then JavaScriptCore else spidermonkey_78)
   ] ++ (if stdenv.hostPlatform.isDarwin then [
     SystemConfiguration
     CoreFoundation
diff --git a/pkgs/development/libraries/libpseudo/default.nix b/pkgs/development/libraries/libpseudo/default.nix
index f06381505739c..58931a8161886 100644
--- a/pkgs/development/libraries/libpseudo/default.nix
+++ b/pkgs/development/libraries/libpseudo/default.nix
@@ -1,9 +1,10 @@
 {lib, stdenv, fetchurl, pkg-config, glib, ncurses}:
 stdenv.mkDerivation rec {
-  name = "libpseudo-1.2.0";
+  pname = "libpseudo";
+  version = "1.2.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libpseudo/${name}.tar.gz";
+    url = "mirror://sourceforge/libpseudo/libpseudo-${version}.tar.gz";
     sha256 = "0d3pw0m3frycr3x5kzqcaj4r2qh43iv6b0fpd6l4yk0aa4a9560n";
   };
 
diff --git a/pkgs/development/libraries/libptytty/default.nix b/pkgs/development/libraries/libptytty/default.nix
new file mode 100644
index 0000000000000..63f50de287c6e
--- /dev/null
+++ b/pkgs/development/libraries/libptytty/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, lib
+, fetchurl
+, cmake
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libptytty";
+  version = "2.0";
+
+  src = fetchurl {
+    url = "http://dist.schmorp.de/libptytty/${pname}-${version}.tar.gz";
+    sha256 = "1xrikmrsdkxhdy9ggc0ci6kg5b1hn3bz44ag1mk5k1zjmlxfscw0";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with lib; {
+    description = "OS independent and secure pty/tty and utmp/wtmp/lastlog";
+    homepage = "http://dist.schmorp.de/libptytty";
+    maintainers = with maintainers; [ rnhmjoj ];
+    platforms = platforms.unix;
+    license = licenses.gpl2;
+  };
+
+}
diff --git a/pkgs/development/libraries/libqalculate/default.nix b/pkgs/development/libraries/libqalculate/default.nix
index 0f7757007005f..bb70ffcd32a5a 100644
--- a/pkgs/development/libraries/libqalculate/default.nix
+++ b/pkgs/development/libraries/libqalculate/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libqalculate";
-  version = "3.22.0";
+  version = "4.0.0";
 
   src = fetchFromGitHub {
     owner = "qalculate";
     repo = "libqalculate";
     rev = "v${version}";
-    sha256 = "sha256-yj6adBP9nZLXZVg62bYenfuiMeyULEql25KbDen9ljA=";
+    sha256 = "sha256-aRHwkdAbM164diIAIyBp1Kt6u/GLyCWTtwF4eFaWbGU=";
   };
 
   outputs = [ "out" "dev" "doc" ];
diff --git a/pkgs/development/libraries/librdf/raptor.nix b/pkgs/development/libraries/librdf/raptor.nix
index ef755b8215500..1dde9402f9026 100644
--- a/pkgs/development/libraries/librdf/raptor.nix
+++ b/pkgs/development/libraries/librdf/raptor.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libxml2, curl }:
 
 stdenv.mkDerivation rec {
-  name = "raptor-1.4.21";
+  pname = "raptor";
+  version = "1.4.21";
 
   src = fetchurl {
-    url = "http://download.librdf.org/source/${name}.tar.gz";
+    url = "http://download.librdf.org/source/raptor-${version}.tar.gz";
     sha256 = "db3172d6f3c432623ed87d7d609161973d2f7098e3d2233d0702fbcc22cfd8ca";
   };
 
diff --git a/pkgs/development/libraries/librdf/rasqal.nix b/pkgs/development/libraries/librdf/rasqal.nix
index 0dd5b87377f3c..fd0f6d2ce6d15 100644
--- a/pkgs/development/libraries/librdf/rasqal.nix
+++ b/pkgs/development/libraries/librdf/rasqal.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, librdf_raptor2, gmp, pkg-config, pcre, libxml2, perl }:
 
 stdenv.mkDerivation rec {
-  name = "rasqal-0.9.33";
+  pname = "rasqal";
+  version = "0.9.33";
 
   src = fetchurl {
-    url = "http://download.librdf.org/source/${name}.tar.gz";
+    url = "http://download.librdf.org/source/rasqal-${version}.tar.gz";
     sha256 = "0z6rrwn4jsagvarg8d5zf0j352kjgi33py39jqd29gbhcnncj939";
   };
 
diff --git a/pkgs/development/libraries/librdf/redland.nix b/pkgs/development/libraries/librdf/redland.nix
index 5ac2c711104b4..252a5037f77cf 100644
--- a/pkgs/development/libraries/librdf/redland.nix
+++ b/pkgs/development/libraries/librdf/redland.nix
@@ -7,10 +7,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "redland-1.0.17";
+  pname = "redland";
+  version = "1.0.17";
 
   src = fetchurl {
-    url = "http://download.librdf.org/source/${name}.tar.gz";
+    url = "http://download.librdf.org/source/redland-${version}.tar.gz";
     sha256 = "de1847f7b59021c16bdc72abb4d8e2d9187cd6124d69156f3326dd34ee043681";
   };
 
diff --git a/pkgs/development/libraries/libre/default.nix b/pkgs/development/libraries/libre/default.nix
index 7c91950a4c4e4..36f1a288f1a58 100644
--- a/pkgs/development/libraries/libre/default.nix
+++ b/pkgs/development/libraries/libre/default.nix
@@ -1,24 +1,22 @@
-{lib, stdenv, fetchurl, zlib, openssl}:
+{ lib, stdenv, fetchFromGitHub, zlib, openssl }:
 stdenv.mkDerivation rec {
-  version = "0.6.1";
+  version = "2.0.1";
   pname = "libre";
-  src = fetchurl {
-    url = "http://www.creytiv.com/pub/re-${version}.tar.gz";
-    sha256 = "0hzyc0hdlw795nyx6ik7h2ihs8wapbj32x8c40xq0484ciwzqnyd";
+  src = fetchFromGitHub {
+    owner = "baresip";
+    repo = "re";
+    rev = "v${version}";
+    sha256 = "sha256-/1J9cs0W96CtnHAoX/jg3FLGD9coa0eOEgf8uMQHuUk=";
   };
   buildInputs = [ zlib openssl ];
   makeFlags = [ "USE_ZLIB=1" "USE_OPENSSL=1" "PREFIX=$(out)" ]
-  ++ lib.optional (stdenv.cc.cc != null) "SYSROOT_ALT=${stdenv.cc.cc}"
-  ++ lib.optional (stdenv.cc.libc != null) "SYSROOT=${lib.getDev stdenv.cc.libc}"
+    ++ lib.optional (stdenv.cc.cc != null) "SYSROOT_ALT=${stdenv.cc.cc}"
+    ++ lib.optional (stdenv.cc.libc != null) "SYSROOT=${lib.getDev stdenv.cc.libc}"
   ;
   meta = {
     description = "A library for real-time communications with async IO support and a complete SIP stack";
-    homepage = "http://www.creytiv.com/re.html";
-    platforms = with lib.platforms; linux;
-    maintainers = with lib.maintainers; [raskin];
+    homepage = "https://github.com/baresip/re";
+    maintainers = with lib.maintainers; [ elohmeier raskin ];
     license = lib.licenses.bsd3;
-    downloadPage = "http://www.creytiv.com/pub/";
-    updateWalker = true;
-    downloadURLRegexp = "/re-.*[.]tar[.].*";
   };
 }
diff --git a/pkgs/development/libraries/libredwg/default.nix b/pkgs/development/libraries/libredwg/default.nix
index e5123fa61af31..53aab44310880 100644
--- a/pkgs/development/libraries/libredwg/default.nix
+++ b/pkgs/development/libraries/libredwg/default.nix
@@ -6,13 +6,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "libredwg";
-  version = "0.12";
+  version = "0.12.4";
 
   src = fetchFromGitHub {
     owner = "LibreDWG";
     repo = pname;
     rev = version;
-    sha256 = "0ayhp3ym30hzp5f6dz7mmp9hpxf6a48nx3kq5crcmzycm5fllbn7";
+    sha256 = "sha256-CZZ5/uCls2tY3PKmD+hBBvp7d7KX8nZuCPf03sa4iXc=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/libraries/librem/default.nix b/pkgs/development/libraries/librem/default.nix
index 349384b4674c4..23c1f2cc34578 100644
--- a/pkgs/development/libraries/librem/default.nix
+++ b/pkgs/development/libraries/librem/default.nix
@@ -1,12 +1,14 @@
-{lib, stdenv, fetchurl, zlib, openssl, libre}:
+{ lib, stdenv, fetchFromGitHub, zlib, openssl, libre }:
 stdenv.mkDerivation rec {
-  version = "0.6.0";
+  version = "1.0.0";
   pname = "librem";
-  src=fetchurl {
-    url = "http://www.creytiv.com/pub/rem-${version}.tar.gz";
-    sha256 = "0b17wma5w9acizk02isk5k83vv47vf1cf9zkmsc1ail677d20xj1";
+  src = fetchFromGitHub {
+    owner = "baresip";
+    repo = "rem";
+    rev = "v${version}";
+    sha256 = "sha256-6Xe9zT0qLLGe1+QCQ9NALoDTaRhHpaTLbCbA+kV7hOA=";
   };
-  buildInputs = [zlib openssl libre];
+  buildInputs = [ zlib openssl libre ];
   makeFlags = [
     "LIBRE_MK=${libre}/share/re/re.mk"
     "LIBRE_INC=${libre}/include/re"
@@ -16,13 +18,9 @@ stdenv.mkDerivation rec {
   ++ lib.optional (stdenv.cc.libc != null) "SYSROOT=${lib.getDev stdenv.cc.libc}"
   ;
   meta = {
-    description = " A library for real-time audio and video processing";
-    homepage = "http://www.creytiv.com/rem.html";
-    platforms = with lib.platforms; linux;
-    maintainers = with lib.maintainers; [raskin];
+    description = "A library for real-time audio and video processing";
+    homepage = "https://github.com/baresip/rem";
+    maintainers = with lib.maintainers; [ elohmeier raskin ];
     license = lib.licenses.bsd3;
-    downloadPage = "http://www.creytiv.com/pub/";
-    updateWalker = true;
-    downloadURLRegexp = "/rem-.*[.]tar[.].*";
   };
 }
diff --git a/pkgs/development/libraries/librep/default.nix b/pkgs/development/libraries/librep/default.nix
index cd007c5fe57a8..3a17d0279dcfe 100644
--- a/pkgs/development/libraries/librep/default.nix
+++ b/pkgs/development/libraries/librep/default.nix
@@ -44,6 +44,7 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.AndersonTorres ];
     platforms = platforms.unix;
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/librep.x86_64-darwin
   };
 }
 # TODO: investigate fetchFromGithub
diff --git a/pkgs/development/libraries/libressl/default.nix b/pkgs/development/libraries/libressl/default.nix
index 0d01eeb81f1a1..7a2718c015395 100644
--- a/pkgs/development/libraries/libressl/default.nix
+++ b/pkgs/development/libraries/libressl/default.nix
@@ -91,7 +91,7 @@ in {
     sha256 = "112bjfrwwqlk0lak7fmfhcls18ydf62cp7gxghf4gklpfl1zyckw";
   };
   libressl_3_4 = generic {
-    version = "3.4.1";
-    sha256 = "0766yxb599lx7qmlmsddiw9wgminz9mc311mav5q23l0rbkflz0h";
+    version = "3.4.2";
+    sha256 = "sha256-y4LKfVRzNpFzUvvSPbL8SDxsRNNRV7MngCFOx0GXs84=";
   };
 }
diff --git a/pkgs/development/libraries/libroxml/default.nix b/pkgs/development/libraries/libroxml/default.nix
index 39c8eab5a65b2..71d78a8b8e590 100644
--- a/pkgs/development/libraries/libroxml/default.nix
+++ b/pkgs/development/libraries/libroxml/default.nix
@@ -1,11 +1,14 @@
 { lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "libroxml-2.3.0";
+stdenv.mkDerivation rec {
+  pname = "libroxml";
+  version = "2.3.0";
+
   src = fetchurl {
-    url = "http://download.libroxml.net/pool/v2.x/libroxml-2.3.0.tar.gz";
+    url = "http://download.libroxml.net/pool/v2.x/libroxml-${version}.tar.gz";
     sha256  = "0y0vc9n4rfbimjp28nx4kdfzz08j5xymh5xjy84l9fhfac5z5a0x";
   };
+
   meta = with lib; {
     homepage = "https://www.libroxml.net/";
     description = "This library is minimum, easy-to-use, C implementation for xml file parsing";
diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix
index 25f8209dd3d17..1de6090b146c5 100644
--- a/pkgs/development/libraries/librsvg/default.nix
+++ b/pkgs/development/libraries/librsvg/default.nix
@@ -14,6 +14,7 @@
 , libobjc
 , rustPlatform
 , rustc
+, rust
 , cargo
 , gnome
 , vala
@@ -24,13 +25,13 @@
 
 stdenv.mkDerivation rec {
   pname = "librsvg";
-  version = "2.52.3";
+  version = "2.52.5";
 
   outputs = [ "out" "dev" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "Nuf1vIjXhgjqf2wF5K/krMFga5rxPChF1DhQc9CCuKQ=";
+    sha256 = "QHy7q1GBN+oYo/MiC+oYD77nXz5b1roQp6hiwab3TYI=";
   };
 
   cargoVendorDir = "vendor";
@@ -78,7 +79,8 @@ stdenv.mkDerivation rec {
 
     "--enable-installed-tests"
     "--enable-always-build-tests"
-  ] ++ lib.optional stdenv.isDarwin "--disable-Bsymbolic";
+  ] ++ lib.optional stdenv.isDarwin "--disable-Bsymbolic"
+    ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "RUST_TARGET=${rust.toRustTarget stdenv.hostPlatform}";
 
   makeFlags = [
     "installed_test_metadir=${placeholder "installedTests"}/share/installed-tests/RSVG"
diff --git a/pkgs/development/libraries/librtlsdr/default.nix b/pkgs/development/libraries/librtlsdr/default.nix
index 61f4045b785f6..c09575924a0a1 100644
--- a/pkgs/development/libraries/librtlsdr/default.nix
+++ b/pkgs/development/libraries/librtlsdr/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config cmake ];
 
-  buildInputs = [ libusb1 ];
+  propagatedBuildInputs = [ libusb1 ];
 
   meta = with lib; {
     description = "Turns your Realtek RTL2832 based DVB dongle into a SDR receiver";
diff --git a/pkgs/development/libraries/libscrypt/default.nix b/pkgs/development/libraries/libscrypt/default.nix
index 1bd22b2f7901d..68ef1afd2eef6 100644
--- a/pkgs/development/libraries/libscrypt/default.nix
+++ b/pkgs/development/libraries/libscrypt/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libscrypt";
-  version = "1.21";
+  version = "1.22";
 
   src = fetchFromGitHub {
     owner = "technion";
     repo = "libscrypt";
     rev = "v${version}";
-    sha256 = "1d76ys6cp7fi4ng1w3mz2l0p9dbr7ljbk33dcywyimzjz8bahdng";
+    sha256 = "sha256-QWWqC10bENemG5FYEog87tT7IxDaBJUDqu6j/sO3sYE=";
   };
 
   buildFlags = lib.optional stdenv.isDarwin "LDFLAGS= CFLAGS_EXTRA=";
diff --git a/pkgs/development/libraries/libsearpc/default.nix b/pkgs/development/libraries/libsearpc/default.nix
index 199ae0b685cfa..bbd892c33ee83 100644
--- a/pkgs/development/libraries/libsearpc/default.nix
+++ b/pkgs/development/libraries/libsearpc/default.nix
@@ -1,5 +1,12 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, python3Packages
-, glib, jansson }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkg-config
+, python3
+, glib
+, jansson
+}:
 
 stdenv.mkDerivation rec {
   version = "3.2.0";
@@ -12,9 +19,19 @@ stdenv.mkDerivation rec {
     sha256 = "18i5zvrp6dv6vygxx5nc93mai2p2x786n5lnf5avrin6xiz2j6hd";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = with python3Packages; [ python simplejson ];
-  propagatedBuildInputs = [ glib jansson ];
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+  ];
+
+  buildInputs = [
+    python3
+  ];
+
+  propagatedBuildInputs = [
+    glib
+    jansson
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/haiwen/libsearpc";
diff --git a/pkgs/development/libraries/libseccomp/default.nix b/pkgs/development/libraries/libseccomp/default.nix
index 0a76e59e5b7c0..d0e8bd163ddde 100644
--- a/pkgs/development/libraries/libseccomp/default.nix
+++ b/pkgs/development/libraries/libseccomp/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchurl, getopt, util-linux, gperf }:
+{ lib, stdenv, fetchurl, getopt, util-linux, gperf, nix-update-script }:
 
 stdenv.mkDerivation rec {
   pname = "libseccomp";
-  version = "2.5.2";
+  version = "2.5.3";
 
   src = fetchurl {
     url = "https://github.com/seccomp/libseccomp/releases/download/v${version}/libseccomp-${version}.tar.gz";
-    sha256 = "sha256-F6ZS37SR2Wvok5YOm3kZFJNu4WwTt3ejyvVi/kjLh98=";
+    sha256 = "sha256-WQZchzM2RyXpchukjDqZu8Uq+SHa9I30seAS+8exCnY=";
   };
 
   outputs = [ "out" "lib" "dev" "man" "pythonsrc" ];
@@ -31,6 +31,12 @@ stdenv.mkDerivation rec {
     tar -zcf $pythonsrc --mtime="@$SOURCE_DATE_EPOCH" --sort=name --transform s/tmp-pythonsrc/python-foundationdb/ ./tmp-pythonsrc/
   '';
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = pname;
+    };
+  };
+
   meta = with lib; {
     description = "High level library for the Linux Kernel seccomp filter";
     homepage = "https://github.com/seccomp/libseccomp";
diff --git a/pkgs/development/libraries/libshout/default.nix b/pkgs/development/libraries/libshout/default.nix
index 5b284e4408c65..e231fb0ed6eee 100644
--- a/pkgs/development/libraries/libshout/default.nix
+++ b/pkgs/development/libraries/libshout/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
       bad data from getting to the icecast server.
     '';
 
-    homepage = "http://www.icecast.org";
+    homepage = "https://www.icecast.org";
     license = lib.licenses.gpl2;
     maintainers = with lib.maintainers; [ jcumming ];
     platforms = with lib.platforms; unix;
diff --git a/pkgs/development/libraries/libshumate/default.nix b/pkgs/development/libraries/libshumate/default.nix
index e987e5a892c43..7443ec4c502db 100644
--- a/pkgs/development/libraries/libshumate/default.nix
+++ b/pkgs/development/libraries/libshumate/default.nix
@@ -13,12 +13,12 @@
 , libsoup
 , gtk4
 , xvfb-run
-, unstableGitUpdater
+, gnome
 }:
 
 stdenv.mkDerivation rec {
   pname = "libshumate";
-  version = "unstable-2021-10-06";
+  version = "1.0.0.alpha.1";
 
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "devdoc"; # demo app
@@ -27,8 +27,8 @@ stdenv.mkDerivation rec {
     domain = "gitlab.gnome.org";
     owner = "GNOME";
     repo = "libshumate";
-    rev = "7a0a03f299881e8faaac7d904cc47b74795ae5dd";
-    sha256 = "df8ZHn/wmkzaYH0L3E6ULUtqxqU71EqL0jSgKhWqlT8=";
+    rev = version;
+    sha256 = "4kCXFUJRglh1aIBk03MNUV8jfx0mJzIFCUDM4g9tzlg=";
   };
 
   nativeBuildInputs = [
@@ -68,11 +68,14 @@ stdenv.mkDerivation rec {
 
   postFixup = ''
     # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
-    moveToOutput share/doc/libshumate-0.0 "$devdoc"
+    moveToOutput share/doc/libshumate-1.0 "$devdoc"
   '';
 
-  passthru.updateScript = unstableGitUpdater {
-    url = meta.homepage;
+  passthru = {
+    updateScript = gnome.updateScript {
+      packageName = pname;
+      versionPolicy = "none";
+    };
   };
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/libsigcxx/1.2.nix b/pkgs/development/libraries/libsigcxx/1.2.nix
index a417e0bcc1d7c..8464ba36af321 100644
--- a/pkgs/development/libraries/libsigcxx/1.2.nix
+++ b/pkgs/development/libraries/libsigcxx/1.2.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, pkg-config, m4}:
 
 stdenv.mkDerivation rec {
-  name = "libsigc++-1.2.7";
+  pname = "libsigc++";
+  version = "1.2.7";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/libsigc++/1.2/${name}.tar.bz2";
+    url = "mirror://gnome/sources/libsigc++/1.2/libsigc++-${version}.tar.bz2";
     sha256 = "099224v5y0y1ggqrfc8vga8afr3nb93iicn7cj8xxgsrwa83s5nr";
   };
 
diff --git a/pkgs/development/libraries/libsigsegv/default.nix b/pkgs/development/libraries/libsigsegv/default.nix
index 4189ba9c6fae4..bc36a12eea82b 100644
--- a/pkgs/development/libraries/libsigsegv/default.nix
+++ b/pkgs/development/libraries/libsigsegv/default.nix
@@ -3,10 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "libsigsegv-2.13";
+  pname = "libsigsegv";
+  version = "2.13";
 
   src = fetchurl {
-    url = "mirror://gnu/libsigsegv/${name}.tar.gz";
+    url = "mirror://gnu/libsigsegv/libsigsegv-${version}.tar.gz";
     sha256 = "sha256-vnjuQXawX3x1/wMpjYSHTbkPS2ydVQPw2hIms6PEgRk=";
   };
 
diff --git a/pkgs/development/libraries/libsoup/3.x.nix b/pkgs/development/libraries/libsoup/3.x.nix
index 5f8c0ec1b4889..454a1cdf40a23 100644
--- a/pkgs/development/libraries/libsoup/3.x.nix
+++ b/pkgs/development/libraries/libsoup/3.x.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libsoup";
-  version = "3.0.2";
+  version = "3.0.4";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-mO9T7ZtIFewFIyFVNxr4A6mSj0ZSrMaF/wIIa+FqP/U=";
+    sha256 = "sha256-W9OLXgkfcH/X+j7Xw3qsyj+OFsZXh/HMF9w40dzeVns=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libsoup/default.nix b/pkgs/development/libraries/libsoup/default.nix
index 95926f54f9474..83fb0c4a0292d 100644
--- a/pkgs/development/libraries/libsoup/default.nix
+++ b/pkgs/development/libraries/libsoup/default.nix
@@ -22,13 +22,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libsoup";
-  version = "2.74.1";
+  version = "2.74.2";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-3CejuPowvI/5ULWnWVh1fSJC4+UeTi2cTmI+9195O/g=";
+    sha256 = "sha256-8KQnZW5f4Z4d9xwQfojfobLmc8JcVHt4I7YBi0DQEVk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libspng/default.nix b/pkgs/development/libraries/libspng/default.nix
index 99a243733cf8f..9a07cbf1aa1a9 100644
--- a/pkgs/development/libraries/libspng/default.nix
+++ b/pkgs/development/libraries/libspng/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libspng";
-  version = "0.7.1";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     owner = "randy408";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-JBNFYmmd1UnoIfV6iWeDIw/kgvl8AArxfHK+TKjZ9rk=";
+    sha256 = "sha256-GgrTWC/cesDlEh2J6StCyKiLRk62xfy2+E4lnmJMLGs=";
   };
 
   doCheck = true;
diff --git a/pkgs/development/libraries/libstemmer/default.nix b/pkgs/development/libraries/libstemmer/default.nix
index 2f6b2835c4e32..835d13d51b4f0 100644
--- a/pkgs/development/libraries/libstemmer/default.nix
+++ b/pkgs/development/libraries/libstemmer/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation {
-  name = "libstemmer-2017-03-02";
+  pname = "libstemmer";
+  version = "unstable-2017-03-02";
 
   src = fetchFromGitHub {
     owner = "zvelo";
diff --git a/pkgs/development/libraries/libsurvive/default.nix b/pkgs/development/libraries/libsurvive/default.nix
index 08be9c1a35d22..5685cfdbb4d46 100644
--- a/pkgs/development/libraries/libsurvive/default.nix
+++ b/pkgs/development/libraries/libsurvive/default.nix
@@ -3,30 +3,30 @@
 , cmake
 , pkg-config
 , freeglut
-, liblapack
+, lapack
 , libusb1
-, openblas
+, blas
 , zlib
 }:
 
 stdenv.mkDerivation rec {
   pname = "libsurvive";
-  version = "0.3";
+  version = "0.4";
 
   src = fetchFromGitHub {
     owner = "cntools";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0m21fnq8pfw2pcvqfgjws531zmalda423q9i65v4qzm8sdb54hl4";
+    sha256 = "sha256-atX7QsCjKGa6OVSApnx3seBvZv/mlpV3jWRB9+v7Emc=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
 
   buildInputs = [
     freeglut
-    liblapack
+    lapack
     libusb1
-    openblas
+    blas
     zlib
   ];
 
diff --git a/pkgs/development/libraries/libtasn1/default.nix b/pkgs/development/libraries/libtasn1/default.nix
index 4d7b57c1f08c7..d7eb36b97a79d 100644
--- a/pkgs/development/libraries/libtasn1/default.nix
+++ b/pkgs/development/libraries/libtasn1/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv, fetchurl, perl, texinfo }:
 
 stdenv.mkDerivation rec {
-  name = "libtasn1-4.17.0";
+  pname = "libtasn1";
+  version = "4.18.0";
 
   src = fetchurl {
-    url = "mirror://gnu/libtasn1/${name}.tar.gz";
-    sha256 = "sha256-7OdVHOp5IrjhDX68cLwiSNH91zNRZGotao1oqUIcRaU=";
+    url = "mirror://gnu/libtasn1/libtasn1-${version}.tar.gz";
+    sha256 = "sha256-Q2XBVJU1Y9ZMZ6AktgfR7nXG23bg0PZXCeqAozTNGJg=";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
diff --git a/pkgs/development/libraries/libthai/default.nix b/pkgs/development/libraries/libthai/default.nix
index 97745813ef260..7755fffc7a970 100644
--- a/pkgs/development/libraries/libthai/default.nix
+++ b/pkgs/development/libraries/libthai/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libthai";
-  version = "0.1.28";
+  version = "0.1.29";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://github.com/tlwg/libthai/releases/download/v${version}/libthai-${version}.tar.xz";
-    sha256 = "04g93bgxrcnay9fglpq2lj9nr7x1xh06i60m7haip8as9dxs3q7z";
+    sha256 = "sha256-/IDMfctQ4RMCtBfOvSTy0wqLmHKS534AMme5EA0PS80=";
   };
 
   strictDeps = true;
diff --git a/pkgs/development/libraries/libthreadar/default.nix b/pkgs/development/libraries/libthreadar/default.nix
index bff42af3acaa4..5a88d4ba20566 100644
--- a/pkgs/development/libraries/libthreadar/default.nix
+++ b/pkgs/development/libraries/libthreadar/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ izorkin ];
     license = licenses.lgpl3;
     platforms = platforms.unix;
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/libthreadar.x86_64-darwin
   };
 }
diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/development/libraries/libtiff/default.nix
index 2fe6159556f60..5f34a80d253aa 100644
--- a/pkgs/development/libraries/libtiff/default.nix
+++ b/pkgs/development/libraries/libtiff/default.nix
@@ -8,11 +8,6 @@
 , libjpeg
 , xz
 , zlib
-
-, Cocoa
-, GLUT
-, libGL
-, libGLU
 }:
 
 #FIXME: fix aarch64-darwin build and get rid of ./aarch64-darwin.nix
@@ -52,8 +47,7 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ libjpeg xz zlib ]; #TODO: opengl support (bogus configure detection)
 
-  buildInputs = [ libdeflate ] # TODO: move all propagatedBuildInputs to buildInputs.
-    ++ lib.optionals (stdenv.isDarwin) [ Cocoa GLUT libGL libGLU ];
+  buildInputs = [ libdeflate ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/libtiger/default.nix b/pkgs/development/libraries/libtiger/default.nix
index 094ff565b3c5e..60dee56e6a2a5 100644
--- a/pkgs/development/libraries/libtiger/default.nix
+++ b/pkgs/development/libraries/libtiger/default.nix
@@ -1,10 +1,11 @@
 { stdenv, lib, fetchurl, libkate, pango, cairo, pkg-config, darwin }:
 
 stdenv.mkDerivation rec {
-  name = "libtiger-0.3.4";
+  pname = "libtiger";
+  version = "0.3.4";
 
   src = fetchurl {
-    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libtiger/${name}.tar.gz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libtiger/libtiger-${version}.tar.gz";
     sha256 = "0rj1bmr9kngrgbxrjbn4f4f9pww0wmf6viflinq7ava7zdav4hkk";
   };
 
diff --git a/pkgs/development/libraries/libtorrent-rasterbar/1.1.nix b/pkgs/development/libraries/libtorrent-rasterbar/1.1.nix
index 52a88e2194d64..470b9137f6e1d 100644
--- a/pkgs/development/libraries/libtorrent-rasterbar/1.1.nix
+++ b/pkgs/development/libraries/libtorrent-rasterbar/1.1.nix
@@ -46,5 +46,6 @@ in stdenv.mkDerivation {
     license = licenses.bsd3;
     maintainers = [ ];
     platforms = platforms.unix;
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/libtorrent-rasterbar-1_1_x.x86_64-darwin
   };
 }
diff --git a/pkgs/development/libraries/libtoxcore/new-api.nix b/pkgs/development/libraries/libtoxcore/new-api.nix
index 77119e2830fed..c2348aa311292 100644
--- a/pkgs/development/libraries/libtoxcore/new-api.nix
+++ b/pkgs/development/libraries/libtoxcore/new-api.nix
@@ -2,7 +2,8 @@
 , libvpx, check, libconfig, pkg-config }:
 
 stdenv.mkDerivation {
-  name = "tox-core-new-20160727";
+  pname = "tox-core-new";
+  version = "unstable-2016-07-27";
 
   src = fetchFromGitHub {
     owner  = "irungentoo";
diff --git a/pkgs/development/libraries/libudfread/default.nix b/pkgs/development/libraries/libudfread/default.nix
new file mode 100644
index 0000000000000..d4f9a0d06b462
--- /dev/null
+++ b/pkgs/development/libraries/libudfread/default.nix
@@ -0,0 +1,22 @@
+{ lib, stdenv, fetchurl, autoreconfHook, }:
+
+stdenv.mkDerivation rec {
+  pname = "libudfread";
+  version = "1.1.2";
+
+  src = fetchurl {
+    url =
+      "https://code.videolan.org/videolan/${pname}/-/archive/${version}/${pname}-${version}.tar.gz";
+    sha256 = "1idsfxff1x264n8jd7077qrd61rycsd09fwmc4ar7l4qmhk6gw9b";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  meta = with lib; {
+    description = "UDF reader";
+    homepage = "https://code.videolan.org/videolan/libudfread";
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ chkno ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/libunibreak/default.nix b/pkgs/development/libraries/libunibreak/default.nix
index 9e6cec471d4dd..7dee1d6b1ecaa 100644
--- a/pkgs/development/libraries/libunibreak/default.nix
+++ b/pkgs/development/libraries/libunibreak/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libunibreak";
-  version = "4.3";
+  version = "5.0";
 
   src = let
       rev_version = lib.replaceStrings ["."] ["_"] version;
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner = "adah1972";
     repo = pname;
     rev = "libunibreak_${rev_version}";
-    sha256 = "19g3ixs1ycisfdnzd8v7j5r49h0x0hshchk9qwlz4i0mjv825plx";
+    sha256 = "sha256-ju+DNCzwD+y/ebLVBU96iNpE1Wt7/K0qLcZHzWGzrWQ=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/libraries/liburcu/default.nix b/pkgs/development/libraries/liburcu/default.nix
index b00b4cf9ac85e..e2dc63609c419 100644
--- a/pkgs/development/libraries/liburcu/default.nix
+++ b/pkgs/development/libraries/liburcu/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, perl }:
 
 stdenv.mkDerivation rec {
-  version = "0.13.0";
+  version = "0.13.1";
   pname = "liburcu";
 
   src = fetchurl {
     url = "https://lttng.org/files/urcu/userspace-rcu-${version}.tar.bz2";
-    sha256 = "sha256-y7INvhqJLCpNiJi6xDFhduWFOSaT1Jh2bMu8aM8guiA=";
+    sha256 = "sha256-MhPzPSuPcQ65IOsauyeewEv4rmNh9E8lE8KMINM2MIM=";
   };
 
   checkInputs = [ perl ];
diff --git a/pkgs/development/libraries/liburing/default.nix b/pkgs/development/libraries/liburing/default.nix
index 97a0ebda18daa..678fd0b3f7348 100644
--- a/pkgs/development/libraries/liburing/default.nix
+++ b/pkgs/development/libraries/liburing/default.nix
@@ -4,7 +4,7 @@
 
 stdenv.mkDerivation rec {
   pname = "liburing";
-  version = "2.1";
+  version = "2.1"; # remove patch when updating
 
   src = fetchgit {
     url    = "http://git.kernel.dk/${pname}";
@@ -43,6 +43,15 @@ stdenv.mkDerivation rec {
     cp ./examples/ucontext-cp $bin/bin/io_uring-ucontext-cp
   '';
 
+  # fix for compilation on 32-bit ARM, merged by upstream but not released; remove when
+  # upstream releases an update
+  patches = lib.optional stdenv.isAarch32 [
+    (fetchpatch {
+      url = "https://github.com/axboe/liburing/commit/e75a6cfa085fc9b5dbf5140fc1efb5a07b6b829e.diff";
+      sha256 = "sha256-qQEQXYm5mkws2klLxwuuoPSPRkpP1s6tuylAAEp7+9E=";
+    })
+  ];
+
   meta = with lib; {
     description = "Userspace library for the Linux io_uring API";
     homepage    = "https://git.kernel.dk/cgit/liburing/";
diff --git a/pkgs/development/libraries/libusbgx/default.nix b/pkgs/development/libraries/libusbgx/default.nix
new file mode 100644
index 0000000000000..676870aee5047
--- /dev/null
+++ b/pkgs/development/libraries/libusbgx/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, lib, fetchFromGitHub, cmake, bash-completion, pkg-config, libconfig, autoreconfHook }:
+stdenv.mkDerivation {
+  pname = "libusbgx";
+  version = "unstable-2021-10-31";
+  src = fetchFromGitHub {
+    owner = "linux-usb-gadgets";
+    repo = "libusbgx";
+    rev = "060784424609d5a4e3bce8355f788c93f09802a5";
+    sha256 = "172qh8gva17jr18ldhf9zi960w2bqzmp030w6apxq57c9nv6d8k7";
+  };
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
+  buildInputs = [ libconfig ];
+  meta = {
+    description = "C library encapsulating the kernel USB gadget-configfs userspace API functionality";
+    license = with lib.licenses; [
+      lgpl21Plus # library
+      gpl2Plus # examples
+    ];
+    maintainers = with lib.maintainers; [ lheckemann ];
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix
index a3de139fb4405..1d9354d48e1a7 100644
--- a/pkgs/development/libraries/libuv/default.nix
+++ b/pkgs/development/libraries/libuv/default.nix
@@ -1,14 +1,14 @@
 { stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, pkg-config, ApplicationServices, CoreServices }:
 
 stdenv.mkDerivation rec {
-  version = "1.42.0";
+  version = "1.43.0";
   pname = "libuv";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0f6mfbg750q26fa85nhmw2m0gyp8jcp1kyx9zn6lgi8bha5b7kny";
+    sha256 = "sha256-AsXJb2AGNx+SARPmY8uRFRLfX5vqTPNjwL8njSw/e7o=";
   };
 
   postPatch = let
diff --git a/pkgs/development/libraries/libviper/default.nix b/pkgs/development/libraries/libviper/default.nix
index 993e260b7bd35..4caa26aadc6a9 100644
--- a/pkgs/development/libraries/libviper/default.nix
+++ b/pkgs/development/libraries/libviper/default.nix
@@ -1,9 +1,10 @@
 {lib, stdenv, fetchurl, pkg-config, glib, ncurses, gpm}:
 stdenv.mkDerivation rec {
-  name = "libviper-1.4.6";
+  pname = "libviper";
+  version = "1.4.6";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libviper/${name}.tar.gz";
+    url = "mirror://sourceforge/libviper/libviper-${version}.tar.gz";
     sha256 = "1jvm7wdgw6ixyhl0pcfr9lnr9g6sg6whyrs9ihjiz0agvqrgvxwc";
   };
 
diff --git a/pkgs/development/libraries/libvirt/5.9.0.nix b/pkgs/development/libraries/libvirt/5.9.0.nix
deleted file mode 100644
index f7a393e8fda90..0000000000000
--- a/pkgs/development/libraries/libvirt/5.9.0.nix
+++ /dev/null
@@ -1,141 +0,0 @@
-{ lib, stdenv, fetchurl, fetchgit
-, pkg-config, makeWrapper, libtool, autoconf, automake, fetchpatch
-, coreutils, libxml2, gnutls, perl, python2, attr
-, iproute2, iptables, readline, lvm2, util-linux, systemd, libpciaccess, gettext
-, libtasn1, libgcrypt, yajl, pmutils, libcap_ng, libapparmor
-, dnsmasq, libnl, libpcap, libxslt, xhtml1, numad, numactl, perlPackages
-, curl, libiconv, gmp, zfs, parted, bridge-utils, dmidecode, glib, rpcsvc-proto, libtirpc
-, enableXen ? false, xen ? null
-, enableIscsi ? false, openiscsi
-, enableCeph ? false, ceph
-}:
-
-with lib;
-
-# if you update, also bump <nixpkgs/pkgs/development/python-modules/libvirt/default.nix> and SysVirt in <nixpkgs/pkgs/top-level/perl-packages.nix>
-let
-  buildFromTarball = stdenv.isDarwin;
-in stdenv.mkDerivation rec {
-  pname = "libvirt";
-  version = "5.9.0";
-
-  src =
-    if buildFromTarball then
-      fetchurl {
-        url = "http://libvirt.org/sources/${pname}-${version}.tar.xz";
-        sha256 = "0fc9jxw3v6x5hc10bkd7bbcayn24hbld5adj2gh5s648v7hx55il";
-      }
-    else
-      fetchgit {
-        url = "git://libvirt.org/libvirt.git";
-        rev = "v${version}";
-        sha256 = "0smm77ag8bg24xkbhl4akqikjrsq2pd3wk31nj0hk1avqnl00gmk";
-        fetchSubmodules = true;
-      };
-
-  nativeBuildInputs = [ makeWrapper pkg-config rpcsvc-proto ];
-  buildInputs = [
-    libxml2 gnutls perl python2 readline gettext libtasn1 libgcrypt yajl
-    libxslt xhtml1 perlPackages.XMLXPath curl libpcap glib
-  ] ++ optionals (!buildFromTarball) [
-    libtool autoconf automake
-  ] ++ optionals stdenv.isLinux [
-    libpciaccess lvm2 util-linux systemd libnl numad zfs
-    libapparmor libcap_ng numactl attr parted libtirpc
-  ] ++ optionals (enableXen && stdenv.isLinux && stdenv.isx86_64) [
-    xen
-  ] ++ optionals enableIscsi [
-    openiscsi
-  ] ++ optionals enableCeph [
-    ceph
-  ] ++ optionals stdenv.isDarwin [
-    libiconv gmp
-  ];
-
-  preConfigure = ''
-    ${ optionalString (!buildFromTarball) "./bootstrap --no-git --gnulib-srcdir=$(pwd)/.gnulib" }
-    PATH=${lib.makeBinPath ([ dnsmasq ] ++ optionals stdenv.isLinux [ iproute2 iptables lvm2 systemd numad ] ++ optionals enableIscsi [ openiscsi ])}:$PATH
-    # the path to qemu-kvm will be stored in VM's .xml and .save files
-    # do not use "''${qemu_kvm}/bin/qemu-kvm" to avoid bound VMs to particular qemu derivations
-    substituteInPlace src/lxc/lxc_conf.c \
-      --replace 'lxc_path,' '"/run/libvirt/nix-emulators/libvirt_lxc",'
-    patchShebangs . # fixes /usr/bin/python references
-  '';
-
-  configureFlags = [
-    "--localstatedir=/var"
-    "--sysconfdir=/var/lib"
-    "--with-libpcap"
-    "--with-qemu"
-    "--with-vmware"
-    "--with-vbox"
-    "--with-test"
-    "--with-esx"
-    "--with-remote"
-  ] ++ optionals stdenv.isLinux [
-    "QEMU_BRIDGE_HELPER=/run/wrappers/bin/qemu-bridge-helper"
-    "QEMU_PR_HELPER=/run/libvirt/nix-helpers/qemu-pr-helper"
-    "CFLAGS=-I${libtirpc.dev}/include/tirpc"
-    "--with-attr"
-    "--with-apparmor"
-    "--with-secdriver-apparmor"
-    "--with-numad"
-    "--with-macvtap"
-    "--with-virtualport"
-    "--with-storage-disk"
-  ] ++ optionals (stdenv.isLinux && zfs != null) [
-    "--with-storage-zfs"
-  ] ++ optionals enableIscsi [
-    "--with-storage-iscsi"
-  ] ++ optionals enableCeph [
-    "--with-storage-rbd"
-  ] ++ optionals stdenv.isDarwin [
-    "--with-init-script=none"
-  ];
-
-  installFlags = [
-    "localstatedir=$(TMPDIR)/var"
-    "sysconfdir=$(out)/var/lib"
-  ];
-
-
-  postInstall = let
-    binPath = [ iptables iproute2 pmutils numad numactl bridge-utils dmidecode dnsmasq ] ++ optionals enableIscsi [ openiscsi ];
-  in ''
-    substituteInPlace $out/libexec/libvirt-guests.sh \
-      --replace 'ON_BOOT=start'       'ON_BOOT=''${ON_BOOT:-start}' \
-      --replace 'ON_SHUTDOWN=suspend' 'ON_SHUTDOWN=''${ON_SHUTDOWN:-suspend}' \
-      --replace "$out/bin"            '${gettext}/bin' \
-      --replace 'lock/subsys'         'lock' \
-      --replace 'gettext.sh'          'gettext.sh
-  # Added in nixpkgs:
-  gettext() { "${gettext}/bin/gettext" "$@"; }
-  '
-  '' + optionalString stdenv.isLinux ''
-    substituteInPlace $out/lib/systemd/system/libvirtd.service --replace /bin/kill ${coreutils}/bin/kill
-    rm $out/lib/systemd/system/{virtlockd,virtlogd}.*
-    wrapProgram $out/sbin/libvirtd \
-      --prefix PATH : /run/libvirt/nix-emulators:${makeBinPath binPath}
-  '';
-
-  enableParallelBuilding = true;
-
-  NIX_CFLAGS_COMPILE = "-fno-stack-protector";
-
-  meta = {
-    homepage = "http://libvirt.org/";
-    repositories.git = "git://libvirt.org/libvirt.git";
-    description = ''
-      A toolkit to interact with the virtualization capabilities of recent
-      versions of Linux (and other OSes)
-    '';
-    license = licenses.lgpl2Plus;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ fpletz globin ];
-    knownVulnerabilities = [
-      "https://security.libvirt.org/2019/0008.html"
-      "https://security.libvirt.org/2019/0009.html"
-      "https://security.libvirt.org/2020/0001.html"
-    ];
-  };
-}
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index 4606b1dc60dbc..03d0e17cb4c3e 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -72,14 +72,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "libvirt";
-  version = "7.9.0";
+  version = "7.10.0";
 
   src =
     if buildFromTarball then
       fetchurl
         {
           url = "https://libvirt.org/sources/${pname}-${version}.tar.xz";
-          sha256 = "sha256-gpzytfV0J5xA8ERuEWiBXT82uJcQVgJjyiznAlb3Low=";
+          sha256 = "sha256-yzGAFK8JcyeSjG49cpIuO+AqPmQBJHsqpS2auOC0gPk=";
         }
     else
       fetchFromGitLab
@@ -87,7 +87,7 @@ stdenv.mkDerivation rec {
           owner = pname;
           repo = pname;
           rev = "v${version}";
-          sha256 = "sha256-Ua6+EKLES3385fqhH2+qwnwE+X/nmWqIBxCXXE3SVhs=";
+          sha256 = "sha256-bB8LsjZFeJbMmmC0YRPyMag2MBhwagUFC7aB1KhZEkA=";
           fetchSubmodules = true;
         };
 
@@ -220,12 +220,15 @@ stdenv.mkDerivation rec {
       binPath = [ iptables iproute2 pmutils numad numactl bridge-utils dmidecode dnsmasq ] ++ optionals enableIscsi [ openiscsi ];
     in
     ''
-        substituteInPlace $out/libexec/libvirt-guests.sh \
-          --replace 'ON_BOOT="start"'       'ON_BOOT=''${ON_BOOT:-start}' \
-          --replace 'ON_SHUTDOWN="suspend"' 'ON_SHUTDOWN=''${ON_SHUTDOWN:-suspend}' \
-          --replace "$out/bin"              '${gettext}/bin' \
-          --replace 'lock/subsys'           'lock' \
-          --replace 'gettext.sh'            'gettext.sh
+      substituteInPlace $out/bin/virt-xml-validate \
+        --replace xmllint ${libxml2}/bin/xmllint
+
+      substituteInPlace $out/libexec/libvirt-guests.sh \
+        --replace 'ON_BOOT="start"'       'ON_BOOT=''${ON_BOOT:-start}' \
+        --replace 'ON_SHUTDOWN="suspend"' 'ON_SHUTDOWN=''${ON_SHUTDOWN:-suspend}' \
+        --replace "$out/bin"              '${gettext}/bin' \
+        --replace 'lock/subsys'           'lock' \
+        --replace 'gettext.sh'            'gettext.sh
       # Added in nixpkgs:
       gettext() { "${gettext}/bin/gettext" "$@"; }
       '
diff --git a/pkgs/development/libraries/libvncserver/default.nix b/pkgs/development/libraries/libvncserver/default.nix
index b9890f6a806b8..b9da7135f92e5 100644
--- a/pkgs/development/libraries/libvncserver/default.nix
+++ b/pkgs/development/libraries/libvncserver/default.nix
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
   pname = "libvncserver";
   version = "0.9.13";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchFromGitHub {
     owner = "LibVNC";
     repo = "libvncserver";
@@ -23,11 +25,24 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-gQT/M2u4nWQ0MfO2gWAqY0ZJc7V9eGczGzcsxKmG4H8=";
   };
 
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ libjpeg openssl libgcrypt libpng ]
-    ++ lib.optional stdenv.isLinux systemd
-    ++ lib.optional stdenv.isDarwin Carbon;
-  propagatedBuildInputs = [ zlib ];
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = [
+    libjpeg
+    openssl
+    libgcrypt
+    libpng
+  ] ++ lib.optionals stdenv.isLinux [
+    systemd
+  ] ++ lib.optional stdenv.isDarwin [
+    Carbon
+  ];
+
+  propagatedBuildInputs = [
+    zlib
+  ];
 
   meta = with lib; {
     description = "VNC server library";
diff --git a/pkgs/development/libraries/libwacom/default.nix b/pkgs/development/libraries/libwacom/default.nix
index 9ebb2c855cba5..2f9afff56d87d 100644
--- a/pkgs/development/libraries/libwacom/default.nix
+++ b/pkgs/development/libraries/libwacom/default.nix
@@ -12,7 +12,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libwacom";
-  version = "1.12";
+  version = "1.99.1";
 
   outputs = [ "out" "dev" ];
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     owner = "linuxwacom";
     repo = "libwacom";
     rev = "libwacom-${version}";
-    sha256 = "sha256-pCO0lB0liveIEZIxY3IJcqlmWy4rYhSBtRPssfzHEow=";
+    sha256 = "sha256-WGW/4m+BTe6dEigUcuUIZjoTeamInW6zrtrlaqKM6Js=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libwpd/0.8.nix b/pkgs/development/libraries/libwpd/0.8.nix
index df21f2640966f..7657cd4895275 100644
--- a/pkgs/development/libraries/libwpd/0.8.nix
+++ b/pkgs/development/libraries/libwpd/0.8.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, glib, libgsf, libxml2, bzip2 }:
 
 stdenv.mkDerivation rec {
-  name = "libwpd-0.8.14";
+  pname = "libwpd";
+  version = "0.8.14";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libwpd/${name}.tar.gz";
+    url = "mirror://sourceforge/libwpd/libwpd-${version}.tar.gz";
     sha256 = "1syli6i5ma10cwzpa61a18pyjmianjwsf6pvmvzsh5md6yk4yx01";
   };
 
diff --git a/pkgs/development/libraries/libwpd/default.nix b/pkgs/development/libraries/libwpd/default.nix
index 8afe549cb68f1..1f54c2c2fb1ab 100644
--- a/pkgs/development/libraries/libwpd/default.nix
+++ b/pkgs/development/libraries/libwpd/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, zlib, pkg-config, glib, libgsf, libxml2, librevenge }:
 
 stdenv.mkDerivation rec {
-  name = "libwpd-0.10.0";
+  pname = "libwpd";
+  version = "0.10.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libwpd/${name}.tar.xz";
+    url = "mirror://sourceforge/libwpd/libwpd-${version}.tar.xz";
     sha256 = "0b6krzr6kxzm89g6bapn805kdayq70hn16n5b5wfs2lwrf0ag2wx";
   };
 
diff --git a/pkgs/development/libraries/libwpe/default.nix b/pkgs/development/libraries/libwpe/default.nix
index 1fcb91a7fb39f..66de5847d78e1 100644
--- a/pkgs/development/libraries/libwpe/default.nix
+++ b/pkgs/development/libraries/libwpe/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libwpe";
-  version = "1.10.1";
+  version = "1.12.0";
 
   src = fetchurl {
     url = "https://wpewebkit.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "sha256-oyez/88jVtvoFIwdtLvcU1nX5xY9F39nVRqDk7FErfA=";
+    sha256 = "sha256-6O7KIoprTDYpTPtj99O6mtpHpDCQSlqXOzyZyWpEwYw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libwpe/fdo.nix b/pkgs/development/libraries/libwpe/fdo.nix
index e68c60ebbdbf8..a711fab631435 100644
--- a/pkgs/development/libraries/libwpe/fdo.nix
+++ b/pkgs/development/libraries/libwpe/fdo.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wpebackend-fdo";
-  version = "1.10.0";
+  version = "1.12.0";
 
   src = fetchurl {
     url = "https://wpewebkit.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "sha256-uJ39NQCk3scREyzXv/clmeZ9VqQZ0ABzDhS7mVR1Ccw=";
+    sha256 = "sha256-YjnJwVUjQQeY1mMV3mtJFxKrMACboYDz4N0HbZsAdKw=";
   };
 
   depsBuildBuild = [
diff --git a/pkgs/development/libraries/libx86emu/default.nix b/pkgs/development/libraries/libx86emu/default.nix
index 8f9669561d62d..c4df61bd22bbe 100644
--- a/pkgs/development/libraries/libx86emu/default.nix
+++ b/pkgs/development/libraries/libx86emu/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libx86emu";
-  version = "3.1";
+  version = "3.5";
 
   src = fetchFromGitHub {
     owner = "wfeldt";
     repo = "libx86emu";
     rev = version;
-    sha256 = "104xqc6nj9rpi7knl3dfqvasf087hlz2n5yndb1iycw35a6j509b";
+    sha256 = "sha256-dKT/Ey+vardXu/+coaC69TTUXjJLsLBKgCx9VY8f0oY=";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/development/libraries/libxc/default.nix b/pkgs/development/libraries/libxc/default.nix
index 5ed5ef1fc3732..f28420229ab99 100644
--- a/pkgs/development/libraries/libxc/default.nix
+++ b/pkgs/development/libraries/libxc/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libxc";
-  version = "5.1.7";
+  version = "5.2.2";
 
   src = fetchFromGitLab {
     owner = "libxc";
     repo = "libxc";
     rev = version;
-    sha256 = "0s01q5sh50544s7q2q7kahcqydlyzk1lx3kg1zwl76y90942bjd1";
+    sha256 = "113sk7hxjpfbz3nrgjsc7bi6zrlwb3qq5s6h0zh37hz9bd1brq54";
   };
 
   nativeBuildInputs = [ perl cmake gfortran ];
diff --git a/pkgs/development/libraries/libxdg-basedir/default.nix b/pkgs/development/libraries/libxdg-basedir/default.nix
index 58a58f2726bda..77047e9099d28 100644
--- a/pkgs/development/libraries/libxdg-basedir/default.nix
+++ b/pkgs/development/libraries/libxdg-basedir/default.nix
@@ -1,9 +1,11 @@
 {lib, stdenv, fetchurl, fetchpatch}:
 
 stdenv.mkDerivation rec {
-  name = "libxdg-basedir-1.2.0";
+  pname = "libxdg-basedir";
+  version = "1.2.0";
+
   src = fetchurl {
-    url = "https://nevill.ch/libxdg-basedir/downloads/${name}.tar.gz";
+    url = "https://nevill.ch/libxdg-basedir/downloads/libxdg-basedir-${version}.tar.gz";
     sha256 = "2757a949618742d80ac59ee2f0d946adc6e71576406cdf798e6ced507708cdf4";
   };
 
diff --git a/pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix b/pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix
index 9f374c22c1e63..539fca7456ba1 100644
--- a/pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix
+++ b/pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, bison, flex, xkeyboard_config, libxcb, libX11 }:
 
 stdenv.mkDerivation rec {
-  name = "libxkbcommon-0.7.2";
+  pname = "libxkbcommon";
+  version = "0.7.2";
 
   src = fetchurl {
-    url = "http://xkbcommon.org/download/${name}.tar.xz";
+    url = "http://xkbcommon.org/download/libxkbcommon-${version}.tar.xz";
     sha256 = "1n5rv5n210kjnkyrvbh04gfwaa7zrmzy1393p8nyqfw66lkxr918";
   };
 
diff --git a/pkgs/development/libraries/libxls/default.nix b/pkgs/development/libraries/libxls/default.nix
index 3b9c2768f45ed..43c96027d08bd 100644
--- a/pkgs/development/libraries/libxls/default.nix
+++ b/pkgs/development/libraries/libxls/default.nix
@@ -1,21 +1,31 @@
-{ lib, stdenv, fetchurl, unzip }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, autoconf-archive }:
 
 stdenv.mkDerivation rec {
   pname = "libxls";
   version = "1.6.2";
 
-  src = fetchurl {
-    url = "https://github.com/libxls/libxls/releases/download/v${version}/libxls-${version}.tar.gz";
-    sha256 = "sha256-XazDTZS/IRWSbIDG+2nk570u1kA9Uc/0kEGpQXL143E=";
+  src = fetchFromGitHub {
+    owner = "libxls";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-vjmYByk+IDBon8xGR1+oNaEQTiJK+IVpDXsG1IyVNoY=";
   };
 
-  nativeBuildInputs = [ unzip ];
+  patches = [
+    # Fix cross-compilation
+    (fetchpatch {
+      url = "https://github.com/libxls/libxls/commit/007e63c1f5e19bc73292f267c85d7dd14e9ecb38.patch";
+      sha256 = "sha256-PjPHuXth4Yaq9nVfk5MYJMRo5B0R6YA1KEqgwfjF3PM=";
+    })
+  ];
+
+  nativeBuildInputs = [ autoreconfHook autoconf-archive ];
 
   enableParallelBuilding = true;
 
   meta = with lib; {
     description = "Extract Cell Data From Excel xls files";
-    homepage = "https://sourceforge.net/projects/libxls/";
+    homepage = "https://github.com/libxls/libxls";
     license = licenses.bsd2;
     platforms = platforms.unix;
     maintainers = with maintainers; [ abbradar ];
diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix
index eb23e16d653ad..3993b3f73e1f1 100644
--- a/pkgs/development/libraries/libxslt/default.nix
+++ b/pkgs/development/libraries/libxslt/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl
 , pkg-config
-, libxml2, findXMLCatalogs, gettext, python3, libgcrypt
+, libxml2, findXMLCatalogs, gettext, python, libgcrypt
 , cryptoSupport ? false
 , pythonSupport ? stdenv.buildPlatform == stdenv.hostPlatform
 }:
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libxml2.dev ]
     ++ lib.optional stdenv.isDarwin gettext
-    ++ lib.optionals pythonSupport [ libxml2.py python3 ]
+    ++ lib.optionals pythonSupport [ libxml2.py python ]
     ++ lib.optionals cryptoSupport [ libgcrypt ];
 
   propagatedBuildInputs = [ findXMLCatalogs ];
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     "--without-debug"
     "--without-mem-debug"
     "--without-debugger"
-  ] ++ lib.optional pythonSupport "--with-python=${python3}"
+  ] ++ lib.optional pythonSupport "--with-python=${python}"
     ++ lib.optional (!cryptoSupport) "--without-crypto";
 
   postFixup = ''
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
   '' + lib.optionalString pythonSupport ''
     mkdir -p $py/nix-support
     echo ${libxml2.py} >> $py/nix-support/propagated-build-inputs
-    moveToOutput ${python3.libPrefix} "$py"
+    moveToOutput ${python.libPrefix} "$py"
   '';
 
   passthru = {
diff --git a/pkgs/development/libraries/libyaml-cpp/0.3.0.nix b/pkgs/development/libraries/libyaml-cpp/0.3.0.nix
index a465b047a1161..e379c34726790 100644
--- a/pkgs/development/libraries/libyaml-cpp/0.3.0.nix
+++ b/pkgs/development/libraries/libyaml-cpp/0.3.0.nix
@@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
     description = "A YAML parser and emitter for C++";
     license = licenses.mit;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ andir ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/libraries/libyaml-cpp/default.nix b/pkgs/development/libraries/libyaml-cpp/default.nix
index 28156e3e205ff..9b30ce19b1d8a 100644
--- a/pkgs/development/libraries/libyaml-cpp/default.nix
+++ b/pkgs/development/libraries/libyaml-cpp/default.nix
@@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
     description = "A YAML parser and emitter for C++";
     license = licenses.mit;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ andir ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/libraries/libyang/default.nix b/pkgs/development/libraries/libyang/default.nix
new file mode 100644
index 0000000000000..6a07371261ae6
--- /dev/null
+++ b/pkgs/development/libraries/libyang/default.nix
@@ -0,0 +1,61 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+
+# build time
+, cmake
+, pkg-config
+
+# run time
+, pcre2
+
+# update script
+, genericUpdater
+, common-updater-scripts
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libyang";
+  version = "2.0.112";
+
+  src = fetchFromGitHub {
+    owner = "CESNET";
+    repo = "libyang";
+    rev = "v${version}";
+    sha256 = "sha256-f8x0tC3XcQ9fnUE987GYw8qEo/B+J759vpCImqG3QWs=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    pcre2
+  ];
+
+  cmakeFlags = [
+    "-DCMAKE_INSTALL_LIBDIR=lib"
+    "-DCMAKE_INSTALL_INCLUDEDIR=include"
+    "-DCMAKE_BUILD_TYPE:String=Release"
+  ];
+
+  passthru.updateScript = genericUpdater {
+    inherit pname version;
+    versionLister = "${common-updater-scripts}/bin/list-git-tags ${src.meta.homepage}";
+    rev-prefix = "v";
+  };
+
+  meta = with lib; {
+    description = "YANG data modelling language parser and toolkit";
+    longDescription = ''
+      libyang is a YANG data modelling language parser and toolkit written (and
+      providing API) in C. The library is used e.g. in libnetconf2, Netopeer2,
+      sysrepo or FRRouting projects.
+    '';
+    homepage = "https://github.com/CESNET/libyang";
+    license = with licenses; [ bsd3 ];
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ woffs ];
+  };
+}
diff --git a/pkgs/development/libraries/libzim/default.nix b/pkgs/development/libraries/libzim/default.nix
index 9aea86d5e5ecf..5191da60ce261 100644
--- a/pkgs/development/libraries/libzim/default.nix
+++ b/pkgs/development/libraries/libzim/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libzim";
-  version = "7.0.0";
+  version = "7.2.0";
 
   src = fetchFromGitHub {
     owner = "openzim";
     repo = pname;
     rev = version;
-    sha256 = "sha256-OQVGopAInAI7KCEVr3BxaKD6np2QcFCaDjgNWjT202U=";
+    sha256 = "sha256-H4YUAbH4X6oJIZyhI23LemngtOtKNrHHl3KSU1ilAmo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libzmf/default.nix b/pkgs/development/libraries/libzmf/default.nix
index 7965c934df3e9..378a7202f3715 100644
--- a/pkgs/development/libraries/libzmf/default.nix
+++ b/pkgs/development/libraries/libzmf/default.nix
@@ -20,6 +20,5 @@ stdenv.mkDerivation rec {
     platforms = lib.platforms.unix;
     homepage = "https://wiki.documentfoundation.org/DLP/Libraries/libzmf";
     downloadPage = "http://dev-www.libreoffice.org/src/libzmf/";
-    updateWalker = true;
   };
 }
diff --git a/pkgs/development/libraries/linbox/default.nix b/pkgs/development/libraries/linbox/default.nix
index 821edd3336926..0f650e7474ff4 100644
--- a/pkgs/development/libraries/linbox/default.nix
+++ b/pkgs/development/libraries/linbox/default.nix
@@ -14,13 +14,13 @@ assert (!blas.isILP64) && (!lapack.isILP64);
 
 stdenv.mkDerivation rec {
   pname = "linbox";
-  version = "1.6.3"; # TODO: Check postPatch script on update
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "linbox-team";
     repo = pname;
     rev = "v${version}";
-    sha256 = "10j6dspbsq7d2l4q3y0c1l1xwmaqqba2fxg59q5bhgk9h5d7q571";
+    sha256 = "sha256-mW84a98KPLqcHMjX3LIYTmVe0ngUdz6RJLpoDaAqKU8=";
   };
 
   nativeBuildInputs = [
@@ -35,20 +35,6 @@ stdenv.mkDerivation rec {
     fflas-ffpack
   ];
 
-  patches = [
-    # Remove inappropriate `const &` qualifiers on data members that can be
-    # modified via member functions.
-    # See also: https://github.com/linbox-team/linbox/pull/256
-    ./patches/linbox-pr256-part2.patch # TODO: Remove on 1.7.0 update
-  ];
-
-  postPatch = ''
-    # Remove @LINBOXSAGE_LIBS@ that is actually undefined.
-    # See also: https://github.com/linbox-team/linbox/pull/249
-    # TODO: Remove on 1.7.0 update
-    find . -type f -exec sed -e 's/@LINBOXSAGE_LIBS@//' -i {} \;
-  '';
-
   configureFlags = [
     "--with-blas-libs=-lblas"
     "--disable-optimization"
diff --git a/pkgs/development/libraries/linbox/patches/linbox-pr256-part2.patch b/pkgs/development/libraries/linbox/patches/linbox-pr256-part2.patch
deleted file mode 100644
index ec8571a7d7102..0000000000000
--- a/pkgs/development/libraries/linbox/patches/linbox-pr256-part2.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/linbox/algorithms/det-rational.h
-+++ b/linbox/algorithms/det-rational.h
-@@ -79,8 +79,8 @@
- 	struct MyRationalModularDet {
- 		const Blackbox &A;
- 		const MyMethod &M;
--		const Integer &mul;//multiplicative prec;
--		const Integer &div;
-+		Integer mul;//multiplicative prec;
-+		Integer div;
- 
- 		MyRationalModularDet(const Blackbox& b, const MyMethod& n,
- 				     const Integer & p1, const Integer & p2) :
diff --git a/pkgs/development/libraries/liquidfun/default.nix b/pkgs/development/libraries/liquidfun/default.nix
index 29531a299966d..d3e3187bf757a 100644
--- a/pkgs/development/libraries/liquidfun/default.nix
+++ b/pkgs/development/libraries/liquidfun/default.nix
@@ -1,21 +1,15 @@
 { lib, stdenv, requireFile, cmake, libGLU, libGL, libX11, libXi }:
 
-let
-  sourceInfo = rec {
-    version="1.1.0";
-    name="liquidfun-${version}";
-    url="https://github.com/google/liquidfun/releases/download/v${version}/${name}";
-    hash="5011a000eacd6202a47317c489e44aa753a833fb562d970e7b8c0da9de01df86";
-  };
-in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
+  pname = "liquidfun";
+  version = "1.1.0";
+
   src = requireFile {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-    name = sourceInfo.name + ".tar.gz";
+    url = "https://github.com/google/liquidfun/releases/download/v${version}/liquidfun-${version}";
+    sha256 = "5011a000eacd6202a47317c489e44aa753a833fb562d970e7b8c0da9de01df86";
+    name = "liquidfun-${version}.tar.gz";
   };
 
-  inherit (sourceInfo) name version;
   nativeBuildInputs = [ cmake ];
   buildInputs = [ libGLU libGL libX11 libXi ];
 
@@ -34,15 +28,12 @@ stdenv.mkDerivation {
     cmake -DBOX2D_INSTALL=ON -DBOX2D_BUILD_SHARED=ON -DCMAKE_INSTALL_PREFIX=$out ..
   '';
 
-  meta = {
+  meta = with lib; {
     description = "2D physics engine based on Box2D";
-    maintainers = with lib.maintainers;
-    [
-      qknight
-    ];
-    platforms = lib.platforms.linux;
-    hydraPlatforms = [];
-    license = lib.licenses.bsd2;
+    maintainers = with maintainers; [ qknight ];
+    platforms = platforms.linux;
+    hydraPlatforms = [ ];
+    license = licenses.bsd2;
     homepage = "https://google.github.io/liquidfun/";
   };
 }
diff --git a/pkgs/development/libraries/lirc/default.nix b/pkgs/development/libraries/lirc/default.nix
index 6ba5517c028f5..d5f84455f8369 100644
--- a/pkgs/development/libraries/lirc/default.nix
+++ b/pkgs/development/libraries/lirc/default.nix
@@ -24,6 +24,10 @@ stdenv.mkDerivation rec {
       Makefile.in
     sed -i 's,PYTHONPATH=,PYTHONPATH=$(PYTHONPATH):,' \
       doc/Makefile.in
+
+    # Pull fix for new pyyaml pending upstream inclusion
+    #   https://sourceforge.net/p/lirc/git/merge-requests/39/
+    substituteInPlace python-pkg/lirc/database.py --replace 'yaml.load(' 'yaml.safe_load('
   '';
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/live555/default.nix b/pkgs/development/libraries/live555/default.nix
index 081fa2f175bbe..2e5ec92cf4c48 100644
--- a/pkgs/development/libraries/live555/default.nix
+++ b/pkgs/development/libraries/live555/default.nix
@@ -1,23 +1,38 @@
-{ stdenv, fetchurl, lib, darwin }:
+{ lib
+, stdenv
+, fetchurl
+, darwin
+, openssl
+
+# major and only downstream dependency
+, vlc
+}:
 
-# Based on https://projects.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD
 stdenv.mkDerivation rec {
   pname = "live555";
-  version = "2019.11.22";
+  version = "2022.01.21";
 
-  src = fetchurl { # the upstream doesn't provide a stable URL
+  src = fetchurl {
     urls = [
-      "mirror://sourceforge/slackbuildsdirectlinks/live.${version}.tar.gz"
+      "http://www.live555.com/liveMedia/public/live.${version}.tar.gz"
       "https://download.videolan.org/contrib/live555/live.${version}.tar.gz"
+      "mirror://sourceforge/slackbuildsdirectlinks/live.${version}.tar.gz"
     ];
-    sha256 = "144y2wsfpaclkj7srx85f3y3parzn7vbjmzc2afc62wdsb9gn46d";
+    sha256 = "sha256-diV5wULbOrqMRDCyI9NjVaR6JUbYl9KWHUlvA/jjqQ4=";
   };
 
+  nativeBuildInputs = lib.optional stdenv.isDarwin darwin.cctools;
+
+  buildInputs = [ openssl ];
+
   postPatch = ''
-    sed 's,/bin/rm,rm,g' -i genMakefiles
-    sed \
+    substituteInPlace config.macosx-catalina \
+      --replace '/usr/lib/libssl.46.dylib' "${openssl.out}/lib/libssl.dylib" \
+      --replace '/usr/lib/libcrypto.44.dylib' "${openssl.out}/lib/libcrypto.dylib"
+    sed -i -e 's|/bin/rm|rm|g' genMakefiles
+    sed -i \
       -e 's/$(INCLUDES) -I. -O2 -DSOCKLEN_T/$(INCLUDES) -I. -O2 -I. -fPIC -DRTSPCLIENT_SYNCHRONOUS_INTERFACE=1 -DSOCKLEN_T/g' \
-      -i config.linux
+      config.linux
   '' + lib.optionalString (stdenv ? glibc) ''
     substituteInPlace liveMedia/include/Locale.hh \
       --replace '<xlocale.h>' '<locale.h>'
@@ -27,7 +42,7 @@ stdenv.mkDerivation rec {
     runHook preConfigure
 
     ./genMakefiles ${{
-      x86_64-darwin = "macosx";
+      x86_64-darwin = "macosx-catalina";
       i686-linux = "linux";
       x86_64-linux = "linux-64bit";
       aarch64-linux = "linux-64bit";
@@ -48,15 +63,18 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
-  nativeBuildInputs = lib.optional stdenv.isDarwin darwin.cctools;
-
   enableParallelBuilding = true;
 
+  passthru.tests = {
+    inherit vlc;
+  };
+
   meta = with lib; {
-    description = "Set of C++ libraries for multimedia streaming, using open standard protocols (RTP/RTCP, RTSP, SIP)";
     homepage = "http://www.live555.com/liveMedia/";
+    description = "Set of C++ libraries for multimedia streaming, using open standard protocols (RTP/RTCP, RTSP, SIP)";
     changelog = "http://www.live555.com/liveMedia/public/changelog.txt";
     license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
     broken = stdenv.hostPlatform.isAarch64;
   };
diff --git a/pkgs/development/libraries/log4cplus/default.nix b/pkgs/development/libraries/log4cplus/default.nix
index 99728a3854dec..160cdabed708e 100644
--- a/pkgs/development/libraries/log4cplus/default.nix
+++ b/pkgs/development/libraries/log4cplus/default.nix
@@ -1,13 +1,11 @@
 { lib, stdenv, fetchurl }:
 
-let
-  name = "log4cplus-2.0.7";
-in
-stdenv.mkDerivation {
-  inherit name;
+stdenv.mkDerivation rec {
+  pname = "log4cplus";
+  version = "2.0.7";
 
   src = fetchurl {
-    url = "mirror://sourceforge/log4cplus/${name}.tar.bz2";
+    url = "mirror://sourceforge/log4cplus/log4cplus-${version}.tar.bz2";
     sha256 = "sha256-j626/uK6TlWKD3iEJhPJ+yOcd12D8jNA0JEITA4bEqs=";
   };
 
diff --git a/pkgs/development/libraries/loudmouth/default.nix b/pkgs/development/libraries/loudmouth/default.nix
index a8d9b23cc84c0..fb5409a7e727f 100644
--- a/pkgs/development/libraries/loudmouth/default.nix
+++ b/pkgs/development/libraries/loudmouth/default.nix
@@ -22,8 +22,6 @@ stdenv.mkDerivation rec {
     description = "A lightweight C library for the Jabber protocol";
     platforms = platforms.all;
     downloadPage = "http://mcabber.com/files/loudmouth/";
-    downloadURLRegexp = "loudmouth-[0-9.]+[.]tar[.]bz2$";
-    updateWalker = true;
     license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/lzlib/default.nix b/pkgs/development/libraries/lzlib/default.nix
index 9c5311d742a95..d0064947c929d 100644
--- a/pkgs/development/libraries/lzlib/default.nix
+++ b/pkgs/development/libraries/lzlib/default.nix
@@ -1,18 +1,18 @@
-{ lib, stdenv, fetchurl, texinfo }:
+{ lib, stdenv, fetchurl, texinfo, lzip }:
 
 stdenv.mkDerivation rec {
   pname = "lzlib";
-  version = "1.12";
+  version = "1.13";
   outputs = [ "out" "info" ];
 
-  nativeBuildInputs = [ texinfo ];
+  nativeBuildInputs = [ texinfo lzip ];
 
   src = fetchurl {
-    url = "mirror://savannah/lzip/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-jl2EJC61LPHcyY5YvZuo7xrvpQFDGr3QJzoiv0zjN7E=";
+    url = "mirror://savannah/lzip/${pname}/${pname}-${version}.tar.lz";
+    sha256 = "sha256-3ea9WzJTXxeyjJrCS2ZgfgJQUGrBQypBEso8c/XWYsM=";
   };
 
-  makeFlags = [ "AR:=$(AR)" "CC:=$(CC)" ];
+  makeFlags = [ "CC:=$(CC)" ];
   doCheck = true;
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/mapbox-gl-qml/default.nix b/pkgs/development/libraries/mapbox-gl-qml/default.nix
index 87e7657662270..49a7f26220dd8 100644
--- a/pkgs/development/libraries/mapbox-gl-qml/default.nix
+++ b/pkgs/development/libraries/mapbox-gl-qml/default.nix
@@ -11,13 +11,13 @@
 
 mkDerivation rec {
   pname = "mapbox-gl-qml";
-  version = "1.7.6";
+  version = "1.7.7.1";
 
   src = fetchFromGitHub {
     owner = "rinigus";
     repo = "mapbox-gl-qml";
     rev = version;
-    sha256 = "sha256-E6Pkr8khzDbhmJxzK943+H6cDREgwAqMnJQ3hQWU7fw=";
+    hash = "sha256-lmL9nawMY8rNNBV4zNF4N1gn9XZzIZ9Cw2ZRs9bjBaI=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/mauikit-filebrowsing/default.nix b/pkgs/development/libraries/mauikit-filebrowsing/default.nix
index 326f4b67ee29c..90053b16fc8c1 100644
--- a/pkgs/development/libraries/mauikit-filebrowsing/default.nix
+++ b/pkgs/development/libraries/mauikit-filebrowsing/default.nix
@@ -10,14 +10,14 @@
 
 mkDerivation rec {
   pname = "mauikit-filebrowsing";
-  version = "2.1.0";
+  version = "2.1.1";
 
   src = fetchFromGitLab {
     domain = "invent.kde.org";
     owner = "maui";
     repo = "mauikit-filebrowsing";
     rev = "v${version}";
-    sha256 = "sha256-j6VoNtMkDB5BSET/RUiQlWdL0D1dAHlW929WNCDC+PE=";
+    hash = "sha256-2LzGvjh2t4RVZS9Js7ky3hM51L7bx0SHmDlKKPjl3LM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/mauikit/default.nix b/pkgs/development/libraries/mauikit/default.nix
index 88436dd5e638e..22e3748fe48bd 100644
--- a/pkgs/development/libraries/mauikit/default.nix
+++ b/pkgs/development/libraries/mauikit/default.nix
@@ -14,14 +14,14 @@
 
 mkDerivation rec {
   pname = "mauikit";
-  version = "2.1.0";
+  version = "2.1.1";
 
   src = fetchFromGitLab {
     domain = "invent.kde.org";
     owner = "maui";
     repo = "mauikit";
     rev = "v${version}";
-    sha256 = "sha256-dpJQSCog/AZ4ip8NTQMt4g1ntAnL1cjjMzxJz/uCxZA=";
+    hash = "sha256-INvh+J484xkAsNGtYdf8NGGpFGp2AG7s9UYESoem3QY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/mbedtls/default.nix b/pkgs/development/libraries/mbedtls/default.nix
index 9210f18ed9623..8bba8f0efe0ef 100644
--- a/pkgs/development/libraries/mbedtls/default.nix
+++ b/pkgs/development/libraries/mbedtls/default.nix
@@ -15,13 +15,13 @@ stdenv.mkDerivation rec {
   # versions. See
   #  * https://github.com/NixOS/nixpkgs/pull/119838#issuecomment-822100428
   #  * https://github.com/NixOS/nixpkgs/commit/0ee02a9d42b5fe1825b0f7cee7a9986bb4ba975d
-  version = "2.26.0"; # nixpkgs-update: no auto update
+  version = "2.28.0"; # nixpkgs-update: no auto update
 
   src = fetchFromGitHub {
     owner = "ARMmbed";
     repo = "mbedtls";
     rev = "${pname}-${version}";
-    sha256 = "0scwpmrgvg6q7rvqkc352d2fqlsx0aylcbyibcp1f1rsn8iiif2m";
+    sha256 = "sha256-VDoIUBaK2e0E5nkwU1u3Wvxc+s6OzBSdIeHsJKJuZ2g=";
   };
 
   nativeBuildInputs = [ cmake ninja perl python3 ];
diff --git a/pkgs/development/libraries/mdds/default.upstream b/pkgs/development/libraries/mdds/default.upstream
deleted file mode 100644
index 96c5bc35d169f..0000000000000
--- a/pkgs/development/libraries/mdds/default.upstream
+++ /dev/null
@@ -1,10 +0,0 @@
-url https://gitlab.com/mdds/mdds
-version_link 'mdds-.*[.]tar[.][a-z0-9]+$'
-version '.*-([0-9.]+)[.]tar[.].*' '\1'
-
-do_overwrite(){
-  ensure_hash
-  ensure_version
-  set_var_value version $CURRENT_VERSION
-  set_var_value sha256 $CURRENT_HASH
-}
diff --git a/pkgs/development/libraries/menu-cache/default.nix b/pkgs/development/libraries/menu-cache/default.nix
index b2f06b9e627b7..66fadee0b31fe 100644
--- a/pkgs/development/libraries/menu-cache/default.nix
+++ b/pkgs/development/libraries/menu-cache/default.nix
@@ -1,11 +1,11 @@
 { lib, stdenv, fetchurl, glib, pkg-config, libfm-extra }:
 
-let name = "menu-cache-1.1.0";
-in
-stdenv.mkDerivation {
-  inherit name;
+stdenv.mkDerivation rec {
+  pname = "menu-cache";
+  version = "1.1.0";
+
   src = fetchurl {
-    url = "mirror://sourceforge/lxde/${name}.tar.xz";
+    url = "mirror://sourceforge/lxde/menu-cache-${version}.tar.xz";
     sha256 = "1iry4zlpppww8qai2cw4zid4081hh7fz8nzsp5lqyffbkm2yn0pd";
   };
 
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 4b9849fd87880..b91e140345de8 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -33,7 +33,7 @@ with lib;
 let
   # Release calendar: https://www.mesa3d.org/release-calendar.html
   # Release frequency: https://www.mesa3d.org/releasing.html#schedule
-  version = "21.3.2";
+  version = "21.3.5";
   branch  = versions.major version;
 
 self = stdenv.mkDerivation {
@@ -47,18 +47,20 @@ 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 = "1g96y59bw10ml8h4jl259g41jdmf5ww3jbwqpz1sprq7hgxvmrz2";
+    sha256 = "0k2ary16ixsrp65m2n5djpr51nbwdgzpv81pfrnqbvk44jfjlfyr";
   };
 
   # TODO:
   #  revive ./dricore-gallium.patch when it gets ported (from Ubuntu), as it saved
   #  ~35 MB in $drivers; watch https://launchpad.net/ubuntu/+source/mesa/+changelog
   patches = [
-    # fixes pkgsMusl.mesa build
+    # To fix flickering on Intel GPUs (iris), see https://github.com/NixOS/nixpkgs/issues/153377:
     (fetchpatch {
-      url = "https://raw.githubusercontent.com/void-linux/void-packages/b9f58f303ae23754c95d5d1fe87a98b5a2d8f271/srcpkgs/mesa/patches/musl.patch";
-      sha256 = "sha256-Jyl7ILLhn8hBJG7afnEjE8H56Wz/1bxkvlqfrXK5U7I=";
+      url = "https://gitlab.freedesktop.org/mesa/mesa/-/commit/07dc3d4238e57901ccf98e0b506d9aad2c86b9d9.diff";
+      sha256 = "sha256-3fa1qHJes3x1/iXsxfjgy9HnEGlOyFtJatSkU1a3XDI=";
     })
+    # fixes pkgsMusl.mesa build
+    ./musl.patch
     (fetchpatch {
       url = "https://raw.githubusercontent.com/void-linux/void-packages/b9f58f303ae23754c95d5d1fe87a98b5a2d8f271/srcpkgs/mesa/patches/musl-endian.patch";
       sha256 = "sha256-eRc91qCaFlVzrxFrNUPpAHd1gsqKsLCCN0IW8pBQcqk=";
diff --git a/pkgs/development/libraries/mesa/musl.patch b/pkgs/development/libraries/mesa/musl.patch
new file mode 100644
index 0000000000000..687a159c1788d
--- /dev/null
+++ b/pkgs/development/libraries/mesa/musl.patch
@@ -0,0 +1,59 @@
+diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h
+index 06ca90564f0..bb244f8f358 100644
+--- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h
++++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h
+@@ -30,6 +30,7 @@
+ 
+ #include <amdgpu.h>
+ #include <pthread.h>
++#include <sys/types.h>
+ #include "util/list.h"
+ #include "util/rwlock.h"
+ #include "ac_gpu_info.h"
+diff --git a/src/gallium/drivers/freedreno/freedreno_util.h b/src/gallium/drivers/freedreno/freedreno_util.h
+index 22f99c41909..2f3195926be 100644
+--- a/src/gallium/drivers/freedreno/freedreno_util.h
++++ b/src/gallium/drivers/freedreno/freedreno_util.h
+@@ -108,6 +108,8 @@ extern bool fd_binning_enabled;
+ #include <sys/types.h>
+ #include <sys/syscall.h>
+ 
++#define gettid() ((pid_t)syscall(SYS_gettid))
++
+ #define DBG(fmt, ...)                                                          \
+    do {                                                                        \
+       if (FD_DBG(MSGS))                                                        \
+diff --git a/src/gallium/frontends/nine/nine_debug.c b/src/gallium/frontends/nine/nine_debug.c
+index f3a6a945025..f4a6c41a612 100644
+--- a/src/gallium/frontends/nine/nine_debug.c
++++ b/src/gallium/frontends/nine/nine_debug.c
+@@ -65,7 +65,7 @@ _nine_debug_printf( unsigned long flag,
+ {
+     static boolean first = TRUE;
+     static unsigned long dbg_flags = DBG_ERROR | DBG_WARN;
+-    unsigned long tid = 0;
++    pthread_t tid = 0;
+ 
+     if (first) {
+         first = FALSE;
+@@ -74,7 +74,7 @@ _nine_debug_printf( unsigned long flag,
+ 
+ #if defined(HAVE_PTHREAD)
+     if (dbg_flags & DBG_TID)
+-        tid = (unsigned long)pthread_self();
++        tid = pthread_self();
+ #endif
+ 
+     if (dbg_flags & flag) {
+diff --git a/src/util/rand_xor.c b/src/util/rand_xor.c
+index 81b64f1ea71..56ebd2eccdf 100644
+--- a/src/util/rand_xor.c
++++ b/src/util/rand_xor.c
+@@ -28,6 +28,7 @@
+ #if defined(HAVE_GETRANDOM)
+ #include <sys/random.h>
+ #endif
++#include <sys/types.h>         /* size_t, ssize_t */
+ #include <unistd.h>
+ #include <fcntl.h>
+ #endif
diff --git a/pkgs/development/libraries/minizip/default.nix b/pkgs/development/libraries/minizip/default.nix
index bb62a9b3b2ba4..1fb737ed7a758 100644
--- a/pkgs/development/libraries/minizip/default.nix
+++ b/pkgs/development/libraries/minizip/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, zlib, autoreconfHook }:
 
 stdenv.mkDerivation {
-  name = "minizip-${zlib.version}";
+  pname = "minizip";
+  version = zlib.version;
   inherit (zlib) src;
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/libraries/mlt/default.nix b/pkgs/development/libraries/mlt/default.nix
index a4f0289cd58e4..b73289ca82ff1 100644
--- a/pkgs/development/libraries/mlt/default.nix
+++ b/pkgs/development/libraries/mlt/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, makeWrapper
-, SDL, ffmpeg, frei0r, libjack2, libdv, libsamplerate, libexif
+, SDL, ffmpeg_4, 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
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    SDL ffmpeg frei0r libjack2 libdv libsamplerate libvorbis libxml2.dev
+    SDL ffmpeg_4 frei0r libjack2 libdv libsamplerate libvorbis libxml2.dev
     movit sox libexif gtk2 fftw libebur128 opencv4 SDL2 jack2
     ladspa-sdk
   ] ++ lib.optional enablePython ncurses;
diff --git a/pkgs/development/libraries/mm-common/default.nix b/pkgs/development/libraries/mm-common/default.nix
index 44f78daec72d0..e1eaa1d924b73 100644
--- a/pkgs/development/libraries/mm-common/default.nix
+++ b/pkgs/development/libraries/mm-common/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mm-common";
-  version = "1.0.3";
+  version = "1.0.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "6BWWYliZqs8dC/J8zC/Mfzc0BexIc1yhxyc8D7zcHvU=";
+    sha256 = "6VTAm0MJp++T4TtpJgrNxXOMkHR36zgbeLseQU7m29g=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/mpich/default.nix b/pkgs/development/libraries/mpich/default.nix
index 7fe1dc33134bc..570a123f86095 100644
--- a/pkgs/development/libraries/mpich/default.nix
+++ b/pkgs/development/libraries/mpich/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, perl, gfortran
-, openssh, hwloc
+, openssh, hwloc, python3
 # either libfabric or ucx work for ch4backend on linux. On darwin, neither of
 # these libraries currently build so this argument is ignored on Darwin.
 , ch4backend
@@ -11,11 +11,11 @@ assert (ch4backend.pname == "ucx" || ch4backend.pname == "libfabric");
 
 stdenv.mkDerivation  rec {
   pname = "mpich";
-  version = "3.4.3";
+  version = "4.0";
 
   src = fetchurl {
     url = "https://www.mpich.org/static/downloads/${version}/mpich-${version}.tar.gz";
-    sha256 = "1msg5i2mcmjix5pvpa84dwmlqpqm3206frl1060k342i62gxhm41";
+    sha256 = "0r7zzcj8b9dbf5lp2d81wcvffi38c1zchkgzyxckk51adv4ijx6z";
   };
 
   configureFlags = [
@@ -26,7 +26,7 @@ stdenv.mkDerivation  rec {
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ gfortran ];
+  nativeBuildInputs = [ gfortran python3 ];
   buildInputs = [ perl openssh hwloc ]
     ++ lib.optional (!stdenv.isDarwin) ch4backend;
 
diff --git a/pkgs/development/libraries/mpir/default.nix b/pkgs/development/libraries/mpir/default.nix
index b8ee4fb4e7650..b7d31066de1a7 100644
--- a/pkgs/development/libraries/mpir/default.nix
+++ b/pkgs/development/libraries/mpir/default.nix
@@ -21,6 +21,5 @@ stdenv.mkDerivation rec {
     platforms = lib.platforms.unix;
     downloadPage = "https://mpir.org/downloads.html";
     homepage = "https://mpir.org/";
-    updateWalker = true;
   };
 }
diff --git a/pkgs/development/libraries/mysocketw/default.nix b/pkgs/development/libraries/mysocketw/default.nix
index 7997fc18d1111..62bd7cea1a1a7 100644
--- a/pkgs/development/libraries/mysocketw/default.nix
+++ b/pkgs/development/libraries/mysocketw/default.nix
@@ -1,15 +1,17 @@
-{ lib, stdenv, fetchurl, openssl }:
+{ lib, stdenv, fetchFromGitHub, openssl, cmake }:
 
 stdenv.mkDerivation rec {
   pname = "mysocketw";
-  version = "031026";
-  src = fetchurl {
-    url = "https://www.digitalfanatics.org/cal/socketw/files/SocketW${version}.tar.gz";
-    sha256 = "0crinikhdl7xihzmc3k3k41pgxy16d5ci8m9sza1lbibns7pdwj4";
-  };
+  version = "3.10.27";
 
-  patches = [ ./gcc.patch ];
+  src = fetchFromGitHub {
+    owner = "RigsOfRods";
+    repo = "socketw";
+    rev = version;
+    sha256 = "0xqcgwb1lyc2d8834sq5adbmggyn6vvb26jw20862sxa15j0qfd4";
+  };
 
+  nativeBuildInputs = [ cmake ];
   buildInputs = [ openssl ];
 
   postPatch = lib.optionalString stdenv.isDarwin ''
@@ -17,8 +19,6 @@ stdenv.mkDerivation rec {
         --replace -Wl,-soname, -Wl,-install_name,$out/lib/
   '';
 
-  makeFlags = [ "PREFIX=$(out)" "CXX=${stdenv.cc.targetPrefix}c++" ];
-
   meta = {
     description = "Cross platform (Linux/FreeBSD/Unix/Win32) streaming socket C++";
     license = lib.licenses.lgpl21Plus;
diff --git a/pkgs/development/libraries/mythes/default.nix b/pkgs/development/libraries/mythes/default.nix
index b678baf988194..2c4312d6498d7 100644
--- a/pkgs/development/libraries/mythes/default.nix
+++ b/pkgs/development/libraries/mythes/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, hunspell, ncurses, pkg-config, perl }:
 
 stdenv.mkDerivation rec {
-  name = "mythes-1.2.4";
+  pname = "mythes";
+  version = "1.2.4";
 
   src = fetchurl {
-    url = "mirror://sourceforge/hunspell/${name}.tar.gz";
+    url = "mirror://sourceforge/hunspell/mythes-${version}.tar.gz";
     sha256 = "0prh19wy1c74kmzkkavm9qslk99gz8h8wmjvwzjc6lf8v2az708y";
   };
 
diff --git a/pkgs/development/libraries/nanoflann/default.nix b/pkgs/development/libraries/nanoflann/default.nix
index 0dbbd461dc215..477ff27078bf5 100644
--- a/pkgs/development/libraries/nanoflann/default.nix
+++ b/pkgs/development/libraries/nanoflann/default.nix
@@ -1,14 +1,14 @@
 {lib, stdenv, fetchFromGitHub, cmake}:
 
 stdenv.mkDerivation rec {
-  version = "1.3.2";
+  version = "1.4.2";
   pname = "nanoflann";
 
   src = fetchFromGitHub {
     owner = "jlblancoc";
     repo = "nanoflann";
     rev = "v${version}";
-    sha256 = "0lq1zqwjvk8wv15hd7aw57jsqbvv45cwb8ngdh1d2iyw5rvnbhsn";
+    sha256 = "sha256-znIX1S0mfOqLYPIcyVziUM1asBjENPEAdafLud1CfFI=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/ncnn/cmakelists.patch b/pkgs/development/libraries/ncnn/cmakelists.patch
new file mode 100644
index 0000000000000..23499a1b99225
--- /dev/null
+++ b/pkgs/development/libraries/ncnn/cmakelists.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 98611276..989350bb 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -260,6 +260,8 @@ if(NCNN_VULKAN)
+                 include("${GLSLANG_TARGET_DIR}/HLSLTargets.cmake")
+             endif()
+             include("${GLSLANG_TARGET_DIR}/glslangTargets.cmake")
++            include("${GLSLANG_TARGET_DIR}/SPIRV-Tools/SPIRV-ToolsTarget.cmake")
++            include("${GLSLANG_TARGET_DIR}/SPIRV-Tools-opt/SPIRV-Tools-optTargets.cmake")
+             include("${GLSLANG_TARGET_DIR}/SPIRVTargets.cmake")
+ 
+             if (NOT TARGET glslang OR NOT TARGET SPIRV)
diff --git a/pkgs/development/libraries/ncnn/default.nix b/pkgs/development/libraries/ncnn/default.nix
new file mode 100644
index 0000000000000..d53e0d9b42ea8
--- /dev/null
+++ b/pkgs/development/libraries/ncnn/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, vulkan-headers
+, vulkan-loader
+, glslang
+, opencv
+, protobuf
+}:
+
+stdenv.mkDerivation rec {
+  pname = "ncnn";
+  version = "20211208";
+
+  src = fetchFromGitHub {
+    owner = "Tencent";
+    repo = pname;
+    rev = version;
+    sha256 = "1c9axrnafksnks7v5fmi6nzs0qim9n6j5kh5d0vfl3b4r22irhqr";
+  };
+
+  patches = [
+    ./cmakelists.patch
+    ./gpu-include.patch
+  ];
+
+  cmakeFlags = [
+    "-DNCNN_CMAKE_VERBOSE=1" # Only for debugging the build
+    "-DNCNN_SHARED_LIB=1"
+    "-DNCNN_ENABLE_LTO=1"
+    "-DNCNN_VULKAN=1"
+    "-DNCNN_BUILD_EXAMPLES=0"
+    "-DNCNN_BUILD_TOOLS=0"
+    "-DNCNN_SYSTEM_GLSLANG=1"
+    "-DNCNN_PYTHON=0" # Should be an attribute
+
+    "-DGLSLANG_TARGET_DIR=${glslang}/lib/cmake"
+  ];
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ vulkan-headers vulkan-loader glslang opencv protobuf ];
+
+  meta = with lib; {
+    description = "ncnn is a high-performance neural network inference framework optimized for the mobile platform";
+    homepage = "https://github.com/Tencent/ncnn";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ tilcreator ];
+  };
+}
diff --git a/pkgs/development/libraries/ncnn/gpu-include.patch b/pkgs/development/libraries/ncnn/gpu-include.patch
new file mode 100644
index 0000000000000..8f751c7699470
--- /dev/null
+++ b/pkgs/development/libraries/ncnn/gpu-include.patch
@@ -0,0 +1,13 @@
+diff --git a/src/gpu.cpp b/src/gpu.cpp
+index 51cd7f95..bf7ed828 100644
+--- a/src/gpu.cpp
++++ b/src/gpu.cpp
+@@ -21,7 +21,7 @@
+ #include <vulkan/vulkan.h>
+ 
+ #include "glslang/SPIRV/GlslangToSpv.h"
+-#include "glslang/glslang/Public/ShaderLang.h"
++#include "glslang/Public/ShaderLang.h"
+ 
+ #include "command.h"
+ #include "layer.h"
diff --git a/pkgs/development/libraries/nco/default.nix b/pkgs/development/libraries/nco/default.nix
index b90d64c2ffcb7..9d90e399ca771 100644
--- a/pkgs/development/libraries/nco/default.nix
+++ b/pkgs/development/libraries/nco/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nco";
-  version = "5.0.3";
+  version = "5.0.6";
 
   src = fetchFromGitHub {
     owner = "nco";
     repo = "nco";
     rev = version;
-    sha256 = "sha256-KrFRBlD3z/sjKIvxmE0s/xCILQmESecilnlUGzDDICw=";
+    sha256 = "sha256-LmxHgSBBqXK5M4KOthd8R+H5EY3O5lueb2gnw5mK8Xw=";
   };
 
   nativeBuildInputs = [ flex which antlr2 ];
diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix
index b7ca4df888570..efab246bb1f0d 100644
--- a/pkgs/development/libraries/ncurses/default.nix
+++ b/pkgs/development/libraries/ncurses/default.nix
@@ -1,20 +1,18 @@
-{ lib, stdenv, fetchurl, pkg-config
-
+{ lib
+, stdenv
+, fetchurl
+, buildPackages
+, pkg-config
 , abiVersion ? "6"
-, mouseSupport ? false
-, unicode ? true
 , enableStatic ? stdenv.hostPlatform.isStatic
-, enableShared ? !enableStatic
 , withCxx ? !stdenv.hostPlatform.useAndroidPrebuilt
-
-, gpm
-
-, buildPackages
+, mouseSupport ? false, gpm
+, unicodeSupport ? true
 }:
 
 stdenv.mkDerivation rec {
   # Note the revision needs to be adjusted.
-  version = "6.2";
+  version = "6.3";
   name = "ncurses-${version}" + lib.optionalString (abiVersion == "5") "-abi5-compat";
 
   # We cannot use fetchFromGitHub (which calls fetchzip)
@@ -24,20 +22,21 @@ stdenv.mkDerivation rec {
     rev = "v${version}";
   in fetchurl {
     url = "https://github.com/mirror/ncurses/archive/${rev}.tar.gz";
-    sha256 = "15r2456g0mlq2q7gh2z52vl6zv6y0z8sdchrs80kg4idqd8sm8fd";
+    sha256 = "1mawdjhzl2na2j0dylwc37f5w95rhgyvlwnfhww5rz2r7fgkvayv";
   };
 
   outputs = [ "out" "dev" "man" ];
   setOutputFlags = false; # some aren't supported
 
   configureFlags = [
-    (lib.withFeature enableShared "shared")
+    (lib.withFeature (!enableStatic) "shared")
     "--without-debug"
     "--enable-pc-files"
     "--enable-symlinks"
     "--with-manpage-format=normal"
     "--disable-stripping"
-  ] ++ lib.optional unicode "--enable-widec"
+    "--with-versioned-syms"
+  ] ++ lib.optional unicodeSupport "--enable-widec"
     ++ lib.optional (!withCxx) "--without-cxx"
     ++ lib.optional (abiVersion == "5") "--with-abi-version=5"
     ++ lib.optional stdenv.hostPlatform.isNetBSD "--enable-rpath"
@@ -49,12 +48,16 @@ stdenv.mkDerivation rec {
   # Only the C compiler, and explicitly not C++ compiler needs this flag on solaris:
   CFLAGS = lib.optionalString stdenv.isSunOS "-D_XOPEN_SOURCE_EXTENDED";
 
-  depsBuildBuild = [ buildPackages.stdenv.cc ];
+  depsBuildBuild = [
+    buildPackages.stdenv.cc
+  ];
+
   nativeBuildInputs = [
     pkg-config
   ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
     buildPackages.ncurses
   ];
+
   buildInputs = lib.optional (mouseSupport && stdenv.isLinux) gpm;
 
   preConfigure = ''
@@ -147,31 +150,26 @@ stdenv.mkDerivation rec {
     rm "$out"/lib/*.a
   '';
 
-  meta = {
+  meta = with lib; {
+    homepage = "https://www.gnu.org/software/ncurses/";
     description = "Free software emulation of curses in SVR4 and more";
-
     longDescription = ''
-      The Ncurses (new curses) library is a free software emulation of
-      curses in System V Release 4.0, and more.  It uses Terminfo
-      format, supports pads and color and multiple highlights and
-      forms characters and function-key mapping, and has all the other
-      SYSV-curses enhancements over BSD Curses.
-
-      The ncurses code was developed under GNU/Linux.  It has been in
-      use for some time with OpenBSD as the system curses library, and
-      on FreeBSD and NetBSD as an external package.  It should port
-      easily to any ANSI/POSIX-conforming UNIX.  It has even been
-      ported to OS/2 Warp!
+      The Ncurses (new curses) library is a free software emulation of curses in
+      System V Release 4.0, and more. It uses Terminfo format, supports pads and
+      color and multiple highlights and forms characters and function-key
+      mapping, and has all the other SYSV-curses enhancements over BSD Curses.
+
+      The ncurses code was developed under GNU/Linux. It has been in use for
+      some time with OpenBSD as the system curses library, and on FreeBSD and
+      NetBSD as an external package. It should port easily to any
+      ANSI/POSIX-conforming UNIX. It has even been ported to OS/2 Warp!
     '';
-
-    homepage = "https://www.gnu.org/software/ncurses/";
-
-    license = lib.licenses.mit;
-    platforms = lib.platforms.all;
+    license = licenses.mit;
+    platforms = platforms.all;
   };
 
   passthru = {
     ldflags = "-lncurses";
-    inherit unicode abiVersion;
+    inherit unicodeSupport abiVersion;
   };
 }
diff --git a/pkgs/development/libraries/ndpi/default.nix b/pkgs/development/libraries/ndpi/default.nix
index a45884f72dc6f..2e8a997299f1b 100644
--- a/pkgs/development/libraries/ndpi/default.nix
+++ b/pkgs/development/libraries/ndpi/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ndpi";
-  version = "4.0";
+  version = "4.2";
 
   src = fetchFromGitHub {
     owner = "ntop";
     repo = "nDPI";
     rev = version;
-    sha256 = "0snzvlracc6s7r2pgdn0jqcc7nxjxzcivsa579h90g5ibhhplv5x";
+    sha256 = "sha256-ZWWuyPGl+hbrfXdtPvCBqMReuJ4FiGx+qiI7qCz6wtQ=";
   };
 
   configureScript = "./autogen.sh";
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
       nDPI is a library for deep-packet inspection based on OpenDPI.
     '';
     homepage = "https://www.ntop.org/products/deep-packet-inspection/ndpi/";
-    license = with licenses; lgpl3;
+    license = with licenses; [ lgpl3Plus bsd3 ];
     maintainers = with maintainers; [ takikawa ];
     platforms = with platforms; unix;
   };
diff --git a/pkgs/development/libraries/neardal/default.nix b/pkgs/development/libraries/neardal/default.nix
index 43f63d91a618d..bbcefa0a44336 100644
--- a/pkgs/development/libraries/neardal/default.nix
+++ b/pkgs/development/libraries/neardal/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, pkg-config, glib, readline, makeWrapper }:
 
 stdenv.mkDerivation {
-  name = "neardal-0.7-post-git-20150930";
+  pname = "neardal";
+  version = "unstable-0.7-post-git-2015-09-30";
 
   src = fetchFromGitHub {
     owner = "connectivity";
diff --git a/pkgs/development/libraries/neon/0.29.nix b/pkgs/development/libraries/neon/0.29.nix
deleted file mode 100644
index e0437fb7cea1a..0000000000000
--- a/pkgs/development/libraries/neon/0.29.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ lib, stdenv, fetchurl, libxml2, pkg-config, perl
-, compressionSupport ? true, zlib ? null
-, sslSupport ? true, openssl ? null
-, static ? false
-, shared ? true
-}:
-
-assert compressionSupport -> zlib != null;
-assert sslSupport -> openssl != null;
-assert static || shared;
-
-let
-   inherit (lib) optionals;
-in
-
-stdenv.mkDerivation rec {
-  version = "0.29.6";
-  pname = "neon";
-
-  src = fetchurl {
-    url = "http://www.webdav.org/neon/${pname}-${version}.tar.gz";
-    sha256 = "0hzbjqdx1z8zw0vmbknf159wjsxbcq8ii0wgwkqhxj3dimr0nr4w";
-  };
-
-  patches = optionals stdenv.isDarwin [ ./0.29.6-darwin-fix-configure.patch ];
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [libxml2 openssl]
-    ++ lib.optional compressionSupport zlib;
-
-  configureFlags = [
-    (lib.enableFeature shared "shared")
-    (lib.enableFeature static "static")
-    (lib.withFeature compressionSupport "zlib")
-    (lib.withFeature sslSupport "ssl")
-  ];
-
-  passthru = {inherit compressionSupport sslSupport;};
-
-  checkInputs = [ perl ];
-  doCheck = false; # fails, needs the net
-
-  meta = with lib; {
-    description = "An HTTP and WebDAV client library";
-    homepage = "http://www.webdav.org/neon/";
-    platforms = platforms.unix;
-    license = licenses.lgpl2;
-  };
-}
diff --git a/pkgs/development/libraries/neon/0.29.6-darwin-fix-configure.patch b/pkgs/development/libraries/neon/darwin-fix-configure.patch
index 87222a9c0ce09..87222a9c0ce09 100644
--- a/pkgs/development/libraries/neon/0.29.6-darwin-fix-configure.patch
+++ b/pkgs/development/libraries/neon/darwin-fix-configure.patch
diff --git a/pkgs/development/libraries/neon/default.nix b/pkgs/development/libraries/neon/default.nix
index 739c5e07d2065..a39ece28aae91 100644
--- a/pkgs/development/libraries/neon/default.nix
+++ b/pkgs/development/libraries/neon/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     sha256 = "0y46dbhiblcvg8k41bdydr3fivghwk73z040ki5825d24ynf67ng";
   };
 
-  patches = optionals stdenv.isDarwin [ ./0.29.6-darwin-fix-configure.patch ];
+  patches = optionals stdenv.isDarwin [ ./darwin-fix-configure.patch ];
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [libxml2 openssl]
diff --git a/pkgs/development/libraries/nghttp3/default.nix b/pkgs/development/libraries/nghttp3/default.nix
index 85a66f940658c..fc2416c2cfb02 100644
--- a/pkgs/development/libraries/nghttp3/default.nix
+++ b/pkgs/development/libraries/nghttp3/default.nix
@@ -1,20 +1,21 @@
 { lib, stdenv, fetchFromGitHub
 , autoreconfHook, pkg-config
-, cunit, file
+, cunit, file, ncurses
 }:
 
 stdenv.mkDerivation rec {
   pname = "nghttp3";
-  version = "unstable-2021-11-10";
+  version = "unstable-2021-12-22";
 
   src = fetchFromGitHub {
     owner = "ngtcp2";
     repo = pname;
-    rev = "270e75447ed9e2a05b78ba89d0699d076230ea60";
-    sha256 = "01cla03cv8nd2rf5p77h0xzvn9f8sfwn8pp3r2jshvqp9ipa8065";
+    rev = "8d8184acf850b06b53157bba39022bc7b7b5f1cd";
+    sha256 = "sha256-pV1xdQa5RBz17jDINC2uN1Q+jpa2edDwqTqf8D5VU3E=";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config cunit file ];
+  nativeBuildInputs = [ autoreconfHook pkg-config file ];
+  checkInputs = [ cunit ncurses ];
 
   preConfigure = ''
     substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file
@@ -23,12 +24,13 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" ];
 
   doCheck = true;
+  enableParallelBuilding = true;
 
   meta = with lib; {
     homepage = "https://github.com/ngtcp2/nghttp3";
     description = "nghttp3 is an implementation of HTTP/3 mapping over QUIC and QPACK in C.";
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ izorkin ];
   };
 }
diff --git a/pkgs/development/libraries/ngtcp2/default.nix b/pkgs/development/libraries/ngtcp2/default.nix
index 0d4002ca10d7c..650516d360cf7 100644
--- a/pkgs/development/libraries/ngtcp2/default.nix
+++ b/pkgs/development/libraries/ngtcp2/default.nix
@@ -1,22 +1,24 @@
 { lib, stdenv, fetchFromGitHub
 , autoreconfHook, pkg-config
-, cunit, file
-, jemalloc, libev, nghttp3, quictls
+, cunit, file, ncurses
+, libev, nghttp3, quictls
+, withJemalloc ? false, jemalloc
 }:
 
 stdenv.mkDerivation rec {
   pname = "ngtcp2";
-  version = "unstable-2021-11-10";
+  version = "unstable-2021-12-19";
 
   src = fetchFromGitHub {
     owner = "ngtcp2";
     repo = pname;
-    rev = "7039808c044152c14b44046468bd16249b4d7048";
-    sha256 = "1cjsky24f6fazw9b1r6w9cgp09vi8wp99sv76gg2b1r8ic3hgq23";
+    rev = "20c710a8789ec910455ae4e588c72e9e39f8cec9";
+    sha256 = "sha256-uBmD26EYT8zxmHD5FuHCbEuTdWxer/3uhRp8PhUT87M=";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config cunit file ];
-  buildInputs = [ jemalloc libev nghttp3 quictls ];
+  nativeBuildInputs = [ autoreconfHook pkg-config file ];
+  buildInputs = [ libev nghttp3 quictls ] ++ lib.optional withJemalloc jemalloc;
+  checkInputs = [ cunit ncurses ];
 
   preConfigure = ''
     substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file
@@ -25,12 +27,13 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" ];
 
   doCheck = true;
+  enableParallelBuilding = true;
 
   meta = with lib; {
     homepage = "https://github.com/ngtcp2/ngtcp2";
     description = "ngtcp2 project is an effort to implement QUIC protocol which is now being discussed in IETF QUICWG for its standardization.";
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ izorkin ];
   };
 }
diff --git a/pkgs/development/libraries/notcurses/default.nix b/pkgs/development/libraries/notcurses/default.nix
index 07ef398e6f8a4..f4a9b67e94d68 100644
--- a/pkgs/development/libraries/notcurses/default.nix
+++ b/pkgs/development/libraries/notcurses/default.nix
@@ -1,51 +1,63 @@
-{ stdenv
+{ lib
+, stdenv
+, fetchFromGitHub
 , cmake
-, pkg-config
-, pandoc
+, libdeflate
 , libunistring
 , ncurses
+, pandoc
+, pkg-config
 , zlib
-, ffmpeg
-, fetchFromGitHub
-, lib
-, multimediaSupport ? true
+, multimediaSupport ? true, ffmpeg
+, qrcodegenSupport ? true, qrcodegen
 }:
 
 stdenv.mkDerivation rec {
   pname = "notcurses";
-  version = "2.4.9";
+  version = "3.0.6";
 
   src = fetchFromGitHub {
     owner = "dankamongmen";
     repo = "notcurses";
     rev = "v${version}";
-    sha256 = "sha256-J7yTNMvmcm69B+yF0PYLXFG8kkcnffWyUx3kEFU0ToI=";
+    sha256 = "sha256-DGAE3XomAoRhAkKUCxmr8R0dhNXeusSgETzmsbV1RhQ=";
   };
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ cmake pkg-config pandoc ];
-
-  buildInputs = [ libunistring ncurses zlib ]
-    ++ lib.optional multimediaSupport ffmpeg;
-
-  cmakeFlags = [ "-DUSE_QRCODEGEN=OFF" ]
+  nativeBuildInputs = [
+    cmake
+    pandoc
+    pkg-config
+  ];
+
+  buildInputs = [
+    libdeflate
+    libunistring
+    ncurses
+    zlib
+  ]
+  ++ lib.optional qrcodegenSupport qrcodegen
+  ++ lib.optional multimediaSupport ffmpeg;
+
+  cmakeFlags =
+    lib.optional (qrcodegenSupport) "-DUSE_QRCODEGEN=ON"
     ++ lib.optional (!multimediaSupport) "-DUSE_MULTIMEDIA=none";
 
   meta = with lib; {
-    description = "blingful TUIs and character graphics";
+    homepage = "https://github.com/dankamongmen/notcurses";
+    description = "Blingful TUIs and character graphics";
     longDescription = ''
-      A library facilitating complex TUIs on modern terminal emulators,
-      supporting vivid colors, multimedia, and Unicode to the maximum degree
-      possible. Things can be done with Notcurses that simply can't be done
-      with NCURSES.
+      Notcurses is a library facilitating complex TUIs on modern terminal
+      emulators, supporting vivid colors, multimedia, and Unicode to the maximum
+      degree possible. Things can be done with Notcurses that simply can't be
+      done with NCURSES.
 
       It is not a source-compatible X/Open Curses implementation, nor a
       replacement for NCURSES on existing systems.
     '';
-    homepage = "https://github.com/dankamongmen/notcurses";
     license = licenses.asl20;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ jb55 ];
+    maintainers = with maintainers; [ jb55 AndersonTorres ];
+    inherit (ncurses.meta) platforms;
   };
 }
diff --git a/pkgs/development/libraries/npth/default.nix b/pkgs/development/libraries/npth/default.nix
index a5ac9ce991274..208924bfd7b56 100644
--- a/pkgs/development/libraries/npth/default.nix
+++ b/pkgs/development/libraries/npth/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "npth-1.6";
+  pname = "npth";
+  version = "1.6";
 
   src = fetchurl {
-    url = "mirror://gnupg/npth/${name}.tar.bz2";
+    url = "mirror://gnupg/npth/npth-${version}.tar.bz2";
     sha256 = "1lg2lkdd3z1s3rpyf88786l243adrzyk9p4q8z9n41ygmpcsp4qk";
   };
 
diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix
index 8048ef2a5e702..1a8eb93ce3d41 100644
--- a/pkgs/development/libraries/nspr/default.nix
+++ b/pkgs/development/libraries/nspr/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nspr";
-  version = "4.32";
+  version = "4.33";
 
   src = fetchurl {
     url = "mirror://mozilla/nspr/releases/v${version}/src/nspr-${version}.tar.gz";
-    sha256 = "0v3zds1id71j5a5si42a658fjz8nv2f6zp6w4gqrqmdr6ksz8sxv";
+    sha256 = "1mwklrsx05ga30crr9xi6nl4d49d5mzx2x533bxw4l0fpqay6gmj";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index 4a69ad54c4e49..e92b3dec07be3 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -27,7 +27,7 @@ let
   #       It will rebuild itself using the version of this package (NSS) and if
   #       an update is required do the required changes to the expression.
   #       Example: nix-shell ./maintainers/scripts/update.nix --argstr package cacert
-  version = "3.73";
+  version = "3.74";
 
 in
 stdenv.mkDerivation rec {
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://mozilla/security/nss/releases/NSS_${lib.replaceStrings [ "." ] [ "_" ] version}_RTM/src/${pname}-${version}.tar.gz";
-    sha256 = "1rfqjq02rfv0ycdmvic51pi093rg33zb8kpqkvddf44vv9l3lvan";
+    sha256 = "0mnhdkm4galhpvfz4rv0918jwmjlwkvcvb1f5va8f3zlz48qi4l8";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
diff --git a/pkgs/development/libraries/nsync/default.nix b/pkgs/development/libraries/nsync/default.nix
new file mode 100644
index 0000000000000..a00893c157326
--- /dev/null
+++ b/pkgs/development/libraries/nsync/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+}:
+
+stdenv.mkDerivation rec {
+  pname = "nsync";
+  version = "1.24.0";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-jQJtlBDR6efBe1tFOUOZ6awaMTT33qM/GbvbwiWTZxw=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = {
+    homepage = "https://github.com/google/nsync";
+    description = "C library that exports various synchronization primitives";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ puffnfresh ];
+    # On macOS we get an error for some reason:
+    # > mkdir: cannot create directory 'build': File exists
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/ntrack/default.nix b/pkgs/development/libraries/ntrack/default.nix
index eef6bbdd580f0..a10434d90b41b 100644
--- a/pkgs/development/libraries/ntrack/default.nix
+++ b/pkgs/development/libraries/ntrack/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, qt4, pkg-config, libnl, python }:
+{ lib, stdenv, fetchurl, qt4, pkg-config, libnl, python3 }:
 
 stdenv.mkDerivation rec {
   pname = "ntrack";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libnl qt4 ];
 
-  nativeBuildInputs = [ pkg-config python ];
+  nativeBuildInputs = [ pkg-config python3 ];
 
   # error: ISO C does not support '__FUNCTION__' predefined identifier [-Werror=pedantic]
   NIX_CFLAGS_COMPILE = "-Wno-error";
diff --git a/pkgs/development/libraries/nuspell/default.nix b/pkgs/development/libraries/nuspell/default.nix
index b7f438e9d0725..a9e0bb4ea68f1 100644
--- a/pkgs/development/libraries/nuspell/default.nix
+++ b/pkgs/development/libraries/nuspell/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nuspell";
-  version = "5.0.0";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "nuspell";
     repo = "nuspell";
     rev = "v${version}";
-    sha256 = "039ryhwfbbrrhavzyr999kngj10nk9n81i6qigxj6igfl4fzjy87";
+    sha256 = "sha256-ogA7ycqdMUTN/KHV2oZzytnhZ7XVuhx+ArXZqLlmwjk=";
   };
 
   nativeBuildInputs = [ cmake pkg-config pandoc ];
diff --git a/pkgs/development/libraries/ogre/1.10.x.nix b/pkgs/development/libraries/ogre/1.10.x.nix
index 6167927878183..cd65630879ef9 100644
--- a/pkgs/development/libraries/ogre/1.10.x.nix
+++ b/pkgs/development/libraries/ogre/1.10.x.nix
@@ -8,11 +8,12 @@
 , withNvidiaCg ? false, nvidia_cg_toolkit
 , withSamples ? false }:
 
-stdenv.mkDerivation {
-  name = "ogre-1.10.11";
+stdenv.mkDerivation rec {
+  pname = "ogre";
+  version = "1.10.11";
 
   src = fetchurl {
-     url = "https://bitbucket.org/sinbad/ogre/get/v1-10-11.tar.gz";
+     url = "https://bitbucket.org/sinbad/ogre/get/v${lib.replaceStrings ["."] ["-"] version}.tar.gz";
      sha256 = "1zwvlx5dz9nwjazhnrhzb0w8ilpa84r0hrxrmmy69pgr1p1yif5a";
   };
 
diff --git a/pkgs/development/libraries/olm/default.nix b/pkgs/development/libraries/olm/default.nix
index e5c2d66827bf6..baae8ae81b721 100644
--- a/pkgs/development/libraries/olm/default.nix
+++ b/pkgs/development/libraries/olm/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "olm";
-  version = "3.2.8";
+  version = "3.2.9";
 
   src = fetchFromGitLab {
     domain = "gitlab.matrix.org";
     owner = "matrix-org";
     repo = pname;
     rev = version;
-    sha256 = "1jfhydfcnqpksb2bhi960v3h10prf4v5gx42mm2rp6p0jfbqcy50";
+    sha256 = "1vcxxnhsskvnkmk5ial31mvbhs1jwriw8ngyhfslbd30fr9ylw08";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/opae/default.nix b/pkgs/development/libraries/opae/default.nix
index cba7e7b285d99..4e9e4d79dd2f1 100644
--- a/pkgs/development/libraries/opae/default.nix
+++ b/pkgs/development/libraries/opae/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, cmake
 , libuuid, json_c
-, doxygen, perl, python2, python2Packages
+, doxygen, perl, python3
 }:
 
 stdenv.mkDerivation rec {
@@ -23,10 +23,11 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = [
     "-Wno-error=format-truncation"
     "-Wno-error=address-of-packed-member"
+    "-Wno-array-bounds"
   ];
 
-  nativeBuildInputs = [ cmake doxygen perl python2Packages.sphinx ];
-  buildInputs = [ libuuid json_c python2 ];
+  nativeBuildInputs = [ cmake doxygen perl python3.pkgs.sphinx ];
+  buildInputs = [ libuuid json_c python3 ];
 
   # Set the Epoch to 1980; otherwise the Python wheel/zip code
   # gets very angry
diff --git a/pkgs/development/libraries/openal-soft/default.nix b/pkgs/development/libraries/openal-soft/default.nix
index d28f7b25792e3..d2cdebdf3553e 100644
--- a/pkgs/development/libraries/openal-soft/default.nix
+++ b/pkgs/development/libraries/openal-soft/default.nix
@@ -23,9 +23,12 @@ stdenv.mkDerivation rec {
       --replace "@OUT@" $out
   '';
 
+  strictDeps = true;
+
   nativeBuildInputs = [ cmake ];
 
-  buildInputs = lib.optional alsaSupport alsa-lib
+  buildInputs = lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) stdenv.cc.libc
+    ++ lib.optional alsaSupport alsa-lib
     ++ lib.optional pulseSupport libpulseaudio
     ++ lib.optionals stdenv.isDarwin [ CoreServices AudioUnit AudioToolbox ];
 
diff --git a/pkgs/development/libraries/openbabel/2.nix b/pkgs/development/libraries/openbabel/2.nix
index 11265c643f94f..3e989561470c6 100644
--- a/pkgs/development/libraries/openbabel/2.nix
+++ b/pkgs/development/libraries/openbabel/2.nix
@@ -1,12 +1,14 @@
-{stdenv, lib, fetchurl, fetchpatch, cmake, zlib, libxml2, eigen, python, cairo, pcre, pkg-config }:
+{stdenv, lib, fetchFromGitHub, fetchpatch, cmake, zlib, libxml2, eigen, python3, cairo, pcre, pkg-config }:
 
 stdenv.mkDerivation rec {
   pname = "openbabel";
   version = "2.4.1";
 
-  src = fetchurl {
-    url = "https://github.com/openbabel/openbabel/archive/openbabel-${lib.replaceStrings ["."] ["-"] version}.tar.gz";
-    sha256 = "0xm7y859ivq2cp0q08mwshfxm0jq31xkyr4x8s0j6l7khf57yk2r";
+  src = fetchFromGitHub {
+    owner = "openbabel";
+    repo = "openbabel";
+    rev = "openbabel-${lib.replaceStrings ["."] ["-"] version}";
+    sha256 = "sha256-+pXsWMzex7rB1mm6dnTHzAcyw9jImgx1OZuLeCvbeJ0=";
   };
 
   patches = [
@@ -17,7 +19,7 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  buildInputs = [ zlib libxml2 eigen python cairo pcre ];
+  buildInputs = [ zlib libxml2 eigen python3 cairo pcre ];
 
   nativeBuildInputs = [ cmake pkg-config ];
 
diff --git a/pkgs/development/libraries/opencl-headers/default.nix b/pkgs/development/libraries/opencl-headers/default.nix
index 661fd734d8863..879a916d3ea6d 100644
--- a/pkgs/development/libraries/opencl-headers/default.nix
+++ b/pkgs/development/libraries/opencl-headers/default.nix
@@ -2,7 +2,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "opencl-headers-${version}";
+  pname = "opencl-headers";
   version = "2021.06.30";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/libraries/opencv/4.x.nix b/pkgs/development/libraries/opencv/4.x.nix
index 10459d959b299..0c6f9fb90c0c4 100644
--- a/pkgs/development/libraries/opencv/4.x.nix
+++ b/pkgs/development/libraries/opencv/4.x.nix
@@ -275,7 +275,12 @@ stdenv.mkDerivation {
   propagatedBuildInputs = lib.optional enablePython pythonPackages.numpy
     ++ lib.optionals enableCuda [ cudatoolkit nvidia-optical-flow-sdk ];
 
-  nativeBuildInputs = [ cmake pkg-config unzip ];
+  nativeBuildInputs = [ cmake pkg-config unzip ]
+  ++ lib.optionals enablePython [
+    pythonPackages.pip
+    pythonPackages.wheel
+    pythonPackages.setuptools
+  ];
 
   NIX_CFLAGS_COMPILE = lib.optionalString enableEXR "-I${ilmbase.dev}/include/OpenEXR";
 
@@ -333,6 +338,21 @@ stdenv.mkDerivation {
   postInstall = ''
     sed -i "s|{exec_prefix}/$out|{exec_prefix}|;s|{prefix}/$out|{prefix}|" \
       "$out/lib/pkgconfig/opencv4.pc"
+  ''
+  # install python distribution information, so other packages can `import opencv`
+  + lib.optionalString enablePython ''
+    pushd $NIX_BUILD_TOP/$sourceRoot/modules/python/package
+    python -m pip wheel --verbose --no-index --no-deps --no-clean --no-build-isolation --wheel-dir dist .
+
+    pushd dist
+    python -m pip install ./*.whl --no-index --no-warn-script-location --prefix="$out" --no-cache
+
+    # the cv2/__init__.py just tries to check provide "nice user feedback" if the installation is bad
+    # however, this also causes infinite recursion when used by other packages
+    rm -r $out/${pythonPackages.python.sitePackages}/cv2
+
+    popd
+    popd
   '';
 
   passthru = lib.optionalAttrs enablePython { pythonPath = [ ]; };
diff --git a/pkgs/development/libraries/opencv/default.nix b/pkgs/development/libraries/opencv/default.nix
index ed2f700dc82ea..34dcd240838ef 100644
--- a/pkgs/development/libraries/opencv/default.nix
+++ b/pkgs/development/libraries/opencv/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, cmake, pkg-config, unzip
 , zlib
-, enablePython ? false, pythonPackages
+, enablePython ? false, python2Packages
 , enableGtk2 ? false, gtk2
 , enableJPEG ? true, libjpeg
 , enablePNG ? true, libpng
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
 
   buildInputs =
        [ zlib ]
-    ++ lib.optional enablePython pythonPackages.python
+    ++ lib.optional enablePython python2Packages.python
     ++ lib.optional enableGtk2 gtk2
     ++ lib.optional enableJPEG libjpeg
     ++ lib.optional enablePNG libpng
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
     ++ lib.optionals stdenv.isDarwin [ Cocoa QTKit ]
     ;
 
-  propagatedBuildInputs = lib.optional enablePython pythonPackages.numpy;
+  propagatedBuildInputs = lib.optional enablePython python2Packages.numpy;
 
   nativeBuildInputs = [ cmake pkg-config unzip ];
 
diff --git a/pkgs/development/libraries/opendbx/default.nix b/pkgs/development/libraries/opendbx/default.nix
index a9eb209edda8c..9a7877a9938a3 100644
--- a/pkgs/development/libraries/opendbx/default.nix
+++ b/pkgs/development/libraries/opendbx/default.nix
@@ -3,10 +3,11 @@
 let inherit (lib) getDev; in
 
 stdenv.mkDerivation rec {
-  name = "opendbx-1.4.6";
+  pname = "opendbx";
+  version = "1.4.6";
 
   src = fetchurl {
-    url = "https://linuxnetworks.de/opendbx/download/${name}.tar.gz";
+    url = "https://linuxnetworks.de/opendbx/download/opendbx-${version}.tar.gz";
     sha256 = "0z29h6zx5f3gghkh1a0060w6wr572ci1rl2a3480znf728wa0ii2";
   };
 
diff --git a/pkgs/development/libraries/openexr/3.nix b/pkgs/development/libraries/openexr/3.nix
index 24af4e429a020..3cfe173875c03 100644
--- a/pkgs/development/libraries/openexr/3.nix
+++ b/pkgs/development/libraries/openexr/3.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , zlib
 , cmake
 , imath
@@ -19,9 +20,26 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-Bi6yTcZBWTsWWMm3A7FVYblvSXKLSkHmhGvpNYGiOzE=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2021-45942.patch";
+      url = "https://github.com/AcademySoftwareFoundation/openexr/commit/11cad77da87c4fa2aab7d58dd5339e254db7937e.patch";
+      sha256 = "1qa8662ga5i0lyfi9mkj9s9bygdg7h1i6ahki28c664kxrlsakch";
+    })
+  ];
+
+  # tests are determined to use /var/tmp on unix
+  postPatch = ''
+    cat <(find . -name tmpDir.h) <(echo src/test/OpenEXRCoreTest/main.cpp) | while read -r f ; do
+      substituteInPlace $f --replace '/var/tmp' "$TMPDIR"
+    done
+  '';
+
   nativeBuildInputs = [ cmake ];
   propagatedBuildInputs = [ imath zlib ];
 
+  doCheck = true;
+
   meta = with lib; {
     description = "A high dynamic-range (HDR) image file format";
     homepage = "https://www.openexr.com/";
diff --git a/pkgs/development/libraries/openexr/default.nix b/pkgs/development/libraries/openexr/default.nix
index d60b7b7fc436f..31ca485527553 100644
--- a/pkgs/development/libraries/openexr/default.nix
+++ b/pkgs/development/libraries/openexr/default.nix
@@ -26,6 +26,13 @@ stdenv.mkDerivation rec {
       url = "https://github.com/AcademySoftwareFoundation/openexr/commit/2f19a01923885fda75ec9d19332de080ec7102bd.patch";
       sha256 = "1yxmrdzq1x1911wdzwnzr29jmg2r4wd4yx3vhjn0y5dpny0ri5y5";
     })
+    (fetchpatch {
+      name = "CVE-2021-45942.patch";
+      url = "https://github.com/AcademySoftwareFoundation/openexr/commit/11cad77da87c4fa2aab7d58dd5339e254db7937e.patch";
+      stripLen = 4;
+      extraPrefix = "OpenEXR/IlmImf/";
+      sha256 = "1wa2jn6sa0n3phaqvklnlbgk1bz60y756ad4jk4d757pzpnannsy";
+    })
   ];
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/openfec/default.nix b/pkgs/development/libraries/openfec/default.nix
new file mode 100644
index 0000000000000..2a0588a71ebd6
--- /dev/null
+++ b/pkgs/development/libraries/openfec/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, lib, fetchzip, cmake }:
+
+stdenv.mkDerivation rec {
+  pname = "openfec";
+  version = "1.4.2";
+
+  src = fetchzip {
+    url = "http://openfec.org/files/openfec_v1_4_2.tgz";
+    sha256 = "sha256:0c2lg8afr7lqpzrsi0g44a6h6s7nq4vz7yc9vm2k57ph2y6r86la";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  cmakeFlags = [ "-DDEBUG:STRING=OFF" ];
+
+  installPhase =
+    let so = stdenv.hostPlatform.extensions.sharedLibrary;
+    in ''
+      # This is pretty horrible but sadly there is not installation procedure
+      # provided.
+      mkdir -p $dev/include
+      cp -R ../src/* $dev/include
+      find $dev/include -type f -a ! -iname '*.h' -delete
+
+      install -D -m755 -t $out/lib ../bin/Release/libopenfec${so}
+      ln -s libopenfec${so} $out/lib/libopenfec${so}.1
+    '';
+
+  meta = with lib; {
+    description = "Application-level Forward Erasure Correction codes";
+    homepage = "https://github.com/roc-streaming/openfec";
+    license = licenses.cecill-c;
+    maintainers = with maintainers; [ bgamari ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/openh264/default.nix b/pkgs/development/libraries/openh264/default.nix
index 3858cb4dc2d5c..93fc495d38542 100644
--- a/pkgs/development/libraries/openh264/default.nix
+++ b/pkgs/development/libraries/openh264/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, nasm }:
+{ lib, stdenv, fetchFromGitHub, nasm, windows }:
 
 stdenv.mkDerivation rec {
   pname = "openh264";
@@ -13,10 +13,16 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ nasm ];
 
+  buildInputs = lib.optional stdenv.hostPlatform.isWindows windows.pthreads;
+
   makeFlags = [
     "PREFIX=${placeholder "out"}"
     "ARCH=${stdenv.hostPlatform.linuxArch}"
-  ];
+  ] ++ lib.optional stdenv.hostPlatform.isWindows "OS=mingw_nt";
+
+  enableParallelBuilding = true;
+
+  hardeningDisable = lib.optional stdenv.hostPlatform.isWindows "stackprotector";
 
   meta = with lib; {
     description = "A codec library which supports H.264 encoding and decoding";
diff --git a/pkgs/development/libraries/openslp/default.nix b/pkgs/development/libraries/openslp/default.nix
index 4fa03c5e7c1ba..1eec70be6acad 100644
--- a/pkgs/development/libraries/openslp/default.nix
+++ b/pkgs/development/libraries/openslp/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, fetchpatch }:
 
-stdenv.mkDerivation {
-  name = "openslp-2.0.0";
+stdenv.mkDerivation rec {
+  pname = "openslp";
+  version = "2.0.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/openslp/2.0.0/2.0.0/openslp-2.0.0.tar.gz";
+    url = "mirror://sourceforge/openslp/${version}/${version}/openslp-${version}.tar.gz";
     sha256 = "16splwmqp0400w56297fkipaq9vlbhv7hapap8z09gp5m2i3fhwj";
   };
 
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 30721129073bd..390227cfe95cc 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -9,18 +9,11 @@
 , withPerl ? stdenv.hostPlatform == stdenv.buildPlatform
 }:
 
-assert (
-  lib.assertMsg (!withPerl -> stdenv.hostPlatform != stdenv.buildPlatform)
-  "withPerl should not be disabled unless cross compiling"
-);
-
 # Note: this package is used for bootstrapping fetchurl, and thus
 # cannot use fetchpatch! All mutable patches (generated by GitHub or
 # cgit) that are needed here should be included directly in Nixpkgs as
 # files.
 
-with lib;
-
 let
   common = { version, sha256, patches ? [], withDocs ? false, extraMeta ? {} }:
    stdenv.mkDerivation rec {
@@ -36,7 +29,7 @@ let
 
     postPatch = ''
       patchShebangs Configure
-    '' + optionalString (versionOlder version "1.1.0") ''
+    '' + lib.optionalString (lib.versionOlder version "1.1.0") ''
       patchShebangs test/*
       for a in test/t* ; do
         substituteInPlace "$a" \
@@ -44,15 +37,15 @@ let
       done
     ''
     # config is a configure script which is not installed.
-    + optionalString (versionAtLeast version "1.1.1") ''
+    + lib.optionalString (lib.versionAtLeast version "1.1.1") ''
       substituteInPlace config --replace '/usr/bin/env' '${buildPackages.coreutils}/bin/env'
-    '' + optionalString (versionAtLeast version "1.1.0" && stdenv.hostPlatform.isMusl) ''
+    '' + lib.optionalString (lib.versionAtLeast version "1.1.0" && stdenv.hostPlatform.isMusl) ''
       substituteInPlace crypto/async/arch/async_posix.h \
         --replace '!defined(__ANDROID__) && !defined(__OpenBSD__)' \
                   '!defined(__ANDROID__) && !defined(__OpenBSD__) && 0'
     '';
 
-    outputs = [ "bin" "dev" "out" "man" ] ++ optional withDocs "doc";
+    outputs = [ "bin" "dev" "out" "man" ] ++ lib.optional withDocs "doc";
     setOutputFlags = false;
     separateDebugInfo =
       !stdenv.hostPlatform.isDarwin &&
@@ -86,7 +79,7 @@ let
         else if stdenv.hostPlatform.isBSD
           then "./Configure BSD-generic${toString stdenv.hostPlatform.parsed.cpu.bits}"
         else if stdenv.hostPlatform.isMinGW
-          then "./Configure mingw${optionalString
+          then "./Configure mingw${lib.optionalString
                                      (stdenv.hostPlatform.parsed.cpu.bits != 32)
                                      (toString stdenv.hostPlatform.parsed.cpu.bits)}"
         else if stdenv.hostPlatform.isLinux
@@ -108,12 +101,12 @@ let
       "-DUSE_CRYPTODEV_DIGESTS"
     ] ++ lib.optional enableSSL2 "enable-ssl2"
       ++ lib.optional enableSSL3 "enable-ssl3"
-      ++ lib.optional (versionAtLeast version "3.0.0") "enable-ktls"
-      ++ lib.optional (versionAtLeast version "1.1.0" && stdenv.hostPlatform.isAarch64) "no-afalgeng"
+      ++ lib.optional (lib.versionAtLeast version "3.0.0") "enable-ktls"
+      ++ lib.optional (lib.versionAtLeast version "1.1.0" && stdenv.hostPlatform.isAarch64) "no-afalgeng"
       # OpenSSL needs a specific `no-shared` configure flag.
       # See https://wiki.openssl.org/index.php/Compilation_and_Installation#Configure_Options
       # for a comprehensive list of configuration options.
-      ++ lib.optional (versionAtLeast version "1.1.0" && static) "no-shared";
+      ++ lib.optional (lib.versionAtLeast version "1.1.0" && static) "no-shared";
 
     makeFlags = [
       "MANDIR=$(man)/share/man"
@@ -192,16 +185,16 @@ in {
     extraMeta.knownVulnerabilities = [ "Support for OpenSSL 1.0.2 ended with 2019." ];
   };
 
-  openssl_1_1 = common {
-    version = "1.1.1l";
-    sha256 = "sha256-C3o+XlnDSCf+DDp0t+yLrvMCuY+oAIjX+RU6oW+na9E=";
+  openssl_1_1 = common rec {
+    version = "1.1.1m";
+    sha256 = "sha256-+JGZvosjykX8fLnx2NPuZzEjGChq0DD1MWrKZGLbbJY=";
     patches = [
       ./1.1/nix-ssl-cert-file.patch
 
       (if stdenv.hostPlatform.isDarwin
        then ./use-etc-ssl-certs-darwin.patch
        else ./use-etc-ssl-certs.patch)
-    ] ++ lib.optionals (stdenv.isDarwin) [
+    ] ++ lib.optionals (stdenv.isDarwin && (builtins.substring 5 5 version) < "m") [
       ./1.1/macos-yosemite-compat.patch
     ];
     withDocs = true;
diff --git a/pkgs/development/libraries/openxr-loader/default.nix b/pkgs/development/libraries/openxr-loader/default.nix
index f55f9e83aec49..514cbcea4a120 100644
--- a/pkgs/development/libraries/openxr-loader/default.nix
+++ b/pkgs/development/libraries/openxr-loader/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openxr-loader";
-  version = "1.0.20";
+  version = "1.0.22";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "OpenXR-SDK-Source";
     rev = "release-${version}";
-    sha256 = "sha256-afyAHTyW9x2KxR1q/K3t5Dpv9OzATcYiSgiDn2S924E=";
+    sha256 = "sha256-YaK7scnfXkxhRe/PKZukqHD9X70X0/QUDL0znTPbIBE=";
   };
 
   nativeBuildInputs = [ cmake python3 ];
diff --git a/pkgs/development/libraries/osip/default.upstream b/pkgs/development/libraries/osip/default.upstream
deleted file mode 100644
index ba0ed2a9b2993..0000000000000
--- a/pkgs/development/libraries/osip/default.upstream
+++ /dev/null
@@ -1,3 +0,0 @@
-url http://ftp.u-tx.net/gnu/osip/
-attribute_name libosip
-minimize_overwrite
diff --git a/pkgs/development/libraries/p11-kit/default.nix b/pkgs/development/libraries/p11-kit/default.nix
index 34a3788d78602..df6e364d2e9ab 100644
--- a/pkgs/development/libraries/p11-kit/default.nix
+++ b/pkgs/development/libraries/p11-kit/default.nix
@@ -1,34 +1,61 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, which
-, gettext, libffi, libiconv, libtasn1
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, docbook-xsl-nons
+, gtk-doc
+, installShellFiles
+, libxslt # for xsltproc
+, pkg-config
+, which
+, libffi
+, libiconv
+, libintl
+, libtasn1
 }:
 
 stdenv.mkDerivation rec {
   pname = "p11-kit";
-  version = "0.24.0";
+  version = "0.24.1";
 
   src = fetchFromGitHub {
     owner = "p11-glue";
     repo = pname;
     rev = version;
-    sha256 = "sha256-jvUzOhMvbq05SxQ+kjKQHDDMzNwo4U6nFHu3JjygJHw=";
+    hash = "sha256-1QIMEGBZsqLYU3v5ZswD5K9VcIGLBovJlC10lBHhH7c=";
   };
 
-  outputs = [ "out" "dev"];
-  outputBin = "dev";
+  outputs = [ "out" "bin" "dev"];
 
-  # for cross platform builds of p11-kit, libtasn1 in nativeBuildInputs
+  # For cross platform builds of p11-kit, libtasn1 in nativeBuildInputs
   # provides the asn1Parser binary on the hostPlatform needed for building.
   # at the same time, libtasn1 in buildInputs provides the libasn1 library
   # to link against for the target platform.
-  # hence, libtasn1 is required in both native and build inputs.
-  nativeBuildInputs = [ autoreconfHook pkg-config which libtasn1 ];
-  buildInputs = [ gettext libffi libiconv libtasn1 ];
+  # Hence, libtasn1 is required in both native and build inputs.
+  nativeBuildInputs = [
+    autoreconfHook
+    docbook-xsl-nons
+    gtk-doc
+    installShellFiles
+    libtasn1
+    libxslt.bin
+    pkg-config
+    which
+  ];
+
+  buildInputs = [
+    libffi
+    libiconv
+    libintl
+    libtasn1
+  ];
 
   autoreconfPhase = ''
     NOCONFIGURE=1 ./autogen.sh
   '';
 
   configureFlags = [
+    "--enable-doc"
     "--sysconfdir=/etc"
     "--localstatedir=/var"
     "--with-trust-paths=${lib.concatStringsSep ":" [
@@ -53,6 +80,10 @@ stdenv.mkDerivation rec {
     "exampledir=${placeholder "out"}/etc/pkcs11"
   ];
 
+  postInstall = ''
+    installShellCompletion --bash bash-completion/{p11-kit,trust}
+  '';
+
   meta = with lib; {
     description = "Library for loading and sharing PKCS#11 modules";
     longDescription = ''
@@ -61,6 +92,10 @@ stdenv.mkDerivation rec {
       PKCS#11 modules in such a way that they're discoverable.
     '';
     homepage = "https://p11-glue.github.io/p11-glue/p11-kit.html";
+    changelog = [
+      "https://github.com/p11-glue/p11-kit/raw/${version}/NEWS"
+      "https://github.com/p11-glue/p11-kit/releases/tag/${version}"
+    ];
     platforms = platforms.all;
     license = licenses.bsd3;
   };
diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix
index c298ca8c17da9..964a3640871fd 100644
--- a/pkgs/development/libraries/pango/default.nix
+++ b/pkgs/development/libraries/pango/default.nix
@@ -24,14 +24,14 @@
 
 stdenv.mkDerivation rec {
   pname = "pango";
-  version = "1.48.10";
+  version = "1.50.3";
 
   outputs = [ "bin" "out" "dev" ]
     ++ lib.optionals withDocs [ "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "IeH1eYvN/adeq8QoBRSwiWq1b2VtTn5mAwuaJTXs3Jg=";
+    sha256 = "St0F7fUcH7N1oczedJiRQSDiPLKA3XOVsa60QfGDikw=";
   };
 
   strictDeps = !withIntrospection;
diff --git a/pkgs/development/libraries/pangomm/2.48.nix b/pkgs/development/libraries/pangomm/2.48.nix
index f3fa6acec7360..cdc644ec9cd9f 100644
--- a/pkgs/development/libraries/pangomm/2.48.nix
+++ b/pkgs/development/libraries/pangomm/2.48.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pangomm";
-  version= "2.48.2";
+  version= "2.50.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-4ddVIsU/RieZh1zSR/m0nJHO1LGr5oOHrDWycTktTqU=";
+    sha256 = "sha256-onqnfgF7mvzp51HYW9HPiQq7s6WL9Z0PrJF+74LbO1s=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/pangomm/default.nix b/pkgs/development/libraries/pangomm/default.nix
index f13dce99c1357..1fc5cea01de52 100644
--- a/pkgs/development/libraries/pangomm/default.nix
+++ b/pkgs/development/libraries/pangomm/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pangomm";
-  version= "2.46.1";
+  version= "2.46.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-yIUBP+YaTFEX/aOVdw1QdWNBHGPkn0o6ztTJ7+NNmXU=";
+    sha256 = "sha256-V0QqtNwEOHe/44OZFXMastaT/GY0pxYUQi+1MMnqpvQ=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/pangoxsl/default.nix b/pkgs/development/libraries/pangoxsl/default.nix
deleted file mode 100644
index 7d314a930f25c..0000000000000
--- a/pkgs/development/libraries/pangoxsl/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{lib, stdenv, fetchurl, pkg-config, glib, pango}:
-
-stdenv.mkDerivation {
-  name = "pangoxsl-1.6.0.3";
-  src = fetchurl {
-    url = "mirror://sourceforge/pangopdf/pangoxsl-1.6.0.3.tar.gz";
-    sha256 = "1wcd553nf4nwkrfrh765cyzwj9bsg7zpkndg2hjs8mhwgx04lm8n";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [
-    glib
-    pango
-  ];
-
-  meta = with lib; {
-    description = "Implements several of the inline properties defined by XSL that are not currently implemented by Pango";
-    homepage = "https://sourceforge.net/projects/pangopdf";
-    platforms = platforms.unix;
-    license = licenses.lgpl2;
-  };
-}
diff --git a/pkgs/development/libraries/pcmsolver/default.nix b/pkgs/development/libraries/pcmsolver/default.nix
index 8cd4b318cc5ab..dd94a4a088cb0 100644
--- a/pkgs/development/libraries/pcmsolver/default.nix
+++ b/pkgs/development/libraries/pcmsolver/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, perl, gfortran, python
+{ lib, stdenv, fetchFromGitHub, cmake, perl, gfortran, python2
 , boost, eigen, zlib
 } :
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     cmake
     gfortran
     perl
-    python
+    python2
   ];
 
   buildInputs = [
diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix
index f7094e04a9d6d..5fc8d496ba914 100644
--- a/pkgs/development/libraries/pcre/default.nix
+++ b/pkgs/development/libraries/pcre/default.nix
@@ -11,11 +11,11 @@ stdenv.mkDerivation rec {
   pname = "pcre"
     + lib.optionalString (variant == "cpp") "-cpp"
     + lib.optionalString (variant != "cpp" && variant != null) variant;
-  version = "8.44";
+  version = "8.45";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/pcre/pcre/${version}/pcre-${version}.tar.bz2";
-    sha256 = "0v9nk51wh55pcbnf2jr36yarz8ayajn6d7ywiq2wagivn9c8c40r";
+    sha256 = "sha256-Ta5v3NK7C7bDe1+Xwzwr6VTadDmFNpzdrDVG4yGL/7g=";
   };
 
   outputs = [ "bin" "dev" "out" "doc" "man" ];
diff --git a/pkgs/development/libraries/pcre2/default.nix b/pkgs/development/libraries/pcre2/default.nix
index 724a1b1247a22..8393cb8c59104 100644
--- a/pkgs/development/libraries/pcre2/default.nix
+++ b/pkgs/development/libraries/pcre2/default.nix
@@ -5,10 +5,10 @@
 
 stdenv.mkDerivation rec {
   pname = "pcre2";
-  version = "10.37";
+  version = "10.39";
   src = fetchurl {
     url = "https://github.com/PhilipHazel/pcre2/releases/download/pcre2-${version}/pcre2-${version}.tar.bz2";
-    hash = "sha256-TZWpbouAUpiTtFYr4SZI15i5V7G6Gq45YGu8KrlW0nA=";
+    hash = "sha256-DwPK9X+B2f82KsKM04nAVewr8GeNJ3NJoaS+4ArW1EA=";
   };
 
   # Disable jit on Apple Silicon, https://github.com/zherczeg/sljit/issues/51
diff --git a/pkgs/development/libraries/phash/default.nix b/pkgs/development/libraries/phash/default.nix
index 8d3f3e9870237..4596c5aaf4f6d 100644
--- a/pkgs/development/libraries/phash/default.nix
+++ b/pkgs/development/libraries/phash/default.nix
@@ -31,6 +31,5 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
     homepage = "http://www.phash.org";
     downloadPage = "https://github.com/clearscene/pHash";
-    updateWalker = true;
   };
 }
diff --git a/pkgs/development/libraries/physics/apfel/default.nix b/pkgs/development/libraries/physics/apfel/default.nix
index 9697133a70eeb..90e6bdaaf37c9 100644
--- a/pkgs/development/libraries/physics/apfel/default.nix
+++ b/pkgs/development/libraries/physics/apfel/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "apfel";
-  version = "3.0.5";
+  version = "3.0.6";
 
   src = fetchFromGitHub {
     owner = "scarrazza";
     repo = "apfel";
     rev = version;
-    sha256 = "sha256-szEtSC/NouYlHSjVoX9Hoh7yQ0W82rVccYEF1L2tXoU=";
+    sha256 = "sha256-fRdJ+C92tEC75iUwP9Tmm/EswrlA52eUo5fBjfieH9o=";
   };
 
   buildInputs = [ gfortran lhapdf python3 zlib ];
diff --git a/pkgs/development/libraries/physics/fastjet/default.nix b/pkgs/development/libraries/physics/fastjet/default.nix
index 65fb04b707ab9..5c3bc936e8c1b 100644
--- a/pkgs/development/libraries/physics/fastjet/default.nix
+++ b/pkgs/development/libraries/physics/fastjet/default.nix
@@ -1,7 +1,7 @@
 { lib
 , stdenv
 , fetchurl
-, python
+, python ? null
 , withPython ? false
 }:
 
diff --git a/pkgs/development/libraries/pico-sdk/default.nix b/pkgs/development/libraries/pico-sdk/default.nix
index 3db4ff336ffb7..eb98c2f9ef6bc 100644
--- a/pkgs/development/libraries/pico-sdk/default.nix
+++ b/pkgs/development/libraries/pico-sdk/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pico-sdk";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "raspberrypi";
     repo = pname;
     rev = version;
-    sha256 = "00z160f7ypws5pzp1ql7xrs3gmjcbw6gywnnq2fiwl47940balns";
+    sha256 = "sha256-cc1UTc1aswtJzuaUdYNcCzLtQ9+Wggiy/eRE+UoxSgE=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/pipewire/0050-pipewire-pulse-path.patch b/pkgs/development/libraries/pipewire/0050-pipewire-pulse-path.patch
index 84238bf6e5aab..230f1b30394a5 100644
--- a/pkgs/development/libraries/pipewire/0050-pipewire-pulse-path.patch
+++ b/pkgs/development/libraries/pipewire/0050-pipewire-pulse-path.patch
@@ -1,19 +1,19 @@
 diff --git a/meson_options.txt b/meson_options.txt
-index 71c2e35e9..a0f380c04 100644
+index 961ae2a76..692b84dfd 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -176,6 +176,9 @@ option('udev',
+@@ -179,6 +179,9 @@ option('udev',
  option('udevrulesdir',
         type : 'string',
         description : 'Directory for udev rules (defaults to /lib/udev/rules.d)')
 +option('pipewire_pulse_prefix',
 +       type : 'string',
 +       description: 'Install directory for the pipewire-pulse daemon')
- option('systemd-user-unit-dir',
+ option('systemd-system-unit-dir',
         type : 'string',
-        description : 'Directory for user systemd units (defaults to /usr/lib/systemd/user)')
+        description : 'Directory for system systemd units (defaults to /usr/lib/systemd/system)')
 diff --git a/src/daemon/systemd/user/meson.build b/src/daemon/systemd/user/meson.build
-index 5bd134537..5a3ca9ed5 100644
+index d17f3794f..34afe4f1a 100644
 --- a/src/daemon/systemd/user/meson.build
 +++ b/src/daemon/systemd/user/meson.build
 @@ -9,7 +9,7 @@ install_data(
diff --git a/pkgs/development/libraries/pipewire/0090-pipewire-config-template-paths.patch b/pkgs/development/libraries/pipewire/0090-pipewire-config-template-paths.patch
index ea968e28ea89b..b4c9f8ed2aab5 100644
--- a/pkgs/development/libraries/pipewire/0090-pipewire-config-template-paths.patch
+++ b/pkgs/development/libraries/pipewire/0090-pipewire-config-template-paths.patch
@@ -1,8 +1,28 @@
+diff --git a/src/daemon/minimal.conf.in b/src/daemon/minimal.conf.in
+index 6464839a0..05546201f 100644
+--- a/src/daemon/minimal.conf.in
++++ b/src/daemon/minimal.conf.in
+@@ -110,7 +110,7 @@ context.modules = [
+             # access.allowed to list an array of paths of allowed
+             # apps.
+             #access.allowed = [
+-            #    @session_manager_path@
++            #    <session_manager_path>
+             #]
+ 
+             # An array of rejected paths.
+@@ -298,5 +298,5 @@ context.exec = [
+     # It can be interesting to start another daemon here that listens
+     # on another address with the -a option (eg. -a tcp:4713).
+     #
+-    #@pulse_comment@{ path = "@pipewire_path@" args = "-c pipewire-pulse.conf" }
++    #@pulse_comment@{ path = "<pipewire_path>" args = "-c pipewire-pulse.conf" }
+ ]
 diff --git a/src/daemon/pipewire.conf.in b/src/daemon/pipewire.conf.in
-index 648e13069..50f767f0c 100644
+index a948a1b9b..4ece43c6f 100644
 --- a/src/daemon/pipewire.conf.in
 +++ b/src/daemon/pipewire.conf.in
-@@ -131,7 +131,7 @@ context.modules = [
+@@ -132,7 +132,7 @@ context.modules = [
              # access.allowed to list an array of paths of allowed
              # apps.
              #access.allowed = [
@@ -11,7 +31,7 @@ index 648e13069..50f767f0c 100644
              #]
  
              # An array of rejected paths.
-@@ -235,12 +235,12 @@ context.exec = [
+@@ -246,12 +246,12 @@ context.exec = [
      # but it is better to start it as a systemd service.
      # Run the session manager with -h for options.
      #
diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix
index 03125f225b854..79682d7ace813 100644
--- a/pkgs/development/libraries/pipewire/default.nix
+++ b/pkgs/development/libraries/pipewire/default.nix
@@ -2,6 +2,7 @@
 , lib
 , buildPackages
 , fetchFromGitLab
+, fetchpatch
 , removeReferencesTo
 , python3
 , meson
@@ -25,6 +26,7 @@
 , webrtc-audio-processing
 , ncurses
 , readline81 # meson can't find <7 as those versions don't have a .pc file
+, lilv
 , makeFontsConf
 , callPackage
 , nixosTests
@@ -52,19 +54,22 @@
 , libpulseaudio
 , zeroconfSupport ? true
 , avahi
+, raopSupport ? true
+, openssl
+, rocSupport ? true
+, roc-toolkit
+, x11Support ? true
+, libcanberra
+, xorg
 }:
 
 let
-  fontsConf = makeFontsConf {
-    fontDirectories = [ ];
-  };
-
-  mesonEnable = b: if b then "enabled" else "disabled";
+  mesonEnableFeature = b: if b then "enabled" else "disabled";
   mesonList = l: "[" + lib.concatStringsSep "," l + "]";
 
   self = stdenv.mkDerivation rec {
     pname = "pipewire";
-    version = "0.3.40";
+    version = "0.3.45";
 
     outputs = [
       "out"
@@ -82,7 +87,7 @@ let
       owner = "pipewire";
       repo = "pipewire";
       rev = version;
-      sha256 = "sha256-eY6uQa4+sC6yUWhF4IpAgRoppwhHO4s5fIMXOkS0z7A=";
+      sha256 = "sha256-OnQd98qfOekAsVXLbciZLNPrM84KBX6fOx/f8y2BYI0=";
     };
 
     patches = [
@@ -117,6 +122,7 @@ let
       libjack2
       libusb1
       libsndfile
+      lilv
       ncurses
       readline81
       udev
@@ -130,7 +136,10 @@ let
     ++ lib.optional ffmpegSupport ffmpeg
     ++ lib.optionals bluezSupport [ bluez libfreeaptx ldacbt sbc fdk_aac ]
     ++ lib.optional pulseTunnelSupport libpulseaudio
-    ++ lib.optional zeroconfSupport avahi;
+    ++ lib.optional zeroconfSupport avahi
+    ++ lib.optional raopSupport openssl
+    ++ lib.optional rocSupport roc-toolkit
+    ++ lib.optionals x11Support [ libcanberra xorg.libxcb ];
 
     # Valgrind binary is required for running one optional test.
     checkInputs = lib.optional withValgrind valgrind;
@@ -142,32 +151,34 @@ let
       "-Dinstalled_test_prefix=${placeholder "installedTests"}"
       "-Dpipewire_pulse_prefix=${placeholder "pulse"}"
       "-Dlibjack-path=${placeholder "jack"}/lib"
-      "-Dlibcamera=${mesonEnable libcameraSupport}"
-      "-Droc=disabled"
-      "-Dlibpulse=${mesonEnable pulseTunnelSupport}"
-      "-Davahi=${mesonEnable zeroconfSupport}"
-      "-Dgstreamer=${mesonEnable gstreamerSupport}"
-      "-Dffmpeg=${mesonEnable ffmpegSupport}"
-      "-Dbluez5=${mesonEnable bluezSupport}"
-      "-Dbluez5-backend-hsp-native=${mesonEnable nativeHspSupport}"
-      "-Dbluez5-backend-hfp-native=${mesonEnable nativeHfpSupport}"
-      "-Dbluez5-backend-ofono=${mesonEnable ofonoSupport}"
-      "-Dbluez5-backend-hsphfpd=${mesonEnable hsphfpdSupport}"
+      "-Dlibcamera=${mesonEnableFeature libcameraSupport}"
+      "-Droc=${mesonEnableFeature rocSupport}"
+      "-Dlibpulse=${mesonEnableFeature pulseTunnelSupport}"
+      "-Davahi=${mesonEnableFeature zeroconfSupport}"
+      "-Dgstreamer=${mesonEnableFeature gstreamerSupport}"
+      "-Dsystemd-system-service=enabled"
+      "-Dffmpeg=${mesonEnableFeature ffmpegSupport}"
+      "-Dbluez5=${mesonEnableFeature bluezSupport}"
+      "-Dbluez5-backend-hsp-native=${mesonEnableFeature nativeHspSupport}"
+      "-Dbluez5-backend-hfp-native=${mesonEnableFeature nativeHfpSupport}"
+      "-Dbluez5-backend-ofono=${mesonEnableFeature ofonoSupport}"
+      "-Dbluez5-backend-hsphfpd=${mesonEnableFeature hsphfpdSupport}"
       "-Dsysconfdir=/etc"
       "-Dpipewire_confdata_dir=${placeholder "lib"}/share/pipewire"
+      "-Draop=${mesonEnableFeature raopSupport}"
       "-Dsession-managers="
       "-Dvulkan=enabled"
+      "-Dx11=${mesonEnableFeature x11Support}"
     ];
 
-    FONTCONFIG_FILE = fontsConf; # Fontconfig error: Cannot load default config file
+    # Fontconfig error: Cannot load default config file
+    FONTCONFIG_FILE = makeFontsConf { fontDirectories = [ ]; };
 
     doCheck = true;
 
     postUnpack = ''
-      patchShebangs source/doc/strip-static.sh
       patchShebangs source/doc/input-filter.sh
       patchShebangs source/doc/input-filter-h.sh
-      patchShebangs source/spa/tests/gen-cpp-test.py
     '';
 
     postInstall = ''
@@ -187,6 +198,8 @@ let
       moveToOutput "share/systemd/user/pipewire-pulse.*" "$pulse"
       moveToOutput "lib/systemd/user/pipewire-pulse.*" "$pulse"
       moveToOutput "bin/pipewire-pulse" "$pulse"
+
+      moveToOutput "bin/pw-jack" "$jack"
     '';
 
     passthru = {
diff --git a/pkgs/development/libraries/pipewire/media-session.nix b/pkgs/development/libraries/pipewire/media-session.nix
index 47cb3b415956a..19940d8d7477a 100644
--- a/pkgs/development/libraries/pipewire/media-session.nix
+++ b/pkgs/development/libraries/pipewire/media-session.nix
@@ -1,6 +1,7 @@
 { stdenv
 , lib
 , fetchFromGitLab
+, fetchpatch
 , meson
 , ninja
 , pkg-config
@@ -30,6 +31,19 @@ let
       sha256 = "sha256-e537gTkiNYMz2YJrOff/MXYWVDgHZDkqkSn8Qh+7Wr4=";
     };
 
+    patches = [
+      # Fix `ERROR: Tried to access unknown option "session-managers".`
+      (fetchpatch {
+        url = "https://gitlab.freedesktop.org/pipewire/media-session/-/commit/dfa740175c83e1cd0d815ad423f90872de566437.diff";
+        sha256 = "01rfwq8ipm8wyv98rxal1s5zrkf0pn9hgrngiq2wdbwj6vjdnr1h";
+      })
+      # Fix attempt to put system service units into pkgs.systemd.
+      (fetchpatch {
+        url = "https://gitlab.freedesktop.org/pipewire/media-session/-/commit/2ff6b0baec7325dde229013b9d37c93f8bc7edee.diff";
+        sha256 = "18gg7ca04ihl4ylnw78wdyrbvg66m8w43gg0wp258x4nv95gpps2";
+      })
+    ];
+
     nativeBuildInputs = [
       doxygen
       graphviz
@@ -48,6 +62,7 @@ let
 
     mesonFlags = [
       "-Ddocs=enabled"
+      "-Dsystemd-system-service=enabled"
       # We generate these empty files from the nixos module, don't bother installing them
       "-Dwith-module-sets=[]"
     ];
diff --git a/pkgs/development/libraries/pipewire/wireplumber.nix b/pkgs/development/libraries/pipewire/wireplumber.nix
new file mode 100644
index 0000000000000..9ab197278d0aa
--- /dev/null
+++ b/pkgs/development/libraries/pipewire/wireplumber.nix
@@ -0,0 +1,83 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, fetchpatch
+, nix-update-script
+, # base build deps
+  meson
+, pkg-config
+, ninja
+, # docs build deps
+  python3
+, doxygen
+, graphviz
+, # GI build deps
+  gobject-introspection
+, # runtime deps
+  glib
+, systemd
+, lua5_4
+, pipewire
+, # options
+  enableDocs ? true
+, enableGI ? stdenv.hostPlatform == stdenv.buildPlatform
+}:
+let
+  mesonEnableFeature = b: if b then "enabled" else "disabled";
+in
+stdenv.mkDerivation rec {
+  pname = "wireplumber";
+  version = "0.4.8";
+
+  outputs = [ "out" "dev" ] ++ lib.optional enableDocs "doc";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.freedesktop.org";
+    owner = "pipewire";
+    repo = "wireplumber";
+    rev = version;
+    sha256 = "sha256-xwfggrjKHh5mZdvH6dKqQo6o1ltxuYdjoGYaWl31C/Y=";
+  };
+
+  nativeBuildInputs = [
+    meson
+    pkg-config
+    ninja
+  ] ++ lib.optionals enableDocs [
+    graphviz
+  ] ++ lib.optionals enableGI [
+    gobject-introspection
+  ] ++ lib.optionals (enableDocs || enableGI) [
+    doxygen
+    (python3.withPackages (ps: with ps;
+    lib.optionals enableDocs [ sphinx sphinx_rtd_theme breathe ] ++
+      lib.optionals enableGI [ lxml ]
+    ))
+  ];
+
+  buildInputs = [
+    glib
+    systemd
+    lua5_4
+    pipewire
+  ];
+
+  mesonFlags = [
+    "-Dsystem-lua=true"
+    "-Delogind=disabled"
+    "-Ddoc=${mesonEnableFeature enableDocs}"
+    "-Dintrospection=${mesonEnableFeature enableGI}"
+  ];
+
+  passthru.updateScript = nix-update-script {
+    attrPath = pname;
+  };
+
+  meta = with lib; {
+    description = "A modular session / policy manager for PipeWire";
+    homepage = "https://pipewire.org";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ k900 ];
+  };
+}
diff --git a/pkgs/development/libraries/pkcs11helper/default.nix b/pkgs/development/libraries/pkcs11helper/default.nix
index 4148ca4fc47db..4de361a598428 100644
--- a/pkgs/development/libraries/pkcs11helper/default.nix
+++ b/pkgs/development/libraries/pkcs11helper/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pkcs11-helper";
-  version = "1.27";
+  version = "1.28";
 
   src = fetchFromGitHub {
     owner = "OpenSC";
     repo = "pkcs11-helper";
     rev = "${pname}-${version}";
-    sha256 = "1idrqip59bqzcgddpnk2inin5n5yn4y0dmcyaggfpdishraiqgd5";
+    sha256 = "sha256-gy04f62TX42mW4hKD/jTZXTpz9v6gQXNrY/pv8Ie4p0=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/OpenSC/pkcs11-helper";
-    license = with licenses; [ bsd3 gpl2 ];
+    license = with licenses; [ bsd3 gpl2Only ];
     description = "Library that simplifies the interaction with PKCS#11 providers";
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/libraries/plasma-wayland-protocols/default.nix b/pkgs/development/libraries/plasma-wayland-protocols/default.nix
index cbac71de200e4..fe148368b499c 100644
--- a/pkgs/development/libraries/plasma-wayland-protocols/default.nix
+++ b/pkgs/development/libraries/plasma-wayland-protocols/default.nix
@@ -7,11 +7,11 @@
 
 mkDerivation rec {
   pname = "plasma-wayland-protocols";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-OLBDHZMagzk3cKu4KUIGk2tjuJzu4/DGPw8Ibz0rG6k=";
+    sha256 = "sha256-zMn8INehMO2/sjPDOxMldArAGyZAqjelxUTtv7oYqDM=";
   };
 
   nativeBuildInputs = [ extra-cmake-modules ];
diff --git a/pkgs/development/libraries/pocketsphinx/default.nix b/pkgs/development/libraries/pocketsphinx/default.nix
index 18d5d0bcfa22b..fadc14240831c 100644
--- a/pkgs/development/libraries/pocketsphinx/default.nix
+++ b/pkgs/development/libraries/pocketsphinx/default.nix
@@ -7,10 +7,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "pocketsphinx-5prealpha";
+  pname = "pocketsphinx";
+  version = "5prealpha";
 
   src = fetchurl {
-    url = "mirror://sourceforge/cmusphinx/${name}.tar.gz";
+    url = "mirror://sourceforge/cmusphinx/pocketsphinx-${version}.tar.gz";
     sha256 = "1n9yazzdgvpqgnfzsbl96ch9cirayh74jmpjf7svs4i7grabanzg";
   };
 
diff --git a/pkgs/development/libraries/poco/default.nix b/pkgs/development/libraries/poco/default.nix
index 57e8fb1a5a752..15a1f8d62bf73 100644
--- a/pkgs/development/libraries/poco/default.nix
+++ b/pkgs/development/libraries/poco/default.nix
@@ -3,19 +3,19 @@
 stdenv.mkDerivation rec {
   pname = "poco";
 
-  version = "1.10.1";
+  version = "1.11.1";
 
   src = fetchurl {
     url = "https://pocoproject.org/releases/${pname}-${version}/${pname}-${version}-all.tar.gz";
-    sha256 = "1jilzh0h6ik5lr167nax7q6nrpzxl99p11pkl202ig06pgh32nbz";
+    sha256 = "sha256-MczOYCAEcnAAO/tbDafirUMohMI9PNUJyG9HzzpeXSo=";
   };
 
   patches = [
-    # Use GNUInstallDirs (https://github.com/pocoproject/poco/pull/3105)
+    # Use GNUInstallDirs (https://github.com/pocoproject/poco/pull/3503)
     (fetchpatch {
       name = "use-gnuinstalldirs.patch";
-      url = "https://github.com/pocoproject/poco/commit/9e8f84dff4575f01be02e0b07364efd1561ce66c.patch";
-      sha256 = "1bj4i93gxr7pwx33bfyhg20ad4ak1rbxkrlpsgzk7rm6mh0mld26";
+      url = "https://github.com/pocoproject/poco/commit/16a2a74f6c28c6e6baca2ba26b4964b51d8a1b74.patch";
+      sha256 = "sha256-mkemG8UemJEUQxae1trKakhnJFJW0AufDYFAbmnINbY=";
       # Files not included in release tarball
       excludes = [
         "Encodings/Compiler/CMakeLists.txt"
diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix
index bd731e7b05175..3a3199cbd7a9e 100644
--- a/pkgs/development/libraries/polkit/default.nix
+++ b/pkgs/development/libraries/polkit/default.nix
@@ -25,6 +25,8 @@
 , elogind
 # needed until gobject-introspection does cross-compile (https://github.com/NixOS/nixpkgs/pull/88222)
 , withIntrospection ? (stdenv.buildPlatform == stdenv.hostPlatform)
+# cross build fails on polkit-1-scan (https://github.com/NixOS/nixpkgs/pull/152704)
+, withGtkDoc ? (stdenv.buildPlatform == stdenv.hostPlatform)
 # A few tests currently fail on musl (polkitunixusertest, polkitunixgrouptest, polkitidentitytest segfault).
 # Not yet investigated; it may be due to the "Make netgroup support optional"
 # patch not updating the tests correctly yet, or doing something wrong,
@@ -58,6 +60,11 @@ stdenv.mkDerivation rec {
       url = "https://gitlab.freedesktop.org/polkit/polkit/-/commit/7ba07551dfcd4ef9a87b8f0d9eb8b91fabcb41b3.patch";
       sha256 = "ebbLILncq1hAZTBMsLm+vDGw6j0iQ0crGyhzyLZQgKA=";
     })
+    # pkexec: local privilege escalation (CVE-2021-4034)
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/polkit/polkit/-/commit/a2bf5c9c83b6ae46cbd5c779d3055bff81ded683.patch";
+      sha256 = "162jkpg2myq0rb0s5k3nfr4pqwv9im13jf6vzj8p5l39nazg5i4s";
+    })
   ] ++ lib.optionals stdenv.hostPlatform.isMusl [
     # Make netgroup support optional (musl does not have it)
     # Upstream MR: https://gitlab.freedesktop.org/polkit/polkit/merge_requests/10
@@ -119,7 +126,7 @@ stdenv.mkDerivation rec {
     "-Dos_type=redhat" # only affects PAM includes
     "-Dintrospection=${lib.boolToString withIntrospection}"
     "-Dtests=${lib.boolToString doCheck}"
-    "-Dgtk_doc=${lib.boolToString true}"
+    "-Dgtk_doc=${lib.boolToString withGtkDoc}"
     "-Dman=true"
   ] ++ lib.optionals stdenv.isLinux [
     "-Dsession_tracking=${if useSystemd then "libsystemd-login" else "libelogind"}"
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index 08ca1456ea8fb..6fa07bcaf8060 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -34,13 +34,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "poppler-${suffix}";
-  version = "21.06.1"; # beware: updates often break cups-filters build, check texlive and scribusUnstable too!
+  version = "22.01.0"; # beware: updates often break cups-filters build, check texlive and scribusUnstable too!
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://poppler.freedesktop.org/poppler-${version}.tar.xz";
-    sha256 = "sha256-hrCeWgLeQAgaORbvhxHFEo6vSx/FnV+H0Oxm8E9ZXbQ=";
+    sha256 = "sha256-fTSTBWtbhkE+XGk8LK4CxcBs2OYY0UwsMeLIS2eyMT4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/portmidi/default.nix b/pkgs/development/libraries/portmidi/default.nix
index 2b8f006a7558a..2d6951301a116 100644
--- a/pkgs/development/libraries/portmidi/default.nix
+++ b/pkgs/development/libraries/portmidi/default.nix
@@ -78,7 +78,7 @@ stdenv.mkDerivation rec {
     homepage = "http://portmedia.sourceforge.net/portmidi/";
     description = "Platform independent library for MIDI I/O";
     license = licenses.mit;
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/precice/default.nix b/pkgs/development/libraries/precice/default.nix
index 134eb66021429..ba35a55d9207b 100644
--- a/pkgs/development/libraries/precice/default.nix
+++ b/pkgs/development/libraries/precice/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "preCICE stands for Precise Code Interaction Coupling Environment";
     license = with lib.licenses; [ gpl3 ];
-    homepage = "https://www.precice.org/";
+    homepage = "https://precice.org/";
     platforms = lib.platforms.unix;
     maintainers = with lib.maintainers; [ Scriptkiddi ];
   };
diff --git a/pkgs/development/libraries/proj/default.nix b/pkgs/development/libraries/proj/default.nix
index 7ab64cf59c578..376cb36edd618 100644
--- a/pkgs/development/libraries/proj/default.nix
+++ b/pkgs/development/libraries/proj/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , cmake
 , pkg-config
 , sqlite
@@ -12,23 +11,15 @@
 
 stdenv.mkDerivation rec {
   pname = "proj";
-  version = "8.1.1";
+  version = "8.2.1";
 
   src = fetchFromGitHub {
     owner = "OSGeo";
     repo = "PROJ";
     rev = version;
-    sha256 = "sha256-Z2nruyowC3NG4Wb8AFBL0PME/zp9D7SwQdMSl6VjH/w=";
+    hash = "sha256-tnaIqYKgYHY1Tg33jsKYn9QL8YUobgXKbQsodoCXNys=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "Make-CApi-test-cross-platform.patch";
-      url = "https://github.com/OSGeo/PROJ/commit/ac113a8898cded7f5359f1edd3abc17a78eee9b4.patch";
-      sha256 = "0gz2xa5nxzck5c0yr7cspv3kw4cz3fxb2yic76w7qfvxidi7z1s1";
-    })
-  ];
-
   outputs = [ "out" "dev"];
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/protobuf/3.16.nix b/pkgs/development/libraries/protobuf/3.16.nix
index df8d53b9f1c3f..fdbbed733d857 100644
--- a/pkgs/development/libraries/protobuf/3.16.nix
+++ b/pkgs/development/libraries/protobuf/3.16.nix
@@ -1,6 +1,6 @@
 { callPackage, ... }:
 
 callPackage ./generic-v3.nix {
-  version = "3.16.0";
-  sha256 = "0jc523ys6xh1fk3l52f5mfqxhb4g8aim1js7330v0fdc3fjr8ncf";
+  version = "3.16.1";
+  sha256 = "sha256-eOwUyZtrmyh3HwLQ1kLnk+briaXQPrlUqtbFol/nGBo=";
 }
diff --git a/pkgs/development/libraries/protobuf/3.18.nix b/pkgs/development/libraries/protobuf/3.18.nix
index 63fc9b218d307..0d5d2c652cba6 100644
--- a/pkgs/development/libraries/protobuf/3.18.nix
+++ b/pkgs/development/libraries/protobuf/3.18.nix
@@ -1,6 +1,6 @@
 { callPackage, ... }:
 
 callPackage ./generic-v3.nix {
-  version = "3.18.1";
-  sha256 = "sha256-5PK0uuk7Du9hX/hHy0gninHIKu6b8THdfVh87Gn7y2Q=";
+  version = "3.18.2";
+  sha256 = "sha256-IXxVTZOAKVMuGCJtD32rVQRBJRWUJMEK2d+fPEmgzRU=";
 }
diff --git a/pkgs/development/libraries/protobuf/3.19.nix b/pkgs/development/libraries/protobuf/3.19.nix
index 727bf511d5813..7e2be4bec04c0 100644
--- a/pkgs/development/libraries/protobuf/3.19.nix
+++ b/pkgs/development/libraries/protobuf/3.19.nix
@@ -1,6 +1,6 @@
 { callPackage, ... }:
 
 callPackage ./generic-v3.nix {
-  version = "3.19.0";
-  sha256 = "0rx4r4d7hqr0gi3v90jbkm2lnkj9p37dhgwx9d0w7kgh3rvr4i7g";
+  version = "3.19.3";
+  sha256 = "sha256-nA6L064MuyP5Si4MCLk2yg8PDM7RWggFEGQyibputYQ=";
 }
diff --git a/pkgs/development/libraries/protolock/default.nix b/pkgs/development/libraries/protolock/default.nix
index 7d423ac03470b..e364b90779408 100644
--- a/pkgs/development/libraries/protolock/default.nix
+++ b/pkgs/development/libraries/protolock/default.nix
@@ -11,7 +11,7 @@ buildGoModule rec {
     sha256 = "sha256-cKrG8f8cabuGDN1gmBYleXcBqeJksdREiEy63UK/6J0=";
   };
 
-  vendorSha256 = "sha256-3kRGLZgYcbUQb6S+NrleMNNX0dXrE9Yer3vvqxiP4So=";
+  vendorSha256 = "sha256-2XbBiiiPvZCnlKUzGDLFnxA34N/LmHoPbvRKZckmhx4=";
 
   doCheck = false;
 
diff --git a/pkgs/development/libraries/protozero/default.nix b/pkgs/development/libraries/protozero/default.nix
index 6bff5998b56d6..1e35ab700a085 100644
--- a/pkgs/development/libraries/protozero/default.nix
+++ b/pkgs/development/libraries/protozero/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "protozero";
-  version = "1.7.0";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "mapbox";
     repo = "protozero";
     rev = "v${version}";
-    sha256 = "0fdihfl5j68wayjjxvpvhvnjq1anzcfnfl09f68wpzbkg3zmhblz";
+    sha256 = "sha256-R8lGewsEOxPNbKlkIeiM4yIwUcTzi2Dm0+xJ2WrBTBQ=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -17,6 +17,10 @@ stdenv.mkDerivation rec {
     description = "Minimalistic protocol buffer decoder and encoder in C++";
     homepage = "https://github.com/mapbox/protozero";
     license = with licenses; [ bsd2 asl20 ];
+    changelog = [
+      "https://github.com/mapbox/protozero/releases/tag/v${version}"
+      "https://github.com/mapbox/protozero/blob/v${version}/CHANGELOG.md"
+    ];
     maintainers = with maintainers; [ das-g ];
   };
 }
diff --git a/pkgs/development/libraries/ptex/default.nix b/pkgs/development/libraries/ptex/default.nix
index d0bdb95fecc2d..561c9cf93c2c2 100644
--- a/pkgs/development/libraries/ptex/default.nix
+++ b/pkgs/development/libraries/ptex/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, zlib, python, cmake, pkg-config }:
+{ lib, stdenv, fetchFromGitHub, zlib, python2, cmake, pkg-config }:
 
 stdenv.mkDerivation rec
 {
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec
   outputs = [ "bin" "dev" "out" "lib" ];
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ zlib python pkg-config ];
+  buildInputs = [ zlib python2 pkg-config ];
 
   # Can be removed in the next release
   # https://github.com/wdas/ptex/pull/42
diff --git a/pkgs/development/libraries/pth/default.nix b/pkgs/development/libraries/pth/default.nix
index 16235176d0380..c75b0d1db2d86 100644
--- a/pkgs/development/libraries/pth/default.nix
+++ b/pkgs/development/libraries/pth/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "pth-2.0.7";
+  pname = "pth";
+  version = "2.0.7";
 
   src = fetchurl {
-    url = "mirror://gnu/pth/${name}.tar.gz";
+    url = "mirror://gnu/pth/pth-${version}.tar.gz";
     sha256 = "0ckjqw5kz5m30srqi87idj7xhpw6bpki43mj07bazjm2qmh3cdbj";
   };
 
diff --git a/pkgs/development/libraries/pugixml/default.nix b/pkgs/development/libraries/pugixml/default.nix
index 57335fa3d9705..6a8baae5c9a27 100644
--- a/pkgs/development/libraries/pugixml/default.nix
+++ b/pkgs/development/libraries/pugixml/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pugixml";
-  version = "1.11.4";
+  version = "1.12";
 
   src = fetchFromGitHub {
     owner = "zeux";
     repo = "pugixml";
     rev = "v${version}";
-    sha256 = "sha256-pXadPs2Dlht3BMNYDVxWZqnVv0umDgYVcqH5YVxr+uA=";
+    sha256 = "sha256-FLemG9T17n6l7vgb01OmO22BK59jv5uozVHeUnILEEQ=";
   };
 
   outputs = if shared then [ "out" "dev" ] else [ "out" ];
diff --git a/pkgs/development/libraries/qcoro/default.nix b/pkgs/development/libraries/qcoro/default.nix
index 62608e390f8bc..d5d3fd8ba1bbc 100644
--- a/pkgs/development/libraries/qcoro/default.nix
+++ b/pkgs/development/libraries/qcoro/default.nix
@@ -8,13 +8,13 @@
 
 mkDerivation rec {
   pname = "qcoro";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "danvratil";
     repo = "qcoro";
     rev = "v${version}";
-    sha256 = "09543hpy590dndmlxmcm8c58m97blhaii4wbjr655qxdanhhxgzi";
+    sha256 = "sha256-RVpyL+BklX8Wyk9Xj9UyuvNK5Vev8ZsrOSMxX1HtcHU=";
   };
 
   outputs = [ "out" "dev" ];
@@ -34,5 +34,6 @@ mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ smitop ];
     platforms = platforms.linux;
+    badPlatforms = platforms.aarch64;
   };
 }
diff --git a/pkgs/development/libraries/qgnomeplatform/default.nix b/pkgs/development/libraries/qgnomeplatform/default.nix
index b8115331be77d..cc8ddf43c021b 100644
--- a/pkgs/development/libraries/qgnomeplatform/default.nix
+++ b/pkgs/development/libraries/qgnomeplatform/default.nix
@@ -15,13 +15,13 @@
 
 mkDerivation rec {
   pname = "qgnomeplatform";
-  version = "0.8.3";
+  version = "0.8.4";
 
   src = fetchFromGitHub {
     owner = "FedoraQt";
     repo = "QGnomePlatform";
     rev = version;
-    sha256 = "sha256-950VEcxhJeBPSQToC8KpBx/KSneARN6Y8X7CAuFyRjo=";
+    sha256 = "sha256-DaIBtWmce+58OOhqFG5802c3EprBAtDXhjiSPIImoOM=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/qpdf/default.nix b/pkgs/development/libraries/qpdf/default.nix
index 637335b86291d..9dc05edd694b3 100644
--- a/pkgs/development/libraries/qpdf/default.nix
+++ b/pkgs/development/libraries/qpdf/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qpdf";
-  version = "10.3.2";
+  version = "10.4.0";
 
   src = fetchFromGitHub {
     owner = "qpdf";
     repo = "qpdf";
     rev = "release-qpdf-${version}";
-    sha256 = "sha256-fhn6hE/MLYiaOxZYfaVcj17V+h8Yvn18QTewS0rPIXE=";
+    sha256 = "sha256-IYXH1Pcd0eRzlbRouAB17wsCUGNuIlJfwJLbXiaC5dk=";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/development/libraries/qrcodegen/default.nix b/pkgs/development/libraries/qrcodegen/default.nix
index 0ad42c1fc4d70..cd19705f1e93c 100644
--- a/pkgs/development/libraries/qrcodegen/default.nix
+++ b/pkgs/development/libraries/qrcodegen/default.nix
@@ -1,4 +1,8 @@
-{ lib, stdenv, fetchFromGitHub }:
+{ lib
+, stdenv
+, fetchFromGitHub
+}:
+
 stdenv.mkDerivation rec {
   pname = "qrcodegen";
   version = "1.7.0";
@@ -10,25 +14,28 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-WH6O3YE/+NNznzl52TXZYL+6O25GmKSnaFqDDhRl4As=";
   };
 
-  preBuild = "cd c";
+  preBuild = ''
+    cd c/
+  '';
+
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/lib $out/include/qrcodegen
     cp libqrcodegen.a $out/lib
     cp qrcodegen.h $out/include/qrcodegen/
-  '';
 
-  meta = with lib;
-    {
-      description = "qrcode generator library in multiple languages";
-
-      longDescription = ''
-        This project aims to be the best, clearest library for generating QR Codes. My primary goals are flexible options and absolute correctness. Secondary goals are compact implementation size and good documentation comments.
-      '';
-
-      homepage = "https://github.com/nayuki/QR-Code-generator";
+    runHook postInstall
+  '';
 
-      license = licenses.mit;
-      platforms = platforms.all;
-      maintainers = with maintainers; [ mcbeth ];
-    };
+  meta = with lib; {
+    homepage = "https://www.nayuki.io/page/qr-code-generator-library";
+    description = "High-quality QR Code generator library in many languages";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mcbeth AndersonTorres ];
+    platforms = platforms.unix;
+    broken = stdenv.isDarwin;
+  };
 }
+# TODO: build the other languages
+# TODO: multiple outputs
diff --git a/pkgs/development/libraries/qscintilla-qt4/default.nix b/pkgs/development/libraries/qscintilla-qt4/default.nix
new file mode 100644
index 0000000000000..23daedd217e28
--- /dev/null
+++ b/pkgs/development/libraries/qscintilla-qt4/default.nix
@@ -0,0 +1,67 @@
+{ stdenv
+, lib
+, fetchurl
+, unzip
+, qt4
+, qmake4Hook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "qscintilla-qt4";
+  version = "2.11.6";
+
+  src = fetchurl {
+    url = "https://www.riverbankcomputing.com/static/Downloads/QScintilla/${version}/QScintilla-${version}.tar.gz";
+    sha256 = "5zRgV9tH0vs4RGf6/M/LE6oHQTc8XVk7xytVsvDdIKc=";
+  };
+
+  sourceRoot = "QScintilla-${version}/Qt4Qt5";
+
+  buildInputs = [ qt4 ];
+
+  nativeBuildInputs = [ unzip qmake4Hook ];
+
+  patches = [
+    ./fix-qt4-build.patch
+  ];
+
+  # Make sure that libqscintilla2.so is available in $out/lib since it is expected
+  # by some packages such as sqlitebrowser
+  postFixup = ''
+    ln -s $out/lib/libqscintilla2_qt4.so $out/lib/libqscintilla2.so
+  '';
+
+  dontWrapQtApps = true;
+
+  postPatch = ''
+    substituteInPlace qscintilla.pro \
+      --replace '$$[QT_INSTALL_LIBS]'         $out/lib \
+      --replace '$$[QT_INSTALL_HEADERS]'      $out/include \
+      --replace '$$[QT_INSTALL_TRANSLATIONS]' $out/translations \
+      --replace '$$[QT_HOST_DATA]/mkspecs'    $out/mkspecs \
+      --replace '$$[QT_INSTALL_DATA]/mkspecs' $out/mkspecs \
+      --replace '$$[QT_INSTALL_DATA]'         $out/share
+  '';
+
+  meta = with lib; {
+    description = "A Qt port of the Scintilla text editing library";
+    longDescription = ''
+      QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor
+      control.
+
+      As well as features found in standard text editing components,
+      QScintilla includes features especially useful when editing and
+      debugging source code. These include support for syntax styling,
+      error indicators, code completion and call tips. The selection
+      margin can contain markers like those used in debuggers to
+      indicate breakpoints and the current line. Styling choices are
+      more open than with many editors, allowing the use of
+      proportional fonts, bold and italics, multiple foreground and
+      background colours and multiple fonts.
+    '';
+    homepage = "https://www.riverbankcomputing.com/software/qscintilla/intro";
+    license = with licenses; [ gpl3 ]; # and commercial
+    maintainers = with maintainers; [ peterhoeg ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/qscintilla/fix-qt4-build.patch b/pkgs/development/libraries/qscintilla-qt4/fix-qt4-build.patch
index 520a55b1ea210..520a55b1ea210 100644
--- a/pkgs/development/libraries/qscintilla/fix-qt4-build.patch
+++ b/pkgs/development/libraries/qscintilla-qt4/fix-qt4-build.patch
diff --git a/pkgs/development/libraries/qscintilla/default.nix b/pkgs/development/libraries/qscintilla/default.nix
index fc2ef6c09a632..88c44ece32cd5 100644
--- a/pkgs/development/libraries/qscintilla/default.nix
+++ b/pkgs/development/libraries/qscintilla/default.nix
@@ -1,49 +1,46 @@
-{ stdenv, lib, fetchurl, unzip
-, qt4 ? null, qmake4Hook ? null
-, withQt5 ? false, qtbase ? null, qtmacextras ? null, qmake ? null
+{ stdenv
+, lib
+, fetchurl
+, unzip
+, qtbase
+, qtmacextras
+, qmake
 , fixDarwinDylibNames
 }:
 
-let
-  pname = "qscintilla-qt${if withQt5 then "5" else "4"}";
-  version = "2.11.6";
-
-in stdenv.mkDerivation rec {
-  inherit pname version;
+stdenv.mkDerivation rec {
+  pname = "qscintilla-qt5";
+  version = "2.13.1";
 
   src = fetchurl {
-    url = "https://www.riverbankcomputing.com/static/Downloads/QScintilla/${version}/QScintilla-${version}.tar.gz";
-    sha256 = "5zRgV9tH0vs4RGf6/M/LE6oHQTc8XVk7xytVsvDdIKc=";
+    url = "https://www.riverbankcomputing.com/static/Downloads/QScintilla/${version}/QScintilla_src-${version}.tar.gz";
+    sha256 = "gA49IHGpa8zNdYE0avDS/ij8MM1oUwy4MCaF0BOv1Uo=";
   };
 
-  sourceRoot = "QScintilla-${version}/Qt4Qt5";
-
-  buildInputs = [ (if withQt5 then qtbase else qt4) ];
+  sourceRoot = "QScintilla_src-${version}/src";
 
-  propagatedBuildInputs = lib.optional (withQt5 && stdenv.isDarwin) qtmacextras;
+  buildInputs = [ qtbase ];
 
-  nativeBuildInputs = [ unzip ]
-    ++ (if withQt5 then [ qmake ] else [ qmake4Hook ])
-    ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
+  propagatedBuildInputs = lib.optionals stdenv.isDarwin [ qtmacextras ];
 
-  patches = lib.optional (!withQt5) ./fix-qt4-build.patch;
+  nativeBuildInputs = [ unzip qmake ]
+    ++ lib.optionals stdenv.isDarwin [ fixDarwinDylibNames ];
 
   # Make sure that libqscintilla2.so is available in $out/lib since it is expected
   # by some packages such as sqlitebrowser
   postFixup = ''
-    ln -s $out/lib/libqscintilla2_qt?.so $out/lib/libqscintilla2.so
+    ln -s $out/lib/libqscintilla2_qt5.so $out/lib/libqscintilla2.so
   '';
 
   dontWrapQtApps = true;
 
-  postPatch = ''
+  preConfigure = ''
     substituteInPlace qscintilla.pro \
       --replace '$$[QT_INSTALL_LIBS]'         $out/lib \
       --replace '$$[QT_INSTALL_HEADERS]'      $out/include \
       --replace '$$[QT_INSTALL_TRANSLATIONS]' $out/translations \
       --replace '$$[QT_HOST_DATA]/mkspecs'    $out/mkspecs \
-      --replace '$$[QT_INSTALL_DATA]/mkspecs' $out/mkspecs \
-      --replace '$$[QT_INSTALL_DATA]'         $out/share${lib.optionalString (! withQt5) "/qt"}
+      --replace '$$[QT_INSTALL_DATA]'         $out/share
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/qt-5/5.12/default.nix b/pkgs/development/libraries/qt-5/5.12/default.nix
index c400620466588..d89547261880d 100644
--- a/pkgs/development/libraries/qt-5/5.12/default.nix
+++ b/pkgs/development/libraries/qt-5/5.12/default.nix
@@ -108,6 +108,11 @@ let
         url = "https://github.com/qtwebkit/qtwebkit/pull/1058/commits/5b698ba3faffd4e198a45be9fe74f53307395e4b.patch";
         sha256 = "0a3xv0h4lv8wggckgy8cg8xnpkg7n9h45312pdjdnnwy87xvzss0";
       })
+      (fetchpatch {
+        name = "qtwebkit-darwin-handle.patch";
+        url = "https://github.com/qtwebkit/qtwebkit/commit/5c272a21e621a66862821d3ae680f27edcc64c19.patch";
+        sha256 = "9hjqLyABz372QDgoq7nXXXQ/3OXBGcYN1/92ekcC3WE=";
+      })
       ./qtwebkit.patch
       ./qtwebkit-icu68.patch
 
@@ -117,22 +122,22 @@ let
     qttools = [ ./qttools.patch ];
   };
 
-  qtModule =
-    import ../qtModule.nix
-    {
-      inherit perl;
-      inherit lib;
-      # Use a variant of mkDerivation that does not include wrapQtApplications
-      # to avoid cyclic dependencies between Qt modules.
-      mkDerivation =
-        import ../mkDerivation.nix
-        { inherit lib; inherit debug; wrapQtAppsHook = null; }
-        stdenv.mkDerivation;
-    }
-    { inherit self srcs patches; };
-
   addPackages = self: with self;
     let
+      qtModule =
+        import ../qtModule.nix
+        {
+          inherit perl;
+          inherit lib;
+          # Use a variant of mkDerivation that does not include wrapQtApplications
+          # to avoid cyclic dependencies between Qt modules.
+          mkDerivation =
+            import ../mkDerivation.nix
+            { inherit lib; inherit debug; wrapQtAppsHook = null; }
+            stdenv.mkDerivation;
+        }
+        { inherit self srcs patches; };
+
       callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; };
     in {
 
@@ -148,7 +153,7 @@ let
         inherit (srcs.qtbase) src version;
         patches = patches.qtbase;
         inherit bison cups harfbuzz libGL;
-        withGtk3 = true; inherit dconf gtk3;
+        withGtk3 = !stdenv.isDarwin; inherit dconf gtk3;
         inherit debug developerBuild decryptSslTraffic;
         inherit (darwin.apple_sdk.frameworks) AGL AppKit ApplicationServices Carbon Cocoa CoreAudio CoreBluetooth
           CoreLocation CoreServices DiskArbitration Foundation OpenGL MetalKit IOKit;
@@ -228,6 +233,4 @@ let
       } ../hooks/wrap-qt-apps-hook.sh;
     };
 
-   self = lib.makeScope newScope addPackages;
-
-in self
+in lib.makeScope newScope addPackages
diff --git a/pkgs/development/libraries/qt-5/5.14/default.nix b/pkgs/development/libraries/qt-5/5.14/default.nix
index ddd9d76df4ea5..65ce74dac021d 100644
--- a/pkgs/development/libraries/qt-5/5.14/default.nix
+++ b/pkgs/development/libraries/qt-5/5.14/default.nix
@@ -108,6 +108,11 @@ let
         url = "https://github.com/qtwebkit/qtwebkit/pull/1058/commits/5b698ba3faffd4e198a45be9fe74f53307395e4b.patch";
         sha256 = "0a3xv0h4lv8wggckgy8cg8xnpkg7n9h45312pdjdnnwy87xvzss0";
       })
+      (fetchpatch {
+        name = "qtwebkit-darwin-handle.patch";
+        url = "https://github.com/qtwebkit/qtwebkit/commit/5c272a21e621a66862821d3ae680f27edcc64c19.patch";
+        sha256 = "9hjqLyABz372QDgoq7nXXXQ/3OXBGcYN1/92ekcC3WE=";
+      })
       ./qtwebkit.patch
       ./qtwebkit-icu68.patch
     ] ++ lib.optionals stdenv.isDarwin [
@@ -118,22 +123,22 @@ let
     qtwayland = [ ./qtwayland-libdrm-build.patch ];
   };
 
-  qtModule =
-    import ../qtModule.nix
-    {
-      inherit perl;
-      inherit lib;
-      # Use a variant of mkDerivation that does not include wrapQtApplications
-      # to avoid cyclic dependencies between Qt modules.
-      mkDerivation =
-        import ../mkDerivation.nix
-        { inherit lib; inherit debug; wrapQtAppsHook = null; }
-        stdenv.mkDerivation;
-    }
-    { inherit self srcs patches; };
-
   addPackages = self: with self;
     let
+      qtModule =
+        import ../qtModule.nix
+        {
+          inherit perl;
+          inherit lib;
+          # Use a variant of mkDerivation that does not include wrapQtApplications
+          # to avoid cyclic dependencies between Qt modules.
+          mkDerivation =
+            import ../mkDerivation.nix
+            { inherit lib; inherit debug; wrapQtAppsHook = null; }
+            stdenv.mkDerivation;
+        }
+        { inherit self srcs patches; };
+
       callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; };
     in {
 
@@ -149,7 +154,7 @@ let
         inherit (srcs.qtbase) src version;
         patches = patches.qtbase;
         inherit bison cups harfbuzz libGL;
-        withGtk3 = true; inherit dconf gtk3;
+        withGtk3 = !stdenv.isDarwin; inherit dconf gtk3;
         inherit debug developerBuild decryptSslTraffic;
         inherit (darwin.apple_sdk.frameworks) AGL AppKit ApplicationServices Carbon Cocoa CoreAudio CoreBluetooth
           CoreLocation CoreServices DiskArbitration Foundation OpenGL MetalKit IOKit;
@@ -228,6 +233,4 @@ let
       } ../hooks/wrap-qt-apps-hook.sh;
     };
 
-   self = lib.makeScope newScope addPackages;
-
-in self
+in lib.makeScope newScope addPackages
diff --git a/pkgs/development/libraries/qt-5/5.15/default.nix b/pkgs/development/libraries/qt-5/5.15/default.nix
index 7c4845fd84a6d..5943a80a701e7 100644
--- a/pkgs/development/libraries/qt-5/5.15/default.nix
+++ b/pkgs/development/libraries/qt-5/5.15/default.nix
@@ -71,6 +71,11 @@ let
         url = "https://github.com/qtwebkit/qtwebkit/pull/1058/commits/5b698ba3faffd4e198a45be9fe74f53307395e4b.patch";
         sha256 = "0a3xv0h4lv8wggckgy8cg8xnpkg7n9h45312pdjdnnwy87xvzss0";
       })
+      (fetchpatch {
+        name = "qtwebkit-darwin-handle.patch";
+        url = "https://github.com/qtwebkit/qtwebkit/commit/5c272a21e621a66862821d3ae680f27edcc64c19.patch";
+        sha256 = "9hjqLyABz372QDgoq7nXXXQ/3OXBGcYN1/92ekcC3WE=";
+      })
       ./qtwebkit.patch
       ./qtwebkit-icu68.patch
     ] ++ lib.optionals stdenv.isDarwin [
@@ -80,22 +85,22 @@ let
     qttools = [ ./qttools.patch ];
   };
 
-  qtModule =
-    import ../qtModule.nix
-    {
-      inherit perl;
-      inherit lib;
-      # Use a variant of mkDerivation that does not include wrapQtApplications
-      # to avoid cyclic dependencies between Qt modules.
-      mkDerivation =
-        import ../mkDerivation.nix
-        { inherit lib; inherit debug; wrapQtAppsHook = null; }
-        stdenv.mkDerivation;
-    }
-    { inherit self srcs patches; };
-
   addPackages = self: with self;
     let
+      qtModule =
+        import ../qtModule.nix
+        {
+          inherit perl;
+          inherit lib;
+          # Use a variant of mkDerivation that does not include wrapQtApplications
+          # to avoid cyclic dependencies between Qt modules.
+          mkDerivation =
+            import ../mkDerivation.nix
+            { inherit lib; inherit debug; wrapQtAppsHook = null; }
+            stdenv.mkDerivation;
+        }
+        { inherit self srcs patches; };
+
       callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; };
     in {
 
@@ -111,7 +116,7 @@ let
         inherit (srcs.qtbase) src version;
         patches = patches.qtbase;
         inherit bison cups harfbuzz libGL;
-        withGtk3 = true; inherit dconf gtk3;
+        withGtk3 = !stdenv.isDarwin; inherit dconf gtk3;
         inherit developerBuild decryptSslTraffic;
         inherit (darwin.apple_sdk.frameworks) AGL AppKit ApplicationServices Carbon Cocoa CoreAudio CoreBluetooth
           CoreLocation CoreServices DiskArbitration Foundation OpenGL MetalKit IOKit;
@@ -192,6 +197,4 @@ let
       } ../hooks/wrap-qt-apps-hook.sh;
     };
 
-   self = lib.makeScope newScope addPackages;
-
-in self
+in lib.makeScope newScope addPackages
diff --git a/pkgs/development/libraries/qt-5/5.15/srcs.nix b/pkgs/development/libraries/qt-5/5.15/srcs.nix
index 21b4f55a3d5df..7cba1ae63f96f 100644
--- a/pkgs/development/libraries/qt-5/5.15/srcs.nix
+++ b/pkgs/development/libraries/qt-5/5.15/srcs.nix
@@ -38,7 +38,7 @@ lib.mapAttrs mk (lib.importJSON ./srcs-generated.json)
 
   qtwebengine =
     let
-      branchName = "5.15.7";
+      branchName = "5.15.8";
       rev = "v${branchName}-lts";
     in
     {
@@ -46,7 +46,7 @@ lib.mapAttrs mk (lib.importJSON ./srcs-generated.json)
 
       src = fetchgit {
         url = "https://github.com/qt/qtwebengine.git";
-        sha256 = "fssBN/CDgXAuiNj14MPeIDI15ZDRBGuF7wxSXns9exU=";
+        sha256 = "04xhg5qpnxm8hzgkanml45za64c9i5pbxhki2l2wcq4b4y7f3hyr";
         inherit rev branchName;
         fetchSubmodules = true;
         leaveDotGit = true;
diff --git a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
index 68945625f5b4d..01d0c5932828b 100644
--- a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
@@ -19,7 +19,7 @@
 , ApplicationServices, AVFoundation, Foundation, ForceFeedback, GameController, AppKit
 , ImageCaptureCore, CoreBluetooth, IOBluetooth, CoreWLAN, Quartz, Cocoa, LocalAuthentication
 , cups, openbsm, runCommand, xcbuild, writeScriptBin
-, ffmpeg ? null
+, ffmpeg_4 ? null
 , lib, stdenv, fetchpatch
 , version ? null
 , qtCompatVersion
@@ -115,6 +115,7 @@ qtModule {
   ] ++ lib.optionals stdenv.isDarwin [
     "-DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_12"
     "-DMAC_OS_X_VERSION_MIN_REQUIRED=MAC_OS_X_VERSION_10_12"
+    "-Wno-elaborated-enum-base"
 
     #
     # Prevent errors like
@@ -153,7 +154,7 @@ qtModule {
     harfbuzz icu
 
     libevent
-    ffmpeg
+    ffmpeg_4
   ] ++ lib.optionals (!stdenv.isDarwin) [
     dbus zlib minizip snappy nss protobuf jsoncpp
 
diff --git a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
index dc9f5ccb9eb22..bebfbdda8d8b3 100644
--- a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
@@ -2,7 +2,7 @@
 , qtbase, qtdeclarative, qtlocation, qtmultimedia, qtsensors, qtwebchannel
 , fontconfig, libwebp, libxml2, libxslt
 , sqlite, systemd, glib, gst_all_1, cmake
-, bison, flex, gdb, gperf, perl, pkg-config, python2, ruby
+, bison, flex, gdb, gperf, perl, pkg-config, python38, ruby
 , ICU, OpenGL
 }:
 
@@ -30,7 +30,7 @@ qtModule {
     ++ lib.optionals stdenv.isDarwin [ ICU OpenGL ]
     ++ lib.optional usingAnnulenWebkitFork hyphen;
   nativeBuildInputs = [
-    bison flex gdb gperf perl pkg-config python2 ruby
+    bison flex gdb gperf perl pkg-config python38 ruby
   ] ++ lib.optional usingAnnulenWebkitFork cmake;
 
   cmakeFlags = lib.optionals usingAnnulenWebkitFork ([ "-DPORT=Qt" ]
diff --git a/pkgs/development/libraries/qt-5/qtModule.nix b/pkgs/development/libraries/qt-5/qtModule.nix
index 12a9a85c7b790..3323e3fb4cc82 100644
--- a/pkgs/development/libraries/qt-5/qtModule.nix
+++ b/pkgs/development/libraries/qt-5/qtModule.nix
@@ -68,7 +68,7 @@ mkDerivation (args // {
   '';
 
   meta = {
-    homepage = "http://www.qt.io";
+    homepage = "https://www.qt.io";
     description = "A cross-platform application framework for C++";
     license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ];
     maintainers = with maintainers; [ qknight ttuegel periklis bkchr ];
diff --git a/pkgs/development/libraries/qtscriptgenerator/default.nix b/pkgs/development/libraries/qtscriptgenerator/default.nix
index 0164f8884a27f..ad1f73cc9e88d 100644
--- a/pkgs/development/libraries/qtscriptgenerator/default.nix
+++ b/pkgs/development/libraries/qtscriptgenerator/default.nix
@@ -1,9 +1,11 @@
 { lib, stdenv, fetchurl, qt4 }:
 
-stdenv.mkDerivation {
-  name = "qtscriptgenerator-0.1.0";
+stdenv.mkDerivation rec {
+  pname = "qtscriptgenerator";
+  version = "0.1.0";
+
   src = fetchurl {
-    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/qtscriptgenerator/qtscriptgenerator-src-0.1.0.tar.gz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/qtscriptgenerator/qtscriptgenerator-src-${version}.tar.gz";
     sha256 = "0h8zjh38n2wfz7jld0jz6a09y66dbsd2jhm4f2024qfgcmxcabj6";
   };
   buildInputs = [ qt4 ];
diff --git a/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix b/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
index 909903c2c34ce..5a747fd910633 100644
--- a/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
+++ b/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qtstyleplugin-kvantum";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "tsujan";
     repo = "Kvantum";
     rev = "V${version}";
-    sha256 = "0yvxj7r9z890nfq5cadw7ys144c2mnvaplvx4v4ndv7238b741l8";
+    sha256 = "0k3j74klvd386ijsd4j09ccxlhga54z4pgnh36s9cv3rs7ab39qm";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/quickder/default.nix b/pkgs/development/libraries/quickder/default.nix
index 28933f96fa1c7..80eb64a577c13 100644
--- a/pkgs/development/libraries/quickder/default.nix
+++ b/pkgs/development/libraries/quickder/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python2Packages, hexio
+{ lib, stdenv, fetchFromGitHub, python3Packages, hexio
 , cmake, bash, arpa2cm, git, asn2quickder }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  buildInputs = with python2Packages; [
+  buildInputs = with python3Packages; [
     arpa2cm
     asn1ate
     hexio
diff --git a/pkgs/development/libraries/quictls/default.nix b/pkgs/development/libraries/quictls/default.nix
index a91015e1b8a7a..3d5741ccba551 100644
--- a/pkgs/development/libraries/quictls/default.nix
+++ b/pkgs/development/libraries/quictls/default.nix
@@ -16,13 +16,13 @@ assert (
 
 stdenv.mkDerivation rec {
   pname = "quictls";
-  version = "3.0.0+quick_unstable-2021-11.02";
+  version = "3.0.1+quick_unstable-2021-12.14";
 
   src = fetchFromGitHub {
     owner = "quictls";
     repo = "openssl";
-    rev = "62d4de00abfa82fc01efa2eba1982a86c4864f39";
-    sha256 = "11mi4bkkyy4qd2wml6p7xcsbps0mabk3bp537rp7n43qnhwyg1g3";
+    rev = "ab8b87bdb436b11bf2a10a2a57a897722224f828";
+    sha256 = "sha256-835oZgoM1CTS+JLxPO3oGSTnhLmJXGT1cFaJhCJK++8=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/qwt/6.nix b/pkgs/development/libraries/qwt/6.nix
index 1f2518fc73805..a9fa29ba4d4f4 100644
--- a/pkgs/development/libraries/qwt/6.nix
+++ b/pkgs/development/libraries/qwt/6.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, qtbase, qtsvg, qttools, qmake }:
 
 stdenv.mkDerivation rec {
-  name = "qwt-6.1.6";
+  pname = "qwt";
+  version = "6.1.6";
 
   src = fetchurl {
-    url = "mirror://sourceforge/qwt/${name}.tar.bz2";
+    url = "mirror://sourceforge/qwt/qwt-${version}.tar.bz2";
     sha256 = "sha256-mUYNMcEV7kEXsBddiF9HwsWQ14QgbwmBXcBY++Xt4fY=";
   };
 
@@ -15,7 +16,7 @@ stdenv.mkDerivation rec {
     sed -e "s|QWT_INSTALL_PREFIX.*=.*|QWT_INSTALL_PREFIX = $out|g" -i qwtconfig.pri
   '';
 
-  qmakeFlags = [ "-after doc.path=$out/share/doc/${name}" ];
+  qmakeFlags = [ "-after doc.path=$out/share/doc/qwt-${version}" ];
 
   dontWrapQtApps = true;
 
diff --git a/pkgs/development/libraries/qwt/6_qt4.nix b/pkgs/development/libraries/qwt/6_qt4.nix
index 61903af93fac5..021fa0ba57d4d 100644
--- a/pkgs/development/libraries/qwt/6_qt4.nix
+++ b/pkgs/development/libraries/qwt/6_qt4.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, qt4, qmake4Hook, AGL }:
 
 stdenv.mkDerivation rec {
-  name = "qwt-6.1.5";
+  pname = "qwt";
+  version = "6.1.5";
 
   src = fetchurl {
-    url = "mirror://sourceforge/qwt/${name}.tar.bz2";
+    url = "mirror://sourceforge/qwt/qwt-${version}.tar.bz2";
     sha256 = "0hf0mpca248xlqn7xnzkfj8drf19gdyg5syzklvq8pibxiixwxj0";
   };
 
@@ -27,7 +28,7 @@ stdenv.mkDerivation rec {
       install_name_tool -id "$out/lib/qwt.framework/Versions/6/qwt" "$out/lib/qwt.framework/Versions/6/qwt"
     '';
 
-  qmakeFlags = [ "-after doc.path=$out/share/doc/${name}" ];
+  qmakeFlags = [ "-after doc.path=$out/share/doc/qwt-${version}" ];
 
   meta = with lib; {
     description = "Qt widgets for technical applications";
diff --git a/pkgs/development/libraries/rabbitmq-java-client/default.nix b/pkgs/development/libraries/rabbitmq-java-client/default.nix
index e5657bcb3c300..7cd3a086cdb8b 100644
--- a/pkgs/development/libraries/rabbitmq-java-client/default.nix
+++ b/pkgs/development/libraries/rabbitmq-java-client/default.nix
@@ -1,15 +1,16 @@
-{ fetchurl, lib, stdenv, ant, jdk, jre, python, makeWrapper }:
+{ fetchurl, lib, stdenv, ant, jdk, jre, python2, makeWrapper }:
 
-stdenv.mkDerivation {
-  name = "rabbitmq-java-client-3.3.4";
+stdenv.mkDerivation rec {
+  pname = "rabbitmq-java-client";
+  version = "3.3.4";
 
   src = fetchurl {
-    url = "https://www.rabbitmq.com/releases/rabbitmq-java-client/v3.3.4/rabbitmq-java-client-3.3.4.tar.gz";
+    url = "https://www.rabbitmq.com/releases/rabbitmq-java-client/v${version}/rabbitmq-java-client-${version}.tar.gz";
     sha256 = "03kspkgzzjsbq6f8yl2zj5m30qwgxv3l58hrbf6gcgxb5rpfk6sh";
   };
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ ant jdk python ];
+  buildInputs = [ ant jdk python2 ];
 
   buildPhase = "ant dist";
 
diff --git a/pkgs/development/libraries/range-v3/default.nix b/pkgs/development/libraries/range-v3/default.nix
index 4b5f277fc531a..e29fc1f70c93b 100644
--- a/pkgs/development/libraries/range-v3/default.nix
+++ b/pkgs/development/libraries/range-v3/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake }:
 
 stdenv.mkDerivation rec {
   pname = "range-v3";
@@ -13,13 +13,18 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./gcc10.patch
+    (fetchpatch {
+      url = "https://github.com/ericniebler/range-v3/commit/66e847d4e14be3a369b7e26a03a172b20e62c003.patch";
+      sha256 = "sha256-JOQptVqNicdMhcDhBrWQRf7MfskBv56cICwvMA8g88Y=";
+    })
   ];
 
   nativeBuildInputs = [ cmake ];
 
   # Building the tests currently fails on AArch64 due to internal compiler
   # errors (with GCC 9.2):
-  cmakeFlags = lib.optional stdenv.isAarch64 "-DRANGE_V3_TESTS=OFF";
+  cmakeFlags = [ "-DRANGES_ENABLE_WERROR=OFF" ]
+    ++ lib.optional stdenv.isAarch64 "-DRANGE_V3_TESTS=OFF";
 
   doCheck = !stdenv.isAarch64;
   checkTarget = "test";
@@ -30,6 +35,6 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/ericniebler/range-v3/releases/tag/${version}";
     license = licenses.boost;
     platforms = platforms.all;
-    maintainers = with maintainers; [ primeos ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/libraries/re2/default.nix b/pkgs/development/libraries/re2/default.nix
index a70ad0f69e036..22d803c17be6d 100644
--- a/pkgs/development/libraries/re2/default.nix
+++ b/pkgs/development/libraries/re2/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, nix-update-script }:
 
 stdenv.mkDerivation rec {
   pname = "re2";
-  version = "2021-09-01";
+  version = "2021-11-01";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "re2";
     rev = version;
-    sha256 = "1fyhypw345xz8zdh53gz6j1fwgrx0gszk1d349ja37dpxh4jp2jh";
+    sha256 = "sha256-q8u7xNp6n17F6twPoVkix8iCKPWUN+qg6rhSR4Dv+bI=";
   };
 
   patches = [
@@ -39,6 +39,12 @@ stdenv.mkDerivation rec {
   doInstallCheck = true;
   installCheckTarget = "testinstall";
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = pname;
+    };
+  };
+
   meta = {
     homepage = "https://github.com/google/re2";
     description = "An efficient, principled regular expression library";
diff --git a/pkgs/development/libraries/readline/5.x.nix b/pkgs/development/libraries/readline/5.x.nix
index b2eab66387f55..98decdca968ba 100644
--- a/pkgs/development/libraries/readline/5.x.nix
+++ b/pkgs/development/libraries/readline/5.x.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, ncurses }:
 
-stdenv.mkDerivation {
-  name = "readline-5.2";
+stdenv.mkDerivation rec {
+  pname = "readline";
+  version = "5.2";
 
   src = fetchurl {
-    url = "mirror://gnu/readline/readline-5.2.tar.gz";
+    url = "mirror://gnu/readline/readline-${version}.tar.gz";
     sha256 = "0icz4hqqq8mlkwrpczyaha94kns0am9z0mh3a2913kg2msb8vs0j";
   };
 
diff --git a/pkgs/development/libraries/readline/6.2.nix b/pkgs/development/libraries/readline/6.2.nix
index 98db664dd8fc6..13c53937a7c00 100644
--- a/pkgs/development/libraries/readline/6.2.nix
+++ b/pkgs/development/libraries/readline/6.2.nix
@@ -2,10 +2,11 @@
 }:
 
 stdenv.mkDerivation (rec {
-  name = "readline-6.2";
+  pname = "readline";
+  version = "6.2";
 
   src = fetchurl {
-    url = "mirror://gnu/readline/${name}.tar.gz";
+    url = "mirror://gnu/readline/readline-${version}.tar.gz";
     sha256 = "10ckm2bd2rkxhvdmj7nmbsylmihw0abwcsnxf8y27305183rd9kr";
   };
 
@@ -21,7 +22,7 @@ stdenv.mkDerivation (rec {
     (let
        patch = nr: sha256:
          fetchurl {
-           url = "mirror://gnu/readline/${name}-patches/readline62-${nr}";
+           url = "mirror://gnu/readline/readline-${version}-patches/readline62-${nr}";
            inherit sha256;
          };
      in
diff --git a/pkgs/development/libraries/readline/6.3.nix b/pkgs/development/libraries/readline/6.3.nix
index 2f63c4a3043cd..88ad884bd489b 100644
--- a/pkgs/development/libraries/readline/6.3.nix
+++ b/pkgs/development/libraries/readline/6.3.nix
@@ -1,7 +1,8 @@
 { fetchurl, lib, stdenv, ncurses }:
 
 stdenv.mkDerivation {
-  name = "readline-6.3p08";
+  pname = "readline";
+  version = "6.3p08";
 
   src = fetchurl {
     url = "mirror://gnu/readline/readline-6.3.tar.gz";
diff --git a/pkgs/development/libraries/reproc/default.nix b/pkgs/development/libraries/reproc/default.nix
index cd5bc5b7dcee9..b8449b61d76da 100644
--- a/pkgs/development/libraries/reproc/default.nix
+++ b/pkgs/development/libraries/reproc/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "reproc";
-  version = "14.2.3";
+  version = "14.2.4";
 
   src = fetchFromGitHub {
     owner = "DaanDeMeyer";
     repo = "reproc";
     rev = "v${version}";
-    sha256 = "sha256-bdZ7czkeoSl5znGit0AYQ9D4K8qE2Co+F2Z4jLJuQok=";
+    sha256 = "sha256-LWzBeKhE7cSiZsK8xWzoTdrOcPiU/zEkmi40WiFytic=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/resolv_wrapper/default.nix b/pkgs/development/libraries/resolv_wrapper/default.nix
index 69ec01747484d..c6669edbc1641 100644
--- a/pkgs/development/libraries/resolv_wrapper/default.nix
+++ b/pkgs/development/libraries/resolv_wrapper/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, cmake, pkg-config }:
 
 stdenv.mkDerivation rec {
-  name = "resolv_wrapper-1.1.7";
+  pname = "resolv_wrapper";
+  version = "1.1.7";
 
   src = fetchurl {
-    url = "mirror://samba/cwrap/${name}.tar.gz";
+    url = "mirror://samba/cwrap/resolv_wrapper-${version}.tar.gz";
     sha256 = "sha256-Rgrn/V5TSFvn3ZmlXFki8csWNrnoghmB1JrRZQfIoHQ=";
   };
 
diff --git a/pkgs/development/libraries/retro-gtk/default.nix b/pkgs/development/libraries/retro-gtk/default.nix
index e1385f7a3ef02..113143311edf7 100644
--- a/pkgs/development/libraries/retro-gtk/default.nix
+++ b/pkgs/development/libraries/retro-gtk/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchurl
+, fetchpatch
 , cmake
 , meson
 , ninja
@@ -27,6 +28,11 @@ stdenv.mkDerivation rec {
   patches = [
     # https://gitlab.gnome.org/GNOME/retro-gtk/-/merge_requests/150
     ./gio-unix.patch
+    # fix build with meson 0.60 (https://gitlab.gnome.org/GNOME/retro-gtk/-/merge_requests/167)
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/retro-gtk/-/commit/8016c10e7216394bc66281f2d9be740140b6fad6.patch";
+      sha256 = "sha256-HcQnqadK5sJM5mMqi4KERkJM3H+MUl8AJAorpFDsJ68=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/rinutils/default.nix b/pkgs/development/libraries/rinutils/default.nix
index 35e48140fdd35..212019bb0e160 100644
--- a/pkgs/development/libraries/rinutils/default.nix
+++ b/pkgs/development/libraries/rinutils/default.nix
@@ -5,7 +5,7 @@
 
 stdenv.mkDerivation rec {
   pname = "rinutils";
-  version = "0.8.0";
+  version = "0.10.0";
 
   meta = with lib; {
     homepage = "https://github.com/shlomif/rinutils";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/shlomif/${pname}/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "1q09aihm5m42xiq2prpa9mf0srwiirzgzblkp5nl74i7zg6pg5hx";
+    sha256 = "sha256-cNifCoRk+PSU8zcEt8k5bn/KOS6Kr6pEZXEMGjiemAY=";
   };
 
   nativeBuildInputs = [ cmake perl ];
diff --git a/pkgs/development/libraries/rlog/default.nix b/pkgs/development/libraries/rlog/default.nix
index 88a96209993bb..c8661f173e672 100644
--- a/pkgs/development/libraries/rlog/default.nix
+++ b/pkgs/development/libraries/rlog/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "rlog-1.4";
+stdenv.mkDerivation rec {
+  pname = "rlog";
+  version = "1.4";
 
   src = fetchurl {
-    url = "http://rlog.googlecode.com/files/rlog-1.4.tar.gz";
+    url = "http://rlog.googlecode.com/files/rlog-${version}.tar.gz";
     sha256 = "0y9zg0pd7vmnskwac1qdyzl282z7kb01nmn57lsg2mjdxgnywf59";
   };
 
diff --git a/pkgs/development/libraries/rocksdb/default.nix b/pkgs/development/libraries/rocksdb/default.nix
index 9364fdf75d5be..dd7719c8c838e 100644
--- a/pkgs/development/libraries/rocksdb/default.nix
+++ b/pkgs/development/libraries/rocksdb/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rocksdb";
-  version = "6.27.3";
+  version = "6.28.2";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-s3vBW/vN6lUvOp3vlx/Wo2ZrzobZ2s8MHujFouSU2NM=";
+    sha256 = "sha256-0T/ANHTRzk0ymezRQbvJt6aL350Z004gcj4JapAyAnQ=";
   };
 
   nativeBuildInputs = [ cmake ninja ];
diff --git a/pkgs/development/libraries/rocm-device-libs/default.nix b/pkgs/development/libraries/rocm-device-libs/default.nix
index 13a326581117d..e2ed679d2128c 100644
--- a/pkgs/development/libraries/rocm-device-libs/default.nix
+++ b/pkgs/development/libraries/rocm-device-libs/default.nix
@@ -23,8 +23,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ clang lld llvm ];
 
-  cmakeBuildType = "Release";
-
   cmakeFlags = [
     "-DCMAKE_PREFIX_PATH=${llvm}/lib/cmake/llvm;${clang-unwrapped}/lib/cmake/clang"
     "-DLLVM_TARGETS_TO_BUILD='AMDGPU;X86'"
diff --git a/pkgs/development/libraries/rure/Cargo.lock b/pkgs/development/libraries/rure/Cargo.lock
new file mode 100644
index 0000000000000..ce760ae233155
--- /dev/null
+++ b/pkgs/development/libraries/rure/Cargo.lock
@@ -0,0 +1,49 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "aho-corasick"
+version = "0.7.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.113"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eef78b64d87775463c549fbd80e19249ef436ea3bf1de2a1eb7e717ec7fab1e9"
+
+[[package]]
+name = "memchr"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
+
+[[package]]
+name = "regex"
+version = "1.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
+
+[[package]]
+name = "rure"
+version = "0.2.1"
+dependencies = [
+ "libc",
+ "regex",
+]
diff --git a/pkgs/development/libraries/rure/default.nix b/pkgs/development/libraries/rure/default.nix
new file mode 100644
index 0000000000000..aef8b9c8f3e2f
--- /dev/null
+++ b/pkgs/development/libraries/rure/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, stdenv
+, rustPlatform
+, fetchCrate
+}:
+
+let
+  pin = lib.importJSON ./pin.json;
+in
+
+rustPlatform.buildRustPackage {
+  inherit (pin) pname version;
+
+  src = fetchCrate pin;
+
+  # upstream doesn't ship a Cargo.lock, is generated by the update script
+  postPatch = ''
+    cp ${./Cargo.lock} Cargo.lock
+  '';
+
+  cargoLock.lockFile = ./Cargo.lock;
+
+  outputs = [ "out" "dev" ];
+
+  # Headers are not handled by cargo nor buildRustPackage
+  postInstall = ''
+    install -Dm644 include/rure.h -t "$dev/include"
+  '';
+
+  passthru.updateScript = ./update.sh;
+
+  meta = {
+    description = "A C API for Rust's regular expression library";
+    homepage = "https://crates.io/crates/rure";
+    license = [
+      lib.licenses.mit
+      lib.licenses.asl20
+    ];
+    maintainers = [ lib.maintainers.sternenseemann ];
+  };
+}
diff --git a/pkgs/development/libraries/rure/pin.json b/pkgs/development/libraries/rure/pin.json
new file mode 100644
index 0000000000000..234631d07c6e9
--- /dev/null
+++ b/pkgs/development/libraries/rure/pin.json
@@ -0,0 +1,5 @@
+{
+  "pname": "rure",
+  "version": "0.2.1",
+  "sha256": "18sd1dfagf2338mp32kfjbqpc3n0agm61p044jl7yhy299ws21r8"
+}
diff --git a/pkgs/development/libraries/rure/update.sh b/pkgs/development/libraries/rure/update.sh
new file mode 100755
index 0000000000000..6e85d7cf03a73
--- /dev/null
+++ b/pkgs/development/libraries/rure/update.sh
@@ -0,0 +1,51 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -p nix jq curl cargo rsync
+#! nix-shell -i bash
+
+set -eu
+
+cd "$(dirname "$0")"
+
+crate=rure
+
+echo "Getting latest version from crates.io API" >&2
+
+curlOpts=(
+  -H "Accept: application/json"
+  -H "User-Agent: $crate update script (https://github.com/nixos/nixpkgs/)"
+)
+
+version="$(curl "${curlOpts[@]}" "https://crates.io/api/v1/crates/$crate" \
+  | jq -r .crate.max_stable_version)"
+
+echo "Prefetching latest tarball from crates.io" >&2
+
+url="https://crates.io/api/v1/crates/$crate/$version/download"
+prefetch="$(nix-prefetch-url --print-path --type sha256 --unpack "$url")"
+
+cat > pin.json <<EOF
+{
+  "pname": "$crate",
+  "version": "$version",
+  "sha256": "$(printf '%s' "$prefetch" | head -n1)"
+}
+EOF
+
+echo "Generating updated Cargo.lock" >&2
+
+tmp="$(mktemp -d)"
+
+cleanup() {
+  echo "Removing $tmp" >&2
+  rm -rf "$tmp"
+}
+
+trap cleanup EXIT
+
+rsync -a --chmod=ugo=rwX "$(printf '%s' "$prefetch" | tail -n1)/" "$tmp"
+
+pushd "$tmp"
+cargo update
+popd
+
+cp "$tmp/Cargo.lock" ./Cargo.lock
diff --git a/pkgs/development/libraries/s2n-tls/default.nix b/pkgs/development/libraries/s2n-tls/default.nix
index 35a37fbddb86e..395e5d0c75d6f 100644
--- a/pkgs/development/libraries/s2n-tls/default.nix
+++ b/pkgs/development/libraries/s2n-tls/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "s2n-tls";
-  version = "1.3.0";
+  version = "1.3.4";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-gd91thIcJO6Bhn1ENkW0k2iDzu1CvSYwWVv0VEM9umU=";
+    hash = "sha256-/kZI/NOZO8T5jlG9Qtfr14aCJDKrP7wEQLgJ6qe9VzY=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/safefile/default.nix b/pkgs/development/libraries/safefile/default.nix
index 2865ab06319f4..1f49afbacff29 100644
--- a/pkgs/development/libraries/safefile/default.nix
+++ b/pkgs/development/libraries/safefile/default.nix
@@ -8,20 +8,11 @@ stdenv.mkDerivation rec {
     sha256 = "1y0gikds2nr8jk8smhrl617njk23ymmpxyjb2j1xbj0k82xspv78";
   };
 
-  passthru = {
-    updateScript = ''
-      #!${runtimeShell}
-      cd ${toString ./.}
-      ${toString path}/pkgs/build-support/upstream-updater/update-walker.sh default.nix
-    '';
-  };
-
-  meta = {
+  meta = with lib; {
     description = "File open routines to safely open a file when in the presence of an attack";
-    license = lib.licenses.asl20 ;
-    maintainers = [lib.maintainers.raskin];
-    platforms = lib.platforms.all;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ raskin ];
+    platforms = platforms.all;
     homepage = "https://research.cs.wisc.edu/mist/safefile/";
-    updateWalker = true;
   };
 }
diff --git a/pkgs/development/libraries/science/astronomy/indilib/default.nix b/pkgs/development/libraries/science/astronomy/indilib/default.nix
index 2ac1ba9536f6b..60f5e51ae9578 100644
--- a/pkgs/development/libraries/science/astronomy/indilib/default.nix
+++ b/pkgs/development/libraries/science/astronomy/indilib/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "indilib";
-  version = "1.9.3";
+  version = "1.9.4";
 
   src = fetchFromGitHub {
     owner = "indilib";
     repo = "indi";
     rev = "v${version}";
-    sha256 = "sha256-Ik62kbOetA2vSMpnwrSiNRNJqOgmqlCB2+KNhpBo9TA=";
+    sha256 = "sha256-U3Q0WUEDRn0zfBIdHXFp5Zcaf+M6HrSFnpeu5aAkjks=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix b/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix
index 191751993c3a9..a214d28347de2 100644
--- a/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix
+++ b/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "stellarsolver";
-  version = "1.8";
+  version = "1.9";
 
   src = fetchFromGitHub {
     owner = "rlancaste";
     repo = pname;
     rev = version;
-    sha256 = "sha256-eC45V0aqFSUVJrxhaEXFzgzaXkHVwA5Yj8YyGvii0QI=";
+    sha256 = "sha256-PiRXNiemJ+UjVhmd2KPcTKJoDW9K9QBf62nkP1LlOfw=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -25,6 +25,6 @@ mkDerivation rec {
     description = "Astrometric plate solving library";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ hjones2199 ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/science/biology/htslib/default.nix b/pkgs/development/libraries/science/biology/htslib/default.nix
index 52822baca631d..8a9df7601d28d 100644
--- a/pkgs/development/libraries/science/biology/htslib/default.nix
+++ b/pkgs/development/libraries/science/biology/htslib/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "htslib";
-  version = "1.13";
+  version = "1.14";
 
   src = fetchurl {
     url = "https://github.com/samtools/htslib/releases/download/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-8kB9+fl/C7awdlZXnkGhylEARkBntrIb+WKi6ksO/WU=";
+    sha256 = "sha256-7SIbj1L0gS+BDuvgzFbNg1WlydIcYtFCrAWtDaFHk18=";
   };
 
   # perl is only used during the check phase.
diff --git a/pkgs/development/libraries/science/math/fenics/default.nix b/pkgs/development/libraries/science/math/fenics/default.nix
index e80607ab95565..2690d544c2c8b 100644
--- a/pkgs/development/libraries/science/math/fenics/default.nix
+++ b/pkgs/development/libraries/science/math/fenics/default.nix
@@ -26,10 +26,20 @@
 , zlib
 , blas
 , lapack
+, nixosTests
 }:
 let
   version = "2019.1.0";
 
+  # TODO: test with newer pytest
+  pytest = pythonPackages.callPackage
+    ../../../../python2-modules/pytest {
+      # hypothesis tests require pytest that causes dependency cycle
+      hypothesis = pythonPackages.hypothesis.override {
+        doCheck = false;
+      };
+    };
+
   dijitso = pythonPackages.buildPythonPackage {
     pname = "dijitso";
     inherit version;
@@ -251,6 +261,7 @@ let
       pythonPackages.pybind11
     ];
     doCheck = false; # Tries to orte_ess_init and call ssh to localhost
+    passthru.tests = { inherit (nixosTests) fenics; };
     meta = {
       description = "Python bindings for the DOLFIN FEM compiler";
       homepage = "https://fenicsproject.org/";
diff --git a/pkgs/development/libraries/science/math/itpp/default.nix b/pkgs/development/libraries/science/math/itpp/default.nix
index 88560e0cd9832..d7a0dcfe06a7b 100644
--- a/pkgs/development/libraries/science/math/itpp/default.nix
+++ b/pkgs/development/libraries/science/math/itpp/default.nix
@@ -49,5 +49,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     platforms = platforms.unix;
     maintainers = with maintainers; [ andrew-d ];
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/itpp.x86_64-darwin
   };
 }
diff --git a/pkgs/development/libraries/science/math/lcalc/default.nix b/pkgs/development/libraries/science/math/lcalc/default.nix
index 3f0cf45062f1b..b1896917658ce 100644
--- a/pkgs/development/libraries/science/math/lcalc/default.nix
+++ b/pkgs/development/libraries/science/math/lcalc/default.nix
@@ -1,94 +1,38 @@
 { lib, stdenv
-, fetchurl
-, fetchpatch
+, autoreconfHook
+, gengetopt
+, pkg-config
+, fetchFromGitLab
 , pari
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.23";
+  version = "2.0.5";
   pname = "lcalc";
 
-  src = fetchurl {
-    # original at http://oto.math.uwaterloo.ca/~mrubinst/L_function_public/CODE/L-${version}.tar.gz, no longer available
-    # "newer" version at google code https://code.google.com/archive/p/l-calc/source/default/source
-    url = "mirror://sageupstream/lcalc/lcalc-${version}.tar.bz2";
-    sha256 = "1c6dsdshgxhqppjxvxhp8yhpxaqvnz3d1mlh26r571gkq8z2bm43";
+  src = fetchFromGitLab {
+    owner = "sagemath";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-RxWZ7T0I9zV7jUVnL6jV/PxEoU32KY7Q1UsOL5Lonuc=";
   };
 
-  preConfigure = "cd src";
+  nativeBuildInputs = [
+    autoreconfHook
+    gengetopt
+    pkg-config
+  ];
 
   buildInputs = [
     pari
   ];
 
-  patches = [
-    # Port to newer pari
-    (fetchpatch {
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/lcalc/patches/pari-2.7.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
-      sha256 = "1x3aslldm8njjm7p9g9s9w2c91kphnci2vpkxkrcxfihw3ayss6c";
-    })
-
-    # Uncomment the definition of lcalc_to_double(const long double& x).
-    # (Necessary for GCC >= 4.6.0, cf. https://trac.sagemath.org/ticket/10892)
-    (fetchpatch {
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/lcalc/patches/Lcommon.h.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
-      sha256 = "0g4ybvsrcv48rmlh1xjnkms19jp25k58azv6ds1f2cm34hxs8fdx";
-    })
-
-    # Include also <time.h> in Lcommandline_numbertheory.h (at least required
-    # on Cygwin, cf. https://trac.sagemath.org/ticket/9845)
-    (fetchpatch {
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/lcalc/patches/time.h.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
-      sha256 = "1brf04n11kkc43ylagf8dm32j5r2g9zv51dp5wag1mpm4p04l7cl";
-    })
-
-    # Fix for gcc >4.6
-    (fetchpatch {
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/lcalc/patches/lcalc-1.23_default_parameters_1.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
-      sha256 = "0i2yvxm5fx4z0v6m4srgh8rj98kijmlvyirlxf1ky0bp2si6bpka";
-    })
-
-    # gcc 5.1
-    (fetchpatch {
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/lcalc/patches/lcalc-1.23_default_parameters_2.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
-      sha256 = "0dqwmxpm9wb53qbypsyfkgsvk2f8nf67sydphd4dkc2vw4yz6vlh";
-    })
-
-    # based on gentoos makefile patch -- fix paths, adhere to flags
-    ./makefile.patch
-
-    # (fetchpatch {
-    #   name = "default-double.patch";
-    #   url = "https://github.com/dimpase/lcalc/pull/1/commits/0500c67b6aa1f492715591669f6647c8f7a3ea59.patch";
-    #   sha256 = "0dqwmxpm9wb53qbypsyfkgsvk2f8nf67sydphd4dkc2vw4yz6vla";
-    # })
-
-    (fetchpatch {
-      name = "c++11.patch";
-      url = "https://raw.githubusercontent.com/archlinux/svntogit-community/3607b97df5a8c231191115b0cb5c62426b339e71/trunk/lcalc-c++11.patch";
-      sha256 = "1ccrl61lv2vvx8ggldq54m5d0n1iy6mym7qz0i8nj6yj0dshnpk3";
-    })
-  ] ++ lib.optional stdenv.isDarwin
-  (fetchpatch {
-    url = "https://git.sagemath.org/sage.git/plain/build/pkgs/lcalc/patches/clang.patch";
-    sha256 = "0bb7656z6cp6i4p2qj745cmq0lhh52v2akl9whi760dynfdxbl18";
-  });
-
-  postPatch = lib.optionalString stdenv.isDarwin ''
-    substituteInPlace src/Makefile --replace g++ c++
-  '';
-
-  installFlags = [
-    "DESTDIR=$(out)"
-  ];
-
-  makeFlags = [
-    "PARI_DEFINE=-DINCLUDE_PARI"
-    "PARI_PREFIX=${pari}"
+  configureFlags = [
+    "--with-pari"
   ];
 
   meta = with lib; {
-    homepage = "http://oto.math.uwaterloo.ca/~mrubinst/L_function_public/L.html";
+    homepage = "https://gitlab.com/sagemath/lcalc";
     description = "A program for calculating with L-functions";
     license = with licenses; [ gpl2 ];
     maintainers = teams.sage.members;
diff --git a/pkgs/development/libraries/science/math/lcalc/makefile.patch b/pkgs/development/libraries/science/math/lcalc/makefile.patch
deleted file mode 100644
index 5c22cf0b84e8a..0000000000000
--- a/pkgs/development/libraries/science/math/lcalc/makefile.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-diff --git a/src/Makefile b/src/Makefile
-index 84e4e88..56ca676 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -58,7 +58,7 @@ ifeq ($(G5),TRUE)
-    #MACHINE_SPECIFIC_FLAGS = -mpowerpc -mpowerpc64 -m64
- endif
- 
--CCFLAGS =  -Wa,-W -O3 $(OPENMP_FLAG) -Wno-deprecated $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS) $(EXTRA)
-+CCFLAGS = $(CXXFLAGS) $(OPENMP_FLAG) $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS)
- #CCFLAGS =  -Wa,-W -O3 $(OPENMP_FLAG)  $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS) $(EXTRA)
- #CCFLAGS =  -Wa,-W -O2 -fno-exceptions -Wno-deprecated $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS) $(EXTRA)
- 
-@@ -68,12 +68,12 @@ CCFLAGS =  -Wa,-W -O3 $(OPENMP_FLAG) -Wno-deprecated $(PREPROCESSOR_DEFINE) $(MA
- 
- ifeq ($(PARI_DEFINE),-DINCLUDE_PARI)
-     #location of pari.h.
--    LOCATION_PARI_H = /usr/local/include/pari #usual location
-+    LOCATION_PARI_H = $(PARI_PREFIX)/include/pari #usual location
- 
-     #location of libpari.a or of libpari.so
-     #depending on whether static or dynamic libraries are being used.
-     #On mac os x it's the former, on linux I think usually the latter.
--    LOCATION_PARI_LIBRARY = /usr/local/lib #usual location
-+    LOCATION_PARI_LIBRARY = $(PARI_PREFIX)/lib #usual location
- else
-     #supplied as a dummy so as to avoid more ifeq's below
-     LOCATION_PARI_H = .
-@@ -89,24 +89,24 @@ INCLUDEFILES= -I../include
- 
- ifeq ($(OS_NAME),Darwin)
-     LDFLAGS2 =
--    DYN_OPTION=dynamiclib
-+    DYN_OPTION=-dynamiclib
- else
--    LDFLAGS1 = -Xlinker -export-dynamic #not sure why pari calls these when linking but on the web I found
-+    LDFLAGS1 = #not sure why pari calls these when linking but on the web I found
-     #'Libtool provides the `-export-dynamic' link flag (see section Link mode), which does this declaration.
-     #You need to use this flag if you are linking a shared library that will be dlopened'
-     #see notes below
-     #ifeq ($(PARI_DEFINE),-DINCLUDE_PARI)
--       LDFLAGS2 = $(LDFLAGS1) -Xlinker -rpath -Xlinker $(LOCATION_PARI_LIBRARY)
-+       LDFLAGS2 = $(LDFLAGS)
-     #else
-     #    LDFLAGS2 = $(LDFLAGS1)
-     #endif
--    DYN_OPTION=shared
-+    DYN_OPTION=$(LDFLAGS) -shared -Wl,-soname,libLfunction.so
- endif
- 
- ifeq ($(PARI_DEFINE),-DINCLUDE_PARI)
--    LDFLAGS = $(LDFLAGS2) -L$(LOCATION_PARI_LIBRARY) -lpari
-+    MYLDFLAGS = $(LDFLAGS2) -L$(LOCATION_PARI_LIBRARY) -lpari
- else
--    LDFLAGS = $(LDFLAGS2)
-+    MYLDFLAGS = $(LDFLAGS2)
- endif
- 
- 
-@@ -129,7 +129,8 @@ endif
- #become clear which libraries the computer can find.
- 
- 
--INSTALL_DIR= /usr/local
-+INSTALL_DIR= $(DESTDIR)
-+LIB_DIR ?=lib
- 
- #object files for the libLfunction library
- OBJ_L = Lglobals.o Lgamma.o Lriemannsiegel.o Lriemannsiegel_blfi.o Ldokchitser.o
-@@ -141,9 +142,8 @@ OBJECTS = $(OBJ3)
- 
- all:
- #	make print_vars
--	make libLfunction.so
--	make lcalc
--	make examples
-+	${MAKE} libLfunction.so
-+	${MAKE} lcalc
- #	make find_L
- #	make test
- 
-@@ -151,7 +151,7 @@ print_vars:
- 	@echo OS_NAME = $(OS_NAME)
- 
- lcalc: $(OBJECTS)
--	$(CC) $(CCFLAGS) $(INCLUDEFILES) $(OBJECTS) $(LDFLAGS) -o lcalc $(GMP_FLAGS)
-+	$(CC) $(CCFLAGS) $(INCLUDEFILES) $(OBJECTS) $(MYLDFLAGS) -o lcalc $(GMP_FLAGS)
- 
- examples:
- 	$(CC) $(CCFLAGS) $(INCLUDEFILES) example_programs/example.cc libLfunction.so -o example_programs/example $(GMP_FLAGS)
-@@ -262,15 +262,18 @@ Lcommandline.o: ../include/Lcommandline_values_zeros.h
- 
- 
- libLfunction.so: $(OBJ_L)
--	g++ -$(DYN_OPTION)  -o libLfunction.so $(OBJ_L)
-+	g++ $(DYN_OPTION) -o libLfunction.so $(OBJ_L)
- 
- clean:
- 	rm -f *.o lcalc libLfunction.so example_programs/example
- 
- install:
--	cp -f lcalc $(INSTALL_DIR)/bin/.
--	cp -f libLfunction.so $(INSTALL_DIR)/lib/.
--	cp -rf ../include $(INSTALL_DIR)/include/Lfunction
-+	install -d $(INSTALL_DIR)/bin
-+	install -d $(INSTALL_DIR)/$(LIB_DIR)
-+	install -d $(INSTALL_DIR)/include/Lfunction
-+	install lcalc $(INSTALL_DIR)/bin
-+	install libLfunction.so $(INSTALL_DIR)/$(LIB_DIR)
-+	install -m 644 -t $(INSTALL_DIR)/include/Lfunction ../include/*.h
- 
- 
- SRCS = Lcommandline.cc Lcommandline_elliptic.cc Lcommandline_globals.cc Lcommandline_misc.cc Lcommandline_numbertheory.cc Lcommandline_twist.cc Lcommandline_values_zeros.cc Lgamma.cc Lglobals.cc Lmisc.cc Lriemannsiegel.cc Lriemannsiegel_blfi.cc cmdline.c
diff --git a/pkgs/development/libraries/science/math/libhomfly/default.nix b/pkgs/development/libraries/science/math/libhomfly/default.nix
index b756109aa8fc8..cd9f06499de77 100644
--- a/pkgs/development/libraries/science/math/libhomfly/default.nix
+++ b/pkgs/development/libraries/science/math/libhomfly/default.nix
@@ -6,7 +6,7 @@
 
 stdenv.mkDerivation rec {
   version = "1.02r5";
-  pname = "llibhomfly";
+  pname = "libhomfly";
 
   src = fetchFromGitHub {
     owner = "miguelmarco";
diff --git a/pkgs/development/libraries/science/math/liblapack/default.nix b/pkgs/development/libraries/science/math/liblapack/default.nix
index f81a02303a603..f2a50cb2d3d4d 100644
--- a/pkgs/development/libraries/science/math/liblapack/default.nix
+++ b/pkgs/development/libraries/science/math/liblapack/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , gfortran
 , cmake
 , shared ? true
@@ -17,6 +18,14 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-ewYUM+M7jDO5LLnB4joiKkqgXjEDmWbFZbgad8x98gc=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2021-4048.patch";
+      url = "https://github.com/Reference-LAPACK/lapack/commit/0631b6beaed60ba118b0b027c0f8d35397bf5df0.patch";
+      sha256 = "1bqjw3f6ak9iz97y7ckn0rrfcgrzbn9prgfasl489qpxgzp2kjh8";
+    })
+  ];
+
   nativeBuildInputs = [ gfortran cmake ];
 
   # Configure stage fails on aarch64-darwin otherwise, due to either clang 11 or gfortran 10.
diff --git a/pkgs/development/libraries/science/math/metis/default.nix b/pkgs/development/libraries/science/math/metis/default.nix
index da79f6d624993..41deec25d454e 100644
--- a/pkgs/development/libraries/science/math/metis/default.nix
+++ b/pkgs/development/libraries/science/math/metis/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, unzip, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "metis";
+  pname = "metis";
   version = "5.1.0";
 
   src = fetchurl {
diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix
index 0fc00efcff0a7..d61b6ee3acb0c 100644
--- a/pkgs/development/libraries/science/math/openblas/default.nix
+++ b/pkgs/development/libraries/science/math/openblas/default.nix
@@ -129,7 +129,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "openblas";
-  version = "0.3.18";
+  version = "0.3.19";
 
   outputs = [ "out" "dev" ];
 
@@ -137,7 +137,7 @@ stdenv.mkDerivation rec {
     owner = "xianyi";
     repo = "OpenBLAS";
     rev = "v${version}";
-    sha256 = "sha256-b5i52rjsH65qAIlYGXQrzVxChi8/fwbD4eJTrxVq7Z8=";
+    sha256 = "sha256-EqA6oFM2theuvvuDOWeOx0Bv6AEFffmpWHJBzp23br0=";
   };
 
   inherit blas64;
@@ -208,15 +208,21 @@ EOF
     done
 
     # Setup symlinks for blas / lapack
+  '' + lib.optionalString enableShared ''
     ln -s $out/lib/libopenblas${shlibExt} $out/lib/libblas${shlibExt}
     ln -s $out/lib/libopenblas${shlibExt} $out/lib/libcblas${shlibExt}
     ln -s $out/lib/libopenblas${shlibExt} $out/lib/liblapack${shlibExt}
     ln -s $out/lib/libopenblas${shlibExt} $out/lib/liblapacke${shlibExt}
-  '' + lib.optionalString stdenv.hostPlatform.isLinux ''
+  '' + lib.optionalString (stdenv.hostPlatform.isLinux && enableShared) ''
     ln -s $out/lib/libopenblas${shlibExt} $out/lib/libblas${shlibExt}.3
     ln -s $out/lib/libopenblas${shlibExt} $out/lib/libcblas${shlibExt}.3
     ln -s $out/lib/libopenblas${shlibExt} $out/lib/liblapack${shlibExt}.3
     ln -s $out/lib/libopenblas${shlibExt} $out/lib/liblapacke${shlibExt}.3
+  '' + lib.optionalString enableStatic ''
+    ln -s $out/lib/libopenblas.a $out/lib/libblas.a
+    ln -s $out/lib/libopenblas.a $out/lib/libcblas.a
+    ln -s $out/lib/libopenblas.a $out/lib/liblapack.a
+    ln -s $out/lib/libopenblas.a $out/lib/liblapacke.a
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/science/math/openlibm/default.nix b/pkgs/development/libraries/science/math/openlibm/default.nix
index 84c01d80d0a64..21c7d45a90997 100644
--- a/pkgs/development/libraries/science/math/openlibm/default.nix
+++ b/pkgs/development/libraries/science/math/openlibm/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openlibm";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "JuliaLang";
     repo = "openlibm";
     rev = "v${version}";
-    sha256 = "sha256-dEM10picZXiPokzSHCfxhS7fwZ0sMjil4bni+PHBCeI=";
+    sha256 = "sha256-q7BYUU8oChjuBFbVnpT+vqIAu+BVotT4xY2Dn0hmWfc=";
   };
 
   makeFlags = [ "prefix=$(out)" ];
diff --git a/pkgs/development/libraries/science/math/petsc/default.nix b/pkgs/development/libraries/science/math/petsc/default.nix
index e9ca9b849462e..31b1af5abedd2 100644
--- a/pkgs/development/libraries/science/math/petsc/default.nix
+++ b/pkgs/development/libraries/science/math/petsc/default.nix
@@ -18,11 +18,11 @@ assert petsc-withp4est -> p4est.mpiSupport;
 
 stdenv.mkDerivation rec {
   pname = "petsc";
-  version = "3.16.2";
+  version = "3.16.4";
 
   src = fetchurl {
     url = "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-${version}.tar.gz";
-    sha256 = "sha256-erJXrhUNSDesjThyodIGmXliV4eF7CQnY5zqxG0TG7w=";
+    sha256 = "sha256-IpzOIr3P7bH+gn0wbtGvypc3eGzcPwVit0oZZsEkPK8=";
   };
 
   mpiSupport = !withp4est || p4est.mpiSupport;
diff --git a/pkgs/development/libraries/science/math/primecount/default.nix b/pkgs/development/libraries/science/math/primecount/default.nix
index 7985b9d6dbd6d..e1390ce6416ed 100644
--- a/pkgs/development/libraries/science/math/primecount/default.nix
+++ b/pkgs/development/libraries/science/math/primecount/default.nix
@@ -15,6 +15,14 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-/Cb/HkD4UQ9gXsRpvRiEuQBoRd0THxNHsBaAAa+CqQo=";
   };
 
+  cmakeFlags = [
+    "-DBUILD_STATIC_LIBS=OFF"
+    "-DBUILD_SHARED_LIBS=ON"
+    "-DBUILD_TESTS=ON"
+    "-DBUILD_PRIMECOUNT=ON"
+    "-DBUILD_LIBPRIMESIEVE=ON"
+  ];
+
   meta = with lib; {
     description = "Fast prime counting function implementations";
     homepage = "https://github.com/kimwalisch/primecount";
diff --git a/pkgs/development/libraries/science/math/primesieve/default.nix b/pkgs/development/libraries/science/math/primesieve/default.nix
index 2367b373b1c51..0cf263218a3bc 100644
--- a/pkgs/development/libraries/science/math/primesieve/default.nix
+++ b/pkgs/development/libraries/science/math/primesieve/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "primesieve";
-  version = "7.7";
+  version = "7.8";
 
   nativeBuildInputs = [ cmake ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner = "kimwalisch";
     repo = "primesieve";
     rev = "v${version}";
-    sha256 = "sha256-1Gfo00yaf7zHzCLfu/abWqeM0qBuLu+f+lowFFnWFxY=";
+    sha256 = "sha256-M35CP/xEyC7mEh84kaGsgfsDI9fnanHraNPgTvpqimI=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/science/math/scalapack/default.nix b/pkgs/development/libraries/science/math/scalapack/default.nix
index 3b1fb98a42eab..9a7374f4f49c5 100644
--- a/pkgs/development/libraries/science/math/scalapack/default.nix
+++ b/pkgs/development/libraries/science/math/scalapack/default.nix
@@ -1,22 +1,36 @@
 { lib, stdenv, fetchFromGitHub, cmake, openssh
-, gfortran, mpi, blas, lapack
+, mpi, blas, lapack
 } :
 
-assert (!blas.isILP64) && (!lapack.isILP64);
+assert blas.isILP64 == lapack.isILP64;
 
 stdenv.mkDerivation rec {
   pname = "scalapack";
-  version = "2.1.0";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "Reference-ScaLAPACK";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1c10d18gj3kvpmyv5q246x35hjxaqn4ygy1cygaydhyxnm4klzdj";
+    sha256 = "0hiap5i9ik6xpvl721n2slanlqygagc1pg2bcjb27ans6balhsfh";
   };
 
-  nativeBuildInputs = [ cmake openssh gfortran ];
-  buildInputs = [ mpi blas lapack ];
+  passthru = { inherit (blas) isILP64; };
+
+  # Required to activate ILP64.
+  # See https://github.com/Reference-ScaLAPACK/scalapack/pull/19
+  postPatch = lib.optionalString passthru.isILP64 ''
+    sed -i 's/INTSZ = 4/INTSZ = 8/g'   TESTING/EIG/* TESTING/LIN/*
+    sed -i 's/INTGSZ = 4/INTGSZ = 8/g' TESTING/EIG/* TESTING/LIN/*
+
+    # These tests are not adapted to ILP64
+    sed -i '/xssep/d;/xsgsep/d;/xssyevr/d' TESTING/CMakeLists.txt
+  '';
+
+  nativeBuildInputs = [ cmake ];
+  checkInputs = [ openssh ];
+  buildInputs = [ blas lapack ];
+  propagatedBuildInputs = [ mpi ];
 
   doCheck = true;
 
@@ -25,6 +39,11 @@ stdenv.mkDerivation rec {
       -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF
       -DLAPACK_LIBRARIES="-llapack"
       -DBLAS_LIBRARIES="-lblas"
+      -DCMAKE_Fortran_COMPILER=${mpi}/bin/mpif90
+      ${lib.optionalString passthru.isILP64 ''
+        -DCMAKE_Fortran_FLAGS="-fdefault-integer-8"
+        -DCMAKE_C_FLAGS="-DInt=long"
+      ''}
       )
   '';
 
@@ -52,5 +71,4 @@ stdenv.mkDerivation rec {
     platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ costrouc markuskowa ];
   };
-
 }
diff --git a/pkgs/development/libraries/science/math/scs/default.nix b/pkgs/development/libraries/science/math/scs/default.nix
index 10ea82f93d268..a945e99ec9cbe 100644
--- a/pkgs/development/libraries/science/math/scs/default.nix
+++ b/pkgs/development/libraries/science/math/scs/default.nix
@@ -4,13 +4,13 @@ assert (!blas.isILP64) && (!lapack.isILP64);
 
 stdenv.mkDerivation rec {
   pname = "scs";
-  version = "3.0.0";
+  version = "3.1.0";
 
   src = fetchFromGitHub {
     owner = "cvxgrp";
     repo = "scs";
     rev = version;
-    sha256 = "sha256-Lly28KDDZ5hJyiMOhiX/3VaKs0iPcSqizOurZevhfCo=";
+    sha256 = "sha256-yoh25DmvY7fohAvABCiSLkvr7TskGd0ED2K3rIa/IeM=";
   };
 
   # Actually link and add libgfortran to the rpath
diff --git a/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix b/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix
index 151a0eef89161..4c0059184ee3e 100644
--- a/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix
+++ b/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix
@@ -6,7 +6,7 @@
 
 stdenv.mkDerivation rec {
   pname = "suitesparse-graphblas";
-  version = "4.0.3";
+  version = "6.1.4";
 
   outputs = [ "out" "dev" ];
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     owner = "DrTimothyAldenDavis";
     repo = "GraphBLAS";
     rev = "v${version}";
-    sha256 = "sha256-Bf3+w/kQtFpeUGp2zWVqja535EbaUw7DbhCw54B6A8k=";
+    sha256 = "sha256-pjb4Q9b+5hcI0ZYoez46V/ve4+1GJORu2ZGweceaWDY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/science/math/trilinos/default.nix b/pkgs/development/libraries/science/math/trilinos/default.nix
new file mode 100644
index 0000000000000..19d2119622e9d
--- /dev/null
+++ b/pkgs/development/libraries/science/math/trilinos/default.nix
@@ -0,0 +1,100 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, blas
+, boost
+, cmake
+, gfortran
+, lapack
+, mpi
+, suitesparse
+, swig
+, withMPI ? false
+}:
+
+# NOTE: Not all packages are enabled.  We specifically enable the ones
+# required to build Xyce. If the need comes, we can enable more of them.
+
+let
+  flagsBase = ''
+    -G "Unix Makefiles"
+    -DBUILD_SHARED_LIBS=ON
+    -DCMAKE_CXX_FLAGS="-O3 -fPIC"
+    -DCMAKE_C_FLAGS="-O3 -fPIC"
+    -DCMAKE_Fortran_FLAGS="-O3 -fPIC"
+    -DTrilinos_ENABLE_NOX=ON
+    -DNOX_ENABLE_LOCA=ON
+    -DTrilinos_ENABLE_EpetraExt=ON
+    -DEpetraExt_BUILD_BTF=ON
+    -DEpetraExt_BUILD_EXPERIMENTAL=ON
+    -DEpetraExt_BUILD_GRAPH_REORDERINGS=ON
+    -DTrilinos_ENABLE_TrilinosCouplings=ON
+    -DTrilinos_ENABLE_Ifpack=ON
+    -DTrilinos_ENABLE_AztecOO=ON
+    -DTrilinos_ENABLE_Belos=ON
+    -DTrilinos_ENABLE_Teuchos=ON
+    -DTeuchos_ENABLE_COMPLEX=ON
+    -DTrilinos_ENABLE_Amesos=ON
+    -DAmesos_ENABLE_KLU=ON
+    -DTrilinos_ENABLE_Amesos2=ON
+    -DAmesos2_ENABLE_KLU2=ON
+    -DAmesos2_ENABLE_Basker=ON
+    -DTrilinos_ENABLE_Sacado=ON
+    -DTrilinos_ENABLE_Stokhos=ON
+    -DTrilinos_ENABLE_Kokkos=ON
+    -DTrilinos_ENABLE_ALL_OPTIONAL_PACKAGES=OFF
+    -DTrilinos_ENABLE_CXX11=ON
+    -DTPL_ENABLE_AMD=ON
+    -DTPL_ENABLE_BLAS=ON
+    -DTPL_ENABLE_LAPACK=ON
+  '';
+  flagsParallel = ''
+    -DCMAKE_C_COMPILER=mpicc
+    -DCMAKE_CXX_COMPILER=mpic++
+    -DCMAKE_Fortran_COMPILER=mpif77
+    -DTrilinos_ENABLE_Isorropia=ON
+    -DTrilinos_ENABLE_Zoltan=ON
+    -DTPL_ENABLE_MPI=ON
+  '';
+in
+stdenv.mkDerivation rec {
+  pname = "trilinos";
+  version = "12.12.1"; # Xyce 7.4 requires version 12.12.1
+
+  src = fetchFromGitHub {
+    owner = "trilinos";
+    repo = "Trilinos";
+    rev = "${pname}-release-${lib.replaceStrings [ "." ] [ "-" ] version}";
+    sha256 = "sha256-Nqjr7RAlUHm6vs87a1P84Y7BIZEL0Vs/A1Z6dykfv+o=";
+  };
+
+  nativeBuildInputs = [ cmake gfortran swig ];
+
+  buildInputs = [ blas boost lapack suitesparse ] ++ lib.optionals withMPI [ mpi ];
+
+  preConfigure =
+    if withMPI then ''
+      cmakeFlagsArray+=(${flagsBase} ${flagsParallel})
+    ''
+    else ''
+      cmakeFlagsArray+=(${flagsBase})
+    '';
+
+  passthru = {
+    inherit withMPI;
+  };
+
+  meta = with lib; {
+    description = "Engineering and scientific problems algorithms";
+    longDescription = ''
+      The Trilinos Project is an effort to develop algorithms and enabling
+      technologies within an object-oriented software framework for the
+      solution of large-scale, complex multi-physics engineering and scientific
+      problems.
+    '';
+    homepage = "https://trilinos.org";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fbeffa ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/zn_poly/default.nix b/pkgs/development/libraries/science/math/zn_poly/default.nix
index 8f3e1aba350e9..38d5d91e0837a 100644
--- a/pkgs/development/libraries/science/math/zn_poly/default.nix
+++ b/pkgs/development/libraries/science/math/zn_poly/default.nix
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = with lib; {
-    homepage = "http://web.maths.unsw.edu.au/~davidharvey/code/zn_poly/";
+    homepage = "https://web.maths.unsw.edu.au/~davidharvey/code/zn_poly/";
     description = "Polynomial arithmetic over Z/nZ";
     license = with licenses; [ gpl3 ];
     maintainers = teams.sage.members;
diff --git a/pkgs/development/libraries/seasocks/default.nix b/pkgs/development/libraries/seasocks/default.nix
index 8c5b4e87d9bbf..fd53db0dcf919 100644
--- a/pkgs/development/libraries/seasocks/default.nix
+++ b/pkgs/development/libraries/seasocks/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, python, zlib }:
+{ lib, stdenv, fetchFromGitHub, cmake, python3, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "seasocks";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ zlib python ];
+  buildInputs = [ zlib python3 ];
 
   meta = with lib; {
     homepage = "https://github.com/mattgodbolt/seasocks";
diff --git a/pkgs/development/libraries/sentry-native/default.nix b/pkgs/development/libraries/sentry-native/default.nix
index ba4c8fcd0efd4..1c29b85bebe77 100644
--- a/pkgs/development/libraries/sentry-native/default.nix
+++ b/pkgs/development/libraries/sentry-native/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sentry-native";
-  version = "0.4.13";
+  version = "0.4.15";
 
   src = fetchFromGitHub {
     owner = "getsentry";
     repo = "sentry-native";
     rev = version;
-    sha256 = "sha256-btgv/GwwQhT/DtWhjM/g081UYLT7E76ZhqXZdMiIWsk=";
+    sha256 = "sha256-XHJa4erDxSFiy0u8S9ODQlMNDb1wrz+d1PzWeq5BZLY=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/shapelib/default.nix b/pkgs/development/libraries/shapelib/default.nix
index abb27a132c232..1604578a10c90 100644
--- a/pkgs/development/libraries/shapelib/default.nix
+++ b/pkgs/development/libraries/shapelib/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "shapelib-1.5.0";
+  pname = "shapelib";
+  version = "1.5.0";
 
   src = fetchurl {
-    url = "https://download.osgeo.org/shapelib/${name}.tar.gz";
+    url = "https://download.osgeo.org/shapelib/shapelib-${version}.tar.gz";
     sha256 = "1qfsgb8b3yiqwvr6h9m81g6k9fjhfys70c22p7kzkbick20a9h0z";
   };
 
diff --git a/pkgs/development/libraries/shhmsg/default.nix b/pkgs/development/libraries/shhmsg/default.nix
index 704df3dc5effc..901ee48adeceb 100644
--- a/pkgs/development/libraries/shhmsg/default.nix
+++ b/pkgs/development/libraries/shhmsg/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "shhmsg-1.4.2";
+  pname = "shhmsg";
+  version = "1.4.2";
 
   src = fetchurl {
-    url = "https://shh.thathost.com/pub-unix/files/${name}.tar.gz";
+    url = "https://shh.thathost.com/pub-unix/files/shhmsg-${version}.tar.gz";
     sha256 = "0ax02fzqpaxr7d30l5xbndy1s5vgg1ag643c7zwiw2wj1czrxil8";
   };
 
diff --git a/pkgs/development/libraries/simgear/default.nix b/pkgs/development/libraries/simgear/default.nix
index 3ce41e3193c5f..c24c336c72896 100644
--- a/pkgs/development/libraries/simgear/default.nix
+++ b/pkgs/development/libraries/simgear/default.nix
@@ -4,7 +4,7 @@
 , curl
 }:
 let
-  version = "2020.3.11";
+  version = "2020.3.12";
   shortVersion = builtins.substring 0 6 version;
 in
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/flightgear/release-${shortVersion}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-u438vCo7AUPR/88B0alh5WbvId0z2cx2jW2apYcdTzw=";
+    sha256 = "sha256-W7KZzFU5qZE6tOv9YSzH3yoNi8YET2yzmThMcl23140=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/smarty3/default.nix b/pkgs/development/libraries/smarty3/default.nix
index c3c4f8610c701..3bf22261f2197 100644
--- a/pkgs/development/libraries/smarty3/default.nix
+++ b/pkgs/development/libraries/smarty3/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "smarty3";
-  version = "3.1.39";
+  version = "3.1.44";
 
   src = fetchFromGitHub {
     owner = "smarty-php";
     repo = "smarty";
     rev = "v${version}";
-    sha256 = "0n5hmnw66gxqikp6frgfd9ywsvr2azyg5nl7ix89digqlzcljkbg";
+    sha256 = "sha256-9a9OC18jyFpmFXffYOYHZ0j01j4NCF5zwrSYr1fZwqo=";
   };
 
   installPhase = ''
diff --git a/pkgs/development/libraries/smooth/default.nix b/pkgs/development/libraries/smooth/default.nix
index 8e55c8f4128a7..cc71bca442a0b 100644
--- a/pkgs/development/libraries/smooth/default.nix
+++ b/pkgs/development/libraries/smooth/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "smooth";
-  version = "0.9.8";
+  version = "0.9.9";
 
   src = fetchFromGitHub {
     owner = "enzo1982";
     repo = "smooth";
     rev = "v${version}";
-    sha256 = "sha256-4092Od/wCWe4br80Ry6mr8GpUIUeeF6sk3unELdfQJU=";
+    sha256 = "sha256-30qVXK54SDL2+ZPbTINZix4Ax1iOMg2WLeEDyAr77Og=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/smpeg/default.nix b/pkgs/development/libraries/smpeg/default.nix
index 83b4b2193c030..b671f47bf8cc8 100644
--- a/pkgs/development/libraries/smpeg/default.nix
+++ b/pkgs/development/libraries/smpeg/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchsvn, SDL, autoconf, automake, libtool, gtk2, m4, pkg-config, libGLU, libGL, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "smpeg-svn${version}";
+  pname = "smpeg-svn";
   version = "390";
 
   src = fetchsvn {
diff --git a/pkgs/development/libraries/snack/default.nix b/pkgs/development/libraries/snack/default.nix
index 8c97d0224c662..1c876cf363600 100644
--- a/pkgs/development/libraries/snack/default.nix
+++ b/pkgs/development/libraries/snack/default.nix
@@ -1,6 +1,6 @@
-# alsa-lib vorbis-tools python can be made optional
+# alsa-lib vorbis-tools python2 can be made optional
 
-{ lib, stdenv, fetchurl, python, tcl, tk, vorbis-tools, pkg-config, xlibsWrapper }:
+{ lib, stdenv, fetchurl, python2, tcl, tk, vorbis-tools, pkg-config, xlibsWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "snack";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   postUnpack = ''sourceRoot="$sourceRoot/unix"'';
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ python tcl tk vorbis-tools xlibsWrapper ];
+  buildInputs = [ python2 tcl tk vorbis-tools xlibsWrapper ];
 
   hardeningDisable = [ "format" ];
 
diff --git a/pkgs/development/libraries/soci/default.nix b/pkgs/development/libraries/soci/default.nix
index 5b8f93d7bc7b0..b17fbe16655be 100644
--- a/pkgs/development/libraries/soci/default.nix
+++ b/pkgs/development/libraries/soci/default.nix
@@ -1,5 +1,6 @@
 { cmake
 , fetchFromGitHub
+, fetchpatch
 , sqlite
 , postgresql
 , boost
@@ -17,6 +18,14 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-NE0ApbX8HG2VAQ9cg9+kX3kJQ4PR1XvWL9BlT8NphmE=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "fix-backend-search-path.patch";
+      url = "https://github.com/SOCI/soci/commit/56c93afc467bdba8ffbe68739eea76059ea62f7a.patch";
+      sha256 = "sha256-nC/39pn3Cv5e65GgIfF3l64/AbCsfZHPUPIWETZFZAY=";
+    })
+  ];
+
   # Do not build static libraries
   cmakeFlags = [ "-DSOCI_STATIC=OFF" "-DCMAKE_CXX_STANDARD=11" ];
 
diff --git a/pkgs/development/libraries/sofia-sip/default.nix b/pkgs/development/libraries/sofia-sip/default.nix
index bbee609eb2676..6bb11139502f6 100644
--- a/pkgs/development/libraries/sofia-sip/default.nix
+++ b/pkgs/development/libraries/sofia-sip/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sofia-sip";
-  version = "1.13.6";
+  version = "1.13.7";
 
   src = fetchFromGitHub {
     owner = "freeswitch";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0b1gq499ksgsi16f5nf3dzbj6s8knwkiak5j810jzdfm7vkm0vvm";
+    sha256 = "sha256-gBejwt5YAkCKQh0vzN00J4y1ifcdc4TglA+SqEevaGQ=";
   };
 
   buildInputs = [ glib openssl ] ++ lib.optional stdenv.isDarwin SystemConfiguration;
diff --git a/pkgs/development/libraries/sope/default.nix b/pkgs/development/libraries/sope/default.nix
index 415a2b1e1fbb6..39b2d7fd8fd55 100644
--- a/pkgs/development/libraries/sope/default.nix
+++ b/pkgs/development/libraries/sope/default.nix
@@ -4,13 +4,13 @@ with lib;
 
 gnustep.stdenv.mkDerivation rec {
   pname = "sope";
-  version = "5.4.0";
+  version = "5.5.1";
 
   src = fetchFromGitHub {
     owner = "inverse-inc";
     repo = pname;
     rev = "SOPE-${version}";
-    sha256 = "sha256-jOF429Gaf1Qo3bx9mUogBQ0u/tBUxnX7VZxJjxF24Rg=";
+    sha256 = "sha256-w78YO5EQWtEiySOm9NpPbaMChbJppNBoZNOBs9fibbM=";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/development/libraries/spandsp/default.nix b/pkgs/development/libraries/spandsp/default.nix
index 406603e662254..f2bc63d4f6d67 100644
--- a/pkgs/development/libraries/spandsp/default.nix
+++ b/pkgs/development/libraries/spandsp/default.nix
@@ -29,6 +29,5 @@ stdenv.mkDerivation rec {
     maintainers = with lib.maintainers; [raskin];
     license = lib.licenses.gpl2;
     downloadPage = "http://www.soft-switch.org/downloads/spandsp/";
-    updateWalker = true;
   };
 }
diff --git a/pkgs/development/libraries/sparsehash/default.nix b/pkgs/development/libraries/sparsehash/default.nix
index 41b765bcb07df..35208d021b83a 100644
--- a/pkgs/development/libraries/sparsehash/default.nix
+++ b/pkgs/development/libraries/sparsehash/default.nix
@@ -1,12 +1,13 @@
 { lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  name = "sparsehash-2.0.4";
+  pname = "sparsehash";
+  version = "2.0.4";
 
   src = fetchFromGitHub {
     owner = "sparsehash";
     repo = "sparsehash";
-    rev = name;
+    rev = "sparsehash-${version}";
     sha256 = "1pf1cjvcjdmb9cd6gcazz64x0cd2ndpwh6ql2hqpypjv725xwxy7";
   };
 
diff --git a/pkgs/development/libraries/speechd/default.nix b/pkgs/development/libraries/speechd/default.nix
index 80034a5a9cf08..270894c3e5549 100644
--- a/pkgs/development/libraries/speechd/default.nix
+++ b/pkgs/development/libraries/speechd/default.nix
@@ -1,8 +1,8 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , substituteAll
 , pkg-config
 , fetchurl
-, fetchpatch
 , python3Packages
 , gettext
 , itstool
@@ -18,33 +18,20 @@
 , withAlsa ? false, alsa-lib
 , withOss ? false
 , withFlite ? true, flite
-# , withFestival ? false, festival-freebsoft-utils
 , withEspeak ? true, espeak, sonic, pcaudiolib
+, mbrola
 , withPico ? true, svox
-# , withIvona ? false, libdumbtts
 }:
 
 let
-  inherit (lib) optional optionals;
   inherit (python3Packages) python pyxdg wrapPython;
-
-  # speechd hard-codes espeak, even when built without support for it.
-  selectedDefaultModule =
-    if withEspeak then
-      "espeak-ng"
-    else if withPico then
-      "pico"
-    else if withFlite then
-      "flite"
-    else
-      throw "You need to enable at least one output module.";
 in stdenv.mkDerivation rec {
   pname = "speech-dispatcher";
-  version = "0.10.2";
+  version = "0.11.1";
 
   src = fetchurl {
     url = "https://github.com/brailcom/speechd/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-sGMZ8gHhXlbGKWZTr1vPwwDLNI6XLVF9+LBurHfq4tw=";
+    sha256 = "sha256-0doS7T2shPE3mbai7Dm6LTyiGoST9E3BhVvQupbC3cY=";
   };
 
   patches = [
@@ -52,12 +39,11 @@ in stdenv.mkDerivation rec {
       src = ./fix-paths.patch;
       utillinux = util-linux;
     })
-
-    # Fix build with Glib 2.68
-    # https://github.com/brailcom/speechd/pull/462
-    (fetchpatch {
-      url = "https://github.com/brailcom/speechd/commit/a2faab416e42cbdf3d73f98578a89eb7a235e25a.patch";
-      sha256 = "8Q7tUdKKBBtgXZZnj59OcJOkrCNeBR9gkBjhKlpW0hQ=";
+  ] ++ lib.optionals espeak.mbrolaSupport [
+    # Replace FHS paths.
+    (substituteAll {
+      src = ./fix-mbrola-paths.patch;
+      inherit espeak mbrola;
     })
   ];
 
@@ -79,36 +65,39 @@ in stdenv.mkDerivation rec {
     libpulseaudio
     alsa-lib
     python
-  ] ++ optionals withEspeak [
+  ] ++ lib.optionals withEspeak [
     espeak
     sonic
     pcaudiolib
-  ] ++ optional withFlite flite
-    ++ optional withPico svox
-    # TODO: add flint/festival support with festival-freebsoft-utils package
-    # ++ optional withFestival festival-freebsoft-utils
-    # TODO: add Ivona support with libdumbtts package
-    # ++ optional withIvona libdumbtts
-  ;
+  ] ++ lib.optional withFlite [
+    flite
+  ] ++ lib.optional withPico [
+    svox
+  ];
 
-  pythonPath = [ pyxdg ];
+  pythonPath = [
+    pyxdg
+  ];
 
   configureFlags = [
     # Audio method falls back from left to right.
     "--with-default-audio-method=\"libao,pulse,alsa,oss\""
     "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
-  ] ++ optional withPulse "--with-pulse"
-    ++ optional withAlsa "--with-alsa"
-    ++ optional withLibao "--with-libao"
-    ++ optional withOss "--with-oss"
-    ++ optional withEspeak "--with-espeak-ng"
-    ++ optional withPico "--with-pico"
-    # ++ optional withFestival "--with-flint"
-    # ++ optional withIvona "--with-ivona"
-  ;
+  ] ++ lib.optional withPulse [
+  "--with-pulse"
+  ] ++ lib.optional withAlsa [
+    "--with-alsa"
+  ] ++ lib.optional withLibao [
+    "--with-libao"
+  ] ++ lib.optional withOss [
+    "--with-oss"
+  ] ++ lib.optional withEspeak [
+    "--with-espeak-ng"
+  ] ++ lib.optional withPico [
+    "--with-pico"
+  ];
 
   postPatch = ''
-    substituteInPlace config/speechd.conf --replace "DefaultModule espeak" "DefaultModule ${selectedDefaultModule}"
     substituteInPlace src/modules/pico.c --replace "/usr/share/pico/lang" "${svox}/share/pico/lang"
   '';
 
@@ -122,7 +111,10 @@ in stdenv.mkDerivation rec {
     description = "Common interface to speech synthesis";
     homepage = "https://devel.freebsoft.org/speechd";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ berce ];
+    maintainers = with maintainers; [
+      berce
+      jtojnar
+    ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/speechd/fix-mbrola-paths.patch b/pkgs/development/libraries/speechd/fix-mbrola-paths.patch
new file mode 100644
index 0000000000000..ea16bea9bac59
--- /dev/null
+++ b/pkgs/development/libraries/speechd/fix-mbrola-paths.patch
@@ -0,0 +1,21 @@
+diff --git a/src/modules/espeak.c b/src/modules/espeak.c
+index 94a01197..9bb34475 100644
+--- a/src/modules/espeak.c
++++ b/src/modules/espeak.c
+@@ -898,13 +898,13 @@ static SPDVoice **espeak_list_synthesis_voices()
+ 				path = g_strdup_printf("%s/mbrola/%s", espeak_data, voicename);
+ 				if (access(path, O_RDONLY) != 0) {
+ 					g_free(path);
+-					path = g_strdup_printf("/usr/share/mbrola/%s", voicename);
++					path = g_strdup_printf("@mbrola@/share/mbrola/%s", voicename);
+ 					if (access(path, O_RDONLY) != 0) {
+ 						g_free(path);
+-						path = g_strdup_printf("/usr/share/mbrola/%s/%s", voicename, voicename);
++						path = g_strdup_printf("@mbrola@/share/mbrola/%s/%s", voicename, voicename);
+ 						if (access(path, O_RDONLY) != 0) {
+ 							g_free(path);
+-							path = g_strdup_printf("/usr/share/mbrola/voices/%s", voicename);
++							path = g_strdup_printf("@mbrola@/share/mbrola/voices/%s", voicename);
+ 							if (access(path, O_RDONLY) != 0) {
+ 								g_free(path);
+ 								espeak_mbrola[j] = NULL;
diff --git a/pkgs/development/libraries/speex/default.nix b/pkgs/development/libraries/speex/default.nix
index 9633f435fb8ec..a7d4aa9707423 100644
--- a/pkgs/development/libraries/speex/default.nix
+++ b/pkgs/development/libraries/speex/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, autoreconfHook, pkg-config, fftw, speexdsp }:
 
 stdenv.mkDerivation rec {
-  name = "speex-1.2.0";
+  pname = "speex";
+  version = "1.2.0";
 
   src = fetchurl {
-    url = "http://downloads.us.xiph.org/releases/speex/${name}.tar.gz";
+    url = "http://downloads.us.xiph.org/releases/speex/speex-${version}.tar.gz";
     sha256 = "150047wnllz4r94whb9r73l5qf0z5z3rlhy98bawfbblmkq8mbpa";
   };
 
diff --git a/pkgs/development/libraries/sphinxbase/default.nix b/pkgs/development/libraries/sphinxbase/default.nix
index a7d59cd8bf6f0..43a70c50fed46 100644
--- a/pkgs/development/libraries/sphinxbase/default.nix
+++ b/pkgs/development/libraries/sphinxbase/default.nix
@@ -8,10 +8,11 @@
 }:
 
 stdenv.mkDerivation (rec {
-  name = "sphinxbase-5prealpha";
+  pname = "sphinxbase";
+  version = "5prealpha";
 
   src = fetchurl {
-    url = "mirror://sourceforge/cmusphinx/${name}.tar.gz";
+    url = "mirror://sourceforge/cmusphinx/sphinxbase-${version}.tar.gz";
     sha256 = "0vr4k8pv5a8nvq9yja7kl13b5lh0f9vha8fc8znqnm8bwmcxnazp";
   };
 
diff --git a/pkgs/development/libraries/spice-gtk/default.nix b/pkgs/development/libraries/spice-gtk/default.nix
index 13bfae944e02e..16cf654914d16 100644
--- a/pkgs/development/libraries/spice-gtk/default.nix
+++ b/pkgs/development/libraries/spice-gtk/default.nix
@@ -9,8 +9,10 @@
 , gst_all_1
 , gtk-doc
 , gtk3
+, hwdata
 , json-glib
 , libcacard
+, libcap_ng
 , libdrm
 , libjpeg_turbo
 , libopus
@@ -28,8 +30,8 @@
 , python3
 , spice-protocol
 , usbredir
-, usbutils
 , vala
+, wayland-protocols
 , zlib
 , withPolkit ? true
 }:
@@ -57,19 +59,23 @@
 
 stdenv.mkDerivation rec {
   pname = "spice-gtk";
-  version = "0.37";
+  version = "0.40";
 
   outputs = [ "out" "dev" "devdoc" "man" ];
 
   src = fetchurl {
-    url = "https://www.spice-space.org/download/gtk/${pname}-${version}.tar.bz2";
-    sha256 = "1drvj8y35gnxbnrxsipwi15yh0vs9ixzv4wslz6r3lra8w3bfa0z";
+    url = "https://www.spice-space.org/download/gtk/${pname}-${version}.tar.xz";
+    sha256 = "sha256-I/X/f6gLdWR85zzaXq+LMi80Mtu7f286g5Y0YYrbztM=";
   };
 
   postPatch = ''
     # get rid of absolute path to helper in store so we can use a setuid wrapper
     substituteInPlace src/usb-acl-helper.c \
       --replace 'ACL_HELPER_PATH"/' '"'
+    # don't try to setcap/suid in a nix builder
+    substituteInPlace src/meson.build \
+      --replace "meson.add_install_script('../build-aux/setcap-or-suid'," \
+      "# meson.add_install_script('../build-aux/setcap-or-suid',"
   '';
 
   nativeBuildInputs = [
@@ -98,6 +104,7 @@ stdenv.mkDerivation rec {
     gtk3
     json-glib
     libcacard
+    libcap_ng
     libdrm
     libjpeg_turbo
     libopus
@@ -108,14 +115,15 @@ stdenv.mkDerivation rec {
     pixman
     spice-protocol
     usbredir
+    wayland-protocols
     zlib
-  ] ++ lib.optionals withPolkit [ polkit acl usbutils ] ;
+  ] ++ lib.optionals withPolkit [ polkit acl ] ;
 
   PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "${placeholder "out"}/share/polkit-1/actions";
 
   mesonFlags = [
-    "-Dcelt051=disabled"
-    "-Dpulse=disabled" # is deprecated upstream
+    "-Dusb-acl-helper-dir=${placeholder "out"}/bin"
+    "-Dusb-ids-path=${hwdata}/share/hwdata/usb.ids"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/spice/default.nix b/pkgs/development/libraries/spice/default.nix
index ee0f6be16984b..4f639cf29f74f 100644
--- a/pkgs/development/libraries/spice/default.nix
+++ b/pkgs/development/libraries/spice/default.nix
@@ -46,6 +46,12 @@ stdenv.mkDerivation rec {
   postPatch = ''
     install ${doxygen_sh} doxygen.sh
     patchShebangs build-aux
+
+    # https://gitlab.freedesktop.org/spice/spice-common/-/issues/5
+    substituteInPlace subprojects/spice-common/meson.build \
+      --replace \
+      "cmd = run_command(python, '-m', module)" \
+      "cmd = run_command(python, '-c', 'import @0@'.format(module))"
   '';
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/spirv-headers/default.nix b/pkgs/development/libraries/spirv-headers/default.nix
index 9a25acd3f9ea0..d9516538163bb 100644
--- a/pkgs/development/libraries/spirv-headers/default.nix
+++ b/pkgs/development/libraries/spirv-headers/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "spirv-headers";
-  version = "unstable-2021-08-11";
+  version = "1.2.198.0";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "SPIRV-Headers";
-    rev = "e71feddb3f17c5586ff7f4cfb5ed1258b800574b";
-    sha256 = "sha256-9m0EBcgdya+KCNJHC3x+YV2sXoSNToTcgDkpeKzId6U=";
+    rev = "sdk-${version}";
+    sha256 = "sha256-cdEiRSCoX0New8ecUh7UTDz/is2v29zhf6Il2N1j3mw=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/sqlcipher/default.nix b/pkgs/development/libraries/sqlcipher/default.nix
index e6965abf8984a..3533472156631 100644
--- a/pkgs/development/libraries/sqlcipher/default.nix
+++ b/pkgs/development/libraries/sqlcipher/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, lib, fetchFromGitHub, openssl, tcl, installShellFiles, buildPackages, readline, ncurses, zlib }:
+{ stdenv, lib, fetchFromGitHub, openssl, tcl, installShellFiles, buildPackages, readline, ncurses, zlib, sqlite }:
 
 stdenv.mkDerivation rec {
   pname = "sqlcipher";
-  version = "4.4.3";
+  version = "4.5.0";
 
   src = fetchFromGitHub {
     owner = "sqlcipher";
     repo = "sqlcipher";
     rev = "v${version}";
-    sha256 = "sha256-E23PTNnVZbBQtHL0YjUwHNVUA76XS8rlARBOVvX6zZw=";
+    sha256 = "sha256-MFuFyKvOOrDrq9cDPQlNK6/YHSkaRX4qbw/44m5CRh4=";
   };
 
   nativeBuildInputs = [ installShellFiles tcl ];
@@ -21,9 +21,8 @@ stdenv.mkDerivation rec {
   ];
 
   CFLAGS = [
-    "-DSQLITE_ENABLE_COLUMN_METADATA=1"
-    "-DSQLITE_SECURE_DELETE=1"
-    "-DSQLITE_ENABLE_UNLOCK_NOTIFY=1"
+    # We want feature parity with sqlite
+    sqlite.NIX_CFLAGS_COMPILE
     "-DSQLITE_HAS_CODEC"
   ];
 
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index de433ba5008da..6704d894f5a2a 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -11,12 +11,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "sqlite";
-  version = "3.37.0";
+  version = "3.37.2";
 
+  # nixpkgs-update: no auto update
   # NB! Make sure to update ./tools.nix src (in the same directory).
   src = fetchurl {
-    url = "https://sqlite.org/2021/sqlite-autoconf-${archiveVersion version}.tar.gz";
-    sha256 = "sha256-cxpGUdTUs2/H0h21hrLeTdAK8x/VT7WppLf0kgV0efc=";
+    url = "https://sqlite.org/2022/sqlite-autoconf-${archiveVersion version}.tar.gz";
+    sha256 = "sha256-QImo2bRnU3s/JG8he4TNduALHRqXH+WsoeMOIw5Gstg=";
   };
 
   outputs = [ "bin" "dev" "out" ];
diff --git a/pkgs/development/libraries/sqlite/tools.nix b/pkgs/development/libraries/sqlite/tools.nix
index 7309e1de0b687..d8d3735fe3d85 100644
--- a/pkgs/development/libraries/sqlite/tools.nix
+++ b/pkgs/development/libraries/sqlite/tools.nix
@@ -4,11 +4,12 @@ let
   archiveVersion = import ./archive-version.nix lib;
   mkTool = { pname, makeTarget, description, homepage }: stdenv.mkDerivation rec {
     inherit pname;
-    version = "3.37.0";
+    version = "3.37.2";
 
+    # nixpkgs-update: no auto update
     src = assert version == sqlite.version; fetchurl {
-      url = "https://sqlite.org/2021/sqlite-src-${archiveVersion version}.zip";
-      sha256 = "sha256-cJd/s5Qhh9RidBOv3pqUkvoCuVSFCBK1OXS2ox7Oj68=";
+      url = "https://sqlite.org/2022/sqlite-src-${archiveVersion version}.zip";
+      sha256 = "sha256-SGdwtNX4i1uw26VA3W7hdjBn11Od/uGKfGb+m7A9Ftk=";
     };
 
     nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/libraries/srt/default.nix b/pkgs/development/libraries/srt/default.nix
index 49c7612310156..c74780148a1b3 100644
--- a/pkgs/development/libraries/srt/default.nix
+++ b/pkgs/development/libraries/srt/default.nix
@@ -4,13 +4,13 @@
 with lib;
 stdenv.mkDerivation rec {
   pname = "srt";
-  version = "1.4.3";
+  version = "1.4.4";
 
   src = fetchFromGitHub {
     owner = "Haivision";
     repo = "srt";
     rev = "v${version}";
-    sha256 = "1f60vlfxhh9bhafws82c3301whjlz5gy92jz9a9ymwfg5h53bv1j";
+    sha256 = "sha256-OfcMHH+MSOGY9pxpXt19EIGdP4FJFssSv/lENX+iIf8=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/stfl/default.nix b/pkgs/development/libraries/stfl/default.nix
index 48c5edd13bf30..1ed1a05004b68 100644
--- a/pkgs/development/libraries/stfl/default.nix
+++ b/pkgs/development/libraries/stfl/default.nix
@@ -11,13 +11,11 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ ncurses libiconv ];
 
-  buildPhase = ''
+  preBuild = ''
     sed -i s/gcc/cc/g Makefile
     sed -i s%ncursesw/ncurses.h%ncurses.h% stfl_internals.h
-  '' + (lib.optionalString stdenv.isDarwin ''
+  '' + lib.optionalString stdenv.isDarwin ''
     sed -i s/-soname/-install_name/ Makefile
-  '') + ''
-    make
   '';
 
   installPhase = ''
diff --git a/pkgs/development/libraries/swiften/build-fix.patch b/pkgs/development/libraries/swiften/build-fix.patch
index 01814cadfbd47..d0ce099973c22 100644
--- a/pkgs/development/libraries/swiften/build-fix.patch
+++ b/pkgs/development/libraries/swiften/build-fix.patch
@@ -30,3 +30,13 @@ diff -wbBur swift-4.0.2/Swiften/Network/PlatformNATTraversalWorker.cpp swift-4.0
      if (natPMPSupported) {
          return natPMPInterface;
      }
+--- a/Swift/Controllers/ShowProfileController.h
++++ b/Swift/Controllers/ShowProfileController.h
+@@ -12,6 +12,7 @@
+ 
+ #pragma once
+ 
++#include <map>
+ #include <Swiften/Elements/ErrorPayload.h>
+ #include <Swiften/Elements/VCard.h>
+ #include <Swiften/JID/JID.h>
diff --git a/pkgs/development/libraries/swiften/default.nix b/pkgs/development/libraries/swiften/default.nix
index 980d034682f57..ef30c5916eab9 100644
--- a/pkgs/development/libraries/swiften/default.nix
+++ b/pkgs/development/libraries/swiften/default.nix
@@ -1,18 +1,57 @@
-{ lib, stdenv, python, fetchurl, openssl, boost, sconsPackages }:
+{ stdenv
+, lib
+, python2
+, libidn
+, lua
+, miniupnpc
+, expat
+, zlib
+, fetchurl
+, fetchpatch
+, openssl
+, boost
+, sconsPackages
+}:
+
 stdenv.mkDerivation rec {
   pname = "swiften";
   version = "4.0.2";
 
-  nativeBuildInputs = [ sconsPackages.scons_3_1_2 ];
-  buildInputs           = [ python ];
-  propagatedBuildInputs = [ openssl boost ];
-
   src = fetchurl {
-    url    = "https://swift.im/downloads/releases/swift-${version}/swift-${version}.tar.gz";
+    url = "https://swift.im/downloads/releases/swift-${version}/swift-${version}.tar.gz";
     sha256 = "0w0aiszjd58ynxpacwcgf052zpmbpcym4dhci64vbfgch6wryz0w";
   };
 
-  patches = [ ./scons.patch ./build-fix.patch ];
+  patches = [
+    ./scons.patch
+    ./build-fix.patch
+
+    # Fix build with latest boost
+    # https://swift.im/git/swift/commit/Swiften/Base/Platform.h?id=3666cbbe30e4d4e25401a5902ae359bc2c24248b
+    (fetchpatch {
+      name = "3666cbbe30e4d4e25401a5902ae359bc2c24248b.patch";
+      url = "https://swift.im/git/swift/patch/Swiften/Base/Platform.h?id=3666cbbe30e4d4e25401a5902ae359bc2c24248b";
+      sha256 = "Wh8Nnfm0/EppSJ7aH2vTNObHtodE5tM19kV1oDfm70w=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    sconsPackages.scons_3_1_2
+  ];
+
+  buildInputs = [
+    python2
+    libidn
+    lua
+    miniupnpc
+    expat
+    zlib
+  ];
+
+  propagatedBuildInputs = [
+    openssl
+    boost
+  ];
 
   sconsFlags = [
     "openssl=${openssl.dev}"
@@ -24,18 +63,25 @@ stdenv.mkDerivation rec {
     "debug=0"
     "swiften_dll=1"
   ];
-  preInstall = ''
-    installTargets="$out"
-    installFlags+=" SWIFTEN_INSTALLDIR=$out"
+
+  postPatch = ''
+    # Ensure bundled dependencies cannot be used.
+    rm -rf 3rdParty
   '';
 
+  installTargets = "${placeholder "out"}";
+
+  installFlags = [
+    "SWIFTEN_INSTALLDIR=${placeholder "out"}"
+  ];
+
   enableParallelBuilding = true;
 
   meta = with lib; {
     description = "An XMPP library for C++, used by the Swift client";
-    homepage    = "http://swift.im/swiften.html";
-    license     = licenses.gpl2Plus;
-    platforms   = platforms.linux;
+    homepage = "http://swift.im/swiften.html";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
     maintainers = [ maintainers.twey ];
   };
 }
diff --git a/pkgs/development/libraries/tbb/default.nix b/pkgs/development/libraries/tbb/default.nix
index 7aef5ba747687..7913f05354d4a 100644
--- a/pkgs/development/libraries/tbb/default.nix
+++ b/pkgs/development/libraries/tbb/default.nix
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
 
   postInstall = let
     pcTemplate = fetchurl {
-      url = "https://github.com/oneapi-src/oneTBB/raw/master/integration/pkg-config/tbb.pc.in";
+      url = "https://github.com/oneapi-src/oneTBB/raw/478de5b1887c928e52f029d706af6ea640a877be/integration/pkg-config/tbb.pc.in";
       sha256 = "2pCad9txSpNbzac0vp/VY3x7HNySaYkbH3Rx8LK53pI=";
     };
   in ''
diff --git a/pkgs/development/libraries/tdb/default.nix b/pkgs/development/libraries/tdb/default.nix
index febf1b97eb685..f040022cc91b8 100644
--- a/pkgs/development/libraries/tdb/default.nix
+++ b/pkgs/development/libraries/tdb/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tdb";
-  version = "1.4.5";
+  version = "1.4.6";
 
   src = fetchurl {
     url = "mirror://samba/tdb/${pname}-${version}.tar.gz";
-    sha256 = "sha256-vPztiE9wMQgJmLXEscXc5XVnBV95QX+G26QNzemaDkE=";
+    sha256 = "sha256-1okr2L7+BKd2QqHdVuSoeTSb8c9bLAv1+4QQYZON7ws=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/tdlib/default.nix b/pkgs/development/libraries/tdlib/default.nix
index 79895a63a34c6..4dedc13db2a85 100644
--- a/pkgs/development/libraries/tdlib/default.nix
+++ b/pkgs/development/libraries/tdlib/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "tdlib";
-  version = "1.8.0";
+  version = "1.8.1";
 
   src = fetchFromGitHub {
     owner = "tdlib";
     repo = "td";
     # https://github.com/tdlib/td/issues/1790
-    rev = "b3ab664a18f8611f4dfcd3054717504271eeaa7a";
-    sha256 = "OBgzFBi+lIBbKnHDm5D/F3Xi4s1x4geb+1OoBP3F+qY=";
+    rev = "92c2a9c4e521df720abeaa9872e1c2b797d5c93f";
+    sha256 = "ZoKsgdkS78mptfbxkkV4pgcgJEaWwKZWK2cvmxgJN4E=";
   };
 
   buildInputs = [ gperf openssl readline zlib ];
diff --git a/pkgs/development/libraries/thrift/0.10.nix b/pkgs/development/libraries/thrift/0.10.nix
index 001de25e99638..3cfe56e3f7a95 100644
--- a/pkgs/development/libraries/thrift/0.10.nix
+++ b/pkgs/development/libraries/thrift/0.10.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Library for scalable cross-language services";
-    homepage = "http://thrift.apache.org/";
+    homepage = "https://thrift.apache.org/";
     license = licenses.asl20;
     platforms = platforms.linux ++ platforms.darwin;
     maintainers = [ maintainers.bjornfor ];
diff --git a/pkgs/development/libraries/thrift/default.nix b/pkgs/development/libraries/thrift/default.nix
index dbd21949ecfe7..c5795df55c01a 100644
--- a/pkgs/development/libraries/thrift/default.nix
+++ b/pkgs/development/libraries/thrift/default.nix
@@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Library for scalable cross-language services";
-    homepage = "http://thrift.apache.org/";
+    homepage = "https://thrift.apache.org/";
     license = licenses.asl20;
     platforms = platforms.linux ++ platforms.darwin;
     maintainers = [ maintainers.bjornfor ];
diff --git a/pkgs/development/libraries/tiledb/default.nix b/pkgs/development/libraries/tiledb/default.nix
index 6bc0d3ef75342..19ebadd895f1f 100644
--- a/pkgs/development/libraries/tiledb/default.nix
+++ b/pkgs/development/libraries/tiledb/default.nix
@@ -13,7 +13,7 @@
 , libpqxx
 , clang-tools
 , catch2
-, python
+, python3
 , gtest
 , doxygen
 , fixDarwinDylibNames
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     clang-tools
     cmake
-    python
+    python3
     doxygen
   ] ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
 
diff --git a/pkgs/development/libraries/tl-expected/default.nix b/pkgs/development/libraries/tl-expected/default.nix
index 4915fd7e700d3..c7cb92440ee8e 100644
--- a/pkgs/development/libraries/tl-expected/default.nix
+++ b/pkgs/development/libraries/tl-expected/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
     homepage = "https://tl.tartanllama.xyz/en/latest/api/expected.html";
     license = licenses.cc0;
     platforms = platforms.all;
-    maintainers = with maintainers; [ primeos ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/libraries/tracker-miners/default.nix b/pkgs/development/libraries/tracker-miners/default.nix
index e3c74bd2fe45b..10307c35f0c5e 100644
--- a/pkgs/development/libraries/tracker-miners/default.nix
+++ b/pkgs/development/libraries/tracker-miners/default.nix
@@ -127,7 +127,6 @@ stdenv.mkDerivation rec {
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
-      versionPolicy = "none";
     };
   };
 
diff --git a/pkgs/development/libraries/tracker/default.nix b/pkgs/development/libraries/tracker/default.nix
index 7dbe0d410f754..68a29919f0aad 100644
--- a/pkgs/development/libraries/tracker/default.nix
+++ b/pkgs/development/libraries/tracker/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , lib
 , fetchurl
+, fetchpatch
 , gettext
 , meson
 , ninja
@@ -44,6 +45,13 @@ stdenv.mkDerivation rec {
       src = ./fix-paths.patch;
       inherit asciidoc;
     })
+
+    # Filter out hidden (wrapped) subcommands
+    # https://gitlab.gnome.org/GNOME/tracker/-/merge_requests/481
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/tracker/-/commit/8c28c24e447f13da8cf804cd7a00f9b909c5d3f9.patch";
+      sha256 = "EYo1nOtEr4semaPC5wk6A7bliRXu8qsBHaltd0DEI6Y=";
+    })
   ];
 
   nativeBuildInputs = [
@@ -61,7 +69,8 @@ stdenv.mkDerivation rec {
     python3 # for data-generators
     systemd # used for checks to install systemd user service
     dbus # used for checks and pkg-config to install dbus service/s
-  ];
+  ] ++ checkInputs; # gi is in the main meson.build and checked regardless of
+                    # whether tests are enabled
 
   buildInputs = [
     glib
@@ -77,7 +86,6 @@ stdenv.mkDerivation rec {
 
   checkInputs = with python3.pkgs; [
     pygobject3
-    tappy
   ];
 
   mesonFlags = [
@@ -124,7 +132,6 @@ stdenv.mkDerivation rec {
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
-      versionPolicy = "none";
     };
   };
 
diff --git a/pkgs/development/libraries/ucx/default.nix b/pkgs/development/libraries/ucx/default.nix
index 06c0ada16feb0..76118edfcb3b1 100644
--- a/pkgs/development/libraries/ucx/default.nix
+++ b/pkgs/development/libraries/ucx/default.nix
@@ -13,13 +13,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "ucx";
-  version = "1.11.2";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = "openucx";
     repo = "ucx";
     rev = "v${version}";
-    sha256 = "0a4rbgr3hn3h42krb7lasfidhqcavacbpp1pv66l4lvfc0gkwi2i";
+    sha256 = "0jwza9ivfnhkfwg4c58pxalkga5scz803k631xw4hcliy62gk53w";
   };
 
   nativeBuildInputs = [ autoreconfHook doxygen ];
diff --git a/pkgs/development/libraries/umockdev/default.nix b/pkgs/development/libraries/umockdev/default.nix
index 25773027941d0..b00177960d3bc 100644
--- a/pkgs/development/libraries/umockdev/default.nix
+++ b/pkgs/development/libraries/umockdev/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "umockdev";
-  version = "0.17.1";
+  version = "0.17.6";
 
   outputs = [ "bin" "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "https://github.com/martinpitt/umockdev/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-lq8lVQlSZpFGDL7nGV8pPe+AClK8PjzWoPmhfWvHpJs=";
+    sha256 = "sha256-X60zN3orHU8lOfRVCfbHTdrleKxB7ILCIGvXSZLdoSk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/unicorn/default.nix b/pkgs/development/libraries/unicorn/default.nix
index ce1f91eee8671..30ceba76163eb 100644
--- a/pkgs/development/libraries/unicorn/default.nix
+++ b/pkgs/development/libraries/unicorn/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Lightweight multi-platform CPU emulator library";
-    homepage = "http://www.unicorn-engine.org";
+    homepage = "https://www.unicorn-engine.org";
     license = licenses.gpl2Only;
     platforms = platforms.unix;
     maintainers = with maintainers; [ thoughtpolice luc65r ];
diff --git a/pkgs/development/libraries/uriparser/default.nix b/pkgs/development/libraries/uriparser/default.nix
index db36e31ae8744..28eea0525176d 100644
--- a/pkgs/development/libraries/uriparser/default.nix
+++ b/pkgs/development/libraries/uriparser/default.nix
@@ -2,22 +2,22 @@
 
 stdenv.mkDerivation rec {
   pname = "uriparser";
-  version = "0.9.5";
+  version = "0.9.6";
 
   # Release tarball differs from source tarball
   src = fetchurl {
     url = "https://github.com/uriparser/uriparser/releases/download/${pname}-${version}/${pname}-${version}.tar.bz2";
-    sha256 = "0v30qr5hl3xybl9nzwaw46kblwn94w5xpri22wanrrpjlzmn306x";
+    sha256 = "9ce4c3f151e78579f23937b44abecb428126863ad02e594e115e882353de905b";
   };
 
   nativeBuildInputs = [ cmake ];
 
   cmakeFlags = [
     "-DURIPARSER_BUILD_DOCS=OFF"
-  ];
+  ] ++ lib.optional (!doCheck) "-DURIPARSER_BUILD_TESTS=OFF";
 
   checkInputs = [ gtest ];
-  doCheck = stdenv.targetPlatform.system == stdenv.hostPlatform.system;
+  doCheck = stdenv.buildPlatform == stdenv.hostPlatform;
 
   meta = with lib; {
     homepage = "https://uriparser.github.io/";
diff --git a/pkgs/development/libraries/v8/5_x.nix b/pkgs/development/libraries/v8/5_x.nix
deleted file mode 100644
index 441a5559b527d..0000000000000
--- a/pkgs/development/libraries/v8/5_x.nix
+++ /dev/null
@@ -1,199 +0,0 @@
-{ stdenv, lib, fetchgit, fetchFromGitHub, gyp, readline, python, which, icu
-, patchelf, coreutils, xcbuild
-, doCheck ? false
-, static ? false
-}:
-
-assert readline != null;
-
-let
-  arch = if stdenv.isx86_64 then "x64"
-            else if stdenv.isi686 then "ia32"
-            else if stdenv.isAarch64 then "arm64"
-            else if stdenv.isAarch32 then "arm"
-            else throw "Unknown architecture for v8";
-  git_url = "https://chromium.googlesource.com";
-  clangFlag = if stdenv.isDarwin then "1" else "0";
-  sharedFlag = if static then "static_library" else "shared_library";
-
-  deps = {
-    build = fetchgit {
-      url = "${git_url}/chromium/src/build.git";
-      rev = "2c67d4d74b6b3673228fab191918500a582ef3b0";
-      sha256 = "0jc7hci5yh792pw0ahjfxrk5xzllnlrv9llmwlgcgn2x8x6bn34q";
-    };
-    "tools/gyp" = fetchgit {
-      url = "${git_url}/external/gyp.git";
-      rev = "e7079f0e0e14108ab0dba58728ff219637458563";
-      sha256 = "0yd1ds13z0r9d2sb67f9i1gjn1zgzwyfv96qqqp6pn5pcfbialg6";
-    };
-    "third_party/icu" = fetchgit {
-      url = "${git_url}/chromium/deps/icu.git";
-      rev = "b5ecbb29a26532f72ef482569b223d5a51fd50bf";
-      sha256 = "0ld47wdnk8grcba221z67l3pnphv9zwifk4y44f5b946w3iwmpns";
-    };
-    buildtools = fetchgit {
-      url = "${git_url}/chromium/buildtools.git";
-      rev = "60f7f9a8b421ebf9a46041dfa2ff11c0fe59c582";
-      sha256 = "0i10bw7yhslklqwcx5krs3k05sicb73cpwd0mkaz96yxsvmkvjq0";
-    };
-    "base/trace_event/common" = fetchgit {
-      url = "${git_url}/chromium/src/base/trace_event/common.git";
-      rev = "315bf1e2d45be7d53346c31cfcc37424a32c30c8";
-      sha256 = "1pp2ygvp20j6g4868hrmiw0j704kdvsi9d9wx2gbk7w79rc36695";
-    };
-    "platform/inspector_protocol" = fetchgit {
-      url = "${git_url}/chromium/src/third_party/WebKit/Source/platform/inspector_protocol.git";
-      rev = "f49542089820a34a9a6e33264e09b73779407512";
-      sha256 = "1lwpass3p4rpp2kjmxxxpkqyv4lznxhf4i0yy7mmrd7jkpc7kn8k";
-    };
-    "tools/mb" = fetchgit {
-      url = "${git_url}/chromium/src/tools/mb.git";
-      rev = "0c4dc43c454f26936ddf3074ab8e9a41e3dc03a3";
-      sha256 = "0f96qphbmwn1pprv0a6xf68p01s1jzx2sz6pmadqbrs1dgh1xwnk";
-    };
-    "tools/swarming_client" = fetchgit {
-      url = "${git_url}/external/swarming.client.git";
-      rev = "7f63a272f7d9785ce41b6d10bb3106c49a968e57";
-      sha256 = "1pmb8bq4qifjf2dzz8c4jdwhlvwgrl9ycjaalcyh1sbh4lx3yvv2";
-    };
-    "testing/gtest" = fetchgit {
-      url = "${git_url}/external/github.com/google/googletest.git";
-      rev = "6f8a66431cb592dad629028a50b3dd418a408c87";
-      sha256 = "0bdba2lr6pg15bla9600zg0r0vm4lnrx0wqz84p376wfdxra24vw";
-    };
-    "testing/gmock" = fetchgit {
-      url = "${git_url}/external/googlemock.git";
-      rev = "0421b6f358139f02e102c9c332ce19a33faf75be";
-      sha256 = "1xiky4v98maxs8fg1avcd56y0alv3hw8qyrlpd899zgzbq2k10pp";
-    };
-    "test/benchmarks/data" = fetchgit {
-      url = "${git_url}/v8/deps/third_party/benchmarks.git";
-      rev = "05d7188267b4560491ff9155c5ee13e207ecd65f";
-      sha256 = "0ad2ay14bn67d61ks4dmzadfnhkj9bw28r4yjdjjyzck7qbnzchl";
-    };
-    "test/mozilla/data" = fetchgit {
-      url = "${git_url}/v8/deps/third_party/mozilla-tests.git";
-      rev = "f6c578a10ea707b1a8ab0b88943fe5115ce2b9be";
-      sha256 = "0rfdan76yfawqxbwwb35aa57b723j3z9fx5a2w16nls02yk2kqyn";
-    };
-    "test/simdjs/data" = fetchgit {
-      url = "${git_url}/external/github.com/tc39/ecmascript_simd.git";
-      rev = "baf493985cb9ea7cdbd0d68704860a8156de9556";
-      sha256 = "178r0k40a58c1187gfzqz2i6as34l8cliy1g1x870wyy0qcvlq2q";
-    };
-    "test/test262/data" = fetchgit {
-      url = "${git_url}/external/github.com/tc39/test262.git";
-      rev = "88bc7fe7586f161201c5f14f55c9c489f82b1b67";
-      sha256 = "0gc7fmaqrgwb6rl02jnrm3synpwzzg0dfqy3zm386r1qcisl93xs";
-    };
-    "test/test262/harness" = fetchgit {
-      url = "${git_url}/external/github.com/test262-utils/test262-harness-py.git";
-      rev = "cbd968f54f7a95c6556d53ba852292a4c49d11d8";
-      sha256 = "094c3600a4wh1m3fvvlivn290kik1pzzvwabq77lk8bh4jkkv7ki";
-    };
-    "tools/clang" = fetchgit {
-      url = "${git_url}/chromium/src/tools/clang.git";
-      rev = "496622ab4aaa5be7e5a9b80617013cb02f45dc87";
-      sha256 = "1gkhk2bzpxwzkirzcqfixxpprbr8mn6rk00krm25daarm3smydmf";
-    };
-  };
-
-in
-
-stdenv.mkDerivation rec {
-  pname = "v8";
-  version = "5.4.232";
-
-  inherit doCheck;
-
-  src = fetchFromGitHub {
-    owner = "v8";
-    repo = "v8";
-    rev = version;
-    sha256 = "1nqxbkz75m8xrjih0sj3f3iqvif4192vxdaxzy8r787rihjwg9nx";
-  };
-
-  postUnpack = ''
-    ${lib.concatStringsSep "\n" (
-      lib.mapAttrsToList (n: v: ''
-        mkdir -p $sourceRoot/${n}
-        cp -r ${v}/* $sourceRoot/${n}
-      '') deps)}
-  '';
-
-  # Patch based off of:
-  # https://github.com/cowboyd/libv8/tree/v5.1.281.67.0/patches
-  patches = lib.optional (!doCheck) ./libv8-5.4.232.patch;
-
-  postPatch = ''
-    sed -i 's,#!/usr/bin/env python,#!${python}/bin/python,' gypfiles/gyp_v8
-    sed -i 's,/bin/echo,${coreutils}/bin/echo,' gypfiles/standalone.gypi
-    sed -i '/CR_CLANG_REVISION/ d' gypfiles/standalone.gypi
-    sed -i 's/-Wno-format-pedantic//g' gypfiles/standalone.gypi
-  '';
-
-  configurePhase = ''
-    PYTHONPATH="tools/generate_shim_headers:$PYTHONPATH" \
-    PYTHONPATH="$(toPythonPath ${gyp}):$PYTHONPATH" \
-      gypfiles/gyp_v8 \
-        -f make \
-        --generator-output="out" \
-        -Dflock_index=0 \
-        -Dclang=${clangFlag} \
-        -Dv8_enable_i18n_support=1 \
-        -Duse_system_icu=1 \
-        -Dcomponent=${sharedFlag} \
-        -Dconsole=readline \
-        -Dv8_target_arch=${arch} \
-        -Dv8_use_external_startup_data=0
-  '';
-
-  nativeBuildInputs = [ which ];
-  buildInputs = [ readline python icu ]
-    ++ lib.optional stdenv.isDarwin xcbuild
-    ++ lib.optional stdenv.isLinux patchelf;
-
-  NIX_CFLAGS_COMPILE = "-Wno-error=strict-overflow -Wno-error=unused-function -Wno-error=attributes"
-    + lib.optionalString stdenv.cc.isClang " -Wno-error=unused-lambda-capture";
-
-  buildFlags = [
-    "LINK=c++"
-    "-C out"
-    "builddir=$(CURDIR)/Release"
-    "BUILDTYPE=Release"
-  ];
-
-  enableParallelBuilding = true;
-
-  dontUpdateAutotoolsGnuConfigScripts = if stdenv.isAarch64 then true else null;
-
-  # the `libv8_libplatform` target is _only_ built as a static library,
-  # and is expected to be statically linked in when needed.
-  # see the following link for further commentary:
-  # https://github.com/cowboyd/therubyracer/issues/391
-  installPhase = ''
-    install -vD out/Release/d8 "$out/bin/d8"
-    install -vD out/Release/mksnapshot "$out/bin/mksnapshot"
-    ${if static then ""
-    else if stdenv.isDarwin then ''
-    install -vD out/Release/libv8.dylib "$out/lib/libv8.dylib"
-    install_name_tool -change /usr/local/lib/libv8.dylib $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.cc.cc.lib}/lib/libgcc_s.1.dylib $out/bin/d8
-    install_name_tool -id $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.cc.cc.lib}/lib/libgcc_s.1.dylib $out/lib/libv8.dylib
-    '' else ''
-    install -vD out/Release/lib.target/libv8.so "$out/lib/libv8.so"
-    ''}
-    mkdir -p "$out/include"
-    cp -vr include/*.h "$out/include"
-    cp -vr include/libplatform "$out/include"
-    mkdir -p "$out/lib"
-    cp -v  out/Release/*.a "$out/lib"
-  '';
-
-  meta = with lib; {
-    description = "Google's open source JavaScript engine";
-    maintainers = with maintainers; [ cstrahan proglodyte ];
-    platforms = platforms.linux ++ platforms.darwin;
-    license = licenses.bsd3;
-  };
-}
diff --git a/pkgs/development/libraries/v8/8_x.nix b/pkgs/development/libraries/v8/8_x.nix
new file mode 100644
index 0000000000000..5d95a0716eff3
--- /dev/null
+++ b/pkgs/development/libraries/v8/8_x.nix
@@ -0,0 +1,169 @@
+{ stdenv, lib, fetchgit, fetchFromGitHub
+, gn, ninja, python3, glib, pkg-config, icu
+, xcbuild, darwin
+, fetchpatch
+}:
+
+# Use update.sh to update all checksums.
+
+let
+  version = "8.8.278.14";
+  v8Src = fetchgit {
+    url = "https://chromium.googlesource.com/v8/v8";
+    rev = version;
+    sha256 = "0w6zldyas9w6p394876ssn3pnr5rjzjy1a5dcsmdkfj51m4rlg8m";
+  };
+
+  git_url = "https://chromium.googlesource.com";
+
+  # This data is from the DEPS file in the root of a V8 checkout.
+  deps = {
+    "base/trace_event/common" = fetchgit {
+      url    = "${git_url}/chromium/src/base/trace_event/common.git";
+      rev    = "eb94f1c7aa96207f469008f29989a43feb2718f8";
+      sha256 = "14gym38ncc9cysknv3jrql7jvcpjxf2d1dh4m8jgqb967jyzy5cj";
+    };
+    "build" = fetchgit {
+      url    = "${git_url}/chromium/src/build.git";
+      rev    = "2101eff1ac4bfd25f2dfa71ad632a600a38c1ed9";
+      sha256 = "0i3xcwzi4pkv4xpgjkbmcpj5h6mji80zqskkx0jx3sx0ji63fylz";
+    };
+    "third_party/googletest/src" = fetchgit {
+      url    = "${git_url}/external/github.com/google/googletest.git";
+      rev    = "4fe018038f87675c083d0cfb6a6b57c274fb1753";
+      sha256 = "1ilm9dmnm2v4y6l1wyfsajsbqv56j29ldfbpd0ykg4q90gpxz201";
+    };
+    "third_party/icu" = fetchgit {
+      url    = "${git_url}/chromium/deps/icu.git";
+      rev    = "c2a4cae149aae7fd30c4cbe3cf1b30df03b386f1";
+      sha256 = "0lgzxf7hmfsgqazs74v5li9ifg8r0jx5m3gxh1mnw33vpwp7qqf4";
+    };
+    "third_party/zlib" = fetchgit {
+      url    = "${git_url}/chromium/src/third_party/zlib.git";
+      rev    = "e84c9a3fd75fdc39055b7ae27d6ec508e50bd39e";
+      sha256 = "03z30djnb3srhd0nvlxvx58sjqm2bvxk7j3vp4fk6h7a0sa2bdpi";
+    };
+    "third_party/jinja2" = fetchgit {
+      url    = "${git_url}/chromium/src/third_party/jinja2.git";
+      rev    = "a82a4944a7f2496639f34a89c9923be5908b80aa";
+      sha256 = "02mkjwkrzhrg16zx97z792l0faz7gc8vga8w10r5y94p98jymnyz";
+    };
+    "third_party/markupsafe" = fetchgit {
+      url    = "${git_url}/chromium/src/third_party/markupsafe.git";
+      rev    = "0944e71f4b2cb9a871bcbe353f95e889b64a611a";
+      sha256 = "052ij8i7nkqchbvzv6ykj929hvfxjbzq7az2l01r0l2gfazhvdb9";
+    };
+  };
+
+  # See `gn_version` in DEPS.
+  gnSrc = fetchgit {
+    url = "https://gn.googlesource.com/gn";
+    rev = "53d92014bf94c3893886470a1c7c1289f8818db0";
+    sha256 = "1xcm07qjk6m2czi150fiqqxql067i832adck6zxrishm70c9jbr9";
+  };
+
+  myGn = gn.overrideAttrs (oldAttrs: {
+    version = "for-v8";
+    src = gnSrc;
+  });
+
+in
+
+stdenv.mkDerivation rec {
+  pname = "v8";
+  inherit version;
+
+  doCheck = true;
+
+  patches = [
+    ./darwin.patch
+  ];
+
+  src = v8Src;
+
+  postUnpack = ''
+    ${lib.concatStringsSep "\n" (
+      lib.mapAttrsToList (n: v: ''
+        mkdir -p $sourceRoot/${n}
+        cp -r ${v}/* $sourceRoot/${n}
+      '') deps)}
+    chmod u+w -R .
+  '';
+
+  postPatch = ''
+    ${lib.optionalString stdenv.isAarch64 ''
+      substituteInPlace build/toolchain/linux/BUILD.gn \
+        --replace 'toolprefix = "aarch64-linux-gnu-"' 'toolprefix = ""'
+    ''}
+    ${lib.optionalString stdenv.isDarwin ''
+      substituteInPlace build/config/compiler/compiler.gni \
+        --replace 'strip_absolute_paths_from_debug_symbols = true' \
+                  'strip_absolute_paths_from_debug_symbols = false'
+      substituteInPlace build/config/compiler/BUILD.gn \
+        --replace 'current_toolchain == host_toolchain || !use_xcode_clang' \
+                  'false'
+    ''}
+    echo 'checkout_google_benchmark = false' > build/config/gclient_args.gni
+  '';
+
+  gnFlags = [
+    "use_custom_libcxx=false"
+    "is_clang=${lib.boolToString stdenv.cc.isClang}"
+    "use_sysroot=false"
+    # "use_system_icu=true"
+    "clang_use_chrome_plugins=false"
+    "is_component_build=false"
+    "v8_use_external_startup_data=false"
+    "v8_monolithic=true"
+    "is_debug=true"
+    "is_official_build=false"
+    "treat_warnings_as_errors=false"
+    "v8_enable_i18n_support=true"
+    "use_gold=false"
+    # ''custom_toolchain="//build/toolchain/linux/unbundle:default"''
+    ''host_toolchain="//build/toolchain/linux/unbundle:default"''
+    ''v8_snapshot_toolchain="//build/toolchain/linux/unbundle:default"''
+  ] ++ lib.optional stdenv.cc.isClang ''clang_base_path="${stdenv.cc}"'';
+
+  NIX_CFLAGS_COMPILE = "-O2";
+  FORCE_MAC_SDK_MIN = stdenv.targetPlatform.sdkVer or "10.12";
+
+  nativeBuildInputs = [
+    myGn
+    ninja
+    pkg-config
+    python3
+  ] ++ lib.optionals stdenv.isDarwin [
+    xcbuild
+    darwin.DarwinTools
+    python3.pkgs.setuptools
+  ];
+  buildInputs = [ glib icu ];
+
+  ninjaFlags = [ ":d8" "v8_monolith" ];
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    install -D d8 $out/bin/d8
+    install -D -m644 obj/libv8_monolith.a $out/lib/libv8.a
+    install -D -m644 icudtl.dat $out/share/v8/icudtl.dat
+    cp -r ../../include $out
+
+    mkdir -p $out/lib/pkgconfig
+    cat > $out/lib/pkgconfig/v8.pc << EOF
+    Name: v8
+    Description: V8 JavaScript Engine
+    Version: ${version}
+    Libs: -L$out/lib -lv8 -pthread
+    Cflags: -I$out/include
+    EOF
+  '';
+
+  meta = with lib; {
+    description = "Google's open source JavaScript engine";
+    maintainers = with maintainers; [ cstrahan proglodyte matthewbauer ];
+    platforms = platforms.unix;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/libraries/v8/default.nix b/pkgs/development/libraries/v8/default.nix
index 7c463aa01228c..1d2911c1313f8 100644
--- a/pkgs/development/libraries/v8/default.nix
+++ b/pkgs/development/libraries/v8/default.nix
@@ -1,75 +1,85 @@
 { stdenv, lib, fetchgit, fetchFromGitHub
-, gn, ninja, python, pythonPackages, glib, pkg-config, icu
+, gn, ninja, python3, glib, pkg-config, icu
 , xcbuild, darwin
 , fetchpatch
 }:
 
+# Use update.sh to update all checksums.
+
 let
+  version = "9.7.106.18";
+  v8Src = fetchgit {
+    url = "https://chromium.googlesource.com/v8/v8";
+    rev = version;
+    sha256 = "0cb3w733w1xn6zq9dsr43nx6llcg9hrmb2dkxairarj9c0igpzyh";
+  };
+
   git_url = "https://chromium.googlesource.com";
 
-  # This data is from the DEPS file in the root of a V8 checkout
+  # This data is from the DEPS file in the root of a V8 checkout.
   deps = {
     "base/trace_event/common" = fetchgit {
       url    = "${git_url}/chromium/src/base/trace_event/common.git";
-      rev    = "dab187b372fc17e51f5b9fad8201813d0aed5129";
-      sha256 = "0dmpj9hj4xv3xb0fl1kb9hm4bhpbs2s5csx3z8cgjd5vwvhdzig4";
+      rev    = "7f36dbc19d31e2aad895c60261ca8f726442bfbb";
+      sha256 = "01b2fhbxznqbakxv42ivrzg6w8l7i9yrd9nf72d6p5xx9dm993j4";
     };
-    build = fetchgit {
+    "build" = fetchgit {
       url    = "${git_url}/chromium/src/build.git";
-      rev    = "26e9d485d01d6e0eb9dadd21df767a63494c8fea";
-      sha256 = "1jjvsgj0cs97d26i3ba531ic1f9gqan8x7z4aya8yl8jx02l342q";
+      rev    = "cf325916d58a194a935c26a56fcf6b525d1e2bf4";
+      sha256 = "1ix4h1cpx9bvgln8590xh7lllhsd9w1hd5k9l1gx5yxxrmywd3s4";
     };
     "third_party/googletest/src" = fetchgit {
       url    = "${git_url}/external/github.com/google/googletest.git";
-      rev    = "e3f0319d89f4cbf32993de595d984183b1a9fc57";
-      sha256 = "18xz71l2xjrqsc0q317whgw4xi1i5db24zcj7v04f5g6r1hyf1a5";
+      rev    = "16f637fbf4ffc3f7a01fa4eceb7906634565242f";
+      sha256 = "11012k3c3mxzdwcw2iparr9lrckafpyhqzclsj26hmfbgbdi0rrh";
     };
     "third_party/icu" = fetchgit {
       url    = "${git_url}/chromium/deps/icu.git";
-      rev    = "f2223961702f00a8833874b0560d615a2cc42738";
-      sha256 = "0z5p53kbrjfkjn0i12dpk55cp8976j2zk7a4wk88423s2c5w87zl";
+      rev    = "eedbaf76e49d28465d9119b10c30b82906e606ff";
+      sha256 = "0mppvx7wf9zlqjsfaa1cf06brh1fjb6nmiib0lhbb9hd55mqjdjj";
+    };
+    "third_party/zlib" = fetchgit {
+      url    = "${git_url}/chromium/src/third_party/zlib.git";
+      rev    = "6da1d53b97c89b07e47714d88cab61f1ce003c68";
+      sha256 = "0v7ylmbwfwv6w6wp29qdf77kjjnfr2xzin08n0v1yvbhs01h5ppy";
     };
     "third_party/jinja2" = fetchgit {
       url    = "${git_url}/chromium/src/third_party/jinja2.git";
-      rev    = "b41863e42637544c2941b574c7877d3e1f663e25";
-      sha256 = "1qgilclkav67m6cl2xq2kmzkswrkrb2axc2z8mw58fnch4j1jf1r";
+      rev    = "ee69aa00ee8536f61db6a451f3858745cf587de6";
+      sha256 = "1fsnd5h0gisfp8bdsfd81kk5v4mkqf8z368c7qlm1qcwc4ri4x7a";
     };
     "third_party/markupsafe" = fetchgit {
       url    = "${git_url}/chromium/src/third_party/markupsafe.git";
-      rev    = "8f45f5cfa0009d2a70589bcda0349b8cb2b72783";
-      sha256 = "168ppjmicfdh4i1l0l25s86mdbrz9fgxmiq1rx33x79mph41scfz";
-    };
-    "third_party/zlib" = fetchgit {
-      url    = "${git_url}/chromium/src/third_party/zlib.git";
-      rev    = "156be8c52f80cde343088b4a69a80579101b6e67";
-      sha256 = "0hxbkkzmlv714fjq2jlp5dd2jc339xyh6gkjx1sz3srwv33mlk92";
+      rev    = "1b882ef6372b58bfd55a3285f37ed801be9137cd";
+      sha256 = "1jnjidbh03lhfaawimkjxbprmsgz4snr0jl06630dyd41zkdw5kr";
     };
   };
 
+  # See `gn_version` in DEPS.
+  gnSrc = fetchgit {
+    url = "https://gn.googlesource.com/gn";
+    rev = "8926696a4186279489cc2b8d768533e61bba73d7";
+    sha256 = "1084lnyb0a1khbgjvak05fcx6jy973wqvsf77n0alxjys18sg2yk";
+  };
+
+  myGn = gn.overrideAttrs (oldAttrs: {
+    version = "for-v8";
+    src = gnSrc;
+  });
+
 in
 
 stdenv.mkDerivation rec {
   pname = "v8";
-  version = "8.4.255";
+  inherit version;
 
   doCheck = true;
 
   patches = [
-    # Remove unrecognized clang debug flags
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/saiarcot895/chromium-ubuntu-build/663dbfc492fd2f8ba28d9af40fb3b1327e6aa56e/debian/patches/revert-Xclang-instcombine-lower-dbg-declare.patch";
-      sha256 = "07qp4bjgbwbdrzqslvl2bgbzr3v97b9isbp0539x3lc8cy3h02g1";
-    })
     ./darwin.patch
-    ./gcc_arm.patch  # Fix building zlib with gcc on aarch64, from https://gist.github.com/Adenilson/d973b6fd96c7709d33ddf08cf1dcb149
   ];
 
-  src = fetchFromGitHub {
-    owner = "v8";
-    repo = "v8";
-    rev = version;
-    sha256 = "07ymw4kqbz7kv311gpk5bs5q90wj73n2q7jkyfhqk4hvhs1q5bw7";
-  };
+  src = v8Src;
 
   postUnpack = ''
     ${lib.concatStringsSep "\n" (
@@ -80,16 +90,20 @@ stdenv.mkDerivation rec {
     chmod u+w -R .
   '';
 
-  postPatch = lib.optionalString stdenv.isAarch64 ''
-    substituteInPlace build/toolchain/linux/BUILD.gn \
-      --replace 'toolprefix = "aarch64-linux-gnu-"' 'toolprefix = ""'
-  '' + lib.optionalString stdenv.isDarwin ''
-    substituteInPlace build/config/compiler/compiler.gni \
-      --replace 'strip_absolute_paths_from_debug_symbols = true' \
-                'strip_absolute_paths_from_debug_symbols = false'
-    substituteInPlace build/config/compiler/BUILD.gn \
-      --replace 'current_toolchain == host_toolchain || !use_xcode_clang' \
-                'false'
+  postPatch = ''
+    ${lib.optionalString stdenv.isAarch64 ''
+      substituteInPlace build/toolchain/linux/BUILD.gn \
+        --replace 'toolprefix = "aarch64-linux-gnu-"' 'toolprefix = ""'
+    ''}
+    ${lib.optionalString stdenv.isDarwin ''
+      substituteInPlace build/config/compiler/compiler.gni \
+        --replace 'strip_absolute_paths_from_debug_symbols = true' \
+                  'strip_absolute_paths_from_debug_symbols = false'
+      substituteInPlace build/config/compiler/BUILD.gn \
+        --replace 'current_toolchain == host_toolchain || !use_xcode_clang' \
+                  'false'
+    ''}
+    touch build/config/gclient_args.gni
   '';
 
   gnFlags = [
@@ -106,7 +120,6 @@ stdenv.mkDerivation rec {
     "treat_warnings_as_errors=false"
     "v8_enable_i18n_support=true"
     "use_gold=false"
-    "init_stack_vars=false"
     # ''custom_toolchain="//build/toolchain/linux/unbundle:default"''
     ''host_toolchain="//build/toolchain/linux/unbundle:default"''
     ''v8_snapshot_toolchain="//build/toolchain/linux/unbundle:default"''
@@ -116,14 +129,14 @@ stdenv.mkDerivation rec {
   FORCE_MAC_SDK_MIN = stdenv.targetPlatform.sdkVer or "10.12";
 
   nativeBuildInputs = [
-    gn
+    myGn
     ninja
     pkg-config
-    python
+    python3
   ] ++ lib.optionals stdenv.isDarwin [
     xcbuild
     darwin.DarwinTools
-    pythonPackages.setuptools
+    python3.pkgs.setuptools
   ];
   buildInputs = [ glib icu ];
 
@@ -133,7 +146,8 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     install -D d8 $out/bin/d8
-    install -D obj/libv8_monolith.a $out/lib/libv8.a
+    install -D -m644 obj/libv8_monolith.a $out/lib/libv8.a
+    install -D -m644 icudtl.dat $out/share/v8/icudtl.dat
     cp -r ../../include $out
 
     mkdir -p $out/lib/pkgconfig
diff --git a/pkgs/development/libraries/v8/gcc_arm.patch b/pkgs/development/libraries/v8/gcc_arm.patch
deleted file mode 100644
index 09579561fd8da..0000000000000
--- a/pkgs/development/libraries/v8/gcc_arm.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/third_party/zlib/contrib/optimizations/insert_string.h b/third_party/zlib/contrib/optimizations/insert_string.h
-index 1826601..d123305 100644
---- a/third_party/zlib/contrib/optimizations/insert_string.h
-+++ b/third_party/zlib/contrib/optimizations/insert_string.h
-@@ -26,15 +26,23 @@
-   #define _cpu_crc32_u32 _mm_crc32_u32
- 
- #elif defined(CRC32_ARMV8_CRC32)
--  #if defined(__clang__)
-+  #if defined(__GNUC__) || defined(__clang__)
-     #undef TARGET_CPU_WITH_CRC
--    #define __crc32cw __builtin_arm_crc32cw
-+    #if defined(__clang__)
-+      #define __crc32cw __builtin_arm_crc32cw
-+    #elif defined(__GNUC__)
-+      #define __crc32cw __builtin_aarch64_crc32cw
-+    #endif
-   #endif
- 
-   #define _cpu_crc32_u32 __crc32cw
- 
-   #if defined(__aarch64__)
--    #define TARGET_CPU_WITH_CRC __attribute__((target("crc")))
-+    #if defined(__clang__)
-+      #define TARGET_CPU_WITH_CRC __attribute__((target("crc")))
-+    #elif defined(__GNUC__)
-+      #define TARGET_CPU_WITH_CRC __attribute__((target("+crc")))
-+    #endif
-   #else  // !defined(__aarch64__)
-     #define TARGET_CPU_WITH_CRC __attribute__((target("armv8-a,crc")))
-   #endif  // defined(__aarch64__)
diff --git a/pkgs/development/libraries/v8/libv8-5.4.232.patch b/pkgs/development/libraries/v8/libv8-5.4.232.patch
deleted file mode 100644
index 16c227cfe38d5..0000000000000
--- a/pkgs/development/libraries/v8/libv8-5.4.232.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From c9f42d1314c6026efcfcc01824f4e2fdfd05ebcf Mon Sep 17 00:00:00 2001
-From: Ben Sklaroff <bsklaroff@gmail.com>
-Date: Sat, 23 Jul 2016 18:16:55 -0400
-Subject: [PATCH] libv8-5.4.232
-
----
- Makefile                 |  5 +----
- gypfiles/all.gyp         | 32 --------------------------------
- gypfiles/standalone.gypi |  5 ++++-
- 3 files changed, 5 insertions(+), 37 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 5ea5c58..d1b2d73 100644
---- a/Makefile
-+++ b/Makefile
-@@ -261,11 +261,8 @@ GYPFILES = third_party/icu/icu.gypi third_party/icu/icu.gyp \
- 	   gypfiles/shim_headers.gypi gypfiles/features.gypi \
-            gypfiles/standalone.gypi \
- 	   gypfiles/toolchain.gypi gypfiles/all.gyp gypfiles/mac/asan.gyp \
--	   test/cctest/cctest.gyp test/fuzzer/fuzzer.gyp \
--	   test/unittests/unittests.gyp src/v8.gyp \
--	   tools/parser-shell.gyp testing/gmock.gyp testing/gtest.gyp \
- 	   buildtools/third_party/libc++abi/libc++abi.gyp \
--	   buildtools/third_party/libc++/libc++.gyp samples/samples.gyp \
-+	   buildtools/third_party/libc++/libc++.gyp \
- 	   src/third_party/vtune/v8vtune.gyp src/d8.gyp
- 
- # If vtunejit=on, the v8vtune.gyp will be appended.
-diff --git a/gypfiles/all.gyp b/gypfiles/all.gyp
-index ff1bea4..96820a0 100644
---- a/gypfiles/all.gyp
-+++ b/gypfiles/all.gyp
-@@ -16,38 +16,6 @@
-             '../tools/parser-shell.gyp:parser-shell',
-           ],
-         }],
--        # These items don't compile for Android on Mac.
--        ['host_os!="mac" or OS!="android"', {
--          'dependencies': [
--            '../samples/samples.gyp:*',
--            '../test/cctest/cctest.gyp:*',
--            '../test/fuzzer/fuzzer.gyp:*',
--            '../test/unittests/unittests.gyp:*',
--            ],
--        }],
--        ['test_isolation_mode != "noop"', {
--          'dependencies': [
--            '../test/bot_default.gyp:*',
--            '../test/benchmarks/benchmarks.gyp:*',
--            '../test/default.gyp:*',
--            '../test/ignition.gyp:*',
--            '../test/intl/intl.gyp:*',
--            '../test/message/message.gyp:*',
--            '../test/mjsunit/mjsunit.gyp:*',
--            '../test/mozilla/mozilla.gyp:*',
--            '../test/optimize_for_size.gyp:*',
--            '../test/perf.gyp:*',
--            '../test/preparser/preparser.gyp:*',
--            '../test/simdjs/simdjs.gyp:*',
--            '../test/test262/test262.gyp:*',
--            '../test/webkit/webkit.gyp:*',
--            '../tools/check-static-initializers.gyp:*',
--            '../tools/gcmole/run_gcmole.gyp:*',
--            '../tools/jsfunfuzz/jsfunfuzz.gyp:*',
--            '../tools/run-deopt-fuzzer.gyp:*',
--            '../tools/run-valgrind.gyp:*',
--          ],
--        }],
-       ]
-     }
-   ]
-diff --git a/gypfiles/standalone.gypi b/gypfiles/standalone.gypi
-index 89f06a0..a43976d 100644
---- a/gypfiles/standalone.gypi
-+++ b/gypfiles/standalone.gypi
-@@ -506,6 +506,9 @@
-       }],  # fastbuild!=0
-     ],
-     'target_conditions': [
-+      ['_type=="static_library"', {
-+        'standalone_static_library': 1,
-+      }],
-       ['v8_code == 0', {
-         'defines!': [
-           'DEBUG',
-@@ -770,7 +773,7 @@
-           [ 'visibility=="hidden" and v8_enable_backtrace==0', {
-             'cflags': [ '-fvisibility=hidden' ],
-           }],
--          [ 'component=="shared_library"', {
-+          [ 'component=="shared_library" or component=="static_library" and (v8_target_arch=="x64" or v8_target_arch=="arm64" or v8_target_arch=="arm")', {
-             'cflags': [ '-fPIC', ],
-           }],
-           [ 'clang==0 and coverage==1', {
--- 
-2.9.0
-
diff --git a/pkgs/development/libraries/v8/update.sh b/pkgs/development/libraries/v8/update.sh
index f046bb8e6885e..c3fbab6faf198 100755
--- a/pkgs/development/libraries/v8/update.sh
+++ b/pkgs/development/libraries/v8/update.sh
@@ -1,29 +1,45 @@
 #!/usr/bin/env nix-shell
-#! nix-shell -i bash -p curl -p nix-prefetch-git
+#! nix-shell -i bash -p curl -p nix-prefetch-git -p jq
 VERSION_OVERVIEW=https://omahaproxy.appspot.com/all?os=linux
-TARGET_CHANNEL=beta
-FILE_PATH=6_x.nix
+TARGET_CHANNEL=stable
 
 set -eo pipefail
 
-v8_version=$(curl -s "$VERSION_OVERVIEW" | awk -F "," "\$2 ~ /${TARGET_CHANNEL}/ { print \$11 }")
+if [ -n "$1" ]; then
+  v8_version="$1"
+  shift
+else
+  v8_version=$(curl -s "$VERSION_OVERVIEW" | awk -F "," "\$2 ~ /${TARGET_CHANNEL}/ { print \$11 }")
+fi
+
+if [ -n "$1" ]; then
+  file_path="$1"
+else
+  file_path=default.nix
+fi
 
 echo "Using V8 version --> $v8_version"
-sed -e "s#\\(version = \\)\"[0-9\.]*\"#\1\"$v8_version\"#" -i ${FILE_PATH}
 
-sha256=$(nix-prefetch-git --no-deepClone https://github.com/v8/v8.git "refs/tags/${v8_version}" \
-    | sed -ne '/sha256/ { s#.*: "\(.*\)".*#\1#; p }')
-sed -e "/repo = \"v8\"/ { n;n; s#\".*\"#\"${sha256}\"# }" -i ${FILE_PATH}
+prefetched=$(nix-prefetch-git --no-deepClone https://chromium.googlesource.com/v8/v8 "refs/tags/${v8_version}")
+
+path=$(echo "$prefetched" | jq -r .path)
+sha256=$(echo "$prefetched" | jq -r .sha256)
+sed -e "s#\\(version = \\)\"[0-9\.]*\"#\1\"$v8_version\"#" -i ${file_path}
+sed -e "/v8Src = fetchgit/ { n; n; n; s/\".*\"/\"${sha256}\"/  }" -i ${file_path}
+
+deps="$path/DEPS"
 
-deps="$(mktemp)"
+echo "$deps"
 
-curl -s -o "$deps" "https://raw.githubusercontent.com/v8/v8/${v8_version}/DEPS"
-echo $deps
+echo "Processing gn"
+gn_rev=$(sed -ne "s/.*'gn_version': 'git_revision:\([^']*\).*/\1/p" < "$deps")
+gn_sha256=$(nix-prefetch-git --no-deepClone https://gn.googlesource.com/gn "$gn_rev" 2>/dev/null | jq -r .sha256)
+sed -e "/gnSrc = fetchgit/ { n; n; s/\".*\"/\"${gn_rev}\"/; n; s/\".*\"/\"${gn_sha256}\"/  }" -i ${file_path}
 
-sed -ne '/= fetchgit {/ { s/.*"\(.*\)".*/\1/; p }' < ${FILE_PATH} | while read dep; do
+sed -ne '/" = fetchgit {/ { s/.*"\(.*\)".*/\1/; p }' < ${file_path} | while read dep; do
     echo "Processing dependency --> $dep"
     escaped_dep=$(echo "$dep" | sed -e 's#/#\\/#g')
-    dep_rev=$(sed -ne "/\"v8\/${escaped_dep}\":/ { n; s#.*+ \"##; s#\".*##;  p }" "$deps")
+    dep_rev=$(sed -ne "/'${escaped_dep}':/ { n; s#.*+ '##; s#'.*##;  p }" "$deps")
 
     if [ "$dep_rev" = "" ]; then
         echo "Failed to resolve dependency $dep, not listed in DEPS file"
@@ -31,8 +47,8 @@ sed -ne '/= fetchgit {/ { s/.*"\(.*\)".*/\1/; p }' < ${FILE_PATH} | while read d
         exit 2
     fi
 
-    repo_url=$(sed -ne "/\"${escaped_dep}\" = fetchgit/ { n; s/.*\"\(.*\)\".*/\1/; s#\${git_url}#https://chromium.googlesource.com#; p }"  ${FILE_PATH})
-    sha256=$(nix-prefetch-git --no-deepClone "$repo_url" "$dep_rev" 2>/dev/null | sed -ne '/sha256/ { s#.*: "\(.*\)".*#\1#; p }')
+    repo_url=$(sed -ne "/\"${escaped_dep}\" = fetchgit/ { n; s/.*\"\(.*\)\".*/\1/; s#\${git_url}#https://chromium.googlesource.com#; p }"  ${file_path})
+    sha256=$(nix-prefetch-git --no-deepClone "$repo_url" "$dep_rev" 2>/dev/null | jq -r .sha256)
 
     if [ "$sha256" = "" ]; then
         echo "Failed to get sha256 via nix-prefetch-git $repo_url $dep_rev"
@@ -40,8 +56,7 @@ sed -ne '/= fetchgit {/ { s/.*"\(.*\)".*/\1/; p }' < ${FILE_PATH} | while read d
         exit 2
     fi
 
-    sed -e "/\"${escaped_dep}\" = fetchgit/ { n; n; s/\".*\"/\"${dep_rev}\"/; n; s/\".*\"/\"${sha256}\"/  }" -i ${FILE_PATH}
+    sed -e "/\"${escaped_dep}\" = fetchgit/ { n; n; s/\".*\"/\"${dep_rev}\"/; n; s/\".*\"/\"${sha256}\"/  }" -i ${file_path}
 done
 
-rm -f "$deps"
 echo done.
diff --git a/pkgs/development/libraries/vigra/default.nix b/pkgs/development/libraries/vigra/default.nix
index d6d43e6a1fb38..a4371e7d1a545 100644
--- a/pkgs/development/libraries/vigra/default.nix
+++ b/pkgs/development/libraries/vigra/default.nix
@@ -12,12 +12,11 @@
 , libpng
 , libtiff
 , openexr
-, python2Packages
+, python3
 }:
 
 let
-  inherit (python2Packages) python numpy;
-  # Might want to use `python2.withPackages(ps: [ps.numpy]);` here...
+  python = python3.withPackages (py: with py; [ numpy ]);
 in
 stdenv.mkDerivation rec {
   pname = "vigra";
@@ -50,7 +49,6 @@ stdenv.mkDerivation rec {
     libjpeg
     libpng
     libtiff
-    numpy
     openexr
     python
   ];
diff --git a/pkgs/development/libraries/volk/default.nix b/pkgs/development/libraries/volk/default.nix
index 40ae88bf71bb8..c795d783894e9 100644
--- a/pkgs/development/libraries/volk/default.nix
+++ b/pkgs/development/libraries/volk/default.nix
@@ -5,10 +5,13 @@
 , python3
 , enableModTool ? true
 , removeReferencesTo
+, fetchpatch
 }:
 
 stdenv.mkDerivation rec {
   pname = "volk";
+  # Version 2.5.1 seems to cause a build issue for aarch64-darwin, see:
+  # https://github.com/NixOS/nixpkgs/pull/160152#issuecomment-1043380478A
   version = "2.5.0";
 
   src = fetchFromGitHub {
@@ -19,6 +22,14 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/macports/macports-ports/e83a55ef196d4283be438c052295b2fc44f3df5b/science/volk/files/patch-cpu_features-add-support-for-ARM64.diff";
+      sha256 = "sha256-MNUntVvKZC4zuQsxGQCItaUaaQ1d31re2qjyPFbySmI=";
+      extraPrefix = "";
+    })
+  ];
+
   cmakeFlags = lib.optionals (!enableModTool) [ "-DENABLE_MODTOOL=OFF" ];
   postInstall = lib.optionalString (!stdenv.isDarwin) ''
     ${removeReferencesTo}/bin/remove-references-to -t ${stdenv.cc} $(readlink -f $out/lib/libvolk.so)
diff --git a/pkgs/development/libraries/vulkan-headers/default.nix b/pkgs/development/libraries/vulkan-headers/default.nix
index 3d9bf719adca4..4010ee684590b 100644
--- a/pkgs/development/libraries/vulkan-headers/default.nix
+++ b/pkgs/development/libraries/vulkan-headers/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, cmake }:
 stdenv.mkDerivation rec {
   pname = "vulkan-headers";
-  version = "1.2.189.1";
+  version = "1.2.198.0";
 
   nativeBuildInputs = [ cmake ];
 
@@ -9,13 +9,13 @@ stdenv.mkDerivation rec {
     owner = "KhronosGroup";
     repo = "Vulkan-Headers";
     rev = "sdk-${version}";
-    sha256 = "1qggc7dv9jr83xr9w2h375wl3pz3rfgrk9hnrjmylkg9gz4p9q03";
+    sha256 = "sha256-SvC0AX1wIZWLzws3ZS8Wi8fbNUw1+An/PRlFIfNj24Y=";
   };
 
   meta = with lib; {
     description = "Vulkan Header files and API registry";
     homepage    = "https://www.lunarg.com";
-    platforms   = platforms.linux;
+    platforms   = platforms.unix;
     license     = licenses.asl20;
     maintainers = [ maintainers.ralith ];
   };
diff --git a/pkgs/development/libraries/vulkan-loader/default.nix b/pkgs/development/libraries/vulkan-loader/default.nix
index ce3853687721d..077f881e722d6 100644
--- a/pkgs/development/libraries/vulkan-loader/default.nix
+++ b/pkgs/development/libraries/vulkan-loader/default.nix
@@ -1,25 +1,25 @@
 { lib, stdenv, fetchFromGitHub, cmake, pkg-config, libX11, libxcb
-, libXrandr, wayland, vulkan-headers, addOpenGLRunpath }:
+, libXrandr, wayland, moltenvk, vulkan-headers, addOpenGLRunpath }:
 
 stdenv.mkDerivation rec {
   pname = "vulkan-loader";
-  version = "1.2.189.1";
+  version = "1.2.198.0";
 
   src = (assert version == vulkan-headers.version;
     fetchFromGitHub {
       owner = "KhronosGroup";
       repo = "Vulkan-Loader";
       rev = "sdk-${version}";
-      sha256 = "1745fdzi0n5qj2s41q6z1y52cq8pwswvh1a32d3n7kl6bhksagp6";
+      sha256 = "sha256-k3eCdZqCjFxpKa0pZ0K4XcORxdSOlr1dFa7C3Qzi04Y=";
     });
 
   nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ libX11 libxcb libXrandr vulkan-headers wayland ];
+  buildInputs = [ vulkan-headers ]
+    ++ lib.optionals (!stdenv.isDarwin) [ libX11 libxcb libXrandr wayland ];
 
-  cmakeFlags = [
-    "-DSYSCONFDIR=${addOpenGLRunpath.driverLink}/share"
-    "-DCMAKE_INSTALL_INCLUDEDIR=${vulkan-headers}/include"
-  ];
+  cmakeFlags = [ "-DCMAKE_INSTALL_INCLUDEDIR=${vulkan-headers}/include" ]
+    ++ lib.optional stdenv.isDarwin "-DSYSCONFDIR=${moltenvk}/share"
+    ++ lib.optional stdenv.isLinux "-DSYSCONFDIR=${addOpenGLRunpath.driverLink}/share";
 
   outputs = [ "out" "dev" ];
 
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "LunarG Vulkan loader";
     homepage    = "https://www.lunarg.com";
-    platforms   = platforms.linux;
+    platforms   = platforms.unix;
     license     = licenses.asl20;
     maintainers = [ maintainers.ralith ];
   };
diff --git a/pkgs/development/libraries/wayland/default.nix b/pkgs/development/libraries/wayland/default.nix
index 1d6bf0f7aa486..ee897d64142ca 100644
--- a/pkgs/development/libraries/wayland/default.nix
+++ b/pkgs/development/libraries/wayland/default.nix
@@ -30,19 +30,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "wayland";
-  version = "1.19.0";
+  version = "1.20.0";
 
   src = fetchurl {
     url = "https://wayland.freedesktop.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "05bd2vphyx8qwa1mhsj1zdaiv4m4v94wrlssrn0lad8d601dkk5s";
+    sha256 = "09c7rpbwavjg4y16mrfa57gk5ix6rnzpvlnv1wp7fnbh9hak985q";
   };
 
   patches = [
-    # Picked from upstream 'main' branch for Darwin support.
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/wayland/wayland/-/commit/f452e41264387dee4fd737cbf1af58b34b53941b.patch";
-      sha256 = "00mk32a01vgn31sm3wk4p8mfwvqv3xv02rxvdj1ygnzgb1ac62r7";
-    })
     (substituteAll {
       src = ./0001-add-placeholder-for-nm.patch;
       nm = "${stdenv.cc.targetPrefix}nm";
@@ -51,6 +46,10 @@ stdenv.mkDerivation rec {
 
   postPatch = lib.optionalString withDocumentation ''
     patchShebangs doc/doxygen/gen-doxygen.py
+  '' + lib.optionalString stdenv.hostPlatform.isStatic ''
+    # delete line containing os-wrappers-test, disables
+    # the building of os-wrappers-test
+    sed -i '/os-wrappers-test/d' tests/meson.build
   '';
 
   outputs = [ "out" "bin" "dev" ] ++ lib.optionals withDocumentation [ "doc" "man" ];
diff --git a/pkgs/development/libraries/wayland/protocols.nix b/pkgs/development/libraries/wayland/protocols.nix
index 73fef21eccb76..61696d232f794 100644
--- a/pkgs/development/libraries/wayland/protocols.nix
+++ b/pkgs/development/libraries/wayland/protocols.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wayland-protocols";
-  version = "1.24";
+  version = "1.25";
 
   doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
 
   src = fetchurl {
     url = "https://wayland.freedesktop.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "1hlb6gvyqlmsdkv5179ccj07p04cn6xacjkgklakbszczv7xiw5z";
+    sha256 = "0q0laxdvf8p8b7ks2cbpqf6q0rwrjycqrp8pf8rxm86hk5qhzzzi";
   };
 
   postPatch = lib.optionalString doCheck ''
diff --git a/pkgs/development/libraries/waylandpp/default.nix b/pkgs/development/libraries/waylandpp/default.nix
index 0aa77b771e48b..49e0e01872f53 100644
--- a/pkgs/development/libraries/waylandpp/default.nix
+++ b/pkgs/development/libraries/waylandpp/default.nix
@@ -16,13 +16,13 @@ assert docSupport -> doxygen != null;
 with lib;
 stdenv.mkDerivation rec {
   pname = "waylandpp";
-  version = "0.2.8";
+  version = "0.2.9";
 
   src = fetchFromGitHub {
     owner = "NilsBrause";
     repo = pname;
     rev = version;
-    sha256 = "1kxiqab48p0n97pwg8c2zx56wqq32m3rcq7qd2pjj33ipcanb3qq";
+    sha256 = "sha256-c7sayJjQaqJWso2enESBx6OUW9vxxsfuHFolYDIYlXw=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
index d8b7bbc6d65b8..b5a16df21add6 100644
--- a/pkgs/development/libraries/webkitgtk/default.nix
+++ b/pkgs/development/libraries/webkitgtk/default.nix
@@ -64,7 +64,7 @@ assert enableGeoLocation -> geoclue2 != null;
 
 stdenv.mkDerivation rec {
   pname = "webkitgtk";
-  version = "2.34.3";
+  version = "2.34.6";
 
   outputs = [ "out" "dev" ];
 
@@ -72,7 +72,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://webkitgtk.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "sha256-DS83qjLiGjbk3Vpc565c4nQ1wp1oA7liuMkMsMxJxS0=";
+    sha256 = "sha256-a8j9A0qtBDKiRZzk/H7iWtZaSSTGGL+Nk7UrDBqEwfY=";
   };
 
   patches = lib.optionals stdenv.isLinux [
diff --git a/pkgs/development/libraries/webrtc-audio-processing/0.3.nix b/pkgs/development/libraries/webrtc-audio-processing/0.3.nix
new file mode 100644
index 0000000000000..1ce3c2d9fa8be
--- /dev/null
+++ b/pkgs/development/libraries/webrtc-audio-processing/0.3.nix
@@ -0,0 +1,26 @@
+{ lib, stdenv, fetchurl, darwin }:
+
+stdenv.mkDerivation rec {
+  pname = "webrtc-audio-processing";
+  version = "0.3.1";
+
+  src = fetchurl {
+    url = "https://freedesktop.org/software/pulseaudio/webrtc-audio-processing/webrtc-audio-processing-${version}.tar.xz";
+    sha256 = "1gsx7k77blfy171b6g3m0k0s0072v6jcawhmx1kjs9w5zlwdkzd0";
+  };
+
+  patches = [ ./enable-riscv.patch ];
+
+  buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ ApplicationServices ]);
+
+  patchPhase = lib.optionalString stdenv.hostPlatform.isMusl ''
+    substituteInPlace webrtc/base/checks.cc --replace 'defined(__UCLIBC__)' 1
+  '';
+
+  meta = with lib; {
+    homepage = "http://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing";
+    description = "A more Linux packaging friendly copy of the AudioProcessing module from the WebRTC project";
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/webrtc-audio-processing/default.nix b/pkgs/development/libraries/webrtc-audio-processing/default.nix
index 1ce3c2d9fa8be..5a53564603d85 100644
--- a/pkgs/development/libraries/webrtc-audio-processing/default.nix
+++ b/pkgs/development/libraries/webrtc-audio-processing/default.nix
@@ -1,19 +1,34 @@
-{ lib, stdenv, fetchurl, darwin }:
+{ lib, stdenv, fetchurl
+, darwin
+, abseil-cpp_202111
+, meson
+, ninja
+}:
 
 stdenv.mkDerivation rec {
   pname = "webrtc-audio-processing";
-  version = "0.3.1";
+  version = "1.0";
 
   src = fetchurl {
-    url = "https://freedesktop.org/software/pulseaudio/webrtc-audio-processing/webrtc-audio-processing-${version}.tar.xz";
-    sha256 = "1gsx7k77blfy171b6g3m0k0s0072v6jcawhmx1kjs9w5zlwdkzd0";
+    url = "https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/archive/v1.0/webrtc-audio-processing-v${version}.tar.gz";
+    sha256 = "sha256-dqRy1OfOG9TX2cgCD8cowU44zVanns/nPYZrilPfuiU=";
   };
 
-  patches = [ ./enable-riscv.patch ];
+  nativeBuildInputs = [
+    meson
+    ninja
+  ];
 
-  buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ ApplicationServices ]);
+  buildInputs = [
+    abseil-cpp_202111
+  ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ ApplicationServices ]);
 
-  patchPhase = lib.optionalString stdenv.hostPlatform.isMusl ''
+  patchPhase = ''
+    # this is just incorrect upstream
+    # see https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/issues/4
+    substituteInPlace meson.build \
+      --replace "absl_flags_registry" "absl_flags_reflection"
+    '' + lib.optionalString stdenv.hostPlatform.isMusl ''
     substituteInPlace webrtc/base/checks.cc --replace 'defined(__UCLIBC__)' 1
   '';
 
@@ -21,6 +36,8 @@ stdenv.mkDerivation rec {
     homepage = "http://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing";
     description = "A more Linux packaging friendly copy of the AudioProcessing module from the WebRTC project";
     license = licenses.bsd3;
-    platforms = platforms.unix;
+    # attempts to inline 256bit AVX instructions on x86
+    # https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/issues/5
+    platforms = lib.lists.subtractLists platforms.i686 platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/websocket++/default.nix b/pkgs/development/libraries/websocket++/default.nix
index 5c9271f2a85a0..6991d3c8843ab 100644
--- a/pkgs/development/libraries/websocket++/default.nix
+++ b/pkgs/development/libraries/websocket++/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     description = "C++/Boost Asio based websocket client/server library";
     license = licenses.bsd3;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ andir ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/libraries/wlroots/default.nix b/pkgs/development/libraries/wlroots/0.14.nix
index cf188756ffdee..398a09ff2aa7f 100644
--- a/pkgs/development/libraries/wlroots/default.nix
+++ b/pkgs/development/libraries/wlroots/0.14.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, wayland-scanner
 , libGL, wayland, wayland-protocols, libinput, libxkbcommon, pixman
 , xcbutilwm, libX11, libcap, xcbutilimage, xcbutilerrors, mesa
-, libpng, ffmpeg, xcbutilrenderutil, seatd
+, libpng, ffmpeg_4, xcbutilrenderutil, seatd
 
 , enableXWayland ? true, xwayland ? null
 }:
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     libGL wayland wayland-protocols libinput libxkbcommon pixman
     xcbutilwm libX11 libcap xcbutilimage xcbutilerrors mesa
-    libpng ffmpeg xcbutilrenderutil seatd
+    libpng ffmpeg_4 xcbutilrenderutil seatd
   ]
     ++ lib.optional enableXWayland xwayland
   ;
diff --git a/pkgs/development/libraries/wlroots/0.12.nix b/pkgs/development/libraries/wlroots/0.15.nix
index c21205beabc37..ed3effaa54055 100644
--- a/pkgs/development/libraries/wlroots/0.12.nix
+++ b/pkgs/development/libraries/wlroots/0.15.nix
@@ -1,36 +1,42 @@
-{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, wayland
-, libGL, wayland-protocols, libinput, libxkbcommon, pixman
+{ lib, stdenv, fetchFromGitLab, meson, ninja, pkg-config, wayland-scanner
+, libGL, wayland, wayland-protocols, libinput, libxkbcommon, pixman
 , xcbutilwm, libX11, libcap, xcbutilimage, xcbutilerrors, mesa
-, libpng, ffmpeg
+, libpng, ffmpeg_4, xcbutilrenderutil, seatd, vulkan-loader, glslang
+, nixosTests
+
+, enableXWayland ? true, xwayland ? null
 }:
 
-# Fixed version derivation.
-# nixpkgs-update: no auto update
 stdenv.mkDerivation rec {
   pname = "wlroots";
-  version = "0.12.0";
+  version = "0.15.1";
 
-  src = fetchFromGitHub {
-    owner = "swaywm";
+  src = fetchFromGitLab {
+    domain = "gitlab.freedesktop.org";
+    owner = "wlroots";
     repo = "wlroots";
     rev = version;
-    sha256 = "01j38lmgs2c6fq68v8b75pkilia2wsgzgp46ivfbi9hhx47kgcfn";
+    sha256 = "sha256-MFR38UuB/wW7J9ODDUOfgTzKLse0SSMIRYTpEaEdRwM=";
   };
 
   # $out for the library and $examples for the example programs (in examples):
   outputs = [ "out" "examples" ];
 
-  nativeBuildInputs = [ meson ninja pkg-config wayland ];
+  depsBuildBuild = [ pkg-config ];
+
+  nativeBuildInputs = [ meson ninja pkg-config wayland-scanner glslang ];
 
   buildInputs = [
     libGL wayland wayland-protocols libinput libxkbcommon pixman
     xcbutilwm libX11 libcap xcbutilimage xcbutilerrors mesa
-    libpng ffmpeg
-  ];
+    libpng ffmpeg_4 xcbutilrenderutil seatd vulkan-loader
+  ]
+    ++ lib.optional enableXWayland xwayland
+  ;
 
-  mesonFlags = [ "-Dlogind-provider=systemd" "-Dlibseat=disabled" ];
-
-  CFLAGS = "-Wno-error=deprecated-declarations";
+  mesonFlags =
+    lib.optional (!enableXWayland) "-Dxwayland=disabled"
+  ;
 
   postFixup = ''
     # Install ALL example programs to $examples:
@@ -44,6 +50,9 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  # Test via TinyWL (the "minimum viable product" Wayland compositor based on wlroots):
+  passthru.tests.tinywl = nixosTests.tinywl;
+
   meta = with lib; {
     description = "A modular Wayland compositor library";
     longDescription = ''
@@ -51,7 +60,7 @@ stdenv.mkDerivation rec {
       compositor; or about 50,000 lines of code you were going to write anyway.
     '';
     inherit (src.meta) homepage;
-    changelog = "https://github.com/swaywm/wlroots/releases/tag/${version}";
+    changelog = "https://gitlab.freedesktop.org/wlroots/wlroots/-/tags/${version}";
     license     = licenses.mit;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ primeos synthetica ];
diff --git a/pkgs/development/libraries/wolfssl/default.nix b/pkgs/development/libraries/wolfssl/default.nix
index 619f41eb33f25..4cfd2548b538c 100644
--- a/pkgs/development/libraries/wolfssl/default.nix
+++ b/pkgs/development/libraries/wolfssl/default.nix
@@ -2,19 +2,26 @@
 , stdenv
 , fetchFromGitHub
 , autoreconfHook
+, openssl
 }:
 
 stdenv.mkDerivation rec {
   pname = "wolfssl";
-  version = "5.1.0";
+  version = "5.1.1";
 
   src = fetchFromGitHub {
     owner = "wolfSSL";
     repo = "wolfssl";
     rev = "v${version}-stable";
-    sha256 = "sha256-PkuYXDL04LbUiY+O/4EilZn2+hTbwbRXPDE3B5d/4pQ=";
+    sha256 = "sha256-/noS5cn8lllWoGyZ9QyjRmdiR6LXzfT4lYGEt+0+Bdw=";
   };
 
+  postPatch = ''
+    patchShebangs ./scripts
+    # ocsp tests require network access
+    sed -i -e '/ocsp\.test/d' -e '/ocsp-stapling\.test/d' scripts/include.am
+  '';
+
   # Almost same as Debian but for now using --enable-all --enable-reproducible-build instead of --enable-distro to ensure options.h gets installed
   configureFlags = [
     "--enable-all"
@@ -36,6 +43,9 @@ stdenv.mkDerivation rec {
     autoreconfHook
   ];
 
+  doCheck = true;
+  checkInputs = [ openssl ];
+
   postInstall = ''
      # fix recursive cycle:
      # wolfssl-config points to dev, dev propagates bin
diff --git a/pkgs/development/libraries/wxwidgets/0001-fix-assertion-using-hide-in-destroy.patch b/pkgs/development/libraries/wxwidgets/0001-fix-assertion-using-hide-in-destroy.patch
new file mode 100644
index 0000000000000..ca9eb8bf612a5
--- /dev/null
+++ b/pkgs/development/libraries/wxwidgets/0001-fix-assertion-using-hide-in-destroy.patch
@@ -0,0 +1,43 @@
+commit 56a60ee50122613d3a356ce74b4bd77b5e7be235
+Author: Tim Kosse <tim.kosse@filezilla-project.org>
+Date:   Sat Aug 26 15:37:30 2017 +0200
+
+    If a wxTopLevelWindow has been instanced, but Create has not been called, calling Destroy on the window results in an assertion in Show(false), at least under wxGTK. Fix this by only hiding a top level window during destruction if it is actually shown.
+
+diff --git a/src/common/toplvcmn.cpp b/src/common/toplvcmn.cpp
+index ef693690c5..8d07812031 100644
+--- a/src/common/toplvcmn.cpp
++++ b/src/common/toplvcmn.cpp
+@@ -122,19 +122,21 @@ bool wxTopLevelWindowBase::Destroy()
+     // any more as no events will be sent to the hidden window and without idle
+     // events we won't prune wxPendingDelete list and the application won't
+     // terminate
+-    for ( wxWindowList::const_iterator i = wxTopLevelWindows.begin(),
+-                                     end = wxTopLevelWindows.end();
+-          i != end;
+-          ++i )
+-    {
+-        wxTopLevelWindow * const win = static_cast<wxTopLevelWindow *>(*i);
+-        if ( win != this && win->IsShown() )
++    if ( IsShown() ) {
++        for ( wxWindowList::const_iterator i = wxTopLevelWindows.begin(),
++                                         end = wxTopLevelWindows.end();
++              i != end;
++              ++i )
+         {
+-            // there remains at least one other visible TLW, we can hide this
+-            // one
+-            Hide();
++            wxTopLevelWindow * const win = static_cast<wxTopLevelWindow *>(*i);
++            if ( win != this && win->IsShown() )
++            {
++                // there remains at least one other visible TLW, we can hide this
++                // one
++                Hide();
+ 
+-            break;
++                break;
++            }
+         }
+     }
+ 
diff --git a/pkgs/development/libraries/wxwidgets/2.8/default.nix b/pkgs/development/libraries/wxwidgets/2.8/default.nix
index 8029477708df4..bc8fc6f5b0478 100644
--- a/pkgs/development/libraries/wxwidgets/2.8/default.nix
+++ b/pkgs/development/libraries/wxwidgets/2.8/default.nix
@@ -1,76 +1,117 @@
-{ lib, stdenv, fetchurl, pkg-config, gtk2, libXinerama, libSM, libXxf86vm, xorgproto
-, libX11, cairo
-, libGLSupported ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
+{ lib
+, stdenv
+, fetchurl
+, cairo
+, gtk2
+, libGL
+, libGLU
+, libSM
+, libX11
+, libXinerama
+, libXxf86vm
+, pkg-config
+, xorgproto
+, compat24 ? false
+, compat26 ? true
+, unicode ? true
 , withMesa ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
-, libGLU ? null, libGL ? null
-, compat24 ? false, compat26 ? true, unicode ? true,
 }:
 
 assert withMesa -> libGLU != null && libGL != null;
 
-with lib;
-
 stdenv.mkDerivation rec {
-  version = "2.8.12.1";
   pname = "wxGTK";
+  version = "2.8.12.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/wxpython/wxPython-src-${version}.tar.bz2";
-    sha256 = "1l1w4i113csv3bd5r8ybyj0qpxdq83lj6jrc5p7cc10mkwyiagqz";
+    hash = "sha256-Hz8VPZ8VBMbOLSxLI+lAuPWLgfTLo1zaGluzEUIkPNA=";
   };
 
-  buildInputs = [ gtk2 libXinerama libSM libXxf86vm xorgproto libX11 cairo ]
-    ++ optional withMesa libGLU;
-
-  nativeBuildInputs = [ pkg-config ];
-
-  hardeningDisable = [ "format" ];
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    cairo
+    gtk2
+    libSM
+    libX11
+    libXinerama
+    libXxf86vm
+    xorgproto
+  ]
+  ++ lib.optional withMesa libGLU;
 
   configureFlags = [
     "--enable-gtk2"
-    (if compat24 then "--enable-compat24" else "--disable-compat24")
-    (if compat26 then "--enable-compat26" else "--disable-compat26")
     "--disable-precomp-headers"
-    (if unicode then "--enable-unicode" else "")
     "--enable-mediactrl"
     "--enable-graphics_ctx"
-  ] ++ optional withMesa "--with-opengl";
+    (if compat24 then "--enable-compat24" else "--disable-compat24")
+    (if compat26 then "--enable-compat26" else "--disable-compat26")
+  ]
+  ++ lib.optional unicode "--enable-unicode"
+  ++ lib.optional withMesa "--with-opengl";
+
+  hardeningDisable = [ "format" ];
 
   # These variables are used by configure to find some dependencies.
   SEARCH_INCLUDE =
     "${libXinerama.dev}/include ${libSM.dev}/include ${libXxf86vm.dev}/include";
   SEARCH_LIB =
     "${libXinerama.out}/lib ${libSM.out}/lib ${libXxf86vm.out}/lib "
-    + optionalString withMesa "${libGLU.out}/lib ${libGL.out}/lib ";
+    + lib.optionalString withMesa "${libGLU.out}/lib ${libGL.out}/lib ";
 
   # Work around a bug in configure.
   NIX_CFLAGS_COMPILE = "-DHAVE_X11_XLIB_H=1 -lX11 -lcairo -Wno-narrowing";
 
-  preConfigure = "
-    substituteInPlace configure --replace 'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
-    substituteInPlace configure --replace 'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
-    substituteInPlace configure --replace /usr /no-such-path
-  ";
+  preConfigure = ''
+    substituteInPlace configure --replace \
+      'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
+    substituteInPlace configure --replace \
+      'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
+    substituteInPlace configure --replace \
+      /usr /no-such-path
+  '';
+
+  postBuild = ''
+    pushd contrib/src
+    make
+    popd
+  '';
+
+  postInstall = ''
+    pushd contrib/src
+    make install
+    popd
+    pushd $out/include
+    ln -s wx-*/* .
+    popd
+  '';
 
-  postBuild = "(cd contrib/src && make)";
+  enableParallelBuilding = true;
 
-  postInstall = "
-    (cd contrib/src && make install)
-    (cd $out/include && ln -s wx-*/* .)
-  ";
+  meta = with lib; {
+    homepage = "https://www.wxwidgets.org/";
+    description = "A Cross-Platform C++ GUI Library";
+    longDescription = ''
+      wxWidgets gives you a single, easy-to-use API for writing GUI applications
+      on multiple platforms that still utilize the native platform's controls
+      and utilities. Link with the appropriate library for your platform and
+      compiler, and your application will adopt the look and feel appropriate to
+      that platform. On top of great GUI functionality, wxWidgets gives you:
+      online help, network programming, streams, clipboard and drag and drop,
+      multithreading, image loading and saving in a variety of popular formats,
+      database support, HTML viewing and printing, and much more.
+    '';
+    license = licenses.wxWindows;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.linux;
+  };
 
   passthru = {
     inherit compat24 compat26 unicode;
     gtk = gtk2;
   };
-
-  enableParallelBuilding = true;
-
-  meta = {
-    platforms = platforms.linux;
-    license = licenses.wxWindows;
-    homepage = "https://www.wxwidgets.org/";
-    description = "a C++ library that lets developers create applications for Windows, macOS, Linux and other platforms with a single code base";
-    longDescription = "wxWidgets gives you a single, easy-to-use API for writing GUI applications on multiple platforms that still utilize the native platform's controls and utilities. Link with the appropriate library for your platform and compiler, and your application will adopt the look and feel appropriate to that platform. On top of great GUI functionality, wxWidgets gives you: online help, network programming, streams, clipboard and drag and drop, multithreading, image loading and saving in a variety of popular formats, database support, HTML viewing and printing, and much more.";
-  };
 }
diff --git a/pkgs/development/libraries/wxwidgets/2.9/default.nix b/pkgs/development/libraries/wxwidgets/2.9/default.nix
index 5674f076beca1..46ef04dcb7a1c 100644
--- a/pkgs/development/libraries/wxwidgets/2.9/default.nix
+++ b/pkgs/development/libraries/wxwidgets/2.9/default.nix
@@ -1,84 +1,127 @@
-{ lib, stdenv, fetchurl, pkg-config, gtk2, libXinerama, libSM, libXxf86vm, xorgproto
-, setfile
-, libGLSupported ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoconf
+, gtk2
+, libGL
+, libGLU
+, libSM
+, libXinerama
+, libXxf86vm
+, pkg-config
+, xorgproto
+, compat24 ? false
+, compat26 ? true
+, unicode ? true
 , withMesa ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
-, libGLU ? null, libGL ? null
-, compat24 ? false, compat26 ? true, unicode ? true
-, Carbon ? null, Cocoa ? null, Kernel ? null, QuickTime ? null, AGL ? null
+, darwin
 }:
 
 assert withMesa -> libGLU != null && libGL != null;
-
-with lib;
-
+let
+  inherit (darwin.stubs) setfile;
+  inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QuickTime;
+in
 stdenv.mkDerivation rec {
-  pname = "wxwidgets";
-  version = "2.9.4";
+  pname = "wxGTK";
+  version = "2.9.5";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/wxwindows/wxWidgets-${version}.tar.bz2";
-    sha256 = "04jda4bns7cmp7xy68qz112yg0lribpc6xs5k9gilfqcyhshqlvc";
+  src = fetchFromGitHub {
+    owner = "wxWidgets";
+    repo = "wxWidgets";
+    rev = "v${version}";
+    hash = "sha256-izefAPU4lORZxQja7/InHyElJ1++2lDloR+xPudsRNE=";
   };
 
   patches = [
-    (fetchurl { # https://trac.wxwidgets.org/ticket/17942
-      url = "https://trac.wxwidgets.org/raw-attachment/ticket/17942/"
-          + "fix_assertion_using_hide_in_destroy.diff";
-      sha256 = "009y3dav79wiig789vkkc07g1qdqprg1544lih79199kb1h64lvy";
-    })
+    # https://github.com/wxWidgets/wxWidgets/issues/17942
+    ../0001-fix-assertion-using-hide-in-destroy.patch
   ];
 
-  buildInputs =
-    [ gtk2 libXinerama libSM libXxf86vm xorgproto ]
-    ++ optional withMesa libGLU
-    ++ optionals stdenv.isDarwin [ setfile Carbon Cocoa Kernel QuickTime ];
+  nativeBuildInputs = [
+    autoconf
+    pkg-config
+  ];
 
-  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [
+    gtk2
+    libSM
+    libXinerama
+    libXxf86vm
+    xorgproto
+  ]
+  ++ lib.optional withMesa libGLU
+  ++ lib.optionals stdenv.isDarwin [
+    Carbon
+    Cocoa
+    Kernel
+    QuickTime
+    setfile
+  ];
 
-  propagatedBuildInputs = optional stdenv.isDarwin AGL;
+  propagatedBuildInputs = lib.optional stdenv.isDarwin AGL;
 
-  configureFlags =
-    [ "--enable-gtk2" "--disable-precomp-headers"
-      (if compat24 then "--enable-compat24" else "--disable-compat24")
-      (if compat26 then "--enable-compat26" else "--disable-compat26") ]
-    ++ optional unicode "--enable-unicode"
-    ++ optional withMesa "--with-opengl"
-    ++ optionals stdenv.isDarwin
-      # allow building on 64-bit
-      [ "--with-cocoa" "--enable-universal-binaries" "--with-macosx-version-min=10.7" ];
+  configureFlags = [
+    "--disable-precomp-headers"
+    "--enable-gtk2"
+    (if compat24 then "--enable-compat24" else "--disable-compat24")
+    (if compat26 then "--enable-compat26" else "--disable-compat26")
+  ]
+  ++ lib.optional unicode "--enable-unicode"
+  ++ lib.optional withMesa "--with-opengl"
+  ++ lib.optionals stdenv.isDarwin [ # allow building on 64-bit
+    "--enable-universal-binaries"
+    "--with-cocoa"
+    "--with-macosx-version-min=10.7"
+  ];
 
   SEARCH_LIB = "${libGLU.out}/lib ${libGL.out}/lib ";
 
-  preConfigure = "
-    substituteInPlace configure --replace 'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
-    substituteInPlace configure --replace 'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
-    substituteInPlace configure --replace /usr /no-such-path
-  " + optionalString stdenv.isDarwin ''
+  preConfigure = ''
+    ./autogen.sh
+    substituteInPlace configure --replace \
+      'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
+    substituteInPlace configure --replace \
+      'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
+    substituteInPlace configure --replace \
+      /usr /no-such-path
+  '' + lib.optionalString stdenv.isDarwin ''
     substituteInPlace configure --replace \
       'ac_cv_prog_SETFILE="/Developer/Tools/SetFile"' \
       'ac_cv_prog_SETFILE="${setfile}/bin/SetFile"'
     substituteInPlace configure --replace \
-      "-framework System" \
-      -lSystem
+      "-framework System" "-lSystem"
   '';
 
-  postInstall = "
-    (cd $out/include && ln -s wx-*/* .)
-  ";
-
-  passthru = {
-    inherit compat24 compat26 unicode;
-    gtk = gtk2;
-  };
+  postInstall = ''
+    pushd $out/include
+    ln -s wx-*/* .
+    popd
+  '';
 
   enableParallelBuilding = true;
 
-  meta = {
-    platforms = with platforms; darwin ++ linux;
-    license = licenses.wxWindows;
+  meta = with lib; {
     homepage = "https://www.wxwidgets.org/";
-    description = "a C++ library that lets developers create applications for Windows, macOS, Linux and other platforms with a single code base";
-    longDescription = "wxWidgets gives you a single, easy-to-use API for writing GUI applications on multiple platforms that still utilize the native platform's controls and utilities. Link with the appropriate library for your platform and compiler, and your application will adopt the look and feel appropriate to that platform. On top of great GUI functionality, wxWidgets gives you: online help, network programming, streams, clipboard and drag and drop, multithreading, image loading and saving in a variety of popular formats, database support, HTML viewing and printing, and much more.";
+    description = "A Cross-Platform C++ GUI Library";
+    longDescription = ''
+      wxWidgets gives you a single, easy-to-use API for writing GUI applications
+      on multiple platforms that still utilize the native platform's controls
+      and utilities. Link with the appropriate library for your platform and
+      compiler, and your application will adopt the look and feel appropriate to
+      that platform. On top of great GUI functionality, wxWidgets gives you:
+      online help, network programming, streams, clipboard and drag and drop,
+      multithreading, image loading and saving in a variety of popular formats,
+      database support, HTML viewing and printing, and much more.
+    '';
+    license = licenses.wxWindows;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.darwin ++ platforms.linux;
     badPlatforms = [ "x86_64-darwin" ];
   };
+
+  passthru = {
+    inherit compat24 compat26 unicode;
+    gtk = gtk2;
+  };
 }
diff --git a/pkgs/development/libraries/wxwidgets/3.0/default.nix b/pkgs/development/libraries/wxwidgets/3.0/default.nix
index 30e807cde057b..0469ccbd0dfb7 100644
--- a/pkgs/development/libraries/wxwidgets/3.0/default.nix
+++ b/pkgs/development/libraries/wxwidgets/3.0/default.nix
@@ -1,20 +1,33 @@
-{ lib, stdenv, fetchFromGitHub, fetchurl, pkg-config
-, libXinerama, libSM, libXxf86vm
-, gtk2, gtk3
-, xorgproto, gst_all_1, setfile
-, libGLSupported ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
-, withMesa ? libGLSupported
-, libGLU, libGL
-, compat24 ? false, compat26 ? true, unicode ? true
+{ lib
+, stdenv
+, fetchFromGitHub
+, gst_all_1
+, gtk2
+, gtk3
+, libGL
+, libGLU
+, libSM
+, libXinerama
+, libXxf86vm
+, pkg-config
+, xorgproto
+, withMesa ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
+, compat24 ? false
+, compat26 ? true
+, unicode ? true
 , withGtk2 ? true
 , withWebKit ? false, webkitgtk
-, AGL, Carbon, Cocoa, Kernel, QTKit
+, darwin
 }:
 
-with lib;
-
-assert assertMsg (withGtk2 -> withWebKit == false) "wxGTK30: You cannot enable withWebKit when using withGtk2.";
+assert withGtk2 -> (!withWebKit);
 
+let
+  inherit (darwin.stubs) setfile;
+  inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QTKit;
+  inherit (gst_all_1) gstreamer gst-plugins-base;
+  gtk = if withGtk2 then gtk2 else gtk3;
+in
 stdenv.mkDerivation rec {
   pname = "wxwidgets";
   version = "3.0.5";
@@ -23,73 +36,103 @@ stdenv.mkDerivation rec {
     owner = "wxWidgets";
     repo = "wxWidgets";
     rev = "v${version}";
-    sha256 = "1l33629ifx2dl2j71idqbd2qb6zb1d566ijpkvz6irrr50s6gbx7";
+    hash = "sha256-p69nNCg552j+nldGY0oL65uFRVu4xXCkoE10F5MwY9A=";
   };
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [
+    pkg-config
+  ];
 
   buildInputs = [
-    libXinerama libSM libXxf86vm xorgproto gst_all_1.gstreamer gst_all_1.gst-plugins-base
-  ] ++ optional withGtk2 gtk2
-    ++ optional (!withGtk2) gtk3
-    ++ optional withMesa libGLU
-    ++ optional withWebKit webkitgtk
-    ++ optionals stdenv.isDarwin [ setfile Carbon Cocoa Kernel QTKit ];
+    gstreamer
+    gst-plugins-base
+    gtk
+    libSM
+    libXinerama
+    libXxf86vm
+    xorgproto
+  ]
+  ++ lib.optional withMesa libGLU
+  ++ lib.optional withWebKit webkitgtk
+  ++ lib.optionals stdenv.isDarwin [
+    Carbon
+    Cocoa
+    Kernel
+    QTKit
+    setfile
+  ];
 
-  propagatedBuildInputs = optional stdenv.isDarwin AGL;
+  propagatedBuildInputs = lib.optional stdenv.isDarwin AGL;
 
   patches = [
-    (fetchurl { # https://trac.wxwidgets.org/ticket/17942
-      url = "https://trac.wxwidgets.org/raw-attachment/ticket/17942/"
-          + "fix_assertion_using_hide_in_destroy.diff";
-      sha256 = "009y3dav79wiig789vkkc07g1qdqprg1544lih79199kb1h64lvy";
-    })
+    # https://github.com/wxWidgets/wxWidgets/issues/17942
+    ../0001-fix-assertion-using-hide-in-destroy.patch
   ];
 
-  configureFlags =
-    [ "--disable-precomp-headers" "--enable-mediactrl"
-      (if compat24 then "--enable-compat24" else "--disable-compat24")
-      (if compat26 then "--enable-compat26" else "--disable-compat26") ]
-    ++ optional unicode "--enable-unicode"
-    ++ optional withMesa "--with-opengl"
-    ++ optionals stdenv.isDarwin
-      # allow building on 64-bit
-      [ "--with-cocoa" "--enable-universal-binaries" "--with-macosx-version-min=10.7" ]
-    ++ optionals withWebKit
-      ["--enable-webview" "--enable-webview-webkit"];
+  configureFlags = [
+    "--disable-precomp-headers"
+    "--enable-mediactrl"
+    (if compat24 then "--enable-compat24" else "--disable-compat24")
+    (if compat26 then "--enable-compat26" else "--disable-compat26")
+  ]
+  ++ lib.optional unicode "--enable-unicode"
+  ++ lib.optional withMesa "--with-opengl"
+  ++ lib.optionals stdenv.isDarwin [ # allow building on 64-bit
+    "--enable-universal-binaries"
+    "--with-cocoa"
+    "--with-macosx-version-min=10.7"
+  ]
+  ++ lib.optionals withWebKit [
+    "--enable-webview"
+    "--enable-webview-webkit"
+  ];
 
   SEARCH_LIB = "${libGLU.out}/lib ${libGL.out}/lib ";
 
-  preConfigure = "
-    substituteInPlace configure --replace 'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
-    substituteInPlace configure --replace 'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
-    substituteInPlace configure --replace /usr /no-such-path
-  " + optionalString stdenv.isDarwin ''
+  preConfigure = ''
+    substituteInPlace configure --replace \
+      'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
+    substituteInPlace configure --replace \
+      'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
+    substituteInPlace configure --replace \
+      /usr /no-such-path
+  '' + lib.optionalString stdenv.isDarwin ''
     substituteInPlace configure --replace \
       'ac_cv_prog_SETFILE="/Developer/Tools/SetFile"' \
       'ac_cv_prog_SETFILE="${setfile}/bin/SetFile"'
     substituteInPlace configure --replace \
-      "-framework System" \
-      -lSystem
+      "-framework System" "-lSystem"
   '';
 
-  postInstall = "
-    (cd $out/include && ln -s wx-*/* .)
-  ";
-
-  passthru = {
-    inherit compat24 compat26 unicode;
-    gtk = if withGtk2 then gtk2 else gtk3;
-  };
+  postInstall = ''
+    pushd $out/include
+    ln -s wx-*/* .
+    popd
+  '';
 
   enableParallelBuilding = true;
 
-  meta = {
-    platforms = with platforms; darwin ++ linux;
-    license = licenses.wxWindows;
+  meta = with lib; {
     homepage = "https://www.wxwidgets.org/";
-    description = "a C++ library that lets developers create applications for Windows, macOS, Linux and other platforms with a single code base";
-    longDescription = "wxWidgets gives you a single, easy-to-use API for writing GUI applications on multiple platforms that still utilize the native platform's controls and utilities. Link with the appropriate library for your platform and compiler, and your application will adopt the look and feel appropriate to that platform. On top of great GUI functionality, wxWidgets gives you: online help, network programming, streams, clipboard and drag and drop, multithreading, image loading and saving in a variety of popular formats, database support, HTML viewing and printing, and much more.";
+    description = "A Cross-Platform C++ GUI Library";
+    longDescription = ''
+      wxWidgets gives you a single, easy-to-use API for writing GUI applications
+      on multiple platforms that still utilize the native platform's controls
+      and utilities. Link with the appropriate library for your platform and
+      compiler, and your application will adopt the look and feel appropriate to
+      that platform. On top of great GUI functionality, wxWidgets gives you:
+      online help, network programming, streams, clipboard and drag and drop,
+      multithreading, image loading and saving in a variety of popular formats,
+      database support, HTML viewing and printing, and much more.
+    '';
+    license = licenses.wxWindows;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.linux ++ platforms.darwin;
     badPlatforms = [ "x86_64-darwin" ];
   };
+
+  passthru = {
+    inherit gtk;
+    inherit compat24 compat26 unicode;
+  };
 }
diff --git a/pkgs/development/libraries/wxwidgets/3.0/mac.nix b/pkgs/development/libraries/wxwidgets/3.0/mac.nix
index 22e8184099133..e1f732929cecb 100644
--- a/pkgs/development/libraries/wxwidgets/3.0/mac.nix
+++ b/pkgs/development/libraries/wxwidgets/3.0/mac.nix
@@ -1,69 +1,99 @@
-{ lib, stdenv, fetchzip, expat, libiconv, libjpeg, libpng, libtiff, zlib
-# darwin only attributes
-, derez, rez, setfile
-, AGL, Cocoa, Kernel, WebKit
+{ lib
+, stdenv
+, fetchFromGitHub
+, expat
+, libiconv
+, libjpeg
+, libpng
+, libtiff
+, zlib
+, darwin
 }:
 
+let
+  inherit (darwin.apple_sdk.frameworks) AGL Cocoa Kernel WebKit;
+  inherit (darwin.stubs) derez rez setfile;
+in
 stdenv.mkDerivation rec {
-  version = "3.0.5.1";
   pname = "wxmac";
+  version = "3.0.5.1";
 
-  src = fetchzip {
-    url = "https://github.com/wxWidgets/wxWidgets/archive/v${version}.tar.gz";
-    sha256 = "19mqglghjjqjgz4rbybn3qdgn2cz9xc511nq1pvvli9wx2k8syl1";
+  src = fetchFromGitHub {
+    owner = "wxWidgets";
+    repo = "wxWidgets";
+    rev = "v${version}";
+    hash = "sha256-I91douzXDAfDgm4Pplf17iepv4vIRhXZDRFl9keJJq0=";
   };
 
   buildInputs = [
-    expat libiconv libjpeg libpng libtiff zlib
-    derez rez setfile
-    AGL Cocoa Kernel WebKit
+    expat
+    libiconv
+    libjpeg
+    libpng
+    libtiff
+    zlib
+    AGL
+    Cocoa
+    Kernel
+    WebKit
+    derez
+    rez
+    setfile
   ];
 
   postPatch = ''
-    substituteInPlace configure --replace "-framework System" -lSystem
+    substituteInPlace configure --replace "-framework System" "-lSystem"
   '';
 
   configureFlags = [
-    "wx_cv_std_libfullpath=/var/empty"
-    "--with-macosx-version-min=10.7"
-    "--enable-unicode"
-    "--with-osx_cocoa"
-    "--enable-std_string"
-    "--enable-display"
-    "--with-opengl"
-    "--with-libjpeg"
-    "--with-libtiff"
-    "--without-liblzma"
-    "--with-libpng"
-    "--with-zlib"
-    "--enable-dnd"
+    "--disable-mediactrl"
+    "--disable-precomp-headers"
     "--enable-clipboard"
-    "--enable-webkit"
-    "--enable-svg"
-    "--enable-graphics_ctx"
     "--enable-controls"
     "--enable-dataviewctrl"
+    "--enable-display"
+    "--enable-dnd"
+    "--enable-graphics_ctx"
+    "--enable-std_string"
+    "--enable-svg"
+    "--enable-unicode"
+    "--enable-webkit"
     "--with-expat"
-    "--disable-precomp-headers"
-    "--disable-mediactrl"
+    "--with-libjpeg"
+    "--with-libpng"
+    "--with-libtiff"
+    "--with-macosx-version-min=10.7"
+    "--with-opengl"
+    "--with-osx_cocoa"
+    "--with-zlib"
+    "--without-liblzma"
+    "wx_cv_std_libfullpath=/var/empty"
   ];
 
+  doCheck = true;
   checkPhase = ''
     ./wx-config --libs
   '';
 
   NIX_CFLAGS_COMPILE = "-Wno-undef";
 
-  doCheck = true;
-
   enableParallelBuilding = true;
 
   meta = with lib; {
-    platforms = platforms.darwin;
-    license = licenses.wxWindows;
-    maintainers = [ maintainers.lnl7 ];
     homepage = "https://www.wxwidgets.org/";
-    description = "a C++ library that lets developers create applications for Windows, macOS, Linux and other platforms with a single code base";
-    longDescription = "wxWidgets gives you a single, easy-to-use API for writing GUI applications on multiple platforms that still utilize the native platform's controls and utilities. Link with the appropriate library for your platform and compiler, and your application will adopt the look and feel appropriate to that platform. On top of great GUI functionality, wxWidgets gives you: online help, network programming, streams, clipboard and drag and drop, multithreading, image loading and saving in a variety of popular formats, database support, HTML viewing and printing, and much more.";
+    description = "A Cross-Platform C++ GUI Library - MacOS-only build";
+    longDescription = ''
+      wxWidgets gives you a single, easy-to-use API for writing GUI applications
+      on multiple platforms that still utilize the native platform's controls
+      and utilities. Link with the appropriate library for your platform and
+      compiler, and your application will adopt the look and feel appropriate to
+      that platform. On top of great GUI functionality, wxWidgets gives you:
+      online help, network programming, streams, clipboard and drag and drop,
+      multithreading, image loading and saving in a variety of popular formats,
+      database support, HTML viewing and printing, and much more.
+    '';
+    license = licenses.wxWindows;
+    maintainers = with maintainers; [ lnl7 ];
+    platforms = platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/x264/default.nix b/pkgs/development/libraries/x264/default.nix
index 2c9f476313ecc..dc2b1c40c6cbf 100644
--- a/pkgs/development/libraries/x264/default.nix
+++ b/pkgs/development/libraries/x264/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Library for encoding H264/AVC video streams";
     homepage    = "http://www.videolan.org/developers/x264.html";
-    license     = licenses.gpl2;
+    license     = licenses.gpl2Plus;
     platforms   = platforms.unix;
     maintainers = with maintainers; [ spwhitt tadeokondrak ];
   };
diff --git a/pkgs/development/libraries/x265/default.nix b/pkgs/development/libraries/x265/default.nix
index 495bbc4aaabb8..20c56f4d9037e 100644
--- a/pkgs/development/libraries/x265/default.nix
+++ b/pkgs/development/libraries/x265/default.nix
@@ -1,103 +1,138 @@
-{ lib, stdenv, fetchFromBitbucket, cmake, nasm, numactl
-, numaSupport ? stdenv.hostPlatform.isLinux && (stdenv.hostPlatform.isx86 || stdenv.hostPlatform.isAarch64)  # Enabled by default on NUMA platforms
+{ lib
+, stdenv
+, fetchurl
+, fetchpatch
+, cmake
+, nasm
+
+# NUMA support enabled by default on NUMA platforms:
+, numaSupport ? (stdenv.hostPlatform.isLinux && (stdenv.hostPlatform.isx86 || stdenv.hostPlatform.isAarch64))
+, numactl
+
+# Multi bit-depth support (8bit+10bit+12bit):
+, multibitdepthSupport ? (stdenv.is64bit && !(stdenv.isAarch64 && stdenv.isLinux))
+
+# Other options:
+, cliSupport ? true # Build standalone CLI application
+, custatsSupport ? false # Internal profiling of encoder work
 , debugSupport ? false # Run-time sanity checks (debugging)
-, werrorSupport ? false # Warnings as errors
 , ppaSupport ? false # PPA profiling instrumentation
+, unittestsSupport ? (stdenv.is64bit && !(stdenv.isDarwin && stdenv.isAarch64)) # Unit tests - only testing x64 assembly
 , vtuneSupport ? false # Vtune profiling instrumentation
-, custatsSupport ? false # Internal profiling of encoder work
-, cliSupport ? true # Build standalone CLI application
-, unittestsSupport ? false # Unit tests
+, werrorSupport ? false # Warnings as errors
 }:
 
 let
   mkFlag = optSet: flag: if optSet then "-D${flag}=ON" else "-D${flag}=OFF";
-  inherit (stdenv) is64bit;
 
-  cmakeFlagsAll = [
-    "-DSTATIC_LINK_CRT=OFF"
+  cmakeCommonFlags = [
+    "-Wno-dev"
+    (mkFlag custatsSupport "DETAILED_CU_STATS")
     (mkFlag debugSupport "CHECKED_BUILD")
     (mkFlag ppaSupport "ENABLE_PPA")
     (mkFlag vtuneSupport "ENABLE_VTUNE")
-    (mkFlag custatsSupport "DETAILED_CU_STATS")
-    (mkFlag unittestsSupport "ENABLE_TESTS")
     (mkFlag werrorSupport "WARNINGS_AS_ERRORS")
-  ] ++ lib.optionals stdenv.hostPlatform.isPower [
-    "-DENABLE_ALTIVEC=OFF"
   ];
 
-  version = "3.4";
-
-  src = fetchFromBitbucket {
-    owner = "multicoreware";
-    repo = "x265_git";
-    rev = version;
-    sha256 = "1jzgv2hxhcwmsdf6sbgyzm88a46dp09ll1fqj92g9vckvh9a7dsn";
-  };
-
-  buildLib = has12Bit: stdenv.mkDerivation rec {
-    name = "libx265-${if has12Bit then "12" else "10"}-${version}";
-    inherit src;
-
-    postPatch = ''
-      sed -i 's/unknown/${version}/g' source/cmake/version.cmake
-      sed -i 's/0.0/${version}/g' source/cmake/version.cmake
-    '';
-
-    cmakeLibFlags = [
-      "-DENABLE_CLI=OFF"
-      "-DENABLE_SHARED=OFF"
-      "-DENABLE_HDR10_PLUS=ON"
-      "-DEXPORT_C_API=OFF"
-      "-DHIGH_BIT_DEPTH=ON"
-    ];
-    cmakeFlags = [(mkFlag has12Bit "MAIN12")] ++ cmakeLibFlags ++ cmakeFlagsAll;
-
-    preConfigure = ''
-      cd source
-    '';
-
-    nativeBuildInputs = [cmake nasm] ++ lib.optional numaSupport numactl;
-  };
+  cmakeStaticLibFlags = [
+    "-DHIGH_BIT_DEPTH=ON"
+    "-DENABLE_CLI=OFF"
+    "-DENABLE_SHARED=OFF"
+    "-DEXPORT_C_API=OFF"
+  ] ++ lib.optionals stdenv.hostPlatform.isPower [
+    "-DENABLE_ALTIVEC=OFF" # https://bitbucket.org/multicoreware/x265_git/issues/320/fail-to-build-on-power8-le
+  ];
 
-  libx265-10 = buildLib false;
-  libx265-12 = buildLib true;
 in
 
 stdenv.mkDerivation rec {
   pname = "x265";
-  inherit version src;
+  version = "3.5";
+
+  outputs = [ "out" "dev" ];
+
+  # Check that x265Version.txt contains the expected version number
+  # whether we fetch a source tarball or a tag from the git repo
+  src = fetchurl {
+    url = "https://bitbucket.org/multicoreware/x265_git/downloads/x265_${version}.tar.gz";
+    hash = "sha256-5wozNcrKy7oLOiDsb+zWeDkyKI68gWOtdLzJYGR3yug=";
+  };
+
+  sourceRoot = "x265_${version}/source";
+
+  patches = [
+    # More aliases for ARM platforms + do not force CLFAGS for ARM :
+    (fetchpatch {
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/x265/files/arm-r1.patch?id=1d1de341e1404a46b15ae3e84bc400d474cf1a2c";
+      sha256 = "1hgzq5vxkwh0nyikxjfz8gz3jvx2nq3yy12mz3fn13qvzdlb5ilp";
+    })
+    # use proper check to avoid undefined symbols when enabling assembly on ARM :
+    (fetchpatch {
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/x265/files/neon.patch?id=1d1de341e1404a46b15ae3e84bc400d474cf1a2c";
+      sha256 = "1mmshpbyldrfqxfmdajqal4l647zvlrwdai8pxw99qg4v8gajfii";
+    })
+    # More complete PPC64 matches :
+    (fetchpatch {
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/x265/files/x265-3.3-ppc64.patch?id=1d1de341e1404a46b15ae3e84bc400d474cf1a2c";
+      sha256 = "1mvw678xfm0vr59n5jilq56qzcgk1gmcip2afyafkqiv21nbms8c";
+    })
+    # Namespace functions for multi-bitdepth builds so that libraries are self-contained (and tests succeeds) :
+    (fetchpatch {
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/x265/files/test-ns.patch?id=1d1de341e1404a46b15ae3e84bc400d474cf1a2c";
+      sha256 = "0zg3g53l07yh7ar5c241x50y5zp7g8nh8rh63ad4bdpchpc2f52d";
+    })
+  ];
 
   postPatch = ''
-    sed -i 's/unknown/${version}/g' source/cmake/version.cmake
-    sed -i 's/0.0/${version}/g' source/cmake/version.cmake
+    substituteInPlace cmake/Version.cmake \
+      --replace "unknown" "${version}" \
+      --replace "0.0" "${version}"
+  '';
+
+  nativeBuildInputs = [ cmake nasm ] ++ lib.optionals (numaSupport) [ numactl ];
+
+  # Builds 10bits and 12bits static libs on the side if multi bit-depth is wanted
+  # (we are in x265_<version>/source/build)
+  preBuild = lib.optionalString (multibitdepthSupport) ''
+    cmake -S ../ -B ../build-10bits ${toString cmakeCommonFlags} ${toString cmakeStaticLibFlags}
+    make -C ../build-10bits -j $NIX_BUILD_CORES
+    cmake -S ../ -B ../build-12bits ${toString cmakeCommonFlags} ${toString cmakeStaticLibFlags} -DMAIN12=ON
+    make -C ../build-12bits -j $NIX_BUILD_CORES
+    ln -s ../build-10bits/libx265.a ./libx265-10.a
+    ln -s ../build-12bits/libx265.a ./libx265-12.a
   '';
 
-  cmakeFlags = [
+  cmakeFlags = cmakeCommonFlags ++ [
+    "-DGIT_ARCHETYPE=1" # https://bugs.gentoo.org/814116
     "-DENABLE_SHARED=ON"
     "-DHIGH_BIT_DEPTH=OFF"
-    "-DENABLE_HDR10_PLUS=OFF"
-  ] ++ lib.optionals (is64bit && !(stdenv.isAarch64 && stdenv.isLinux)) [
-    "-DEXTRA_LIB=${libx265-10}/lib/libx265.a;${libx265-12}/lib/libx265.a"
-    "-DLINKED_10BIT=ON"
-    "-DLINKED_12BIT=ON"
+    "-DENABLE_HDR10_PLUS=ON"
   ] ++ [
     (mkFlag cliSupport "ENABLE_CLI")
-  ] ++ cmakeFlagsAll;
+    (mkFlag unittestsSupport "ENABLE_TESTS")
+  ] ++ lib.optionals (multibitdepthSupport) [
+    "-DEXTRA_LIB=x265-10.a;x265-12.a"
+    "-DEXTRA_LINK_FLAGS=-L."
+    "-DLINKED_10BIT=ON"
+    "-DLINKED_12BIT=ON"
+  ];
 
-  preConfigure = ''
-    cd source
+  doCheck = unittestsSupport;
+  checkPhase = ''
+    runHook preCheck
+    ./test/TestBench
+    runHook postCheck
   '';
 
   postInstall = ''
-    rm $out/lib/*.a
+    rm -f ${placeholder "out"}/lib/*.a
   '';
 
-  nativeBuildInputs = [ cmake nasm ] ++ lib.optional numaSupport numactl;
-
   meta = with lib; {
-    description = "Library for encoding h.265/HEVC video streams";
-    homepage    = "http://x265.org";
-    license     = licenses.gpl2;
+    description = "Library for encoding H.265/HEVC video streams";
+    homepage    = "https://www.x265.org/";
+    changelog   = "https://x265.readthedocs.io/en/master/releasenotes.html#version-${lib.strings.replaceStrings ["."] ["-"] version}";
+    license     = licenses.gpl2Plus;
     maintainers = with maintainers; [ codyopel ];
     platforms   = platforms.all;
   };
diff --git a/pkgs/development/libraries/xalanc/default.nix b/pkgs/development/libraries/xalanc/default.nix
index 3451979402b26..b750b26996d5e 100644
--- a/pkgs/development/libraries/xalanc/default.nix
+++ b/pkgs/development/libraries/xalanc/default.nix
@@ -1,38 +1,20 @@
-{ lib, stdenv, fetchurl, xercesc, getopt }:
+{ lib, stdenv, fetchFromGitHub, xercesc, getopt, cmake }:
 
-let
-  platform = if stdenv.isLinux then "linux" else
-             if stdenv.isDarwin then "macosx" else
-             throw "Unsupported platform";
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "xalan-c";
-  version = "1.11";
+  version = "1.12.0";
 
-  src = fetchurl {
-    url = "mirror://apache/xalan/xalan-c/sources/xalan_c-${version}-src.tar.gz";
-    sha256 = "0a3a2b15vpacnqgpp6fiy1pwyc8q6ywzvyb5445f6wixfdspypjg";
+  src = fetchFromGitHub {
+    owner = "apache";
+    repo = "xalan-c";
+    rev = "Xalan-C_1_12_0";
+    sha256 = "sha256:0q1204qk97i9h14vxxq7phcfpyiin0i1zzk74ixvg4wqy87b62s8";
   };
 
-  configurePhase = ''
-    export XALANCROOT=`pwd`/c
-    cd `pwd`/c
-    mkdir -p $out
-    ./runConfigure -p ${platform} -c cc -x c++ -P$out
-  '';
-
-  buildInputs = [ xercesc getopt ];
-
-  # Parallel build fails as:
-  #   c++ ... -c ... ExecutionContext.cpp
-  #   ProblemListenerBase.hpp:28:10: fatal error: LocalMsgIndex.hpp: No such file or directory
-  # The build failure happens due to missing intra-project dependencies
-  # against generated headers. Future 1.12 version dropped
-  # autotools-based build system. Let's disable parallel builds until
-  # next release.
-  enableParallelBuilding = false;
+  buildInputs = [ xercesc getopt cmake ];
 
   meta = {
-    homepage = "http://xalan.apache.org/";
+    homepage = "https://xalan.apache.org/";
     description = "A XSLT processor for transforming XML documents";
     license = lib.licenses.asl20;
     platforms = lib.platforms.linux ++ lib.platforms.darwin;
diff --git a/pkgs/development/libraries/xapian/default.nix b/pkgs/development/libraries/xapian/default.nix
index e2d049cd7b3c7..4d23752b2420c 100644
--- a/pkgs/development/libraries/xapian/default.nix
+++ b/pkgs/development/libraries/xapian/default.nix
@@ -38,5 +38,5 @@ let
     };
   };
 in {
-  xapian_1_4 = generic "1.4.18" "sha256-GW3btK0QRQEA8JkaWZ5O2UTLrZLkpv6BO+bc4WAkS3c=";
+  xapian_1_4 = generic "1.4.19" "sha256-H8pI/KbMNSbMS6k90ZT+nBMmhXt47c+zfmjQhtcUqcM=";
 }
diff --git a/pkgs/development/libraries/xbase/default.nix b/pkgs/development/libraries/xbase/default.nix
index dd5cd21d405f5..d87bcac9829f8 100644
--- a/pkgs/development/libraries/xbase/default.nix
+++ b/pkgs/development/libraries/xbase/default.nix
@@ -13,15 +13,15 @@ stdenv.mkDerivation rec {
   patches = [
     ./xbase-fixes.patch
     (fetchurl {
-      url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-db/xbase/files/xbase-3.1.2-gcc47.patch?revision=1.1";
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-db/xbase/files/xbase-3.1.2-gcc47.patch?id=0b9005ad4b5b743707922877e5157ba6ecdf224f";
       sha256 = "1kpcrkkcqdwl609yd0qxlvp743icz3vni13993sz6fkgn5lah8yl";
     })
     (fetchurl {
-      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-db/xbase/files/xbase-3.1.2-gcc6.patch";
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-db/xbase/files/xbase-3.1.2-gcc6.patch?id=0b9005ad4b5b743707922877e5157ba6ecdf224f";
       sha256 = "1994pqiip5njkcmm5czb1bg6zdldkx1mpandgmvzqrja0iacf953";
     })
     (fetchurl {
-      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-db/xbase/files/xbase-3.1.2-gcc7.patch";
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-db/xbase/files/xbase-3.1.2-gcc7.patch?id=0b9005ad4b5b743707922877e5157ba6ecdf224f";
       sha256 = "1304gn9dbdv8xf61crkg0fc8cal0h4qkyhlbqa8y618w134cxh1q";
     })
   ];
diff --git a/pkgs/development/libraries/xdg-desktop-portal-wlr/default.nix b/pkgs/development/libraries/xdg-desktop-portal-wlr/default.nix
index 4f842e5de1860..a8450b414e542 100644
--- a/pkgs/development/libraries/xdg-desktop-portal-wlr/default.nix
+++ b/pkgs/development/libraries/xdg-desktop-portal-wlr/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xdg-desktop-portal-wlr";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "emersion";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256:13fbzh8bjnhk4xs8j9bpc01q3hy27zpbf0gkk1fnh3hm5pnyfyiv";
+    sha256 = "sha256-weePlNcLmZ3R0IDQ95p0wQvsKTYp+sVlTENJtF8Z78Y=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config wayland-protocols makeWrapper ];
diff --git a/pkgs/development/libraries/xed/default.nix b/pkgs/development/libraries/xed/default.nix
index 395b399d8fe26..d8994581913f4 100644
--- a/pkgs/development/libraries/xed/default.nix
+++ b/pkgs/development/libraries/xed/default.nix
@@ -39,7 +39,7 @@ in stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Intel X86 Encoder Decoder (Intel XED)";
     homepage    = "https://intelxed.github.io/";
-    license     = licenses.apsl20;
+    license     = licenses.asl20;
     platforms   = platforms.unix;
     maintainers = with maintainers; [ arturcygan ];
   };
diff --git a/pkgs/development/libraries/xgboost/default.nix b/pkgs/development/libraries/xgboost/default.nix
index d9e2045062390..b9f35d407b39e 100644
--- a/pkgs/development/libraries/xgboost/default.nix
+++ b/pkgs/development/libraries/xgboost/default.nix
@@ -16,14 +16,14 @@ assert ncclSupport -> cudaSupport;
 
 stdenv.mkDerivation rec {
   pname = "xgboost";
-  version = "1.5.0";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     owner = "dmlc";
     repo = pname;
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-xrRKpZ6NSBtEL2CBN7KggDwIvQKIPD8EBlA0oCJv8mw=";
+    sha256 = "sha256-h7zcHCOxe1h7HRB6idtjf4HUBEoHC4V2pqbN9hpe00g=";
   };
 
   nativeBuildInputs = [ cmake ] ++ lib.optional stdenv.isDarwin llvmPackages.openmp;
diff --git a/pkgs/development/libraries/xine-lib/default.nix b/pkgs/development/libraries/xine-lib/default.nix
index 70fdf24dd9f4c..aab4542ac383b 100644
--- a/pkgs/development/libraries/xine-lib/default.nix
+++ b/pkgs/development/libraries/xine-lib/default.nix
@@ -1,8 +1,10 @@
 { lib
 , stdenv
 , fetchurl
+, fetchpatch
 , aalib
 , alsa-lib
+, autoconf
 , ffmpeg
 , flac
 , libGL
@@ -33,7 +35,23 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-71GyHRDdoQRfp9cRvZFxz9rwpaKHQjO88W/98o7AcAU=";
   };
 
+  patches = [
+    # Fix build with libcaca 0.99.beta20 ; remove for xine-lib 1.2.12
+    (fetchpatch {
+      name = "xine-lib-libcaca-0.99.beta20-fix.patch";
+      url = "https://raw.githubusercontent.com/archlinux/svntogit-community/209ae10d59d29c13633b75aa327cf937f3ff0725/trunk/010-xine-lib-libcaca-0.99.beta20-fix.patch";
+      sha256 = "088141x1yp84y09x3s01v21yzas2bwavxz9v30z5hyq6c3syrmgr";
+    })
+    # Fix build with ffmpeg 5.0 ; remove for xine-lib 1.2.12
+    (fetchpatch {
+      name = "xine-lib-ffmpeg-5.0-fix.patch";
+      url = "https://raw.githubusercontent.com/archlinux/svntogit-community/209ae10d59d29c13633b75aa327cf937f3ff0725/trunk/020-xine-lib-ffmpeg-5.0-fix.patch";
+      sha256 = "15ff15bqxq1nqqazfbmfq6swrdjr2raxyq7hx6k0r61izhf0g8ld";
+    })
+  ];
+
   nativeBuildInputs = [
+    autoconf
     pkg-config
     perl
   ];
@@ -71,7 +89,7 @@ stdenv.mkDerivation rec {
 
 
   meta = with lib; {
-    homepage = "http://www.xinehq.de/";
+    homepage = "http://xine.sourceforge.net/";
     description = "A high-performance, portable and reusable multimedia playback engine";
     license = with licenses; [ gpl2Plus lgpl2Plus ];
     maintainers = with maintainers; [ AndersonTorres ];
diff --git a/pkgs/development/libraries/xml-security-c/default.nix b/pkgs/development/libraries/xml-security-c/default.nix
index 925f9553fdfcb..6be958d7d24d2 100644
--- a/pkgs/development/libraries/xml-security-c/default.nix
+++ b/pkgs/development/libraries/xml-security-c/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ xalanc xercesc openssl ];
 
   meta = {
-    homepage = "http://santuario.apache.org/";
+    homepage = "https://santuario.apache.org/";
     description = "C++ Implementation of W3C security standards for XML";
     license = lib.licenses.gpl2;
     platforms = lib.platforms.unix;
diff --git a/pkgs/development/libraries/xmlsec/default.nix b/pkgs/development/libraries/xmlsec/default.nix
index 1f63b2cfc871b..5f2557514804c 100644
--- a/pkgs/development/libraries/xmlsec/default.nix
+++ b/pkgs/development/libraries/xmlsec/default.nix
@@ -73,7 +73,6 @@ stdenv.mkDerivation rec {
     description = "XML Security Library in C based on libxml2";
     license = lib.licenses.mit;
     platforms = with lib.platforms; linux ++ darwin;
-    updateWalker = true;
   };
 }
 )
diff --git a/pkgs/development/libraries/xxHash/default.nix b/pkgs/development/libraries/xxHash/default.nix
index fbeadc2b353a3..f4fa061128148 100644
--- a/pkgs/development/libraries/xxHash/default.nix
+++ b/pkgs/development/libraries/xxHash/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xxHash";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "Cyan4973";
     repo = "xxHash";
     rev = "v${version}";
-    sha256 = "0hpbzdd6kfki5f61g103vp7pfczqkdj0js63avl0ss552jfb8h96";
+    sha256 = "sha256-2WoYCO6QRHWrbGP2mK04/sLNTyQLOuL3urVktilAwMA=";
   };
 
   # Upstream Makefile does not anticipate that user may not want to
@@ -22,6 +22,11 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "PREFIX=$(dev)" "EXEC_PREFIX=$(out)" ];
 
+  # pkgs/build-support/setup-hooks/compress-man-pages.sh hook fails
+  # to compress symlinked manpages. Avoid compressing manpages until
+  # it's fixed.
+  dontGzipMan = true;
+
   meta = with lib; {
     description = "Extremely fast hash algorithm";
     longDescription = ''
diff --git a/pkgs/development/libraries/zeitgeist/default.nix b/pkgs/development/libraries/zeitgeist/default.nix
index de1953622e93b..d5e058ef726e3 100644
--- a/pkgs/development/libraries/zeitgeist/default.nix
+++ b/pkgs/development/libraries/zeitgeist/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchFromGitLab
-, fetchpatch
 , pkg-config
 , glib
 , sqlite
@@ -20,7 +20,7 @@
 
 stdenv.mkDerivation rec {
   pname = "zeitgeist";
-  version = "1.0.3";
+  version = "1.0.4";
 
   outputs = [ "out" "lib" "dev" "man" ] ++ lib.optional pythonSupport "py";
 
@@ -29,17 +29,9 @@ stdenv.mkDerivation rec {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0y6fyzxl5np4yskcxibd0p03h619w9ir907nhf40h02y0pk1kgkp";
+    sha256 = "kG1N8DXgjYAJ8fbrGHsp7eTqB20H5smzRnW0PSRUYR0=";
   };
 
-  patches = [
-    # Fix build with Vala 0.52
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/zeitgeist/zeitgeist/commit/64ac3a6f94cd299e5e14945dc31b48f009dec152.patch";
-      sha256 = "Dw1kNE3JoFdmgcQ0eFoFLYvmxlPjXNj56Jkn2meINz4=";
-    })
-  ];
-
   nativeBuildInputs = [
     autoconf
     automake
diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix
index 8d7cb3a48c885..48603000c9034 100644
--- a/pkgs/development/libraries/zlib/default.nix
+++ b/pkgs/development/libraries/zlib/default.nix
@@ -22,13 +22,13 @@ assert shared || static;
 assert splitStaticOutput -> static;
 
 stdenv.mkDerivation (rec {
-  name = "zlib-${version}";
+  pname = "zlib";
   version = "1.2.11";
 
   src = fetchurl {
     urls =
-      [ "https://www.zlib.net/fossils/${name}.tar.gz"  # stable archive path
-        "mirror://sourceforge/libpng/zlib/${version}/${name}.tar.gz"
+      [ "https://www.zlib.net/fossils/zlib-${version}.tar.gz"  # stable archive path
+        "mirror://sourceforge/libpng/zlib/${version}/zlib-${version}.tar.gz"
       ];
     sha256 = "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1";
   };
diff --git a/pkgs/development/libraries/zxing-cpp/default.nix b/pkgs/development/libraries/zxing-cpp/default.nix
index aa7db78c4c32a..514ebe9975adc 100644
--- a/pkgs/development/libraries/zxing-cpp/default.nix
+++ b/pkgs/development/libraries/zxing-cpp/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zxing-cpp";
-  version = "1.1.1";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "nu-book";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-N2FTzsjxm3EE5Wqz7xt+FS4zQ60Ow4WbdX6Eo08ktek=";
+    hash = "sha256-M565VNKhSmYFmCMEI9UFuHWNZWeHrf9qzZkMAw9LUr4=";
   };
 
   nativeBuildInputs = [
@@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DBUILD_EXAMPLES=OFF"
+    "-DBUILD_BLACKBOX_TESTS=OFF"
   ];
 
   meta = with lib; {