about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2021-01-10 07:13:44 +0000
committerAlyssa Ross <hi@alyssa.is>2021-01-12 14:07:16 +0000
commite2698550456abba83c6dcd5d5e5a9990a0b96f8a (patch)
tree79a56f0df3fa55e470d84b4dff6059fbf487ec18 /nixpkgs/pkgs/development/libraries
parent1cdc42df888dc98c347e03bd942ed9825a55bcb3 (diff)
parent84d74ae9c9cbed73274b8e4e00be14688ffc93fe (diff)
downloadnixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar
nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar.gz
nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar.bz2
nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar.lz
nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar.xz
nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar.zst
nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.zip
Merge commit '84d74ae9c9cbed73274b8e4e00be14688ffc93fe'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries')
-rw-r--r--nixpkgs/pkgs/development/libraries/CGAL/cgal_path.patch15
-rw-r--r--nixpkgs/pkgs/development/libraries/CGAL/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/LASzip/LASzip2.nix21
-rw-r--r--nixpkgs/pkgs/development/libraries/LASzip/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/SDL2/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/adns/default.nix38
-rw-r--r--nixpkgs/pkgs/development/libraries/afflib/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/agda/agda-categories/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/agda/agda-prelude/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/agda/generic/default.nix31
-rw-r--r--nixpkgs/pkgs/development/libraries/alembic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/allegro/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/allegro/encoding.patch10
-rw-r--r--nixpkgs/pkgs/development/libraries/amdvlk/default.nix99
-rw-r--r--nixpkgs/pkgs/development/libraries/aml/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/apache-activemq/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/appindicator-sharp/default.nix43
-rw-r--r--nixpkgs/pkgs/development/libraries/appstream/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/appstream/qt.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/argp-standalone/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/armadillo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/arrow-cpp/default.nix60
-rw-r--r--nixpkgs/pkgs/development/libraries/arrow-cpp/jemalloc-disable-shared.patch11
-rw-r--r--nixpkgs/pkgs/development/libraries/asio/1.12.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/asio/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/asio/generic.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/aspell/dictionaries.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/assimp/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/attr/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/attr/syscall.patch120
-rw-r--r--nixpkgs/pkgs/development/libraries/audiality2/default.nix39
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/libmysofa/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/lv2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/mbelib/default.nix31
-rw-r--r--nixpkgs/pkgs/development/libraries/avahi/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/ayatana-ido/default.nix29
-rw-r--r--nixpkgs/pkgs/development/libraries/babl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/bctoolbox/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/bzrtp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/c-blosc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/caf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/cairo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/capnproto/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/catch2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/cddlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/cgui/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/check/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/chromaprint/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/cimg/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/cm256cc/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/coin3d/default.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/console-bridge/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/cpp-hocon/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/cpp-utilities/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/crc32c/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/crcpp/default.nix30
-rw-r--r--nixpkgs/pkgs/development/libraries/curlcpp/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/cutelyst/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/dav1d/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/dbus/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/dbxml/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/dclib/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/dlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/docopt_cpp/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/doctest/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/dqlite/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/draco/default.nix34
-rw-r--r--nixpkgs/pkgs/development/libraries/duckdb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/dxflib/default.nix37
-rw-r--r--nixpkgs/pkgs/development/libraries/embree/default.nix37
-rw-r--r--nixpkgs/pkgs/development/libraries/enchant/2.x.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/ethash/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/exiv2/default.nix56
-rw-r--r--nixpkgs/pkgs/development/libraries/faac/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/faad2/default.nix39
-rw-r--r--nixpkgs/pkgs/development/libraries/farstream/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/faudio/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/fcft/default.nix29
-rw-r--r--nixpkgs/pkgs/development/libraries/ffmpeg-full/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/ffmpeg-full/prefer-libdav1d-over-libaom.patch19
-rw-r--r--nixpkgs/pkgs/development/libraries/ffmpeg/2.8.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/ffmpeg/3.4.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/ffmpeg/4.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/ffmpeg/generic.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/flatbuffers/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/flatpak/default.nix54
-rw-r--r--nixpkgs/pkgs/development/libraries/flatpak/fix-test-paths.patch31
-rw-r--r--nixpkgs/pkgs/development/libraries/fontconfig/2.10.nix47
-rw-r--r--nixpkgs/pkgs/development/libraries/fontconfig/config-compat.patch28
-rw-r--r--nixpkgs/pkgs/development/libraries/fontconfig/default.nix104
-rw-r--r--nixpkgs/pkgs/development/libraries/fontconfig/fix-joypixels.patch23
-rw-r--r--nixpkgs/pkgs/development/libraries/fontconfig/make-fonts-cache.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/fontconfig/make-fonts-conf.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl13
-rw-r--r--nixpkgs/pkgs/development/libraries/freeimage/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/gbenchmark/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gdal/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/gdcm/default.nix29
-rw-r--r--nixpkgs/pkgs/development/libraries/gdk-pixbuf/xlib.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/gdl/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/gegl/4.0.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gensio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/geos/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/gettext/default.nix19
-rw-r--r--nixpkgs/pkgs/development/libraries/gettext/gettext.git-2336451ed68d91ff4b5ae1acbc1eca30e47a86a9.patch82
-rw-r--r--nixpkgs/pkgs/development/libraries/gfbgraph/default.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/gjs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gl2ps/default.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/glib/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/glibc/2.27-CVE-2019-19126.patch18
-rw-r--r--nixpkgs/pkgs/development/libraries/glibc/2.31-cve-2020-10029.patch79
-rw-r--r--nixpkgs/pkgs/development/libraries/glibc/common.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/glibmm/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/gloox/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gnu-config/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/goffice/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gperftools/default.nix25
-rw-r--r--nixpkgs/pkgs/development/libraries/gpgme/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/grantlee/5/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/grantlee/5/series2
-rw-r--r--nixpkgs/pkgs/development/libraries/graphene/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/grpc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gssdp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/core/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gnonlin/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-bad/default.nix36
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix60
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/gcc-4.9.patch38
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix52
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/linux-headers-3.9.patch27
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/v4l.patch11
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix30
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix37
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-python/disable-testFake.patch56
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/darwin.patch14
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix89
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh8
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamermm/default.nix31
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/fix_pkgconfig_includedir.patch15
-rw-r--r--nixpkgs/pkgs/development/libraries/gthree/default.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/gtk-layer-shell/default.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/gtk-sharp/3.0.nix32
-rw-r--r--nixpkgs/pkgs/development/libraries/gtk/3.x.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gtksourceview/4.x.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/harfbuzz/default.nix56
-rw-r--r--nixpkgs/pkgs/development/libraries/herqq/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/hiredis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/hivex/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/hpx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/hunspell/dictionaries.nix29
-rw-r--r--nixpkgs/pkgs/development/libraries/igraph/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/ilmbase/cross.patch35
-rw-r--r--nixpkgs/pkgs/development/libraries/ilmbase/default.nix15
-rw-r--r--nixpkgs/pkgs/development/libraries/imlib2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/impy/default.nix44
-rw-r--r--nixpkgs/pkgs/development/libraries/intel-gmmlib/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/intel-media-driver/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/itk/4.x.nix17
-rw-r--r--nixpkgs/pkgs/development/libraries/itk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/jabcode/default.nix46
-rw-r--r--nixpkgs/pkgs/development/libraries/jasper/default.nix51
-rw-r--r--nixpkgs/pkgs/development/libraries/java/commons/lang/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/java/dbus-java/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/java/hsqldb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/java/jzmq/default.nix30
-rw-r--r--nixpkgs/pkgs/development/libraries/java/lombok/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/jbig2dec/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/json-c/default.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/jsoncpp/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/jxrlib/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/series1
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/fetch.sh2
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kauth/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kauth/series1
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kcmutils/0001-kcmutils-follow-symlinks.patch (renamed from nixpkgs/pkgs/development/libraries/kde-frameworks/kcmutils/kcmutils-follow-symlinks.patch)16
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kcmutils/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kcmutils/kcmutils-debug-module-loader.patch13
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kcmutils/series2
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kdav.nix15
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kdelibs4support/series1
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kdesu/default.nix (renamed from nixpkgs/pkgs/development/libraries/kde-frameworks/kdesu.nix)1
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kdesu/kdesu-search-for-wrapped-daemon-first.patch38
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kfilemetadata/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kfilemetadata/series1
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kiconthemes/series1
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kinit/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kinit/series3
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kio/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kio/samba-search-path.patch36
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kio/series2
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/knewstuff.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kpackage/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kpackage/series2
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kquickcharts.nix15
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/krunner.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kservice/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kservice/series2
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kwayland.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kwindowsystem/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kwindowsystem/series1
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/srcs.nix664
-rw-r--r--nixpkgs/pkgs/development/libraries/kdsoap/default.nix39
-rw-r--r--nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/kmsxx/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/kpmcore/default.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/lcms2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/ldb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/leatherman/default.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/leptonica/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libLAS/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/libaacs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libappindicator/default.nix28
-rw-r--r--nixpkgs/pkgs/development/libraries/libayatana-appindicator/default.nix49
-rw-r--r--nixpkgs/pkgs/development/libraries/libayatana-indicator/default.nix36
-rw-r--r--nixpkgs/pkgs/development/libraries/libbacktrace/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/libbap/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libblockdev/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libblocksruntime/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libbytesize/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libcint/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libcrafter/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libcryptui/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/libcryptui/fix-gnupg-2.2.patch26
-rw-r--r--nixpkgs/pkgs/development/libraries/libde265/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libdigidoc/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/libdigidocpp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libdrm/cross-build-nm-path.patch23
-rw-r--r--nixpkgs/pkgs/development/libraries/libdrm/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/libe57format/default.nix55
-rw-r--r--nixpkgs/pkgs/development/libraries/libebml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libevdev/default.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/libevent/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libfilezilla/default.nix15
-rw-r--r--nixpkgs/pkgs/development/libraries/libgaminggear/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libgcrypt/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/libgdiplus/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libglvnd/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libgpg-error/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/libgpiod/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libguestfs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libgumath/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/libgweather/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libhdhomerun/default.nix25
-rw-r--r--nixpkgs/pkgs/development/libraries/libheif/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libidn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libiio/default.nix66
-rw-r--r--nixpkgs/pkgs/development/libraries/libiio/hardcode-library-path.patch38
-rw-r--r--nixpkgs/pkgs/development/libraries/libinput/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libinsane/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libipt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libjpeg-turbo/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/libkml/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/libksba/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/liblinear/default.nix42
-rw-r--r--nixpkgs/pkgs/development/libraries/liblouis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libmatroska/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libmaxminddb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libmbim/default.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/libmediainfo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libmicrohttpd/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libmodulemd/1.nix21
-rw-r--r--nixpkgs/pkgs/development/libraries/libmodulemd/dont-check-docs.patch29
-rw-r--r--nixpkgs/pkgs/development/libraries/libmpc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libmysqlconnectorcpp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libndctl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libndtypes/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/libnftnl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libngspice/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libnsl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/liboping/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libosmium/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libpcap/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libpfm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libpipeline/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libplacebo/default.nix38
-rw-r--r--nixpkgs/pkgs/development/libraries/libpqxx/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libpwquality/default.nix19
-rw-r--r--nixpkgs/pkgs/development/libraries/libqalculate/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libqmi/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/libqtav/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/libraw/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/librealsense/default.nix34
-rw-r--r--nixpkgs/pkgs/development/libraries/librealsense/py_sitepackage_dir.patch15
-rw-r--r--nixpkgs/pkgs/development/libraries/libredwg/default.nix43
-rw-r--r--nixpkgs/pkgs/development/libraries/libressl/default.nix17
-rw-r--r--nixpkgs/pkgs/development/libraries/librseq/default.nix15
-rw-r--r--nixpkgs/pkgs/development/libraries/librsvg/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libseccomp/default.nix20
-rw-r--r--nixpkgs/pkgs/development/libraries/libsidplayfp/default.nix35
-rw-r--r--nixpkgs/pkgs/development/libraries/libsignon-glib/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/libslirp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libsvm/default.nix15
-rw-r--r--nixpkgs/pkgs/development/libraries/libthreadar/default.nix35
-rw-r--r--nixpkgs/pkgs/development/libraries/libtomcrypt/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/libtsm/darwin.patch37
-rw-r--r--nixpkgs/pkgs/development/libraries/libtsm/default.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/libu2f-host/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/libu2f-server/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/libunibreak/default.nix20
-rw-r--r--nixpkgs/pkgs/development/libraries/liburing/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libusb-compat/fix-headers.patch (renamed from nixpkgs/pkgs/development/libraries/libusb/fix-headers.patch)0
-rw-r--r--nixpkgs/pkgs/development/libraries/libusb1/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libuv/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/libva/default.nix17
-rw-r--r--nixpkgs/pkgs/development/libraries/libva/utils.nix (renamed from nixpkgs/pkgs/development/libraries/libva-utils/default.nix)2
-rw-r--r--nixpkgs/pkgs/development/libraries/libversion/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libvirt/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/libvmaf/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/libvncserver/default.nix17
-rw-r--r--nixpkgs/pkgs/development/libraries/libwacom/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libwebsockets/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/libwhereami/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/libxls/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libxml2/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libxmlb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libxnd/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/libxsmm/default.nix33
-rw-r--r--nixpkgs/pkgs/development/libraries/libyaml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/lime/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/lyra/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/mailcore2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/malcontent/better-separation.patch45
-rw-r--r--nixpkgs/pkgs/development/libraries/malcontent/default.nix29
-rw-r--r--nixpkgs/pkgs/development/libraries/malcontent/ui.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/marisa/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/medfile/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/mesa/default.nix31
-rw-r--r--nixpkgs/pkgs/development/libraries/mesa/link-radv-with-ld_args_build_id.patch25
-rw-r--r--nixpkgs/pkgs/development/libraries/mimalloc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/mimetic/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/mimetic/narrowing.patch32
-rw-r--r--nixpkgs/pkgs/development/libraries/mlt/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/mlt/qt-5.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/mp4v2/default.nix30
-rw-r--r--nixpkgs/pkgs/development/libraries/mpfr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/mtxclient/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/muparserx/default.nix42
-rw-r--r--nixpkgs/pkgs/development/libraries/nanomsg/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/nanopb/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/ndi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/neatvnc/default.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/neatvnc/disable-cpu-acceleration.patch17
-rw-r--r--nixpkgs/pkgs/development/libraries/netcdf/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/nghttp2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/notify-sharp/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/ntirpc/default.nix38
-rw-r--r--nixpkgs/pkgs/development/libraries/nuspell/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/nv-codec-headers/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/olm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/oneDNN/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/onnxruntime/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/opencascade-occt/7.3.nix28
-rw-r--r--nixpkgs/pkgs/development/libraries/opencascade-occt/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/opencascade/default.nix25
-rw-r--r--nixpkgs/pkgs/development/libraries/opencl-clhpp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/opencl-headers/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/opencv/3.x.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/opencv/4.x.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/opencv/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/opendht/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/opendmarc/default.nix40
-rw-r--r--nixpkgs/pkgs/development/libraries/openexr/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/openfst/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/opengrm-ngram/default.nix25
-rw-r--r--nixpkgs/pkgs/development/libraries/openimagedenoise/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/openldap/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/openmpi/default.nix17
-rw-r--r--nixpkgs/pkgs/development/libraries/openscenegraph/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/openxr-loader/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/orcania/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/orocos-kdl/default.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/p11-kit/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/packr/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/pango/default.nix15
-rw-r--r--nixpkgs/pkgs/development/libraries/pc-ble-driver/default.nix36
-rw-r--r--nixpkgs/pkgs/development/libraries/pcl/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/pcre2/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/pdal/default.nix98
-rw-r--r--nixpkgs/pkgs/development/libraries/pdf2xml/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/phonetisaurus/default.nix32
-rw-r--r--nixpkgs/pkgs/development/libraries/phonon/backends/vlc.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/physics/hepmc2/default.nix17
-rw-r--r--nixpkgs/pkgs/development/libraries/physics/hepmc2/in_source.patch25
-rw-r--r--nixpkgs/pkgs/development/libraries/physics/hepmc3/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/physics/lhapdf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/physics/rivet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/physics/yoda/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/pipewire/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/pkger/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/plasma-wayland-protocols/default.nix25
-rw-r--r--nixpkgs/pkgs/development/libraries/pmix/default.nix48
-rw-r--r--nixpkgs/pkgs/development/libraries/poppler/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/prometheus-client-c/default.nix71
-rw-r--r--nixpkgs/pkgs/development/libraries/protobuf/3.12.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/protobuf/3.13.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/protolock/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/qca-qt5/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/qgnomeplatform/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/qoauth/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/qpdf/default.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-4.x/4.8/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.12/default.nix35
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.12/qtwebengine-darwin-fix-failed-static-assertion.patch31
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.12/qtwebengine-darwin-no-platform-check.patch44
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.14/default.nix182
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.14/fetch.sh1
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch411
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0002-qtbase-mac.patch116
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0003-qtbase-mkspecs.patch464
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0004-qtbase-replace-libdir.patch68
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0005-qtbase-cmake.patch194
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0006-qtbase-gtk3.patch48
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0007-qtbase-xcursor.patch29
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0008-qtbase-tzdir.patch64
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0009-qtbase-qtpluginpath.patch19
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0010-qtbase-assert.patch32
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0011-fix-header_module.patch25
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.14/qtdeclarative.patch33
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.14/qtscript.patch13
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.14/qtserialport.patch22
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.14/qttools.patch15
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.14/qtwebengine-darwin-no-platform-check.patch33
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.14/qtwebkit-darwin-no-qos-classes.patch11
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.14/qtwebkit-darwin-no-readline.patch45
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.14/qtwebkit.patch12
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.14/srcs.nix342
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/default.nix176
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/fetch.sh1
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch411
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0002-qtbase-mac.patch118
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0003-qtbase-mkspecs.patch464
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0004-qtbase-replace-libdir.patch68
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0005-qtbase-cmake.patch194
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0006-qtbase-gtk3.patch48
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0007-qtbase-xcursor.patch29
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0008-qtbase-tzdir.patch64
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0009-qtbase-qtpluginpath.patch33
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0010-qtbase-assert.patch32
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0011-fix-header_module.patch25
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/qtdeclarative.patch114
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/qtscript.patch13
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/qtserialport.patch22
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/qttools.patch15
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/qtwebengine-darwin-no-platform-check.patch33
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/qtwebkit-darwin-no-qos-classes.patch11
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/qtwebkit-darwin-no-readline.patch45
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/qtwebkit.patch12
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/srcs.nix342
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/modules/qtbase.nix15
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/modules/qtimageformats.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/modules/qtmultimedia.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/modules/qtserialbus.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/modules/qttools.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebengine.nix67
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebkit.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum-qt4/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/qtstyleplugins/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/qtstyleplugins/fix-build-against-Qt-5.15.patch44
-rw-r--r--nixpkgs/pkgs/development/libraries/quazip/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/qwt/6.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/qwt/6_qt4.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/raft-canonical/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/randomx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/rang/default.nix19
-rw-r--r--nixpkgs/pkgs/development/libraries/range-v3/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/rdkafka/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/readosm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/redkite/default.nix25
-rw-r--r--nixpkgs/pkgs/development/libraries/relibc/default.nix79
-rw-r--r--nixpkgs/pkgs/development/libraries/rlottie/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/rnnoise-plugin/default.nix25
-rw-r--r--nixpkgs/pkgs/development/libraries/robin-map/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/rocclr/default.nix64
-rw-r--r--nixpkgs/pkgs/development/libraries/rocksdb/default.nix33
-rw-r--r--nixpkgs/pkgs/development/libraries/rocm-comgr/default.nix46
-rw-r--r--nixpkgs/pkgs/development/libraries/rocm-device-libs/default.nix40
-rw-r--r--nixpkgs/pkgs/development/libraries/rocm-opencl-icd/default.nix20
-rw-r--r--nixpkgs/pkgs/development/libraries/rocm-opencl-runtime/default.nix83
-rw-r--r--nixpkgs/pkgs/development/libraries/rocm-runtime/default.nix48
-rw-r--r--nixpkgs/pkgs/development/libraries/rocm-thunk/default.nix37
-rw-r--r--nixpkgs/pkgs/development/libraries/science/biology/nifticlib/default.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/amd-blis/default.nix67
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/amd-libflame/add-lapacke.diff34
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/amd-libflame/default.nix72
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/arpack/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/blis/default.nix64
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/cliquer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/cudnn/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/cudnn/generic.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/itpp/default.nix55
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/libtorch/bin.nix111
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/libtorch/binary-hashes.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/libtorch/test/CMakeLists.txt4
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/libtorch/test/default.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/libtorch/test/test.cpp7
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/magma/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/mkl/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/nccl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/openblas/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/openlibm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/or-tools/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/osqp/default.nix27
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/petsc/default.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/suitesparse/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/seasocks/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/serd/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/serf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/serialdv/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/simgear/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/snap7/default.nix38
-rw-r--r--nixpkgs/pkgs/development/libraries/soil/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/sope/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/soqt/default.nix27
-rw-r--r--nixpkgs/pkgs/development/libraries/sord/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/sparsehash/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/spdk/default.nix44
-rw-r--r--nixpkgs/pkgs/development/libraries/spdlog/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/speechd/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/sqlite/analyzer.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/sqlite/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/sqlite/tools.nix43
-rw-r--r--nixpkgs/pkgs/development/libraries/strigi/default.nix43
-rw-r--r--nixpkgs/pkgs/development/libraries/strigi/export_bufferedstream.patch12
-rw-r--r--nixpkgs/pkgs/development/libraries/strigi/gcc6.patch45
-rw-r--r--nixpkgs/pkgs/development/libraries/sundials/2.x.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/sundials/default.nix29
-rw-r--r--nixpkgs/pkgs/development/libraries/swiften/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/swiftshader/default.nix63
-rw-r--r--nixpkgs/pkgs/development/libraries/tbb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/telepathy/qt/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/tiledb/default.nix19
-rw-r--r--nixpkgs/pkgs/development/libraries/timezonemap/default.nix65
-rw-r--r--nixpkgs/pkgs/development/libraries/tinycbor/default.nix22
-rw-r--r--nixpkgs/pkgs/development/libraries/tk/generic.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/tllist/default.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/tremor/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/tweeny/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/uci/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/ucx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/unicorn-emu/default.nix20
-rw-r--r--nixpkgs/pkgs/development/libraries/urdfdom-headers/default.nix31
-rw-r--r--nixpkgs/pkgs/development/libraries/urdfdom/default.nix39
-rw-r--r--nixpkgs/pkgs/development/libraries/utf8cpp/default.nix32
-rw-r--r--nixpkgs/pkgs/development/libraries/utf8proc/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/vaapi-intel/default.nix34
-rw-r--r--nixpkgs/pkgs/development/libraries/vid-stab/default.nix27
-rw-r--r--nixpkgs/pkgs/development/libraries/vmmlib/default.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/vtk/9.x.nix95
-rw-r--r--nixpkgs/pkgs/development/libraries/vulkan-loader/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/wasilibc/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/waylandpp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/wcslib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/webkit2-sharp/default.nix49
-rw-r--r--nixpkgs/pkgs/development/libraries/webkitgtk/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/wiiuse/default.nix33
-rw-r--r--nixpkgs/pkgs/development/libraries/wlroots/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/wolfssl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/wxsqlite3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/wxwidgets/2.8/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/wxwidgets/2.9/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/wxwidgets/3.0/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/wxwidgets/3.1/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/x265/default.nix68
-rw-r--r--nixpkgs/pkgs/development/libraries/xapian/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/xdg-desktop-portal/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/xmlsec/default.nix35
-rw-r--r--nixpkgs/pkgs/development/libraries/xmlsec/lt_dladdsearchdir.patch16
-rw-r--r--nixpkgs/pkgs/development/libraries/xxHash/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/yder/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/zeromq/3.x.nix22
-rw-r--r--nixpkgs/pkgs/development/libraries/zimg/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/zlog/default.nix30
-rw-r--r--nixpkgs/pkgs/development/libraries/zziplib/default.nix16
582 files changed, 10689 insertions, 3138 deletions
diff --git a/nixpkgs/pkgs/development/libraries/CGAL/cgal_path.patch b/nixpkgs/pkgs/development/libraries/CGAL/cgal_path.patch
new file mode 100644
index 000000000000..68eec5fbb21f
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/CGAL/cgal_path.patch
@@ -0,0 +1,15 @@
+--- Installation/cmake/modules/CGALConfig_install.cmake.in.original	2019-07-10 10:39:12.377022659 -0700
++++ Installation/cmake/modules/CGALConfig_install.cmake.in	2019-07-10 10:47:24.310154928 -0700
+@@ -45,9 +45,9 @@
+ set(CGAL_SHARED_LINKER_FLAGS_DEBUG_INIT   "@CMAKE_SHARED_LINKER_FLAGS_DEBUG@" )
+ set(CGAL_BUILD_TYPE_INIT                  "@CMAKE_BUILD_TYPE@" )
+
+-set(CGAL_INCLUDE_DIRS  "${CGAL_INSTALL_PREFIX}/@CGAL_INSTALL_INC_DIR@" )
+-set(CGAL_MODULES_DIR   "${CGAL_INSTALL_PREFIX}/@CGAL_INSTALL_CMAKE_DIR@" )
+-set(CGAL_LIBRARIES_DIR "${CGAL_INSTALL_PREFIX}/@CGAL_INSTALL_LIB_DIR@" )
++set(CGAL_INCLUDE_DIRS  "@CGAL_INSTALL_INC_DIR@" )
++set(CGAL_MODULES_DIR   "@CGAL_INSTALL_CMAKE_DIR@" )
++set(CGAL_LIBRARIES_DIR "@CGAL_INSTALL_LIB_DIR@" )
+
+ # If CGAL_ImageIO is built, tell if it was linked with Zlib.
+ set(CGAL_ImageIO_USE_ZLIB                 "@CGAL_ImageIO_USE_ZLIB@" )
diff --git a/nixpkgs/pkgs/development/libraries/CGAL/default.nix b/nixpkgs/pkgs/development/libraries/CGAL/default.nix
index 16a643e2a7ff..97ddab1a32e5 100644
--- a/nixpkgs/pkgs/development/libraries/CGAL/default.nix
+++ b/nixpkgs/pkgs/development/libraries/CGAL/default.nix
@@ -1,14 +1,20 @@
-{ stdenv, fetchFromGitHub, cmake, boost, gmp, mpfr }:
+{ stdenv
+, fetchFromGitHub
+, cmake
+, boost
+, gmp
+, mpfr
+}:
 
 stdenv.mkDerivation rec {
-  version = "5.0.2";
-  name = "cgal-" + version;
+  pname = "cgal";
+  version = "5.0.3";
 
   src = fetchFromGitHub {
     owner = "CGAL";
     repo = "releases";
     rev = "CGAL-${version}";
-    sha256 = "0w97knzw85mljrmns8fxjqinx0fqwls9g91mk434ryf6ciy6yign";
+    sha256 = "1p22dwrzzvbmrfjr6m3dac55nq8pp0b9afp3vz6239yp3gf2fcws";
   };
 
   # note: optional component libCGAL_ImageIO would need zlib and opengl;
@@ -16,6 +22,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ boost gmp mpfr ];
   nativeBuildInputs = [ cmake ];
 
+  patches = [ ./cgal_path.patch ];
+
   doCheck = false;
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/libraries/LASzip/LASzip2.nix b/nixpkgs/pkgs/development/libraries/LASzip/LASzip2.nix
new file mode 100644
index 000000000000..2eb309631289
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/LASzip/LASzip2.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, 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";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with stdenv.lib; {
+    description = "Turn quickly bulky LAS files into compact LAZ files without information loss";
+    homepage = "https://laszip.org";
+    license = licenses.lgpl2;
+    maintainers = [ maintainers.michelk ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/LASzip/default.nix b/nixpkgs/pkgs/development/libraries/LASzip/default.nix
index fb747dc9f33c..0300aa37f0f9 100644
--- a/nixpkgs/pkgs/development/libraries/LASzip/default.nix
+++ b/nixpkgs/pkgs/development/libraries/LASzip/default.nix
@@ -1,15 +1,19 @@
-{ stdenv, fetchurl, cmake }:
+{ stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
-  version = "2.2.0";
+  version = "3.4.3";
   pname = "LASzip";
 
-  src = fetchurl {
-    url = "https://github.com/LASzip/LASzip/archive/v${version}.tar.gz";
-    sha256 = "b8e8cc295f764b9d402bc587f3aac67c83ed8b39f1cb686b07c168579c61fbb2";
+  src = fetchFromGitHub {
+    owner = "LASzip";
+    repo = "LASzip";
+    rev = version;
+    sha256 = "09lcsgxwv0jq50fhsgfhx0npbf1zcwn3hbnq6q78fshqksbxmz7m";
   };
 
-  buildInputs = [cmake];
+  nativeBuildInputs = [
+    cmake
+  ];
 
   meta = {
     description = "Turn quickly bulky LAS files into compact LAZ files without information loss";
diff --git a/nixpkgs/pkgs/development/libraries/SDL2/default.nix b/nixpkgs/pkgs/development/libraries/SDL2/default.nix
index 5f3d42b4da37..31624bee2fb3 100644
--- a/nixpkgs/pkgs/development/libraries/SDL2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/SDL2/default.nix
@@ -42,9 +42,14 @@ stdenv.mkDerivation rec {
     substituteInPlace include/SDL_opengl_glext.h \
       --replace "typedef ptrdiff_t GLsizeiptr;" "typedef signed long int khronos_ssize_t; typedef khronos_ssize_t GLsizeiptr;" \
       --replace "typedef ptrdiff_t GLintptr;" "typedef signed long int khronos_intptr_t; typedef khronos_intptr_t GLintptr;"
+
+    substituteInPlace configure \
+      --replace 'WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`' 'WAYLAND_SCANNER=`pkg-config --variable=wayland_scanner wayland-scanner`'
   '';
 
-  nativeBuildInputs = [ pkgconfig ];
+  depsBuildBuild = [ pkgconfig ];
+
+  nativeBuildInputs = [ pkgconfig ] ++ optionals waylandSupport [ wayland ];
 
   propagatedBuildInputs = dlopenPropagatedBuildInputs;
 
diff --git a/nixpkgs/pkgs/development/libraries/adns/default.nix b/nixpkgs/pkgs/development/libraries/adns/default.nix
index 2f468c7f4c1f..db5284e91278 100644
--- a/nixpkgs/pkgs/development/libraries/adns/default.nix
+++ b/nixpkgs/pkgs/development/libraries/adns/default.nix
@@ -1,11 +1,8 @@
-{ stdenv, fetchurl }:
+{ stdenv, lib, fetchurl, gnum4 }:
 
-let
-  version = "1.5.1";
-in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "adns";
-  inherit version;
+  version = "1.6.0";
 
   src = fetchurl {
     urls = [
@@ -13,25 +10,38 @@ stdenv.mkDerivation {
       "ftp://ftp.chiark.greenend.org.uk/users/ian/adns/adns-${version}.tar.gz"
       "mirror://gnu/adns/adns-${version}.tar.gz"
     ];
-    sha256 = "1ssfh94ck6kn98nf2yy6743srpgqgd167va5ja3bwx42igqjc42v";
+    sha256 = "1pi0xl07pav4zm2jrbrfpv43s1r1q1y12awgak8k7q41m5jp4hpv";
   };
 
+  nativeBuildInputs = [ gnum4 ];
+
   preConfigure =
-    stdenv.lib.optionalString stdenv.isDarwin "sed -i -e 's|-Wl,-soname=$(SHLIBSONAME)||' configure";
+    lib.optionalString stdenv.isDarwin "sed -i -e 's|-Wl,-soname=$(SHLIBSONAME)||' configure";
 
   # https://www.mail-archive.com/nix-dev@cs.uu.nl/msg01347.html for details.
   doCheck = false;
 
-  postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
-    install_name_tool -id $out/lib/libadns.so.1.5 $out/lib/libadns.so.1.5
+  postInstall = let suffix = lib.versions.majorMinor version;
+  in lib.optionalString stdenv.isDarwin ''
+    install_name_tool -id $out/lib/libadns.so.${suffix} $out/lib/libadns.so.${suffix}
+  '';
+
+  # darwin executables fail, but I don't want to fail the 100-500 packages depending on this lib
+  doInstallCheck = !stdenv.isDarwin;
+  installCheckPhase = ''
+    set -eo pipefail
+
+    for prog in $out/bin/*; do
+      $prog --help > /dev/null && echo $(basename $prog) shows usage
+    done
   '';
 
-  meta = {
+  meta = with lib; {
     homepage = "http://www.chiark.greenend.org.uk/~ian/adns/";
     description = "Asynchronous DNS Resolver Library";
-    license = stdenv.lib.licenses.lgpl2;
+    license = licenses.lgpl2;
 
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.peti ];
+    platforms = platforms.unix;
+    maintainers = [ maintainers.peti ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/afflib/default.nix b/nixpkgs/pkgs/development/libraries/afflib/default.nix
index 716517262616..030ff73f97f8 100644
--- a/nixpkgs/pkgs/development/libraries/afflib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/afflib/default.nix
@@ -3,23 +3,24 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.7.18";
+  version = "3.7.19";
   pname = "afflib";
 
   src = fetchFromGitHub {
     owner = "sshock";
     repo = "AFFLIBv3";
     rev = "v${version}";
-    sha256 = "0963gw316p4nyxa9zxmgif29p8i99k898av2g78g28dxafqj3w8c";
+    sha256 = "1qs843yi33yqbp0scqirn753lxzg762rz6xy2h3f8f77fijqj2qb";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ zlib curl expat fuse openssl python3 ];
+  buildInputs = [ zlib curl expat openssl python3 ]
+    ++ stdenv.lib.optionals stdenv.isLinux [ fuse ];
 
   meta = {
     homepage = "http://afflib.sourceforge.net/";
     description = "Advanced forensic format library";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     license = stdenv.lib.licenses.bsdOriginal;
     maintainers = [ stdenv.lib.maintainers.raskin ];
     inherit version;
diff --git a/nixpkgs/pkgs/development/libraries/agda/agda-categories/default.nix b/nixpkgs/pkgs/development/libraries/agda/agda-categories/default.nix
index 9eb68b5a64ac..13ca6c52d71a 100644
--- a/nixpkgs/pkgs/development/libraries/agda/agda-categories/default.nix
+++ b/nixpkgs/pkgs/development/libraries/agda/agda-categories/default.nix
@@ -1,14 +1,14 @@
 { lib, mkDerivation, fetchFromGitHub, standard-library }:
 
 mkDerivation rec {
-  version = "0.1";
+  version = "0.1.3.1";
   pname = "agda-categories";
 
   src = fetchFromGitHub {
     owner = "agda";
     repo = "agda-categories";
-    rev = "release/v${version}";
-    sha256 = "0m4pjy92jg6zfziyv0bxv5if03g8k4413ld8c3ii2xa8bzfn04m2";
+    rev = "v${version}";
+    sha256 = "08mc20qaz9vp5rhi60rh8wvjkg5aby3bgwwdhfnxha1663qf1q24";
   };
 
   buildInputs = [ standard-library ];
@@ -18,11 +18,6 @@ mkDerivation rec {
     description = "A new Categories library";
     license = licenses.bsd3;
     platforms = platforms.unix;
-    # agda categories takes a lot of memory to build.
-    # This can be removed if this is eventually fixed upstream.
-    hydraPlatforms = [];
-    # Waiting for release 0.2 for this to work
-    broken = true;
     maintainers = with maintainers; [ alexarice turion ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/agda/agda-prelude/default.nix b/nixpkgs/pkgs/development/libraries/agda/agda-prelude/default.nix
index 2bec10c02dd1..f13cc6982365 100644
--- a/nixpkgs/pkgs/development/libraries/agda/agda-prelude/default.nix
+++ b/nixpkgs/pkgs/development/libraries/agda/agda-prelude/default.nix
@@ -1,14 +1,14 @@
 { stdenv, mkDerivation, fetchFromGitHub }:
 
 mkDerivation rec {
-  version = "compat-2.6.0";
+  version = "compat-2.6.1";
   pname = "agda-prelude";
 
   src = fetchFromGitHub {
     owner = "UlfNorell";
     repo = "agda-prelude";
     rev = version;
-    sha256 = "0brg61qrf8izqav80qpx77dbdxvlnsxyy0v7hmlrmhg68b5lp38y";
+    sha256 = "128rbhd32qlq2nq3wgqni4ih58zzwvs9pkn9j8236ycxxp6x81sl";
   };
 
   preConfigure = ''
@@ -18,15 +18,11 @@ mkDerivation rec {
     cd ..
   '';
 
-  everythingFile = "./Everything.agda";
-
   meta = with stdenv.lib; {
     homepage = "https://github.com/UlfNorell/agda-prelude";
     description = "Programming library for Agda";
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.unix;
-    # broken since Agda 2.6.1
-    broken = true;
     maintainers = with maintainers; [ mudri alexarice turion ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/agda/generic/default.nix b/nixpkgs/pkgs/development/libraries/agda/generic/default.nix
new file mode 100644
index 000000000000..1287e08bda1d
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/agda/generic/default.nix
@@ -0,0 +1,31 @@
+{ lib, mkDerivation, fetchFromGitHub, standard-library }:
+
+mkDerivation rec {
+  pname = "generic";
+  version = "0.1";
+
+  src = fetchFromGitHub {
+    repo = "Generic";
+    owner = "effectfully";
+    rev = "v${version}";
+    sha256 = "121121rg3daaqp91845fbyws6g28hyj1ywmh12n54r3nicb35g5q";
+  };
+
+  buildInputs = [
+    standard-library
+  ];
+
+  preBuild = ''
+    echo "module Everything where" > Everything.agda
+	  find src -name '*.agda' | sed -e 's/src\///;s/\//./g;s/\.agda$//;s/^/import /' >> Everything.agda
+  '';
+
+  meta = with lib; {
+    description =
+      "A library for doing generic programming in Agda";
+    homepage = src.meta.homepage;
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ alexarice turion ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/alembic/default.nix b/nixpkgs/pkgs/development/libraries/alembic/default.nix
index 0c3ba0abaa9a..1bb79a64ba10 100644
--- a/nixpkgs/pkgs/development/libraries/alembic/default.nix
+++ b/nixpkgs/pkgs/development/libraries/alembic/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec
 {
   pname = "alembic";
-  version = "1.7.12";
+  version = "1.7.14";
 
   src = fetchFromGitHub {
     owner = "alembic";
     repo = "alembic";
     rev = version;
-    sha256 = "0a9icrv6pwh2b73lywq1aj7i19pmzpg59iy3ngal8vq4zdciylqc";
+    sha256 = "0yri063v7j5jsvqbmlwr0hf2d1a55dgc1nj85rf10sxqhijwzk55";
   };
 
   outputs = [ "bin" "dev" "out" "lib" ];
diff --git a/nixpkgs/pkgs/development/libraries/allegro/default.nix b/nixpkgs/pkgs/development/libraries/allegro/default.nix
index 6071f63255d9..99d75225036e 100644
--- a/nixpkgs/pkgs/development/libraries/allegro/default.nix
+++ b/nixpkgs/pkgs/development/libraries/allegro/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, texinfo, libXext, xorgproto, libX11
+{ stdenv, fetchurl, texinfo6_5, libXext, xorgproto, libX11
 , libXpm, libXt, libXcursor, alsaLib, cmake, zlib, libpng, libvorbis
 , libXxf86dga, libXxf86misc
 , libXxf86vm, openal, libGLU, libGL }:
@@ -14,10 +14,11 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./nix-unstable-sandbox-fix.patch
+    ./encoding.patch
   ];
 
   buildInputs = [
-    texinfo libXext xorgproto libX11 libXpm libXt libXcursor
+    texinfo6_5 libXext xorgproto libX11 libXpm libXt libXcursor
     alsaLib cmake zlib libpng libvorbis libXxf86dga libXxf86misc
     libXxf86vm openal libGLU libGL
   ];
diff --git a/nixpkgs/pkgs/development/libraries/allegro/encoding.patch b/nixpkgs/pkgs/development/libraries/allegro/encoding.patch
new file mode 100644
index 000000000000..1dca94752801
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/allegro/encoding.patch
@@ -0,0 +1,10 @@
+--- allegro-4.4.3/docs/src/allegro._tx.orig     2019-02-02 20:28:46.000000000 +0100
++++ allegro-4.4.3/docs/src/allegro._tx  2019-11-04 11:12:39.352699777 +0100
+@@ -23,6 +23,7 @@
+ @man_shortdesc_force1=allegro
+ @man_shortdesc_force2=Allegro game programming library.
+ @$\input texinfo
++@$@documentencoding ISO-8859-1
+ @$@setfilename allegro.inf
+ @$@settitle Allegro Manual
+ @$@setchapternewpage odd
\ No newline at end of file
diff --git a/nixpkgs/pkgs/development/libraries/amdvlk/default.nix b/nixpkgs/pkgs/development/libraries/amdvlk/default.nix
new file mode 100644
index 000000000000..1f75892b9ac8
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/amdvlk/default.nix
@@ -0,0 +1,99 @@
+{ stdenv
+, lib
+, fetchRepoProject
+, cmake
+, ninja
+, patchelf
+, perl
+, pkgconfig
+, python3
+, expat
+, libdrm
+, ncurses
+, openssl
+, wayland
+, xorg
+, zlib
+}:
+let
+
+  suffix = if stdenv.system == "x86_64-linux" then "64" else "32";
+
+in stdenv.mkDerivation rec {
+  pname = "amdvlk";
+  version = "2020.Q3.5";
+
+  src = fetchRepoProject {
+    name = "${pname}-src";
+    manifest = "https://github.com/GPUOpen-Drivers/AMDVLK.git";
+    rev = "refs/tags/v-${version}";
+    sha256 = "08fj3cg3axnwadlpfim23g5nyjl69044fqxdr57af6y79441njay";
+  };
+
+  buildInputs = [
+    expat
+    ncurses
+    openssl
+    wayland
+    xorg.libX11
+    xorg.libxcb
+    xorg.xcbproto
+    xorg.libXext
+    xorg.libXrandr
+    xorg.libXft
+    xorg.libxshmfence
+    zlib
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    ninja
+    patchelf
+    perl
+    pkgconfig
+    python3
+  ];
+
+  rpath = lib.makeLibraryPath [
+    libdrm
+    openssl
+    stdenv.cc.cc.lib
+    xorg.libX11
+    xorg.libxcb
+    xorg.libxshmfence
+  ];
+
+  cmakeDir = "../drivers/xgl";
+
+  # LTO is disabled in gcc for i686 as of #66528
+  cmakeFlags = stdenv.lib.optionals stdenv.is32bit ["-DXGL_ENABLE_LTO=OFF"];
+
+  postPatch = stdenv.lib.optionalString stdenv.is32bit ''
+    substituteInPlace drivers/pal/cmake/PalCompilerOptions.cmake \
+      --replace "pal_setup_gcc_ipo()" ""
+  '';
+
+  installPhase = ''
+    install -Dm755 -t $out/lib icd/amdvlk${suffix}.so
+    install -Dm644 -t $out/share/vulkan/icd.d ../drivers/AMDVLK/json/Redhat/amd_icd${suffix}.json
+
+    substituteInPlace $out/share/vulkan/icd.d/amd_icd${suffix}.json --replace \
+      "/usr/lib64" "$out/lib"
+    substituteInPlace $out/share/vulkan/icd.d/amd_icd${suffix}.json --replace \
+      "/usr/lib" "$out/lib"
+
+    patchelf --set-rpath "$rpath" $out/lib/amdvlk${suffix}.so
+  '';
+
+  # Keep the rpath, otherwise vulkaninfo and vkcube segfault
+  dontPatchELF = true;
+
+  meta = with stdenv.lib; {
+    description = "AMD Open Source Driver For Vulkan";
+    homepage = "https://github.com/GPUOpen-Drivers/AMDVLK";
+    changelog = "https://github.com/GPUOpen-Drivers/AMDVLK/releases/tag/v-${version}";
+    license = licenses.mit;
+    platforms = [ "x86_64-linux" "i686-linux" ];
+    maintainers = with maintainers; [ danieldk Flakebi ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/aml/default.nix b/nixpkgs/pkgs/development/libraries/aml/default.nix
new file mode 100644
index 000000000000..0b753618ba6a
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/aml/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, meson, pkg-config, ninja }:
+
+stdenv.mkDerivation rec {
+  pname = "aml";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "any1";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1pmiflkd9idnf6p0rnmccqqlj87k8crz9ixpx6rix671vnpk0xzi";
+  };
+
+  nativeBuildInputs = [ meson pkg-config ninja ];
+
+  meta = with stdenv.lib; {
+    description = "Another main loop";
+    inherit (src.meta) homepage;
+    license = licenses.isc;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ primeos ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/apache-activemq/default.nix b/nixpkgs/pkgs/development/libraries/apache-activemq/default.nix
index c09fb8d91ee1..8490541546b5 100644
--- a/nixpkgs/pkgs/development/libraries/apache-activemq/default.nix
+++ b/nixpkgs/pkgs/development/libraries/apache-activemq/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "apache-activemq";
-  version = "5.15.13";
+  version = "5.16.0";
 
   src = fetchurl {
-    sha256 = "1hzapnd0lbiid243xiaz8kv67al8griccjj4dabml62hqhrk9k96";
+    sha256 = "0x68l4n0v2jqmbawdgpghmhnchpg1jsvxzskj6s4hjll6hdgb6fk";
     url = "mirror://apache/activemq/${version}/${pname}-${version}-bin.tar.gz";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/appindicator-sharp/default.nix b/nixpkgs/pkgs/development/libraries/appindicator-sharp/default.nix
new file mode 100644
index 000000000000..9eff4e3895ba
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/appindicator-sharp/default.nix
@@ -0,0 +1,43 @@
+{
+  autoreconfHook,
+  fetchFromGitHub,
+  lib,
+  libappindicator,
+  mono,
+  gtk-sharp-3_0,
+  pkg-config,
+  stdenv,
+}:
+
+stdenv.mkDerivation rec {
+  pname = "appindicator-sharp";
+  version = "5a79cde93da6d68a4b1373f1ce5796c3c5fe1b37";
+
+  src = fetchFromGitHub {
+    owner = "stsundermann";
+    repo = "appindicator-sharp";
+    rev = version;
+    sha256 = "sha256:1i0vqbp05l29f5v9ygp7flm4s05pcnn5ivl578mxmhb51s7ncw6l";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+    mono
+    pkg-config
+  ];
+
+  buildInputs = [
+    gtk-sharp-3_0
+    libappindicator
+  ];
+
+  ac_cv_path_MDOC = "no";
+  installFlagsArray = ["GAPIXMLDIR=/tmp/gapixml"];
+
+  meta = {
+    description = "Bindings for appindicator using gobject-introspection";
+    homepage = "https://github.com/stsundermann/appindicator-sharp";
+    license = lib.licenses.lgpl3Only;
+    maintainers = with lib.maintainers; [ kevincox ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/appstream/default.nix b/nixpkgs/pkgs/development/libraries/appstream/default.nix
index bffd281d0de4..45f27b38a63d 100644
--- a/nixpkgs/pkgs/development/libraries/appstream/default.nix
+++ b/nixpkgs/pkgs/development/libraries/appstream/default.nix
@@ -1,18 +1,20 @@
 { stdenv, fetchFromGitHub, meson, ninja, pkgconfig, gettext
 , xmlto, docbook_xsl, docbook_xml_dtd_45, libxslt
 , libstemmer, glib, xapian, libxml2, libyaml, gobject-introspection
-, pcre, itstool, gperf, vala
+, pcre, itstool, gperf, vala, lmdb, libsoup
 }:
 
 stdenv.mkDerivation rec {
   pname = "appstream";
-  version = "0.12.6";
+  version = "0.12.11";
+
+  outputs = [ "out" "dev" ];
 
   src = fetchFromGitHub {
     owner  = "ximion";
     repo   = "appstream";
-    rev    = "APPSTREAM_${stdenv.lib.replaceStrings ["."] ["_"] version}";
-    sha256 = "0hbl26aw3g2hag7z4di9z59qz057qcywrxpnnmp86z7rngvjbqpx";
+    rev    = "v${version}";
+    sha256 = "sha256-bCDyMwQdn9Csxs2hy4dm+LjtxK4+YBK6yDkAdhu1QVU=";
   };
 
   nativeBuildInputs = [
@@ -21,7 +23,7 @@ stdenv.mkDerivation rec {
     gobject-introspection itstool vala
   ];
 
-  buildInputs = [ libstemmer pcre glib xapian libxml2 libyaml gperf ];
+  buildInputs = [ libstemmer pcre glib xapian libxml2 libyaml gperf lmdb libsoup ];
 
   prePatch = ''
     substituteInPlace meson.build \
@@ -47,6 +49,6 @@ stdenv.mkDerivation rec {
       can be consumed by other software.
     '';
     license     = licenses.lgpl21Plus;
-    platforms   = platforms.linux;
+    platforms   = platforms.unix;
  };
 }
diff --git a/nixpkgs/pkgs/development/libraries/appstream/qt.nix b/nixpkgs/pkgs/development/libraries/appstream/qt.nix
index 22f1566ad0ac..c9fc96b32512 100644
--- a/nixpkgs/pkgs/development/libraries/appstream/qt.nix
+++ b/nixpkgs/pkgs/development/libraries/appstream/qt.nix
@@ -1,17 +1,24 @@
-{ stdenv, appstream, qtbase, qttools }:
+{ stdenv, mkDerivation, appstream, qtbase, qttools }:
 
 # TODO: look into using the libraries from the regular appstream derivation as we keep duplicates here
 
-stdenv.mkDerivation {
+mkDerivation {
   pname = "appstream-qt";
   inherit (appstream) version src prePatch;
 
+  outputs = [ "out" "dev" ];
+
   buildInputs = appstream.buildInputs ++ [ appstream qtbase ];
 
   nativeBuildInputs = appstream.nativeBuildInputs ++ [ qttools ];
 
   mesonFlags = appstream.mesonFlags ++ [ "-Dqt=true" ];
 
+  postFixup = ''
+    sed -i "$dev/lib/cmake/AppStreamQt/AppStreamQtConfig.cmake" \
+      -e "/INTERFACE_INCLUDE_DIRECTORIES/ s@\''${PACKAGE_PREFIX_DIR}@$dev@"
+  '';
+
   meta = appstream.meta // {
     description = "Software metadata handling library - Qt";
  };
diff --git a/nixpkgs/pkgs/development/libraries/argp-standalone/default.nix b/nixpkgs/pkgs/development/libraries/argp-standalone/default.nix
index 6544c4811875..f961c577aa7d 100644
--- a/nixpkgs/pkgs/development/libraries/argp-standalone/default.nix
+++ b/nixpkgs/pkgs/development/libraries/argp-standalone/default.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib; {
     homepage = "https://www.lysator.liu.se/~nisse/misc/";
     description = "Standalone version of arguments parsing functions from GLIBC";
-    platforms = with platforms; darwin ++ [ "x86_64-linux" ];
+    platforms = with platforms; darwin ++ linux;
     maintainers = with maintainers; [ amar1729 ];
     license = licenses.gpl2;
   };
diff --git a/nixpkgs/pkgs/development/libraries/armadillo/default.nix b/nixpkgs/pkgs/development/libraries/armadillo/default.nix
index ecf337fc375a..a4d359b985b2 100644
--- a/nixpkgs/pkgs/development/libraries/armadillo/default.nix
+++ b/nixpkgs/pkgs/development/libraries/armadillo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "armadillo";
-  version = "9.900.1";
+  version = "9.900.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz";
-    sha256 = "0dfn6wbr7mrh1nzg2rj642p4sycwchf0k743ipgdwvyh4ihsvmsk";
+    sha256 = "02pwhf3y2qq50dswjvfcijaw938d1zi1hxr17msv2x1ahlvff5fn";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/arrow-cpp/default.nix b/nixpkgs/pkgs/development/libraries/arrow-cpp/default.nix
index b559ef96f439..2c9bced41925 100644
--- a/nixpkgs/pkgs/development/libraries/arrow-cpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/arrow-cpp/default.nix
@@ -1,9 +1,16 @@
-{ stdenv, lib, fetchurl, fetchFromGitHub, fetchpatch, fixDarwinDylibNames, autoconf, boost
-, brotli, cmake, flatbuffers, gflags, glog, gtest, lz4, perl
-, python3, rapidjson, snappy, thrift, which, zlib, zstd
+{ stdenv, lib, fetchurl, fetchFromGitHub, fetchpatch, fixDarwinDylibNames
+, autoconf, boost, brotli, cmake, flatbuffers, gflags, glog, gtest, lz4
+, perl, python3, rapidjson, snappy, thrift, utf8proc, which, zlib, zstd
 , enableShared ? true }:
 
 let
+  arrow-testing = fetchFromGitHub {
+    owner = "apache";
+    repo = "arrow-testing";
+    rev = "f552c4dcd2ae3d14048abd20919748cce5276ade";
+    sha256 = "1smaidk5k2q6xdav7qp74ak34vvwv5qyfqw0szi573awsrsrahr8";
+  };
+
   parquet-testing = fetchFromGitHub {
     owner = "apache";
     repo = "parquet-testing";
@@ -13,14 +20,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "arrow-cpp";
-  version = "0.17.1";
+  version = "1.0.0";
 
   src = fetchurl {
     url =
       "mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz";
-    sha256 = "18lyvbibfdw3w77cy5whbq7c6mshn5fg2bhvgw7v226a7cs1rifb";
+    sha256 = "0hzjrhr4brqpmy9f8fbj9p5a482ya8kjhkycz6maa0w2nkzbkpc6";
   };
-
   sourceRoot = "apache-arrow-${version}/cpp";
 
   ARROW_JEMALLOC_URL = fetchurl {
@@ -32,19 +38,31 @@ in stdenv.mkDerivation rec {
     sha256 = "1xl7z0vwbn5iycg7amka9jd6hxd8nmfk7nahi4p9w2bnw9f0wcrl";
   };
 
+  ARROW_MIMALLOC_URL = fetchurl {
+    # From
+    # ./cpp/cmake_modules/ThirdpartyToolchain.cmake
+    # ./cpp/thirdparty/versions.txt
+    url =
+      "https://github.com/microsoft/mimalloc/archive/v1.6.3.tar.gz";
+    sha256 = "0pia8b4acv1w8qzcpc9i1a2fasnn3rmp996k0l87p2di0lbls0w5";
+  };
+
   patches = [
     # patch to fix python-test
     ./darwin.patch
-
-    # fix musl build
+    # Properly exported static targets. Remove at the next version bump.
     (fetchpatch {
-      url = "https://github.com/apache/arrow/commit/de4168786dfd8ab932f48801e0a7a6b8a370c19d.diff";
-      sha256 = "1nl4y1rwdl0gn67v7l05ibc4lwkn6x7fhwbmslmm08cqmwfjsx3y";
+      url = "https://github.com/apache/arrow/commit/b040600b39a4f803b704934252665f9440dd1276.patch";
+      sha256 = "1mvw29ybcsz77zprmsk41blxmrj8ywayg7ghf6xkkf98907ws8m8";
+      includes = [ "*.cmake" ];
+      stripLen = 1;
+    })
+    (fetchpatch {
+      url = "https://github.com/apache/arrow/commit/81d3f2657b17436d6d5a6af9aaf6f36c3f5e4ac9.patch";
+      sha256 = "18fmzr5f79hvx2qpyfgvvl98p4zgzfxrmrd1d2basp0w0da1ciqs";
+      includes = [ "*CMakeLists.txt" "*.cmake" "*.cmake.in" ];
       stripLen = 1;
     })
-  ] ++ lib.optionals (!enableShared) [
-    # The shared jemalloc lib is unused and breaks in static mode due to missing -fpic.
-    ./jemalloc-disable-shared.patch
   ];
 
   nativeBuildInputs = [
@@ -63,6 +81,7 @@ in stdenv.mkDerivation rec {
     rapidjson
     snappy
     thrift
+    utf8proc
     zlib
     zstd
   ] ++ lib.optionals enableShared [
@@ -71,15 +90,17 @@ in stdenv.mkDerivation rec {
   ];
 
   preConfigure = ''
-    substituteInPlace cmake_modules/FindLz4.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
-
     patchShebangs build-support/
   '';
 
   cmakeFlags = [
     "-DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON"
+    "-DARROW_BUILD_SHARED=${if enableShared then "ON" else "OFF"}"
+    "-DARROW_BUILD_STATIC=${if enableShared then "OFF" else "ON"}"
     "-DARROW_BUILD_TESTS=ON"
+    "-DARROW_VERBOSE_THIRDPARTY_BUILD=ON"
     "-DARROW_DEPENDENCY_SOURCE=SYSTEM"
+    "-DARROW_DEPENDENCY_USE_SHARED=${if enableShared then "ON" else "OFF"}"
     "-DARROW_PLASMA=ON"
     # Disable Python for static mode because openblas is currently broken there.
     "-DARROW_PYTHON=${if enableShared then "ON" else "OFF"}"
@@ -87,24 +108,23 @@ in stdenv.mkDerivation rec {
     "-DARROW_WITH_BROTLI=ON"
     "-DARROW_WITH_LZ4=ON"
     "-DARROW_WITH_SNAPPY=ON"
+    "-DARROW_WITH_UTF8PROC=ON"
     "-DARROW_WITH_ZLIB=ON"
     "-DARROW_WITH_ZSTD=ON"
+    "-DARROW_MIMALLOC=ON"
     # Parquet options:
     "-DARROW_PARQUET=ON"
     "-DPARQUET_BUILD_EXECUTABLES=ON"
   ] ++ lib.optionals (!enableShared) [
-    "-DARROW_BUILD_SHARED=OFF"
-    "-DARROW_BOOST_USE_SHARED=OFF"
-    "-DARROW_GFLAGS_USE_SHARED=OFF"
-    "-DARROW_PROTOBUF_USE_SHARED=OFF"
     "-DARROW_TEST_LINKAGE=static"
-    "-DOPENSSL_USE_STATIC_LIBS=ON"
   ] ++ lib.optionals stdenv.isDarwin [
     "-DCMAKE_SKIP_BUILD_RPATH=OFF" # needed for tests
     "-DCMAKE_INSTALL_RPATH=@loader_path/../lib" # needed for tools executables
   ] ++ lib.optional (!stdenv.isx86_64) "-DARROW_USE_SIMD=OFF";
 
   doInstallCheck = true;
+  ARROW_TEST_DATA =
+    if doInstallCheck then "${arrow-testing}/data" else null;
   PARQUET_TEST_DATA =
     if doInstallCheck then "${parquet-testing}/data" else null;
   installCheckInputs = [ perl which ];
diff --git a/nixpkgs/pkgs/development/libraries/arrow-cpp/jemalloc-disable-shared.patch b/nixpkgs/pkgs/development/libraries/arrow-cpp/jemalloc-disable-shared.patch
deleted file mode 100644
index 564f67273886..000000000000
--- a/nixpkgs/pkgs/development/libraries/arrow-cpp/jemalloc-disable-shared.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff --git a/cmake_modules/ThirdpartyToolchain.cmake b/cmake_modules/ThirdpartyToolchain.cmake
---- a/cmake_modules/ThirdpartyToolchain.cmake
-+++ b/cmake_modules/ThirdpartyToolchain.cmake
-@@ -1317,6 +1317,7 @@ if(ARROW_JEMALLOC)
-               "--with-jemalloc-prefix=je_arrow_"
-               "--with-private-namespace=je_arrow_private_"
-               "--without-export"
-+              "--disable-shared"
-               # Don't override operator new()
-               "--disable-cxx" "--disable-libdl"
-               # See https://github.com/jemalloc/jemalloc/issues/1237
diff --git a/nixpkgs/pkgs/development/libraries/asio/1.12.nix b/nixpkgs/pkgs/development/libraries/asio/1.12.nix
deleted file mode 100644
index 94fe4c703670..000000000000
--- a/nixpkgs/pkgs/development/libraries/asio/1.12.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{callPackage, ... } @ args:
-
-callPackage ./generic.nix (args // {
-  version = "1.12.1";
-  sha256 = "0nln45662kg799ykvqx5m9z9qcsmadmgg6r5najryls7x16in2d9";
-})
diff --git a/nixpkgs/pkgs/development/libraries/asio/default.nix b/nixpkgs/pkgs/development/libraries/asio/default.nix
new file mode 100644
index 000000000000..9c89b27d371f
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/asio/default.nix
@@ -0,0 +1,6 @@
+{callPackage, ... } @ args:
+
+callPackage ./generic.nix (args // {
+  version = "1.16.1";
+  sha256 = "1333ca6lnsdck4fsgjpbqf4lagxsnbg9970wxlsrinmwvdvdnwg2";
+})
diff --git a/nixpkgs/pkgs/development/libraries/asio/generic.nix b/nixpkgs/pkgs/development/libraries/asio/generic.nix
index f1ea8a084187..d83a48e61b8a 100644
--- a/nixpkgs/pkgs/development/libraries/asio/generic.nix
+++ b/nixpkgs/pkgs/development/libraries/asio/generic.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
     homepage = "http://asio.sourceforge.net/";
     description = "Cross-platform C++ library for network and low-level I/O programming";
     license = licenses.boost;
-    broken = stdenv.isDarwin;  # test when updating to >=1.12.1
+    broken = stdenv.isDarwin && stdenv.lib.versionOlder version "1.16.1";
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/aspell/dictionaries.nix b/nixpkgs/pkgs/development/libraries/aspell/dictionaries.nix
index 1d7b7a6f98b5..32405d6a5251 100644
--- a/nixpkgs/pkgs/development/libraries/aspell/dictionaries.nix
+++ b/nixpkgs/pkgs/development/libraries/aspell/dictionaries.nix
@@ -274,10 +274,10 @@ in rec {
 
   de = buildOfficialDict {
     language = "de";
-    version = "20030222-1";
+    version = "20161207-7-0";
     fullName = "German";
     filename = "aspell6";
-    sha256 = "01p92qj66cqb346gk7hjfynaap5sbcn85xz07kjfdq623ghr8v5s";
+    sha256 = "0wamclvp66xfmv5wff96v6gdlnfv4y8lx3f8wvxyzm5imwgms4n2";
   };
 
   de-alt = buildOfficialDict {
@@ -694,18 +694,18 @@ in rec {
 
   pt_BR = buildOfficialDict {
     language = "pt_BR";
-    version = "20090702-0";
+    version = "20131030-12-0";
     fullName = "Brazilian Portuguese";
     filename = "aspell6";
-    sha256 = "1y09lx9zf2rnp55r16b2vgj953l3538z1vaqgflg9mdvm555bz3p";
+    sha256 = "1xqlpk21s93c6blkdnpk7l62q9fxjvzdv2x86chl8p2x1gdrj3gb";
   };
 
   pt_PT = buildOfficialDict {
     language = "pt_PT";
-    version = "20070510-0";
+    version = "20190329-1-0";
     fullName = "Portuguese";
     filename = "aspell6";
-    sha256 = "1mnr994cwlag6shy8865ky99lymysiln07mbldcncahg90dagdxq";
+    sha256 = "0ld0d0ily4jqifjfsxfv4shbicz6ymm2gk56fq9gbzra1j4qnw75";
   };
 
   qu = buildOfficialDict {
diff --git a/nixpkgs/pkgs/development/libraries/assimp/default.nix b/nixpkgs/pkgs/development/libraries/assimp/default.nix
index a6f27f4476b8..c1972aa1ca81 100644
--- a/nixpkgs/pkgs/development/libraries/assimp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/assimp/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     homepage = "http://assimp.sourceforge.net/";
     license = licenses.bsd3;
     maintainers = with maintainers; [ ehmry ];
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/attr/default.nix b/nixpkgs/pkgs/development/libraries/attr/default.nix
index d8afa5a7de12..d69d475f7370 100644
--- a/nixpkgs/pkgs/development/libraries/attr/default.nix
+++ b/nixpkgs/pkgs/development/libraries/attr/default.nix
@@ -19,10 +19,7 @@ stdenv.mkDerivation rec {
 
   patches = [
     # fix fakechroot: https://github.com/dex4er/fakechroot/issues/57
-    (fetchurl {
-      url = "https://git.savannah.nongnu.org/cgit/attr.git/patch/?id=14adc898a36948267bfe5c63b399996879e94c98";
-      sha256 = "0gja54fz79a9ma6b4mprnjxq77l5yg2z9xknlwhmkcrfnam02qxp";
-    })
+    ./syscall.patch
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/libraries/attr/syscall.patch b/nixpkgs/pkgs/development/libraries/attr/syscall.patch
new file mode 100644
index 000000000000..be2cfb3928b4
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/attr/syscall.patch
@@ -0,0 +1,120 @@
+From 14adc898a36948267bfe5c63b399996879e94c98 Mon Sep 17 00:00:00 2001
+From: Andreas Gruenbacher <agruenba@redhat.com>
+Date: Fri, 17 Aug 2018 14:07:31 +0200
+Subject: Switch back to syscall()
+
+Switch back to syscall() for the *xattr system calls.  The current
+mechanism of forwarding those calls to glibc breaks libraries like
+libfakeroot (fakeroot) and libasan (the gcc address sanitizer; gcc
+-fsanitize=address).
+
+Those libraries provide wrappers for functions defined in other shared
+libraries, usually glibc, do their own processing, and forward calls to
+the original symbols looke dup via dlsym(RTLD_NEXT, "symbol_name").  In
+our case, dlsym returns the libattr_*xattr wrappers.  However, when our
+wrappers try calling glibc, they end up calling the libfakeroot /
+libasan wrappers instead because those override the original symbols =>
+recursion.
+
+The libattr_*xattr wrappers will only be used when symbols are looked up
+at runtime (dlopen / dlsym).  Programs linking against libattr will
+directly use the glibc provided symbols.  Therefore, the slightly worse
+performance of syscall() won't affect any of the "normal" users of
+libattr.
+---
+ libattr/syscalls.c | 26 ++++++++++++++------------
+ 1 file changed, 14 insertions(+), 12 deletions(-)
+
+diff --git a/libattr/syscalls.c b/libattr/syscalls.c
+index 3013aa0..721ad7f 100644
+--- a/libattr/syscalls.c
++++ b/libattr/syscalls.c
+@@ -22,6 +22,8 @@
+ 
+ #include "config.h"
+ 
++#include <unistd.h>
++#include <sys/syscall.h>
+ #include <sys/xattr.h>
+ 
+ #ifdef HAVE_VISIBILITY_ATTRIBUTE
+@@ -31,67 +33,67 @@
+ int libattr_setxattr(const char *path, const char *name,
+ 		     void *value, size_t size, int flags)
+ {
+-	return setxattr(path, name, value, size, flags);
++	return syscall(__NR_setxattr, path, name, value, size, flags);
+ }
+ 
+ int libattr_lsetxattr(const char *path, const char *name,
+ 		      void *value, size_t size, int flags)
+ {
+-	return lsetxattr(path, name, value, size, flags);
++	return syscall(__NR_lsetxattr, path, name, value, size, flags);
+ }
+ 
+ int libattr_fsetxattr(int filedes, const char *name,
+ 		      void *value, size_t size, int flags)
+ {
+-	return fsetxattr(filedes, name, value, size, flags);
++	return syscall(__NR_fsetxattr, filedes, name, value, size, flags);
+ }
+ 
+ ssize_t libattr_getxattr(const char *path, const char *name,
+ 			 void *value, size_t size)
+ {
+-	return getxattr(path, name, value, size);
++	return syscall(__NR_getxattr, path, name, value, size);
+ }
+ 
+ ssize_t libattr_lgetxattr(const char *path, const char *name,
+ 			  void *value, size_t size)
+ {
+-	return lgetxattr(path, name, value, size);
++	return syscall(__NR_lgetxattr, path, name, value, size);
+ }
+ 
+ ssize_t libattr_fgetxattr(int filedes, const char *name,
+ 			  void *value, size_t size)
+ {
+-	return fgetxattr(filedes, name, value, size);
++	return syscall(__NR_fgetxattr, filedes, name, value, size);
+ }
+ 
+ ssize_t libattr_listxattr(const char *path, char *list, size_t size)
+ {
+-	return listxattr(path, list, size);
++	return syscall(__NR_listxattr, path, list, size);
+ }
+ 
+ ssize_t libattr_llistxattr(const char *path, char *list, size_t size)
+ {
+-	return llistxattr(path, list, size);
++	return syscall(__NR_llistxattr, path, list, size);
+ }
+ 
+ ssize_t libattr_flistxattr(int filedes, char *list, size_t size)
+ {
+-	return flistxattr(filedes, list, size);
++	return syscall(__NR_flistxattr, filedes, list, size);
+ }
+ 
+ int libattr_removexattr(const char *path, const char *name)
+ {
+-	return removexattr(path, name);
++	return syscall(__NR_removexattr, path, name);
+ }
+ 
+ int libattr_lremovexattr(const char *path, const char *name)
+ {
+-	return lremovexattr(path, name);
++	return syscall(__NR_lremovexattr, path, name);
+ }
+ 
+ int libattr_fremovexattr(int filedes, const char *name)
+ {
+-	return fremovexattr(filedes, name);
++	return syscall(__NR_fremovexattr, filedes, name);
+ }
+ 
+ #ifdef HAVE_VISIBILITY_ATTRIBUTE
diff --git a/nixpkgs/pkgs/development/libraries/audiality2/default.nix b/nixpkgs/pkgs/development/libraries/audiality2/default.nix
new file mode 100644
index 000000000000..a311c5f5479f
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audiality2/default.nix
@@ -0,0 +1,39 @@
+{ stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+# The two audio backends:
+, SDL2
+, jack2
+}:
+
+stdenv.mkDerivation rec {
+  pname = "audiality2";
+  version = "1.9.4";
+
+  src = fetchFromGitHub {
+    owner = "olofson";
+    repo = "audiality2";
+    rev = "v${version}";
+    sha256 = "0ipqna7a9mxqm0fl9ggwhbc7i9yxz3jfyi0w3dymjp40v7jw1n20";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    SDL2
+    jack2
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A realtime scripted modular audio engine for video games and musical applications";
+    homepage = "http://audiality.org";
+    license = licenses.zlib;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ fgaz ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/development/libraries/audio/libmysofa/default.nix b/nixpkgs/pkgs/development/libraries/audio/libmysofa/default.nix
index 5324fe0685d6..c2b2725c19cc 100644
--- a/nixpkgs/pkgs/development/libraries/audio/libmysofa/default.nix
+++ b/nixpkgs/pkgs/development/libraries/audio/libmysofa/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ];
   buildInputs = [ zlib ];
 
-  cmakeFlags = [ "-DBUILD_TESTS=OFF" ];
+  cmakeFlags = [ "-DBUILD_TESTS=OFF" "-DCODE_COVERAGE=OFF" ];
 
   meta = with stdenv.lib; {
     description = "Reader for AES SOFA files to get better HRTFs";
diff --git a/nixpkgs/pkgs/development/libraries/audio/lv2/default.nix b/nixpkgs/pkgs/development/libraries/audio/lv2/default.nix
index bb2645beda7f..dac985846469 100644
--- a/nixpkgs/pkgs/development/libraries/audio/lv2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/audio/lv2/default.nix
@@ -12,11 +12,13 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig wafHook ];
   buildInputs = [ gtk2 libsndfile python3 ];
 
+  wafConfigureFlags = stdenv.lib.optionals stdenv.isDarwin [ "--lv2dir=${placeholder "out"}/lib/lv2" ];
+
   meta = with stdenv.lib; {
     homepage = "https://lv2plug.in";
     description = "A plugin standard for audio systems";
     license = licenses.mit;
     maintainers = [ maintainers.goibhniu ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/audio/mbelib/default.nix b/nixpkgs/pkgs/development/libraries/audio/mbelib/default.nix
new file mode 100644
index 000000000000..1fda3a919264
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/mbelib/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  pname = "mbelib";
+  version = "1.3.0";
+
+  src = fetchFromGitHub {
+    owner = "szechyjs";
+    repo = "mbelib";
+    rev = "v${version}";
+    sha256 = "0v6b7nf8fgxy7vzgcwffqyql5zhldrz30c88k1ylbjp78hwh4rif";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+  preCheck = ''
+    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD
+    export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH''${DYLD_LIBRARY_PATH:+:}$PWD
+  '';
+
+  meta = with stdenv.lib; {
+    description = "P25 Phase 1 and ProVoice vocoder";
+    homepage = https://github.com/szechyjs/mbelib;
+    license = licenses.isc;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ andrew-d ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/avahi/default.nix b/nixpkgs/pkgs/development/libraries/avahi/default.nix
index 4c7e5321f555..3f36b87af704 100644
--- a/nixpkgs/pkgs/development/libraries/avahi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/avahi/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, fetchpatch, stdenv, pkgconfig, libdaemon, dbus, perlPackages
-, expat, gettext, intltool, glib, libiconv
+, expat, gettext, intltool, glib, libiconv, writeShellScriptBin
 , gtk3Support ? false, gtk3 ? null
 , qt4 ? null
 , qt4Support ? false
@@ -9,6 +9,11 @@
 
 assert qt4Support -> qt4 != null;
 
+let
+  # despite the configure script claiming it supports $PKG_CONFIG, it doesnt respect it
+  pkgconfig-helper = writeShellScriptBin "pkg-config" ''exec $PKG_CONFIG "$@"'';
+in
+
 stdenv.mkDerivation rec {
   name = "avahi${stdenv.lib.optionalString withLibdnssdCompat "-compat"}-${version}";
   version = "0.7";
@@ -18,6 +23,11 @@ stdenv.mkDerivation rec {
     sha256 = "0128n7jlshw4bpx0vg8lwj8qwdisjxi7mvniwfafgnkzzrfrpaap";
   };
 
+  prePatch = ''
+    substituteInPlace configure \
+      --replace pkg-config "$PKG_CONFIG"
+  '';
+
   patches = [
     ./no-mkdir-localstatedir.patch
     (fetchpatch {
@@ -35,7 +45,7 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs =
     stdenv.lib.optionals withPython (with python.pkgs; [ python pygobject3 dbus-python ]);
 
-  nativeBuildInputs = [ pkgconfig gettext intltool glib ];
+  nativeBuildInputs = [ pkgconfig pkgconfig-helper gettext intltool glib ];
 
   configureFlags =
     [ "--disable-qt3" "--disable-gdbm" "--disable-mono"
diff --git a/nixpkgs/pkgs/development/libraries/ayatana-ido/default.nix b/nixpkgs/pkgs/development/libraries/ayatana-ido/default.nix
new file mode 100644
index 000000000000..66ead87daa07
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/ayatana-ido/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub
+, pkgconfig, autoreconfHook
+, gtk3, gobject-introspection, gtk-doc, vala
+}:
+
+stdenv.mkDerivation rec {
+  pname = "ayatana-ido";
+  version = "0.8.0";
+
+  src = fetchFromGitHub {
+    owner = "AyatanaIndicators";
+    repo = pname;
+    rev = version;
+    sha256 = "1jmdvvgrgicpnpnygc24qcisqb9y026541gb6lw6fwapvc9aj73p";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoreconfHook gtk-doc vala ];
+
+  buildInputs = [ gtk3 gobject-introspection ];
+
+  meta = with stdenv.lib; {
+    description = "Ayatana Display Indicator Objects";
+    homepage = "https://github.com/AyatanaIndicators/ayatana-ido";
+    changelog = "https://github.com/AyatanaIndicators/ayatana-ido/blob/${version}/ChangeLog";
+    license = [ licenses.gpl3 licenses.lgpl21 ];
+    maintainers = [ maintainers.nickhu ];
+    platforms = platforms.x86_64;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/babl/default.nix b/nixpkgs/pkgs/development/libraries/babl/default.nix
index 12547bcb4c75..0b6c2ce064a8 100644
--- a/nixpkgs/pkgs/development/libraries/babl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/babl/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "babl";
-  version = "0.1.78";
+  version = "0.1.80";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://download.gimp.org/pub/babl/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "F9VJNjO/9VhdnzdbxN9ZJRV80ccMzXwipjW+dcFyUjo=";
+    sha256 = "13jgq2i1xkbqw9ijy8sy5iabf5jkviqi0wxlpjcm0n22mwwwqp7p";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/bctoolbox/default.nix b/nixpkgs/pkgs/development/libraries/bctoolbox/default.nix
index 22578dad38db..d99ee57ef9e0 100644
--- a/nixpkgs/pkgs/development/libraries/bctoolbox/default.nix
+++ b/nixpkgs/pkgs/development/libraries/bctoolbox/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "bctoolbox";
-  version = "4.3.1";
+  version = "4.4.0";
 
   nativeBuildInputs = [ cmake bcunit ];
   buildInputs = [ mbedtls ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "1y91jcrma4kjqpm6w5ahlygjsyvx7l8zjrjvq7g2n39jmw175cvs";
+    sha256 = "1r3ymwk10ry6mz4zd08q7l5msq7h15931l7f0clw2siqs8r81x7c";
   };
 
   # Do not build static libraries
diff --git a/nixpkgs/pkgs/development/libraries/bzrtp/default.nix b/nixpkgs/pkgs/development/libraries/bzrtp/default.nix
index 2eb5a2dfcffb..d54539d9f25a 100644
--- a/nixpkgs/pkgs/development/libraries/bzrtp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/bzrtp/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "bzrtp";
-  version = "4.3.1";
+  version = "4.4.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "14fqp6r9rf7z6j5phbsrdxlbjak03hs8kb94b6jgcrcdxrxhy3fy";
+    sha256 = "1yjmsbqmymzl4r7sba6w4a2yld8m6hzafr6jf7sj0syhwpnc3zv6";
   };
 
   buildInputs = [ bctoolbox sqlite ];
diff --git a/nixpkgs/pkgs/development/libraries/c-blosc/default.nix b/nixpkgs/pkgs/development/libraries/c-blosc/default.nix
index 85905778e803..59daf15d416b 100644
--- a/nixpkgs/pkgs/development/libraries/c-blosc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/c-blosc/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "c-blosc";
-  version = "1.18.1";
+  version = "1.20.0";
 
   src = fetchFromGitHub {
     owner = "Blosc";
     repo = "c-blosc";
     rev = "v${version}";
-    sha256 = "1ywq8j70149859vvs19wgjq89d6xsvvmvm2n1dmkzpchxgrvnw70";
+    sha256 = "1rhv9na9cdp2j81a981s2y69c7m9apdiylf9j51dij0lm1m0ljdr";
   };
 
   buildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/caf/default.nix b/nixpkgs/pkgs/development/libraries/caf/default.nix
index 605df2381016..74ca27f2e3c0 100644
--- a/nixpkgs/pkgs/development/libraries/caf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/caf/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "actor-framework";
-  version = "0.17.5";
+  version = "0.17.6";
 
   src = fetchFromGitHub {
     owner = "actor-framework";
     repo = "actor-framework";
     rev = version;
-    sha256 = "1w7sanxhh4sv4ap3ildqzlziazcy7ydx2pbjjrf3k60lcwq0lzn6";
+    sha256 = "03pi2jcdvdxncvv3hmzlamask0db1fc5l79k9rgq9agl0swd0mnz";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/cairo/default.nix b/nixpkgs/pkgs/development/libraries/cairo/default.nix
index 0a5aee79fed2..f6356ed0c81a 100644
--- a/nixpkgs/pkgs/development/libraries/cairo/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cairo/default.nix
@@ -9,14 +9,14 @@
 , x11XrenderSupport ? x11Support, libXrender
 , xcbSupport ? !stdenv.isDarwin, libxcb # no longer experimental since 1.12
 , libGLSupported ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms
-, glSupport ? config.cairo.gl or (libGLSupported && stdenv.isLinux)
+, glSupport ? x11Support && config.cairo.gl or (libGLSupported && stdenv.isLinux)
 , libGL ? null # libGLU libGL is no longer a big dependency
 , darwin
 }:
 
 assert fontconfigSupport -> freetypeSupport;
 assert x11XrenderSupport -> x11Support;
-assert glSupport -> libGL != null;
+assert glSupport -> x11Support && libGL != null;
 
 let
   version = "1.16.0";
diff --git a/nixpkgs/pkgs/development/libraries/capnproto/default.nix b/nixpkgs/pkgs/development/libraries/capnproto/default.nix
index 9020ccf08b5b..ad2517f25890 100644
--- a/nixpkgs/pkgs/development/libraries/capnproto/default.nix
+++ b/nixpkgs/pkgs/development/libraries/capnproto/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "capnproto";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchurl {
     url = "https://capnproto.org/capnproto-c++-${version}.tar.gz";
-    sha256 = "0hfdnhlbskagzgvby8wy6lrxj53zfzpfqimbhga68c0ji2yw1969";
+    sha256 = "03f1862ljdshg7d0rg3j7jzgm3ip55kzd2y91q7p0racax3hxx6i";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/libraries/catch2/default.nix b/nixpkgs/pkgs/development/libraries/catch2/default.nix
index ec3c04856fe3..49b2e9be02ca 100644
--- a/nixpkgs/pkgs/development/libraries/catch2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/catch2/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "catch2";
-  version = "2.12.2";
+  version = "2.12.3";
 
   src = fetchFromGitHub {
     owner = "catchorg";
     repo = "Catch2";
     rev = "v${version}";
-    sha256="17fr2k0jhdcrmmvvb9d8igmjbyads3hkdrakvmrpgc82srm78jcc";
+    sha256="0rp30754frp88wbl17ksr40mmffw5xibq73blgx9jj42d7nl891x";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/cddlib/default.nix b/nixpkgs/pkgs/development/libraries/cddlib/default.nix
index 76b5390fb693..a9a10fc6317b 100644
--- a/nixpkgs/pkgs/development/libraries/cddlib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cddlib/default.nix
@@ -7,12 +7,12 @@
 
 stdenv.mkDerivation rec {
   pname = "cddlib";
-  version = "0.94j";
+  version = "0.94l";
   src = fetchFromGitHub {
     owner = "cddlib";
     repo = "cddlib";
     rev = version;
-    sha256 = "1z03ljy3rrr0qq5gq54vynnif6fn0xhn05g90nnv0dpyc3ps8lzp";
+    sha256 = "0934a0i2m2bamlibi4cbrf1md1pz7dp35jbfamb0k7x644sayl4k";
   };
   buildInputs = [gmp];
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/cgui/default.nix b/nixpkgs/pkgs/development/libraries/cgui/default.nix
index 39ed74d00750..d6c550a8da87 100644
--- a/nixpkgs/pkgs/development/libraries/cgui/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cgui/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
     description = "A multiplatform basic GUI library";
     maintainers = [ maintainers.raskin ];
     platforms = platforms.linux;
+    license = licenses.free;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/check/default.nix b/nixpkgs/pkgs/development/libraries/check/default.nix
index 0a51e7e592b1..be000e457c40 100644
--- a/nixpkgs/pkgs/development/libraries/check/default.nix
+++ b/nixpkgs/pkgs/development/libraries/check/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "check";
-  version = "0.14.0";
+  version = "0.15.2";
 
   src = fetchurl {
     url = "https://github.com/libcheck/check/releases/download/${version}/check-${version}.tar.gz";
-    sha256 = "02zkfiyklckmivrfvdsrlzvzphkdsgjrz3igncw05dv5pshhq3xx";
+    sha256 = "02m25y9m46pb6n46s51av62kpd936lkfv3b13kfpckgvmh5lxpm8";
   };
 
   # Test can randomly fail: https://hydra.nixos.org/build/7243912
diff --git a/nixpkgs/pkgs/development/libraries/chromaprint/default.nix b/nixpkgs/pkgs/development/libraries/chromaprint/default.nix
index 9da5a80f6205..12f844aa5958 100644
--- a/nixpkgs/pkgs/development/libraries/chromaprint/default.nix
+++ b/nixpkgs/pkgs/development/libraries/chromaprint/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, boost, ffmpeg_3 }:
+{ lib, stdenv, fetchurl, cmake, boost, ffmpeg, darwin, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "chromaprint";
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  buildInputs = [ boost ffmpeg_3 ];
+  buildInputs = [ boost ffmpeg ] ++ lib.optionals stdenv.isDarwin
+    (with darwin.apple_sdk.frameworks; [Accelerate CoreGraphics CoreVideo zlib]);
 
   cmakeFlags = [ "-DBUILD_EXAMPLES=ON" "-DBUILD_TOOLS=ON" ];
 
@@ -20,6 +21,6 @@ stdenv.mkDerivation rec {
     description = "AcoustID audio fingerprinting library";
     maintainers = with maintainers; [ ehmry ];
     license = licenses.lgpl21Plus;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/cimg/default.nix b/nixpkgs/pkgs/development/libraries/cimg/default.nix
index 312f927767dd..1963534ae51e 100644
--- a/nixpkgs/pkgs/development/libraries/cimg/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cimg/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cimg";
-  version = "2.9.1";
+  version = "2.9.2";
 
   src = fetchFromGitHub {
     owner = "dtschump";
     repo = "CImg";
     rev = "v.${version}";
-    sha256 = "0vl7dscbms4834gm1000sp17pr714pbqwicn40pbl85mxr3pnjp3";
+    sha256 = "sha256-7v8651yDkxTdRMoGhEl4d/k7mxYwfIwW/rkuyjqVGwY=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/development/libraries/cm256cc/default.nix b/nixpkgs/pkgs/development/libraries/cm256cc/default.nix
index aaf409981024..eaddcb86f546 100644
--- a/nixpkgs/pkgs/development/libraries/cm256cc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cm256cc/default.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/f4exb/cm256cc";
     platforms = platforms.linux;
     maintainers = with maintainers; [ alkeryn ];
+    license = licenses.gpl3;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/coin3d/default.nix b/nixpkgs/pkgs/development/libraries/coin3d/default.nix
index 634ac27058bb..7fd676372534 100644
--- a/nixpkgs/pkgs/development/libraries/coin3d/default.nix
+++ b/nixpkgs/pkgs/development/libraries/coin3d/default.nix
@@ -1,14 +1,14 @@
-{ fetchFromBitbucket, stdenv, boost, cmake, libGL, libGLU }:
+{ fetchFromGitHub, stdenv, boost, cmake, libGL, libGLU }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "coin";
-  version = "unstable-2019-06-12";
+  version = "4.0.0";
 
-  src = fetchFromBitbucket {
-    owner = "Coin3D";
+  src = fetchFromGitHub {
+    owner = "coin3d";
     repo = "coin";
-    rev = "8d860d7ba112b22c4e9b289268fd8b3625ab81d3";
-    sha256 = "1cpncljqvw28k5wvpgchv593nayhby5gwpvbnyllc9hb9ms816xn";
+    rev = "Coin-${version}";
+    sha256 = "1ayg0hl8wanhadahm5xbghghxw1qjwqbrs3dl3ngnff027hsyf8p";
   };
 
   postPatch = ''
@@ -18,11 +18,11 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ cmake ];
   buildInputs = [ boost libGL libGLU ];
 
-  meta = {
-    homepage = "https://bitbucket.org/Coin3D/coin/wiki/Home";
-    license = stdenv.lib.licenses.gpl2Plus;
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/coin3d/coin";
+    license = licenses.bsd3;
     description = "High-level, retained-mode toolkit for effective 3D graphics development";
-    maintainers = [ stdenv.lib.maintainers.viric ];
-    platforms = stdenv.lib.platforms.linux;
+    maintainers = with maintainers; [ gebner viric ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/console-bridge/default.nix b/nixpkgs/pkgs/development/libraries/console-bridge/default.nix
new file mode 100644
index 000000000000..e2370ecce647
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/console-bridge/default.nix
@@ -0,0 +1,23 @@
+{ lib, stdenv, fetchFromGitHub, cmake, validatePkgConfig }:
+
+stdenv.mkDerivation rec {
+  pname = "console-bridge";
+  version = "1.0.1";
+
+  src = fetchFromGitHub {
+    owner = "ros";
+    repo = "console_bridge";
+    rev = version;
+    sha256 = "18qycrjnf7v8n5bipij91jsv7ap98z5dsp93w2gz9rah4lfjb80q";
+  };
+
+  nativeBuildInputs = [ cmake validatePkgConfig ];
+
+  meta = with lib; {
+    description = "A ROS-independent package for logging that seamlessly pipes into rosconsole/rosout for ROS-dependent packages";
+    homepage = "https://github.com/ros/console_bridge";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ lopsided98 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/cpp-hocon/default.nix b/nixpkgs/pkgs/development/libraries/cpp-hocon/default.nix
index 01da4753b0e6..47ec7a1a6eb4 100644
--- a/nixpkgs/pkgs/development/libraries/cpp-hocon/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cpp-hocon/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   pname = "cpp-hocon";
-  version = "0.2.2";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
-    sha256 = "1c8zy4hi0182k0vfx5l8bjq1iv7lvvw1zi4vy3429s898rx7z3d3";
+    sha256 = "0b24anpwkmvbsn5klnr58vxksw00ci9pjhwzx7a61kplyhsaiydw";
     rev = version;
     repo = "cpp-hocon";
     owner = "puppetlabs";
   };
 
-  NIX_CFLAGS_COMPILE = "-Wno-error=catch-value";
+  NIX_CFLAGS_COMPILE = "-Wno-error";
 
   nativeBuildInputs = [ cmake ];
 
@@ -21,10 +21,10 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     inherit (src.meta) homepage;
-    description = " A C++ port of the Typesafe Config library";
+    description = "A C++ port of the Typesafe Config library";
     license = licenses.asl20;
     maintainers = [ maintainers.womfoo ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 
 }
diff --git a/nixpkgs/pkgs/development/libraries/cpp-utilities/default.nix b/nixpkgs/pkgs/development/libraries/cpp-utilities/default.nix
index 4b2520d714bd..cbe628aaf4ee 100644
--- a/nixpkgs/pkgs/development/libraries/cpp-utilities/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cpp-utilities/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cpp-utilities";
-  version = "5.4.0";
+  version = "5.6.0";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = pname;
     rev = "v${version}";
-    sha256 = "18sy1jrz5adzy7c8k42kqlpicc4h0igimjqwaa6m9swwkhwiqqjz";
+    sha256 = "0998pyrxicpalm2w1wmv7qrfhzgr45kl6xh9gv0zxhx2a4xjqq5v";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/crc32c/default.nix b/nixpkgs/pkgs/development/libraries/crc32c/default.nix
index 1da2f210c5cf..b9c12b1889c2 100644
--- a/nixpkgs/pkgs/development/libraries/crc32c/default.nix
+++ b/nixpkgs/pkgs/development/libraries/crc32c/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchFromGitHub, cmake, gflags }:
+{ stdenv, lib, fetchFromGitHub, cmake, gflags
+, staticOnly ? false }:
+
 stdenv.mkDerivation rec {
   pname = "crc32c";
   version = "1.1.0";
@@ -14,6 +16,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ];
   buildInputs = [ gflags ];
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isAarch64 "-march=armv8-a+crc";
+  cmakeFlags = lib.optionals (!staticOnly) [ "-DBUILD_SHARED_LIBS=1"  ];
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/google/crc32c";
diff --git a/nixpkgs/pkgs/development/libraries/crcpp/default.nix b/nixpkgs/pkgs/development/libraries/crcpp/default.nix
new file mode 100644
index 000000000000..c26578804baf
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/crcpp/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, fetchFromGitHub
+}:
+
+stdenv.mkDerivation rec {
+  pname = "crcpp";
+  version = "1.0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "d-bahr";
+    repo = "CRCpp";
+    rev = "release-${version}";
+    sha256 = "138w97kfxnv8rcnvggba6fcxgbgq8amikkmy3jhqfn6xzy6zaimh";
+  };
+
+  dontBuild = true;
+
+  installPhase = ''
+    mkdir -p $out/include
+    cp inc/CRC.h $out/include
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/d-bahr/CRCpp";
+    description = "Easy to use and fast C++ CRC library";
+    platforms = platforms.all;
+    maintainers = [ maintainers.ivar ];
+    license = licenses.bsd3;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/curlcpp/default.nix b/nixpkgs/pkgs/development/libraries/curlcpp/default.nix
index 9f2710f42a46..ead4d1b76bd6 100644
--- a/nixpkgs/pkgs/development/libraries/curlcpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/curlcpp/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     description = "Object oriented C++ wrapper for CURL";
     platforms = platforms.unix;
     license = licenses.mit;
-    maintainers = with maintainers; [ juliendehos rszibele ];
+    maintainers = with maintainers; [ rszibele ];
   };
 }
 
diff --git a/nixpkgs/pkgs/development/libraries/cutelyst/default.nix b/nixpkgs/pkgs/development/libraries/cutelyst/default.nix
index 94d9776b54d2..d5e83f0410c4 100644
--- a/nixpkgs/pkgs/development/libraries/cutelyst/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cutelyst/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cutelyst";
-  version = "2.11.0";
+  version = "2.12.0";
 
   src = fetchFromGitHub {
     owner = "cutelyst";
     repo = "cutelyst";
     rev = "v${version}";
-    sha256 = "1c4cjzx6jkqlblcfc7pkx66py43576y6rky19j7rjiap724q2yk9";
+    sha256 = "1ngacc7ackp08hajby0xvzpvnqahwm2dbxmisw7j7qs1lqrx9k3n";
   };
 
   nativeBuildInputs = [ cmake pkgconfig wrapQtAppsHook ];
diff --git a/nixpkgs/pkgs/development/libraries/dav1d/default.nix b/nixpkgs/pkgs/development/libraries/dav1d/default.nix
index 799375ba44d5..0889fdd0d8f4 100644
--- a/nixpkgs/pkgs/development/libraries/dav1d/default.nix
+++ b/nixpkgs/pkgs/development/libraries/dav1d/default.nix
@@ -9,14 +9,14 @@ assert useVulkan -> withExamples;
 
 stdenv.mkDerivation rec {
   pname = "dav1d";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitLab {
     domain = "code.videolan.org";
     owner = "videolan";
     repo = pname;
     rev = version;
-    sha256 = "0zmn4ald518vgs3cc0ga227aimr38h16mkliq5j8mg6p9dn7nx1w";
+    sha256 = "1yawrbaazj6a2rvvb58k6kh492fjxdwlm94bl6ipry0fqmz0rlnl";
   };
 
   nativeBuildInputs = [ meson ninja nasm pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/dbus/default.nix b/nixpkgs/pkgs/development/libraries/dbus/default.nix
index 049623d3d911..3598d8d938e0 100644
--- a/nixpkgs/pkgs/development/libraries/dbus/default.nix
+++ b/nixpkgs/pkgs/development/libraries/dbus/default.nix
@@ -20,11 +20,11 @@ assert enableSystemd -> systemd != null;
 
 stdenv.mkDerivation rec {
   pname = "dbus";
-  version = "1.12.18";
+  version = "1.12.20";
 
   src = fetchurl {
     url = "https://dbus.freedesktop.org/releases/dbus/dbus-${version}.tar.gz";
-    sha256 = "01jkm6shm76bl3cflmnn37dv6nkph0w1akbqpklyac02hiq4vkv4";
+    sha256 = "1zp5gpx61v1cpqf2zwb1cidhp9xylvw49d3zydkxqk6b1qa20xpp";
   };
 
   patches = lib.optional stdenv.isSunOS ./implement-getgrouplist.patch;
diff --git a/nixpkgs/pkgs/development/libraries/dbxml/default.nix b/nixpkgs/pkgs/development/libraries/dbxml/default.nix
index 4913cfe28473..a0005f1bf720 100644
--- a/nixpkgs/pkgs/development/libraries/dbxml/default.nix
+++ b/nixpkgs/pkgs/development/libraries/dbxml/default.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "a8fc8f5e0c3b6e42741fa4dfc3b878c982ff8f5e5f14843f6a7e20d22e64251a";
   };
 
+  outputs = [ "bin" "dev" "out" ];
+
   patches = [
     ./cxx11.patch
     ./incorrect-optimization.patch
diff --git a/nixpkgs/pkgs/development/libraries/dclib/default.nix b/nixpkgs/pkgs/development/libraries/dclib/default.nix
index 6b42af05c117..a9929ea2adda 100644
--- a/nixpkgs/pkgs/development/libraries/dclib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/dclib/default.nix
@@ -10,7 +10,10 @@ stdenv.mkDerivation {
 
   buildInputs = [libxml2 openssl bzip2];
 
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
+  meta = with stdenv.lib; {
+    description = "Peer-to-Peer file sharing client";
+    homepage = "http://dcgui.berlios.de";
+    platforms = platforms.linux;
+    license = [ licenses.openssl licenses.gpl2 ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/dlib/default.nix b/nixpkgs/pkgs/development/libraries/dlib/default.nix
index e584c3e9d9b1..43ac2530cc13 100644
--- a/nixpkgs/pkgs/development/libraries/dlib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/dlib/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dlib";
-  version = "19.20";
+  version = "19.21";
 
   src = fetchFromGitHub {
     owner = "davisking";
     repo = "dlib";
     rev ="v${version}";
-    sha256 = "10b5hrprlls0nhljx18ys8cms7bgqirvhxlx6gbvbprbi6q16f9r";
+    sha256 = "00jwklnl21l3hlvb0bjc6rl3hgi88vxb41dsn4m0kh436c9v0rl3";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/libraries/docopt_cpp/default.nix b/nixpkgs/pkgs/development/libraries/docopt_cpp/default.nix
index 5c4e71a4f871..36b791ccc98c 100644
--- a/nixpkgs/pkgs/development/libraries/docopt_cpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/docopt_cpp/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, cmake, python }:
 
 stdenv.mkDerivation rec {
-  version = "0.6.2";
+  version = "0.6.3";
   pname = "docopt.cpp";
 
   src = fetchFromGitHub {
     owner = "docopt";
     repo = "docopt.cpp";
     rev = "v${version}";
-    sha256 = "1rgkc8nsc2zz2lkyai0y68vrd6i6kbq63hm3vdza7ab6ghq0n1dd";
+    sha256 = "0cz3vv7g5snfbsqcf3q8bmd6kv5qp84gj3avwkn4vl00krw13bl7";
   };
 
   nativeBuildInputs = [ cmake python ];
@@ -17,6 +17,12 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  postPatch = ''
+    substituteInPlace docopt.pc.in \
+      --replace "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@" \
+                "@CMAKE_INSTALL_LIBDIR@"
+  '';
+
   checkPhase = "LD_LIBRARY_PATH=$(pwd) python ./run_tests";
 
   meta = with stdenv.lib; {
@@ -27,4 +33,3 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ knedlsepp ];
   };
 }
-
diff --git a/nixpkgs/pkgs/development/libraries/doctest/default.nix b/nixpkgs/pkgs/development/libraries/doctest/default.nix
index f3ed36db31c9..5a2561056876 100644
--- a/nixpkgs/pkgs/development/libraries/doctest/default.nix
+++ b/nixpkgs/pkgs/development/libraries/doctest/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "doctest";
-  version = "2.3.8";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "onqtam";
     repo = "doctest";
     rev = version;
-    sha256 = "16w907750jnp98vdzkn72lzwy1zyryaqvfi80lbdp398pj23rq65";
+    sha256 = "1yi95saqv8qb3ix6w8d7ffvs7qbwvqmq6wblckhxhicxxdxk85cd";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/dqlite/default.nix b/nixpkgs/pkgs/development/libraries/dqlite/default.nix
index aed7dc59bcbc..49435ec67184 100644
--- a/nixpkgs/pkgs/development/libraries/dqlite/default.nix
+++ b/nixpkgs/pkgs/development/libraries/dqlite/default.nix
@@ -1,17 +1,15 @@
 { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, file, libco-canonical
 , libuv, raft-canonical, sqlite-replication }:
 
-with stdenv.lib;
-
 stdenv.mkDerivation rec {
   pname = "dqlite";
-  version = "1.4.1";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "canonical";
     repo = pname;
     rev = "v${version}";
-    sha256 = "04h3wbfv6bkzzmcwaja33x2qkj3czn0p6fgbdgqd1xli8sx2c2k4";
+    sha256 = "0h7ypigj1b6xbspzc35y89jkp84v8rqiv9qgkyqlqylr7mcw952a";
   };
 
   nativeBuildInputs = [ autoreconfHook file pkgconfig ];
@@ -22,17 +20,17 @@ stdenv.mkDerivation rec {
     sqlite-replication
   ];
 
-  # tests hang for ever on x86_64-linux
+  # tests fail
   doCheck = false;
 
   outputs = [ "dev" "out" ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = ''
       Expose a SQLite database over the network and replicate it across a
       cluster of peers
     '';
-    homepage = "https://github.com/CanonicalLtd/dqlite/";
+    homepage = "https://dqlite.io/";
     license = licenses.asl20;
     maintainers = with maintainers; [ joko wucke13 ];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/development/libraries/draco/default.nix b/nixpkgs/pkgs/development/libraries/draco/default.nix
new file mode 100644
index 000000000000..f8b806482aca
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/draco/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, cmake
+}:
+
+stdenv.mkDerivation rec {
+  version = "1.3.6";
+  pname = "draco";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "draco";
+    rev = version;
+    sha256 = "06adhz8gsnns6q98yzjm64xs04qp2fhm9bv0wxny68rkw0bh95a0";
+  };
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ cmake ];
+
+  cmakeFlags = [
+    # Fake these since we are building from a tarball
+    "-Ddraco_git_hash=${version}"
+    "-Ddraco_git_desc=${version}"
+
+    "-DBUILD_UNITY_PLUGIN=1"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Library for compressing and decompressing 3D geometric meshes and point clouds";
+    homepage = "https://google.github.io/draco/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jansol ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/duckdb/default.nix b/nixpkgs/pkgs/development/libraries/duckdb/default.nix
index e37856abe2bd..dde0806add4a 100644
--- a/nixpkgs/pkgs/development/libraries/duckdb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/duckdb/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "duckdb";
-  version = "0.1.7";
+  version = "0.2.1";
 
   src = fetchFromGitHub {
     owner = "cwida";
     repo = "duckdb";
     rev = "v${version}";
-    sha256 = "1pz2q9c3803w8vbqiz9lag4g1kgl4ff9xca0kpcz72ap39pbp5jk";
+    sha256 = "18l4qdzfm8k9ggn49r3h99cbcmmq01byzkxps3pvmq8q246hb55x";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/dxflib/default.nix b/nixpkgs/pkgs/development/libraries/dxflib/default.nix
index 8d8b41e0609b..1b63d8805fd9 100644
--- a/nixpkgs/pkgs/development/libraries/dxflib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/dxflib/default.nix
@@ -1,12 +1,40 @@
-{stdenv, fetchurl}:
+{ stdenv
+, fetchurl
+, qmake
+}:
 
 stdenv.mkDerivation rec {
-  version = "3.12.2";
+  version = "3.17.0";
   pname = "dxflib";
   src = fetchurl {
-    url = "http://www.qcad.org/archives/dxflib/${pname}-${version}.src.tar.gz";
-    sha256 = "20ad9991eec6b0f7a3cc7c500c044481a32110cdc01b65efa7b20d5ff9caefa9";
+    url = "http://www.qcad.org/archives/dxflib/${pname}-${version}-src.tar.gz";
+    sha256 = "09yjgzh8677pzkkr7a59pql5d11451c22pxksk2my30mapxsri96";
   };
+  nativeBuildInputs = [
+    qmake
+  ];
+  preConfigure = ''
+    sed -i 's/CONFIG += staticlib/CONFIG += shared/' dxflib.pro
+  '';
+  installPhase = ''
+    install -d -m 0755 $out/lib
+    cp -pr *.so* $out/lib
+    install -d -m 0755 $out/include/dxflib
+    cp -pr src/*.h $out/include/dxflib
+    # Generate pkgconfig file
+    install -d -m 0755 $out/lib/pkgconfig
+    cat << 'EOF' > $out/lib/pkgconfig/dxflib.pc
+    prefix=${placeholder "out"}
+    libdir=${placeholder "out"}/lib
+    includedir=${placeholder "out"}/include
+    Name: dxflib
+    Description: A C++ library for reading and writing DXF files
+    Version: %{version}
+    Libs: -L${placeholder "out"}/lib -ldxflib
+    Cflags: -I${placeholder "out"}/include/dxflib
+    EOF
+  '';
+  doCheck = true;
 
   meta = {
     maintainers = with stdenv.lib.maintainers; [raskin];
@@ -14,4 +42,3 @@ stdenv.mkDerivation rec {
     description = ''DXF file format library'';
   };
 }
-
diff --git a/nixpkgs/pkgs/development/libraries/embree/default.nix b/nixpkgs/pkgs/development/libraries/embree/default.nix
new file mode 100644
index 000000000000..2d83b9bbfab8
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/embree/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, ispc, tbb, glfw,
+  openimageio, libjpeg, libpng, libpthreadstubs, libX11 }:
+
+stdenv.mkDerivation rec {
+  pname = "embree";
+  version = "3.11.0";
+
+  src = fetchFromGitHub {
+    owner = "embree";
+    repo = "embree";
+    rev = "v${version}";
+    sha256 = "0v5gqi8jp09xxcbyyknji83412bq4l0w35b6hnrqxycgdrnf7hkr";
+  };
+
+  postPatch = ''
+    # Fix duplicate /nix/store/.../nix/store/.../ paths
+    sed -i "s|SET(EMBREE_ROOT_DIR .*)|set(EMBREE_ROOT_DIR $out)|" \
+      common/cmake/embree-config.cmake
+    sed -i "s|$""{EMBREE_ROOT_DIR}/||" common/cmake/embree-config.cmake
+  '';
+
+  cmakeFlags = [
+    "-DEMBREE_TUTORIALS=OFF"
+    "-DEMBREE_RAY_MASK=ON"
+  ];
+
+  nativeBuildInputs = [ ispc pkgconfig cmake ];
+  buildInputs = [ tbb glfw openimageio libjpeg libpng libX11 libpthreadstubs ];
+
+  meta = with stdenv.lib; {
+    description = "High performance ray tracing kernels from Intel";
+    homepage = "https://embree.github.io/";
+    maintainers = with maintainers; [ hodapp gebner ];
+    license = licenses.asl20;
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/enchant/2.x.nix b/nixpkgs/pkgs/development/libraries/enchant/2.x.nix
index 65d85eddbe40..b7b86de92c01 100644
--- a/nixpkgs/pkgs/development/libraries/enchant/2.x.nix
+++ b/nixpkgs/pkgs/development/libraries/enchant/2.x.nix
@@ -1,7 +1,7 @@
 { stdenv
 , fetchurl
 , aspell
-, pkgconfig
+, pkg-config
 , glib
 , hunspell
 , hspell
@@ -10,17 +10,17 @@
 
 stdenv.mkDerivation rec {
   pname = "enchant";
-  version = "2.2.8";
+  version = "2.2.11";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://github.com/AbiWord/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "0m9m564qqwbssvvf7y3dlz1yxzqsjiqy1yd2zsmb3l0d7y2y5df7";
+    sha256 = "opxXd8TkX8rCWVwVxJ1tKqQ0+l58mT3/P582e2X+Ryo=";
   };
 
   nativeBuildInputs = [
-    pkgconfig
+    pkg-config
   ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/ethash/default.nix b/nixpkgs/pkgs/development/libraries/ethash/default.nix
index 3522ff231ab1..749005e09a98 100644
--- a/nixpkgs/pkgs/development/libraries/ethash/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ethash/default.nix
@@ -3,14 +3,14 @@
 
 stdenv.mkDerivation rec {
   pname = "ethash";
-  version = "0.4.4";
+  version = "0.5.2";
 
   src =
     fetchFromGitHub {
       owner = "chfast";
       repo = "ethash";
       rev = "v${version}";
-      sha256 = "1gfs8s4nv2ikkn3rhzifr0dx5m0c1kpnhmzf8x6zlwhw3qwlc98w";
+      sha256 = "0shr3m33raxy9j2mpm3q9mdbchs3nhgfaywidyxgmwqaiw1xpyif";
     };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/exiv2/default.nix b/nixpkgs/pkgs/development/libraries/exiv2/default.nix
index 8a6dfd1983ef..a845e8998e78 100644
--- a/nixpkgs/pkgs/development/libraries/exiv2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/exiv2/default.nix
@@ -15,37 +15,38 @@
 
 stdenv.mkDerivation rec {
   pname = "exiv2";
-  version = "0.27.2";
+  version = "0.27.3";
+
+  outputs = [ "out" "dev" "doc" "man" ];
 
   src = fetchFromGitHub {
     owner = "exiv2";
     repo  = "exiv2";
     rev = "v${version}";
-    sha256 = "0n8il52yzbmvbkryrl8waz7hd9a2fdkw8zsrmhyh63jlvmmc31gf";
+    sha256 = "0d294yhcdw8ziybyd4rp5hzwknzik2sm0cz60ff7fljacv75bjpy";
   };
 
   patches = [
-    # included in next release
+    # Fix aarch64 build https://github.com/Exiv2/exiv2/pull/1271
     (fetchpatch {
-      name = "cve-2019-20421.patch";
-      url = "https://github.com/Exiv2/exiv2/commit/a82098f4f90cd86297131b5663c3dec6a34470e8.patch";
-      sha256 = "16r19qb9l5j43ixm5jqid9sdv5brlkk1wq0w79rm5agxq4kblfyc";
-      excludes = [ "tests/bugfixes/github/test_issue_1011.py" "test/data/Jp2Image_readMetadata_loop.poc" ];
+      name = "cmake-fix-aarch64.patch";
+      url = "https://github.com/Exiv2/exiv2/commit/bbe0b70840cf28b7dd8c0b7e9bb1b741aeda2efd.patch";
+      sha256 = "13zw1mn0ag0jrz73hqjhdsh1img7jvj5yddip2k2sb5phy04rzfx";
     })
-  ];
 
-  cmakeFlags = [
-    "-DEXIV2_BUILD_PO=ON"
-    "-DEXIV2_BUILD_DOC=ON"
-    # the cmake package does not handle absolute CMAKE_INSTALL_INCLUDEDIR correctly
-    # (setting it to an absolute path causes include files to go to $out/$out/include,
-    #  because the absolute path is interpreted with root at $out).
-    "-DCMAKE_INSTALL_INCLUDEDIR=include"
-    "-DCMAKE_INSTALL_LIBDIR=lib"
+    # Use correct paths with multiple outputs
+    # https://github.com/Exiv2/exiv2/pull/1275
+    (fetchpatch {
+      url = "https://github.com/Exiv2/exiv2/commit/48f2c9dbbacc0ef84c8ebf4cb1a603327f0b8750.patch";
+      sha256 = "vjB3+Ld4c/2LT7nq6uatYwfHTh+HeU5QFPFXuNLpIPA=";
+    })
+    # https://github.com/Exiv2/exiv2/pull/1294
+    (fetchpatch {
+      url = "https://github.com/Exiv2/exiv2/commit/306c8a6fd4ddd70e76043ab255734720829a57e8.patch";
+      sha256 = "0D/omxYxBPGUu3uSErlf48dc6Ukwc2cEN9/J3e7a9eU=";
+    })
   ];
 
-  outputs = [ "out" "dev" "doc" "man" ];
-
   nativeBuildInputs = [
     cmake
     doxygen
@@ -65,7 +66,13 @@ stdenv.mkDerivation rec {
     which
   ];
 
+  cmakeFlags = [
+    "-DEXIV2_ENABLE_NLS=ON"
+    "-DEXIV2_BUILD_DOC=ON"
+  ];
+
   buildFlags = [
+    "all"
     "doc"
   ];
 
@@ -77,7 +84,6 @@ stdenv.mkDerivation rec {
   preCheck = ''
     patchShebangs ../test/
     mkdir ../test/tmp
-    export LD_LIBRARY_PATH="$(realpath ../build/lib)"
 
     ${stdenv.lib.optionalString (stdenv.isAarch64 || stdenv.isAarch32) ''
       # Fix tests on arm
@@ -86,19 +92,16 @@ stdenv.mkDerivation rec {
     ''}
 
     ${stdenv.lib.optionalString stdenv.isDarwin ''
-      export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH''${DYLD_LIBRARY_PATH:+:}`pwd`/lib
+      export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH''${DYLD_LIBRARY_PATH:+:}$PWD/lib
       # Removing tests depending on charset conversion
       substituteInPlace ../test/Makefile --replace "conversions.sh" ""
       rm -f ../tests/bugfixes/redmine/test_issue_460.py
       rm -f ../tests/bugfixes/redmine/test_issue_662.py
+      rm -f ../tests/bugfixes/github/test_issue_1046.py
      ''}
   '';
 
-  postCheck = ''
-    (cd ../tests/ && python3 runner.py)
-  '';
-
-  # With cmake we have to enable samples or there won't be
+  # With CMake we have to enable samples or there won't be
   # a tests target. This removes them.
   postInstall = ''
     ( cd "$out/bin"
@@ -108,12 +111,11 @@ stdenv.mkDerivation rec {
     )
   '';
 
-  enableParallelBuilding = true;
-
   meta = with stdenv.lib; {
     homepage = "https://www.exiv2.org/";
     description = "A library and command-line utility to manage image metadata";
     platforms = platforms.all;
     license = licenses.gpl2Plus;
+    maintainers = [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/faac/default.nix b/nixpkgs/pkgs/development/libraries/faac/default.nix
index 0f3cb9b27b90..c8ec81f79e51 100644
--- a/nixpkgs/pkgs/development/libraries/faac/default.nix
+++ b/nixpkgs/pkgs/development/libraries/faac/default.nix
@@ -30,7 +30,6 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Open source MPEG-4 and MPEG-2 AAC encoder";
-    homepage    = "https://www.audiocoding.com/faac.html";
     license     = licenses.unfreeRedistributable;
     maintainers = with maintainers; [ codyopel ];
     platforms   = platforms.all;
diff --git a/nixpkgs/pkgs/development/libraries/faad2/default.nix b/nixpkgs/pkgs/development/libraries/faad2/default.nix
index 1a6d67ba8052..6842f191abe3 100644
--- a/nixpkgs/pkgs/development/libraries/faad2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/faad2/default.nix
@@ -1,47 +1,26 @@
-{stdenv, fetchurl
+{stdenv, fetchFromGitHub, autoreconfHook
 , drmSupport ? false # Digital Radio Mondiale
 }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
   pname = "faad2";
-  version = "2.8.8";
+  version = "2.9.2";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/faac/${pname}-${version}.tar.gz";
-    sha256 = "1db37ydb6mxhshbayvirm5vz6j361bjim4nkpwjyhmy4ddfinmhl";
+  src = fetchFromGitHub {
+    owner = "knik0";
+    repo = "faad2";
+    rev = builtins.replaceStrings [ "." ] [ "_" ] version;
+    sha256 = "0rdi6bmyryhkwf4mpprrsp78m6lv1nppav2f0lf1ywifm92ng59c";
   };
 
-  patches = let
-    fp = { ver ? "2.8.8-3", pname, name ? (pname + ".patch"), sha256 }: fetchurl {
-      url = "https://salsa.debian.org/multimedia-team/faad2/raw/debian/${ver}"
-          + "/debian/patches/${pname}.patch?inline=false";
-      inherit name sha256;
-    };
-  in [
-    (fp {
-      # critical bug addressed in vlc 3.0.7 (but we use system-provided faad)
-      pname = "0004-Fix-a-couple-buffer-overflows";
-      sha256 = "1mwycdfagz6wpda9j3cp7lf93crgacpa8rwr58p3x0i5cirnnmwq";
-    })
-    (fp {
-      name = "CVE-2018-20362.patch";
-      pname = "0009-syntax.c-check-for-syntax-element-inconsistencies";
-      sha256 = "1z849l5qyvhyn5pvm6r07fa50nrn8nsqnrka2nnzgkhxlhvzpa81";
-    })
-    (fp {
-      name = "CVE-2018-20194.patch";
-      pname = "0010-sbr_hfadj-sanitize-frequency-band-borders";
-      sha256 = "1b1kbz4mv0zhpq8h3djnvqafh1gn12nikk9v3jrxyryywacirah4";
-    })
-  ];
-
   configureFlags = []
     ++ optional drmSupport "--with-drm";
 
+  nativeBuildInputs = [ autoreconfHook ];
+
   meta = {
     description = "An open source MPEG-4 and MPEG-2 AAC decoder";
-    homepage    = "https://www.audiocoding.com/faad2.html";
     license     = licenses.gpl2;
     maintainers = with maintainers; [ codyopel ];
     platforms   = platforms.all;
diff --git a/nixpkgs/pkgs/development/libraries/farstream/default.nix b/nixpkgs/pkgs/development/libraries/farstream/default.nix
index 763caa811e34..0ce0f56d710e 100644
--- a/nixpkgs/pkgs/development/libraries/farstream/default.nix
+++ b/nixpkgs/pkgs/development/libraries/farstream/default.nix
@@ -29,6 +29,11 @@ stdenv.mkDerivation rec {
       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";
+      sha256 = "02pka68p2j1wg7768rq7afa5wl9xv82wp86q7izrmwwnxdmz4zyg";
+    })
   ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/faudio/default.nix b/nixpkgs/pkgs/development/libraries/faudio/default.nix
index 7bc0790f049a..eb6ed5e21014 100644
--- a/nixpkgs/pkgs/development/libraries/faudio/default.nix
+++ b/nixpkgs/pkgs/development/libraries/faudio/default.nix
@@ -3,14 +3,14 @@
 #TODO: tests
 
 stdenv.mkDerivation rec {
-	pname = "faudio";
-  version = "20.06";
+  pname = "faudio";
+  version = "20.08";
 
   src = fetchFromGitHub {
     owner = "FNA-XNA";
     repo = "FAudio";
     rev = version;
-    sha256 = "1dyx9l7ldhlbb77ca3wk0l218589blvh78mdfyzpk9k1izk2yih1";
+    sha256 = "1fs0h5wl0ndix61mz7h59c15kpqikrk7nn1rc7m2a44jiw8mzdnx";
   };
 
 	nativeBuildInputs = [cmake];
diff --git a/nixpkgs/pkgs/development/libraries/fcft/default.nix b/nixpkgs/pkgs/development/libraries/fcft/default.nix
new file mode 100644
index 000000000000..0c5d2b334ac2
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/fcft/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, lib, fetchgit, pkg-config, meson, ninja, scdoc
+,freetype, fontconfig, pixman, tllist, check }:
+
+stdenv.mkDerivation rec {
+  pname = "fcft";
+  version = "2.2.6";
+
+  src = fetchgit {
+    url = "https://codeberg.org/dnkl/fcft.git";
+    rev = "${version}";
+    sha256 = "06zywvvgrch9k4d07bir2sxddwsli2gzpvlvjfcwbrj3bw5x6j1b";
+  };
+
+  nativeBuildInputs = [ pkg-config meson ninja scdoc ];
+  buildInputs = [ freetype fontconfig pixman tllist ];
+  checkInputs = [ check ];
+
+  mesonFlags = [ "--buildtype=release" ];
+
+  doCheck = true;
+
+  meta = with lib; {
+    homepage = "https://codeberg.org/dnkl/fcft";
+    description = "Simple library for font loading and glyph rasterization";
+    maintainers = with maintainers; [ fionera ];
+    license = licenses.mit;
+    platforms = with platforms; linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/ffmpeg-full/default.nix b/nixpkgs/pkgs/development/libraries/ffmpeg-full/default.nix
index 95be159b2e19..c23fb87f2fae 100644
--- a/nixpkgs/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -110,6 +110,7 @@
 , openjpeg ? null # JPEG 2000 de/encoder
 , opensslExtlib ? false, openssl ? null
 , libpulseaudio ? null # Pulseaudio input support
+, rav1e ? null # AV1 encoder (focused on speed and safety)
 , rtmpdump ? null # RTMP[E] support
 #, libquvi ? null # Quvi input support
 , samba ? null # Samba protocol
@@ -118,6 +119,7 @@
 #, shine ? null # Fixed-point MP3 encoder
 , soxr ? null # Resampling via soxr
 , speex ? null # Speex de/encoder
+, srt ? null # Secure Reliable Transport (SRT) protocol
 #, twolame ? null # MP2 encoder
 #, utvideo ? null # Ut Video de/encoder
 , vid-stab ? null # Video stabilization
@@ -242,8 +244,6 @@ stdenv.mkDerivation rec {
   pname = "ffmpeg-full";
   inherit (ffmpeg) src version;
 
-  patches = [ ./prefer-libdav1d-over-libaom.patch ];
-
   prePatch = ''
     patchShebangs .
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
@@ -357,6 +357,7 @@ stdenv.mkDerivation rec {
     #(enableFeature (libnut != null) "libnut")
     (enableFeature (libopus != null) "libopus")
     (enableFeature (librsvg != null) "librsvg")
+    (enableFeature (srt != null) "libsrt")
     (enableFeature (libssh != null) "libssh")
     (enableFeature (libtheora != null) "libtheora")
     (enableFeature (if isLinux then libv4l != null else false) "libv4l2")
@@ -383,6 +384,7 @@ stdenv.mkDerivation rec {
     (enableFeature (opensslExtlib && gplLicensing) "openssl")
     (enableFeature (libpulseaudio != null) "libpulse")
     #(enableFeature quvi "libquvi")
+    (enableFeature (rav1e != null) "librav1e")
     (enableFeature (rtmpdump != null) "librtmp")
     #(enableFeature (schroedinger != null) "libschroedinger")
     (enableFeature (SDL2 != null) "sdl2")
@@ -419,8 +421,8 @@ 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 lzma openal openjpeg libpulseaudio rtmpdump opencore-amr
-    samba SDL2 soxr speex vid-stab vo-amrwbenc wavpack x264 x265 xavs xvidcore
+    libxcb libXv libXext lzma openal openjpeg libpulseaudio rav1e rtmpdump opencore-amr
+    samba SDL2 soxr speex srt vid-stab vo-amrwbenc wavpack x264 x265 xavs xvidcore
     zeromq4 zlib
   ] ++ optionals openglExtlib [ libGL libGLU ]
     ++ optionals nonfreeLicensing [ fdk_aac openssl ]
diff --git a/nixpkgs/pkgs/development/libraries/ffmpeg-full/prefer-libdav1d-over-libaom.patch b/nixpkgs/pkgs/development/libraries/ffmpeg-full/prefer-libdav1d-over-libaom.patch
deleted file mode 100644
index 789bfc2674fa..000000000000
--- a/nixpkgs/pkgs/development/libraries/ffmpeg-full/prefer-libdav1d-over-libaom.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
-index d2f9a39ce5..2342399a8e 100644
---- a/libavcodec/allcodecs.c
-+++ b/libavcodec/allcodecs.c
-@@ -679,13 +679,13 @@ extern AVCodec ff_pcm_mulaw_at_encoder;
- extern AVCodec ff_pcm_mulaw_at_decoder;
- extern AVCodec ff_qdmc_at_decoder;
- extern AVCodec ff_qdm2_at_decoder;
-+extern AVCodec ff_libdav1d_decoder;
- extern AVCodec ff_libaom_av1_decoder;
- extern AVCodec ff_libaom_av1_encoder;
- extern AVCodec ff_libaribb24_decoder;
- extern AVCodec ff_libcelt_decoder;
- extern AVCodec ff_libcodec2_encoder;
- extern AVCodec ff_libcodec2_decoder;
--extern AVCodec ff_libdav1d_decoder;
- extern AVCodec ff_libdavs2_decoder;
- extern AVCodec ff_libfdk_aac_encoder;
- extern AVCodec ff_libfdk_aac_decoder;
diff --git a/nixpkgs/pkgs/development/libraries/ffmpeg/2.8.nix b/nixpkgs/pkgs/development/libraries/ffmpeg/2.8.nix
index 5d1f93a9e049..309cd2b3b356 100644
--- a/nixpkgs/pkgs/development/libraries/ffmpeg/2.8.nix
+++ b/nixpkgs/pkgs/development/libraries/ffmpeg/2.8.nix
@@ -1,7 +1,7 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix (rec {
-  version = "${branch}.16";
+  version = "${branch}.17";
   branch = "2.8";
-  sha256 = "0lfmfd6rhywis9rblkxv33rpwfga9xv261fq4cn3pkx1izih7ybk";
+  sha256 = "05bnhvs2f82aq95z1wd3wr42sljdfq4kiyzqwhpji983mndx14vl";
 } // args)
diff --git a/nixpkgs/pkgs/development/libraries/ffmpeg/3.4.nix b/nixpkgs/pkgs/development/libraries/ffmpeg/3.4.nix
index 6c16b55dfe8d..629fdba5673a 100644
--- a/nixpkgs/pkgs/development/libraries/ffmpeg/3.4.nix
+++ b/nixpkgs/pkgs/development/libraries/ffmpeg/3.4.nix
@@ -6,7 +6,7 @@
 
 callPackage ./generic.nix (rec {
   version = branch;
-  branch = "3.4.7";
-  sha256 = "0hj91gjps92f4w3yyqss89yrs6s75574hbj5gz9g5affd6294yhc";
+  branch = "3.4.8";
+  sha256 = "1d0r4yja2dkkyhdwx1migq46gsrcbajiv66263a5sq5bfr9dqkch";
   darwinFrameworks = [ Cocoa CoreMedia ];
 } // args)
diff --git a/nixpkgs/pkgs/development/libraries/ffmpeg/4.nix b/nixpkgs/pkgs/development/libraries/ffmpeg/4.nix
index 1a7c619a122c..7e3941d3f378 100644
--- a/nixpkgs/pkgs/development/libraries/ffmpeg/4.nix
+++ b/nixpkgs/pkgs/development/libraries/ffmpeg/4.nix
@@ -5,8 +5,8 @@
 }@args:
 
 callPackage ./generic.nix (rec {
-  version = "4.2.3";
-  branch = "4.2";
-  sha256 = "0pkrariwjv25k7inwshch7b5820ly3hsp991amyb60rkqc8v4zi1";
+  version = "4.3.1";
+  branch = "4.3";
+  sha256 = "1nghcpm2r9ir2h6xpqfn9381jq6aiwlkwlnyplxywvkbjiisr97l";
   darwinFrameworks = [ Cocoa CoreMedia VideoToolbox ];
 } // args)
diff --git a/nixpkgs/pkgs/development/libraries/ffmpeg/generic.nix b/nixpkgs/pkgs/development/libraries/ffmpeg/generic.nix
index 5b98884c1fc5..d763fb513545 100644
--- a/nixpkgs/pkgs/development/libraries/ffmpeg/generic.nix
+++ b/nixpkgs/pkgs/development/libraries/ffmpeg/generic.nix
@@ -126,6 +126,7 @@ stdenv.mkDerivation rec {
     # Docs
       (ifMinVer "0.6" "--disable-doc")
     # External Libraries
+      "--enable-libass"
       "--enable-bzlib"
       "--enable-gnutls"
       (ifMinVer "1.0" "--enable-fontconfig")
diff --git a/nixpkgs/pkgs/development/libraries/flatbuffers/default.nix b/nixpkgs/pkgs/development/libraries/flatbuffers/default.nix
index 825e052ad873..0b0e0fd9e22c 100644
--- a/nixpkgs/pkgs/development/libraries/flatbuffers/default.nix
+++ b/nixpkgs/pkgs/development/libraries/flatbuffers/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, fetchpatch, cmake }:
 
-stdenv.mkDerivation (rec {
+stdenv.mkDerivation rec {
   pname = "flatbuffers";
-  version = "1.11.0";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "flatbuffers";
     rev = "v${version}";
-    sha256 = "1gl8pnykzifh7pnnvl80f5prmj5ga60dp44inpv9az2k9zaqx3qr";
+    sha256 = "0f7xd66vc1lzjbn7jzd5kyqrgxpsfxi4zc7iymhb5xrwyxipjl1g";
   };
 
   preConfigure = stdenv.lib.optional stdenv.buildPlatform.isDarwin ''
@@ -36,12 +36,4 @@ stdenv.mkDerivation (rec {
     platforms = stdenv.lib.platforms.unix;
     homepage = "https://google.github.io/flatbuffers/";
   };
-} // stdenv.lib.optionalAttrs stdenv.hostPlatform.isMusl {
-  # Remove when updating to the next version.
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/google/flatbuffers/commit/2b52494047fb6e97af03e1801b42adc7ed3fd78a.diff";
-      sha256 = "01k07ws0f4w7nnl8nli795wgjm4p94lxd3kva4yf7nf3pg4p8arx";
-    })
-  ];
-})
+}
diff --git a/nixpkgs/pkgs/development/libraries/flatpak/default.nix b/nixpkgs/pkgs/development/libraries/flatpak/default.nix
index ceca7e24fb6e..6f8634c01ef8 100644
--- a/nixpkgs/pkgs/development/libraries/flatpak/default.nix
+++ b/nixpkgs/pkgs/development/libraries/flatpak/default.nix
@@ -1,21 +1,23 @@
 { stdenv
 , fetchurl
-, autoreconfHook
+, fetchpatch
+, autoconf
+, automake
+, libtool
 , docbook_xml_dtd_412
 , docbook_xml_dtd_42
 , docbook_xml_dtd_43
-, docbook_xsl
+, docbook-xsl-nons
 , which
 , libxml2
 , gobject-introspection
 , gtk-doc
 , intltool
 , libxslt
-, pkgconfig
+, pkg-config
 , xmlto
 , appstream-glib
 , substituteAll
-, glibcLocales
 , yacc
 , xdg-dbus-proxy
 , p11-kit
@@ -39,6 +41,7 @@
 , nixosTests
 , libsoup
 , lzma
+, zstd
 , ostree
 , polkit
 , python3
@@ -54,14 +57,14 @@
 
 stdenv.mkDerivation rec {
   pname = "flatpak";
-  version = "1.6.3";
+  version = "1.8.2";
 
   # TODO: split out lib once we figure out what to do with triggerdir
-  outputs = [ "out" "dev" "man" "doc" "installedTests" ];
+  outputs = [ "out" "dev" "man" "doc" "devdoc" "installedTests" ];
 
   src = fetchurl {
     url = "https://github.com/flatpak/flatpak/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "17s8nqdxd4xdy7ag9bw06adxccha78jmlsa3zpqnl3qh92pg0hji";
+    sha256 = "eSZiXffCKCpe4aizwxevU9QKZjsbxrGKLch0fiZQhbA=";
   };
 
   patches = [
@@ -69,7 +72,7 @@ stdenv.mkDerivation rec {
     # https://github.com/flatpak/flatpak/issues/1460
     (substituteAll {
       src = ./fix-test-paths.patch;
-      inherit coreutils gettext glibcLocales socat gtk3;
+      inherit coreutils gettext socat gtk3;
       smi = shared-mime-info;
       dfu = desktop-file-utils;
       hicolorIconTheme = hicolor-icon-theme;
@@ -101,21 +104,31 @@ stdenv.mkDerivation rec {
 
     # But we want the GDK_PIXBUF_MODULE_FILE from the wrapper affect the icon validator.
     ./validate-icon-pixbuf.patch
+
+    # Fix `flatpak/test-oci-registry@{user,system}.wrap.test` installed tests.
+    # https://github.com/flatpak/flatpak/pull/3762
+    (fetchpatch {
+      url = "https://github.com/flatpak/flatpak/commit/c1447dadecd50f384b6d11dac18b014245267d00.patch";
+      sha256 = "UAA/wGr8/aMbx5MV+8Ilro2kgKkx2QOn88lDUjCgeDA=";
+    })
   ];
 
   nativeBuildInputs = [
-    autoreconfHook
+    autoconf
+    automake
+    libtool
     libxml2
+    # TODO: replace with docbook_xml_dtd_45 https://github.com/flatpak/flatpak/pull/3760
     docbook_xml_dtd_412
     docbook_xml_dtd_42
     docbook_xml_dtd_43
-    docbook_xsl
+    docbook-xsl-nons
     which
     gobject-introspection
     gtk-doc
     intltool
     libxslt
-    pkgconfig
+    pkg-config
     xmlto
     appstream-glib
     yacc
@@ -134,6 +147,7 @@ stdenv.mkDerivation rec {
     libseccomp
     libsoup
     lzma
+    # zstd # TODO: broken paths in .pc file
     polkit
     python3
     systemd
@@ -166,6 +180,7 @@ stdenv.mkDerivation rec {
     "--with-system-dbus-proxy=${xdg-dbus-proxy}/bin/xdg-dbus-proxy"
     "--with-dbus-config-dir=${placeholder "out"}/share/dbus-1/system.d"
     "--localstatedir=/var"
+    "--enable-gtk-doc"
     "--enable-installed-tests"
   ];
 
@@ -174,9 +189,24 @@ stdenv.mkDerivation rec {
     "installed_test_metadir=${placeholder "installedTests"}/share/installed-tests/flatpak"
   ];
 
-  postPatch = ''
+  postPatch = let
+    vsc-py = python3.withPackages (pp: [
+      pp.pyparsing
+    ]);
+  in ''
     patchShebangs buildutil
     patchShebangs tests
+    PATH=${stdenv.lib.makeBinPath [vsc-py]}:$PATH patchShebangs --build variant-schema-compiler/variant-schema-compiler
+  '';
+
+  preConfigure = ''
+    # TODO: remove the condition once autogen.sh is shipped in the tarball
+    # https://github.com/flatpak/flatpak/pull/3761
+    if [[ -f autogen.sh ]]; then
+        NOCONFIGURE=1 ./autogen.sh
+    else
+        autoreconf --install --force --verbose
+    fi
   '';
 
   passthru = {
diff --git a/nixpkgs/pkgs/development/libraries/flatpak/fix-test-paths.patch b/nixpkgs/pkgs/development/libraries/flatpak/fix-test-paths.patch
index 8ea2f0159a31..dcba66681858 100644
--- a/nixpkgs/pkgs/development/libraries/flatpak/fix-test-paths.patch
+++ b/nixpkgs/pkgs/development/libraries/flatpak/fix-test-paths.patch
@@ -1,5 +1,5 @@
 diff --git a/app/flatpak-builtins-build-export.c b/app/flatpak-builtins-build-export.c
-index 5de89d62..bf6bdb52 100644
+index 43fd0563..4067bd36 100644
 --- a/app/flatpak-builtins-build-export.c
 +++ b/app/flatpak-builtins-build-export.c
 @@ -458,7 +458,7 @@ validate_desktop_file (GFile      *desktop_file,
@@ -12,10 +12,10 @@ index 5de89d62..bf6bdb52 100644
      {
        if (!g_error_matches (local_error, G_SPAWN_ERROR, G_SPAWN_ERROR_NOENT))
 diff --git a/tests/libtest.sh b/tests/libtest.sh
-index e64be49f..a9a53e12 100644
+index acb2095b..b361da16 100644
 --- a/tests/libtest.sh
 +++ b/tests/libtest.sh
-@@ -367,7 +367,7 @@ if [ -z "${FLATPAK_BWRAP:-}" ]; then
+@@ -431,7 +431,7 @@ if [ -z "${FLATPAK_BWRAP:-}" ]; then
      # running installed-tests: assume we know what we're doing
      _flatpak_bwrap_works=true
  elif ! "$FLATPAK_BWRAP" --unshare-ipc --unshare-net --unshare-pid \
@@ -24,7 +24,7 @@ index e64be49f..a9a53e12 100644
      _flatpak_bwrap_works=false
  else
      _flatpak_bwrap_works=true
-@@ -440,7 +440,7 @@ dbus-daemon --fork --config-file=session.conf --print-address=3 --print-pid=4 \
+@@ -504,7 +504,7 @@ dbus-daemon --fork --config-file=session.conf --print-address=3 --print-pid=4 \
  export DBUS_SESSION_BUS_ADDRESS="$(cat dbus-session-bus-address)"
  DBUS_SESSION_BUS_PID="$(cat dbus-session-bus-pid)"
  
@@ -33,7 +33,7 @@ index e64be49f..a9a53e12 100644
      assert_not_reached "Failed to start dbus-daemon"
  fi
  
-@@ -449,7 +449,7 @@ gdb_bt () {
+@@ -519,7 +519,7 @@ commit_to_path () {
  }
  
  cleanup () {
@@ -43,10 +43,10 @@ index e64be49f..a9a53e12 100644
      fusermount -u $XDG_RUNTIME_DIR/doc || :
      kill $(jobs -p) &> /dev/null || true
 diff --git a/tests/make-test-app.sh b/tests/make-test-app.sh
-index e51e21a6..7d39efb5 100755
+index 612f914f..4b890da2 100755
 --- a/tests/make-test-app.sh
 +++ b/tests/make-test-app.sh
-@@ -149,13 +149,13 @@ msgid "Hello world"
+@@ -151,13 +151,13 @@ msgid "Hello world"
  msgstr "Hallo Welt"
  EOF
  mkdir -p ${DIR}/files/de/share/de/LC_MESSAGES
@@ -63,10 +63,10 @@ index e51e21a6..7d39efb5 100755
  flatpak build-finish ${DIR}
  mkdir -p repos
 diff --git a/tests/make-test-runtime.sh b/tests/make-test-runtime.sh
-index 5d2c309b..cf61a3cf 100755
+index af289625..7db51c17 100755
 --- a/tests/make-test-runtime.sh
 +++ b/tests/make-test-runtime.sh
-@@ -25,9 +25,10 @@ EOF
+@@ -28,9 +28,10 @@ EOF
  
  # On Debian derivatives, /usr/sbin and /sbin aren't in ordinary users'
  # PATHs, but ldconfig is kept in /sbin
@@ -78,7 +78,7 @@ index 5d2c309b..cf61a3cf 100755
  mkdir -p ${DIR}/usr/bin
  mkdir -p ${DIR}/usr/lib
  ln -s ../lib ${DIR}/usr/lib64
-@@ -37,48 +38,24 @@ if test -f /sbin/ldconfig.real; then
+@@ -40,40 +41,17 @@ if test -f /sbin/ldconfig.real; then
  else
      cp `which ldconfig` ${DIR}/usr/bin
  fi
@@ -129,11 +129,18 @@ index 5d2c309b..cf61a3cf 100755
  done
  ln -s bash ${DIR}/usr/bin/sh
  
+@@ -84,11 +62,13 @@ echo "Hello world, from a runtime$EXTRA"
+ EOF
+ chmod a+x ${DIR}/usr/bin/runtime_hello.sh
+ 
 -# We copy the C.UTF8 locale and call it en_US. Its a bit of a lie, but
 -# the real en_US locale is often not available, because its in the
 -# local archive.
 -mkdir -p ${DIR}/usr/lib/locale/
 -cp -r /usr/lib/locale/C.* ${DIR}/usr/lib/locale/en_US
++# We do not copy C.UTF8 locale because it is in locale archive and
++# that is already copied with glibc.
++
 +mv ${DIR}/nix/store ${DIR}/usr/store # files outside /usr are not permitted, we will have to replace /nix/store with /usr/store
 +chmod -R u+w ${DIR} # nix store has read-only directories which would cause problems during clean-up, files need to be writable for sed
 +find ${DIR} -type f -print0 | xargs -0 sed -i 's~/nix/store/~/usr/store/~g' # replace hardcoded paths
@@ -142,10 +149,10 @@ index 5d2c309b..cf61a3cf 100755
  if [ x$COLLECTION_ID != x ]; then
      collection_args=--collection-id=${COLLECTION_ID}
 diff --git a/tests/testlibrary.c b/tests/testlibrary.c
-index 44ae28e3..76bf619f 100644
+index 509ce6cc..6a333c9c 100644
 --- a/tests/testlibrary.c
 +++ b/tests/testlibrary.c
-@@ -1343,7 +1343,7 @@ check_bwrap_support (void)
+@@ -1399,7 +1399,7 @@ check_bwrap_support (void)
      {
        gint exit_code = 0;
        char *argv[] = { (char *) bwrap, "--unshare-ipc", "--unshare-net",
diff --git a/nixpkgs/pkgs/development/libraries/fontconfig/2.10.nix b/nixpkgs/pkgs/development/libraries/fontconfig/2.10.nix
deleted file mode 100644
index f4cc29892451..000000000000
--- a/nixpkgs/pkgs/development/libraries/fontconfig/2.10.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, freetype, expat
-}:
-
-stdenv.mkDerivation rec {
-  name = "fontconfig-2.10.2";
-
-  src = fetchurl {
-    url = "http://fontconfig.org/release/${name}.tar.bz2";
-    sha256 = "0llraqw86jmw4vzv7inskp3xxm2gc64my08iwq5mzncgfdbfza4f";
-  };
-
-  outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config
-
-  propagatedBuildInputs = [ freetype ];
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ expat ];
-
-  configureFlags = [
-    "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}"
-    "--sysconfdir=/etc"
-    "--with-cache-dir=/var/cache/fontconfig"
-    "--disable-docs"
-    "--with-default-fonts="
-  ] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-    "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}"
-  ];
-
-  enableParallelBuilding = true;
-
-  doCheck = true;
-
-  # Don't try to write to /var/cache/fontconfig at install time.
-  installFlags = [ "sysconfdir=$(out)/etc" "fc_cachedir=$(TMPDIR)/dummy" "RUN_FC_CACHE_TEST=false" ];
-
-  passthru = {
-    # Empty for backward compatibility, there was no versioning before 2.11
-    configVersion = "";
-  };
-
-  meta = with stdenv.lib; {
-    description = "A library for font customization and configuration";
-    homepage = "http://fontconfig.org/";
-    license = licenses.bsd2; # custom but very bsd-like
-    platforms = platforms.all;
-    maintainers = [ maintainers.vcunat ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/fontconfig/config-compat.patch b/nixpkgs/pkgs/development/libraries/fontconfig/config-compat.patch
deleted file mode 100644
index e86f08fb553c..000000000000
--- a/nixpkgs/pkgs/development/libraries/fontconfig/config-compat.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-commit 05c6adf8104b4321d3a3716a7b9feb6bf223ed0c (HEAD, nixpkgs)
-Author: Vladimír Čunát <vcunat@gmail.com>
-Date:   Tue Nov 4 12:24:25 2014 +0100
-
-    add check for /etc/fonts/@configVersion@/fonts.conf
-    
-    It's checked between FONTCONFIG_FILE and the usual /etc/fonts/fonts.conf.
-    Also, hardcode /etc/fonts/fonts.conf to prevent accidental override.
-
-diff --git a/src/fccfg.c b/src/fccfg.c
-index 6377fd7..e9eb10a 100644
---- a/src/fccfg.c
-+++ b/src/fccfg.c
-@@ -2070,8 +2070,13 @@ FcConfigFilename (const FcChar8 *url)
-     if (!url || !*url)
-     {
- 	url = (FcChar8 *) getenv ("FONTCONFIG_FILE");
-+	if (!url) {
-+	    static const FcChar8 *cfPath = "/etc/fonts/@configVersion@/fonts.conf";
-+	    if (access (cfPath, R_OK) == 0)
-+		url = cfPath;
-+	}
- 	if (!url)
--	    url = (FcChar8 *) FONTCONFIG_FILE;
-+	    url = (FcChar8 *) "/etc/fonts/fonts.conf";
-     }
-     file = 0;
- 
diff --git a/nixpkgs/pkgs/development/libraries/fontconfig/default.nix b/nixpkgs/pkgs/development/libraries/fontconfig/default.nix
index 0518cb257ab2..72df121200e0 100644
--- a/nixpkgs/pkgs/development/libraries/fontconfig/default.nix
+++ b/nixpkgs/pkgs/development/libraries/fontconfig/default.nix
@@ -1,47 +1,86 @@
-{ stdenv, substituteAll, fetchurl
-, pkgconfig, freetype, expat, libxslt, gperf, dejavu_fonts
+{ stdenv
+, fetchpatch
+, substituteAll
+, fetchurl
+, pkg-config
+, freetype
+, expat
+, libxslt
+, gperf
+, dejavu_fonts
+, autoreconfHook
 }:
 
-/** Font configuration scheme
- - ./config-compat.patch makes fontconfig try the following root configs, in order:
-    $FONTCONFIG_FILE, /etc/fonts/${configVersion}/fonts.conf, /etc/fonts/fonts.conf
-    This is done not to override config of pre-2.11 versions (which just blow up)
-    and still use *global* font configuration at both NixOS or non-NixOS.
- - NixOS creates /etc/fonts/${configVersion}/fonts.conf link to $out/etc/fonts/fonts.conf,
-    and other modifications should go to /etc/fonts/${configVersion}/conf.d
- - See ./make-fonts-conf.xsl for config details.
-
-*/
-
-let
-  configVersion = "2.11"; # bump whenever fontconfig breaks compatibility with older configurations
-in
 stdenv.mkDerivation rec {
   pname = "fontconfig";
-  version = "2.12.6";
+  version = "2.13.92";
 
   src = fetchurl {
-    url = "http://fontconfig.org/release/${pname}-${version}.tar.bz2";
-    sha256 = "05zh65zni11kgnhg726gjbrd55swspdvhqbcnj5a5xh8gn03036g";
+    url = "http://fontconfig.org/release/${pname}-${version}.tar.xz";
+    sha256 = "0kkfsvxcvcphm9zcgsh646gix3qn4spz555wa1jp5hbq70l62vjh";
   };
 
   patches = [
-    (substituteAll {
-      src = ./config-compat.patch;
-      inherit configVersion;
+    # Fix fonts not being loaded when missing included configs that have ignore_missing="yes".
+    # https://bugzilla.redhat.com/show_bug.cgi?id=1744377
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/fontconfig/fontconfig/commit/fcada522913e5e07efa6367eff87ace9f06d24c8.patch";
+      sha256 = "1jbm3vw45b3qjnqrh2545v1k8vmb29c09v2wj07jnrq3lnchbvmn";
     })
 
+    # Register JoyPixels as an emoji font.
     # https://gitlab.freedesktop.org/fontconfig/fontconfig/merge_requests/67
-    ./fix-joypixels.patch
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/fontconfig/fontconfig/commit/65087ac7ce4cc5f2109967c1380b474955dcb590.patch";
+      sha256 = "1dkrbqx1c1d8yfnx0igvv516wanw2ksrpm3fbpm2h9nw0hccwqvm";
+    })
+
+    # Fix invalid DTD in reset-dirs.
+    # https://gitlab.freedesktop.org/fontconfig/fontconfig/merge_requests/78
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/fontconfig/fontconfig/commit/a4aa66a858f1ecd375c5efe5916398281f73f794.patch";
+      sha256 = "1j4ky8jhpllfm1lh2if34xglh2hl79nsa0xxgzxpj9sx6h4v99j5";
+    })
+
+    # Do not include its tags, they are external now and only cause warnings with old fontconfig clients.
+    # https://gitlab.freedesktop.org/fontconfig/fontconfig/merge_requests/97
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/fontconfig/fontconfig/commit/528b17b2837c3b102acd90cc7548d07bacaccb1f.patch";
+      sha256 = "1zf4wcd2xlprh805jalfy8ja5c2qzgkh4fwd1m9d638nl9gx932m";
+    })
+    # https://gitlab.freedesktop.org/fontconfig/fontconfig/merge_requests/100
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/fontconfig/fontconfig/commit/37c7c748740bf6f2468d59e67951902710240b34.patch";
+      sha256 = "1rz5zrfwhpn9g49wrzzrmdglj78pbvpnw8ksgsw6bxq8l5d84jfr";
+    })
+
+    # Show warning instead of error when encountering unknown attribute in config.
+    # https://gitlab.freedesktop.org/fontconfig/fontconfig/merge_requests/111
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/fontconfig/fontconfig/commit/409b37c62780728755c908991c912a6b16f2389c.patch";
+      sha256 = "zJFh37QErSAINPGFkFVJyhYRP27BuIN7PIgoDl/PIwI=";
+    })
   ];
 
   outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config
 
-  propagatedBuildInputs = [ freetype ];
-  nativeBuildInputs = [ pkgconfig gperf libxslt ];
-  buildInputs = [ expat ];
+  nativeBuildInputs = [
+    gperf
+    libxslt
+    pkg-config
+    autoreconfHook
+  ];
+
+  buildInputs = [
+    expat
+  ];
+
+  propagatedBuildInputs = [
+    freetype
+  ];
 
   configureFlags = [
+    "--sysconfdir=/etc"
     "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}"
     "--with-cache-dir=/var/cache/fontconfig" # otherwise the fallback is in $out/
     "--disable-docs"
@@ -55,23 +94,22 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  # Don't try to write to /var/cache/fontconfig at install time.
-  installFlags = [ "fc_cachedir=$(TMPDIR)/dummy" "RUN_FC_CACHE_TEST=false" ];
+  installFlags = [
+    # Don't try to write to /var/cache/fontconfig at install time.
+    "fc_cachedir=$(TMPDIR)/dummy"
+    "RUN_FC_CACHE_TEST=false"
+    "sysconfdir=${placeholder "out"}/etc"
+  ];
 
   postInstall = ''
     cd "$out/etc/fonts"
     xsltproc --stringparam fontDirectories "${dejavu_fonts.minimal}" \
-      --stringparam fontconfigConfigVersion "${configVersion}" \
       --path $out/share/xml/fontconfig \
       ${./make-fonts-conf.xsl} $out/etc/fonts/fonts.conf \
       > fonts.conf.tmp
     mv fonts.conf.tmp $out/etc/fonts/fonts.conf
   '';
 
-  passthru = {
-    inherit configVersion;
-  };
-
   meta = with stdenv.lib; {
     description = "A library for font customization and configuration";
     homepage = "http://fontconfig.org/";
diff --git a/nixpkgs/pkgs/development/libraries/fontconfig/fix-joypixels.patch b/nixpkgs/pkgs/development/libraries/fontconfig/fix-joypixels.patch
deleted file mode 100644
index d5654063fe89..000000000000
--- a/nixpkgs/pkgs/development/libraries/fontconfig/fix-joypixels.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- a/conf.d/45-generic.conf
-+++ b/conf.d/45-generic.conf
-@@ -5,6 +5,10 @@
- 
- <!-- Emoji -->
- 
-+	<alias binding="same">
-+		<family>JoyPixels</family>
-+		<default><family>emoji</family></default>
-+	</alias>
- 	<alias binding="same">
- 		<family>Emoji Two</family>
- 		<default><family>emoji</family></default>
---- a/conf.d/60-generic.conf
-+++ b/conf.d/60-generic.conf
-@@ -29,6 +29,7 @@
- 	<alias binding="same">
- 		<family>emoji</family>
- 		<prefer>
-+			<family>JoyPixels</family>
- 			<family>Emoji Two</family>
- 			<family>Emoji One</family>
- 			<!-- System fonts -->
diff --git a/nixpkgs/pkgs/development/libraries/fontconfig/make-fonts-cache.nix b/nixpkgs/pkgs/development/libraries/fontconfig/make-fonts-cache.nix
index f1a2e865bb73..47884b9c3b92 100644
--- a/nixpkgs/pkgs/development/libraries/fontconfig/make-fonts-cache.nix
+++ b/nixpkgs/pkgs/development/libraries/fontconfig/make-fonts-cache.nix
@@ -16,7 +16,7 @@ runCommand "fc-cache"
 
     cat > fonts.conf << EOF
     <?xml version='1.0'?>
-    <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+    <!DOCTYPE fontconfig SYSTEM 'urn:fontconfig:fonts.dtd'>
     <fontconfig>
       <include>${fontconfig.out}/etc/fonts/fonts.conf</include>
       <cachedir>$out</cachedir>
diff --git a/nixpkgs/pkgs/development/libraries/fontconfig/make-fonts-conf.nix b/nixpkgs/pkgs/development/libraries/fontconfig/make-fonts-conf.nix
index b18d72e0a228..493f662d0ce3 100644
--- a/nixpkgs/pkgs/development/libraries/fontconfig/make-fonts-conf.nix
+++ b/nixpkgs/pkgs/development/libraries/fontconfig/make-fonts-conf.nix
@@ -9,8 +9,6 @@ runCommand "fonts.conf"
   }
   ''
     xsltproc --stringparam fontDirectories "$fontDirectories" \
-      --stringparam fontconfig "${fontconfig.out}" \
-      --stringparam fontconfigConfigVersion "${fontconfig.configVersion}" \
       --path ${fontconfig.out}/share/xml/fontconfig \
       ${./make-fonts-conf.xsl} ${fontconfig.out}/etc/fonts/fonts.conf \
       > $out
diff --git a/nixpkgs/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl b/nixpkgs/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl
index dddbbe9e516b..ed51b62a1d08 100644
--- a/nixpkgs/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl
+++ b/nixpkgs/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl
@@ -12,11 +12,9 @@
                 extension-element-prefixes="str"
                 >
 
-  <xsl:output method='xml' encoding="UTF-8" doctype-system="fonts.dtd" />
+  <xsl:output method='xml' encoding="UTF-8" doctype-system="urn:fontconfig:fonts.dtd" />
 
   <xsl:param name="fontDirectories" />
-  <xsl:param name="fontconfig" />
-  <xsl:param name="fontconfigConfigVersion" />
 
   <xsl:template match="/fontconfig">
 
@@ -28,8 +26,8 @@
       <!-- /var/cache/fontconfig is useful for non-nixos systems -->
       <cachedir>/var/cache/fontconfig</cachedir>
 
-      <!-- versioned system-wide config -->
-      <include ignore_missing="yes">/etc/fonts/<xsl:value-of select="$fontconfigConfigVersion" />/conf.d</include>
+      <!-- system-wide config -->
+      <include ignore_missing="yes">/etc/fonts/conf.d</include>
 
       <dir prefix="xdg">fonts</dir>
       <xsl:for-each select="str:tokenize($fontDirectories)">
@@ -40,6 +38,11 @@
       <!-- nix user profile -->
       <dir>~/.nix-profile/lib/X11/fonts</dir>
       <dir>~/.nix-profile/share/fonts</dir>
+
+      <!-- FHS paths for non-NixOS platforms -->
+      <dir>/usr/share/fonts</dir>
+      <dir>/usr/local/share/fonts</dir>
+
       <!-- nix default profile -->
       <dir>/nix/var/nix/profiles/default/lib/X11/fonts</dir>
       <dir>/nix/var/nix/profiles/default/share/fonts</dir>
diff --git a/nixpkgs/pkgs/development/libraries/freeimage/default.nix b/nixpkgs/pkgs/development/libraries/freeimage/default.nix
index 878299f725a6..c31f858850c9 100644
--- a/nixpkgs/pkgs/development/libraries/freeimage/default.nix
+++ b/nixpkgs/pkgs/development/libraries/freeimage/default.nix
@@ -1,5 +1,8 @@
 { lib, stdenv, fetchurl, unzip, darwin }:
 
+# TODO: consider unvendoring various dependencies (libpng, libjpeg,
+# libwebp, zlib, ...)
+
 stdenv.mkDerivation {
   name = "freeimage-3.18.0";
 
@@ -50,5 +53,7 @@ stdenv.mkDerivation {
     license = "GPL";
     maintainers = with lib.maintainers; [viric];
     platforms = with lib.platforms; unix;
+    # see https://github.com/NixOS/nixpkgs/issues/77653
+    broken = stdenv.isAarch64;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/gbenchmark/default.nix b/nixpkgs/pkgs/development/libraries/gbenchmark/default.nix
index cafbe116b1ce..e2734c6b1998 100644
--- a/nixpkgs/pkgs/development/libraries/gbenchmark/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gbenchmark/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gbenchmark";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "benchmark";
     rev = "v${version}";
-    sha256 = "0r9dbg4cbk47gwmayys31a83m3y67k0kh1f6pl8i869rbd609ndh";
+    sha256 = "16xlk8h4mfszl4rig22fgpj9kw312az22981ph6pmkf35xsvvv66";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/gdal/default.nix b/nixpkgs/pkgs/development/libraries/gdal/default.nix
index 7f3e796bbf1b..72135f1a62d4 100644
--- a/nixpkgs/pkgs/development/libraries/gdal/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gdal/default.nix
@@ -7,13 +7,14 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "gdal";
-  version = "3.0.4";
+  # broken with poppler 20.08, however, can't fetch patches cleanly
+  version = "3.1.2.post2020-08-26";
 
   src = fetchFromGitHub {
     owner = "OSGeo";
     repo = "gdal";
-    rev = "v${version}";
-    sha256 = "00a7q9wv8s1bmdhqxvixkq2afr8aibg3pkc76gg50r8lavf6j84c";
+    rev = "9a8df672204a8b3b33c36e09a32f747e21166fe9";
+    sha256 = "1n25jma4x1l7slwxk702q77r84vxr90fyn4c3zpkr07q1b8wqql9";
   };
 
   sourceRoot = "source/gdal";
@@ -57,7 +58,7 @@ stdenv.mkDerivation rec {
     "--with-proj=${proj.dev}" # optional
     "--with-geos=${geos}/bin/geos-config" # optional
     "--with-hdf4=${hdf4.dev}" # optional
-    "--with-xml2=${libxml2.dev}/bin/xml2-config" # optional
+    "--with-xml2=yes" # optional
     (if netcdfSupport then "--with-netcdf=${netcdf}" else "")
   ];
 
diff --git a/nixpkgs/pkgs/development/libraries/gdcm/default.nix b/nixpkgs/pkgs/development/libraries/gdcm/default.nix
index 745c96f57943..a4b5752e887d 100644
--- a/nixpkgs/pkgs/development/libraries/gdcm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gdcm/default.nix
@@ -1,29 +1,39 @@
-{ stdenv, fetchurl, cmake, vtk_7, darwin }:
+{ stdenv, fetchurl, cmake, vtk_7, darwin
+, enablePython ? false, python ? null,  swig ? null}:
 
 stdenv.mkDerivation rec {
-  version = "3.0.6";
+  version = "3.0.7";
   pname = "gdcm";
 
   src = fetchurl {
     url = "mirror://sourceforge/gdcm/${pname}-${version}.tar.bz2";
-    sha256 = "048ycvhk143cvsf09r7vwmp4sm9ah9bh5pbbrl366m5a4sp7fr89";
+    sha256 = "1mm1190fv059k2vrilh3znm8z1ilygwld1iazdgh5s04mi1qljni";
   };
 
   dontUseCmakeBuildDir = true;
-  preConfigure = ''
-    cmakeDir=$PWD
-    mkdir ../build
-    cd ../build
-  '';
 
   cmakeFlags = [
     "-DGDCM_BUILD_APPLICATIONS=ON"
     "-DGDCM_BUILD_SHARED_LIBS=ON"
     "-DGDCM_USE_VTK=ON"
+  ]
+  ++ stdenv.lib.optional enablePython [
+    "-DGDCM_WRAP_PYTHON:BOOL=ON"
+    "-DGDCM_INSTALL_PYTHONMODULE_DIR=${placeholder "out"}/${python.sitePackages}"
   ];
 
+  preConfigure = ''
+    cmakeDir=$PWD
+    mkdir ../build
+    cd ../build
+  '';
+
   enableParallelBuilding = true;
-  buildInputs = [ cmake vtk_7 ] ++ stdenv.lib.optional stdenv.isDarwin [ darwin.apple_sdk.frameworks.ApplicationServices darwin.apple_sdk.frameworks.Cocoa ];
+  buildInputs = [ cmake vtk_7 ]
+    ++ stdenv.lib.optional stdenv.isDarwin [
+      darwin.apple_sdk.frameworks.ApplicationServices
+      darwin.apple_sdk.frameworks.Cocoa
+    ] ++ stdenv.lib.optional enablePython [ swig python ];
   propagatedBuildInputs = [ ];
 
   meta = with stdenv.lib; {
@@ -37,4 +47,3 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
   };
 }
-
diff --git a/nixpkgs/pkgs/development/libraries/gdk-pixbuf/xlib.nix b/nixpkgs/pkgs/development/libraries/gdk-pixbuf/xlib.nix
index 53414d921288..edc5ce525635 100644
--- a/nixpkgs/pkgs/development/libraries/gdk-pixbuf/xlib.nix
+++ b/nixpkgs/pkgs/development/libraries/gdk-pixbuf/xlib.nix
@@ -12,7 +12,7 @@
 
 stdenv.mkDerivation rec {
   pname = "gdk-pixbuf-xlib";
-  version = "2019-10-19-unstable";
+  version = "2020-06-11-unstable";
 
   outputs = [ "out" "dev" "devdoc" ];
 
@@ -20,8 +20,8 @@ stdenv.mkDerivation rec {
     domain = "gitlab.gnome.org";
     owner = "Archive";
     repo = "gdk-pixbuf-xlib";
-    rev = "19482794a621d542b223219940e836257d4ae2c9";
-    sha256 = "7Qv6tyjR0/iFXYHx5jPhvLLLt0Ms2nzpyWw02oXTkZc=";
+    rev = "3116b8ae55501cf48d16970aa2b50a5530e15223";
+    sha256 = "15wisf2xld3cr7lprnic8fvwpcmww4rydwc1bn2zilyi52vzl2zd";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/gdl/default.nix b/nixpkgs/pkgs/development/libraries/gdl/default.nix
index 32cf4ac2a7b6..338d0b6b91b0 100644
--- a/nixpkgs/pkgs/development/libraries/gdl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gdl/default.nix
@@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
     homepage = "https://developer.gnome.org/gdl/";
     maintainers = teams.gnome.members;
     license = licenses.gpl2;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/gegl/4.0.nix b/nixpkgs/pkgs/development/libraries/gegl/4.0.nix
index 85699a8828b0..66bbd55ec457 100644
--- a/nixpkgs/pkgs/development/libraries/gegl/4.0.nix
+++ b/nixpkgs/pkgs/development/libraries/gegl/4.0.nix
@@ -35,14 +35,14 @@
 
 stdenv.mkDerivation rec {
   pname = "gegl";
-  version = "0.4.24";
+  version = "0.4.26";
 
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev";
 
   src = fetchurl {
     url = "https://download.gimp.org/pub/gegl/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "d2VJnyc0Gw0WAy5mUxnLwSh2SD/2qUT83ySpxY4+JUo=";
+    sha256 = "097427icgpgvcx40019b3dm8m84cchz79pixzpz648drs8p1wdqg";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/gensio/default.nix b/nixpkgs/pkgs/development/libraries/gensio/default.nix
index 684bad14dda5..daca5fc0bdb1 100644
--- a/nixpkgs/pkgs/development/libraries/gensio/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gensio/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gensio";
-  version = "2.0.5";
+  version = "2.1.4";
 
   src = fetchFromGitHub {
     owner = "cminyard";
     repo = "${pname}";
     rev = "v${version}";
-    sha256 = "1j6c6vmnip24pxafk29y312vif1xlryymv7aaxgqp9ca3s91nlrf";
+    sha256 = "0c44qhhrknjl7sp94q34z7nv7bvnlqs8wzm385661liy4mnfn4dc";
   };
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/geos/default.nix b/nixpkgs/pkgs/development/libraries/geos/default.nix
index 4e7ce1d5ac85..60fc4067c0c5 100644
--- a/nixpkgs/pkgs/development/libraries/geos/default.nix
+++ b/nixpkgs/pkgs/development/libraries/geos/default.nix
@@ -12,6 +12,9 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ python ];
 
+  # https://trac.osgeo.org/geos/ticket/993
+  configureFlags = stdenv.lib.optional stdenv.isAarch32 "--disable-inline";
+
   meta = with stdenv.lib; {
     description = "C++ port of the Java Topology Suite (JTS)";
     homepage = "https://trac.osgeo.org/geos";
diff --git a/nixpkgs/pkgs/development/libraries/gettext/default.nix b/nixpkgs/pkgs/development/libraries/gettext/default.nix
index 46e52c7988e6..ec186db515d4 100644
--- a/nixpkgs/pkgs/development/libraries/gettext/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gettext/default.nix
@@ -1,4 +1,9 @@
-{ stdenv, lib, fetchurl, libiconv, xz, fetchpatch }:
+{ stdenv, lib, fetchurl, libiconv, xz }:
+
+# 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.
 
 # Note: this package is used for bootstrapping fetchurl, and thus
 # cannot use fetchpatch! All mutable patches (generated by GitHub or
@@ -7,21 +12,15 @@
 
 stdenv.mkDerivation rec {
   pname = "gettext";
-  version = "0.20.1";
+  version = "0.21";
 
   src = fetchurl {
     url = "mirror://gnu/gettext/${pname}-${version}.tar.gz";
-    sha256 = "0p3zwkk27wm2m2ccfqm57nj7vqkmfpn7ja1nf65zmhz8qqs5chb6";
+    sha256 = "04kbg1sx0ncfrsbr85ggjslqkzzb243fcw9nyh3rrv1a22ihszf7";
   };
   patches = [
     ./absolute-paths.diff
-    ./gettext.git-2336451ed68d91ff4b5ae1acbc1eca30e47a86a9.patch
-  ]
-  ++ lib.optional stdenv.isDarwin
-      (fetchpatch {
-        url = "https://git.savannah.gnu.org/cgit/gettext.git/patch?id=ec0e6b307456ceab352669ae6bccca9702108753";
-        sha256 = "0xqs01c7xl7vmw6bqvsmrzxxjxk2a4spcdpmlwm3b4hi2wc2lxnf";
-      });
+  ];
 
   outputs = [ "out" "man" "doc" "info" ];
 
diff --git a/nixpkgs/pkgs/development/libraries/gettext/gettext.git-2336451ed68d91ff4b5ae1acbc1eca30e47a86a9.patch b/nixpkgs/pkgs/development/libraries/gettext/gettext.git-2336451ed68d91ff4b5ae1acbc1eca30e47a86a9.patch
deleted file mode 100644
index 4a19b11507ac..000000000000
--- a/nixpkgs/pkgs/development/libraries/gettext/gettext.git-2336451ed68d91ff4b5ae1acbc1eca30e47a86a9.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From 2336451ed68d91ff4b5ae1acbc1eca30e47a86a9 Mon Sep 17 00:00:00 2001
-From: Bruno Haible <bruno@clisp.org>
-Date: Sun, 19 May 2019 13:10:06 +0200
-Subject: [PATCH] msgmerge: Fix behaviour of --for-msgfmt on PO files with no
- translations.
-
-Reported by Don Lawrence <dlawrence@iecok.com>
-in <https://lists.freedesktop.org/archives/p11-glue/2019-May/000700.html>
-via Daiki Ueno
-in <https://lists.gnu.org/archive/html/bug-gettext/2019-05/msg00124.html>.
-
-* gettext-tools/src/msgmerge.c (main): Treat force_po like true if for_msgfmt
-is true.
-* gettext-tools/tests/msgmerge-26: Add test of PO file with no translations.
----
- gettext-tools/src/msgmerge.c    |  4 ++--
- gettext-tools/tests/msgmerge-26 | 36 +++++++++++++++++++++++++++++++++---
- 2 files changed, 35 insertions(+), 5 deletions(-)
-
-diff --git a/gettext-tools/src/msgmerge.c b/gettext-tools/src/msgmerge.c
-index cd762c0..92c9b7a 100644
---- a/gettext-tools/src/msgmerge.c
-+++ b/gettext-tools/src/msgmerge.c
-@@ -520,8 +520,8 @@ There is NO WARRANTY, to the extent permitted by law.\n\
-   else
-     {
-       /* Write the merged message list out.  */
--      msgdomain_list_print (result, output_file, output_syntax, force_po,
--                            false);
-+      msgdomain_list_print (result, output_file, output_syntax,
-+                            for_msgfmt || force_po, false);
-     }
- 
-   exit (EXIT_SUCCESS);
-diff --git a/gettext-tools/tests/msgmerge-26 b/gettext-tools/tests/msgmerge-26
-index cd3862e..b86f7a0 100755
---- a/gettext-tools/tests/msgmerge-26
-+++ b/gettext-tools/tests/msgmerge-26
-@@ -73,7 +73,37 @@ msgstr "Papaya"
- EOF
- 
- : ${DIFF=diff}
--${DIFF} mm-test26.ok mm-test26.out
--result=$?
-+${DIFF} mm-test26.ok mm-test26.out || Exit 1
- 
--exit $result
-+# Test with a PO file that has no translated messages.
-+
-+cat <<\EOF > mm-test26a.in1
-+msgid ""
-+msgstr ""
-+"Content-Type: text/plain; charset=UTF-8\n"
-+
-+msgid "Hello world"
-+msgstr "Hallo Welt"
-+EOF
-+
-+cat <<\EOF > mm-test26a.in2
-+msgid ""
-+msgstr ""
-+"Content-Type: text/plain; charset=ASCII\n"
-+
-+msgid "Hello, world!"
-+msgstr ""
-+EOF
-+
-+: ${MSGMERGE=msgmerge}
-+${MSGMERGE} --for-msgfmt -o mm-test26a.tmp mm-test26a.in1 mm-test26a.in2 \
-+    || Exit 1
-+LC_ALL=C tr -d '\r' < mm-test26a.tmp > mm-test26a.out || Exit 1
-+
-+cat <<\EOF > mm-test26a.ok
-+msgid ""
-+msgstr "Content-Type: text/plain; charset=UTF-8\n"
-+EOF
-+
-+: ${DIFF=diff}
-+${DIFF} mm-test26a.ok mm-test26a.out || Exit 1
--- 
-1.9.1
-
diff --git a/nixpkgs/pkgs/development/libraries/gfbgraph/default.nix b/nixpkgs/pkgs/development/libraries/gfbgraph/default.nix
index 9fd26b1dfe8e..4718e6ac015a 100644
--- a/nixpkgs/pkgs/development/libraries/gfbgraph/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gfbgraph/default.nix
@@ -1,22 +1,36 @@
 { stdenv, fetchurl, pkgconfig, glib, librest, gnome-online-accounts
-, gnome3, libsoup, json-glib, gobject-introspection }:
+, gnome3, libsoup, json-glib, gobject-introspection
+, gtk-doc, pkgs, docbook-xsl-nons, autoconf, automake, libtool }:
 
 stdenv.mkDerivation rec {
   pname = "gfbgraph";
-  version = "0.2.3";
+  version = "0.2.4";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs";
+    sha256 = "0yck7dwvjk16a52nafjpi0a39rxwmg0w833brj45acz76lgkjrb0";
   };
 
-  nativeBuildInputs = [ pkgconfig gobject-introspection ];
+  nativeBuildInputs = [
+    pkgconfig gobject-introspection gtk-doc
+    docbook-xsl-nons autoconf automake libtool
+  ];
   buildInputs = [ glib gnome-online-accounts ];
   propagatedBuildInputs = [ libsoup json-glib librest ];
 
-  configureFlags = [ "--enable-introspection" ];
+  configureFlags = [ "--enable-introspection" "--enable-gtk-doc" ];
+
+  prePatch = ''
+    patchShebangs autogen.sh
+    substituteInPlace autogen.sh \
+      --replace "which" "${pkgs.which}/bin/which"
+  '';
+
+  preConfigure = ''
+    NOCONFIGURE=1 ./autogen.sh
+  '';
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/development/libraries/gjs/default.nix b/nixpkgs/pkgs/development/libraries/gjs/default.nix
index 357bf076459a..1cad5c0deb96 100644
--- a/nixpkgs/pkgs/development/libraries/gjs/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gjs/default.nix
@@ -29,11 +29,11 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "gjs";
-  version = "1.64.3";
+  version = "1.64.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gjs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1rl524rmdbpmp5xdkm8dx3znq47l7dgvh192x80zjf8wc1af35lx";
+    sha256 = "0k6l2qc2vkws34zrgdhl57qxf0jjkar2iziz6qn4n1w7va73mk53";
   };
 
   outputs = [ "out" "dev" "installedTests" ];
diff --git a/nixpkgs/pkgs/development/libraries/gl2ps/default.nix b/nixpkgs/pkgs/development/libraries/gl2ps/default.nix
index 85a9944fcf7b..172531f9dc7c 100644
--- a/nixpkgs/pkgs/development/libraries/gl2ps/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gl2ps/default.nix
@@ -1,17 +1,27 @@
-{ stdenv, fetchurl, cmake
-, zlib, libGL, libGLU, libpng, freeglut }:
+{ stdenv
+, fetchurl
+, cmake
+, zlib
+, libGL
+, libGLU
+, libpng
+, freeglut
+}:
 
 stdenv.mkDerivation rec {
-  version = "1.4.2";
   pname = "gl2ps";
+  version = "1.4.2";
 
   src = fetchurl {
     url = "http://geuz.org/gl2ps/src/${pname}-${version}.tgz";
     sha256 = "1sgzv547h7hrskb9qd0x5yp45kmhvibjwj2mfswv95lg070h074d";
   };
 
-  buildInputs = [
+  nativeBuildInputs = [
     cmake
+  ];
+
+  buildInputs = [
     zlib
     libGL
     libGLU
diff --git a/nixpkgs/pkgs/development/libraries/glib/default.nix b/nixpkgs/pkgs/development/libraries/glib/default.nix
index 47e372cf9a36..88848deec412 100644
--- a/nixpkgs/pkgs/development/libraries/glib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/glib/default.nix
@@ -16,9 +16,6 @@ with stdenv.lib;
 assert stdenv.isLinux -> utillinuxMinimal != null;
 
 # TODO:
-# * Add gio-module-fam
-#     Problem: cyclic dependency on gamin
-#     Possible solution: build as a standalone module, set env. vars
 # * Make it build without python
 #     Problem: an example (test?) program needs it.
 #     Possible solution: disable compilation of this example somehow
@@ -48,11 +45,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "glib";
-  version = "2.64.3";
+  version = "2.64.5";
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "08pbgiv5m3rica4ydvwvpq5mrxbyswx7l1jzjc2ch52xjabvr77y";
+    sha256 = "04fczq693wivkqd2qxvvi3sncqgznsvzfiiwsll1rbayf795pgcw";
   };
 
   patches = optionals stdenv.isDarwin [
diff --git a/nixpkgs/pkgs/development/libraries/glibc/2.27-CVE-2019-19126.patch b/nixpkgs/pkgs/development/libraries/glibc/2.27-CVE-2019-19126.patch
deleted file mode 100644
index 2c558f53b735..000000000000
--- a/nixpkgs/pkgs/development/libraries/glibc/2.27-CVE-2019-19126.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Adapted from https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=patch;h=4d5cfeb510125345cb41431afc9022492994cffa, omitting changes to NEWS
-diff --git a/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h b/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h
-index 1943691..ac694c0 100644
---- a/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h
-+++ b/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h
-@@ -31,7 +31,8 @@
-    environment variable, LD_PREFER_MAP_32BIT_EXEC.  */
- #define EXTRA_LD_ENVVARS \
-   case 21:								  \
--    if (memcmp (envline, "PREFER_MAP_32BIT_EXEC", 21) == 0)		  \
-+    if (!__libc_enable_secure						  \
-+	&& memcmp (envline, "PREFER_MAP_32BIT_EXEC", 21) == 0)		  \
-       GLRO(dl_x86_cpu_features).feature[index_arch_Prefer_MAP_32BIT_EXEC] \
- 	|= bit_arch_Prefer_MAP_32BIT_EXEC;				  \
-     break;
--- 
-2.9.3
-
diff --git a/nixpkgs/pkgs/development/libraries/glibc/2.31-cve-2020-10029.patch b/nixpkgs/pkgs/development/libraries/glibc/2.31-cve-2020-10029.patch
new file mode 100644
index 000000000000..8334398e8912
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/glibc/2.31-cve-2020-10029.patch
@@ -0,0 +1,79 @@
+diff --git a/sysdeps/ieee754/ldbl-96/Makefile b/sysdeps/ieee754/ldbl-96/Makefile
+index 995e90d6da..318628aed6 100644
+--- a/sysdeps/ieee754/ldbl-96/Makefile
++++ b/sysdeps/ieee754/ldbl-96/Makefile
+@@ -17,5 +17,6 @@
+ # <https://www.gnu.org/licenses/>.
+ 
+ ifeq ($(subdir),math)
+-tests += test-canonical-ldbl-96 test-totalorderl-ldbl-96
++tests += test-canonical-ldbl-96 test-totalorderl-ldbl-96 test-sinl-pseudo
++CFLAGS-test-sinl-pseudo.c += -fstack-protector-all
+ endif
+diff --git a/sysdeps/ieee754/ldbl-96/e_rem_pio2l.c b/sysdeps/ieee754/ldbl-96/e_rem_pio2l.c
+index 5f742321ae..bcdf20179f 100644
+--- a/sysdeps/ieee754/ldbl-96/e_rem_pio2l.c
++++ b/sysdeps/ieee754/ldbl-96/e_rem_pio2l.c
+@@ -210,6 +210,18 @@ __ieee754_rem_pio2l (long double x, long double *y)
+       return 0;
+     }
+ 
++  if ((i0 & 0x80000000) == 0)
++    {
++      /* Pseudo-zero and unnormal representations are not valid
++	 representations of long double.  We need to avoid stack
++	 corruption in __kernel_rem_pio2, which expects input in a
++	 particular normal form, but those representations do not need
++	 to be consistently handled like any particular floating-point
++	 value.  */
++      y[1] = y[0] = __builtin_nanl ("");
++      return 0;
++    }
++
+   /* Split the 64 bits of the mantissa into three 24-bit integers
+      stored in a double array.  */
+   exp = j0 - 23;
+--- /dev/null
++++ b/sysdeps/ieee754/ldbl-96/test-sinl-pseudo.c
+@@ -0,0 +1,41 @@
++/* Test sinl for pseudo-zeros and unnormals for ldbl-96 (bug 25487).
++   Copyright (C) 2020 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, see
++   <https://www.gnu.org/licenses/>.  */
++
++#include <math.h>
++#include <math_ldbl.h>
++#include <stdint.h>
++
++static int
++do_test (void)
++{
++  for (int i = 0; i < 64; i++)
++    {
++      uint64_t sig = i == 63 ? 0 : 1ULL << i;
++      long double ld;
++      SET_LDOUBLE_WORDS (ld, 0x4141,
++			 sig >> 32, sig & 0xffffffffULL);
++      /* The requirement is that no stack overflow occurs when the
++	 pseudo-zero or unnormal goes through range reduction.  */
++      volatile long double ldr;
++      ldr = sinl (ld);
++      (void) ldr;
++    }
++  return 0;
++}
++
++#include <support/test-driver.c>
diff --git a/nixpkgs/pkgs/development/libraries/glibc/common.nix b/nixpkgs/pkgs/development/libraries/glibc/common.nix
index 85856fc366d9..0b2f34c7b765 100644
--- a/nixpkgs/pkgs/development/libraries/glibc/common.nix
+++ b/nixpkgs/pkgs/development/libraries/glibc/common.nix
@@ -41,9 +41,9 @@
 } @ args:
 
 let
-  version = "2.30";
+  version = "2.31";
   patchSuffix = "";
-  sha256 = "1bxqpg91d02qnaz837a5kamm0f43pr1il4r9pknygywsar713i72";
+  sha256 = "05zxkyz9bv3j9h0xyid1rhvh3klhsmrpkf3bcs6frvlgyr2gwilj";
 in
 
 assert withLinuxHeaders -> linuxHeaders != null;
@@ -113,8 +113,8 @@ stdenv.mkDerivation ({
       })
 
       ./fix-x64-abi.patch
-      ./2.27-CVE-2019-19126.patch
       ./2.30-cve-2020-1752.patch
+      ./2.31-cve-2020-10029.patch
     ]
     ++ lib.optional stdenv.hostPlatform.isMusl ./fix-rpc-types-musl-conflicts.patch
     ++ lib.optional stdenv.buildPlatform.isDarwin ./darwin-cross-build.patch;
diff --git a/nixpkgs/pkgs/development/libraries/glibmm/default.nix b/nixpkgs/pkgs/development/libraries/glibmm/default.nix
index dff122d38d12..53e924b1325a 100644
--- a/nixpkgs/pkgs/development/libraries/glibmm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/glibmm/default.nix
@@ -11,7 +11,12 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig gnum4 ];
+  nativeBuildInputs = [
+    pkgconfig
+    gnum4
+    glib # for glib-compile-schemas
+  ];
+
   buildInputs = stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
     Cocoa
   ]);
diff --git a/nixpkgs/pkgs/development/libraries/gloox/default.nix b/nixpkgs/pkgs/development/libraries/gloox/default.nix
index 7e5d7e9fa9a3..ef731b3c35a6 100644
--- a/nixpkgs/pkgs/development/libraries/gloox/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gloox/default.nix
@@ -11,7 +11,7 @@ assert idnSupport -> libidn != null;
 with stdenv.lib;
 
 let
-  version = "1.0.23";
+  version = "1.0.24";
 in
 stdenv.mkDerivation {
   pname = "gloox";
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://camaya.net/download/gloox-${version}.tar.bz2";
-    sha256 = "12jz8glg9zmyk0iyv1ywf5i0hq93dfq8lvn6lyjgy8730w66mjwp";
+    sha256 = "1jgrd07qr9jvbb5hcmhrqz4w4lvwc51m30jls1fgxf1f5az6455f";
   };
 
   buildInputs = [ ]
diff --git a/nixpkgs/pkgs/development/libraries/gnu-config/default.nix b/nixpkgs/pkgs/development/libraries/gnu-config/default.nix
index e45ec957eb93..5acab2a70e08 100644
--- a/nixpkgs/pkgs/development/libraries/gnu-config/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gnu-config/default.nix
@@ -1,21 +1,20 @@
 { stdenv, fetchurl }:
 
 let
-  rev = "a8d79c3130da83c7cacd6fee31b9acc53799c406";
+  rev = "e78c96e5288993aaea3ec44e5c6ee755c668da79";
 
   # Don't use fetchgit as this is needed during Aarch64 bootstrapping
   configGuess = fetchurl {
     url = "https://git.savannah.gnu.org/cgit/config.git/plain/config.guess?id=${rev}";
-    sha256 = "0qbq49gr2cmf4gzrjvrmpwxxgzl3vap1xm902xa8pkcqdvriq0qw";
+    sha256 = "sha256-TSLpYIDGSp1flqCBi2Sgg9IWDV5bcO+Hn2Menv3R6KU=";
   };
   configSub = fetchurl {
     url = "https://git.savannah.gnu.org/cgit/config.git/plain/config.sub?id=${rev}";
-    sha256 = "0i699axqfkxk9mgv1hlms5r44pf0s642yz75ajjjpwzhw4d5pnv4";
+    sha256 = "sha256-DkCGDN/DE3phQ1GO/Ua5ZPPtp0Ya93PnW3yfSK8EV9s=";
   };
-in
-stdenv.mkDerivation {
+in stdenv.mkDerivation {
   pname = "gnu-config";
-  version = "2019-04-15";
+  version = "2020-05-04";
 
   buildCommand = ''
     mkdir -p $out
diff --git a/nixpkgs/pkgs/development/libraries/goffice/default.nix b/nixpkgs/pkgs/development/libraries/goffice/default.nix
index 308a4db28006..46b40d00d780 100644
--- a/nixpkgs/pkgs/development/libraries/goffice/default.nix
+++ b/nixpkgs/pkgs/development/libraries/goffice/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "goffice";
-  version = "0.10.47";
+  version = "0.10.48";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0xmigfdzvmlpa0fw79mf3xwchmxc8rlidryn5syv8bz7msmrb215";
+    sha256 = "1z6f3q8fxkd1ysqrwdxdi0844zqa00vjpf07gq8mh3kal8picfd4";
   };
 
   nativeBuildInputs = [ pkgconfig intltool ];
diff --git a/nixpkgs/pkgs/development/libraries/gperftools/default.nix b/nixpkgs/pkgs/development/libraries/gperftools/default.nix
index 039231c01423..91b2c2929a48 100644
--- a/nixpkgs/pkgs/development/libraries/gperftools/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gperftools/default.nix
@@ -1,14 +1,31 @@
-{ stdenv, fetchurl, libunwind }:
+{ stdenv, fetchurl, fetchpatch, autoreconfHook, libunwind }:
 
 stdenv.mkDerivation rec {
-  name = "gperftools-2.7";
+  name = "gperftools-2.8";
 
   src = fetchurl {
     url = "https://github.com/gperftools/gperftools/releases/download/${name}/${name}.tar.gz";
-    sha256 = "1jb30zxmw7h9qxa8yi76rfxj4ssk60rv8n9y41m6pzqfk9lwis0y";
+    sha256 = "0gjiplvday50x695pwjrysnvm5wfvg2b0gmqf6b4bdi8sv6yl394";
   };
 
-  buildInputs = stdenv.lib.optional stdenv.isLinux libunwind;
+  patches = [
+    # Add the --disable-general-dynamic-tls configure option:
+    # https://bugzilla.redhat.com/show_bug.cgi?id=1483558
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/gperftools/raw/f62d87a34f56f64fb8eb86727e34fbc2d3f5294a/f/gperftools-2.7.90-disable-generic-dynamic-tls.patch";
+      sha256 = "02falhpaqkl27hl1dib4yvmhwsddmgbw0krb46w31fyf3awb2ydv";
+    })
+  ];
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  # tcmalloc uses libunwind in a way that works correctly only on non-ARM linux
+  buildInputs = stdenv.lib.optional (stdenv.isLinux && !(stdenv.isAarch64 || stdenv.isAarch32)) libunwind;
+
+  # Disable general dynamic TLS on AArch to support dlopen()'ing the library:
+  # https://bugzilla.redhat.com/show_bug.cgi?id=1483558
+  configureFlags = stdenv.lib.optional (stdenv.isAarch32 || stdenv.isAarch64)
+    "--disable-general-dynamic-tls";
 
   prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
     substituteInPlace Makefile.am --replace stdc++ c++
diff --git a/nixpkgs/pkgs/development/libraries/gpgme/default.nix b/nixpkgs/pkgs/development/libraries/gpgme/default.nix
index 1c4f63142a9b..ed07d8ba0580 100644
--- a/nixpkgs/pkgs/development/libraries/gpgme/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gpgme/default.nix
@@ -14,22 +14,15 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gpgme";
-  version = "1.13.1";
+  version = "1.14.0";
 
   src = fetchurl {
     url = "mirror://gnupg/gpgme/${pname}-${version}.tar.bz2";
-    sha256 = "0imyjfryvvjdbai454p70zcr95m94j9xnzywrlilqdw2fqi0pqy4";
+    sha256 = "01s3rlspykbm9vmi5rfbdm3d20ip6yni69r48idqzlmhlq8ggwff";
   };
 
   patches = [
-    # Fix tests with gnupg > 2.2.19
-    # https://dev.gnupg.org/T4820
-    (fetchpatch {
-      name = "cff600f1f65a2164ab25ff2b039cba008776ce62.patch";
-      url = "http://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=patch;h=cff600f1f65a2164ab25ff2b039cba008776ce62";
-      sha256 = "0ds3pvcws37q4hr4g5iwg2b98fj6whvhhcbm9c8f1kgp7dlpdw7n";
-    })
-    (fetchpatch {
+    (fetchpatch { # gpg: Send --with-keygrip when listing keys
       name = "c4cf527ea227edb468a84bf9b8ce996807bd6992.patch";
       url = "http://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=patch;h=c4cf527ea227edb468a84bf9b8ce996807bd6992";
       sha256 = "0y0b0lb2nq5p9kx13b59b2jaz157mvflliw1qdvg1v1hynvgb8m4";
@@ -79,6 +72,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = "https://gnupg.org/software/gpgme/index.html";
+    changelog = "https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=blob;f=NEWS;hb=refs/tags/gpgme-${version}";
     description = "Library for making GnuPG easier to use";
     longDescription = ''
       GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG
diff --git a/nixpkgs/pkgs/development/libraries/grantlee/5/default.nix b/nixpkgs/pkgs/development/libraries/grantlee/5/default.nix
index 09bf92224858..4eef2d407d8e 100644
--- a/nixpkgs/pkgs/development/libraries/grantlee/5/default.nix
+++ b/nixpkgs/pkgs/development/libraries/grantlee/5/default.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, lib, copyPathsToStore, fetchurl, qtbase, qtscript, cmake }:
+{ mkDerivation, lib, fetchurl, qtbase, qtscript, cmake }:
 
 mkDerivation rec {
   pname = "grantlee";
@@ -14,7 +14,10 @@ mkDerivation rec {
   buildInputs = [ qtbase qtscript ];
   nativeBuildInputs = [ cmake ];
 
-  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
+  patches = [
+    ./grantlee-nix-profiles.patch
+    ./grantlee-no-canonicalize-filepath.patch
+  ];
 
   outputs = [ "out" "dev" ];
   postFixup =
diff --git a/nixpkgs/pkgs/development/libraries/grantlee/5/series b/nixpkgs/pkgs/development/libraries/grantlee/5/series
deleted file mode 100644
index 9c4015a1c197..000000000000
--- a/nixpkgs/pkgs/development/libraries/grantlee/5/series
+++ /dev/null
@@ -1,2 +0,0 @@
-grantlee-nix-profiles.patch
-grantlee-no-canonicalize-filepath.patch
diff --git a/nixpkgs/pkgs/development/libraries/graphene/default.nix b/nixpkgs/pkgs/development/libraries/graphene/default.nix
index e540604c9cb9..ee147d82afdb 100644
--- a/nixpkgs/pkgs/development/libraries/graphene/default.nix
+++ b/nixpkgs/pkgs/development/libraries/graphene/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetchFromGitHub
+, nix-update-script
 , pkgconfig
 , meson
 , ninja
@@ -15,7 +16,7 @@
 
 stdenv.mkDerivation rec {
   pname = "graphene";
-  version = "1.10.0";
+  version = "1.10.2";
 
   outputs = [ "out" "devdoc" "installedTests" ];
 
@@ -23,7 +24,7 @@ stdenv.mkDerivation rec {
     owner = "ebassi";
     repo = pname;
     rev = version;
-    sha256 = "16vqwih5bfxv7r3mm7iiha804rpsxzxjfrs4kx76d9q5yg2hayxr";
+    sha256 = "1ljhhjafi1nlndjswx7mg0d01zci90wz77yvz5w8bd9mm8ssw38s";
   };
 
   patches = [
@@ -62,6 +63,10 @@ stdenv.mkDerivation rec {
     tests = {
       installedTests = nixosTests.installed-tests.graphene;
     };
+
+    updateScript = nix-update-script {
+      attrPath = pname;
+    };
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/libraries/grpc/default.nix b/nixpkgs/pkgs/development/libraries/grpc/default.nix
index ab497eadb6d6..b5d4db8b4198 100644
--- a/nixpkgs/pkgs/development/libraries/grpc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/grpc/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchFromGitHub, fetchpatch, cmake, zlib, c-ares, pkgconfig, openssl, protobuf, gflags, abseil-cpp }:
 
 stdenv.mkDerivation rec {
-  version = "1.29.0"; # N.B: if you change this, change pythonPackages.grpcio-tools to a matching version too
+  version = "1.32.0"; # N.B: if you change this, change pythonPackages.grpcio-tools to a matching version too
   pname = "grpc";
   src = fetchFromGitHub {
     owner = "grpc";
     repo = "grpc";
     rev = "v${version}";
-    sha256 = "1n604grkf2amzrmwcz6am0rpbp3yfb062lpgmhv943hj8wk7xw27";
+    sha256 = "0v48h0j0gxcp9s63z1ibwgz4416qd6iq728la80y6gl8rklrqf0c";
     fetchSubmodules = true;
   };
   patches = [
diff --git a/nixpkgs/pkgs/development/libraries/gssdp/default.nix b/nixpkgs/pkgs/development/libraries/gssdp/default.nix
index 8ad92eb833a4..0a808b71a71c 100644
--- a/nixpkgs/pkgs/development/libraries/gssdp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gssdp/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gssdp";
-  version = "1.2.2";
+  version = "1.2.3";
 
   outputs = [ "out" "bin" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gssdp/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "195hi10vrsvh6i927mm6rm1ld5sxah3h5sr3bsjm90vb8lxrxfya";
+    sha256 = "1s57i8a8wnnxnsfl27cq4503dkdlzbrhry5zpg23sfqfffvdqqx2";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/core/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/core/default.nix
index f4810feada87..9c4f3ee0251d 100644
--- a/nixpkgs/pkgs/development/libraries/gstreamer/core/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/core/default.nix
@@ -99,7 +99,7 @@ stdenv.mkDerivation rec {
   postInstall = ''
     for prog in "$dev/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=\$GST_PLUGIN_SYSTEM_PATH"$\{GST_PLUGIN_SYSTEM_PATH:+:\}"\$(unset _tmp; for profile in \$NIX_PROFILES; do _tmp="\$profile/lib/gstreamer-1.0''$\{_tmp:+:\}\$_tmp"; done; printf "\$_tmp")"
+        wrapProgram "$prog" --run 'export GST_PLUGIN_SYSTEM_PATH=$GST_PLUGIN_SYSTEM_PATH''${GST_PLUGIN_SYSTEM_PATH:+:}$(unset _tmp; for profile in $NIX_PROFILES; do _tmp="$profile/lib/gstreamer-1.0''${_tmp:+:}$_tmp"; done; printf '%s' "$_tmp")'
     done
   '';
 
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/default.nix
index 94d71760a7f8..e7e11db61298 100644
--- a/nixpkgs/pkgs/development/libraries/gstreamer/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/default.nix
@@ -23,7 +23,7 @@ rec {
     inherit gst-plugins-base gstreamer gst-plugins-bad;
   };
 
-  gst-validate = callPackage ./validate { inherit gst-plugins-base; };
+  gst-validate = callPackage ./validate { inherit gstreamer gst-plugins-base; };
 
   # note: gst-python is in ./python/default.nix - called under pythonPackages
 }
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gnonlin/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gnonlin/default.nix
deleted file mode 100644
index 804d80b8e1d1..000000000000
--- a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gnonlin/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, gst-plugins-base, gstreamer }:
-
-stdenv.mkDerivation rec {
-  name = "gnonlin-0.10.17";
-
-  src = fetchurl {
-    urls = [
-      "https://gstreamer.freedesktop.org/src/gnonlin/${name}.tar.bz2"
-      "mirror://gentoo/distfiles/${name}.tar.bz2"
-      ];
-    sha256 = "0dc9kvr6i7sh91cyhzlbx2bchwg84rfa4679ccppzjf0y65dv8p4";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gst-plugins-base gstreamer ];
-
-  meta = {
-    homepage = "https://gstreamer.freedesktop.org/modules/gnonlin.html";
-    description = "Gstreamer Non-Linear Multimedia Editing Plugins";
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.unix;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-bad/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-bad/default.nix
deleted file mode 100644
index cd37a513184d..000000000000
--- a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-bad/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, glib, gstreamer, gst-plugins-base
-, libdvdnav, libdvdread, orc }:
-
-stdenv.mkDerivation rec {
-  name = "gst-plugins-bad-0.10.23";
-
-  src = fetchurl {
-    urls = [
-      "${meta.homepage}/src/gst-plugins-bad/${name}.tar.bz2"
-      "mirror://gentoo/distfiles/${name}.tar.bz2"
-      ];
-    sha256 = "148lw51dm6pgw8vc6v0fpvm7p233wr11nspdzmvq7bjp2cd7vbhf";
-  };
-
-  postInstall = ''
-    # Fixes CVE-2016-9447
-    # Does not actually impact NSF playback
-    rm -v $out/lib/gstreamer-0.10/libgstnsf.so
-  '';
-
-  buildInputs =
-    [ pkgconfig glib gstreamer gst-plugins-base libdvdnav libdvdread orc ];
-
-  enableParallelBuilding = true;
-
-  meta = {
-    homepage = "https://gstreamer.freedesktop.org";
-
-    description = "‘Bad’ (potentially low quality) plug-ins for GStreamer";
-
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
-
-    license = stdenv.lib.licenses.lgpl2Plus;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
deleted file mode 100644
index ad978e903f8f..000000000000
--- a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{ fetchurl, fetchpatch, stdenv, pkgconfig, gstreamer, xorg, alsaLib, cdparanoia
-, libogg, libtheora, libvorbis, freetype, pango, liboil, glib, cairo, orc
-, libintl
-, ApplicationServices
-, # Whether to build no plugins that have external dependencies
-  # (except the ALSA plugin).
-  minimalDeps ? false
-}:
-
-stdenv.mkDerivation rec {
-  name = "gst-plugins-base-0.10.36";
-
-  src = fetchurl {
-    urls = [
-      "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz"
-      "mirror://gentoo/distfiles/${name}.tar.xz"
-      ];
-    sha256 = "0jp6hjlra98cnkal4n6bdmr577q8mcyp3c08s3a02c4hjhw5rr0z";
-  };
-
-  patches = [
-    ./gcc-4.9.patch
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/commit/f672277509705c4034bc92a141eefee4524d15aa.patch";
-      name = "CVE-2019-9928.patch";
-      sha256 = "1dlamsmyr7chrb6vqqmwikqvvqcx5l7k72p98448qm6k59ndnimc";
-    })
-  ];
-
-  postPatch = ''
-    sed -i 's@/bin/echo@echo@g' configure
-    sed -i -e 's/^   /\t/' docs/{libs,plugins}/Makefile.in
-  '';
-
-  outputs = [ "out" "dev" ];
-
-  # TODO : v4l, libvisual
-  buildInputs =
-    [ pkgconfig glib cairo orc libintl ]
-    # can't build alsaLib on darwin
-    ++ stdenv.lib.optional (!stdenv.isDarwin) alsaLib
-    ++ stdenv.lib.optionals (!minimalDeps)
-      [ xorg.xlibsWrapper xorg.libXv libogg libtheora libvorbis freetype pango
-        liboil ]
-    # can't build cdparanoia on darwin
-    ++ stdenv.lib.optional (!minimalDeps && !stdenv.isDarwin) cdparanoia
-    ++ stdenv.lib.optional stdenv.isDarwin ApplicationServices;
-
-  propagatedBuildInputs = [ gstreamer ];
-
-  postInstall = "rm -rf $out/share/gtk-doc";
-
-  meta = with stdenv.lib; {
-    homepage    = "https://gstreamer.freedesktop.org";
-    description = "Base plug-ins for GStreamer";
-    license     = licenses.lgpl2Plus;
-    maintainers = with maintainers; [ lovek323 ];
-    platforms   = platforms.unix;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/gcc-4.9.patch b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/gcc-4.9.patch
deleted file mode 100644
index fd9f6ea240d2..000000000000
--- a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/gcc-4.9.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-https://bugzilla.gnome.org/show_bug.cgi?id=670690
-
-From 9bd5a7ae5435469c3557a3d70e762791cb3dc5c7 Mon Sep 17 00:00:00 2001
-From: Antoine Jacoutot <ajacoutot@gnome.org>
-Date: Mon, 20 Jan 2014 15:44:09 +0100
-Subject: [PATCH] audioresample: fix build on BSD
-
-On i386, EMMINTRIN is defined but not usable without sse so check for
-__SSE__ and __SSE2__ as well.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=670690
----
- gst/audioresample/resample.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/gst/audioresample/resample.c b/gst/audioresample/resample.c
-index 98d006c..481fa01 100644
---- a/gst/audioresample/resample.c
-+++ b/gst/audioresample/resample.c
-@@ -77,13 +77,13 @@
- #define EXPORT G_GNUC_INTERNAL
- 
- #ifdef _USE_SSE
--#ifndef HAVE_XMMINTRIN_H
-+#if !defined(__SSE__) || !defined(HAVE_XMMINTRIN_H)
- #undef _USE_SSE
- #endif
- #endif
- 
- #ifdef _USE_SSE2
--#ifndef HAVE_EMMINTRIN_H
-+#if !defined(__SSE2__) || !defined(HAVE_XMMINTRIN_H)
- #undef _USE_SSE2
- #endif
- #endif
--- 
-1.8.5.3
-
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix
deleted file mode 100644
index 225bcc7e263e..000000000000
--- a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ fetchurl, stdenv, lib, pkgconfig, gst-plugins-base, aalib, cairo
-, flac, libjpeg, speex, libpng, libdv, libcaca, libvpx
-, taglib, libpulseaudio, gdk-pixbuf, orc
-, glib, gstreamer, bzip2, libsoup, libshout, ncurses, libintl
-, # Whether to build no plugins that have external dependencies
-  # (except the PulseAudio plugin).
-  minimalDeps ? false
-}:
-
-stdenv.mkDerivation rec {
-  name = "gst-plugins-good-0.10.31";
-
-  src = fetchurl {
-    urls = [
-      "${meta.homepage}/src/gst-plugins-good/${name}.tar.bz2"
-      "mirror://gentoo/distfiles/${name}.tar.bz2"
-      ];
-    sha256 = "1ijswgcrdp243mfsyza31fpzq6plz40p4b83vkr2x4x7807889vy";
-  };
-
-  patches = [ ./v4l.patch ./linux-headers-3.9.patch ];
-
-  configureFlags = [ "--enable-experimental" "--disable-oss" ];
-
-  buildInputs =
-    [ pkgconfig glib gstreamer gst-plugins-base libintl ]
-    ++ lib.optional stdenv.isLinux libpulseaudio
-    ++ lib.optionals (!minimalDeps)
-      [ aalib libcaca cairo libdv flac libjpeg libpng speex
-        taglib bzip2 libvpx gdk-pixbuf orc libsoup libshout ];
-
-  enableParallelBuilding = true;
-
-  postInstall = lib.optionalString (!minimalDeps) ''
-    substituteInPlace $out/lib/gstreamer-0.10/libgstaasink.la \
-      --replace "${ncurses.dev}/lib" "${ncurses.out}/lib"
-  '';
-
-  # fails 1 out of 65 tests with "Could not read TLS certificate from '../../tests/files/test-cert.pem': TLS support is not available"
-  doCheck = false;
-
-  meta = {
-    homepage = "https://gstreamer.freedesktop.org";
-
-    description = "`Good' plug-ins for GStreamer";
-
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.unix;
-
-    license = stdenv.lib.licenses.lgpl2Plus;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/linux-headers-3.9.patch b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/linux-headers-3.9.patch
deleted file mode 100644
index f13d3a166714..000000000000
--- a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/linux-headers-3.9.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-plugins/gst-plugins-v4l2/files/gst-plugins-v4l2-0.10.31-linux-headers-3.9.patch
-
-From 8e633d2059cb835448021cf79becb487aff10975 Mon Sep 17 00:00:00 2001
-From: Bastien Nocera <hadess@hadess.net>
-Date: Mon, 18 Mar 2013 14:59:35 +0000
-Subject: v4l2: fix compilation against newer kernel headers as on FC19
-
----
-diff --git a/sys/v4l2/v4l2_calls.c b/sys/v4l2/v4l2_calls.c
-index 07d390a..4c10f4f 100644
---- a/sys/v4l2/v4l2_calls.c
-+++ b/sys/v4l2/v4l2_calls.c
-@@ -291,8 +291,12 @@ gst_v4l2_fill_lists (GstV4l2Object * v4l2object)
-         break;
-       case V4L2_CID_HFLIP:
-       case V4L2_CID_VFLIP:
-+#ifndef V4L2_CID_PAN_RESET
-       case V4L2_CID_HCENTER:
-+#endif
-+#ifndef V4L2_CID_TILT_RESET
-       case V4L2_CID_VCENTER:
-+#endif
- #ifdef V4L2_CID_PAN_RESET
-       case V4L2_CID_PAN_RESET:
- #endif
---
-cgit v0.9.0.2-2-gbebe
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/v4l.patch b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/v4l.patch
deleted file mode 100644
index 22cff574134f..000000000000
--- a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/v4l.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -ru -x '*~' gst-plugins-good-0.10.31-orig/sys/v4l2/gstv4l2bufferpool.c gst-plugins-good-0.10.31/sys/v4l2/gstv4l2bufferpool.c
---- gst-plugins-good-0.10.31-orig/sys/v4l2/gstv4l2bufferpool.c	2011-12-30 14:59:13.000000000 +0100
-+++ gst-plugins-good-0.10.31/sys/v4l2/gstv4l2bufferpool.c	2013-01-28 17:41:25.549523708 +0100
-@@ -181,7 +181,6 @@
-     GST_LOG_OBJECT (pool->v4l2elem, "  MMAP offset:  %u",
-         ret->vbuffer.m.offset);
-   GST_LOG_OBJECT (pool->v4l2elem, "  length:    %u", ret->vbuffer.length);
--  GST_LOG_OBJECT (pool->v4l2elem, "  input:     %u", ret->vbuffer.input);
- 
-   data = (guint8 *) v4l2_mmap (0, ret->vbuffer.length,
-       PROT_READ | PROT_WRITE, MAP_SHARED, pool->video_fd,
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix
deleted file mode 100644
index 5321fc379cc9..000000000000
--- a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, glib, gstreamer, gst-plugins-base
-, libmad, libdvdread, a52dec, x264, orc, lame, libintl }:
-
-stdenv.mkDerivation rec {
-  name = "gst-plugins-ugly-0.10.19";
-
-  src = fetchurl {
-    urls = [
-      "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.bz2"
-      "mirror://gentoo/distfiles/${name}.tar.bz2"
-      ];
-    sha256 = "1w4d5iz9ffvh43l261zdp997i6s2iwd61lflf755s3sw4xch1a8w";
-  };
-
-  buildInputs =
-    [ pkgconfig glib gstreamer gst-plugins-base libmad libdvdread a52dec x264 orc lame libintl ];
-
-  enableParallelBuilding = true;
-
-  meta = {
-    homepage = "https://gstreamer.freedesktop.org";
-
-    description = "‘Ugly’ (potentially patent-encumbered) plug-ins for GStreamer";
-
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.unix;
-
-    license = stdenv.lib.licenses.lgpl2Plus;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix
deleted file mode 100644
index 4c56039bd0a3..000000000000
--- a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, python2Packages, gstreamer, gst-plugins-base
-}:
-
-let
-  inherit (python2Packages) python pygobject2;
-in stdenv.mkDerivation rec {
-  name = "gst-python-0.10.22";
-
-  src = fetchurl {
-    urls = [
-      "${meta.homepage}/src/gst-python/${name}.tar.bz2"
-      "mirror://gentoo/distfiles/${name}.tar.bz2"
-      ];
-    sha256 = "0y1i4n5m1diljqr9dsq12anwazrhbs70jziich47gkdwllcza9lg";
-  };
-
-  hardeningDisable = [ "bindnow" ];
-
-  # Need to disable the testFake test case due to bug in pygobject.
-  # See https://bugzilla.gnome.org/show_bug.cgi?id=692479
-  patches = [ ./disable-testFake.patch ];
-
-  buildInputs =
-    [ pkgconfig gst-plugins-base pygobject2 ]
-    ;
-
-  propagatedBuildInputs = [ gstreamer python ];
-
-  meta = {
-    homepage = "https://gstreamer.freedesktop.org";
-
-    description = "Python bindings for GStreamer";
-
-    license = stdenv.lib.licenses.lgpl2Plus;
-    platforms = stdenv.lib.platforms.unix;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-python/disable-testFake.patch b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-python/disable-testFake.patch
deleted file mode 100644
index d0c9960e5d22..000000000000
--- a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-python/disable-testFake.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-diff -Nurp gst-python-0.10.22.orig/testsuite/test_bin.py gst-python-0.10.22/testsuite/test_bin.py
---- gst-python-0.10.22.orig/testsuite/test_bin.py	2014-10-29 18:58:00.921827721 +0100
-+++ gst-python-0.10.22/testsuite/test_bin.py	2014-10-29 19:00:32.019353092 +0100
-@@ -131,52 +131,6 @@ class BinAddRemove(TestCase):
-         self.assertRaises(gst.AddError, self.bin.add, src, sink)
-         self.bin.remove(src, sink)
-         self.assertRaises(gst.RemoveError, self.bin.remove, src, sink)
--
--class Preroll(TestCase):
--    def setUp(self):
--        TestCase.setUp(self)
--        self.bin = gst.Bin('bin')
--
--    def tearDown(self):
--        # FIXME: wait for state change thread to settle down
--        while self.bin.__gstrefcount__ > 1:
--            time.sleep(0.1)
--        self.assertEquals(self.bin.__gstrefcount__, 1)
--        del self.bin
--        TestCase.tearDown(self)
--
--    def testFake(self):
--        src = gst.element_factory_make('fakesrc')
--        sink = gst.element_factory_make('fakesink')
--        self.bin.add(src)
--
--        # bin will go to paused, src pad task will start and error out
--        self.bin.set_state(gst.STATE_PAUSED)
--        ret = self.bin.get_state()
--        self.assertEquals(ret[0], gst.STATE_CHANGE_SUCCESS)
--        self.assertEquals(ret[1], gst.STATE_PAUSED)
--        self.assertEquals(ret[2], gst.STATE_VOID_PENDING)
--
--        # adding the sink will cause the bin to go in preroll mode
--        gst.debug('adding sink and setting to PAUSED, should cause preroll')
--        self.bin.add(sink)
--        sink.set_state(gst.STATE_PAUSED)
--        ret = self.bin.get_state(timeout=0)
--        self.assertEquals(ret[0], gst.STATE_CHANGE_ASYNC)
--        self.assertEquals(ret[1], gst.STATE_PAUSED)
--        self.assertEquals(ret[2], gst.STATE_PAUSED)
--
--        # to actually complete preroll, we need to link and re-enable fakesrc
--        src.set_state(gst.STATE_READY)
--        src.link(sink)
--        src.set_state(gst.STATE_PAUSED)
--        ret = self.bin.get_state()
--        self.assertEquals(ret[0], gst.STATE_CHANGE_SUCCESS)
--        self.assertEquals(ret[1], gst.STATE_PAUSED)
--        self.assertEquals(ret[2], gst.STATE_VOID_PENDING)
--
--        self.bin.set_state(gst.STATE_NULL)
--        self.bin.get_state()
-  
- class ConstructorTest(TestCase):
-     def testGood(self):
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/darwin.patch b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/darwin.patch
deleted file mode 100644
index 67dfc34434db..000000000000
--- a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/darwin.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/gst/gstdatetime.c b/gst/gstdatetime.c
-index 60f709f..cdc7e75 100644
---- a/gst/gstdatetime.c
-+++ b/gst/gstdatetime.c
-@@ -21,8 +21,8 @@
- #include "config.h"
- #endif
- 
--#include "glib-compat-private.h"
- #include "gst_private.h"
-+#include "glib-compat-private.h"
- #include "gstdatetime.h"
- #include <glib.h>
- #include <math.h>
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix
deleted file mode 100644
index b78f6148e487..000000000000
--- a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix
+++ /dev/null
@@ -1,89 +0,0 @@
-{ fetchurl, fetchpatch, stdenv, autoreconfHook
-, perl, bison, flex, pkgconfig, glib, libxml2, libintl, libunwind
-}:
-
-stdenv.mkDerivation rec {
-  name = "gstreamer-0.10.36";
-
-  src = fetchurl {
-    urls =
-      [ "${meta.homepage}/src/gstreamer/${name}.tar.xz"
-        "mirror://gentoo/distfiles/${name}.tar.xz"
-      ];
-    sha256 = "1nkid1n2l3rrlmq5qrf5yy06grrkwjh3yxl5g0w58w0pih8allci";
-  };
-
-  outputs = [ "out" "dev" ];
-
-  nativeBuildInputs = [ autoreconfHook flex perl pkgconfig libintl bison glib ];
-  buildInputs = stdenv.lib.optional stdenv.isDarwin libunwind;
-  propagatedBuildInputs = [ glib libxml2 ];
-
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/flathub/com.xnview.XnRetro/raw/fec03bbe240f45aa10d7d4eea9d6f066d9b6ac9c/gstreamer-0.10.36-bison3.patch";
-      sha256 = "05aarg3yzl5jx3z5838ixv392g0r3kbsi2vfqniaxmidhnfzij2y";
-    })
-    (fetchpatch {
-      url = "https://github.com/GStreamer/common/commit/03a0e5736761a72d4ed880e8c485bbf9e4a8ea47.patch";
-      sha256 = "0rin3x01yy78ky3smmhbwlph18hhym18q4x9w6ddiqajg5lk4xhm";
-      extraPrefix = "common/";
-      stripLen = 1;
-    })
-    (fetchpatch {
-      url = "https://github.com/GStreamer/common/commit/8aadeaaa8a948d7ce62008789ab03e9aa514c2b9.patch";
-      sha256 = "0n2mqvq2al7jr2hflhz4l781i3jya5a9i725jvy508ambpgycz3x";
-      extraPrefix = "common/";
-      stripLen = 1;
-    })
-    (fetchpatch {
-      url = "https://github.com/GStreamer/common/commit/7bb2bcecda471a0d514a964365a78150f3ee5747.patch";
-      sha256 = "0famdj70m7wjvr1dpy7iywhrkqxmrshxz0rizz1bixgp42dvkhbq";
-      extraPrefix = "common/";
-      stripLen = 1;
-    })
-  ] ++
-    # See https://trac.macports.org/ticket/40783 for explanation of patch
-    stdenv.lib.optional stdenv.isDarwin ./darwin.patch;
-
-  postPatch = ''
-    sed -i -e 's/^   /\t/' docs/gst/Makefile.in docs/libs/Makefile.in docs/plugins/Makefile.in
-  '';
-
-  configureFlags = [
-    "--disable-examples"
-    "--localstatedir=/var"
-    "--disable-gtk-doc"
-    "--disable-docbook"
-  ];
-
-  doCheck = false; # fails. 2 tests crash
-
-  postInstall = ''
-    # Hm, apparently --disable-gtk-doc is ignored...
-    rm -rf $out/share/gtk-doc
-  '';
-
-  setupHook = ./setup-hook.sh;
-
-  meta = {
-    homepage = "https://gstreamer.freedesktop.org";
-
-    description = "Library for constructing graphs of media-handling components";
-
-    longDescription = ''
-      GStreamer is a library for constructing graphs of media-handling
-      components.  The applications it supports range from simple
-      Ogg/Vorbis playback, audio/video streaming to complex audio
-      (mixing) and video (non-linear editing) processing.
-
-      Applications can take advantage of advances in codec and filter
-      technology transparently.  Developers can add new codecs and
-      filters by writing a simple plugin with a clean, generic
-      interface.
-    '';
-
-    license = stdenv.lib.licenses.lgpl2Plus;
-    platforms = stdenv.lib.platforms.unix;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh
deleted file mode 100644
index 636e20b732b4..000000000000
--- a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-addGstreamerLibPath () {
-    if test -d "$1/lib/gstreamer-0.10"
-    then
-        export GST_PLUGIN_SYSTEM_PATH="${GST_PLUGIN_SYSTEM_PATH-}${GST_PLUGIN_SYSTEM_PATH:+:}$1/lib/gstreamer-0.10"
-    fi
-}
-
-addEnvHooks "$hostOffset" addGstreamerLibPath
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamermm/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamermm/default.nix
deleted file mode 100644
index 24197b04b73f..000000000000
--- a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamermm/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchurl, glibmm, gstreamer, gst-plugins-base, libsigcxx, libxmlxx, pkgconfig }:
-
-let
-  ver_maj = "0.10";
-  ver_min = "11";
-in
-stdenv.mkDerivation {
-  name = "gstreamermm-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url    = "mirror://gnome/sources/gstreamermm/${ver_maj}/gstreamermm-${ver_maj}.${ver_min}.tar.xz";
-    sha256 = "12b5f377363594a69cb79f2f5cd0a8b1813ca6553680c3216e6354cfd682ebc6";
-  };
- 
-  doCheck = false; # Tests require pulseaudio in /homeless-shelter
-
-  propagatedBuildInputs = [
-    glibmm gstreamer gst-plugins-base libsigcxx libxmlxx
-  ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  meta = with stdenv.lib; {
-    description = "C++ bindings for the GStreamer streaming multimedia library";
-    homepage = "https://www.gtkmm.org/";
-    license = licenses.lgpl2Plus;
-    maintainers = with maintainers; [ plcplc ];
-    platforms = platforms.unix;
-  };
-
-}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
index dfb18754c839..92e8a45a4f6f 100644
--- a/nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
@@ -20,6 +20,15 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
+  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/nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/fix_pkgconfig_includedir.patch b/nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/fix_pkgconfig_includedir.patch
new file mode 100644
index 000000000000..d31fe19fb0fe
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/fix_pkgconfig_includedir.patch
@@ -0,0 +1,15 @@
+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/nixpkgs/pkgs/development/libraries/gthree/default.nix b/nixpkgs/pkgs/development/libraries/gthree/default.nix
index 04d7c8d8f4d4..2da9847f3cb4 100644
--- a/nixpkgs/pkgs/development/libraries/gthree/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gthree/default.nix
@@ -3,10 +3,10 @@
 , fetchpatch
 , ninja
 , meson
-, pkgconfig
+, pkg-config
 , gobject-introspection
 , gtk-doc
-, docbook_xsl
+, docbook-xsl-nons
 , docbook_xml_dtd_43
 , glib
 , gtk3
@@ -17,7 +17,7 @@
 
 stdenv.mkDerivation rec {
   pname = "gthree";
-  version = "0.2.0";
+  version = "0.9.0";
 
   outputs = [ "out" "dev" "devdoc" ];
 
@@ -25,32 +25,42 @@ stdenv.mkDerivation rec {
     owner = "alexlarsson";
     repo = "gthree";
     rev = version;
-    sha256 = "16ap1ampnzsyhrs84b168d6889lh8sjr2j5sqv9mdbnnhy72p5cd";
+    sha256 = "09fcnjc3j21lh5fjf067wm35sb4qni4vgzing61kixnn2shy79iy";
   };
 
+  patches = [
+    # Add option for disabling examples
+    (fetchpatch {
+      url = "https://github.com/alexlarsson/gthree/commit/75f05c40aba9d5f603d8a3c490c3406c1fe06776.patch";
+      sha256 = "PBwLz4DLhC+7BtypVTFMFiF3hKAJeskU3XBKFHa3a84=";
+    })
+  ];
+
   nativeBuildInputs = [
     ninja
     meson
-    pkgconfig
+    pkg-config
     gtk-doc
-    docbook_xsl
+    docbook-xsl-nons
     docbook_xml_dtd_43
     gobject-introspection
   ];
 
   buildInputs = [
     epoxy
+    json-glib
   ];
 
   propagatedBuildInputs = [
     glib
     gtk3
     graphene
-    json-glib
   ];
 
   mesonFlags = [
     "-Dgtk_doc=${if stdenv.isDarwin then "false" else "true"}"
+    # Data for examples is useless when the example programs are not installed.
+    "-Dexamples=false"
   ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/libraries/gtk-layer-shell/default.nix b/nixpkgs/pkgs/development/libraries/gtk-layer-shell/default.nix
index c00e8035f18b..14f822432ee3 100644
--- a/nixpkgs/pkgs/development/libraries/gtk-layer-shell/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gtk-layer-shell/default.nix
@@ -2,7 +2,10 @@
 , fetchFromGitHub
 , meson
 , ninja
-, pkgconfig
+, pkg-config
+, gtk-doc
+, docbook-xsl-nons
+, docbook_xml_dtd_43
 , wayland
 , gtk3
 , gobject-introspection
@@ -10,30 +13,39 @@
 
 stdenv.mkDerivation rec {
   pname = "gtk-layer-shell";
-  version = "0.1.0";
+  version = "0.2.0";
+
+  outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchFromGitHub {
     owner = "wmww";
     repo = "gtk-layer-shell";
     rev = "v${version}";
-    sha256 = "1fwvlbwp5w1zly6mksvlzbx18ikq4bh7pdj9q0k94qlj6x2zdwg8";
+    sha256 = "0kas84z44p3vz92sljbnahh43wfj69knqsy1za729j8phrlwqdmg";
   };
 
   nativeBuildInputs = [
-    meson ninja pkgconfig
+    meson
+    ninja
+    pkg-config
+    gobject-introspection
+    gtk-doc
+    docbook-xsl-nons
+    docbook_xml_dtd_43
   ];
 
   buildInputs = [
-    wayland gtk3 gobject-introspection
+    wayland
+    gtk3
   ];
 
   mesonFlags = [
-    "-Dout=${placeholder "out"}"
+    "-Ddocs=true"
   ];
 
   meta = with stdenv.lib; {
     description = "A library to create panels and other desktop components for Wayland using the Layer Shell protocol";
-    license = licenses.mit;
+    license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ eonpatapon ];
     platforms = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/development/libraries/gtk-sharp/3.0.nix b/nixpkgs/pkgs/development/libraries/gtk-sharp/3.0.nix
index f8f1f20cc2fd..49405c655e15 100644
--- a/nixpkgs/pkgs/development/libraries/gtk-sharp/3.0.nix
+++ b/nixpkgs/pkgs/development/libraries/gtk-sharp/3.0.nix
@@ -1,4 +1,8 @@
-{ stdenv, fetchurl, pkgconfig, mono
+{ stdenv
+, fetchurl
+, fetchpatch
+, pkgconfig
+, mono
 , glib
 , pango
 , gtk3
@@ -14,29 +18,32 @@
 , monoDLLFixer
 }:
 
-stdenv.mkDerivation {
-  name = "gtk-sharp-2.99.3";
+stdenv.mkDerivation rec {
+  pname = "gtk-sharp";
+  version = "2.99.3";
 
   builder = ./builder.sh;
   src = fetchurl {
-    #"mirror://gnome/sources/gtk-sharp/2.99/gtk-sharp-2.99.3.tar.xz";
-    url = "http://ftp.gnome.org/pub/GNOME/sources/gtk-sharp/2.99/gtk-sharp-2.99.3.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "18n3l9zcldyvn4lwi8izd62307mkhz873039nl6awrv285qzah34";
   };
 
-  # patch bad usage of glib, which wasn't tolerated anymore
-  # prePatch = ''
-  #   for f in glib/glue/{thread,list,slist}.c; do
-  #     sed -i 's,#include <glib/.*\.h>,#include <glib.h>,g' "$f"
-  #   done
-  # '';
-
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
     mono glib pango gtk3 GConf libglade libgnomecanvas
     libgtkhtml libgnomeui libgnomeprint libgnomeprintui gtkhtml libxml2
   ];
 
+  patches = [
+    # Fixes MONO_PROFILE_ENTER_LEAVE undeclared when compiling against newer versions of mono.
+    # @see https://github.com/mono/gtk-sharp/pull/266
+    (fetchpatch {
+      name = "MONO_PROFILE_ENTER_LEAVE.patch";
+      url = "https://github.com/mono/gtk-sharp/commit/401df51bc461de93c1a78b6a7a0d5adc63cf186c.patch";
+      sha256 = "0hrkcr5a7wkixnyp60v4d6j3arsb63h54rd30lc5ajfjb3p92kcf";
+    })
+  ];
+
   dontStrip = true;
 
   inherit monoDLLFixer;
@@ -47,6 +54,5 @@ stdenv.mkDerivation {
 
   meta = {
     platforms = stdenv.lib.platforms.linux;
-    broken = true; # 2018-09-21, build has failed since 2018-04-28
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/gtk/3.x.nix b/nixpkgs/pkgs/development/libraries/gtk/3.x.nix
index aec5c4d2dedf..bf78d15d39c6 100644
--- a/nixpkgs/pkgs/development/libraries/gtk/3.x.nix
+++ b/nixpkgs/pkgs/development/libraries/gtk/3.x.nix
@@ -48,7 +48,7 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "gtk+3";
-  version = "3.24.20";
+  version = "3.24.21";
 
   outputs = [ "out" "dev" ] ++ optional withGtkDoc "devdoc";
   outputBin = "dev";
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk+/${stdenv.lib.versions.majorMinor version}/gtk+-${version}.tar.xz";
-    sha256 = "1wqxkd3xnqwihcawncp9mkf9bv5a5fg5i4ahm6klpl782vvnkb1d";
+    sha256 = "0llgq2adzn9p3bfq9rv2dhscmvzs35jp3glrfvy3vs1mrpknmsmf";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/libraries/gtksourceview/4.x.nix b/nixpkgs/pkgs/development/libraries/gtksourceview/4.x.nix
index 1a80a1b6fac9..565b7f782d57 100644
--- a/nixpkgs/pkgs/development/libraries/gtksourceview/4.x.nix
+++ b/nixpkgs/pkgs/development/libraries/gtksourceview/4.x.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gtksourceview";
-  version = "4.6.0";
+  version = "4.6.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gtksourceview/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "11csdnb5xj1gkn1shynp3jdsfhhi7ks3apgmavfan0p6n85f64sc";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "0x7q9lwgrc4kkciy7vgwd80v2ji7plyqiqbvkvx2yqarmfkqgx33";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/harfbuzz/default.nix b/nixpkgs/pkgs/development/libraries/harfbuzz/default.nix
index c2a924c7e023..8110f13d14ca 100644
--- a/nixpkgs/pkgs/development/libraries/harfbuzz/default.nix
+++ b/nixpkgs/pkgs/development/libraries/harfbuzz/default.nix
@@ -1,27 +1,34 @@
-{ stdenv, fetchurl, pkgconfig, glib, freetype, cairo, libintl
+{ stdenv, fetchFromGitHub, pkgconfig, glib, freetype, cairo, libintl
+, meson, ninja
+, gobject-introspection
 , icu, graphite2, harfbuzz # The icu variant uses and propagates the non-icu one.
 , ApplicationServices, CoreText
 , withCoreText ? false
 , withIcu ? false # recommended by upstream as default, but most don't needed and it's big
 , withGraphite2 ? true # it is small and major distros do include it
-, python
+, python3
+, gtk-doc, docbook-xsl-nons, docbook_xml_dtd_43
 }:
 
 let
-  version = "2.6.4";
+  version = "2.7.1";
   inherit (stdenv.lib) optional optionals optionalString;
+  mesonFeatureFlag = opt: b:
+    "-D${opt}=${if b then "enabled" else "disabled"}";
 in
 
 stdenv.mkDerivation {
   name = "harfbuzz${optionalString withIcu "-icu"}-${version}";
 
-  src = fetchurl {
-    url = "https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${version}.tar.xz";
-    sha256 = "04iwq13w6zkdhljmsxrzgg4fyh04qnwfn57rgrl9kmijc7cvh4wl";
+  src = fetchFromGitHub {
+    owner  = "harfbuzz";
+    repo   = "harfbuzz";
+    rev    = version;
+    sha256 = "172jmwp666xbs6yy1pc2495gnkz8xw11b8zkz3j19jxlvvp4mxcs";
   };
 
   postPatch = ''
-    patchShebangs src/gen-def.py
+    patchShebangs src/*.py
     patchShebangs test
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
     # ApplicationServices.framework headers have cast-align warnings.
@@ -29,17 +36,26 @@ stdenv.mkDerivation {
       --replace '#pragma GCC diagnostic error   "-Wcast-align"' ""
   '';
 
-  outputs = [ "out" "dev" ];
+  outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev";
 
-  configureFlags = [
-    # not auto-detected by default
-    "--with-graphite2=${if withGraphite2 then "yes" else "no"}"
-    "--with-icu=${if withIcu then "yes" else "no"}"
-  ]
-    ++ stdenv.lib.optional withCoreText "--with-coretext=yes";
+  mesonFlags = [
+    (mesonFeatureFlag "graphite" withGraphite2)
+    (mesonFeatureFlag "icu" withIcu)
+    (mesonFeatureFlag "coretext" withCoreText)
+  ];
 
-  nativeBuildInputs = [ pkgconfig libintl ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    gobject-introspection
+    libintl
+    pkgconfig
+    python3
+    gtk-doc
+    docbook-xsl-nons
+    docbook_xml_dtd_43
+  ];
 
   buildInputs = [ glib freetype cairo ] # recommended by upstream
     ++ stdenv.lib.optionals withCoreText [ ApplicationServices CoreText ];
@@ -48,11 +64,10 @@ stdenv.mkDerivation {
     ++ optional withGraphite2 graphite2
     ++ optionals withIcu [ icu harfbuzz ];
 
-  checkInputs = [ python ];
-  doInstallCheck = false; # fails, probably a bug
+  doCheck = true;
 
   # Slightly hacky; some pkgs expect them in a single directory.
-  postInstall = optionalString withIcu ''
+  postFixup = optionalString withIcu ''
     rm "$out"/lib/libharfbuzz.* "$dev/lib/pkgconfig/harfbuzz.pc"
     ln -s {'${harfbuzz.out}',"$out"}/lib/libharfbuzz.la
     ln -s {'${harfbuzz.dev}',"$dev"}/lib/pkgconfig/harfbuzz.pc
@@ -64,12 +79,9 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "An OpenType text shaping engine";
-    homepage = "http://www.freedesktop.org/wiki/Software/HarfBuzz";
-    downloadPage = "https://www.freedesktop.org/software/harfbuzz/release/";
+    homepage = "https://harfbuzz.github.io/";
     maintainers = [ maintainers.eelco ];
     license = licenses.mit;
     platforms = with platforms; linux ++ darwin;
-    inherit version;
-    updateWalker = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/herqq/default.nix b/nixpkgs/pkgs/development/libraries/herqq/default.nix
index d3433246b780..8dc0df3a9f2f 100644
--- a/nixpkgs/pkgs/development/libraries/herqq/default.nix
+++ b/nixpkgs/pkgs/development/libraries/herqq/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, qt5, unzip, fetchFromGitHub, qtmultimedia }:
+{ stdenv, unzip, fetchFromGitHub, qmake, qtmultimedia, qtbase }:
 
 stdenv.mkDerivation rec {
   version = "2.1.0";
   pname = "herqq";
 
-  nativeBuildInputs = [ qt5.qmake ];
-  buildInputs = [ qt5.qtbase unzip qtmultimedia ];
+  nativeBuildInputs = [ qmake ];
+  buildInputs = [ qtbase unzip qtmultimedia ];
   preConfigure = "cd herqq";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/libraries/hiredis/default.nix b/nixpkgs/pkgs/development/libraries/hiredis/default.nix
index 4055cb8eb71e..2f7fe184845d 100644
--- a/nixpkgs/pkgs/development/libraries/hiredis/default.nix
+++ b/nixpkgs/pkgs/development/libraries/hiredis/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hiredis";
-  version = "0.14.1";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "redis";
     repo = "hiredis";
     rev = "v${version}";
-    sha256 = "1r93ssniiv610pj6d78i1cngism0cdv2k8cmzy7jf9klf76jiwfq";
+    sha256 = "01xnynm9d56a0alb5wxbfayakybm5pnr12icj9mqkn4xxihbnbgr";
   };
 
   PREFIX = "\${out}";
diff --git a/nixpkgs/pkgs/development/libraries/hivex/default.nix b/nixpkgs/pkgs/development/libraries/hivex/default.nix
index 113a49138e15..d0afea119df0 100644
--- a/nixpkgs/pkgs/development/libraries/hivex/default.nix
+++ b/nixpkgs/pkgs/development/libraries/hivex/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "hivex";
-  version = "1.3.18";
+  version = "1.3.19";
 
   src = fetchurl {
     url = "http://libguestfs.org/download/hivex/${pname}-${version}.tar.gz";
-    sha256 = "0ibl186l6rd9qj4rqccfwbg1nnx6z07vspkhk656x6zav67ph7la";
+    sha256 = "0qppahpf7jq950nf8ial47h90nyqgnsffsj3zgdjjwkn958wq0ji";
   };
 
   patches = [ ./hivex-syms.patch ];
diff --git a/nixpkgs/pkgs/development/libraries/hpx/default.nix b/nixpkgs/pkgs/development/libraries/hpx/default.nix
index 3ced1c121c65..b6d6b6887525 100644
--- a/nixpkgs/pkgs/development/libraries/hpx/default.nix
+++ b/nixpkgs/pkgs/development/libraries/hpx/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hpx";
-  version = "1.4.1";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "STEllAR-GROUP";
     repo = "hpx";
     rev = version;
-    sha256 = "0yjsrb11hlfwbiw0xi71ami9nrvz6jwj160h9qgl50icd79ngn46";
+    sha256 = "10hgjavhvn33y3k5j3l1326x13bxffghg2arxjrh7i7zd3qprfv5";
   };
 
   buildInputs = [ boost hwloc gperftools ];
diff --git a/nixpkgs/pkgs/development/libraries/hunspell/dictionaries.nix b/nixpkgs/pkgs/development/libraries/hunspell/dictionaries.nix
index a330691c6a58..2cdc30109d90 100644
--- a/nixpkgs/pkgs/development/libraries/hunspell/dictionaries.nix
+++ b/nixpkgs/pkgs/development/libraries/hunspell/dictionaries.nix
@@ -754,4 +754,33 @@ in rec {
     readmeFile = "README_sk.txt";
     license = with stdenv.lib.licenses; [ gpl2 lgpl21 mpl11 ];
   };
+
+  /* DANISH */
+
+  da_DK = da-dk;
+  da-dk = mkDict rec {
+    name = "hunspell-dict-da-dk-${version}";
+    version = "2.5.137";
+
+    src = fetchurl {
+      url = "https://stavekontrolden.dk/dictionaries/da_DK/da_DK-${version}.oxt";
+      sha256 = "16y0smkg1mq0133r1fbw5ak6s2xw39281knk5ivhanakayq789qx";
+    };
+
+    shortName = "da-dk";
+    shortDescription = "Danish (Danmark)";
+    dictFileName = "da_DK";
+    readmeFile = "README_da_DK.txt";
+    nativeBuildInputs = [ unzip ];
+    unpackCmd = ''
+      unzip $src ${dictFileName}.dic ${dictFileName}.aff ${readmeFile} -d ${dictFileName}
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Hunspell dictionary for Danish (Denmark) from Stavekontrolden";
+      homepage = "https://github.com/jeppebundsgaard/stavekontrolden";
+      license = with stdenv.lib.licenses; [ gpl2Only lgpl21Only mpl11 ];
+      maintainers = with maintainers; [ louisdk1 ];
+    };
+  };
 }
diff --git a/nixpkgs/pkgs/development/libraries/igraph/default.nix b/nixpkgs/pkgs/development/libraries/igraph/default.nix
index fcb5e7918d96..6a55359e168b 100644
--- a/nixpkgs/pkgs/development/libraries/igraph/default.nix
+++ b/nixpkgs/pkgs/development/libraries/igraph/default.nix
@@ -4,28 +4,34 @@
 
 stdenv.mkDerivation rec {
   pname = "igraph";
-  version = "0.7.1";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "igraph";
     repo = pname;
     rev = version;
-    sha256 = "1wsy0r511gk069il6iqjs27q8cjvqz20gf0a7inybx1bw84845z8";
+    sha256 = "015yh9s19lmxm7l1ld8adlsqh1lrmzicl801saixdwl9w05hfva4";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
   buildInputs = [ flex yacc zlib libxml2 ];
 
-  # This file is normally generated by igraph's bootstrap.sh, but we can do it
-  # ourselves. ~ C.
+  # Normally, igraph wants us to call bootstrap.sh, which will call
+  # tools/getversion.sh. Instead, we're going to put the version directly
+  # where igraph wants, and then let autoreconfHook do the rest of the
+  # bootstrap. ~ C.
   postPatch = ''
-    echo "${version}" > VERSION
+    echo "${version}" > IGRAPH_VERSION
   '';
 
+  doCheck = true;
+
   meta = {
     description = "The network analysis package";
     homepage = "https://igraph.org/";
     license = lib.licenses.gpl2;
+    # NB: Known to fail tests on aarch64.
+    platforms = [ "x86_64-linux" ] ++ lib.platforms.darwin;
     maintainers = [ lib.maintainers.MostAwesomeDude ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/ilmbase/cross.patch b/nixpkgs/pkgs/development/libraries/ilmbase/cross.patch
deleted file mode 100644
index 207a440a0d85..000000000000
--- a/nixpkgs/pkgs/development/libraries/ilmbase/cross.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From: Helmut Grohne <>
-Subject: compile build tools with the build architecture compiler
-
-Patch-Source: https://github.com/openexr/openexr/issues/221
-
-Index: ilmbase-2.2.0/configure.ac
-===================================================================
---- ilmbase-2.2.0.orig/configure.ac
-+++ ilmbase-2.2.0/configure.ac
-@@ -28,6 +28,7 @@
- AC_PROG_LN_S
- AC_PROG_LIBTOOL
- AC_PROG_MAKE_SET
-+AX_PROG_CXX_FOR_BUILD
- 
- dnl
- dnl PKGCONFIG preparations
-Index: ilmbase-2.2.0/Half/Makefile.am
-===================================================================
---- ilmbase-2.2.0.orig/Half/Makefile.am
-+++ ilmbase-2.2.0/Half/Makefile.am
-@@ -17,9 +17,11 @@
- 
- CLEANFILES = eLut eLut.h toFloat toFloat.h
- 
--eLut_SOURCES = eLut.cpp
-+eLut$(EXEEXT): eLut.cpp
-+	$(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) $< -o $@
- 
--toFloat_SOURCES = toFloat.cpp
-+toFloat$(EXEEXT): toFloat.cpp
-+	$(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) $< -o $@
- 
- eLut.h:	eLut
- 	./eLut > eLut.h
diff --git a/nixpkgs/pkgs/development/libraries/ilmbase/default.nix b/nixpkgs/pkgs/development/libraries/ilmbase/default.nix
index 9d2479c2e0b3..68bd677cf777 100644
--- a/nixpkgs/pkgs/development/libraries/ilmbase/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ilmbase/default.nix
@@ -1,7 +1,7 @@
 { stdenv
+, lib
 , buildPackages
 , cmake
-, libtool
 , openexr
 }:
 
@@ -11,22 +11,23 @@ stdenv.mkDerivation rec {
 
   # the project no longer provides separate tarballs. We may even want to merge
   # the ilmbase package into openexr in the future.
-  src = openexr.src;
-
-  sourceRoot = "source/IlmBase";
+  inherit (openexr) src patches;
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ cmake libtool ];
+  nativeBuildInputs = [ cmake ];
   depsBuildBuild = [ buildPackages.stdenv.cc ];
 
-  patches = [ ./cross.patch ];
-
   # fails 1 out of 1 tests with
   # "lt-ImathTest: testBoxAlgo.cpp:892: void {anonymous}::boxMatrixTransform(): Assertion `b21 == b2' failed"
   # at least on i686. spooky!
   doCheck = stdenv.isx86_64;
 
+  preConfigure = ''
+    # Need to cd after patches for openexr patches to apply.
+    cd IlmBase
+  '';
+
   meta = with stdenv.lib; {
     description = " A library for 2D/3D vectors and matrices and other mathematical objects, functions and data types for computer graphics";
     homepage = "https://www.openexr.com/";
diff --git a/nixpkgs/pkgs/development/libraries/imlib2/default.nix b/nixpkgs/pkgs/development/libraries/imlib2/default.nix
index 36b1063531e4..458b3d29d520 100644
--- a/nixpkgs/pkgs/development/libraries/imlib2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/imlib2/default.nix
@@ -12,11 +12,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "imlib2";
-  version = "1.6.1";
+  version = "1.7.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/enlightenment/${pname}-${version}.tar.bz2";
-    sha256 = "0v8n3dswx7rxqfd0q03xwc7j2w1mv8lv18rdxv487a1xw5vklfad";
+    sha256 = "0zdk4afdrrr1539f2q15zja19j4wwfmpswzws2ffgflcnhywlxhr";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/impy/default.nix b/nixpkgs/pkgs/development/libraries/impy/default.nix
new file mode 100644
index 000000000000..c865b25c0009
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/impy/default.nix
@@ -0,0 +1,44 @@
+{ stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, libpng
+, zlib
+, giflib
+, libjpeg
+, SDL2
+}:
+
+stdenv.mkDerivation rec {
+  pname = "impy";
+  version = "0.1";
+
+  src = fetchFromGitHub {
+    owner = "bcampbell";
+    repo = "impy";
+    rev = "v${version}";
+    sha256 = "1h45xjms56radhknspyx17a12dpnm7xgqm1x1chy42aw5ic8b5qf";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    libpng
+    zlib
+    giflib
+    libjpeg
+    SDL2
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A simple library for loading/saving images and animations, written in C";
+    homepage = "https://github.com/bcampbell/impy";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ fgaz ];
+    platforms = platforms.all;
+  };
+}
+
diff --git a/nixpkgs/pkgs/development/libraries/intel-gmmlib/default.nix b/nixpkgs/pkgs/development/libraries/intel-gmmlib/default.nix
index 23b26c9a8908..89305baaee80 100644
--- a/nixpkgs/pkgs/development/libraries/intel-gmmlib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/intel-gmmlib/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-gmmlib";
-  version = "20.1.1";
+  version = "20.2.5";
 
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "gmmlib";
     rev    = "${pname}-${version}";
-    sha256 = "0k130yiq8n34ppddpgl7kwq5w2y7n49jxiyk7x52y773m97xd6y1";
+    sha256 = "0jg3kc74iqmbclx77a6dp4h85va8wi210x4zf5jypiq35c57r8hh";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     description = "Intel Graphics Memory Management Library";
     platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ jfrankenau ];
+    maintainers = with maintainers; [ danieldk ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/intel-media-driver/default.nix b/nixpkgs/pkgs/development/libraries/intel-media-driver/default.nix
index 366e34ddf4d9..c43787c29dd0 100644
--- a/nixpkgs/pkgs/development/libraries/intel-media-driver/default.nix
+++ b/nixpkgs/pkgs/development/libraries/intel-media-driver/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-media-driver";
-  version = "20.1.1";
+  version = "20.2.0";
 
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "media-driver";
     rev    = "intel-media-${version}";
-    sha256 = "1mww20c9r7a57njqa2835ayjvk46lrv2yks9a2y8i0s5qzdi8m1i";
+    sha256 = "02a9wm7cz0nkpyfwic4a0dfm9bx1d2sybgh5rv0c618pl41mla33";
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix b/nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix
index a49320fef498..83d901780c57 100644
--- a/nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-media-sdk";
-  version = "20.1.1";
+  version = "20.2.1";
 
   src = fetchurl {
     url = "https://github.com/Intel-Media-SDK/MediaSDK/archive/intel-mediasdk-${version}.tar.gz";
-    sha256 = "1p13b4abslq31pbgqf0bzs2ixns85yfdsm94326h2vcg0q7hqc24";
+    sha256 = "0m3ipfdknpgrdwiywlinl4sfkfrvyv7wmq1j83pmbr54z067sgg1";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/itk/4.x.nix b/nixpkgs/pkgs/development/libraries/itk/4.x.nix
index cd8e70a99767..112b77650d29 100644
--- a/nixpkgs/pkgs/development/libraries/itk/4.x.nix
+++ b/nixpkgs/pkgs/development/libraries/itk/4.x.nix
@@ -1,11 +1,14 @@
-{ stdenv, fetchurl, cmake, libX11, libuuid, xz, vtk_7 }:
+{ stdenv, fetchFromGitHub, cmake, libX11, libuuid, xz, vtk_7, Cocoa }:
 
 stdenv.mkDerivation rec {
-  name = "itk-4.13.2";
+  pname = "itk";
+  version = "4.13.3";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/itk/InsightToolkit-4.13.2.tar.xz";
-    sha256 = "19cgfpd63gqrvc3m27m394gy2d7w79g5y6lvznb5qqr49lihbgns";
+  src = fetchFromGitHub {
+    owner = "InsightSoftwareConsortium";
+    repo = "ITK";
+    rev = "v${version}";
+    sha256 = "067vkh39jxcvyvn69qjh4vi3wa7vdvm9m6qsg3jmnmm7gzw0kjlm";
   };
 
   cmakeFlags = [
@@ -22,11 +25,11 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ cmake xz ];
-  buildInputs = [ libX11 libuuid vtk_7 ];
+  buildInputs = [ libX11 libuuid vtk_7 ] ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa ];
 
   meta = {
     description = "Insight Segmentation and Registration Toolkit";
-    homepage = "http://www.itk.org/";
+    homepage = "https://www.itk.org/";
     license = stdenv.lib.licenses.asl20;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux ++ darwin;
diff --git a/nixpkgs/pkgs/development/libraries/itk/default.nix b/nixpkgs/pkgs/development/libraries/itk/default.nix
index 84dedfa0b3b6..1288242faf2c 100644
--- a/nixpkgs/pkgs/development/libraries/itk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/itk/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "itk";
-  version = "5.1.0";
+  version = "5.1.1";
 
   src = fetchFromGitHub {
     owner = "InsightSoftwareConsortium";
     repo = "ITK";
     rev = "v${version}";
-    sha256 = "0rvkp00xj1js60021jv2ydyl74wvbyb205gm9d7hf8gy2q456hgl";
+    sha256 = "1z7rmqrhgl7hfb3d0077kvp8vpi05r2zk3qyqzmv7bzbal5sqqhv";
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/jabcode/default.nix b/nixpkgs/pkgs/development/libraries/jabcode/default.nix
new file mode 100644
index 000000000000..c875e4a39435
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/jabcode/default.nix
@@ -0,0 +1,46 @@
+{ stdenv
+, fetchFromGitHub
+, lib
+, subproject ? "library" # one of "library", "reader" or  "writer"
+, zlib, libpng, libtiff
+, jabcode 
+}:
+let
+  subdir = lib.getAttr subproject {
+    "library" = "jabcode";
+    "reader" = "jabcodeReader";
+    "writer" = "jabcodeWriter";
+  };
+in stdenv.mkDerivation rec {
+  pname = "jabcode-${subproject}";
+  version = "git-2020-05-13";
+  src = fetchFromGitHub {
+    repo = "jabcode";
+    owner = "jabcode";
+    rev = "a7c25d4f248078f257b014e31c791bfcfcd083e1";
+    sha256 = "1c4cv9b0d7r4bxzkwzdv9h651ziq822iya6fbyizm57n1nzdkk4s";
+  };
+
+  nativeBuildInputs =
+    [ zlib libpng libtiff ]
+    ++ lib.optionals (subproject != "library") [ jabcode ];
+
+  preConfigure = "cd src/${subdir}";
+
+  installPhase = if subproject == "library" then ''
+    mkdir -p $out/lib
+    cp build/* $out/lib
+  '' else ''
+    mkdir -p $out/bin
+    cp -RT bin $out/bin
+  '';
+
+  meta = with lib; {
+    description = "A high-capacity 2D color bar code (${subproject})";
+    longDescription = "JAB Code (Just Another Bar Code) is a high-capacity 2D color bar code, which can encode more data than traditional black/white (QR) codes. This is the ${subproject} part.";
+    homepage = "https://jabcode.org/";
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.xaverdh ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/jasper/default.nix b/nixpkgs/pkgs/development/libraries/jasper/default.nix
deleted file mode 100644
index cd7b1cf4fd10..000000000000
--- a/nixpkgs/pkgs/development/libraries/jasper/default.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ stdenv, fetchFromGitHub, fetchpatch, libjpeg, cmake }:
-
-stdenv.mkDerivation rec {
-  pname = "jasper";
-  version = "2.0.16";
-
-  src = fetchFromGitHub {
-    repo = "jasper";
-    owner = "mdadams";
-    rev = "version-${version}";
-    sha256 = "05l75yd1zsxwv25ykwwwjs8961szv7iywf16nc6vc6qpby27ckv6";
-  };
-
-  patches = [
-    (fetchpatch {
-      name = "CVE-2018-9055.patch";
-      url = "http://paste.opensuse.org/view/raw/330751ce";
-      sha256 = "0m798m6c4v9yyhql7x684j5kppcm6884n1rrb9ljz8p9aqq2jqnm";
-    })
-  ];
-
-
-  # newer reconf to recognize a multiout flag
-  nativeBuildInputs = [ cmake ];
-  propagatedBuildInputs = [ libjpeg ];
-
-  configureFlags = [ "--enable-shared" ];
-
-  outputs = [ "bin" "dev" "out" "man" ];
-
-  enableParallelBuilding = true;
-
-  doCheck = false; # fails
-
-  postInstall = ''
-    moveToOutput bin "$bin"
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = "https://www.ece.uvic.ca/~frodo/jasper/";
-    description = "JPEG2000 Library";
-    platforms = platforms.unix;
-    license = licenses.jasper;
-    maintainers = with maintainers; [ pSub ];
-    knownVulnerabilities = [
-      "Numerous CVE unsolved upstream"
-      "See: https://github.com/NixOS/nixpkgs/pull/57681#issuecomment-475857499"
-      "See: https://github.com/mdadams/jasper/issues/208"
-    ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/java/commons/lang/default.nix b/nixpkgs/pkgs/development/libraries/java/commons/lang/default.nix
index 96d2a76df018..bd0f7c273e79 100644
--- a/nixpkgs/pkgs/development/libraries/java/commons/lang/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/commons/lang/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "3.10";
+  version = "3.11";
   pname = "commons-lang";
 
   src = fetchurl {
     url    = "mirror://apache/commons/lang/binaries/commons-lang3-${version}-bin.tar.gz";
-    sha256 = "144057jrx1jral6dnnb039h3k8rnrx0nj3ii428s725jfhazg68f";
+    sha256 = "08w7zg9v48rlaq0n17dnph8jydz9srh1pl3ffs3xdfsg9a7axjm4";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/development/libraries/java/dbus-java/default.nix b/nixpkgs/pkgs/development/libraries/java/dbus-java/default.nix
index 5e5741516508..0133138b4784 100644
--- a/nixpkgs/pkgs/development/libraries/java/dbus-java/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/dbus-java/default.nix
@@ -1,5 +1,6 @@
-{stdenv, fetchurl, gettext, jdk, libmatthew_java}:
+{stdenv, fetchurl, gettext, jdk8, libmatthew_java}:
 
+let jdk = jdk8; in
 stdenv.mkDerivation {
   name = "dbus-java-2.7";
   src = fetchurl {
diff --git a/nixpkgs/pkgs/development/libraries/java/hsqldb/default.nix b/nixpkgs/pkgs/development/libraries/java/hsqldb/default.nix
index d9139ec1d823..88f32866b0d0 100644
--- a/nixpkgs/pkgs/development/libraries/java/hsqldb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/hsqldb/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "hsqldb";
-  version = "2.5.0";
+  version = "2.5.1";
   underscoreMajMin = stdenv.lib.strings.replaceChars ["."] ["_"] (stdenv.lib.versions.majorMinor version);
 
   src = fetchurl {
     url = "mirror://sourceforge/project/hsqldb/hsqldb/hsqldb_${underscoreMajMin}/hsqldb-${version}.zip";
-    sha256 = "0s64w7qq5vayrzcmdhrdfmd6iqqv6x6fpiq9lpy2gva3dckv3q6j";
+    sha256 = "0yd9px85y036bp3q1assj3fgaykxrwnhnc7cbjgic39cykfy5hrg";
   };
 
   nativeBuildInputs = [ unzip makeWrapper ];
diff --git a/nixpkgs/pkgs/development/libraries/java/jzmq/default.nix b/nixpkgs/pkgs/development/libraries/java/jzmq/default.nix
deleted file mode 100644
index 5bc0f15b205d..000000000000
--- a/nixpkgs/pkgs/development/libraries/java/jzmq/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, zeromq3, jdk }:
-
-stdenv.mkDerivation rec {
-  pname = "jzmq";
-  version = "3.1.0";
-
-  src = fetchFromGitHub {
-    owner = "zeromq";
-    repo = "jzmq";
-    rev = "v${version}";
-    sha256 = "1wlzs604mgmqmrgpk4pljx2nrlxzdfi3r8k59qlm90fx8qkqkc63";
-  };
-
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ zeromq3 jdk ];
-
-  preConfigure = ''
-    ${if stdenv.hostPlatform.system == "x86_64-darwin" then
-      '' sed -i -e 's~/Headers~/include~' -e 's~_JNI_INC_SUBDIRS=\".*\"~_JNI_INC_SUBDIRS=\"darwin\"~' configure
-      '' else ""}
-  '';
-
-  meta = {
-    homepage = "http://www.zeromq.org";
-    description = "Java bindings for ZeroMQ";
-    platforms = stdenv.lib.platforms.unix;
-    license = stdenv.lib.licenses.lgpl3;
-    maintainers = [ stdenv.lib.maintainers.vizanto ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/java/lombok/default.nix b/nixpkgs/pkgs/development/libraries/java/lombok/default.nix
index f48c4821d923..5928d99b6c24 100644
--- a/nixpkgs/pkgs/development/libraries/java/lombok/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/lombok/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "lombok-1.18.10";
+  name = "lombok-1.18.12";
 
   src = fetchurl {
     url = "https://projectlombok.org/downloads/${name}.jar";
-    sha256 = "1ymjwxg01dq8qq89hx23yvk5h46hwfb8ihbqbvabmz1vh9afjdi8";
+    sha256 = "01jl6i5wzjxyk36fcq6ji90x9h143gvnwhv86cbkqaxhxh41af29";
   };
 
   buildCommand = ''
diff --git a/nixpkgs/pkgs/development/libraries/jbig2dec/default.nix b/nixpkgs/pkgs/development/libraries/jbig2dec/default.nix
index 22d38a080cab..a6eb56423954 100644
--- a/nixpkgs/pkgs/development/libraries/jbig2dec/default.nix
+++ b/nixpkgs/pkgs/development/libraries/jbig2dec/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     patchShebangs test_jbig2dec.py
   '';
 
-  buildInputs = [ autoreconfHook ];
+  nativeBuildInputs = [ autoreconfHook ];
 
   checkInputs = [ python3 ];
   doCheck = true;
diff --git a/nixpkgs/pkgs/development/libraries/json-c/default.nix b/nixpkgs/pkgs/development/libraries/json-c/default.nix
index 81ebc7baeb06..164f7c44ba9d 100644
--- a/nixpkgs/pkgs/development/libraries/json-c/default.nix
+++ b/nixpkgs/pkgs/development/libraries/json-c/default.nix
@@ -1,21 +1,31 @@
-{ stdenv, fetchurl, autoconf }:
+{ stdenv, fetchurl, fetchpatch, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "json-c-0.13.1";
+  name = "json-c-0.14";
   src = fetchurl {
     url    = "https://s3.amazonaws.com/json-c_releases/releases/${name}-nodoc.tar.gz";
-    sha256 = "0ch1v18wk703bpbyzj7h1mkwvsw4rw4qdwvgykscypvqq10678ll";
+    sha256 = "1yia8417qljmczs9w3rn4c4i2p2iywq098pgrj11s81599j4x4cr";
   };
 
+  patches = [
+    # https://nvd.nist.gov/vuln/detail/CVE-2020-12762
+    (fetchpatch {
+      name = "CVE-2020-12762.patch";
+      url = "https://github.com/json-c/json-c/commit/5d6fa331418d49f1bd488553fd1cfa9ab023fabb.patch";
+      sha256 = "0aar7kgbycqxnhh0lrr61adfbb903nbapalhs5i6h8anxwy1ylcm";
+    })
+  ];
+
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ autoconf ];  # for autoheader
+  nativeBuildInputs = [ cmake ];
 
   meta = with stdenv.lib; {
     description = "A JSON implementation in C";
     homepage    = "https://github.com/json-c/json-c/wiki";
     maintainers = with maintainers; [ lovek323 ];
     platforms   = platforms.unix;
+    license = licenses.mit;
 
     longDescription = ''
       JSON-C implements a reference counting object model that allows you to
diff --git a/nixpkgs/pkgs/development/libraries/jsoncpp/default.nix b/nixpkgs/pkgs/development/libraries/jsoncpp/default.nix
index 155103af3c4e..8635c1fb40d2 100644
--- a/nixpkgs/pkgs/development/libraries/jsoncpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/jsoncpp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, python, fetchpatch }:
+{ stdenv, fetchFromGitHub, cmake, python, validatePkgConfig, fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "jsoncpp";
@@ -28,10 +28,16 @@ stdenv.mkDerivation rec {
     export LD_LIBRARY_PATH="`pwd`/src/lib_json''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
   '';
 
-  nativeBuildInputs = [ cmake python ];
+  nativeBuildInputs = [ cmake python validatePkgConfig ];
 
-  # fix inverted sense in isAnyCharRequiredQuoting on arm. See: https://github.com/open-source-parsers/jsoncpp/pull/1120
-  patches = stdenv.lib.optionals (stdenv.isAarch64 || stdenv.isAarch32) [
+  patches = [
+    # Fix generation of pkg-config file (https://github.com/open-source-parsers/jsoncpp/pull/1199)
+    (fetchpatch {
+      url = "https://github.com/open-source-parsers/jsoncpp/commit/b05a21342a646a986b11c28ba6b19665756d21d2.patch";
+      sha256 = "0dn4cvvkcp9mnxbzyaqb49z6bv5yqsx1wlf1lyki1n2rni2hn63p";
+    })
+  ] ++ stdenv.lib.optionals (stdenv.isAarch64 || stdenv.isAarch32) [
+    # fix inverted sense in isAnyCharRequiredQuoting on arm. See: https://github.com/open-source-parsers/jsoncpp/pull/1120
     (fetchpatch {
       url = "https://github.com/open-source-parsers/jsoncpp/commit/9093358efae9e5981aa60013487fc7215f040a59.patch";
       sha256 = "1wiqp70sck2md14sfc0zdkblqk9750cl55ykf9d6b9vs1ifzzzq5";
diff --git a/nixpkgs/pkgs/development/libraries/jxrlib/default.nix b/nixpkgs/pkgs/development/libraries/jxrlib/default.nix
index e119c75ff8dd..f0f5b9d77934 100644
--- a/nixpkgs/pkgs/development/libraries/jxrlib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/jxrlib/default.nix
@@ -13,6 +13,12 @@ stdenv.mkDerivation rec {
     sha256 = "0rk3hbh00nw0wgbfbqk1szrlfg3yq7w6ar16napww3nrlm9cj65w";
   };
 
+  postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace Makefile \
+      --replace '-shared' '-dynamiclib -undefined dynamic_lookup' \
+      --replace '.so' '.dylib'
+  '';
+
   nativeBuildInputs = [ python ];
 
   makeFlags = [ "DIR_INSTALL=$(out)" "SHARED=1" ];
@@ -21,7 +27,7 @@ stdenv.mkDerivation rec {
     description = "Implementation of the JPEG XR image codec standard";
     homepage = "https://jxrlib.codeplex.com";
     license = licenses.bsd2;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/default.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/default.nix
index 1db37bc78790..02e25692ef16 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/default.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/default.nix
@@ -83,7 +83,7 @@ let
 
           in mkDerivation (args // {
             name = "${name}-${version}";
-            inherit meta outputs setupHook src;
+            inherit meta outputs setupHook src version;
           });
 
       };
@@ -112,6 +112,7 @@ let
       kitemmodels = callPackage ./kitemmodels.nix {};
       kitemviews = callPackage ./kitemviews.nix {};
       kplotting = callPackage ./kplotting.nix {};
+      kquickcharts = callPackage ./kquickcharts.nix {};
       kwayland = callPackage ./kwayland.nix {};
       kwidgetsaddons = callPackage ./kwidgetsaddons.nix {};
       kwindowsystem = callPackage ./kwindowsystem {};
@@ -146,10 +147,11 @@ let
       kbookmarks = callPackage ./kbookmarks.nix {};
       kcmutils = callPackage ./kcmutils {};
       kconfigwidgets = callPackage ./kconfigwidgets {};
+      kdav = callPackage ./kdav.nix {};
       kdeclarative = callPackage ./kdeclarative.nix {};
       kded = callPackage ./kded.nix {};
       kdesignerplugin = callPackage ./kdesignerplugin.nix {};
-      kdesu = callPackage ./kdesu.nix {};
+      kdesu = callPackage ./kdesu {};
       kdewebkit = callPackage ./kdewebkit.nix {};
       kemoticons = callPackage ./kemoticons.nix {};
       kglobalaccel = callPackage ./kglobalaccel.nix {};
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/default.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/default.nix
index 3a3f066ad33b..645d05afc2be 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/default.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/default.nix
@@ -1,9 +1,11 @@
-{ mkDerivation, lib, copyPathsToStore, cmake, pkgconfig }:
+{ mkDerivation, lib, cmake, pkgconfig }:
 
 mkDerivation {
   name = "extra-cmake-modules";
 
-  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
+  patches = [
+    ./nix-lib-path.patch
+  ];
 
   outputs = [ "out" ];  # this package has no runtime components
 
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/series b/nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/series
deleted file mode 100644
index b4569e50a5f7..000000000000
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/series
+++ /dev/null
@@ -1 +0,0 @@
-nix-lib-path.patch
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/fetch.sh b/nixpkgs/pkgs/development/libraries/kde-frameworks/fetch.sh
index b7e6d7814711..839b2eb466d5 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/fetch.sh
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/frameworks/5.68/ )
+WGET_ARGS=(https://download.kde.org/stable/frameworks/5.73/)
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kauth/default.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/kauth/default.nix
index c94c8b91ecd2..0a513d6eed94 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kauth/default.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kauth/default.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, lib, copyPathsToStore, propagate,
+  mkDerivation, lib, propagate,
   extra-cmake-modules, kcoreaddons, polkit-qt, qttools
 }:
 
@@ -9,7 +9,9 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ polkit-qt qttools ];
   propagatedBuildInputs = [ kcoreaddons ];
-  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
+  patches = [
+    ./cmake-install-paths.patch
+  ];
   # library stores reference to plugin path,
   # separating $out from $bin would create a reference cycle
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kauth/series b/nixpkgs/pkgs/development/libraries/kde-frameworks/kauth/series
deleted file mode 100644
index d2689425c387..000000000000
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kauth/series
+++ /dev/null
@@ -1 +0,0 @@
-cmake-install-paths.patch
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kcmutils/kcmutils-follow-symlinks.patch b/nixpkgs/pkgs/development/libraries/kde-frameworks/kcmutils/0001-kcmutils-follow-symlinks.patch
index cc041b9aa3b8..32adca6d2e05 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kcmutils/kcmutils-follow-symlinks.patch
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kcmutils/0001-kcmutils-follow-symlinks.patch
@@ -1,8 +1,17 @@
+From 4d5dcc309fba688aa1db8dd915a0abdf07f61e81 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Mon, 13 Jul 2020 11:23:36 -0500
+Subject: [PATCH] kcmutils follow symlinks
+
+---
+ src/kpluginselector.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
 diff --git a/src/kpluginselector.cpp b/src/kpluginselector.cpp
-index 137c865..097ab75 100644
+index 46deef5..2eacb9f 100644
 --- a/src/kpluginselector.cpp
 +++ b/src/kpluginselector.cpp
-@@ -303,7 +303,7 @@ void KPluginSelector::addPlugins(const QString &componentName,
+@@ -309,7 +309,7 @@ void KPluginSelector::addPlugins(const QString &componentName,
      QStringList desktopFileNames;
      const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, componentName + QStringLiteral("/kpartplugins"), QStandardPaths::LocateDirectory);
      for (const QString &dir : dirs) {
@@ -11,3 +20,6 @@ index 137c865..097ab75 100644
          while (it.hasNext()) {
              desktopFileNames.append(it.next());
          }
+-- 
+2.25.4
+
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kcmutils/default.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/kcmutils/default.nix
index 0c661dcdd48e..ab14529be01e 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kcmutils/default.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kcmutils/default.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, lib, copyPathsToStore,
+  mkDerivation, lib,
   extra-cmake-modules,
   kconfigwidgets, kcoreaddons, kdeclarative, ki18n, kiconthemes, kitemviews,
   kpackage, kservice, kxmlgui, qtdeclarative,
@@ -14,5 +14,7 @@ mkDerivation {
     qtdeclarative
   ];
   propagatedBuildInputs = [ kconfigwidgets kservice ];
-  patches = (copyPathsToStore (lib.readPathsFromFile ./. ./series));
+  patches = [
+    ./0001-kcmutils-follow-symlinks.patch
+  ];
 }
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kcmutils/kcmutils-debug-module-loader.patch b/nixpkgs/pkgs/development/libraries/kde-frameworks/kcmutils/kcmutils-debug-module-loader.patch
deleted file mode 100644
index f966064f9291..000000000000
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kcmutils/kcmutils-debug-module-loader.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: kcmutils-5.33.0/src/kcmoduleloader.cpp
-===================================================================
---- kcmutils-5.33.0.orig/src/kcmoduleloader.cpp
-+++ kcmutils-5.33.0/src/kcmoduleloader.cpp
-@@ -95,7 +95,7 @@ KCModule *KCModuleLoader::loadModule(const KCModuleInfo &mod, ErrorReporting rep
-         KPluginLoader loader(KPluginLoader::findPlugin(QLatin1String("kcms/") + mod.service()->library()));
-         KPluginFactory* factory = loader.factory();
-         if (!factory) {
--            qWarning() << "Couldn't load plugin:" << loader.errorString();
-+            qWarning() << "Error loading KCM plugin" << mod.service()->library() << loader.errorString();
-         } else {
-             std::unique_ptr<KQuickAddons::ConfigModule> cm(factory->create<KQuickAddons::ConfigModule>(nullptr, args2));
-             if (!cm) {
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kcmutils/series b/nixpkgs/pkgs/development/libraries/kde-frameworks/kcmutils/series
deleted file mode 100644
index f2c22554a455..000000000000
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kcmutils/series
+++ /dev/null
@@ -1,2 +0,0 @@
-kcmutils-follow-symlinks.patch
-kcmutils-debug-module-loader.patch
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kdav.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/kdav.nix
new file mode 100644
index 000000000000..a03cca3fdf26
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kdav.nix
@@ -0,0 +1,15 @@
+{
+  mkDerivation, lib,
+  extra-cmake-modules, kdoctools,
+  kcoreaddons, kio, qtxmlpatterns,
+}:
+
+mkDerivation {
+  name = "kdav";
+  meta = {
+    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+  };
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  buildInputs = [ kcoreaddons kio qtxmlpatterns ];
+  outputs = [ "out" "dev" ];
+}
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix
index 7e3de9d4d141..5eced8832877 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, lib, copyPathsToStore,
+  mkDerivation, lib,
   docbook_xml_dtd_45, extra-cmake-modules, kdoctools,
   kauth, karchive, kcompletion, kconfig, kconfigwidgets, kcoreaddons, kcrash,
   kdbusaddons, kded, kdesignerplugin, kemoticons, kglobalaccel, kguiaddons,
@@ -11,7 +11,9 @@
 mkDerivation {
   name = "kdelibs4support";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
+  patches = [
+    ./nix-kde-include-dir.patch
+  ];
   setupHook = ./setup-hook.sh;
   nativeBuildInputs = [ extra-cmake-modules qttools ];
   propagatedNativeBuildInputs = [ kdoctools ];
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kdelibs4support/series b/nixpkgs/pkgs/development/libraries/kde-frameworks/kdelibs4support/series
deleted file mode 100644
index 9b08ab208774..000000000000
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kdelibs4support/series
+++ /dev/null
@@ -1 +0,0 @@
-nix-kde-include-dir.patch
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kdesu.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/kdesu/default.nix
index df60511b5115..cd7055c4ea82 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kdesu.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kdesu/default.nix
@@ -11,4 +11,5 @@ mkDerivation {
   buildInputs = [ kcoreaddons ki18n kpty kservice qtbase ];
   propagatedBuildInputs = [ kpty ];
   outputs = [ "out" "dev" ];
+  patches = [ ./kdesu-search-for-wrapped-daemon-first.patch ];
 }
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kdesu/kdesu-search-for-wrapped-daemon-first.patch b/nixpkgs/pkgs/development/libraries/kde-frameworks/kdesu/kdesu-search-for-wrapped-daemon-first.patch
new file mode 100644
index 000000000000..f82bf828e8e9
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kdesu/kdesu-search-for-wrapped-daemon-first.patch
@@ -0,0 +1,38 @@
+From 01af4d2a098e5819c09bca37568941dcd4b89d0b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
+Date: Thu, 16 Jul 2020 13:21:42 -0300
+Subject: [PATCH] Search for the daemon first in /run/wrappers/bin
+
+If looking first in libexec, the eventually wrapped one in
+/run/wrappers/bin can not be found.
+---
+ src/client.cpp | 13 ++++++++-----
+ 1 file changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/src/client.cpp b/src/client.cpp
+index 44fbacd..6b5abf5 100644
+--- a/src/client.cpp
++++ b/src/client.cpp
+@@ -378,11 +378,14 @@ int KDEsuClient::stopServer()
+ 
+ static QString findDaemon()
+ {
+-    QString daemon = QFile::decodeName(CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/kdesud");
+-    if (!QFile::exists(daemon)) { // if not in libexec, find it in PATH
+-        daemon = QStandardPaths::findExecutable(QStringLiteral("kdesud"));
+-        if (daemon.isEmpty()) {
+-            qCWarning(KSU_LOG) << "kdesud daemon not found.";
++    QString daemon = QFile::decodeName("/run/wrappers/bin/kdesud");
++    if (!QFile::exists(daemon)) { // if not in wrappers
++        daemon = QFile::decodeName(CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/kdesud");
++        if (!QFile::exists(daemon)) { // if not in libexec, find it in PATH
++            daemon = QStandardPaths::findExecutable(QStringLiteral("kdesud"));
++            if (daemon.isEmpty()) {
++                qCWarning(KSU_LOG) << "kdesud daemon not found.";
++            }
+         }
+     }
+     return daemon;
+-- 
+2.27.0
+
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kfilemetadata/default.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/kfilemetadata/default.nix
index 90a7116f42ad..47831f0f5d92 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kfilemetadata/default.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kfilemetadata/default.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, lib, copyPathsToStore,
+  mkDerivation, lib,
   extra-cmake-modules,
   attr, ebook_tools, exiv2, ffmpeg_3, karchive, kcoreaddons, ki18n, poppler, qtbase, qtmultimedia, taglib
 }:
@@ -12,5 +12,7 @@ mkDerivation {
     attr ebook_tools exiv2 ffmpeg_3 karchive kcoreaddons ki18n poppler qtbase qtmultimedia
     taglib
   ];
-  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
+  patches = [
+    ./cmake-install-paths.patch
+  ];
 }
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kfilemetadata/series b/nixpkgs/pkgs/development/libraries/kde-frameworks/kfilemetadata/series
deleted file mode 100644
index d2689425c387..000000000000
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kfilemetadata/series
+++ /dev/null
@@ -1 +0,0 @@
-cmake-install-paths.patch
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix
index 8faac005f2ac..76bf0fd05370 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, lib, copyPathsToStore,
+  mkDerivation, lib,
   extra-cmake-modules,
   breeze-icons, karchive, kcoreaddons, kconfigwidgets, ki18n, kitemviews,
   qtbase, qtsvg, qttools,
@@ -8,7 +8,9 @@
 mkDerivation {
   name = "kiconthemes";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
+  patches = [
+    ./default-theme-breeze.patch
+  ];
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     breeze-icons karchive kcoreaddons kconfigwidgets ki18n kitemviews
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kiconthemes/series b/nixpkgs/pkgs/development/libraries/kde-frameworks/kiconthemes/series
deleted file mode 100644
index ab5cc8a3edb2..000000000000
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kiconthemes/series
+++ /dev/null
@@ -1 +0,0 @@
-default-theme-breeze.patch
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kinit/default.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/kinit/default.nix
index 116f475e2f8c..654f6e20604a 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kinit/default.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kinit/default.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, lib, copyPathsToStore, writeScript,
+  mkDerivation, lib, writeScript,
   extra-cmake-modules, kdoctools,
   kconfig, kcrash, ki18n, kio, kparts, kservice, kwindowsystem, plasma-framework
 }:
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kinit/series b/nixpkgs/pkgs/development/libraries/kde-frameworks/kinit/series
deleted file mode 100644
index 9195a4e8e6b0..000000000000
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kinit/series
+++ /dev/null
@@ -1,3 +0,0 @@
-kinit-libpath.patch
-start_kdeinit-path.patch
-kdeinit-extra_libs.patch
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kio/default.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/kio/default.nix
index fee21a6a9235..434496c7b9a9 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kio/default.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kio/default.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, lib, copyPathsToStore,
+  mkDerivation, lib,
   extra-cmake-modules, kdoctools, qttools,
   karchive, kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons,
   kdbusaddons, ki18n, kiconthemes, kitemviews, kjobwidgets, knotifications,
@@ -21,5 +21,8 @@ mkDerivation {
     kxmlgui qtbase qttools solid
   ];
   outputs = [ "out" "dev" ];
-  patches = (copyPathsToStore (lib.readPathsFromFile ./. ./series));
+  patches = [
+    ./samba-search-path.patch
+    ./kio-debug-module-loader.patch
+  ];
 }
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kio/samba-search-path.patch b/nixpkgs/pkgs/development/libraries/kde-frameworks/kio/samba-search-path.patch
index 3e18d304c307..d39ffbfde644 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kio/samba-search-path.patch
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kio/samba-search-path.patch
@@ -1,28 +1,14 @@
-Index: kio-5.17.0/src/core/ksambashare.cpp
-===================================================================
---- kio-5.17.0.orig/src/core/ksambashare.cpp
-+++ kio-5.17.0/src/core/ksambashare.cpp
-@@ -67,13 +67,18 @@ KSambaSharePrivate::~KSambaSharePrivate(
- 
+diff --git a/src/core/ksambashare.cpp b/src/core/ksambashare.cpp
+index 1895783..9fe7286 100644
+--- a/src/core/ksambashare.cpp
++++ b/src/core/ksambashare.cpp
+@@ -73,8 +73,7 @@ KSambaSharePrivate::~KSambaSharePrivate()
  bool KSambaSharePrivate::isSambaInstalled()
  {
--    if (QFile::exists(QStringLiteral("/usr/sbin/smbd"))
--            || QFile::exists(QStringLiteral("/usr/local/sbin/smbd"))) {
--        return true;
-+    const QByteArray pathEnv = qgetenv("PATH");
-+    if (!pathEnv.isEmpty()) {
-+        QLatin1Char pathSep(':');
-+        QStringList paths = QFile::decodeName(pathEnv).split(pathSep, QString::SkipEmptyParts);
-+        for (QStringList::iterator it = paths.begin(); it != paths.end(); ++it) {
-+            it->append(QStringLiteral("/smbd"));
-+            if (QFile::exists(*it)) {
-+                return true;
-+            }
-+        }
+     const bool daemonExists =
+-        !QStandardPaths::findExecutable(QStringLiteral("smbd"),
+-                                       {QStringLiteral("/usr/sbin/"), QStringLiteral("/usr/local/sbin/")}).isEmpty();
++        !QStandardPaths::findExecutable(QStringLiteral("smbd")).isEmpty();
+     if (!daemonExists) {
+         qCDebug(KIO_CORE_SAMBASHARE) << "KSambaShare: Could not find smbd";
      }
- 
--    //qDebug() << "Samba is not installed!";
--
-     return false;
- }
- 
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kio/series b/nixpkgs/pkgs/development/libraries/kde-frameworks/kio/series
deleted file mode 100644
index 5330c40a3306..000000000000
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kio/series
+++ /dev/null
@@ -1,2 +0,0 @@
-samba-search-path.patch
-kio-debug-module-loader.patch
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/knewstuff.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/knewstuff.nix
index df384648e6a3..a6b811c0ad63 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/knewstuff.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/knewstuff.nix
@@ -2,7 +2,7 @@
   mkDerivation, lib, fetchpatch,
   extra-cmake-modules,
   attica, karchive, kcompletion, kconfig, kcoreaddons, ki18n, kiconthemes,
-  kio, kitemviews, kservice, ktextwidgets, kwidgetsaddons, kxmlgui, qtbase,
+  kio, kitemviews, kpackage, kservice, ktextwidgets, kwidgetsaddons, kxmlgui, qtbase,
   qtdeclarative, kirigami2,
 }:
 
@@ -12,6 +12,7 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     karchive kcompletion kconfig kcoreaddons ki18n kiconthemes kio kitemviews
+    kpackage
     ktextwidgets kwidgetsaddons qtbase qtdeclarative kirigami2
   ];
   propagatedBuildInputs = [ attica kservice kxmlgui ];
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kpackage/default.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/kpackage/default.nix
index 6779faa50cdc..6bd42420b85d 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kpackage/default.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kpackage/default.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, lib, copyPathsToStore,
+  mkDerivation, lib,
   extra-cmake-modules, kdoctools,
   karchive, kconfig, kcoreaddons, ki18n, qtbase,
 }:
@@ -9,5 +9,8 @@ mkDerivation {
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [ karchive kconfig kcoreaddons ki18n qtbase ];
-  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
+  patches = [
+    ./allow-external-paths.patch
+    ./qdiriterator-follow-symlinks.patch
+  ];
 }
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kpackage/series b/nixpkgs/pkgs/development/libraries/kde-frameworks/kpackage/series
deleted file mode 100644
index 9b7f076efc70..000000000000
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kpackage/series
+++ /dev/null
@@ -1,2 +0,0 @@
-allow-external-paths.patch
-qdiriterator-follow-symlinks.patch
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kquickcharts.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/kquickcharts.nix
new file mode 100644
index 000000000000..5a06d4c1cad8
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kquickcharts.nix
@@ -0,0 +1,15 @@
+{
+  mkDerivation, lib,
+  extra-cmake-modules,
+  qtquickcontrols2,
+}:
+
+mkDerivation {
+  name = "kquickcharts";
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  nativeBuildInputs = [ extra-cmake-modules ];
+  propagatedBuildInputs = [ qtquickcontrols2 ];
+  outputs = [ "out" "dev" ];
+}
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/krunner.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/krunner.nix
index 826999f2f9be..990c3c4fdf9b 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/krunner.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/krunner.nix
@@ -1,17 +1,19 @@
 {
-  mkDerivation, lib,
+  mkDerivation, lib, fetchpatch,
   extra-cmake-modules,
   kconfig, kcoreaddons, ki18n, kio, kservice, plasma-framework, qtbase,
   qtdeclarative, solid, threadweaver, kwindowsystem
 }:
 
-mkDerivation {
-  name = "krunner";
-  meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ extra-cmake-modules ];
-  buildInputs = [
-    kconfig kcoreaddons ki18n kio kservice qtdeclarative solid
-    threadweaver
-  ];
-  propagatedBuildInputs = [ plasma-framework qtbase kwindowsystem ];
-}
+let
+  self = mkDerivation {
+    name = "krunner";
+    meta = { maintainers = [ lib.maintainers.ttuegel ]; };
+    nativeBuildInputs = [ extra-cmake-modules ];
+    buildInputs = [
+      kconfig kcoreaddons ki18n kio kservice qtdeclarative solid
+      threadweaver
+    ];
+    propagatedBuildInputs = [ plasma-framework qtbase kwindowsystem ];
+  };
+in self
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kservice/default.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/kservice/default.nix
index 356e6537a4fd..630582ecf763 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kservice/default.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kservice/default.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, lib, copyPathsToStore,
+  mkDerivation, lib,
   bison, extra-cmake-modules, flex,
   kconfig, kcoreaddons, kcrash, kdbusaddons, kdoctools, ki18n, kwindowsystem,
   qtbase, shared-mime-info,
@@ -15,5 +15,8 @@ mkDerivation {
   ];
   propagatedBuildInputs = [ kconfig kcoreaddons ];
   propagatedUserEnvPkgs = [ shared-mime-info ]; # for kbuildsycoca5
-  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
+  patches = [
+    ./qdiriterator-follow-symlinks.patch
+    ./no-canonicalize-path.patch
+  ];
 }
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kservice/series b/nixpkgs/pkgs/development/libraries/kde-frameworks/kservice/series
deleted file mode 100644
index 3ce22dbd35a0..000000000000
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kservice/series
+++ /dev/null
@@ -1,2 +0,0 @@
-qdiriterator-follow-symlinks.patch
-no-canonicalize-path.patch
\ No newline at end of file
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kwayland.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/kwayland.nix
index c19836ed7a72..36e0ddc3f94c 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kwayland.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kwayland.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib, propagateBin,
   extra-cmake-modules,
-  qtbase, wayland, wayland-protocols
+  plasma-wayland-protocols, qtbase, wayland, wayland-protocols
 }:
 
 mkDerivation {
@@ -11,7 +11,7 @@ mkDerivation {
     broken = builtins.compareVersions qtbase.version "5.7.0" < 0;
   };
   nativeBuildInputs = [ extra-cmake-modules ];
-  buildInputs = [ wayland wayland-protocols ];
+  buildInputs = [ plasma-wayland-protocols wayland wayland-protocols ];
   propagatedBuildInputs = [ qtbase ];
   setupHook = propagateBin; # XDG_CONFIG_DIRS
 }
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kwindowsystem/default.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/kwindowsystem/default.nix
index c075adf02941..1e77b63f7c9a 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kwindowsystem/default.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kwindowsystem/default.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, lib, copyPathsToStore,
+  mkDerivation, lib,
   extra-cmake-modules,
   libpthreadstubs, libXdmcp,
   qtbase, qttools, qtx11extras
@@ -14,7 +14,9 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ libpthreadstubs libXdmcp qttools qtx11extras ];
   propagatedBuildInputs = [ qtbase ];
-  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
+  patches = [
+    ./platform-plugins-path.patch
+  ];
   preConfigure = ''
     NIX_CFLAGS_COMPILE+=" -DNIXPKGS_QT_PLUGIN_PATH=\"''${!outputBin}/$qtPluginPrefix\""
   '';
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kwindowsystem/series b/nixpkgs/pkgs/development/libraries/kde-frameworks/kwindowsystem/series
deleted file mode 100644
index 2cd02056ff81..000000000000
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kwindowsystem/series
+++ /dev/null
@@ -1 +0,0 @@
-platform-plugins-path.patch
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/srcs.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/srcs.nix
index ffea42c130f7..070b11f6bfb5 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/srcs.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/srcs.nix
@@ -4,659 +4,667 @@
 
 {
   attica = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/attica-5.68.0.tar.xz";
-      sha256 = "9b4001a32831c9bae1d44161247acd5e6d3048ca2ece98c2c756c72a1464b9e9";
-      name = "attica-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/attica-5.73.0.tar.xz";
+      sha256 = "011240a6ff59e2b39bcf6d4ba6128e6e60c6318c185e7316a71cfec28e69c69a";
+      name = "attica-5.73.0.tar.xz";
     };
   };
   baloo = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/baloo-5.68.0.tar.xz";
-      sha256 = "4b599fb279ef92dc4f575847767c370f2633b27e884e372c3f7b92f08917865e";
-      name = "baloo-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/baloo-5.73.0.tar.xz";
+      sha256 = "887077ae3e090d673d2ffe7eb869a0ab6f5d14e9dae2dccd619e4689699a2dfe";
+      name = "baloo-5.73.0.tar.xz";
     };
   };
   bluez-qt = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/bluez-qt-5.68.0.tar.xz";
-      sha256 = "99889cac874820e83a32bee938b6cc8e25dca6a3013d4a589ac7b8f5d32b4224";
-      name = "bluez-qt-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/bluez-qt-5.73.0.tar.xz";
+      sha256 = "70264edb82b2627c0ec3740374b90b8402e0f432fe4a10650fa3d22191d8cfd4";
+      name = "bluez-qt-5.73.0.tar.xz";
     };
   };
   breeze-icons = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/breeze-icons-5.68.0.tar.xz";
-      sha256 = "750fff6560abfa85a2243187d14f1b8f1d3d1c4097d84cbf8c58d2f48102fe8d";
-      name = "breeze-icons-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/breeze-icons-5.73.0.tar.xz";
+      sha256 = "b6caff26f69008a3e0d53ae5fcfcf070b70ad1b17d407daecbbabeb6a606a08b";
+      name = "breeze-icons-5.73.0.tar.xz";
     };
   };
   extra-cmake-modules = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/extra-cmake-modules-5.68.0.tar.xz";
-      sha256 = "4d60869ca96a323b56f00b40c4728a70dfebe2132bbae040442a6a2ef90e2d6e";
-      name = "extra-cmake-modules-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/extra-cmake-modules-5.73.0.tar.xz";
+      sha256 = "c5e3ef0253f7d5ab3adf9185950e34fd620a3d5baaf3bcc15892f971fc3274c4";
+      name = "extra-cmake-modules-5.73.0.tar.xz";
     };
   };
   frameworkintegration = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/frameworkintegration-5.68.0.tar.xz";
-      sha256 = "5bb3c2e56b2c4c41d8a472363f80445fd3fc28656e6a3163d48ed826a133985a";
-      name = "frameworkintegration-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/frameworkintegration-5.73.0.tar.xz";
+      sha256 = "21ef7f1a6d48f9fb14ccac9bc37e803c92cf83c9e235a5ca8bd7eb08fd0a6fb3";
+      name = "frameworkintegration-5.73.0.tar.xz";
     };
   };
   kactivities = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kactivities-5.68.0.tar.xz";
-      sha256 = "1853135feb6adfec252e6fab0b1472450422afd5998a9a31d942e8672fbe7111";
-      name = "kactivities-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kactivities-5.73.0.tar.xz";
+      sha256 = "5098f2535175ac12da91568ca554e3f5d970ae05415da1a8ba17305cb8ac3a1a";
+      name = "kactivities-5.73.0.tar.xz";
     };
   };
   kactivities-stats = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kactivities-stats-5.68.0.tar.xz";
-      sha256 = "fb645db4685113dfd98834f48d8941529fee53d5e26ec5e36cfee8a9bfae97ae";
-      name = "kactivities-stats-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kactivities-stats-5.73.0.tar.xz";
+      sha256 = "df4b00c52e83608b2dd7345cd220143e07b65cb431cead5e9abb1e4ffd6ecd5a";
+      name = "kactivities-stats-5.73.0.tar.xz";
     };
   };
   kapidox = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kapidox-5.68.0.tar.xz";
-      sha256 = "4f60582cb0771c38733989f192694636b1c93ecae290bfbe551030dd397e976e";
-      name = "kapidox-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kapidox-5.73.0.tar.xz";
+      sha256 = "b49ff6673906817ed95a3de56535594de02a9f95bcb2726abe52d0c0e0161be5";
+      name = "kapidox-5.73.0.tar.xz";
     };
   };
   karchive = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/karchive-5.68.0.tar.xz";
-      sha256 = "518f07629d87e5778e1d8ce066f5590941472d9fffa7bd74819759be5c6edf0d";
-      name = "karchive-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/karchive-5.73.0.tar.xz";
+      sha256 = "25481ebbba8f58d9ab45bde804ab0d873c45550b482e27e7856b362cd9aa434f";
+      name = "karchive-5.73.0.tar.xz";
     };
   };
   kauth = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kauth-5.68.0.tar.xz";
-      sha256 = "b9a7cd724709ea188852f7656fbeda2dc3cc40cc5d09573049c2680c0edbd41f";
-      name = "kauth-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kauth-5.73.0.tar.xz";
+      sha256 = "e334705bfc3f81c5e2f66315d40badd26d88426128432788f790ebefce1694d9";
+      name = "kauth-5.73.0.tar.xz";
     };
   };
   kbookmarks = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kbookmarks-5.68.0.tar.xz";
-      sha256 = "80dc06188a5e1d960d46f527bd82d9b79df75a785164fa29a088a7b705abbf84";
-      name = "kbookmarks-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kbookmarks-5.73.0.tar.xz";
+      sha256 = "b925ec1b8a1b4a2b7f2526fdbc7761de065b3c9573e41ac274773ed1b576aa51";
+      name = "kbookmarks-5.73.0.tar.xz";
     };
   };
   kcalendarcore = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kcalendarcore-5.68.0.tar.xz";
-      sha256 = "50ffbe4feb9a602c09e130d6f10f0f260fa7625bc266003697895e1d716d6ba9";
-      name = "kcalendarcore-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kcalendarcore-5.73.0.tar.xz";
+      sha256 = "e3486b41b833c0ba72f839d8a61bdffaf9b3ece3da20f478c2981b3296e7b713";
+      name = "kcalendarcore-5.73.0.tar.xz";
     };
   };
   kcmutils = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kcmutils-5.68.0.tar.xz";
-      sha256 = "a688d54286fe11b23e11e2100536a513a332d2a7d784fcbebeaccbfb980d83d1";
-      name = "kcmutils-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kcmutils-5.73.0.tar.xz";
+      sha256 = "b28bf672bbe21e8d1b4e6ea924c1bb318c81c43dcbb86bebb3f5775e18945ca9";
+      name = "kcmutils-5.73.0.tar.xz";
     };
   };
   kcodecs = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kcodecs-5.68.0.tar.xz";
-      sha256 = "5f1e6ae3a51ca817aa0a5082ce4ce5490cb527388ef1888a642fb374c5e2bb48";
-      name = "kcodecs-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kcodecs-5.73.0.tar.xz";
+      sha256 = "3bcb22b4f3b2f164759ab912d117c3b4b50695ae38d524f2cfb79a29488cce67";
+      name = "kcodecs-5.73.0.tar.xz";
     };
   };
   kcompletion = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kcompletion-5.68.0.tar.xz";
-      sha256 = "642d68b4c472e11a8861a61238297633be288bfd72c13547707754f1ae2be33a";
-      name = "kcompletion-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kcompletion-5.73.0.tar.xz";
+      sha256 = "72b0650e5ae9f30ad4ec30b55e660c826d93edfda0ef4f9436f226cbb8a9705a";
+      name = "kcompletion-5.73.0.tar.xz";
     };
   };
   kconfig = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kconfig-5.68.0.tar.xz";
-      sha256 = "c3bf138a7a4d002475f2483987baf40a61cda7d491c3cc292dd2c6da726ee898";
-      name = "kconfig-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kconfig-5.73.0.tar.xz";
+      sha256 = "6046bbb8da5f3261aac7f868bfa8a8ce1015a3a8257fe0b2d37dce9e2bc3952e";
+      name = "kconfig-5.73.0.tar.xz";
     };
   };
   kconfigwidgets = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kconfigwidgets-5.68.0.tar.xz";
-      sha256 = "f50421e9dbb6669e8d7c10605f7779ad03f30ea7c9c4451a70a7be66cd9df995";
-      name = "kconfigwidgets-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kconfigwidgets-5.73.0.tar.xz";
+      sha256 = "ed8a0a8158f895aebd46c4a725f77178d942cd9476a864a615a9df343da51f8e";
+      name = "kconfigwidgets-5.73.0.tar.xz";
     };
   };
   kcontacts = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kcontacts-5.68.0.tar.xz";
-      sha256 = "532f1e89c7412e971db8c431d627d38144470ddf5c978a7fa9348e418b6cd3c3";
-      name = "kcontacts-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kcontacts-5.73.0.tar.xz";
+      sha256 = "4351bf80f5a5417ba7e99fe557a851d1c7173fd7511fc1426375c66692e748bb";
+      name = "kcontacts-5.73.0.tar.xz";
     };
   };
   kcoreaddons = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kcoreaddons-5.68.0.tar.xz";
-      sha256 = "c578ae30b4161e45e672d613d2d9c5575a849d21909d9817f90a441044df65d7";
-      name = "kcoreaddons-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kcoreaddons-5.73.0.tar.xz";
+      sha256 = "24a7713eaef2f40e648a586e22b030192321f9fecdbae77013b00446fa0d6d51";
+      name = "kcoreaddons-5.73.0.tar.xz";
     };
   };
   kcrash = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kcrash-5.68.0.tar.xz";
-      sha256 = "60daf2cee87c652619b098b688edce6f993c7960783159cd8be9d9145df29f7f";
-      name = "kcrash-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kcrash-5.73.0.tar.xz";
+      sha256 = "49b6f4d6109ddf3a6b93f833f59483e5a1a748e4b829c4739fdaaaef59c9b583";
+      name = "kcrash-5.73.0.tar.xz";
+    };
+  };
+  kdav = {
+    version = "5.73.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.73/kdav-5.73.0.tar.xz";
+      sha256 = "03c8af96e7bb1b1d2d633e54c6362c7c2de078b8aba5654042b7a11d968efa31";
+      name = "kdav-5.73.0.tar.xz";
     };
   };
   kdbusaddons = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kdbusaddons-5.68.0.tar.xz";
-      sha256 = "839fe42f9ac8df353f87245110fd7b515a8eb29f0840f54481bd89e5175bf1af";
-      name = "kdbusaddons-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kdbusaddons-5.73.0.tar.xz";
+      sha256 = "f7f7e57b4d4650cf90a191b08b1fe874d0005c34163b9177dcc787415841e8ba";
+      name = "kdbusaddons-5.73.0.tar.xz";
     };
   };
   kdeclarative = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kdeclarative-5.68.0.tar.xz";
-      sha256 = "96a032bcb360e0ffcfe51d4d2f6153786682c2f967592bffcf15b9e6cd4cd3ae";
-      name = "kdeclarative-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kdeclarative-5.73.0.tar.xz";
+      sha256 = "713ae2ea41e1bac8f6d47cffa376d62c7805eb3e4cc41c3168c1f1b2ca70a598";
+      name = "kdeclarative-5.73.0.tar.xz";
     };
   };
   kded = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kded-5.68.0.tar.xz";
-      sha256 = "b03afe48fbdbd7d92c46b3b60bdb4b825f77e1a9d00c16a5f236b24a0135e4b7";
-      name = "kded-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kded-5.73.0.tar.xz";
+      sha256 = "f21647a5f35eebaa9bf12b5d5da25c24611c1971f94f27c510d22a48c79b0895";
+      name = "kded-5.73.0.tar.xz";
     };
   };
   kdelibs4support = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/portingAids/kdelibs4support-5.68.0.tar.xz";
-      sha256 = "2fca7bf9d31b081e7568631b6b6d2f7847068217261e47ef0dea106470c22df1";
-      name = "kdelibs4support-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/portingAids/kdelibs4support-5.73.0.tar.xz";
+      sha256 = "ca6f58c97b331d130a555b950c36cd7f625ca923fd185b0f73e20ac5b98c5d9b";
+      name = "kdelibs4support-5.73.0.tar.xz";
     };
   };
   kdesignerplugin = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/portingAids/kdesignerplugin-5.68.0.tar.xz";
-      sha256 = "ae433e0eeaf0007312b1f32fc4349cf26c34617a5a9951ae4155c5c4e4009b72";
-      name = "kdesignerplugin-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/portingAids/kdesignerplugin-5.73.0.tar.xz";
+      sha256 = "379db9fd0ec135706630dbd54e1b446e51dd3b64189754c281993d761c1d20b2";
+      name = "kdesignerplugin-5.73.0.tar.xz";
     };
   };
   kdesu = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kdesu-5.68.0.tar.xz";
-      sha256 = "427ba50bcd14308980cbdfdc77a6b7419277942a42d83da72ff3afbc1ec78903";
-      name = "kdesu-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kdesu-5.73.0.tar.xz";
+      sha256 = "4dd07697decad6a544025178732bd279ef64766e1929a2135f6de58b1092944d";
+      name = "kdesu-5.73.0.tar.xz";
     };
   };
   kdewebkit = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/portingAids/kdewebkit-5.68.0.tar.xz";
-      sha256 = "181b14bd80e9f34aa2f896d39aca5be91f65d65bfaaf47660e91fdd98b7f36a2";
-      name = "kdewebkit-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/portingAids/kdewebkit-5.73.0.tar.xz";
+      sha256 = "d8208c4f7a98b6749c793649e2e5fbe3939e253289a9f6b74b559f6546b34b0b";
+      name = "kdewebkit-5.73.0.tar.xz";
     };
   };
   kdnssd = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kdnssd-5.68.0.tar.xz";
-      sha256 = "3369da85c0088c375f2123a82132fb84490c46ebc8e9cd1253c795ef45fd4403";
-      name = "kdnssd-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kdnssd-5.73.0.tar.xz";
+      sha256 = "bee7f654f704d928b1219b75a289042474c1450e9f8acb02a905a4a177bc5b7d";
+      name = "kdnssd-5.73.0.tar.xz";
     };
   };
   kdoctools = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kdoctools-5.68.0.tar.xz";
-      sha256 = "93f5bee9dfaacacacfbeb3e915b192b5e645c1d01057b0cea4081c9ae5285670";
-      name = "kdoctools-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kdoctools-5.73.0.tar.xz";
+      sha256 = "d8dd74776d47e009d4a204d69a78428603ca99317095d7b7edca49c3d93b1b5d";
+      name = "kdoctools-5.73.0.tar.xz";
     };
   };
   kemoticons = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kemoticons-5.68.0.tar.xz";
-      sha256 = "e03fe81ad34e107dc5fe61f9bf424ecef7716bf8a62f8abb78fd3f6bd6806f56";
-      name = "kemoticons-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kemoticons-5.73.0.tar.xz";
+      sha256 = "0c0a26b029a8fd3d8db97bac931feb7834912aa2f7680660e98d91e868d10778";
+      name = "kemoticons-5.73.0.tar.xz";
     };
   };
   kfilemetadata = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kfilemetadata-5.68.0.tar.xz";
-      sha256 = "c2a8aee8243efa30fc921b7f50b390b47ee2cf83aa83b125a530a25de6d6fe21";
-      name = "kfilemetadata-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kfilemetadata-5.73.0.tar.xz";
+      sha256 = "1ae217aab920741e445211e20b1b60dfcf80f4a6d1864aa63321dac7c3802894";
+      name = "kfilemetadata-5.73.0.tar.xz";
     };
   };
   kglobalaccel = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kglobalaccel-5.68.0.tar.xz";
-      sha256 = "2eb710a3f29cbc8b7875fb3e8315d7c8e3b5bb93867e0a34cd5cdbac690bcbbf";
-      name = "kglobalaccel-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kglobalaccel-5.73.0.tar.xz";
+      sha256 = "0062db9adde4dab0be6b64430010c0a5653355d0d1680abc9ec8e71988ff871f";
+      name = "kglobalaccel-5.73.0.tar.xz";
     };
   };
   kguiaddons = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kguiaddons-5.68.0.tar.xz";
-      sha256 = "cdbf694e92b47358c2e2c31917bf5f01382042c2cb99b65faf3bc00a0eb52c64";
-      name = "kguiaddons-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kguiaddons-5.73.0.tar.xz";
+      sha256 = "45b4c5e0195abd79930635bbf20886b15b1b68b13fe4c56068579b91ef147350";
+      name = "kguiaddons-5.73.0.tar.xz";
     };
   };
   kholidays = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kholidays-5.68.0.tar.xz";
-      sha256 = "067a544c22f5988cf959a475b66ed62e419b975b3ee22810667a076f3d50dbba";
-      name = "kholidays-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kholidays-5.73.0.tar.xz";
+      sha256 = "b0ae4b77aa7c183959bc18baa09a1a4f7208fcad2a238c1590377bf6cf8b68ab";
+      name = "kholidays-5.73.0.tar.xz";
     };
   };
   khtml = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/portingAids/khtml-5.68.0.tar.xz";
-      sha256 = "af97da0a5d877c928d98690c3629a8f9788b29b27f583c9e3e26144a6abb9dcc";
-      name = "khtml-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/portingAids/khtml-5.73.0.tar.xz";
+      sha256 = "378a5aaa6c796d313a63b4cf1365cdd980f2bc21e9033354f2f1317d1db9c262";
+      name = "khtml-5.73.0.tar.xz";
     };
   };
   ki18n = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/ki18n-5.68.0.tar.xz";
-      sha256 = "2c59dd55d032c95710e338e376a31bf11d799bceba8ebfdb148c8b77067a1e92";
-      name = "ki18n-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/ki18n-5.73.0.tar.xz";
+      sha256 = "97eef22d6cdd65c57edfe54fa9760a69005e15b7d8f4270f6185916c33e14689";
+      name = "ki18n-5.73.0.tar.xz";
     };
   };
   kiconthemes = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kiconthemes-5.68.0.tar.xz";
-      sha256 = "ac3f322f2644dd0468cd2b07cc0c7f853f1ac4bc714fe532bbe92e88141f6729";
-      name = "kiconthemes-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kiconthemes-5.73.0.tar.xz";
+      sha256 = "4490109a0a42675e4cd3497433e10fd4be24ef644a283edf46b308314d130356";
+      name = "kiconthemes-5.73.0.tar.xz";
     };
   };
   kidletime = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kidletime-5.68.0.tar.xz";
-      sha256 = "cd6309d403ea36553abc99af4fa7e4ed3f8b3b2c55d14887ef09d68e5627b3e7";
-      name = "kidletime-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kidletime-5.73.0.tar.xz";
+      sha256 = "52a8af3f061101c406a592ec277a2c84846e3910af1d3dbfc3e15beb9cfd24a2";
+      name = "kidletime-5.73.0.tar.xz";
     };
   };
   kimageformats = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kimageformats-5.68.0.tar.xz";
-      sha256 = "498fab29d19f10f2c91c796134f959b2cf3ce8372087b5eeb62f07e62af85949";
-      name = "kimageformats-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kimageformats-5.73.0.tar.xz";
+      sha256 = "473d0f67d5357bbf08aa4f4504ceaceabc720b1f5433b456ddc5f8ad0d7e3b8b";
+      name = "kimageformats-5.73.0.tar.xz";
     };
   };
   kinit = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kinit-5.68.0.tar.xz";
-      sha256 = "fa136996eaaa7d2adb5a341c2b7a1abe86d8139c6f18999e0b0dc0220e512559";
-      name = "kinit-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kinit-5.73.0.tar.xz";
+      sha256 = "0c61e90f3db83b4dc5f2438cf7880a02b600a5739cb05e5ee372aeff98b8b770";
+      name = "kinit-5.73.0.tar.xz";
     };
   };
   kio = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kio-5.68.0.tar.xz";
-      sha256 = "9cc2fb2da84d6661a90eac81eb12c2e37921a5c34cbc1975f48d613e5a9d9eef";
-      name = "kio-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kio-5.73.0.tar.xz";
+      sha256 = "05da159e6cf5ef9aa4dd7ede86ce28a5581624a1b3f0b4718c5b7e30c4aa2a66";
+      name = "kio-5.73.0.tar.xz";
     };
   };
   kirigami2 = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kirigami2-5.68.0.tar.xz";
-      sha256 = "ad5f78afc916e9cb26f23918a6eb1983d4a57aa7e4f7314a8c23fb81e0fcaf4b";
-      name = "kirigami2-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kirigami2-5.73.0.tar.xz";
+      sha256 = "9b2a097071f77804f6f2f2a478e5db602c8b5fee00de34fc44842f31223401bb";
+      name = "kirigami2-5.73.0.tar.xz";
     };
   };
   kitemmodels = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kitemmodels-5.68.0.tar.xz";
-      sha256 = "4f435db4362832cf63e49896229affd07f125567931fc499751d37ac3bafb149";
-      name = "kitemmodels-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kitemmodels-5.73.0.tar.xz";
+      sha256 = "6569e289ac9263d87ef6641fe2f3914b9ace6814832ac9c61825b1c6805ae371";
+      name = "kitemmodels-5.73.0.tar.xz";
     };
   };
   kitemviews = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kitemviews-5.68.0.tar.xz";
-      sha256 = "5196885ac42347d67779df61a03d7f9c54f38053ff91348ef6fdc08439b4742f";
-      name = "kitemviews-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kitemviews-5.73.0.tar.xz";
+      sha256 = "ec29707d789bee58c47ee538319560a168642f69e96cacb78818825e47177727";
+      name = "kitemviews-5.73.0.tar.xz";
     };
   };
   kjobwidgets = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kjobwidgets-5.68.0.tar.xz";
-      sha256 = "a11ba51ed0ab330f9a921cf0a61e604c27d88c1c2ea477a875bc0a0cd228a292";
-      name = "kjobwidgets-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kjobwidgets-5.73.0.tar.xz";
+      sha256 = "61d105c8f17dcfb85ad6c1e3bd2423ebeb430b9c290d193229bc953ac174f2bf";
+      name = "kjobwidgets-5.73.0.tar.xz";
     };
   };
   kjs = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/portingAids/kjs-5.68.0.tar.xz";
-      sha256 = "18e3d7c667aec21e9e4d0d4730ad32a10475b7db5a574a674a8b90a6f9e0cd0e";
-      name = "kjs-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/portingAids/kjs-5.73.0.tar.xz";
+      sha256 = "97b52557212a33d59a4b3a8c34ea8a94cd5f840fb0798e770164d3cb1e755be5";
+      name = "kjs-5.73.0.tar.xz";
     };
   };
   kjsembed = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/portingAids/kjsembed-5.68.0.tar.xz";
-      sha256 = "e9b9ac63f06447ffc6870806eb1507f0281281bae907fdbae42ee87a2b926db2";
-      name = "kjsembed-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/portingAids/kjsembed-5.73.0.tar.xz";
+      sha256 = "cc9896930c01a6bdbfaddada9516380c9a54e5d719836f1788d8e3a74108e1d3";
+      name = "kjsembed-5.73.0.tar.xz";
     };
   };
   kmediaplayer = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/portingAids/kmediaplayer-5.68.0.tar.xz";
-      sha256 = "aa07466ea27b2e042e03d76fe3a23c570ba6521f57a2a51dc0ddf32fc8276db0";
-      name = "kmediaplayer-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/portingAids/kmediaplayer-5.73.0.tar.xz";
+      sha256 = "69aa3bbedfc8b9a0dd9f4ac260cded9d7b5894477bf4b5b09065d0aae8e44ab2";
+      name = "kmediaplayer-5.73.0.tar.xz";
     };
   };
   knewstuff = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/knewstuff-5.68.0.tar.xz";
-      sha256 = "f7c13b133f8b87ceece2d33d3f69215912b3b8c1dbb92ac39a1a6a0a42b7c93a";
-      name = "knewstuff-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/knewstuff-5.73.0.tar.xz";
+      sha256 = "7669e62973f7e228975a07f15bb1c7f716edd81ce82d5f578a80b1f501abda1e";
+      name = "knewstuff-5.73.0.tar.xz";
     };
   };
   knotifications = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/knotifications-5.68.0.tar.xz";
-      sha256 = "646bd3bac073fbf4f19f9047360325c933751d605cf1311f4c922d7457fbda51";
-      name = "knotifications-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/knotifications-5.73.0.tar.xz";
+      sha256 = "c8e9f36716db33baca93a0386d3bb6426408eee3843eb5854bdd8ad7579f372c";
+      name = "knotifications-5.73.0.tar.xz";
     };
   };
   knotifyconfig = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/knotifyconfig-5.68.0.tar.xz";
-      sha256 = "36c7c93964f2b9b584d73de1757f75d6ee8bb29ebe860e8fd6905354d2f10145";
-      name = "knotifyconfig-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/knotifyconfig-5.73.0.tar.xz";
+      sha256 = "641a167a58856e99036d44b3e7472b44cdfbbf68e5d75b9af988d0b71dc10af4";
+      name = "knotifyconfig-5.73.0.tar.xz";
     };
   };
   kpackage = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kpackage-5.68.0.tar.xz";
-      sha256 = "49727d89f1ca7ee504397d6e8b5cd25c26cd0061596b26d8ab2b64e3987d2d16";
-      name = "kpackage-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kpackage-5.73.0.tar.xz";
+      sha256 = "480b1e11733fe272d1a5680afea39bcc940f01bd3d1267be0981e3c92e098c4f";
+      name = "kpackage-5.73.0.tar.xz";
     };
   };
   kparts = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kparts-5.68.0.tar.xz";
-      sha256 = "fd17d0b0ff41d66c122530bbd8d1187f3271382207f63237ce72147865bf6d29";
-      name = "kparts-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kparts-5.73.0.tar.xz";
+      sha256 = "5546d2a474c80a601ba013642775682b087d086bd26d0b0d025b68d680c98bf2";
+      name = "kparts-5.73.0.tar.xz";
     };
   };
   kpeople = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kpeople-5.68.0.tar.xz";
-      sha256 = "1cae86d527d650d9fa311f6007cc33b5dcd858bcfe4eb7cae65b5402205c4675";
-      name = "kpeople-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kpeople-5.73.0.tar.xz";
+      sha256 = "9e0d3119c168f7843251c808cc149de15c1fd692062f431972023fdaa84d21c4";
+      name = "kpeople-5.73.0.tar.xz";
     };
   };
   kplotting = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kplotting-5.68.0.tar.xz";
-      sha256 = "ccae7f90c016a1c517db820f352bb962f600678efdc4ac6b12e33d2c48f5c268";
-      name = "kplotting-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kplotting-5.73.0.tar.xz";
+      sha256 = "b5055ed9a3149c059623d88875816e9fac8d6d25d29fdfd48e0d8a16dfe01b14";
+      name = "kplotting-5.73.0.tar.xz";
     };
   };
   kpty = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kpty-5.68.0.tar.xz";
-      sha256 = "35b838cff80311db52d83e1f61bc365277d54929742ee34265f36a12ce7689e3";
-      name = "kpty-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kpty-5.73.0.tar.xz";
+      sha256 = "d3bf99062589dbd1dbe302c8ed2528845f245e7f0f17ca865cdd100f7589ce9c";
+      name = "kpty-5.73.0.tar.xz";
     };
   };
   kquickcharts = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kquickcharts-5.68.0.tar.xz";
-      sha256 = "2cfb78bc2a7659a8c4ca6b072ff586c44e6da64e10b84a0fb0c5e3f03c944628";
-      name = "kquickcharts-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kquickcharts-5.73.0.tar.xz";
+      sha256 = "e37e13a5d907d872679eab38ba8e983b2fb98a11e07a3c15d32cfaad09075cfe";
+      name = "kquickcharts-5.73.0.tar.xz";
     };
   };
   kross = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/portingAids/kross-5.68.0.tar.xz";
-      sha256 = "2f5a79a2097f84bfd2033ca183abdbf6626f6e5dc2c6f781c312f15c97dace33";
-      name = "kross-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/portingAids/kross-5.73.0.tar.xz";
+      sha256 = "aa27b434da981f64c40985a61ee041417667844c6077c9fb52456635be67546e";
+      name = "kross-5.73.0.tar.xz";
     };
   };
   krunner = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/krunner-5.68.0.tar.xz";
-      sha256 = "4575ae1d658d32c15f9d57dc30616073e9d143d1a7f9632556906ef10e82e3b8";
-      name = "krunner-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/krunner-5.73.0.tar.xz";
+      sha256 = "b4e8427083b6546327eeb36b05a7e438e58f922d4cc5ae0c24cd8241924e9e09";
+      name = "krunner-5.73.0.tar.xz";
     };
   };
   kservice = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kservice-5.68.0.tar.xz";
-      sha256 = "c774ce1738081c17e6e105e506aa89c22a9db07e73972d4b18ce733ec8ad0a8a";
-      name = "kservice-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kservice-5.73.0.tar.xz";
+      sha256 = "a64bf7543870240f0d8f8c2bcf43759d98962ba94a4ed34bd23232df25bb408b";
+      name = "kservice-5.73.0.tar.xz";
     };
   };
   ktexteditor = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/ktexteditor-5.68.0.tar.xz";
-      sha256 = "dad373d4c136d113cca1ee6d700753563b7348813ff3229db670eedc63980cd6";
-      name = "ktexteditor-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/ktexteditor-5.73.0.tar.xz";
+      sha256 = "032b3ac31aa099ed67471f78401d13cf318646b0b9b5e20bb94796ac3ed6cf18";
+      name = "ktexteditor-5.73.0.tar.xz";
     };
   };
   ktextwidgets = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/ktextwidgets-5.68.0.tar.xz";
-      sha256 = "23b354469afed21c840ca36e2bb5b2b383ed5c4ec3690bb009e273c39fbe00c0";
-      name = "ktextwidgets-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/ktextwidgets-5.73.0.tar.xz";
+      sha256 = "2a8b086fce8136b5b4af4a28b417343fb66148c1961e5d65bf40ccae2d4386e5";
+      name = "ktextwidgets-5.73.0.tar.xz";
     };
   };
   kunitconversion = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kunitconversion-5.68.0.tar.xz";
-      sha256 = "39ec06e2439306ce5b5efe5fe972d201e8c8e5fda634652cdc01c58427574adb";
-      name = "kunitconversion-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kunitconversion-5.73.0.tar.xz";
+      sha256 = "97d008e8bdb2d1f89d2093294a8be0b13b0e0160658fa7d3de6c99a5fd5e2935";
+      name = "kunitconversion-5.73.0.tar.xz";
     };
   };
   kwallet = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kwallet-5.68.0.tar.xz";
-      sha256 = "7524eeffdde3166df182f0dbf0f3f461905547bfd7a06387c7c503cd1ab75ecf";
-      name = "kwallet-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kwallet-5.73.0.tar.xz";
+      sha256 = "4a9c8a538054fc51b30679d5180d09bb6d12a833f595a8d6875b6d4c29074de1";
+      name = "kwallet-5.73.0.tar.xz";
     };
   };
   kwayland = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kwayland-5.68.0.tar.xz";
-      sha256 = "7c99bfac8f4bff457a5384c846be776c385649ced76be0f48699c6e12de24e7c";
-      name = "kwayland-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kwayland-5.73.0.tar.xz";
+      sha256 = "ee34a490a7bbc5e83eb36a6ac70492a76cb054d3077d0a8db216fd8b07f27bfe";
+      name = "kwayland-5.73.0.tar.xz";
     };
   };
   kwidgetsaddons = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kwidgetsaddons-5.68.0.tar.xz";
-      sha256 = "b4ff96b4ec6365e5f9e4da5e651da99be491799a4e6cfd982d0838dda39844ac";
-      name = "kwidgetsaddons-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kwidgetsaddons-5.73.0.tar.xz";
+      sha256 = "0722d853747b85ca7d46f278dc99c28b872185406b97b811523c1aa9b5e75eb6";
+      name = "kwidgetsaddons-5.73.0.tar.xz";
     };
   };
   kwindowsystem = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kwindowsystem-5.68.0.tar.xz";
-      sha256 = "859c930a04c2588f792bfb9a28ed40b226db632b15c2851b186301b70d4c825a";
-      name = "kwindowsystem-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kwindowsystem-5.73.0.tar.xz";
+      sha256 = "0e27ad2cd5e4699efdc02daec181b4ffb0b9e31ec4c96f0f67899804aebbcde8";
+      name = "kwindowsystem-5.73.0.tar.xz";
     };
   };
   kxmlgui = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kxmlgui-5.68.0.tar.xz";
-      sha256 = "6310e9a725a982d3b70672367c5858727437fe08c8e409458e48b6015c7bf10e";
-      name = "kxmlgui-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/kxmlgui-5.73.0.tar.xz";
+      sha256 = "093131f5f51497ec61e99bd3e19de9421643d3f6ddf0099a823a3d624596ebcb";
+      name = "kxmlgui-5.73.0.tar.xz";
     };
   };
   kxmlrpcclient = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/kxmlrpcclient-5.68.0.tar.xz";
-      sha256 = "e49f2ab649aafb292e01dacefb7b6f28fc596606764bef61e7ce622b67241324";
-      name = "kxmlrpcclient-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/portingAids/kxmlrpcclient-5.73.0.tar.xz";
+      sha256 = "c0d089c389f59bb7cb6fba629f3e122e70fda19a69f419ff8bd1d9fcee95a047";
+      name = "kxmlrpcclient-5.73.0.tar.xz";
     };
   };
   modemmanager-qt = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/modemmanager-qt-5.68.0.tar.xz";
-      sha256 = "9c0febf18a04b69e47cffdb4563390a79a4a673da856502cbf50d5c7707670ec";
-      name = "modemmanager-qt-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/modemmanager-qt-5.73.0.tar.xz";
+      sha256 = "87f3864b2b53b4e309bca1feefa613455f60e4699969a569694f6813447e1fcd";
+      name = "modemmanager-qt-5.73.0.tar.xz";
     };
   };
   networkmanager-qt = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/networkmanager-qt-5.68.0.tar.xz";
-      sha256 = "6a9bea5e6d58f5322848114e4e827edadee6b5a890a3549446ff23a568325e2c";
-      name = "networkmanager-qt-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/networkmanager-qt-5.73.0.tar.xz";
+      sha256 = "b909feafc0a9a18b59744e0f1973c5357f67bbd50b59afa82cf55955dae7d41f";
+      name = "networkmanager-qt-5.73.0.tar.xz";
     };
   };
   oxygen-icons5 = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/oxygen-icons5-5.68.0.tar.xz";
-      sha256 = "75a8113e567d8cbba57bda3c8829d116d58ebf6bc5ace88aed7700b28a00c463";
-      name = "oxygen-icons5-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/oxygen-icons5-5.73.0.tar.xz";
+      sha256 = "662cd9644e393c69dccb538cdd4280253be812f80704c992ada228c0c32c2bbc";
+      name = "oxygen-icons5-5.73.0.tar.xz";
     };
   };
   plasma-framework = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/plasma-framework-5.68.0.tar.xz";
-      sha256 = "d27c7a62231784ecad1246f8a81b02fd6db2e9818244a06650fd6c972a69ea74";
-      name = "plasma-framework-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/plasma-framework-5.73.0.tar.xz";
+      sha256 = "e5415143f0a08cd75cf758b0692021d2a2febdcb1364e2aa1e5c8fbeee148c93";
+      name = "plasma-framework-5.73.0.tar.xz";
     };
   };
   prison = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/prison-5.68.0.tar.xz";
-      sha256 = "22e2b8e9ca06e4fb7ab91afeddbaebe6e2b6792bbcd5ba6c440c6fad0df176b7";
-      name = "prison-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/prison-5.73.0.tar.xz";
+      sha256 = "a2b135ffdf1af240366f3fb077c02c02094fb1706c6e84fab5186802544a5b87";
+      name = "prison-5.73.0.tar.xz";
     };
   };
   purpose = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/purpose-5.68.0.tar.xz";
-      sha256 = "c8c8f8244b568e52b4c02b89b71611bb8ba7cd07173645caa022b4bd90b41ab0";
-      name = "purpose-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/purpose-5.73.0.tar.xz";
+      sha256 = "6f4d440cb708b636430e3206f879ca5c2e6cdfcf62f92ce173d43e291fbeed32";
+      name = "purpose-5.73.0.tar.xz";
     };
   };
   qqc2-desktop-style = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/qqc2-desktop-style-5.68.0.tar.xz";
-      sha256 = "0f522861e5757de6a1205c86a2e5f8d2a7375c96eac1ece95d03a35858dc7b03";
-      name = "qqc2-desktop-style-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/qqc2-desktop-style-5.73.0.tar.xz";
+      sha256 = "290b3637be0c3740e92cdbb1421aef8bf1a8df36218f9d7d120e8422d14c3fdd";
+      name = "qqc2-desktop-style-5.73.0.tar.xz";
     };
   };
   solid = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/solid-5.68.0.tar.xz";
-      sha256 = "472c1934b3c9cf917f28ac0e5b0864de442b96852744c301d88d8ab7269d74c3";
-      name = "solid-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/solid-5.73.0.tar.xz";
+      sha256 = "7366b64438a1ca7a42126e67d352e371227b46418ce961321d358f2eb90c0933";
+      name = "solid-5.73.0.tar.xz";
     };
   };
   sonnet = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/sonnet-5.68.0.tar.xz";
-      sha256 = "079c4f5fcb9fe670e1242b18648e178aaa01eb81dbdfc881805eea1ec585bd67";
-      name = "sonnet-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/sonnet-5.73.0.tar.xz";
+      sha256 = "009f76fc4317e407d30c4e162a807d620a95217f5db271a14b1f9fc4339d232c";
+      name = "sonnet-5.73.0.tar.xz";
     };
   };
   syndication = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/syndication-5.68.0.tar.xz";
-      sha256 = "0715fc1b7312b5081521b781d0878d88cc70dcb77272ee173cecca03cc221fd3";
-      name = "syndication-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/syndication-5.73.0.tar.xz";
+      sha256 = "2a65972ef5183edb0bd8b3804dae129ae8f4a4469287711e77fc636e90b8a954";
+      name = "syndication-5.73.0.tar.xz";
     };
   };
   syntax-highlighting = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/syntax-highlighting-5.68.0.tar.xz";
-      sha256 = "a857c743aa60b21eea7e4b986e8b195882aa2c18358412e767e68d93ce35e134";
-      name = "syntax-highlighting-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/syntax-highlighting-5.73.0.tar.xz";
+      sha256 = "51ed4a68ba42d0dc88d91a0c11ac55ada199b7e93b0ff74b80b5e9304fe8901b";
+      name = "syntax-highlighting-5.73.0.tar.xz";
     };
   };
   threadweaver = {
-    version = "5.68.0";
+    version = "5.73.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.68/threadweaver-5.68.0.tar.xz";
-      sha256 = "e28c0bfff375b3e1e9e4eec72f0a804f3f41c4ec5fd59af9b951708d229eff64";
-      name = "threadweaver-5.68.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.73/threadweaver-5.73.0.tar.xz";
+      sha256 = "7e1152a1cf73f841c3be5d73cb0d5e6e29ec700be859c94275c5c00e49488d38";
+      name = "threadweaver-5.73.0.tar.xz";
     };
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/kdsoap/default.nix b/nixpkgs/pkgs/development/libraries/kdsoap/default.nix
new file mode 100644
index 000000000000..dde2e5cb1a77
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/kdsoap/default.nix
@@ -0,0 +1,39 @@
+{ mkDerivation, lib, fetchurl
+, cmake
+, qtbase
+}:
+
+let
+  version = "1.9.0";
+in
+
+mkDerivation {
+  pname = "kdsoap";
+  inherit version;
+  meta = {
+    description = "A Qt-based client-side and server-side SOAP component";
+    longDescription = ''
+      KD Soap is a Qt-based client-side and server-side SOAP component.
+
+      It can be used to create client applications for web services and also
+      provides the means to create web services without the need for any further
+      component such as a dedicated web server.
+    '';
+    license = with lib.licenses; [ gpl2 gpl3 lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  src = fetchurl {
+    url = "https://github.com/KDAB/KDSoap/releases/download/kdsoap-${version}/kdsoap-${version}.tar.gz";
+    sha256 = "0a28k48cmagqxhaayyrqnxsx1zbvw4f06dgs16kl33xhbinn5fg3";
+  };
+  outputs = [ "out" "dev" ];
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ qtbase ];
+  postInstall = ''
+    moveToOutput bin/kdwsdl2cpp "$dev"
+    sed -i "$out/lib/cmake/KDSoap/KDSoapTargets.cmake" \
+        -e "/^  INTERFACE_INCLUDE_DIRECTORIES/ c   INTERFACE_INCLUDE_DIRECTORIES \"$dev/include\""
+    sed -i "$out/lib/cmake/KDSoap/KDSoapTargets-release.cmake" \
+        -e "s@$out/bin@$dev/bin@"
+  '';
+}
diff --git a/nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix b/nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix
index 3704cbb7794c..a42f1c0a513c 100644
--- a/nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix
+++ b/nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "khronos-ocl-icd-loader-${version}";
-  version = "2020.03.13";
+  version = "2020.06.16";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "OpenCL-ICD-Loader";
     rev = "v${version}";
-    sha256 = "0zk6fyfrklx8a848613rfcx0y4yn0dsxkxzzl9pgdh9i6qdfjj9k";
+    sha256 = "0v2yi6d3g5qshzy6pjic09c5irwgds106yvr93q62f32psfblnmy";
   };
 
   patches = stdenv.lib.lists.optional withTracing ./tracing.patch;
diff --git a/nixpkgs/pkgs/development/libraries/kmsxx/default.nix b/nixpkgs/pkgs/development/libraries/kmsxx/default.nix
index 740248a7ae8f..5bd311af2d85 100644
--- a/nixpkgs/pkgs/development/libraries/kmsxx/default.nix
+++ b/nixpkgs/pkgs/development/libraries/kmsxx/default.nix
@@ -3,14 +3,14 @@
 
 stdenv.mkDerivation {
   pname = "kmsxx";
-  version = "2020-02-14";
+  version = "2020-08-04";
 
   src = fetchFromGitHub {
     owner = "tomba";
     repo = "kmsxx";
     fetchSubmodules = true;
-    rev = "7c5e645112a899ad018219365c3898b0e896353f";
-    sha256 = "1hj4gk4gwlvpjprjbrmrbrzqjhdgszsndrb1i4f9z7mjvdv8gij2";
+    rev = "38bee3092f2d477f1baebfcae464f888d3d04bbe";
+    sha256 = "0xz4m9bk0naawxwpx5cy1j3cm6c8c9m5y551csk88y88x1g0z0xh";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/libraries/kpmcore/default.nix b/nixpkgs/pkgs/development/libraries/kpmcore/default.nix
index 52e6264843bf..7903fc746390 100644
--- a/nixpkgs/pkgs/development/libraries/kpmcore/default.nix
+++ b/nixpkgs/pkgs/development/libraries/kpmcore/default.nix
@@ -3,15 +3,12 @@
 , libatasmart, parted
 , utillinux }:
 
-let
+stdenv.mkDerivation rec {
   pname = "kpmcore";
-
-in stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
   version = "3.3.0";
 
   src = fetchurl {
-    url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz";
+    url = "mirror://kde/stable/${pname}/${version}/src/${pname}-${version}.tar.xz";
     sha256 = "0s6v0jfrhjg31ri5p6h9n4w29jvasf5dj954j3vfpzl91lygmmmq";
   };
 
@@ -24,12 +21,14 @@ in stdenv.mkDerivation rec {
 
     utillinux # needs blkid (note that this is not provided by utillinux-compat)
   ];
+
   nativeBuildInputs = [ extra-cmake-modules ];
+
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
     maintainers = with lib.maintainers; [ peterhoeg ];
-    # The build requires at least Qt 5.12:
-    broken = lib.versionOlder qtbase.version "5.12.0";
+    # The build requires at least Qt 5.14:
+    broken = lib.versionOlder qtbase.version "5.14";
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/lcms2/default.nix b/nixpkgs/pkgs/development/libraries/lcms2/default.nix
index 2de11a3bd406..0cf622858900 100644
--- a/nixpkgs/pkgs/development/libraries/lcms2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/lcms2/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libtiff, libjpeg, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "lcms2-2.9";
+  name = "lcms2-2.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/lcms/${name}.tar.gz";
-    sha256 = "083xisy6z01zhm7p7rgk4bx9d6zlr8l20qkfv1g29ylnhgwzvij8";
+    sha256 = "0bkpf315925lhmd9i4mzjnkq5dh255r1lms0c0vzzkfpwk4bjjfw";
   };
 
   outputs = [ "bin" "dev" "out" ];
diff --git a/nixpkgs/pkgs/development/libraries/ldb/default.nix b/nixpkgs/pkgs/development/libraries/ldb/default.nix
index 33a9974211f6..9810234eefa6 100644
--- a/nixpkgs/pkgs/development/libraries/ldb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ldb/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ldb";
-  version = "2.1.3";
+  version = "2.2.0";
 
   src = fetchurl {
     url = "mirror://samba/ldb/${pname}-${version}.tar.gz";
-    sha256 = "0xkps414ndb87abla7dlv44ndnfg5r5vwgmkm3ngcq9knbv1x6w7";
+    sha256 = "0pxxb3sn9lignkf80kndd84shxqk9m2qwimz62gzb6khd4bvajqk";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/development/libraries/leatherman/default.nix b/nixpkgs/pkgs/development/libraries/leatherman/default.nix
index 8a34f05f6cf0..4623e5ca70ef 100644
--- a/nixpkgs/pkgs/development/libraries/leatherman/default.nix
+++ b/nixpkgs/pkgs/development/libraries/leatherman/default.nix
@@ -2,21 +2,16 @@
 
 stdenv.mkDerivation rec {
   pname = "leatherman";
-  version = "1.12.0";
+  version = "1.12.1";
 
   src = fetchFromGitHub {
-    sha256 = "00qigglp67a14ki4dhjxd3j540a80rkmzhysx7hra8v2rgbsqgj8";
+    sha256 = "1mgd7jqfg6f0y2yrh2m1njlwrpd15kas88776jdd5fsl7gvb5khn";
     rev = version;
     repo = "leatherman";
     owner = "puppetlabs";
   };
 
-  NIX_CFLAGS_COMPILE = builtins.toString [
-    "-Wno-error=ignored-qualifiers"
-    "-Wno-error=class-memaccess"
-    "-Wno-error=catch-value"
-    "-Wno-error=deprecated-copy"
-  ];
+  NIX_CFLAGS_COMPILE = "-Wno-error";
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ boost curl ruby ];
@@ -28,7 +23,7 @@ stdenv.mkDerivation rec {
     description = "A collection of C++ and CMake utility libraries";
     license = licenses.asl20;
     maintainers = [ maintainers.womfoo ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 
 }
diff --git a/nixpkgs/pkgs/development/libraries/leptonica/default.nix b/nixpkgs/pkgs/development/libraries/leptonica/default.nix
index 456a14f72b1d..a0f0814fec53 100644
--- a/nixpkgs/pkgs/development/libraries/leptonica/default.nix
+++ b/nixpkgs/pkgs/development/libraries/leptonica/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "leptonica";
-  version = "1.79.0";
+  version = "1.80.0";
 
   src = fetchurl {
     url = "http://www.leptonica.org/source/${pname}-${version}.tar.gz";
-    sha256 = "1n004gv1dj3pq1fcnfdclvvx5nang80336aa67nvs3nnqp4ncn84";
+    sha256 = "192bs676ind8627f0v3v8d1q7r4xwc7q0zvbdbxn1fgvmv14d77c";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/libLAS/default.nix b/nixpkgs/pkgs/development/libraries/libLAS/default.nix
index 818e2ad85b00..95569c0a8132 100644
--- a/nixpkgs/pkgs/development/libraries/libLAS/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libLAS/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, boost, cmake, gdal, libgeotiff, libtiff, LASzip, fixDarwinDylibNames }:
+{ stdenv, fetchurl, boost, cmake, gdal, libgeotiff, libtiff, LASzip2, fixDarwinDylibNames }:
 
 stdenv.mkDerivation rec {
   name = "libLAS-1.8.1";
@@ -9,13 +9,15 @@ stdenv.mkDerivation rec {
     sha256 = "0xjfxb3ydvr2258ji3spzyf81g9caap19ql2pk91wiivqsc4mnws";
   };
 
-  buildInputs = [ boost cmake gdal libgeotiff libtiff LASzip ]
+  buildInputs = [ boost cmake gdal libgeotiff libtiff LASzip2 ]
                 ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
   cmakeFlags = [
     "-DGDAL_CONFIG=${gdal}/bin/gdal-config"
     "-DWITH_LASZIP=ON"
-    "-DLASZIP_INCLUDE_DIR=${LASzip}/include"
+    # libLAS is currently not compatible with LASzip 3,
+    # see https://github.com/libLAS/libLAS/issues/144.
+    "-DLASZIP_INCLUDE_DIR=${LASzip2}/include"
     "-DCMAKE_EXE_LINKER_FLAGS=-pthread"
   ];
 
diff --git a/nixpkgs/pkgs/development/libraries/libaacs/default.nix b/nixpkgs/pkgs/development/libraries/libaacs/default.nix
index 2b3ef8c99c81..d6c90ee172b6 100644
--- a/nixpkgs/pkgs/development/libraries/libaacs/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libaacs/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libaacs";
-  version  = "0.10.0";
+  version  = "0.11.0";
 
   src = fetchurl {
     url = "http://get.videolan.org/libaacs/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "1zhjdcph8sqx7ak35s22kc736icwq135jlypggkp6vqyyygb3xlk";
+    sha256 = "11skjqjlldmbjkyxdcz4fmcn6y4p95r1xagbcnjy4ndnzf0l723d";
   };
 
   buildInputs = [ libgcrypt libgpgerror ];
diff --git a/nixpkgs/pkgs/development/libraries/libappindicator/default.nix b/nixpkgs/pkgs/development/libraries/libappindicator/default.nix
index dc0542c21267..7a7ad22756c7 100644
--- a/nixpkgs/pkgs/development/libraries/libappindicator/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libappindicator/default.nix
@@ -1,11 +1,11 @@
 # TODO: Resolve the issues with the Mono bindings.
 
-{ stdenv, fetchurl, fetchpatch, lib
+{ stdenv, fetchgit, lib
 , pkgconfig, autoreconfHook
 , glib, dbus-glib, gtkVersion ? "3"
 , gtk2 ? null, libindicator-gtk2 ? null, libdbusmenu-gtk2 ? null
 , gtk3 ? null, libindicator-gtk3 ? null, libdbusmenu-gtk3 ? null
-, vala, gobject-introspection
+, gtk-doc, vala, gobject-introspection
 , monoSupport ? false, mono ? null, gtk-sharp-2_0 ? null
  }:
 
@@ -15,18 +15,17 @@ with lib;
 stdenv.mkDerivation rec {
   name = let postfix = if gtkVersion == "2" && monoSupport then "sharp" else "gtk${gtkVersion}";
           in "libappindicator-${postfix}-${version}";
-  version = "${versionMajor}.${versionMinor}";
-  versionMajor = "12.10";
-  versionMinor = "0";
+  version = "12.10.1+20.10.20200706.1";
 
   outputs = [ "out" "dev" ];
 
-  src = fetchurl {
-    url = "${meta.homepage}/${versionMajor}/${version}/+download/libappindicator-${version}.tar.gz";
-    sha256 = "17xlqd60v0zllrxp8bgq3k5a1jkj0svkqn8rzllcyjh8k0gpr46m";
+  src = fetchgit {
+    url = "https://git.launchpad.net/ubuntu/+source/libappindicator";
+    rev = "fe25e53bc7e39cd59ad6b3270cd7a6a9c78c4f44";
+    sha256 = "0xjvbl4gn7ra2fs6gn2g9s787kzb5cg9hv79iqsz949rxh4iw32d";
   };
 
-  nativeBuildInputs = [ pkgconfig autoreconfHook vala gobject-introspection ];
+  nativeBuildInputs = [ pkgconfig autoreconfHook vala gobject-introspection gtk-doc ];
 
   propagatedBuildInputs =
     if gtkVersion == "2"
@@ -39,14 +38,9 @@ stdenv.mkDerivation rec {
     then [ libindicator-gtk2 ] ++ optionals monoSupport [ mono gtk-sharp-2_0 ]
     else [ libindicator-gtk3 ]);
 
-  patches = [
-    # Remove python2 from libappindicator.
-    (fetchpatch {
-      name = "no-python.patch";
-      url = "https://src.fedoraproject.org/rpms/libappindicator/raw/8508f7a52437679fd95a79b4630373f08315f189/f/nopython.patch";
-      sha256 = "18b1xzvwsbhhfpbzf5zragij4g79pa04y1dk6v5ci1wsjvii725s";
-    })
-  ];
+  preAutoreconf = ''
+    gtkdocize
+  '';
 
   configureFlags = [
     "CFLAGS=-Wno-error"
diff --git a/nixpkgs/pkgs/development/libraries/libayatana-appindicator/default.nix b/nixpkgs/pkgs/development/libraries/libayatana-appindicator/default.nix
new file mode 100644
index 000000000000..84ecbc81ca57
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libayatana-appindicator/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchFromGitHub, lib
+, pkgconfig, autoreconfHook , gtk-doc
+, gtkVersion ? "3"
+, gtk2, libayatana-indicator-gtk2, libdbusmenu-gtk2
+, gtk3, libayatana-indicator-gtk3, libdbusmenu-gtk3
+, dbus-glib, python2, python2Packages
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libayatana-appindicator-gtk${gtkVersion}";
+  version = "0.5.4";
+
+  src = fetchFromGitHub {
+    owner = "AyatanaIndicators";
+    repo = "libayatana-appindicator";
+    rev = version;
+    sha256 = "0bqjqb7gabdk7mifk8azi630qw39z978f973fx2ylgdgr4a66j1v";
+  };
+
+  patchPhase = ''
+    substituteInPlace configure.ac \
+      --replace "codegendir pygtk-2.0" "codegendir pygobject-2.0"
+  '';
+
+  nativeBuildInputs = [ pkgconfig autoreconfHook gtk-doc ];
+
+  buildInputs = [ dbus-glib python2 python2Packages.pygtk ]
+    ++ lib.lists.optional (gtkVersion == "2") libayatana-indicator-gtk2
+    ++ lib.lists.optional (gtkVersion == "3") libayatana-indicator-gtk3;
+
+  propagatedBuildInputs =
+    lib.lists.optionals (gtkVersion == "2") [ gtk2 libdbusmenu-gtk2 ]
+    ++ lib.lists.optionals (gtkVersion == "3") [ gtk3 libdbusmenu-gtk3 ];
+
+  preAutoreconf = ''
+    gtkdocize
+  '';
+
+  configureFlags = [ "--with-gtk=${gtkVersion}" ];
+
+  meta = with stdenv.lib; {
+    description = "Ayatana Application Indicators Shared Library";
+    homepage = "https://github.com/AyatanaIndicators/libayatana-appindicator";
+    changelog = "https://github.com/AyatanaIndicators/libayatana-appindicator/blob/${version}/ChangeLog";
+    license = [ licenses.gpl3 licenses.lgpl21 ];
+    maintainers = [ maintainers.nickhu ];
+    platforms = platforms.x86_64;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libayatana-indicator/default.nix b/nixpkgs/pkgs/development/libraries/libayatana-indicator/default.nix
new file mode 100644
index 000000000000..778e06aa95ce
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libayatana-indicator/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, lib
+, pkgconfig, autoreconfHook
+, gtkVersion ? "3"
+, gtk2
+, gtk3
+, ayatana-ido
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libayatana-indicator-gtk${gtkVersion}";
+  version = "0.6.3";
+
+  src = fetchFromGitHub {
+    owner = "AyatanaIndicators";
+    repo = "libayatana-indicator";
+    rev = version;
+    sha256 = "1q9wmaw6pckwyrv0s7wkqzm1yrk031pbz4xbr8cwn75ixqyfcb28";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+
+  buildInputs = [ ayatana-ido ]
+    ++ lib.lists.optionals (gtkVersion == "2") [ gtk2 ]
+    ++ lib.lists.optionals (gtkVersion == "3") [ gtk3 ];
+
+  configureFlags = [ "--with-gtk=${gtkVersion}" ];
+
+  meta = with stdenv.lib; {
+    description = "Ayatana Indicators Shared Library";
+    homepage = "https://github.com/AyatanaIndicators/libayatana-indicator";
+    changelog = "https://github.com/AyatanaIndicators/libayatana-indicator/blob/${version}/ChangeLog";
+    license = licenses.gpl3;
+    maintainers = [ maintainers.nickhu ];
+    platforms = platforms.x86_64;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libbacktrace/default.nix b/nixpkgs/pkgs/development/libraries/libbacktrace/default.nix
new file mode 100644
index 000000000000..0032941f870e
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libbacktrace/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, callPackage, fetchFromGitHub, enableStatic ? false, enableShared ? true }:
+let
+  yesno = b: if b then "yes" else "no";
+in stdenv.mkDerivation rec {
+  pname = "libbacktrace";
+  version = "2020-05-13";
+  src = fetchFromGitHub {
+    owner = "ianlancetaylor";
+    repo = pname;
+    rev = "9b7f216e867916594d81e8b6118f092ac3fcf704";
+    sha256 = "0qr624v954gnfkmpdlfk66sxz3acyfmv805rybsaggw5gz5sd1nh";
+  };
+  configureFlags = [
+    "--enable-static=${yesno enableStatic}"
+    "--enable-shared=${yesno enableShared}"
+  ];
+  meta = with stdenv.lib; {
+    description = "A C library that may be linked into a C/C++ program to produce symbolic backtraces";
+    homepage = https://github.com/ianlancetaylor/libbacktrace;
+    maintainers = with maintainers; [ twey ];
+    license = with licenses; [ bsd3 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libbap/default.nix b/nixpkgs/pkgs/development/libraries/libbap/default.nix
index 09cbafa17bff..411c3ae740f2 100644
--- a/nixpkgs/pkgs/development/libraries/libbap/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libbap/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation {
   pname = "libbap";
-  version = "master-2019-04-05";
+  version = "master-2019-11-15";
 
   src = fetchFromGitHub {
     owner = "BinaryAnalysisPlatform";
     repo = "bap-bindings";
-    rev = "1a89db62f1239a15d310b400f74e151c0a64f37f";
-    sha256 = "0mln9adjgxzhjmjayq06ahgiay4vj5kmnzdxqz3nsik9h3npycd6";
+    rev = "1a30dd3e1df18c432a83a7038b555662d6982ae3";
+    sha256 = "140gmak2kymh3r0fagb6ms66lmvwhhqj8pcd3qxc1p4ar330fwrh";
   };
 
   nativeBuildInputs = [ autoreconfHook which ];
diff --git a/nixpkgs/pkgs/development/libraries/libblockdev/default.nix b/nixpkgs/pkgs/development/libraries/libblockdev/default.nix
index 4982157c3ba0..7628212800f4 100644
--- a/nixpkgs/pkgs/development/libraries/libblockdev/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libblockdev/default.nix
@@ -6,13 +6,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "libblockdev";
-  version = "2.23";
+  version = "2.24";
 
   src = fetchFromGitHub {
     owner = "storaged-project";
     repo = "libblockdev";
     rev = "${version}-1";
-    sha256 = "09gp9h05vy3llhnrg98gny8g57kgwnbi8522qyzjwyv7nmhs4zhz";
+    sha256 = "1gzwlwdv0jyb3lh2n016limy2ngfdsa05x7jvg9llf2ls672nq89";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
diff --git a/nixpkgs/pkgs/development/libraries/libblocksruntime/default.nix b/nixpkgs/pkgs/development/libraries/libblocksruntime/default.nix
index 7863e596e1b8..aff56994f498 100644
--- a/nixpkgs/pkgs/development/libraries/libblocksruntime/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libblocksruntime/default.nix
@@ -24,4 +24,10 @@ stdenv.mkDerivation {
   doCheck = false; # hasdescriptor.c test fails, hrm.
 
   installPhase = ''prefix="/" DESTDIR=$out ./installlib'';
+
+  meta = with stdenv.lib; {
+    description = "Installs the BlocksRuntime library from the compiler-rt";
+    homepage = "https://github.com/mackyle/blocksruntime";
+    license = licenses.mit;
+  };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libbytesize/default.nix b/nixpkgs/pkgs/development/libraries/libbytesize/default.nix
index ec14b2a6091e..c93a59d462fe 100644
--- a/nixpkgs/pkgs/development/libraries/libbytesize/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libbytesize/default.nix
@@ -4,7 +4,7 @@
 }:
 
 let
-  version = "2.3";
+  version = "2.4";
 in stdenv.mkDerivation rec {
   pname = "libbytesize";
   inherit version;
@@ -13,7 +13,7 @@ in stdenv.mkDerivation rec {
     owner = "storaged-project";
     repo = "libbytesize";
     rev = version;
-    sha256 = "1nrlmn63k0ix1yzn8v4lni5n5b4c0b6w9f33p1ig113ymmdvcc0h";
+    sha256 = "1kq0hnw2yxjdmcrwvgp0x4j1arkka23k8vp2l6nqcw9lc15x18fp";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
diff --git a/nixpkgs/pkgs/development/libraries/libcint/default.nix b/nixpkgs/pkgs/development/libraries/libcint/default.nix
index 4a83175f66bf..55ba8d7b3017 100644
--- a/nixpkgs/pkgs/development/libraries/libcint/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcint/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libcint";
-  version = "3.0.20";
+  version = "3.1.1";
 
   src = fetchFromGitHub {
     owner = "sunqm";
     repo = "libcint";
     rev = "v${version}";
-    sha256 = "0iqqq568q9sxppr08rvmpyjq0n82pm04x9rxhh3mf20x1ds7ngj5";
+    sha256 = "0z1gavi7aacx68fmyzy90vzv5kff844lnxc6habs6y377dr3rwwy";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/libcrafter/default.nix b/nixpkgs/pkgs/development/libraries/libcrafter/default.nix
index d91032126eb4..20bcc9183ec4 100644
--- a/nixpkgs/pkgs/development/libraries/libcrafter/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcrafter/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libcrafter";
-  version = "0.3";
+  version = "1.0";
 
   src = fetchzip {
     url = "https://github.com/pellegre/libcrafter/archive/version-${version}.zip";
-    sha256 = "04lpmshh4wb1dav03p6rnskpd1zmmvhv80xwn8v7l8faps5gvjp4";
+    sha256 = "1d2vgxawdwk2zg3scxclxdby1rhghmivly8azdjja89kw7gls9xl";
   };
 
   preConfigure = "cd libcrafter";
diff --git a/nixpkgs/pkgs/development/libraries/libcryptui/default.nix b/nixpkgs/pkgs/development/libraries/libcryptui/default.nix
index e3db41c73e1a..829d16e59d06 100644
--- a/nixpkgs/pkgs/development/libraries/libcryptui/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcryptui/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, gnome3, gtk3, gnupg20, gpgme, dbus-glib, libgnome-keyring }:
+{ stdenv, fetchurl, autoreconfHook, pkgconfig, intltool, glib, gnome3, gtk3, gnupg22, gpgme, dbus-glib, libgnome-keyring }:
 
 stdenv.mkDerivation rec {
   pname = "libcryptui";
@@ -9,8 +9,12 @@ stdenv.mkDerivation rec {
     sha256 = "0rh8wa5k2iwbwppyvij2jdxmnlfjbna7kbh2a5n7zw4nnjkx3ski";
   };
 
-  nativeBuildInputs = [ pkgconfig intltool ];
-  buildInputs = [ glib gtk3 gnupg20 gpgme dbus-glib libgnome-keyring ];
+  patches = [
+    ./fix-gnupg-2.2.patch # based on https://gitlab.gnome.org/GNOME/libcryptui/-/commit/b05e301d1b264a5d8f07cb96e5edc243d99bff79.patch
+  ];
+
+  nativeBuildInputs = [ pkgconfig intltool autoreconfHook ];
+  buildInputs = [ glib gtk3 gnupg22 gpgme dbus-glib libgnome-keyring ];
   propagatedBuildInputs = [ dbus-glib ];
 
   passthru = {
diff --git a/nixpkgs/pkgs/development/libraries/libcryptui/fix-gnupg-2.2.patch b/nixpkgs/pkgs/development/libraries/libcryptui/fix-gnupg-2.2.patch
new file mode 100644
index 000000000000..50d5e0c82c1c
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libcryptui/fix-gnupg-2.2.patch
@@ -0,0 +1,26 @@
+From b05e301d1b264a5d8f07cb96e5edc243d99bff79 Mon Sep 17 00:00:00 2001
+From: Antoine Jacoutot <ajacoutot@gnome.org>
+Date: Fri, 10 Nov 2017 08:55:55 +0100
+Subject: [PATCH] Accept GnuPG 2.2.x as supported version
+
+https://bugzilla.gnome.org/show_bug.cgi?id=790152
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 4486e7b2..be5b28b4 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -95,7 +95,7 @@ AC_ARG_ENABLE(gpg-check,
+ 	DO_CHECK=$enableval, DO_CHECK=yes)
+ 
+ if test	"$DO_CHECK" = "yes"; then
+-	accepted_versions="1.2 1.4 2.0"
++	accepted_versions="1.2 1.4 2.0 2.2"
+ 	AC_PATH_PROGS(GNUPG, [gpg gpg2], no)
+ 	AC_DEFINE_UNQUOTED(GNUPG, "$GNUPG", [Path to gpg executable.])
+ 	ok="no"
+-- 
+GitLab
+
diff --git a/nixpkgs/pkgs/development/libraries/libde265/default.nix b/nixpkgs/pkgs/development/libraries/libde265/default.nix
index c9f45280bdad..7c136dd7805d 100644
--- a/nixpkgs/pkgs/development/libraries/libde265/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libde265/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  version = "1.0.5";
+  version = "1.0.6";
   pname = "libde265";
 
   src = fetchFromGitHub {
     owner = "strukturag";
     repo = "libde265";
     rev = "v${version}";
-    sha256 = "1qisj8ryzbknam3hk81rq70fsd9mcpxm898bqygvbsmbwyvmz3pg";
+    sha256 = "0ipccyavlgf7hfzx1g8bvzg62xq10vcxvwgq70r3z3j6mdvmrzjp";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/libdigidoc/default.nix b/nixpkgs/pkgs/development/libraries/libdigidoc/default.nix
index 0acab6023312..5936853dcbcb 100644
--- a/nixpkgs/pkgs/development/libraries/libdigidoc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libdigidoc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, openssl, pcsclite, opensc, libxml2 }:
+{ stdenv, fetchurl, cmake, openssl, pcsclite, opensc, libxml2, Security }:
 
 stdenv.mkDerivation rec {
 
@@ -12,13 +12,16 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  buildInputs = [ openssl pcsclite opensc libxml2 ];
+  buildInputs = [ openssl pcsclite opensc libxml2 ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ Security ];
+
+  cmakeFlags = stdenv.lib.optionals stdenv.isDarwin [ "-DFRAMEWORK=OFF" ];
 
   meta = with stdenv.lib; {
     description = "Library for creating DigiDoc signature files";
-    homepage = "http://www.id.ee/";
+    homepage = "https://github.com/open-eid/libdigidoc";
     license = licenses.lgpl2;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.jagajaga ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libdigidocpp/default.nix b/nixpkgs/pkgs/development/libraries/libdigidocpp/default.nix
index 4052f6e45d72..940093ed4ba4 100644
--- a/nixpkgs/pkgs/development/libraries/libdigidocpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libdigidocpp/default.nix
@@ -2,12 +2,12 @@
 , xercesc, xml-security-c, pkgconfig, xsd, zlib, xalanc, xxd }:
 
 stdenv.mkDerivation rec {
-  version = "3.14.2";
+  version = "3.14.3";
   pname = "libdigidocpp";
 
   src = fetchurl {
      url = "https://github.com/open-eid/libdigidocpp/releases/download/v${version}/libdigidocpp-${version}.tar.gz";
-     sha256 = "0d3p72gvnj00bxl6lzh6n5x1r37wj54mzzv700gngcvr3m62lkbv";
+     sha256 = "1hq1q2frqnm4wxcfr7vn8kqwyfdz3hx22w40kn69zh140pig6jc5";
   };
 
   nativeBuildInputs = [ cmake pkgconfig xxd ];
diff --git a/nixpkgs/pkgs/development/libraries/libdrm/cross-build-nm-path.patch b/nixpkgs/pkgs/development/libraries/libdrm/cross-build-nm-path.patch
index 478534e65e51..547ef0d09691 100644
--- a/nixpkgs/pkgs/development/libraries/libdrm/cross-build-nm-path.patch
+++ b/nixpkgs/pkgs/development/libraries/libdrm/cross-build-nm-path.patch
@@ -17,18 +17,17 @@ Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
  2 files changed, 7 insertions(+), 1 deletion(-)
 
 diff --git a/meson.build b/meson.build
-index e292554a..64607139 100644
---- a/meson.build
-+++ b/meson.build
-@@ -327,7 +327,7 @@ pkg.generate(
- )
- 
- env_test = environment()
--env_test.set('NM', find_program('nm').path())
-+env_test.set('NM', find_program(get_option('nm-path')).path())
- 
- if with_libkms
-   subdir('libkms')
+--- meson.build.orig	2020-06-18 11:13:57.716321962 +0200
++++ meson.build	2020-06-18 11:19:50.456861311 +0200
+@@ -45,7 +45,7 @@
+ cc = meson.get_compiler('c')
+
+ symbols_check = find_program('symbols-check.py')
+-prog_nm = find_program('nm')
++prog_nm = find_program(get_option('nm-path'))
+
+ # Check for atomics
+ intel_atomics = false
 diff --git a/meson_options.txt b/meson_options.txt
 index 8af33f1c..b4f46a52 100644
 --- a/meson_options.txt
diff --git a/nixpkgs/pkgs/development/libraries/libdrm/default.nix b/nixpkgs/pkgs/development/libraries/libdrm/default.nix
index 0d6ff189765f..328c85830fbf 100644
--- a/nixpkgs/pkgs/development/libraries/libdrm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libdrm/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libdrm";
-  version = "2.4.100";
+  version = "2.4.102";
 
   src = fetchurl {
-    url = "https://dri.freedesktop.org/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "0p8a1l3a3s40i81mawm8nhrbk7p97ss05qkawp1yx73c30lchz67";
+    url = "https://dri.freedesktop.org/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "0nx0bd9dhymdsd99v4ifib77yjirkvkxf5hzdkbr7qr8dhrzkjwb";
   };
 
   outputs = [ "out" "dev" "bin" ];
@@ -17,15 +17,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ libpthreadstubs libpciaccess ]
     ++ lib.optional withValgrind valgrind-light;
 
-  patches = [ ./cross-build-nm-path.patch ] ++
-    lib.optionals stdenv.hostPlatform.isMusl [
-      # Fix tests not building on musl because they use the glibc-specific
-      # (non-POSIX) `ioctl()` type signature. See #66441.
-      (fetchpatch {
-        url = "https://raw.githubusercontent.com/openembedded/openembedded-core/30a2af80f5f8c8ddf0f619e4f50451b02baa22dd/meta/recipes-graphics/drm/libdrm/musl-ioctl.patch";
-        sha256 = "0rdmh4k5kb80hhk1sdhlil30yf0s8d8w0fnq0hzyvw3ir1mki3by";
-      })
-    ];
+  patches = [ ./cross-build-nm-path.patch ];
 
   postPatch = ''
     for a in */*-symbol-check ; do
diff --git a/nixpkgs/pkgs/development/libraries/libe57format/default.nix b/nixpkgs/pkgs/development/libraries/libe57format/default.nix
new file mode 100644
index 000000000000..6bb48c9530c8
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libe57format/default.nix
@@ -0,0 +1,55 @@
+{
+  stdenv,
+  cmake,
+  fetchFromGitHub,
+  boost,
+  xercesc,
+  icu,
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libe57format";
+  version = "2.1";
+
+  src = fetchFromGitHub {
+    owner = "asmaloney";
+    repo = "libE57Format";
+    rev = "v${version}";
+    sha256 = "05z955q68wjbd9gc5fw32nqg69xc82n2x75j5vchxzkgnn3adcpi";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = [
+    boost
+    icu
+    xercesc
+  ];
+
+  # The build system by default builds ONLY static libraries, and with
+  # `-DE57_BUILD_SHARED=ON` builds ONLY shared libraries, see:
+  #     https://github.com/asmaloney/libE57Format/issues/48
+  #     https://github.com/asmaloney/libE57Format/blob/f657d470da5f0d185fe371c4c011683f6e30f0cb/CMakeLists.txt#L82-L89
+  # We support building both by building statically and then
+  # building an .so file here manually.
+  # The way this is written makes this Linux-only for now.
+  postInstall = ''
+    cd $out/lib
+    g++ -Wl,--no-undefined -shared -o libE57FormatShared.so -L. -Wl,-whole-archive -lE57Format -Wl,-no-whole-archive -lxerces-c
+    mv libE57FormatShared.so libE57Format.so
+
+    if [ "$dontDisableStatic" -ne "1" ]; then
+      rm libE57Format.a
+    fi
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Library for reading & writing the E57 file format (fork of E57RefImpl)";
+    homepage = "https://github.com/asmaloney/libE57Format";
+    license = licenses.boost;
+    maintainers = with maintainers; [ chpatrick nh2 ];
+    platforms = platforms.linux; # because of the .so buiding in `postInstall` above
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libebml/default.nix b/nixpkgs/pkgs/development/libraries/libebml/default.nix
index cbfcf5af042b..29c4b4c3b09f 100644
--- a/nixpkgs/pkgs/development/libraries/libebml/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libebml/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libebml";
-  version = "1.3.10";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner  = "Matroska-Org";
     repo   = "libebml";
     rev    = "release-${version}";
-    sha256 = "1vn0g4hsygrm29qvnzhrblpwjcy2x6swf799ibxv3bzpi1j0gris";
+    sha256 = "052v4mjynndj9xgfl4lmlsnx9ai0pah0kjyr5fm34l7gj8vhc5s7";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/libevdev/default.nix b/nixpkgs/pkgs/development/libraries/libevdev/default.nix
index c769006e0bff..fdd5e20640ad 100644
--- a/nixpkgs/pkgs/development/libraries/libevdev/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libevdev/default.nix
@@ -2,22 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libevdev";
-  version = "1.9.0";
+  version = "1.9.1";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "17pb5375njb1r05xmk0r57a2j986ihglh2n5nqcylbag4rj8mqg7";
+    sha256 = "1jvsphdrs1i54ccjcn6ll26jy42am7h28lbsvwa6pmxgqm43qq7m";
   };
 
-  patches = [
-    # Fix libevdev-python tests on aarch64
-    # https://gitlab.freedesktop.org/libevdev/libevdev/merge_requests/63
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/libevdev/libevdev/commit/66113fe84f62bab3a672a336eb10b255d2aa5ce7.patch";
-      sha256 = "gZKr/P+/OqU69IGslP8CQlcGuyzA/ulcm+nGwHdis58=";
-    })
-  ];
-
   nativeBuildInputs = [ python3 ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/libraries/libevent/default.nix b/nixpkgs/pkgs/development/libraries/libevent/default.nix
index eaa2933505c4..880ba746bb9e 100644
--- a/nixpkgs/pkgs/development/libraries/libevent/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libevent/default.nix
@@ -6,11 +6,11 @@ assert sslSupport -> openssl != null;
 
 stdenv.mkDerivation rec {
   pname = "libevent";
-  version = "2.1.11";
+  version = "2.1.12";
 
   src = fetchurl {
     url = "https://github.com/libevent/libevent/releases/download/release-${version}-stable/libevent-${version}-stable.tar.gz";
-    sha256 = "0g988zqm45sj1hlhhz4il5z4dpi5dl74hzjwzl4md37a09iaqnx6";
+    sha256 = "1fq30imk8zd26x8066di3kpc5zyfc5z6frr3zll685zcx4dxxrlj";
   };
 
   # libevent_openssl is moved into its own output, so that openssl isn't present
diff --git a/nixpkgs/pkgs/development/libraries/libfilezilla/default.nix b/nixpkgs/pkgs/development/libraries/libfilezilla/default.nix
index 3bd549519943..455d42e30502 100644
--- a/nixpkgs/pkgs/development/libraries/libfilezilla/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libfilezilla/default.nix
@@ -1,24 +1,27 @@
 { stdenv
 , fetchurl
-
+, autoreconfHook
 , gettext
 , gnutls
 , nettle
 , pkgconfig
+, libiconv
+, ApplicationServices
 }:
 
 stdenv.mkDerivation rec {
   pname = "libfilezilla";
-  version = "0.22.0";
+  version = "0.24.1";
 
   src = fetchurl {
     url = "https://download.filezilla-project.org/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "0ylgxw1lxdqvayy5285mlfrkr9cvsgasy2zci6g6mv9rng261xn5";
+    sha256 = "sha256-/dW07hkWr3sdQC591GfwXfdiS7ZfuVoIdaA3EuzC1v0=";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
 
-  buildInputs = [ gettext gnutls nettle ];
+  buildInputs = [ gettext gnutls nettle ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv ApplicationServices ];
 
   enableParallelBuilding = true;
 
@@ -27,6 +30,6 @@ stdenv.mkDerivation rec {
     description = "A modern C++ library, offering some basic functionality to build high-performing, platform-independent programs";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ pSub ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libgaminggear/default.nix b/nixpkgs/pkgs/development/libraries/libgaminggear/default.nix
index 1b528b98e858..c0aa67238bff 100644
--- a/nixpkgs/pkgs/development/libraries/libgaminggear/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgaminggear/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, cmake, pkgconfig, gettext
 , gtk2, libcanberra, libnotify, pcre, sqlite, xorg
+, harfbuzz
 }:
 
 stdenv.mkDerivation rec {
@@ -27,6 +28,9 @@ stdenv.mkDerivation rec {
     "-DINSTALL_LIBDIR=lib"
   ];
 
+  # https://sourceforge.net/p/libgaminggear/discussion/general/thread/b43a776b3a/
+  NIX_CFLAGS_COMPILE = [ "-I${harfbuzz.dev}/include/harfbuzz" ];
+
   postFixup = ''
     moveToOutput bin "$bin"
   '';
diff --git a/nixpkgs/pkgs/development/libraries/libgcrypt/default.nix b/nixpkgs/pkgs/development/libraries/libgcrypt/default.nix
index a3d515c50472..d49fa37325aa 100644
--- a/nixpkgs/pkgs/development/libraries/libgcrypt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgcrypt/default.nix
@@ -6,11 +6,11 @@ assert enableCapabilities -> stdenv.isLinux;
 
 stdenv.mkDerivation rec {
   pname = "libgcrypt";
-  version = "1.8.5";
+  version = "1.8.6";
 
   src = fetchurl {
     url = "mirror://gnupg/libgcrypt/${pname}-${version}.tar.bz2";
-    sha256 = "1hvsazms1bfd769q0ngl0r9g5i4m9mpz9jmvvrdzyzk3rfa2ljiv";
+    sha256 = "0xdrsxgqw5v7szshjdgdv60rgpvzzaqic32ahqrzr6bvc402gfhc";
   };
 
   outputs = [ "out" "dev" "info" ];
@@ -30,6 +30,10 @@ stdenv.mkDerivation rec {
   configureFlags = [ "--with-libgpg-error-prefix=${libgpgerror.dev}" ]
    ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-asm";
 
+  # Necessary to generate correct assembly when compiling for aarch32 on
+  # aarch64
+  configurePlatforms = [ "host" "build" ];
+
   # Make sure libraries are correct for .pc and .la files
   # Also make sure includes are fixed for callers who don't use libgpgcrypt-config
   postFixup = ''
diff --git a/nixpkgs/pkgs/development/libraries/libgdiplus/default.nix b/nixpkgs/pkgs/development/libraries/libgdiplus/default.nix
index 1ff02a8709d4..70043d1132d0 100644
--- a/nixpkgs/pkgs/development/libraries/libgdiplus/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgdiplus/default.nix
@@ -23,6 +23,8 @@ stdenv.mkDerivation rec {
 
   configureFlags = stdenv.lib.optional stdenv.cc.isClang "--host=${stdenv.hostPlatform.system}";
 
+  enableParallelBuilding = true;
+
   buildInputs =
     [ glib cairo fontconfig libtiff giflib
       libjpeg libpng libXrender libexif
diff --git a/nixpkgs/pkgs/development/libraries/libglvnd/default.nix b/nixpkgs/pkgs/development/libraries/libglvnd/default.nix
index 92cde8aef4cf..3a4737d483bf 100644
--- a/nixpkgs/pkgs/development/libraries/libglvnd/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libglvnd/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libglvnd";
-  version = "1.3.1";
+  version = "1.3.2";
 
   src = fetchFromGitHub {
     owner = "NVIDIA";
     repo = "libglvnd";
     rev = "v${version}";
-    sha256 = "0mkzdzdxjxjl794rblq4mq33wmb8ikqmfswbqdbr8gw2kw4wlhdl";
+    sha256 = "10x7fgb114r4gikdg6flszl3kwzcb9y5qa7sj9936mk0zxhjaylz";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig python3 addOpenGLRunpath ];
diff --git a/nixpkgs/pkgs/development/libraries/libgpg-error/default.nix b/nixpkgs/pkgs/development/libraries/libgpg-error/default.nix
index 1e49a72096a3..972ca4c04a57 100644
--- a/nixpkgs/pkgs/development/libraries/libgpg-error/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgpg-error/default.nix
@@ -34,6 +34,16 @@ in stdenv.mkDerivation (rec {
   '' + lib.optionalString (stdenv.hostPlatform.isAarch32 && stdenv.hostPlatform.isMusl) ''
     ln -s src/syscfg/lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.arm-unknown-linux-musleabihf.h
     ln -s src/syscfg/lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-musleabihf.h
+  ''
+  # This file was accidentally excluded from the sdist until
+  # 013720333c6ec1d38791689bc49ba039d98e16b3, post release.
+  # TODO make unconditional next mass rebuild
+  + lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
+    cp ${fetchurl {
+      url = "https://raw.githubusercontent.com/gpg/libgpg-error/50e62b36ea01ed25d12c443088b85d4f41a2b3e1/src/gen-lock-obj.sh";
+      sha256 = "10cslipa6npalj869asaamj0w941dhmx0yjafpyyh69ypsg2m2c3";
+    }} ./src/gen-lock-obj.sh
+    chmod +x ./src/gen-lock-obj.sh
   '';
 
   outputs = [ "out" "dev" "info" ];
diff --git a/nixpkgs/pkgs/development/libraries/libgpiod/default.nix b/nixpkgs/pkgs/development/libraries/libgpiod/default.nix
index 6d77a28d55f3..68078bbc9a03 100644
--- a/nixpkgs/pkgs/development/libraries/libgpiod/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgpiod/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libgpiod";
-  version = "1.5.1";
+  version = "1.5.2";
 
   src = fetchurl {
     url = "https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/snapshot/libgpiod-${version}.tar.gz";
-    sha256 = "14iv8iwyvfznyifhkqz1bjh24dvb03gmpjn8v3fs6h734l93vvw5";
+    sha256 = "1bknh7kn5gxc8xwf913lsdm9zgn1bwj42nsnp6kbkyn6ip7s6c4r";
   };
 
   buildInputs = [ kmod ] ++ lib.optionals enablePython [ python3 ncurses ];
diff --git a/nixpkgs/pkgs/development/libraries/libguestfs/default.nix b/nixpkgs/pkgs/development/libraries/libguestfs/default.nix
index 411ae0a33160..234e1164893e 100644
--- a/nixpkgs/pkgs/development/libraries/libguestfs/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libguestfs/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, autoreconfHook, makeWrapper
 , ncurses, cpio, gperf, cdrkit, flex, bison, qemu, pcre, augeas, libxml2
-, acl, libcap, libcap_ng, libconfig, systemd, fuse, yajl, libvirt, hivex
+, acl, libcap, libcap_ng, libconfig, systemd, fuse, yajl, libvirt, hivex, db
 , gmp, readline, file, numactl, xen, libapparmor, jansson
 , getopt, perlPackages, ocamlPackages
 , appliance ? null
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     ncurses cpio gperf jansson
     cdrkit flex bison qemu pcre augeas libxml2 acl libcap libcap_ng libconfig
-    systemd fuse yajl libvirt gmp readline file hivex
+    systemd fuse yajl libvirt gmp readline file hivex db
     numactl xen libapparmor getopt perlPackages.ModuleBuild
   ] ++ (with perlPackages; [ perl libintl_perl GetoptLong SysVirt ])
     ++ (with ocamlPackages; [ ocaml findlib ocamlbuild ocaml_libvirt gettext-stub ounit ])
diff --git a/nixpkgs/pkgs/development/libraries/libgumath/default.nix b/nixpkgs/pkgs/development/libraries/libgumath/default.nix
index 27a10507a58d..55e89d876649 100644
--- a/nixpkgs/pkgs/development/libraries/libgumath/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgumath/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation {
   pname = "libgumath";
-  version = "unstable-2018-11-27";
+  version = "unstable-2019-08-01";
 
   src = fetchFromGitHub {
-    owner = "plures";
+    owner = "xnd-project";
     repo = "gumath";
-    rev = "5a9d27883b40432246d6a93cd6133157267fd166";
-    sha256 = "0w2qzp7anxd1wzkvv5r2pdkkpgrnqzgrq47lrvpqc1i1wqzcwf0w";
+    rev = "360ed454105ac5615a7cb7d216ad25bc4181b876";
+    sha256 = "1wprkxpmjrk369fpw8rbq51r7jvqkcndqs209y7p560cnagmsxc6";
   };
 
   buildInputs = [ libndtypes libxnd ];
diff --git a/nixpkgs/pkgs/development/libraries/libgweather/default.nix b/nixpkgs/pkgs/development/libraries/libgweather/default.nix
index 51ee70f070c6..5493343fc239 100644
--- a/nixpkgs/pkgs/development/libraries/libgweather/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgweather/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libgweather";
-  version = "3.36.0";
+  version = "3.36.1";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0bd30g3facfcgf18y2110xhc7ijly313y49mpwdkvl482z0fxzyj";
+    sha256 = "0l74hc02rvzm4p530y539a67jwb080fqdaazdl8j0fr3xvq0j9yy";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig gettext vala gtk-doc docbook_xsl docbook_xml_dtd_43 gobject-introspection python3 ];
diff --git a/nixpkgs/pkgs/development/libraries/libhdhomerun/default.nix b/nixpkgs/pkgs/development/libraries/libhdhomerun/default.nix
index bcab7faa4127..73d53bdccd73 100644
--- a/nixpkgs/pkgs/development/libraries/libhdhomerun/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libhdhomerun/default.nix
@@ -1,12 +1,16 @@
-{ stdenv, fetchgit }:
+{ stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "libhdhomerun-1efbcb";
+# libhdhomerun requires UDP port 65001 to be open in order to detect and communicate with tuners.
+# If your firewall is enabled, make sure to have something like:
+#   networking.firewall.allowedUDPPorts = [ 65001 ];
 
-  src = fetchgit {
-    url = "git://github.com/Silicondust/libhdhomerun.git";
-    rev = "1efbcb2b87b17a82f2b3d873d1c9cc1c6a3a9b77";
-    sha256 = "11iyrfs98xb50n9iqnwfphmmnn5w3mq2l9cjjpf8qp29cvs33cgy";
+stdenv.mkDerivation rec {
+  pname = "libhdhomerun";
+  version = "20200521";
+
+  src = fetchurl {
+    url = "https://download.silicondust.com/hdhomerun/libhdhomerun_${version}.tgz";
+    sha256 = "0s0683bwyd10n3r2sanlyd07ii3fmi3vl9w9a2rwlpcclzq3h456";
   };
 
   patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
@@ -23,10 +27,9 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "Implements the libhdhomerun protocol for use with Silicondust HDHomeRun TV tuners";
-    homepage = "https://github.com/Silicondust/libhdhomerun";
-    repositories.git = "https://github.com/Silicondust/libhdhomerun.git";
-    license = stdenv.lib.licenses.lgpl2;
-    platforms = stdenv.lib.platforms.unix;
+    homepage = "https://www.silicondust.com/support/linux";
+    license = licenses.lgpl21Only;
+    platforms = platforms.unix;
     maintainers = [ maintainers.titanous ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libheif/default.nix b/nixpkgs/pkgs/development/libraries/libheif/default.nix
index d147820cff1c..fd527eb415b9 100644
--- a/nixpkgs/pkgs/development/libraries/libheif/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libheif/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libheif";
-  version = "1.7.0";
+  version = "1.8.0";
 
   outputs = [ "bin" "out" "dev" "man" ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner = "strukturag";
     repo = "libheif";
     rev = "v${version}";
-    sha256 = "0alri5h486ck9b5z6wwrmlpzydhz58l223z3zxkizqrzxlllhr6p";
+    sha256 = "15az44qdqp2vncdfv1bzdl30977kvqxcb2bhx4x3q6vcxnm1xfgg";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/libidn/default.nix b/nixpkgs/pkgs/development/libraries/libidn/default.nix
index a0df28a66993..e936f3fd92a2 100644
--- a/nixpkgs/pkgs/development/libraries/libidn/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libidn/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, libiconv }:
 
 stdenv.mkDerivation rec {
-  name = "libidn-1.35";
+  name = "libidn-1.36";
 
   src = fetchurl {
     url = "mirror://gnu/libidn/${name}.tar.gz";
-    sha256 = "07pyy0afqikfq51z5kbzbj9ldbd12mri0zvx0mfv3ds6bc0g26pi";
+    sha256 = "0f20n634whpmdwr81c2r0vxxjwchgkvhsr1i8s2bm0ad6h473dhl";
   };
 
   outputs = [ "bin" "dev" "out" "info" "devdoc" ];
diff --git a/nixpkgs/pkgs/development/libraries/libiio/default.nix b/nixpkgs/pkgs/development/libraries/libiio/default.nix
index 03324c15d8f7..3c3ccf27884f 100644
--- a/nixpkgs/pkgs/development/libraries/libiio/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libiio/default.nix
@@ -1,49 +1,63 @@
-{ stdenv, fetchFromGitHub
-, cmake, flex, bison
-, libxml2, python
-, libusb1, runtimeShell
+{ stdenv
+, fetchFromGitHub
+, cmake
+, flex
+, bison
+, libxml2
+, python
+, libusb1
+, runtimeShell
+, lib
 }:
 
 stdenv.mkDerivation rec {
   pname = "libiio";
-  version = "0.20";
+  version = "0.21";
+
+  outputs = [ "out" "lib" "dev" "python" ];
 
   src = fetchFromGitHub {
-    owner  = "analogdevicesinc";
-    repo   = "libiio";
-    rev    = "refs/tags/v${version}";
-    sha256 = "1929gvizkqmm9cwh3vihxxszfxvgcp5saq9q6chdk3fpdhzajc00";
+    owner = "analogdevicesinc";
+    repo = "libiio";
+    rev = "v${version}";
+    sha256 = "0psw67mzysdb8fkh8xpcwicm7z94k8plkcc8ymxyvl6inshq0mc7";
   };
 
-  outputs = [ "out" "lib" "dev" "python" ];
+  nativeBuildInputs = [
+    cmake
+    flex
+    bison
+  ];
+
+  buildInputs = [
+    python
+    libxml2
+    libusb1
+  ] ++ lib.optional python.isPy3k python.pkgs.setuptools;
 
-  nativeBuildInputs = [ cmake flex bison ];
-  buildInputs = [ libxml2 libusb1 ];
+  cmakeFlags = [
+    "-DUDEV_RULES_INSTALL_DIR=${placeholder "out"}/lib/udev/rules.d"
+    "-DPYTHON_BINDINGS=on"
+  ];
 
   postPatch = ''
+    # Hardcode path to the shared library into the bindings.
+    sed "s#@libiio@#$lib/lib/libiio${stdenv.hostPlatform.extensions.sharedLibrary}#g" ${./hardcode-library-path.patch} | patch -p1
+
     substituteInPlace libiio.rules.cmakein \
       --replace /bin/sh ${runtimeShell}
   '';
 
-  # since we can't expand $out in cmakeFlags
-  preConfigure = ''
-    cmakeFlags="$cmakeFlags -DUDEV_RULES_INSTALL_DIR=$out/etc/udev/rules.d"
-  '';
-
   postInstall = ''
-    mkdir -p $python/lib/${python.libPrefix}/site-packages/
-    touch $python/lib/${python.libPrefix}/site-packages/
-    cp ../bindings/python/iio.py $python/lib/${python.libPrefix}/site-packages/
-
-    substitute ../bindings/python/iio.py $python/lib/${python.libPrefix}/site-packages/iio.py \
-      --replace 'libiio.so.0' $lib/lib/libiio.so.0
+    # Move Python bindings into a separate output.
+    moveToOutput ${python.sitePackages} "$python"
   '';
 
   meta = with stdenv.lib; {
     description = "API for interfacing with the Linux Industrial I/O Subsystem";
-    homepage    = "https://github.com/analogdevicesinc/libiio";
-    license     = licenses.lgpl21;
-    platforms   = platforms.linux;
+    homepage = "https://github.com/analogdevicesinc/libiio";
+    license = licenses.lgpl21Plus;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ thoughtpolice ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libiio/hardcode-library-path.patch b/nixpkgs/pkgs/development/libraries/libiio/hardcode-library-path.patch
new file mode 100644
index 000000000000..dad35851cdc6
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libiio/hardcode-library-path.patch
@@ -0,0 +1,38 @@
+diff --git a/bindings/python/iio.py b/bindings/python/iio.py
+index 5306daa..f8962ee 100644
+--- a/bindings/python/iio.py
++++ b/bindings/python/iio.py
+@@ -229,9 +229,9 @@ if "Windows" in _system():
+     _iiolib = "libiio.dll"
+ else:
+     # Non-windows, possibly Posix system
+-    _iiolib = "iio"
++    _iiolib = "@libiio@"
+ 
+-_lib = _cdll(find_library(_iiolib), use_errno=True, use_last_error=True)
++_lib = _cdll(_iiolib, use_errno=True, use_last_error=True)
+ 
+ _get_backends_count = _lib.iio_get_backends_count
+ _get_backends_count.restype = c_uint
+diff --git a/bindings/python/setup.py.cmakein b/bindings/python/setup.py.cmakein
+index cd14e2e..516c409 100644
+--- a/bindings/python/setup.py.cmakein
++++ b/bindings/python/setup.py.cmakein
+@@ -62,7 +62,7 @@ class InstallWrapper(install):
+             _iiolib = "libiio.dll"
+         else:
+             # Non-windows, possibly Posix system
+-            _iiolib = "iio"
++            _iiolib = "@libiio@"
+         try:
+             import os
+ 
+@@ -72,7 +72,7 @@ class InstallWrapper(install):
+                 fulllibpath = find_recursive(destdir, "libiio.so")
+                 _lib = _cdll(fulllibpath, use_errno=True, use_last_error=True)
+             else:
+-                _lib = _cdll(find_library(_iiolib), use_errno=True, use_last_error=True)
++                _lib = _cdll(_iiolib, use_errno=True, use_last_error=True)
+             if not _lib._name:
+                 raise OSError
+         except OSError:
diff --git a/nixpkgs/pkgs/development/libraries/libinput/default.nix b/nixpkgs/pkgs/development/libraries/libinput/default.nix
index 148d334b946a..576a2fec921a 100644
--- a/nixpkgs/pkgs/development/libraries/libinput/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libinput/default.nix
@@ -27,11 +27,11 @@ in
 with stdenv.lib;
 stdenv.mkDerivation rec {
   pname = "libinput";
-  version = "1.15.5";
+  version = "1.16.1";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libinput/${pname}-${version}.tar.xz";
-    sha256 = "15ww4jl3lcxyi8m8idg8canklbqv729gnwpkz7r98c1w8a7zq3m9";
+    sha256 = "e6fRru3RUWi7IdF+nmKKocJ5V5Y6Qjo/6jk4pQF1hTk=";
   };
 
   outputs = [ "bin" "out" "dev" ];
diff --git a/nixpkgs/pkgs/development/libraries/libinsane/default.nix b/nixpkgs/pkgs/development/libraries/libinsane/default.nix
index 0b0f1b36edce..cbc4c001b151 100644
--- a/nixpkgs/pkgs/development/libraries/libinsane/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libinsane/default.nix
@@ -17,7 +17,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libinsane";
-  version = "1.0.4";
+  version = "1.0.7";
 
   outputs = [ "out" "dev" "devdoc" ];
 
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     group = "World";
     owner = "OpenPaperwork";
     rev = version;
-    sha256 = "1qk0s4m87yqa75h27bl7m03g4gamln43wn4159h7dcnwc36hdzw6";
+    sha256 = "03r6niyzfahnlpvhn68h59i6926ciwz88krqbf0akd9f42y9zf2k";
   };
 
   nativeBuildInputs = [ meson pkg-config ninja doxygen gtk-doc docbook_xsl gobject-introspection vala ];
diff --git a/nixpkgs/pkgs/development/libraries/libipt/default.nix b/nixpkgs/pkgs/development/libraries/libipt/default.nix
index cb4db488dc42..79ae927fc24b 100644
--- a/nixpkgs/pkgs/development/libraries/libipt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libipt/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libipt";
-  version = "2.0.1";
+  version = "2.0.2";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "libipt";
     rev = "v${version}";
-    sha256 = "19y1lk5z1rf8xmr08m8zrpjkgr5as83b96xyaxwn67m2wz58mpmh";
+    sha256 = "095agnk7r2sq5yas6c1ri8fmsl55n4l5hkl6j5l397p9nxvxvrkc";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/libjpeg-turbo/default.nix b/nixpkgs/pkgs/development/libraries/libjpeg-turbo/default.nix
index 72d8b9677499..36838341fe21 100644
--- a/nixpkgs/pkgs/development/libraries/libjpeg-turbo/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libjpeg-turbo/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, cmake, nasm, enableStatic ? false }:
+{ stdenv, fetchurl, fetchpatch, cmake, nasm, enableStatic ? false, enableShared ? true }:
 
 stdenv.mkDerivation rec {
 
@@ -18,6 +18,12 @@ stdenv.mkDerivation rec {
         url = "https://github.com/libjpeg-turbo/libjpeg-turbo/commit/a2291b252de1413a13db61b21863ae7aea0946f3.patch";
         sha256 = "0nc5vcch5h52gpi07h08zf8br58q8x81q2hv871hrn0dinb53vym";
       })
+
+      (fetchpatch {
+        name = "cve-2020-13790.patch";
+        url = "https://github.com/libjpeg-turbo/libjpeg-turbo/commit/3de15e0c344d.diff";
+        sha256 = "0hm5i6qir5w3zxb0xvqdh4jyvbfg7xnd28arhyfsaclfz9wdb0pb";
+      })
     ] ++
     stdenv.lib.optional (stdenv.hostPlatform.libc or null == "msvcrt")
       ./mingw-boolean.patch;
@@ -28,6 +34,7 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DENABLE_STATIC=${if enableStatic then "1" else "0"}"
+    "-DENABLE_SHARED=${if enableShared then "1" else "0"}"
   ];
 
   doInstallCheck = true;
diff --git a/nixpkgs/pkgs/development/libraries/libkml/default.nix b/nixpkgs/pkgs/development/libraries/libkml/default.nix
index d619101c2331..690d9b9801ca 100644
--- a/nixpkgs/pkgs/development/libraries/libkml/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libkml/default.nix
@@ -26,6 +26,9 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DBUILD_TESTING=ON"
+  # Darwin tests require rpath for libs in build dir
+  ] ++ stdenv.lib.optional stdenv.isDarwin [
+    "-DCMAKE_SKIP_BUILD_RPATH=OFF"
   ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/libksba/default.nix b/nixpkgs/pkgs/development/libraries/libksba/default.nix
index 2f0da5edf4e1..d627bf81cba2 100644
--- a/nixpkgs/pkgs/development/libraries/libksba/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libksba/default.nix
@@ -1,11 +1,11 @@
 { buildPackages, stdenv, fetchurl, gettext, libgpgerror }:
 
 stdenv.mkDerivation rec {
-  name = "libksba-1.3.5";
+  name = "libksba-1.4.0";
 
   src = fetchurl {
     url = "mirror://gnupg/libksba/${name}.tar.bz2";
-    sha256 = "0h53q4sns1jz1pkmhcz5wp9qrfn9f5g9i3vjv6dafwzzlvblyi21";
+    sha256 = "1dj1razn35srkgadx3i30yr0q037cr0dn54m6a54vxgh3zlsirmz";
   };
 
   outputs = [ "out" "dev" "info" ];
diff --git a/nixpkgs/pkgs/development/libraries/liblinear/default.nix b/nixpkgs/pkgs/development/libraries/liblinear/default.nix
index af09b1241de6..86d306d0a07f 100644
--- a/nixpkgs/pkgs/development/libraries/liblinear/default.nix
+++ b/nixpkgs/pkgs/development/libraries/liblinear/default.nix
@@ -1,35 +1,37 @@
-{ stdenv, fetchurl, fixDarwinDylibNames }:
+{ stdenv, fetchFromGitHub, fixDarwinDylibNames }:
 
-stdenv.mkDerivation rec {
+let
+  soVersion = "4";
+in stdenv.mkDerivation rec {
   pname = "liblinear";
-  version = "2.30";
+  version = "2.41";
 
-  src = fetchurl {
-    url = "https://www.csie.ntu.edu.tw/~cjlin/liblinear/liblinear-${version}.tar.gz";
-    sha256 = "1b66jpg9fdwsq7r52fccr8z7nqcivrin5d8zg2f134ygqqwp0748";
+  src = fetchFromGitHub {
+    owner = "cjlin1";
+    repo = "liblinear";
+    rev = "v${builtins.replaceStrings ["."] [""] version}";
+    sha256 = "1mykrzka2wxnvvjh21hisabs5fsxqzdhkxw9m08h24c58vfiwsd8";
   };
 
-  buildPhase = ''
-    make
-    make lib
-  '';
+  outputs = [ "bin" "dev" "out" ];
+
+  nativeBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ fixDarwinDylibNames ];
+
+  buildFlags = [ "lib" "predict" "train" ];
 
   installPhase = ''
-    mkdir -p $out/lib $out/bin $out/include
     ${if stdenv.isDarwin then ''
-      cp liblinear.so.3 $out/lib/liblinear.3.dylib
-      ln -s $out/lib/liblinear.3.dylib $out/lib/liblinear.dylib
+      install -D liblinear.so.${soVersion} $out/lib/liblinear.${soVersion}.dylib
+      ln -s $out/lib/liblinear.${soVersion}.dylib $out/lib/liblinear.dylib
     '' else ''
-      cp liblinear.so.3 $out/lib/liblinear.so.3
-      ln -s $out/lib/liblinear.so.3 $out/lib/liblinear.so
+      install -Dt $out/lib liblinear.so.${soVersion}
+      ln -s $out/lib/liblinear.so.${soVersion} $out/lib/liblinear.so
     ''}
-    cp train $out/bin/liblinear-train
-    cp predict $out/bin/liblinear-predict
-    cp linear.h $out/include
+    install -D train $bin/bin/liblinear-train
+    install -D predict $bin/bin/liblinear-predict
+    install -Dm444 -t $dev/include linear.h
   '';
 
-  nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin [ fixDarwinDylibNames ];
-
   meta = with stdenv.lib; {
     description = "A library for large linear classification";
     homepage = "https://www.csie.ntu.edu.tw/~cjlin/liblinear/";
diff --git a/nixpkgs/pkgs/development/libraries/liblouis/default.nix b/nixpkgs/pkgs/development/libraries/liblouis/default.nix
index 5d0459b4f308..c394e3dc4d54 100644
--- a/nixpkgs/pkgs/development/libraries/liblouis/default.nix
+++ b/nixpkgs/pkgs/development/libraries/liblouis/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "liblouis";
-  version = "3.14.0";
+  version = "3.15.0";
 
   src = fetchFromGitHub {
     owner = "liblouis";
     repo = "liblouis";
     rev = "v${version}";
-    sha256 = "0v6w8b9r994mkkbm2gqgd7k5yfmdhgbabh0j1gmn375nyvhy4qqh";
+    sha256 = "1ljy5xsy7vf2r0ix0d7bqcr6qvr6897f8madsx9zlm1mrj31n5px";
   };
 
   outputs = [ "out" "dev" "man" "info" "doc" ];
diff --git a/nixpkgs/pkgs/development/libraries/libmatroska/default.nix b/nixpkgs/pkgs/development/libraries/libmatroska/default.nix
index 2d56a6db766e..5d065636a922 100644
--- a/nixpkgs/pkgs/development/libraries/libmatroska/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmatroska/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libmatroska";
-  version = "1.5.2";
+  version = "1.6.2";
 
   src = fetchFromGitHub {
     owner  = "Matroska-Org";
     repo   = "libmatroska";
     rev    = "release-${version}";
-    sha256 = "057iib6p62x31g1ikdjsjzmqzjlajqx6p74h7y4r524pzgb27fzy";
+    sha256 = "0yhr9hhgljva1fx3b0r4s3wkkypdfgsysbl35a4g3krkbhaa9rsd";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/libmaxminddb/default.nix b/nixpkgs/pkgs/development/libraries/libmaxminddb/default.nix
index 493f1b5ce614..94a4b9ec57c6 100644
--- a/nixpkgs/pkgs/development/libraries/libmaxminddb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmaxminddb/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmaxminddb";
-  version = "1.4.2";
+  version = "1.4.3";
 
   src = fetchurl {
     url = meta.homepage + "/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0mnimbaxnnarlw7g1rh8lpxsyf7xnmzwcczcc3lxw8xyf6ljln6x";
+    sha256 = "0fd4a4sxiiwzbd5h74wl1ijnb7xybjyybb7q41vdq3w8nk3zdzd5";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/libraries/libmbim/default.nix b/nixpkgs/pkgs/development/libraries/libmbim/default.nix
index 9e40133170aa..0e9a3784f383 100644
--- a/nixpkgs/pkgs/development/libraries/libmbim/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmbim/default.nix
@@ -1,23 +1,33 @@
-{ stdenv, fetchurl, pkgconfig, glib, python3, systemd, libgudev }:
+{ stdenv
+, fetchurl
+, pkg-config
+, gobject-introspection
+, glib
+, python3
+, systemd
+, libgudev
+}:
 
 stdenv.mkDerivation rec {
   pname = "libmbim";
-  version = "1.22.0";
+  version = "1.24.2";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libmbim/${pname}-${version}.tar.xz";
-    sha256 = "0f0zmbvnhdsqbf3hw5bimq67n57mhd8yad1ia823cb6i3kmph1sw";
+    sha256 = "1r41d4yddp8rgccxrkz9vg5lbrj3dr5vy71d8igrr147k44qq69j";
   };
 
   outputs = [ "out" "dev" "man" ];
 
   configureFlags = [
     "--with-udev-base-dir=${placeholder "out"}/lib/udev"
+    "--enable-introspection"
   ];
 
   nativeBuildInputs = [
-    pkgconfig
+    pkg-config
     python3
+    gobject-introspection
   ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/libmediainfo/default.nix b/nixpkgs/pkgs/development/libraries/libmediainfo/default.nix
index ab7bb7e6cb9f..e6650db85cc7 100644
--- a/nixpkgs/pkgs/development/libraries/libmediainfo/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmediainfo/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "20.03";
+  version = "20.08";
   pname = "libmediainfo";
   src = fetchurl {
     url = "https://mediaarea.net/download/source/libmediainfo/${version}/libmediainfo_${version}.tar.xz";
-    sha256 = "0wkzj5s34m8dvy7hif4h8f90q8ncrzd930gij1zzw3h5nw732j38";
+    sha256 = "19n8h9jq42b6r3dbag77fzwfksfywszmzpi636w87fvc1nqldlqj";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/libmicrohttpd/default.nix b/nixpkgs/pkgs/development/libraries/libmicrohttpd/default.nix
index c160b678be74..4a7a228150ce 100644
--- a/nixpkgs/pkgs/development/libraries/libmicrohttpd/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmicrohttpd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmicrohttpd";
-  version = "0.9.70";
+  version = "0.9.71";
 
   src = fetchurl {
     url = "mirror://gnu/libmicrohttpd/${pname}-${version}.tar.gz";
-    sha256 = "01vkjy89b1ylmh22dy5yza2r414nfwcfixxh3v29nvzrjv9s7l4h";
+    sha256 = "10mii4mifmfs3v7kgciqml7f0fj7ljp0sngrx64pnwmgbzl4bx78";
   };
 
   outputs = [ "out" "dev" "devdoc" "info" ];
diff --git a/nixpkgs/pkgs/development/libraries/libmodulemd/1.nix b/nixpkgs/pkgs/development/libraries/libmodulemd/1.nix
deleted file mode 100644
index 174296375e08..000000000000
--- a/nixpkgs/pkgs/development/libraries/libmodulemd/1.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ libmodulemd, fetchurl }:
-
-libmodulemd.overrideAttrs(old: rec {
-  name = "libmodulemd-${version}";
-  version = "1.8.15";
-
-  # Removes py output since there's no overrides here
-  outputs = [ "out" "devdoc" ];
-
-  patches = [
-    # Checks for glib docs in glib's prefix
-    # but they're installed to another
-    ./dont-check-docs.patch
-  ];
-
-  src = fetchurl {
-    url = "https://github.com/fedora-modularity/libmodulemd/releases/download/${name}/modulemd-${version}.tar.xz";
-    sha256 = "0gz8p3qzji3cx0r57sy3gn4dhigg4k7pcxj3lmjcjn13vxh5rm7z";
-  };
-
-})
diff --git a/nixpkgs/pkgs/development/libraries/libmodulemd/dont-check-docs.patch b/nixpkgs/pkgs/development/libraries/libmodulemd/dont-check-docs.patch
deleted file mode 100644
index 38ad5683692b..000000000000
--- a/nixpkgs/pkgs/development/libraries/libmodulemd/dont-check-docs.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff --git a/meson.build b/meson.build
-index 155c9e7..9125372 100644
---- a/meson.build
-+++ b/meson.build
-@@ -60,15 +60,15 @@ sh = find_program('sh')
- sed = find_program('sed')
- test = find_program('test')
- 
--ret = run_command ([test, '-e', join_paths(glib_docpath, 'glib/index.html')])
--if ret.returncode() != 0
--  error('Missing documentation for GLib.')
--endif
--
--ret = run_command ([test, '-e', join_paths(glib_docpath, 'gobject/index.html')])
--if ret.returncode() != 0
--  error('Missing documentation for GObject.')
--endif
-+# ret = run_command ([test, '-e', join_paths(glib_docpath, 'glib/index.html')])
-+# if ret.returncode() != 0
-+#   error('Missing documentation for GLib.')
-+# endif
-+
-+# ret = run_command ([test, '-e', join_paths(glib_docpath, 'gobject/index.html')])
-+# if ret.returncode() != 0
-+#   error('Missing documentation for GObject.')
-+# endif
- 
- python_name = get_option('python_name')
- 
diff --git a/nixpkgs/pkgs/development/libraries/libmpc/default.nix b/nixpkgs/pkgs/development/libraries/libmpc/default.nix
index c0459e393fa7..79fa17437819 100644
--- a/nixpkgs/pkgs/development/libraries/libmpc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmpc/default.nix
@@ -8,7 +8,7 @@
 # files.
 
 let
-  version = "1.1.0";
+  version = "1.2.0";
 in
 stdenv.mkDerivation {
   pname = "libmpc";
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://gnu/mpc/mpc-${version}.tar.gz";
-    sha256 = "0biwnhjm3rx3hc0rfpvyniky4lpzsvdcwhmcn7f0h4iw2hwcb1b9";
+    sha256 = "19pxx3gwhwl588v496g3aylhcw91z1dk1d5x3a8ik71sancjs3z9";
   };
 
   buildInputs = [ gmp mpfr ];
diff --git a/nixpkgs/pkgs/development/libraries/libmysqlconnectorcpp/default.nix b/nixpkgs/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
index 71fbda7b4713..ecec1e79492c 100644
--- a/nixpkgs/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmysqlconnectorcpp";
-  version = "8.0.20";
+  version = "8.0.21";
 
   src = fetchurl {
     url = "https://cdn.mysql.com/Downloads/Connector-C++/mysql-connector-c++-${version}-src.tar.gz";
-    sha256 = "1jrrbfy6sw4pni72c1hgvchx1zzfpnamp34sjnv82mlvsp8ypsjh";
+    sha256 = "08z40419aip26z6ss30g59mvnddb8dfam82l556jyj3gxs0irqbh";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/libndctl/default.nix b/nixpkgs/pkgs/development/libraries/libndctl/default.nix
index 7a8d1877bc7e..7c4c49baffab 100644
--- a/nixpkgs/pkgs/development/libraries/libndctl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libndctl/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libndctl";
-  version = "68";
+  version = "69";
 
   src = fetchFromGitHub {
     owner  = "pmem";
     repo   = "ndctl";
     rev    = "v${version}";
-    sha256 = "0xmim7z4qp6x2ggndnbwd940c73pa1qlf3hxyn3qh5pyr69nh9y8";
+    sha256 = "1l7p0ycj27d4z07gf9qp796xpg16kfsg3rwx6plhilbhip1as4w7";
   };
 
   outputs = [ "out" "lib" "man" "dev" ];
diff --git a/nixpkgs/pkgs/development/libraries/libndtypes/default.nix b/nixpkgs/pkgs/development/libraries/libndtypes/default.nix
index ffb2f56d67e0..d27c1ba376d1 100644
--- a/nixpkgs/pkgs/development/libraries/libndtypes/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libndtypes/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation {
   pname = "libndtypes";
-  version = "unstable-2018-11-27";
+  version = "unstable-2019-08-01";
 
   src = fetchFromGitHub {
-    owner = "plures";
+    owner = "xnd-project";
     repo = "ndtypes";
-    rev = "4d810d0c4d54c81a7136f313f0ae6623853d574a";
-    sha256 = "1kk1sa7f17ffh49jc1qlizlsj536fr3s4flb6x4rjyi81rp7psb9";
+    rev = "3ce6607c96d8fe67b72cc0c97bf595620cdd274e";
+    sha256 = "18303q0jfar1lmi4krp94plczb455zcgw772f9lb8xa5p0bkhx01";
   };
 
   # Override linker with cc (symlink to either gcc or clang)
diff --git a/nixpkgs/pkgs/development/libraries/libnftnl/default.nix b/nixpkgs/pkgs/development/libraries/libnftnl/default.nix
index 4aac04a4d028..f9def04f99b7 100644
--- a/nixpkgs/pkgs/development/libraries/libnftnl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libnftnl/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, libmnl }:
 
 stdenv.mkDerivation rec {
-  version = "1.1.5";
+  version = "1.1.7";
   pname = "libnftnl";
 
   src = fetchurl {
     url = "https://netfilter.org/projects/${pname}/files/${pname}-${version}.tar.bz2";
-    sha256 = "1wqlxf76bkqf3qhka9sw32qhb2ni20q1k6rn3iril2kw482lvpk6";
+    sha256 = "13zd90bfrr0q3j0l0cbc8kiizccw6n8gp727kqnfljh024zw3nr0";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/libngspice/default.nix b/nixpkgs/pkgs/development/libraries/libngspice/default.nix
index 3f5ba26d5a4b..e1b9e4f0bdca 100644
--- a/nixpkgs/pkgs/development/libraries/libngspice/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libngspice/default.nix
@@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
     homepage = "http://ngspice.sourceforge.net";
     license = with licenses; [ bsd3 gpl2Plus lgpl2Plus ]; # See https://sourceforge.net/p/ngspice/ngspice/ci/master/tree/COPYING
     maintainers = with maintainers; [ bgamari ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libnsl/default.nix b/nixpkgs/pkgs/development/libraries/libnsl/default.nix
index 1e925eb7b476..76aa3c99e335 100644
--- a/nixpkgs/pkgs/development/libraries/libnsl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libnsl/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libnsl";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "thkukuk";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1chzqhcgh0yia9js8mh92cmhyka7rh32ql6b3mgdk26n94dqzs8b";
+    sha256 = "1dayj5i4bh65gn7zkciacnwv2a0ghm6nn58d78rsi4zby4lyj5w5";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/liboping/default.nix b/nixpkgs/pkgs/development/libraries/liboping/default.nix
index 1b2d83b84d0a..956538b76240 100644
--- a/nixpkgs/pkgs/development/libraries/liboping/default.nix
+++ b/nixpkgs/pkgs/development/libraries/liboping/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ncurses ? null, perl ? null }:
+{ stdenv, fetchurl, ncurses ? null, perl ? null, lib }:
 
 stdenv.mkDerivation rec {
   name = "liboping-1.10.0";
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "1n2wkmvw6n80ybdwkjq8ka43z2x8mvxq49byv61b52iyz69slf7b";
   };
 
-  NIX_CFLAGS_COMPILE = "-Wno-error=format-truncation";
+  NIX_CFLAGS_COMPILE = lib.optionalString
+    stdenv.cc.isGNU "-Wno-error=format-truncation";
 
   buildInputs = [ ncurses perl ];
 
diff --git a/nixpkgs/pkgs/development/libraries/libosmium/default.nix b/nixpkgs/pkgs/development/libraries/libosmium/default.nix
index 29edf37d80ef..830465fb113c 100644
--- a/nixpkgs/pkgs/development/libraries/libosmium/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libosmium/default.nix
@@ -2,18 +2,20 @@
 
 stdenv.mkDerivation rec {
   pname = "libosmium";
-  version = "2.15.5";
+  version = "2.15.6";
 
   src = fetchFromGitHub {
     owner = "osmcode";
     repo = "libosmium";
     rev = "v${version}";
-    sha256 = "1f21dzzkxzi74hv17fs9kb2w6indqvvm4lkxclz4j4x98k8q3n59";
+    sha256 = "0rqy18bbakp41f44y5id9ixh0ar2dby46z17p4115z8k1vv9znq2";
   };
 
   nativeBuildInputs = [ cmake ];
+
   buildInputs = [ protozero zlib bzip2 expat boost ];
 
+  doCheck = true;
 
   meta = with stdenv.lib; {
     description = "Fast and flexible C++ library for working with OpenStreetMap data";
diff --git a/nixpkgs/pkgs/development/libraries/libpcap/default.nix b/nixpkgs/pkgs/development/libraries/libpcap/default.nix
index d9cb91e4fb3b..604fd3ee4465 100644
--- a/nixpkgs/pkgs/development/libraries/libpcap/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libpcap/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     ++ optionals withBluez [ bluez.dev pkgconfig ];
 
   # We need to force the autodetection because detection doesn't
-  # work in pure build enviroments.
+  # work in pure build environments.
   configureFlags = [
     ("--with-pcap=" + {
       linux = "linux";
@@ -29,7 +29,9 @@ stdenv.mkDerivation rec {
   '';
 
   postInstall = ''
-    rm -f $out/lib/libpcap.a
+    if [ "$dontDisableStatic" -ne "1" ]; then
+      rm -f $out/lib/libpcap.a
+    fi
   '';
 
   meta = {
diff --git a/nixpkgs/pkgs/development/libraries/libpfm/default.nix b/nixpkgs/pkgs/development/libraries/libpfm/default.nix
index 3398d3feb94f..b29aeb2930a7 100644
--- a/nixpkgs/pkgs/development/libraries/libpfm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libpfm/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, enableShared ? true }:
 
 stdenv.mkDerivation (rec {
-  version = "4.10.1";
+  version = "4.11.0";
   pname = "libpfm";
 
   src = fetchurl {
     url = "mirror://sourceforge/perfmon2/libpfm4/${pname}-${version}.tar.gz";
-    sha256 = "0jabhjx77yppr7x38bkfww6n2a480gj62rw0qp7prhdmg19mf766";
+    sha256 = "1k7yp6xfsglp2b6271r622sjinlbys0dk24n9iiv656y5f3zi9ax";
   };
 
   makeFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/libpipeline/default.nix b/nixpkgs/pkgs/development/libraries/libpipeline/default.nix
index bf80562a0b19..be3ab953c0a5 100644
--- a/nixpkgs/pkgs/development/libraries/libpipeline/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libpipeline/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libpipeline-1.5.1";
+  name = "libpipeline-1.5.3";
 
   src = fetchurl {
     url = "mirror://savannah/libpipeline/${name}.tar.gz";
-    sha256 = "0bwh5xz5f2czwb7f564jz1mp4znm8pldnvf65fs0hpw4gmmp0cyn";
+    sha256 = "1c5dl017xil2ssb6a5vg927bnsbc9vymfgi9ahvqbb8gypx0igsx";
   };
 
   patches = stdenv.lib.optionals stdenv.isDarwin [ ./fix-on-osx.patch ];
diff --git a/nixpkgs/pkgs/development/libraries/libplacebo/default.nix b/nixpkgs/pkgs/development/libraries/libplacebo/default.nix
index cee6d3f1845b..dc3e5e30c743 100644
--- a/nixpkgs/pkgs/development/libraries/libplacebo/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libplacebo/default.nix
@@ -1,33 +1,47 @@
 { stdenv
 , fetchFromGitLab
+, fetchpatch
 , meson
 , ninja
-, pkgconfig
+, pkg-config
+, python3Packages
 , vulkan-headers
 , vulkan-loader
 , shaderc
 , glslang
 , lcms2
+, epoxy
 }:
 
 stdenv.mkDerivation rec {
   pname = "libplacebo";
-  version = "1.29.1";
+  version = "2.72.0";
 
   src = fetchFromGitLab {
     domain = "code.videolan.org";
     owner = "videolan";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1ly5bwy0pwgvqigpaak8hnig5hksjwf0pzvj3mdv3j2f6f7ya2zz";
+    sha256 = "1yhf9xyxdawbihsx89dpjlac800wrmpwx63rphad2nj225y9q40f";
   };
 
-  postPatch = "substituteInPlace meson.build --replace 1.29.0 1.29.1";
+  patches = [
+    # to work with latest glslang, remove on release >2.72.0
+    (fetchpatch {
+      url = "https://code.videolan.org/videolan/libplacebo/-/commit/523056828ab86c2f17ea65f432424d48b6fdd389.patch";
+      sha256 = "051vhd0l3yad1fzn5zayi08kqs9an9j8p7m63kgqyfv1ksnydpcs";
+    })
+    (fetchpatch {
+      url = "https://code.videolan.org/videolan/libplacebo/-/commit/82e3be1839379791b58e98eb049415b42888d5b0.patch";
+      sha256 = "0nklj9gfiwkbbj6wfm1ck33hphaxrvzb84c4h2nfj88bapnlm90l";
+    })
+  ];
 
   nativeBuildInputs = [
     meson
     ninja
-    pkgconfig
+    pkg-config
+    python3Packages.Mako
   ];
 
   buildInputs = [
@@ -36,13 +50,25 @@ stdenv.mkDerivation rec {
     shaderc
     glslang
     lcms2
+    epoxy
+  ];
+
+  mesonFlags = [
+    "-Dvulkan-registry=${vulkan-headers}/share/vulkan/registry/vk.xml"
   ];
 
   meta = with stdenv.lib; {
     description = "Reusable library for GPU-accelerated video/image rendering primitives";
+    longDescription = ''
+      Reusable library for GPU-accelerated image/view processing primitives and
+      shaders, as well a batteries-included, extensible, high-quality rendering
+      pipeline (similar to mpv's vo_gpu). Supports Vulkan, OpenGL and Metal (via
+      MoltenVK).
+    '';
     homepage = "https://code.videolan.org/videolan/libplacebo";
+    changelog = "https://code.videolan.org/videolan/libplacebo/-/tags/v${version}";
     license = licenses.lgpl21Plus;
-    maintainers = with maintainers; [ tadeokondrak ];
+    maintainers = with maintainers; [ primeos tadeokondrak ];
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libpqxx/default.nix b/nixpkgs/pkgs/development/libraries/libpqxx/default.nix
index a710e09a454f..feb9c7e65147 100644
--- a/nixpkgs/pkgs/development/libraries/libpqxx/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libpqxx/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     description = "A C++ library to access PostgreSQL databases";
     homepage = "http://pqxx.org/development/libpqxx/";
     license = lib.licenses.bsd3;
-    platforms = lib.platforms.linux;
+    platforms = lib.platforms.unix;
     maintainers = [ lib.maintainers.eelco ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libpwquality/default.nix b/nixpkgs/pkgs/development/libraries/libpwquality/default.nix
index bd45cb529f1a..5d83b137b8e6 100644
--- a/nixpkgs/pkgs/development/libraries/libpwquality/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libpwquality/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, autoreconfHook, perl, cracklib, python3 }:
+{ stdenv, lib, fetchFromGitHub, autoreconfHook, perl, cracklib, python3, fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "libpwquality";
@@ -11,8 +11,21 @@ stdenv.mkDerivation rec {
     sha256 = "0n4pjhm7wfivk0wizggaxq4y4mcxic876wcarjabkp5z9k14y36h";
   };
 
-  nativeBuildInputs = [ autoreconfHook perl ];
-  buildInputs = [ cracklib python3 ];
+  nativeBuildInputs = [ autoreconfHook perl python3 ];
+  buildInputs = [ cracklib ];
+
+  patches = lib.optional stdenv.hostPlatform.isStatic [
+    (fetchpatch {
+      name = "static-build.patch";
+      url = "https://github.com/libpwquality/libpwquality/pull/40.patch";
+      sha256 = "1ypccq437wxwgddd98cvd330jfm7jscdlzlyxgy05g6yzrr68xyk";
+    })
+  ];
+
+  configureFlags = lib.optional stdenv.hostPlatform.isStatic [
+    # Python binding generates a shared library which are unavailable with musl build
+    "--disable-python-bindings"
+  ];
 
   meta = with lib; {
     description = "Password quality checking and random password generation library";
diff --git a/nixpkgs/pkgs/development/libraries/libqalculate/default.nix b/nixpkgs/pkgs/development/libraries/libqalculate/default.nix
index 8acfcb4b7513..11816beee040 100644
--- a/nixpkgs/pkgs/development/libraries/libqalculate/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libqalculate/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libqalculate";
-  version = "3.8.0";
+  version = "3.13.0";
 
   src = fetchFromGitHub {
     owner = "qalculate";
     repo = "libqalculate";
     rev = "v${version}";
-    sha256 = "1vbaza9c7159xf2ym90l0xkyj2mp6c3hbghhsqn29yvz08fda9df";
+    sha256 = "0nd0hrnp0a9p7hy6l6s45kfd267r7qg91aqn8g2dyam5hngskayk";
   };
 
   outputs = [ "out" "dev" "doc" ];
diff --git a/nixpkgs/pkgs/development/libraries/libqmi/default.nix b/nixpkgs/pkgs/development/libraries/libqmi/default.nix
index ec72578ba278..e8db7501534c 100644
--- a/nixpkgs/pkgs/development/libraries/libqmi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libqmi/default.nix
@@ -1,22 +1,24 @@
-{ stdenv, fetchurl, pkgconfig, glib, python3, libgudev, libmbim }:
+{ stdenv, fetchurl, pkg-config, gobject-introspection, glib, python3, libgudev, libmbim }:
 
 stdenv.mkDerivation rec {
   pname = "libqmi";
-  version = "1.24.12";
+  version = "1.26.2";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libqmi/${pname}-${version}.tar.xz";
-    sha256 = "0scb8a2kh0vnzx6kxanfy2s2slnfppvrwg202rxv30m8p2i92frd";
+    sha256 = "00vvvfq74awg6mk0si1cdv79f6z6wqx11h47nl78a1h7zsr6fd0k";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
 
   configureFlags = [
     "--with-udev-base-dir=${placeholder "out"}/lib/udev"
+    "--enable-introspection"
   ];
 
   nativeBuildInputs = [
-    pkgconfig
+    pkg-config
+    gobject-introspection
     python3
   ];
 
diff --git a/nixpkgs/pkgs/development/libraries/libqtav/default.nix b/nixpkgs/pkgs/development/libraries/libqtav/default.nix
index 00a87402fa3f..fc577d7e5082 100644
--- a/nixpkgs/pkgs/development/libraries/libqtav/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libqtav/default.nix
@@ -1,7 +1,7 @@
 { mkDerivation, lib, fetchFromGitHub, extra-cmake-modules
 , qtbase, qtmultimedia, qtquick1, qttools
 , libGL, libX11
-, libass, openal, ffmpeg_3, libuchardet
+, libass, openal, ffmpeg, libuchardet
 , alsaLib, libpulseaudio, libva
 }:
 
@@ -9,19 +9,19 @@ with lib;
 
 mkDerivation rec {
   pname = "libqtav";
-  version = "1.12.0";
+  version = "git-2020-09-10";
 
   nativeBuildInputs = [ extra-cmake-modules qttools ];
   buildInputs = [
     qtbase qtmultimedia qtquick1
     libGL libX11
-    libass openal ffmpeg_3 libuchardet
+    libass openal ffmpeg libuchardet
     alsaLib libpulseaudio libva
   ];
 
   src = fetchFromGitHub {
-    sha256 = "03ii9l38l3fsr27g42fx4151ipzkip2kr4akdr8x28sx5r9rr5m2";
-    rev = "v${version}";
+    sha256 = "0qwrk40dihkbwmm7krz6qaqyn9v3qdjnd2k9b4s3a67x4403pib3";
+    rev = "2a470d2a8d2fe22fae969bee5d594909a07b350a";
     repo = "QtAV";
     owner = "wang-bin";
     fetchSubmodules = true;
@@ -48,4 +48,3 @@ mkDerivation rec {
     platforms = platforms.linux;
   };
 }
-
diff --git a/nixpkgs/pkgs/development/libraries/libraw/default.nix b/nixpkgs/pkgs/development/libraries/libraw/default.nix
index 69169c7e9af7..b190d36acb52 100644
--- a/nixpkgs/pkgs/development/libraries/libraw/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libraw/default.nix
@@ -1,21 +1,16 @@
-{ stdenv, fetchurl, lcms2, pkgconfig
-, jasper ? null, withJpeg2k ? false
-# disable JPEG2000 support by default as jasper has many CVE
-}:
+{ stdenv, fetchurl, lcms2, pkgconfig }:
 
 stdenv.mkDerivation rec {
   pname = "libraw";
-  version = "0.19.5";
+  version = "0.20.0";
 
   src = fetchurl {
     url = "https://www.libraw.org/data/LibRaw-${version}.tar.gz";
-    sha256 = "1x827sh6vl8j3ll2ihkcr234y07f31hi1v7sl08jfw3irkbn58j0";
+    sha256 = "18wlsvj6c1rv036ph3695kknpgzc3lk2ikgshy8417yfl8ykh2hz";
   };
 
   outputs = [ "out" "lib" "dev" "doc" ];
 
-  buildInputs = stdenv.lib.optionals withJpeg2k [ jasper ];
-
   propagatedBuildInputs = [ lcms2 ];
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/librealsense/default.nix b/nixpkgs/pkgs/development/libraries/librealsense/default.nix
index 21f80f80efa0..55171cd3de4e 100644
--- a/nixpkgs/pkgs/development/libraries/librealsense/default.nix
+++ b/nixpkgs/pkgs/development/libraries/librealsense/default.nix
@@ -1,8 +1,13 @@
-{ stdenv, fetchFromGitHub, cmake, libusb1, ninja, pkgconfig }:
+{ stdenv, config, lib, fetchFromGitHub, cmake, libusb1, ninja, pkgconfig, gcc
+, cudaSupport ? config.cudaSupport or false, cudatoolkit
+, enablePython ? false, pythonPackages ? null }:
+
+assert cudaSupport -> cudatoolkit != null;
+assert enablePython -> pythonPackages != null;
 
 stdenv.mkDerivation rec {
   pname = "librealsense";
-  version = "2.35.2";
+  version = "2.38.0";
 
   outputs = [ "out" "dev" ];
 
@@ -10,11 +15,17 @@ stdenv.mkDerivation rec {
     owner = "IntelRealSense";
     repo = pname;
     rev = "v${version}";
-    sha256 = "14vf76vlyhh7b4yjzsnqpg1x3wdhwxrf1syvgf8wyxbjwb9plw82";
+    sha256 = "12rs0gklgzn8bplqjmaxixk04pr870i333mmcp9i5bhkn8x86zbx";
   };
 
   buildInputs = [
     libusb1
+    gcc.cc.lib
+  ] ++ lib.optional cudaSupport cudatoolkit
+    ++ lib.optional enablePython pythonPackages.python;
+
+  patches = lib.optionals enablePython [
+    ./py_sitepackage_dir.patch
   ];
 
   nativeBuildInputs = [
@@ -23,7 +34,22 @@ stdenv.mkDerivation rec {
     pkgconfig
   ];
 
-  cmakeFlags = [ "-DBUILD_EXAMPLES=false" ];
+  cmakeFlags = [
+    "-DBUILD_EXAMPLES=ON"
+    "-DBUILD_GRAPHICAL_EXAMPLES=OFF"
+    "-DBUILD_GLSL_EXTENSIONS=OFF"
+  ] ++ lib.optionals enablePython [
+    "-DBUILD_PYTHON_BINDINGS:bool=true"
+    "-DXXNIX_PYTHON_SITEPACKAGES=${placeholder "out"}/${pythonPackages.python.sitePackages}"
+  ] ++ lib.optional cudaSupport "-DBUILD_WITH_CUDA:bool=true";
+
+  # ensure python package contains its __init__.py. for some reason the install
+  # script does not do this, and it's questionable if intel knows it should be
+  # done
+  # ( https://github.com/IntelRealSense/meta-intel-realsense/issues/20 )
+  postInstall = lib.optionalString enablePython  ''
+    cp ../wrappers/python/pyrealsense2/__init__.py $out/${pythonPackages.python.sitePackages}/pyrealsense2
+  '';
 
   meta = with stdenv.lib; {
     description = "A cross-platform library for Intel® RealSense™ depth cameras (D400 series and the SR300)";
diff --git a/nixpkgs/pkgs/development/libraries/librealsense/py_sitepackage_dir.patch b/nixpkgs/pkgs/development/libraries/librealsense/py_sitepackage_dir.patch
new file mode 100644
index 000000000000..99b567a429ed
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/librealsense/py_sitepackage_dir.patch
@@ -0,0 +1,15 @@
+--- a/wrappers/python/CMakeLists.txt
++++ b/wrappers/python/CMakeLists.txt
+@@ -10,11 +10,11 @@
+ if (CMAKE_VERSION VERSION_LESS 3.12)
+   find_package(PythonInterp REQUIRED)
+   find_package(PythonLibs REQUIRED)
+-  set(PYTHON_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/pyrealsense2" CACHE PATH "Installation directory for Python bindings")
++  set(PYTHON_INSTALL_DIR "${XXNIX_PYTHON_SITEPACKAGES}/pyrealsense2" CACHE PATH "Installation directory for Python bindings")
+   set(CMAKECONFIG_PY_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/pyrealsense2")
+ else()
+   find_package(Python REQUIRED COMPONENTS Interpreter Development)
+-  set(PYTHON_INSTALL_DIR "${Python_SITEARCH}/pyrealsense2" CACHE PATH "Installation directory for Python bindings")
++  set(PYTHON_INSTALL_DIR "${XXNIX_PYTHON_SITEPACKAGES}/pyrealsense2" CACHE PATH "Installation directory for Python bindings")
+   set(CMAKECONFIG_PY_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/pyrealsense2")
+ endif()
diff --git a/nixpkgs/pkgs/development/libraries/libredwg/default.nix b/nixpkgs/pkgs/development/libraries/libredwg/default.nix
new file mode 100644
index 000000000000..71667460e239
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libredwg/default.nix
@@ -0,0 +1,43 @@
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, texinfo, pcre2
+, enablePython ? false, python, swig, libxml2, ncurses
+}:
+let
+  isPython3 = enablePython && python.pythonAtLeast "3";
+in
+stdenv.mkDerivation rec {
+  pname = "libredwg";
+  version = "0.10.1.3707";
+
+  src = fetchFromGitHub {
+    owner = "LibreDWG";
+    repo = pname;
+    rev = version;
+    sha256 = "009n96lx4ahf05ryvm09z0l9956vz94r8pliyb88j0jficl0pxkf";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkg-config texinfo ] 
+    ++ lib.optional enablePython swig;
+
+  buildInputs = [ pcre2 ]
+    ++ lib.optionals enablePython [ python ]
+    # configurePhase fails with python 3 when ncurses is missing
+    ++ lib.optional isPython3 ncurses
+  ;
+
+  # prevent python tests from running when not building with python
+  configureFlags = lib.optional (!enablePython) "--disable-python";
+
+  doCheck = true;
+
+  # the "xmlsuite" test requires the libxml2 c library as well as the python module
+  checkInputs = lib.optionals enablePython [ libxml2 libxml2.dev ];
+
+  meta = with lib; {
+    description = "Free implementation of the DWG file format";
+    homepage = "https://savannah.gnu.org/projects/libredwg/";
+    maintainers = with maintainers; [ tweber ];
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libressl/default.nix b/nixpkgs/pkgs/development/libraries/libressl/default.nix
index 285d7b607e7b..bb9fb7772892 100644
--- a/nixpkgs/pkgs/development/libraries/libressl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libressl/default.nix
@@ -63,20 +63,13 @@ let
   };
 
 in {
-
-  libressl_2_9 = generic {
-    version = "2.9.2";
-    sha256 = "1m6mz515dcbrbnyz8hrpdfjzdmj1c15vbgnqxdxb89g3z9kq3iy4";
-    patches = stdenv.lib.optional stdenv.hostPlatform.isMusl [
-      (fetchpatch {
-        url = "https://github.com/libressl-portable/portable/pull/529/commits/a747aacc23607c993cc481378782b2c7dd5bc53b.patch";
-        sha256 = "0wbrcscdkjpk4mhh7f3saghi4smia4lhf7fl6la3ahhgx1krn5zm";
-      })
-    ];
-  };
-
   libressl_3_0 = generic {
     version = "3.0.2";
     sha256 = "13ir2lpxz8y1m151k7lrx306498nzfhwlvgkgv97v5cvywmifyyz";
   };
+
+  libressl_3_1 = generic {
+    version = "3.1.3";
+    sha256 = "184znscbkww65aavy2p4v4xncalp1ni19c2w5yvfq4pnmhb06sy7";
+  };
 }
diff --git a/nixpkgs/pkgs/development/libraries/librseq/default.nix b/nixpkgs/pkgs/development/libraries/librseq/default.nix
index d4619ba4320e..4fd8bb7e33a4 100644
--- a/nixpkgs/pkgs/development/libraries/librseq/default.nix
+++ b/nixpkgs/pkgs/development/libraries/librseq/default.nix
@@ -4,22 +4,29 @@
 
 stdenv.mkDerivation rec {
   pname = "librseq";
-  version = "0.1.0pre54_${builtins.substring 0 7 src.rev}";
+  version = "0.1.0pre70_${builtins.substring 0 7 src.rev}";
 
   src = fetchFromGitHub {
     owner  = "compudj";
     repo   = "librseq";
-    rev    = "152600188dd214a0b2c6a8c66380e50c6ad27154";
-    sha256 = "0mivjmgdkgrr6z2gz3k6q6wgnvyvw9xzy65f6ipvqva68sxhk0mx";
+    rev    = "d1cdec98d476b16ca5e2d9d7eabcf9f1c97e6111";
+    sha256 = "0vgillrxc1knq591gjj99x2ws6q1xpm5dmfrhsxisngfpcnjr10v";
   };
 
-  outputs = [ "out" "dev" ];
+  outputs = [ "out" "dev" "man" ];
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ linuxHeaders ];
 
+  installTargets = [ "install" "install-man" ];
+
+  doCheck = true;
   separateDebugInfo = true;
   enableParallelBuilding = true;
 
+  patchPhase = ''
+    patchShebangs tests
+  '';
+
   # The share/ subdir only contains a doc/ with a README.md that just describes
   # how to compile the library, which clearly isn't very useful! So just get
   # rid of it anyway.
diff --git a/nixpkgs/pkgs/development/libraries/librsvg/default.nix b/nixpkgs/pkgs/development/libraries/librsvg/default.nix
index afd1df51e5be..fb61b50346d1 100644
--- a/nixpkgs/pkgs/development/libraries/librsvg/default.nix
+++ b/nixpkgs/pkgs/development/libraries/librsvg/default.nix
@@ -4,14 +4,14 @@
 
 let
   pname = "librsvg";
-  version = "2.48.4";
+  version = "2.48.8";
 in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0vlmgisf87dz4vcl1ypcw7g211wkyvhydv6ksf1p6mgdbkw3mdi8";
+    sha256 = "14i6xzghcidv64cyd3g0wdjbl82rph737yxn9s3x29nzpcjs707l";
   };
 
   outputs = [ "out" "dev" "installedTests" ];
diff --git a/nixpkgs/pkgs/development/libraries/libseccomp/default.nix b/nixpkgs/pkgs/development/libraries/libseccomp/default.nix
index f3816c2ef0c9..6ea0e6be465b 100644
--- a/nixpkgs/pkgs/development/libraries/libseccomp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libseccomp/default.nix
@@ -1,17 +1,18 @@
-{ stdenv, fetchurl, getopt, makeWrapper, utillinux }:
+{ stdenv, fetchurl, getopt, utillinux, gperf }:
 
 stdenv.mkDerivation rec {
   pname = "libseccomp";
-  version = "2.4.3";
+  version = "2.5.0";
 
   src = fetchurl {
     url = "https://github.com/seccomp/libseccomp/releases/download/v${version}/libseccomp-${version}.tar.gz";
-    sha256 = "07crwxqzvl5k2b90a47ii9wgvi09s9hsy5b5jddw9ylp351d25fg";
+    sha256 = "1wql62cg8f95cwpy057cl764nni9g4sdn5lqj68x22kjs8w71yhz";
   };
 
   outputs = [ "out" "lib" "dev" "man" ];
 
-  buildInputs = [ getopt makeWrapper ];
+  nativeBuildInputs = [ gperf ];
+  buildInputs = [ getopt ];
 
   patchPhase = ''
     patchShebangs .
@@ -25,13 +26,14 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "High level library for the Linux Kernel seccomp filter";
-    homepage    = "https://github.com/seccomp/libseccomp";
-    license     = licenses.lgpl21;
-    platforms   = platforms.linux;
+    homepage = "https://github.com/seccomp/libseccomp";
+    license = licenses.lgpl21;
+    platforms = platforms.linux;
     badPlatforms = [
       "alpha-linux"
-      "riscv64-linux" "riscv32-linux"
-      "sparc-linux" "sparc64-linux"
+      "riscv32-linux"
+      "sparc-linux"
+      "sparc64-linux"
     ];
     maintainers = with maintainers; [ thoughtpolice ];
   };
diff --git a/nixpkgs/pkgs/development/libraries/libsidplayfp/default.nix b/nixpkgs/pkgs/development/libraries/libsidplayfp/default.nix
index 7acda3c0a8f6..95f7beff88ad 100644
--- a/nixpkgs/pkgs/development/libraries/libsidplayfp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libsidplayfp/default.nix
@@ -1,34 +1,41 @@
-{ stdenv, fetchurl, pkgconfig
-, docSupport ? true, doxygen ? null, graphviz ? null }:
+{ stdenv
+, lib
+, fetchurl
+, pkgconfig
+, docSupport ? true
+, doxygen ? null
+, graphviz ? null
+}:
 
 assert docSupport -> doxygen != null && graphviz != null;
-
+let
+  inherit (lib) optionals optionalString;
+  inherit (lib.versions) majorMinor;
+in
 stdenv.mkDerivation rec {
   pname = "libsidplayfp";
-  major = "1";
-  minor = "8";
-  level = "7";
-  version = "${major}.${minor}.${level}";
+  version = "2.0.4";
 
   src = fetchurl {
-    url = "mirror://sourceforge/sidplay-residfp/${pname}/${major}.${minor}/${pname}-${version}.tar.gz";
-    sha256 = "14k1sbdcbhykwfcadq5lbpnm9xp2r7vs7fyi84h72g89y8pjg0da";
+    url = "mirror://sourceforge/sidplay-residfp/${pname}/${majorMinor version}/${pname}-${version}.tar.gz";
+    sha256 = "0d866czmnmhnhb2j37rlrdphjdi2b75kak9barm9xqwg2z0nmmhz";
   };
 
   nativeBuildInputs = [ pkgconfig ]
-    ++ stdenv.lib.optionals docSupport [ doxygen graphviz ];
+    ++ optionals docSupport [ doxygen graphviz ];
 
   installTargets = [ "install" ]
-    ++ stdenv.lib.optionals docSupport [ "doc" ];
+    ++ optionals docSupport [ "doc" ];
 
-  outputs = [ "out" ] ++ stdenv.lib.optionals docSupport [ "doc" ];
+  outputs = [ "out" ]
+    ++ optionals docSupport [ "doc" ];
 
-  postInstall = stdenv.lib.optionalString docSupport ''
+  postInstall = optionalString docSupport ''
     mkdir -p $doc/share/doc/libsidplayfp
     mv docs/html $doc/share/doc/libsidplayfp/
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A library to play Commodore 64 music derived from libsidplay2";
     homepage = "https://sourceforge.net/projects/sidplay-residfp/";
     license = with licenses; [ gpl2Plus ];
diff --git a/nixpkgs/pkgs/development/libraries/libsignon-glib/default.nix b/nixpkgs/pkgs/development/libraries/libsignon-glib/default.nix
index 77a43872d4ea..1f453dc291e4 100644
--- a/nixpkgs/pkgs/development/libraries/libsignon-glib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libsignon-glib/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, pkgconfig, meson, ninja, vala, python3, gtk-doc, docbook_xsl, docbook_xml_dtd_43, docbook_xml_dtd_412, glib, check, gobject-introspection }:
+{ stdenv, fetchgit, nix-update-script, pkgconfig, meson, ninja, vala, python3, gtk-doc, docbook_xsl, docbook_xml_dtd_43, docbook_xml_dtd_412, glib, check, gobject-introspection }:
 
 stdenv.mkDerivation rec {
   pname = "libsignon-glib";
@@ -42,6 +42,12 @@ stdenv.mkDerivation rec {
     patchShebangs build-aux/gen-error-map.py
   '';
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "A library for managing single signon credentials which can be used from GLib applications";
     homepage = "https://gitlab.com/accounts-sso/libsignon-glib";
diff --git a/nixpkgs/pkgs/development/libraries/libslirp/default.nix b/nixpkgs/pkgs/development/libraries/libslirp/default.nix
index ee31e22628c8..0413d8a8abc4 100644
--- a/nixpkgs/pkgs/development/libraries/libslirp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libslirp/default.nix
@@ -8,14 +8,14 @@
 
 stdenv.mkDerivation rec {
   pname = "libslirp";
-  version = "4.3.0";
+  version = "4.3.1";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "slirp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1hajbdwx20a48hp8kv6jqbjvnzjvcdqmbjfsymzy2xa80idqkfab";
+    sha256 = "0pzgjj2x2vrjshrzrl2x39xp5lgwg4b4y9vs8xvadh1ycl10v3fv";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/libsvm/default.nix b/nixpkgs/pkgs/development/libraries/libsvm/default.nix
index 0709f3867e45..5dc4deb30be9 100644
--- a/nixpkgs/pkgs/development/libraries/libsvm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libsvm/default.nix
@@ -10,18 +10,19 @@ stdenv.mkDerivation rec {
   };
 
   buildPhase = ''
-  make
-  make lib
+    make
+    make lib
   '';
 
   installPhase = let
     libSuff = stdenv.hostPlatform.extensions.sharedLibrary;
   in ''
-    mkdir -p $out/lib $out/bin $out/include;
-    cp libsvm.so.2 $out/lib/libsvm.2${libSuff};
-    ln -s $out/lib/libsvm.2${libSuff} $out/lib/libsvm${libSuff};
-    cp svm-scale svm-train svm-predict $out/bin;
-    cp svm.h $out/include;
+    install -D libsvm.so.2 $out/lib/libsvm.2${libSuff}
+    ln -s $out/lib/libsvm.2${libSuff} $out/lib/libsvm${libSuff}
+    install -Dt $out/bin/ svm-scale svm-train svm-predict
+    install -Dm644 -t $out/include svm.h
+    mkdir $out/include/libsvm
+    ln -s $out/include/svm.h $out/include/libsvm/svm.h
   '';
 
   postFixup = stdenv.lib.optionalString stdenv.isDarwin ''
diff --git a/nixpkgs/pkgs/development/libraries/libthreadar/default.nix b/nixpkgs/pkgs/development/libraries/libthreadar/default.nix
new file mode 100644
index 000000000000..ed19fab6d994
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libthreadar/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  version = "1.3.0";
+  pname = "libthreadar";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/libthreadar/${pname}-${version}.tar.gz";
+    sha256 = "0g2wxykawlsj6ma9slbbk0bxynqvmkwhaln2fiwc21x7nhjvpn9z";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  configureFlags = [
+    "--disable-build-html"
+  ];
+
+  postInstall = ''
+    # Disable html help
+    rm -r "$out"/share
+  '';
+
+  meta = {
+    homepage = "http://libthreadar.sourceforge.net/";
+    description = ''
+      Libthreadar is a C++ library providing a small set of C++ classes to manipulate
+      threads in a very simple and efficient way from your C++ code.
+    '';
+    maintainers = with maintainers; [ izorkin ];
+    license = licenses.lgpl3;
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libtomcrypt/default.nix b/nixpkgs/pkgs/development/libraries/libtomcrypt/default.nix
index d9e9df59324d..4587701011dd 100644
--- a/nixpkgs/pkgs/development/libraries/libtomcrypt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libtomcrypt/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libtool }:
+{ stdenv, fetchurl, fetchpatch, libtool }:
 
 stdenv.mkDerivation rec {
   pname = "libtomcrypt";
@@ -9,6 +9,14 @@ stdenv.mkDerivation rec {
     sha256 = "113vfrgapyv72lalhd3nkw7jnks8az0gcb5wqn9hj19nhcxlrbcn";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2019-17362.patch";
+      url = "https://github.com/libtom/libtomcrypt/pull/508/commits/25c26a3b7a9ad8192ccc923e15cf62bf0108ef94.patch";
+      sha256 = "1bwsj0pwffxw648wd713z3xcyrbxc2z646psrzp38ys564fjh5zf";
+    })
+  ];
+
   nativeBuildInputs = [ libtool ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/libraries/libtsm/darwin.patch b/nixpkgs/pkgs/development/libraries/libtsm/darwin.patch
deleted file mode 100644
index d447be456e0e..000000000000
--- a/nixpkgs/pkgs/development/libraries/libtsm/darwin.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 4e7b7b1124bfbccb43820997164b00720bf5ca31 Mon Sep 17 00:00:00 2001
-From: Florian Gilcher <florian.gilcher@asquera.de>
-Date: Sun, 23 Mar 2014 23:05:44 +0100
-Subject: [PATCH] Remove GCC specific flags
-
----
- Makefile.am | 10 ++--------
- 1 file changed, 2 insertions(+), 8 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index f1e872b..c011f02 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -69,11 +69,7 @@ AM_CFLAGS = \
- AM_CPPFLAGS = \
- 	-include $(top_builddir)/config.h \
- 	-I $(srcdir)/src
--AM_LDFLAGS = \
--	-Wl,--as-needed \
--	-Wl,--gc-sections \
--	-Wl,-z,relro \
--	-Wl,-z,now
-+AM_LDFLAGS =
- 
- if BUILD_ENABLE_DEBUG
- AM_CFLAGS += -g
-@@ -134,9 +130,7 @@ libtsm_la_CPPFLAGS = $(AM_CPPFLAGS)
- libtsm_la_LIBADD = libshl.la
- EXTRA_libtsm_la_DEPENDENCIES = $(top_srcdir)/docs/libtsm.sym
- libtsm_la_LDFLAGS = \
--	$(AM_LDFLAGS) \
--	-version-info $(LIBTSM_CURRENT):$(LIBTSM_REVISION):$(LIBTSM_AGE) \
--	-Wl,--version-script="$(top_srcdir)/docs/libtsm.sym"
-+	$(AM_LDFLAGS)
- 
- if BUILD_HAVE_XKBCOMMON
- libtsm_la_CPPFLAGS += $(XKBCOMMON_CFLAGS)
diff --git a/nixpkgs/pkgs/development/libraries/libtsm/default.nix b/nixpkgs/pkgs/development/libraries/libtsm/default.nix
index ebeb927aaa47..21108fa108e4 100644
--- a/nixpkgs/pkgs/development/libraries/libtsm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libtsm/default.nix
@@ -1,23 +1,21 @@
-{ stdenv, lib, fetchurl, libxkbcommon, pkgconfig, autoreconfHook }:
+{ stdenv, fetchFromGitHub, libxkbcommon, pkgconfig, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "libtsm-3";
+  pname = "libtsm";
+  version = "4.0.1";
 
-  src = fetchurl {
-    url = "https://freedesktop.org/software/kmscon/releases/${name}.tar.xz";
-    sha256 = "01ygwrsxfii0pngfikgqsb4fxp8n1bbs47l7hck81h9b9bc1ah8i";
+  src = fetchFromGitHub {
+    owner = "Aetf";
+    repo = "libtsm";
+    rev = "v${version}";
+    sha256 = "0mwn91i5h5d518i1s05y7hzv6bc13vzcvxszpfh77473iwg4wprx";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libxkbcommon ] ++ lib.optionals stdenv.isDarwin [
-    autoreconfHook
-  ];
+  buildInputs = [ libxkbcommon ];
 
-  configureFlags = [ "--disable-debug" ];
+  nativeBuildInputs = [ cmake pkgconfig ];
 
-  patches = lib.optional stdenv.isDarwin ./darwin.patch;
-
-  meta = with lib; {
+  meta = with stdenv.lib; {
     description = "Terminal-emulator State Machine";
     homepage = "http://www.freedesktop.org/wiki/Software/kmscon/libtsm/";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/libraries/libu2f-host/default.nix b/nixpkgs/pkgs/development/libraries/libu2f-host/default.nix
index f033aa9f610f..a9c62673115a 100644
--- a/nixpkgs/pkgs/development/libraries/libu2f-host/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libu2f-host/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, json_c, hidapi }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig, json_c, hidapi }:
 
 stdenv.mkDerivation rec {
   pname = "libu2f-host";
@@ -9,6 +9,15 @@ stdenv.mkDerivation rec {
     sha256 = "0vrivl1dwql6nfi48z6dy56fwy2z13d7abgahgrs2mcmqng7hra2";
   };
 
+  patches = [
+    # remove after updating to next release
+    (fetchpatch {
+      name = "json-c-0.14-support.patch";
+      url = "https://github.com/Yubico/libu2f-host/commit/840f01135d2892f45e71b9e90405de587991bd03.patch";
+      sha256 = "0xplx394ppsbsb4h4l8b9m4dv9shbl0zyck3y26vbm9i1g981ki7";
+    })
+  ];
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ json_c hidapi ];
 
diff --git a/nixpkgs/pkgs/development/libraries/libu2f-server/default.nix b/nixpkgs/pkgs/development/libraries/libu2f-server/default.nix
index be5658914d17..cd961cde1d28 100644
--- a/nixpkgs/pkgs/development/libraries/libu2f-server/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libu2f-server/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, json_c, openssl, check, file, help2man, which, gengetopt }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig, json_c, openssl, check, file, help2man, which, gengetopt }:
 
 stdenv.mkDerivation rec {
   name = "libu2f-server-1.1.0";
@@ -7,6 +7,15 @@ stdenv.mkDerivation rec {
     sha256 = "0xx296nmmqa57w0v5p2kasl5zr1ms2gh6qi4lhv6xvzbmjp3rkcd";
   };
 
+  patches = [
+    # remove after updating to next release
+    (fetchpatch {
+      name = "json-c-0.14-support.patch";
+      url = "https://github.com/Yubico/libu2f-server/commit/f7c4983b31909299c47bf9b2627c84b6bfe225de.patch";
+      sha256 = "10q66w3paii1yhfdmjskpip078fk9p3sjllbqx1yx71qbjki55b0";
+    })
+  ];
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ json_c openssl check file help2man which gengetopt ];
 
diff --git a/nixpkgs/pkgs/development/libraries/libunibreak/default.nix b/nixpkgs/pkgs/development/libraries/libunibreak/default.nix
index 5b5491768891..d30c84b52a2e 100644
--- a/nixpkgs/pkgs/development/libraries/libunibreak/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libunibreak/default.nix
@@ -1,17 +1,23 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchFromGitHub, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   pname = "libunibreak";
-  version = "1.1";
+  version = "4.3";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/vimgadgets/libunibreak/${version}/${pname}-${version}.tar.gz";
-    sha256 = "02657l426bk5d8h42b9ixxy1clc50mx4bzwg02nkdhs09wqw32wn";
+  src = let
+      rev_version = stdenv.lib.replaceStrings ["."] ["_"] version;
+  in fetchFromGitHub {
+    owner = "adah1972";
+    repo = pname;
+    rev = "libunibreak_${rev_version}";
+    sha256 = "19g3ixs1ycisfdnzd8v7j5r49h0x0hshchk9qwlz4i0mjv825plx";
   };
 
+  nativeBuildInputs = [ autoreconfHook ];
+
   meta = with stdenv.lib; {
-    homepage = "http://vimgadgets.sourceforge.net/libunibreak/";
-    description = "A library implementing a line breaking algorithm as described in Unicode 6.0.0 Standard";
+    homepage = "https://github.com/adah1972/libunibreak";
+    description = "Implementation of line breaking and word breaking algorithms as in the Unicode standard";
     license = licenses.zlib;
     platforms = platforms.unix;
     maintainers = [ maintainers.coroa ];
diff --git a/nixpkgs/pkgs/development/libraries/liburing/default.nix b/nixpkgs/pkgs/development/libraries/liburing/default.nix
index 519023bb27e1..e02978122093 100644
--- a/nixpkgs/pkgs/development/libraries/liburing/default.nix
+++ b/nixpkgs/pkgs/development/libraries/liburing/default.nix
@@ -4,12 +4,12 @@
 
 stdenv.mkDerivation rec {
   pname = "liburing";
-  version = "0.6pre600_${builtins.substring 0 8 src.rev}";
+  version = "0.7";
 
   src = fetchgit {
     url    = "http://git.kernel.dk/${pname}";
-    rev    = "f2e1f3590f7bed3040bd1691676b50839f7d5c39";
-    sha256 = "0wg0pgcbilbb2wg08hsvd18q1m8vdk46b3piz7qb1pvgyq01idj2";
+    rev    = "liburing-${version}";
+    sha256 = "15z44l7y4c6s6dlf7v8lq4znlsjbja2r4ifbni0l8cdcnq0w3zh3";
   };
 
   separateDebugInfo = true;
diff --git a/nixpkgs/pkgs/development/libraries/libusb/fix-headers.patch b/nixpkgs/pkgs/development/libraries/libusb-compat/fix-headers.patch
index ea9cbc34978e..ea9cbc34978e 100644
--- a/nixpkgs/pkgs/development/libraries/libusb/fix-headers.patch
+++ b/nixpkgs/pkgs/development/libraries/libusb-compat/fix-headers.patch
diff --git a/nixpkgs/pkgs/development/libraries/libusb1/default.nix b/nixpkgs/pkgs/development/libraries/libusb1/default.nix
index 5d6a20b13a4d..a3323c8e026b 100644
--- a/nixpkgs/pkgs/development/libraries/libusb1/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libusb1/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     sha256 = "0mxbpg01kgbk5nh6524b0m4xk7ywkyzmc3yhi5asqcsd3rbhjj98";
   };
 
-  outputs = [ "out" "dev" ]; # get rid of propagating systemd closure
+  outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
   propagatedBuildInputs =
@@ -31,8 +31,6 @@ stdenv.mkDerivation rec {
 
   dontDisableStatic = withStatic;
 
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
-
   configureFlags = stdenv.lib.optional (!enableSystemd) "--disable-udev";
 
   preFixup = stdenv.lib.optionalString enableSystemd ''
diff --git a/nixpkgs/pkgs/development/libraries/libuv/default.nix b/nixpkgs/pkgs/development/libraries/libuv/default.nix
index e22bcdd86b4f..cf73a64f6752 100644
--- a/nixpkgs/pkgs/development/libraries/libuv/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libuv/default.nix
@@ -1,14 +1,14 @@
 { stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, pkgconfig, ApplicationServices, CoreServices }:
 
 stdenv.mkDerivation rec {
-  version = "1.38.0";
+  version = "1.38.1";
   pname = "libuv";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "04598jglikma5plfiprnw4pcxwp7b6aqxphxs65pdd5xira6dz0s";
+    sha256 = "0cvabjhi53qw94zyjkqamx0c607ayydfb4f3djx2gj8ab2p7s29n";
   };
 
   postPatch = let
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
       "getaddrinfo_fail" "getaddrinfo_fail_sync"
       "threadpool_multiple_event_loops" # times out on slow machines
       "get_passwd" # passed on NixOS but failed on other Linuxes
-      "tcp_writealot" # times out sometimes
+      "tcp_writealot" "udp_multicast_join" "udp_multicast_join6" # times out sometimes
     ] ++ stdenv.lib.optionals stdenv.isDarwin [
         # Sometimes: timeout (no output), failed uv_listen. Someone
         # should report these failures to libuv team. There tests should
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
         "tcp_open" "tcp_write_queue_order" "tcp_try_write" "tcp_writealot"
         "multiple_listen" "delayed_accept"
         "shutdown_close_tcp" "shutdown_eof" "shutdown_twice" "callback_stack"
-        "tty_pty" "condvar_5" "hrtime"
+        "tty_pty" "condvar_5" "hrtime" "udp_multicast_join"
         # Tests that fail when sandboxing is enabled.
         "fs_event_close_in_callback" "fs_event_watch_dir" "fs_event_error_reporting"
         "fs_event_watch_dir_recursive" "fs_event_watch_file"
diff --git a/nixpkgs/pkgs/development/libraries/libva/default.nix b/nixpkgs/pkgs/development/libraries/libva/default.nix
index d0bd2ecc009b..7f690f0997b0 100644
--- a/nixpkgs/pkgs/development/libraries/libva/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libva/default.nix
@@ -7,29 +7,16 @@
 
 stdenv.mkDerivation rec {
   name = "libva-${lib.optionalString minimal "minimal-"}${version}";
-  version = "2.7.1"; # Also update the hash for libva-utils!
+  version = "2.8.0"; # Also update the hash for libva-utils!
 
   # update libva-utils and vaapiIntel as well
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "libva";
     rev    = version;
-    sha256 = "0ywasac7z3hwggj8szp83sbxi2naa0a3amblx64y7i1hyyrn0csq";
+    sha256 = "190cq173jzp5rkrczi8gzbwa0y3xk253v4wd205a5ilfngm7srns";
   };
 
-  patches = [
-    (fetchpatch { # meson: Allow for libdir and includedir to be absolute paths
-      url = "https://github.com/intel/libva/commit/de902e2905abff635f3bb151718cc52caa3f669c.patch";
-      sha256 = "1lpc8qzvsxnlsh9g0ab5lja204zxz8rr2p973pfihcw7dcxc3gia";
-    })
-  ];
-
-  postPatch = ''
-    # Remove the execute bit from all source code files
-    # https://github.com/intel/libva/commit/dbd2cd635f33af1422cbc2079af0a7e68671c102
-    chmod -x va/va{,_dec_av1,_trace,_vpp}.h
-  '';
-
   outputs = [ "dev" "out" ];
 
   nativeBuildInputs = [ meson pkg-config ninja wayland ];
diff --git a/nixpkgs/pkgs/development/libraries/libva-utils/default.nix b/nixpkgs/pkgs/development/libraries/libva/utils.nix
index 90f1849aee02..5b9f4cdd8aa3 100644
--- a/nixpkgs/pkgs/development/libraries/libva-utils/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libva/utils.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner  = "intel";
     repo   = "libva-utils";
     rev    = version;
-    sha256 = "13a0dccphi4cpr2cx45kg4djxsssi3d1fcjrkx27b16xiayp5lx9";
+    sha256 = "081hw2jnj64bpqwh9p41n5caqzm6dnj1ggnvvc5wrf4m2z1h2bjb";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/libversion/default.nix b/nixpkgs/pkgs/development/libraries/libversion/default.nix
index cee04fa79e43..a26aa9b56941 100644
--- a/nixpkgs/pkgs/development/libraries/libversion/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libversion/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake }:
+{ stdenv, fetchFromGitHub, cmake, lib }:
 
 stdenv.mkDerivation rec {
   pname = "libversion";
@@ -13,6 +13,10 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
+  cmakeFlags = lib.optional stdenv.isDarwin [
+    "-DCMAKE_SKIP_BUILD_RPATH=OFF" # needed for tests
+  ];
+
   preCheck = ''
     export LD_LIBRARY_PATH=/build/source/build/libversion/''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH
   '';
diff --git a/nixpkgs/pkgs/development/libraries/libvirt/default.nix b/nixpkgs/pkgs/development/libraries/libvirt/default.nix
index 3c0cc9751e3b..27f345a9c834 100644
--- a/nixpkgs/pkgs/development/libraries/libvirt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libvirt/default.nix
@@ -17,19 +17,19 @@ let
   buildFromTarball = stdenv.isDarwin;
 in stdenv.mkDerivation rec {
   pname = "libvirt";
-  version = "6.2.0";
+  version = "6.3.0";
 
   src =
     if buildFromTarball then
       fetchurl {
         url = "http://libvirt.org/sources/${pname}-${version}.tar.xz";
-        sha256 = "1c8grqf751blsgs15wx2p05wvankdrady6290vwc85v94cgqij5f";
+        sha256 = "1xcng497hs1gary3pz3fp590a4r1kqs4d0d8k5p370j0scw981kl";
       }
     else
       fetchgit {
         url = "git://libvirt.org/libvirt.git";
         rev = "v${version}";
-        sha256 = "1wyihi8bhwsck9b7f3b8yhlz145sjdyyj3ykjiszrqnp0y99xxy2";
+        sha256 = "129b3p72jlb40dsidak3nvpssv75xx2v99y63gzp5k074fp8y8x4";
         fetchSubmodules = true;
       };
 
@@ -65,6 +65,7 @@ in stdenv.mkDerivation rec {
   dontAddDisableDepTrack = true;
 
   configureFlags = [
+    "--with-runstatedir=/run" # TODO: remove when autoconf 1.70 is released
     "--localstatedir=/var"
     "--sysconfdir=/var/lib"
     "--with-libpcap"
@@ -97,6 +98,7 @@ in stdenv.mkDerivation rec {
   ];
 
   installFlags = [
+    "runstatedir=${placeholder "out"}/run"
     "localstatedir=$(TMPDIR)/var"
     "sysconfdir=$(out)/var/lib"
   ];
diff --git a/nixpkgs/pkgs/development/libraries/libvmaf/default.nix b/nixpkgs/pkgs/development/libraries/libvmaf/default.nix
index fb494909c838..9f7e84558f7d 100644
--- a/nixpkgs/pkgs/development/libraries/libvmaf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libvmaf/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchFromGitHub, meson, ninja }:
+{ stdenv, fetchFromGitHub, meson, ninja, nasm }:
 
 stdenv.mkDerivation rec {
   pname = "libvmaf";
-  version = "1.5.1";
+  version = "1.5.3";
 
   src = fetchFromGitHub {
     owner = "netflix";
     repo = "vmaf";
     rev = "v${version}";
-    sha256 = "10fw53k9k4aq4p2qi5qkfjfnhldw4p5bbmxggf8220gfa95nvyl3";
+    sha256 = "0x3l3g0hgrrjh3ygmxr1pd3rd5589s07c7id35nvj76ch5b7gy63";
   };
 
   sourceRoot = "source/libvmaf";
 
-  nativeBuildInputs = [ meson ninja ];
+  nativeBuildInputs = [ meson ninja nasm ];
   outputs = [ "out" "dev" ];
   doCheck = true;
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/Netflix/vmaf";
     description = "Perceptual video quality assessment based on multi-method fusion (VMAF)";
     platforms = platforms.unix;
-    license = licenses.asl20;
+    license = licenses.bsd2Patent;
     maintainers = [ maintainers.cfsmp3 maintainers.marsam ];
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libvncserver/default.nix b/nixpkgs/pkgs/development/libraries/libvncserver/default.nix
index c9adad6f6454..c4e82b1c326c 100644
--- a/nixpkgs/pkgs/development/libraries/libvncserver/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libvncserver/default.nix
@@ -7,9 +7,9 @@ let
   s = # Generated upstream information
   rec {
     pname = "libvncserver";
-    version = "0.9.12";
+    version = "0.9.13";
     url = "https://github.com/LibVNC/libvncserver/archive/LibVNCServer-${version}.tar.gz";
-    sha256 = "1226hb179l914919f5nm2mlf8rhaarqbf48aa649p4rwmghyx9vm"; # unpacked archive checksum
+    sha256 = "0zz0hslw8b1p3crnfy3xnmrljik359h83dpk64s697dqdcrzy141"; # unpacked archive checksum
   };
 in
 stdenv.mkDerivation {
@@ -17,18 +17,7 @@ stdenv.mkDerivation {
   src = fetchzip {
     inherit (s) url sha256;
   };
-  patches = [
-    (fetchpatch {
-      name = "CVE-2018-20750.patch";
-      url = "https://github.com/LibVNC/libvncserver/commit/09e8fc02f59f16e2583b34fe1a270c238bd9ffec.patch";
-      sha256 = "004h50786nvjl3y3yazpsi2b767vc9gqrwm1ralj3zgy47kwfhqm";
-    })
-    (fetchpatch {
-      name = "CVE-2019-15681.patch";
-      url = "https://github.com/LibVNC/libvncserver/commit/d01e1bb4246323ba6fcee3b82ef1faa9b1dac82a.patch";
-      sha256 = "0hf0ss7all2m50z2kan4mck51ws44yim4ymn8p0d991y465y6l9s";
-    })
-  ];
+
   nativeBuildInputs = [ cmake ];
   buildInputs = [
     libjpeg openssl libgcrypt libpng
diff --git a/nixpkgs/pkgs/development/libraries/libwacom/default.nix b/nixpkgs/pkgs/development/libraries/libwacom/default.nix
index c33317550b5f..7c71dc4388b8 100644
--- a/nixpkgs/pkgs/development/libraries/libwacom/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libwacom/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libwacom";
-  version = "1.3";
+  version = "1.5";
 
   outputs = [ "out" "dev" ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner = "linuxwacom";
     repo = "libwacom";
     rev = "libwacom-${version}";
-    sha256 = "12g8jb67wj6sgg9ar2w8kkw1m1431rn9nd0j64qkrd3vy9g4l0hk";
+    sha256 = "1a3qkzpkag1vqd2xl7b7f2b8kbg1y1g6gg5ydzb1ppyqw3zdjf9x";
   };
 
   nativeBuildInputs = [ pkgconfig meson ninja doxygen ];
diff --git a/nixpkgs/pkgs/development/libraries/libwebsockets/default.nix b/nixpkgs/pkgs/development/libraries/libwebsockets/default.nix
index ddafc9bc6594..c56781931f3f 100644
--- a/nixpkgs/pkgs/development/libraries/libwebsockets/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libwebsockets/default.nix
@@ -16,8 +16,13 @@ let
 
     nativeBuildInputs = [ cmake ];
 
-    cmakeFlags = [ "-DLWS_WITH_PLUGINS=ON" ];
-    NIX_CFLAGS_COMPILE = "-Wno-error=unused-but-set-variable";
+    cmakeFlags = [
+      "-DLWS_WITH_PLUGINS=ON"
+      "-DLWS_WITH_IPV6=ON"
+      "-DLWS_WITH_SOCKS5=ON"
+    ];
+
+    NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isGNU "-Wno-error=unused-but-set-variable";
 
     meta = with stdenv.lib; {
       description = "Light, portable C library for websockets";
diff --git a/nixpkgs/pkgs/development/libraries/libwhereami/default.nix b/nixpkgs/pkgs/development/libraries/libwhereami/default.nix
index 8e190f998d56..59e349b4e6a1 100644
--- a/nixpkgs/pkgs/development/libraries/libwhereami/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libwhereami/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   pname = "libwhereami";
-  version = "0.3.1";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
-    sha256 = "16xjb6zp60ma76aa3kq3q8i8zn0n61gf39fny12cny8nggwjpbww";
+    sha256 = "05fc28dri2h858kxbvldk5b6wd5is3fjcdsiqj3nxf95i66bb3xp";
     rev = version;
     repo = "libwhereami";
     owner = "puppetlabs";
   };
 
-  NIX_CFLAGS_COMPILE = "-Wno-error=catch-value";
+  NIX_CFLAGS_COMPILE = "-Wno-error";
 
   nativeBuildInputs = [ cmake ];
 
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     description = "Library to report hypervisor information from inside a VM";
     license = licenses.asl20;
     maintainers = [ maintainers.womfoo ];
-    platforms = with platforms; [ "i686-linux" "x86_64-linux" ]; # fails on aarch64
+    platforms = with platforms; [ "i686-linux" "x86_64-linux" "x86_64-darwin" ]; # fails on aarch64
   };
 
 }
diff --git a/nixpkgs/pkgs/development/libraries/libxls/default.nix b/nixpkgs/pkgs/development/libraries/libxls/default.nix
index 2b28499864a7..d555ecea06df 100644
--- a/nixpkgs/pkgs/development/libraries/libxls/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libxls/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libxls";
-  version = "1.5.2";
+  version = "1.5.3";
 
   src = fetchurl {
     url = "https://github.com/libxls/libxls/releases/download/v${version}/libxls-${version}.tar.gz";
-    sha256 = "1akadsyl10rp101ccjmrxr7933c3v641k377bn74jv6cdkcm4zld";
+    sha256 = "0rl513wpq5qh7wkmdk4g9c68rzffv3mcbz48p4xyg4969zrx8lnm";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/nixpkgs/pkgs/development/libraries/libxml2/default.nix b/nixpkgs/pkgs/development/libraries/libxml2/default.nix
index 7c39d8039067..5e290b25832d 100644
--- a/nixpkgs/pkgs/development/libraries/libxml2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libxml2/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, fetchpatch
-, zlib, xz, python, ncurses, findXMLCatalogs
+, zlib, xz, libintl, python, gettext, ncurses, findXMLCatalogs
 , pythonSupport ? stdenv.buildPlatform == stdenv.hostPlatform
 , icuSupport ? false, icu ? null
 , enableShared ? stdenv.hostPlatform.libc != "msvcrt"
@@ -44,7 +44,10 @@ stdenv.mkDerivation rec {
     ++ lib.optional (enableStatic && enableShared) "static";
 
   buildInputs = lib.optional pythonSupport python
+    ++ lib.optional (pythonSupport && python?isPy2 && python.isPy2) gettext
     ++ lib.optional (pythonSupport && python?isPy3 && python.isPy3) ncurses
+    ++ lib.optional (stdenv.isDarwin &&
+                     pythonSupport && python?isPy2 && python.isPy2) libintl
     # Libxml2 has an optional dependency on liblzma.  However, on impure
     # platforms, it may end up using that from /usr/lib, and thus lack a
     # RUNPATH for that, leading to undefined references for its users.
diff --git a/nixpkgs/pkgs/development/libraries/libxmlb/default.nix b/nixpkgs/pkgs/development/libraries/libxmlb/default.nix
index f559a4e50509..97e8d23c0700 100644
--- a/nixpkgs/pkgs/development/libraries/libxmlb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libxmlb/default.nix
@@ -15,7 +15,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libxmlb";
-  version = "0.1.15";
+  version = "0.2.1";
 
   outputs = [ "out" "lib" "dev" "devdoc" "installedTests" ];
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     owner = "hughsie";
     repo = "libxmlb";
     rev = version;
-    sha256 = "1mb73pnfwqc4mm0lm16yfn0lj495h8hcciprb2v6wgy3ifnnjxib";
+    sha256 = "XD66YfD8fjaqp5pkcR8qNh7Srjh+atAIC2qkDTF7KdM=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/libraries/libxnd/default.nix b/nixpkgs/pkgs/development/libraries/libxnd/default.nix
index 7313b2582bea..1fac0d86d4c7 100644
--- a/nixpkgs/pkgs/development/libraries/libxnd/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libxnd/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation {
   pname = "libxnd";
-  version = "unstable-2018-11-27";
+  version = "unstable-2019-08-01";
 
   src = fetchFromGitHub {
-    owner = "plures";
+    owner = "xnd-project";
     repo = "xnd";
-    rev = "8a9f3bd1d01d872828b40bc9dbd0bc0184524da3";
-    sha256 = "10jh2kqvhpzwy50adayh9az7z2lm16yxy4flrh99alzzbqdyls44";
+    rev = "6f305cd40d90b4f3fc2fe51ae144b433d186a6cc";
+    sha256 = "1n31d64qwlc7m3qkzbafhp0dgrvgvkdx89ykj63kll7r1n3yk59y";
   };
 
   buildInputs = [ libndtypes ];
@@ -28,6 +28,14 @@ stdenv.mkDerivation {
       "--with-libs=${libndtypes}/lib"
   ];
 
+  # other packages which depend on libxnd seem to expect overflow.h, but
+  # it doesn't seem to be included in the installed headers. for now this
+  # works, but the generic name of the header could produce problems
+  # with collisions down the line.
+  postInstall = ''
+    cp libxnd/overflow.h $out/include/overflow.h
+  '';
+
   doCheck = true;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/libraries/libxsmm/default.nix b/nixpkgs/pkgs/development/libraries/libxsmm/default.nix
index 25c85948608a..394347277f6a 100644
--- a/nixpkgs/pkgs/development/libraries/libxsmm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libxsmm/default.nix
@@ -1,9 +1,11 @@
-{ stdenv, fetchFromGitHub, coreutils, gfortran7, gnused
-, python27, utillinux, which, bash
+{ stdenv, fetchFromGitHub, coreutils, gfortran, gnused
+, python3, utillinux, which
+
+, enableStatic ? false
 }:
 
 let
-  version = "1.15";
+  version = "1.16.1";
 in stdenv.mkDerivation {
   pname = "libxsmm";
   inherit version;
@@ -11,31 +13,40 @@ in stdenv.mkDerivation {
   src = fetchFromGitHub {
     owner = "hfp";
     repo = "libxsmm";
-    rev = "refs/tags/${version}";
-    sha256 = "1406qk7k2k4qfqy4psqk55iihsrx91w8kjgsa82jxj50nl9nw5nj";
+    rev = version;
+    sha256 = "1c1qj6hcdfx11bvilnly92vgk1niisd2bjw1s8vfyi2f7ws1wnp0";
   };
 
-  buildInputs = [
+  nativeBuildInputs = [
     coreutils
-    gfortran7
+    gfortran
     gnused
-    python27
+    python3
     utillinux
     which
   ];
 
+  enableParallelBuilding = true;
+
+  dontConfigure = true;
+
+  makeFlags = let
+    static = if enableStatic then "1" else "0";
+  in [
+    "OMP=1"
+    "PREFIX=$(out)"
+    "STATIC=${static}"
+  ];
+
   prePatch = ''
     patchShebangs .
   '';
 
-  makeFlags = [ "PREFIX=$(out)" ];
-
   meta = with stdenv.lib; {
     description = "Library targeting Intel Architecture for specialized dense and sparse matrix operations, and deep learning primitives";
     license = licenses.bsd3;
     homepage = "https://github.com/hfp/libxsmm";
     platforms = platforms.linux;
     maintainers = with stdenv.lib.maintainers; [ chessai ];
-    inherit version;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libyaml/default.nix b/nixpkgs/pkgs/development/libraries/libyaml/default.nix
index 7f723cf2ef8e..37b8ebcc3efa 100644
--- a/nixpkgs/pkgs/development/libraries/libyaml/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libyaml/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libyaml";
-  version = "0.2.4";
+  version = "0.2.5";
 
   src = fetchFromGitHub {
     owner = "yaml";
     repo = "libyaml";
     rev = version;
-    sha256 = "04z25mvw86jhzyrj0h8mlgisvj9glc5ww9g0cymzjfsd7z33gnmy";
+    sha256 = "18zsnsxc53pans4a01cs4401a2cjk3qi098hi440pj4zijifgcsb";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/nixpkgs/pkgs/development/libraries/lime/default.nix b/nixpkgs/pkgs/development/libraries/lime/default.nix
index 3ebcc7ad78a6..aa34ff2e927c 100644
--- a/nixpkgs/pkgs/development/libraries/lime/default.nix
+++ b/nixpkgs/pkgs/development/libraries/lime/default.nix
@@ -9,7 +9,7 @@
 
 stdenv.mkDerivation rec {
   pname = "lime";
-  version = "4.3.1";
+  version = "4.4.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "1ilpp9ai4sah23ngnxisvmwhrv5jkk5f831yp7smpl225z5nv83g";
+    sha256 = "14jg1zisjbzflw3scfqdbwy48wq3cp93l867vigb8l40lkc6n26z";
   };
 
   buildInputs = [ bctoolbox soci belle-sip sqlite ];
diff --git a/nixpkgs/pkgs/development/libraries/lyra/default.nix b/nixpkgs/pkgs/development/libraries/lyra/default.nix
index c0220e6e21db..8d5d083d82b0 100644
--- a/nixpkgs/pkgs/development/libraries/lyra/default.nix
+++ b/nixpkgs/pkgs/development/libraries/lyra/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lyra";
-  version = "1.4";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "bfgroup";
     repo = "lyra";
     rev = version;
-    sha256 = "08g6kqaj079aq7i6c1pwj778lrr3yk188wn1byxdd6zqpwrsv71q";
+    sha256 = "0xil6b055csnrvxxmby5x9njf166bri472jxwzshc49cz7svhhpk";
   };
 
   nativeBuildInputs = [ meson ninja ];
diff --git a/nixpkgs/pkgs/development/libraries/mailcore2/default.nix b/nixpkgs/pkgs/development/libraries/mailcore2/default.nix
index 75e3439db813..d5f20f6761c2 100644
--- a/nixpkgs/pkgs/development/libraries/mailcore2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mailcore2/default.nix
@@ -5,13 +5,13 @@
 stdenv.mkDerivation rec {
   pname = "mailcore2";
 
-  version = "0.6.3";
+  version = "0.6.4";
 
   src = fetchFromGitHub {
     owner  = "MailCore";
     repo   = "mailcore2";
     rev    = version;
-    sha256 = "0yxynvfmifpw9hdhv499a813hb2ynan74r353lhcdajkkm7w8br5";
+    sha256 = "0a69q11z194fdfwyazjyyylx57sqs9j4lz7jwh5qcws8syqgb23z";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/malcontent/better-separation.patch b/nixpkgs/pkgs/development/libraries/malcontent/better-separation.patch
index cd91760bff59..ef42650e249d 100644
--- a/nixpkgs/pkgs/development/libraries/malcontent/better-separation.patch
+++ b/nixpkgs/pkgs/development/libraries/malcontent/better-separation.patch
@@ -1,18 +1,42 @@
+commit 363c5be465dd6dde35c3d31abd7b5cca9b1f3a9f
+Author: Jan Tojnar <jtojnar@gmail.com>
+Date:   Thu Jul 23 18:49:03 2020 +0200
+
+    Improve separation between malcontent and malcontent-ui packages
+    
+    These artefacts go into both packages by default:
+    
+    * malcontent-control – a CLI tool
+    * PAM module
+    * gettext locale data
+    * help pages ✨
+    * AccountService/D-Bus interfaces
+    * Polkit com.endlessm.ParentalControls rules and policy
+    
+    Items marked with ✨ will go to ui package, while the rest is installed with the base library.
+    
+    See also the packaging done by upstream in Endless:
+    https://github.com/endlessm/malcontent/tree/5482b7eb99aee9b8c344629bc078e193d3c26ffc/debian
+    
+    Cannot upstream this since they are worried about maintainability:
+    https://gitlab.freedesktop.org/pwithnall/malcontent/merge_requests/38#note_437946
+
 diff --git a/meson.build b/meson.build
-index a6c477d..f7b2f0a 100644
+index 6e1dfa5..196350b 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -125,8 +125,8 @@ test_env = [
+@@ -123,9 +123,8 @@ test_env = [
    'LC_ALL=C.UTF-8',
  ]
  
 -subdir('accounts-service')
+-subdir('help')
  if not get_option('use_system_libmalcontent')
 +  subdir('accounts-service')
    subdir('libmalcontent')
  else
    libmalcontent_api_version = '0'
-@@ -137,11 +137,17 @@ endif
+@@ -136,11 +135,16 @@ endif
  if get_option('ui').enabled()
    subdir('libmalcontent-ui')
  endif
@@ -22,14 +46,13 @@ index a6c477d..f7b2f0a 100644
 +endif
  if get_option('ui').enabled()
    subdir('malcontent-control')
- endif
--subdir('pam')
++  subdir('help')
++endif
 +if not get_option('use_system_libmalcontent')
 +  subdir('pam')
-+endif
- subdir('po')
++  subdir('po')
+ endif
+-subdir('pam')
+-subdir('po')
  
--meson.add_install_script('build-aux/meson_post_install.py')
-+if get_option('ui').enabled()
-+  meson.add_install_script('build-aux/meson_post_install.py')
-+endif
+ meson.add_install_script('build-aux/meson_post_install.py')
diff --git a/nixpkgs/pkgs/development/libraries/malcontent/default.nix b/nixpkgs/pkgs/development/libraries/malcontent/default.nix
index f574ab196930..97cc4f7ff2a6 100644
--- a/nixpkgs/pkgs/development/libraries/malcontent/default.nix
+++ b/nixpkgs/pkgs/development/libraries/malcontent/default.nix
@@ -3,7 +3,7 @@
 , fetchpatch
 , meson
 , ninja
-, pkgconfig
+, pkg-config
 , gobject-introspection
 , wrapGAppsHook
 , glib
@@ -19,16 +19,16 @@
 
 stdenv.mkDerivation rec {
   pname = "malcontent";
-  version = "0.7.0";
+  version = "0.9.0";
 
-  outputs = [ "bin" "out" "dev" "man" "installedTests" ];
+  outputs = [ "bin" "out" "lib" "pam" "dev" "man" "installedTests" ];
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "pwithnall";
     repo = pname;
     rev = version;
-    sha256 = "0lxakzj75pvpgwbjfyfkg0gyzvry00zhc9h9cd8f0wksg7mabzbh";
+    sha256 = "DEtibrGgHSgRjaarAzizzLN1xsJKXl+LCQ29FmpPoJo=";
   };
 
   patches = [
@@ -37,19 +37,12 @@ stdenv.mkDerivation rec {
 
     # Do not build things that are part of malcontent-ui package
     ./better-separation.patch
-
-    # Fix pam installed test
-    # https://gitlab.freedesktop.org/pwithnall/malcontent/merge_requests/50
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/pwithnall/malcontent/commit/5d102eeb0604e65fc977ca77d4b249e986e634cc.patch";
-      sha256 = "1vs35zfp2sa2rps5h1240h73kvlspmv7mfr6f8mcbzvhj1wgzw74";
-    })
   ];
 
   nativeBuildInputs = [
     meson
     ninja
-    pkgconfig
+    pkg-config
     gobject-introspection
     wrapGAppsHook
   ];
@@ -72,6 +65,7 @@ stdenv.mkDerivation rec {
   mesonFlags = [
     "-Dinstalled_tests=true"
     "-Dinstalled_test_prefix=${placeholder "installedTests"}"
+    "-Dpamlibdir=${placeholder "pam"}/lib/security"
     "-Dui=disabled"
   ];
 
@@ -83,6 +77,13 @@ stdenv.mkDerivation rec {
       --replace "/bin/false" "${coreutils}/bin/false"
   '';
 
+  postInstall = ''
+    # `giDiscoverSelf` only picks up paths in `out` output.
+    # This needs to be in `postInstall` so that it runs before
+    # `gappsWrapperArgsHook` that runs as one of `preFixupPhases`.
+    addToSearchPath GI_TYPELIB_PATH "$lib/lib/girepository-1.0"
+  '';
+
   passthru = {
     tests = {
       installedTests = nixosTests.installed-tests.malcontent;
@@ -90,6 +91,10 @@ stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
+    # We need to install Polkit & AccountsService data files in `out`
+    # but `buildEnv` only uses `bin` when both `bin` and `out` are present.
+    outputsToInstall = [ "bin" "out" "man" ];
+
     description = "Parental controls library";
     homepage = "https://gitlab.freedesktop.org/pwithnall/malcontent";
     license = licenses.lgpl21Plus;
diff --git a/nixpkgs/pkgs/development/libraries/malcontent/ui.nix b/nixpkgs/pkgs/development/libraries/malcontent/ui.nix
index af1fa6b41387..54382cfc0d57 100644
--- a/nixpkgs/pkgs/development/libraries/malcontent/ui.nix
+++ b/nixpkgs/pkgs/development/libraries/malcontent/ui.nix
@@ -3,6 +3,7 @@
 , ninja
 , pkg-config
 , gobject-introspection
+, itstool
 , wrapGAppsHook
 , glib
 , accountsservice
@@ -10,6 +11,7 @@
 , flatpak
 , malcontent
 , gtk3
+, appstream-glib
 , desktop-file-utils
 , polkit
 , glib-testing
@@ -20,7 +22,7 @@ stdenv.mkDerivation rec {
 
   inherit (malcontent) version src;
 
-  outputs = [ "bin" "out" "dev" ];
+  outputs = [ "out" "lib" "dev" ];
 
   patches = [
     # Allow installing installed tests to a separate output.
@@ -35,11 +37,13 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     gobject-introspection
+    itstool
     desktop-file-utils
     wrapGAppsHook
   ];
 
   buildInputs = [
+    appstream-glib
     dbus
     polkit
     glib-testing
diff --git a/nixpkgs/pkgs/development/libraries/marisa/default.nix b/nixpkgs/pkgs/development/libraries/marisa/default.nix
index 9a4d178d3d27..99d82970fe06 100644
--- a/nixpkgs/pkgs/development/libraries/marisa/default.nix
+++ b/nixpkgs/pkgs/development/libraries/marisa/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "marisa";
-  version = "0.2.5";
+  version = "0.2.6";
 
   src = fetchFromGitHub {
     owner = "s-yata";
     repo = "marisa-trie";
     rev = "v${version}";
-    sha256 = "0z4bf55np08q3cbi6gvj3cpw3zp8kf2d0jq6k74pjk066m7rapbb";
+    sha256 = "1hy8hfksizk1af6kg8z3b9waiz6d5ggd73fiqcvmhfgra36dscyq";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/libraries/medfile/default.nix b/nixpkgs/pkgs/development/libraries/medfile/default.nix
index 7a5688a1b71f..246bdb1480c0 100644
--- a/nixpkgs/pkgs/development/libraries/medfile/default.nix
+++ b/nixpkgs/pkgs/development/libraries/medfile/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "medfile";
-  version = "4.0.0";
+  version = "4.1.0";
 
   src = fetchurl {
     url = "http://files.salome-platform.org/Salome/other/med-${version}.tar.gz";
-    sha256 = "017h9p0x533fm4gn6pwc8kmp72rvqmcn6vznx72nkkl2b05yjx54";
+    sha256 = "1khzclkrd1yn9mz3g14ndgpsbj8j50v8dsjarcj6kkn9zgbbazc4";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/libraries/mesa/default.nix b/nixpkgs/pkgs/development/libraries/mesa/default.nix
index 03977c74f11d..cf452fded14e 100644
--- a/nixpkgs/pkgs/development/libraries/mesa/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mesa/default.nix
@@ -31,7 +31,7 @@ with stdenv.lib;
 let
   # Release calendar: https://www.mesa3d.org/release-calendar.html
   # Release frequency: https://www.mesa3d.org/releasing.html#schedule
-  version = "20.0.7"; # Update only to the final (last planned) release (i.e. X.Y.MAX)?
+  version = "20.1.7";
   branch  = versions.major version;
 in
 
@@ -46,7 +46,7 @@ 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 = "0y517qpdg6v6dsdgzb365p03m30511sbyh8pq0mcvhvjwy7javpy";
+    sha256 = "1252mgwiy05nz8mm4gjkzmnjfvdz5yv1shnsr837cdnan86dvsad";
   };
 
   prePatch = "patchShebangs .";
@@ -58,7 +58,22 @@ stdenv.mkDerivation {
     ./missing-includes.patch # dev_t needs sys/stat.h, time_t needs time.h, etc.-- fixes build w/musl
     ./opencl-install-dir.patch
     ./disk_cache-include-dri-driver-path-in-cache-key.patch
-  ] # do not prefix user provided dri-drivers-path
+    ./link-radv-with-ld_args_build_id.patch
+  ]
+    ++ lib.optionals stdenv.hostPlatform.isMusl [
+      # Fix `-Werror=int-conversion` pthread warnings on musl.
+      # TODO: Remove when https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6121 is merged and available
+      (fetchpatch {
+        name = "nine_debug-Make-tid-more-type-correct";
+        # Patch adjusted for version `20.1`, before the big mesa dirs change
+        # `gallium: rename 'state tracker' to 'frontend'`.
+        # Patch for versions after that change is at
+        #     https://gitlab.freedesktop.org/mesa/mesa/commit/aebbf819df6d1e3b4745ef16d0e833300ad67044.patch
+        url = "https://gitlab.freedesktop.org/nh2/mesa/commit/3385c49684375f1153a52ed7ccda3f5135268a41.patch";
+        sha256 = "1ci694sqjll44c9g2md4krhk6qlvq51r7ad5rnnfdnf3l8ys0i50";
+      })
+    ]
+    # do not prefix user provided dri-drivers-path
     ++ lib.optional (lib.versionOlder version "19.0.0") (fetchpatch {
       url = "https://gitlab.freedesktop.org/mesa/mesa/commit/f6556ec7d126b31da37c08d7cb657250505e01a0.patch";
       sha256 = "0z6phi8hbrbb32kkp1js7ggzviq7faz1ria36wi4jbc4in2392d9";
@@ -81,6 +96,12 @@ stdenv.mkDerivation {
     substituteInPlace meson.build --replace \
       "find_program('pkg-config')" \
       "find_program('${buildPackages.pkg-config.targetPrefix}pkg-config')"
+
+    # The drirc.d directory cannot be installed to $drivers as that would cause a cyclic dependency:
+    substituteInPlace src/util/xmlconfig.c --replace \
+      'DATADIR "/drirc.d"' '"${placeholder "out"}/drirc.d"'
+    substituteInPlace src/util/meson.build --replace \
+      "get_option('datadir')" "'${placeholder "out"}'"
   '';
 
   outputs = [ "out" "dev" "drivers" ] ++ lib.optional enableOSMesa "osmesa";
@@ -88,6 +109,7 @@ stdenv.mkDerivation {
   # TODO: Figure out how to enable opencl without having a runtime dependency on clang
   mesonFlags = [
     "--sysconfdir=/etc"
+    "--datadir=${placeholder "drivers"}/share" # Vendor files
 
     # Don't build in debug mode
     # https://gitlab.freedesktop.org/mesa/mesa/blob/master/docs/meson.html#L327
@@ -158,9 +180,6 @@ stdenv.mkDerivation {
       mv $out/lib/lib*_mesa* $drivers/lib
     fi
 
-    # move vendor files
-    mv $out/share/ $drivers/
-
     # Update search path used by glvnd
     for js in $drivers/share/glvnd/egl_vendor.d/*.json; do
       substituteInPlace "$js" --replace '"libEGL_' '"'"$drivers/lib/libEGL_"
diff --git a/nixpkgs/pkgs/development/libraries/mesa/link-radv-with-ld_args_build_id.patch b/nixpkgs/pkgs/development/libraries/mesa/link-radv-with-ld_args_build_id.patch
new file mode 100644
index 000000000000..0a660332392d
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/mesa/link-radv-with-ld_args_build_id.patch
@@ -0,0 +1,25 @@
+From b49bcb6eece322b70fc2e8b0c8498f5a38ea7b82 Mon Sep 17 00:00:00 2001
+From: David McFarland <corngood@gmail.com>
+Date: Sun, 26 Jul 2020 17:29:49 -0300
+Subject: [PATCH] link radv with ld_args_build_id
+
+This is needed for radv_device_get_cache_uuid to work correctly.
+---
+ src/amd/vulkan/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/amd/vulkan/meson.build b/src/amd/vulkan/meson.build
+index eec026e8f60..a07a0821938 100644
+--- a/src/amd/vulkan/meson.build
++++ b/src/amd/vulkan/meson.build
+@@ -183,7 +183,7 @@ libvulkan_radeon = shared_library(
+   ],
+   c_args : [c_vis_args, no_override_init_args, radv_flags],
+   cpp_args : [cpp_vis_args, radv_flags],
+-  link_args : [ld_args_bsymbolic, ld_args_gc_sections, libvulkan_radeon_ld_args],
++  link_args : [ld_args_build_id, ld_args_bsymbolic, ld_args_gc_sections, libvulkan_radeon_ld_args],
+   link_depends : [libvulkan_radeon_link_depends,],
+   install : true,
+ )
+--
+2.28.0
diff --git a/nixpkgs/pkgs/development/libraries/mimalloc/default.nix b/nixpkgs/pkgs/development/libraries/mimalloc/default.nix
index bf6c5b1baf34..997fd2ab6346 100644
--- a/nixpkgs/pkgs/development/libraries/mimalloc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mimalloc/default.nix
@@ -7,13 +7,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname   = "mimalloc";
-  version = "1.6.3";
+  version = "1.6.4";
 
   src = fetchFromGitHub {
     owner  = "microsoft";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "0hk30adrm0s1g5flfaqfr3lc72y3hlmhqnyrqd7p0y91rsaw86b9";
+    sha256 = "0b6ymi2a9is2q6n49dvlnjxknikj0rfff5ygbc4n7894h5mllvvr";
   };
 
   nativeBuildInputs = [ cmake ninja ];
diff --git a/nixpkgs/pkgs/development/libraries/mimetic/default.nix b/nixpkgs/pkgs/development/libraries/mimetic/default.nix
index 06b6653f4e76..0147a2973053 100644
--- a/nixpkgs/pkgs/development/libraries/mimetic/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mimetic/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ cutee ];
 
+  patches = stdenv.lib.optional stdenv.isAarch64 ./narrowing.patch;
+
   meta = with stdenv.lib; {
     description = "MIME handling library";
     homepage    = "http://www.codesink.org/mimetic_mime_library.html";
diff --git a/nixpkgs/pkgs/development/libraries/mimetic/narrowing.patch b/nixpkgs/pkgs/development/libraries/mimetic/narrowing.patch
new file mode 100644
index 000000000000..676e29376c7d
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/mimetic/narrowing.patch
@@ -0,0 +1,32 @@
+diff -ru a/mimetic/codec/base64.cxx b/mimetic/codec/base64.cxx
+--- a/mimetic/codec/base64.cxx	2014-06-17 10:12:00.000000000 +0200
++++ b/mimetic/codec/base64.cxx	2020-07-30 20:54:10.212742011 +0200
+@@ -14,19 +14,19 @@
+     "0123456789+/=";
+ 
+ const char Base64::sDecTable[] = {
+-        -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
+-        -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
+-        -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
+-        -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
+-        -1,-1,-1,62,-1,-1,-1,63,52,53,
+-        54,55,56,57,58,59,60,61,-1,-1,
+-        -1, eq_sign, -1,-1,-1, 0, 1, 2, 3, 4, 
++        255,255,255,255,255,255,255,255,255,255,
++        255,255,255,255,255,255,255,255,255,255,
++        255,255,255,255,255,255,255,255,255,255,
++        255,255,255,255,255,255,255,255,255,255,
++        255,255,255,62,255,255,255,63,52,53,
++        54,55,56,57,58,59,60,61,255,255,
++        255, eq_sign, 255,255,255, 0, 1, 2, 3, 4, 
+          5, 6, 7, 8, 9,10,11,12,13,14,
+         15,16,17,18,19,20,21,22,23,24,
+-        25,-1,-1,-1,-1,-1,-1,26,27,28,
++        25,255,255,255,255,255,255,26,27,28,
+         29,30,31,32,33,34,35,36,37,38,
+         39,40,41,42,43,44,45,46,47,48,
+-        49,50,51,-1
++        49,50,51,255
+ };
+ 
+ const int Base64::sDecTableSz = sizeof(Base64::sDecTable) / sizeof(char);
diff --git a/nixpkgs/pkgs/development/libraries/mlt/default.nix b/nixpkgs/pkgs/development/libraries/mlt/default.nix
index 5b54e0894e18..8c73343f208b 100644
--- a/nixpkgs/pkgs/development/libraries/mlt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mlt/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchFromGitHub, makeWrapper
 , SDL, ffmpeg, frei0r, libjack2, libdv, libsamplerate
 , libvorbis, libxml2, movit, pkgconfig, sox
-, gtk2
+, gtk2, genericUpdater, common-updater-scripts
 }:
 
 stdenv.mkDerivation rec {
   pname = "mlt";
-  version = "6.20.0";
+  version = "6.22.1";
 
   src = fetchFromGitHub {
     owner = "mltframework";
     repo = "mlt";
     rev = "v${version}";
-    sha256 = "14kayzas2wisyw0z27qkcm4qnxbdb7bqa0hg7gaj5kbm3nvsnafk";
+    sha256 = "0jxv848ykw0csbnayrd710ylw46m0picfv7rpzsxz1vh4jzs395k";
   };
 
   buildInputs = [
@@ -38,6 +38,12 @@ stdenv.mkDerivation rec {
     sed -i $out/lib/mlt/libmltopengl.so -e "s|$s|$t|g"
   '';
 
+  passthru.updateScript = genericUpdater {
+    inherit pname version;
+    versionLister = "${common-updater-scripts}/bin/list-git-tags ${src.meta.homepage}";
+    rev-prefix = "v";
+  };
+
   meta = with stdenv.lib; {
     description = "Open source multimedia framework, designed for television broadcasting";
     homepage = "https://www.mltframework.org";
diff --git a/nixpkgs/pkgs/development/libraries/mlt/qt-5.nix b/nixpkgs/pkgs/development/libraries/mlt/qt-5.nix
index f0b45753df01..3dcbda68135f 100644
--- a/nixpkgs/pkgs/development/libraries/mlt/qt-5.nix
+++ b/nixpkgs/pkgs/development/libraries/mlt/qt-5.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchFromGitHub, SDL, ffmpeg, frei0r, libjack2, libdv, libsamplerate
 , libvorbis, libxml2, makeWrapper, movit, pkgconfig, sox, qtbase, qtsvg
-, fftw, vid-stab, opencv3, ladspa-sdk
+, fftw, vid-stab, opencv3, ladspa-sdk, genericUpdater, common-updater-scripts
 }:
 
 let inherit (stdenv.lib) getDev; in
 
 stdenv.mkDerivation rec {
   pname = "mlt";
-  version = "6.20.0";
+  version = "6.22.1";
 
   src = fetchFromGitHub {
     owner = "mltframework";
     repo = "mlt";
     rev = "v${version}";
-    sha256 = "14kayzas2wisyw0z27qkcm4qnxbdb7bqa0hg7gaj5kbm3nvsnafk";
+    sha256 = "0jxv848ykw0csbnayrd710ylw46m0picfv7rpzsxz1vh4jzs395k";
   };
 
   buildInputs = [
@@ -57,11 +57,18 @@ stdenv.mkDerivation rec {
     inherit ffmpeg;
   };
 
+  passthru.updateScript = genericUpdater {
+    inherit pname version;
+    versionLister = "${common-updater-scripts}/bin/list-git-tags ${src.meta.homepage}";
+    rev-prefix = "v";
+  };
+
   meta = with stdenv.lib; {
     description = "Open source multimedia framework, designed for television broadcasting";
     homepage = "https://www.mltframework.org/";
     license = licenses.gpl3;
     maintainers = [ maintainers.goibhniu ];
     platforms = platforms.linux;
+    broken = versionAtLeast qtbase.version "5.15";
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/mp4v2/default.nix b/nixpkgs/pkgs/development/libraries/mp4v2/default.nix
index 8fe1477aa63d..9601ae1eea30 100644
--- a/nixpkgs/pkgs/development/libraries/mp4v2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mp4v2/default.nix
@@ -1,39 +1,39 @@
-{ stdenv, lib, fetchurl }:
+{ stdenv, lib, fetchFromGitHub, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "mp4v2-2.0.0";
-
-  src = fetchurl {
-    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/mp4v2/${name}.tar.bz2";
-    sha256 = "0f438bimimsvxjbdp4vsr8hjw2nwggmhaxgcw07g2z361fkbj683";
+  pname = "mp4v2";
+  version = "4.1.3";
+
+  src = fetchFromGitHub {
+    # 2020-06-20: THE current upstream, maintained and used in distros fork.
+    owner = "TechSmith";
+    repo = "mp4v2";
+    rev = "Release-ThirdParty-MP4v2-${version}";
+    sha256 = "053a0lgy819sbz92cfkq0vmkn2ky39bva554pj4ypky1j6vs04fv";
   };
 
   patches = [
     (fetchurl {
-      name = "gcc-7.patch";
-      url = "https://src.fedoraproject.org/cgit/rpms/libmp4v2.git/plain/"
-          + "0004-Fix-GCC7-build.patch?id=d7aeedabb";
+      # 2020-06-19: NOTE: # Fix build with C++11
+      # Close when https://github.com/TechSmith/mp4v2/pull/36 merged/closed.
+      url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/libmp4v2-c++11.patch?id=203f5a72bc97ffe089b424c47b07dd9eaea35713";
       sha256 = "0sbn0il7lmk77yrjyb4f0a3z3h8gsmdkscvz5n9hmrrrhrwf672w";
     })
   ];
 
-  buildFlags = [ "CXXFLAGS=-std=c++03" ];
-
   # `faac' expects `mp4.h'.
   postInstall = "ln -s mp4v2/mp4v2.h $out/include/mp4.h";
 
-  hardeningDisable = [ "format" ];
-
   enableParallelBuilding = true;
 
   meta = {
-    description = "Abandoned library. Provides functions to read, create, and modify mp4 files";
+    description = "Provides functions to read, create, and modify mp4 files";
     longDescription = ''
       MP4v2 library provides an API to work with mp4 files
       as defined by ISO-IEC:14496-1:2001 MPEG-4 Systems.
       This container format is derived from Apple's QuickTime format.
     '';
-    homepage = "https://code.google.com/archive/p/mp4v2/";
+    homepage = "https://github.com/TechSmith/mp4v2";
     maintainers = [ lib.maintainers.Anton-Latukha ];
     platforms = lib.platforms.unix;
     license = lib.licenses.mpl11;
diff --git a/nixpkgs/pkgs/development/libraries/mpfr/default.nix b/nixpkgs/pkgs/development/libraries/mpfr/default.nix
index 9fc717ef38af..4a744b7483ea 100644
--- a/nixpkgs/pkgs/development/libraries/mpfr/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mpfr/default.nix
@@ -6,7 +6,7 @@
 # files.
 
 stdenv.mkDerivation rec {
-  version = "4.0.2";
+  version = "4.1.0";
   pname = "mpfr";
 
   src = fetchurl {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
       #"https://www.mpfr.org/${name}/${name}.tar.xz"
       "mirror://gnu/mpfr/${pname}-${version}.tar.xz"
     ];
-    sha256 = "12m3amcavhpqygc499s3fzqlb8f2j2rr7fkqsm10xbjfc04fffqx";
+    sha256 = "0zwaanakrqjf84lfr5hfsdr7hncwv9wj0mchlr7cmxigfgqs760c";
   };
 
   outputs = [ "out" "dev" "doc" "info" ];
diff --git a/nixpkgs/pkgs/development/libraries/mtxclient/default.nix b/nixpkgs/pkgs/development/libraries/mtxclient/default.nix
index 22b664423055..842d144005d7 100644
--- a/nixpkgs/pkgs/development/libraries/mtxclient/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mtxclient/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mtxclient";
-  version = "0.3.0";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "Nheko-Reborn";
     repo = "mtxclient";
     rev = "v${version}";
-    sha256 = "0vf5xmn6yfi5lvskfgrdmnalvclzrapcrml92bj9qaa8vq8mfsf2";
+    sha256 = "1dg4dq20g0ah62j5s3gpsxqq4ny7lxkxdxa9q6g54hdwkrb9ms7x";
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/muparserx/default.nix b/nixpkgs/pkgs/development/libraries/muparserx/default.nix
new file mode 100644
index 000000000000..2c5bde316b4a
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/muparserx/default.nix
@@ -0,0 +1,42 @@
+{ stdenv
+, fetchFromGitHub
+, cmake
+}:
+
+stdenv.mkDerivation rec {
+  pname = "muparserx";
+  version = "4.0.8";
+
+  src = fetchFromGitHub {
+    owner = "beltoforion";
+    repo = "muparserx";
+    rev = "v${version}";
+    sha256 = "097pkdffv0phr0345hy06mjm5pfy259z13plsvbxvcmds80wl48v";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+  ];
+
+  doCheck = true;
+  checkPhase = ''
+    echo "***Muparserx self-test***"
+    echo "quit" | ./example > test_result.log
+    cat test_result.log
+    if grep -Fqi "failed" test_result.log; then
+      echo ">=1 muparserx tests failed"
+      exit 1
+    else
+      echo -e "\nmuparserx tests succeeded"
+    fi
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A C++ Library for Parsing Expressions with Strings, Complex Numbers, Vectors, Matrices and more.";
+    homepage = "https://beltoforion.de/en/muparserx/";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ drewrisinger ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/nanomsg/default.nix b/nixpkgs/pkgs/development/libraries/nanomsg/default.nix
index 7e96d60840d1..5772581d5ec1 100644
--- a/nixpkgs/pkgs/development/libraries/nanomsg/default.nix
+++ b/nixpkgs/pkgs/development/libraries/nanomsg/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "01ddfzjlkf2dgijrmm3j3j8irccsnbgfvjcnwslsfaxnrmrq5s64";
   };
 
-  buildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake ];
 
   meta = with stdenv.lib; {
     description= "Socket library that provides several common communication patterns";
diff --git a/nixpkgs/pkgs/development/libraries/nanopb/default.nix b/nixpkgs/pkgs/development/libraries/nanopb/default.nix
index a63d367b800d..cafc5c85f21a 100644
--- a/nixpkgs/pkgs/development/libraries/nanopb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/nanopb/default.nix
@@ -50,6 +50,8 @@ in stdenv.mkDerivation rec {
       --subst-var-by python ${pythonRuntime}/bin/python \
       --subst-var-by out $out
     chmod +x $out/bin/protoc-gen-nanopb
+
+    cp ../pb_common.c ../pb_decode.c ../pb_encode.c $out/include/
   '';
 
   passthru.tests = {
diff --git a/nixpkgs/pkgs/development/libraries/ndi/default.nix b/nixpkgs/pkgs/development/libraries/ndi/default.nix
index ec39bbd65937..c0e1816c0e12 100644
--- a/nixpkgs/pkgs/development/libraries/ndi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ndi/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "ndi";
-  fullVersion = "4.5.1";
+  fullVersion = "4.5.3";
   version = builtins.head (builtins.splitVersion fullVersion);
 
   src = requireFile rec {
     name    = "InstallNDISDK_v${version}_Linux.tar.gz";
-    sha256  = "04l57cfc88cdqa9015h5g1csr7xfjxp75x8qz8bsqk1dizp9ir6r";
+    sha256  = "0w9f4a4a3xzg0nvmvrlda1wwkyi0m5aqvk07immmwgg7f1z1sqj5";
     message = ''
       In order to use NDI SDK version ${fullVersion}, you need to comply with
       NewTek's license and download the appropriate Linux tarball from:
diff --git a/nixpkgs/pkgs/development/libraries/neatvnc/default.nix b/nixpkgs/pkgs/development/libraries/neatvnc/default.nix
index 127f25a50bea..dfc1a1571587 100644
--- a/nixpkgs/pkgs/development/libraries/neatvnc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/neatvnc/default.nix
@@ -1,24 +1,25 @@
 { stdenv, fetchFromGitHub, meson, pkg-config, ninja
-, pixman, libuv, gnutls, libdrm
-# libjpeg_turbo: Optional, for tight encoding (disabled because experimental)
-, enableCpuAcceleration ? false # Whether to use CPU extensions (e.g. AVX)
+, pixman, gnutls, libdrm, libjpeg_turbo, zlib, aml
 }:
 
 stdenv.mkDerivation rec {
   pname = "neatvnc";
-  version = "0.1.0";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "any1";
     repo = pname;
     rev = "v${version}";
-    sha256 = "04wcpwxlcf0bczcs97j21346mn6finfj7xgc2dsrwrw9xq8qa7wc";
+    sha256 = "1209dzlmqf5p1cqzf6kss5inwgj644ynrh9qgpjf1kskqwfxn1c4";
   };
 
-  nativeBuildInputs = [ meson pkg-config ninja ];
-  buildInputs = [ pixman libuv gnutls libdrm ];
+  postPatch = ''
+    substituteInPlace meson.build --replace \
+      "version: '0.2.0'" "version: '${version}'"
+  '';
 
-  patches = stdenv.lib.optional (!enableCpuAcceleration) ./disable-cpu-acceleration.patch;
+  nativeBuildInputs = [ meson pkg-config ninja ];
+  buildInputs = [ pixman gnutls libdrm libjpeg_turbo zlib aml ];
 
   meta = with stdenv.lib; {
     description = "A VNC server library";
@@ -30,6 +31,7 @@ stdenv.mkDerivation rec {
       - Interoperability with the Freedesktop.org ecosystem
     '';
     inherit (src.meta) homepage;
+    changelog = "https://github.com/any1/neatvnc/releases/tag/v${version}";
     license = licenses.isc;
     platforms = platforms.linux;
     maintainers = with maintainers; [ primeos ];
diff --git a/nixpkgs/pkgs/development/libraries/neatvnc/disable-cpu-acceleration.patch b/nixpkgs/pkgs/development/libraries/neatvnc/disable-cpu-acceleration.patch
deleted file mode 100644
index 97b77c02df48..000000000000
--- a/nixpkgs/pkgs/development/libraries/neatvnc/disable-cpu-acceleration.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/meson.build b/meson.build
-index 31dd8b8..8761087 100644
---- a/meson.build
-+++ b/meson.build
-@@ -21,12 +21,6 @@ endif
- 
- cpu = host_machine.cpu_family()
- 
--if cpu == 'x86_64'
--	c_args += '-mavx'
--elif cpu == 'arm'
--	c_args += '-mfpu=neon'
--endif
--
- add_project_arguments(c_args, language: 'c')
- 
- cc = meson.get_compiler('c')
diff --git a/nixpkgs/pkgs/development/libraries/netcdf/default.nix b/nixpkgs/pkgs/development/libraries/netcdf/default.nix
index 2e16f58d9fb5..fecc4100f5e6 100644
--- a/nixpkgs/pkgs/development/libraries/netcdf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/netcdf/default.nix
@@ -3,6 +3,7 @@
 , hdf5
 , m4
 , curl # for DAP
+, removeReferencesTo
 }:
 
 let
@@ -26,7 +27,7 @@ in stdenv.mkDerivation rec {
     done
   '';
 
-  nativeBuildInputs = [ m4 ];
+  nativeBuildInputs = [ m4 removeReferencesTo ];
   buildInputs = [ hdf5 curl mpi ];
 
   passthru = {
@@ -42,6 +43,12 @@ in stdenv.mkDerivation rec {
   ]
   ++ (stdenv.lib.optionals mpiSupport [ "--enable-parallel-tests" "CC=${mpi}/bin/mpicc" ]);
 
+  disallowedReferences = [ stdenv.cc ];
+
+  postFixup = ''
+    remove-references-to -t ${stdenv.cc} "$(readlink -f $out/lib/libnetcdf.settings)"
+  '';
+
   doCheck = !mpiSupport;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/libraries/nghttp2/default.nix b/nixpkgs/pkgs/development/libraries/nghttp2/default.nix
index 3294674e178e..c9ccf63f8895 100644
--- a/nixpkgs/pkgs/development/libraries/nghttp2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/nghttp2/default.nix
@@ -27,11 +27,11 @@ let inherit (stdenv.lib) optional optionals optionalString; in
 
 stdenv.mkDerivation rec {
   pname = "nghttp2";
-  version = "1.40.0";
+  version = "1.41.0";
 
   src = fetchurl {
     url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${pname}-${version}.tar.bz2";
-    sha256 = "0kyrgd4s2pq51ps5z385kw1hn62m8qp7c4h6im0g4ibrf89qwxc2";
+    sha256 = "0h12wz72paxnj8l9vv2qfgfbmj20c6pz6xbilb7ns9zcwxwa0p34";
   };
 
   outputs = [ "bin" "out" "dev" "lib" ]
diff --git a/nixpkgs/pkgs/development/libraries/notify-sharp/default.nix b/nixpkgs/pkgs/development/libraries/notify-sharp/default.nix
index 403b0326bb5a..58d35767d1e0 100644
--- a/nixpkgs/pkgs/development/libraries/notify-sharp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/notify-sharp/default.nix
@@ -1,12 +1,13 @@
-{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook
+{ stdenv, fetchFromGitLab, pkgconfig, autoreconfHook
 , mono, gtk-sharp-3_0, dbus-sharp-1_0, dbus-sharp-glib-1_0 }:
 
 stdenv.mkDerivation rec {
   pname = "notify-sharp";
   version = "3.0.3";
 
-  src = fetchFromGitHub {
-    owner = "GNOME";
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "Archive";
     repo = "notify-sharp";
 
     rev = version;
diff --git a/nixpkgs/pkgs/development/libraries/ntirpc/default.nix b/nixpkgs/pkgs/development/libraries/ntirpc/default.nix
new file mode 100644
index 000000000000..40f8d55462da
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/ntirpc/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchFromGitHub, cmake
+, krb5, liburcu , libtirpc
+} :
+
+stdenv.mkDerivation rec {
+  pname = "ntirpc";
+  version = "3.3";
+
+  src = fetchFromGitHub {
+    owner = "nfs-ganesha";
+    repo = "ntirpc";
+    rev = "v${version}";
+    sha256 = "08vc2z9sl1p9mk1mx0zn4xv7dw12gamhciy41fbavm90iavf3vqm";
+  };
+
+  postPatch = ''
+    substituteInPlace ntirpc/netconfig.h --replace "/etc/netconfig" "$out/etc/netconfig"
+  '';
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ krb5 liburcu ];
+
+  postInstall = ''
+    mkdir -p $out/etc
+
+    # Library needs a netconfig to run.
+    # Steal the file from libtirpc
+    cp ${libtirpc}/etc/netconfig $out/etc/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Transport-independent RPC (TI-RPC)";
+    homepage = "https://github.com/nfs-ganesha/ntirpc";
+    maintainers = [ maintainers.markuskowa ];
+    platforms = platforms.linux;
+    license = licenses.bsd3;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/nuspell/default.nix b/nixpkgs/pkgs/development/libraries/nuspell/default.nix
index 57c47c79f843..7de16c7c1199 100644
--- a/nixpkgs/pkgs/development/libraries/nuspell/default.nix
+++ b/nixpkgs/pkgs/development/libraries/nuspell/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nuspell";
-  version = "3.1.1";
+  version = "3.1.2";
 
   src = fetchFromGitHub {
     owner = "nuspell";
     repo = "nuspell";
     rev = "v${version}";
-    sha256 = "18zz3rdzlb3knzsd98vw8cfyb3iq0ilipnlz7rz10zgb5ail73s2";
+    sha256 = "0wbb6dwmzlsyy224y0liis0azgzwbjdvcyzc31pw1aw6vbp36na6";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ronn ];
@@ -31,5 +31,6 @@ stdenv.mkDerivation rec {
     description = "Free and open source C++ spell checking library";
     homepage = "https://nuspell.github.io/";
     maintainers = with maintainers; [ fpletz ];
+    license = licenses.gpl3;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/nv-codec-headers/default.nix b/nixpkgs/pkgs/development/libraries/nv-codec-headers/default.nix
index f74030a02df8..8d3c2179bff9 100644
--- a/nixpkgs/pkgs/development/libraries/nv-codec-headers/default.nix
+++ b/nixpkgs/pkgs/development/libraries/nv-codec-headers/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "nv-codec-headers";
-  version = "9.0.18.1";
+  version = "9.1.23.1";
 
   src = fetchgit {
     url = "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git";
     rev = "n${version}";
-    sha256 = "0354fivb92ix341jds7a7qn3mgwimrnxbganhlhr4vayj25c3hw5";
+    sha256 = "1xfvb3mhz6wfx9c732888xa82ivaig903lhvvrqqzs31qfznsplh";
   };
 
   makeFlags = [ "PREFIX=$(out)" ];
diff --git a/nixpkgs/pkgs/development/libraries/olm/default.nix b/nixpkgs/pkgs/development/libraries/olm/default.nix
index d5c230862333..66ed41e8eadb 100644
--- a/nixpkgs/pkgs/development/libraries/olm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/olm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "olm";
-  version = "3.1.4";
+  version = "3.1.5";
 
   src = fetchurl {
     url = "https://matrix.org/git/olm/-/archive/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0f7azjxc77n4ib9nj3cwyk3vhk8r2dsyf7id6nvqyxqxwxn95a8w";
+    sha256 = "15l6cf029ghfk5bf8ii6nyy86gc90ji8n5hspjhj1xmzmk61xb4j";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/oneDNN/default.nix b/nixpkgs/pkgs/development/libraries/oneDNN/default.nix
index 7d9adca074c6..1fb0f03d305d 100644
--- a/nixpkgs/pkgs/development/libraries/oneDNN/default.nix
+++ b/nixpkgs/pkgs/development/libraries/oneDNN/default.nix
@@ -5,24 +5,26 @@
 # https://github.com/oneapi-src/oneDNN#oneapi-deep-neural-network-library-onednn
 stdenv.mkDerivation rec {
   pname = "oneDNN";
-  version = "1.4";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner = "oneapi-src";
     repo = "oneDNN";
     rev = "v${version}";
-    sha256 = "162fb0c7klahz2irchhyxympi4fq4yp284apc53cadbss41mzld9";
+    sha256 = "1rdq2rb4f9xbk2a07fpqgvd9mx1r5gwpm0jr8rra815bzddam8zh";
   };
 
   outputs = [ "out" "dev" "doc" ];
 
   nativeBuildInputs = [ cmake ];
 
-  doCheck = true;
+  # Tests fail on some Hydra builders, because they do not support SSE4.2.
+  doCheck = false;
 
   # The test driver doesn't add an RPath to the build libdir
   preCheck = ''
-    export LD_LIBRARY_PATH=$PWD/src
+    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD/src
+    export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH''${DYLD_LIBRARY_PATH:+:}$PWD/src
   '';
 
   # The cmake install gets tripped up and installs a nix tree into $out, in
@@ -33,10 +35,10 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "oneAPI Deep Neural Network Library (oneDNN)";
-    homepage = "https://01.org/dnnl";
+    homepage = "https://01.org/oneDNN";
     changelog = "https://github.com/oneapi-src/oneDNN/releases/tag/v${version}";
     license = licenses.asl20;
-    platforms = [ "x86_64-linux" ];
+    platforms = platforms.all;
     maintainers = with maintainers; [ alexarice bhipple ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/onnxruntime/default.nix b/nixpkgs/pkgs/development/libraries/onnxruntime/default.nix
index 7d0a9342aa7b..06d0d194cd59 100644
--- a/nixpkgs/pkgs/development/libraries/onnxruntime/default.nix
+++ b/nixpkgs/pkgs/development/libraries/onnxruntime/default.nix
@@ -4,17 +4,22 @@
 
 stdenv.mkDerivation rec {
   pname = "onnxruntime";
-  version = "1.2.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "microsoft";
     repo = "onnxruntime";
     rev = "v${version}";
-    sha256 = "1alhb7nvlxrr9yf757gs4hkzksbk3mxyv5zcmmpl82ibl65vh55k";
+    sha256 = "0rbk1jbfc447x2wybz2hsba6w1ij0fq21996l52cqv39898lvy9d";
     # TODO: use nix-versions of grpc, onnx, eigen, googletest, etc.
     # submodules increase src size and compile times significantly
     # not currently feasible due to how integrated cmake build is with git
     fetchSubmodules = true;
+    # Remove unicode file names which leads to different checksums on HFS+
+    # vs. other filesystems because of unicode normalisation.
+    postFetch = ''
+      rm -rf $out/winml/test/collateral/models/UnicodePath/
+    '';
   };
 
   # TODO: build server, and move .so's to lib output
@@ -36,8 +41,7 @@ stdenv.mkDerivation rec {
   cmakeFlags = [
     "-Donnxruntime_USE_OPENMP=ON"
     "-Donnxruntime_BUILD_SHARED_LIB=ON"
-    # flip back to ON next release
-    "-Donnxruntime_ENABLE_LTO=OFF" # https://github.com/microsoft/onnxruntime/issues/2828
+    "-Donnxruntime_ENABLE_LTO=ON"
   ];
 
   # ContribOpTest.StringNormalizerTest sets locale to en_US.UTF-8"
diff --git a/nixpkgs/pkgs/development/libraries/opencascade-occt/7.3.nix b/nixpkgs/pkgs/development/libraries/opencascade-occt/7.3.nix
new file mode 100644
index 000000000000..83b1cfc2addf
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/opencascade-occt/7.3.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, fetchpatch, cmake, ninja, tcl, tk,
+  libGL, libGLU, libXext, libXmu, libXi }:
+
+stdenv.mkDerivation rec {
+  pname = "opencascade-occt";
+  version = "7.3.0p3";
+  commit = "V${builtins.replaceStrings ["."] ["_"] version}";
+
+  src = fetchurl {
+    name = "occt-${commit}.tar.gz";
+    url = "https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=${commit};sf=tgz";
+    sha256 = "0k9c3ypcnjcilq1dhsf6xxbd52gyq4h5rchvp30k3c8ph4ris5pz";
+  };
+
+  nativeBuildInputs = [ cmake ninja ];
+  buildInputs = [ tcl tk libGL libGLU libXext libXmu libXi ];
+
+  meta = with stdenv.lib; {
+    description = "Open CASCADE Technology, libraries for 3D modeling and numerical simulation";
+    homepage = "https://www.opencascade.org/";
+    license = licenses.lgpl21;  # essentially...
+    # The special exception defined in the file OCCT_LGPL_EXCEPTION.txt
+    # are basically about making the license a little less share-alike.
+    maintainers = with maintainers; [ amiloradovsky ];
+    platforms = platforms.all;
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/libraries/opencascade-occt/default.nix b/nixpkgs/pkgs/development/libraries/opencascade-occt/default.nix
index 83b1cfc2addf..f0016555c046 100644
--- a/nixpkgs/pkgs/development/libraries/opencascade-occt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/opencascade-occt/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "opencascade-occt";
-  version = "7.3.0p3";
+  version = "7.4.0p1";
   commit = "V${builtins.replaceStrings ["."] ["_"] version}";
 
   src = fetchurl {
     name = "occt-${commit}.tar.gz";
     url = "https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=${commit};sf=tgz";
-    sha256 = "0k9c3ypcnjcilq1dhsf6xxbd52gyq4h5rchvp30k3c8ph4ris5pz";
+    sha256 = "0b9hs3akx1f3hhg4zdip6qdv04ssqqcf9kk12amkidgvsl73z2hs";
   };
 
   nativeBuildInputs = [ cmake ninja ];
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl21;  # essentially...
     # The special exception defined in the file OCCT_LGPL_EXCEPTION.txt
     # are basically about making the license a little less share-alike.
-    maintainers = with maintainers; [ amiloradovsky ];
+    maintainers = with maintainers; [ amiloradovsky gebner ];
     platforms = platforms.all;
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/opencascade/default.nix b/nixpkgs/pkgs/development/libraries/opencascade/default.nix
index 8334bf195f7b..c0b2366ab7fc 100644
--- a/nixpkgs/pkgs/development/libraries/opencascade/default.nix
+++ b/nixpkgs/pkgs/development/libraries/opencascade/default.nix
@@ -1,6 +1,9 @@
 { stdenv, fetchFromGitHub, fetchpatch, libGL, libGLU, libXmu, cmake, ninja,
-  pkgconfig, fontconfig, freetype, expat, freeimage, vtk }:
+  pkgconfig, fontconfig, freetype, expat, freeimage, vtk, gl2ps, tbb,
+  OpenCL, Cocoa
+}:
 
+with stdenv.lib;
 stdenv.mkDerivation rec {
   pname = "opencascade-oce";
   version = "0.18.3";
@@ -13,13 +16,21 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake ninja pkgconfig ];
-  buildInputs = [ libGL libGLU libXmu freetype fontconfig expat freeimage vtk ];
+  buildInputs = [
+    libGL libGLU libXmu freetype fontconfig expat freeimage vtk
+    gl2ps tbb
+  ]
+    ++ optionals stdenv.isDarwin [OpenCL Cocoa]
+  ;
 
   cmakeFlags = [
     "-DOCE_INSTALL_PREFIX=${placeholder "out"}"
     "-DOCE_WITH_FREEIMAGE=ON"
     "-DOCE_WITH_VTK=ON"
-  ];
+    "-DOCE_WITH_GL2PS=ON"
+    "-DOCE_MULTITHREAD_LIBRARY=TBB"
+  ]
+  ++ optionals stdenv.isDarwin ["-DOCE_OSX_USE_COCOA=ON" "-DOCE_WITH_OPENCL=ON"];
 
   patches = [
     # Use fontconfig instead of hardcoded directory list
@@ -33,6 +44,10 @@ stdenv.mkDerivation rec {
       url = "https://github.com/tpaviot/oce/commit/3b44656e93270d782009b06ec4be84d2a13f8126.patch";
       sha256 = "1ccakkcwy5g0184m23x0mnh22i0lk45xm8kgiv5z3pl7nh35dh8k";
     })
+    (fetchpatch {
+      url = "https://github.com/tpaviot/oce/commit/cf50d078cd5fac03a48fd204938bd240930a08dc.patch";
+      sha256 = "1xv94hcvggmb1c8vqwic1aiw9jw1sxk8mqbaak9xs9ycfqdvgdyc";
+    })
   ];
 
   postPatch = ''
@@ -41,11 +56,11 @@ stdenv.mkDerivation rec {
       --replace FONTCONFIG_LIBRARIES FONTCONFIG_LINK_LIBRARIES
   '';
 
-  meta = with stdenv.lib; {
+  meta = {
     description = "Open CASCADE Technology, libraries for 3D modeling and numerical simulation";
     homepage = "https://github.com/tpaviot/oce";
     maintainers = [ maintainers.viric ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     license = licenses.lgpl21;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/opencl-clhpp/default.nix b/nixpkgs/pkgs/development/libraries/opencl-clhpp/default.nix
index bf45bc90f197..1486ea93175b 100644
--- a/nixpkgs/pkgs/development/libraries/opencl-clhpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/opencl-clhpp/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "opencl-clhpp";
-  version = "2.0.11";
+  version = "2.0.12";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "OpenCL-CLHPP";
     rev = "v${version}";
-    sha256 = "0a0n0f1lb86cwfm0ndzykcn965vz1v0n9n3rfmkiwrzkdhc9iy2y";
+    sha256 = "04g3mg2cpbi048fxxkghra81bpxzqr4r3gspx5mvqipx1lzypsci";
   };
 
   nativeBuildInputs = [ cmake python ];
diff --git a/nixpkgs/pkgs/development/libraries/opencl-headers/default.nix b/nixpkgs/pkgs/development/libraries/opencl-headers/default.nix
index 682a547d8f33..aaf6390d00a5 100644
--- a/nixpkgs/pkgs/development/libraries/opencl-headers/default.nix
+++ b/nixpkgs/pkgs/development/libraries/opencl-headers/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "opencl-headers-${version}";
-  version = "2020.03.13";
+  version = "2020.06.16";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "OpenCL-Headers";
     rev = "v${version}";
-    sha256 = "1d9ibiwicaj17757h9yyjc9i2hny8d8npn4spbjscins8972z3hw";
+    sha256 = "0viiwhfqccw90r3mr45ab3wyhabpdrihplj5842brn5ny0ayh73z";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/development/libraries/opencv/3.x.nix b/nixpkgs/pkgs/development/libraries/opencv/3.x.nix
index 1597eb7913a5..2ad2d016c9fd 100644
--- a/nixpkgs/pkgs/development/libraries/opencv/3.x.nix
+++ b/nixpkgs/pkgs/development/libraries/opencv/3.x.nix
@@ -9,7 +9,6 @@
 , enableTIFF      ? true, libtiff
 , enableWebP      ? true, libwebp
 , enableEXR ?     !stdenv.isDarwin, openexr, ilmbase
-, enableJPEG2K    ? false, jasper  # disable jasper by default (many CVE)
 , enableEigen     ? true, eigen
 , enableOpenblas  ? true, openblas, blas, lapack
 , enableContrib   ? true
@@ -187,7 +186,6 @@ stdenv.mkDerivation {
     ++ lib.optional enableTIFF libtiff
     ++ lib.optional enableWebP libwebp
     ++ lib.optionals enableEXR [ openexr ilmbase ]
-    ++ lib.optional enableJPEG2K jasper
     ++ lib.optional enableFfmpeg ffmpeg_3
     ++ lib.optionals (enableFfmpeg && stdenv.isDarwin)
                      [ VideoDecodeAcceleration bzip2 ]
@@ -225,7 +223,6 @@ stdenv.mkDerivation {
     "-DBUILD_DOCS=${printEnabled enableDocs}"
     (opencvFlag "IPP" enableIpp)
     (opencvFlag "TIFF" enableTIFF)
-    (opencvFlag "JASPER" enableJPEG2K)
     (opencvFlag "WEBP" enableWebP)
     (opencvFlag "JPEG" enableJPEG)
     (opencvFlag "PNG" enablePNG)
diff --git a/nixpkgs/pkgs/development/libraries/opencv/4.x.nix b/nixpkgs/pkgs/development/libraries/opencv/4.x.nix
index dd71b10728d8..adeab6b44948 100644
--- a/nixpkgs/pkgs/development/libraries/opencv/4.x.nix
+++ b/nixpkgs/pkgs/development/libraries/opencv/4.x.nix
@@ -9,7 +9,6 @@
 , enableTIFF      ? true, libtiff
 , enableWebP      ? true, libwebp
 , enableEXR ?     !stdenv.isDarwin, openexr, ilmbase
-, enableJPEG2K    ? false, jasper  # disable jasper by default (many CVE)
 , enableEigen     ? true, eigen
 , enableOpenblas  ? true, openblas, blas, lapack
 , enableContrib   ? true
@@ -32,7 +31,7 @@
 , enableDC1394    ? false, libdc1394
 , enableDocs      ? false, doxygen, graphviz-nox
 
-, AVFoundation, Cocoa, VideoDecodeAcceleration, bzip2
+, AVFoundation, Cocoa, VideoDecodeAcceleration, CoreMedia, MediaToolbox, bzip2
 }:
 
 assert blas.implementation == "openblas" && lapack.implementation == "openblas";
@@ -203,7 +202,6 @@ stdenv.mkDerivation {
     ++ lib.optional enableTIFF libtiff
     ++ lib.optional enableWebP libwebp
     ++ lib.optionals enableEXR [ openexr ilmbase ]
-    ++ lib.optional enableJPEG2K jasper
     ++ lib.optional enableFfmpeg ffmpeg_3
     ++ lib.optionals (enableFfmpeg && stdenv.isDarwin)
                      [ VideoDecodeAcceleration bzip2 ]
@@ -219,7 +217,7 @@ stdenv.mkDerivation {
     ++ lib.optionals enableTesseract [ tesseract leptonica ]
     ++ lib.optional enableTbb tbb
     ++ lib.optionals enableCuda [ cudatoolkit nvidia-optical-flow-sdk ]
-    ++ lib.optionals stdenv.isDarwin [ bzip2 AVFoundation Cocoa VideoDecodeAcceleration ]
+    ++ lib.optionals stdenv.isDarwin [ bzip2 AVFoundation Cocoa VideoDecodeAcceleration CoreMedia MediaToolbox ]
     ++ lib.optionals enableDocs [ doxygen graphviz-nox ];
 
   propagatedBuildInputs = lib.optional enablePython pythonPackages.numpy;
@@ -242,7 +240,6 @@ stdenv.mkDerivation {
     "-DBUILD_DOCS=${printEnabled enableDocs}"
     (opencvFlag "IPP" enableIpp)
     (opencvFlag "TIFF" enableTIFF)
-    (opencvFlag "JASPER" enableJPEG2K)
     (opencvFlag "WEBP" enableWebP)
     (opencvFlag "JPEG" enableJPEG)
     (opencvFlag "PNG" enablePNG)
@@ -258,7 +255,6 @@ stdenv.mkDerivation {
   ] ++ lib.optionals stdenv.isDarwin [
     "-DWITH_OPENCL=OFF"
     "-DWITH_LAPACK=OFF"
-    "-DBUILD_opencv_videoio=OFF"
   ] ++ lib.optionals enablePython [
     "-DOPENCV_SKIP_PYTHON_LOADER=ON"
   ];
diff --git a/nixpkgs/pkgs/development/libraries/opencv/default.nix b/nixpkgs/pkgs/development/libraries/opencv/default.nix
index 06a3d5f194fb..d71c210fb6f6 100644
--- a/nixpkgs/pkgs/development/libraries/opencv/default.nix
+++ b/nixpkgs/pkgs/development/libraries/opencv/default.nix
@@ -6,7 +6,6 @@
 , enablePNG ? true, libpng
 , enableTIFF ? true, libtiff
 , enableEXR ? (!stdenv.isDarwin), openexr, ilmbase
-, enableJPEG2K ? false, jasper  # disable jasper by default (many CVE)
 , enableFfmpeg ? false, ffmpeg_3
 , enableGStreamer ? false, gst_all_1
 , enableEigen ? true, eigen
@@ -50,7 +49,6 @@ stdenv.mkDerivation rec {
     ++ lib.optional enablePNG libpng
     ++ lib.optional enableTIFF libtiff
     ++ lib.optionals enableEXR [ openexr ilmbase ]
-    ++ lib.optional enableJPEG2K jasper
     ++ lib.optional enableFfmpeg ffmpeg_3
     ++ lib.optionals enableGStreamer (with gst_all_1; [ gstreamer gst-plugins-base ])
     ++ lib.optional enableEigen eigen
@@ -65,7 +63,6 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     (opencvFlag "TIFF" enableTIFF)
-    (opencvFlag "JASPER" enableJPEG2K)
     (opencvFlag "JPEG" enableJPEG)
     (opencvFlag "PNG" enablePNG)
     (opencvFlag "OPENEXR" enableEXR)
diff --git a/nixpkgs/pkgs/development/libraries/opendht/default.nix b/nixpkgs/pkgs/development/libraries/opendht/default.nix
index c8b1205bc91b..f9b2e07fb423 100644
--- a/nixpkgs/pkgs/development/libraries/opendht/default.nix
+++ b/nixpkgs/pkgs/development/libraries/opendht/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "opendht";
-  version = "2.1.3";
+  version = "2.1.4";
 
   src = fetchFromGitHub {
     owner = "savoirfairelinux";
     repo = "opendht";
     rev = version;
-    sha256 = "0qz9mdkanz4vd38bdpwvcwvbpzf19i6019rmqw3k1vh5mh22ljhr";
+    sha256 = "1ax26ri1ifb6s8ppd28jmanka9yf8mw3np65q2h4djhhik0phhal";
   };
 
   nativeBuildInputs =
diff --git a/nixpkgs/pkgs/development/libraries/opendmarc/default.nix b/nixpkgs/pkgs/development/libraries/opendmarc/default.nix
new file mode 100644
index 000000000000..9b45cc244f26
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/opendmarc/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, libmilter, perl, perlPackages, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  pname = "opendmarc";
+  version = "1.3.3";
+
+  src = fetchFromGitHub {
+    owner = "trusteddomainproject";
+    repo = "opendmarc";
+    rev = "rel-opendmarc-${builtins.replaceStrings [ "." ] [ "-" ] version}";
+    sha256 = "sha256-SQH85FLfVEEtYhR1+A1XxCDMiTjDgLQX6zifbLxCa5c=";
+  };
+
+  outputs = [ "bin" "dev" "out" "doc" ];
+
+  buildInputs = [ perl ];
+  nativeBuildInputs = [ autoreconfHook makeWrapper ];
+
+  postPatch = ''
+    substituteInPlace configure.ac --replace '	docs/Makefile' ""
+    patchShebangs contrib reports
+  '';
+
+  configureFlags = [
+    "--with-milter=${libmilter}"
+  ];
+
+  postFixup = ''
+    for b in $bin/bin/opendmarc-{expire,import,params,reports}; do
+      wrapProgram $b --set PERL5LIB ${perlPackages.makeFullPerlPath (with perlPackages; [ Switch DBI DBDmysql HTTPMessage ])}
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A free open source software implementation of the DMARC specification";
+    homepage = "http://www.trusteddomain.org/opendmarc/";
+    license = with licenses; [ bsd3 sendmail ];
+    maintainers = with maintainers; [ ajs124 das_j ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/openexr/default.nix b/nixpkgs/pkgs/development/libraries/openexr/default.nix
index 425afc70f37c..b33b284f45cb 100644
--- a/nixpkgs/pkgs/development/libraries/openexr/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openexr/default.nix
@@ -4,26 +4,33 @@
 , fetchFromGitHub
 , zlib
 , ilmbase
-, fetchpatch 
+, fetchpatch
 , cmake
-, libtool
 }:
+
 stdenv.mkDerivation rec {
   pname = "openexr";
-  version = "2.4.1";
+  version = "2.5.3";
+
+  outputs = [ "bin" "dev" "out" "doc" ];
 
   src = fetchFromGitHub {
     owner = "AcademySoftwareFoundation";
     repo = "openexr";
     rev = "v${version}";
-    sha256 = "020gyl8zv83ag6gbcchmqiyx9rh2jca7j8n52zx1gk4rck7kwc01";
+    sha256 = "xyYdRrwAYdnRZmErIK0tZspguqtrXvixO5+6nMDoOh8=";
   };
 
-  outputs = [ "bin" "dev" "out" "doc" ];
-  nativeBuildInputs = [ cmake libtool ];
-  propagatedBuildInputs = [ ilmbase zlib ];
+  patches = [
+    # Fix pkg-config paths
+    (fetchpatch {
+      url = "https://github.com/AcademySoftwareFoundation/openexr/commit/6442fb71a86c09fb0a8118b6dbd93bcec4883a3c.patch";
+      sha256 = "bwD5WTKPT4DjOJDnPXIvT5hJJkH0b71Vo7qupWO9nPA=";
+    })
+  ];
 
-  enableParallelBuilding = true;
+  nativeBuildInputs = [ cmake ];
+  propagatedBuildInputs = [ ilmbase zlib ];
 
   meta = with stdenv.lib; {
     description = "A high dynamic-range (HDR) image file format";
diff --git a/nixpkgs/pkgs/development/libraries/openfst/default.nix b/nixpkgs/pkgs/development/libraries/openfst/default.nix
index db644287d2e1..f652c5ee7b7c 100644
--- a/nixpkgs/pkgs/development/libraries/openfst/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openfst/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "openfst";
-  version = "1.7.7";
+  version = "1.7.9";
 
   src = fetchurl {
     url = "http://www.openfst.org/twiki/pub/FST/FstDownload/${pname}-${version}.tar.gz";
-    sha256 = "1gpkpkls78xlidqq241scdz9vagxl8c4ksc4lqj4ycwx6vzyliij";
+    sha256 = "1pmx1yhn2gknj0an0zwqmzgwjaycapi896244np50a8y3nrsw6ck";
   };
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/opengrm-ngram/default.nix b/nixpkgs/pkgs/development/libraries/opengrm-ngram/default.nix
new file mode 100644
index 000000000000..ab546c6d0d45
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/opengrm-ngram/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, autoreconfHook, fetchurl, openfst }:
+
+stdenv.mkDerivation rec {
+  pname = "opengrm-ngram";
+  version = "1.3.11";
+
+  src = fetchurl {
+    url = "http://www.openfst.org/twiki/pub/GRM/NGramDownload/ngram-${version}.tar.gz";
+    sha256 = "0wwpcj8qncdr9f2pmi0vhlw277dyxr85ygdi8g57xp2ifysigm05";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  buildInputs = [ openfst ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Library to make and modify n-gram language models encoded as weighted finite-state transducers";
+    homepage = "http://www.openfst.org/twiki/bin/view/GRM/NGramLibrary";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ mic92 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/openimagedenoise/default.nix b/nixpkgs/pkgs/development/libraries/openimagedenoise/default.nix
index 5cecc33564e4..2ac74c6c240b 100644
--- a/nixpkgs/pkgs/development/libraries/openimagedenoise/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openimagedenoise/default.nix
@@ -1,18 +1,16 @@
-{ stdenv, fetchFromGitHub, cmake, tbb, python }:
+{ stdenv, fetchzip, cmake, tbb, python, ispc }:
 
 stdenv.mkDerivation rec {
   pname = "openimagedenoise";
-  version = "1.1.0";
+  version = "1.2.2";
 
-  src = fetchFromGitHub {
-    owner = "OpenImageDenoise";
-    repo = "oidn";
-    rev = "v${version}";
-    sha256 = "032s7vablqnmrcc4xf2c94kwj0kbcd64bram10g0yc42fg0a3r9m";
-    fetchSubmodules = true;
+  # The release tarballs include pretrained weights, which would otherwise need to be fetched with git-lfs
+  src = fetchzip {
+    url = "https://github.com/OpenImageDenoise/oidn/releases/download/v${version}/oidn-${version}.src.tar.gz";
+    sha256 = "0wyaarjxkzlvljmpnr7qm06ma2wl1aik3z664gwpzhizswygk6yp";
   };
 
-  nativeBuildInputs = [ cmake python ];
+  nativeBuildInputs = [ cmake python ispc ];
   buildInputs = [ tbb ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/libraries/openldap/default.nix b/nixpkgs/pkgs/development/libraries/openldap/default.nix
index a4274f064e56..7f9c2dbf3ee9 100644
--- a/nixpkgs/pkgs/development/libraries/openldap/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openldap/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, openssl, cyrus_sasl, db, groff, libtool }:
 
 stdenv.mkDerivation rec {
-  name = "openldap-2.4.50";
+  name = "openldap-2.4.51";
 
   src = fetchurl {
     url = "https://www.openldap.org/software/download/OpenLDAP/openldap-release/${name}.tgz";
-    sha256 = "1f46nlfwmys110j36sifm7ah8m8f3s10c3vaiikmmigmifapvdaw";
+    sha256 = "0qmy2jkk6v9iqwrsdsn8s7lwzaplr01a2mgf21r6nl66lig7g47l";
   };
 
   # TODO: separate "out" and "bin"
@@ -23,7 +23,8 @@ stdenv.mkDerivation rec {
     "STRIP="
     "prefix=$(out)"
     "moduledir=$(out)/lib/modules"
-  ] ++ stdenv.lib.optionals stdenv.isDarwin [ "CC=cc" ];
+    "CC=${stdenv.cc.targetPrefix}cc"
+  ];
 
   configureFlags = [
     "--enable-overlays"
@@ -40,8 +41,8 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional stdenv.isFreeBSD "--with-pic";
 
   postBuild = ''
-    make $makeFlags -C contrib/slapd-modules/passwd/sha2
-    make $makeFlags -C contrib/slapd-modules/passwd/pbkdf2
+    make $makeFlags CC=$CC -C contrib/slapd-modules/passwd/sha2
+    make $makeFlags CC=$CC -C contrib/slapd-modules/passwd/pbkdf2
   '';
 
   doCheck = false; # needs a running LDAP server
diff --git a/nixpkgs/pkgs/development/libraries/openmpi/default.nix b/nixpkgs/pkgs/development/libraries/openmpi/default.nix
index 5c185f630d98..95c2a9c3fcf4 100644
--- a/nixpkgs/pkgs/development/libraries/openmpi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openmpi/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, fetchpatch, gfortran, perl, libnl
 , rdma-core, zlib, numactl, libevent, hwloc, targetPackages, symlinkJoin
-, libpsm2, libfabric
+, libpsm2, libfabric, pmix, ucx
 
 # Enable CUDA support
 , cudaSupport ? false, cudatoolkit ? null
@@ -13,13 +13,12 @@
 
 # Enable libfabric support (necessary for Omnipath networks) on x86_64 linux
 , fabricSupport ? stdenv.isLinux && stdenv.isx86_64
-
 }:
 
 assert !cudaSupport || cudatoolkit != null;
 
 let
-  version = "4.0.4";
+  version = "4.0.5";
 
   cudatoolkit_joined = symlinkJoin {
     name = "${cudatoolkit.name}-unsplit";
@@ -31,7 +30,7 @@ in stdenv.mkDerivation rec {
 
   src = with stdenv.lib.versions; fetchurl {
     url = "https://www.open-mpi.org/software/ompi/v${major version}.${minor version}/downloads/${pname}-${version}.tar.bz2";
-    sha256 = "1i0slg2dxjdgw513aml1n9dsbdxn2fimi2b5712d5r9z4ar4xqj7";
+    sha256 = "02f0r9d3xgs08svkmj8v7lzviyxqnkk4yd3z0wql550xnriki3y5";
   };
 
   postPatch = ''
@@ -46,7 +45,7 @@ in stdenv.mkDerivation rec {
   '';
 
   buildInputs = with stdenv; [ gfortran zlib ]
-    ++ lib.optionals isLinux [ libnl numactl ]
+    ++ lib.optionals isLinux [ libnl numactl pmix ucx ]
     ++ lib.optionals cudaSupport [ cudatoolkit ]
     ++ [ libevent hwloc ]
     ++ lib.optional (isLinux || isFreeBSD) rdma-core
@@ -55,8 +54,12 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs = [ perl ];
 
   configureFlags = with stdenv; lib.optional (!cudaSupport) "--disable-mca-dso"
-    ++ lib.optional isLinux  "--with-libnl=${libnl.dev}"
-    ++ lib.optional enableSGE "--with-sge"
+    ++ lib.optionals isLinux  [
+      "--with-libnl=${libnl.dev}"
+      "--with-pmix=${pmix}"
+      "--with-pmix-libdir=${pmix}/lib"
+      "--enable-mpi-cxx"
+    ] ++ lib.optional enableSGE "--with-sge"
     ++ lib.optional enablePrefix "--enable-mpirun-prefix-by-default"
     # TODO: add UCX support, which is recommended to use with cuda for the most robust OpenMPI build
     # https://github.com/openucx/ucx
diff --git a/nixpkgs/pkgs/development/libraries/openscenegraph/default.nix b/nixpkgs/pkgs/development/libraries/openscenegraph/default.nix
index a86171852164..4ded4770fc81 100644
--- a/nixpkgs/pkgs/development/libraries/openscenegraph/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openscenegraph/default.nix
@@ -2,7 +2,6 @@
   libX11, libXinerama, libXrandr, libGLU, libGL,
   glib, ilmbase, libxml2, pcre, zlib,
   jpegSupport ? true, libjpeg,
-  jasperSupport ? false, jasper,  # disable jasper by default (many CVE)
   exrSupport ? false, openexr,
   gifSupport ? true, giflib,
   pngSupport ? true, libpng,
@@ -42,7 +41,6 @@ stdenv.mkDerivation rec {
     libX11 libXinerama libXrandr libGLU libGL
     glib ilmbase libxml2 pcre zlib
   ] ++ lib.optional jpegSupport libjpeg
-    ++ lib.optional jasperSupport jasper
     ++ lib.optional exrSupport openexr
     ++ lib.optional gifSupport giflib
     ++ lib.optional pngSupport libpng
diff --git a/nixpkgs/pkgs/development/libraries/openxr-loader/default.nix b/nixpkgs/pkgs/development/libraries/openxr-loader/default.nix
index 47f9afe18619..e03752872f9a 100644
--- a/nixpkgs/pkgs/development/libraries/openxr-loader/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openxr-loader/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openxr-loader";
-  version = "1.0.9";
+  version = "1.0.11";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "OpenXR-SDK-Source";
     rev = "release-${version}";
-    sha256 = "0xm5bwbsv2qlx1mg9zr98q7rm5hginrff4z0ahv7jrqrzv24acp7";
+    sha256 = "0f3x5h0hdjiqgjf5mzzlprbhrbyabxllrjmlzgc9fv5rgqyyphj5";
   };
 
   nativeBuildInputs = [ cmake python3 ];
diff --git a/nixpkgs/pkgs/development/libraries/orcania/default.nix b/nixpkgs/pkgs/development/libraries/orcania/default.nix
index 2f8765f9a725..4a01de54a6d9 100644
--- a/nixpkgs/pkgs/development/libraries/orcania/default.nix
+++ b/nixpkgs/pkgs/development/libraries/orcania/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchFromGitHub, cmake, check, subunit }:
 stdenv.mkDerivation rec {
   pname = "orcania";
-  version = "2.1.0";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = "babelouest";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1zp2rk267dfmfap6qsyn7maivrpid8s3rkicwk1q5v6j20cgh1f8";
+    sha256 = "0l035zbzyv623h5186rk6iq1097rxx64iwnk4s2c7l9gzv9wyapp";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/orocos-kdl/default.nix b/nixpkgs/pkgs/development/libraries/orocos-kdl/default.nix
new file mode 100644
index 000000000000..094ee544649d
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/orocos-kdl/default.nix
@@ -0,0 +1,26 @@
+{ lib, stdenv, fetchFromGitHub, cmake, eigen }:
+
+stdenv.mkDerivation rec {
+  pname = "orocos-kdl";
+  version = "1.4.0";
+
+  src = fetchFromGitHub {
+    owner = "orocos";
+    repo = "orocos_kinematics_dynamics";
+    rev = "v${version}";
+    sha256 = "0qj56j231h0rnjbglakammxn2lwmhy5f2qa37v1f6pcn81dn13vv";
+  };
+
+  sourceRoot = "source/orocos_kdl";
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ eigen ];
+
+  meta = with lib; {
+    description = "Kinematics and Dynamics Library";
+    homepage = "https://www.orocos.org/kdl.html";
+    license = licenses.lgpl21Only;
+    maintainers = with maintainers; [ lopsided98 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/p11-kit/default.nix b/nixpkgs/pkgs/development/libraries/p11-kit/default.nix
index 204de957f3df..46f520e41e4a 100644
--- a/nixpkgs/pkgs/development/libraries/p11-kit/default.nix
+++ b/nixpkgs/pkgs/development/libraries/p11-kit/default.nix
@@ -4,19 +4,24 @@
 
 stdenv.mkDerivation rec {
   pname = "p11-kit";
-  version = "0.23.20";
+  version = "0.23.21";
 
   src = fetchFromGitHub {
     owner = "p11-glue";
     repo = pname;
     rev = version;
-    sha256 = "00xxhzgd7cpin9nzwrrzykvhjwqg5l45p0cq2gv68y3sxq2p9q6y";
+    sha256 = "1w24brn8j3vwfp07p2hldw2ci06pk1cx1dvjk8jjxkccp20fk958";
   };
 
   outputs = [ "out" "dev"];
   outputBin = "dev";
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig which ];
+  # 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 pkgconfig which libtasn1 ];
   buildInputs = [ gettext libffi libiconv libtasn1 ];
 
   autoreconfPhase = ''
diff --git a/nixpkgs/pkgs/development/libraries/packr/default.nix b/nixpkgs/pkgs/development/libraries/packr/default.nix
index ec2de274ccb2..017cb25a9d17 100644
--- a/nixpkgs/pkgs/development/libraries/packr/default.nix
+++ b/nixpkgs/pkgs/development/libraries/packr/default.nix
@@ -20,6 +20,8 @@ let p2 = buildGoModule rec {
 
   vendorSha256 = "12yq121b0bn8z12091fyqhhz421kgx4z1nskrkvbxlhyc47bwyrp";
 
+  doCheck = false;
+
   meta = with stdenv.lib; {
     description = "The simple and easy way to embed static files into Go binaries";
     homepage = "https://github.com/gobuffalo/packr";
@@ -42,6 +44,8 @@ p1 = buildGoModule rec {
 
   vendorSha256 = "0m3yj8ww4a16j56p8d8w0sdnyx0g2bkd8zg0l4d8vb72mvg5asga";
 
+  doCheck = false;
+
   meta = with lib; {
     description = "The simple and easy way to embed static files into Go binaries";
     homepage = "https://github.com/gobuffalo/packr";
@@ -53,4 +57,4 @@ in
 symlinkJoin{
     name = "packr";
     paths = [p1 p2];
-}
\ No newline at end of file
+}
diff --git a/nixpkgs/pkgs/development/libraries/pango/default.nix b/nixpkgs/pkgs/development/libraries/pango/default.nix
index 358ae3df9911..e3bdba9b3b1b 100644
--- a/nixpkgs/pkgs/development/libraries/pango/default.nix
+++ b/nixpkgs/pkgs/development/libraries/pango/default.nix
@@ -9,15 +9,26 @@ with stdenv.lib;
 
 let
   pname = "pango";
-  version = "1.44.7";
+  version = "1.45.3";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "07qvxa2sk90chp1l12han6vxvy098mc37sdqcznyywyv2g6bd9b6";
+    sha256 = "0zg6gvzk227q997jf1c9p7j5ra87nm008hlgq6q8na9xmgmw2x8z";
   };
 
+  patches = [
+    # Fix issue with Pango loading unsupported formats that
+    # breaks mixed x11/opentype font packages.
+    # See https://gitlab.gnome.org/GNOME/pango/issues/457
+    # Remove on next release.
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/pango/commit/fe1ee773310bac83d8e5d3c062b13a51fb5fb4ad.patch";
+      sha256 = "1px66g31l2jx4baaqi4md59wlmvw0ywgspn6zr919fxl4h1kkh0h";
+    })
+  ];
+
   # FIXME: docs fail on darwin
   outputs = [ "bin" "dev" "out" ] ++ optional (!stdenv.isDarwin) "devdoc";
 
diff --git a/nixpkgs/pkgs/development/libraries/pc-ble-driver/default.nix b/nixpkgs/pkgs/development/libraries/pc-ble-driver/default.nix
new file mode 100644
index 000000000000..7d7dbd53383b
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/pc-ble-driver/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, git, cmake, catch2, asio, udev, IOKit }:
+
+stdenv.mkDerivation rec {
+  pname = "pc-ble-driver";
+  version = "4.1.1";
+
+  src = fetchFromGitHub {
+    owner = "NordicSemiconductor";
+    repo = "pc-ble-driver";
+    rev = "v${version}";
+    sha256 = "1llhkpbdbsq9d91m873vc96bprkgpb5wsm5fgs1qhzdikdhg077q";
+  };
+
+  cmakeFlags = [
+    "-DNRF_BLE_DRIVER_VERSION=${version}"
+  ];
+
+  nativeBuildInputs = [ cmake git ];
+  buildInputs = [ catch2 asio ];
+
+  propagatedBuildInputs = [
+
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [
+    IOKit
+  ] ++ stdenv.lib.optionals stdenv.isLinux [
+    udev
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Desktop library for Bluetooth low energy development";
+    homepage = "https://github.com/NordicSemiconductor/pc-ble-driver";
+    license = licenses.unfreeRedistributable;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ jschievink ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/pcl/default.nix b/nixpkgs/pkgs/development/libraries/pcl/default.nix
index 506c78aca8a5..cb1bcdd1bf75 100644
--- a/nixpkgs/pkgs/development/libraries/pcl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/pcl/default.nix
@@ -4,13 +4,13 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "pcl-1.11.0";
+  name = "pcl-1.11.1";
 
   src = fetchFromGitHub {
     owner = "PointCloudLibrary";
     repo = "pcl";
     rev = name;
-    sha256 = "0nr3j71gh1v8x6wjr7a7xyr0438sw7vf621a5kbw4lmsxbj55k8g";
+    sha256 = "1cli2rxqsk6nxp36p5mgvvahjz8hm4fb68yi8cf9nw4ygbcvcwb1";
   };
 
   enableParallelBuilding = true;
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "http://pointclouds.org/";
+    broken = stdenv.lib.versionAtLeast qtbase.version "5.15";
     description = "Open project for 2D/3D image and point cloud processing";
     license = stdenv.lib.licenses.bsd3;
     maintainers = with stdenv.lib.maintainers; [viric];
diff --git a/nixpkgs/pkgs/development/libraries/pcre2/default.nix b/nixpkgs/pkgs/development/libraries/pcre2/default.nix
index d39b91355b98..b127eb0a31e2 100644
--- a/nixpkgs/pkgs/development/libraries/pcre2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/pcre2/default.nix
@@ -11,8 +11,7 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--enable-pcre2-16"
     "--enable-pcre2-32"
-    "--enable-jit"
-  ];
+  ] ++ stdenv.lib.optional (!stdenv.hostPlatform.isRiscV) "--enable-jit";
 
   outputs = [ "bin" "dev" "out" "doc" "man" "devdoc" ];
 
diff --git a/nixpkgs/pkgs/development/libraries/pdal/default.nix b/nixpkgs/pkgs/development/libraries/pdal/default.nix
new file mode 100644
index 000000000000..2059b4db7fbd
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/pdal/default.nix
@@ -0,0 +1,98 @@
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, cmake
+, pkg-config
+# , openscenegraph
+, curl
+, gdal
+, hdf5-cpp
+, LASzip
+, libe57format
+, libgeotiff
+, libxml2
+, postgresql
+, tiledb
+, xercesc
+, zlib
+, zstd
+}:
+
+stdenv.mkDerivation rec {
+  pname = "pdal";
+  version = "2.1.0";
+
+  src = fetchFromGitHub {
+    owner = "PDAL";
+    repo = "PDAL";
+    rev = version;
+    sha256 = "0zb3zjqgmjjryb648c1hmwh1nfa7893bjzbqpmr6shjxvzgnj9p6";
+  };
+
+  patches = [
+    # Fix duplicate paths like
+    #     /nix/store/7iafqfmjdlxqim922618wg87cclrpznr-PDAL-2.1.0//nix/store/7iafqfmjdlxqim922618wg87cclrpznr-PDAL-2.1.0/lib
+    # similar to https://github.com/NixOS/nixpkgs/pull/82654.
+    # TODO Remove on release > 2.1.0
+    (fetchpatch {
+      name = "pdal-Fixup-install-config.patch";
+      url = "https://github.com/PDAL/PDAL/commit/2f887ef624db50c6e20f091f34bb5d3e65b5c5c8.patch";
+      sha256 = "0pdw9v5ypq7w9i7qzgal110hjb9nqi386jvy3x2h4vf1dyalzid8";
+    })
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    # openscenegraph
+    curl
+    gdal
+    hdf5-cpp
+    LASzip
+    libe57format
+    libgeotiff
+    libxml2
+    postgresql
+    tiledb
+    xercesc
+    zlib
+    zstd
+  ];
+
+  cmakeFlags = [
+    "-DBUILD_PLUGIN_E57=ON"
+    "-DBUILD_PLUGIN_HDF=ON"
+    "-DBUILD_PLUGIN_PGPOINTCLOUD=ON"
+    "-DBUILD_PLUGIN_TILEDB=ON"
+
+    # Plugins that can probably be made working relatively easily:
+    # As of writing, seems to be incompatible (build error):
+    #     error: no matching function for call to 'osg::TriangleFunctor<pdal::CollectTriangles>::operator()(const Vec3&, const Vec3&, const Vec3&)'
+    "-DBUILD_PLUGIN_OPENSCENEGRAPH=OFF" # requires OpenGL
+
+    # Plugins can probably not be made work easily:
+    "-DBUILD_PLUGIN_CPD=OFF"
+    "-DBUILD_PLUGIN_FBX=OFF" # Autodesk FBX SDK is gratis+proprietary; not packaged in nixpkgs
+    "-DBUILD_PLUGIN_GEOWAVE=OFF"
+    "-DBUILD_PLUGIN_I3S=OFF"
+    "-DBUILD_PLUGIN_ICEBRIDGE=OFF"
+    "-DBUILD_PLUGIN_MATLAB=OFF"
+    "-DBUILD_PLUGIN_MBIO=OFF"
+    "-DBUILD_PLUGIN_MRSID=OFF"
+    "-DBUILD_PLUGIN_NITF=OFF"
+    "-DBUILD_PLUGIN_OCI=OFF"
+    "-DBUILD_PLUGIN_RDBLIB=OFF" # Riegl rdblib is proprietary; not packaged in nixpkgs
+    "-DBUILD_PLUGIN_RIVLIB=OFF"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "PDAL is Point Data Abstraction Library. GDAL for point cloud data.";
+    homepage = "https://pdal.io";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ nh2 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/pdf2xml/default.nix b/nixpkgs/pkgs/development/libraries/pdf2xml/default.nix
index 08d57cda6c18..855df954eb14 100644
--- a/nixpkgs/pkgs/development/libraries/pdf2xml/default.nix
+++ b/nixpkgs/pkgs/development/libraries/pdf2xml/default.nix
@@ -32,7 +32,9 @@ stdenv.mkDerivation {
     cp exe/* $out/bin
   '';
 
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
+  meta = with stdenv.lib; {
+    description = "PDF to XML converter";
+    platforms = platforms.unix;
+    license = licenses.gpl2;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/phonetisaurus/default.nix b/nixpkgs/pkgs/development/libraries/phonetisaurus/default.nix
new file mode 100644
index 000000000000..126a91fe2900
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/phonetisaurus/default.nix
@@ -0,0 +1,32 @@
+{ stdenv
+, fetchFromGitHub
+, openfst
+, pkg-config
+, python3
+}:
+
+stdenv.mkDerivation rec {
+  pname = "phonetisaurus";
+  version = "2020-07-31";
+
+  src = fetchFromGitHub {
+    owner = "AdolfVonKleist";
+    repo = pname;
+    rev = "2831870697de5b4fbcb56a6e1b975e0e1ea10deb";
+    sha256 = "1b18s5zz0l0fhqh9n9jnmgjz2hzprwzf6hx5a12zibmmam3qyriv";
+  };
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ python3 openfst ];
+
+  meta = with stdenv.lib; {
+    description = "Framework for Grapheme-to-phoneme models for speech recognition using the OpenFst framework";
+    inherit (src.meta) homepage;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ mic92 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/phonon/backends/vlc.nix b/nixpkgs/pkgs/development/libraries/phonon/backends/vlc.nix
index d152afd45340..d54ee6e56304 100644
--- a/nixpkgs/pkgs/development/libraries/phonon/backends/vlc.nix
+++ b/nixpkgs/pkgs/development/libraries/phonon/backends/vlc.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, cmake, phonon, pkgconfig, vlc
+{ stdenv, lib, fetchurl, cmake, phonon, pkgconfig, libvlc
 , extra-cmake-modules, qttools, qtbase, qtx11extras
 , debug ? false
 }:
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     phonon
-    vlc
+    libvlc
     qtbase
     qtx11extras
   ];
diff --git a/nixpkgs/pkgs/development/libraries/physics/hepmc2/default.nix b/nixpkgs/pkgs/development/libraries/physics/hepmc2/default.nix
index 41908e0383bf..b27d947ea5c4 100644
--- a/nixpkgs/pkgs/development/libraries/physics/hepmc2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/physics/hepmc2/default.nix
@@ -2,28 +2,25 @@
 
 stdenv.mkDerivation rec {
   pname = "hepmc";
-  version = "2.06.10";
+  version = "2.06.11";
 
   src = fetchurl {
     url = "http://hepmc.web.cern.ch/hepmc/releases/HepMC-${version}.tar.gz";
-    sha256 = "190i9jlnwz1xpc495y0xc70s4zdqb9s2zdq1zkjy2ivl7ygdvpjs";
+    sha256 = "1pp89bs05nv60wjk1690ndwh4dsd5mk20bzsd4a2lklysdifvb6f";
   };
 
-  patches = [ ./in_source.patch ];
-  buildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake ];
 
   cmakeFlags = [
     "-Dmomentum:STRING=GEV"
     "-Dlength:STRING=MM"
   ];
 
-  enableParallelBuilding = true;
-
-  meta = {
+  meta = with stdenv.lib; {
     description = "The HepMC package is an object oriented event record written in C++ for High Energy Physics Monte Carlo Generators";
-    license     = stdenv.lib.licenses.gpl2;
+    license     = licenses.lgpl21;
     homepage    = "http://hepmc.web.cern.ch/hepmc/";
-    platforms   = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ veprbl ];
+    platforms   = platforms.unix;
+    maintainers = with maintainers; [ veprbl ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/physics/hepmc2/in_source.patch b/nixpkgs/pkgs/development/libraries/physics/hepmc2/in_source.patch
deleted file mode 100644
index 836a56558691..000000000000
--- a/nixpkgs/pkgs/development/libraries/physics/hepmc2/in_source.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -37,21 +37,6 @@ message(STATUS "default momentum and length are ${HEPMC_DEFAULT_MOM_UNIT} ${HEPM
- # find the HepMC cmake modules
- set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules ${CMAKE_MODULE_PATH})
- 
--# make sure we are not building from within the source code directory
--string(COMPARE EQUAL "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" in_source)
--string( REGEX MATCH "${CMAKE_SOURCE_DIR}/" in_source_subdir
--"${CMAKE_BINARY_DIR}")
--if (in_source OR in_source_subdir)
--  message(FATAL_ERROR "
--ERROR: In source builds of this project are not allowed.
--A separate build directory is required.
--Please create one and run cmake from the build directory.
--Also note that cmake has just added files to your source code directory.
--We suggest getting a new copy of the source code.
--Otherwise, delete `CMakeCache.txt' and the directory `CMakeFiles'.
--  ")
--endif ()
--
- # build_docs is OFF (false) by default
- if ( build_docs )
-    message(STATUS "documents WILL be built and installed" )
diff --git a/nixpkgs/pkgs/development/libraries/physics/hepmc3/default.nix b/nixpkgs/pkgs/development/libraries/physics/hepmc3/default.nix
index a07c3c19a1bb..10b789f514f9 100644
--- a/nixpkgs/pkgs/development/libraries/physics/hepmc3/default.nix
+++ b/nixpkgs/pkgs/development/libraries/physics/hepmc3/default.nix
@@ -3,19 +3,21 @@
 let
   pythonVersion = with stdenv.lib.versions; "${major python.version}${minor python.version}";
   withPython = python != null;
+  # ensure that root is built with the same python interpreter, as it links against numpy
+  root_py = if withPython then root.override { inherit python; } else root;
 in
 
 stdenv.mkDerivation rec {
   pname = "hepmc3";
-  version = "3.2.0";
+  version = "3.2.2";
 
   src = fetchurl {
     url = "http://hepmc.web.cern.ch/hepmc/releases/HepMC3-${version}.tar.gz";
-    sha256 = "1z491x3blqs0a2jxmhzhmh4kqdw3ddcbvw69gidg4w6icdvkhcpi";
+    sha256 = "0h9dbsbbf3y7iia27ms9cy4pfk2yyrkdnxcqsbvkhkl0izvv930f";
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ root ]
+  buildInputs = [ root_py ]
     ++ stdenv.lib.optional withPython python;
 
   cmakeFlags = [
@@ -31,6 +33,12 @@ stdenv.mkDerivation rec {
       --replace 'readlink' '${coreutils}/bin/readlink'
   '';
 
+  doInstallCheck = withPython;
+  # prevent nix from trying to dereference a null python
+  installCheckPhase = stdenv.lib.optionalString withPython ''
+    PYTHONPATH=${placeholder "out"}/${python.sitePackages} python -c 'import pyHepMC3'
+  '';
+
   meta = with stdenv.lib; {
     description = "The HepMC package is an object oriented, C++ event record for High Energy Physics Monte Carlo generators and simulation";
     license = licenses.gpl3;
diff --git a/nixpkgs/pkgs/development/libraries/physics/lhapdf/default.nix b/nixpkgs/pkgs/development/libraries/physics/lhapdf/default.nix
index 8d4e91265f5e..7d412f86596d 100644
--- a/nixpkgs/pkgs/development/libraries/physics/lhapdf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/physics/lhapdf/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lhapdf";
-  version = "6.2.3";
+  version = "6.3.0";
 
   src = fetchurl {
     url = "https://www.hepforge.org/archive/lhapdf/LHAPDF-${version}.tar.gz";
-    sha256 = "1l9dv37k4jz18wahyfm9g53nyl81v5bgqgy4dllbcmvcqpfkmrnn";
+    sha256 = "0pcvigpjqzfng06n98bshhhpimiqfg416ak8lz8jdgp6nxr8fkgd";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/libraries/physics/rivet/default.nix b/nixpkgs/pkgs/development/libraries/physics/rivet/default.nix
index bcf986346ac3..abf37def8c3f 100644
--- a/nixpkgs/pkgs/development/libraries/physics/rivet/default.nix
+++ b/nixpkgs/pkgs/development/libraries/physics/rivet/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "rivet";
-  version = "3.1.1";
+  version = "3.1.2";
 
   src = fetchurl {
     url = "https://www.hepforge.org/archive/rivet/Rivet-${version}.tar.bz2";
-    sha256 = "1cgr9jyfd9r7dwbk8fr3rys5dc74cmbx368441jvqngqymmb563w";
+    sha256 = "0yjpx7n6ry3pfgkf7d7v7mcc3yv7681kf8nq2b1fgspl8jbd0hf0";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/libraries/physics/yoda/default.nix b/nixpkgs/pkgs/development/libraries/physics/yoda/default.nix
index 9d4d60949c19..1a8d5a6fd390 100644
--- a/nixpkgs/pkgs/development/libraries/physics/yoda/default.nix
+++ b/nixpkgs/pkgs/development/libraries/physics/yoda/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "yoda";
-  version = "1.8.2";
+  version = "1.8.3";
 
   src = fetchurl {
     url = "https://www.hepforge.org/archive/yoda/YODA-${version}.tar.bz2";
-    sha256 = "1nqbv334iwdvbsc5bw8g936cxzc1hyzv9r8kjy4v124vrw8qqmc9";
+    sha256 = "12msmjiajvy2xj2m64n2fxblai5xg06a829wi7scsc7nw2jhxpfr";
   };
 
   nativeBuildInputs = with python.pkgs; [ cython makeWrapper ];
diff --git a/nixpkgs/pkgs/development/libraries/pipewire/default.nix b/nixpkgs/pkgs/development/libraries/pipewire/default.nix
index 21dcf5af3159..cb5073f50c15 100644
--- a/nixpkgs/pkgs/development/libraries/pipewire/default.nix
+++ b/nixpkgs/pkgs/development/libraries/pipewire/default.nix
@@ -33,7 +33,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "pipewire";
-  version = "0.3.6";
+  version = "0.3.7";
 
   outputs = [ "out" "lib" "dev" "doc" ];
 
@@ -42,16 +42,9 @@ stdenv.mkDerivation rec {
     owner = "pipewire";
     repo = "pipewire";
     rev = version;
-    sha256 = "0g149vyaigf4gzm764fcgxxci9niw19z0af9afs4diwq5xzr1qd3";
+    sha256 = "04l66p0wj553gp2zf3vwwh6jbr1vkf6wrq4za9zlm9dn144am4j2";
   };
 
-  patches = [ (fetchpatch {
-    # Brought by https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/263,
-    # should be part of > 0.3.6
-    url = "https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/d1162f28efd502fcb973e172867970f5cc8d7a6b.patch";
-    sha256 = "0ng34yin5726cvv0nll1b2xigyq6mj6j516l3xi0ys1i2g2fyby9";
-  })];
-
   nativeBuildInputs = [
     doxygen
     graphviz
diff --git a/nixpkgs/pkgs/development/libraries/pkger/default.nix b/nixpkgs/pkgs/development/libraries/pkger/default.nix
index 09c48ff8b0ab..8c8fd4f8fd6b 100644
--- a/nixpkgs/pkgs/development/libraries/pkger/default.nix
+++ b/nixpkgs/pkgs/development/libraries/pkger/default.nix
@@ -6,17 +6,19 @@
 
 buildGoModule rec {
   pname = "pkger";
-  version = "0.17.0";
+  version = "0.17.1";
 
   src = fetchFromGitHub {
     owner = "markbates";
     repo = "pkger";
     rev = "v${version}";
-    sha256 = "195ba1avkpm9ssgakngv8j72k7yq2xna3xmm5m8l6c5g7lf91kkp";
+    sha256 = "12zcvsd6bv581wwhahp1wy903495s51lw86b99cfihwmxc5qw6ww";
   };
 
   vendorSha256 = "1b9gpym6kb4hpdbrixphfh1qylmqr265jrmcd4vxb87ahvrsrvgp";
 
+  doCheck = false;
+
   meta = with stdenv.lib; {
     description = "Embed static files in Go binaries (replacement for gobuffalo/packr) ";
     homepage = "https://github.com/markbates/pkger";
diff --git a/nixpkgs/pkgs/development/libraries/plasma-wayland-protocols/default.nix b/nixpkgs/pkgs/development/libraries/plasma-wayland-protocols/default.nix
new file mode 100644
index 000000000000..2d3a5239d7b7
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/plasma-wayland-protocols/default.nix
@@ -0,0 +1,25 @@
+{ mkDerivation, fetchurl, lib
+, extra-cmake-modules
+, qtbase
+}:
+
+mkDerivation rec {
+  pname = "plasma-wayland-protocols";
+  version = "1.1.1";
+
+  src = fetchurl {
+    url = "mirror://kde/stable/${pname}/${version}/${pname}-${version}.tar.xz";
+    sha256 = "sha256-xUkzg9EVFxw0NeqaIbOWaGBjKoRFRP+sj1SJBDalHTg=";
+  };
+
+  nativeBuildInputs = [ extra-cmake-modules ];
+
+  buildInputs = [ qtbase ];
+
+  meta = {
+    description = "Plasma Wayland Protocols";
+    license = lib.licenses.lgpl21Plus;
+    platforms = qtbase.meta.platforms;
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/pmix/default.nix b/nixpkgs/pkgs/development/libraries/pmix/default.nix
new file mode 100644
index 000000000000..c8d8be4e8cbf
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/pmix/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchFromGitHub, perl, autoconf, automake
+, libtool, flex, libevent, hwloc, munge, zlib
+} :
+
+let
+  version = "3.1.5";
+
+in stdenv.mkDerivation {
+  pname = "pmix";
+  inherit version;
+
+  src = fetchFromGitHub {
+    repo = "openpmix";
+    owner = "openpmix";
+    rev = "v${version}";
+    sha256 = "0fvfsig20amcigyn4v3gcdxc0jif44vqg37b8zzh0s8jqqj7jz5w";
+  };
+
+  postPatch = ''
+    patchShebangs ./autogen.pl
+    patchShebangs ./config
+  '';
+
+  nativeBuildInputs = [ perl autoconf automake libtool flex ];
+
+  buildInputs = [ libevent hwloc munge zlib ];
+
+  configureFlags = [
+    "--with-libevent=${libevent.dev}"
+    "--with-munge=${munge}"
+    "--with-hwloc=${hwloc.dev}"
+  ];
+
+  preConfigure = ''
+    ./autogen.pl
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Process Management Interface for HPC environments";
+    homepage = "https://openpmix.github.io/";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.markuskowa ];
+    platforms = platforms.linux;
+  };
+}
+
diff --git a/nixpkgs/pkgs/development/libraries/poppler/default.nix b/nixpkgs/pkgs/development/libraries/poppler/default.nix
index 93b49524dc1d..074868251d0a 100644
--- a/nixpkgs/pkgs/development/libraries/poppler/default.nix
+++ b/nixpkgs/pkgs/development/libraries/poppler/default.nix
@@ -12,11 +12,11 @@ let
 in
 stdenv.mkDerivation rec {
   name = "poppler-${suffix}-${version}";
-  version = "0.88.0"; # beware: updates often break cups-filters build, check texlive and scribusUnstable too!
+  version = "20.08.0"; # beware: updates often break cups-filters build, check texlive and scribusUnstable too!
 
   src = fetchurl {
     url = "${meta.homepage}/poppler-${version}.tar.xz";
-    sha256 = "1isns9s484irq9ir4hbhpyqf6af2xzswh2pfrvk1k9d5x423hidl";
+    sha256 = "19gchq6fpa00ic5rn1zmjzxx85cif4hbdrsjcfd2aqxz9gqgwrdf";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/development/libraries/prometheus-client-c/default.nix b/nixpkgs/pkgs/development/libraries/prometheus-client-c/default.nix
new file mode 100644
index 000000000000..57f4ef5956f6
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/prometheus-client-c/default.nix
@@ -0,0 +1,71 @@
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, cmake
+, libmicrohttpd
+}:
+let
+  build =
+    { pname
+    , subdir
+    , buildInputs ? [ ]
+    , description
+    }:
+    stdenv.mkDerivation rec {
+      inherit pname;
+      version = "0.1.1";
+
+      src = fetchFromGitHub {
+        owner = "digitalocean";
+        repo = "prometheus-client-c";
+        rev = "v${version}";
+        sha256 = "0g69s24xwrv5974acshrhnp6i8rpby8c6bhz15m3d8kpgjw3cm8f";
+      };
+
+      nativeBuildInputs = [ cmake ];
+      inherit buildInputs;
+
+      # These patches will be in 0.1.2
+      patches = [
+        # Required so CMAKE_INSTALL_PREFIX is honored, otherwise it
+        # installs headers in /usr/include (absolute)
+        (
+          fetchpatch {
+            url = "https://github.com/digitalocean/prometheus-client-c/commit/5fcedeb506b7d47dd7bab35797f2c3f23db6fe10.patch";
+            sha256 = "10hzg8v5jcgxz224kdq0nha9vs78wz098b0ys7gig2iwgrg018fy";
+          }
+        )
+        (
+          fetchpatch {
+            url = "https://github.com/digitalocean/prometheus-client-c/commit/0c15e7e45ad0c3726593591fdd7d8f2fde845fe3.patch";
+            sha256 = "06899v1xz3lpsdxww4p3q7pv8nrymnibncdc472056znr5fidlp0";
+          }
+        )
+      ];
+
+      preConfigure = ''
+        cd ${subdir}
+      '';
+
+      meta = {
+        homepage = "https://github.com/digitalocean/prometheus-client-c/";
+        inherit description;
+        platforms = stdenv.lib.platforms.unix;
+        license = stdenv.lib.licenses.asl20;
+        maintainers = [ stdenv.lib.maintainers.cfsmp3 ];
+      };
+    };
+in
+rec {
+  libprom = build {
+    pname = "libprom";
+    subdir = "prom";
+    description = "A Prometheus Client in C";
+  };
+  libpromhttp = build {
+    pname = "libpromhttp";
+    subdir = "promhttp";
+    buildInputs = [ libmicrohttpd libprom ];
+    description = "A Prometheus HTTP Endpoint in C";
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/protobuf/3.12.nix b/nixpkgs/pkgs/development/libraries/protobuf/3.12.nix
index 00d9ec7f96fc..6ea64a023800 100644
--- a/nixpkgs/pkgs/development/libraries/protobuf/3.12.nix
+++ b/nixpkgs/pkgs/development/libraries/protobuf/3.12.nix
@@ -1,6 +1,6 @@
 { callPackage, ... }:
 
 callPackage ./generic-v3.nix {
-  version = "3.12.0";
-  sha256 = "0ac0v7mx2sf4hwf61074bgh2m1q0rs88c7gc6v910sd7cw7gql3a";
+  version = "3.12.4";
+  sha256 = "1gzvnd0g5hmx5ln39w7p4z4qphw87ksgsa1fgbpvi8d0asmwab2p";
 }
diff --git a/nixpkgs/pkgs/development/libraries/protobuf/3.13.nix b/nixpkgs/pkgs/development/libraries/protobuf/3.13.nix
new file mode 100644
index 000000000000..3e3740a7c501
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/protobuf/3.13.nix
@@ -0,0 +1,6 @@
+{ callPackage, ... }:
+
+callPackage ./generic-v3.nix {
+  version = "3.13.0";
+  sha256 = "1nqsvi2yfr93kiwlinz8z7c68ilg1j75b2vcpzxzvripxx5h6xhd";
+}
diff --git a/nixpkgs/pkgs/development/libraries/protolock/default.nix b/nixpkgs/pkgs/development/libraries/protolock/default.nix
index 2bdaa3ab7b6f..b923898cc996 100644
--- a/nixpkgs/pkgs/development/libraries/protolock/default.nix
+++ b/nixpkgs/pkgs/development/libraries/protolock/default.nix
@@ -13,6 +13,8 @@ buildGoModule rec {
 
   vendorSha256 = "0ap1iwcapvvvmwgdc4zbsp8mglrhbswkdgm4dw8baw8qk0nlci6y";
 
+  doCheck = false;
+
   postInstall = ''
     rm $out/bin/plugin*
   '';
@@ -23,4 +25,4 @@ buildGoModule rec {
     license = licenses.bsd3;
     maintainers = with maintainers; [ groodt ];
   };
-}
\ No newline at end of file
+}
diff --git a/nixpkgs/pkgs/development/libraries/qca-qt5/default.nix b/nixpkgs/pkgs/development/libraries/qca-qt5/default.nix
index 77f4e1b9053b..06de3f7c5693 100644
--- a/nixpkgs/pkgs/development/libraries/qca-qt5/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qca-qt5/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "qca-qt5";
-  version = "2.2.1";
+  version = "2.3.1";
 
   src = fetchurl {
     url = "http://download.kde.org/stable/qca/${version}/qca-${version}.tar.xz";
-    sha256 = "00kv1vsrc8fp556hm8s6yw3240vx3l4067q6vfxrb3gdwgcd45np";
+    sha256 = "sha256-wThREJq+/EYjNwmJ+uOnRb9rGss8KhOolYU5gj6XTks=";
   };
 
   buildInputs = [ openssl qtbase ];
diff --git a/nixpkgs/pkgs/development/libraries/qgnomeplatform/default.nix b/nixpkgs/pkgs/development/libraries/qgnomeplatform/default.nix
index a82d048b32b2..3ff642bbfb98 100644
--- a/nixpkgs/pkgs/development/libraries/qgnomeplatform/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qgnomeplatform/default.nix
@@ -1,6 +1,7 @@
 { mkDerivation
 , lib
 , fetchFromGitHub
+, nix-update-script
 , pkgconfig
 , gtk3
 , glib
@@ -52,7 +53,7 @@ mkDerivation rec {
   '';
 
   passthru = {
-    updateScript = pantheon.updateScript {
+    updateScript = nix-update-script {
       attrPath = pname;
     };
   };
diff --git a/nixpkgs/pkgs/development/libraries/qoauth/default.nix b/nixpkgs/pkgs/development/libraries/qoauth/default.nix
index 85682e2c2a29..41e4b80d9c3a 100644
--- a/nixpkgs/pkgs/development/libraries/qoauth/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qoauth/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, qt5, qca2-qt5 }:
+{ stdenv, fetchurl, qtbase, qmake, qca-qt5 }:
 
 stdenv.mkDerivation {
   name = "qoauth-2.0.0";
@@ -15,15 +15,15 @@ stdenv.mkDerivation {
         -e '/features.path =/ s|$$\[QMAKE_MKSPECS\]|$$NIX_OUTPUT_DEV/mkspecs|'
   '';
 
-  buildInputs = [ qt5.qtbase qca2-qt5 ];
-  nativeBuildInputs = [ qt5.qmake ];
+  buildInputs = [ qtbase qca-qt5 ];
+  nativeBuildInputs = [ qmake ];
 
-  NIX_CFLAGS_COMPILE = "-I${qca2-qt5}/include/Qca-qt5/QtCrypto";
+  NIX_CFLAGS_COMPILE = "-I${qca-qt5}/include/Qca-qt5/QtCrypto";
   NIX_LDFLAGS = "-lqca-qt5";
 
   meta = with stdenv.lib; {
     description = "Qt library for OAuth authentication";
-    inherit (qt5.qtbase.meta) platforms;
+    inherit (qtbase.meta) platforms;
     license = licenses.lgpl21;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/qpdf/default.nix b/nixpkgs/pkgs/development/libraries/qpdf/default.nix
index b324bfed5aa7..9405e18edabd 100644
--- a/nixpkgs/pkgs/development/libraries/qpdf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qpdf/default.nix
@@ -1,24 +1,20 @@
-{ stdenv, fetchurl, libjpeg, zlib, perl }:
+{ stdenv, fetchFromGitHub, libjpeg, zlib, perl }:
 
-let version = "9.1.1";
-in
 stdenv.mkDerivation rec {
   pname = "qpdf";
-  inherit version;
+  version = "10.0.1";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/qpdf/qpdf/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0dj27wb9xg6pg95phbflfvy9rwxn1gh3kc4n175g0pf41r0zrim2";
+  src = fetchFromGitHub {
+    owner = "qpdf";
+    repo = "qpdf";
+    rev = "release-qpdf-${version}";
+    sha256 = "0g3rqf4wd1n9cms7ra1jnszsgw5bygv37jq2l20d8z5fajckhyyi";
   };
 
   nativeBuildInputs = [ perl ];
 
   buildInputs = [ zlib libjpeg ];
 
-  postPatch = ''
-    patchShebangs qpdf/fix-qdf
-  '';
-
   preCheck = ''
     patchShebangs qtest/bin/qtest-driver
   '';
diff --git a/nixpkgs/pkgs/development/libraries/qt-4.x/4.8/default.nix b/nixpkgs/pkgs/development/libraries/qt-4.x/4.8/default.nix
index 1c972e5440ce..3deea882bb6c 100644
--- a/nixpkgs/pkgs/development/libraries/qt-4.x/4.8/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-4.x/4.8/default.nix
@@ -3,8 +3,7 @@
 , libXfixes, libXrandr, libSM, freetype, fontconfig, zlib, libjpeg, libpng
 , libmng, which, libGLU, openssl, dbus, cups, pkgconfig
 , libtiff, glib, icu, libmysqlclient, postgresql, sqlite, perl, coreutils, libXi
-, buildMultimedia ? stdenv.isLinux, alsaLib, gstreamer, gst-plugins-base
-, buildWebkit ? (stdenv.isLinux || stdenv.isDarwin)
+, alsaLib
 , libGLSupported ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms
 , flashplayerFix ? false, gdk-pixbuf
 , gtkStyle ? stdenv.hostPlatform == stdenv.buildPlatform, gtk2
@@ -177,7 +176,7 @@ stdenv.mkDerivation rec {
     "-exceptions" "-xmlpatterns"
 
     "-make" "libs" "-make" "tools" "-make" "translations"
-    "-no-phonon" (mk buildWebkit "webkit") (mk buildMultimedia "multimedia") "-audio-backend"
+    "-no-phonon" "-no-webkit" "-no-multimedia" "-audio-backend"
   ]) ++ [
     "-${if demos then "" else "no"}make" "demos"
     "-${if examples then "" else "no"}make" "examples"
@@ -190,9 +189,7 @@ stdenv.mkDerivation rec {
     [ libXrender libXrandr libXinerama libXcursor libXext libXfixes libXv libXi
       libSM zlib libpng openssl dbus freetype fontconfig glib ]
         # Qt doesn't directly need GLU (just GL), but many apps use, it's small and doesn't remain a runtime-dep if not used
-    ++ lib.optional libGLSupported libGLU
-    ++ lib.optional ((buildWebkit || buildMultimedia) && stdenv.isLinux ) alsaLib
-    ++ lib.optionals (buildWebkit || buildMultimedia) [ gstreamer gst-plugins-base ];
+    ++ lib.optional libGLSupported libGLU;
 
   # The following libraries are only used in plugins
   buildInputs =
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.12/default.nix b/nixpkgs/pkgs/development/libraries/qt-5/5.12/default.nix
index bdefca45a9af..fcceb6d6cf2b 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/5.12/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.12/default.nix
@@ -38,14 +38,14 @@ let
   mirror = "https://download.qt.io";
   srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; } // {
     # Community port of the now unmaintained upstream qtwebkit.
-    qtwebkit = {
+    qtwebkit = rec {
       src = fetchFromGitHub {
-        owner = "annulen";
-        repo = "webkit";
-        rev = "4ce8ebc4094512b9916bfa5984065e95ac97c9d8";
-        sha256 = "05h1xnxzbf7sp3plw5dndsvpf6iigh0bi4vlj4svx0hkf1giakjf";
+        owner = "qtwebkit";
+        repo = "qtwebkit";
+        rev = "qtwebkit-${version}";
+        sha256 = "11lc5sk10d9cyg8jqkbgkqiap72b9rax7hy61nm90zw9749y2yfg";
       };
-      version = "5.212-alpha-01-26-2018";
+      version = "5.212.0-alpha4";
     };
   };
 
@@ -97,13 +97,21 @@ let
         url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/qtbug-77037-workaround.patch?h=packages/qt5-webengine&id=fc77d6b3d5ec74e421b58f199efceb2593cbf951";
         sha256 = "1gv733qfdn9746nbqqxzyjx4ijjqkkb7zb71nxax49nna5bri3am";
       })
-    ]
-      ++ optional stdenv.isDarwin ./qtwebengine-darwin-no-platform-check.patch;
-    qtwebkit = [ ./qtwebkit.patch ]
-      ++ optionals stdenv.isDarwin [
-        ./qtwebkit-darwin-no-readline.patch
-        ./qtwebkit-darwin-no-qos-classes.patch
-      ];
+    ] ++ optionals stdenv.isDarwin [
+      ./qtwebengine-darwin-no-platform-check.patch
+      ./qtwebengine-darwin-fix-failed-static-assertion.patch
+    ];
+    qtwebkit = [
+      (fetchpatch {
+        name = "qtwebkit-bison-3.7-build.patch";
+        url = "https://github.com/qtwebkit/qtwebkit/commit/d92b11fea65364fefa700249bd3340e0cd4c5b31.patch";
+        sha256 = "0h8ymfnwgkjkwaankr3iifiscsvngqpwb91yygndx344qdiw9y0n";
+      })
+      ./qtwebkit.patch
+    ] ++ optionals stdenv.isDarwin [
+      ./qtwebkit-darwin-no-readline.patch
+      ./qtwebkit-darwin-no-qos-classes.patch
+    ];
     qttools = [ ./qttools.patch ];
   };
 
@@ -158,6 +166,7 @@ let
       qtquickcontrols2 = callPackage ../modules/qtquickcontrols2.nix {};
       qtscript = callPackage ../modules/qtscript.nix {};
       qtsensors = callPackage ../modules/qtsensors.nix {};
+      qtserialbus = callPackage ../modules/qtserialbus.nix {};
       qtserialport = callPackage ../modules/qtserialport.nix {};
       qtspeech = callPackage ../modules/qtspeech.nix {};
       qtsvg = callPackage ../modules/qtsvg.nix {};
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtwebengine-darwin-fix-failed-static-assertion.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtwebengine-darwin-fix-failed-static-assertion.patch
new file mode 100644
index 000000000000..510e25f56a4d
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtwebengine-darwin-fix-failed-static-assertion.patch
@@ -0,0 +1,31 @@
+Fix a following build error:
+
+In file included from ../../3rdparty/chromium/device/bluetooth/bluetooth_remote_gatt_characteristic_mac.mm:7:
+../../3rdparty/chromium/base/bind.h:59:3: error: static_assert failed "Bound argument |i| of type |Arg| cannot be forwarded as |Unwrapped| to the bound functor, which declares it as |Param|."
+  static_assert(
+  ^
+../../3rdparty/chromium/base/bind.h:91:7: note: in instantiation of template class 'base::internal::AssertConstructible<1, long, long, const long &, NSError *>' requested here
+    : AssertConstructible<Ns, Args, std::decay_t<Args>, Unwrapped, Params>... {
+      ^
+../../3rdparty/chromium/base/bind.h:213:27: note: in instantiation of template class 'base::internal::AssertBindArgsValidity<std::__1::integer_sequence<unsigned long, 0, 1>, base::internal::TypeList<base::WeakPtr<device::BluetoothRemoteGattCharacteristicMac>, long>, base::internal::TypeList<device::BluetoothRemoteGattCharacteristicMac *, const long &>, base::internal::TypeList<device::BluetoothRemoteGattCharacteristicMac *, NSError *> >' requested here
+  static_assert(internal::AssertBindArgsValidity<
+                          ^
+../../3rdparty/chromium/base/bind.h:242:16: note: in instantiation of function template specialization 'base::BindRepeating<void (device::BluetoothRemoteGattCharacteristicMac::*)(NSError *), base::WeakPtr<device::BluetoothRemoteGattCharacteristicMac>, long>' requested here
+  return base::BindRepeating(std::forward<Functor>(functor),
+               ^
+../../3rdparty/chromium/device/bluetooth/bluetooth_remote_gatt_characteristic_mac.mm:211:15: note: in instantiation of function template specialization 'base::Bind<void (device::BluetoothRemoteGattCharacteristicMac::*)(NSError *), base::WeakPtr<device::BluetoothRemoteGattCharacteristicMac>, long>' requested here
+        base::Bind(&BluetoothRemoteGattCharacteristicMac::DidWriteValue,
+              ^
+
+Resurrected from https://github.com/NixOS/nixpkgs/blob/ddcf01bca6c7a7a7f096bec836a1e6a707ad473d/pkgs/development/libraries/qt-5/5.11/qtwebengine-clang-fix.patch because the same problem is present in 5.12 when compiling on macOS.
+
+--- a/src/3rdparty/chromium/device/bluetooth/bluetooth_remote_gatt_characteristic_mac.mm
++++ b/src/3rdparty/chromium/device/bluetooth/bluetooth_remote_gatt_characteristic_mac.mm
+@@ -209,7 +209,7 @@ void BluetoothRemoteGattCharacteristicMac::WriteRemoteCharacteristic(
+     base::ThreadTaskRunnerHandle::Get()->PostTask(
+         FROM_HERE,
+         base::Bind(&BluetoothRemoteGattCharacteristicMac::DidWriteValue,
+-                   weak_ptr_factory_.GetWeakPtr(), nil));
++                   weak_ptr_factory_.GetWeakPtr(), nullptr));
+   }
+ }
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtwebengine-darwin-no-platform-check.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtwebengine-darwin-no-platform-check.patch
index 546e753144d0..8ed3fe59a5a2 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtwebengine-darwin-no-platform-check.patch
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.12/qtwebengine-darwin-no-platform-check.patch
@@ -1,4 +1,18 @@
+diff --git a/configure.pri b/configure.pri
+index 897bea54..6f834c20 100644
+--- a/configure.pri
++++ b/configure.pri
+@@ -269,7 +269,7 @@ defineReplace(webEngineGetMacOSVersion) {
+ }
+ 
+ defineReplace(webEngineGetMacOSSDKVersion) {
+-    value = $$system("/usr/bin/xcodebuild -sdk $$QMAKE_MAC_SDK -version ProductVersion 2>/dev/null")
++    value = $$system("xcrun --show-sdk-version")
+     return($$value)
+ }
+ 
 diff --git a/mkspecs/features/platform.prf b/mkspecs/features/platform.prf
+index 35eb6b89..7eed640a 100644
 --- a/mkspecs/features/platform.prf
 +++ b/mkspecs/features/platform.prf
 @@ -40,8 +40,6 @@ defineTest(isPlatformSupported) {
@@ -19,15 +33,39 @@ diff --git a/mkspecs/features/platform.prf b/mkspecs/features/platform.prf
      }
    } else {
      skipBuild("Unknown platform. Qt WebEngine only supports Linux, Windows, and macOS.")
+@@ -111,7 +107,7 @@ defineTest(isMinOSXSDKVersion) {
+     requested_minor = $$2
+     requested_patch = $$3
+     isEmpty(requested_patch): requested_patch = 0
+-    WEBENGINE_OSX_SDK_PRODUCT_VERSION = $$system("/usr/bin/xcodebuild -sdk $$QMAKE_MAC_SDK -version ProductVersion 2>/dev/null")
++    WEBENGINE_OSX_SDK_PRODUCT_VERSION = $$system("xcrun --show-sdk-version")
+     export(WEBENGINE_OSX_SDK_PRODUCT_VERSION)
+     isEmpty(WEBENGINE_OSX_SDK_PRODUCT_VERSION) {
+         skipBuild("Could not resolve SDK product version for \'$$QMAKE_MAC_SDK\'.")
 diff --git a/src/core/config/mac_osx.pri b/src/core/config/mac_osx.pri
+index 4426901c..3aa6057e 100644
 --- a/src/core/config/mac_osx.pri
 +++ b/src/core/config/mac_osx.pri
-@@ -5,8 +5,6 @@ load(functions)
+@@ -5,16 +5,16 @@ load(functions)
  # otherwise query for it.
  QMAKE_MAC_SDK_VERSION = $$eval(QMAKE_MAC_SDK.$${QMAKE_MAC_SDK}.SDKVersion)
  isEmpty(QMAKE_MAC_SDK_VERSION) {
 -     QMAKE_MAC_SDK_VERSION = $$system("/usr/bin/xcodebuild -sdk $${QMAKE_MAC_SDK} -version SDKVersion 2>/dev/null")
--     isEmpty(QMAKE_MAC_SDK_VERSION): error("Could not resolve SDK version for \'$${QMAKE_MAC_SDK}\'")
++     QMAKE_MAC_SDK_VERSION = $$system("xcrun --show-sdk-version")
+      isEmpty(QMAKE_MAC_SDK_VERSION): error("Could not resolve SDK version for \'$${QMAKE_MAC_SDK}\'")
  }
-
+ 
  QMAKE_CLANG_DIR = "/usr"
+-QMAKE_CLANG_PATH = $$eval(QMAKE_MAC_SDK.macx-clang.$${QMAKE_MAC_SDK}.QMAKE_CXX)
+-!isEmpty(QMAKE_CLANG_PATH) {
+-    clang_dir = $$clean_path("$$dirname(QMAKE_CLANG_PATH)/../")
+-    exists($$clang_dir): QMAKE_CLANG_DIR = $$clang_dir
+-}
++# QMAKE_CLANG_PATH = $$eval(QMAKE_MAC_SDK.macx-clang.$${QMAKE_MAC_SDK}.QMAKE_CXX)
++# !isEmpty(QMAKE_CLANG_PATH) {
++#     clang_dir = $$clean_path("$$dirname(QMAKE_CLANG_PATH)/../")
++#     exists($$clang_dir): QMAKE_CLANG_DIR = $$clang_dir
++# }
+ 
+ QMAKE_CLANG_PATH = "$${QMAKE_CLANG_DIR}/bin/clang++"
+ message("Using clang++ from $${QMAKE_CLANG_PATH}")
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.14/default.nix b/nixpkgs/pkgs/development/libraries/qt-5/5.14/default.nix
new file mode 100644
index 000000000000..469157a5f727
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.14/default.nix
@@ -0,0 +1,182 @@
+/*
+
+# Updates
+
+Before a major version update, make a copy of this directory. (We like to
+keep the old version around for a short time after major updates.) Add a
+top-level attribute to `top-level/all-packages.nix`.
+
+1. Update the URL in `pkgs/development/libraries/qt-5/$VERSION/fetch.sh`.
+2. From the top of the Nixpkgs tree, run
+   `./maintainers/scripts/fetch-kde-qt.sh > pkgs/development/libraries/qt-5/$VERSION/srcs.nix`.
+3. Check that the new packages build correctly.
+4. Commit the changes and open a pull request.
+
+*/
+
+{
+  newScope,
+  stdenv, fetchurl, fetchpatch, fetchFromGitHub, makeSetupHook, makeWrapper,
+  bison, cups ? null, harfbuzz, libGL, perl,
+  gstreamer, gst-plugins-base, gtk3, dconf,
+  llvmPackages_5,
+
+  # options
+  developerBuild ? false,
+  decryptSslTraffic ? false,
+  debug ? false,
+}:
+
+with stdenv.lib;
+
+let
+
+  qtCompatVersion = srcs.qtbase.version;
+
+  stdenvActual = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv;
+
+  mirror = "https://download.qt.io";
+  srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; } // {
+    # qtwebkit does not have an official release tarball on the qt mirror and is
+    # mostly maintained by the community.
+    qtwebkit = rec {
+      src = fetchFromGitHub {
+        owner = "qt";
+        repo = "qtwebkit";
+        rev = "v${version}";
+        sha256 = "0x8rng96h19xirn7qkz3lydal6v4vn00bcl0s3brz36dfs0z8wpg";
+      };
+      version = "5.212.0-alpha4";
+    };
+  };
+
+  patches = {
+    qtbase =
+      optionals stdenv.isDarwin [
+        ./qtbase.patch.d/0001-qtbase-mkspecs-mac.patch
+        ./qtbase.patch.d/0002-qtbase-mac.patch
+      ]
+      ++ [
+        ./qtbase.patch.d/0003-qtbase-mkspecs.patch
+        ./qtbase.patch.d/0004-qtbase-replace-libdir.patch
+        ./qtbase.patch.d/0005-qtbase-cmake.patch
+        ./qtbase.patch.d/0006-qtbase-gtk3.patch
+        ./qtbase.patch.d/0007-qtbase-xcursor.patch
+        ./qtbase.patch.d/0008-qtbase-tzdir.patch
+        ./qtbase.patch.d/0009-qtbase-qtpluginpath.patch
+        ./qtbase.patch.d/0010-qtbase-assert.patch
+        ./qtbase.patch.d/0011-fix-header_module.patch
+      ];
+    qtdeclarative = [ ./qtdeclarative.patch ];
+    qtscript = [ ./qtscript.patch ];
+    qtserialport = [ ./qtserialport.patch ];
+    qtwebengine = [ ]
+      ++ optional stdenv.isDarwin ./qtwebengine-darwin-no-platform-check.patch;
+    qtwebkit = [
+      (fetchpatch {
+        name = "qtwebkit-bison-3.7-build.patch";
+        url = "https://github.com/qtwebkit/qtwebkit/commit/d92b11fea65364fefa700249bd3340e0cd4c5b31.patch";
+        sha256 = "0h8ymfnwgkjkwaankr3iifiscsvngqpwb91yygndx344qdiw9y0n";
+      })
+      ./qtwebkit.patch
+    ] ++ optionals stdenv.isDarwin [
+      ./qtwebkit-darwin-no-readline.patch
+      ./qtwebkit-darwin-no-qos-classes.patch
+    ];
+    qttools = [ ./qttools.patch ];
+  };
+
+  qtModule =
+    import ../qtModule.nix
+    {
+      inherit perl;
+      inherit (stdenv) lib;
+      # Use a variant of mkDerivation that does not include wrapQtApplications
+      # to avoid cyclic dependencies between Qt modules.
+      mkDerivation =
+        import ../mkDerivation.nix
+        { inherit (stdenv) lib; inherit debug; wrapQtAppsHook = null; }
+        stdenvActual.mkDerivation;
+    }
+    { inherit self srcs patches; };
+
+  addPackages = self: with self;
+    let
+      callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; };
+    in {
+
+      mkDerivationWith =
+        import ../mkDerivation.nix
+        { inherit (stdenv) lib; inherit debug; inherit (self) wrapQtAppsHook; };
+
+      mkDerivation = mkDerivationWith stdenvActual.mkDerivation;
+
+      qtbase = callPackage ../modules/qtbase.nix {
+        inherit (srcs.qtbase) src version;
+        patches = patches.qtbase;
+        inherit bison cups harfbuzz libGL;
+        withGtk3 = true; inherit dconf gtk3;
+        inherit developerBuild decryptSslTraffic;
+      };
+
+      qtcharts = callPackage ../modules/qtcharts.nix {};
+      qtconnectivity = callPackage ../modules/qtconnectivity.nix {};
+      qtdeclarative = callPackage ../modules/qtdeclarative.nix {};
+      qtdoc = callPackage ../modules/qtdoc.nix {};
+      qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {};
+      qtimageformats = callPackage ../modules/qtimageformats.nix {};
+      qtlocation = callPackage ../modules/qtlocation.nix {};
+      qtmacextras = callPackage ../modules/qtmacextras.nix {};
+      qtmultimedia = callPackage ../modules/qtmultimedia.nix {
+        inherit gstreamer gst-plugins-base;
+      };
+      qtnetworkauth = callPackage ../modules/qtnetworkauth.nix {};
+      qtquick1 = null;
+      qtquickcontrols = callPackage ../modules/qtquickcontrols.nix {};
+      qtquickcontrols2 = callPackage ../modules/qtquickcontrols2.nix {};
+      qtscript = callPackage ../modules/qtscript.nix {};
+      qtsensors = callPackage ../modules/qtsensors.nix {};
+      qtserialport = callPackage ../modules/qtserialport.nix {};
+      qtspeech = callPackage ../modules/qtspeech.nix {};
+      qtsvg = callPackage ../modules/qtsvg.nix {};
+      qtscxml = callPackage ../modules/qtscxml.nix {};
+      qttools = callPackage ../modules/qttools.nix {};
+      qttranslations = callPackage ../modules/qttranslations.nix {};
+      qtvirtualkeyboard = callPackage ../modules/qtvirtualkeyboard.nix {};
+      qtwayland = callPackage ../modules/qtwayland.nix {};
+      qtwebchannel = callPackage ../modules/qtwebchannel.nix {};
+      qtwebengine = callPackage ../modules/qtwebengine.nix {};
+      qtwebglplugin = callPackage ../modules/qtwebglplugin.nix {};
+      qtwebkit = callPackage ../modules/qtwebkit.nix {};
+      qtwebsockets = callPackage ../modules/qtwebsockets.nix {};
+      qtwebview = callPackage ../modules/qtwebview.nix {};
+      qtx11extras = callPackage ../modules/qtx11extras.nix {};
+      qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {};
+
+      env = callPackage ../qt-env.nix {};
+      full = env "qt-full-${qtbase.version}" ([
+        qtcharts qtconnectivity qtdeclarative qtdoc qtgraphicaleffects
+        qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2
+        qtscript qtsensors qtserialport qtsvg qttools qttranslations
+        qtvirtualkeyboard qtwebchannel qtwebengine qtwebkit qtwebsockets
+        qtwebview qtx11extras qtxmlpatterns
+      ] ++ optional (!stdenv.isDarwin) qtwayland
+        ++ optional (stdenv.isDarwin) qtmacextras);
+
+      qmake = makeSetupHook {
+        deps = [ self.qtbase.dev ];
+        substitutions = {
+          fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh;
+        };
+      } ../hooks/qmake-hook.sh;
+
+      wrapQtAppsHook = makeSetupHook {
+        deps =
+          [ self.qtbase.dev makeWrapper ]
+          ++ optional stdenv.isLinux self.qtwayland.dev;
+      } ../hooks/wrap-qt-apps-hook.sh;
+    };
+
+   self = makeScope newScope addPackages;
+
+in self
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.14/fetch.sh b/nixpkgs/pkgs/development/libraries/qt-5/5.14/fetch.sh
new file mode 100644
index 000000000000..2d266b529776
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.14/fetch.sh
@@ -0,0 +1 @@
+WGET_ARGS=( http://download.qt.io/official_releases/qt/5.14/5.14.2/submodules/ )
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch
new file mode 100644
index 000000000000..0951b6646ab7
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch
@@ -0,0 +1,411 @@
+From a5848991db270ffdd9f2fa05220475bb3194d12f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Milan=20P=C3=A4ssler?= <me@pbb.lc>
+Date: Fri, 3 Apr 2020 21:07:58 +0200
+Subject: [PATCH 01/10] qtbase-mkspecs-mac
+
+---
+ mkspecs/common/mac.conf               |   2 +-
+ mkspecs/features/mac/default_post.prf | 206 --------------------------
+ mkspecs/features/mac/default_pre.prf  |  58 --------
+ mkspecs/features/mac/sdk.mk           |  25 ----
+ mkspecs/features/mac/sdk.prf          |  61 --------
+ 5 files changed, 1 insertion(+), 351 deletions(-)
+ delete mode 100644 mkspecs/features/mac/sdk.mk
+ delete mode 100644 mkspecs/features/mac/sdk.prf
+
+diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf
+index 61bea952b2..9909dae726 100644
+--- a/mkspecs/common/mac.conf
++++ b/mkspecs/common/mac.conf
+@@ -23,7 +23,7 @@ QMAKE_INCDIR_OPENGL     = \
+ 
+ QMAKE_FIX_RPATH         = install_name_tool -id
+ 
+-QMAKE_LFLAGS_RPATH      = -Wl,-rpath,
++QMAKE_LFLAGS_RPATH      =
+ QMAKE_LFLAGS_GCSECTIONS = -Wl,-dead_strip
+ 
+ QMAKE_LFLAGS_REL_RPATH  =
+diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf
+index ba163efc18..b80ec1e801 100644
+--- a/mkspecs/features/mac/default_post.prf
++++ b/mkspecs/features/mac/default_post.prf
+@@ -68,212 +68,6 @@ qt {
+     }
+ }
+ 
+-# Add the same default rpaths as Xcode does for new projects.
+-# This is especially important for iOS/tvOS/watchOS where no other option is possible.
+-!no_default_rpath {
+-    uikit: QMAKE_RPATHDIR += @executable_path/Frameworks
+-    else: QMAKE_RPATHDIR += @executable_path/../Frameworks
+-    equals(TEMPLATE, lib):!plugin:lib_bundle: QMAKE_RPATHDIR += @loader_path/Frameworks
+-}
+-
+-# Don't pass -headerpad_max_install_names when using Bitcode.
+-# In that case the linker emits a warning stating that the flag is ignored when
+-# used with bitcode, for reasons that cannot be determined (rdar://problem/20748962).
+-# Using this flag is also unnecessary in practice on UIKit platforms since they
+-# are sandboxed, and only UIKit platforms support bitcode to begin with.
+-!bitcode: QMAKE_LFLAGS += $$QMAKE_LFLAGS_HEADERPAD
+-
+-app_extension_api_only {
+-    QMAKE_CFLAGS              += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
+-    QMAKE_CXXFLAGS            += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
+-    QMAKE_CXXFLAGS_PRECOMPILE += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
+-    QMAKE_LFLAGS              += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
+-}
+-
+-macx-xcode {
+-    qmake_pkginfo_typeinfo.name = QMAKE_PKGINFO_TYPEINFO
+-    !isEmpty(QMAKE_PKGINFO_TYPEINFO): \
+-        qmake_pkginfo_typeinfo.value = $$QMAKE_PKGINFO_TYPEINFO
+-    else: \
+-        qmake_pkginfo_typeinfo.value = "????"
+-    QMAKE_MAC_XCODE_SETTINGS += qmake_pkginfo_typeinfo
+-
+-    bundle_version = $$VERSION
+-    isEmpty(bundle_version): bundle_version = 1.0.0
+-
+-    l = $$split(bundle_version, '.') 0 0  # make sure there are at least three
+-    VER_MAJ = $$member(l, 0, 0)
+-    VER_MIN = $$member(l, 1, 1)
+-    VER_PAT = $$member(l, 2, 2)
+-    unset(l)
+-
+-    qmake_full_version.name = QMAKE_FULL_VERSION
+-    qmake_full_version.value = $${VER_MAJ}.$${VER_MIN}.$${VER_PAT}
+-    QMAKE_MAC_XCODE_SETTINGS += qmake_full_version
+-
+-    qmake_short_version.name = QMAKE_SHORT_VERSION
+-    qmake_short_version.value = $${VER_MAJ}.$${VER_MIN}
+-    QMAKE_MAC_XCODE_SETTINGS += qmake_short_version
+-
+-    !isEmpty(QMAKE_XCODE_DEBUG_INFORMATION_FORMAT) {
+-        debug_information_format.name = DEBUG_INFORMATION_FORMAT
+-        debug_information_format.value = $$QMAKE_XCODE_DEBUG_INFORMATION_FORMAT
+-        debug_information_format.build = debug
+-        QMAKE_MAC_XCODE_SETTINGS += debug_information_format
+-    }
+-
+-    QMAKE_XCODE_ARCHS =
+-
+-    arch_device.name = "ARCHS[sdk=$${device.sdk}*]"
+-    arch_device.value = $$QMAKE_APPLE_DEVICE_ARCHS
+-    QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_DEVICE_ARCHS
+-    QMAKE_MAC_XCODE_SETTINGS += arch_device
+-
+-    simulator {
+-        arch_simulator.name = "ARCHS[sdk=$${simulator.sdk}*]"
+-        arch_simulator.value = $$QMAKE_APPLE_SIMULATOR_ARCHS
+-        QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_SIMULATOR_ARCHS
+-        QMAKE_MAC_XCODE_SETTINGS += arch_simulator
+-    }
+-
+-    only_active_arch.name = ONLY_ACTIVE_ARCH
+-    only_active_arch.value = YES
+-    only_active_arch.build = debug
+-    QMAKE_MAC_XCODE_SETTINGS += only_active_arch
+-} else {
+-    device|!simulator: VALID_DEVICE_ARCHS = $$QMAKE_APPLE_DEVICE_ARCHS
+-    simulator: VALID_SIMULATOR_ARCHS = $$QMAKE_APPLE_SIMULATOR_ARCHS
+-    VALID_ARCHS = $$VALID_DEVICE_ARCHS $$VALID_SIMULATOR_ARCHS
+-
+-    isEmpty(VALID_ARCHS): \
+-        error("QMAKE_APPLE_DEVICE_ARCHS or QMAKE_APPLE_SIMULATOR_ARCHS must contain at least one architecture")
+-
+-    single_arch: VALID_ARCHS = $$first(VALID_ARCHS)
+-
+-    ACTIVE_ARCHS = $(filter $(EXPORT_VALID_ARCHS), $(ARCHS))
+-    ARCH_ARGS = $(foreach arch, $(if $(EXPORT_ACTIVE_ARCHS), $(EXPORT_ACTIVE_ARCHS), $(EXPORT_VALID_ARCHS)), -arch $(arch))
+-
+-    QMAKE_EXTRA_VARIABLES += VALID_ARCHS ACTIVE_ARCHS ARCH_ARGS
+-
+-    arch_flags = $(EXPORT_ARCH_ARGS)
+-
+-    QMAKE_CFLAGS += $$arch_flags
+-    QMAKE_CXXFLAGS += $$arch_flags
+-    QMAKE_LFLAGS += $$arch_flags
+-
+-    QMAKE_PCH_ARCHS = $$VALID_ARCHS
+-
+-    macos: deployment_target = $$QMAKE_MACOSX_DEPLOYMENT_TARGET
+-    ios: deployment_target = $$QMAKE_IOS_DEPLOYMENT_TARGET
+-    tvos: deployment_target = $$QMAKE_TVOS_DEPLOYMENT_TARGET
+-    watchos: deployment_target = $$QMAKE_WATCHOS_DEPLOYMENT_TARGET
+-
+-    # If we're doing a simulator and device build, device and simulator
+-    # architectures use different paths and flags for the sysroot and
+-    # deployment target switch, so we must multiplex them across multiple
+-    # architectures using -Xarch. Otherwise we fall back to the simple path.
+-    # This is not strictly necessary, but results in cleaner command lines
+-    # and makes it easier for people to override EXPORT_VALID_ARCHS to limit
+-    # individual rules to a different set of architecture(s) from the overall
+-    # build (such as machtest in QtCore).
+-    simulator:device {
+-        QMAKE_XARCH_CFLAGS =
+-        QMAKE_XARCH_LFLAGS =
+-        QMAKE_EXTRA_VARIABLES += QMAKE_XARCH_CFLAGS QMAKE_XARCH_LFLAGS
+-
+-        for (arch, VALID_ARCHS) {
+-            contains(VALID_SIMULATOR_ARCHS, $$arch) {
+-                sdk = $$simulator.sdk
+-                version_identifier = $$simulator.deployment_identifier
+-            } else {
+-                sdk = $$device.sdk
+-                version_identifier = $$device.deployment_identifier
+-            }
+-
+-            version_min_flags = \
+-                -Xarch_$${arch} \
+-                -m$${version_identifier}-version-min=$$deployment_target
+-            QMAKE_XARCH_CFLAGS_$${arch} = $$version_min_flags \
+-                -Xarch_$${arch} \
+-                -isysroot$$xcodeSDKInfo(Path, $$sdk)
+-            QMAKE_XARCH_LFLAGS_$${arch} = $$version_min_flags \
+-                -Xarch_$${arch} \
+-                -Wl,-syslibroot,$$xcodeSDKInfo(Path, $$sdk)
+-
+-            QMAKE_XARCH_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS_$${arch})
+-            QMAKE_XARCH_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS_$${arch})
+-
+-            QMAKE_EXTRA_VARIABLES += \
+-                QMAKE_XARCH_CFLAGS_$${arch} \
+-                QMAKE_XARCH_LFLAGS_$${arch}
+-        }
+-
+-        QMAKE_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS)
+-        QMAKE_CXXFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS)
+-        QMAKE_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS)
+-    } else {
+-        simulator {
+-            version_identifier = $$simulator.deployment_identifier
+-            sysroot_path  = $$xcodeSDKInfo(Path, $$simulator.sdk)
+-        } else {
+-            version_identifier = $$device.deployment_identifier
+-            sysroot_path  = $$xcodeSDKInfo(Path, $$device.sdk)
+-        }
+-        version_min_flag = -m$${version_identifier}-version-min=$$deployment_target
+-        QMAKE_CFLAGS += -isysroot $$sysroot_path $$version_min_flag
+-        QMAKE_CXXFLAGS += -isysroot $$sysroot_path $$version_min_flag
+-        QMAKE_LFLAGS += -Wl,-syslibroot,$$sysroot_path $$version_min_flag
+-    }
+-
+-    # Enable precompiled headers for multiple architectures
+-    QMAKE_CFLAGS_USE_PRECOMPILE =
+-    for (arch, VALID_ARCHS) {
+-        icc_pch_style: \
+-            use_flag = "-pch-use "
+-        else: \
+-            use_flag = -include
+-
+-        # Only use Xarch with multi-arch, as the option confuses ccache
+-        count(VALID_ARCHS, 1, greaterThan): \
+-            QMAKE_CFLAGS_USE_PRECOMPILE += \
+-                -Xarch_$${arch}
+-
+-        QMAKE_CFLAGS_USE_PRECOMPILE += \
+-            $${use_flag}${QMAKE_PCH_OUTPUT_$${arch}}
+-    }
+-    icc_pch_style {
+-        QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -include ${QMAKE_PCH_INPUT}
+-        QMAKE_CFLAGS_USE_PRECOMPILE =
+-    } else {
+-        QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+-        QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+-        QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+-    }
+-
+-    QMAKE_PCH_OUTPUT_EXT = _${QMAKE_PCH_ARCH}$${QMAKE_PCH_OUTPUT_EXT}
+-}
+-
+-!equals(sdk_version, $$QMAKE_MAC_SDK_VERSION) {
+-    # Explicit SDK version has been set, respect that
+-    QMAKE_LFLAGS += -Wl,-sdk_version -Wl,$$sdk_version
+-}
+-
+-cache(QMAKE_XCODE_DEVELOPER_PATH, stash)
+-!isEmpty(QMAKE_XCODE_VERSION): \
+-    cache(QMAKE_XCODE_VERSION, stash)
+-
+-QMAKE_XCODE_LIBRARY_SUFFIX = $$qtPlatformTargetSuffix()
+-
+-xcode_product_bundle_identifier_setting.name = PRODUCT_BUNDLE_IDENTIFIER
+-xcode_product_bundle_identifier_setting.value = $$QMAKE_TARGET_BUNDLE_PREFIX
+-isEmpty(xcode_product_bundle_identifier_setting.value): \
+-    xcode_product_bundle_identifier_setting.value = "com.yourcompany"
+-xcode_product_bundle_target = $$QMAKE_BUNDLE
+-isEmpty(xcode_product_bundle_target): \
+-    xcode_product_bundle_target = ${PRODUCT_NAME:rfc1034identifier}
+-xcode_product_bundle_identifier_setting.value = "$${xcode_product_bundle_identifier_setting.value}.$${xcode_product_bundle_target}"
+-QMAKE_MAC_XCODE_SETTINGS += xcode_product_bundle_identifier_setting
+-
+ !macx-xcode {
+     generate_xcode_project.commands = @$(QMAKE) -spec macx-xcode \"$(EXPORT__PRO_FILE_)\" $$QMAKE_ARGS
+     generate_xcode_project.target = xcodeproj
+diff --git a/mkspecs/features/mac/default_pre.prf b/mkspecs/features/mac/default_pre.prf
+index e3534561a5..3b01424e67 100644
+--- a/mkspecs/features/mac/default_pre.prf
++++ b/mkspecs/features/mac/default_pre.prf
+@@ -1,60 +1,2 @@
+ CONFIG = asset_catalogs rez $$CONFIG
+ load(default_pre)
+-
+-isEmpty(QMAKE_XCODE_DEVELOPER_PATH) {
+-    # Get path of Xcode's Developer directory
+-    QMAKE_XCODE_DEVELOPER_PATH = $$system("/usr/bin/xcode-select --print-path 2>/dev/null")
+-    isEmpty(QMAKE_XCODE_DEVELOPER_PATH): \
+-        error("Xcode path is not set. Please use xcode-select to choose Xcode installation path.")
+-
+-    # Make sure Xcode path is valid
+-    !exists($$QMAKE_XCODE_DEVELOPER_PATH): \
+-        error("Xcode is not installed in $${QMAKE_XCODE_DEVELOPER_PATH}. Please use xcode-select to choose Xcode installation path.")
+-}
+-
+-isEmpty(QMAKE_XCODEBUILD_PATH): \
+-    QMAKE_XCODEBUILD_PATH = $$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null")
+-
+-!isEmpty(QMAKE_XCODEBUILD_PATH) {
+-    # Make sure Xcode is set up properly
+-    !system("/usr/bin/xcrun xcodebuild -license check 2>/dev/null"): \
+-        error("Xcode not set up properly. You need to confirm the license agreement by running 'sudo xcrun xcodebuild -license accept'.")
+-
+-    isEmpty(QMAKE_XCODE_VERSION) {
+-        # Extract Xcode version using xcodebuild
+-        xcode_version = $$system("/usr/bin/xcrun xcodebuild -version")
+-        QMAKE_XCODE_VERSION = $$member(xcode_version, 1)
+-        isEmpty(QMAKE_XCODE_VERSION): error("Could not resolve Xcode version.")
+-        unset(xcode_version)
+-    }
+-}
+-
+-isEmpty(QMAKE_TARGET_BUNDLE_PREFIX) {
+-    QMAKE_XCODE_PREFERENCES_FILE = $$(HOME)/Library/Preferences/com.apple.dt.Xcode.plist
+-    exists($$QMAKE_XCODE_PREFERENCES_FILE): \
+-        QMAKE_TARGET_BUNDLE_PREFIX = $$system("/usr/libexec/PlistBuddy -c 'print IDETemplateOptions:bundleIdentifierPrefix' $$QMAKE_XCODE_PREFERENCES_FILE 2>/dev/null")
+-
+-    !isEmpty(_QMAKE_CACHE_):!isEmpty(QMAKE_TARGET_BUNDLE_PREFIX): \
+-        cache(QMAKE_TARGET_BUNDLE_PREFIX)
+-}
+-
+-QMAKE_ASSET_CATALOGS_APP_ICON = AppIcon
+-
+-# Make the default debug info format for static debug builds
+-# DWARF instead of DWARF with dSYM. This cuts down build times
+-# for application debug builds significantly, as Xcode doesn't
+-# have to pull out all the DWARF info from the Qt static libs
+-# and put it into a dSYM file. We don't need that dSYM file in
+-# the first place, since the information is available in the
+-# object files inside the archives (static libraries).
+-macx-xcode:qtConfig(static): \
+-    QMAKE_XCODE_DEBUG_INFORMATION_FORMAT = dwarf
+-
+-# This variable is used by the xcode_dynamic_library_suffix
+-# feature, which allows Xcode to choose the Qt libraries to link to
+-# at build time, depending on the current Xcode SDK and configuration.
+-QMAKE_XCODE_LIBRARY_SUFFIX_SETTING = QT_LIBRARY_SUFFIX
+-
+-xcode_copy_phase_strip_setting.name = COPY_PHASE_STRIP
+-xcode_copy_phase_strip_setting.value = NO
+-QMAKE_MAC_XCODE_SETTINGS += xcode_copy_phase_strip_setting
+diff --git a/mkspecs/features/mac/sdk.mk b/mkspecs/features/mac/sdk.mk
+deleted file mode 100644
+index c40f58c987..0000000000
+--- a/mkspecs/features/mac/sdk.mk
++++ /dev/null
+@@ -1,25 +0,0 @@
+-
+-ifeq ($(QT_MAC_SDK_NO_VERSION_CHECK),)
+-    CHECK_SDK_COMMAND = /usr/bin/xcrun --sdk $(EXPORT_QMAKE_MAC_SDK) -show-sdk-version 2>&1
+-    CURRENT_MAC_SDK_VERSION := $(shell DEVELOPER_DIR=$(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) $(CHECK_SDK_COMMAND))
+-    ifneq ($(CURRENT_MAC_SDK_VERSION),$(EXPORT_QMAKE_MAC_SDK_VERSION))
+-        # We don't want to complain about out of date SDK unless the target needs to be remade.
+-        # This covers use-cases such as running 'make check' after moving the build to a
+-        # computer without Xcode or with a different Xcode version.
+-        TARGET_UP_TO_DATE := $(shell QT_MAC_SDK_NO_VERSION_CHECK=1 $(MAKE) --question $(QMAKE_TARGET) && echo 1 || echo 0)
+-        ifeq ($(TARGET_UP_TO_DATE),0)
+-            ifneq ($(findstring missing DEVELOPER_DIR path,$(CURRENT_MAC_SDK_VERSION)),)
+-                $(info The developer dir $(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) is no longer valid.)
+-            else ifneq ($(findstring SDK "$(EXPORT_QMAKE_MAC_SDK)" cannot be located,$(CURRENT_MAC_SDK_VERSION)),)
+-                $(info The developer dir $(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) no longer contains the $(EXPORT_QMAKE_MAC_SDK_VERSION) platform SDK.)
+-            else ifneq ($(CURRENT_MAC_SDK_VERSION),)
+-                $(info The platform SDK has been changed from version $(EXPORT_QMAKE_MAC_SDK_VERSION) to version $(CURRENT_MAC_SDK_VERSION).)
+-            else
+-                $(info Unknown error resolving current platform SDK version.)
+-            endif
+-            $(info This requires a fresh build. Please wipe the build directory completely,)
+-            $(info including any .qmake.stash and .qmake.cache files generated by qmake.)
+-            $(error ^)
+-        endif
+-    endif
+-endif
+diff --git a/mkspecs/features/mac/sdk.prf b/mkspecs/features/mac/sdk.prf
+deleted file mode 100644
+index 3a9c2778bb..0000000000
+--- a/mkspecs/features/mac/sdk.prf
++++ /dev/null
+@@ -1,61 +0,0 @@
+-
+-isEmpty(QMAKE_MAC_SDK): \
+-    error("QMAKE_MAC_SDK must be set when using CONFIG += sdk.")
+-
+-contains(QMAKE_MAC_SDK, .*/.*): \
+-    error("QMAKE_MAC_SDK can only contain short-form SDK names (eg. macosx, iphoneos)")
+-
+-defineReplace(xcodeSDKInfo) {
+-    info = $$1
+-    equals(info, "Path"): \
+-        infoarg = --show-sdk-path
+-    equals(info, "PlatformPath"): \
+-        infoarg = --show-sdk-platform-path
+-    equals(info, "SDKVersion"): \
+-        infoarg = --show-sdk-version
+-    sdk = $$2
+-    isEmpty(sdk): \
+-        sdk = $$QMAKE_MAC_SDK
+-
+-    isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}) {
+-        QMAKE_MAC_SDK.$${sdk}.$${info} = $$system("/usr/bin/xcrun --sdk $$sdk $$infoarg 2>/dev/null")
+-        # --show-sdk-platform-path won't work for Command Line Tools; this is fine
+-        # only used by the XCTest backend to testlib
+-        isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}):if(!isEmpty(QMAKE_XCODEBUILD_PATH)|!equals(infoarg, "--show-sdk-platform-path")): \
+-            error("Could not resolve SDK $$info for \'$$sdk\' using $$infoarg")
+-        cache(QMAKE_MAC_SDK.$${sdk}.$${info}, set stash, QMAKE_MAC_SDK.$${sdk}.$${info})
+-    }
+-
+-    return($$eval(QMAKE_MAC_SDK.$${sdk}.$${info}))
+-}
+-
+-QMAKE_MAC_SDK_PATH = $$xcodeSDKInfo(Path)
+-QMAKE_MAC_SDK_PLATFORM_PATH = $$xcodeSDKInfo(PlatformPath)
+-QMAKE_MAC_SDK_VERSION = $$xcodeSDKInfo(SDKVersion)
+-
+-isEmpty(QMAKE_EXPORT_INCDIR_OPENGL) {
+-    QMAKE_EXPORT_INCDIR_OPENGL = $$QMAKE_INCDIR_OPENGL
+-    sysrootified =
+-    for(val, QMAKE_INCDIR_OPENGL): sysrootified += $${QMAKE_MAC_SDK_PATH}$$val
+-    QMAKE_INCDIR_OPENGL = $$sysrootified
+-}
+-
+-QMAKESPEC_NAME = $$basename(QMAKESPEC)
+-
+-# Resolve SDK version of various tools
+-for(tool, $$list(QMAKE_CC QMAKE_CXX QMAKE_FIX_RPATH QMAKE_AR QMAKE_RANLIB QMAKE_LINK QMAKE_LINK_SHLIB QMAKE_ACTOOL QMAKE_LINK_C QMAKE_LINK_C_SHLIB)) {
+-    tool_variable = QMAKE_MAC_SDK.$${QMAKESPEC_NAME}.$${QMAKE_MAC_SDK}.$${tool}
+-    !isEmpty($$tool_variable) {
+-        $$tool = $$eval($$tool_variable)
+-        next()
+-    }
+-
+-    value = $$eval($$tool)
+-    isEmpty(value): next()
+-
+-    sysrooted = $$system("/usr/bin/xcrun -sdk $$QMAKE_MAC_SDK -find $$first(value) 2>/dev/null")
+-    isEmpty(sysrooted): next()
+-
+-    $$tool = $$sysrooted $$member(value, 1, -1)
+-    cache($$tool_variable, set stash, $$tool)
+-}
+-- 
+2.25.1
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0002-qtbase-mac.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0002-qtbase-mac.patch
new file mode 100644
index 000000000000..2e28466c5032
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0002-qtbase-mac.patch
@@ -0,0 +1,116 @@
+From ccaa916eab33093704293bc911eedd85fbe5f160 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Milan=20P=C3=A4ssler?= <me@pbb.lc>
+Date: Fri, 3 Apr 2020 21:15:27 +0200
+Subject: [PATCH 02/10] qtbase-mac
+
+---
+ src/corelib/kernel/qcore_mac_p.h | 16 ++++++++++++++--
+ src/testlib/qappletestlogger.cpp |  2 +-
+ src/testlib/qappletestlogger_p.h |  2 +-
+ src/testlib/qtestcase.cpp        |  2 +-
+ src/testlib/qtestlog.cpp         |  2 +-
+ src/testlib/qtestlog_p.h         |  2 +-
+ 6 files changed, 19 insertions(+), 7 deletions(-)
+
+diff --git a/src/corelib/kernel/qcore_mac_p.h b/src/corelib/kernel/qcore_mac_p.h
+index 535d3579b2..3d70bf39c1 100644
+--- a/src/corelib/kernel/qcore_mac_p.h
++++ b/src/corelib/kernel/qcore_mac_p.h
+@@ -225,7 +225,7 @@ private:
+ 
+ // --------------------------------------------------------------------------
+ 
+-#if !defined(QT_BOOTSTRAPPED)
++#if 0
+ 
+ QT_END_NAMESPACE
+ #include <os/activity.h>
+@@ -303,7 +303,19 @@ QT_MAC_WEAK_IMPORT(_os_activity_current);
+ 
+ #define QT_APPLE_SCOPED_LOG_ACTIVITY(...) QAppleLogActivity scopedLogActivity = QT_APPLE_LOG_ACTIVITY(__VA_ARGS__).enter();
+ 
+-#endif // !defined(QT_BOOTSTRAPPED)
++#else // !defined(QT_BOOTSTRAPPED)
++
++#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT3(...)
++#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT2(...)
++#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT(...)
++
++#define QT_APPLE_LOG_ACTIVITY2(...)
++#define QT_APPLE_LOG_ACTIVITY1(...)
++#define QT_APPLE_LOG_ACTIVITY(...)
++
++#define QT_APPLE_SCOPED_LOG_ACTIVITY(...)
++
++#endif
+ 
+ // -------------------------------------------------------------------------
+ 
+diff --git a/src/testlib/qappletestlogger.cpp b/src/testlib/qappletestlogger.cpp
+index dfeadebdef..2a74330c1d 100644
+--- a/src/testlib/qappletestlogger.cpp
++++ b/src/testlib/qappletestlogger.cpp
+@@ -43,7 +43,7 @@
+ 
+ QT_BEGIN_NAMESPACE
+ 
+-#if defined(QT_USE_APPLE_UNIFIED_LOGGING)
++#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0
+ 
+ using namespace QTestPrivate;
+ 
+diff --git a/src/testlib/qappletestlogger_p.h b/src/testlib/qappletestlogger_p.h
+index 62c6d95c5a..f8e0a3b767 100644
+--- a/src/testlib/qappletestlogger_p.h
++++ b/src/testlib/qappletestlogger_p.h
+@@ -57,7 +57,7 @@
+ 
+ QT_BEGIN_NAMESPACE
+ 
+-#if defined(QT_USE_APPLE_UNIFIED_LOGGING)
++#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0
+ class QAppleTestLogger : public QAbstractTestLogger
+ {
+ public:
+diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp
+index 70733a692a..8bcda17858 100644
+--- a/src/testlib/qtestcase.cpp
++++ b/src/testlib/qtestcase.cpp
+@@ -852,7 +852,7 @@ Q_TESTLIB_EXPORT void qtest_qParseArgs(int argc, const char *const argv[], bool
+ 
+     bool addFallbackLogger = !explicitLoggerRequested;
+ 
+-#if defined(QT_USE_APPLE_UNIFIED_LOGGING)
++#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0
+     // Any explicitly requested loggers will be added by now, so we can check if they use stdout
+     const bool safeToAddAppleLogger = !AppleUnifiedLogger::willMirrorToStderr() || !QTestLog::loggerUsingStdout();
+     if (safeToAddAppleLogger && QAppleTestLogger::debugLoggingEnabled()) {
+diff --git a/src/testlib/qtestlog.cpp b/src/testlib/qtestlog.cpp
+index f3ebf343c5..9b4f526b2e 100644
+--- a/src/testlib/qtestlog.cpp
++++ b/src/testlib/qtestlog.cpp
+@@ -465,7 +465,7 @@ void QTestLog::addLogger(LogMode mode, const char *filename)
+     case QTestLog::TAP:
+         logger = new QTapTestLogger(filename);
+         break;
+-#if defined(QT_USE_APPLE_UNIFIED_LOGGING)
++#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0
+     case QTestLog::Apple:
+         logger = new QAppleTestLogger;
+         break;
+diff --git a/src/testlib/qtestlog_p.h b/src/testlib/qtestlog_p.h
+index fff36f290d..f737ccf064 100644
+--- a/src/testlib/qtestlog_p.h
++++ b/src/testlib/qtestlog_p.h
+@@ -72,7 +72,7 @@ public:
+ 
+     enum LogMode {
+         Plain = 0, XML, LightXML, XunitXML, CSV, TeamCity, TAP
+-#if defined(QT_USE_APPLE_UNIFIED_LOGGING)
++#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0
+         , Apple
+ #endif
+ #if defined(HAVE_XCTEST)
+-- 
+2.25.1
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0003-qtbase-mkspecs.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0003-qtbase-mkspecs.patch
new file mode 100644
index 000000000000..b704d0dc8722
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0003-qtbase-mkspecs.patch
@@ -0,0 +1,464 @@
+From 1cb5581d7f20bf87ac8d67a7295447a78a1d9645 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Milan=20P=C3=A4ssler?= <me@pbb.lc>
+Date: Sat, 4 Apr 2020 00:25:52 +0200
+Subject: [PATCH 03/10] qtbase-mkspecs
+
+---
+ mkspecs/features/create_cmake.prf             | 51 +++---------
+ .../data/cmake/Qt5BasicConfig.cmake.in        | 80 +------------------
+ mkspecs/features/qml_module.prf               |  2 +-
+ mkspecs/features/qml_plugin.prf               |  2 +-
+ mkspecs/features/qt_app.prf                   |  2 +-
+ mkspecs/features/qt_build_paths.prf           |  4 +-
+ mkspecs/features/qt_docs.prf                  | 10 +--
+ mkspecs/features/qt_example_installs.prf      |  2 +-
+ mkspecs/features/qt_functions.prf             |  2 +-
+ mkspecs/features/qt_installs.prf              | 22 ++---
+ mkspecs/features/qt_plugin.prf                |  2 +-
+ 11 files changed, 38 insertions(+), 141 deletions(-)
+
+diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
+index 0e71fd0015..ba071d9a70 100644
+--- a/mkspecs/features/create_cmake.prf
++++ b/mkspecs/features/create_cmake.prf
+@@ -21,7 +21,7 @@ load(cmake_functions)
+ # at cmake time whether package has been found via a symlink, and correct
+ # that to an absolute path. This is only done for installations to
+ # the /usr or / prefix.
+-CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$[QT_INSTALL_LIBS])
++CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$NIX_OUTPUT_OUT/lib/)
+ contains(CMAKE_INSTALL_LIBS_DIR, ^(/usr)?/lib(64)?.*): CMAKE_USR_MOVE_WORKAROUND = $$CMAKE_INSTALL_LIBS_DIR
+ 
+ CMAKE_OUT_DIR = $$MODULE_BASE_OUTDIR/lib/cmake
+@@ -77,45 +77,20 @@ split_incpath {
+         $$cmake_extra_source_includes.output
+ }
+ 
+-CMAKE_INCLUDE_DIR = $$cmakeRelativePath($$[QT_INSTALL_HEADERS], $$[QT_INSTALL_PREFIX])
+-contains(CMAKE_INCLUDE_DIR, "^\\.\\./.*") {
+-    CMAKE_INCLUDE_DIR = $$[QT_INSTALL_HEADERS]/
+-    CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True
+-}
++CMAKE_INCLUDE_DIR = $$NIX_OUTPUT_DEV/include/
++CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True
+ 
+-CMAKE_LIB_DIR = $$cmakeRelativePath($$[QT_INSTALL_LIBS], $$[QT_INSTALL_PREFIX])
+-contains(CMAKE_LIB_DIR,"^\\.\\./.*") {
+-    CMAKE_LIB_DIR = $$[QT_INSTALL_LIBS]/
+-    CMAKE_LIB_DIR_IS_ABSOLUTE = True
+-} else {
+-    CMAKE_RELATIVE_INSTALL_LIBS_DIR = $$cmakeRelativePath($$[QT_INSTALL_PREFIX], $$[QT_INSTALL_LIBS])
+-    # We need to go up another two levels because the CMake files are
+-    # installed in $${CMAKE_LIB_DIR}/cmake/Qt5$${CMAKE_MODULE_NAME}
+-    CMAKE_RELATIVE_INSTALL_DIR = "$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}../../"
+-}
++CMAKE_BIN_DIR = $$NIX_OUTPUT_BIN/bin/
++CMAKE_BIN_DIR_IS_ABSOLUTE = True
+ 
+-CMAKE_BIN_DIR = $$cmakeRelativePath($$[QT_HOST_BINS], $$[QT_INSTALL_PREFIX])
+-contains(CMAKE_BIN_DIR, "^\\.\\./.*") {
+-    CMAKE_BIN_DIR = $$[QT_HOST_BINS]/
+-    CMAKE_BIN_DIR_IS_ABSOLUTE = True
+-}
++CMAKE_LIB_DIR = $$NIX_OUTPUT_OUT/lib/
++CMAKE_LIB_DIR_IS_ABSOLUTE = True
+ 
+-CMAKE_PLUGIN_DIR = $$cmakeRelativePath($$[QT_INSTALL_PLUGINS], $$[QT_INSTALL_PREFIX])
+-contains(CMAKE_PLUGIN_DIR, "^\\.\\./.*") {
+-    CMAKE_PLUGIN_DIR = $$[QT_INSTALL_PLUGINS]/
+-    CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True
+-}
++CMAKE_PLUGIN_DIR = $$NIX_OUTPUT_PLUGIN/
++CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True
+ 
+-win32:!static:!staticlib {
+-    CMAKE_DLL_DIR = $$cmakeRelativePath($$[QT_INSTALL_BINS], $$[QT_INSTALL_PREFIX])
+-    contains(CMAKE_DLL_DIR, "^\\.\\./.*") {
+-        CMAKE_DLL_DIR = $$[QT_INSTALL_BINS]/
+-        CMAKE_DLL_DIR_IS_ABSOLUTE = True
+-    }
+-} else {
+-    CMAKE_DLL_DIR = $$CMAKE_LIB_DIR
+-    CMAKE_DLL_DIR_IS_ABSOLUTE = $$CMAKE_LIB_DIR_IS_ABSOLUTE
+-}
++CMAKE_DLL_DIR = $$NIX_OUTPUT_OUT/lib/
++CMAKE_DLL_DIR_IS_ABSOLUTE = True
+ 
+ static|staticlib:CMAKE_STATIC_TYPE = true
+ 
+@@ -258,7 +233,7 @@ contains(CONFIG, plugin) {
+ 
+     cmake_qt5_plugin_file.files = $$cmake_target_file.output
+     static|staticlib: cmake_qt5_plugin_file.files += $$cmake_qt5_plugin_import_file.output
+-    cmake_qt5_plugin_file.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME}
++    cmake_qt5_plugin_file.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME}
+     INSTALLS += cmake_qt5_plugin_file
+ 
+     return()
+@@ -396,7 +371,7 @@ exists($$cmake_macros_file.input) {
+     cmake_qt5_module_files.files += $$cmake_macros_file.output
+ }
+ 
+-cmake_qt5_module_files.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME}
++cmake_qt5_module_files.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME}
+ 
+ # We are generating cmake files. Most developers of Qt are not aware of cmake,
+ # so we require automatic tests to be available. The only module which should
+diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+index 1099a761ce..87679b7e68 100644
+--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
++++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+@@ -3,30 +3,6 @@ if (CMAKE_VERSION VERSION_LESS 3.1.0)
+     message(FATAL_ERROR \"Qt 5 $${CMAKE_MODULE_NAME} module requires at least CMake version 3.1.0\")
+ endif()
+ 
+-!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND)
+-!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
+-!!ELSE
+-get_filename_component(_IMPORT_PREFIX \"${CMAKE_CURRENT_LIST_FILE}\" PATH)
+-# Use original install prefix when loaded through a
+-# cross-prefix symbolic link such as /lib -> /usr/lib.
+-get_filename_component(_realCurr \"${_IMPORT_PREFIX}\" REALPATH)
+-get_filename_component(_realOrig \"$$CMAKE_INSTALL_LIBS_DIR/cmake/Qt5$${CMAKE_MODULE_NAME}\" REALPATH)
+-if(_realCurr STREQUAL _realOrig)
+-    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$CMAKE_INSTALL_LIBS_DIR/$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}\" ABSOLUTE)
+-else()
+-    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
+-endif()
+-unset(_realOrig)
+-unset(_realCurr)
+-unset(_IMPORT_PREFIX)
+-!!ENDIF
+-!!ELIF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
+-!!ELSE
+-set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
+-!!ENDIF
+-
+ !!IF !equals(TEMPLATE, aux)
+ # For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead.
+ set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.VERSION)")
+@@ -146,11 +122,7 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI
+       IsDebugAndRelease)
+     set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+ 
+-!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
+-!!ELSE
+     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
+-!!ENDIF
+     _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
+     set(_deps
+         ${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}
+@@ -210,11 +182,7 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI
+ !!ENDIF
+ 
+ !!IF !isEmpty(CMAKE_WINDOWS_BUILD)
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+-!!ELSE
+     set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+-!!ENDIF
+     _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib})
+     if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\")
+         set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
+@@ -230,24 +198,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ !!IF !no_module_headers
+ !!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
+     set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS
+-      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework\"
+-      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Headers\"
++      \"$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework\"
++      \"$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Headers\"
+     )
+ !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
+     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
+-    )
+-!!ELSE
+-    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
+-!!ENDIF
+-!!ELSE
+-!!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
+-    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\")
+-!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
+-    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\"
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\"
++      \"$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, .,0, 0)/Headers/$$VERSION/\"
++      \"$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, .,0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
+     )
+ !!ELSE
+     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
+@@ -263,7 +220,6 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
+ !!ENDIF
+ !!ENDIF
+-!!ENDIF
+ !!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS)
+     include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL)
+ !!ENDIF
+@@ -465,25 +421,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
+ !!IF isEmpty(CMAKE_DEBUG_TYPE)
+ !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+-!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
+     if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+-!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
+         _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" $${CMAKE_DEBUG_AND_RELEASE})
+ !!ELSE // CMAKE_STATIC_WINDOWS_BUILD
+     if (EXISTS
+-!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
+-!!ELSE
+         \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
+-!!ENDIF
+       AND EXISTS
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+-!!ELSE
+         \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+-!!ENDIF
+         _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" $${CMAKE_DEBUG_AND_RELEASE})
+ !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
+     endif()
+@@ -502,25 +446,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
+ !!IF isEmpty(CMAKE_RELEASE_TYPE)
+ !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+-!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
+     if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+-!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
+         _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" $${CMAKE_DEBUG_AND_RELEASE})
+ !!ELSE // CMAKE_STATIC_WINDOWS_BUILD
+     if (EXISTS
+-!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
+-!!ELSE
+         \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
+-!!ENDIF
+       AND EXISTS
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+-!!ELSE
+         \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+-!!ENDIF
+         _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" $${CMAKE_DEBUG_AND_RELEASE})
+ !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
+     endif()
+@@ -542,11 +474,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+           IsDebugAndRelease)
+         set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+ 
+-!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
+-        set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
+-!!ELSE
+         set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
+-!!ENDIF
+         _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
+         set_target_properties(Qt5::${Plugin} PROPERTIES
+             \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
+diff --git a/mkspecs/features/qml_module.prf b/mkspecs/features/qml_module.prf
+index c0b50416c9..cabe39b22e 100644
+--- a/mkspecs/features/qml_module.prf
++++ b/mkspecs/features/qml_module.prf
+@@ -51,7 +51,7 @@ builtin_resources {
+ # Install rules
+ qmldir.base = $$qmldir_path
+ qmldir.files = $$qmldir_file
+-qmldir.path = $$[QT_INSTALL_QML]/$$TARGETPATH
++qmldir.path = $$NIX_OUTPUT_QML/$$TARGETPATH
+ 
+ qmlfiles.base = $$_PRO_FILE_PWD_
+ qmlfiles.files = $$fq_aux_qml_files
+diff --git a/mkspecs/features/qml_plugin.prf b/mkspecs/features/qml_plugin.prf
+index f1c5658b04..029595e721 100644
+--- a/mkspecs/features/qml_plugin.prf
++++ b/mkspecs/features/qml_plugin.prf
+@@ -50,7 +50,7 @@ load(qt_build_paths)
+ 
+ DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
+ 
+-target.path = $$[QT_INSTALL_QML]/$$TARGETPATH
++target.path = $$NIX_OUTPUT_QML/$$TARGETPATH
+ INSTALLS += target
+ 
+ # Some final setup
+diff --git a/mkspecs/features/qt_app.prf b/mkspecs/features/qt_app.prf
+index 8354f30eea..62028fef8e 100644
+--- a/mkspecs/features/qt_app.prf
++++ b/mkspecs/features/qt_app.prf
+@@ -30,7 +30,7 @@ host_build:force_bootstrap {
+     target.path = $$[QT_HOST_BINS]
+ } else {
+     !build_pass:qtConfig(debug_and_release): CONFIG += release
+-    target.path = $$[QT_INSTALL_BINS]
++    target.path = $$NIX_OUTPUT_BIN/bin
+     CONFIG += relative_qt_rpath  # Qt's tools and apps should be relocatable
+ }
+ INSTALLS += target
+diff --git a/mkspecs/features/qt_build_paths.prf b/mkspecs/features/qt_build_paths.prf
+index 3bb3823a8e..655b7b7db8 100644
+--- a/mkspecs/features/qt_build_paths.prf
++++ b/mkspecs/features/qt_build_paths.prf
+@@ -24,6 +24,6 @@ exists($$MODULE_BASE_INDIR/.git): \
+ !force_independent {
+     # If the module is not built independently, everything ends up in qtbase.
+     # This is the case in non-prefix builds, except for selected modules.
+-    MODULE_BASE_OUTDIR = $$[QT_HOST_PREFIX]
+-    MODULE_QMAKE_OUTDIR = $$[QT_HOST_PREFIX]
++    MODULE_BASE_OUTDIR = $$NIX_OUTPUT_OUT
++    MODULE_QMAKE_OUTDIR = $$NIX_OUTPUT_OUT
+ }
+diff --git a/mkspecs/features/qt_docs.prf b/mkspecs/features/qt_docs.prf
+index 095bf15dac..4cc977bea5 100644
+--- a/mkspecs/features/qt_docs.prf
++++ b/mkspecs/features/qt_docs.prf
+@@ -65,7 +65,7 @@ QMAKE_DOCS_OUTPUTDIR = $$QMAKE_DOCS_BASE_OUTDIR/$$QMAKE_DOCS_TARGETDIR
+ 
+ QDOC += -outputdir $$shell_quote($$QMAKE_DOCS_OUTPUTDIR)
+ !build_online_docs: \
+-    QDOC += -installdir $$shell_quote($$[QT_INSTALL_DOCS])
++    QDOC += -installdir $$shell_quote($$NIX_OUTPUT_DOC)
+ PREP_DOC_INDEXES =
+ DOC_INDEXES =
+ !isEmpty(QTREPOS) {
+@@ -84,8 +84,8 @@ DOC_INDEXES =
+         DOC_INDEXES += -indexdir $$shell_quote($$qrep/doc)
+ } else {
+     prepare_docs: \
+-        PREP_DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get])
+-    DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get])
++        PREP_DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC)
++    DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC)
+ }
+ 
+ qtattributionsscanner.target = qtattributionsscanner
+@@ -108,12 +108,12 @@ prepare_docs {
+     qch_docs.commands = $$QHELPGENERATOR $$shell_quote($$QMAKE_DOCS_OUTPUTDIR/$${QMAKE_DOCS_TARGET}.qhp) -o $$shell_quote($$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch)
+ 
+     inst_html_docs.files = $$QMAKE_DOCS_OUTPUTDIR
+-    inst_html_docs.path = $$[QT_INSTALL_DOCS]
++    inst_html_docs.path = $$NIX_OUTPUT_DOC
+     inst_html_docs.CONFIG += no_check_exist directory no_default_install no_build
+     INSTALLS += inst_html_docs
+ 
+     inst_qch_docs.files = $$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch
+-    inst_qch_docs.path = $$[QT_INSTALL_DOCS]
++    inst_qch_docs.path = $$NIX_OUTPUT_DOC
+     inst_qch_docs.CONFIG += no_check_exist no_default_install no_build
+     INSTALLS += inst_qch_docs
+ 
+diff --git a/mkspecs/features/qt_example_installs.prf b/mkspecs/features/qt_example_installs.prf
+index 72b47bce27..d59e949e78 100644
+--- a/mkspecs/features/qt_example_installs.prf
++++ b/mkspecs/features/qt_example_installs.prf
+@@ -90,7 +90,7 @@ sourcefiles += \
+     $$SOURCES $$HEADERS $$FORMS $$RESOURCES $$TRANSLATIONS \
+     $$DBUS_ADAPTORS $$DBUS_INTERFACES
+ addInstallFiles(sources.files, $$sourcefiles)
+-sources.path = $$[QT_INSTALL_EXAMPLES]/$$probase
++sources.path = $$NIX_OUTPUT_DEV/share/examples/$$probase
+ INSTALLS += sources
+ 
+ check_examples {
+diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
+index 7777e615bd..abeb03a663 100644
+--- a/mkspecs/features/qt_functions.prf
++++ b/mkspecs/features/qt_functions.prf
+@@ -87,7 +87,7 @@ defineTest(qtHaveModule) {
+ defineTest(qtPrepareTool) {
+     cmd = $$eval(QT_TOOL.$${2}.binary)
+     isEmpty(cmd) {
+-        cmd = $$[QT_HOST_BINS]/$$2
++        cmd = $$system("command -v $$2")
+         exists($${cmd}.pl) {
+             $${1}_EXE = $${cmd}.pl
+             cmd = perl -w $$system_path($${cmd}.pl)
+diff --git a/mkspecs/features/qt_installs.prf b/mkspecs/features/qt_installs.prf
+index 1ebca17366..a8f958eae8 100644
+--- a/mkspecs/features/qt_installs.prf
++++ b/mkspecs/features/qt_installs.prf
+@@ -12,16 +12,10 @@
+ #library
+ !qt_no_install_library {
+     win32 {
+-       host_build: \
+-           dlltarget.path = $$[QT_HOST_BINS]
+-       else: \
+-           dlltarget.path = $$[QT_INSTALL_BINS]
++       dlltarget.path = $$NIX_OUTPUT_BIN/bin
+        INSTALLS += dlltarget
+     }
+-    host_build: \
+-        target.path = $$[QT_HOST_LIBS]
+-    else: \
+-        target.path = $$[QT_INSTALL_LIBS]
++    target.path = $$NIX_OUTPUT_OUT/lib
+     !static: target.CONFIG = no_dll
+     INSTALLS += target
+ }
+@@ -29,35 +23,35 @@
+ #headers
+ qt_install_headers {
+     gen_headers.files = $$SYNCQT.GENERATED_HEADER_FILES
+-    gen_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME
++    gen_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME
+     INSTALLS += gen_headers
+ 
+     targ_headers.files = $$SYNCQT.HEADER_FILES $$SYNCQT.INJECTED_HEADER_FILES
+-    targ_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME
++    targ_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME
+     INSTALLS += targ_headers
+ 
+     private_headers.files = $$SYNCQT.PRIVATE_HEADER_FILES $$SYNCQT.INJECTED_PRIVATE_HEADER_FILES
+-    private_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private
++    private_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private
+     generated_privates: \
+         private_headers.CONFIG += no_check_exist
+     INSTALLS += private_headers
+ 
+     qpa_headers.files = $$SYNCQT.QPA_HEADER_FILES
+-    qpa_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa
++    qpa_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa
+     INSTALLS += qpa_headers
+ }
+ 
+ #module
+ qt_install_module {
+     !isEmpty(MODULE_PRI) {
+-        pritarget.path = $$[QT_HOST_DATA]/mkspecs/modules
++        pritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules
+         pritarget.files = $$MODULE_PRI
+         INSTALLS += pritarget
+     } else: isEmpty(MODULE_PRIVATE_PRI) {
+         warning("Project $$basename(_PRO_FILE_) is a module, but has not defined MODULE_PRI, which is required for Qt to expose the module to other projects.")
+     }
+     !isEmpty(MODULE_PRIVATE_PRI) {
+-        privpritarget.path = $$[QT_HOST_DATA]/mkspecs/modules
++        privpritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules
+         privpritarget.files = $$MODULE_PRIVATE_PRI
+         INSTALLS += privpritarget
+     }
+diff --git a/mkspecs/features/qt_plugin.prf b/mkspecs/features/qt_plugin.prf
+index 573d717eea..024c624cb6 100644
+--- a/mkspecs/features/qt_plugin.prf
++++ b/mkspecs/features/qt_plugin.prf
+@@ -88,7 +88,7 @@ CONFIG(static, static|shared)|prefix_build {
+     }
+ }
+ 
+-target.path = $$[QT_INSTALL_PLUGINS]/$$PLUGIN_TYPE
++target.path = $$NIX_OUTPUT_PLUGIN/$$PLUGIN_TYPE
+ INSTALLS += target
+ 
+ qt_libinfix_plugins: TARGET = $$TARGET$$QT_LIBINFIX
+-- 
+2.25.1
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0004-qtbase-replace-libdir.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0004-qtbase-replace-libdir.patch
new file mode 100644
index 000000000000..86ea2e75d9be
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0004-qtbase-replace-libdir.patch
@@ -0,0 +1,68 @@
+From 1cae0c31c9849615190ee175ebf929b3aca13fe0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Milan=20P=C3=A4ssler?= <me@pbb.lc>
+Date: Sat, 4 Apr 2020 00:27:41 +0200
+Subject: [PATCH 04/10] qtbase-replace-libdir
+
+---
+ mkspecs/features/qt_common.prf | 20 ++------------------
+ mkspecs/features/qt_module.prf |  5 +----
+ 2 files changed, 3 insertions(+), 22 deletions(-)
+
+diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf
+index c24f2c6062..0d72ce7286 100644
+--- a/mkspecs/features/qt_common.prf
++++ b/mkspecs/features/qt_common.prf
+@@ -31,32 +31,16 @@ contains(TEMPLATE, .*lib) {
+         rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]*
+     else: \
+         rplbase = $$MODULE_BASE_OUTDIR
+-    host_build {
+-        qqt_libdir = \$\$\$\$[QT_HOST_LIBS]
+-        qt_libdir = $$[QT_HOST_LIBS]
+-    } else {
+-        qqt_libdir = \$\$\$\$[QT_INSTALL_LIBS]
+-        qt_libdir = $$[QT_INSTALL_LIBS]
+-    }
++    qt_libdir = $$NIX_OUTPUT_OUT/lib
+     contains(QMAKE_DEFAULT_LIBDIRS, $$qt_libdir) {
+-        lib_replace0.match = $$rplbase/lib/
+-        lib_replace0.replace = $$qqt_libdir/
+-        lib_replace0.CONFIG = path
+-        QMAKE_PRL_INSTALL_REPLACE += lib_replace0
+         lib_replace.match = "[^ ']*$$rplbase/lib"
+         lib_replace.replace =
+     } else {
+         lib_replace.match = $$rplbase/lib
+-        lib_replace.replace = $$qqt_libdir
++        lib_replace.replace = $$qt_libdir
+     }
+     lib_replace.CONFIG = path
+     QMAKE_PRL_INSTALL_REPLACE += lib_replace
+-    !equals(qt_libdir, $$rplbase/lib) {
+-        qtlibdir_replace.match = $$qt_libdir
+-        qtlibdir_replace.replace = $$qqt_libdir
+-        qtlibdir_replace.CONFIG = path
+-        QMAKE_PRL_INSTALL_REPLACE += qtlibdir_replace
+-    }
+ }
+ 
+ # The remainder of this file must not apply to host tools/libraries,
+diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
+index 828a9621b9..b9e5d35026 100644
+--- a/mkspecs/features/qt_module.prf
++++ b/mkspecs/features/qt_module.prf
+@@ -305,10 +305,7 @@ load(qt_targets)
+ }
+ !lib_bundle:unix {
+     CONFIG += create_libtool
+-    host_build: \
+-        QMAKE_LIBTOOL_LIBDIR = $$[QT_HOST_LIBS]
+-    else: \
+-        QMAKE_LIBTOOL_LIBDIR = "=$$[QT_INSTALL_LIBS/raw]"
++    QMAKE_LIBTOOL_LIBDIR = $$NIX_OUTPUT_OUT/lib
+     !isEmpty(lib_replace0.match) {
+         ltlib_replace0.match = $$lib_replace0.match
+         ltlib_replace0.replace = $$QMAKE_LIBTOOL_LIBDIR/
+-- 
+2.25.1
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0005-qtbase-cmake.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0005-qtbase-cmake.patch
new file mode 100644
index 000000000000..85a729563417
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0005-qtbase-cmake.patch
@@ -0,0 +1,194 @@
+From 7e93d1330e1f8c8cd68334201ad100b8c05c9ab5 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Tue, 17 Sep 2019 05:34:28 -0500
+Subject: [PATCH 05/10] qtbase-cmake
+
+---
+ mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in  |  2 +-
+ mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in |  4 ++--
+ src/corelib/Qt5CoreConfigExtras.cmake.in             | 10 +++++-----
+ src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in    |  2 +-
+ .../Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in  |  2 +-
+ src/dbus/Qt5DBusConfigExtras.cmake.in                | 12 ++----------
+ src/gui/Qt5GuiConfigExtras.cmake.in                  |  6 +++---
+ src/widgets/Qt5WidgetsConfigExtras.cmake.in          |  2 +-
+ 8 files changed, 16 insertions(+), 24 deletions(-)
+
+diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+index 87679b7e68..57060e6470 100644
+--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
++++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+@@ -474,7 +474,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+           IsDebugAndRelease)
+         set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+ 
+-        set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
++        set(imported_location \"${PLUGIN_LOCATION}\")
+         _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
+         set_target_properties(Qt5::${Plugin} PROPERTIES
+             \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
+diff --git a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
+index 7b70cfed09..e700cfa539 100644
+--- a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
++++ b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
+@@ -53,10 +53,10 @@ set_property(TARGET Qt5::$$CMAKE_PLUGIN_NAME PROPERTY INTERFACE_SOURCES
+ !!ENDIF
+ 
+ !!IF !isEmpty(CMAKE_RELEASE_TYPE)
+-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\" $${CMAKE_DEBUG_AND_RELEASE})
++_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_RELEASE}\" $${CMAKE_DEBUG_AND_RELEASE})
+ !!ENDIF
+ !!IF !isEmpty(CMAKE_DEBUG_TYPE)
+-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\" $${CMAKE_DEBUG_AND_RELEASE})
++_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_DEBUG}\" $${CMAKE_DEBUG_AND_RELEASE})
+ !!ENDIF
+ 
+ list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
+diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in
+index 9b672327ef..319ba94d6d 100644
+--- a/src/corelib/Qt5CoreConfigExtras.cmake.in
++++ b/src/corelib/Qt5CoreConfigExtras.cmake.in
+@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qmake)
+     add_executable(Qt5::qmake IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::moc)
+     add_executable(Qt5::moc IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+@@ -35,7 +35,7 @@ if (NOT TARGET Qt5::rcc)
+     add_executable(Qt5::rcc IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+@@ -118,7 +118,7 @@ if (NOT TARGET Qt5::WinMain)
+ !!IF !isEmpty(CMAKE_RELEASE_TYPE)
+     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
+ !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
++    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
+ !!ENDIF
+@@ -132,7 +132,7 @@ if (NOT TARGET Qt5::WinMain)
+     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+ 
+ !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
++    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
+ !!ENDIF
+diff --git a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in b/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
+index c357237d0e..6f0c75de3c 100644
+--- a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
++++ b/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
+@@ -1,6 +1,6 @@
+ 
+ !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE)
+-set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
++set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
+ !!ELSE
+ set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
+ !!ENDIF
+diff --git a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in b/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
+index 706304cf34..546420f6ad 100644
+--- a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
++++ b/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
+@@ -1,6 +1,6 @@
+ 
+ !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE)
+-set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
++set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
+ !!ELSE
+ set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
+ !!ENDIF
+diff --git a/src/dbus/Qt5DBusConfigExtras.cmake.in b/src/dbus/Qt5DBusConfigExtras.cmake.in
+index 1d947159e2..b36865fc48 100644
+--- a/src/dbus/Qt5DBusConfigExtras.cmake.in
++++ b/src/dbus/Qt5DBusConfigExtras.cmake.in
+@@ -2,11 +2,7 @@
+ if (NOT TARGET Qt5::qdbuscpp2xml)
+     add_executable(Qt5::qdbuscpp2xml IMPORTED)
+ 
+-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
+-!!ELSE
+-    set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
+-!!ENDIF
++    set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
+     _qt5_DBus_check_file_exists(${imported_location})
+ 
+     set_target_properties(Qt5::qdbuscpp2xml PROPERTIES
+@@ -17,11 +13,7 @@ endif()
+ if (NOT TARGET Qt5::qdbusxml2cpp)
+     add_executable(Qt5::qdbusxml2cpp IMPORTED)
+ 
+-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
+-!!ELSE
+-    set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
+-!!ENDIF
++    set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
+     _qt5_DBus_check_file_exists(${imported_location})
+ 
+     set_target_properties(Qt5::qdbusxml2cpp PROPERTIES
+diff --git a/src/gui/Qt5GuiConfigExtras.cmake.in b/src/gui/Qt5GuiConfigExtras.cmake.in
+index 84dbbfebd4..8ad0720c5c 100644
+--- a/src/gui/Qt5GuiConfigExtras.cmake.in
++++ b/src/gui/Qt5GuiConfigExtras.cmake.in
+@@ -2,7 +2,7 @@
+ !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE)
+ 
+ !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
+-set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\")
++set(Qt5Gui_EGL_INCLUDE_DIRS \"$$NIX_OUTPUT_DEV/$$CMAKE_INCLUDE_DIR/QtANGLE\")
+ !!ELSE
+ set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\")
+ !!ENDIF
+@@ -17,13 +17,13 @@ macro(_populate_qt5gui_gl_target_properties TargetName Configuration LIB_LOCATIO
+     set_property(TARGET Qt5::${TargetName} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+ 
+ !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Gui_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
++    set(imported_location \"$$NIX_OUTPUT_OUT/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
+ !!ENDIF
+ 
+ !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    set(imported_implib \"${_qt5Gui_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
++    set(imported_implib \"$$NIX_OUTPUT_OUT/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+ !!ELSE
+     set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+ !!ENDIF
+diff --git a/src/widgets/Qt5WidgetsConfigExtras.cmake.in b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+index 99d87e2e46..a4eab2aa72 100644
+--- a/src/widgets/Qt5WidgetsConfigExtras.cmake.in
++++ b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::uic)
+     add_executable(Qt5::uic IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+-- 
+2.25.1
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0006-qtbase-gtk3.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0006-qtbase-gtk3.patch
new file mode 100644
index 000000000000..6ce0e5d0c433
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0006-qtbase-gtk3.patch
@@ -0,0 +1,48 @@
+From 1ad04525cdd342e3c8a750323fb3a61b93fee753 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Tue, 17 Sep 2019 05:35:33 -0500
+Subject: [PATCH 06/10] qtbase-gtk3
+
+---
+ src/plugins/platformthemes/gtk3/main.cpp | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
+
+diff --git a/src/plugins/platformthemes/gtk3/main.cpp b/src/plugins/platformthemes/gtk3/main.cpp
+index fb1c425d8e..bb8bab9795 100644
+--- a/src/plugins/platformthemes/gtk3/main.cpp
++++ b/src/plugins/platformthemes/gtk3/main.cpp
+@@ -39,6 +39,7 @@
+ 
+ #include <qpa/qplatformthemeplugin.h>
+ #include "qgtk3theme.h"
++#include <QFile>
+ 
+ QT_BEGIN_NAMESPACE
+ 
+@@ -54,8 +55,22 @@ public:
+ QPlatformTheme *QGtk3ThemePlugin::create(const QString &key, const QStringList &params)
+ {
+     Q_UNUSED(params);
+-    if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive))
++    if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive)) {
++
++#ifdef NIXPKGS_QGTK3_XDG_DATA_DIRS
++        QStringList XDG_DATA_DIRS = QFile::decodeName(qgetenv("XDG_DATA_DIRS")).split(':');
++        XDG_DATA_DIRS << QLatin1String(NIXPKGS_QGTK3_XDG_DATA_DIRS);
++        qputenv("XDG_DATA_DIRS", QFile::encodeName(XDG_DATA_DIRS.join(':')));
++#endif
++
++#ifdef NIXPKGS_QGTK3_GIO_EXTRA_MODULES
++        QStringList GIO_EXTRA_MODULES = QFile::decodeName(qgetenv("GIO_EXTRA_MODULES")).split(':');
++        GIO_EXTRA_MODULES << QLatin1String(NIXPKGS_QGTK3_GIO_EXTRA_MODULES);
++        qputenv("GIO_EXTRA_MODULES", QFile::encodeName(GIO_EXTRA_MODULES.join(':')));
++#endif
++
+         return new QGtk3Theme;
++    }
+ 
+     return 0;
+ }
+-- 
+2.25.1
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0007-qtbase-xcursor.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0007-qtbase-xcursor.patch
new file mode 100644
index 000000000000..6a92a9528303
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0007-qtbase-xcursor.patch
@@ -0,0 +1,29 @@
+From cc953cc3f736fabef1f5c211964f30be719fb35e Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Tue, 17 Sep 2019 05:35:58 -0500
+Subject: [PATCH 07/10] qtbase-xcursor
+
+---
+ src/plugins/platforms/xcb/qxcbcursor.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/plugins/platforms/xcb/qxcbcursor.cpp b/src/plugins/platforms/xcb/qxcbcursor.cpp
+index fbadab4d50..c83ce0af5b 100644
+--- a/src/plugins/platforms/xcb/qxcbcursor.cpp
++++ b/src/plugins/platforms/xcb/qxcbcursor.cpp
+@@ -317,10 +317,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *conn, QXcbScreen *screen)
+ #if QT_CONFIG(xcb_xlib) && QT_CONFIG(library)
+     static bool function_ptrs_not_initialized = true;
+     if (function_ptrs_not_initialized) {
+-        QLibrary xcursorLib(QLatin1String("Xcursor"), 1);
++        QLibrary xcursorLib(QLatin1String(NIXPKGS_LIBXCURSOR), 1);
+         bool xcursorFound = xcursorLib.load();
+         if (!xcursorFound) { // try without the version number
+-            xcursorLib.setFileName(QLatin1String("Xcursor"));
++            xcursorLib.setFileName(QLatin1String(NIXPKGS_LIBXCURSOR));
+             xcursorFound = xcursorLib.load();
+         }
+         if (xcursorFound) {
+-- 
+2.25.1
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0008-qtbase-tzdir.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0008-qtbase-tzdir.patch
new file mode 100644
index 000000000000..71653a0e36e0
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0008-qtbase-tzdir.patch
@@ -0,0 +1,64 @@
+From 882343ea200fe28810bf217a820816affe885a39 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Tue, 17 Sep 2019 05:36:25 -0500
+Subject: [PATCH 08/10] qtbase-tzdir
+
+---
+ src/corelib/time/qtimezoneprivate_tz.cpp | 31 +++++++++++++++---------
+ 1 file changed, 19 insertions(+), 12 deletions(-)
+
+diff --git a/src/corelib/time/qtimezoneprivate_tz.cpp b/src/corelib/time/qtimezoneprivate_tz.cpp
+index 3c2695a789..e75735f88f 100644
+--- a/src/corelib/time/qtimezoneprivate_tz.cpp
++++ b/src/corelib/time/qtimezoneprivate_tz.cpp
+@@ -75,7 +75,11 @@ typedef QHash<QByteArray, QTzTimeZone> QTzTimeZoneHash;
+ // Parse zone.tab table, assume lists all installed zones, if not will need to read directories
+ static QTzTimeZoneHash loadTzTimeZones()
+ {
+-    QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
++    // Try TZDIR first, in case we're running on NixOS.
++    QString path = QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/zone.tab");
++    // Fallback to traditional paths in case we are not on NixOS.
++    if (!QFile::exists(path))
++        path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
+     if (!QFile::exists(path))
+         path = QStringLiteral("/usr/lib/zoneinfo/zone.tab");
+ 
+@@ -658,20 +662,23 @@ void QTzTimeZonePrivate::init(const QByteArray &ianaId)
+         if (!tzif.open(QIODevice::ReadOnly))
+             return;
+     } else {
+-        // Open named tz, try modern path first, if fails try legacy path
+-        tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
++        // Try TZDIR first, in case we're running on NixOS
++        tzif.setFileName(QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/") + QString::fromLocal8Bit(ianaId));
+         if (!tzif.open(QIODevice::ReadOnly)) {
+-            tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
++            tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
+             if (!tzif.open(QIODevice::ReadOnly)) {
+-                // ianaId may be a POSIX rule, taken from $TZ or /etc/TZ
+-                const QByteArray zoneInfo = ianaId.split(',').at(0);
+-                const char *begin = zoneInfo.constBegin();
+-                if (PosixZone::parse(begin, zoneInfo.constEnd()).hasValidOffset()
+-                    && (begin == zoneInfo.constEnd()
+-                        || PosixZone::parse(begin, zoneInfo.constEnd()).hasValidOffset())) {
+-                    m_id = m_posixRule = ianaId;
++                tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
++                if (!tzif.open(QIODevice::ReadOnly)) {
++                    // ianaId may be a POSIX rule, taken from $TZ or /etc/TZ
++                    const QByteArray zoneInfo = ianaId.split(',').at(0);
++                    const char *begin = zoneInfo.constBegin();
++                    if (PosixZone::parse(begin, zoneInfo.constEnd()).hasValidOffset()
++                        && (begin == zoneInfo.constEnd()
++                            || PosixZone::parse(begin, zoneInfo.constEnd()).hasValidOffset())) {
++                        m_id = m_posixRule = ianaId;
++                    }
++                    return;
+                 }
+-                return;
+             }
+         }
+     }
+-- 
+2.25.1
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0009-qtbase-qtpluginpath.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0009-qtbase-qtpluginpath.patch
new file mode 100644
index 000000000000..009fe14838e7
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0009-qtbase-qtpluginpath.patch
@@ -0,0 +1,19 @@
+--- qtbase-everywhere-src-5.14.2/src/corelib/kernel/qcoreapplication.cpp	2020-03-27 10:49:31.000000000 +0100
++++ qtbase-everywhere-src-5.14.2/src/corelib/kernel/qcoreapplication.cpp.patched	2020-05-09 15:03:03.968084088 +0200
+@@ -2691,6 +2691,16 @@
+         QStringList *app_libpaths = new QStringList;
+         coreappdata()->app_libpaths.reset(app_libpaths);
+
++        // Add library paths derived from PATH
++        const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':');
++        const QString plugindir = QStringLiteral("../" NIXPKGS_QT_PLUGIN_PREFIX);
++        for (const QString &path: paths) {
++            if (!path.isEmpty()) {
++                app_libpaths->append(QDir::cleanPath(path + QDir::separator() + plugindir));
++            }
++        }
++
++
+         auto setPathsFromEnv = [&](QString libPathEnv) {
+             if (!libPathEnv.isEmpty()) {
+                 QStringList paths = libPathEnv.split(QDir::listSeparator(), QString::SkipEmptyParts);
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0010-qtbase-assert.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0010-qtbase-assert.patch
new file mode 100644
index 000000000000..e10f97607326
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0010-qtbase-assert.patch
@@ -0,0 +1,32 @@
+From c8893a4e0a1b46796e39b4a338358fdb45685cba Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Tue, 17 Sep 2019 05:37:04 -0500
+Subject: [PATCH 09/10] qtbase-assert
+
+---
+ src/testlib/qtestassert.h | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/src/testlib/qtestassert.h b/src/testlib/qtestassert.h
+index 6498ea84ef..d821ced7fc 100644
+--- a/src/testlib/qtestassert.h
++++ b/src/testlib/qtestassert.h
+@@ -44,10 +44,13 @@
+ 
+ QT_BEGIN_NAMESPACE
+ 
+-
++#if defined(QT_NO_DEBUG) && !defined(QT_FORCE_ASSERTS)
++#define QTEST_ASSERT(cond) do { } while ((false) && (cond))
++#define QTEST_ASSERT_X(cond, where, what) do { } while ((false) && (cond))
++#else
+ #define QTEST_ASSERT(cond) do { if (!(cond)) qt_assert(#cond,__FILE__,__LINE__); } while (false)
+-
+ #define QTEST_ASSERT_X(cond, where, what) do { if (!(cond)) qt_assert_x(where, what,__FILE__,__LINE__); } while (false)
++#endif
+ 
+ QT_END_NAMESPACE
+ 
+-- 
+2.25.1
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0011-fix-header_module.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0011-fix-header_module.patch
new file mode 100644
index 000000000000..4358097dddf2
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0011-fix-header_module.patch
@@ -0,0 +1,25 @@
+From 4c488fdb457e63924383fb7f8ad45bed3df49480 Mon Sep 17 00:00:00 2001
+From: Will Dietz <w@wdtz.org>
+Date: Mon, 30 Sep 2019 20:15:40 -0500
+Subject: [PATCH 10/10] fix header_module
+
+---
+ mkspecs/features/qt_module.prf | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
+index 16b39031bc..1ac3d6fe59 100644
+--- a/mkspecs/features/qt_module.prf
++++ b/mkspecs/features/qt_module.prf
+@@ -84,7 +84,7 @@ header_module {
+         CONFIG  += qt_no_install_library
+ 
+     # Allow creation of .prl, .la and .pc files.
+-    target.path = $$[QT_INSTALL_LIBS]
++    target.path = $$NIX_OUTPUT_OUT/lib
+     target.CONFIG += dummy_install
+     INSTALLS    += target
+ } else {
+-- 
+2.25.1
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtdeclarative.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtdeclarative.patch
new file mode 100644
index 000000000000..8f5b5d4790fb
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtdeclarative.patch
@@ -0,0 +1,33 @@
+diff --git a/src/qml/qml/qqmlimport.cpp b/src/qml/qml/qqmlimport.cpp
+index 005db4248..685c5b1b2 100644
+--- a/src/qml/qml/qqmlimport.cpp
++++ b/src/qml/qml/qqmlimport.cpp
+@@ -1760,6 +1760,15 @@ QQmlImportDatabase::QQmlImportDatabase(QQmlEngine *e)
+     QString installImportsPath =  QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath);
+     addImportPath(installImportsPath);
+ 
++    // Add import paths derived from PATH
++    const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':');
++    const QString qmldir = QStringLiteral("../" NIXPKGS_QML2_IMPORT_PREFIX);
++    for (const QString &path: paths) {
++        if (!path.isEmpty()) {
++            addImportPath(QDir::cleanPath(path + QDir::separator() + qmldir));
++        }
++    }
++
+     // env import paths
+     if (Q_UNLIKELY(!qEnvironmentVariableIsEmpty("QML2_IMPORT_PATH"))) {
+         const QString envImportPath = qEnvironmentVariable("QML2_IMPORT_PATH");
+diff --git a/tools/qmlcachegen/qmlcache.prf b/tools/qmlcachegen/qmlcache.prf
+index 537eaf62e..e21de58f6 100644
+--- a/tools/qmlcachegen/qmlcache.prf
++++ b/tools/qmlcachegen/qmlcache.prf
+@@ -26,7 +26,7 @@ defineReplace(qmlCacheOutputFileName) {
+ }
+ 
+ qmlcacheinst.base = $$QMLCACHE_DESTDIR
+-qmlcacheinst.path = $$[QT_INSTALL_QML]/$$TARGETPATH
++qmlcacheinst.path = $$NIX_OUTPUT_QML/$$TARGETPATH
+ qmlcacheinst.CONFIG = no_check_exist
+ 
+ qmlcachegen.input = CACHEGEN_FILES
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtscript.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtscript.patch
new file mode 100644
index 000000000000..5508dec1280e
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtscript.patch
@@ -0,0 +1,13 @@
+diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
+index 1f6d25e..087c3fb 100644
+--- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
++++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
+@@ -81,7 +81,7 @@
+ #include <pthread.h>
+ #elif PLATFORM(GTK)
+ #include <wtf/gtk/GOwnPtr.h>
+-typedef struct _GMutex GMutex;
++typedef union _GMutex GMutex;
+ typedef struct _GCond GCond;
+ #endif
+ 
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtserialport.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtserialport.patch
new file mode 100644
index 000000000000..f25524e80bcf
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtserialport.patch
@@ -0,0 +1,22 @@
+diff --git a/src/serialport/qtudev_p.h b/src/serialport/qtudev_p.h
+index af2dab2..8e17f64 100644
+--- a/src/serialport/qtudev_p.h
++++ b/src/serialport/qtudev_p.h
+@@ -111,9 +111,17 @@ inline QFunctionPointer resolveSymbol(QLibrary *udevLibrary, const char *symbolN
+ inline bool resolveSymbols(QLibrary *udevLibrary)
+ {
+     if (!udevLibrary->isLoaded()) {
++#ifdef NIXPKGS_LIBUDEV
++        udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 1);
++#else
+         udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1);
++#endif
+         if (!udevLibrary->load()) {
++#ifdef NIXPKGS_LIBUDEV
++            udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 0);
++#else
+             udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0);
++#endif
+             if (!udevLibrary->load()) {
+                 qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0);
+                 return false;
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.14/qttools.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qttools.patch
new file mode 100644
index 000000000000..8ae12198ca25
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qttools.patch
@@ -0,0 +1,15 @@
+--- a/src/macdeployqt/shared/shared.cpp
++++ b/src/macdeployqt/shared/shared.cpp
+@@ -1241,6 +1241,12 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf
+     if (!QFile(qmlImportScannerPath).exists())
+         qmlImportScannerPath = QCoreApplication::applicationDirPath() + "/qmlimportscanner";
+ 
++#ifdef NIXPKGS_QMLIMPORTSCANNER
++    // Fallback: Nixpkgs hardcoded path
++    if (!QFile(qmlImportScannerPath).exists())
++        qmlImportScannerPath = NIXPKGS_QMLIMPORTSCANNER;
++#endif
++
+     // Verify that we found a qmlimportscanner binary
+     if (!QFile(qmlImportScannerPath).exists()) {
+         LogError() << "qmlimportscanner not found at" << qmlImportScannerPath;
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtwebengine-darwin-no-platform-check.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtwebengine-darwin-no-platform-check.patch
new file mode 100644
index 000000000000..546e753144d0
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtwebengine-darwin-no-platform-check.patch
@@ -0,0 +1,33 @@
+diff --git a/mkspecs/features/platform.prf b/mkspecs/features/platform.prf
+--- a/mkspecs/features/platform.prf
++++ b/mkspecs/features/platform.prf
+@@ -40,8 +40,6 @@ defineTest(isPlatformSupported) {
+   } else:osx {
+     # FIXME: Try to get it back down to 8.2 for building on OS X 10.11
+     !isMinXcodeVersion(8, 3, 3) {
+-      skipBuild("Using Xcode version $$QMAKE_XCODE_VERSION, but at least version 8.3.3 is required to build Qt WebEngine.")
+-      return(false)
+     }
+     !clang|intel_icc {
+         skipBuild("Qt WebEngine on macOS requires Clang.")
+@@ -54,8 +52,6 @@ defineTest(isPlatformSupported) {
+       return(false)
+     }
+     !isMinOSXSDKVersion(10, 12): {
+-      skipBuild("Building Qt WebEngine requires a macOS SDK version of 10.12 or newer. Current version is $${WEBENGINE_OSX_SDK_PRODUCT_VERSION}.")
+-      return(false)
+     }
+   } else {
+     skipBuild("Unknown platform. Qt WebEngine only supports Linux, Windows, and macOS.")
+diff --git a/src/core/config/mac_osx.pri b/src/core/config/mac_osx.pri
+--- a/src/core/config/mac_osx.pri
++++ b/src/core/config/mac_osx.pri
+@@ -5,8 +5,6 @@ load(functions)
+ # otherwise query for it.
+ QMAKE_MAC_SDK_VERSION = $$eval(QMAKE_MAC_SDK.$${QMAKE_MAC_SDK}.SDKVersion)
+ isEmpty(QMAKE_MAC_SDK_VERSION) {
+-     QMAKE_MAC_SDK_VERSION = $$system("/usr/bin/xcodebuild -sdk $${QMAKE_MAC_SDK} -version SDKVersion 2>/dev/null")
+-     isEmpty(QMAKE_MAC_SDK_VERSION): error("Could not resolve SDK version for \'$${QMAKE_MAC_SDK}\'")
+ }
+
+ QMAKE_CLANG_DIR = "/usr"
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtwebkit-darwin-no-qos-classes.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtwebkit-darwin-no-qos-classes.patch
new file mode 100644
index 000000000000..a7087f517623
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtwebkit-darwin-no-qos-classes.patch
@@ -0,0 +1,11 @@
+diff --git a/Source/cmake/OptionsQt.cmake b/Source/cmake/OptionsQt.cmake
+--- a/Source/cmake/OptionsQt.cmake
++++ b/Source/cmake/OptionsQt.cmake
+@@ -683,7 +683,6 @@ if (WIN32 AND COMPILER_IS_GCC_OR_CLANG)
+ endif ()
+ 
+ if (APPLE)
+-    SET_AND_EXPOSE_TO_BUILD(HAVE_QOS_CLASSES 1)
+ endif ()
+ 
+ if (ENABLE_MATHML)
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtwebkit-darwin-no-readline.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtwebkit-darwin-no-readline.patch
new file mode 100644
index 000000000000..26d189d86019
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtwebkit-darwin-no-readline.patch
@@ -0,0 +1,45 @@
+diff --git a/Source/JavaScriptCore/shell/CMakeLists.txt b/Source/JavaScriptCore/shell/CMakeLists.txt
+--- a/Source/JavaScriptCore/shell/CMakeLists.txt
++++ b/Source/JavaScriptCore/shell/CMakeLists.txt
+@@ -9,7 +9,6 @@ set(JSC_LIBRARIES
+ )
+ 
+ if (WTF_OS_MAC_OS_X)
+-    list(APPEND JSC_LIBRARIES edit)
+ endif ()
+ 
+ if ("${JavaScriptCore_LIBRARY_TYPE}" MATCHES "STATIC")
+diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h
+--- a/Source/WTF/wtf/Platform.h
++++ b/Source/WTF/wtf/Platform.h
+@@ -563,7 +563,6 @@
+ #if PLATFORM(IOS)
+ 
+ #define HAVE_NETWORK_EXTENSION 1
+-#define HAVE_READLINE 1
+ #if USE(APPLE_INTERNAL_SDK)
+ #define USE_CFNETWORK 1
+ #endif
+@@ -650,7 +649,6 @@
+ #define HAVE_MADV_DONTNEED 1
+ #define HAVE_MERGESORT 1
+ #define HAVE_PTHREAD_SETNAME_NP 1
+-#define HAVE_READLINE 1
+ #define HAVE_SYS_TIMEB_H 1
+ 
+ #if !PLATFORM(GTK) && !PLATFORM(QT)
+diff --git a/Source/WTF/wtf/PlatformMac.cmake b/Source/WTF/wtf/PlatformMac.cmake
+--- a/Source/WTF/wtf/PlatformMac.cmake
++++ b/Source/WTF/wtf/PlatformMac.cmake
+@@ -2,11 +2,9 @@ set(WTF_LIBRARY_TYPE SHARED)
+ 
+ find_library(COCOA_LIBRARY Cocoa)
+ find_library(COREFOUNDATION_LIBRARY CoreFoundation)
+-find_library(READLINE_LIBRARY Readline)
+ list(APPEND WTF_LIBRARIES
+     ${COREFOUNDATION_LIBRARY}
+     ${COCOA_LIBRARY}
+-    ${READLINE_LIBRARY}
+     libicucore.dylib
+ )
+ 
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtwebkit.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtwebkit.patch
new file mode 100644
index 000000000000..b94a4b76cbab
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.14/qtwebkit.patch
@@ -0,0 +1,12 @@
+diff --git a/Source/WebKit2/PlatformQt.cmake b/Source/WebKit2/PlatformQt.cmake
+--- a/Source/WebKit2/PlatformQt.cmake
++++ b/Source/WebKit2/PlatformQt.cmake
+@@ -261,6 +261,7 @@
+ list(APPEND WebKit2_SYSTEM_INCLUDE_DIRECTORIES
+     ${GLIB_INCLUDE_DIRS}
+     ${GSTREAMER_INCLUDE_DIRS}
++    ${GSTREAMER_PBUTILS_INCLUDE_DIRS}
+     ${Qt5Quick_INCLUDE_DIRS}
+     ${Qt5Quick_PRIVATE_INCLUDE_DIRS}
+     ${SQLITE_INCLUDE_DIR}
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.14/srcs.nix b/nixpkgs/pkgs/development/libraries/qt-5/5.14/srcs.nix
new file mode 100644
index 000000000000..6ac958442f49
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.14/srcs.nix
@@ -0,0 +1,342 @@
+# DO NOT EDIT! This file is generated automatically.
+# Command: ./maintainers/scripts/fetch-kde-qt.sh pkgs/development/libraries/qt-5/5.14
+{ fetchurl, mirror }:
+
+{
+  qt3d = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qt3d-everywhere-src-5.14.2.tar.xz";
+      sha256 = "9da82f1cc4b7d416d31ec96224c59d221473a48f6e579eef978f7d2e3932c674";
+      name = "qt3d-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtactiveqt = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtactiveqt-everywhere-src-5.14.2.tar.xz";
+      sha256 = "b53517d5d128719773a2941ba52da10acd7aa3149948862bc08c98f5b64152a9";
+      name = "qtactiveqt-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtandroidextras = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtandroidextras-everywhere-src-5.14.2.tar.xz";
+      sha256 = "4a8fd92b5c49a663cf0bd492804eaf1574d11137e2cbdd41d6bf5fad0c3c4d76";
+      name = "qtandroidextras-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtbase = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtbase-everywhere-src-5.14.2.tar.xz";
+      sha256 = "48b9e79220941665a9dd827548c6428f7aa3052ccba8f4f7e039a94aa1d2b28a";
+      name = "qtbase-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtcharts = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtcharts-everywhere-src-5.14.2.tar.xz";
+      sha256 = "adb25203ea748d886cc3d8993c20def702115eccea311594592058134ba83bb7";
+      name = "qtcharts-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtconnectivity = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtconnectivity-everywhere-src-5.14.2.tar.xz";
+      sha256 = "abe67b3e3a775e2a2e27c62a5391f37007ffbe72bce58b96116995616cfcbc28";
+      name = "qtconnectivity-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtdatavis3d = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtdatavis3d-everywhere-src-5.14.2.tar.xz";
+      sha256 = "723c03db2d2805b1be4ca534ac7bc867a1a21894d33a7e9261a382f3fa9d0e20";
+      name = "qtdatavis3d-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtdeclarative = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtdeclarative-everywhere-src-5.14.2.tar.xz";
+      sha256 = "a3c4617adc9760347c93d2eb6c25d22f620cd22f44afa0494eb499a805831650";
+      name = "qtdeclarative-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtdoc = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtdoc-everywhere-src-5.14.2.tar.xz";
+      sha256 = "5a55cdb55af35eb222d06179567851c175f24a3732f7dee5be073df4a893172b";
+      name = "qtdoc-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtgamepad = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtgamepad-everywhere-src-5.14.2.tar.xz";
+      sha256 = "f77daadb4755cf760e11812264259fb103396fd1b06df1e06b5df162081c8d03";
+      name = "qtgamepad-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtgraphicaleffects = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtgraphicaleffects-everywhere-src-5.14.2.tar.xz";
+      sha256 = "487a7f858244a08264363733055a8cf8b00e77c658c5608cc462817d15e4b50f";
+      name = "qtgraphicaleffects-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtimageformats = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtimageformats-everywhere-src-5.14.2.tar.xz";
+      sha256 = "733eca0165c15e046b106039c989dac7f6bc2ecf215396d965ed065369264f8c";
+      name = "qtimageformats-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtlocation = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtlocation-everywhere-src-5.14.2.tar.xz";
+      sha256 = "c37708bc396f6dac397b49a6a268d5edb39e1c8296ca2337ce9e80bde04775cc";
+      name = "qtlocation-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtlottie = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtlottie-everywhere-src-5.14.2.tar.xz";
+      sha256 = "55d1392dc92cbec11263084360075dc5fc3fdc25c1969adfbdec84299b285978";
+      name = "qtlottie-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtmacextras = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtmacextras-everywhere-src-5.14.2.tar.xz";
+      sha256 = "d12587b46c84a7822194fc3ccf46f7c18ff3b31566d3dde4f5fe772f1d8776e5";
+      name = "qtmacextras-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtmultimedia = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtmultimedia-everywhere-src-5.14.2.tar.xz";
+      sha256 = "7acd8ede6835314206e407b35b668f0add67544577fb51fe67afb03137fb9fe9";
+      name = "qtmultimedia-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtnetworkauth = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtnetworkauth-everywhere-src-5.14.2.tar.xz";
+      sha256 = "4f00513dd18598487d02187b80b54c669662cf8a8f2573858c7f9282d7b9265e";
+      name = "qtnetworkauth-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtpurchasing = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtpurchasing-everywhere-src-5.14.2.tar.xz";
+      sha256 = "69b087001e8fcec5bb49ca333d5f44e6b7eb09f76421dc792fc9cd76dee9e851";
+      name = "qtpurchasing-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtquick3d = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtquick3d-everywhere-src-5.14.2.tar.xz";
+      sha256 = "0640696d501f2b0bf57f64e98f30bfa3e1cc19c11c0e05e43d4fdb0d20488b2e";
+      name = "qtquick3d-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtquickcontrols = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtquickcontrols-everywhere-src-5.14.2.tar.xz";
+      sha256 = "d55def1dd4ee1250bd6a4e76849f4e362368b6411c2216d5f669c761216d4461";
+      name = "qtquickcontrols-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtquickcontrols2 = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtquickcontrols2-everywhere-src-5.14.2.tar.xz";
+      sha256 = "faf7d349d8f4a8db36cd3c62a5724bcf689300f2fdb7dc1ea034392aab981560";
+      name = "qtquickcontrols2-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtquicktimeline = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtquicktimeline-everywhere-src-5.14.2.tar.xz";
+      sha256 = "83a45d0998cbc77f8094854a477ab1ac0838ae7fd822563d995df40149893a9e";
+      name = "qtquicktimeline-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtremoteobjects = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtremoteobjects-everywhere-src-5.14.2.tar.xz";
+      sha256 = "a6a601c4f4aab6fe41a462dae57033819f697e3317240a382cee45c08be614d6";
+      name = "qtremoteobjects-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtscript = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtscript-everywhere-src-5.14.2.tar.xz";
+      sha256 = "e9fd487ccb3cbf00e86b0b803aa79e9f6bbe7a337b8e97d069e040c3e0789bfe";
+      name = "qtscript-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtscxml = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtscxml-everywhere-src-5.14.2.tar.xz";
+      sha256 = "030cea352a56074f577200f967ef37c959b2767127de61f766f59b0d99763790";
+      name = "qtscxml-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtsensors = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtsensors-everywhere-src-5.14.2.tar.xz";
+      sha256 = "bccfca6910b0383d8f65823496ff5011abed2fa8fd446b4b27333d0fd7bb8c61";
+      name = "qtsensors-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtserialbus = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtserialbus-everywhere-src-5.14.2.tar.xz";
+      sha256 = "0b7762175a649a40c4dd619c5de61d772235dc86099343278e2c3229d0836a91";
+      name = "qtserialbus-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtserialport = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtserialport-everywhere-src-5.14.2.tar.xz";
+      sha256 = "a6d977dd723ad4d3368b5163691405b8852f809974a96ec54103494e834aea21";
+      name = "qtserialport-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtspeech = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtspeech-everywhere-src-5.14.2.tar.xz";
+      sha256 = "5e9e8ea62f0207ba894df1e136df0af9fc5443c7817d28c39f0ea2bbae9ec6da";
+      name = "qtspeech-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtsvg = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtsvg-everywhere-src-5.14.2.tar.xz";
+      sha256 = "c7d7faa01a3e7a6e4d38fafcec5529a488258218749779e6fa0e09a21173b5a1";
+      name = "qtsvg-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qttools = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qttools-everywhere-src-5.14.2.tar.xz";
+      sha256 = "5bb0cf7832b88eb6bc9d4289f98307eb14b16a453ad6cf42cca13c4fe1a053c5";
+      name = "qttools-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qttranslations = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qttranslations-everywhere-src-5.14.2.tar.xz";
+      sha256 = "2088ebee9f5dd0336c9fd11436899a95b7ce0141ce072290de1e8f315d82d1a6";
+      name = "qttranslations-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtvirtualkeyboard = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtvirtualkeyboard-everywhere-src-5.14.2.tar.xz";
+      sha256 = "364f3338563e617e7c964a37170b415b546c5f82965e781271f9dada3e3868d7";
+      name = "qtvirtualkeyboard-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtwayland = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtwayland-everywhere-src-5.14.2.tar.xz";
+      sha256 = "d31633ca718fb407cf70870613d45d0ed80aa04c058586ac3036bae1aff7832a";
+      name = "qtwayland-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtwebchannel = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtwebchannel-everywhere-src-5.14.2.tar.xz";
+      sha256 = "7d1dc8441523638c3d455c7d408ec65aebc073acab80e24063865f929231f874";
+      name = "qtwebchannel-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtwebengine = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtwebengine-everywhere-src-5.14.2.tar.xz";
+      sha256 = "e169d6a75d8c397e04f843bc1b9585950fb9a001255cd18d6293f66fa8a6c947";
+      name = "qtwebengine-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtwebglplugin = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtwebglplugin-everywhere-src-5.14.2.tar.xz";
+      sha256 = "eb4118910b65d03d8448658ac1646e860d337e59b82d6575beda21824e313417";
+      name = "qtwebglplugin-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtwebsockets = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtwebsockets-everywhere-src-5.14.2.tar.xz";
+      sha256 = "f06e62b18313fe1b40a35566e79645de4a8e7ac9f7717d1d98a06c5b49afca84";
+      name = "qtwebsockets-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtwebview = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtwebview-everywhere-src-5.14.2.tar.xz";
+      sha256 = "c61f9213ee84fd7408898c0194468208ffb51af9d257e87e6b53daf24f65ff4b";
+      name = "qtwebview-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtwinextras = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtwinextras-everywhere-src-5.14.2.tar.xz";
+      sha256 = "980f1bc31b37c8597c0bac55f69ecf00d1677218ce82f7bc3933236cb6d907f2";
+      name = "qtwinextras-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtx11extras = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtx11extras-everywhere-src-5.14.2.tar.xz";
+      sha256 = "be9a84a03a2ee81771215264e5dff7a996d04be6192b8cdaa1d41e319a81545a";
+      name = "qtx11extras-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+  qtxmlpatterns = {
+    version = "5.14.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtxmlpatterns-everywhere-src-5.14.2.tar.xz";
+      sha256 = "219a876665345e3801baff71f31f30f5495c1cb9ab23fbbd27602632c80fcfb7";
+      name = "qtxmlpatterns-everywhere-src-5.14.2.tar.xz";
+    };
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/default.nix b/nixpkgs/pkgs/development/libraries/qt-5/5.15/default.nix
new file mode 100644
index 000000000000..1a90c610a5b5
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.15/default.nix
@@ -0,0 +1,176 @@
+/*
+
+# Updates
+
+Before a major version update, make a copy of this directory. (We like to
+keep the old version around for a short time after major updates.) Add a
+top-level attribute to `top-level/all-packages.nix`.
+
+1. Update the URL in `pkgs/development/libraries/qt-5/$VERSION/fetch.sh`.
+2. From the top of the Nixpkgs tree, run
+   `./maintainers/scripts/fetch-kde-qt.sh > pkgs/development/libraries/qt-5/$VERSION/srcs.nix`.
+3. Check that the new packages build correctly.
+4. Commit the changes and open a pull request.
+
+*/
+
+{
+  newScope,
+  stdenv, fetchurl, fetchpatch, fetchFromGitHub, makeSetupHook, makeWrapper,
+  bison, cups ? null, harfbuzz, libGL, perl,
+  gstreamer, gst-plugins-base, gtk3, dconf,
+  llvmPackages_5,
+
+  # options
+  developerBuild ? false,
+  decryptSslTraffic ? false,
+  debug ? false,
+}:
+
+with stdenv.lib;
+
+let
+
+  qtCompatVersion = srcs.qtbase.version;
+
+  stdenvActual = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv;
+
+  mirror = "https://download.qt.io";
+  srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; } // {
+    # qtwebkit does not have an official release tarball on the qt mirror and is
+    # mostly maintained by the community.
+    qtwebkit = rec {
+      src = fetchFromGitHub {
+        owner = "qt";
+        repo = "qtwebkit";
+        rev = "v${version}";
+        sha256 = "0x8rng96h19xirn7qkz3lydal6v4vn00bcl0s3brz36dfs0z8wpg";
+      };
+      version = "5.212.0-alpha4";
+    };
+  };
+
+  patches = {
+    qtbase =
+      optionals stdenv.isDarwin [
+        ./qtbase.patch.d/0001-qtbase-mkspecs-mac.patch
+        ./qtbase.patch.d/0002-qtbase-mac.patch
+      ]
+      ++ [
+        ./qtbase.patch.d/0003-qtbase-mkspecs.patch
+        ./qtbase.patch.d/0004-qtbase-replace-libdir.patch
+        ./qtbase.patch.d/0005-qtbase-cmake.patch
+        ./qtbase.patch.d/0006-qtbase-gtk3.patch
+        ./qtbase.patch.d/0007-qtbase-xcursor.patch
+        ./qtbase.patch.d/0008-qtbase-tzdir.patch
+        ./qtbase.patch.d/0009-qtbase-qtpluginpath.patch
+        ./qtbase.patch.d/0010-qtbase-assert.patch
+        ./qtbase.patch.d/0011-fix-header_module.patch
+      ];
+    qtdeclarative = [ ./qtdeclarative.patch ];
+    qtscript = [ ./qtscript.patch ];
+    qtserialport = [ ./qtserialport.patch ];
+    qtwebengine = [ ]
+      ++ optional stdenv.isDarwin ./qtwebengine-darwin-no-platform-check.patch;
+    qtwebkit = [ ./qtwebkit.patch ]
+      ++ optionals stdenv.isDarwin [
+        ./qtwebkit-darwin-no-readline.patch
+        ./qtwebkit-darwin-no-qos-classes.patch
+      ];
+    qttools = [ ./qttools.patch ];
+  };
+
+  qtModule =
+    import ../qtModule.nix
+    {
+      inherit perl;
+      inherit (stdenv) lib;
+      # Use a variant of mkDerivation that does not include wrapQtApplications
+      # to avoid cyclic dependencies between Qt modules.
+      mkDerivation =
+        import ../mkDerivation.nix
+        { inherit (stdenv) lib; inherit debug; wrapQtAppsHook = null; }
+        stdenvActual.mkDerivation;
+    }
+    { inherit self srcs patches; };
+
+  addPackages = self: with self;
+    let
+      callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; };
+    in {
+
+      mkDerivationWith =
+        import ../mkDerivation.nix
+        { inherit (stdenv) lib; inherit debug; inherit (self) wrapQtAppsHook; };
+
+      mkDerivation = mkDerivationWith stdenvActual.mkDerivation;
+
+      qtbase = callPackage ../modules/qtbase.nix {
+        inherit (srcs.qtbase) src version;
+        patches = patches.qtbase;
+        inherit bison cups harfbuzz libGL;
+        withGtk3 = true; inherit dconf gtk3;
+        inherit developerBuild decryptSslTraffic;
+      };
+
+      qtcharts = callPackage ../modules/qtcharts.nix {};
+      qtconnectivity = callPackage ../modules/qtconnectivity.nix {};
+      qtdeclarative = callPackage ../modules/qtdeclarative.nix {};
+      qtdoc = callPackage ../modules/qtdoc.nix {};
+      qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {};
+      qtimageformats = callPackage ../modules/qtimageformats.nix {};
+      qtlocation = callPackage ../modules/qtlocation.nix {};
+      qtmacextras = callPackage ../modules/qtmacextras.nix {};
+      qtmultimedia = callPackage ../modules/qtmultimedia.nix {
+        inherit gstreamer gst-plugins-base;
+      };
+      qtnetworkauth = callPackage ../modules/qtnetworkauth.nix {};
+      qtquick1 = null;
+      qtquickcontrols = callPackage ../modules/qtquickcontrols.nix {};
+      qtquickcontrols2 = callPackage ../modules/qtquickcontrols2.nix {};
+      qtscript = callPackage ../modules/qtscript.nix {};
+      qtsensors = callPackage ../modules/qtsensors.nix {};
+      qtserialport = callPackage ../modules/qtserialport.nix {};
+      qtspeech = callPackage ../modules/qtspeech.nix {};
+      qtsvg = callPackage ../modules/qtsvg.nix {};
+      qtscxml = callPackage ../modules/qtscxml.nix {};
+      qttools = callPackage ../modules/qttools.nix {};
+      qttranslations = callPackage ../modules/qttranslations.nix {};
+      qtvirtualkeyboard = callPackage ../modules/qtvirtualkeyboard.nix {};
+      qtwayland = callPackage ../modules/qtwayland.nix {};
+      qtwebchannel = callPackage ../modules/qtwebchannel.nix {};
+      qtwebengine = callPackage ../modules/qtwebengine.nix {};
+      qtwebglplugin = callPackage ../modules/qtwebglplugin.nix {};
+      qtwebkit = callPackage ../modules/qtwebkit.nix {};
+      qtwebsockets = callPackage ../modules/qtwebsockets.nix {};
+      qtwebview = callPackage ../modules/qtwebview.nix {};
+      qtx11extras = callPackage ../modules/qtx11extras.nix {};
+      qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {};
+
+      env = callPackage ../qt-env.nix {};
+      full = env "qt-full-${qtbase.version}" ([
+        qtcharts qtconnectivity qtdeclarative qtdoc qtgraphicaleffects
+        qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2
+        qtscript qtsensors qtserialport qtsvg qttools qttranslations
+        qtvirtualkeyboard qtwebchannel qtwebengine qtwebkit qtwebsockets
+        qtwebview qtx11extras qtxmlpatterns
+      ] ++ optional (!stdenv.isDarwin) qtwayland
+        ++ optional (stdenv.isDarwin) qtmacextras);
+
+      qmake = makeSetupHook {
+        deps = [ self.qtbase.dev ];
+        substitutions = {
+          fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh;
+        };
+      } ../hooks/qmake-hook.sh;
+
+      wrapQtAppsHook = makeSetupHook {
+        deps =
+          [ self.qtbase.dev makeWrapper ]
+          ++ optional stdenv.isLinux self.qtwayland.dev;
+      } ../hooks/wrap-qt-apps-hook.sh;
+    };
+
+   self = makeScope newScope addPackages;
+
+in self
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/fetch.sh b/nixpkgs/pkgs/development/libraries/qt-5/5.15/fetch.sh
new file mode 100644
index 000000000000..97829a133ca5
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.15/fetch.sh
@@ -0,0 +1 @@
+WGET_ARGS=( http://download.qt.io/official_releases/qt/5.15/5.15.0/submodules/ )
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch
new file mode 100644
index 000000000000..ba4c54b228c8
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch
@@ -0,0 +1,411 @@
+From 5ec1d1009d9943f20e82ffc087deabb31d447e75 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Milan=20P=C3=A4ssler?= <me@pbb.lc>
+Date: Fri, 3 Apr 2020 21:07:58 +0200
+Subject: [PATCH 01/11] qtbase-mkspecs-mac
+
+---
+ mkspecs/common/mac.conf               |   2 +-
+ mkspecs/features/mac/default_post.prf | 206 --------------------------
+ mkspecs/features/mac/default_pre.prf  |  58 --------
+ mkspecs/features/mac/sdk.mk           |  25 ----
+ mkspecs/features/mac/sdk.prf          |  61 --------
+ 5 files changed, 1 insertion(+), 351 deletions(-)
+ delete mode 100644 mkspecs/features/mac/sdk.mk
+ delete mode 100644 mkspecs/features/mac/sdk.prf
+
+diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf
+index 61bea952b2..9909dae726 100644
+--- a/mkspecs/common/mac.conf
++++ b/mkspecs/common/mac.conf
+@@ -23,7 +23,7 @@ QMAKE_INCDIR_OPENGL     = \
+ 
+ QMAKE_FIX_RPATH         = install_name_tool -id
+ 
+-QMAKE_LFLAGS_RPATH      = -Wl,-rpath,
++QMAKE_LFLAGS_RPATH      =
+ QMAKE_LFLAGS_GCSECTIONS = -Wl,-dead_strip
+ 
+ QMAKE_LFLAGS_REL_RPATH  =
+diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf
+index 92a9112bca..b80ec1e801 100644
+--- a/mkspecs/features/mac/default_post.prf
++++ b/mkspecs/features/mac/default_post.prf
+@@ -68,212 +68,6 @@ qt {
+     }
+ }
+ 
+-# Add the same default rpaths as Xcode does for new projects.
+-# This is especially important for iOS/tvOS/watchOS where no other option is possible.
+-!no_default_rpath {
+-    uikit: QMAKE_RPATHDIR += @executable_path/Frameworks
+-    else: QMAKE_RPATHDIR += @executable_path/../Frameworks
+-    equals(TEMPLATE, lib):!plugin:lib_bundle: QMAKE_RPATHDIR += @loader_path/Frameworks
+-}
+-
+-# Don't pass -headerpad_max_install_names when using Bitcode.
+-# In that case the linker emits a warning stating that the flag is ignored when
+-# used with bitcode, for reasons that cannot be determined (rdar://problem/20748962).
+-# Using this flag is also unnecessary in practice on UIKit platforms since they
+-# are sandboxed, and only UIKit platforms support bitcode to begin with.
+-!bitcode: QMAKE_LFLAGS += $$QMAKE_LFLAGS_HEADERPAD
+-
+-app_extension_api_only {
+-    QMAKE_CFLAGS              += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
+-    QMAKE_CXXFLAGS            += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
+-    QMAKE_CXXFLAGS_PRECOMPILE += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
+-    QMAKE_LFLAGS              += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
+-}
+-
+-macx-xcode {
+-    qmake_pkginfo_typeinfo.name = QMAKE_PKGINFO_TYPEINFO
+-    !isEmpty(QMAKE_PKGINFO_TYPEINFO): \
+-        qmake_pkginfo_typeinfo.value = $$QMAKE_PKGINFO_TYPEINFO
+-    else: \
+-        qmake_pkginfo_typeinfo.value = "????"
+-    QMAKE_MAC_XCODE_SETTINGS += qmake_pkginfo_typeinfo
+-
+-    bundle_version = $$VERSION
+-    isEmpty(bundle_version): bundle_version = 1.0.0
+-
+-    l = $$split(bundle_version, '.') 0 0  # make sure there are at least three
+-    VER_MAJ = $$member(l, 0, 0)
+-    VER_MIN = $$member(l, 1, 1)
+-    VER_PAT = $$member(l, 2, 2)
+-    unset(l)
+-
+-    qmake_full_version.name = QMAKE_FULL_VERSION
+-    qmake_full_version.value = $${VER_MAJ}.$${VER_MIN}.$${VER_PAT}
+-    QMAKE_MAC_XCODE_SETTINGS += qmake_full_version
+-
+-    qmake_short_version.name = QMAKE_SHORT_VERSION
+-    qmake_short_version.value = $${VER_MAJ}.$${VER_MIN}
+-    QMAKE_MAC_XCODE_SETTINGS += qmake_short_version
+-
+-    !isEmpty(QMAKE_XCODE_DEBUG_INFORMATION_FORMAT) {
+-        debug_information_format.name = DEBUG_INFORMATION_FORMAT
+-        debug_information_format.value = $$QMAKE_XCODE_DEBUG_INFORMATION_FORMAT
+-        debug_information_format.build = debug
+-        QMAKE_MAC_XCODE_SETTINGS += debug_information_format
+-    }
+-
+-    QMAKE_XCODE_ARCHS =
+-
+-    arch_device.name = "ARCHS[sdk=$${device.sdk}*]"
+-    arch_device.value = $$QMAKE_APPLE_DEVICE_ARCHS
+-    QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_DEVICE_ARCHS
+-    QMAKE_MAC_XCODE_SETTINGS += arch_device
+-
+-    simulator {
+-        arch_simulator.name = "ARCHS[sdk=$${simulator.sdk}*]"
+-        arch_simulator.value = $$QMAKE_APPLE_SIMULATOR_ARCHS
+-        QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_SIMULATOR_ARCHS
+-        QMAKE_MAC_XCODE_SETTINGS += arch_simulator
+-    }
+-
+-    only_active_arch.name = ONLY_ACTIVE_ARCH
+-    only_active_arch.value = YES
+-    only_active_arch.build = debug
+-    QMAKE_MAC_XCODE_SETTINGS += only_active_arch
+-} else {
+-    device|!simulator: VALID_DEVICE_ARCHS = $$QMAKE_APPLE_DEVICE_ARCHS
+-    simulator: VALID_SIMULATOR_ARCHS = $$QMAKE_APPLE_SIMULATOR_ARCHS
+-    VALID_ARCHS = $$VALID_DEVICE_ARCHS $$VALID_SIMULATOR_ARCHS
+-
+-    isEmpty(VALID_ARCHS): \
+-        error("QMAKE_APPLE_DEVICE_ARCHS or QMAKE_APPLE_SIMULATOR_ARCHS must contain at least one architecture")
+-
+-    single_arch: VALID_ARCHS = $$first(VALID_ARCHS)
+-
+-    ACTIVE_ARCHS = $(filter $(EXPORT_VALID_ARCHS), $(ARCHS))
+-    ARCH_ARGS = $(foreach arch, $(if $(EXPORT_ACTIVE_ARCHS), $(EXPORT_ACTIVE_ARCHS), $(EXPORT_VALID_ARCHS)), -arch $(arch))
+-
+-    QMAKE_EXTRA_VARIABLES += VALID_ARCHS ACTIVE_ARCHS ARCH_ARGS
+-
+-    arch_flags = $(EXPORT_ARCH_ARGS)
+-
+-    QMAKE_CFLAGS += $$arch_flags
+-    QMAKE_CXXFLAGS += $$arch_flags
+-    QMAKE_LFLAGS += $$arch_flags
+-
+-    QMAKE_PCH_ARCHS = $$VALID_ARCHS
+-
+-    macos: deployment_target = $$QMAKE_MACOSX_DEPLOYMENT_TARGET
+-    ios: deployment_target = $$QMAKE_IOS_DEPLOYMENT_TARGET
+-    tvos: deployment_target = $$QMAKE_TVOS_DEPLOYMENT_TARGET
+-    watchos: deployment_target = $$QMAKE_WATCHOS_DEPLOYMENT_TARGET
+-
+-    # If we're doing a simulator and device build, device and simulator
+-    # architectures use different paths and flags for the sysroot and
+-    # deployment target switch, so we must multiplex them across multiple
+-    # architectures using -Xarch. Otherwise we fall back to the simple path.
+-    # This is not strictly necessary, but results in cleaner command lines
+-    # and makes it easier for people to override EXPORT_VALID_ARCHS to limit
+-    # individual rules to a different set of architecture(s) from the overall
+-    # build (such as machtest in QtCore).
+-    simulator:device {
+-        QMAKE_XARCH_CFLAGS =
+-        QMAKE_XARCH_LFLAGS =
+-        QMAKE_EXTRA_VARIABLES += QMAKE_XARCH_CFLAGS QMAKE_XARCH_LFLAGS
+-
+-        for (arch, VALID_ARCHS) {
+-            contains(VALID_SIMULATOR_ARCHS, $$arch) {
+-                sdk = $$simulator.sdk
+-                version_identifier = $$simulator.deployment_identifier
+-            } else {
+-                sdk = $$device.sdk
+-                version_identifier = $$device.deployment_identifier
+-            }
+-
+-            version_min_flags = \
+-                -Xarch_$${arch} \
+-                -m$${version_identifier}-version-min=$$deployment_target
+-            QMAKE_XARCH_CFLAGS_$${arch} = $$version_min_flags \
+-                -Xarch_$${arch} \
+-                -isysroot$$xcodeSDKInfo(Path, $$sdk)
+-            QMAKE_XARCH_LFLAGS_$${arch} = $$version_min_flags \
+-                -Xarch_$${arch} \
+-                -isysroot$$xcodeSDKInfo(Path, $$sdk)
+-
+-            QMAKE_XARCH_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS_$${arch})
+-            QMAKE_XARCH_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS_$${arch})
+-
+-            QMAKE_EXTRA_VARIABLES += \
+-                QMAKE_XARCH_CFLAGS_$${arch} \
+-                QMAKE_XARCH_LFLAGS_$${arch}
+-        }
+-
+-        QMAKE_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS)
+-        QMAKE_CXXFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS)
+-        QMAKE_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS)
+-    } else {
+-        simulator {
+-            version_identifier = $$simulator.deployment_identifier
+-            sysroot_path  = $$xcodeSDKInfo(Path, $$simulator.sdk)
+-        } else {
+-            version_identifier = $$device.deployment_identifier
+-            sysroot_path  = $$xcodeSDKInfo(Path, $$device.sdk)
+-        }
+-        version_min_flag = -m$${version_identifier}-version-min=$$deployment_target
+-        QMAKE_CFLAGS += -isysroot $$sysroot_path $$version_min_flag
+-        QMAKE_CXXFLAGS += -isysroot $$sysroot_path $$version_min_flag
+-        QMAKE_LFLAGS += -isysroot $$sysroot_path $$version_min_flag
+-    }
+-
+-    # Enable precompiled headers for multiple architectures
+-    QMAKE_CFLAGS_USE_PRECOMPILE =
+-    for (arch, VALID_ARCHS) {
+-        icc_pch_style: \
+-            use_flag = "-pch-use "
+-        else: \
+-            use_flag = -include
+-
+-        # Only use Xarch with multi-arch, as the option confuses ccache
+-        count(VALID_ARCHS, 1, greaterThan): \
+-            QMAKE_CFLAGS_USE_PRECOMPILE += \
+-                -Xarch_$${arch}
+-
+-        QMAKE_CFLAGS_USE_PRECOMPILE += \
+-            $${use_flag}${QMAKE_PCH_OUTPUT_$${arch}}
+-    }
+-    icc_pch_style {
+-        QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -include ${QMAKE_PCH_INPUT}
+-        QMAKE_CFLAGS_USE_PRECOMPILE =
+-    } else {
+-        QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+-        QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+-        QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+-    }
+-
+-    QMAKE_PCH_OUTPUT_EXT = _${QMAKE_PCH_ARCH}$${QMAKE_PCH_OUTPUT_EXT}
+-}
+-
+-!equals(sdk_version, $$QMAKE_MAC_SDK_VERSION) {
+-    # Explicit SDK version has been set, respect that
+-    QMAKE_LFLAGS += -Wl,-sdk_version -Wl,$$sdk_version
+-}
+-
+-cache(QMAKE_XCODE_DEVELOPER_PATH, stash)
+-!isEmpty(QMAKE_XCODE_VERSION): \
+-    cache(QMAKE_XCODE_VERSION, stash)
+-
+-QMAKE_XCODE_LIBRARY_SUFFIX = $$qtPlatformTargetSuffix()
+-
+-xcode_product_bundle_identifier_setting.name = PRODUCT_BUNDLE_IDENTIFIER
+-xcode_product_bundle_identifier_setting.value = $$QMAKE_TARGET_BUNDLE_PREFIX
+-isEmpty(xcode_product_bundle_identifier_setting.value): \
+-    xcode_product_bundle_identifier_setting.value = "com.yourcompany"
+-xcode_product_bundle_target = $$QMAKE_BUNDLE
+-isEmpty(xcode_product_bundle_target): \
+-    xcode_product_bundle_target = ${PRODUCT_NAME:rfc1034identifier}
+-xcode_product_bundle_identifier_setting.value = "$${xcode_product_bundle_identifier_setting.value}.$${xcode_product_bundle_target}"
+-QMAKE_MAC_XCODE_SETTINGS += xcode_product_bundle_identifier_setting
+-
+ !macx-xcode {
+     generate_xcode_project.commands = @$(QMAKE) -spec macx-xcode \"$(EXPORT__PRO_FILE_)\" $$QMAKE_ARGS
+     generate_xcode_project.target = xcodeproj
+diff --git a/mkspecs/features/mac/default_pre.prf b/mkspecs/features/mac/default_pre.prf
+index e3534561a5..3b01424e67 100644
+--- a/mkspecs/features/mac/default_pre.prf
++++ b/mkspecs/features/mac/default_pre.prf
+@@ -1,60 +1,2 @@
+ CONFIG = asset_catalogs rez $$CONFIG
+ load(default_pre)
+-
+-isEmpty(QMAKE_XCODE_DEVELOPER_PATH) {
+-    # Get path of Xcode's Developer directory
+-    QMAKE_XCODE_DEVELOPER_PATH = $$system("/usr/bin/xcode-select --print-path 2>/dev/null")
+-    isEmpty(QMAKE_XCODE_DEVELOPER_PATH): \
+-        error("Xcode path is not set. Please use xcode-select to choose Xcode installation path.")
+-
+-    # Make sure Xcode path is valid
+-    !exists($$QMAKE_XCODE_DEVELOPER_PATH): \
+-        error("Xcode is not installed in $${QMAKE_XCODE_DEVELOPER_PATH}. Please use xcode-select to choose Xcode installation path.")
+-}
+-
+-isEmpty(QMAKE_XCODEBUILD_PATH): \
+-    QMAKE_XCODEBUILD_PATH = $$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null")
+-
+-!isEmpty(QMAKE_XCODEBUILD_PATH) {
+-    # Make sure Xcode is set up properly
+-    !system("/usr/bin/xcrun xcodebuild -license check 2>/dev/null"): \
+-        error("Xcode not set up properly. You need to confirm the license agreement by running 'sudo xcrun xcodebuild -license accept'.")
+-
+-    isEmpty(QMAKE_XCODE_VERSION) {
+-        # Extract Xcode version using xcodebuild
+-        xcode_version = $$system("/usr/bin/xcrun xcodebuild -version")
+-        QMAKE_XCODE_VERSION = $$member(xcode_version, 1)
+-        isEmpty(QMAKE_XCODE_VERSION): error("Could not resolve Xcode version.")
+-        unset(xcode_version)
+-    }
+-}
+-
+-isEmpty(QMAKE_TARGET_BUNDLE_PREFIX) {
+-    QMAKE_XCODE_PREFERENCES_FILE = $$(HOME)/Library/Preferences/com.apple.dt.Xcode.plist
+-    exists($$QMAKE_XCODE_PREFERENCES_FILE): \
+-        QMAKE_TARGET_BUNDLE_PREFIX = $$system("/usr/libexec/PlistBuddy -c 'print IDETemplateOptions:bundleIdentifierPrefix' $$QMAKE_XCODE_PREFERENCES_FILE 2>/dev/null")
+-
+-    !isEmpty(_QMAKE_CACHE_):!isEmpty(QMAKE_TARGET_BUNDLE_PREFIX): \
+-        cache(QMAKE_TARGET_BUNDLE_PREFIX)
+-}
+-
+-QMAKE_ASSET_CATALOGS_APP_ICON = AppIcon
+-
+-# Make the default debug info format for static debug builds
+-# DWARF instead of DWARF with dSYM. This cuts down build times
+-# for application debug builds significantly, as Xcode doesn't
+-# have to pull out all the DWARF info from the Qt static libs
+-# and put it into a dSYM file. We don't need that dSYM file in
+-# the first place, since the information is available in the
+-# object files inside the archives (static libraries).
+-macx-xcode:qtConfig(static): \
+-    QMAKE_XCODE_DEBUG_INFORMATION_FORMAT = dwarf
+-
+-# This variable is used by the xcode_dynamic_library_suffix
+-# feature, which allows Xcode to choose the Qt libraries to link to
+-# at build time, depending on the current Xcode SDK and configuration.
+-QMAKE_XCODE_LIBRARY_SUFFIX_SETTING = QT_LIBRARY_SUFFIX
+-
+-xcode_copy_phase_strip_setting.name = COPY_PHASE_STRIP
+-xcode_copy_phase_strip_setting.value = NO
+-QMAKE_MAC_XCODE_SETTINGS += xcode_copy_phase_strip_setting
+diff --git a/mkspecs/features/mac/sdk.mk b/mkspecs/features/mac/sdk.mk
+deleted file mode 100644
+index c40f58c987..0000000000
+--- a/mkspecs/features/mac/sdk.mk
++++ /dev/null
+@@ -1,25 +0,0 @@
+-
+-ifeq ($(QT_MAC_SDK_NO_VERSION_CHECK),)
+-    CHECK_SDK_COMMAND = /usr/bin/xcrun --sdk $(EXPORT_QMAKE_MAC_SDK) -show-sdk-version 2>&1
+-    CURRENT_MAC_SDK_VERSION := $(shell DEVELOPER_DIR=$(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) $(CHECK_SDK_COMMAND))
+-    ifneq ($(CURRENT_MAC_SDK_VERSION),$(EXPORT_QMAKE_MAC_SDK_VERSION))
+-        # We don't want to complain about out of date SDK unless the target needs to be remade.
+-        # This covers use-cases such as running 'make check' after moving the build to a
+-        # computer without Xcode or with a different Xcode version.
+-        TARGET_UP_TO_DATE := $(shell QT_MAC_SDK_NO_VERSION_CHECK=1 $(MAKE) --question $(QMAKE_TARGET) && echo 1 || echo 0)
+-        ifeq ($(TARGET_UP_TO_DATE),0)
+-            ifneq ($(findstring missing DEVELOPER_DIR path,$(CURRENT_MAC_SDK_VERSION)),)
+-                $(info The developer dir $(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) is no longer valid.)
+-            else ifneq ($(findstring SDK "$(EXPORT_QMAKE_MAC_SDK)" cannot be located,$(CURRENT_MAC_SDK_VERSION)),)
+-                $(info The developer dir $(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) no longer contains the $(EXPORT_QMAKE_MAC_SDK_VERSION) platform SDK.)
+-            else ifneq ($(CURRENT_MAC_SDK_VERSION),)
+-                $(info The platform SDK has been changed from version $(EXPORT_QMAKE_MAC_SDK_VERSION) to version $(CURRENT_MAC_SDK_VERSION).)
+-            else
+-                $(info Unknown error resolving current platform SDK version.)
+-            endif
+-            $(info This requires a fresh build. Please wipe the build directory completely,)
+-            $(info including any .qmake.stash and .qmake.cache files generated by qmake.)
+-            $(error ^)
+-        endif
+-    endif
+-endif
+diff --git a/mkspecs/features/mac/sdk.prf b/mkspecs/features/mac/sdk.prf
+deleted file mode 100644
+index 3a9c2778bb..0000000000
+--- a/mkspecs/features/mac/sdk.prf
++++ /dev/null
+@@ -1,61 +0,0 @@
+-
+-isEmpty(QMAKE_MAC_SDK): \
+-    error("QMAKE_MAC_SDK must be set when using CONFIG += sdk.")
+-
+-contains(QMAKE_MAC_SDK, .*/.*): \
+-    error("QMAKE_MAC_SDK can only contain short-form SDK names (eg. macosx, iphoneos)")
+-
+-defineReplace(xcodeSDKInfo) {
+-    info = $$1
+-    equals(info, "Path"): \
+-        infoarg = --show-sdk-path
+-    equals(info, "PlatformPath"): \
+-        infoarg = --show-sdk-platform-path
+-    equals(info, "SDKVersion"): \
+-        infoarg = --show-sdk-version
+-    sdk = $$2
+-    isEmpty(sdk): \
+-        sdk = $$QMAKE_MAC_SDK
+-
+-    isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}) {
+-        QMAKE_MAC_SDK.$${sdk}.$${info} = $$system("/usr/bin/xcrun --sdk $$sdk $$infoarg 2>/dev/null")
+-        # --show-sdk-platform-path won't work for Command Line Tools; this is fine
+-        # only used by the XCTest backend to testlib
+-        isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}):if(!isEmpty(QMAKE_XCODEBUILD_PATH)|!equals(infoarg, "--show-sdk-platform-path")): \
+-            error("Could not resolve SDK $$info for \'$$sdk\' using $$infoarg")
+-        cache(QMAKE_MAC_SDK.$${sdk}.$${info}, set stash, QMAKE_MAC_SDK.$${sdk}.$${info})
+-    }
+-
+-    return($$eval(QMAKE_MAC_SDK.$${sdk}.$${info}))
+-}
+-
+-QMAKE_MAC_SDK_PATH = $$xcodeSDKInfo(Path)
+-QMAKE_MAC_SDK_PLATFORM_PATH = $$xcodeSDKInfo(PlatformPath)
+-QMAKE_MAC_SDK_VERSION = $$xcodeSDKInfo(SDKVersion)
+-
+-isEmpty(QMAKE_EXPORT_INCDIR_OPENGL) {
+-    QMAKE_EXPORT_INCDIR_OPENGL = $$QMAKE_INCDIR_OPENGL
+-    sysrootified =
+-    for(val, QMAKE_INCDIR_OPENGL): sysrootified += $${QMAKE_MAC_SDK_PATH}$$val
+-    QMAKE_INCDIR_OPENGL = $$sysrootified
+-}
+-
+-QMAKESPEC_NAME = $$basename(QMAKESPEC)
+-
+-# Resolve SDK version of various tools
+-for(tool, $$list(QMAKE_CC QMAKE_CXX QMAKE_FIX_RPATH QMAKE_AR QMAKE_RANLIB QMAKE_LINK QMAKE_LINK_SHLIB QMAKE_ACTOOL QMAKE_LINK_C QMAKE_LINK_C_SHLIB)) {
+-    tool_variable = QMAKE_MAC_SDK.$${QMAKESPEC_NAME}.$${QMAKE_MAC_SDK}.$${tool}
+-    !isEmpty($$tool_variable) {
+-        $$tool = $$eval($$tool_variable)
+-        next()
+-    }
+-
+-    value = $$eval($$tool)
+-    isEmpty(value): next()
+-
+-    sysrooted = $$system("/usr/bin/xcrun -sdk $$QMAKE_MAC_SDK -find $$first(value) 2>/dev/null")
+-    isEmpty(sysrooted): next()
+-
+-    $$tool = $$sysrooted $$member(value, 1, -1)
+-    cache($$tool_variable, set stash, $$tool)
+-}
+-- 
+2.25.4
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0002-qtbase-mac.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0002-qtbase-mac.patch
new file mode 100644
index 000000000000..4271b64679d7
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0002-qtbase-mac.patch
@@ -0,0 +1,118 @@
+From a9ba67d3db7390d9ddc46751346e70b0a522711a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Milan=20P=C3=A4ssler?= <me@pbb.lc>
+Date: Fri, 3 Apr 2020 21:15:27 +0200
+Subject: [PATCH 02/11] qtbase-mac
+
+---
+ src/corelib/kernel/qcore_mac_p.h | 16 ++++++++++++++--
+ src/testlib/qappletestlogger.cpp |  2 +-
+ src/testlib/qappletestlogger_p.h |  2 +-
+ src/testlib/qtestcase.cpp        |  2 +-
+ src/testlib/qtestlog.cpp         |  2 +-
+ src/testlib/qtestlog_p.h         |  4 ++--
+ 6 files changed, 20 insertions(+), 8 deletions(-)
+
+diff --git a/src/corelib/kernel/qcore_mac_p.h b/src/corelib/kernel/qcore_mac_p.h
+index 535d3579b2..3d70bf39c1 100644
+--- a/src/corelib/kernel/qcore_mac_p.h
++++ b/src/corelib/kernel/qcore_mac_p.h
+@@ -225,7 +225,7 @@ private:
+ 
+ // --------------------------------------------------------------------------
+ 
+-#if !defined(QT_BOOTSTRAPPED)
++#if 0
+ 
+ QT_END_NAMESPACE
+ #include <os/activity.h>
+@@ -303,7 +303,19 @@ QT_MAC_WEAK_IMPORT(_os_activity_current);
+ 
+ #define QT_APPLE_SCOPED_LOG_ACTIVITY(...) QAppleLogActivity scopedLogActivity = QT_APPLE_LOG_ACTIVITY(__VA_ARGS__).enter();
+ 
+-#endif // !defined(QT_BOOTSTRAPPED)
++#else // !defined(QT_BOOTSTRAPPED)
++
++#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT3(...)
++#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT2(...)
++#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT(...)
++
++#define QT_APPLE_LOG_ACTIVITY2(...)
++#define QT_APPLE_LOG_ACTIVITY1(...)
++#define QT_APPLE_LOG_ACTIVITY(...)
++
++#define QT_APPLE_SCOPED_LOG_ACTIVITY(...)
++
++#endif
+ 
+ // -------------------------------------------------------------------------
+ 
+diff --git a/src/testlib/qappletestlogger.cpp b/src/testlib/qappletestlogger.cpp
+index dfeadebdef..2a74330c1d 100644
+--- a/src/testlib/qappletestlogger.cpp
++++ b/src/testlib/qappletestlogger.cpp
+@@ -43,7 +43,7 @@
+ 
+ QT_BEGIN_NAMESPACE
+ 
+-#if defined(QT_USE_APPLE_UNIFIED_LOGGING)
++#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0
+ 
+ using namespace QTestPrivate;
+ 
+diff --git a/src/testlib/qappletestlogger_p.h b/src/testlib/qappletestlogger_p.h
+index 62c6d95c5a..f8e0a3b767 100644
+--- a/src/testlib/qappletestlogger_p.h
++++ b/src/testlib/qappletestlogger_p.h
+@@ -57,7 +57,7 @@
+ 
+ QT_BEGIN_NAMESPACE
+ 
+-#if defined(QT_USE_APPLE_UNIFIED_LOGGING)
++#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0
+ class QAppleTestLogger : public QAbstractTestLogger
+ {
+ public:
+diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp
+index f45999c7fa..d5b525dc12 100644
+--- a/src/testlib/qtestcase.cpp
++++ b/src/testlib/qtestcase.cpp
+@@ -849,7 +849,7 @@ Q_TESTLIB_EXPORT void qtest_qParseArgs(int argc, const char *const argv[], bool
+ 
+     bool addFallbackLogger = !explicitLoggerRequested;
+ 
+-#if defined(QT_USE_APPLE_UNIFIED_LOGGING)
++#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0
+     // Any explicitly requested loggers will be added by now, so we can check if they use stdout
+     const bool safeToAddAppleLogger = !AppleUnifiedLogger::willMirrorToStderr() || !QTestLog::loggerUsingStdout();
+     if (safeToAddAppleLogger && QAppleTestLogger::debugLoggingEnabled()) {
+diff --git a/src/testlib/qtestlog.cpp b/src/testlib/qtestlog.cpp
+index a388780532..63ab965101 100644
+--- a/src/testlib/qtestlog.cpp
++++ b/src/testlib/qtestlog.cpp
+@@ -465,7 +465,7 @@ void QTestLog::addLogger(LogMode mode, const char *filename)
+     case QTestLog::TAP:
+         logger = new QTapTestLogger(filename);
+         break;
+-#if defined(QT_USE_APPLE_UNIFIED_LOGGING)
++#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0
+     case QTestLog::Apple:
+         logger = new QAppleTestLogger;
+         break;
+diff --git a/src/testlib/qtestlog_p.h b/src/testlib/qtestlog_p.h
+index ddaf14ed9b..0c49c93a88 100644
+--- a/src/testlib/qtestlog_p.h
++++ b/src/testlib/qtestlog_p.h
+@@ -74,8 +74,8 @@ public:
+     Q_DISABLE_COPY_MOVE(QTestLog)
+ 
+     enum LogMode {
+-        Plain = 0, XML, LightXML, JUnitXML, CSV, TeamCity, TAP
+-#if defined(QT_USE_APPLE_UNIFIED_LOGGING)
++        Plain = 0, XML, LightXML, XunitXML, CSV, TeamCity, TAP
++#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0
+         , Apple
+ #endif
+ #if defined(HAVE_XCTEST)
+-- 
+2.25.4
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0003-qtbase-mkspecs.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0003-qtbase-mkspecs.patch
new file mode 100644
index 000000000000..9f8ef67ab5d9
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0003-qtbase-mkspecs.patch
@@ -0,0 +1,464 @@
+From 82771c437957b3684ce296997d795432756aa8b1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Milan=20P=C3=A4ssler?= <me@pbb.lc>
+Date: Sat, 4 Apr 2020 00:25:52 +0200
+Subject: [PATCH 03/11] qtbase-mkspecs
+
+---
+ mkspecs/features/create_cmake.prf             | 51 +++---------
+ .../data/cmake/Qt5BasicConfig.cmake.in        | 80 +------------------
+ mkspecs/features/qml_module.prf               |  2 +-
+ mkspecs/features/qml_plugin.prf               |  2 +-
+ mkspecs/features/qt_app.prf                   |  2 +-
+ mkspecs/features/qt_build_paths.prf           |  4 +-
+ mkspecs/features/qt_docs.prf                  | 10 +--
+ mkspecs/features/qt_example_installs.prf      |  2 +-
+ mkspecs/features/qt_functions.prf             |  2 +-
+ mkspecs/features/qt_installs.prf              | 22 ++---
+ mkspecs/features/qt_plugin.prf                |  2 +-
+ 11 files changed, 38 insertions(+), 141 deletions(-)
+
+diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
+index 24ed125f12..f0666a1986 100644
+--- a/mkspecs/features/create_cmake.prf
++++ b/mkspecs/features/create_cmake.prf
+@@ -21,7 +21,7 @@ load(cmake_functions)
+ # at cmake time whether package has been found via a symlink, and correct
+ # that to an absolute path. This is only done for installations to
+ # the /usr or / prefix.
+-CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$[QT_INSTALL_LIBS])
++CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$NIX_OUTPUT_OUT/lib/)
+ contains(CMAKE_INSTALL_LIBS_DIR, ^(/usr)?/lib(64)?.*): CMAKE_USR_MOVE_WORKAROUND = $$CMAKE_INSTALL_LIBS_DIR
+ 
+ CMAKE_OUT_DIR = $$MODULE_BASE_OUTDIR/lib/cmake
+@@ -77,45 +77,20 @@ split_incpath {
+         $$cmake_extra_source_includes.output
+ }
+ 
+-CMAKE_INCLUDE_DIR = $$cmakeRelativePath($$[QT_INSTALL_HEADERS], $$[QT_INSTALL_PREFIX])
+-contains(CMAKE_INCLUDE_DIR, "^\\.\\./.*") {
+-    CMAKE_INCLUDE_DIR = $$[QT_INSTALL_HEADERS]/
+-    CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True
+-}
++CMAKE_INCLUDE_DIR = $$NIX_OUTPUT_DEV/include/
++CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True
+ 
+-CMAKE_LIB_DIR = $$cmakeRelativePath($$[QT_INSTALL_LIBS], $$[QT_INSTALL_PREFIX])
+-contains(CMAKE_LIB_DIR,"^\\.\\./.*") {
+-    CMAKE_LIB_DIR = $$[QT_INSTALL_LIBS]/
+-    CMAKE_LIB_DIR_IS_ABSOLUTE = True
+-} else {
+-    CMAKE_RELATIVE_INSTALL_LIBS_DIR = $$cmakeRelativePath($$[QT_INSTALL_PREFIX], $$[QT_INSTALL_LIBS])
+-    # We need to go up another two levels because the CMake files are
+-    # installed in $${CMAKE_LIB_DIR}/cmake/Qt5$${CMAKE_MODULE_NAME}
+-    CMAKE_RELATIVE_INSTALL_DIR = "$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}../../"
+-}
++CMAKE_BIN_DIR = $$NIX_OUTPUT_BIN/bin/
++CMAKE_BIN_DIR_IS_ABSOLUTE = True
+ 
+-CMAKE_BIN_DIR = $$cmakeRelativePath($$[QT_HOST_BINS], $$[QT_INSTALL_PREFIX])
+-contains(CMAKE_BIN_DIR, "^\\.\\./.*") {
+-    CMAKE_BIN_DIR = $$[QT_HOST_BINS]/
+-    CMAKE_BIN_DIR_IS_ABSOLUTE = True
+-}
++CMAKE_LIB_DIR = $$NIX_OUTPUT_OUT/lib/
++CMAKE_LIB_DIR_IS_ABSOLUTE = True
+ 
+-CMAKE_PLUGIN_DIR = $$cmakeRelativePath($$[QT_INSTALL_PLUGINS], $$[QT_INSTALL_PREFIX])
+-contains(CMAKE_PLUGIN_DIR, "^\\.\\./.*") {
+-    CMAKE_PLUGIN_DIR = $$[QT_INSTALL_PLUGINS]/
+-    CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True
+-}
++CMAKE_PLUGIN_DIR = $$NIX_OUTPUT_PLUGIN/
++CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True
+ 
+-win32:!static:!staticlib {
+-    CMAKE_DLL_DIR = $$cmakeRelativePath($$[QT_INSTALL_BINS], $$[QT_INSTALL_PREFIX])
+-    contains(CMAKE_DLL_DIR, "^\\.\\./.*") {
+-        CMAKE_DLL_DIR = $$[QT_INSTALL_BINS]/
+-        CMAKE_DLL_DIR_IS_ABSOLUTE = True
+-    }
+-} else {
+-    CMAKE_DLL_DIR = $$CMAKE_LIB_DIR
+-    CMAKE_DLL_DIR_IS_ABSOLUTE = $$CMAKE_LIB_DIR_IS_ABSOLUTE
+-}
++CMAKE_DLL_DIR = $$NIX_OUTPUT_OUT/lib/
++CMAKE_DLL_DIR_IS_ABSOLUTE = True
+ 
+ static|staticlib:CMAKE_STATIC_TYPE = true
+ 
+@@ -258,7 +233,7 @@ contains(CONFIG, plugin) {
+ 
+     cmake_qt5_plugin_file.files = $$cmake_target_file.output
+     static|staticlib: cmake_qt5_plugin_file.files += $$cmake_qt5_plugin_import_file.output
+-    cmake_qt5_plugin_file.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME}
++    cmake_qt5_plugin_file.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME}
+     INSTALLS += cmake_qt5_plugin_file
+ 
+     return()
+@@ -400,7 +375,7 @@ exists($$cmake_macros_file.input) {
+     cmake_qt5_module_files.files += $$cmake_macros_file.output
+ }
+ 
+-cmake_qt5_module_files.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME}
++cmake_qt5_module_files.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME}
+ 
+ # We are generating cmake files. Most developers of Qt are not aware of cmake,
+ # so we require automatic tests to be available. The only module which should
+diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+index 309798a767..b6c3ab8609 100644
+--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
++++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+@@ -2,30 +2,6 @@ if (CMAKE_VERSION VERSION_LESS 3.1.0)
+     message(FATAL_ERROR \"Qt 5 $${CMAKE_MODULE_NAME} module requires at least CMake version 3.1.0\")
+ endif()
+ 
+-!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND)
+-!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
+-!!ELSE
+-get_filename_component(_IMPORT_PREFIX \"${CMAKE_CURRENT_LIST_FILE}\" PATH)
+-# Use original install prefix when loaded through a
+-# cross-prefix symbolic link such as /lib -> /usr/lib.
+-get_filename_component(_realCurr \"${_IMPORT_PREFIX}\" REALPATH)
+-get_filename_component(_realOrig \"$$CMAKE_INSTALL_LIBS_DIR/cmake/Qt5$${CMAKE_MODULE_NAME}\" REALPATH)
+-if(_realCurr STREQUAL _realOrig)
+-    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$CMAKE_INSTALL_LIBS_DIR/$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}\" ABSOLUTE)
+-else()
+-    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
+-endif()
+-unset(_realOrig)
+-unset(_realCurr)
+-unset(_IMPORT_PREFIX)
+-!!ENDIF
+-!!ELIF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
+-!!ELSE
+-set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
+-!!ENDIF
+-
+ !!IF !equals(TEMPLATE, aux)
+ # For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead.
+ set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.VERSION)")
+@@ -145,11 +121,7 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI
+       IsDebugAndRelease)
+     set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+ 
+-!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
+-!!ELSE
+     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
+-!!ENDIF
+     _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
+     set(_deps
+         ${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}
+@@ -209,11 +181,7 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI
+ !!ENDIF
+ 
+ !!IF !isEmpty(CMAKE_WINDOWS_BUILD)
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+-!!ELSE
+     set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+-!!ENDIF
+     _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib})
+     if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\")
+         set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
+@@ -229,24 +197,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ !!IF !no_module_headers
+ !!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
+     set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS
+-      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework\"
+-      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Headers\"
++      \"$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework\"
++      \"$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Headers\"
+     )
+ !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
+     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
+-    )
+-!!ELSE
+-    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
+-!!ENDIF
+-!!ELSE
+-!!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
+-    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\")
+-!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
+-    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\"
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\"
++      \"$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, .,0, 0)/Headers/$$VERSION/\"
++      \"$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, .,0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
+     )
+ !!ELSE
+     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
+@@ -262,7 +219,6 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
+ !!ENDIF
+ !!ENDIF
+-!!ENDIF
+ !!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS)
+     include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL)
+ !!ENDIF
+@@ -499,25 +455,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
+ !!IF isEmpty(CMAKE_DEBUG_TYPE)
+ !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+-!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
+     if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+-!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
+         _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" $${CMAKE_DEBUG_AND_RELEASE})
+ !!ELSE // CMAKE_STATIC_WINDOWS_BUILD
+     if (EXISTS
+-!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
+-!!ELSE
+         \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
+-!!ENDIF
+       AND EXISTS
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+-!!ELSE
+         \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+-!!ENDIF
+         _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" $${CMAKE_DEBUG_AND_RELEASE})
+ !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
+     endif()
+@@ -536,25 +480,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
+ !!IF isEmpty(CMAKE_RELEASE_TYPE)
+ !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+-!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
+     if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+-!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
+         _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" $${CMAKE_DEBUG_AND_RELEASE})
+ !!ELSE // CMAKE_STATIC_WINDOWS_BUILD
+     if (EXISTS
+-!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
+-!!ELSE
+         \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
+-!!ENDIF
+       AND EXISTS
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+-!!ELSE
+         \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+-!!ENDIF
+         _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" $${CMAKE_DEBUG_AND_RELEASE})
+ !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
+     endif()
+@@ -581,11 +513,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+           IsDebugAndRelease)
+         set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+ 
+-!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
+-        set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
+-!!ELSE
+         set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
+-!!ENDIF
+         _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
+         set_target_properties(Qt5::${Plugin} PROPERTIES
+             \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
+diff --git a/mkspecs/features/qml_module.prf b/mkspecs/features/qml_module.prf
+index c0b50416c9..cabe39b22e 100644
+--- a/mkspecs/features/qml_module.prf
++++ b/mkspecs/features/qml_module.prf
+@@ -51,7 +51,7 @@ builtin_resources {
+ # Install rules
+ qmldir.base = $$qmldir_path
+ qmldir.files = $$qmldir_file
+-qmldir.path = $$[QT_INSTALL_QML]/$$TARGETPATH
++qmldir.path = $$NIX_OUTPUT_QML/$$TARGETPATH
+ 
+ qmlfiles.base = $$_PRO_FILE_PWD_
+ qmlfiles.files = $$fq_aux_qml_files
+diff --git a/mkspecs/features/qml_plugin.prf b/mkspecs/features/qml_plugin.prf
+index 1b67435787..24a1f78c17 100644
+--- a/mkspecs/features/qml_plugin.prf
++++ b/mkspecs/features/qml_plugin.prf
+@@ -50,7 +50,7 @@ load(qt_build_paths)
+ 
+ DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
+ 
+-target.path = $$[QT_INSTALL_QML]/$$TARGETPATH
++target.path = $$NIX_OUTPUT_QML/$$TARGETPATH
+ INSTALLS += target
+ 
+ # Some final setup
+diff --git a/mkspecs/features/qt_app.prf b/mkspecs/features/qt_app.prf
+index 8354f30eea..62028fef8e 100644
+--- a/mkspecs/features/qt_app.prf
++++ b/mkspecs/features/qt_app.prf
+@@ -30,7 +30,7 @@ host_build:force_bootstrap {
+     target.path = $$[QT_HOST_BINS]
+ } else {
+     !build_pass:qtConfig(debug_and_release): CONFIG += release
+-    target.path = $$[QT_INSTALL_BINS]
++    target.path = $$NIX_OUTPUT_BIN/bin
+     CONFIG += relative_qt_rpath  # Qt's tools and apps should be relocatable
+ }
+ INSTALLS += target
+diff --git a/mkspecs/features/qt_build_paths.prf b/mkspecs/features/qt_build_paths.prf
+index 3bb3823a8e..655b7b7db8 100644
+--- a/mkspecs/features/qt_build_paths.prf
++++ b/mkspecs/features/qt_build_paths.prf
+@@ -24,6 +24,6 @@ exists($$MODULE_BASE_INDIR/.git): \
+ !force_independent {
+     # If the module is not built independently, everything ends up in qtbase.
+     # This is the case in non-prefix builds, except for selected modules.
+-    MODULE_BASE_OUTDIR = $$[QT_HOST_PREFIX]
+-    MODULE_QMAKE_OUTDIR = $$[QT_HOST_PREFIX]
++    MODULE_BASE_OUTDIR = $$NIX_OUTPUT_OUT
++    MODULE_QMAKE_OUTDIR = $$NIX_OUTPUT_OUT
+ }
+diff --git a/mkspecs/features/qt_docs.prf b/mkspecs/features/qt_docs.prf
+index 095bf15dac..4cc977bea5 100644
+--- a/mkspecs/features/qt_docs.prf
++++ b/mkspecs/features/qt_docs.prf
+@@ -65,7 +65,7 @@ QMAKE_DOCS_OUTPUTDIR = $$QMAKE_DOCS_BASE_OUTDIR/$$QMAKE_DOCS_TARGETDIR
+ 
+ QDOC += -outputdir $$shell_quote($$QMAKE_DOCS_OUTPUTDIR)
+ !build_online_docs: \
+-    QDOC += -installdir $$shell_quote($$[QT_INSTALL_DOCS])
++    QDOC += -installdir $$shell_quote($$NIX_OUTPUT_DOC)
+ PREP_DOC_INDEXES =
+ DOC_INDEXES =
+ !isEmpty(QTREPOS) {
+@@ -84,8 +84,8 @@ DOC_INDEXES =
+         DOC_INDEXES += -indexdir $$shell_quote($$qrep/doc)
+ } else {
+     prepare_docs: \
+-        PREP_DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get])
+-    DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get])
++        PREP_DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC)
++    DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC)
+ }
+ 
+ qtattributionsscanner.target = qtattributionsscanner
+@@ -108,12 +108,12 @@ prepare_docs {
+     qch_docs.commands = $$QHELPGENERATOR $$shell_quote($$QMAKE_DOCS_OUTPUTDIR/$${QMAKE_DOCS_TARGET}.qhp) -o $$shell_quote($$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch)
+ 
+     inst_html_docs.files = $$QMAKE_DOCS_OUTPUTDIR
+-    inst_html_docs.path = $$[QT_INSTALL_DOCS]
++    inst_html_docs.path = $$NIX_OUTPUT_DOC
+     inst_html_docs.CONFIG += no_check_exist directory no_default_install no_build
+     INSTALLS += inst_html_docs
+ 
+     inst_qch_docs.files = $$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch
+-    inst_qch_docs.path = $$[QT_INSTALL_DOCS]
++    inst_qch_docs.path = $$NIX_OUTPUT_DOC
+     inst_qch_docs.CONFIG += no_check_exist no_default_install no_build
+     INSTALLS += inst_qch_docs
+ 
+diff --git a/mkspecs/features/qt_example_installs.prf b/mkspecs/features/qt_example_installs.prf
+index 15b373ba40..5c373fe1d5 100644
+--- a/mkspecs/features/qt_example_installs.prf
++++ b/mkspecs/features/qt_example_installs.prf
+@@ -91,7 +91,7 @@ sourcefiles += \
+     $$SOURCES $$HEADERS $$FORMS $$RESOURCES $$TRANSLATIONS \
+     $$DBUS_ADAPTORS $$DBUS_INTERFACES
+ addInstallFiles(sources.files, $$sourcefiles)
+-sources.path = $$[QT_INSTALL_EXAMPLES]/$$probase
++sources.path = $$NIX_OUTPUT_DEV/share/examples/$$probase
+ INSTALLS += sources
+ 
+ check_examples {
+diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
+index 7777e615bd..abeb03a663 100644
+--- a/mkspecs/features/qt_functions.prf
++++ b/mkspecs/features/qt_functions.prf
+@@ -87,7 +87,7 @@ defineTest(qtHaveModule) {
+ defineTest(qtPrepareTool) {
+     cmd = $$eval(QT_TOOL.$${2}.binary)
+     isEmpty(cmd) {
+-        cmd = $$[QT_HOST_BINS]/$$2
++        cmd = $$system("command -v $$2")
+         exists($${cmd}.pl) {
+             $${1}_EXE = $${cmd}.pl
+             cmd = perl -w $$system_path($${cmd}.pl)
+diff --git a/mkspecs/features/qt_installs.prf b/mkspecs/features/qt_installs.prf
+index 1ebca17366..a8f958eae8 100644
+--- a/mkspecs/features/qt_installs.prf
++++ b/mkspecs/features/qt_installs.prf
+@@ -12,16 +12,10 @@
+ #library
+ !qt_no_install_library {
+     win32 {
+-       host_build: \
+-           dlltarget.path = $$[QT_HOST_BINS]
+-       else: \
+-           dlltarget.path = $$[QT_INSTALL_BINS]
++       dlltarget.path = $$NIX_OUTPUT_BIN/bin
+        INSTALLS += dlltarget
+     }
+-    host_build: \
+-        target.path = $$[QT_HOST_LIBS]
+-    else: \
+-        target.path = $$[QT_INSTALL_LIBS]
++    target.path = $$NIX_OUTPUT_OUT/lib
+     !static: target.CONFIG = no_dll
+     INSTALLS += target
+ }
+@@ -29,35 +23,35 @@
+ #headers
+ qt_install_headers {
+     gen_headers.files = $$SYNCQT.GENERATED_HEADER_FILES
+-    gen_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME
++    gen_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME
+     INSTALLS += gen_headers
+ 
+     targ_headers.files = $$SYNCQT.HEADER_FILES $$SYNCQT.INJECTED_HEADER_FILES
+-    targ_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME
++    targ_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME
+     INSTALLS += targ_headers
+ 
+     private_headers.files = $$SYNCQT.PRIVATE_HEADER_FILES $$SYNCQT.INJECTED_PRIVATE_HEADER_FILES
+-    private_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private
++    private_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private
+     generated_privates: \
+         private_headers.CONFIG += no_check_exist
+     INSTALLS += private_headers
+ 
+     qpa_headers.files = $$SYNCQT.QPA_HEADER_FILES
+-    qpa_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa
++    qpa_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa
+     INSTALLS += qpa_headers
+ }
+ 
+ #module
+ qt_install_module {
+     !isEmpty(MODULE_PRI) {
+-        pritarget.path = $$[QT_HOST_DATA]/mkspecs/modules
++        pritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules
+         pritarget.files = $$MODULE_PRI
+         INSTALLS += pritarget
+     } else: isEmpty(MODULE_PRIVATE_PRI) {
+         warning("Project $$basename(_PRO_FILE_) is a module, but has not defined MODULE_PRI, which is required for Qt to expose the module to other projects.")
+     }
+     !isEmpty(MODULE_PRIVATE_PRI) {
+-        privpritarget.path = $$[QT_HOST_DATA]/mkspecs/modules
++        privpritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules
+         privpritarget.files = $$MODULE_PRIVATE_PRI
+         INSTALLS += privpritarget
+     }
+diff --git a/mkspecs/features/qt_plugin.prf b/mkspecs/features/qt_plugin.prf
+index 573d717eea..024c624cb6 100644
+--- a/mkspecs/features/qt_plugin.prf
++++ b/mkspecs/features/qt_plugin.prf
+@@ -88,7 +88,7 @@ CONFIG(static, static|shared)|prefix_build {
+     }
+ }
+ 
+-target.path = $$[QT_INSTALL_PLUGINS]/$$PLUGIN_TYPE
++target.path = $$NIX_OUTPUT_PLUGIN/$$PLUGIN_TYPE
+ INSTALLS += target
+ 
+ qt_libinfix_plugins: TARGET = $$TARGET$$QT_LIBINFIX
+-- 
+2.25.4
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0004-qtbase-replace-libdir.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0004-qtbase-replace-libdir.patch
new file mode 100644
index 000000000000..bbfc93897873
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0004-qtbase-replace-libdir.patch
@@ -0,0 +1,68 @@
+From 30d3906ff5e8671e9c97c5336c6c549656c0e293 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Milan=20P=C3=A4ssler?= <me@pbb.lc>
+Date: Sat, 4 Apr 2020 00:27:41 +0200
+Subject: [PATCH 04/11] qtbase-replace-libdir
+
+---
+ mkspecs/features/qt_common.prf | 20 ++------------------
+ mkspecs/features/qt_module.prf |  5 +----
+ 2 files changed, 3 insertions(+), 22 deletions(-)
+
+diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf
+index 8df94aa4ee..414029f31c 100644
+--- a/mkspecs/features/qt_common.prf
++++ b/mkspecs/features/qt_common.prf
+@@ -31,32 +31,16 @@ contains(TEMPLATE, .*lib)|contains(TEMPLATE, aux) {
+         rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]*
+     else: \
+         rplbase = $$MODULE_BASE_OUTDIR
+-    host_build {
+-        qqt_libdir = \$\$\$\$[QT_HOST_LIBS]
+-        qt_libdir = $$[QT_HOST_LIBS]
+-    } else {
+-        qqt_libdir = \$\$\$\$[QT_INSTALL_LIBS]
+-        qt_libdir = $$[QT_INSTALL_LIBS]
+-    }
++    qt_libdir = $$NIX_OUTPUT_OUT/lib
+     contains(QMAKE_DEFAULT_LIBDIRS, $$qt_libdir) {
+-        lib_replace0.match = $$rplbase/lib/
+-        lib_replace0.replace = $$qqt_libdir/
+-        lib_replace0.CONFIG = path
+-        QMAKE_PRL_INSTALL_REPLACE += lib_replace0
+         lib_replace.match = "[^ ']*$$rplbase/lib"
+         lib_replace.replace =
+     } else {
+         lib_replace.match = $$rplbase/lib
+-        lib_replace.replace = $$qqt_libdir
++        lib_replace.replace = $$qt_libdir
+     }
+     lib_replace.CONFIG = path
+     QMAKE_PRL_INSTALL_REPLACE += lib_replace
+-    !equals(qt_libdir, $$rplbase/lib) {
+-        qtlibdir_replace.match = $$qt_libdir
+-        qtlibdir_replace.replace = $$qqt_libdir
+-        qtlibdir_replace.CONFIG = path
+-        QMAKE_PRL_INSTALL_REPLACE += qtlibdir_replace
+-    }
+ }
+ contains(TEMPLATE, .*lib)|darwin {
+     if(!host_build|!cross_compile):qtConfig(reduce_exports): CONFIG += hide_symbols
+diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
+index 828a9621b9..b9e5d35026 100644
+--- a/mkspecs/features/qt_module.prf
++++ b/mkspecs/features/qt_module.prf
+@@ -305,10 +305,7 @@ load(qt_targets)
+ }
+ !lib_bundle:unix {
+     CONFIG += create_libtool
+-    host_build: \
+-        QMAKE_LIBTOOL_LIBDIR = $$[QT_HOST_LIBS]
+-    else: \
+-        QMAKE_LIBTOOL_LIBDIR = "=$$[QT_INSTALL_LIBS/raw]"
++    QMAKE_LIBTOOL_LIBDIR = $$NIX_OUTPUT_OUT/lib
+     !isEmpty(lib_replace0.match) {
+         ltlib_replace0.match = $$lib_replace0.match
+         ltlib_replace0.replace = $$QMAKE_LIBTOOL_LIBDIR/
+-- 
+2.25.4
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0005-qtbase-cmake.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0005-qtbase-cmake.patch
new file mode 100644
index 000000000000..19646df1666f
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0005-qtbase-cmake.patch
@@ -0,0 +1,194 @@
+From 7871fbcefc7596a458cec005edafd9d4962baea3 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Tue, 17 Sep 2019 05:34:28 -0500
+Subject: [PATCH 05/11] qtbase-cmake
+
+---
+ mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in  |  2 +-
+ mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in |  4 ++--
+ src/corelib/Qt5CoreConfigExtras.cmake.in             | 10 +++++-----
+ src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in    |  2 +-
+ .../Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in  |  2 +-
+ src/dbus/Qt5DBusConfigExtras.cmake.in                | 12 ++----------
+ src/gui/Qt5GuiConfigExtras.cmake.in                  |  6 +++---
+ src/widgets/Qt5WidgetsConfigExtras.cmake.in          |  2 +-
+ 8 files changed, 16 insertions(+), 24 deletions(-)
+
+diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+index b6c3ab8609..edb6a89316 100644
+--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
++++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+@@ -513,7 +513,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+           IsDebugAndRelease)
+         set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+ 
+-        set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
++        set(imported_location \"${PLUGIN_LOCATION}\")
+         _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
+         set_target_properties(Qt5::${Plugin} PROPERTIES
+             \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
+diff --git a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
+index b550a52c60..dbd3243885 100644
+--- a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
++++ b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
+@@ -53,10 +53,10 @@ set_property(TARGET Qt5::$$CMAKE_PLUGIN_NAME PROPERTY INTERFACE_SOURCES
+ !!ENDIF
+ 
+ !!IF !isEmpty(CMAKE_RELEASE_TYPE)
+-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\" $${CMAKE_DEBUG_AND_RELEASE})
++_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_RELEASE}\" $${CMAKE_DEBUG_AND_RELEASE})
+ !!ENDIF
+ !!IF !isEmpty(CMAKE_DEBUG_TYPE)
+-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\" $${CMAKE_DEBUG_AND_RELEASE})
++_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_DEBUG}\" $${CMAKE_DEBUG_AND_RELEASE})
+ !!ENDIF
+ 
+ list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
+diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in
+index 4c1c3a612b..bb8ab08143 100644
+--- a/src/corelib/Qt5CoreConfigExtras.cmake.in
++++ b/src/corelib/Qt5CoreConfigExtras.cmake.in
+@@ -6,7 +6,7 @@ if (NOT TARGET Qt5::qmake)
+     add_executable(Qt5::qmake IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+@@ -21,7 +21,7 @@ if (NOT TARGET Qt5::moc)
+     add_executable(Qt5::moc IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+@@ -38,7 +38,7 @@ if (NOT TARGET Qt5::rcc)
+     add_executable(Qt5::rcc IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+@@ -121,7 +121,7 @@ if (NOT TARGET Qt5::WinMain)
+ !!IF !isEmpty(CMAKE_RELEASE_TYPE)
+     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
+ !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
++    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
+ !!ENDIF
+@@ -135,7 +135,7 @@ if (NOT TARGET Qt5::WinMain)
+     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+ 
+ !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
++    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
+ !!ENDIF
+diff --git a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in b/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
+index c357237d0e..6f0c75de3c 100644
+--- a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
++++ b/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
+@@ -1,6 +1,6 @@
+ 
+ !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE)
+-set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
++set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
+ !!ELSE
+ set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
+ !!ENDIF
+diff --git a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in b/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
+index 706304cf34..546420f6ad 100644
+--- a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
++++ b/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
+@@ -1,6 +1,6 @@
+ 
+ !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE)
+-set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
++set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
+ !!ELSE
+ set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
+ !!ENDIF
+diff --git a/src/dbus/Qt5DBusConfigExtras.cmake.in b/src/dbus/Qt5DBusConfigExtras.cmake.in
+index a814678f7b..b13b964ec8 100644
+--- a/src/dbus/Qt5DBusConfigExtras.cmake.in
++++ b/src/dbus/Qt5DBusConfigExtras.cmake.in
+@@ -2,11 +2,7 @@
+ if (NOT TARGET Qt5::qdbuscpp2xml)
+     add_executable(Qt5::qdbuscpp2xml IMPORTED)
+ 
+-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
+-!!ELSE
+-    set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
+-!!ENDIF
++    set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
+     _qt5_DBus_check_file_exists(${imported_location})
+ 
+     set_target_properties(Qt5::qdbuscpp2xml PROPERTIES
+@@ -17,11 +13,7 @@ endif()
+ if (NOT TARGET Qt5::qdbusxml2cpp)
+     add_executable(Qt5::qdbusxml2cpp IMPORTED)
+ 
+-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
+-!!ELSE
+-    set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
+-!!ENDIF
++    set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
+     _qt5_DBus_check_file_exists(${imported_location})
+ 
+     set_target_properties(Qt5::qdbusxml2cpp PROPERTIES
+diff --git a/src/gui/Qt5GuiConfigExtras.cmake.in b/src/gui/Qt5GuiConfigExtras.cmake.in
+index 84dbbfebd4..8ad0720c5c 100644
+--- a/src/gui/Qt5GuiConfigExtras.cmake.in
++++ b/src/gui/Qt5GuiConfigExtras.cmake.in
+@@ -2,7 +2,7 @@
+ !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE)
+ 
+ !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
+-set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\")
++set(Qt5Gui_EGL_INCLUDE_DIRS \"$$NIX_OUTPUT_DEV/$$CMAKE_INCLUDE_DIR/QtANGLE\")
+ !!ELSE
+ set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\")
+ !!ENDIF
+@@ -17,13 +17,13 @@ macro(_populate_qt5gui_gl_target_properties TargetName Configuration LIB_LOCATIO
+     set_property(TARGET Qt5::${TargetName} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+ 
+ !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Gui_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
++    set(imported_location \"$$NIX_OUTPUT_OUT/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
+ !!ENDIF
+ 
+ !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    set(imported_implib \"${_qt5Gui_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
++    set(imported_implib \"$$NIX_OUTPUT_OUT/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+ !!ELSE
+     set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+ !!ENDIF
+diff --git a/src/widgets/Qt5WidgetsConfigExtras.cmake.in b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+index 83d8004a08..ca0b8e4bfb 100644
+--- a/src/widgets/Qt5WidgetsConfigExtras.cmake.in
++++ b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::uic)
+     add_executable(Qt5::uic IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+-- 
+2.25.4
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0006-qtbase-gtk3.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0006-qtbase-gtk3.patch
new file mode 100644
index 000000000000..48f4c9b3f99e
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0006-qtbase-gtk3.patch
@@ -0,0 +1,48 @@
+From 7a9f4f875053aed8ab387161eea623bf8325cfa8 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Tue, 17 Sep 2019 05:35:33 -0500
+Subject: [PATCH 06/11] qtbase-gtk3
+
+---
+ src/plugins/platformthemes/gtk3/main.cpp | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
+
+diff --git a/src/plugins/platformthemes/gtk3/main.cpp b/src/plugins/platformthemes/gtk3/main.cpp
+index 860fc3a26e..8cd4663d49 100644
+--- a/src/plugins/platformthemes/gtk3/main.cpp
++++ b/src/plugins/platformthemes/gtk3/main.cpp
+@@ -39,6 +39,7 @@
+ 
+ #include <qpa/qplatformthemeplugin.h>
+ #include "qgtk3theme.h"
++#include <QFile>
+ 
+ QT_BEGIN_NAMESPACE
+ 
+@@ -54,8 +55,22 @@ public:
+ QPlatformTheme *QGtk3ThemePlugin::create(const QString &key, const QStringList &params)
+ {
+     Q_UNUSED(params);
+-    if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive))
++    if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive)) {
++
++#ifdef NIXPKGS_QGTK3_XDG_DATA_DIRS
++        QStringList XDG_DATA_DIRS = QFile::decodeName(qgetenv("XDG_DATA_DIRS")).split(':');
++        XDG_DATA_DIRS << QLatin1String(NIXPKGS_QGTK3_XDG_DATA_DIRS);
++        qputenv("XDG_DATA_DIRS", QFile::encodeName(XDG_DATA_DIRS.join(':')));
++#endif
++
++#ifdef NIXPKGS_QGTK3_GIO_EXTRA_MODULES
++        QStringList GIO_EXTRA_MODULES = QFile::decodeName(qgetenv("GIO_EXTRA_MODULES")).split(':');
++        GIO_EXTRA_MODULES << QLatin1String(NIXPKGS_QGTK3_GIO_EXTRA_MODULES);
++        qputenv("GIO_EXTRA_MODULES", QFile::encodeName(GIO_EXTRA_MODULES.join(':')));
++#endif
++
+         return new QGtk3Theme;
++    }
+ 
+     return nullptr;
+ }
+-- 
+2.25.4
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0007-qtbase-xcursor.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0007-qtbase-xcursor.patch
new file mode 100644
index 000000000000..617b0684df65
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0007-qtbase-xcursor.patch
@@ -0,0 +1,29 @@
+From 707098eada20ba074e642a73248de74407bc261c Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Tue, 17 Sep 2019 05:35:58 -0500
+Subject: [PATCH 07/11] qtbase-xcursor
+
+---
+ src/plugins/platforms/xcb/qxcbcursor.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/plugins/platforms/xcb/qxcbcursor.cpp b/src/plugins/platforms/xcb/qxcbcursor.cpp
+index 42c7a52bd4..ba670ddb44 100644
+--- a/src/plugins/platforms/xcb/qxcbcursor.cpp
++++ b/src/plugins/platforms/xcb/qxcbcursor.cpp
+@@ -317,10 +317,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *conn, QXcbScreen *screen)
+ #if QT_CONFIG(xcb_xlib) && QT_CONFIG(library)
+     static bool function_ptrs_not_initialized = true;
+     if (function_ptrs_not_initialized) {
+-        QLibrary xcursorLib(QLatin1String("Xcursor"), 1);
++        QLibrary xcursorLib(QLatin1String(NIXPKGS_LIBXCURSOR), 1);
+         bool xcursorFound = xcursorLib.load();
+         if (!xcursorFound) { // try without the version number
+-            xcursorLib.setFileName(QLatin1String("Xcursor"));
++            xcursorLib.setFileName(QLatin1String(NIXPKGS_LIBXCURSOR));
+             xcursorFound = xcursorLib.load();
+         }
+         if (xcursorFound) {
+-- 
+2.25.4
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0008-qtbase-tzdir.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0008-qtbase-tzdir.patch
new file mode 100644
index 000000000000..319de315bfb7
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0008-qtbase-tzdir.patch
@@ -0,0 +1,64 @@
+From da003b582ee8823b29b1ff5c0aca8e06e7741b94 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Tue, 17 Sep 2019 05:36:25 -0500
+Subject: [PATCH 08/11] qtbase-tzdir
+
+---
+ src/corelib/time/qtimezoneprivate_tz.cpp | 31 +++++++++++++++---------
+ 1 file changed, 19 insertions(+), 12 deletions(-)
+
+diff --git a/src/corelib/time/qtimezoneprivate_tz.cpp b/src/corelib/time/qtimezoneprivate_tz.cpp
+index 01f9a6cce0..910338205a 100644
+--- a/src/corelib/time/qtimezoneprivate_tz.cpp
++++ b/src/corelib/time/qtimezoneprivate_tz.cpp
+@@ -77,7 +77,11 @@ typedef QHash<QByteArray, QTzTimeZone> QTzTimeZoneHash;
+ // Parse zone.tab table, assume lists all installed zones, if not will need to read directories
+ static QTzTimeZoneHash loadTzTimeZones()
+ {
+-    QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
++    // Try TZDIR first, in case we're running on NixOS.
++    QString path = QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/zone.tab");
++    // Fallback to traditional paths in case we are not on NixOS.
++    if (!QFile::exists(path))
++        path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
+     if (!QFile::exists(path))
+         path = QStringLiteral("/usr/lib/zoneinfo/zone.tab");
+ 
+@@ -672,20 +676,23 @@ QTzTimeZoneCacheEntry QTzTimeZoneCache::findEntry(const QByteArray &ianaId)
+         if (!tzif.open(QIODevice::ReadOnly))
+             return ret;
+     } else {
+-        // Open named tz, try modern path first, if fails try legacy path
+-        tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
++        // Try TZDIR first, in case we're running on NixOS
++        tzif.setFileName(QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/") + QString::fromLocal8Bit(ianaId));
+         if (!tzif.open(QIODevice::ReadOnly)) {
+-            tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
++            tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
+             if (!tzif.open(QIODevice::ReadOnly)) {
+-                // ianaId may be a POSIX rule, taken from $TZ or /etc/TZ
+-                const QByteArray zoneInfo = ianaId.split(',').at(0);
+-                const char *begin = zoneInfo.constBegin();
+-                if (PosixZone::parse(begin, zoneInfo.constEnd()).hasValidOffset()
+-                    && (begin == zoneInfo.constEnd()
+-                        || PosixZone::parse(begin, zoneInfo.constEnd()).hasValidOffset())) {
+-                    ret.m_posixRule = ianaId;
++                tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
++                if (!tzif.open(QIODevice::ReadOnly)) {
++                    // ianaId may be a POSIX rule, taken from $TZ or /etc/TZ
++                    const QByteArray zoneInfo = ianaId.split(',').at(0);
++                    const char *begin = zoneInfo.constBegin();
++                    if (PosixZone::parse(begin, zoneInfo.constEnd()).hasValidOffset()
++                        && (begin == zoneInfo.constEnd()
++                            || PosixZone::parse(begin, zoneInfo.constEnd()).hasValidOffset())) {
++                        ret.m_posixRule = ianaId;
++                    }
++                    return ret;
+                 }
+-                return ret;
+             }
+         }
+     }
+-- 
+2.25.4
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0009-qtbase-qtpluginpath.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0009-qtbase-qtpluginpath.patch
new file mode 100644
index 000000000000..28013ec10482
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0009-qtbase-qtpluginpath.patch
@@ -0,0 +1,33 @@
+From 9fc6efaf774a8716932c98c0b0ea6408ed2614c2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Milan=20P=C3=A4ssler?= <me@pbb.lc>
+Date: Sun, 10 May 2020 12:47:28 +0200
+Subject: [PATCH 09/11] qtbase-qtpluginpath
+
+---
+ src/corelib/kernel/qcoreapplication.cpp | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp
+index 5fdcc9b914..1a126ef359 100644
+--- a/src/corelib/kernel/qcoreapplication.cpp
++++ b/src/corelib/kernel/qcoreapplication.cpp
+@@ -2691,6 +2691,16 @@ QStringList QCoreApplication::libraryPathsLocked()
+         QStringList *app_libpaths = new QStringList;
+         coreappdata()->app_libpaths.reset(app_libpaths);
+ 
++        // Add library paths derived from PATH
++        const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':');
++        const QString plugindir = QStringLiteral("../" NIXPKGS_QT_PLUGIN_PREFIX);
++        for (const QString &path: paths) {
++            if (!path.isEmpty()) {
++                app_libpaths->append(QDir::cleanPath(path + QDir::separator() + plugindir));
++            }
++        }
++
++
+         auto setPathsFromEnv = [&](QString libPathEnv) {
+             if (!libPathEnv.isEmpty()) {
+                 QStringList paths = libPathEnv.split(QDir::listSeparator(), Qt::SkipEmptyParts);
+-- 
+2.25.4
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0010-qtbase-assert.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0010-qtbase-assert.patch
new file mode 100644
index 000000000000..c5b099c4ca35
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0010-qtbase-assert.patch
@@ -0,0 +1,32 @@
+From 015845b3c320d02691f28373097d1e6dbbac79f7 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Tue, 17 Sep 2019 05:37:04 -0500
+Subject: [PATCH 10/11] qtbase-assert
+
+---
+ src/testlib/qtestassert.h | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/src/testlib/qtestassert.h b/src/testlib/qtestassert.h
+index 6498ea84ef..d821ced7fc 100644
+--- a/src/testlib/qtestassert.h
++++ b/src/testlib/qtestassert.h
+@@ -44,10 +44,13 @@
+ 
+ QT_BEGIN_NAMESPACE
+ 
+-
++#if defined(QT_NO_DEBUG) && !defined(QT_FORCE_ASSERTS)
++#define QTEST_ASSERT(cond) do { } while ((false) && (cond))
++#define QTEST_ASSERT_X(cond, where, what) do { } while ((false) && (cond))
++#else
+ #define QTEST_ASSERT(cond) do { if (!(cond)) qt_assert(#cond,__FILE__,__LINE__); } while (false)
+-
+ #define QTEST_ASSERT_X(cond, where, what) do { if (!(cond)) qt_assert_x(where, what,__FILE__,__LINE__); } while (false)
++#endif
+ 
+ QT_END_NAMESPACE
+ 
+-- 
+2.25.4
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0011-fix-header_module.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0011-fix-header_module.patch
new file mode 100644
index 000000000000..98738656114d
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0011-fix-header_module.patch
@@ -0,0 +1,25 @@
+From 2bce8511877db1db532e1437e7140b1d55633f86 Mon Sep 17 00:00:00 2001
+From: Will Dietz <w@wdtz.org>
+Date: Mon, 30 Sep 2019 20:15:40 -0500
+Subject: [PATCH 11/11] fix header_module
+
+---
+ mkspecs/features/qt_module.prf | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
+index b9e5d35026..9924271042 100644
+--- a/mkspecs/features/qt_module.prf
++++ b/mkspecs/features/qt_module.prf
+@@ -84,7 +84,7 @@ header_module {
+         CONFIG  += qt_no_install_library
+ 
+     # Allow creation of .prl, .la and .pc files.
+-    target.path = $$[QT_INSTALL_LIBS]
++    target.path = $$NIX_OUTPUT_OUT/lib
+     target.CONFIG += dummy_install
+     INSTALLS    += target
+ } else {
+-- 
+2.25.4
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtdeclarative.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtdeclarative.patch
new file mode 100644
index 000000000000..d9c721e6946c
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtdeclarative.patch
@@ -0,0 +1,114 @@
+diff --git a/src/particles/particles.pro b/src/particles/particles.pro
+index aaaa83419a..58aee00036 100644
+--- a/src/particles/particles.pro
++++ b/src/particles/particles.pro
+@@ -20,6 +20,6 @@ QMLTYPES_FILENAME = plugins.qmltypes
+ QMLTYPES_INSTALL_DIR = $$[QT_INSTALL_QML]/QtQuick/Particles.2
+ QML_IMPORT_NAME = QtQuick.Particles
+ IMPORT_VERSION = 2.$$QT_MINOR_VERSION
+-CONFIG += qmltypes install_qmltypes install_metatypes
++CONFIG += qmltypes install_qmltypes
+ 
+ load(qt_module)
+diff --git a/src/qml/qml.pro b/src/qml/qml.pro
+index e39a8319b6..90c0331278 100644
+--- a/src/qml/qml.pro
++++ b/src/qml/qml.pro
+@@ -72,6 +72,6 @@ QMLTYPES_FILENAME = plugins.qmltypes
+ QMLTYPES_INSTALL_DIR = $$[QT_INSTALL_QML]/QtQml
+ QML_IMPORT_NAME = QtQml
+ IMPORT_VERSION = 2.$$QT_MINOR_VERSION
+-CONFIG += qmltypes install_qmltypes install_metatypes
++CONFIG += qmltypes install_qmltypes
+ 
+ load(qt_module)
+diff --git a/src/qmlmodels/qmlmodels.pro b/src/qmlmodels/qmlmodels.pro
+index 4ac093556d..112e2c2be0 100644
+--- a/src/qmlmodels/qmlmodels.pro
++++ b/src/qmlmodels/qmlmodels.pro
+@@ -68,6 +68,6 @@ QMLTYPES_FILENAME = plugins.qmltypes
+ QMLTYPES_INSTALL_DIR = $$[QT_INSTALL_QML]/QtQml/Models.2
+ QML_IMPORT_NAME = QtQml.Models
+ IMPORT_VERSION = 2.$$QT_MINOR_VERSION
+-CONFIG += qmltypes install_qmltypes install_metatypes
++CONFIG += qmltypes install_qmltypes
+ 
+ load(qt_module)
+diff --git a/src/qmltest/qmltest.pro b/src/qmltest/qmltest.pro
+index c2e8068fc6..79dba368f7 100644
+--- a/src/qmltest/qmltest.pro
++++ b/src/qmltest/qmltest.pro
+@@ -34,7 +34,7 @@ QMLTYPES_FILENAME = plugins.qmltypes
+ QMLTYPES_INSTALL_DIR = $$[QT_INSTALL_QML]/Qt/test/qtestroot
+ QML_IMPORT_NAME = Qt.test.qtestroot
+ QML_IMPORT_VERSION = 1.0
+-CONFIG += qmltypes install_qmltypes install_metatypes
++CONFIG += qmltypes install_qmltypes
+ 
+ # Install qmldir
+ qmldir.files = $$PWD/qmldir
+diff --git a/src/qmlworkerscript/qmlworkerscript.pro b/src/qmlworkerscript/qmlworkerscript.pro
+index 84466062e1..79885455cc 100644
+--- a/src/qmlworkerscript/qmlworkerscript.pro
++++ b/src/qmlworkerscript/qmlworkerscript.pro
+@@ -23,6 +23,6 @@ QMLTYPES_FILENAME = plugins.qmltypes
+ QMLTYPES_INSTALL_DIR = $$[QT_INSTALL_QML]/QtQml/WorkerScript.2
+ QML_IMPORT_NAME = QtQml.WorkerScript
+ IMPORT_VERSION = 2.$$QT_MINOR_VERSION
+-CONFIG += qmltypes install_qmltypes install_metatypes
++CONFIG += qmltypes install_qmltypes
+ 
+ load(qt_module)
+diff --git a/src/quick/quick.pro b/src/quick/quick.pro
+index f2d49cf939..c401b04c4e 100644
+--- a/src/quick/quick.pro
++++ b/src/quick/quick.pro
+@@ -52,4 +52,4 @@ QMLTYPES_FILENAME = plugins.qmltypes
+ QMLTYPES_INSTALL_DIR = $$[QT_INSTALL_QML]/QtQuick.2
+ QML_IMPORT_NAME = QtQuick
+ IMPORT_VERSION = 2.$$QT_MINOR_VERSION
+-CONFIG += qmltypes install_qmltypes install_metatypes
++CONFIG += qmltypes install_qmltypes
+diff --git a/src/quickshapes/quickshapes.pro b/src/quickshapes/quickshapes.pro
+index 4dbd3e5e46..0c6b186fc8 100644
+--- a/src/quickshapes/quickshapes.pro
++++ b/src/quickshapes/quickshapes.pro
+@@ -36,4 +36,4 @@ QMLTYPES_FILENAME = plugins.qmltypes
+ QMLTYPES_INSTALL_DIR = $$[QT_INSTALL_QML]/QtQuick/Shapes
+ QML_IMPORT_NAME = QtQuick.Shapes
+ IMPORT_VERSION = 1.$$QT_MINOR_VERSION
+-CONFIG += qmltypes install_qmltypes install_metatypes
++CONFIG += qmltypes install_qmltypes
+diff --git a/src/qml/qml/qqmlimport.cpp b/src/qml/qml/qqmlimport.cpp
+index 005db4248..685c5b1b2 100644
+--- a/src/qml/qml/qqmlimport.cpp
++++ b/src/qml/qml/qqmlimport.cpp
+@@ -1760,6 +1760,15 @@ QQmlImportDatabase::QQmlImportDatabase(QQmlEngine *e)
+     QString installImportsPath =  QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath);
+     addImportPath(installImportsPath);
+ 
++    // Add import paths derived from PATH
++    const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':');
++    const QString qmldir = QStringLiteral("../" NIXPKGS_QML2_IMPORT_PREFIX);
++    for (const QString &path: paths) {
++        if (!path.isEmpty()) {
++            addImportPath(QDir::cleanPath(path + QDir::separator() + qmldir));
++        }
++    }
++
+     // env import paths
+     if (Q_UNLIKELY(!qEnvironmentVariableIsEmpty("QML2_IMPORT_PATH"))) {
+         const QString envImportPath = qEnvironmentVariable("QML2_IMPORT_PATH");
+diff --git a/tools/qmlcachegen/qmlcache.prf b/tools/qmlcachegen/qmlcache.prf
+index 537eaf62ea..e21de58f64 100644
+--- a/tools/qmlcachegen/qmlcache.prf
++++ b/tools/qmlcachegen/qmlcache.prf
+@@ -26,7 +26,7 @@ defineReplace(qmlCacheOutputFileName) {
+ }
+ 
+ qmlcacheinst.base = $$QMLCACHE_DESTDIR
+-qmlcacheinst.path = $$[QT_INSTALL_QML]/$$TARGETPATH
++qmlcacheinst.path = $$NIX_OUTPUT_QML/$$TARGETPATH
+ qmlcacheinst.CONFIG = no_check_exist
+ 
+ qmlcachegen.input = CACHEGEN_FILES
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtscript.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtscript.patch
new file mode 100644
index 000000000000..5508dec1280e
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtscript.patch
@@ -0,0 +1,13 @@
+diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
+index 1f6d25e..087c3fb 100644
+--- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
++++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
+@@ -81,7 +81,7 @@
+ #include <pthread.h>
+ #elif PLATFORM(GTK)
+ #include <wtf/gtk/GOwnPtr.h>
+-typedef struct _GMutex GMutex;
++typedef union _GMutex GMutex;
+ typedef struct _GCond GCond;
+ #endif
+ 
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtserialport.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtserialport.patch
new file mode 100644
index 000000000000..f25524e80bcf
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtserialport.patch
@@ -0,0 +1,22 @@
+diff --git a/src/serialport/qtudev_p.h b/src/serialport/qtudev_p.h
+index af2dab2..8e17f64 100644
+--- a/src/serialport/qtudev_p.h
++++ b/src/serialport/qtudev_p.h
+@@ -111,9 +111,17 @@ inline QFunctionPointer resolveSymbol(QLibrary *udevLibrary, const char *symbolN
+ inline bool resolveSymbols(QLibrary *udevLibrary)
+ {
+     if (!udevLibrary->isLoaded()) {
++#ifdef NIXPKGS_LIBUDEV
++        udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 1);
++#else
+         udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1);
++#endif
+         if (!udevLibrary->load()) {
++#ifdef NIXPKGS_LIBUDEV
++            udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 0);
++#else
+             udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0);
++#endif
+             if (!udevLibrary->load()) {
+                 qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0);
+                 return false;
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/qttools.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qttools.patch
new file mode 100644
index 000000000000..8ae12198ca25
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qttools.patch
@@ -0,0 +1,15 @@
+--- a/src/macdeployqt/shared/shared.cpp
++++ b/src/macdeployqt/shared/shared.cpp
+@@ -1241,6 +1241,12 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf
+     if (!QFile(qmlImportScannerPath).exists())
+         qmlImportScannerPath = QCoreApplication::applicationDirPath() + "/qmlimportscanner";
+ 
++#ifdef NIXPKGS_QMLIMPORTSCANNER
++    // Fallback: Nixpkgs hardcoded path
++    if (!QFile(qmlImportScannerPath).exists())
++        qmlImportScannerPath = NIXPKGS_QMLIMPORTSCANNER;
++#endif
++
+     // Verify that we found a qmlimportscanner binary
+     if (!QFile(qmlImportScannerPath).exists()) {
+         LogError() << "qmlimportscanner not found at" << qmlImportScannerPath;
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtwebengine-darwin-no-platform-check.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtwebengine-darwin-no-platform-check.patch
new file mode 100644
index 000000000000..546e753144d0
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtwebengine-darwin-no-platform-check.patch
@@ -0,0 +1,33 @@
+diff --git a/mkspecs/features/platform.prf b/mkspecs/features/platform.prf
+--- a/mkspecs/features/platform.prf
++++ b/mkspecs/features/platform.prf
+@@ -40,8 +40,6 @@ defineTest(isPlatformSupported) {
+   } else:osx {
+     # FIXME: Try to get it back down to 8.2 for building on OS X 10.11
+     !isMinXcodeVersion(8, 3, 3) {
+-      skipBuild("Using Xcode version $$QMAKE_XCODE_VERSION, but at least version 8.3.3 is required to build Qt WebEngine.")
+-      return(false)
+     }
+     !clang|intel_icc {
+         skipBuild("Qt WebEngine on macOS requires Clang.")
+@@ -54,8 +52,6 @@ defineTest(isPlatformSupported) {
+       return(false)
+     }
+     !isMinOSXSDKVersion(10, 12): {
+-      skipBuild("Building Qt WebEngine requires a macOS SDK version of 10.12 or newer. Current version is $${WEBENGINE_OSX_SDK_PRODUCT_VERSION}.")
+-      return(false)
+     }
+   } else {
+     skipBuild("Unknown platform. Qt WebEngine only supports Linux, Windows, and macOS.")
+diff --git a/src/core/config/mac_osx.pri b/src/core/config/mac_osx.pri
+--- a/src/core/config/mac_osx.pri
++++ b/src/core/config/mac_osx.pri
+@@ -5,8 +5,6 @@ load(functions)
+ # otherwise query for it.
+ QMAKE_MAC_SDK_VERSION = $$eval(QMAKE_MAC_SDK.$${QMAKE_MAC_SDK}.SDKVersion)
+ isEmpty(QMAKE_MAC_SDK_VERSION) {
+-     QMAKE_MAC_SDK_VERSION = $$system("/usr/bin/xcodebuild -sdk $${QMAKE_MAC_SDK} -version SDKVersion 2>/dev/null")
+-     isEmpty(QMAKE_MAC_SDK_VERSION): error("Could not resolve SDK version for \'$${QMAKE_MAC_SDK}\'")
+ }
+
+ QMAKE_CLANG_DIR = "/usr"
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtwebkit-darwin-no-qos-classes.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtwebkit-darwin-no-qos-classes.patch
new file mode 100644
index 000000000000..a7087f517623
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtwebkit-darwin-no-qos-classes.patch
@@ -0,0 +1,11 @@
+diff --git a/Source/cmake/OptionsQt.cmake b/Source/cmake/OptionsQt.cmake
+--- a/Source/cmake/OptionsQt.cmake
++++ b/Source/cmake/OptionsQt.cmake
+@@ -683,7 +683,6 @@ if (WIN32 AND COMPILER_IS_GCC_OR_CLANG)
+ endif ()
+ 
+ if (APPLE)
+-    SET_AND_EXPOSE_TO_BUILD(HAVE_QOS_CLASSES 1)
+ endif ()
+ 
+ if (ENABLE_MATHML)
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtwebkit-darwin-no-readline.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtwebkit-darwin-no-readline.patch
new file mode 100644
index 000000000000..26d189d86019
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtwebkit-darwin-no-readline.patch
@@ -0,0 +1,45 @@
+diff --git a/Source/JavaScriptCore/shell/CMakeLists.txt b/Source/JavaScriptCore/shell/CMakeLists.txt
+--- a/Source/JavaScriptCore/shell/CMakeLists.txt
++++ b/Source/JavaScriptCore/shell/CMakeLists.txt
+@@ -9,7 +9,6 @@ set(JSC_LIBRARIES
+ )
+ 
+ if (WTF_OS_MAC_OS_X)
+-    list(APPEND JSC_LIBRARIES edit)
+ endif ()
+ 
+ if ("${JavaScriptCore_LIBRARY_TYPE}" MATCHES "STATIC")
+diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h
+--- a/Source/WTF/wtf/Platform.h
++++ b/Source/WTF/wtf/Platform.h
+@@ -563,7 +563,6 @@
+ #if PLATFORM(IOS)
+ 
+ #define HAVE_NETWORK_EXTENSION 1
+-#define HAVE_READLINE 1
+ #if USE(APPLE_INTERNAL_SDK)
+ #define USE_CFNETWORK 1
+ #endif
+@@ -650,7 +649,6 @@
+ #define HAVE_MADV_DONTNEED 1
+ #define HAVE_MERGESORT 1
+ #define HAVE_PTHREAD_SETNAME_NP 1
+-#define HAVE_READLINE 1
+ #define HAVE_SYS_TIMEB_H 1
+ 
+ #if !PLATFORM(GTK) && !PLATFORM(QT)
+diff --git a/Source/WTF/wtf/PlatformMac.cmake b/Source/WTF/wtf/PlatformMac.cmake
+--- a/Source/WTF/wtf/PlatformMac.cmake
++++ b/Source/WTF/wtf/PlatformMac.cmake
+@@ -2,11 +2,9 @@ set(WTF_LIBRARY_TYPE SHARED)
+ 
+ find_library(COCOA_LIBRARY Cocoa)
+ find_library(COREFOUNDATION_LIBRARY CoreFoundation)
+-find_library(READLINE_LIBRARY Readline)
+ list(APPEND WTF_LIBRARIES
+     ${COREFOUNDATION_LIBRARY}
+     ${COCOA_LIBRARY}
+-    ${READLINE_LIBRARY}
+     libicucore.dylib
+ )
+ 
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtwebkit.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtwebkit.patch
new file mode 100644
index 000000000000..b94a4b76cbab
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtwebkit.patch
@@ -0,0 +1,12 @@
+diff --git a/Source/WebKit2/PlatformQt.cmake b/Source/WebKit2/PlatformQt.cmake
+--- a/Source/WebKit2/PlatformQt.cmake
++++ b/Source/WebKit2/PlatformQt.cmake
+@@ -261,6 +261,7 @@
+ list(APPEND WebKit2_SYSTEM_INCLUDE_DIRECTORIES
+     ${GLIB_INCLUDE_DIRS}
+     ${GSTREAMER_INCLUDE_DIRS}
++    ${GSTREAMER_PBUTILS_INCLUDE_DIRS}
+     ${Qt5Quick_INCLUDE_DIRS}
+     ${Qt5Quick_PRIVATE_INCLUDE_DIRS}
+     ${SQLITE_INCLUDE_DIR}
+
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/srcs.nix b/nixpkgs/pkgs/development/libraries/qt-5/5.15/srcs.nix
new file mode 100644
index 000000000000..c88e896286ee
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.15/srcs.nix
@@ -0,0 +1,342 @@
+# DO NOT EDIT! This file is generated automatically.
+# Command: ./maintainers/scripts/fetch-kde-qt.sh pkgs/development/libraries/qt-5/5.15
+{ fetchurl, mirror }:
+
+{
+  qt3d = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qt3d-everywhere-src-5.15.0.tar.xz";
+      sha256 = "61856f0c453b79e98b7a1e65ea8f59976fa78230ffa8dec959b5f4b45383dffd";
+      name = "qt3d-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtactiveqt = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtactiveqt-everywhere-src-5.15.0.tar.xz";
+      sha256 = "1b455eacfb9ef49912d7a79040ea409a6ab88dfa192d313e6b5e02a79d741b51";
+      name = "qtactiveqt-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtandroidextras = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtandroidextras-everywhere-src-5.15.0.tar.xz";
+      sha256 = "c9019185221e94e37e250c84acaebfb7b2f5342e8ad60cdcff052ac2b85ec671";
+      name = "qtandroidextras-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtbase = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtbase-everywhere-src-5.15.0.tar.xz";
+      sha256 = "9e7af10aece15fa9500369efde69cb220eee8ec3a6818afe01ce1e7d484824c5";
+      name = "qtbase-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtcharts = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtcharts-everywhere-src-5.15.0.tar.xz";
+      sha256 = "44a24fc16abcaf9ae97ecf3215f6f3b44ebdb3b73bcb4ed3549a51519e4883a7";
+      name = "qtcharts-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtconnectivity = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtconnectivity-everywhere-src-5.15.0.tar.xz";
+      sha256 = "f911fb8f8bf3a9958785d0378d25ced8989047938b7138d619854a94fa0b27dd";
+      name = "qtconnectivity-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtdatavis3d = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtdatavis3d-everywhere-src-5.15.0.tar.xz";
+      sha256 = "8f07747f371f7c515c667240a795105c89aa83c08d88ee92fa1ef7efccea10a3";
+      name = "qtdatavis3d-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtdeclarative = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtdeclarative-everywhere-src-5.15.0.tar.xz";
+      sha256 = "9c3c93fb7d340b2f7d738d12408c047318c78973cb45bfc5ff6b3a57e1fef699";
+      name = "qtdeclarative-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtdoc = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtdoc-everywhere-src-5.15.0.tar.xz";
+      sha256 = "07ca8db98c317f25cc9a041c48a6824baf63893bf5b535d6f8d266dea8c7659f";
+      name = "qtdoc-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtgamepad = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtgamepad-everywhere-src-5.15.0.tar.xz";
+      sha256 = "dda54d9f90897944bed5e6af48a904a677fd97eb6f57ab08a2b232c431caf31a";
+      name = "qtgamepad-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtgraphicaleffects = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtgraphicaleffects-everywhere-src-5.15.0.tar.xz";
+      sha256 = "0d2ea4bc73b9df13a4b739dcbc1e3c7b298c7e682f7f9252b232e3bde7b63eda";
+      name = "qtgraphicaleffects-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtimageformats = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtimageformats-everywhere-src-5.15.0.tar.xz";
+      sha256 = "83f32101b1a898fcb8ed6f11a657d1125484ac0c2223014b61849d9010efebc8";
+      name = "qtimageformats-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtlocation = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtlocation-everywhere-src-5.15.0.tar.xz";
+      sha256 = "c68b0778a521e5522641c41b1778999dd408ebfda1e0de166a83743268be5f3f";
+      name = "qtlocation-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtlottie = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtlottie-everywhere-src-5.15.0.tar.xz";
+      sha256 = "2053f474dcd7184fdcae2507f47af6527f6ca25b4424483f9265853c3626c833";
+      name = "qtlottie-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtmacextras = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtmacextras-everywhere-src-5.15.0.tar.xz";
+      sha256 = "95a8c35b30373224cdd6d1ca0bdda1a314b20e91551a4824e8ca7e50ce8ff439";
+      name = "qtmacextras-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtmultimedia = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtmultimedia-everywhere-src-5.15.0.tar.xz";
+      sha256 = "0708d867697f392dd3600c5c1c88f5c61b772a5250a4d059dca67b844af0fbd7";
+      name = "qtmultimedia-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtnetworkauth = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtnetworkauth-everywhere-src-5.15.0.tar.xz";
+      sha256 = "96c6107f6e85662a05f114c5b9bd3503a3100bd940e1494c73a99e77f9e7cf85";
+      name = "qtnetworkauth-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtpurchasing = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtpurchasing-everywhere-src-5.15.0.tar.xz";
+      sha256 = "2127f180c4889055d88e2b402b62be80a5a213a0e48d2056cc9a01d9913b3a16";
+      name = "qtpurchasing-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtquick3d = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtquick3d-everywhere-src-5.15.0.tar.xz";
+      sha256 = "6d3b91b653ba5e33fd5b37cd785ded6cf1dd83d35250c3addb77eb35f90e52cb";
+      name = "qtquick3d-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtquickcontrols = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtquickcontrols-everywhere-src-5.15.0.tar.xz";
+      sha256 = "7072cf4cd27e9f18b36b1c48dec7c79608cf87ba847d3fc3de133f220ec1acee";
+      name = "qtquickcontrols-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtquickcontrols2 = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtquickcontrols2-everywhere-src-5.15.0.tar.xz";
+      sha256 = "839abda9b58cd8656b2e5f46afbb484e63df466481ace43318c4c2022684648f";
+      name = "qtquickcontrols2-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtquicktimeline = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtquicktimeline-everywhere-src-5.15.0.tar.xz";
+      sha256 = "16ffeb733ba15815121fca5705ed5220ce0a0eb2ec0431ad0d55da9426a03c00";
+      name = "qtquicktimeline-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtremoteobjects = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtremoteobjects-everywhere-src-5.15.0.tar.xz";
+      sha256 = "86fcfdce77f13c7babdec4dc1d0c4b7b6b02e40120a4250dc59e911c53c08abf";
+      name = "qtremoteobjects-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtscript = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtscript-everywhere-src-5.15.0.tar.xz";
+      sha256 = "02dc21b309621876a89671be27cea86a58e74a96aa28da65fe1b37a3aad29373";
+      name = "qtscript-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtscxml = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtscxml-everywhere-src-5.15.0.tar.xz";
+      sha256 = "9c3a72bf5ebd07553b0049cc1943f04cff93b7e53bde8c81d652422dbf12ff72";
+      name = "qtscxml-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtsensors = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtsensors-everywhere-src-5.15.0.tar.xz";
+      sha256 = "12b17ed6cbe6c49c8ab71958bc5d8ad1c42bf20e2fa72613ede11001e98144da";
+      name = "qtsensors-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtserialbus = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtserialbus-everywhere-src-5.15.0.tar.xz";
+      sha256 = "cee067c84d025e221b83d109b58ea16c4d2dc0af0aea45cc6724acd33a1b7379";
+      name = "qtserialbus-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtserialport = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtserialport-everywhere-src-5.15.0.tar.xz";
+      sha256 = "ba19369069a707dffddca8d9c477bb2bb4aa26630dfee6792254c4bf9bd57a67";
+      name = "qtserialport-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtspeech = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtspeech-everywhere-src-5.15.0.tar.xz";
+      sha256 = "7219a878c14a24d0ca18d52df1717361b13aee96ac9790baf9ad2b383492dd61";
+      name = "qtspeech-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtsvg = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtsvg-everywhere-src-5.15.0.tar.xz";
+      sha256 = "ee4d287e2e205ca8c08921b9cbe0fc58bf46be080b5359ad4d7fbdee44aeee0d";
+      name = "qtsvg-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qttools = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qttools-everywhere-src-5.15.0.tar.xz";
+      sha256 = "ddbcb49aab3a2e3672582c6e2e7bec0058feff790f67472343c79e2895e0e437";
+      name = "qttools-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qttranslations = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qttranslations-everywhere-src-5.15.0.tar.xz";
+      sha256 = "45c43268d9df50784d4d8ca345fce9288a1055fd074ac0ef508097f7aeba22fe";
+      name = "qttranslations-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtvirtualkeyboard = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtvirtualkeyboard-everywhere-src-5.15.0.tar.xz";
+      sha256 = "f22f9204ab65578d9c8aa832a8a39108f826e00a7d391c7884ff490c587f34be";
+      name = "qtvirtualkeyboard-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtwayland = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtwayland-everywhere-src-5.15.0.tar.xz";
+      sha256 = "084133e10bfbd32a28125639660c59975f23457bba6a79b30a25802cec76a9fb";
+      name = "qtwayland-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtwebchannel = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtwebchannel-everywhere-src-5.15.0.tar.xz";
+      sha256 = "ea80510b363e6f92ce99932f06d176e43459c4a5159fe97b5ef96fcfbab5ed4f";
+      name = "qtwebchannel-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtwebengine = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtwebengine-everywhere-src-5.15.0.tar.xz";
+      sha256 = "c38e2fda7ed1b7d5a90f26abf231ec0715d78a5bc39a94673d8e39d75f04c5df";
+      name = "qtwebengine-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtwebglplugin = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtwebglplugin-everywhere-src-5.15.0.tar.xz";
+      sha256 = "f7b81f25ddf7b3a0046daa7224bc1e18c8b754b00b1a33775f30f827a5cdca15";
+      name = "qtwebglplugin-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtwebsockets = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtwebsockets-everywhere-src-5.15.0.tar.xz";
+      sha256 = "87c2f6542778f9b65b3f208740c1d0db643fd0bede21404b9abb265355da5092";
+      name = "qtwebsockets-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtwebview = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtwebview-everywhere-src-5.15.0.tar.xz";
+      sha256 = "b87ea205ce79c6b438ebe596e91fa80ba11f6aac7e89ffbf52b337d0fc8d6660";
+      name = "qtwebview-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtwinextras = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtwinextras-everywhere-src-5.15.0.tar.xz";
+      sha256 = "d77f2cb2ce83bdbfd0a970bc8d7d11c96b2df16befc257d6594f79dfd92abff0";
+      name = "qtwinextras-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtx11extras = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtx11extras-everywhere-src-5.15.0.tar.xz";
+      sha256 = "c72b6c188284facddcf82835af048240e721dc8d6d9e8a7bd71d76fd876881a1";
+      name = "qtx11extras-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+  qtxmlpatterns = {
+    version = "5.15.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtxmlpatterns-everywhere-src-5.15.0.tar.xz";
+      sha256 = "2752cf2aa25ebfda89c3736457e27b3d0c7c7ed290dcfd52c209f9f905998507";
+      name = "qtxmlpatterns-everywhere-src-5.15.0.tar.xz";
+    };
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtbase.nix b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtbase.nix
index 5eaca56684fa..cc6e45e3ebde 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtbase.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtbase.nix
@@ -8,7 +8,7 @@
   darwin, libiconv,
 
   dbus, fontconfig, freetype, glib, harfbuzz, icu, libX11, libXcomposite,
-  libXcursor, libXext, libXi, libXrender, libinput, libjpeg, libpng, libtiff,
+  libXcursor, libXext, libXi, libXrender, libinput, libjpeg, libpng,
   libxcb, libxkbcommon, libxml2, libxslt, openssl, pcre16, pcre2, sqlite, udev,
   xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, xcbutilwm,
   zlib,
@@ -48,7 +48,7 @@ stdenv.mkDerivation {
       harfbuzz icu
 
       # Image formats
-      libjpeg libpng libtiff
+      libjpeg libpng
       (if compareVersion "5.9.0" < 0 then pcre16 else pcre2)
     ]
     ++ (
@@ -295,8 +295,8 @@ stdenv.mkDerivation {
       "-make tools"
       ''-${lib.optionalString (!buildExamples) "no"}make examples''
       ''-${lib.optionalString (!buildTests) "no"}make tests''
-      "-v"
     ]
+    ++ lib.optional (compareVersion "5.15.0" < 0) "-v"
 
     ++ (
       if stdenv.isDarwin
@@ -311,8 +311,9 @@ stdenv.mkDerivation {
       else
         [
           "-${lib.optionalString (compareVersion "5.9.0" < 0) "no-"}rpath"
-
-          "-system-xcb"
+        ]
+        ++ lib.optional (compareVersion "5.15.0" < 0) "-system-xcb"
+        ++ [
           "-xcb"
           "-qpa xcb"
           "-L" "${libX11.out}/lib"
@@ -327,7 +328,9 @@ stdenv.mkDerivation {
           ''-${lib.optionalString (cups == null) "no-"}cups''
           "-dbus-linked"
           "-glib"
-          "-system-libjpeg"
+        ]
+        ++ lib.optional (compareVersion "5.15.0" < 0) "-system-libjpeg"
+        ++ [
           "-system-libpng"
         ]
         ++ lib.optional withGtk3 "-gtk"
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtimageformats.nix b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtimageformats.nix
index 1a7726070be3..9c80507b7c70 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtimageformats.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtimageformats.nix
@@ -1,6 +1,7 @@
-{ qtModule, qtbase }:
+{ qtModule, qtbase, libtiff }:
 
 qtModule {
   name = "qtimageformats";
   qtInputs = [ qtbase ];
+  propagatedBuildInputs = [ libtiff ];
 }
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtmultimedia.nix b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtmultimedia.nix
index d0bab88b2f21..42ed23bb6dc9 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtmultimedia.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtmultimedia.nix
@@ -1,5 +1,5 @@
 { qtModule, stdenv, qtbase, qtdeclarative, pkgconfig
-, alsaLib, gstreamer, gst-plugins-base, libpulseaudio
+, alsaLib, gstreamer, gst-plugins-base, libpulseaudio, wayland
 }:
 
 with stdenv.lib;
@@ -8,8 +8,9 @@ qtModule {
   name = "qtmultimedia";
   qtInputs = [ qtbase qtdeclarative ];
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gstreamer gst-plugins-base libpulseaudio]
-    ++ optional (stdenv.isLinux) alsaLib;
+  buildInputs = [ gstreamer gst-plugins-base libpulseaudio ]
+    ++ optional (stdenv.isLinux) alsaLib
+    ++ optional (versionAtLeast qtbase.version "5.14.0" && stdenv.isLinux) wayland;
   outputs = [ "bin" "dev" "out" ];
   qmakeFlags = [ "GST_VERSION=1.0" ];
   NIX_LDFLAGS = optionalString (stdenv.isDarwin) "-lobjc";
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtserialbus.nix b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtserialbus.nix
new file mode 100644
index 000000000000..48968a254c65
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtserialbus.nix
@@ -0,0 +1,6 @@
+{ qtModule, qtbase, qtserialport }:
+
+qtModule {
+  name = "qtserialbus";
+  qtInputs = [ qtbase qtserialport ];
+}
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/modules/qttools.nix b/nixpkgs/pkgs/development/libraries/qt-5/modules/qttools.nix
index c38eb0105e12..fae90972978f 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/modules/qttools.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/modules/qttools.nix
@@ -11,6 +11,8 @@ qtModule {
   postPatch = ''
     sed -i "src/linguist/linguist.pro" \
         -e '/^cmake_linguist_config_version_file.input =/ s|$$\[QT_HOST_DATA.*\]|${getDev qtbase}|'
+    sed -i "src/qtattributionsscanner/qtattributionsscanner.pro" \
+        -e '/^cmake_qattributionsscanner_config_version_file.input =/ s|$$\[QT_HOST_DATA.*\]|${getDev qtbase}|'
   '';
 
   devTools = [
@@ -20,14 +22,18 @@ qtModule {
     "bin/qdoc"
     "bin/lconvert"
     "bin/designer"
-    "bin/qtattributesscanner"
+    "bin/qtattributionsscanner"
     "bin/lrelease"
+    "bin/lrelease-pro"
     "bin/pixeltool"
     "bin/lupdate"
+    "bin/lupdate-pro"
     "bin/qtdiag"
     "bin/qhelpgenerator"
     "bin/qtplugininfo"
     "bin/qthelpconverter"
+    "bin/lprodump"
+    "bin/qdistancefieldgenerator"
   ] ++ optionals stdenv.isDarwin [
     "bin/macdeployqt"
   ];
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebengine.nix b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
index 512060701e2d..049b0349a4f8 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
@@ -13,9 +13,9 @@
 , systemd
 , enableProprietaryCodecs ? true
 , gn
-, cups, darwin, openbsm, runCommand, xcbuild
+, cups, darwin, openbsm, runCommand, xcbuild, writeScriptBin
 , ffmpeg_3 ? null
-, lib, stdenv
+, lib, stdenv, fetchpatch
 }:
 
 with stdenv.lib;
@@ -38,6 +38,17 @@ qtModule {
   # which cannot be set at the same time as -Wformat-security
   hardeningDisable = [ "format" ];
 
+  patches = [
+    # Fix build with bison-3.7: https://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/?id=1a53f599
+    (fetchpatch {
+      name = "qtwebengine-bison-3.7-build.patch";
+      url = "https://code.qt.io/cgit/qt/qtwebengine-chromium.git/patch/?id=1a53f599";
+      sha256 = "1nqpyn5fq37q7i9nasag6i14lnz0d7sld5ikqhlm8qwq9d7gbmjy";
+      stripLen = 1;
+      extraPrefix = "src/3rdparty/";
+    })
+  ];
+
   postPatch =
     # Patch Chromium build tools
     ''
@@ -51,6 +62,13 @@ qtModule {
       substituteInPlace ./src/3rdparty/chromium/v8/gypfiles/standalone.gypi \
         --replace /bin/echo ${coreutils}/bin/echo
     ''
+    # Prevent Chromium build script from making the path to `clang` relative to
+    # the build directory.  `clang_base_path` is the value of `QMAKE_CLANG_DIR`
+    # from `src/core/config/mac_osx.pri`.
+    + optionalString stdenv.isDarwin ''
+      substituteInPlace ./src/3rdparty/chromium/build/toolchain/mac/BUILD.gn \
+        --replace 'prefix = rebase_path("$clang_base_path/bin/", root_build_dir)' 'prefix = "$clang_base_path/bin/"'
+    ''
     # Patch library paths in Qt sources
     + ''
       sed -i \
@@ -61,7 +79,7 @@ qtModule {
     ''
     # Patch library paths in Chromium sources
     + optionalString (!stdenv.isDarwin) ''
-      sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${systemd.lib}/lib/\1!' \
+      sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${lib.getLib systemd}/lib/\1!' \
         src/3rdparty/chromium/device/udev_linux/udev?_loader.cc
 
       sed -i -e '/libpci_loader.*Load/s!"\(libpci\.so\)!"${pciutils}/lib/\1!' \
@@ -69,32 +87,15 @@ qtModule {
     ''
     + optionalString stdenv.isDarwin (''
       substituteInPlace src/core/config/mac_osx.pri \
-        --replace /usr ${stdenv.cc}
+        --replace 'QMAKE_CLANG_DIR = "/usr"' 'QMAKE_CLANG_DIR = "${stdenv.cc}"'
     ''
+     # Following is required to prevent a build error:
+     # ninja: error: '/nix/store/z8z04p0ph48w22rqzx7ql67gy8cyvidi-SDKs/MacOSX10.12.sdk/usr/include/mach/exc.defs', needed by 'gen/third_party/crashpad/crashpad/util/mach/excUser.c', missing and no known rule to make it
     + (optionalString (lib.versionAtLeast qtCompatVersion "5.11") ''
       substituteInPlace src/3rdparty/chromium/third_party/crashpad/crashpad/util/BUILD.gn \
         --replace '$sysroot/usr' "${darwin.xnu}"
     '')
     + ''
-
-    cat <<EOF > src/3rdparty/chromium/build/mac/find_sdk.py
-#!/usr/bin/env python
-print("${darwin.apple_sdk.sdk}")
-print("10.12.0")
-EOF
-
-    cat <<EOF > src/3rdparty/chromium/build/config/mac/sdk_info.py
-#!/usr/bin/env python
-print('xcode_version="0910"')
-print('xcode_version_int=910')
-print('xcode_build="9B55"')
-print('machine_os_build="17E199"')
-print('sdk_path=""')
-print('sdk_version="10.10"')
-print('sdk_platform_path=""')
-print('sdk_build="17B41"')
-EOF
-
     # Apple has some secret stuff they don't share with OpenBSM
     substituteInPlace src/3rdparty/chromium/base/mac/mach_port_broker.mm \
       --replace "audit_token_to_pid(msg.trailer.msgh_audit)" "msg.trailer.msgh_audit.val[5]"
@@ -111,8 +112,8 @@ EOF
     # TODO: investigate and fix properly
     "-march=westmere"
   ] ++ lib.optionals stdenv.isDarwin [
-    "-DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_10"
-    "-DMAC_OS_X_VERSION_MIN_REQUIRED=MAC_OS_X_VERSION_10_10"
+    "-DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_12"
+    "-DMAC_OS_X_VERSION_MIN_REQUIRED=MAC_OS_X_VERSION_10_12"
 
     #
     # Prevent errors like
@@ -189,6 +190,7 @@ EOF
     CoreWLAN
     Quartz
     Cocoa
+    LocalAuthentication
 
     openbsm
     libunwind
@@ -197,6 +199,21 @@ EOF
   buildInputs = optionals stdenv.isDarwin (with darwin; [
     cups
 
+    # `sw_vers` is used by `src/3rdparty/chromium/build/config/mac/sdk_info.py`
+    # to get some information about the host platform.
+    (writeScriptBin "sw_vers" ''
+      #!${stdenv.shell}
+
+      while [ $# -gt 0 ]; do
+        case "$1" in
+          -buildVersion) echo "17E199";;
+        *) break ;;
+
+        esac
+        shift
+      done
+    '')
+
     # For sandbox.h include
     (runCommand "MacOS_SDK_sandbox.h" {} ''
       install -Dm444 "${lib.getDev darwin.apple_sdk.sdk}"/include/sandbox.h "$out"/include/sandbox.h
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebkit.nix b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
index 1133623483af..b31e57f38065 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
@@ -71,5 +71,8 @@ qtModule {
   # Hack to avoid TMPDIR in RPATHs.
   preFixup = ''rm -rf "$(pwd)" && mkdir "$(pwd)" '';
 
-  meta.maintainers = with stdenv.lib.maintainers; [ abbradar periklis ];
+  meta = {
+    broken = lib.versionAtLeast qtbase.version "5.15";
+    maintainers = with stdenv.lib.maintainers; [ abbradar periklis ];
+  };
 }
diff --git a/nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum-qt4/default.nix b/nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum-qt4/default.nix
index f17165b5ed34..2120c6938571 100644
--- a/nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum-qt4/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum-qt4/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qtstyleplugin-kvantum-qt4";
-  version = "0.15.2";
+  version = "0.15.3";
 
   src = fetchFromGitHub {
     owner = "tsujan";
     repo = "Kvantum";
     rev = "V${version}";
-    sha256 = "0cv0lxyi2sr0k7f03rsh1j28avdxd0l0480jsa95ca3d2lq392g3";
+    sha256 = "0jq3y63c36nr2rprg7im9ik112p5zvhj46vzgxfbnpvskmg0cchm";
   };
 
   nativeBuildInputs = [ qmake4Hook ];
diff --git a/nixpkgs/pkgs/development/libraries/qtstyleplugins/default.nix b/nixpkgs/pkgs/development/libraries/qtstyleplugins/default.nix
index ac5755f7c3d9..1970dd183c1c 100644
--- a/nixpkgs/pkgs/development/libraries/qtstyleplugins/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qtstyleplugins/default.nix
@@ -10,6 +10,8 @@ mkDerivation {
     sha256 = "085wyn85nrmzr8nv5zv7fi2kqf8rp1gnd30h72s30j55xvhmxvmy";
   };
 
+  patches = [ ./fix-build-against-Qt-5.15.patch ];
+
   nativeBuildInputs = [ pkgconfig qmake ];
   buildInputs = [ gtk2 ];
 
diff --git a/nixpkgs/pkgs/development/libraries/qtstyleplugins/fix-build-against-Qt-5.15.patch b/nixpkgs/pkgs/development/libraries/qtstyleplugins/fix-build-against-Qt-5.15.patch
new file mode 100644
index 000000000000..7eb744158204
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qtstyleplugins/fix-build-against-Qt-5.15.patch
@@ -0,0 +1,44 @@
+From 335dbece103e2cbf6c7cf819ab6672c2956b17b3 Mon Sep 17 00:00:00 2001
+From: Fabian Vogt <fvogt@suse.de>
+Date: Thu, 28 May 2020 12:35:42 +0200
+Subject: [PATCH] fix build against Qt 5.15
+
+With 0a93db4d82c051164923a10e4382b12de9049b45 ("Unify application
+palette handling between QGuiApplication and QApplication")
+QApplicationPrivate::setSystemPalette is no longer used and necessary.
+---
+ src/plugins/styles/gtk2/qgtkstyle.cpp   | 2 ++
+ src/plugins/styles/gtk2/qgtkstyle_p.cpp | 2 ++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/src/plugins/styles/gtk2/qgtkstyle.cpp b/src/plugins/styles/gtk2/qgtkstyle.cpp
+index 36169c9..2544593 100644
+--- a/src/plugins/styles/gtk2/qgtkstyle.cpp
++++ b/src/plugins/styles/gtk2/qgtkstyle.cpp
+@@ -440,7 +440,9 @@ void QGtkStyle::polish(QApplication *app)
+     // not supported as these should be entirely determined by
+     // current Gtk settings
+     if (app->desktopSettingsAware() && d->isThemeAvailable()) {
++#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
+         QApplicationPrivate::setSystemPalette(standardPalette());
++#endif
+         QApplicationPrivate::setSystemFont(d->getThemeFont());
+         d->applyCustomPaletteHash();
+         if (!d->isKDE4Session())
+diff --git a/src/plugins/styles/gtk2/qgtkstyle_p.cpp b/src/plugins/styles/gtk2/qgtkstyle_p.cpp
+index e57b3d8..e71beb0 100644
+--- a/src/plugins/styles/gtk2/qgtkstyle_p.cpp
++++ b/src/plugins/styles/gtk2/qgtkstyle_p.cpp
+@@ -508,7 +508,9 @@ void QGtkStyleUpdateScheduler::updateTheme()
+       if (oldTheme != QGtkStylePrivate::getThemeName()) {
+           oldTheme = QGtkStylePrivate::getThemeName();
+           QPalette newPalette = qApp->style()->standardPalette();
++#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
+           QApplicationPrivate::setSystemPalette(newPalette);
++#endif
+           QApplication::setPalette(newPalette);
+           if (!QGtkStylePrivate::instances.isEmpty()) {
+               QGtkStylePrivate::instances.last()->initGtkWidgets();
+-- 
+2.26.2
+
diff --git a/nixpkgs/pkgs/development/libraries/quazip/default.nix b/nixpkgs/pkgs/development/libraries/quazip/default.nix
index 4ca3be7fe797..c399298b8f86 100644
--- a/nixpkgs/pkgs/development/libraries/quazip/default.nix
+++ b/nixpkgs/pkgs/development/libraries/quazip/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "quazip";
-  version = "0.9";
+  version = "0.9.1";
 
   src = fetchFromGitHub {
     owner = "stachenov";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0psvf3d9akyyx3bckc9325nmbp97xiagf8la4vhca5xn2f430fbn";
+    sha256 = "11icgwv2xyxhd1hm1add51xv54zwkcqkg85d1xqlgiigvbm196iq";
   };
 
   buildInputs = [ zlib qtbase ];
diff --git a/nixpkgs/pkgs/development/libraries/qwt/6.nix b/nixpkgs/pkgs/development/libraries/qwt/6.nix
index 54af3f3084a9..1a29bb90fbb4 100644
--- a/nixpkgs/pkgs/development/libraries/qwt/6.nix
+++ b/nixpkgs/pkgs/development/libraries/qwt/6.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, qtbase, qtsvg, qttools, qmake }:
 
 stdenv.mkDerivation rec {
-  name = "qwt-6.1.4";
+  name = "qwt-6.1.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/qwt/${name}.tar.bz2";
-    sha256 = "1navkcnmn0qz8kzsyqmk32d929zl72l0b580w1ica7z5559j2a8m";
+    sha256 = "0hf0mpca248xlqn7xnzkfj8drf19gdyg5syzklvq8pibxiixwxj0";
   };
 
   propagatedBuildInputs = [ qtbase qtsvg qttools ];
diff --git a/nixpkgs/pkgs/development/libraries/qwt/6_qt4.nix b/nixpkgs/pkgs/development/libraries/qwt/6_qt4.nix
index 04bc0d7ed22e..4b7aa9cf7f98 100644
--- a/nixpkgs/pkgs/development/libraries/qwt/6_qt4.nix
+++ b/nixpkgs/pkgs/development/libraries/qwt/6_qt4.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, qt4, qmake4Hook, AGL }:
 
 stdenv.mkDerivation rec {
-  name = "qwt-6.1.4";
+  name = "qwt-6.1.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/qwt/${name}.tar.bz2";
-    sha256 = "1navkcnmn0qz8kzsyqmk32d929zl72l0b580w1ica7z5559j2a8m";
+    sha256 = "0hf0mpca248xlqn7xnzkfj8drf19gdyg5syzklvq8pibxiixwxj0";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/raft-canonical/default.nix b/nixpkgs/pkgs/development/libraries/raft-canonical/default.nix
index ed3d7ae9e701..68c4a95d0b68 100644
--- a/nixpkgs/pkgs/development/libraries/raft-canonical/default.nix
+++ b/nixpkgs/pkgs/development/libraries/raft-canonical/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "raft-canonical";
-  version = "0.9.18";
+  version = "0.9.23";
 
   src = fetchFromGitHub {
     owner = "canonical";
     repo = "raft";
     rev = "v${version}";
-    sha256 = "0f613aiyxqskz9d10f7r37ar9ngqsf9qsyk3jjf7s5l14wh6vl5k";
+    sha256 = "0swn95cf11fqczllmxr0nj3ig532rw4n3w6g3ckdnqka8520xjyr";
   };
 
   nativeBuildInputs = [ autoreconfHook file pkgconfig ];
@@ -18,13 +18,7 @@ stdenv.mkDerivation rec {
     substituteInPlace configure --replace /usr/bin/ " "
   '';
 
-  # test fails
-  #
-  #append/finalizeSegment                                      [ ERROR ]
-  #Error: test/integration/test_uv_append.c:264: assertion failed: test_dir_has_file(f->dir, "0000000000000001-0000000000000004") is not true
-  #Error: child killed by signal 6 (Aborted)
-
-  doCheck = false;
+  doCheck = true;
 
   outputs = [ "dev" "out" ];
 
diff --git a/nixpkgs/pkgs/development/libraries/randomx/default.nix b/nixpkgs/pkgs/development/libraries/randomx/default.nix
index 5b0c2b8a6578..6de7ecdfef36 100644
--- a/nixpkgs/pkgs/development/libraries/randomx/default.nix
+++ b/nixpkgs/pkgs/development/libraries/randomx/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "randomX";
-  version = "1.1.7";
+  version = "1.1.8";
 
   nativeBuildInputs = [ cmake ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner = "tevador";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1d42dw4zrd7mzfqs6gwk27jj6lsh6pwv85p1ckx9dxy8mw3m52ah";
+    sha256 = "13h2cw8drq7xn3v8fbpxrlsl8zq3fs8gd2pc1pv28ahr9qqjz1gc";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/libraries/rang/default.nix b/nixpkgs/pkgs/development/libraries/rang/default.nix
new file mode 100644
index 000000000000..b3d300baca2e
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/rang/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchFromGitHub, cmake }:
+stdenv.mkDerivation rec {
+  pname = "rang";
+  version = "v3.1.0";
+  src = fetchFromGitHub {
+    "owner" = "agauniyal";
+    repo = "rang";
+    "rev" = "cabe04d6d6b05356fa8f9741704924788f0dd762";
+    "sha256" = "0v2pz0l2smagr3j4abjccshg4agaccfz79m5ayvrvqq5d4rlds0s";
+  };
+  nativeBuildInputs = [ cmake ];
+  meta = with stdenv.lib; {
+    description =
+      "A Minimal, Header only Modern c++ library for terminal goodies";
+    homepage = "https://agauniyal.github.io/rang/";
+    license = licenses.unlicense;
+    maintainers = [ maintainers.HaoZeke ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/range-v3/default.nix b/nixpkgs/pkgs/development/libraries/range-v3/default.nix
index 024b67721cae..a583239b52e0 100644
--- a/nixpkgs/pkgs/development/libraries/range-v3/default.nix
+++ b/nixpkgs/pkgs/development/libraries/range-v3/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "range-v3";
-  version = "0.10.0";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "ericniebler";
     repo = "range-v3";
     rev = version;
-    sha256 = "1h9h5j7pdi0afpip9ncq76h1xjhvb8bnm585q17afz2l4fydy8qj";
+    sha256 = "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Experimental range library for C++11/14/17";
     homepage = "https://github.com/ericniebler/range-v3";
+    changelog = "https://github.com/ericniebler/range-v3/releases/tag/${version}";
     license = licenses.boost;
     platforms = platforms.all;
     maintainers = with maintainers; [ primeos xwvvvvwx ];
diff --git a/nixpkgs/pkgs/development/libraries/rdkafka/default.nix b/nixpkgs/pkgs/development/libraries/rdkafka/default.nix
index 7539d45627f1..308fadbdfd8e 100644
--- a/nixpkgs/pkgs/development/libraries/rdkafka/default.nix
+++ b/nixpkgs/pkgs/development/libraries/rdkafka/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rdkafka";
-  version = "1.4.2";
+  version = "1.4.4";
 
   src = fetchFromGitHub {
     owner = "edenhill";
     repo = "librdkafka";
     rev = "v${version}";
-    sha256 = "05mgrdzacn9kdpr68r5j0cvsvl54s52glnsc1ww9rcxx6p7hq1ly";
+    sha256 = "0y4m29wyvhhxb7fap9z07zwgcqlr4ifwynf8a7yp5ldjpzfzxpix";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/readosm/default.nix b/nixpkgs/pkgs/development/libraries/readosm/default.nix
index 8bf3200e295b..6aed49d65e35 100644
--- a/nixpkgs/pkgs/development/libraries/readosm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/readosm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, expat, zlib, geos, libspatialite }:
 
 stdenv.mkDerivation rec {
-  name = "readosm-1.1.0";
+  name = "readosm-1.1.0a";
 
   src = fetchurl {
     url = "https://www.gaia-gis.it/gaia-sins/readosm-sources/${name}.tar.gz";
-    sha256 = "1v20pnda67imjd70fn0zw30aar525xicy3d3v49md5cvqklws265";
+    sha256 = "0igif2bxf4dr82glxz9gyx5mmni0r2dsnx9p9k6pxv3c4lfhaz6v";
   };
 
   buildInputs = [ expat zlib geos libspatialite ];
diff --git a/nixpkgs/pkgs/development/libraries/redkite/default.nix b/nixpkgs/pkgs/development/libraries/redkite/default.nix
new file mode 100644
index 000000000000..be6bf0d7fa0a
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/redkite/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitLab, cmake, cairo }:
+
+stdenv.mkDerivation rec {
+  pname = "redkite";
+  version = "1.0.3";
+
+  src = fetchFromGitLab {
+    owner = "iurie-sw";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1m2db7c791fi33snkjwnvlxapmf879g5r8azlkx7sr6vp2s0jq2k";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ cairo ];
+
+  meta = {
+    homepage = "https://gitlab.com/iurie-sw/redkite";
+    description = "A small GUI toolkit";
+    license = stdenv.lib.licenses.gpl3Plus;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.magnetophon ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/relibc/default.nix b/nixpkgs/pkgs/development/libraries/relibc/default.nix
index a1787ce24bb5..43e02fc87586 100644
--- a/nixpkgs/pkgs/development/libraries/relibc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/relibc/default.nix
@@ -1,27 +1,72 @@
-{ stdenvNoCC, buildPackages, fetchurl }:
+{ stdenvNoCC, buildPackages, makeRustPlatform }:
 
-stdenvNoCC.mkDerivation {
-  name = "binary-relibc-latest";
+let
+  rpath = stdenvNoCC.lib.makeLibraryPath [
+    buildPackages.stdenv.cc.libc
+    "$out"
+  ];
+  bootstrapCrossRust = stdenvNoCC.mkDerivation {
+    name = "binary-redox-rust";
+    
+    src = fetchTarball {
+      name = "redox-rust-toolchain-bin.tar.gz";
+      url = "https://www.dropbox.com/s/33r92en0t47l1ei/redox-rust-toolchain-bin.tar.gz?dl=1";
+      sha256 = "1g17qp2q6b88p04yclkw6amm374pqlakrmw9kd86vw8z4g70jkxm";
+    };
 
-  # snapshot of https://static.redox-os.org/toolchain/x86_64-unknown-redox/relibc-install.tar.gz
-  src = fetchurl {
-    name = "relibc-install.tar.gz";
-    url = "https://gateway.pinata.cloud/ipfs/QmNp6fPTjPA6LnCYvW1UmbAHcPpU7tqZhstfSpSXMJCRwp";
-    sha256 = "1hjdzrj67jdag3pm8h2dqh6xipbfxr6f4navdra6q1h83gl7jkd9";
+    dontBuild = true;
+    dontPatchELF = true;
+    dontStrip = true;
+    installPhase = ''
+      mkdir $out/
+      cp -r * $out/
+
+      find $out/ -executable -type f -exec patchelf \
+          --set-interpreter "${buildPackages.stdenv.cc.libc}/lib/ld-linux-x86-64.so.2" \
+          --set-rpath "${rpath}" \
+          "{}" \;
+      find $out/ -name "*.so" -type f -exec patchelf \
+          --set-rpath "${rpath}" \
+          "{}" \;
+    '';
+
+    meta.platforms = with stdenvNoCC.lib; platforms.redox ++ platforms.linux;
+  };
+
+  redoxRustPlatform = buildPackages.makeRustPlatform {
+    rustc = bootstrapCrossRust;
+    cargo = bootstrapCrossRust;
   };
 
-  # to avoid "unpacker produced multiple directories"
-  unpackPhase = "unpackFile $src";
+in
+redoxRustPlatform.buildRustPackage rec {
+  pname = "relibc";
+  version = "latest";
+
+  LD_LIBRARY_PATH = "${buildPackages.zlib}/lib";
 
-  dontBuild = true;
-  dontPatchELF = true;
-  dontStrip = true;
-  installPhase = ''
-    mkdir $out/
-    cp -r x86_64-unknown-redox/* $out/
-    rm -rf $out/bin
+  src = buildPackages.fetchgit {
+    url = "https://gitlab.redox-os.org/redox-os/relibc/";
+    rev = "5af8e3ca35ad401014a867ac1a0cc3b08dee682b";
+    sha256 = "1j4wsga9psl453031izkl3clkvm31d1wg4y8f3yqqvhml2aliws5";
+    fetchSubmodules = true;
+  };
+
+  RUSTC_BOOTSTRAP = 1;
+
+  dontInstall = true;
+  dontFixup = true;
+  doCheck = false;
+
+  postBuild = ''
+    mkdir -p $out
+    DESTDIR=$out make install
   '';
 
+  TARGET = buildPackages.rust.toRustTarget stdenvNoCC.targetPlatform;
+
+  cargoSha256 = "1fzz7ba3ga57x1cbdrcfrdwwjr70nh4skrpxp4j2gak2c3scj6rz";
+
   meta = with stdenvNoCC.lib; {
     homepage = "https://gitlab.redox-os.org/redox-os/relibc";
     description = "C Library in Rust for Redox and Linux";
diff --git a/nixpkgs/pkgs/development/libraries/rlottie/default.nix b/nixpkgs/pkgs/development/libraries/rlottie/default.nix
new file mode 100644
index 000000000000..a77c851ebca4
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/rlottie/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, meson, ninja, pkg-config }:
+
+stdenv.mkDerivation rec {
+  pname = "rlottie";
+  version = "0.1";
+
+  src = fetchFromGitHub {
+    owner = "Samsung";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-8KQ0ZnVg5rTb44IYnn02WBSe2SA5UGUOSLEdmmscUDs=";
+  };
+
+  nativeBuildInputs = [ meson ninja pkg-config ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/Samsung/rlottie";
+    description = "A platform independent standalone c++ library for rendering vector based animations and art in realtime.";
+    license = licenses.unfree; # Mixed, see https://github.com/Samsung/rlottie/blob/master/COPYING
+    platforms = platforms.all;
+    maintainers = with maintainers; [ CRTified ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/rnnoise-plugin/default.nix b/nixpkgs/pkgs/development/libraries/rnnoise-plugin/default.nix
new file mode 100644
index 000000000000..efc8857e235e
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/rnnoise-plugin/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, SDL2, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  pname = "rnnoise-plugin";
+  version = "0.9";
+
+  src = fetchFromGitHub {
+    owner = "werman";
+    repo = "noise-suppression-for-voice";
+    rev = "v${version}";
+    sha256 = "18bq5b50xw3d4r1ildinafpg3isb9y216430h4mm9wr3ir7h76a7";
+  };
+
+  buildInputs = [ cmake ];
+
+  cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ];
+
+  meta = with stdenv.lib; {
+    description = "A real-time noise suppression plugin for voice based on Xiph's RNNoise";
+    homepage = "https://github.com/werman/noise-suppression-for-voice";
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ panaeon ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/robin-map/default.nix b/nixpkgs/pkgs/development/libraries/robin-map/default.nix
index 10b7510468ee..9c0774f925bc 100644
--- a/nixpkgs/pkgs/development/libraries/robin-map/default.nix
+++ b/nixpkgs/pkgs/development/libraries/robin-map/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "robin-map";
-  version = "0.6.2";
+  version = "0.6.3";
 
   src = fetchFromGitHub {
     owner = "Tessil";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0y532zg0aaqz3fpv785n2drwpnryaclr53drpqimnbf3cs0jw997";
+    sha256 = "1li70vwsksva9c4yly90hjafgqfixi1g6d52qq9p6r60vqc4pkjj";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/rocclr/default.nix b/nixpkgs/pkgs/development/libraries/rocclr/default.nix
new file mode 100644
index 000000000000..2034b658dc7f
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/rocclr/default.nix
@@ -0,0 +1,64 @@
+{ stdenv
+, fetchFromGitHub
+, cmake
+, rocm-cmake
+, clang
+, rocm-comgr
+, rocm-opencl-runtime
+, rocm-runtime
+, rocm-thunk
+, libelf
+, libglvnd
+, libX11
+, numactl
+}:
+
+stdenv.mkDerivation rec {
+  pname = "rocclr";
+  version = "3.8.0";
+
+  src = fetchFromGitHub {
+    owner = "ROCm-Developer-Tools";
+    repo = "ROCclr";
+    rev = "rocm-${version}";
+    sha256 = "05vh70qh6jb7038b1rcmz24bg4an0nw98bv2vn3jcyygj4dr3fmf";
+  };
+
+  nativeBuildInputs = [ cmake rocm-cmake ];
+
+  buildInputs = [ clang rocm-comgr rocm-runtime rocm-thunk ];
+
+  propagatedBuildInputs = [ libelf libglvnd libX11 numactl ];
+
+  prePatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace 'set(ROCCLR_EXPORTS_FILE "''${CMAKE_CURRENT_BINARY_DIR}/amdrocclr_staticTargets.cmake")' \
+        'set(ROCCLR_EXPORTS_FILE "''${CMAKE_INSTALL_LIBDIR}/cmake/amdrocclr_staticTargets.cmake")' \
+      --replace 'set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ''${CMAKE_CURRENT_BINARY_DIR}/lib)' \
+        'set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ''${CMAKE_INSTALL_LIBDIR})' \
+      --replace 'find_library( OpenCL REQUIRED' 'find_library( OpenCL'
+    substituteInPlace device/comgrctx.cpp \
+      --replace "libamd_comgr.so" "${rocm-comgr}/lib/libamd_comgr.so"
+  '';
+
+  cmakeFlags = [
+    "-DOPENCL_DIR=${rocm-opencl-runtime.src}"
+  ];
+
+  preFixup = ''
+    ln -s $out/include/compiler/lib/include/* $out/include
+    substituteInPlace $out/lib/cmake/rocclr/ROCclrConfig.cmake \
+      --replace "/build/source/build" "$out"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Radeon Open Compute common language runtime";
+    homepage = "https://github.com/ROCm-Developer-Tools/ROCclr";
+    license = licenses.mit;
+    maintainers = with maintainers; [ danieldk ];
+    # rocclr seems to have some AArch64 ifdefs, but does not seem
+    # to be supported yet by the build infrastructure. Recheck in
+    # the future.
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/rocksdb/default.nix b/nixpkgs/pkgs/development/libraries/rocksdb/default.nix
index 6606f57bc4b1..9bc3770f21e0 100644
--- a/nixpkgs/pkgs/development/libraries/rocksdb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/rocksdb/default.nix
@@ -1,42 +1,49 @@
-{ stdenv, fetchFromGitHub, fetchpatch
-, cmake, ninja
-, bzip2, lz4, snappy, zlib, zstd
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, cmake
+, ninja
+, bzip2
+, lz4
+, snappy
+, zlib
+, zstd
 , enableLite ? false
 }:
 
 stdenv.mkDerivation rec {
   pname = "rocksdb";
-  version = "6.4.6";
+  version = "6.10.2";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0s0n4p1b4jzmslz9d2xd4ajra0m6l9x26mjwlbgw0klxjggmy8qn";
+    sha256 = "1f2wqb6px812ijcivq3rsknqgkv01wblc6sd8wavhrw8qljgr3s1";
   };
 
   nativeBuildInputs = [ cmake ninja ];
+
   buildInputs = [ bzip2 lz4 snappy zlib zstd ];
 
   patches = [
-    # https://github.com/facebook/rocksdb/pull/6076
+    # Without this change private dependencies are exported.
+    # Can be removed after the next release.
+    # https://github.com/facebook/rocksdb/pull/6790
     (fetchpatch {
-      url = "https://github.com/facebook/rocksdb/commit/c0be4b2ff1a5393419673fab961cb9b09ba38752.diff";
-      sha256 = "1f2wg9kqlmf2hiiihmbp8m5fr2wnn7896g6i9yg9hdgi40pw30w6";
+      url = "https://github.com/facebook/rocksdb/commit/07204837ce8d66e1e6e4893178f3fd040f9c1044.patch";
+      sha256 = "17097ybkhy0i089zzkpvcj65c7g5skvjvdzi1k09x4i1d719wm39";
     })
   ];
 
-  postPatch = ''
-    substituteInPlace CMakeLists.txt --replace "find_package(zlib " "find_package(ZLIB "
-  '';
-
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isGNU "-Wno-error=deprecated-copy -Wno-error=pessimizing-move";
 
   cmakeFlags = [
     "-DPORTABLE=1"
     "-DWITH_JEMALLOC=0"
     "-DWITH_JNI=0"
-    "-DWITH_TESTS=0"
+    "-DWITH_BENCHMARK_TOOLS=0"
+    "-DWITH_TESTS=1"
     "-DWITH_TOOLS=0"
     "-DWITH_BZ2=1"
     "-DWITH_LZ4=1"
diff --git a/nixpkgs/pkgs/development/libraries/rocm-comgr/default.nix b/nixpkgs/pkgs/development/libraries/rocm-comgr/default.nix
new file mode 100644
index 000000000000..916af5434996
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/rocm-comgr/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchFromGitHub, cmake, clang, device-libs, lld, llvm }:
+
+stdenv.mkDerivation rec {
+  pname = "rocm-comgr";
+  version = "3.8.0";
+
+  src = fetchFromGitHub {
+    owner = "RadeonOpenCompute";
+    repo = "ROCm-CompilerSupport";
+    rev = "rocm-${version}";
+    sha256 = "05gs282kqnz7lf3b8r1908zk05dbzdx02ar2ns2900fas1l27qc1";
+  };
+
+  sourceRoot = "source/lib/comgr";
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ clang device-libs lld llvm ];
+
+  cmakeFlags = [
+    "-DCLANG=${clang}/bin/clang"
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DCMAKE_C_COMPILER=${clang}/bin/clang"
+    "-DCMAKE_CXX_COMPILER=${clang}/bin/clang++"
+    "-DCMAKE_PREFIX_PATH=${llvm}/lib/cmake/llvm"
+    "-DLLD_INCLUDE_DIRS=${lld.src}/include"
+    "-DLLVM_TARGETS_TO_BUILD=\"AMDGPU;X86\""
+  ];
+
+  # The comgr build tends to link against the static LLVM libraries
+  # *and* the dynamic library. Linking against both causes errors
+  # about command line options being registered twice. This patch
+  # removes the static library linking.
+  patchPhase = ''
+    sed -e '/^llvm_map_components_to_libnames/,/[[:space:]]*Symbolize)/d' \
+        -i CMakeLists.txt
+  '';
+
+  meta = with stdenv.lib; {
+    description = "APIs for compiling and inspecting AMDGPU code objects";
+    homepage = "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/tree/amd-stg-open/lib/comgr";
+    license = licenses.ncsa;
+    maintainers = with maintainers; [ danieldk ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/rocm-device-libs/default.nix b/nixpkgs/pkgs/development/libraries/rocm-device-libs/default.nix
new file mode 100644
index 000000000000..bf302ff227c5
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/rocm-device-libs/default.nix
@@ -0,0 +1,40 @@
+{ stdenv
+, fetchFromGitHub
+, cmake
+, clang
+, clang-unwrapped
+, lld
+, llvm
+}:
+
+stdenv.mkDerivation rec {
+  pname = "rocm-device-libs";
+  version = "3.8.0";
+
+  src = fetchFromGitHub {
+    owner = "RadeonOpenCompute";
+    repo = "ROCm-Device-Libs";
+    rev = "rocm-${version}";
+    sha256 = "0kgsp22rbg09q09n36j1vfs9v8x0liap3ycnqyn1g7dxy38kqmi4";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  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'"
+    "-DCLANG=${clang}/bin/clang"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Set of AMD-specific device-side language runtime libraries";
+    homepage = "https://github.com/RadeonOpenCompute/ROCm-Device-Libs";
+    license = licenses.ncsa;
+    maintainers = with maintainers; [ danieldk ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/rocm-opencl-icd/default.nix b/nixpkgs/pkgs/development/libraries/rocm-opencl-icd/default.nix
new file mode 100644
index 000000000000..5f2188f6e7e6
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/rocm-opencl-icd/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, rocm-opencl-runtime }:
+
+stdenv.mkDerivation rec {
+  pname = "rocm-opencl-icd";
+  version = rocm-opencl-runtime.version;
+
+  dontUnpack = true;
+
+  installPhase = ''
+    mkdir -p $out/etc/OpenCL/vendors
+    echo "${rocm-opencl-runtime}/lib/libamdocl64.so" > $out/etc/OpenCL/vendors/amdocl64.icd
+  '';
+
+  meta = with stdenv.lib; {
+    description = "OpenCL ICD definition for AMD GPUs using the ROCm stack";
+    license = licenses.mit;
+    maintainers = with maintainers; [ danieldk ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/rocm-opencl-runtime/default.nix b/nixpkgs/pkgs/development/libraries/rocm-opencl-runtime/default.nix
new file mode 100644
index 000000000000..6504ae100434
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/rocm-opencl-runtime/default.nix
@@ -0,0 +1,83 @@
+{ stdenv
+, fetchFromGitHub
+, addOpenGLRunpath
+, cmake
+, rocm-cmake
+, clang
+, clang-unwrapped
+, glew
+, libglvnd
+, libX11
+, lld
+, llvm
+, mesa
+, python2
+, rocclr
+, rocm-comgr
+, rocm-device-libs
+, rocm-runtime
+, rocm-thunk
+}:
+
+stdenv.mkDerivation rec {
+  pname = "rocm-opencl-runtime";
+  version = "3.8.0";
+
+  src = fetchFromGitHub {
+    owner = "RadeonOpenCompute";
+    repo = "ROCm-OpenCL-Runtime";
+    rev = "rocm-${version}";
+    sha256 = "07zc6ww92nsq1z0gcp1sfhqsk0jkrjnv9cnw5akh471f7n7jiznm";
+  };
+
+  nativeBuildInputs = [ cmake rocm-cmake ];
+
+  buildInputs = [
+    clang
+    clang-unwrapped
+    glew
+    libglvnd
+    libX11
+    lld
+    llvm
+    mesa
+    python2
+    rocclr
+    rocm-comgr
+    rocm-device-libs
+    rocm-runtime
+    rocm-thunk
+  ];
+
+  cmakeFlags = [
+    "-DAMDGPU_TARGET_TRIPLE='amdgcn-amd-amdhsa'"
+    "-DCLANG_OPTIONS_APPEND=-Wno-bitwise-conditional-parentheses"
+    "-DClang_DIR=${clang-unwrapped}/lib/cmake/clang"
+    "-DLIBROCclr_STATIC_DIR=${rocclr}/lib/cmake"
+    "-DLLVM_DIR=${llvm.out}/lib/cmake/llvm"
+    "-DUSE_COMGR_LIBRARY='yes'"
+  ];
+
+  dontStrip = true;
+
+  # Remove clinfo, which is already provided through the
+  # `clinfo` package.
+  postInstall = ''
+    rm -rf $out/bin
+  '';
+
+  # Fix the ICD installation path for NixOS
+  postPatch = ''
+    substituteInPlace khronos/icd/loader/linux/icd_linux.c \
+      --replace 'ICD_VENDOR_PATH' '"${addOpenGLRunpath.driverLink}/etc/OpenCL/vendors/"'
+    echo 'add_dependencies(amdocl64 OpenCL)' >> amdocl/CMakeLists.txt
+  '';
+
+  meta = with stdenv.lib; {
+    description = "OpenCL runtime for AMD GPUs, part of the ROCm stack";
+    homepage = "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime";
+    license = with licenses; [ asl20 mit ];
+    maintainers = with maintainers; [ danieldk ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/rocm-runtime/default.nix b/nixpkgs/pkgs/development/libraries/rocm-runtime/default.nix
new file mode 100644
index 000000000000..57635a3470cb
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/rocm-runtime/default.nix
@@ -0,0 +1,48 @@
+{ stdenv
+, fetchFromGitHub
+, addOpenGLRunpath
+, clang-unwrapped
+, cmake
+, xxd
+, elfutils
+, llvm
+, rocm-device-libs
+, rocm-thunk }:
+
+stdenv.mkDerivation rec {
+  pname = "rocm-runtime";
+  version = "3.8.0";
+
+  src = fetchFromGitHub {
+    owner = "RadeonOpenCompute";
+    repo = "ROCR-Runtime";
+    rev = "rocm-${version}";
+    sha256 = "1lm4cbx1d727zll85vjc1kykc72mk82nfhyyhjljv82gd4mnz00c";
+  };
+
+  sourceRoot = "source/src";
+
+  nativeBuildInputs = [ cmake xxd ];
+
+  buildInputs = [ clang-unwrapped elfutils llvm ];
+
+  cmakeFlags = [
+   "-DBITCODE_DIR=${rocm-device-libs}/lib"
+   "-DCMAKE_PREFIX_PATH=${rocm-thunk}"
+  ];
+
+  postPatch = ''
+    patchShebangs image/blit_src/create_hsaco_ascii_file.sh
+  '';
+
+  fixupPhase = ''
+    rm -rf $out/hsa
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Platform runtime for ROCm";
+    homepage = "https://github.com/RadeonOpenCompute/ROCR-Runtime";
+    license = with licenses; [ ncsa ];
+    maintainers = with maintainers; [ danieldk ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/rocm-thunk/default.nix b/nixpkgs/pkgs/development/libraries/rocm-thunk/default.nix
new file mode 100644
index 000000000000..ba780ae4bd6b
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/rocm-thunk/default.nix
@@ -0,0 +1,37 @@
+{ stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, numactl
+}:
+
+stdenv.mkDerivation rec {
+  pname = "rocm-thunk";
+  version = "3.8.0";
+
+  src = fetchFromGitHub {
+    owner = "RadeonOpenCompute";
+    repo = "ROCT-Thunk-Interface";
+    rev = "rocm-${version}";
+    sha256 = "00xrwxndah2frdggqniz1j4s46ha3dav8qlnxm3gk9m4b80m774k";
+  };
+
+  preConfigure = ''
+    export cmakeFlags="$cmakeFlags "
+  '';
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [ numactl ];
+
+  postInstall = ''
+    cp -r $src/include $out
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Radeon open compute thunk interface";
+    homepage = "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface";
+    license = with licenses; [ bsd2 mit ];
+    maintainers = with maintainers; [ danieldk ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/science/biology/nifticlib/default.nix b/nixpkgs/pkgs/development/libraries/science/biology/nifticlib/default.nix
index 37055259e7c8..572c31dd1e52 100644
--- a/nixpkgs/pkgs/development/libraries/science/biology/nifticlib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/biology/nifticlib/default.nix
@@ -1,22 +1,30 @@
-{ stdenv, fetchurl, cmake, zlib }:
+{ stdenv, fetchFromGitHub, cmake, zlib }:
 
 stdenv.mkDerivation rec {
-  pname    = "nifticlib";
-  pversion = "2.0.0";
-  name  = "${pname}-${pversion}";
+  pname = "nifticlib";
+  version = "3.0.1";
 
-  src = fetchurl {
-    url    = "mirror://sourceforge/project/niftilib/${pname}/${pname}_2_0_0/${name}.tar.gz";
-    sha256 = "123z9bwzgin5y8gi5ni8j217k7n683whjsvg0lrpii9flgk8isd3";
+  src = fetchFromGitHub {
+    owner = "NIFTI-Imaging";
+    repo = "nifti_clib";
+    rev = "v${version}";
+    sha256 = "0hamm6nvbjdjjd5md4jahzvn5559frigxaiybnjkh59ckxwb1hy4";
   };
 
+  cmakeFlags = [ "-DDOWNLOAD_TEST_DATA=OFF" ];
+
   nativeBuildInputs = [ cmake ];
   buildInputs = [ zlib ];
 
-  doCheck = false; # fails 7 out of 293 tests
+  checkPhase = ''
+    runHook preCheck
+    ctest -LE 'NEEDS_DATA'
+    runHook postCheck
+  '';
+  doCheck = true;
 
   meta = with stdenv.lib; {
-    homepage = "https://sourceforge.net/projects/niftilib";
+    homepage = "https://nifti-imaging.github.io";
     description = "Medical imaging format C API";
     maintainers = with maintainers; [ bcdarwin ];
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/development/libraries/science/math/amd-blis/default.nix b/nixpkgs/pkgs/development/libraries/science/math/amd-blis/default.nix
new file mode 100644
index 000000000000..9bddba0261fe
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/science/math/amd-blis/default.nix
@@ -0,0 +1,67 @@
+{ stdenv
+, fetchFromGitHub
+, perl
+, python3
+
+# Enable BLAS interface with 64-bit integer width.
+, blas64 ? false
+
+# Target architecture, use "zen" or "zen2", optimization for Zen and
+# other families is pretty much mutually exclusive in the AMD fork of
+# BLIS.
+, withArchitecture ? "zen"
+
+# Enable OpenMP-based threading.
+, withOpenMP ? true
+}:
+
+let
+  threadingSuffix = if withOpenMP then "-mt" else "";
+  blasIntSize = if blas64 then "64" else "32";
+in stdenv.mkDerivation rec {
+  pname = "amd-blis";
+  version = "2.2";
+
+  src = fetchFromGitHub {
+    owner = "amd";
+    repo = "blis";
+    rev = version;
+    sha256 = "1b2f5bwi0gkw2ih2rb7wfzn3m9hgg7k270kg43rmzpr2acpy86xa";
+  };
+
+  inherit blas64;
+
+  nativeBuildInputs = [
+    perl
+    python3
+  ];
+
+  doCheck = true;
+
+  enableParallelBuilding = true;
+
+  configureFlags = [
+    "--enable-cblas"
+    "--blas-int-size=${blasIntSize}"
+  ] ++ stdenv.lib.optionals withOpenMP [ "--enable-threading=openmp" ]
+    ++ [ withArchitecture ];
+
+  postPatch = ''
+    patchShebangs configure build/flatten-headers.py
+  '';
+
+  postInstall = ''
+    ln -s $out/lib/libblis${threadingSuffix}.so.2 $out/lib/libblas.so.3
+    ln -s $out/lib/libblis${threadingSuffix}.so.2 $out/lib/libcblas.so.3
+    ln -s $out/lib/libblas.so.3 $out/lib/libblas.so
+    ln -s $out/lib/libcblas.so.3 $out/lib/libcblas.so
+  '';
+
+  meta = with stdenv.lib; {
+    description = "BLAS-compatible library optimized for AMD CPUs";
+    homepage = "https://developer.amd.com/amd-aocl/blas-library/";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.danieldk ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/science/math/amd-libflame/add-lapacke.diff b/nixpkgs/pkgs/development/libraries/science/math/amd-libflame/add-lapacke.diff
new file mode 100644
index 000000000000..3e3ef1e60ff5
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/science/math/amd-libflame/add-lapacke.diff
@@ -0,0 +1,34 @@
+diff --git a/Makefile b/Makefile
+index 5549ce30..ac2ee51e 100644
+--- a/Makefile
++++ b/Makefile
+@@ -583,14 +583,14 @@ endif
+ 
+ # --- Shared library linker rules ---
+ 
+-$(LIBFLAME_SO_PATH): $(MK_ALL_FLAMEC_OBJS)
++$(LIBFLAME_SO_PATH): $(MK_ALL_FLAMEC_OBJS) $(LAPACKE_A_PATH)
+ ifeq ($(ENABLE_VERBOSE),yes)
+ ifeq ($(FLA_ENABLE_MAX_ARG_LIST_HACK),yes)
+ 	$(CAT) $(AR_OBJ_LIST_FILE) | xargs -n$(AR_CHUNK_SIZE) $(AR) $(ARFLAGS) $(LIBFLAME_A)
+ ifeq ($(OS_NAME),Darwin)
+-	$(LINKER) $(SOFLAGS) -o $@ -Wl,-force_load,$(LIBFLAME_A) $(LDFLAGS)
++	$(LINKER) $(SOFLAGS) -o $@ -Wl,-force_load,$(LIBFLAME_A),$(LAPACKE_A_PATH) $(LDFLAGS)
+ else
+-	$(LINKER) $(SOFLAGS) -o $@ -Wl,--whole-archive,$(LIBFLAME_A),--no-whole-archive $(LDFLAGS)
++	$(LINKER) $(SOFLAGS) -o $@ -Wl,--whole-archive,$(LIBFLAME_A),$(LAPACKE_A_PATH)--no-whole-archive $(LDFLAGS)
+ endif
+ else
+ #	NOTE: Can't use $^ automatic variable as long as $(AR_OBJ_LIST_FILE) is in
+@@ -602,9 +602,9 @@ else
+ ifeq ($(FLA_ENABLE_MAX_ARG_LIST_HACK),yes)
+ 	@$(CAT) $(AR_OBJ_LIST_FILE) | xargs -n$(AR_CHUNK_SIZE) $(AR) $(ARFLAGS) $(LIBFLAME_A)
+ ifeq ($(OS_NAME),Darwin)
+-	@$(LINKER) $(SOFLAGS) -o $@ -Wl,-force_load,$(LIBFLAME_A) $(LDFLAGS)
++	@$(LINKER) $(SOFLAGS) -o $@ -Wl,-force_load,$(LIBFLAME_A),$(LAPACKE_A_PATH) $(LDFLAGS)
+ else
+-	@$(LINKER) $(SOFLAGS) -o $@ -Wl,--whole-archive,$(LIBFLAME_A),--no-whole-archive $(LDFLAGS)
++	@$(LINKER) $(SOFLAGS) -o $@ -Wl,--whole-archive,$(LIBFLAME_A),$(LAPACKE_A_PATH),--no-whole-archive $(LDFLAGS)
+ endif
+ else
+ #	NOTE: Can't use $^ automatic variable as long as $(AR_OBJ_LIST_FILE) is in
diff --git a/nixpkgs/pkgs/development/libraries/science/math/amd-libflame/default.nix b/nixpkgs/pkgs/development/libraries/science/math/amd-libflame/default.nix
new file mode 100644
index 000000000000..1e331bca695c
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/science/math/amd-libflame/default.nix
@@ -0,0 +1,72 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, gfortran
+, python3
+, amd-blis
+
+, withOpenMP ? true
+}:
+
+stdenv.mkDerivation rec {
+  pname = "amd-libflame";
+  version = "2.2";
+
+  src = fetchFromGitHub {
+    owner = "amd";
+    repo = "libflame";
+    rev = version;
+    sha256 = "1s8zvq6p843jb52lrbxra7vv0wzmifs4j36z9bp7wf3xr20a0zi5";
+  };
+
+  patches = [
+    # The LAPACKE interface is compiled as a separate static library,
+    # we want the main dynamic library to provide LAPACKE symbols.
+    # This patch adds lapacke.a to the shared library as well.
+    ./add-lapacke.diff
+  ];
+
+  nativeBuildInputs = [ gfortran python3 ];
+
+  buildInputs = [ amd-blis ];
+
+  configureFlags = [
+    # Build a dynamic library with a LAPACK interface.
+    "--disable-static-build"
+    "--enable-dynamic-build"
+    "--enable-lapack2flame"
+
+    # Use C BLAS interface.
+    "--enable-cblas-interfaces"
+
+    # Avoid overloading maximum number of arguments.
+    "--enable-max-arg-list-hack"
+
+    # libflame by default leaves BLAS symbols unresolved and leaves it
+    # up to the application to explicitly link to a BLAS. This is
+    # problematic for us, since then the BLAS library becomes an
+    # implicit dependency. Moreover, since the point of the AMD forks
+    # is to optimized for recent AMD CPUs, link against AMD BLIS.
+    "LDFLAGS=-lcblas"
+  ]
+  ++ lib.optionals withOpenMP [ "--enable-multithreading=openmp" ];
+
+  enableParallelBuilding = true;
+
+  postPatch = ''
+    patchShebangs build
+  '';
+
+  postInstall = ''
+    ln -s $out/lib/libflame.so.${version} $out/lib/liblapack.so.3
+    ln -s $out/lib/libflame.so.${version} $out/lib/liblapacke.so.3
+  '';
+
+  meta = with stdenv.lib; {
+    description = "LAPACK-compatible linear algebra library optimized for AMD CPUs";
+    homepage = "https://developer.amd.com/amd-aocl/blas-library/";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ danieldk ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/science/math/arpack/default.nix b/nixpkgs/pkgs/development/libraries/science/math/arpack/default.nix
index 0829557d0f3d..02d51f0c419b 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/arpack/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/arpack/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
   ];
 
   preCheck = if stdenv.isDarwin then ''
-    export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH''${DYLD_LIBRARY_PATH:+:}`pwd`/lib
+    export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH''${DYLD_LIBRARY_PATH:+:}`pwd`/lib:${blas}/lib:${lapack}/lib
   '' else ''
     export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}`pwd`/lib
   '' + ''
diff --git a/nixpkgs/pkgs/development/libraries/science/math/blis/default.nix b/nixpkgs/pkgs/development/libraries/science/math/blis/default.nix
new file mode 100644
index 000000000000..42ba4f25204e
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/science/math/blis/default.nix
@@ -0,0 +1,64 @@
+{ stdenv
+, fetchFromGitHub
+, perl
+, python3
+
+# Enable BLAS interface with 64-bit integer width.
+, blas64 ? false
+
+# Target architecture. x86_64 builds Intel and AMD kernels.
+, withArchitecture ? "x86_64"
+
+# Enable OpenMP-based threading.
+, withOpenMP ? true
+}:
+
+let
+  blasIntSize = if blas64 then "64" else "32";
+in stdenv.mkDerivation rec {
+  pname = "blis";
+  version = "0.7.0";
+
+  src = fetchFromGitHub {
+    owner = "flame";
+    repo = "blis";
+    rev = version;
+    sha256 = "13g9kg7x8j9icg4frdq3wpl2cmp0jnh93mw48daa7ym399w17423";
+  };
+
+  inherit blas64;
+
+  nativeBuildInputs = [
+    perl
+    python3
+  ];
+
+  doCheck = true;
+
+  enableParallelBuilding = true;
+
+  configureFlags = [
+    "--enable-cblas"
+    "--blas-int-size=${blasIntSize}"
+  ] ++ stdenv.lib.optionals withOpenMP [ "--enable-threading=openmp" ]
+    ++ [ withArchitecture ];
+
+  postPatch = ''
+    patchShebangs configure build/flatten-headers.py
+  '';
+
+  postInstall = ''
+    ln -s $out/lib/libblis.so.3 $out/lib/libblas.so.3
+    ln -s $out/lib/libblis.so.3 $out/lib/libcblas.so.3
+    ln -s $out/lib/libblas.so.3 $out/lib/libblas.so
+    ln -s $out/lib/libcblas.so.3 $out/lib/libcblas.so
+  '';
+
+  meta = with stdenv.lib; {
+    description = "BLAS-compatible linear algebra library";
+    homepage = "https://github.com/flame/blis";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.danieldk ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/science/math/cliquer/default.nix b/nixpkgs/pkgs/development/libraries/science/math/cliquer/default.nix
index c473fcedde3a..e56952abcb28 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/cliquer/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/cliquer/default.nix
@@ -4,7 +4,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.21";
+  version = "1.22";
   pname = "cliquer";
 
   # autotoolized version of the original cliquer
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     owner = "dimpase";
     repo = "autocliquer";
     rev = "v${version}";
-    sha256 = "180i4qj1a25qfp75ig2d3144xfpb1dgcgpha0iqqghd7di4awg7z";
+    sha256 = "00gcmrhi2fjn8b246w5a3b0pl7p6haxy5wjvd9kcqib1xanz59z4";
   };
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/development/libraries/science/math/cudnn/default.nix b/nixpkgs/pkgs/development/libraries/science/math/cudnn/default.nix
index 765d634a91f9..9495366eaaa8 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/cudnn/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/cudnn/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, cudatoolkit_7, cudatoolkit_7_5, cudatoolkit_8, cudatoolkit_9_0, cudatoolkit_9_1, cudatoolkit_9_2, cudatoolkit_10_0, cudatoolkit_10_1, cudatoolkit_10_2 }:
+{ callPackage, cudatoolkit_7, cudatoolkit_7_5, cudatoolkit_8, cudatoolkit_9_0, cudatoolkit_9_1, cudatoolkit_9_2, cudatoolkit_10_0, cudatoolkit_10_1, cudatoolkit_10_2, cudatoolkit_11_0 }:
 
 let
   generic = args: callPackage (import ./generic.nix (removeAttrs args ["cudatoolkit"])) {
@@ -80,4 +80,13 @@ in rec {
   };
 
   cudnn_cudatoolkit_10 = cudnn_cudatoolkit_10_1;
+
+  cudnn_cudatoolkit_11_0 = generic rec {
+    version = "8.0.2";
+    cudatoolkit = cudatoolkit_11_0;
+    srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v8.0.2.39.tgz";
+    sha256 = "0ib3v3bgcdxarqapkxngw1nwl0c2a7zz392ns7w9ipcficl4cbv7";
+  };
+
+  cudnn_cudatoolkit_11 = cudnn_cudatoolkit_11_0;
 }
diff --git a/nixpkgs/pkgs/development/libraries/science/math/cudnn/generic.nix b/nixpkgs/pkgs/development/libraries/science/math/cudnn/generic.nix
index 5a17e807bd43..e727218c0555 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/cudnn/generic.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/cudnn/generic.nix
@@ -37,7 +37,15 @@ stdenv.mkDerivation {
   # Set RUNPATH so that libcuda in /run/opengl-driver(-32)/lib can be found.
   # See the explanation in addOpenGLRunpath.
   postFixup = ''
-    addOpenGLRunpath $out/lib/lib*.so
+    for lib in $out/lib/lib*.so; do
+      # patchelf fails on libcudnn_cnn_infer due to it being too big.
+      # Most programs will still get the RPATH since they link to
+      # other things.
+      # (https://github.com/NixOS/patchelf/issues/222)
+      if [ "$(basename $lib)" != libcudnn_cnn_infer.so ]; then
+        addOpenGLRunpath $lib
+      fi
+    done
   '';
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/science/math/itpp/default.nix b/nixpkgs/pkgs/development/libraries/science/math/itpp/default.nix
new file mode 100644
index 000000000000..d7fae9ae4799
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/science/math/itpp/default.nix
@@ -0,0 +1,55 @@
+{ stdenv
+, fetchurl
+, cmake
+, gtest
+, blas
+, fftw
+, liblapack
+, gfortran
+}:
+
+stdenv.mkDerivation rec {
+  pname = "it++";
+  version = "4.3.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/itpp/itpp-${version}.tar.bz2";
+    sha256 = "0xxqag9wi0lg78xgw7b40rp6wxqp5grqlbs9z0ifvdfzqlhpcwah";
+  };
+
+  nativeBuildInputs = [ cmake gfortran ];
+  buildInputs = [
+    fftw
+    liblapack
+
+    # NOTE: OpenBLAS doesn't work here because IT++ doesn't pass aligned
+    # buffers, which causes segfaults in the optimized kernels :-(
+    blas
+  ];
+
+  cmakeFlags = [
+    "-DBLAS_FOUND:BOOL=TRUE"
+    "-DBLAS_LIBRARIES:STRING=${blas}/lib/libblas.so"
+    "-DLAPACK_FOUND:BOOL=TRUE"
+    "-DLAPACK_LIBRARIES:STRING=${liblapack}/lib/liblapack.so"
+    "-DGTEST_DIR:PATH=${gtest.src}/googletest"
+  ];
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+
+  checkPhase = ''
+    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD/itpp
+    export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH''${DYLD_LIBRARY_PATH:+:}$PWD/itpp
+    ./gtests/itpp_gtests
+  '';
+
+  meta = with stdenv.lib; {
+    description = "IT++ is a C++ library of mathematical, signal processing and communication classes and functions.";
+    homepage = http://itpp.sourceforge.net/;
+    license = licenses.gpl3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ andrew-d ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/science/math/libtorch/bin.nix b/nixpkgs/pkgs/development/libraries/science/math/libtorch/bin.nix
new file mode 100644
index 000000000000..3ae462705868
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/science/math/libtorch/bin.nix
@@ -0,0 +1,111 @@
+{ callPackage
+, stdenv
+, fetchzip
+, lib
+
+, addOpenGLRunpath
+, patchelf
+, fixDarwinDylibNames
+
+, cudaSupport
+, nvidia_x11
+}:
+
+let
+  version = "1.6.0";
+  device = if cudaSupport then "cuda" else "cpu";
+  srcs = import ./binary-hashes.nix;
+  unavailable = throw "libtorch is not available for this platform";
+in stdenv.mkDerivation {
+  inherit version;
+  pname = "libtorch";
+
+  src = fetchzip srcs."${stdenv.targetPlatform.system}-${device}" or unavailable;
+
+  nativeBuildInputs =
+    if stdenv.isDarwin then [ fixDarwinDylibNames ]
+    else [ addOpenGLRunpath patchelf ]
+      ++ stdenv.lib.optionals cudaSupport [ addOpenGLRunpath ];
+
+  buildInputs = [
+    stdenv.cc.cc
+  ] ++ lib.optionals cudaSupport [ nvidia_x11 ];
+
+  dontBuild = true;
+  dontConfigure = true;
+  dontStrip = true;
+
+  installPhase = ''
+    # Copy headers and CMake files.
+    install -Dm755 -t $dev/lib lib/*.a
+    cp -r include $dev
+    cp -r share $dev
+
+    install -Dm755 -t $out/lib lib/*${stdenv.hostPlatform.extensions.sharedLibrary}*
+
+    # We do not care about Java support...
+    rm -f $out/lib/lib*jni* 2> /dev/null || true
+  '';
+
+  postFixup = let
+    libPaths = [ stdenv.cc.cc.lib ]
+      ++ stdenv.lib.optionals cudaSupport [ nvidia_x11 ];
+    rpath = stdenv.lib.makeLibraryPath libPaths;
+  in stdenv.lib.optionalString stdenv.isLinux ''
+    find $out/lib -type f \( -name '*.so' -or -name '*.so.*' \) | while read lib; do
+      echo "setting rpath for $lib..."
+      patchelf --set-rpath "${rpath}:$out/lib" "$lib"
+      ${lib.optionalString cudaSupport ''
+        addOpenGLRunpath "$lib"
+      ''}
+    done
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    install_name_tool -change @rpath/libshm.dylib $out/lib/libshm.dylib $out/lib/libtorch_python.dylib
+    install_name_tool -change @rpath/libc10.dylib $out/lib/libc10.dylib $out/lib/libtorch_python.dylib
+    install_name_tool -change @rpath/libiomp5.dylib $out/lib/libiomp5.dylib $out/lib/libtorch_python.dylib
+    install_name_tool -change @rpath/libtorch.dylib $out/lib/libtorch.dylib $out/lib/libtorch_python.dylib
+    install_name_tool -change @rpath/libtorch_cpu.dylib $out/lib/libtorch_cpu.dylib $out/lib/libtorch_python.dylib
+
+    install_name_tool -change @rpath/libc10.dylib $out/lib/libc10.dylib $out/lib/libtorch.dylib
+    install_name_tool -change @rpath/libiomp5.dylib $out/lib/libiomp5.dylib $out/lib/libtorch.dylib
+    install_name_tool -change @rpath/libtorch_cpu.dylib $out/lib/libtorch_cpu.dylib $out/lib/libtorch.dylib
+
+    install_name_tool -change @rpath/libc10.dylib $out/lib/libc10.dylib $out/lib/libtorch_cpu.dylib
+    install_name_tool -change @rpath/libiomp5.dylib $out/lib/libiomp5.dylib $out/lib/libtorch_cpu.dylib
+    install_name_tool -change @rpath/libtensorpipe.dylib $out/lib/libtensorpipe.dylib $out/lib/libtorch_cpu.dylib
+
+    install_name_tool -change @rpath/libc10.dylib $out/lib/libc10.dylib $out/lib/libcaffe2_observers.dylib
+    install_name_tool -change @rpath/libiomp5.dylib $out/lib/libiomp5.dylib $out/lib/libcaffe2_observers.dylib
+    install_name_tool -change @rpath/libtorch.dylib $out/lib/libtorch.dylib $out/lib/libcaffe2_observers.dylib
+    install_name_tool -change @rpath/libtorch_cpu.dylib $out/lib/libtorch_cpu.dylib $out/lib/libcaffe2_observers.dylib
+
+    install_name_tool -change @rpath/libc10.dylib $out/lib/libc10.dylib $out/lib/libcaffe2_module_test_dynamic.dylib
+    install_name_tool -change @rpath/libiomp5.dylib $out/lib/libiomp5.dylib $out/lib/libcaffe2_module_test_dynamic.dylib
+    install_name_tool -change @rpath/libtorch.dylib $out/lib/libtorch.dylib $out/lib/libcaffe2_module_test_dynamic.dylib
+    install_name_tool -change @rpath/libtorch_cpu.dylib $out/lib/libtorch_cpu.dylib $out/lib/libcaffe2_module_test_dynamic.dylib
+
+    install_name_tool -change @rpath/libc10.dylib $out/lib/libc10.dylib $out/lib/libcaffe2_detectron_ops.dylib
+    install_name_tool -change @rpath/libiomp5.dylib $out/lib/libiomp5.dylib $out/lib/libcaffe2_detectron_ops.dylib
+    install_name_tool -change @rpath/libtorch.dylib $out/lib/libtorch.dylib $out/lib/libcaffe2_detectron_ops.dylib
+    install_name_tool -change @rpath/libtorch_cpu.dylib $out/lib/libtorch_cpu.dylib $out/lib/libcaffe2_detectron_ops.dylib
+
+    install_name_tool -change @rpath/libc10.dylib $out/lib/libc10.dylib $out/lib/libshm.dylib
+    install_name_tool -change @rpath/libiomp5.dylib $out/lib/libiomp5.dylib $out/lib/libshm.dylib
+    install_name_tool -change @rpath/libtorch.dylib $out/lib/libtorch.dylib $out/lib/libshm.dylib
+    install_name_tool -change @rpath/libtorch_cpu.dylib $out/lib/libtorch_cpu.dylib $out/lib/libshm.dylib
+
+    install_name_tool -change @rpath/libiomp5.dylib $out/lib/libiomp5.dylib $out/lib/libtorch_global_deps.dylib
+    install_name_tool -change @rpath/libtorch_cpu.dylib $out/lib/libtorch_cpu.dylib $out/lib/libtorch_global_deps.dylib
+  '';
+
+  outputs = [ "out" "dev" ];
+
+  passthru.tests = callPackage ./test { };
+
+  meta = with stdenv.lib; {
+    description = "C++ API of the PyTorch machine learning framework";
+    homepage = "https://pytorch.org/";
+    license = licenses.unfree; # Includes CUDA and Intel MKL.
+    platforms = with platforms; linux ++ darwin;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/science/math/libtorch/binary-hashes.nix b/nixpkgs/pkgs/development/libraries/science/math/libtorch/binary-hashes.nix
new file mode 100644
index 000000000000..92a2e05e0ba3
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/science/math/libtorch/binary-hashes.nix
@@ -0,0 +1,14 @@
+{
+  x86_64-darwin-cpu = {
+    url = "https://download.pytorch.org/libtorch/cpu/libtorch-macos-1.6.0.zip";
+    sha256 = "0d4n7la31qzl4s9pwvm07la7q6lhcwiww0yjpfz3kw6nvx84p22r";
+  };
+  x86_64-linux-cpu = {
+    url = "https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-1.6.0%2Bcpu.zip";
+    sha256 = "1975b4zvyihzh89vnwspw0vf9qr05sxj8939vcrlmv3gzvdspcxz";
+  };
+  x86_64-linux-cuda = {
+    url = "https://download.pytorch.org/libtorch/cu102/libtorch-cxx11-abi-shared-with-deps-1.6.0.zip";
+    sha256 = "127qnfyi1faqbm40sbnsyqxjhrqj82bzwqyz7c1hs2bm0zgrrpya";
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/science/math/libtorch/test/CMakeLists.txt b/nixpkgs/pkgs/development/libraries/science/math/libtorch/test/CMakeLists.txt
new file mode 100644
index 000000000000..b302449ef772
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/science/math/libtorch/test/CMakeLists.txt
@@ -0,0 +1,4 @@
+find_package(Torch REQUIRED)
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TORCH_CXX_FLAGS}")
+add_executable(test test.cpp)
+target_link_libraries(test "${TORCH_LIBRARIES}")
diff --git a/nixpkgs/pkgs/development/libraries/science/math/libtorch/test/default.nix b/nixpkgs/pkgs/development/libraries/science/math/libtorch/test/default.nix
new file mode 100644
index 000000000000..d661ec28db98
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/science/math/libtorch/test/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, cmake, libtorch-bin, symlinkJoin }:
+
+stdenv.mkDerivation {
+  pname = "libtorch-test";
+  version = libtorch-bin.version;
+
+  src = ./.;
+
+  postPatch = ''
+    cat CMakeLists.txt
+  '';
+
+  makeFlags = [ "VERBOSE=1" ];
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ libtorch-bin ];
+
+  installPhase = ''
+    touch $out
+  '';
+
+  checkPhase = ''
+    ./test
+  '';
+}
diff --git a/nixpkgs/pkgs/development/libraries/science/math/libtorch/test/test.cpp b/nixpkgs/pkgs/development/libraries/science/math/libtorch/test/test.cpp
new file mode 100644
index 000000000000..5537724ce5f6
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/science/math/libtorch/test/test.cpp
@@ -0,0 +1,7 @@
+#include <torch/torch.h>
+#include <iostream>
+
+int main() {
+  torch::Tensor tensor = torch::eye(3);
+  std::cout << tensor << std::endl;
+}
diff --git a/nixpkgs/pkgs/development/libraries/science/math/magma/default.nix b/nixpkgs/pkgs/development/libraries/science/math/magma/default.nix
index dbe162c60b34..2079ace021b6 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/magma/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/magma/default.nix
@@ -1,19 +1,21 @@
-{ stdenv, fetchurl, cmake, gfortran, cudatoolkit, libpthreadstubs, lapack, blas }:
+{ stdenv, fetchurl, cmake, gfortran, ninja, cudatoolkit, libpthreadstubs, lapack, blas }:
 
 with stdenv.lib;
 
-let version = "2.5.0";
+let version = "2.5.3";
 
 in stdenv.mkDerivation {
   pname = "magma";
   inherit version;
   src = fetchurl {
     url = "https://icl.cs.utk.edu/projectsfiles/magma/downloads/magma-${version}.tar.gz";
-    sha256 = "0czspk93cv1fy37zyrrc9k306q4yzfxkhy1y4lj937dx8rz5rm2g";
+    sha256 = "1xjy3irdx0w1zyhvn4x47zni5fwsh6z97xd4yqldz8zrm5lx40n6";
     name = "magma-${version}.tar.gz";
   };
 
-  buildInputs = [ gfortran cudatoolkit libpthreadstubs cmake lapack blas ];
+  nativeBuildInputs = [ gfortran cmake ninja ];
+
+  buildInputs = [ cudatoolkit libpthreadstubs lapack blas ];
 
   doCheck = false;
 
@@ -32,7 +34,7 @@ in stdenv.mkDerivation {
     mkdir -p $out/lib/pkgconfig
     cp -a ../include/*.h $out/include
     #cp -a sparse-iter/include/*.h $out/include
-    cp -a lib/*.a $out/lib
+    cp -a lib/*.so $out/lib
     cat ../lib/pkgconfig/magma.pc.in                   | \
     sed -e s:@INSTALL_PREFIX@:"$out":          | \
     sed -e s:@CFLAGS@:"-I$out/include":    | \
@@ -48,4 +50,6 @@ in stdenv.mkDerivation {
     platforms = platforms.unix;
     maintainers = with maintainers; [ tbenst ];
   };
+
+  passthru.cudatoolkit = cudatoolkit;
 }
diff --git a/nixpkgs/pkgs/development/libraries/science/math/mkl/default.nix b/nixpkgs/pkgs/development/libraries/science/math/mkl/default.nix
index 19f988d965c4..2be3baed4497 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/mkl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/mkl/default.nix
@@ -19,14 +19,18 @@ let
   # Darwin is pinned to 2019.3 because the DMG does not unpack; see here for details:
   # https://github.com/matthewbauer/undmg/issues/4
   year = if stdenvNoCC.isDarwin then "2019" else "2020";
-  spot = if stdenvNoCC.isDarwin then "3" else "1";
-  rel = if stdenvNoCC.isDarwin then "199" else "217";
+  spot = if stdenvNoCC.isDarwin then "3" else "3";
+  rel = if stdenvNoCC.isDarwin then "199" else "279";
+
+  # Replace `openmpSpot` by `spot` after 2020.3. Release 2020.03
+  # adresses performance regressions and does not update OpenMP.
+  openmpSpot = if stdenvNoCC.isDarwin then spot else "2";
 
   rpm-ver = "${year}.${spot}-${rel}-${year}.${spot}-${rel}";
 
   # Intel openmp uses its own versioning, but shares the spot release patch.
   openmp = if stdenvNoCC.isDarwin then "19.0" else "19.1";
-  openmp-ver = "${openmp}.${spot}-${rel}-${openmp}.${spot}-${rel}";
+  openmp-ver = "${openmp}.${openmpSpot}-${rel}-${openmp}.${openmpSpot}-${rel}";
 
   shlibExt = stdenvNoCC.hostPlatform.extensions.sharedLibrary;
 
@@ -42,8 +46,8 @@ in stdenvNoCC.mkDerivation {
       })
     else
       (fetchurl {
-        url = "https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16533/l_mkl_${version}.tgz";
-        sha256 = "0v86hrqg15mbc78m9qk8dbkaaq3mlwashgbf9n79kxpl1gilnah8";
+        url = "https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16903/l_mkl_${version}.tgz";
+        sha256 = "013shn3c823bjfssq4jyl3na5lbzj99s09ds608ljqllri7473ib";
       });
 
   nativeBuildInputs = [ validatePkgConfig ] ++ (if stdenvNoCC.isDarwin
diff --git a/nixpkgs/pkgs/development/libraries/science/math/nccl/default.nix b/nixpkgs/pkgs/development/libraries/science/math/nccl/default.nix
index 5f38d45fc4d8..eb194c0e9e47 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/nccl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/nccl/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "nccl-${version}-cuda-${cudatoolkit.majorVersion}";
-  version = "2.4.8-1";
+  version = "2.7.8-1";
 
   src = fetchFromGitHub {
     owner = "NVIDIA";
     repo = "nccl";
     rev = "v${version}";
-    sha256 = "05m66y64rgsdyybvjybhy6clikwv438b1m484ikai78fb2b7mvyq";
+    sha256 = "0xxiwaw239dc9g015fka3k1nvm5zyl00dzgxnwzkang61dys9wln";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/development/libraries/science/math/openblas/default.nix b/nixpkgs/pkgs/development/libraries/science/math/openblas/default.nix
index 318922d7f25d..89d88bdf564a 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/openblas/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/openblas/default.nix
@@ -99,12 +99,12 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "openblas";
-  version = "0.3.9";
+  version = "0.3.10";
   src = fetchFromGitHub {
     owner = "xianyi";
     repo = "OpenBLAS";
     rev = "v${version}";
-    sha256 = "0nq51j45shb32n6086xff3x374kx5qhr2cwjzvppx4s2z0ahflal";
+    sha256 = "174id98ga82bhz2v7sy9yj6pqy0h0088p3mkdikip69p9rh3d17b";
   };
 
   inherit blas64;
diff --git a/nixpkgs/pkgs/development/libraries/science/math/openlibm/default.nix b/nixpkgs/pkgs/development/libraries/science/math/openlibm/default.nix
index 7517ca9c6cb5..560f39e4e99a 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/openlibm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/openlibm/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "openlibm";
-  version = "0.7.0";
+  version = "0.7.1";
   src = fetchurl {
     url = "https://github.com/JuliaLang/openlibm/archive/v${version}.tar.gz";
-    sha256 = "18q6mrq4agvlpvhix2k13qcyvqqzh30vj7b329dva64035rzg68n";
+    sha256 = "0yg8sfibr38hpb4s5ri7i0ivp96c7khdwhlxngjiymvl3jvm5cnl";
   };
 
   makeFlags = [ "prefix=$(out)" ];
diff --git a/nixpkgs/pkgs/development/libraries/science/math/or-tools/default.nix b/nixpkgs/pkgs/development/libraries/science/math/or-tools/default.nix
index a69ae5af15f3..926f7ba4789c 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/or-tools/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/or-tools/default.nix
@@ -1,20 +1,16 @@
 { stdenv, fetchFromGitHub, cmake, abseil-cpp, gflags, which
-, lsb-release, glog, protobuf3_11, cbc, zlib
+, lsb-release, glog, protobuf, cbc, zlib
 , ensureNewerSourcesForZipFilesHook, python, swig }:
 
-let
-  protobuf = protobuf3_11;
-  pythonProtobuf = python.pkgs.protobuf.override { inherit protobuf; };
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "or-tools";
-  version = "7.6";
+  version = "7.7";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "or-tools";
     rev = "v${version}";
-    sha256 = "0605q3y7vh7x7m9azrbkx44blq12zrab6v28b9wmpcn1lmykbw1b";
+    sha256 = "06ig9a1afmzgzcg817y0rdq49ahll0q9y7bhhg9d89x6zy959ypv";
   };
 
   # The original build system uses cmake which does things like pull
@@ -33,7 +29,7 @@ in stdenv.mkDerivation rec {
 
   makeFlags = [
     "prefix=${placeholder "out"}"
-    "PROTOBUF_PYTHON_DESC=${pythonProtobuf}/${python.sitePackages}/google/protobuf/descriptor_pb2.py"
+    "PROTOBUF_PYTHON_DESC=${python.pkgs.protobuf}/${python.sitePackages}/google/protobuf/descriptor_pb2.py"
   ];
   buildFlags = [ "cc" "pypi_archive" ];
 
@@ -54,7 +50,7 @@ in stdenv.mkDerivation rec {
   ];
   propagatedBuildInputs = [
     abseil-cpp gflags glog protobuf cbc
-    pythonProtobuf python.pkgs.six
+    python.pkgs.protobuf python.pkgs.six
   ];
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/libraries/science/math/osqp/default.nix b/nixpkgs/pkgs/development/libraries/science/math/osqp/default.nix
new file mode 100644
index 000000000000..9cd062d21f2f
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/science/math/osqp/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, fetchFromGitHub
+, cmake
+}:
+
+stdenv.mkDerivation rec {
+  pname = "osqp";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner = "oxfordcontrol";
+    repo = "osqp";
+    rev = "v${version}";
+    sha256 = "1gwk1bqsk0rd85zf7xplbwq822y5pnxjmqc14jj6knqbab9afvrs";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with stdenv.lib; {
+    description = "A quadratic programming solver using operator splitting";
+    homepage = "https://osqp.org";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ taktoa ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/science/math/petsc/default.nix b/nixpkgs/pkgs/development/libraries/science/math/petsc/default.nix
index 6eeeda9e9284..82a0d063570d 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/petsc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/petsc/default.nix
@@ -1,28 +1,38 @@
-{ stdenv , fetchurl , blas , gfortran , lapack , python }:
+{ stdenv , darwin , fetchurl , blas , gfortran , lapack , python }:
 
 stdenv.mkDerivation rec {
   pname = "petsc";
-  version = "3.13.1";
+  version = "3.13.4";
 
   src = fetchurl {
     url = "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-${version}.tar.gz";
-    sha256 = "0pr604b9pnryl9q0q5arlhs0xdx7wslca0sbz0pzs9qylmz775qp";
+    sha256 = "1n2paqw5c0ja392s1qhp7q2ypwav8s5drxxz2w5m2cn31vbspy1c";
   };
 
-  nativeBuildInputs = [ blas gfortran.cc.lib lapack python ];
+  nativeBuildInputs = [ blas gfortran gfortran.cc.lib lapack python ];
 
-  prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
+  # Upstream does some hot she-py-bang stuff, this change streamlines that
+  # process. The original script in upstream is both a shell script and a
+  # python script, where the shellscript just finds a suitable python
+  # interpreter to execute the python script. See
+  # https://github.com/NixOS/nixpkgs/pull/89299#discussion_r450203444
+  # for more details.
+  prePatch = ''
+    substituteInPlace configure \
+      --replace /bin/sh /usr/bin/python
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
     substituteInPlace config/install.py \
-      --replace /usr/bin/install_name_tool install_name_tool
+      --replace /usr/bin/install_name_tool ${darwin.cctools}/bin/install_name_tool
   '';
 
   preConfigure = ''
+    export FC="${gfortran}/bin/gfortran" F77="${gfortran}/bin/gfortran"
     patchShebangs .
     configureFlagsArray=(
       $configureFlagsArray
       "--CC=$CC"
       "--with-cxx=$CXX"
-      "--with-fc=0"
+      "--with-fc=$FC"
       "--with-mpi=0"
       "--with-blas-lib=[${blas}/lib/libblas.so,${gfortran.cc.lib}/lib/libgfortran.a]"
       "--with-lapack-lib=[${lapack}/lib/liblapack.so,${gfortran.cc.lib}/lib/libgfortran.a]"
diff --git a/nixpkgs/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix b/nixpkgs/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix
index 5a2c28d3c022..1c910a4f75bb 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix
@@ -6,7 +6,7 @@
 
 stdenv.mkDerivation rec {
   pname = "suitesparse-graphblas";
-  version = "3.2.2";
+  version = "3.3.3";
 
   outputs = [ "out" "dev" ];
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     owner = "DrTimothyAldenDavis";
     repo = "GraphBLAS";
     rev = "v${version}";
-    sha256 = "04hprrgj0f44ml2f0w4jfwgrvy8l2s6ya0c9xc8gwlbmkc7a4c62";
+    sha256 = "1nmygb2yny0mdqp0mc6760gbxklq1jjm0c6s39qkdwzf3n9f8j7p";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/science/math/suitesparse/default.nix b/nixpkgs/pkgs/development/libraries/science/math/suitesparse/default.nix
index f0480e1e2381..d50e065efc61 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/suitesparse/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/suitesparse/default.nix
@@ -57,29 +57,6 @@ stdenv.mkDerivation rec {
     "library"
   ];
 
-  # Likely fixed after 5.7.2
-  # https://github.com/DrTimothyAldenDavis/SuiteSparse/commit/f6daae26ee391e475e2295e77c839aa7c1a8b784
-  postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
-    # The fixDarwinDylibNames in nixpkgs can't seem to fix all the libraries.
-    # We manually fix them up here.
-    fixDarwinDylibNames() {
-        local flags=()
-        local old_id
-
-        for fn in "$@"; do
-            flags+=(-change "$PWD/lib/$(basename "$fn")" "$fn")
-        done
-
-        for fn in "$@"; do
-            if [ -L "$fn" ]; then continue; fi
-            echo "$fn: fixing dylib"
-            install_name_tool -id "$fn" "''${flags[@]}" "$fn"
-        done
-    }
-
-    fixDarwinDylibNames $(find "$out" -name "*.dylib")
-  '';
-
   meta = with stdenv.lib; {
     homepage = "http://faculty.cse.tamu.edu/davis/suitesparse.html";
     description = "A suite of sparse matrix algorithms";
diff --git a/nixpkgs/pkgs/development/libraries/seasocks/default.nix b/nixpkgs/pkgs/development/libraries/seasocks/default.nix
index 144eb56c955f..241046b09fe8 100644
--- a/nixpkgs/pkgs/development/libraries/seasocks/default.nix
+++ b/nixpkgs/pkgs/development/libraries/seasocks/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "seasocks";
-  version = "1.4.3";
+  version = "1.4.4";
 
   src = fetchFromGitHub {
     owner = "mattgodbolt";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1c2gc0k9wgbgn7y7wmq2ylp0gvdbmagc1x8c4jwbsncl1gy6x4g2";
+    sha256 = "1f9a3mx3yjmr5qry4rc1c7mrx3348iifxm7d8sj8yd41kqnzmfv4";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/serd/default.nix b/nixpkgs/pkgs/development/libraries/serd/default.nix
index 6829275e99e4..88fd1ea82d3b 100644
--- a/nixpkgs/pkgs/development/libraries/serd/default.nix
+++ b/nixpkgs/pkgs/development/libraries/serd/default.nix
@@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
     description = "A lightweight C library for RDF syntax which supports reading and writing Turtle and NTriples";
     license = licenses.mit;
     maintainers = [ maintainers.goibhniu ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/serf/default.nix b/nixpkgs/pkgs/development/libraries/serf/default.nix
index 2742ba1577b3..92dde2111fc8 100644
--- a/nixpkgs/pkgs/development/libraries/serf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/serf/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, apr, scons, openssl, aprutil, zlib, kerberos
+{ stdenv, fetchurl, apr, sconsPackages, openssl, aprutil, zlib, kerberos
 , pkgconfig, libiconv }:
 
 stdenv.mkDerivation rec {
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1k47gbgpp52049andr28y28nbwh9m36bbb0g8p0aka3pqlhjv72l";
   };
 
-  nativeBuildInputs = [ pkgconfig scons.py2 ];
+  nativeBuildInputs = [ pkgconfig sconsPackages.scons_3_1_2 ];
   buildInputs = [ apr openssl aprutil zlib libiconv ]
     ++ stdenv.lib.optional (!stdenv.isCygwin) kerberos;
 
diff --git a/nixpkgs/pkgs/development/libraries/serialdv/default.nix b/nixpkgs/pkgs/development/libraries/serialdv/default.nix
index 178cee5e69ac..d711cd9fc80f 100644
--- a/nixpkgs/pkgs/development/libraries/serialdv/default.nix
+++ b/nixpkgs/pkgs/development/libraries/serialdv/default.nix
@@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/f4exb/serialdv";
     platforms = platforms.linux;
     maintainers = with maintainers; [ alkeryn ];
+    license = licenses.gpl3;
   };
 }
 
diff --git a/nixpkgs/pkgs/development/libraries/simgear/default.nix b/nixpkgs/pkgs/development/libraries/simgear/default.nix
index ab4fd2c7bf27..3a7c0b3c410b 100644
--- a/nixpkgs/pkgs/development/libraries/simgear/default.nix
+++ b/nixpkgs/pkgs/development/libraries/simgear/default.nix
@@ -4,7 +4,7 @@
 , curl
 }:
 let
-  version = "2020.1.1";
+  version = "2020.1.3";
   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 = "1z52r28xg05q6hdlh4szzfjlpgkvbdyn2dpaji9b57y58ccrqsfh";
+    sha256 = "1l8kiicm0klbx0b05994vqd8a8wj7k0djbbg41a6i3q5d17jrnk6";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/snap7/default.nix b/nixpkgs/pkgs/development/libraries/snap7/default.nix
new file mode 100644
index 000000000000..3419c4c6c2a6
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/snap7/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, lib, fetchFromGitHub, fetchzip, p7zip }:
+
+stdenv.mkDerivation rec {
+  pname = "snap7";
+  version = "1.4.2";
+
+  src = fetchzip {
+    url = "mirror://sourceforge/snap7/${version}/snap7-full-${version}.7z";
+    sha256 = "1n5gs8bwb6g9vfllf3x12r5yzqzapmlq1bmc6hl854b8vkg30y8c";
+    postFetch = ''
+      ${p7zip}/bin/7z x $downloadedFile
+      mkdir $out
+      cp -r snap7-full-${version}/* $out/
+    '';
+  };
+
+  outputs = [ "out" "dev" "doc" ];
+
+  makefile = "x86_64_linux.mk";
+  makeFlags = [ "LibInstall=$(out)/lib" ];
+
+  preBuild = "cd build/unix";
+  preInstall = ''
+    mkdir -p $out/lib
+    mkdir -p $dev/include
+    mkdir -p $doc/share
+    cp $src/examples/cpp/snap7.h $dev/include
+    cp -r $src/doc $doc/share/
+  '';
+
+  meta = with lib; {
+    homepage = "http://snap7.sourceforge.net/";
+    description = "Step7 Open Source Ethernet Communication Suite";
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ freezeboy ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/soil/default.nix b/nixpkgs/pkgs/development/libraries/soil/default.nix
index 10a60c36987c..cf0896170c17 100644
--- a/nixpkgs/pkgs/development/libraries/soil/default.nix
+++ b/nixpkgs/pkgs/development/libraries/soil/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, unzip, mesa, libX11 }:
+{ stdenv, fetchurl, unzip, mesa, libX11, libGL }:
 
 stdenv.mkDerivation {
   name = "soil";
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
     sha256 = "00gpwp9dldzhsdhksjvmbhsd2ialraqbv6v6dpikdmpncj6mnc52";
   };
 
-  buildInputs = [ unzip mesa libX11 ];
+  buildInputs = [ unzip mesa libGL libX11 ];
 
   sourceRoot = "Simple OpenGL Image Library/projects/makefile";
   preBuild   = "mkdir obj";
diff --git a/nixpkgs/pkgs/development/libraries/sope/default.nix b/nixpkgs/pkgs/development/libraries/sope/default.nix
index 9d0b3bf76b36..2c73ff24df2a 100644
--- a/nixpkgs/pkgs/development/libraries/sope/default.nix
+++ b/nixpkgs/pkgs/development/libraries/sope/default.nix
@@ -1,13 +1,13 @@
 { gnustep, lib, fetchFromGitHub , libxml2, openssl_1_1
 , openldap, mysql, libmysqlclient, postgresql }: with lib; gnustep.stdenv.mkDerivation rec {
   pname = "sope";
-  version = "4.3.2";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "inverse-inc";
     repo = pname;
     rev = "SOPE-${version}";
-    sha256 = "0ny1ihx38gd25w8f3dfybyswvyjfljvb2fhfmkajgg6hhjrkfar2";
+    sha256 = "sha256-7NM9wcyHDSVmjjqu489Ff3iJgl9VM+UBF3XYWoiHHTg=";
   };
 
   nativeBuildInputs = [ gnustep.make ];
diff --git a/nixpkgs/pkgs/development/libraries/soqt/default.nix b/nixpkgs/pkgs/development/libraries/soqt/default.nix
index ff7c670ca0dc..de11407e12b9 100644
--- a/nixpkgs/pkgs/development/libraries/soqt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/soqt/default.nix
@@ -1,26 +1,23 @@
-{ fetchhg, stdenv, coin3d, qt5, cmake, pkgconfig }:
+{ fetchurl, stdenv, coin3d, qtbase, cmake, pkgconfig }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "soqt";
-  version = "1.6.0a";
+  version = "1.6.0";
 
-  src = fetchhg {
-    url = "https://bitbucket.org/Coin3D/soqt";
-    rev = "5f2afb4890e0059eb27e1671f980d10ebfb9e762";
-    sha256 = "0j9lsci4cx95v16l0jaky0vzh4lbdliwz7wc17442ihjaqiqmv8m";
-    fetchSubrepos = true;
+  src = fetchurl {
+    url = "https://github.com/coin3d/soqt/releases/download/SoQt-${version}/soqt-${version}-src.tar.gz";
+    sha256 = "07qfljy286vb7y1p93205zn9sp1lpn0rcrqm5010gj87kzsmllwz";
   };
 
-  buildInputs = [ coin3d qt5.qtbase ];
+  buildInputs = [ coin3d qtbase ];
 
   nativeBuildInputs = [ cmake pkgconfig ];
 
-  meta = {
-    homepage = "https://bitbucket.org/Coin3D/coin/wiki/Home";
-    license = stdenv.lib.licenses.gpl2Plus;
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/coin3d/soqt";
+    license = licenses.bsd3;
     description = "Glue between Coin high-level 3D visualization library and Qt";
-
-    maintainers = [ stdenv.lib.maintainers.viric ];
-    platforms = stdenv.lib.platforms.linux;
+    maintainers = with maintainers; [ gebner viric ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/sord/default.nix b/nixpkgs/pkgs/development/libraries/sord/default.nix
index 5258f4d408b6..eb91ec2986a3 100644
--- a/nixpkgs/pkgs/development/libraries/sord/default.nix
+++ b/nixpkgs/pkgs/development/libraries/sord/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     description = "A lightweight C library for storing RDF data in memory";
     license = licenses.mit;
     maintainers = [ maintainers.goibhniu ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/sparsehash/default.nix b/nixpkgs/pkgs/development/libraries/sparsehash/default.nix
index 6845c616e9c1..6007560a11ff 100644
--- a/nixpkgs/pkgs/development/libraries/sparsehash/default.nix
+++ b/nixpkgs/pkgs/development/libraries/sparsehash/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  name = "sparsehash-2.0.3";
+  name = "sparsehash-2.0.4";
 
   src = fetchFromGitHub {
     owner = "sparsehash";
     repo = "sparsehash";
     rev = name;
-    sha256 = "0m3f0cnpnpf6aak52wn8xbrrdw8p0yhq8csgc8nlvf9zp8c402na";
+    sha256 = "1pf1cjvcjdmb9cd6gcazz64x0cd2ndpwh6ql2hqpypjv725xwxy7";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/libraries/spdk/default.nix b/nixpkgs/pkgs/development/libraries/spdk/default.nix
index e8d4f3eb4e07..1b5abe16f370 100644
--- a/nixpkgs/pkgs/development/libraries/spdk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/spdk/default.nix
@@ -1,24 +1,54 @@
-{ stdenv, fetchFromGitHub, python, cunit, dpdk, libaio, libbsd, libuuid, numactl, openssl }:
+{ stdenv
+, fetchurl
+, fetchFromGitHub
+, fetchpatch
+, ncurses
+, python3
+, cunit
+, dpdk
+, libaio
+, libbsd
+, libuuid
+, numactl
+, openssl
+}:
 
-stdenv.mkDerivation rec {
+let
+  dpdk-compat-patch = fetchurl {
+    url = "https://review.spdk.io/gerrit/plugins/gitiles/spdk/spdk/+/6acb9a58755856fb9316baf9dbbb7239dc6b9446%5E%21/?format=TEXT";
+    sha256 = "18q0956fkjw19r29hp16x4pygkfv01alj9cld2wlqqyfgp41nhn0";
+  };
+in stdenv.mkDerivation rec {
   pname = "spdk";
-  version = "20.01.1";
+  version = "20.04.1";
 
   src = fetchFromGitHub {
     owner = "spdk";
     repo = "spdk";
     rev = "v${version}";
-    sha256 = "1ci0kj0bv5jp5yipa8g0q0ah71qv6pjvvban1ad0v24f7lq4xh0w";
+    sha256 = "ApMyGamPrMalzZLbVkJlcwatiB8dOJmoxesdjkWZElk=";
   };
 
-  patches = [ ./spdk-dpdk-meson.patch ];
+  patches = [
+    ./spdk-dpdk-meson.patch
+    # https://review.spdk.io/gerrit/c/spdk/spdk/+/3134
+    (fetchpatch {
+      url = "https://github.com/spdk/spdk/commit/c954b5b722c5c163774d3598458ff726c48852ab.patch";
+      sha256 = "1n149hva5qxmpr0nmav10nya7zklafxi136f809clv8pag84g698";
+    })
+  ];
 
-  nativeBuildInputs = [ python ];
+  nativeBuildInputs = [
+    python3
+  ];
 
-  buildInputs = [ cunit dpdk libaio libbsd libuuid numactl openssl ];
+  buildInputs = [
+    cunit dpdk libaio libbsd libuuid numactl openssl ncurses
+  ];
 
   postPatch = ''
     patchShebangs .
+    base64 -d ${dpdk-compat-patch} | patch -p1
   '';
 
   configureFlags = [ "--with-dpdk=${dpdk}" ];
diff --git a/nixpkgs/pkgs/development/libraries/spdlog/default.nix b/nixpkgs/pkgs/development/libraries/spdlog/default.nix
index add1dcf10cb0..22266bfd4b01 100644
--- a/nixpkgs/pkgs/development/libraries/spdlog/default.nix
+++ b/nixpkgs/pkgs/development/libraries/spdlog/default.nix
@@ -35,8 +35,8 @@ let
 in
 {
   spdlog_1 = generic {
-    version = "1.6.0";
-    sha256 = "15fn8nd9xj7wrxcg9n4fjffid790qg2m366rx2lq2fc9v9walrxs";
+    version = "1.7.0";
+    sha256 = "1ryaa22ppj60461hcdb8nk7jwj84arp4iw4lyw594py92g4vnx3j";
   };
 
   spdlog_0 = generic {
diff --git a/nixpkgs/pkgs/development/libraries/speechd/default.nix b/nixpkgs/pkgs/development/libraries/speechd/default.nix
index eab6c1d446cd..fbf399cb246e 100644
--- a/nixpkgs/pkgs/development/libraries/speechd/default.nix
+++ b/nixpkgs/pkgs/development/libraries/speechd/default.nix
@@ -39,11 +39,11 @@ let
       throw "You need to enable at least one output module.";
 in stdenv.mkDerivation rec {
   pname = "speech-dispatcher";
-  version = "0.9.1";
+  version = "0.10.1";
 
   src = fetchurl {
     url = "https://github.com/brailcom/speechd/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "16bg52hnkrsrs7kgbzanb34b9zb6fqxwj0a9bmsxmj1skkil1h1p";
+    sha256 = "0j2lfzkmbsxrrgjw6arzvnfd4jn5pxab28xsk2djssr2ydb9x309";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/libraries/sqlite/analyzer.nix b/nixpkgs/pkgs/development/libraries/sqlite/analyzer.nix
index cf8a9aaa7326..d0100edd345b 100644
--- a/nixpkgs/pkgs/development/libraries/sqlite/analyzer.nix
+++ b/nixpkgs/pkgs/development/libraries/sqlite/analyzer.nix
@@ -6,11 +6,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "sqlite-analyzer";
-  version = "3.32.2";
+  version = "3.33.0";
 
   src = assert version == sqlite.version; fetchurl {
     url = "https://sqlite.org/2020/sqlite-src-${archiveVersion version}.zip";
-    sha256 = "1jqhs896cvp9l399mjpbv1x2qbfvq875l1vrgnl3zc4ffdjxs9z0";
+    sha256 = "1f09srlrmcab1sf8j2d89s2kvknlbxk7mbsiwpndw9mall27dgwh";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/nixpkgs/pkgs/development/libraries/sqlite/default.nix b/nixpkgs/pkgs/development/libraries/sqlite/default.nix
index 35d3d062ab78..4393b6314614 100644
--- a/nixpkgs/pkgs/development/libraries/sqlite/default.nix
+++ b/nixpkgs/pkgs/development/libraries/sqlite/default.nix
@@ -10,12 +10,12 @@ in
 
 stdenv.mkDerivation rec {
   pname = "sqlite";
-  version = "3.32.2";
+  version = "3.33.0";
 
-  # NB! Make sure to update analyzer.nix src (in the same directory).
+  # NB! Make sure to update ./tools.nix src (in the same directory).
   src = fetchurl {
     url = "https://sqlite.org/2020/sqlite-autoconf-${archiveVersion version}.tar.gz";
-    sha256 = "1130bcd70s2vlsq0d638pb5qrw9kwqvjswnp2dfypghx9hjz3gid";
+    sha256 = "05dvdfaxd552gj5p7k0i72sfam7lykaw1g2pfn52jnppqx42qshh";
   };
 
   outputs = [ "bin" "dev" "out" ];
diff --git a/nixpkgs/pkgs/development/libraries/sqlite/tools.nix b/nixpkgs/pkgs/development/libraries/sqlite/tools.nix
new file mode 100644
index 000000000000..3ac1f617862e
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/sqlite/tools.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, unzip, sqlite, tcl, Foundation }:
+
+let
+  archiveVersion = import ./archive-version.nix stdenv.lib;
+  mkTool = { pname, makeTarget, description, homepage }: stdenv.mkDerivation rec {
+    inherit pname;
+    version = "3.33.0";
+
+    src = assert version == sqlite.version; fetchurl {
+      url = "https://sqlite.org/2020/sqlite-src-${archiveVersion version}.zip";
+      sha256 = "1f09srlrmcab1sf8j2d89s2kvknlbxk7mbsiwpndw9mall27dgwh";
+    };
+
+    nativeBuildInputs = [ unzip ];
+    buildInputs = [ tcl ] ++ stdenv.lib.optional stdenv.isDarwin Foundation;
+
+    makeFlags = [ makeTarget ];
+
+    installPhase = "install -Dt $out/bin ${makeTarget}";
+
+    meta = with stdenv.lib; {
+      inherit description homepage;
+      downloadPage = http://sqlite.org/download.html;
+      license = licenses.publicDomain;
+      maintainers = with maintainers; [ pesterhazy johnazoidberg ];
+      platforms = platforms.unix;
+    };
+  };
+in
+{
+  sqldiff = mkTool {
+    pname = "sqldiff";
+    makeTarget = "sqldiff";
+    description = "A tool that displays the differences between SQLite databases";
+    homepage = "https://www.sqlite.org/sqldiff.html";
+  };
+  sqlite-analyzer = mkTool {
+    pname = "sqlite-analyzer";
+    makeTarget = "sqlite3_analyzer";
+    description = "A tool that shows statistics about SQLite databases";
+    homepage = "https://www.sqlite.org/sqlanalyze.html";
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/strigi/default.nix b/nixpkgs/pkgs/development/libraries/strigi/default.nix
deleted file mode 100644
index 33a2ae25b121..000000000000
--- a/nixpkgs/pkgs/development/libraries/strigi/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ stdenv, fetchurl, cmake, qt4, perl, bzip2, libxml2, exiv2
-, clucene_core, fam, zlib, dbus, pkgconfig
-}:
-
-stdenv.mkDerivation rec {
-  pname = "strigi";
-  version = "0.7.8";
-
-  src = fetchurl {
-    url = "https://www.vandenoever.info/software/strigi/${pname}-${version}.tar.bz2";
-    sha256 = "12grxzqwnvbyqw7q1gnz42lypadxmq89vk2qpxczmpmc4nk63r23";
-  };
-
-  includeAllQtDirs = true;
-
-  CLUCENE_HOME = clucene_core;
-
-  buildInputs =
-    [ zlib bzip2 libxml2 qt4 exiv2 clucene_core fam dbus.out ];
-
-  nativeBuildInputs = [ cmake pkgconfig perl ];
-
-  patches = [ ./export_bufferedstream.patch ./gcc6.patch ];
-
-  enableParallelBuilding = true;
-
-  # Strigi installs some libraries in an incorrect place
-  # ($out/$out/lib instead of $out/lib), so move them to the right
-  # place.
-  postInstall =
-    ''
-      mv $out/$out/lib/* $out/lib
-      rm -rf $out/nix
-    '';
-
-  meta = {
-    homepage = "http://strigi.sourceforge.net";
-    description = "A very fast and efficient crawler to index data on your harddrive";
-    license = "LGPL";
-    maintainers = with stdenv.lib.maintainers; [ sander ];
-    inherit (qt4.meta) platforms;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/strigi/export_bufferedstream.patch b/nixpkgs/pkgs/development/libraries/strigi/export_bufferedstream.patch
deleted file mode 100644
index 4c6b34fe1bec..000000000000
--- a/nixpkgs/pkgs/development/libraries/strigi/export_bufferedstream.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -u -r strigi-0.7.8/libstreams/include/strigi/bufferedstream.h strigi-0.7.8_new/libstreams/include/strigi/bufferedstream.h
---- strigi-0.7.8/libstreams/include/strigi/bufferedstream.h	2013-02-05 13:34:57.000000000 -0800
-+++ strigi-0.7.8_new/libstreams/include/strigi/bufferedstream.h	2013-07-14 17:01:54.000000000 -0700
-@@ -34,7 +34,7 @@
-  * BufferedStream will do the rest.
-  */
- template <class T>
--class BufferedStream : public StreamBase<T> {
-+class STRIGI_EXPORT BufferedStream : public StreamBase<T> {
- private:
-     StreamBuffer<T> buffer;
-     bool finishedWritingToBuffer;
diff --git a/nixpkgs/pkgs/development/libraries/strigi/gcc6.patch b/nixpkgs/pkgs/development/libraries/strigi/gcc6.patch
deleted file mode 100644
index b46f6c52b823..000000000000
--- a/nixpkgs/pkgs/development/libraries/strigi/gcc6.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-https://sourceforge.net/p/strigi/patches/4/
-
-and a fix for
-
-/tmp/nix-build-strigi-0.7.8.drv-0/strigi-0.7.8/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp:325:37: error: no matching function for call to 'make_pair(std::__cxx11::string, std::__cxx11::string&)'
-             wchartoutf8(name), value));
-
-diff -Naur strigi-0.7.8.old/libstreamanalyzer/cmake/MacroCheckGccVisibility.cmake strigi-0.7.8/libstreamanalyzer/cmake/MacroCheckGccVisibility.cmake
---- strigi-0.7.8.old/libstreamanalyzer/cmake/MacroCheckGccVisibility.cmake	2013-02-05 16:34:52.000000000 -0500
-+++ strigi-0.7.8/libstreamanalyzer/cmake/MacroCheckGccVisibility.cmake	2016-05-14 11:39:54.586260564 -0400
-@@ -15,7 +15,7 @@
-    # get the gcc version
-    exec_program(${CMAKE_C_COMPILER} ARGS ${CMAKE_C_COMPILER_ARG1} --version OUTPUT_VARIABLE _gcc_version_info)
- 
--   string (REGEX MATCH "[345]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}")
-+   string (REGEX MATCH "[3456789]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}")
-    # gcc on mac just reports: "gcc (GCC) 3.3 20030304 ..." without the patch level, handle this here:
-    if (NOT _gcc_version)
-       string (REGEX REPLACE ".*\\(GCC\\).* ([34]\\.[0-9]) .*" "\\1.0" _gcc_version "${_gcc_version_info}")
-diff -Naur strigi-0.7.8.old/libstreams/cmake/MacroCheckGccVisibility.cmake strigi-0.7.8/libstreams/cmake/MacroCheckGccVisibility.cmake
---- strigi-0.7.8.old/libstreams/cmake/MacroCheckGccVisibility.cmake	2013-02-05 16:34:57.000000000 -0500
-+++ strigi-0.7.8/libstreams/cmake/MacroCheckGccVisibility.cmake	2016-05-14 11:40:11.340134414 -0400
-@@ -15,7 +15,7 @@
-    # get the gcc version
-    exec_program(${CMAKE_C_COMPILER} ARGS ${CMAKE_C_COMPILER_ARG1} --version OUTPUT_VARIABLE _gcc_version_info)
- 
--   string (REGEX MATCH "[345]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}")
-+   string (REGEX MATCH "[3456789]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}")
-    # gcc on mac just reports: "gcc (GCC) 3.3 20030304 ..." without the patch level, handle this here:
-    if (NOT _gcc_version)
-       string (REGEX REPLACE ".*\\(GCC\\).* ([34]\\.[0-9]) .*" "\\1.0" _gcc_version "${_gcc_version_info}")
-
-diff -ru strigi-0.7.8-orig/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp strigi-0.7.8/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp
---- strigi-0.7.8-orig/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp	2013-02-05 22:34:52.000000000 +0100
-+++ strigi-0.7.8/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp	2017-07-31 10:56:27.067902643 +0200
-@@ -321,8 +321,7 @@
-         string size = value;
-         doc.size = atoi(size.c_str());
-     } else {
--        doc.properties.insert(make_pair<const string, string>(
--            wchartoutf8(name), value));
-+        doc.properties.emplace(wchartoutf8(name), value);
-     }
- }
- Variant
diff --git a/nixpkgs/pkgs/development/libraries/sundials/2.x.nix b/nixpkgs/pkgs/development/libraries/sundials/2.x.nix
index b54e537fb823..ae22f0be1797 100644
--- a/nixpkgs/pkgs/development/libraries/sundials/2.x.nix
+++ b/nixpkgs/pkgs/development/libraries/sundials/2.x.nix
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
     description = "Suite of nonlinear differential/algebraic equation solvers";
     homepage    = "https://computation.llnl.gov/projects/sundials";
     platforms   = platforms.all;
-    maintainers = with maintainers; [ flokli idontgetoutmuch ];
+    maintainers = with maintainers; [ idontgetoutmuch ];
     license     = licenses.bsd3;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/sundials/default.nix b/nixpkgs/pkgs/development/libraries/sundials/default.nix
index 46cf437d72ca..e1b4d375282e 100644
--- a/nixpkgs/pkgs/development/libraries/sundials/default.nix
+++ b/nixpkgs/pkgs/development/libraries/sundials/default.nix
@@ -5,20 +5,35 @@
 , blas
 , lapack
 , gfortran
-, lapackSupport ? true }:
+, suitesparse
+, lapackSupport ? true
+, kluSupport ? true }:
 
 assert (!blas.isILP64) && (!lapack.isILP64);
 
 stdenv.mkDerivation rec {
   pname = "sundials";
-  version = "5.1.0";
+  version = "5.3.0";
+
+  buildInputs = [
+    python
+  ] ++ stdenv.lib.optionals (lapackSupport) [
+    gfortran
+    blas
+    lapack
+  ]
+  # KLU support is based on Suitesparse.
+  # It is tested upstream according to the section 1.1.4 of
+  # [INSTALL_GUIDE.pdf](https://raw.githubusercontent.com/LLNL/sundials/master/INSTALL_GUIDE.pdf)
+  ++ stdenv.lib.optionals (kluSupport) [
+    suitesparse
+  ];
 
-  buildInputs = [ python ] ++ stdenv.lib.optionals (lapackSupport) [ gfortran blas lapack ];
   nativeBuildInputs = [ cmake ];
 
   src = fetchurl {
     url = "https://computation.llnl.gov/projects/${pname}/download/${pname}-${version}.tar.gz";
-    sha256 = "08cvzmbr2qc09ayq4f5j07lw97hl06q4dl26vh4kh822mm7x28pv";
+    sha256 = "19xwi7pz35s2nqgldm6r0jl2k0bs36zhbpnmmzc56s1n3bhzgpw8";
   };
 
   patches = [
@@ -35,6 +50,10 @@ stdenv.mkDerivation rec {
     "-DSUNDIALS_INDEX_TYPE=int32_t"
     "-DLAPACK_ENABLE=ON"
     "-DLAPACK_LIBRARIES=${lapack}/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary}"
+  ] ++ stdenv.lib.optionals (kluSupport) [
+    "-DKLU_ENABLE=ON"
+    "-DKLU_INCLUDE_DIR=${suitesparse.dev}/include"
+    "-DKLU_LIBRARY_DIR=${suitesparse}/lib"
   ];
 
   doCheck = true;
@@ -44,7 +63,7 @@ stdenv.mkDerivation rec {
     description = "Suite of nonlinear differential/algebraic equation solvers";
     homepage    = "https://computation.llnl.gov/projects/sundials";
     platforms   = platforms.all;
-    maintainers = with maintainers; [ flokli idontgetoutmuch ];
+    maintainers = with maintainers; [ idontgetoutmuch ];
     license     = licenses.bsd3;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/swiften/default.nix b/nixpkgs/pkgs/development/libraries/swiften/default.nix
index 19bacdd2a614..2fe20cc9e882 100644
--- a/nixpkgs/pkgs/development/libraries/swiften/default.nix
+++ b/nixpkgs/pkgs/development/libraries/swiften/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, python, fetchurl, openssl, boost, scons }:
+{ stdenv, python, fetchurl, openssl, boost, sconsPackages }:
 stdenv.mkDerivation rec {
   pname = "swiften";
   version = "4.0.2";
 
-  nativeBuildInputs = [ scons.py2 ];
+  nativeBuildInputs = [ sconsPackages.scons_3_1_2 ];
   buildInputs           = [ python ];
   propagatedBuildInputs = [ openssl boost ];
 
diff --git a/nixpkgs/pkgs/development/libraries/swiftshader/default.nix b/nixpkgs/pkgs/development/libraries/swiftshader/default.nix
new file mode 100644
index 000000000000..3965f46bd8d8
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/swiftshader/default.nix
@@ -0,0 +1,63 @@
+{ stdenv, fetchgit, python3, cmake, jq, libX11, libXext }:
+
+stdenv.mkDerivation rec {
+  pname = "swiftshader";
+  version = "2020-06-17";
+
+  src = fetchgit {
+    url = "https://swiftshader.googlesource.com/SwiftShader";
+    rev = "763957e6b4fc1aa360ab19c4109b8b26686783e8";
+    sha256 = "0sdh48swx0qyq2nfkv1nggs14am0qc7z239qrxb69p2ddqm76g1s";
+  };
+
+  nativeBuildInputs = [ cmake python3 jq ];
+  buildInputs = [ libX11 libXext ];
+
+  # Make sure we include the drivers and icd files in the output as the cmake
+  # generated install command only puts in the spirv-tools stuff.
+  installPhase = ''
+    runHook preInstall
+
+    #
+    # Vulkan driver
+    #
+    vk_so_path="$out/lib/libvk_swiftshader.so"
+    mkdir -p "$(dirname "$vk_so_path")"
+    mv Linux/libvk_swiftshader.so "$vk_so_path"
+
+    vk_icd_json="$out/share/vulkan/icd.d/vk_swiftshader_icd.json"
+    mkdir -p "$(dirname "$vk_icd_json")"
+    jq ".ICD.library_path = \"$vk_so_path\"" <Linux/vk_swiftshader_icd.json >"$vk_icd_json"
+
+    #
+    # GL driver
+    #
+    gl_so_path="$out/lib/libEGL.so"
+    mkdir -p "$(dirname "$gl_so_path")"
+    mv Linux/libEGL.so "$gl_so_path"
+
+    gl_icd_json="$out/share/glvnd/egl_vendor.d/swiftshader.json"
+    mkdir -p "$(dirname "$gl_icd_json")"
+    cat >"$gl_icd_json" <<EOF
+    {
+      "file_format_version" : "1.0.0",
+      "ICD" : {
+          "library_path" : "$gl_so_path"
+      }
+    }
+    EOF
+
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description =
+      "A high-performance CPU-based implementation of the Vulkan, OpenGL ES, and Direct3D 9 graphics APIs";
+    homepage = "https://opensource.google/projects/swiftshader";
+    license = licenses.asl20;
+    # Should be possible to support Darwin by changing the install phase with
+    # 's/Linux/Darwin/' and 's/so/dylib/' or something similar.
+    platforms = [ "i686-linux" "x86_64-linux" "armv7l-linux" "mipsel-linux" ];
+    maintainers = with maintainers; [ expipiplus1 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/tbb/default.nix b/nixpkgs/pkgs/development/libraries/tbb/default.nix
index 18f9e541acd4..8f045802d3af 100644
--- a/nixpkgs/pkgs/development/libraries/tbb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tbb/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, compiler ? if stdenv.cc.isClang then "clang" else null, stdver ? null }:
+{ stdenv, fetchFromGitHub, fixDarwinDylibNames, compiler ? if stdenv.cc.isClang then "clang" else null, stdver ? null }:
 
 with stdenv.lib; stdenv.mkDerivation rec {
   pname = "tbb";
@@ -11,6 +11,8 @@ with stdenv.lib; stdenv.mkDerivation rec {
     sha256 = "1a39nflw7b2n51jfp3fdprnkpgzaspzww1dckfvaigflfli9s8rj";
   };
 
+  nativeBuildInputs = optional stdenv.isDarwin fixDarwinDylibNames;
+
   makeFlags = optional (compiler != null) "compiler=${compiler}"
     ++ optional (stdver != null) "stdver=${stdver}";
 
diff --git a/nixpkgs/pkgs/development/libraries/telepathy/qt/default.nix b/nixpkgs/pkgs/development/libraries/telepathy/qt/default.nix
index b8e438819db3..2addb86246dd 100644
--- a/nixpkgs/pkgs/development/libraries/telepathy/qt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/telepathy/qt/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, cmake, qtbase, pkgconfig, python2Packages, dbus-glib, dbus
+{ stdenv, fetchurl, cmake, qtbase, pkgconfig, python3Packages, dbus-glib, dbus
 , telepathy-farstream, telepathy-glib, fetchpatch }:
 
 let
-  inherit (python2Packages) python dbus-python;
+  inherit (python3Packages) python dbus-python;
 in stdenv.mkDerivation rec {
-  name = "telepathy-qt-0.9.7";
+  name = "telepathy-qt-0.9.8";
 
   src = fetchurl {
     url = "https://telepathy.freedesktop.org/releases/telepathy-qt/${name}.tar.gz";
-    sha256 = "0krxd4hhfx6r0ja19wh3848j7gn1rv8jrnakgmkbmi7bww5x7fi1";
+    sha256 = "bf8e2a09060addb80475a4938105b9b41d9e6837999b7a00e5351783857e18ad";
   };
 
   nativeBuildInputs = [ cmake pkgconfig python ];
@@ -16,14 +16,6 @@ in stdenv.mkDerivation rec {
   buildInputs = [ dbus-glib ];
   checkInputs = [ dbus.daemon dbus-python ];
 
-  patches = [
-    # https://github.com/TelepathyIM/telepathy-qt/issues/25
-    (fetchpatch {
-      url = "https://github.com/TelepathyIM/telepathy-qt/commit/d654dc70dbec7097e96e6d96ca74ab1b5b00ef8c.patch";
-      sha256 = "1jzd9b9rqh3c8xlq8dr7c0r8aabzf5ywv2gpkk6phh3xwngzrfbh";
-    })
-  ];
-
   # No point in building tests if they are not run
   # On 0.9.7, they do not even build with QT4
   cmakeFlags = stdenv.lib.optional (!doCheck) "-DENABLE_TESTS=OFF";
diff --git a/nixpkgs/pkgs/development/libraries/tiledb/default.nix b/nixpkgs/pkgs/development/libraries/tiledb/default.nix
index 3ebfd4ea919b..2726ed7f237b 100644
--- a/nixpkgs/pkgs/development/libraries/tiledb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tiledb/default.nix
@@ -16,19 +16,26 @@
 , python
 , gtest
 , doxygen
+, fixDarwinDylibNames
 }:
 
 stdenv.mkDerivation rec {
   pname = "tiledb";
-  version = "1.7.7";
+  version = "2.0.7";
 
   src = fetchFromGitHub {
     owner = "TileDB-Inc";
     repo = "TileDB";
     rev = version;
-    sha256 = "0vpbyxi8k29c7sjpk86y5w3yyp5fn62q5xvbw061wgp7vrprf8bm";
+    sha256 = "00g8ibsbnl4wjfx3qg4qy6s7z6dsj898j0yqfhw1gjr1pb5dsapb";
   };
 
+  # (bundled) blosc headers have a warning on some archs that it will be using
+  # unaccelerated routines.
+  cmakeFlags = [
+    "-DTILEDB_WERROR=0"
+  ];
+
   nativeBuildInputs = [
     clang-tools
     cmake
@@ -53,7 +60,7 @@ stdenv.mkDerivation rec {
     openssl
     boost
     libpqxx
-  ];
+  ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
   # emulate the process of pulling catch down
   postPatch = ''
@@ -65,11 +72,15 @@ stdenv.mkDerivation rec {
 
   installTargets = [ "install-tiledb" "doc" ];
 
+  postInstall = lib.optionalString stdenv.isDarwin ''
+    install_name_tool -add_rpath ${tbb}/lib $out/lib/libtiledb.dylib
+  '';
+
   meta = with lib; {
     description = "TileDB allows you to manage the massive dense and sparse multi-dimensional array data";
     homepage = "https://github.com/TileDB-Inc/TileDB";
     license = licenses.mit;
-    platforms = [ "x86_64-linux"];
+    platforms = platforms.unix;
     maintainers = with maintainers; [ rakesh4g ];
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/timezonemap/default.nix b/nixpkgs/pkgs/development/libraries/timezonemap/default.nix
new file mode 100644
index 000000000000..131d66e45cce
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/timezonemap/default.nix
@@ -0,0 +1,65 @@
+{ stdenv
+, autoreconfHook
+, fetchbzr
+, pkgconfig
+, gtk3
+, glib
+, file
+, gobject-introspection
+, json-glib
+, libsoup
+}:
+
+stdenv.mkDerivation rec {
+  pname = "timezonemap";
+  version = "0.4.5";
+
+  src = fetchbzr {
+    url = "lp:timezonemap";
+    rev = "58";
+    sha256 = "1qdp5f9zd8c02bf0mq4w15rlhz2g51phml5qg9asdyfd1715f8n0";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig
+    autoreconfHook
+    gobject-introspection
+  ];
+
+  buildInputs = [
+    gtk3
+    glib
+    json-glib
+    libsoup
+  ];
+
+  configureFlags = [
+    "CFLAGS=-Wno-error"
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+  ];
+
+  installFlags = [
+    "sysconfdir=${placeholder "out"}/etc"
+    "localstatedir=\${TMPDIR}"
+  ];
+
+  preConfigure = ''
+    for f in {configure,m4/libtool.m4}; do
+      substituteInPlace $f\
+        --replace /usr/bin/file ${file}/bin/file
+    done
+  '';
+
+  postPatch = ''
+    sed "s|/usr/share/libtimezonemap|$out/share/libtimezonemap|g" -i ./src/tz.h
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://launchpad.net/timezonemap";
+    description = "A GTK+3 Timezone Map Widget";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.mkg20001 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/tinycbor/default.nix b/nixpkgs/pkgs/development/libraries/tinycbor/default.nix
new file mode 100644
index 000000000000..62f2a8071852
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/tinycbor/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "tinycbor";
+  version = "0.5.3";
+
+  src = fetchFromGitHub {
+    owner = "intel";
+    repo = "tinycbor";
+    rev = "v${version}";
+    sha256 = "11y6liyd3fvc28d3dinii16sxgwgg2p29p41snc4h82dvvx5bb2b";
+  };
+
+  makeFlags = [ "prefix=$(out)" ];
+
+  meta = with stdenv.lib; {
+    description = "Concise Binary Object Representation (CBOR) Library";
+    homepage = "https://github.com/intel/tinycbor";
+    license = licenses.mit;
+    maintainers = with maintainers; [ oxzi ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/tk/generic.nix b/nixpkgs/pkgs/development/libraries/tk/generic.nix
index 745be0be922f..1cbf4026cb88 100644
--- a/nixpkgs/pkgs/development/libraries/tk/generic.nix
+++ b/nixpkgs/pkgs/development/libraries/tk/generic.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   postInstall = ''
     ln -s $out/bin/wish* $out/bin/wish
     cp ../{unix,generic}/*.h $out/include
-    ln -s $out/lib/libtk${tcl.release}.so $out/lib/libtk.so
+    ln -s $out/lib/libtk${tcl.release}${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/libtk${stdenv.hostPlatform.extensions.sharedLibrary}
   ''
   + stdenv.lib.optionalString (stdenv.isDarwin) ''
     cp ../macosx/*.h $out/include
diff --git a/nixpkgs/pkgs/development/libraries/tllist/default.nix b/nixpkgs/pkgs/development/libraries/tllist/default.nix
new file mode 100644
index 000000000000..a17b3e415d51
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/tllist/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, lib, fetchgit, meson, ninja }:
+
+stdenv.mkDerivation rec {
+  pname = "tllist";
+  version = "1.0.2";
+
+  src = fetchgit {
+    url = "https://codeberg.org/dnkl/tllist.git";
+    rev = "${version}";
+    sha256 = "095wly66z9n2r6h318rackgl4g1w9l1vj96367ngcw7rpva9yppl";
+  };
+
+  nativeBuildInputs = [
+    meson ninja
+  ];
+
+  meta = with lib; {
+    homepage = "https://codeberg.org/dnkl/tllist";
+    description = "C header file only implementation of a typed linked list";
+    maintainers = with maintainers; [ fionera ];
+    license = licenses.mit;
+    platforms = with platforms; linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/tremor/default.nix b/nixpkgs/pkgs/development/libraries/tremor/default.nix
index c2cb8a836bfa..722094f859c5 100644
--- a/nixpkgs/pkgs/development/libraries/tremor/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tremor/default.nix
@@ -1,10 +1,12 @@
-{ stdenv, fetchgit, autoreconfHook, pkgconfig, libogg }:
+{ stdenv, fetchFromGitLab, autoreconfHook, pkgconfig, libogg }:
 
 stdenv.mkDerivation {
   name = "tremor-unstable-2018-03-16";
 
-  src = fetchgit {
-    url = "https://git.xiph.org/tremor.git";
+  src = fetchFromGitLab {
+    owner = "xiph";
+    repo = "tremor";
+    domain = "gitlab.xiph.org";
     rev = "562307a4a7082e24553f3d2c55dab397a17c4b4f";
     sha256 = "0m07gq4zfgigsiz8b518xyb19v7qqp76qmp7lb262825vkqzl3zq";
   };
diff --git a/nixpkgs/pkgs/development/libraries/tweeny/default.nix b/nixpkgs/pkgs/development/libraries/tweeny/default.nix
index d3c30028ba47..f2de470288de 100644
--- a/nixpkgs/pkgs/development/libraries/tweeny/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tweeny/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tweeny";
-  version = "3.1.0";
+  version = "3.1.1";
 
   src = fetchFromGitHub {
     owner = "mobius3";
     repo = "tweeny";
     rev = "v${version}";
-    sha256 = "0qvby57g9a2m4afd1mgard3k7nm4ynbvali7nzm1qn3ygdmqid7n";
+    sha256 = "0zk7p21i54hfz0l50617i3gxhxh0n9yy86n2fxg8m26cvf4yhsj7";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/uci/default.nix b/nixpkgs/pkgs/development/libraries/uci/default.nix
index e3bdea8c8890..aa2a88653bb3 100644
--- a/nixpkgs/pkgs/development/libraries/uci/default.nix
+++ b/nixpkgs/pkgs/development/libraries/uci/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation {
   pname = "uci";
-  version = "unstable-2020-01-27";
+  version = "unstable-2020-04-27";
 
   src = fetchgit {
     url = "https://git.openwrt.org/project/uci.git";
-    rev = "e8d83732f9eb571dce71aa915ff38a072579610b";
-    sha256 = "1si8dh8zzw4j6m7387qciw2akfvl7c4779s8q5ns2ys6dn4sz6by";
+    rev = "ec8d3233948603485e1b97384113fac9f1bab5d6";
+    sha256 = "0p765l8znvwhzhgkq7dp36w62k5rmzav59vgdqmqq1bjmlz1yyi6";
   };
 
   hardeningDisable = [ "all" ];
diff --git a/nixpkgs/pkgs/development/libraries/ucx/default.nix b/nixpkgs/pkgs/development/libraries/ucx/default.nix
index 9ec8ca660cfd..1961e8aef680 100644
--- a/nixpkgs/pkgs/development/libraries/ucx/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ucx/default.nix
@@ -3,7 +3,7 @@
 }:
 
 let
-  version = "1.7.0";
+  version = "1.8.1";
 
 in stdenv.mkDerivation {
   name = "ucx-${version}";
@@ -12,7 +12,7 @@ in stdenv.mkDerivation {
     owner = "openucx";
     repo = "ucx";
     rev = "v${version}";
-    sha256 = "149p8s7jrg7pbbq0hw0qm8va119bsl19q4scgk94vjqliyc1s33h";
+    sha256 = "0yfnx4shgydkp447kipavjzgl6z58jan6l7znhdi8ry4zbgk568a";
   };
 
   nativeBuildInputs = [ autoreconfHook doxygen ];
diff --git a/nixpkgs/pkgs/development/libraries/unicorn-emu/default.nix b/nixpkgs/pkgs/development/libraries/unicorn-emu/default.nix
index 7917b6954064..3e10f492eb98 100644
--- a/nixpkgs/pkgs/development/libraries/unicorn-emu/default.nix
+++ b/nixpkgs/pkgs/development/libraries/unicorn-emu/default.nix
@@ -1,17 +1,25 @@
-{ stdenv, fetchurl, pkgconfig, python }:
+{ stdenv, fetchurl, pkgconfig, python, cmocka, hexdump, writeScriptBin, binutils-unwrapped }:
 
 stdenv.mkDerivation rec {
   pname = "unicorn-emulator";
-  version = "1.0.1";
+  version = "1.0.2-rc4";
 
   src = fetchurl {
     url    = "https://github.com/unicorn-engine/unicorn/archive/${version}.tar.gz";
-    sha256 = "0z01apwmvhvdldm372ww9pjfn45awkw3m90c0h4v0nj0ihmlysis";
+    sha256 = "05w43jq3r97l3c8ggc745ai8m5l93p1b6q6cfp1zwzz6hl5kifiv";
   };
 
-  configurePhase = '' patchShebangs make.sh '';
-  buildPhase = '' ./make.sh '' + stdenv.lib.optionalString stdenv.isDarwin "macos-universal-no";
-  installPhase = '' env PREFIX=$out ./make.sh install '';
+  PREFIX = placeholder "out";
+  MACOS_UNIVERSAL = stdenv.lib.optionalString stdenv.isDarwin "no";
+  NIX_CFLAGS_COMPILE = "-Wno-error";
+
+  doCheck = !stdenv.isDarwin;
+
+  checkInputs = [
+    cmocka
+    hexdump
+    python.pkgs.setuptools
+  ];
 
   nativeBuildInputs = [ pkgconfig python ];
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/libraries/urdfdom-headers/default.nix b/nixpkgs/pkgs/development/libraries/urdfdom-headers/default.nix
new file mode 100644
index 000000000000..91fc747b84a6
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/urdfdom-headers/default.nix
@@ -0,0 +1,31 @@
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, validatePkgConfig }:
+
+stdenv.mkDerivation rec {
+  pname = "urdfdom-headers";
+  version = "1.0.5";
+
+  src = fetchFromGitHub {
+    owner = "ros";
+    repo = "urdfdom_headers";
+    rev = version;
+    sha256 = "1abzhcyv2vad8l36vy0fcz9kpgns834la7hf9zal962bwycqnkmg";
+  };
+
+  patches = [
+    # Fix CMake relative install dir assumptions (https://github.com/ros/urdfdom_headers/pull/66)
+    (fetchpatch {
+      url = "https://github.com/ros/urdfdom_headers/commit/990fd233b1a3ff68872a3552f3ea5ccbe105848c.patch";
+      sha256 = "1hxf2kw3mkll3fzvsby104b2m854bdpiy9gr3r9ysmw2r537gqdy";
+    })
+  ];
+
+  nativeBuildInputs = [ cmake validatePkgConfig ];
+
+  meta = with lib; {
+    description = "URDF (U-Robot Description Format) headers provides core data structure headers for URDF";
+    homepage = "https://github.com/ros/urdfdom_headers";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ lopsided98 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/urdfdom/default.nix b/nixpkgs/pkgs/development/libraries/urdfdom/default.nix
new file mode 100644
index 000000000000..1b75851c93d0
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/urdfdom/default.nix
@@ -0,0 +1,39 @@
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, pkg-config, validatePkgConfig
+, tinyxml, boost, urdfdom-headers, console-bridge }:
+
+stdenv.mkDerivation rec {
+  pname = "urdfdom";
+  version = "1.0.4";
+
+  src = fetchFromGitHub {
+    owner = "ros";
+    repo = pname;
+    rev = version;
+    sha256 = "0wambq06d7dvja25zcv4agc055q9rmf3xkrnxy8lsf4nic7ra2rr";
+  };
+
+  patches = [
+    # Fix CMake saying console-bridge 1.0 is incompatible
+    (fetchpatch {
+      url = "https://github.com/ros/urdfdom/commit/6faba176d41cf39114785a3e029013f941ed5a0e.patch";
+      sha256 = "1pn9hcg5wkkc7y28sbkxvffqxgvazzsp3g1xmz6h055v4f9ikjbs";
+    })
+    # Fix CMake relative install dir assumptions (https://github.com/ros/urdfdom/pull/142)
+    (fetchpatch {
+      url = "https://github.com/ros/urdfdom/commit/707c97c3d1f739ba0ab6e93e1bf7cd01d68a8c07.patch";
+      sha256 = "10bv7sv7gfy6lj8z5bkw7v291y12fbrrxsiqxqjxg4i65rfg92ng";
+    })
+  ];
+
+  nativeBuildInputs = [ cmake pkg-config validatePkgConfig ];
+  buildInputs = [ tinyxml boost ];
+  propagatedBuildInputs = [ urdfdom-headers console-bridge ];
+
+  meta = with lib; {
+    description = "Provides core data structures and a simple XML parser for populating the class data structures from an URDF file";
+    homepage = "https://github.com/ros/urdfdom";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ lopsided98 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/utf8cpp/default.nix b/nixpkgs/pkgs/development/libraries/utf8cpp/default.nix
new file mode 100644
index 000000000000..a2aac1241cd8
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/utf8cpp/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  pname = "utf8cpp";
+  version = "3.1.1";
+
+  src = fetchFromGitHub {
+    owner = "nemtrif";
+    repo = "utfcpp";
+    rev = "v${version}";
+    fetchSubmodules = true;
+    sha256 = "1s2pda75488z7c3w3a6qv31bj239248696yk5j2a1drbg2x1dpfh";
+  };
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=None"
+    "-DCMAKE_INSTALL_LIBDIR=lib"
+    "-DINSTALL_GTEST=OFF"
+  ];
+
+  nativeBuildInputs = [ cmake ];
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/nemtrif/utfcpp";
+    description = "UTF-8 with C++ in a Portable Way";
+    license = licenses.free;
+    maintainers = with maintainers; [ jobojeha ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/utf8proc/default.nix b/nixpkgs/pkgs/development/libraries/utf8proc/default.nix
index 13a9855b62e2..e08aea2e1ee5 100644
--- a/nixpkgs/pkgs/development/libraries/utf8proc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/utf8proc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
   pname = "utf8proc";
@@ -11,7 +11,17 @@ stdenv.mkDerivation rec {
     sha256 = "1xlkazhdnja4lksn5c9nf4bln5gjqa35a8gwlam5r0728w0h83qq";
   };
 
-  makeFlags = [ "prefix=$(out)" ];
+  nativeBuildInputs = [ cmake ];
+
+  cmakeFlags = [
+    "-DBUILD_SHARED_LIBS=ON"
+  ];
+
+  # the pkg-config file is not created in the cmake installation
+  # process, so we use the Makefile and install it manually
+  # see https://github.com/JuliaStrings/utf8proc/issues/198
+  preConfigure = "make libutf8proc.pc prefix=$out";
+  postInstall = "install -Dm644 ../libutf8proc.pc -t $out/lib/pkgconfig/";
 
   meta = with stdenv.lib; {
     description = "A clean C library for processing UTF-8 Unicode data";
diff --git a/nixpkgs/pkgs/development/libraries/vaapi-intel/default.nix b/nixpkgs/pkgs/development/libraries/vaapi-intel/default.nix
index c61429324edd..81edb9caea0d 100644
--- a/nixpkgs/pkgs/development/libraries/vaapi-intel/default.nix
+++ b/nixpkgs/pkgs/development/libraries/vaapi-intel/default.nix
@@ -1,38 +1,32 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, gnum4, pkgconfig, python2
+{ stdenv, fetchFromGitHub, autoreconfHook, gnum4, pkg-config, python3
 , intel-gpu-tools, libdrm, libva, libX11, libGL, wayland, libXext
 , enableHybridCodec ? false, vaapi-intel-hybrid
 }:
 
 stdenv.mkDerivation rec {
   pname = "intel-vaapi-driver";
-  version = "2.4.0";
+  version = "2.4.1";
 
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "intel-vaapi-driver";
     rev    = version;
-    sha256 = "019w0hvjc9l85yqhy01z2bvvljq208nkb43ai2v377l02krgcrbl";
+    sha256 = "1cidki3av9wnkgwi7fklxbg3bh6kysf8w3fk2qadjr05a92mx3zp";
   };
 
-  patchPhase = ''
-    patchShebangs ./src/shaders/gpp.py
-  '';
-
-  preConfigure = ''
-    sed -i -e "s,LIBVA_DRIVERS_PATH=.*,LIBVA_DRIVERS_PATH=$out/lib/dri," configure
-  '';
+  # Set the correct install path:
+  LIBVA_DRIVERS_PATH = "${placeholder "out"}/lib/dri";
 
   postInstall = stdenv.lib.optionalString enableHybridCodec ''
     ln -s ${vaapi-intel-hybrid}/lib/dri/* $out/lib/dri/
   '';
 
   configureFlags = [
-    "--enable-drm"
     "--enable-x11"
     "--enable-wayland"
   ] ++ stdenv.lib.optional enableHybridCodec "--enable-hybrid-codec";
 
-  nativeBuildInputs = [ autoreconfHook gnum4 pkgconfig python2 ];
+  nativeBuildInputs = [ autoreconfHook gnum4 pkg-config python3 ];
 
   buildInputs = [ intel-gpu-tools libdrm libva libX11 libXext libGL wayland ]
     ++ stdenv.lib.optional enableHybridCodec vaapi-intel-hybrid;
@@ -42,8 +36,18 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = "https://01.org/linuxmedia";
     license = licenses.mit;
-    description = "Intel driver for the VAAPI library";
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ ];
+    description = "VA-API user mode driver for Intel GEN Graphics family";
+    longDescription = ''
+      This VA-API video driver backend provides a bridge to the GEN GPUs through
+      the packaging of buffers and commands to be sent to the i915 driver for
+      exercising both hardware and shader functionality for video decode,
+      encode, and processing.
+      VA-API is an open-source library and API specification, which provides
+      access to graphics hardware acceleration capabilities for video
+      processing. It consists of a main library and driver-specific acceleration
+      backends for each supported hardware vendor.
+    '';
+    platforms = [ "x86_64-linux" "i686-linux" ];
+    maintainers = with maintainers; [ primeos ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/vid-stab/default.nix b/nixpkgs/pkgs/development/libraries/vid-stab/default.nix
index e22396f8aa39..2921719e7554 100644
--- a/nixpkgs/pkgs/development/libraries/vid-stab/default.nix
+++ b/nixpkgs/pkgs/development/libraries/vid-stab/default.nix
@@ -1,22 +1,25 @@
-{ stdenv, fetchurl, cmake }:
+{ stdenv, fetchFromGitHub, cmake, openmp }:
 
 stdenv.mkDerivation rec {
-  pname = "vid-stab";
-  version = "0.98b";
-  
-  src = fetchurl {
-    url = "https://github.com/georgmartius/vid.stab/archive/release-${version}.tar.gz";
-    sha256 = "09fh6xbd1f5xp3il3dpvr87skmnp2mm2hfmg4s9rvj4y8zvhn3sk";
+  pname = "vid.stab";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "georgmartius";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0a3frpm2kdbx7vszhg64p3alisag73bcspl7fp3a2f1kgq7rbh38";
   };
 
   nativeBuildInputs = [ cmake ];
-  
+
+  buildInputs = stdenv.lib.optionals stdenv.cc.isClang [ openmp ];
+
   meta = with stdenv.lib; {
     description = "Video stabilization library";
-    homepage    = "http://public.hronopik.de/vid.stab/";
-    license     = licenses.gpl2;
+    homepage = "http://public.hronopik.de/vid.stab/";
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ codyopel ];
-    platforms   = platforms.all;
+    platforms = platforms.all;
   };
 }
-
diff --git a/nixpkgs/pkgs/development/libraries/vmmlib/default.nix b/nixpkgs/pkgs/development/libraries/vmmlib/default.nix
index 21c186a67327..f191a9764378 100644
--- a/nixpkgs/pkgs/development/libraries/vmmlib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/vmmlib/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, boost, blas
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, boost, lapack
 , Accelerate, CoreGraphics, CoreVideo
 }:
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [ pkgconfig cmake ];
-  buildInputs = [ boost blas ]
+  buildInputs = [ boost lapack ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ Accelerate CoreGraphics CoreVideo ];
 
   enableParallelBuilding = true;
@@ -30,11 +30,11 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "A vector and matrix math library implemented using C++ templates";
 
-    longDescription = ''vmmlib is a vector and matrix math library implemented 
-            using C++ templates. Its basic functionality includes a vector 
-            and a matrix class, with additional functionality for the 
+    longDescription = ''vmmlib is a vector and matrix math library implemented
+            using C++ templates. Its basic functionality includes a vector
+            and a matrix class, with additional functionality for the
             often-used 3d and 4d vectors and 3x3 and 4x4 matrices.
-            More advanced functionality include solvers, frustum 
+            More advanced functionality include solvers, frustum
             computations and frustum culling classes, and spatial data structures'';
 
     license     = licenses.bsd2;
@@ -43,4 +43,3 @@ stdenv.mkDerivation rec {
     platforms   = platforms.all;
   };
 }
-
diff --git a/nixpkgs/pkgs/development/libraries/vtk/9.x.nix b/nixpkgs/pkgs/development/libraries/vtk/9.x.nix
new file mode 100644
index 000000000000..455431ec3415
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/vtk/9.x.nix
@@ -0,0 +1,95 @@
+{ stdenv, mkDerivation, fetchurl, cmake, libGLU, libGL, libX11, xorgproto, libXt, libtiff
+, fetchpatch
+, enableQt ? false, qtbase, qtx11extras, qttools
+, enablePython ? false, python ? null
+# Darwin support
+, Cocoa, CoreServices, DiskArbitration, IOKit, CFNetwork, Security, GLUT, OpenGL
+, ApplicationServices, CoreText, IOSurface, ImageIO, xpc, libobjc }:
+
+with stdenv.lib;
+
+let
+  os = stdenv.lib.optionalString;
+  majorVersion = "9.0";
+  minorVersion = "1";
+  version = "${majorVersion}.${minorVersion}";
+in
+
+mkDerivation rec {
+  name = "vtk-${os enableQt "qvtk-"}${version}";
+  src = fetchurl {
+    url = "${meta.homepage}files/release/${majorVersion}/VTK-${version}.tar.gz";
+    sha256 = "1ir2lq9i45ls374lcmjzw0nrm5l5hnm1w47lg8g8d0n2j7hsaf8v";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ libtiff ]
+    ++ optionals enableQt [ qtbase qtx11extras qttools ]
+    ++ optionals stdenv.isLinux [
+      libGLU
+      libGL
+      libX11
+      xorgproto
+      libXt
+    ] ++ optionals stdenv.isDarwin [
+      xpc
+      Cocoa
+      CoreServices
+      DiskArbitration
+      IOKit
+      CFNetwork
+      Security
+      ApplicationServices
+      CoreText
+      IOSurface
+      ImageIO
+      OpenGL
+      GLUT
+    ]
+    ++ optional enablePython [
+      python
+    ];
+  propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ libobjc ];
+
+  preBuild = ''
+    export LD_LIBRARY_PATH="$(pwd)/lib";
+  '';
+
+  # Shared libraries don't work, because of rpath troubles with the current
+  # nixpkgs cmake approach. It wants to call a binary at build time, just
+  # built and requiring one of the shared objects.
+  # At least, we use -fPIC for other packages to be able to use this in shared
+  # objects.
+  cmakeFlags = [
+    "-DCMAKE_C_FLAGS=-fPIC"
+    "-DCMAKE_CXX_FLAGS=-fPIC"
+    "-DVTK_USE_SYSTEM_TIFF=1"
+    "-DOPENGL_INCLUDE_DIR=${libGL}/include"
+    "-DCMAKE_INSTALL_LIBDIR=lib"
+    "-DCMAKE_INSTALL_INCLUDEDIR=include"
+    "-DCMAKE_INSTALL_BINDIR=bin"
+  ]
+    ++ optionals enableQt [ "-DVTK_Group_Qt:BOOL=ON" ]
+    ++ optionals stdenv.isDarwin [ "-DOPENGL_INCLUDE_DIR=${OpenGL}/Library/Frameworks" ]
+    ++ optionals enablePython [
+      "-DVTK_WRAP_PYTHON:BOOL=ON"
+      "-DVTK_PYTHON_VERSION:STRING=3"
+    ];
+
+  postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+    sed -i 's|COMMAND vtkHashSource|COMMAND "DYLD_LIBRARY_PATH=''${VTK_BINARY_DIR}/lib" ''${VTK_BINARY_DIR}/bin/vtkHashSource-${majorVersion}|' ./Parallel/Core/CMakeLists.txt
+    sed -i 's/fprintf(output, shift)/fprintf(output, "%s", shift)/' ./ThirdParty/libxml2/vtklibxml2/xmlschemas.c
+    sed -i 's/fprintf(output, shift)/fprintf(output, "%s", shift)/g' ./ThirdParty/libxml2/vtklibxml2/xpath.c
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Open source libraries for 3D computer graphics, image processing and visualization";
+    homepage = "https://www.vtk.org/";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ tfmoraes ];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/vulkan-loader/default.nix b/nixpkgs/pkgs/development/libraries/vulkan-loader/default.nix
index e650a28c61e5..8b5aa7428638 100644
--- a/nixpkgs/pkgs/development/libraries/vulkan-loader/default.nix
+++ b/nixpkgs/pkgs/development/libraries/vulkan-loader/default.nix
@@ -17,7 +17,9 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   preConfigure = ''
-    substituteInPlace loader/vulkan.pc.in --replace 'includedir=''${prefix}/include' 'includedir=${vulkan-headers}/include'
+    substituteInPlace loader/vulkan.pc.in \
+      --replace 'includedir=''${prefix}/include' 'includedir=${vulkan-headers}/include' \
+      --replace 'libdir=''${exec_prefix}/@CMAKE_INSTALL_LIBDIR@' 'libdir=@CMAKE_INSTALL_LIBDIR@'
   '';
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/wasilibc/default.nix b/nixpkgs/pkgs/development/libraries/wasilibc/default.nix
index fb8c0e0fa215..bca025d622af 100644
--- a/nixpkgs/pkgs/development/libraries/wasilibc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/wasilibc/default.nix
@@ -20,10 +20,11 @@ stdenv.mkDerivation {
     ln -s $out/share/wasm32-wasi/undefined-symbols.txt $out/lib/wasi.imports
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "WASI libc implementation for WebAssembly";
     homepage    = "https://wasi.dev";
-    platforms   = lib.platforms.wasi;
-    maintainers = [ lib.maintainers.matthewbauer ];
+    platforms   = platforms.wasi;
+    maintainers = [ maintainers.matthewbauer ];
+    license = with licenses; [ asl20 mit llvm-exception ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/waylandpp/default.nix b/nixpkgs/pkgs/development/libraries/waylandpp/default.nix
index 5b02ce826add..5fc466cec201 100644
--- a/nixpkgs/pkgs/development/libraries/waylandpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/waylandpp/default.nix
@@ -16,13 +16,13 @@ assert docSupport -> doxygen != null;
 with stdenv.lib;
 stdenv.mkDerivation rec {
   pname = "waylandpp";
-  version = "0.2.7";
+  version = "0.2.8";
 
   src = fetchFromGitHub {
     owner = "NilsBrause";
     repo = pname;
     rev = version;
-    sha256 = "1r4m0xhvwpcqxrqvp3hz1bzlkxqj2jiymd5r6hj8xjzz536hyprz";
+    sha256 = "1kxiqab48p0n97pwg8c2zx56wqq32m3rcq7qd2pjj33ipcanb3qq";
   };
 
   cmakeFlags = [ 
diff --git a/nixpkgs/pkgs/development/libraries/wcslib/default.nix b/nixpkgs/pkgs/development/libraries/wcslib/default.nix
index 0b57d0993190..2b3414df1a4b 100644
--- a/nixpkgs/pkgs/development/libraries/wcslib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/wcslib/default.nix
@@ -1,14 +1,14 @@
 { fetchurl,  stdenv, flex }:
 
 stdenv.mkDerivation rec {
-  version = "7.2";
+  version = "7.3.1";
   pname = "wcslib";
 
   buildInputs = [ flex ];
 
   src = fetchurl {
     url = "ftp://ftp.atnf.csiro.au/pub/software/wcslib/${pname}-${version}.tar.bz2";
-    sha256 ="0fbf6ypq7ag9dmjn65ja5vbfxswb6511bja8rbna25wmhns9x5b3";
+    sha256 ="0p0bp3jll9v2094a8908vk82m7j7qkjqzkngm1r9qj1v6l6j5z6c";
   };
 
   prePatch = ''
diff --git a/nixpkgs/pkgs/development/libraries/webkit2-sharp/default.nix b/nixpkgs/pkgs/development/libraries/webkit2-sharp/default.nix
new file mode 100644
index 000000000000..b8a476b3b332
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/webkit2-sharp/default.nix
@@ -0,0 +1,49 @@
+{
+  stdenv,
+  autoreconfHook,
+  fetchFromGitHub,
+  gtk-sharp-3_0,
+  lib,
+  libxslt,
+  mono,
+  pkg-config,
+  webkitgtk,
+}:
+
+stdenv.mkDerivation rec {
+  pname = "webkit2-sharp";
+  version = "a59fd76dd730432c76b12ee6347ea66567107ab9";
+
+  src = fetchFromGitHub {
+    owner = "hbons";
+    repo = "webkit2-sharp";
+    rev = version;
+    sha256 = "sha256:0a7vx81zvzn2wq4q2mqrxvlps1mqk28lm1gpfndqryxm4iiw28vc";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+    libxslt
+    mono
+    pkg-config
+  ];
+
+  buildInputs = [
+    gtk-sharp-3_0
+    webkitgtk
+  ];
+
+  ac_cv_path_MONODOCER = "no";
+  installFlagsArray = ["GAPIXMLDIR=/tmp/gapixml"];
+
+  passthru = {
+    inherit webkitgtk;
+  };
+
+  meta = {
+    description = "C# bindings for WebKit 2 with GTK+ 3";
+    homepage = "https://github.com/hbons/webkit2-sharp";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ kevincox ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/webkitgtk/default.nix b/nixpkgs/pkgs/development/libraries/webkitgtk/default.nix
index 53d0ae966b2d..d60e56763a17 100644
--- a/nixpkgs/pkgs/development/libraries/webkitgtk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/webkitgtk/default.nix
@@ -43,6 +43,7 @@
 , sqlite
 , enableGtk2Plugins ? false
 , gtk2 ? null
+, enableGLES ? true
 , gst-plugins-base
 , gst-plugins-bad
 , woff2
@@ -61,13 +62,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "webkitgtk";
-  version = "2.28.2";
+  version = "2.28.4";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://webkitgtk.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "1g9hik3bprki5s9d7y5288q5irwckbzajr6rnlvjrlnqrwjkblmr";
+    sha256 = "0r4lkk21pny2g4mmsw0ds14m5hhjys1l47gvy59dfgihr7l546c2";
   };
 
   patches = optionals stdenv.isLinux [
@@ -167,7 +168,7 @@ stdenv.mkDerivation rec {
     "-DUSE_ACCELERATE=0"
     "-DUSE_SYSTEM_MALLOC=ON"
   ] ++ optional (!enableGtk2Plugins) "-DENABLE_PLUGIN_PROCESS_GTK2=OFF"
-    ++ optional stdenv.isLinux "-DENABLE_GLES2=ON";
+    ++ optional (stdenv.isLinux && enableGLES) "-DENABLE_GLES2=ON";
 
   postPatch = ''
     patchShebangs .
diff --git a/nixpkgs/pkgs/development/libraries/wiiuse/default.nix b/nixpkgs/pkgs/development/libraries/wiiuse/default.nix
new file mode 100644
index 000000000000..4dcc8a47105e
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/wiiuse/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, bluez
+}:
+stdenv.mkDerivation rec {
+
+  pname = "WiiUse";
+  version = "0.15.5";
+
+  src = fetchFromGitHub {
+    owner = "wiiuse";
+    repo = "wiiuse";
+    rev = "${version}";
+    sha256 = "05gc3s0wxx7ga4g32yyibyxdh46rm9bbslblrc72ynrjxq98sg13";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ (lib.getDev bluez) ];
+
+  cmakeFlags = [ "-DBUILD_EXAMPLE_SDL=NO" ];
+
+  meta = with lib; {
+    description = "Feature complete cross-platform Wii Remote access library";
+    license = licenses.gpl3;
+    homepage = "https://github.com/wiiuse/wiiuse";
+    maintainers = with maintainers; [ shamilton ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/wlroots/default.nix b/nixpkgs/pkgs/development/libraries/wlroots/default.nix
index 46a1fc45d816..67faad8cd74f 100644
--- a/nixpkgs/pkgs/development/libraries/wlroots/default.nix
+++ b/nixpkgs/pkgs/development/libraries/wlroots/default.nix
@@ -28,12 +28,6 @@ stdenv.mkDerivation rec {
 
   mesonFlags = [ "-Dlogind-provider=systemd" ];
 
-  postInstall = ''
-    # Copy the library to $examples
-    mkdir -p $examples/lib
-    cp -P libwlroots* $examples/lib/
-  '';
-
   postFixup = ''
     # Install ALL example programs to $examples:
     # screencopy dmabuf-capture input-inhibitor layer-shell idle-inhibit idle
diff --git a/nixpkgs/pkgs/development/libraries/wolfssl/default.nix b/nixpkgs/pkgs/development/libraries/wolfssl/default.nix
index 2815520f5179..30fc90ec8c09 100644
--- a/nixpkgs/pkgs/development/libraries/wolfssl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/wolfssl/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wolfssl";
-  version = "4.4.0";
+  version = "4.5.0";
 
   src = fetchFromGitHub {
     owner = "wolfSSL";
     repo = "wolfssl";
     rev = "v${version}-stable";
-    sha256 = "1bgkxqgxwa5dvi7fkna64wpcs552f3yxvs6fh6d32v7vg88vpfx9";
+    sha256 = "138ppnwkqkfi7nnqpd0b93dqaph72ma65m9286bz2qzlis1x8r0v";
   };
 
   configureFlags = [ "--enable-all" ];
diff --git a/nixpkgs/pkgs/development/libraries/wxsqlite3/default.nix b/nixpkgs/pkgs/development/libraries/wxsqlite3/default.nix
index 9bea7f5e848b..9d80e5de4497 100644
--- a/nixpkgs/pkgs/development/libraries/wxsqlite3/default.nix
+++ b/nixpkgs/pkgs/development/libraries/wxsqlite3/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wxsqlite3";
-  version = "4.5.1";
+  version = "4.6.0";
 
   src = fetchFromGitHub {
     owner = "utelle";
     repo = "wxsqlite3";
     rev = "v${version}";
-    sha256 = "0090f7r3blks18vifkna4l890fwaya58ajh9qblbw9065zj5hrm3";
+    sha256 = "0snsysfrr5h66mybls8r8k781v732dlfn4jdnmk348jgvny275fj";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/nixpkgs/pkgs/development/libraries/wxwidgets/2.8/default.nix b/nixpkgs/pkgs/development/libraries/wxwidgets/2.8/default.nix
index 98cf0d58479b..deb7d19c0de1 100644
--- a/nixpkgs/pkgs/development/libraries/wxwidgets/2.8/default.nix
+++ b/nixpkgs/pkgs/development/libraries/wxwidgets/2.8/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, gtk2, libXinerama, libSM, libXxf86vm, xorgproto
-, gstreamer, gst-plugins-base, GConf, libX11, cairo
+, libX11, cairo
 , libGLSupported ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms
 , withMesa ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms
 , libGLU ? null, libGL ? null
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     sha256 = "1l1w4i113csv3bd5r8ybyj0qpxdq83lj6jrc5p7cc10mkwyiagqz";
   };
 
-  buildInputs = [ gtk2 libXinerama libSM libXxf86vm xorgproto gstreamer gst-plugins-base GConf libX11 cairo ]
+  buildInputs = [ gtk2 libXinerama libSM libXxf86vm xorgproto libX11 cairo ]
     ++ optional withMesa libGLU;
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/wxwidgets/2.9/default.nix b/nixpkgs/pkgs/development/libraries/wxwidgets/2.9/default.nix
index 3812c81a5197..5db7cfc26ba9 100644
--- a/nixpkgs/pkgs/development/libraries/wxwidgets/2.9/default.nix
+++ b/nixpkgs/pkgs/development/libraries/wxwidgets/2.9/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, gtk2, libXinerama, libSM, libXxf86vm, xorgproto
-, gstreamer, gst-plugins-base, GConf, setfile
+, setfile
 , libGLSupported ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms
 , withMesa ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms
 , libGLU ? null, libGL ? null
@@ -32,8 +32,7 @@ stdenv.mkDerivation {
   ];
 
   buildInputs =
-    [ gtk2 libXinerama libSM libXxf86vm xorgproto gstreamer
-      gst-plugins-base GConf ]
+    [ gtk2 libXinerama libSM libXxf86vm xorgproto ]
     ++ optional withMesa libGLU
     ++ optionals stdenv.isDarwin [ setfile Carbon Cocoa Kernel QuickTime ];
 
@@ -42,7 +41,7 @@ stdenv.mkDerivation {
   propagatedBuildInputs = optional stdenv.isDarwin AGL;
 
   configureFlags =
-    [ "--enable-gtk2" "--disable-precomp-headers" "--enable-mediactrl"
+    [ "--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"
diff --git a/nixpkgs/pkgs/development/libraries/wxwidgets/3.0/default.nix b/nixpkgs/pkgs/development/libraries/wxwidgets/3.0/default.nix
index da29eacdc0e9..df90342a972e 100644
--- a/nixpkgs/pkgs/development/libraries/wxwidgets/3.0/default.nix
+++ b/nixpkgs/pkgs/development/libraries/wxwidgets/3.0/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, fetchurl, pkgconfig
 , libXinerama, libSM, libXxf86vm
-, gtk2, GConf ? null, gtk3
-, xorgproto, gstreamer, gst-plugins-base, setfile
+, gtk2, gtk3
+, xorgproto, gst_all_1, setfile
 , libGLSupported ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms
 , withMesa ? libGLSupported
 , libGLU ? null, libGL ? null
@@ -30,8 +30,8 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    libXinerama libSM libXxf86vm xorgproto gstreamer gst-plugins-base
-  ] ++ optionals withGtk2 [ gtk2 GConf ]
+    libXinerama libSM libXxf86vm xorgproto gst_all_1.gstreamer gst_all_1.gst-plugins-base
+  ] ++ optionals withGtk2 [ gtk2 ]
     ++ optional (!withGtk2) gtk3
     ++ optional withMesa libGLU
     ++ optional withWebKit webkitgtk
diff --git a/nixpkgs/pkgs/development/libraries/wxwidgets/3.1/default.nix b/nixpkgs/pkgs/development/libraries/wxwidgets/3.1/default.nix
index 790968a88f76..44e6fe49b489 100644
--- a/nixpkgs/pkgs/development/libraries/wxwidgets/3.1/default.nix
+++ b/nixpkgs/pkgs/development/libraries/wxwidgets/3.1/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, fetchurl, pkgconfig
 , libXinerama, libSM, libXxf86vm
-, gtk2, GConf ? null, gtk3
-, xorgproto, gstreamer, gst-plugins-base, setfile
+, gtk2, gtk3
+, xorgproto, gst_all_1, setfile
 , libGLSupported ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms
 , withMesa ? libGLSupported, libGLU ? null, libGL ? null
 , compat28 ? false, compat30 ? true, unicode ? true
@@ -18,19 +18,19 @@ assert withWebKit -> webkitgtk != null;
 assert assertMsg (withGtk2 -> withWebKit == false) "wxGTK31: You cannot enable withWebKit when using withGtk2.";
 
 stdenv.mkDerivation rec {
-  version = "3.1.2";
+  version = "3.1.3";
   pname = "wxwidgets";
 
   src = fetchFromGitHub {
     owner = "wxWidgets";
     repo = "wxWidgets";
     rev = "v${version}";
-    sha256 = "0gfdhb7xq5vzasm7s1di39nchv42zsp0dmn4v6knzb7mgsb107wb";
+    sha256 = "022mby78q7n0bhd4mph04hz93c9qamnvzv3h1s26r839k28760f4";
   };
 
   buildInputs = [
-    libXinerama libSM libXxf86vm xorgproto gstreamer gst-plugins-base
-  ] ++ optionals withGtk2 [ gtk2 GConf ]
+    libXinerama libSM libXxf86vm xorgproto gst_all_1.gstreamer gst_all_1.gst-plugins-base
+  ] ++ optionals withGtk2 [ gtk2 ]
     ++ optional (!withGtk2) gtk3
     ++ optional withMesa libGLU
     ++ optional withWebKit webkitgtk
diff --git a/nixpkgs/pkgs/development/libraries/x265/default.nix b/nixpkgs/pkgs/development/libraries/x265/default.nix
index cfa19e5419f8..48ed6cf46802 100644
--- a/nixpkgs/pkgs/development/libraries/x265/default.nix
+++ b/nixpkgs/pkgs/development/libraries/x265/default.nix
@@ -1,7 +1,6 @@
 { stdenv, fetchurl, fetchpatch, cmake, nasm, numactl
 , numaSupport ? stdenv.hostPlatform.isLinux && (stdenv.hostPlatform.isx86 || stdenv.hostPlatform.isAarch64)  # Enabled by default on NUMA platforms
 , debugSupport ? false # Run-time sanity checks (debugging)
-, highbitdepthSupport ? false # false=8bits per channel, true=10/12bits per channel
 , werrorSupport ? false # Warnings as errors
 , ppaSupport ? false # PPA profiling instrumentation
 , vtuneSupport ? false # Vtune profiling instrumentation
@@ -13,10 +12,17 @@
 let
   mkFlag = optSet: flag: if optSet then "-D${flag}=ON" else "-D${flag}=OFF";
   inherit (stdenv) is64bit;
-in
 
-stdenv.mkDerivation rec {
-  pname = "x265";
+  cmakeFlagsAll = [
+    "-DSTATIC_LINK_CRT=OFF"
+    (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")
+  ];
+
   version = "3.2";
 
   src = fetchurl {
@@ -27,8 +33,6 @@ stdenv.mkDerivation rec {
     sha256 = "0fqkhfhr22gzavxn60cpnj3agwdf5afivszxf3haj5k1sny7jk9n";
   };
 
-  enableParallelBuilding = true;
-
   patches = [
     # Fix build on ARM (#406)
     (fetchpatch {
@@ -37,22 +41,56 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  buildLib = has12Bit: stdenv.mkDerivation rec {
+    name = "libx265-${if has12Bit then "12" else "10"}-${version}";
+    inherit src patches;
+    enableParallelBuilding = true;
+
+    postPatch = ''
+      sed -i 's/unknown/${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] ++ stdenv.lib.optional numaSupport numactl;
+  };
+
+  libx265-10 = buildLib false;
+  libx265-12 = buildLib true;
+in
+
+stdenv.mkDerivation rec {
+  pname = "x265";
+  inherit version src patches;
+
+  enableParallelBuilding = true;
+
   postPatch = ''
     sed -i 's/unknown/${version}/g' source/cmake/version.cmake
   '';
 
   cmakeFlags = [
-    (mkFlag debugSupport "CHECKED_BUILD")
-    "-DSTATIC_LINK_CRT=OFF"
-    (mkFlag (highbitdepthSupport && is64bit) "HIGH_BIT_DEPTH")
-    (mkFlag werrorSupport "WARNINGS_AS_ERRORS")
-    (mkFlag ppaSupport "ENABLE_PPA")
-    (mkFlag vtuneSupport "ENABLE_VTUNE")
-    (mkFlag custatsSupport "DETAILED_CU_STATS")
     "-DENABLE_SHARED=ON"
+    "-DHIGH_BIT_DEPTH=OFF"
+    "-DENABLE_HDR10_PLUS=OFF"
+  ] ++ stdenv.lib.optionals is64bit [
+    "-DEXTRA_LIB=${libx265-10}/lib/libx265.a;${libx265-12}/lib/libx265.a"
+    "-DLINKED_10BIT=ON"
+    "-DLINKED_12BIT=ON"
+  ] ++ [
     (mkFlag cliSupport "ENABLE_CLI")
-    (mkFlag unittestsSupport "ENABLE_TESTS")
-  ];
+  ] ++ cmakeFlagsAll;
 
   preConfigure = ''
     cd source
diff --git a/nixpkgs/pkgs/development/libraries/xapian/default.nix b/nixpkgs/pkgs/development/libraries/xapian/default.nix
index ef50bf31a367..195aea5c2f18 100644
--- a/nixpkgs/pkgs/development/libraries/xapian/default.nix
+++ b/nixpkgs/pkgs/development/libraries/xapian/default.nix
@@ -18,6 +18,7 @@ let
     nativeBuildInputs = [ autoreconfHook ];
 
     doCheck = true;
+    AUTOMATED_TESTING = true; # https://trac.xapian.org/changeset/8be35f5e1/git
 
     patches = stdenv.lib.optionals stdenv.isDarwin [ ./skip-flaky-darwin-test.patch ];
 
@@ -37,5 +38,5 @@ let
     };
   };
 in {
-  xapian_1_4 = generic "1.4.15" "1sjhz6vgql801rdgl6vrsjj0vy1mwlkcxjx6nr7h27m031cyjs5i";
+  xapian_1_4 = generic "1.4.17" "0bjpaavdckl4viznr8gbq476fvg648sj4rks2vacmc51vrb8bsxm";
 }
diff --git a/nixpkgs/pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix b/nixpkgs/pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix
index 994c2864e7f1..90265d61c837 100644
--- a/nixpkgs/pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xdg-desktop-portal-gtk";
-  version = "1.6.0";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "flatpak";
     repo = pname;
     rev = version;
-    sha256 = "1gpbjkfkrpk96krc1zbccrq7sih282mg303ifxaaxbnj6d8drm5h";
+    sha256 = "183iha9dxmvprn99ymgz17jx1lyn1fj5jyj6ghxl716zn9mxmird";
   };
 
   nativeBuildInputs = [
@@ -35,6 +35,7 @@ stdenv.mkDerivation rec {
     gsettings-desktop-schemas
     gtk3
     gnome3.gnome-desktop
+    gnome3.gnome-settings-daemon # schemas needed for settings api (fonts, etc)
   ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/libraries/xdg-desktop-portal/default.nix b/nixpkgs/pkgs/development/libraries/xdg-desktop-portal/default.nix
index 02c039b8eaba..b06edc632730 100644
--- a/nixpkgs/pkgs/development/libraries/xdg-desktop-portal/default.nix
+++ b/nixpkgs/pkgs/development/libraries/xdg-desktop-portal/default.nix
@@ -6,7 +6,7 @@
 , pkgconfig
 , libxml2
 , glib
-, pipewire_0_2
+, pipewire
 , fontconfig
 , flatpak
 , gsettings-desktop-schemas
@@ -21,7 +21,7 @@
 
 stdenv.mkDerivation rec {
   pname = "xdg-desktop-portal";
-  version = "1.6.0";
+  version = "1.7.2";
 
   outputs = [ "out" "installedTests" ];
 
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     owner = "flatpak";
     repo = pname;
     rev = version;
-    sha256 = "0fbsfpilwbv7j6cimsmmz6g0r96bw0ziwyk9z4zg2rd1mfkmmp9a";
+    sha256 = "0rkwpsmbn3d3spkzc2zsd50l2r8pp4la390zcpsawaav8w7ql7xm";
   };
 
   patches = [
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     glib
-    pipewire_0_2
+    pipewire
     fontconfig
     flatpak
     acl
@@ -61,10 +61,6 @@ stdenv.mkDerivation rec {
     json-glib
   ];
 
-  # Seems to get stuck after "PASS: test-portals 39 /portal/inhibit/monitor"
-  # TODO: investigate!
-  doCheck = false;
-
   configureFlags = [
     "--enable-installed-tests"
   ];
diff --git a/nixpkgs/pkgs/development/libraries/xmlsec/default.nix b/nixpkgs/pkgs/development/libraries/xmlsec/default.nix
index 1a18dfce85d5..a1e6afd48b93 100644
--- a/nixpkgs/pkgs/development/libraries/xmlsec/default.nix
+++ b/nixpkgs/pkgs/development/libraries/xmlsec/default.nix
@@ -1,6 +1,7 @@
 { stdenv, fetchurl, libxml2, gnutls, libxslt, pkgconfig, libgcrypt, libtool
-, openssl, nss, makeWrapper }:
+, openssl, nss, lib, runCommandCC, writeText }:
 
+lib.fix (self:
 let
   version = "1.2.28";
 in
@@ -13,9 +14,16 @@ stdenv.mkDerivation {
     sha256 = "1m12caglhyx08g8lh2sl3nkldlpryzdx2d572q73y3m33s0w9vhk";
   };
 
+  patches = [
+    ./lt_dladdsearchdir.patch
+  ];
+  postPatch = ''
+    substituteAllInPlace src/dl.c
+  '';
+
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ makeWrapper pkgconfig ];
+  nativeBuildInputs = [ pkgconfig ];
 
   buildInputs = [ libxml2 gnutls libxslt libgcrypt libtool openssl nss ];
 
@@ -34,8 +42,26 @@ stdenv.mkDerivation {
     moveToOutput "lib/xmlsec1Conf.sh" "$dev"
   '';
 
-  postFixup = ''
-    wrapProgram "$out/bin/xmlsec1" --prefix LD_LIBRARY_PATH ":" "$out/lib"
+  passthru.tests.libxmlsec1-crypto = runCommandCC "libxmlsec1-crypto-test"
+    {
+      nativeBuildInputs = [ pkgconfig ];
+      buildInputs = [ self libxml2 libxslt libtool ];
+    } ''
+    $CC $(pkg-config --cflags --libs xmlsec1) -o crypto-test ${writeText "crypto-test.c" ''
+      #include <xmlsec/xmlsec.h>
+      #include <xmlsec/crypto.h>
+
+      int main(int argc, char **argv) {
+        return xmlSecInit() ||
+          xmlSecCryptoDLLoadLibrary(argc > 1 ? argv[1] : 0) ||
+          xmlSecCryptoInit();
+      }
+    ''}
+
+    for crypto in "" gcrypt gnutls nss openssl; do
+      ./crypto-test $crypto
+    done
+    touch $out
   '';
 
   meta = {
@@ -47,3 +73,4 @@ stdenv.mkDerivation {
     updateWalker = true;
   };
 }
+)
diff --git a/nixpkgs/pkgs/development/libraries/xmlsec/lt_dladdsearchdir.patch b/nixpkgs/pkgs/development/libraries/xmlsec/lt_dladdsearchdir.patch
new file mode 100644
index 000000000000..17dedb0d6c81
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/xmlsec/lt_dladdsearchdir.patch
@@ -0,0 +1,16 @@
+diff --git a/src/dl.c b/src/dl.c
+index b13f9d46..d761855b 100644
+--- a/src/dl.c
++++ b/src/dl.c
+@@ -346,6 +346,11 @@ xmlSecCryptoDLInit(void) {
+         xmlSecIOError("lt_dlinit", NULL, NULL);
+         return(-1);
+     }
++    ret = lt_dladdsearchdir("@out@/lib");
++    if(ret != 0) {
++      xmlSecIOError("lt_dladdsearchdir", NULL, NULL);
++      return(-1);
++    }
+ #endif /* XMLSEC_DL_LIBLTDL */
+ 
+     return(0);
diff --git a/nixpkgs/pkgs/development/libraries/xxHash/default.nix b/nixpkgs/pkgs/development/libraries/xxHash/default.nix
index 9d2ed44cb4bb..e572e8bb31ff 100644
--- a/nixpkgs/pkgs/development/libraries/xxHash/default.nix
+++ b/nixpkgs/pkgs/development/libraries/xxHash/default.nix
@@ -2,18 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "xxHash";
-  version = "0.7.3";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "Cyan4973";
     repo = "xxHash";
     rev = "v${version}";
-    sha256 = "0bin0jch6lbzl4f8y052a7azfgq2n7iwqihzgqmcccv5vq4vcx5a";
+    sha256 = "0hpbzdd6kfki5f61g103vp7pfczqkdj0js63avl0ss552jfb8h96";
   };
 
   outputs = [ "out" "dev" ];
 
-  makeFlags = [ "PREFIX=$(out)" "INCLUDEDIR=$(dev)/include" ];
+  makeFlags = [ "PREFIX=$(dev)" "EXEC_PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     description = "Extremely fast hash algorithm";
diff --git a/nixpkgs/pkgs/development/libraries/yder/default.nix b/nixpkgs/pkgs/development/libraries/yder/default.nix
index 11eda01a76a8..df36f48648d4 100644
--- a/nixpkgs/pkgs/development/libraries/yder/default.nix
+++ b/nixpkgs/pkgs/development/libraries/yder/default.nix
@@ -4,13 +4,13 @@
 assert withSystemd -> systemd != null;
 stdenv.mkDerivation rec {
   pname = "yder";
-  version = "1.4.10";
+  version = "1.4.12";
 
   src = fetchFromGitHub {
     owner = "babelouest";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1m1aw4im1vvddkl7mknq0h0nj0x2zpql3r17lxhw4mmib05zbdgj";
+    sha256 = "1cmla7rpwvsj1b3jhp9q8y3ni5n8rsqxib87yhh07b7xnlhy0gcj";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/libraries/zeromq/3.x.nix b/nixpkgs/pkgs/development/libraries/zeromq/3.x.nix
deleted file mode 100644
index 29981f358a57..000000000000
--- a/nixpkgs/pkgs/development/libraries/zeromq/3.x.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ stdenv, fetchurl, libuuid }:
-
-stdenv.mkDerivation rec {
-  name = "zeromq-3.2.5";
-
-  src = fetchurl {
-    url = "http://download.zeromq.org/${name}.tar.gz";
-    sha256 = "0911r7q4i1x9gnfinj39vx08fnz59mf05vl75zdkws36lib3wr89";
-  };
-
-  buildInputs = [ libuuid ];
-
-  doCheck = false; # fails all the tests (ctest)
-
-  meta = with stdenv.lib; {
-    branch = "3";
-    homepage = "http://www.zeromq.org";
-    description = "The Intelligent Transport Layer";
-    license = licenses.gpl3;
-    platforms = platforms.all;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/zimg/default.nix b/nixpkgs/pkgs/development/libraries/zimg/default.nix
index f5913137e1c2..afb13a03cbbf 100644
--- a/nixpkgs/pkgs/development/libraries/zimg/default.nix
+++ b/nixpkgs/pkgs/development/libraries/zimg/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zimg";
-  version = "2.9.3";
+  version = "3.0.1";
 
   src = fetchFromGitHub {
     owner  = "sekrit-twc";
     repo   = "zimg";
     rev    = "release-${version}";
-    sha256 = "1dqyrq3p8bkgvj4ci50ac342hjnhyz6xxvhiwp7wpi3v3nbj7s02";
+    sha256 = "1mpns443ifbkbaxsw6yy8z01l7815259pxzd7s006npr0dxnc8ng";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/nixpkgs/pkgs/development/libraries/zlog/default.nix b/nixpkgs/pkgs/development/libraries/zlog/default.nix
index 4788613a3dcf..f0ca99b76679 100644
--- a/nixpkgs/pkgs/development/libraries/zlog/default.nix
+++ b/nixpkgs/pkgs/development/libraries/zlog/default.nix
@@ -1,33 +1,23 @@
-{ stdenv, fetchzip }:
+{ stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.14";
+  version = "1.2.15";
   pname = "zlog";
 
-  src = fetchzip {
-    name = "${pname}-${version}-src";
-    url = "https://github.com/HardySimpson/zlog/archive/${version}.tar.gz";
-    sha256 = "1qcrfmh2vbarkx7ij3gwk174qmgmhm2j336bfaakln1ixd9lkxa5";
+  src = fetchFromGitHub {
+    owner = "HardySimpson";
+    repo = pname;
+    rev = version;
+    sha256 = "10hzifgpml7jm43y6v8c8q0cr9ziyx9qxznafxyw6glhnlqnb7pb";
   };
 
-  configurePhase = ''
-    sed -i 's;-Werror;;' src/makefile
-  '';
-
-  buildPhase = ''
-    mkdir -p $out
-    make PREFIX=$out
-  '';
-
-  installPhase = ''
-    make PREFIX=$out install
-  '';
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
   meta = with stdenv.lib; {
     description= "Reliable, high-performance, thread safe, flexible, clear-model, pure C logging library";
-    homepage = "http://hardysimpson.github.com/zlog";
+    homepage = "https://hardysimpson.github.io/zlog/";
     license = licenses.lgpl21;
-    platforms = platforms.linux; # cannot test on something else
+    platforms = platforms.unix;
     maintainers = [ maintainers.matthiasbeyer ];
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/zziplib/default.nix b/nixpkgs/pkgs/development/libraries/zziplib/default.nix
index 670a911cb6eb..228dfdcf77a4 100644
--- a/nixpkgs/pkgs/development/libraries/zziplib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/zziplib/default.nix
@@ -1,7 +1,6 @@
 { stdenv
-, cmake
+, perl
 , pkg-config
-, ninja
 , fetchFromGitHub
 , fetchpatch
 , zip
@@ -23,12 +22,6 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
-    # Fix ninja parsing
-    (fetchpatch {
-      url = "https://github.com/gdraheim/zziplib/commit/75e22f3c365b62acbad8d8645d5404242800dfba.patch";
-      sha256 = "IB0am3K0x4+Ug1CKvowTtkS8JD6zHJJ247A7guJOw80=";
-    })
-
     # Install man pages
     (fetchpatch {
       url = "https://github.com/gdraheim/zziplib/commit/5583ccc7a247ee27556ede344e93d3ac1dc72e9b.patch";
@@ -44,9 +37,8 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [
-    cmake
+    perl
     pkg-config
-    ninja # make fails, unable to find test2.zip
     zip
     python3
     xmlto
@@ -60,10 +52,6 @@ stdenv.mkDerivation rec {
     unzip
   ];
 
-  cmakeFlags = [
-    "-DCMAKE_SKIP_BUILD_RPATH=OFF" # for tests
-  ];
-
   # tests are broken (https://github.com/gdraheim/zziplib/issues/20),
   # and test/zziptests.py requires network access
   # (https://github.com/gdraheim/zziplib/issues/24)